|  | (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 interupts | 
|  | 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 |