]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
* Patch by Sam Song, 11 October 2004:
authorwdenk <wdenk>
Sun, 9 Jan 2005 23:33:49 +0000 (23:33 +0000)
committerwdenk <wdenk>
Sun, 9 Jan 2005 23:33:49 +0000 (23:33 +0000)
  - 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

CHANGELOG
board/RPXlite_dw/README
common/main.c
include/configs/RPXlite_DW.h

index 3b6d8da8f85982b3f6981660c79cf18dbde6ea29..e0081c46626fc6f825e84cfe9dcd37fecb8343aa 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,7 +2,15 @@
 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
   board
 
index bf44f1780b0a063622d6f70fd4586a94cb439294..45517185ea4cb4e996b141c8eab643058a117379 100644 (file)
@@ -2,11 +2,11 @@
 After following the step of Yoo. Jonghoon and Wolfgang Denk,
 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_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
 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
 '64' in make command,like
 
+make distclean
 make RPXlite_DW_64_config
 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
 'disturb' EEPROM.To get NVRAM support,you may use the following build command:
 
+make distclean
 make RPXlite_DW_NVRAM_config
 make all
 
 3. LCD panel support
 
-To support the Platform better,I added LCD panel(NL6448BC20-08) function.But bewear of
-the fact that once you build this support and program it to FLASH,you should make sure
-you put workable kernel and ramdisk at the right place in FLASH or through NFS.
-Otherwise, you must erase this fireware manually via BDI2000 or ICE tools.So this
-function is used for deployment and demo only.Pls look before you leap.
+To support the Platform better,I added LCD panel(NL6448BC20-08) function.
+For the convenience of debug, CONFIG_PERBOOT was supported. So you just
+perss ENTER if you want to get a serial console in boot downcounting.
+Then you can switch to LCD and serial console freely just typing 
+'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:
 
+make distclean
 make RPXlite_DW_LCD_config
 make all
 
@@ -68,7 +71,7 @@ make RPXlite_DW_64_LCD_config
 
 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
 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 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
 Shanghai University
 
-June 8,2004
+Oct. 11, 2004
index 0869426f17dd1830f6a4e8514e7179f37ddc40c4..9f649dbcd31222b8850317270bd74e300828a3e4 100644 (file)
@@ -432,7 +432,7 @@ void main_loop (void)
            s = getenv("menucmd");
            if (s) {
 # ifndef CFG_HUSH_PARSER
-               run_command (s, bd, 0);
+               run_command (s, 0);
 # else
                parse_string_outer(s, FLAG_PARSE_SEMICOLON |
                                    FLAG_EXIT_FROM_LOOP);
index d0e427d1c96efeecd1a0ab20721f1be4eb203a3e..6f23931cd8395c2a4dcdcba1c0bd579e6857aa46 100644 (file)
@@ -45,6 +45,7 @@
  */
 
 /* #define DEBUG       1 */
+/* #ifdef DEPLOYMENT   1 */
 
 #undef CONFIG_MPC860
 #define CONFIG_MPC823          1       /* This is a MPC823e CPU. */
 #undef CONFIG_8xx_CONS_NONE
 #define CONFIG_BAUDRATE                9600    /* console default baudrate = 9600bps   */
 
-#ifdef CONFIG_LCD
-#define CONFIG_BOOTDELAY       12      /* autoboot after 12 seconds    */
+#ifdef DEBUG
+#define CONFIG_BOOTDELAY        -1      /* autoboot disabled            */
 #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
+
+/* pre-boot commands */
+#define CONFIG_PREBOOT          "setenv stdout serial;setenv stdin serial"
 
 #undef CONFIG_BOOTARGS
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
        "netdev=eth0\0"                                                 \
-       "nfsargs=setenv bootargs console=ttyS0,9600 root=/dev/nfs rw "  \
-               "nfsroot=$(serverip):$(rootpath)\0"                     \
-       "ramargs=setenv bootargs console=tty0 console=ttyS0,9600 "      \
-               "root=/dev/ram rw\0"                                    \
+       "nfsargs=setenv bootargs console=tty0 console=ttyS0,9600 "      \
+               "root=/dev/nfs rw nfsroot=$(serverip):$(rootpath)\0"    \
+       "ramargs=setenv bootargs console=tty0 root=/dev/ram rw\0"       \
        "addip=setenv bootargs $(bootargs) "                            \
                "ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask)"      \
                ":$(hostname):$(netdev):off panic=1\0"                  \
        "net_nfs=tftp 200000 $(bootfile);run nfsargs addip;bootm\0"     \
        "gatewayip=172.16.115.254\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"                                        \
        "ramdisk_addr=ff200000\0"                                       \
        ""
+>>>>>>> 1.3
 #define CONFIG_BOOTCOMMAND     "run flash_self"
 
 #define CONFIG_LOADS_ECHO      1       /* echo on for serial download  */
 #define CFG_ENV_SIZE           0x8000  /* Total Size of Environment Sector     */
 #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)))
 
+>>>>>>> 1.3
 /*-----------------------------------------------------------------------
  * Cache Configuration
  */
 /* Up to 48MHz system clock, we use 1:1 SYSTEM/BUS ratio */
 #if defined(RPXlite_64MHz)
 #define CFG_SCCR       ( SCCR_TBS | SCCR_EBDF01 )  /* %%%SCCR:0x02020000 */
+<<<<<<< RPXlite_DW.h
+#else
+#define CFG_SCCR        ( SCCR_TBS | SCCR_EBDF00 )  /* %%%SCCR:0x02000000 */
+#endif
+=======
 #else
 #define CFG_SCCR       ( SCCR_TBS | SCCR_EBDF00 )  /* %%%SCCR:0x02000000 */
 #endif
 
+>>>>>>> 1.3
 /*-----------------------------------------------------------------------
  * PCMCIA stuff
  *-----------------------------------------------------------------------