mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-29 02:21:31 +00:00
* Patch by Sam Song, 11 October 2004:
- Add RESET/PREBOOT/AUTOBOOT support for RPXlite_DW board - Adjust CPU:BUS frequency ratio 1:1 when core frequency less than 50MHz * Patch by Sam Song, 10 Oct 2004: Fix a parameter error in run_command() in main.c
This commit is contained in:
parent
8ed9604613
commit
6225c5db6c
4 changed files with 132 additions and 19 deletions
10
CHANGELOG
10
CHANGELOG
|
@ -2,7 +2,15 @@
|
||||||
Changes for U-Boot 1.1.3:
|
Changes for U-Boot 1.1.3:
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
* Patches by Richard Woodruff, 01 Oct 2004:
|
* Patch by Sam Song, 11 October 2004:
|
||||||
|
- Add RESET/PREBOOT/AUTOBOOT support for RPXlite_DW board
|
||||||
|
- Adjust CPU:BUS frequency ratio 1:1 when core frequency
|
||||||
|
less than 50MHz
|
||||||
|
|
||||||
|
* Patch by Sam Song, 10 Oct 2004:
|
||||||
|
Fix a parameter error in run_command() in main.c
|
||||||
|
|
||||||
|
* Patch by Richard Woodruff, 01 Oct 2004:
|
||||||
add support for the TI OMAP2420 processor and its H4 reference
|
add support for the TI OMAP2420 processor and its H4 reference
|
||||||
board
|
board
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
After following the step of Yoo. Jonghoon and Wolfgang Denk,
|
After following the step of Yoo. Jonghoon and Wolfgang Denk,
|
||||||
I ported u-boot on RPXlite DW version board: RPXlite_DW or LITE_DW.
|
I ported u-boot on RPXlite DW version board: RPXlite_DW or LITE_DW.
|
||||||
|
|
||||||
There are three differences between the Yoo-ported RPXlite and the RPXlite_DW.
|
There are at least three differences between the Yoo-ported RPXlite and the RPXlite_DW.
|
||||||
|
|
||||||
Board(in U-BOOT) version(in EmbeddedPlanet) CPU SDRAM FLASH
|
Board(in U-Boot) version(in EmbeddedPlanet) CPU SDRAM FLASH
|
||||||
RPXlite RPXlite CW 850 16MB 4MB
|
RPXlite RPXlite CW 850 16MB 4MB
|
||||||
RPXlite_DW RPXlite DW 823e 64MB 16MB
|
RPXlite_DW RPXlite DW(EP 823 H1 DW) 823e 64MB 16MB
|
||||||
|
|
||||||
This fireware is specially coded for EmbeddedPlanet Co. Software Development
|
This fireware is specially coded for EmbeddedPlanet Co. Software Development
|
||||||
Platform(RPXlite DW),which has a NEC NL6448BC20-08 LCD panel.
|
Platform(RPXlite DW),which has a NEC NL6448BC20-08 LCD panel.
|
||||||
|
@ -17,6 +17,7 @@ It has the following three features:
|
||||||
The default setting is 48MHz.To get a 64MHz u-boot,just add
|
The default setting is 48MHz.To get a 64MHz u-boot,just add
|
||||||
'64' in make command,like
|
'64' in make command,like
|
||||||
|
|
||||||
|
make distclean
|
||||||
make RPXlite_DW_64_config
|
make RPXlite_DW_64_config
|
||||||
make all
|
make all
|
||||||
|
|
||||||
|
@ -28,19 +29,21 @@ didn't use EEPROM for ENV is that PlanetCore V2.0 use EEPROM as environment para
|
||||||
home.Because of the possibility of using two firewares on this board,I didn't
|
home.Because of the possibility of using two firewares on this board,I didn't
|
||||||
'disturb' EEPROM.To get NVRAM support,you may use the following build command:
|
'disturb' EEPROM.To get NVRAM support,you may use the following build command:
|
||||||
|
|
||||||
|
make distclean
|
||||||
make RPXlite_DW_NVRAM_config
|
make RPXlite_DW_NVRAM_config
|
||||||
make all
|
make all
|
||||||
|
|
||||||
3. LCD panel support
|
3. LCD panel support
|
||||||
|
|
||||||
To support the Platform better,I added LCD panel(NL6448BC20-08) function.But bewear of
|
To support the Platform better,I added LCD panel(NL6448BC20-08) function.
|
||||||
the fact that once you build this support and program it to FLASH,you should make sure
|
For the convenience of debug, CONFIG_PERBOOT was supported. So you just
|
||||||
you put workable kernel and ramdisk at the right place in FLASH or through NFS.
|
perss ENTER if you want to get a serial console in boot downcounting.
|
||||||
Otherwise, you must erase this fireware manually via BDI2000 or ICE tools.So this
|
Then you can switch to LCD and serial console freely just typing
|
||||||
function is used for deployment and demo only.Pls look before you leap.
|
'run lcd' or 'run ser'. They are only vaild when CONFIG_LCD was enabled.
|
||||||
|
|
||||||
To get a LCD support u-boot,you can do the following:
|
To get a LCD support u-boot,you can do the following:
|
||||||
|
|
||||||
|
make distclean
|
||||||
make RPXlite_DW_LCD_config
|
make RPXlite_DW_LCD_config
|
||||||
make all
|
make all
|
||||||
|
|
||||||
|
@ -68,7 +71,7 @@ make RPXlite_DW_64_LCD_config
|
||||||
|
|
||||||
The boot process by "make RPXlite_DW_config" could be:
|
The boot process by "make RPXlite_DW_config" could be:
|
||||||
|
|
||||||
U-Boot 1.1.1 (Jun 8 2004 - 11:16:30)
|
U-Boot 1.1.2 (Aug 29 2004 - 15:11:27)
|
||||||
|
|
||||||
CPU: PPC823EZTnnB2 at 48 MHz: 16 kB I-Cache 8 kB D-Cache
|
CPU: PPC823EZTnnB2 at 48 MHz: 16 kB I-Cache 8 kB D-Cache
|
||||||
Board: RPXlite_DW
|
Board: RPXlite_DW
|
||||||
|
@ -84,6 +87,68 @@ u-boot>
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
A word on the U-Boot enviroment variable setting and usage :
|
||||||
|
|
||||||
|
In the beginning, you could just need very simple defult environment variable setting,
|
||||||
|
like[include/configs/RPXlite.h] :
|
||||||
|
|
||||||
|
#define CONFIG_BOOTCOMMAND \
|
||||||
|
"bootp; " \
|
||||||
|
"setenv bootargs root=/dev/nfs rw nfsroot=$(serverip):$(rootpath) " \
|
||||||
|
"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off; " \
|
||||||
|
"bootm"
|
||||||
|
|
||||||
|
This is enough for kernel NFS test. But as debug process goes on, you would expect
|
||||||
|
to save some time on environment variable setting and u-boot/kernel updating.
|
||||||
|
So the default environment variable setting would become more complicated. Just like
|
||||||
|
the one I did in include/configs/RPXlite_DW.h.
|
||||||
|
|
||||||
|
Two u-boot commands, ku and uu, should be careful to use. They were designed to update
|
||||||
|
kernel and u-boot image file respectively. You must tftp your image to default address
|
||||||
|
'100000' and then use them correctly. Yeah, you can create your own command to do this
|
||||||
|
job. :-) The example u-boot image updating process could be :
|
||||||
|
|
||||||
|
u-boot>t 100000 RPXlite_DW_LCD.bin
|
||||||
|
Using SCC ETHERNET device
|
||||||
|
TFTP from server 172.16.115.6; our IP address is 172.16.115.7
|
||||||
|
Filename 'RPXlite_DW_LCD.bin'.
|
||||||
|
Load address: 0x100000
|
||||||
|
Loading: #############################
|
||||||
|
done
|
||||||
|
Bytes transferred = 144700 (2353c hex)
|
||||||
|
u-boot>run uu
|
||||||
|
Un-Protect Flash Sectors 0-4 in Bank # 1
|
||||||
|
Erase Flash Sectors 0-4 in Bank # 1
|
||||||
|
.... done
|
||||||
|
Copy to Flash... done
|
||||||
|
ff000000: 27051956 552d426f 6f742031 2e312e32 '..VU-Boot 1.1.2
|
||||||
|
ff000010: 20284175 67203239 20323030 34202d20 (Aug 29 2004 -
|
||||||
|
ff000020: 31353a32 303a3238 29000000 00000000 15:20:28).......
|
||||||
|
ff000030: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff000040: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff000050: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff000060: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff000070: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff000080: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff000090: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff0000a0: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff0000b0: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff0000c0: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff0000d0: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff0000e0: 00000000 00000000 00000000 00000000 ................
|
||||||
|
ff0000f0: 00000000 00000000 00000000 00000000 ................
|
||||||
|
u-boot updating finished
|
||||||
|
u-boot>
|
||||||
|
|
||||||
|
Also for environment updating, 'run eu' could let you erase OLD default environment variable
|
||||||
|
and then use the working u-boot environment setting.
|
||||||
|
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Finally, if you want to keep the serial port to possible debug on spot for deployment, you
|
||||||
|
just need to enable 'DEPLOYMENT' in RPXlite_DW.h as 'DEBUG' does. Only the special string
|
||||||
|
defined by CONFIG_AUTOBOOT_STOP_STR like 'st' can stop the autoboot.
|
||||||
|
|
||||||
I'd like to extend my heartfelt gratitute to kind people for helping me work it out.
|
I'd like to extend my heartfelt gratitute to kind people for helping me work it out.
|
||||||
I would particually thank Wolfgang Denk for his nice help.
|
I would particually thank Wolfgang Denk for his nice help.
|
||||||
|
|
||||||
|
@ -93,4 +158,4 @@ Sam Song, samsongshu@yahoo.com.cn
|
||||||
Institute of Electrical Machinery and Controls
|
Institute of Electrical Machinery and Controls
|
||||||
Shanghai University
|
Shanghai University
|
||||||
|
|
||||||
June 8,2004
|
Oct. 11, 2004
|
||||||
|
|
|
@ -432,7 +432,7 @@ void main_loop (void)
|
||||||
s = getenv("menucmd");
|
s = getenv("menucmd");
|
||||||
if (s) {
|
if (s) {
|
||||||
# ifndef CFG_HUSH_PARSER
|
# ifndef CFG_HUSH_PARSER
|
||||||
run_command (s, bd, 0);
|
run_command (s, 0);
|
||||||
# else
|
# else
|
||||||
parse_string_outer(s, FLAG_PARSE_SEMICOLON |
|
parse_string_outer(s, FLAG_PARSE_SEMICOLON |
|
||||||
FLAG_EXIT_FROM_LOOP);
|
FLAG_EXIT_FROM_LOOP);
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* #define DEBUG 1 */
|
/* #define DEBUG 1 */
|
||||||
|
/* #ifdef DEPLOYMENT 1 */
|
||||||
|
|
||||||
#undef CONFIG_MPC860
|
#undef CONFIG_MPC860
|
||||||
#define CONFIG_MPC823 1 /* This is a MPC823e CPU. */
|
#define CONFIG_MPC823 1 /* This is a MPC823e CPU. */
|
||||||
|
@ -59,19 +60,31 @@
|
||||||
#undef CONFIG_8xx_CONS_NONE
|
#undef CONFIG_8xx_CONS_NONE
|
||||||
#define CONFIG_BAUDRATE 9600 /* console default baudrate = 9600bps */
|
#define CONFIG_BAUDRATE 9600 /* console default baudrate = 9600bps */
|
||||||
|
|
||||||
#ifdef CONFIG_LCD
|
#ifdef DEBUG
|
||||||
#define CONFIG_BOOTDELAY 12 /* autoboot after 12 seconds */
|
#define CONFIG_BOOTDELAY -1 /* autoboot disabled */
|
||||||
#else
|
#else
|
||||||
#define CONFIG_BOOTDELAY -1 /* autoboot disabled */
|
#define CONFIG_BOOTDELAY 6 /* autoboot after 6 seconds */
|
||||||
|
|
||||||
|
#ifdef DEPLOYMENT
|
||||||
|
#define CONFIG_BOOT_RETRY_TIME -1
|
||||||
|
#define CONFIG_AUTOBOOT_KEYED
|
||||||
|
#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds (stop with 'st')...\n"
|
||||||
|
#define CONFIG_AUTOBOOT_STOP_STR "st"
|
||||||
|
#define CONFIG_ZERO_BOOTDELAY_CHECK
|
||||||
|
#define CONFIG_RESET_TO_RETRY 1
|
||||||
|
#define CONFIG_BOOT_RETRY_MIN 1
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* pre-boot commands */
|
||||||
|
#define CONFIG_PREBOOT "setenv stdout serial;setenv stdin serial"
|
||||||
|
|
||||||
#undef CONFIG_BOOTARGS
|
#undef CONFIG_BOOTARGS
|
||||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
"netdev=eth0\0" \
|
"netdev=eth0\0" \
|
||||||
"nfsargs=setenv bootargs console=ttyS0,9600 root=/dev/nfs rw " \
|
"nfsargs=setenv bootargs console=tty0 console=ttyS0,9600 " \
|
||||||
"nfsroot=$(serverip):$(rootpath)\0" \
|
"root=/dev/nfs rw nfsroot=$(serverip):$(rootpath)\0" \
|
||||||
"ramargs=setenv bootargs console=tty0 console=ttyS0,9600 " \
|
"ramargs=setenv bootargs console=tty0 root=/dev/ram rw\0" \
|
||||||
"root=/dev/ram rw\0" \
|
|
||||||
"addip=setenv bootargs $(bootargs) " \
|
"addip=setenv bootargs $(bootargs) " \
|
||||||
"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask)" \
|
"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask)" \
|
||||||
":$(hostname):$(netdev):off panic=1\0" \
|
":$(hostname):$(netdev):off panic=1\0" \
|
||||||
|
@ -82,9 +95,25 @@
|
||||||
"net_nfs=tftp 200000 $(bootfile);run nfsargs addip;bootm\0" \
|
"net_nfs=tftp 200000 $(bootfile);run nfsargs addip;bootm\0" \
|
||||||
"gatewayip=172.16.115.254\0" \
|
"gatewayip=172.16.115.254\0" \
|
||||||
"netmask=255.255.255.0\0" \
|
"netmask=255.255.255.0\0" \
|
||||||
|
<<<<<<< RPXlite_DW.h
|
||||||
|
"kernel_addr=ff040000\0" \
|
||||||
|
"ramdisk_addr=ff200000\0" \
|
||||||
|
"ku=era $(kernel_addr) ff1fffff;cp.b 100000 $(kernel_addr) " \
|
||||||
|
"$(filesize);md $(kernel_addr);" \
|
||||||
|
"echo kernel updating finished\0" \
|
||||||
|
"uu=protect off 1:0-4;era 1:0-4;cp.b 100000 ff000000 " \
|
||||||
|
"$(filesize);md ff000000;" \
|
||||||
|
"echo u-boot updating finished\0" \
|
||||||
|
"eu=protect off 1:6;era 1:6;reset\0" \
|
||||||
|
"lcd=setenv stdout lcd;setenv stdin lcd\0" \
|
||||||
|
"ser=setenv stdout serial;setenv stdin serial\0" \
|
||||||
|
"verify=no"
|
||||||
|
|
||||||
|
=======
|
||||||
"kernel_addr=ff080000\0" \
|
"kernel_addr=ff080000\0" \
|
||||||
"ramdisk_addr=ff200000\0" \
|
"ramdisk_addr=ff200000\0" \
|
||||||
""
|
""
|
||||||
|
>>>>>>> 1.3
|
||||||
#define CONFIG_BOOTCOMMAND "run flash_self"
|
#define CONFIG_BOOTCOMMAND "run flash_self"
|
||||||
|
|
||||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||||
|
@ -178,8 +207,13 @@
|
||||||
#define CFG_ENV_SIZE 0x8000 /* Total Size of Environment Sector */
|
#define CFG_ENV_SIZE 0x8000 /* Total Size of Environment Sector */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
<<<<<<< RPXlite_DW.h
|
||||||
|
#define CFG_RESET_ADDRESS ((ulong)((((immap_t *)CFG_IMMR)->im_clkrst.res)))
|
||||||
|
|
||||||
|
=======
|
||||||
#define CFG_RESET_ADDRESS ((ulong)((((immap_t *)CFG_IMMR)->im_clkrst.res)))
|
#define CFG_RESET_ADDRESS ((ulong)((((immap_t *)CFG_IMMR)->im_clkrst.res)))
|
||||||
|
|
||||||
|
>>>>>>> 1.3
|
||||||
/*-----------------------------------------------------------------------
|
/*-----------------------------------------------------------------------
|
||||||
* Cache Configuration
|
* Cache Configuration
|
||||||
*/
|
*/
|
||||||
|
@ -254,10 +288,16 @@
|
||||||
/* Up to 48MHz system clock, we use 1:1 SYSTEM/BUS ratio */
|
/* Up to 48MHz system clock, we use 1:1 SYSTEM/BUS ratio */
|
||||||
#if defined(RPXlite_64MHz)
|
#if defined(RPXlite_64MHz)
|
||||||
#define CFG_SCCR ( SCCR_TBS | SCCR_EBDF01 ) /* %%%SCCR:0x02020000 */
|
#define CFG_SCCR ( SCCR_TBS | SCCR_EBDF01 ) /* %%%SCCR:0x02020000 */
|
||||||
|
<<<<<<< RPXlite_DW.h
|
||||||
|
#else
|
||||||
|
#define CFG_SCCR ( SCCR_TBS | SCCR_EBDF00 ) /* %%%SCCR:0x02000000 */
|
||||||
|
#endif
|
||||||
|
=======
|
||||||
#else
|
#else
|
||||||
#define CFG_SCCR ( SCCR_TBS | SCCR_EBDF00 ) /* %%%SCCR:0x02000000 */
|
#define CFG_SCCR ( SCCR_TBS | SCCR_EBDF00 ) /* %%%SCCR:0x02000000 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
>>>>>>> 1.3
|
||||||
/*-----------------------------------------------------------------------
|
/*-----------------------------------------------------------------------
|
||||||
* PCMCIA stuff
|
* PCMCIA stuff
|
||||||
*-----------------------------------------------------------------------
|
*-----------------------------------------------------------------------
|
||||||
|
|
Loading…
Add table
Reference in a new issue