mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-17 23:37:01 +00: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
1 changed files with 3 additions and 7 deletions
|
@ -173,22 +173,18 @@ void mx28_mem_setup_vddd(void)
|
|||
&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)
|
||||
{
|
||||
struct mx28_digctl_regs *digctl_regs =
|
||||
(struct mx28_digctl_regs *)MXS_DIGCTL_BASE;
|
||||
uint32_t sz, da;
|
||||
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. */
|
||||
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);
|
||||
writel(sz, &digctl_regs->hw_digctl_scratch0);
|
||||
|
|
Loading…
Add table
Reference in a new issue