[U-Boot-Users] [PATCH]ppc_4xx: Netstal HCU5 board. Added POST. Various fixes

Various fixes. Reduced rom_size from 384 to 320 kB. Environment is now in flash. Added POST, support for OF.
Signed-off-by: Niklaus Giger niklaus.giger@netstal.com --- board/netstal/hcu5/config.mk | 2 +- include/configs/hcu5.h | 61 +++++++++++++++++++++++++++++------------ 2 files changed, 44 insertions(+), 19 deletions(-)
diff --git a/board/netstal/hcu5/config.mk b/board/netstal/hcu5/config.mk index cfd5744..05b879f 100644 --- a/board/netstal/hcu5/config.mk +++ b/board/netstal/hcu5/config.mk @@ -21,7 +21,7 @@ # Netstal Maschinen AG: HCU5 boards #
-TEXT_BASE = 0xFFFa0000 +TEXT_BASE = 0xFFFb0000
PLATFORM_CPPFLAGS += -DCONFIG_440=1
diff --git a/include/configs/hcu5.h b/include/configs/hcu5.h index 1440838..05185d2 100644 --- a/include/configs/hcu5.h +++ b/include/configs/hcu5.h @@ -48,9 +48,10 @@ * Base addresses -- Note these are effective addresses where the * actual resources get mapped (not physical addresses) *----------------------------------------------------------------------*/ -#define CFG_MONITOR_LEN (384 * 1024) /* Reserve 384 kB for Monitor */ +#define CFG_MONITOR_LEN (320 * 1024) /* Reserve 320 kB for Monitor */ #define CFG_MALLOC_LEN (256 * 1024) /* Reserve 256 kB for malloc() */
+#define CFG_TLB_FOR_BOOT_FLASH 3 #define CFG_BOOT_BASE_ADDR 0xfff00000 #define CFG_SDRAM_BASE 0x00000000 /* _must_ be 0 */ #define CFG_FLASH_BASE 0xfff80000 /* start of FLASH */ @@ -97,6 +98,7 @@ #undef CONFIG_SERIAL_SOFTWARE_FIFO #undef CONFIG_UART1_CONSOLE
+#undef CONFIG_CMD_HWFLOW #define CFG_BAUDRATE_TABLE \ {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
@@ -105,8 +107,8 @@ *----------------------------------------------------------------------*/
#undef CFG_ENV_IS_IN_NVRAM -#undef CFG_ENV_IS_IN_FLASH -#define CFG_ENV_IS_IN_EEPROM +#define CFG_ENV_IS_IN_FLASH +#undef CFG_ENV_IS_IN_EEPROM #undef CFG_ENV_IS_NOWHERE
#ifdef CFG_ENV_IS_IN_EEPROM @@ -121,21 +123,30 @@ /* Put the environment in Flash */ #define CFG_ENV_SECT_SIZE 0x10000 /* size of one complete sector */ #define CFG_ENV_ADDR ((-CFG_MONITOR_LEN)-CFG_ENV_SECT_SIZE) -#define CFG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */ +#define CFG_ENV_SIZE 8*1024 /* 8 KB Environment Sector */
/* Address and size of Redundant Environment Sector */ #define CFG_ENV_ADDR_REDUND (CFG_ENV_ADDR-CFG_ENV_SECT_SIZE) #define CFG_ENV_SIZE_REDUND (CFG_ENV_SIZE) +/* +#undef CFG_ENV_ADDR_REDUND +#undef CFG_ENV_SIZE_REDUND +*/ #endif
/*----------------------------------------------------------------------- * DDR SDRAM *----------------------------------------------------------------------*/ #define CFG_MBYTES_SDRAM (128) /* 128 MB or 256 MB */ -#define CFG_DDR_CACHED_ADDR 0x40000000 /* setup 2nd TLB cached here */ +#define CFG_DDR_CACHED_ADDR 0x50000000 /* setup 2nd TLB cached here */ #undef CONFIG_DDR_DATA_EYE /* Do not use DDR2 optimization */ #define CONFIG_DDR_ECC 1 /* enable ECC */
+/* Following two definitions must be kept in sync with config.h of vxWorks */ +#define USER_RESERVED_MEM ( 0) /* in kB */ +#define PM_RESERVED_MEM ( 64) /* in kB: pmLib reserved area size */ +#define CONFIG_PRAM ( USER_RESERVED_MEM + PM_RESERVED_MEM ) + /*----------------------------------------------------------------------- * I2C stuff for a ATMEL AT24C16 (2kB holding ENV, we are using the * the second internal I2C controller of the PPC440EPx @@ -167,7 +178,7 @@
/* Setup some board specific values for the default environment variables */ #define CONFIG_HOSTNAME hcu5 -#define CONFIG_IPADDR 172.25.1.42 +#define CONFIG_IPADDR 172.25.1.99 #define CONFIG_ETHADDR 00:60:13:00:00:00 /* Netstal Machines AG MAC */ #define CONFIG_OVERWRITE_ETHADDR_ONCE #define CONFIG_SERVERIP 172.25.1.3 @@ -189,13 +200,23 @@ "bootfile=hcu5/uImage\0" \ "rootpath=/home/hcu/eldk/ppc_4xxFP\0" \ "load=tftp 100000 hcu5/u-boot.bin\0" \ - "update=protect off FFFa0000 FFFFFFFF;era FFFa0000 FFFFFFFF;" \ - "cp.b 100000 FFFa0000 60000\0" \ + "update=protect off FFFb0000 FFFFFFFF;era FFFb0000 FFFFFFFF;" \ + "cp.b 100000 FFFb0000 50000\0" \ "upd=run load;run update\0" \ - "vx=tftp ${loadaddr} hcu5/hcu5_vx_rom;" \ - "setenv bootargs emac(0,0)hcu5_vx_rom e=${ipaddr} " \ - " h=${serverip} u=dpu pw=netstal8752 tn=hcu5 f=0x3008;" \ - "bootvx ${loadaddr}\0" \ + "vx=tftp ${loadaddr} hcu5/hcu5_vx_rom; run vxboot\0" \ + "vxusb=usb start; fatload usb 0 ${loadaddr} vxWorks.st; run vxboot\0" \ + "vxargs=emac(0,0)c:hcu5/hcu5_vx_rom e=${ipaddr} h=${serverip}" \ + " u=dpu pw=netstal8752 tn=hcu5 f=0x3008\0" \ + "vxboot=setenv bootargs $(vxargs); bootvx ${loadaddr}\0" \ + "usbargs=setenv bootargs root=/dev/sda1 ro\0" \ + "linux=usb start; ext2load usb 0 ${loadaddr} /boot/uImage;" \ + "run usbargs addip addtty; bootm\0" \ + "net_nfs_fdt=tftp 200000 ${bootfile};" \ + "tftp ${fdt_addr} ${fdt_file};" \ + "run nfsargs addip addtty;" \ + "bootm 200000 - ${fdt_addr}\0" \ + "fdt_file=hcu5/hcu5.dtb\0" \ + "fdt_addr=400000\0" \ "" #define CONFIG_BOOTCOMMAND "run vx"
@@ -248,7 +269,6 @@ #include <config_cmd_default.h>
#define CONFIG_CMD_ASKENV -#define CONFIG_CMD_BSP #define CONFIG_CMD_DHCP #define CONFIG_CMD_DIAG #define CONFIG_CMD_EEPROM @@ -268,7 +288,6 @@
/* POST support */ #define CONFIG_POST (CFG_POST_MEMORY | \ - CFG_POST_ECC | \ CFG_POST_CPU | \ CFG_POST_UART | \ CFG_POST_I2C | \ @@ -276,6 +295,8 @@ CFG_POST_FPU | \ CFG_POST_ETHER | \ CFG_POST_SPR) +/* CFG_POST_ECC | \ */ +#define CFG_POST_UART_TABLE {UART0_BASE}
#define CFG_POST_WORD_ADDR (CFG_GBL_DATA_OFFSET - 0x4) #define CONFIG_LOGBUFFER @@ -309,16 +330,15 @@ #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ #define CONFIG_LOOPW 1 /* enable loopw command */ #define CONFIG_MX_CYCLIC 1 /* enable mdc/mwc commands */ -#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ #define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
/*----------------------------------------------------------------------- * PCI stuff *----------------------------------------------------------------------*/ /* General PCI */ -#define CONFIG_PCI /* include pci support */ +#define CONFIG_PCI 1 /* include pci support */ #undef CONFIG_PCI_PNP /* do (not) pci plug-and-play */ -#define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ +#undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ #define CFG_PCI_TARGBASE 0x80000000 /* PCIaddr mapped to CFG_PCI_MEMBASE*/
/* Board-specific PCI */ @@ -342,7 +362,7 @@ #define CFG_CS_1 0xC8000000 /* CAN */ #define CFG_CS_2 0xCC000000 /* CPLD and IMC-Bus Standard */ #define CFG_CPLD CFG_CS_2 -#define CFG_CS_3 0xCD000000 /* CPLD and IMC-Bus Fast */ +#define CFG_CS_3 0xCE000000 /* CPLD and IMC-Bus Fast */
/*----------------------------------------------------------------------- * FLASH organization @@ -399,4 +419,9 @@ #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif + +/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1 + #endif /* __CONFIG_H */

