summaryrefslogtreecommitdiff
path: root/board/Marvell/common/bootseq.txt
blob: 648c2ff79137aba5d8ce59a6ad38d41aa8387335 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
(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