mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-28 01:51:33 +00:00
allow MCF532x to use CONFIG_MONITOR_IS_IN_RAM
CONFIG_MONITOR_IS_IN_RAM is broken for MCF532x. This patch fixes this by conditionally - removing the vector table at the beginning of code - not overwriting the vector base register - removing the code to re-set the PLL, which effectively disables SDRAM access Signed-off-by: Wolfgang Wegner <w.wegner@astro-kom.de>
This commit is contained in:
parent
bb907ab51f
commit
c7de810c79
2 changed files with 7 additions and 0 deletions
|
@ -204,6 +204,8 @@ int clock_pll(int fsys, int flags)
|
||||||
fout = ((fref * mfd) / (BUSDIV * 4));
|
fout = ((fref * mfd) / (BUSDIV * 4));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* must not tamper with SDRAMC if running from SDRAM */
|
||||||
|
#if !defined(CONFIG_MONITOR_IS_IN_RAM)
|
||||||
/*
|
/*
|
||||||
* Check to see if the SDRAM has already been initialized.
|
* Check to see if the SDRAM has already been initialized.
|
||||||
* If it has then the SDRAM needs to be put into self refresh
|
* If it has then the SDRAM needs to be put into self refresh
|
||||||
|
@ -254,6 +256,7 @@ int clock_pll(int fsys, int flags)
|
||||||
|
|
||||||
/* wait for DQS logic to relock */
|
/* wait for DQS logic to relock */
|
||||||
for (i = 0; i < 0x200; i++) ;
|
for (i = 0; i < 0x200; i++) ;
|
||||||
|
#endif /* !defined(CONFIG_MONITOR_IS_IN_RAM) */
|
||||||
|
|
||||||
return fout;
|
return fout;
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
addl #60,%sp; /* space for 15 regs */ \
|
addl #60,%sp; /* space for 15 regs */ \
|
||||||
rte;
|
rte;
|
||||||
|
|
||||||
|
#if !defined(CONFIG_MONITOR_IS_IN_RAM)
|
||||||
.text
|
.text
|
||||||
/*
|
/*
|
||||||
* Vector table. This is used for initial platform startup.
|
* Vector table. This is used for initial platform startup.
|
||||||
|
@ -121,6 +122,7 @@ vector192_255:
|
||||||
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
|
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
|
||||||
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
|
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
|
||||||
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
|
.long _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT, _FAULT
|
||||||
|
#endif /* !defined(CONFIG_MONITOR_IS_IN_RAM) */
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
|
@ -130,9 +132,11 @@ _start:
|
||||||
nop
|
nop
|
||||||
move.w #0x2700,%sr /* Mask off Interrupt */
|
move.w #0x2700,%sr /* Mask off Interrupt */
|
||||||
|
|
||||||
|
#if !defined(CONFIG_MONITOR_IS_IN_RAM)
|
||||||
/* Set vector base register at the beginning of the Flash */
|
/* Set vector base register at the beginning of the Flash */
|
||||||
move.l #CONFIG_SYS_FLASH_BASE, %d0
|
move.l #CONFIG_SYS_FLASH_BASE, %d0
|
||||||
movec %d0, %VBR
|
movec %d0, %VBR
|
||||||
|
#endif
|
||||||
|
|
||||||
move.l #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0
|
move.l #(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_CTRL), %d0
|
||||||
movec %d0, %RAMBAR1
|
movec %d0, %RAMBAR1
|
||||||
|
|
Loading…
Add table
Reference in a new issue