On Monday 14 January 2008, Niklaus Giger wrote:
Various fixes. Reduced rom_size from 384 to 320 kB. Environment is now in flash. Added POST, support for OF.
I suggest to change this commit text into something like this:
- Various fixes - Reduced rom_size from 384 to 320 kB - Environment is now in flash - Added POST - Support for OF
Better overview, don't you think?
More comments below.
Signed-off-by: Niklaus Giger niklaus.giger@netstal.com
board/netstal/hcu5/config.mk | 2 +- include/configs/hcu5.h | 61 +++++++++++++++++++++++++++++------------ 2 files changed, 44 insertions(+), 19 deletions(-)
diff --git a/board/netstal/hcu5/config.mk b/board/netstal/hcu5/config.mk index cfd5744..05b879f 100644 --- a/board/netstal/hcu5/config.mk +++ b/board/netstal/hcu5/config.mk @@ -21,7 +21,7 @@ # Netstal Maschinen AG: HCU5 boards #
-TEXT_BASE = 0xFFFa0000 +TEXT_BASE = 0xFFFb0000
Again, upper case or lower case please.
PLATFORM_CPPFLAGS += -DCONFIG_440=1
diff --git a/include/configs/hcu5.h b/include/configs/hcu5.h index 1440838..05185d2 100644 --- a/include/configs/hcu5.h +++ b/include/configs/hcu5.h @@ -48,9 +48,10 @@
- Base addresses -- Note these are effective addresses where the
- actual resources get mapped (not physical addresses)
*----------------------------------------------------------------------*/ -#define CFG_MONITOR_LEN (384 * 1024) /* Reserve 384 kB for Monitor */ +#define CFG_MONITOR_LEN (320 * 1024) /* Reserve 320 kB for Monitor */ #define CFG_MALLOC_LEN (256 * 1024) /* Reserve 256 kB for malloc() */
+#define CFG_TLB_FOR_BOOT_FLASH 3 #define CFG_BOOT_BASE_ADDR 0xfff00000 #define CFG_SDRAM_BASE 0x00000000 /* _must_ be 0 */ #define CFG_FLASH_BASE 0xfff80000 /* start of FLASH */ @@ -97,6 +98,7 @@ #undef CONFIG_SERIAL_SOFTWARE_FIFO #undef CONFIG_UART1_CONSOLE
+#undef CONFIG_CMD_HWFLOW #define CFG_BAUDRATE_TABLE \ {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
@@ -105,8 +107,8 @@ *----------------------------------------------------------------------*/
#undef CFG_ENV_IS_IN_NVRAM -#undef CFG_ENV_IS_IN_FLASH -#define CFG_ENV_IS_IN_EEPROM +#define CFG_ENV_IS_IN_FLASH +#undef CFG_ENV_IS_IN_EEPROM #undef CFG_ENV_IS_NOWHERE
#ifdef CFG_ENV_IS_IN_EEPROM @@ -121,21 +123,30 @@ /* Put the environment in Flash */ #define CFG_ENV_SECT_SIZE 0x10000 /* size of one complete sector */ #define CFG_ENV_ADDR ((-CFG_MONITOR_LEN)-CFG_ENV_SECT_SIZE) -#define CFG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */ +#define CFG_ENV_SIZE 8*1024 /* 8 KB Environment Sector */
/* Address and size of Redundant Environment Sector */ #define CFG_ENV_ADDR_REDUND (CFG_ENV_ADDR-CFG_ENV_SECT_SIZE) #define CFG_ENV_SIZE_REDUND (CFG_ENV_SIZE) +/* +#undef CFG_ENV_ADDR_REDUND +#undef CFG_ENV_SIZE_REDUND +*/
Please remove it when it's not used/defined.
#endif
/*-----------------------------------------------------------------------
- DDR SDRAM
*----------------------------------------------------------------------*/ #define CFG_MBYTES_SDRAM (128) /* 128 MB or 256 MB */ -#define CFG_DDR_CACHED_ADDR 0x40000000 /* setup 2nd TLB cached here */ +#define CFG_DDR_CACHED_ADDR 0x50000000 /* setup 2nd TLB cached here */ #undef CONFIG_DDR_DATA_EYE /* Do not use DDR2 optimization */ #define CONFIG_DDR_ECC 1 /* enable ECC */
+/* Following two definitions must be kept in sync with config.h of vxWorks */ +#define USER_RESERVED_MEM ( 0) /* in kB */ +#define PM_RESERVED_MEM ( 64) /* in kB: pmLib reserved area size */ +#define CONFIG_PRAM ( USER_RESERVED_MEM + PM_RESERVED_MEM ) + /*-----------------------------------------------------------------------
- I2C stuff for a ATMEL AT24C16 (2kB holding ENV, we are using the
- the second internal I2C controller of the PPC440EPx
@@ -167,7 +178,7 @@
/* Setup some board specific values for the default environment variables */ #define CONFIG_HOSTNAME hcu5 -#define CONFIG_IPADDR 172.25.1.42 +#define CONFIG_IPADDR 172.25.1.99 #define CONFIG_ETHADDR 00:60:13:00:00:00 /* Netstal Machines AG MAC */ #define CONFIG_OVERWRITE_ETHADDR_ONCE #define CONFIG_SERVERIP 172.25.1.3 @@ -189,13 +200,23 @@ "bootfile=hcu5/uImage\0" \ "rootpath=/home/hcu/eldk/ppc_4xxFP\0" \ "load=tftp 100000 hcu5/u-boot.bin\0" \
- "update=protect off FFFa0000 FFFFFFFF;era FFFa0000 FFFFFFFF;" \
"cp.b 100000 FFFa0000 60000\0" \
- "update=protect off FFFb0000 FFFFFFFF;era FFFb0000 FFFFFFFF;" \
"upd=run load;run update\0" \"cp.b 100000 FFFb0000 50000\0" \
- "vx=tftp ${loadaddr} hcu5/hcu5_vx_rom;" \
- "setenv bootargs emac(0,0)hcu5_vx_rom e=${ipaddr} " \
" h=${serverip} u=dpu pw=netstal8752 tn=hcu5 f=0x3008;" \
- "bootvx ${loadaddr}\0" \
- "vx=tftp ${loadaddr} hcu5/hcu5_vx_rom; run vxboot\0" \
- "vxusb=usb start; fatload usb 0 ${loadaddr} vxWorks.st; run vxboot\0" \
- "vxargs=emac(0,0)c:hcu5/hcu5_vx_rom e=${ipaddr} h=${serverip}" \
" u=dpu pw=netstal8752 tn=hcu5 f=0x3008\0" \
- "vxboot=setenv bootargs $(vxargs); bootvx ${loadaddr}\0" \
- "usbargs=setenv bootargs root=/dev/sda1 ro\0" \
- "linux=usb start; ext2load usb 0 ${loadaddr} /boot/uImage;" \
- "run usbargs addip addtty; bootm\0" \
- "net_nfs_fdt=tftp 200000 ${bootfile};" \
"tftp ${fdt_addr} ${fdt_file};" \
"run nfsargs addip addtty;" \
"bootm 200000 - ${fdt_addr}\0" \
"fdt_file=hcu5/hcu5.dtb\0" \
- "fdt_addr=400000\0" \ ""
#define CONFIG_BOOTCOMMAND "run vx"
@@ -248,7 +269,6 @@ #include <config_cmd_default.h>
#define CONFIG_CMD_ASKENV -#define CONFIG_CMD_BSP #define CONFIG_CMD_DHCP #define CONFIG_CMD_DIAG #define CONFIG_CMD_EEPROM @@ -268,7 +288,6 @@
/* POST support */ #define CONFIG_POST (CFG_POST_MEMORY | \
CFG_POST_ECC | \ CFG_POST_CPU | \ CFG_POST_UART | \ CFG_POST_I2C | \
@@ -276,6 +295,8 @@ CFG_POST_FPU | \ CFG_POST_ETHER | \ CFG_POST_SPR) +/* CFG_POST_ECC | \ */
Remove unsed code.
+#define CFG_POST_UART_TABLE {UART0_BASE}
#define CFG_POST_WORD_ADDR (CFG_GBL_DATA_OFFSET - 0x4) #define CONFIG_LOGBUFFER @@ -309,16 +330,15 @@ #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ #define CONFIG_LOOPW 1 /* enable loopw command */ #define CONFIG_MX_CYCLIC 1 /* enable mdc/mwc commands */ -#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ #define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
/*-----------------------------------------------------------------------
- PCI stuff
*----------------------------------------------------------------------*/ /* General PCI */ -#define CONFIG_PCI /* include pci support */ +#define CONFIG_PCI 1 /* include pci support */ #undef CONFIG_PCI_PNP /* do (not) pci plug-and-play */ -#define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ +#undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ #define CFG_PCI_TARGBASE 0x80000000 /* PCIaddr mapped to CFG_PCI_MEMBASE*/
/* Board-specific PCI */ @@ -342,7 +362,7 @@ #define CFG_CS_1 0xC8000000 /* CAN */ #define CFG_CS_2 0xCC000000 /* CPLD and IMC-Bus Standard */ #define CFG_CPLD CFG_CS_2 -#define CFG_CS_3 0xCD000000 /* CPLD and IMC-Bus Fast */ +#define CFG_CS_3 0xCE000000 /* CPLD and IMC-Bus Fast */
/*-----------------------------------------------------------------------
- FLASH organization
@@ -399,4 +419,9 @@ #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ #endif
+/* pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT 1 +#define CONFIG_OF_BOARD_SETUP 1
#endif /* __CONFIG_H */
1.5.2.5
participants (2)
-
Niklaus Giger
-
Stefan Roese