diff options
author | wdenk <wdenk> | 2003-11-07 13:42:26 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2003-11-07 13:42:26 +0000 |
commit | 5cf9da4821db0b6d86d8bbb74af86a0303063201 (patch) | |
tree | 7173b1bb9eb0611765921aee5312a7c4d9ac67ad /cpu/mpc5xxx/start.S | |
parent | b13fb01a62708492cae4b33c4d6fa9ae127905f4 (diff) | |
download | u-boot-5cf9da4821db0b6d86d8bbb74af86a0303063201.tar.gz u-boot-5cf9da4821db0b6d86d8bbb74af86a0303063201.tar.xz u-boot-5cf9da4821db0b6d86d8bbb74af86a0303063201.zip |
* Patch by Bernhard Kuhn, 28 Oct 2003:
Add low boot support for MPC5200
* Fix problem with dual PCMCIA support (NSCU)
* Fix MPC5200 I2C initialization function
Diffstat (limited to 'cpu/mpc5xxx/start.S')
-rw-r--r-- | cpu/mpc5xxx/start.S | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/cpu/mpc5xxx/start.S b/cpu/mpc5xxx/start.S index 0557909e19..e0873edbc6 100644 --- a/cpu/mpc5xxx/start.S +++ b/cpu/mpc5xxx/start.S @@ -103,6 +103,47 @@ boot_cold: boot_warm: mfmsr r5 /* save msr contents */ +#if defined(CFG_LOWBOOT) + lis r4, CFG_DEFAULT_MBAR@h + lis r3, 0x0000FF00@h + ori r3, r3, 0x0000FF00@l + stw r3, 0x4(r4) + lis r3, 0x0000FFFF@h + ori r3, r3, 0x0000FFFF@l + stw r3, 0x8(r4) + lis r3, 0x00047800@h + ori r3, r3, 0x00047800@l + stw r3, 0x300(r4) + lis r3, 0x02010000@h + ori r3, r3, 0x02010000@l + stw r3, 0x54(r4) + +#if defined(CFG_LOWBOOT08) + lis r3, 0xff800160@h + ori r3, r3, 0xff800160@l +#endif +#if defined(CFG_LOWBOOT16) + lis r3, 0xff000160@h + ori r3, r3, 0xff000160@l +#endif + mtlr r3 + blr +lowboot_reentry: /* FLASH_BASE + 0x160 */ + + lis r3, 0x0000FF00@h + ori r3, r3, 0x0000FF00@l + stw r3, 0x4c(r4) + lis r3, 0x0000FFFF@h + ori r3, r3, 0x0000FFFF@l + stw r3, 0x50(r4) + lis r3, 0x00047800@h + ori r3, r3, 0x00047800@l + stw r3, 0x300(r4) + lis r3, 0x02000001@h + ori r3, r3, 0x02000001@l + stw r3, 0x54(r4) +#endif /* CFG_LOWBOOT */ + #if defined(CFG_DEFAULT_MBAR) && !defined(CFG_RAMBOOT) lis r3, CFG_MBAR@h ori r3, r3, CFG_MBAR@l |