blob: 93b55068f5703165d6fdb1b914636f547e5359cc [file] [log] [blame]
wdenke2211742002-11-02 23:30:20 +00001
2This file contains basic information on the port of U-Boot to TQM8260.
3All the changes fit in the common U-Boot infrastructure, providing a
4new TQM8260-specific entry in makefiles. To build U-Boot for TQM8260,
5type "make TQM8260_config", edit the "include/config_TQM8260.h" file
6if necessary, then type "make".
7
8
9Common file modifications:
10--------------------------
11
12The following common files have been modified by this project:
13(starting from the ppcboot-0.9.3/ directory)
14
15MAKEALL - TQM8260 entry added
16Makefile - TQM8260_config entry added
Stefan Roesea47a12b2010-04-15 16:07:28 +020017arch/powerpc/cpu/mpc8260/Makefile - soft_i2c.o module added
18arch/powerpc/cpu/mpc8260/ether_scc.c - TQM8260-specific definitions added, an obvious
wdenke2211742002-11-02 23:30:20 +000019 bug fixed (fcr -> scr)
Stefan Roesea47a12b2010-04-15 16:07:28 +020020arch/powerpc/cpu/mpc8260/ether_fcc.c - TQM8260-specific definitions added
wdenke2211742002-11-02 23:30:20 +000021include/flash.h - added definitions for the AM29LV640D Flash chip
22
23
24New files:
25----------
26
27The following new files have been added by this project:
28(starting from the ppcboot-0.9.3/ directory)
29
30board/tqm8260/ - board-specific directory
31board/tqm8260/Makefile - board-specific makefile
32board/tqm8260/config.mk - config file
33board/tqm8260/flash.c - flash driver (for AM29LV640D)
34board/tqm8260/ppcboot.lds - linker script
35board/tqm8260/tqm8260.c - ioport and memory initialization
Stefan Roesea47a12b2010-04-15 16:07:28 +020036arch/powerpc/cpu/mpc8260/soft_i2c.c - software i2c EEPROM driver
wdenke2211742002-11-02 23:30:20 +000037include/config_TQM8260.h - main configuration file
38
39
40New configuration options:
41--------------------------
42
43CONFIG_TQM8260
44
45 Main board-specific option (should be defined for TQM8260).
46
47CONFIG_82xx_CONS_SMC1
48
49 If defined, SMC1 will be used as the console
50
51CONFIG_82xx_CONS_SMC2
52
53 If defined, SMC2 will be used as the console
54
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020055CONFIG_SYS_INIT_LOCAL_SDRAM
wdenke2211742002-11-02 23:30:20 +000056
57 If defined, the SDRAM on the local bus will be initialized and
58 mapped at BR2.
59
60
61Acceptance criteria tests:
62--------------------------
63
64The following tests have been conducted to validate the port of U-Boot
65to TQM8260:
66
671. Operation on serial console:
68
69With the CONFIG_82xx_CONS_SMC1 option defined in the main configuration file,
70the U-Boot output appeared on the serial terminal connected to COM1 as
71follows:
72
73------------------------------------------------------------------------------
74=> help
75go - start application at address 'addr'
76run - run commands in an environment variable
77bootm - boot application image from memory
78bootp - boot image via network using BootP/TFTP protocol
79tftpboot- boot image via network using TFTP protocol
wdenk8bde7f72003-06-27 21:31:46 +000080 and env variables ipaddr and serverip
wdenke2211742002-11-02 23:30:20 +000081rarpboot- boot image via network using RARP/TFTP protocol
82bootd - boot default, i.e., run 'bootcmd'
83loads - load S-Record file over serial line
84loadb - load binary file over serial line (kermit mode)
85md - memory display
86mm - memory modify (auto-incrementing)
87nm - memory modify (constant address)
88mw - memory write (fill)
89cp - memory copy
90cmp - memory compare
91crc32 - checksum calculation
92base - print or set address offset
93printenv- print environment variables
94setenv - set environment variables
95saveenv - save environment variables to persistent storage
96protect - enable or disable FLASH write protection
97erase - erase FLASH memory
98flinfo - print FLASH memory information
99bdinfo - print Board Info structure
100iminfo - print header information for application image
101coninfo - print console devices and informations
102eeprom - EEPROM sub-system
103loop - infinite loop on address range
104mtest - simple RAM test
105icache - enable or disable instruction cache
106dcache - enable or disable data cache
107reset - Perform RESET of the CPU
108echo - echo args to console
109version - print monitor version
110help - print online help
111? - alias for 'help'
112=>
113------------------------------------------------------------------------------
114
115
1162. Flash driver operation
117
118The following sequence was performed to test the "flinfo" command:
119
120------------------------------------------------------------------------------
121=> flinfo
122
123Bank # 1: AMD 29LV640D (64 M, uniform sector)
124 Size: 32 MB in 128 Sectors
125 Sector Start Addresses:
126 40000000 40040000 (RO) 40080000 400C0000 40100000
127 40140000 40180000 401C0000 40200000 40240000
128 40280000 402C0000 40300000 40340000 40380000
129 403C0000 40400000 40440000 40480000 404C0000
130 40500000 40540000 40580000 405C0000 40600000
131 40640000 40680000 406C0000 40700000 40740000
132 40780000 407C0000 40800000 40840000 40880000
133 408C0000 40900000 40940000 40980000 409C0000
134 40A00000 40A40000 40A80000 40AC0000 40B00000
135 40B40000 40B80000 40BC0000 40C00000 40C40000
136 40C80000 40CC0000 40D00000 40D40000 40D80000
137 40DC0000 40E00000 40E40000 40E80000 40EC0000
138 40F00000 40F40000 40F80000 40FC0000 41000000
139 41040000 41080000 410C0000 41100000 41140000
140 41180000 411C0000 41200000 41240000 41280000
141 412C0000 41300000 41340000 41380000 413C0000
142 41400000 41440000 41480000 414C0000 41500000
143 41540000 41580000 415C0000 41600000 41640000
144 41680000 416C0000 41700000 41740000 41780000
145 417C0000 41800000 41840000 41880000 418C0000
146 41900000 41940000 41980000 419C0000 41A00000
147 41A40000 41A80000 41AC0000 41B00000 41B40000
148 41B80000 41BC0000 41C00000 41C40000 41C80000
149 41CC0000 41D00000 41D40000 41D80000 41DC0000
150 41E00000 41E40000 41E80000 41EC0000 41F00000
151 41F40000 41F80000 41FC0000
152=>
153------------------------------------------------------------------------------
154
155
156The following sequence was performed to test the erase command:
157
158------------------------------------------------------------------------------
159=> cp 0 40080000 10
160Copy to Flash... done
161=> erase 40080000 400bffff
162Erase Flash from 0x40080000 to 0x400bffff
163.. done
164Erased 1 sectors
165=> md 40080000
16640080000: ffffffff ffffffff ffffffff ffffffff ................
16740080010: ffffffff ffffffff ffffffff ffffffff ................
16840080020: ffffffff ffffffff ffffffff ffffffff ................
16940080030: ffffffff ffffffff ffffffff ffffffff ................
17040080040: ffffffff ffffffff ffffffff ffffffff ................
17140080050: ffffffff ffffffff ffffffff ffffffff ................
17240080060: ffffffff ffffffff ffffffff ffffffff ................
17340080070: ffffffff ffffffff ffffffff ffffffff ................
17440080080: ffffffff ffffffff ffffffff ffffffff ................
17540080090: ffffffff ffffffff ffffffff ffffffff ................
176400800a0: ffffffff ffffffff ffffffff ffffffff ................
177400800b0: ffffffff ffffffff ffffffff ffffffff ................
178400800c0: ffffffff ffffffff ffffffff ffffffff ................
179400800d0: ffffffff ffffffff ffffffff ffffffff ................
180400800e0: ffffffff ffffffff ffffffff ffffffff ................
181400800f0: ffffffff ffffffff ffffffff ffffffff ................
182=> cp 0 40080000 10
183Copy to Flash... done
184=> erase 1:2
185Erase Flash Sectors 2-2 in Bank # 1
186.. done
187=> md 40080000
18840080000: ffffffff ffffffff ffffffff ffffffff ................
18940080010: ffffffff ffffffff ffffffff ffffffff ................
19040080020: ffffffff ffffffff ffffffff ffffffff ................
19140080030: ffffffff ffffffff ffffffff ffffffff ................
19240080040: ffffffff ffffffff ffffffff ffffffff ................
19340080050: ffffffff ffffffff ffffffff ffffffff ................
19440080060: ffffffff ffffffff ffffffff ffffffff ................
19540080070: ffffffff ffffffff ffffffff ffffffff ................
19640080080: ffffffff ffffffff ffffffff ffffffff ................
19740080090: ffffffff ffffffff ffffffff ffffffff ................
198400800a0: ffffffff ffffffff ffffffff ffffffff ................
199400800b0: ffffffff ffffffff ffffffff ffffffff ................
200400800c0: ffffffff ffffffff ffffffff ffffffff ................
201400800d0: ffffffff ffffffff ffffffff ffffffff ................
202400800e0: ffffffff ffffffff ffffffff ffffffff ................
203400800f0: ffffffff ffffffff ffffffff ffffffff ................
204=> cp 0 40080000 10
205Copy to Flash... done
206=> cp 0 400c0000 10
207Copy to Flash... done
208=> erase 1:2-3
209Erase Flash Sectors 2-3 in Bank # 1
210... done
211=> md 40080000
21240080000: ffffffff ffffffff ffffffff ffffffff ................
21340080010: ffffffff ffffffff ffffffff ffffffff ................
21440080020: ffffffff ffffffff ffffffff ffffffff ................
21540080030: ffffffff ffffffff ffffffff ffffffff ................
21640080040: ffffffff ffffffff ffffffff ffffffff ................
21740080050: ffffffff ffffffff ffffffff ffffffff ................
21840080060: ffffffff ffffffff ffffffff ffffffff ................
21940080070: ffffffff ffffffff ffffffff ffffffff ................
22040080080: ffffffff ffffffff ffffffff ffffffff ................
22140080090: ffffffff ffffffff ffffffff ffffffff ................
222400800a0: ffffffff ffffffff ffffffff ffffffff ................
223400800b0: ffffffff ffffffff ffffffff ffffffff ................
224400800c0: ffffffff ffffffff ffffffff ffffffff ................
225400800d0: ffffffff ffffffff ffffffff ffffffff ................
226400800e0: ffffffff ffffffff ffffffff ffffffff ................
227400800f0: ffffffff ffffffff ffffffff ffffffff ................
228=> md 400c0000
229400c0000: ffffffff ffffffff ffffffff ffffffff ................
230400c0010: ffffffff ffffffff ffffffff ffffffff ................
231400c0020: ffffffff ffffffff ffffffff ffffffff ................
232400c0030: ffffffff ffffffff ffffffff ffffffff ................
233400c0040: ffffffff ffffffff ffffffff ffffffff ................
234400c0050: ffffffff ffffffff ffffffff ffffffff ................
235400c0060: ffffffff ffffffff ffffffff ffffffff ................
236400c0070: ffffffff ffffffff ffffffff ffffffff ................
237400c0080: ffffffff ffffffff ffffffff ffffffff ................
238400c0090: ffffffff ffffffff ffffffff ffffffff ................
239400c00a0: ffffffff ffffffff ffffffff ffffffff ................
240400c00b0: ffffffff ffffffff ffffffff ffffffff ................
241400c00c0: ffffffff ffffffff ffffffff ffffffff ................
242400c00d0: ffffffff ffffffff ffffffff ffffffff ................
243400c00e0: ffffffff ffffffff ffffffff ffffffff ................
244400c00f0: ffffffff ffffffff ffffffff ffffffff ................
245=>
246------------------------------------------------------------------------------
247
248
249The following sequence was performed to test the Flash programming commands:
250
251------------------------------------------------------------------------------
252=> erase 40080000 400bffff
253Erase Flash from 0x40080000 to 0x400bffff
254.. done
255Erased 1 sectors
256=> cp 0 40080000 10
257Copy to Flash... done
258=> md 0
25900000000: 00000000 00000104 61100200 01000000 ........a.......
26000000010: 00000000 00000000 81140000 82000100 ................
26100000020: 01080000 00004000 22800000 00000600 ......@.".......
26200000030: 00200800 00000000 10000100 00008000 . ..............
26300000040: 00812000 00000200 00020000 80000000 .. .............
26400000050: 00028001 00001000 00040400 00000200 ................
26500000060: 20480000 00000000 20090000 00142000 H...... ..... .
26600000070: 00000000 00004000 24210000 10000000 ......@.$!......
26700000080: 02440002 10000000 00200008 00000000 .D....... ......
26800000090: 02440900 00000000 30a40000 00004400 .D......0.....D.
269000000a0: 04420800 00000000 00000040 00020000 .B.........@....
270000000b0: 05020000 00100000 00060000 00000000 ................
271000000c0: 00400000 00000000 00080000 00040000 .@..............
272000000d0: 10400000 00800004 00000000 00000200 .@..............
273000000e0: 80890000 00010004 00080000 00000020 ...............
274000000f0: 08000000 10000000 00010000 00000000 ................
275=> md 40080000
27640080000: 00000000 00000104 61100200 01000000 ........a.......
27740080010: 00000000 00000000 81140000 82000100 ................
27840080020: 01080000 00004000 22800000 00000600 ......@.".......
27940080030: 00200800 00000000 10000100 00008000 . ..............
28040080040: ffffffff ffffffff ffffffff ffffffff ................
28140080050: ffffffff ffffffff ffffffff ffffffff ................
28240080060: ffffffff ffffffff ffffffff ffffffff ................
28340080070: ffffffff ffffffff ffffffff ffffffff ................
28440080080: ffffffff ffffffff ffffffff ffffffff ................
28540080090: ffffffff ffffffff ffffffff ffffffff ................
286400800a0: ffffffff ffffffff ffffffff ffffffff ................
287400800b0: ffffffff ffffffff ffffffff ffffffff ................
288400800c0: ffffffff ffffffff ffffffff ffffffff ................
289400800d0: ffffffff ffffffff ffffffff ffffffff ................
290400800e0: ffffffff ffffffff ffffffff ffffffff ................
291400800f0: ffffffff ffffffff ffffffff ffffffff ................
292=>
293------------------------------------------------------------------------------
294
295
296The following sequence was performed to test storage of the environment
297variables in Flash:
298
299------------------------------------------------------------------------------
300=> setenv foo bar
301=> saveenv
302Un-Protected 1 sectors
303Erasing Flash...
304.. done
305Erased 1 sectors
306Saving Environment to Flash...
307Protected 1 sectors
308=> reset
309...
310=> printenv
311bootdelay=CONFIG_BOOTDELAY
312baudrate=9600
313ipaddr=192.168.4.7
314serverip=192.168.4.1
315ethaddr=66:55:44:33:22:11
316foo=bar
317stdin=serial
318stdout=serial
319stderr=serial
320
321Environment size: 170/262140 bytes
322=>
323------------------------------------------------------------------------------
324
325
326The following sequence was performed to test image download and run over
327Ethernet interface (both interfaces were tested):
328
329------------------------------------------------------------------------------
330=> tftpboot 40000 hello_world.bin
331ARP broadcast 1
332TFTP from server 192.168.2.2; our IP address is 192.168.2.7
333Filename 'hello_world.bin'.
334Load address: 0x40000
335Loading: #############
336done
337Bytes transferred = 65912 (10178 hex)
338=> go 40004
339## Starting application at 0x00040004 ...
340Hello World
341argc = 1
342argv[0] = "40004"
343argv[1] = "<NULL>"
344Hit any key to exit ...
345
346## Application terminated, rc = 0x0
347=>
348------------------------------------------------------------------------------
349
350
351The following sequence was performed to test eeprom read/write commands:
352
353------------------------------------------------------------------------------
354=> md 40000
35500040000: 00018148 9421ffe0 7c0802a6 bf61000c ...H.!..|....a..
35600040010: 90010024 48000005 7fc802a6 801effe8 ...$H...........
35700040020: 7fc0f214 7c7f1b78 813f004c 7c9c2378 ....|..x.?.L|.#x
35800040030: 807e8000 7cbd2b78 80090010 3b600000 .~..|.+x....;`..
35900040040: 7c0803a6 4e800021 813f004c 7f84e378 |...N..!.?.L...x
36000040050: 807e8004 80090010 7c0803a6 4e800021 .~......|...N..!
36100040060: 7c1be000 4181003c 80bd0000 813f004c |...A..<.....?.L
36200040070: 3bbd0004 2c050000 40820008 80be8008 ;...,...@.......
36300040080: 80090010 7f64db78 807e800c 3b7b0001 .....d.x.~..;{..
36400040090: 7c0803a6 4e800021 7c1be000 4081ffcc |...N..!|...@...
365000400a0: 813f004c 807e8010 80090010 7c0803a6 .?.L.~......|...
366000400b0: 4e800021 813f004c 80090004 7c0803a6 N..!.?.L....|...
367000400c0: 4e800021 2c030000 4182ffec 813f004c N..!,...A....?.L
368000400d0: 80090000 7c0803a6 4e800021 813f004c ....|...N..!.?.L
369000400e0: 807e8014 80090010 7c0803a6 4e800021 .~......|...N..!
370000400f0: 38600000 80010024 7c0803a6 bb61000c 8`.....$|....a..
371=> eeprom write 40000 0 40
372
373EEPROM write: addr 00040000 off 0000 count 64 ... done
374=> mw 50000 0 1000
375=> eeprom read 50000 0 40
376
377EEPROM read: addr 00050000 off 0000 count 64 ... done
378=> md 50000
37900050000: 00018148 9421ffe0 7c0802a6 bf61000c ...H.!..|....a..
38000050010: 90010024 48000005 7fc802a6 801effe8 ...$H...........
38100050020: 7fc0f214 7c7f1b78 813f004c 7c9c2378 ....|..x.?.L|.#x
38200050030: 807e8000 7cbd2b78 80090010 3b600000 .~..|.+x....;`..
38300050040: 00000000 00000000 00000000 00000000 ................
38400050050: 00000000 00000000 00000000 00000000 ................
38500050060: 00000000 00000000 00000000 00000000 ................
38600050070: 00000000 00000000 00000000 00000000 ................
38700050080: 00000000 00000000 00000000 00000000 ................
38800050090: 00000000 00000000 00000000 00000000 ................
389000500a0: 00000000 00000000 00000000 00000000 ................
390000500b0: 00000000 00000000 00000000 00000000 ................
391000500c0: 00000000 00000000 00000000 00000000 ................
392000500d0: 00000000 00000000 00000000 00000000 ................
393000500e0: 00000000 00000000 00000000 00000000 ................
394000500f0: 00000000 00000000 00000000 00000000 ................
395=>
396------------------------------------------------------------------------------
397
398
399Patch per Mon, 06 Aug 2001 17:57:27:
400
401- upgraded Flash support (added support for the following chips:
402 AM29LV800T/B, AM29LV160T/B, AM29DL322T/B, AM29DL323T/B)
403- BCR tweakage for the 8260 bus mode
404- SIUMCR tweakage enabling the MI interrupt (IRQ7)
405
406To simplify switching between the bus modes, a new configuration
407option (CONFIG_BUSMODE_60x) has been added to the "config_TQM8260.h"
408file. If it is defined, BCR will be configured for the 60x mode,
409otherwise - for the 8260 mode.
410
411Concerning the SIUMCR modification: it's hard to predict whether it
412will induce any problems on the other (60x mode) board. However, the
413problems (if they appear) should be easy to notice - if the board
414does not boot, it's most likely caused by the DPPC configuration in
415SIUMCR.