input: Add generic keyboard input handler
[oweals/u-boot.git] / board / RPXlite_dw / README
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
5 There are at least three differences between the Yoo-ported RPXlite and the RPXlite_DW.
6
7 Board(in U-Boot)        version(in EmbeddedPlanet)      CPU     SDRAM   FLASH
8 RPXlite                         RPXlite CW              850     16MB    4MB
9 RPXlite_DW              RPXlite DW(EP 823 H1 DW)        823e    64MB    16MB
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
20 make distclean
21 make RPXlite_DW_64_config
22 make all
23
24 2. CONFIG_ENV_IS_IN_FLASH/CONFIG_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
32 make distclean
33 make RPXlite_DW_NVRAM_config
34 make all
35
36 3. LCD panel support
37
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.
43
44 To get a LCD support u-boot,you can do the following:
45
46 make distclean
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
74 U-Boot 1.1.2 (Aug 29 2004 - 15:11:27)
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
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
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
161 Oct. 11, 2004