|
|
|
(cpu/mpc7xxx/start.S)
|
|
|
|
|
|
|
|
start:
|
|
|
|
b boot_cold
|
|
|
|
|
|
|
|
start_warm:
|
|
|
|
b boot_warm
|
|
|
|
|
|
|
|
|
|
|
|
boot_cold:
|
|
|
|
boot_warm:
|
|
|
|
clear bats
|
|
|
|
init l2 (if enabled)
|
|
|
|
init altivec (if enabled)
|
|
|
|
invalidate l2 (if enabled)
|
|
|
|
setup bats (from defines in config_EVB)
|
|
|
|
enable_addr_trans: (if MMU enabled)
|
|
|
|
enable MSR_IR and MSR_DR
|
|
|
|
jump to in_flash
|
|
|
|
|
|
|
|
in_flash:
|
|
|
|
enable l1 dcache
|
|
|
|
gal_low_init: (board/evb64260/sdram_init.S)
|
|
|
|
config SDRAM (CFG, TIMING, DECODE)
|
|
|
|
init scratch regs (810 + 814)
|
|
|
|
|
|
|
|
detect DIMM0 (bank 0 only)
|
|
|
|
config SDRAM_PARA0 to 256/512Mbit
|
|
|
|
bl sdram_op_mode
|
|
|
|
detect bank0 width
|
|
|
|
write scratch reg 810
|
|
|
|
config SDRAM_PARA0 with results
|
|
|
|
config SDRAM_PARA1 with results
|
|
|
|
|
|
|
|
detect DIMM1 (bank 2 only)
|
|
|
|
config SDRAM_PARA2 to 256/512Mbit
|
|
|
|
detect bank2 width
|
|
|
|
write scratch reg 814
|
|
|
|
config SDRAM_PARA2 with results
|
|
|
|
config SDRAM_PARA3 with results
|
|
|
|
|
|
|
|
setup device bus timings/width
|
|
|
|
setup boot device timings/width
|
|
|
|
|
|
|
|
setup CPU_CONF (0x0)
|
|
|
|
setup cpu master control register 0x160
|
|
|
|
setup PCI0 TIMEOUT
|
|
|
|
setup PCI1 TIMEOUT
|
|
|
|
setup PCI0 BAR
|
|
|
|
setup PCI1 BAR
|
|
|
|
|
|
|
|
setup MPP control 0-3
|
|
|
|
setup GPP level control
|
|
|
|
setup Serial ports multiplex
|
|
|
|
|
|
|
|
setup stack pointer (r1)
|
|
|
|
setup GOT
|
|
|
|
call cpu_init_f
|
|
|
|
debug leds
|
|
|
|
board_init_f: (common/board.c)
|
|
|
|
board_early_init_f:
|
|
|
|
remap gt regs?
|
|
|
|
map PCI mem/io
|
|
|
|
map device space
|
|
|
|
clear out interrupts
|
|
|
|
init_timebase
|
|
|
|
env_init
|
|
|
|
serial_init
|
|
|
|
console_init_f
|
|
|
|
display_options
|
|
|
|
initdram: (board/evb64260/evb64260.c)
|
|
|
|
detect memory
|
|
|
|
for each bank:
|
|
|
|
dram_size()
|
|
|
|
setup PCI slave memory mappings
|
|
|
|
setup SCS
|
|
|
|
setup monitor
|
|
|
|
alloc board info struct
|
|
|
|
init bd struct
|
|
|
|
relocate_code: (cpu/mpc7xxx/start.S)
|
|
|
|
copy,got,clearbss
|
|
|
|
board_init_r(bd, dest_addr) (common/board.c)
|
|
|
|
setup bd function pointers
|
|
|
|
trap_init
|
|
|
|
flash_init: (board/evb64260/flash.c)
|
|
|
|
setup bd flash info
|
|
|
|
cpu_init_r: (cpu/mpc7xxx/cpu_init.c)
|
|
|
|
nothing
|
|
|
|
mem_malloc_init
|
|
|
|
malloc_bin_reloc
|
|
|
|
spi_init (r or f)??? (CONFIG_ENV_IS_IN_EEPROM)
|
|
|
|
env_relocated
|
|
|
|
misc_init_r(bd): (board/evb64260/evb64260.c)
|
|
|
|
mpsc_init2
|