mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-09 20:18:54 -04:00
i.MX28: Drop __naked function from spl_mem_init
Instead of compiling the function and using the result as a constant, simply use the constant. NOTE: This patch works around bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52546 Signed-off-by: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Tom Rini <trini@ti.com>
This commit is contained in:
parent
d9fb6a4c7e
commit
494931a674
@ -173,22 +173,18 @@ void mx28_mem_setup_vddd(void)
|
|||||||
&power_regs->hw_power_vdddctrl);
|
&power_regs->hw_power_vdddctrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
void data_abort_memdetect_handler(void) __attribute__((naked));
|
|
||||||
void data_abort_memdetect_handler(void)
|
|
||||||
{
|
|
||||||
asm volatile("subs pc, r14, #4");
|
|
||||||
}
|
|
||||||
|
|
||||||
void mx28_mem_get_size(void)
|
void mx28_mem_get_size(void)
|
||||||
{
|
{
|
||||||
struct mx28_digctl_regs *digctl_regs =
|
struct mx28_digctl_regs *digctl_regs =
|
||||||
(struct mx28_digctl_regs *)MXS_DIGCTL_BASE;
|
(struct mx28_digctl_regs *)MXS_DIGCTL_BASE;
|
||||||
uint32_t sz, da;
|
uint32_t sz, da;
|
||||||
uint32_t *vt = (uint32_t *)0x20;
|
uint32_t *vt = (uint32_t *)0x20;
|
||||||
|
/* The following is "subs pc, r14, #4", used as return from DABT. */
|
||||||
|
const uint32_t data_abort_memdetect_handler = 0xe25ef004;
|
||||||
|
|
||||||
/* Replace the DABT handler. */
|
/* Replace the DABT handler. */
|
||||||
da = vt[4];
|
da = vt[4];
|
||||||
vt[4] = (uint32_t)&data_abort_memdetect_handler;
|
vt[4] = data_abort_memdetect_handler;
|
||||||
|
|
||||||
sz = get_ram_size((long *)PHYS_SDRAM_1, PHYS_SDRAM_1_SIZE);
|
sz = get_ram_size((long *)PHYS_SDRAM_1, PHYS_SDRAM_1_SIZE);
|
||||||
writel(sz, &digctl_regs->hw_digctl_scratch0);
|
writel(sz, &digctl_regs->hw_digctl_scratch0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user