wdenk | 5da7f2f | 2004-01-03 00:43:19 +0000 | [diff] [blame] | 1 | (cpu/mpc7xxx/start.S) |
| 2 | |
| 3 | start: |
| 4 | b boot_cold |
| 5 | |
| 6 | start_warm: |
| 7 | b boot_warm |
| 8 | |
| 9 | |
| 10 | boot_cold: |
| 11 | boot_warm: |
| 12 | clear bats |
| 13 | init l2 (if enabled) |
| 14 | init altivec (if enabled) |
| 15 | invalidate l2 (if enabled) |
| 16 | setup bats (from defines in config_EVB) |
| 17 | enable_addr_trans: (if MMU enabled) |
| 18 | enable MSR_IR and MSR_DR |
| 19 | jump to in_flash |
| 20 | |
| 21 | in_flash: |
| 22 | enable l1 dcache |
| 23 | gal_low_init: (board/evb64260/sdram_init.S) |
| 24 | config SDRAM (CFG, TIMING, DECODE) |
| 25 | init scratch regs (810 + 814) |
| 26 | |
| 27 | detect DIMM0 (bank 0 only) |
| 28 | config SDRAM_PARA0 to 256/512Mbit |
| 29 | bl sdram_op_mode |
| 30 | detect bank0 width |
| 31 | write scratch reg 810 |
| 32 | config SDRAM_PARA0 with results |
| 33 | config SDRAM_PARA1 with results |
| 34 | |
| 35 | detect DIMM1 (bank 2 only) |
| 36 | config SDRAM_PARA2 to 256/512Mbit |
| 37 | detect bank2 width |
| 38 | write scratch reg 814 |
| 39 | config SDRAM_PARA2 with results |
| 40 | config SDRAM_PARA3 with results |
| 41 | |
| 42 | setup device bus timings/width |
| 43 | setup boot device timings/width |
| 44 | |
| 45 | setup CPU_CONF (0x0) |
| 46 | setup cpu master control register 0x160 |
| 47 | setup PCI0 TIMEOUT |
| 48 | setup PCI1 TIMEOUT |
| 49 | setup PCI0 BAR |
| 50 | setup PCI1 BAR |
| 51 | |
| 52 | setup MPP control 0-3 |
| 53 | setup GPP level control |
| 54 | setup Serial ports multiplex |
| 55 | |
| 56 | setup stack pointer (r1) |
| 57 | setup GOT |
| 58 | call cpu_init_f |
Wolfgang Denk | a1be476 | 2008-05-20 16:00:29 +0200 | [diff] [blame] | 59 | debug leds |
wdenk | 5da7f2f | 2004-01-03 00:43:19 +0000 | [diff] [blame] | 60 | board_init_f: (common/board.c) |
wdenk | da55c6e | 2004-01-20 23:12:12 +0000 | [diff] [blame] | 61 | board_early_init_f: |
wdenk | 5da7f2f | 2004-01-03 00:43:19 +0000 | [diff] [blame] | 62 | remap gt regs? |
| 63 | map PCI mem/io |
| 64 | map device space |
| 65 | clear out interupts |
| 66 | init_timebase |
| 67 | env_init |
| 68 | serial_init |
| 69 | console_init_f |
| 70 | display_options |
| 71 | initdram: (board/evb64260/evb64260.c) |
| 72 | detect memory |
| 73 | for each bank: |
| 74 | dram_size() |
| 75 | setup PCI slave memory mappings |
| 76 | setup SCS |
Wolfgang Denk | a1be476 | 2008-05-20 16:00:29 +0200 | [diff] [blame] | 77 | setup monitor |
wdenk | 5da7f2f | 2004-01-03 00:43:19 +0000 | [diff] [blame] | 78 | alloc board info struct |
| 79 | init bd struct |
| 80 | relocate_code: (cpu/mpc7xxx/start.S) |
| 81 | copy,got,clearbss |
| 82 | board_init_r(bd, dest_addr) (common/board.c) |
| 83 | setup bd function pointers |
| 84 | trap_init |
| 85 | flash_init: (board/evb64260/flash.c) |
| 86 | setup bd flash info |
| 87 | cpu_init_r: (cpu/mpc7xxx/cpu_init.c) |
| 88 | nothing |
| 89 | mem_malloc_init |
| 90 | malloc_bin_reloc |
| 91 | spi_init (r or f)??? (CFG_ENV_IS_IN_EEPROM) |
| 92 | env_relocated |
| 93 | misc_init_r(bd): (board/evb64260/evb64260.c) |
| 94 | mpsc_init2 |