powerpc: common updates for keymile boards

- added to keymile-common.h:
  - bootcount support
  - COMMAND HISTORY
  - CONFIG_AUTO_COMPLETE
  - CONFIG_SYS_FLASH_PROTECTION
  - JFFS2 support
  - CONFIG_VERSION_VARIABLE
- extracted common I2C settings for all boards
- common default environment settings summarized

Signed-off-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
Heiko Schocher 2009-03-12 07:37:18 +01:00 committed by Wolfgang Denk
parent 506f391888
commit 364123db67
4 changed files with 189 additions and 139 deletions

View file

@ -27,9 +27,7 @@
/* Do boardspecific init for all boards */
#define CONFIG_BOARD_EARLY_INIT_R 1
#if defined(CONFIG_MGCOGE) || defined(CONFIG_MGSUVD)
#define CONFIG_BOOTCOUNT_LIMIT
#endif
/*
* Command line configuration.
@ -45,10 +43,11 @@
#define CONFIG_CMD_DTT
#define CONFIG_CMD_EEPROM
#define CONFIG_CMD_I2C
#define CONFIG_CMD_JFFS2
#define CONFIG_JFFS2_CMDLINE
#undef CONFIG_WATCHDOG /* disable platform specific watchdog */
#define CONFIG_BOOTCOMMAND "run net_nfs"
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
#undef CONFIG_BOOTARGS /* the boot command will set bootargs */
@ -68,6 +67,8 @@
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
#define CONFIG_CMDLINE_EDITING 1 /* add command line history */
#define CONFIG_COMMAND_HISTORY 1
#define CONFIG_AUTO_COMPLETE /* add autocompletion support */
#define CONFIG_HUSH_INIT_VAR 1
@ -95,6 +96,25 @@
#define CONFIG_SYS_SLOT_ID_OFF (0x07) /* register offset */
#define CONFIG_SYS_SLOT_ID_MASK (0x3f) /* mask for slot ID bits */
#define CONFIG_I2C_MULTI_BUS 1
#define CONFIG_I2C_CMD_TREE 1
#define CONFIG_SYS_MAX_I2C_BUS 2
#define CONFIG_SYS_I2C_INIT_BOARD 1
#define CONFIG_I2C_MUX 1
/* EEprom support */
#define CONFIG_SYS_I2C_MULTI_EEPROMS 1
#define CONFIG_SYS_EEPROM_PAGE_WRITE_ENABLE
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
/* Support the IVM EEprom */
#define CONFIG_SYS_IVM_EEPROM_ADR 0x50
#define CONFIG_SYS_IVM_EEPROM_MAX_LEN 0x400
#define CONFIG_SYS_IVM_EEPROM_PAGE_LEN 0x100
#define CONFIG_SYS_FLASH_PROTECTION 1
/*
* BOOTP options
*/
@ -103,4 +123,130 @@
#define CONFIG_BOOTP_GATEWAY
#define CONFIG_BOOTP_HOSTNAME
/* define this to use the keymile's io muxing feature */
/*#define CONFIG_IO_MUXING */
#ifdef CONFIG_IO_MUXING
#define CONFIG_KM_DEF_ENV_IOMUX \
"nc=setenv ethact HDLC ETHERNET \0" \
"nce=setenv ethact SCC ETHERNET \0" \
"stderr=serial,nc \0" \
"stdin=serial,nc \0" \
"stdout=serial,nc \0" \
"tftpsrcp=69 \0" \
"tftpdstp=69 \0"
#else
#define CONFIG_KM_DEF_ENV_IOMUX \
"stderr=serial \0" \
"stdin=serial \0" \
"stdout=serial \0"
#endif
#ifndef CONFIG_KM_DEF_ENV_PRIVATE
#define CONFIG_KM_DEF_ENV_PRIVATE \
"kmprivate=empty\0"
#endif
#define xstr(s) str(s)
#define str(s) #s
#ifndef CONFIG_KM_DEF_ENV
#define CONFIG_KM_DEF_ENV \
"netdev=eth0\0" \
"u-boot_addr_r=100000\0" \
"kernel_addr_r=200000\0" \
"fdt_addr_r=600000\0" \
"ram_ws=800000 \0" \
"autoscr_ws=780000 \0" \
"fdt_file=" xstr(CONFIG_HOSTNAME) "/" \
xstr(CONFIG_HOSTNAME) ".dtb\0" \
"u-boot=" xstr(CONFIG_HOSTNAME) "/u-boot.bin \0" \
"kernel_file=" xstr(CONFIG_HOSTNAME) "/uImage \0" \
"load=tftp ${u-boot_addr_r} ${u-boot}\0" \
"update=protect off " xstr(BOOTFLASH_START) " +${filesize};" \
"erase " xstr(BOOTFLASH_START) " +${filesize};" \
"cp.b ${u-boot_addr_r} " xstr(BOOTFLASH_START) \
" ${filesize};" \
"protect on " xstr(BOOTFLASH_START) " +${filesize}\0" \
"load_fdt=tftp ${fdt_addr_r} ${fdt_file}; " \
"setenv actual_fdt_addr ${fdt_addr_r} \0" \
"load_kernel=tftp ${kernel_addr_r} ${kernel_file}; " \
"setenv actual_kernel_addr ${kernel_addr_r} \0" \
"ramargs=setenv bootargs root=/dev/ram rw\0" \
"nfsargs=setenv bootargs root=/dev/nfs rw " \
"nfsroot=${serverip}:${rootpath}\0" \
"mtdargs=setenv bootargs root=${actual_rootfs} rw " \
"rootfstype=jffs2 \0" \
"altmtdargs=setenv bootargs root=${backup_rootfs} rw " \
"rootfstype=jffs2 \0" \
"addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \
"addip=setenv bootargs ${bootargs} " \
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
":${hostname}:${netdev}:off panic=1\0" \
"addboardid=setenv bootargs ${bootargs} " \
"hwKey=${IVM_HWKey} boardId=0x${IVM_BoardId} \0" \
"addpram=setenv bootargs ${bootargs} " \
"mem=${mem} pram=${pram}\0" \
"pram=" xstr(CONFIG_PRAM) "k\0" \
"net_nfs=tftp ${kernel_addr_r} ${kernel_file}; " \
"tftp ${fdt_addr_r} ${fdt_file}; " \
"run nfsargs addip addcon addboardid addpram;" \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
"net_self=tftp ${kernel_addr_r} ${kernel_file}; " \
"tftp ${fdt_addr_r} ${fdt_file}; " \
"tftp ${ramdisk_addr} ${ramdisk_file}; " \
"run ramargs addip addboardid addpram; " \
"bootm ${kernel_addr_r} ${ramdisk_addr} ${fdt_addr_r}\0"\
"flash_nfs=run nfsargs addip addcon;" \
"bootm ${kernel_addr} - ${fdt_addr}\0" \
"flash_self=run ramargs addip addcon addboardid addpram;" \
"bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
"bootcmd=run mtdargs addip addcon addboardid addpram; " \
"bootm ${actual_kernel_addr} - ${actual_fdt_addr} \0" \
"altbootcmd=run altmtdargs addip addcon addboardid addpram; " \
"bootm ${backup_kernel_addr} - ${backup_fdt_addr} \0" \
"actual0=setenv actual_bank 0; setenv actual_kernel_addr " \
"${bank0_kernel_addr}; " \
"setenv actual_fdt_addr ${bank0_fdt_addr}; " \
"setenv actual_rootfs ${bank0_rootfs} \0" \
"actual1=setenv actual_bank 1; setenv actual_kernel_addr " \
"${bank1_kernel_addr}; " \
"setenv actual_fdt_addr ${bank1_fdt_addr}; " \
"setenv actual_rootfs ${bank1_rootfs} \0" \
"backup0=setenv backup_bank 0; setenv backup_kernel_addr " \
"${bank0_kernel_addr}; " \
"setenv backup_fdt_addr ${bank0_fdt_addr}; " \
"setenv backup_rootfs ${bank0_rootfs} \0" \
"backup1=setenv backup_bank 1; setenv backup_kernel_addr " \
"${bank1_kernel_addr}; " \
"setenv backup_fdt_addr ${bank1_fdt_addr}; " \
"setenv backup_rootfs ${bank1_rootfs} \0" \
"setbank0=run actual0 backup1 \0" \
"setbank1=run actual1 backup0 \0" \
"release=setenv bootcmd " \
"\'run mtdargs addip addcon addboardid addpram;" \
"bootm ${actual_kernel_addr} - ${actual_fdt_addr} \'; " \
"saveenv \0" \
"develop=setenv bootcmd " \
"\'run nfsargs addip addcon addboardid addpram;" \
"bootm ${actual_kernel_addr} - ${actual_fdt_addr} \'; " \
"saveenv \0" \
"developall=setenv bootcmd " \
"\'run load_fdt load_kernel nfsargs " \
"addip addcon addboardid addpram; " \
"bootm ${actual_kernel_addr} - ${actual_fdt_addr} \'; " \
"saveenv \0" \
"set_new_esw_script=setenv new_esw_script " \
"new_esw_0x${IVM_BoardId}_0x${IVM_HWKey}.scr \0" \
"new_esw=run set_new_esw_script; " \
"tftp ${autoscr_ws} ${new_esw_script}; " \
"iminfo ${autoscr_ws}; autoscr ${autoscr_ws} \0" \
"bootlimit=0 \0" \
CONFIG_KM_DEF_ENV_IOMUX \
CONFIG_KM_DEF_ENV_PRIVATE \
""
#endif /* CONFIG_KM_DEF_ENV */
#define CONFIG_VERSION_VARIABLE /* include version env variable */
#endif /* __CONFIG_KEYMILE_H */

