xref: /openbmc/u-boot/board/freescale/mpc8349itx/README (revision 7dd97af52309364f7ec8305a86507ad86e524b62)
1*702e6014SWolfgang DenkFreescale MPC8349E-mITX and MPC8349E-mITX-GP Boards
2*702e6014SWolfgang Denk---------------------------------------------------
3*702e6014SWolfgang Denk
4*702e6014SWolfgang Denk1.	Board Description
5*702e6014SWolfgang Denk
6*702e6014SWolfgang Denk	The MPC8349E-mITX and MPC8349E-mITX-GP are reference boards featuring
7*702e6014SWolfgang Denk	the Freescale MPC8349E processor in a Mini-ITX form factor.
8*702e6014SWolfgang Denk
9*702e6014SWolfgang Denk	The MPC8349E-mITX-GP is an MPC8349E-mITX with the following differences:
10*702e6014SWolfgang Denk
11*702e6014SWolfgang Denk	A) One 8MB on-board flash EEPROM chip, instead of two.
12*702e6014SWolfgang Denk	B) No SATA controller
13*702e6014SWolfgang Denk	C) No Compact Flash slot
14*702e6014SWolfgang Denk	D) No Mini-PCI slot
15*702e6014SWolfgang Denk	E) No Vitesse 7385 5-port Ethernet switch
16*702e6014SWolfgang Denk	F) No 4-port USB Type-A interface
17*702e6014SWolfgang Denk
18*702e6014SWolfgang Denk2.	Board Switches and Jumpers
19*702e6014SWolfgang Denk
20*702e6014SWolfgang Denk2.0	Descriptions for all of the board jumpers can be found in the User
21*702e6014SWolfgang Denk	Guide.  Of particular interest to U-Boot developers is jumper J22:
22*702e6014SWolfgang Denk
23*702e6014SWolfgang Denk	Pos.	Name		Default		Description
24*702e6014SWolfgang Denk	-----------------------------------------------------------------------
25*702e6014SWolfgang Denk	A	LGPL0		ON (0)          HRCW source, bit 0
26*702e6014SWolfgang Denk	B       LGPL1           ON (0)          HRCW source, bit 1
27*702e6014SWolfgang Denk	C       LGPL3           ON (0)		HRCW source, bit 2
28*702e6014SWolfgang Denk	D       LGPL5           OFF (1)         PCI_SYNC_OUT frequency
29*702e6014SWolfgang Denk	E       BOOT1           ON (0)          Flash EEPROM boot device
30*702e6014SWolfgang Denk	F       PCI_M66EN       ON (0)          PCI 66MHz enable
31*702e6014SWolfgang Denk	G       I2C-WP          ON (0)          I2C EEPROM write protection
32*702e6014SWolfgang Denk	H       F_WP            OFF (1)         Flash EEPROM write protection
33*702e6014SWolfgang Denk
34*702e6014SWolfgang Denk	Jumper J22.E is only for the ITX, and it decides the configuration
35*702e6014SWolfgang Denk	of the flash chips.  If J22.E is ON (i.e. jumpered), then flash chip
36*702e6014SWolfgang Denk	U4 is located at address FE000000 and flash chip U7 is at FE800000.
37*702e6014SWolfgang Denk	If J22.E is OFF, then U7 is at FE000000 and U4 is at FE800000.
38*702e6014SWolfgang Denk
39*702e6014SWolfgang Denk	For U-Boot development, J22.E can be used to switch back-and-forth
40*702e6014SWolfgang Denk	between two U-Boot images.
41*702e6014SWolfgang Denk
42*702e6014SWolfgang Denk3.	Memory Map
43*702e6014SWolfgang Denk
44*702e6014SWolfgang Denk3.1.	The memory map should look pretty much like this:
45*702e6014SWolfgang Denk
46*702e6014SWolfgang Denk	0x0000_0000 - 0x0FFF_FFFF DDR SDRAM (256 MB)
47*702e6014SWolfgang Denk	0x8000_0000 - 0x9FFF_FFFF PCI1 memory space (512 MB)
48*702e6014SWolfgang Denk	0xA000_0000 - 0xBFFF_FFFF PCI2 memory space (512 MB)
49*702e6014SWolfgang Denk	0xE000_0000 - 0xEFFF_FFFF IMMR (1 MB)
50*702e6014SWolfgang Denk	0xE200_0000 - 0xE2FF_FFFF PCI1 I/O space (16 MB)
51*702e6014SWolfgang Denk	0xE300_0000 - 0xE3FF_FFFF PCI2 I/O space (16 MB)
52*702e6014SWolfgang Denk	0xF000_0000 - 0xF000_FFFF Compact Flash (ITX only)
53*702e6014SWolfgang Denk	0xF001_0000 - 0xF001_FFFF Local bus expansion slot
54*702e6014SWolfgang Denk	0xF800_0000 - 0xF801_FFFF Vitesse 7385 Parallel Interface (ITX only)
55*702e6014SWolfgang Denk	0xFE00_0000 - 0xFE7F_FFFF First 8MB bank of Flash memory
56*702e6014SWolfgang Denk	0xFE80_0000 - 0xFEFF_FFFF Second 8MB bank of Flash memory (ITX only)
57*702e6014SWolfgang Denk
58*702e6014SWolfgang Denk3.2	Flash EEPROM layout.
59*702e6014SWolfgang Denk
60*702e6014SWolfgang Denk	On the ITX, jumper J22.E is used to determine which flash chips are
61*702e6014SWolfgang Denk	at which address.  When J22.E is switched, addresses from FE000000
62*702e6014SWolfgang Denk	to FE7FFFFF are swapped with addresses from FE800000 to FEFFFFFF.
63*702e6014SWolfgang Denk
64*702e6014SWolfgang Denk	On the ITX, at the normal boot address (aka HIGHBOOT):
65*702e6014SWolfgang Denk
66*702e6014SWolfgang Denk	FE00_0000	HRCW
67*702e6014SWolfgang Denk	FE70_0000	Alternative U-Boot image
68*702e6014SWolfgang Denk	FE80_0000	Alternative HRCW
69*702e6014SWolfgang Denk	FEF0_0000	U-Boot image
70*702e6014SWolfgang Denk	FEFF_FFFF	End of flash
71*702e6014SWolfgang Denk
72*702e6014SWolfgang Denk	On the ITX, at the low boot address (LOWBOOT)
73*702e6014SWolfgang Denk
74*702e6014SWolfgang Denk	FE00_0000	HRCW and U-Boot image
75*702e6014SWolfgang Denk	FE04_0000	U-Boot environment variables
76*702e6014SWolfgang Denk	FE80_0000	Alternative HRCW and U-Boot image
77*702e6014SWolfgang Denk	FEFF_FFFF	End of flash
78*702e6014SWolfgang Denk
79*702e6014SWolfgang Denk	On the ITX-GP, the only option is LOWBOOT and there is only one chip
80*702e6014SWolfgang Denk
81*702e6014SWolfgang Denk	FE00_0000	HRCW and U-Boot image
82*702e6014SWolfgang Denk	FE04_0000	U-Boot environment variables
83*702e6014SWolfgang Denk	F7FF_FFFF	End of flash
84*702e6014SWolfgang Denk
85*702e6014SWolfgang Denk4. Definitions
86*702e6014SWolfgang Denk
87*702e6014SWolfgang Denk4.1 Explanation of NEW definitions in:
88*702e6014SWolfgang Denk
89*702e6014SWolfgang Denk	include/configs/MPC8349ITX.h
90*702e6014SWolfgang Denk
91*702e6014SWolfgang Denk	CONFIG_MPC83xx		MPC83xx family
92*702e6014SWolfgang Denk	CONFIG_MPC8349		MPC8349 specific
93*702e6014SWolfgang Denk	CONFIG_MPC8349ITX		MPC8349E-mITX
94*702e6014SWolfgang Denk
95*702e6014SWolfgang Denk5. Compilation
96*702e6014SWolfgang Denk
97*702e6014SWolfgang Denk	Assuming you're using BASH shell:
98*702e6014SWolfgang Denk
99*702e6014SWolfgang Denk		export CROSS_COMPILE=your-cross-compile-prefix
100*702e6014SWolfgang Denk		cd u-boot
101*702e6014SWolfgang Denk		make distclean
102*702e6014SWolfgang Denk
103*702e6014SWolfgang Denk		make MPC8349ITX_config
104*702e6014SWolfgang Denk	or:
105*702e6014SWolfgang Denk		make MPC8349ITXGP_config
106*702e6014SWolfgang Denk	or:
107*702e6014SWolfgang Denk		make MPC8349ITX_LOWBOOT_config
108*702e6014SWolfgang Denk
109*702e6014SWolfgang Denk		make
110*702e6014SWolfgang Denk
111*702e6014SWolfgang Denk6. Downloading and Flashing Images
112*702e6014SWolfgang Denk
113*702e6014SWolfgang Denk6.1 Download via tftp:
114*702e6014SWolfgang Denk
115*702e6014SWolfgang Denk	tftp $loadaddr <uboot>
116*702e6014SWolfgang Denk
117*702e6014SWolfgang Denk	where "<uboot>" is the path and filename, on the TFTP server, of
118*702e6014SWolfgang Denk	the U-Boot image.
119*702e6014SWolfgang Denk
120*702e6014SWolfgang Denk6.1 Reflash U-Boot Image using U-Boot
121*702e6014SWolfgang Denk
122*702e6014SWolfgang Denk	setenv uboot <uboot>
123*702e6014SWolfgang Denk	run tftpflash
124*702e6014SWolfgang Denk
125*702e6014SWolfgang Denk	where "<uboot>" is the path and filename, on the TFTP server, of
126*702e6014SWolfgang Denk	the U-Boot image.
127*702e6014SWolfgang Denk
128*702e6014SWolfgang Denk6.2 Using the HRCW to switch between two different U-Boot images on the ITX
129*702e6014SWolfgang Denk
130*702e6014SWolfgang Denk	Because the ITX has 16MB of flash, it is possible to keep two U-Boot
131*702e6014SWolfgang Denk	images in flash, and use the HRCW to specify which one is to be used
132*702e6014SWolfgang Denk	when the board boots.  This trick is especially effective with a
133*702e6014SWolfgang Denk	hardware debugger that can override the HRCW, such as the BDI-2000.
134*702e6014SWolfgang Denk
135*702e6014SWolfgang Denk	When the BMS bit in the HRCW is 0, the ITX will boot the U-Boot image
136*702e6014SWolfgang Denk	at address FE000000.  When the BMS bit is 1, the ITX will boot the
137*702e6014SWolfgang Denk	image at address FEF00000.
138*702e6014SWolfgang Denk
139*702e6014SWolfgang Denk	Therefore, just put a U-Boot image at both FE000000 and FEF00000 and
140*702e6014SWolfgang Denk	change the BMS bit whenever you want to boot the other image.
141*702e6014SWolfgang Denk
142*702e6014SWolfgang Denk	Step-by-step instructions:
143*702e6014SWolfgang Denk
144*702e6014SWolfgang Denk	1) Build an ITX image to be loaded at FEF00000
145*702e6014SWolfgang Denk
146*702e6014SWolfgang Denk		make distclean
147*702e6014SWolfgang Denk		make MPC8349ITX_config
148*702e6014SWolfgang Denk		make
149*702e6014SWolfgang Denk
150*702e6014SWolfgang Denk	2) Take the u-boot.bin image and flash it at FEF00000.
151*702e6014SWolfgang Denk
152*702e6014SWolfgang Denk		tftp $loadaddr u-boot.bin
153*702e6014SWolfgang Denk		protect off all
154*702e6014SWolfgang Denk		erase FEF00000 +$filesize
155*702e6014SWolfgang Denk		cp.b $loadaddr FEF00000 $filesize
156*702e6014SWolfgang Denk
157*702e6014SWolfgang Denk	3) Build an ITX image to be loaded at FE000000
158*702e6014SWolfgang Denk
159*702e6014SWolfgang Denk		make distclean
160*702e6014SWolfgang Denk		make MPC8349ITX_LOWBOOT_config
161*702e6014SWolfgang Denk		make
162*702e6014SWolfgang Denk
163*702e6014SWolfgang Denk	4) Take the u-boot.bin image and flash it at FE000000.
164*702e6014SWolfgang Denk
165*702e6014SWolfgang Denk		tftp $loadaddr u-boot.bin
166*702e6014SWolfgang Denk		protect off FE000000 +$filesize
167*702e6014SWolfgang Denk		erase FE000000 +$filesize
168*702e6014SWolfgang Denk		cp.b $loadaddr FE000000 $filesize
169*702e6014SWolfgang Denk
170*702e6014SWolfgang Denk	The HRCW in flash is currently set to boot the image at FE000000.
171*702e6014SWolfgang Denk
172*702e6014SWolfgang Denk	If you have a hardware debugger, configure it to set the HRCW to
173*702e6014SWolfgang Denk	B460A000 04040000 if you want to boot the image at FEF00000, or set
174*702e6014SWolfgang Denk	it to B060A000 04040000 if you want to boot the image at FE000000.
175*702e6014SWolfgang Denk
176*702e6014SWolfgang Denk	To change the HRCW in flash to boot the image at FEF00000, use these
177*702e6014SWolfgang Denk	U-Boot commands:
178*702e6014SWolfgang Denk
179*702e6014SWolfgang Denk		cp.b FE000000 1000 10000	; copy 1st flash sector to 1000
180*702e6014SWolfgang Denk		mw.b 1020 b4 8			; modify BMS bit
181*702e6014SWolfgang Denk		protect off FE000000 +10000
182*702e6014SWolfgang Denk		erase FE000000 +10000
183*702e6014SWolfgang Denk		cp.b 1000 FE000000 10000
184*702e6014SWolfgang Denk
185*702e6014SWolfgang Denk7. Notes
186*702e6014SWolfgang Denk	1) The console baudrate for MPC8349EITX is 115200bps.
187