| (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_pre_init: |
| 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)??? (CFG_ENV_IS_IN_EEPROM) |
| env_relocated |
| misc_init_r(bd): (board/evb64260/evb64260.c) |
| mpsc_init2 |