View file

@ -33,6 +33,7 @@
/* include common defines/options for all Keymile boards */
#include "keymile-common.h"
#undef CONFIG_SYS_I2C_INIT_BOARD
#define CONFIG_MISC_INIT_R 1
/*
* System Clock Setup
@ -319,15 +320,6 @@
/* EEprom support */
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
#define CONFIG_SYS_I2C_MULTI_EEPROMS 1
#define CONFIG_SYS_EEPROM_PAGE_WRITE_ENABLE
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
/* Support the IVM EEprom */
#define CONFIG_SYS_IVM_EEPROM_ADR 0x50
#define CONFIG_SYS_IVM_EEPROM_MAX_LEN 0x400
#define CONFIG_SYS_IVM_EEPROM_PAGE_LEN 0x100
/* I2C SYSMON (LM75, AD7414 is almost compatible) */
#define CONFIG_DTT_LM75 1 /* ON Semi's LM75 */
@ -457,47 +449,17 @@
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_KM_DEF_ENV \
"netdev=eth0\0" \
"rootpath=/opt/eldk/ppc_82xx\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" \
"addtty=setenv bootargs ${bootargs}" \
" console=ttyS0,${baudrate}\0" \
"fdt_addr=f0080000\0" \
"kernel_addr=f00a0000\0" \
"ramdisk_addr=f03a0000\0" \
"kernel_addr_r=400000\0" \
"fdt_addr_r=800000\0" \
"ramdisk_addr_r=810000\0" \
"flash_self=run ramargs addip addtty;" \
"bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
"flash_nfs=run nfsargs addip addtty;" \
"bootm ${kernel_addr} - ${fdt_addr}\0" \
"net_nfs=tftp ${kernel_addr_r} ${boot_file}; " \
"tftp ${fdt_addr_r} ${fdt_file}; " \
"run nfsargs addip addtty;" \
"bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
"fdt_file=/tftpboot/kmeter1/kmeter1.dtb\0" \
"boot_file=/tftpboot/kmeter1/uImage\0" \
"addcon=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\
"ramdisk_file=/tftpboot/kmeter1/uRamdisk\0" \
"u-boot=/tftpboot/kmeter1/u-boot.bin\0" \
"loadaddr=" MK_STR(CONFIG_SYS_LOAD_ADDR) "\0" \
"load=tftp $loadaddr ${u-boot}\0" \
"update=protect off " MK_STR(TEXT_BASE) " +$filesize;" \
"erase " MK_STR(TEXT_BASE) " +$filesize;" \
"cp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize;" \
"protect on " MK_STR(TEXT_BASE) " +$filesize;" \
"cmp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize;" \
"setenv filesize;saveenv\0" \
"upd=run load update\0" \
"loadram=tftp ${ramdisk_addr_r} ${ramdisk_file}\0" \
"loadfdt=tftp ${fdt_addr_r} ${fdt_file}\0" \
"loadkernel=tftp ${kernel_addr_r} ${boot_file}\0" \
"loadkernel=tftp ${kernel_addr_r} ${bootfile}\0" \
"unlock=yes\0" \
"fdt_addr=F0080000\0" \
"kernel_addr=F00a0000\0" \
"ramdisk_addr=F03a0000\0" \
"ramdisk_addr_r=F10000\0" \
"EEprom_ivm=pca9547:70:9\0" \
"dtt_bus=pca9547:70:a\0" \
"mtdids=nor0=app \0" \

