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

Stefan Roese sr at denx.de
Mon Jan 14 15:58:09 CET 2008


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 at 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;"	\
> +		"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	   | \ */

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



-- 
Viele Grüße,
Stefan

=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================




More information about the U-Boot mailing list