]>
Commit | Line | Data |
---|---|---|
e63c8ee3 WD |
1 | |
2 | After following the step of Yoo. Jonghoon and Wolfgang Denk, | |
3 | I ported u-boot on RPXlite DW version board: RPXlite_DW or LITE_DW. | |
4 | ||
6225c5db | 5 | There are at least three differences between the Yoo-ported RPXlite and the RPXlite_DW. |
e63c8ee3 | 6 | |
6225c5db | 7 | Board(in U-Boot) version(in EmbeddedPlanet) CPU SDRAM FLASH |
e63c8ee3 | 8 | RPXlite RPXlite CW 850 16MB 4MB |
6225c5db | 9 | RPXlite_DW RPXlite DW(EP 823 H1 DW) 823e 64MB 16MB |
e63c8ee3 WD |
10 | |
11 | This fireware is specially coded for EmbeddedPlanet Co. Software Development | |
12 | Platform(RPXlite DW),which has a NEC NL6448BC20-08 LCD panel. | |
13 | ||
14 | It has the following three features: | |
15 | ||
16 | 1. 64MHz/48MHz system frequence setting options. | |
17 | The default setting is 48MHz.To get a 64MHz u-boot,just add | |
18 | '64' in make command,like | |
19 | ||
6225c5db | 20 | make distclean |
e63c8ee3 WD |
21 | make RPXlite_DW_64_config |
22 | make all | |
23 | ||
24 | 2. CFG_ENV_IS_IN_FLASH/CFG_ENV_IS_IN_NVRAM | |
25 | ||
26 | The default environment parameter is stored in FLASH because it is a common choice for | |
27 | environment parameter.So I make NVRAM as backup parameter storeage.The reason why I | |
28 | didn't use EEPROM for ENV is that PlanetCore V2.0 use EEPROM as environment parameter | |
29 | home.Because of the possibility of using two firewares on this board,I didn't | |
30 | 'disturb' EEPROM.To get NVRAM support,you may use the following build command: | |
31 | ||
6225c5db | 32 | make distclean |
e63c8ee3 WD |
33 | make RPXlite_DW_NVRAM_config |
34 | make all | |
35 | ||
36 | 3. LCD panel support | |
37 | ||
6225c5db WD |
38 | To support the Platform better,I added LCD panel(NL6448BC20-08) function. |
39 | For the convenience of debug, CONFIG_PERBOOT was supported. So you just | |
40 | perss ENTER if you want to get a serial console in boot downcounting. | |
41 | Then you can switch to LCD and serial console freely just typing | |
42 | 'run lcd' or 'run ser'. They are only vaild when CONFIG_LCD was enabled. | |
e63c8ee3 WD |
43 | |
44 | To get a LCD support u-boot,you can do the following: | |
45 | ||
6225c5db | 46 | make distclean |
e63c8ee3 WD |
47 | make RPXlite_DW_LCD_config |
48 | make all | |
49 | ||
50 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
51 | The basic make commands could be: | |
52 | ||
53 | make RPXlite_DW_config | |
54 | make RPXlite_DW_64_config | |
55 | make RPXlite_DW_LCD_config | |
56 | make RPXlite_DW_NVRAM_config | |
57 | ||
58 | BTW,you can combine the above features together and get a workable u-boot to meet your need. | |
59 | For example,to get a 64MHZ && ENV_IS_IN_FLASH && LCD panel support u-boot,you can type: | |
60 | ||
61 | make RPXlite_DW_NVRAM_64_LCD_config | |
62 | make all | |
63 | ||
64 | So other combining make commands could be: | |
65 | ||
66 | make RPXlite_DW_NVRAM_64_config | |
67 | make RPXlite_DW_NVRAM_LCD_config | |
68 | make RPXlite_DW_64_LCD_config | |
69 | ||
70 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
71 | ||
72 | The boot process by "make RPXlite_DW_config" could be: | |
73 | ||
6225c5db | 74 | U-Boot 1.1.2 (Aug 29 2004 - 15:11:27) |
e63c8ee3 WD |
75 | |
76 | CPU: PPC823EZTnnB2 at 48 MHz: 16 kB I-Cache 8 kB D-Cache | |
77 | Board: RPXlite_DW | |
78 | DRAM: 64 MB | |
79 | FLASH: 16 MB | |
80 | *** Warning - bad CRC, using default environment | |
81 | ||
82 | In: serial | |
83 | Out: serial | |
84 | Err: serial | |
85 | Net: SCC ETHERNET | |
86 | u-boot> | |
87 | ||
88 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
89 | ||
6225c5db WD |
90 | A word on the U-Boot enviroment variable setting and usage : |
91 | ||
92 | In the beginning, you could just need very simple defult environment variable setting, | |
93 | like[include/configs/RPXlite.h] : | |
94 | ||
95 | #define CONFIG_BOOTCOMMAND \ | |
96 | "bootp; " \ | |
97 | "setenv bootargs root=/dev/nfs rw nfsroot=$(serverip):$(rootpath) " \ | |
98 | "ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off; " \ | |
99 | "bootm" | |
100 | ||
101 | This is enough for kernel NFS test. But as debug process goes on, you would expect | |
102 | to save some time on environment variable setting and u-boot/kernel updating. | |
103 | So the default environment variable setting would become more complicated. Just like | |
104 | the one I did in include/configs/RPXlite_DW.h. | |
105 | ||
106 | Two u-boot commands, ku and uu, should be careful to use. They were designed to update | |
107 | kernel and u-boot image file respectively. You must tftp your image to default address | |
108 | '100000' and then use them correctly. Yeah, you can create your own command to do this | |
109 | job. :-) The example u-boot image updating process could be : | |
110 | ||
111 | u-boot>t 100000 RPXlite_DW_LCD.bin | |
112 | Using SCC ETHERNET device | |
113 | TFTP from server 172.16.115.6; our IP address is 172.16.115.7 | |
114 | Filename 'RPXlite_DW_LCD.bin'. | |
115 | Load address: 0x100000 | |
116 | Loading: ############################# | |
117 | done | |
118 | Bytes transferred = 144700 (2353c hex) | |
119 | u-boot>run uu | |
120 | Un-Protect Flash Sectors 0-4 in Bank # 1 | |
121 | Erase Flash Sectors 0-4 in Bank # 1 | |
122 | .... done | |
123 | Copy to Flash... done | |
124 | ff000000: 27051956 552d426f 6f742031 2e312e32 '..VU-Boot 1.1.2 | |
125 | ff000010: 20284175 67203239 20323030 34202d20 (Aug 29 2004 - | |
126 | ff000020: 31353a32 303a3238 29000000 00000000 15:20:28)....... | |
127 | ff000030: 00000000 00000000 00000000 00000000 ................ | |
128 | ff000040: 00000000 00000000 00000000 00000000 ................ | |
129 | ff000050: 00000000 00000000 00000000 00000000 ................ | |
130 | ff000060: 00000000 00000000 00000000 00000000 ................ | |
131 | ff000070: 00000000 00000000 00000000 00000000 ................ | |
132 | ff000080: 00000000 00000000 00000000 00000000 ................ | |
133 | ff000090: 00000000 00000000 00000000 00000000 ................ | |
134 | ff0000a0: 00000000 00000000 00000000 00000000 ................ | |
135 | ff0000b0: 00000000 00000000 00000000 00000000 ................ | |
136 | ff0000c0: 00000000 00000000 00000000 00000000 ................ | |
137 | ff0000d0: 00000000 00000000 00000000 00000000 ................ | |
138 | ff0000e0: 00000000 00000000 00000000 00000000 ................ | |
139 | ff0000f0: 00000000 00000000 00000000 00000000 ................ | |
140 | u-boot updating finished | |
141 | u-boot> | |
142 | ||
143 | Also for environment updating, 'run eu' could let you erase OLD default environment variable | |
144 | and then use the working u-boot environment setting. | |
145 | ||
146 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
147 | ||
148 | Finally, if you want to keep the serial port to possible debug on spot for deployment, you | |
149 | just need to enable 'DEPLOYMENT' in RPXlite_DW.h as 'DEBUG' does. Only the special string | |
150 | defined by CONFIG_AUTOBOOT_STOP_STR like 'st' can stop the autoboot. | |
151 | ||
e63c8ee3 WD |
152 | I'd like to extend my heartfelt gratitute to kind people for helping me work it out. |
153 | I would particually thank Wolfgang Denk for his nice help. | |
154 | ||
155 | Enjoy, | |
156 | ||
157 | Sam Song, samsongshu@yahoo.com.cn | |
158 | Institute of Electrical Machinery and Controls | |
159 | Shanghai University | |
160 | ||
6225c5db | 161 | Oct. 11, 2004 |