View file

@ -86,38 +86,23 @@
"mtdparts=boot:384k(u-boot),128k(env),128k(envred),3456k(free);" \
"app:3m(esw0),10m(rootfs0),3m(esw1),10m(rootfs1),1m(var),5m(cfg)"
#ifndef CONFIG_KM_DEF_ENV /* if not set by keymile-common.h */
#define CONFIG_KM_DEF_ENV "km-common=empty\0"
#endif
/*
* Default environment settings
*/
#define CONFIG_EXTRA_ENV_SETTINGS \
"netdev=eth0\0" \
"u-boot_addr=100000\0" \
"kernel_addr=200000\0" \
"fdt_addr=400000\0" \
"rootpath=/opt/eldk-4.2/ppc_82xx\0" \
"u-boot=/tftpboot/mgcoge/u-boot.bin\0" \
"bootfile=/tftpboot/mgcoge/uImage\0" \
"fdt_file=/tftpboot/mgcoge/mgcoge.dtb\0" \
"load=tftp ${u-boot_addr} ${u-boot}\0" \
"update=prot off fe000000 fe03ffff; era fe000000 fe03ffff; " \
"cp.b ${u-boot_addr} fe000000 ${filesize};" \
"prot on fe000000 fe03ffff\0" \
"ramargs=setenv bootargs root=/dev/ram rw\0" \
"nfsargs=setenv bootargs root=/dev/nfs rw " \
"nfsroot=${serverip}:${rootpath}\0" \
"addcons=setenv bootargs ${bootargs} console=ttyCPM0,${baudrate}\0" \
"addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \
"addip=setenv bootargs ${bootargs} " \
"ip=${ipaddr}:${serverip}:${gatewayip}:" \
"${netmask}:${hostname}:${netdev}:off panic=1\0" \
"net_nfs=tftp ${kernel_addr} ${bootfile}; " \
"tftp ${fdt_addr} ${fdt_file}; run nfsargs addip addcons;" \
"bootm ${kernel_addr} - ${fdt_addr}\0" \
"net_self=tftp ${kernel_addr} ${bootfile}; " \
"tftp ${fdt_addr} ${fdt_file}; " \
"tftp ${ramdisk_addr} ${ramdisk_file}; " \
"run ramargs addip; " \
"bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
CONFIG_KM_DEF_ENV \
"rootpath=/opt/eldk/ppc_82xx\0" \
"addcon=setenv bootargs ${bootargs} " \
"console=ttyCPM0,${baudrate}\0" \
"mtdids=nor0=boot,nor1=app \0" \
"mtdparts=mtdparts=boot:384k(u-boot),128k(env),128k(envred)," \
"3456k(free);app:3m(esw0),10m(rootfs0),3m(esw1)," \
"10m(rootfs1),1m(var),5m(cfg) \0" \
"partition=nor1,5 \0" \
"new_env=prot off FE060000 FE09FFFF; era FE060000 FE09FFFF \0" \
"EEprom_ivm=pca9544a:70:4 \0" \
"mtdparts=" MK_STR(MTDPARTS_DEFAULT) "\0" \
""
@ -175,24 +160,6 @@
else iop->pdat &= ~0x00020000
#define I2C_DELAY udelay(5) /* 1/4 I2C clock duration */
#define CONFIG_I2C_MULTI_BUS 1
#define CONFIG_I2C_CMD_TREE 1
#define CONFIG_SYS_MAX_I2C_BUS 2
#define CONFIG_SYS_I2C_INIT_BOARD 1
#define CONFIG_I2C_MUX 1
/* EEprom support */
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
#define CONFIG_SYS_I2C_MULTI_EEPROMS 1
#define CONFIG_SYS_EEPROM_PAGE_WRITE_ENABLE
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
/* Support the IVM EEprom */
#define CONFIG_SYS_IVM_EEPROM_ADR 0x50
#define CONFIG_SYS_IVM_EEPROM_MAX_LEN 0x400
#define CONFIG_SYS_IVM_EEPROM_PAGE_LEN 0x100
/* I2C SYSMON (LM75, AD7414 is almost compatible) */
#define CONFIG_DTT_LM75 1 /* ON Semi's LM75 */
#define CONFIG_DTT_SENSORS {0} /* Sensor addresses */

