summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorwdenk <wdenk>2003-09-10 18:20:28 +0000
committerwdenk <wdenk>2003-09-10 18:20:28 +0000
commit149dded2b178bc0fb62cb6f61b87968d914b580a (patch)
tree6322023840b11a7210e3030262dc5e6ee42953f0 /include
parent7152b1d0b3f8beec8c297d64664e41b4c4ef610a (diff)
downloadtalos-obmc-uboot-149dded2b178bc0fb62cb6f61b87968d914b580a.tar.gz
talos-obmc-uboot-149dded2b178bc0fb62cb6f61b87968d914b580a.zip
* Add support for USB Mass Storage Devices (BBB)
(tested with USB memory sticks only) * Avoid flicker on TRAB's VFD
Diffstat (limited to 'include')
-rw-r--r--include/configs/P3G4.h1
-rw-r--r--include/configs/SL8245.h4
-rw-r--r--include/configs/Sandpoint8240.h36
-rw-r--r--include/configs/trab.h61
-rw-r--r--include/usb.h8
5 files changed, 104 insertions, 6 deletions
diff --git a/include/configs/P3G4.h b/include/configs/P3G4.h
index 17774a3910..77123842db 100644
--- a/include/configs/P3G4.h
+++ b/include/configs/P3G4.h
@@ -99,6 +99,7 @@
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT | \
CONFIG_BOOTP_BOOTFILESIZE)
+#define CONFIG_TIMESTAMP /* Print image info with timestamp */
#define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_ASKENV)
diff --git a/include/configs/SL8245.h b/include/configs/SL8245.h
index 4b69456e44..61896d0d7d 100644
--- a/include/configs/SL8245.h
+++ b/include/configs/SL8245.h
@@ -51,6 +51,8 @@
#define CONFIG_BOOTDELAY 5
+#define CONFIG_TIMESTAMP /* Print image info with timestamp */
+
#define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_PCI)
/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
@@ -68,7 +70,7 @@
/* Print Buffer Size
*/
#define CFG_PBSIZE (CFG_CBSIZE + sizeof(CFG_PROMPT) + 16)
-#define CFG_MAXARGS 8 /* Max number of command args */
+#define CFG_MAXARGS 32 /* Max number of command args */
#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
#define CFG_LOAD_ADDR 0x00400000 /* Default load address */
diff --git a/include/configs/Sandpoint8240.h b/include/configs/Sandpoint8240.h
index 799d5d65bd..5bf184ea94 100644
--- a/include/configs/Sandpoint8240.h
+++ b/include/configs/Sandpoint8240.h
@@ -46,8 +46,39 @@
#endif
#define CONFIG_CONS_INDEX 1
-#define CONFIG_BAUDRATE 115200
-#define CONFIG_DRAM_SPEED 100 /* MHz */
+#define CONFIG_BAUDRATE 9600
+
+#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
+
+#define CONFIG_TIMESTAMP /* Print image info with timestamp */
+
+#define CONFIG_PREBOOT "echo;" \
+ "echo Type \"run net_nfs\" to mount root filesystem over NFS;" \
+ "echo"
+
+#undef CONFIG_BOOTARGS
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "netdev=eth0\0" \
+ "nfsargs=setenv bootargs root=/dev/nfs rw " \
+ "nfsroot=$(serverip):$(rootpath)\0" \
+ "ramargs=setenv bootargs root=/dev/ram rw\0" \
+ "addip=setenv bootargs $(bootargs) " \
+ "ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask)" \
+ ":$(hostname):$(netdev):off panic=1\0" \
+ "net_self=tftp $(kernel_addr) $(bootfile);" \
+ "tftp $(ramdisk_addr) $(ramdisk);" \
+ "run ramargs addip;" \
+ "bootm $(kernel_addr) $(ramdisk_addr)\0" \
+ "net_nfs=tftp $(kernel_addr) $(bootfile);" \
+ "run nfsargs addip;bootm\0" \
+ "rootpath=/opt/eldk/ppc_82xx\0" \
+ "bootfile=/tftpboot/SP8240/uImage\0" \
+ "ramdisk=/tftpboot/SP8240/uRamdisk\0" \
+ "kernel_addr=200000\0" \
+ "ramdisk_addr=400000\0" \
+ ""
+#define CONFIG_BOOTCOMMAND "run flash_self"
#define CONFIG_COMMANDS ( (CONFIG_CMD_DFL & ~CFG_CMD_AUTOSCRIPT) | \
CFG_CMD_ELF | \
@@ -59,6 +90,7 @@
/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
#include <cmd_confdefs.h>
+#define CONFIG_DRAM_SPEED 100 /* MHz */
/*
* Miscellaneous configurable options
diff --git a/include/configs/trab.h b/include/configs/trab.h
index 4c33bdb43c..d96241a2be 100644
--- a/include/configs/trab.h
+++ b/include/configs/trab.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2002
+ * (C) Copyright 2002-2003
* Gary Jennejohn <gj@denx.de>
*
* Configuation settings for the TRAB board.
@@ -40,6 +40,7 @@
#define CONFIG_S3C2400 1 /* in a SAMSUNG S3C2400 SoC */
#define CONFIG_TRAB 1 /* on a TRAB Board */
#undef CONFIG_TRAB_50MHZ /* run the CPU at 50 MHz */
+#define LITTLEENDIAN 1 /* used by usb_ohci.c */
/* input clock of PLL */
#define CONFIG_SYS_CLK_FREQ 12000000 /* TRAB has 12 MHz input clock */
@@ -67,6 +68,11 @@
#define CFG_EEPROM_PAGE_WRITE_BITS 3 /* 8 bytes page write mode on 24C04 */
#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10
+/* USB stuff */
+#define CONFIG_USB_OHCI 1
+#define CONFIG_USB_STORAGE 1
+#define CONFIG_DOS_PARTITION 1
+
/*
* Size of malloc() pool
*/
@@ -139,6 +145,8 @@
CONFIG_COMMANDS_ADD_HWFLOW | \
CONFIG_COMMANDS_ADD_VFD | \
CONFIG_COMMANDS_ADD_EEPROM | \
+ CFG_CMD_USB | \
+ CFG_CMD_FAT | \
CONFIG_COMMANDS_I2C )
#else
#define CONFIG_COMMANDS (CONFIG_CMD_DFL | \
@@ -147,9 +155,14 @@
CONFIG_COMMANDS_ADD_HWFLOW | \
CONFIG_COMMANDS_ADD_VFD | \
CONFIG_COMMANDS_ADD_EEPROM | \
+ CFG_CMD_USB | \
+ CFG_CMD_FAT | \
CONFIG_COMMANDS_I2C )
#endif
+/* moved up */
+#define CFG_HUSH_PARSER 1 /* use "hush" command parser */
+
/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
#include <cmd_confdefs.h>
@@ -164,6 +177,28 @@
#define CONFIG_BOOTCOMMAND "run flash_nfs"
#ifndef CONFIG_BIG_FLASH
+#ifdef CFG_HUSH_PARSER
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "nfs_args=setenv bootargs root=/dev/nfs rw " \
+ "nfsroot=$serverip:$rootpath\0" \
+ "rootpath=/opt/eldk/arm_920TDI\0" \
+ "ram_args=setenv bootargs root=/dev/ram rw\0" \
+ "add_net=setenv bootargs $bootargs ethaddr=$ethaddr " \
+ "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname::off\0" \
+ "add_misc=setenv bootargs $bootargs console=ttyS0 panic=1\0" \
+ "load=tftp 0xC100000 /tftpboot/TRAB/u-boot.bin\0" \
+ "update=protect off 1:0-8;era 1:0-8;cp.b 0xc100000 0 $filesize;" \
+ "setenv filesize;saveenv\0" \
+ "loadfile=/tftpboot/TRAB/uImage\0" \
+ "loadaddr=c400000\0" \
+ "net_load=tftpboot $loadaddr $loadfile\0" \
+ "net_nfs=run net_load nfs_args add_net add_misc;bootm\0" \
+ "kernel_addr=00040000\0" \
+ "flash_nfs=run nfs_args add_net add_misc;bootm $kernel_addr\0" \
+ "mdm_init1=ATZ\0" \
+ "mdm_init2=ATS0=1\0" \
+ "mdm_flow_control=rts/cts\0"
+#else /* !CFG_HUSH_PARSER */
#define CONFIG_EXTRA_ENV_SETTINGS \
"nfs_args=setenv bootargs root=/dev/nfs rw " \
"nfsroot=$(serverip):$(rootpath)\0" \
@@ -184,7 +219,29 @@
"mdm_init1=ATZ\0" \
"mdm_init2=ATS0=1\0" \
"mdm_flow_control=rts/cts\0"
+#endif /* CFG_HUSH_PARSER */
#else /* CONFIG_BIG_FLASH */
+#ifdef CFG_HUSH_PARSER
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "nfs_args=setenv bootargs root=/dev/nfs rw " \
+ "nfsroot=$serverip:$rootpath\0" \
+ "rootpath=/opt/eldk/arm_920TDI\0" \
+ "ram_args=setenv bootargs root=/dev/ram rw\0" \
+ "add_net=setenv bootargs $bootargs ethaddr=$ethaddr " \
+ "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname::off\0" \
+ "add_misc=setenv bootargs $bootargs console=ttyS0 panic=1\0" \
+ "load=tftp 0xC100000 /tftpboot/TRAB/u-boot.bin\0" \
+ "update=protect off 1:0;era 1:0;cp.b 0xc100000 0 $filesize\0" \
+ "loadfile=/tftpboot/TRAB/uImage\0" \
+ "loadaddr=c400000\0" \
+ "net_load=tftpboot $loadaddr $loadfile\0" \
+ "net_nfs=run net_load nfs_args add_net add_misc;bootm\0" \
+ "kernel_addr=00040000\0" \
+ "flash_nfs=run nfs_args add_net add_misc;bootm $kernel_addr\0" \
+ "mdm_init1=ATZ\0" \
+ "mdm_init2=ATS0=1\0" \
+ "mdm_flow_control=rts/cts\0"
+#else /* !CFG_HUSH_PARSER */
#define CONFIG_EXTRA_ENV_SETTINGS \
"nfs_args=setenv bootargs root=/dev/nfs rw " \
"nfsroot=$(serverip):$(rootpath)\0" \
@@ -204,6 +261,7 @@
"mdm_init1=ATZ\0" \
"mdm_init2=ATS0=1\0" \
"mdm_flow_control=rts/cts\0"
+#endif /* CFG_HUSH_PARSER */
#endif /* CONFIG_BIG_FLASH */
#if 0 /* disabled for development */
@@ -223,7 +281,6 @@
*/
#define CFG_LONGHELP /* undef to save memory */
#define CFG_PROMPT "TRAB # " /* Monitor Command Prompt */
-/* #define CFG_HUSH_PARSER 1 */ /* use "hush" command parser */
#ifdef CFG_HUSH_PARSER
#define CFG_PROMPT_HUSH_PS2 "> "
#endif
diff --git a/include/usb.h b/include/usb.h
index edb61201a7..0008a9a745 100644
--- a/include/usb.h
+++ b/include/usb.h
@@ -169,7 +169,7 @@ struct usb_device {
* this is how the lowlevel part communicate with the outer world
*/
-#ifdef CONFIG_USB_UHCI
+#if defined(CONFIG_USB_UHCI) || defined(CONFIG_USB_OHCI)
int usb_lowlevel_init(void);
int usb_lowlevel_stop(void);
int submit_bulk_msg(struct usb_device *dev, unsigned long pipe, void *buffer,int transfer_len);
@@ -228,6 +228,11 @@ int usb_string(struct usb_device *dev, int index, char *buf, size_t size);
int usb_set_interface(struct usb_device *dev, int interface, int alternate);
/* big endian -> little endian conversion */
+/* some CPUs are already little endian e.g. the ARM920T */
+#ifdef LITTLEENDIAN
+#define swap_16(x) ((unsigned short)(x))
+#define swap_32(x) ((unsigned long)(x))
+#else
#define swap_16(x) \
((unsigned short)( \
(((unsigned short)(x) & (unsigned short)0x00ffU) << 8) | \
@@ -238,6 +243,7 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate);
(((unsigned long)(x) & (unsigned long)0x0000ff00UL) << 8) | \
(((unsigned long)(x) & (unsigned long)0x00ff0000UL) >> 8) | \
(((unsigned long)(x) & (unsigned long)0xff000000UL) >> 24) ))
+#endif /* LITTLEENDIAN */
/*
* Calling this entity a "pipe" is glorifying it. A USB pipe
OpenPOWER on IntegriCloud