View file

@ -58,32 +58,23 @@
"echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \
"echo"
#define BOOTFLASH_START F0000000
#define CONFIG_PRAM 512 /* protected RAM [KBytes] */
#define CONFIG_ENV_IVM "EEprom_ivm=pca9544a:70:4 \0"
#define CONFIG_EXTRA_ENV_SETTINGS \
"netdev=eth0\0" \
"addcons=setenv bootargs ${bootargs} console=ttyCPM0,${baudrate}\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" \
"flash_nfs=run nfsargs addip;" \
"bootm ${kernel_addr}\0" \
"flash_self=run ramargs addip;" \
"bootm ${kernel_addr} ${ramdisk_addr}\0" \
"net_nfs=tftp ${kernel_addr} ${bootfile}; " \
"tftp ${fdt_addr} ${fdt_file}; run nfsargs addip addcons;" \
"bootm ${kernel_addr} - ${fdt_addr}\0" \
CONFIG_KM_DEF_ENV \
"rootpath=/opt/eldk/ppc_8xx\0" \
"bootfile=/tftpboot/mgsuvd/uImage\0" \
"fdt_addr=400000\0" \
"kernel_addr=200000\0" \
"fdt_file=/tftpboot/mgsuvd/mgsuvd.dtb\0" \
"load=tftp 200000 ${u-boot}\0" \
"update=protect off f0000000 +${filesize};" \
"erase f0000000 +${filesize};" \
"cp.b 200000 f0000000 ${filesize};" \
"protect on f0000000 +${filesize}\0" \
"addcon=setenv bootargs ${bootargs} " \
"console=ttyCPM0,${baudrate}\0" \
"mtdids=nor0=app \0" \
"mtdparts=mtdparts=app:384k(u-boot),128k(env),128k(envred)," \
"128k(free),1536k(esw0),8704k(rootfs0),1536k(esw1)," \
"2432k(rootfs1),640k(var),768k(cfg)\0" \
"partition=nor0,9 \0" \
"new_env=prot off F0060000 F009FFFF; era F0060000 F009FFFF \0" \
CONFIG_ENV_IVM \
""
#undef CONFIG_RTC_MPC8xx /* MPC866 does not support RTC */
@ -305,23 +296,7 @@
}
#define I2C_DELAY udelay(50) /* 1/4 I2C clock duration */
#define CONFIG_I2C_MULTI_BUS 1
#define CONFIG_I2C_CMD_TREE 1
#define CONFIG_SYS_MAX_I2C_BUS 2
#define CONFIG_SYS_I2C_INIT_BOARD 1
#define CONFIG_I2C_MUX 1
/* EEprom support */
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
#define CONFIG_SYS_I2C_MULTI_EEPROMS 1
#define CONFIG_SYS_EEPROM_PAGE_WRITE_ENABLE
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
/* Support the IVM EEprom */
#define CONFIG_SYS_IVM_EEPROM_ADR 0x50
#define CONFIG_SYS_IVM_EEPROM_MAX_LEN 0x400
#define CONFIG_SYS_IVM_EEPROM_PAGE_LEN 0x100
/* I2C SYSMON (LM75, AD7414 is almost compatible) */
#define CONFIG_DTT_LM75 1 /* ON Semi's LM75 */