arm, ppc: rework environment variables for keymile boards

This patch reworks all headerfiles for keymile boards. Furthermore
the environment variables are refactored.

Changes:
  - introduce km-powerpc.h file and extract ppc specific parts to it
  - move ARM specific options and vaiables to km_arm.h
  - sort the environment variables to logical groups
  - enhance the description of the environment variables
  - remove KM specific HW key and board id from kernel command line

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Signed-off-by: Heiko Schocher <hs@denx.de>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
cc: Kim Phillips <kim.phillips@freescale.com>
cc: Wolfgang Denk <wd@denx.de>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
master
Holger Brunck 14 years ago committed by Wolfgang Denk
parent f41ee960d2
commit de3ad13de5
  1. 234
      include/configs/keymile-common.h
  2. 92
      include/configs/km-powerpc.h
  3. 25
      include/configs/km_arm.h
  4. 36
      include/configs/kmeter1.h
  5. 31
      include/configs/mgcoge.h

@ -86,10 +86,6 @@
#define CONFIG_HUSH_INIT_VAR
#define CONFIG_SYS_ALT_MEMTEST /* memory test, takes time */
#define CONFIG_SYS_MEMTEST_START 0x00100000
#define CONFIG_SYS_MEMTEST_END 0x00f00000 /* 1 ... 15 MB in DRAM */
#define CONFIG_SYS_LOAD_ADDR 0x100000
#define CONFIG_SYS_HZ 1000 /* decr. freq: 1 ms ticks */
@ -142,7 +138,6 @@
#define CONFIG_CMD_UBI
#define CONFIG_RBTREE
#define CONFIG_MTD_PARTITIONS
#define CONFIG_FLASH_CFI_MTD
#define CONFIG_MTD_DEVICE
#define CONFIG_MTD_CONCAT
@ -170,103 +165,152 @@
"kmprivate=empty\0"
#endif
#ifndef CONFIG_KM_DEF_NETDEV
#define CONFIG_KM_DEF_NETDEV \
"netdev=eth0\0"
#endif
#ifndef CONFIG_KM_UBI_PARTITION_NAME
#define CONFIG_KM_UBI_PARTITION_NAME "ubi0"
#endif
#ifndef CONFIG_KM_UBI_LINUX_MTD_NAME
#define CONFIG_KM_UBI_LINUX_MTD_NAME "ubi0"
#endif
#define xstr(s) str(s)
#define str(s) #s
/*
* bootargs
* - modify 'bootargs'
*
* - 'addip': add ip configuration
* - 'addpanic': add kernel panic options
* - 'addramfs': add phram device for the rootfilesysten in ram
* - 'addtty': add console=...
* - 'nfsargs': default arguments for nfs boot
* - 'flashargs': defaults arguments for flash base boot
*
* processor specific settings
* - 'addmtdparts': add mtd partition information
*/
#define CONFIG_KM_DEF_ENV_BOOTARGS \
"addinit=" \
"setenv bootargs ${bootargs} init=${init}\0" \
"addip=" \
"setenv bootargs ${bootargs} " \
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
":${hostname}:${netdev}:off\0" \
"addpanic=" \
"setenv bootargs ${bootargs} " \
"panic=1 panic_on_oops=1\0" \
"addramfs=" \
"setenv bootargs \"" \
"${bootargs} phram.phram=" \
"rootfs${actual_bank},${rootfsaddr},${rootfssize}\"\0" \
"addtty=" \
"setenv bootargs ${bootargs}" \
" console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}\0" \
"nfsargs=" \
"setenv bootargs " \
"ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " " \
"root=/dev/nfs rw " \
"nfsroot=${serverip}:${rootpath}\0" \
"flashargs=" \
"setenv bootargs " \
"ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " " \
"root=mtdblock:rootfs${actual_bank} " \
"rootfstype=squashfs ro\0" \
""
#define CONFIG_KM_DEF_ENV_COMPUTE_ADDR \
"setboardid=" \
"if test \"x${boardId}\" = \"x\"; then; " \
"setenv boardId ${IVM_BoardId} && " \
"setenv hwKey ${IVM_HWKey}; " \
"else; " \
"echo \\\\c; " \
"fi\0"
/*
* flash_boot
* - commands for booting from flash
*
* - 'cramfsaddr': address to the cramfs (in ram)
* - 'cramfsloadkernel': copy kernel from a cramfs to ram
* - 'ubiattach': attach ubi partition
* - 'ubicopy': copy ubi volume to ram
* - volume names: bootfs0, bootfs1, bootfs2, ...
* - 'ubiparition': mtd parition name for ubi
*
* processor specific settings
* - 'cramfsloadfdt': copy fdt from a cramfs to ram
*/
#define CONFIG_KM_DEF_ENV_FLASH_BOOT \
"cramfsaddr="xstr(CONFIG_KM_CRAMFS_ADDR) "\0" \
"cramfsloadkernel=" \
"cramfsload ${kernel_addr_r} uImage && " \
"setenv actual_kernel_addr ${kernel_addr_r}\0" \
"ubiattach=ubi part ${ubipartition}\0" \
"ubicopy=ubi read ${cramfsaddr} bootfs${actual_bank}\0" \
"ubipartition=" CONFIG_KM_UBI_PARTITION_NAME "\0" \
""
/*
* net_boot
* - commands for booting over the network
*
* - 'tftpkernel': load a kernel with tftp into ram
*
* processor specific settings
* - 'tftpfdt': load fdt with tftp into ram
*/
#define CONFIG_KM_DEF_ENV_NET_BOOT \
"tftpkernel=" \
"tftpboot ${kernel_addr_r} ${kernel_file} && " \
"setenv actual_kernel_addr ${kernel_addr_r} \0"
/*
* constants
* - KM specific constants and commands
*
* - 'default': setup default environment
*/
#define CONFIG_KM_DEF_ENV_CONSTANTS \
"actual=setenv actual_bank ${initial_boot_bank}\0" \
"actual0=setenv actual_bank 0\0" \
"actual_bank=${initial_boot_bank}\0" \
"default=" \
"setenv default 'run newenv; reset' && " \
"run release && saveenv; reset\0" \
"checkboardid=" \
"test \"x${boardId}\" = \"x${IVM_BoardId}\"\0" \
"printbootargs=print bootargs\0" \
"rootfsfile="xstr(CONFIG_HOSTNAME) "/rootfsImage\0" \
""
#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" \
"script_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 ${script_ws} ${new_esw_script}; " \
"iminfo ${script_ws}; source ${script_ws} \0" \
"bootlimit=0 \0" \
CONFIG_KM_DEF_ENV_IOMUX \
CONFIG_KM_DEF_ENV_PRIVATE \
CONFIG_KM_DEF_NETDEV \
CONFIG_KM_DEF_ENV_CPU \
CONFIG_KM_DEF_ENV_BOOTARGS \
CONFIG_KM_DEF_ENV_COMPUTE_ADDR \
CONFIG_KM_DEF_ENV_FLASH_BOOT \
CONFIG_KM_DEF_ENV_NET_BOOT \
"altbootcmd=run bootcmd\0" \
"bootcmd=run default\0" \
"bootlimit=2\0" \
"init=/sbin/init-overlay.sh\0" \
"kernel_addr_r="xstr(CONFIG_KM_KERNEL_ADDR) "\0" \
"kernel_file="xstr(CONFIG_HOSTNAME) "/uImage\0" \
"kernel_name=uImage\0" \
"load=tftpboot ${u-boot_addr_r} ${u-boot}\0" \
"mtdids=" MTDIDS_DEFAULT "\0" \
"mtdparts=" MTDPARTS_DEFAULT "\0" \
"u-boot="xstr(CONFIG_HOSTNAME) "/u-boot.bin\0" \
"u-boot_addr_r="xstr(CONFIG_KM_KERNEL_ADDR) "\0" \
""
#endif /* CONFIG_KM_DEF_ENV */

@ -0,0 +1,92 @@
/*
* (C) Copyright 2011
* Heiko Schocher, DENX Software Engineering, hs@denx.de.
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#ifndef __CONFIG_KEYMILE_POWERPC_H
#define __CONFIG_KEYMILE_POWERPC_H
#define CONFIG_BOOTCOUNT_LIMIT
#define CONFIG_CMD_DTT
#define CONFIG_JFFS2_CMDLINE
#define CONFIG_ENV_SIZE 0x04000 /* Size of Environment */
#define CONFIG_FLASH_CFI_MTD
#define CONFIG_SYS_MEMTEST_START 0x00100000 /* memtest works on */
#define CONFIG_SYS_MEMTEST_END 0x00f00000 /* 1 ... 15 MB in DRAM */
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
/******************************************************************************
* (PRAM usage)
* ... -------------------------------------------------------
* ... |ROOTFSSIZE | PNVRAM |PHRAM |RESERVED_PRAM | END_OF_RAM
* ... |<------------------- pram -------------------------->|
* ... -------------------------------------------------------
* @END_OF_RAM:
* @CONFIG_KM_RESERVED_PRAM: reserved pram for special purpose
* @CONFIG_KM_PHRAM: address for /var
* @CONFIG_KM_PNVRAM: address for PNVRAM (for the application)
* @CONFIG_KM_ROOTFSSIZE: address for rootfilesystem in RAM
*/
/* size of rootfs in RAM */
#define CONFIG_KM_ROOTFSSIZE 0x0
/* pseudo-non volatile RAM [hex] */
#define CONFIG_KM_PNVRAM 0x80000
/* physical RAM MTD size [hex] */
#define CONFIG_KM_PHRAM 0x100000
/* resereved pram area at the end of memroy [hex] */
#define CONFIG_KM_RESERVED_PRAM 0x0
/* enable protected RAM */
#define CONFIG_PRAM 0
#define CONFIG_KM_CRAMFS_ADDR 0x800000
#define CONFIG_KM_KERNEL_ADDR 0x400000 /* 3968Kbytes */
#define CONFIG_KM_FDT_ADDR 0x7E0000 /* 128Kbytes */
#define CONFIG_KM_DEF_ENV_CPU \
"addbootcount=echo \\\\c\0" \
"addmtdparts=echo \\\\c\0" \
"boot=bootm ${actual_kernel_addr} - ${actual_fdt_addr}\0" \
"cramfsloadfdt=" \
"cramfsload ${fdt_addr_r} " \
"fdt_0x${IVM_BoardId}_0x${IVM_HWKey}.dtb && " \
"setenv actual_fdt_addr ${fdt_addr_r}\0" \
"fdt_addr_r=" xstr(CONFIG_KM_FDT_ADDR) "\0" \
"fdt_file=" \
xstr(CONFIG_HOSTNAME) "/" \
xstr(CONFIG_HOSTNAME) ".dtb\0" \
"tftpfdt=" \
"tftpboot ${fdt_addr_r} ${fdt_file} && " \
"setenv actual_fdt_addr ${fdt_addr_r} \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" \
""
#endif /* __CONFIG_KEYMILE_POWERPC_H */

@ -48,8 +48,29 @@
/* include common defines/options for all Keymile boards */
#include "keymile-common.h"
#undef CONFIG_CMD_DTT
#undef CONFIG_BOOTCOUNT_LIMIT
#define CONFIG_ENV_SIZE (128 << 10) /* NAND chip block size */
#define CONFIG_SYS_MEMTEST_START 0x00400000 /* 4M */
#define CONFIG_SYS_MEMTEST_END 0x007fffff /*(_8M -1) */
#define CONFIG_SYS_LOAD_ADDR 0x00800000 /* default load adr- 8M */
/* pseudo-non volatile RAM [hex] */
#define CONFIG_KM_PNVRAM 0x80000
/* physical RAM MTD size [hex] */
#define CONFIG_KM_PHRAM 0x17F000
#define CONFIG_KM_CRAMFS_ADDR 0x2400000
#define CONFIG_KM_KERNEL_ADDR 0x2000000 /* 4096KBytes */
#define CONFIG_KM_DEF_ENV_CPU \
"addmtdparts=setenv bootargs ${bootargs} ${mtdparts}\0" \
"boot=bootm ${actual_kernel_addr} - -\0" \
"cramfsloadfdt=echo \\\\c\0" \
"tftpfdt=echo \\\\c\0" \
CONFIG_KM_DEF_ENV_UPDATE \
""
#define CONFIG_MD5 /* get_random_hex on krikwood needs MD5 support */
#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */

@ -29,16 +29,20 @@
#define CONFIG_HOSTNAME kmeter1
#define CONFIG_SYS_TEXT_BASE 0xF0000000
#define CONFIG_KM_DEF_NETDEV \
"netdev=eth2\0" \
/* include common defines/options for all Keymile boards */
#include "keymile-common.h"
#define CONFIG_KM_UBI_PARTITION_NAME "ubi0"
#include "km-powerpc.h"
#define MTDIDS_DEFAULT "nor0=boot"
#define MTDPARTS_DEFAULT \
"mtdparts=boot:768k(u-boot),128k(env),128k(envred)," \
"-(" CONFIG_KM_UBI_PARTITION_NAME ")"
#define MTDPARTS_DEFAULT "mtdparts=" \
"boot:" \
"768k(u-boot)," \
"128k(env)," \
"128k(envred)," \
"-(" CONFIG_KM_UBI_PARTITION_NAME ")"
#define CONFIG_MISC_INIT_R
/*
@ -455,7 +459,7 @@
#define BOOTFLASH_START F0000000
#define CONFIG_PRAM 512 /* protected RAM [KBytes] */
#define CONFIG_KM_CONSOLE_TTY "ttyS0"
/*
* Environment Configuration
@ -467,22 +471,14 @@
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_KM_DEF_ENV \
"dtt_bus=pca9547:70:a\0" \
"EEprom_ivm=pca9547:70:9\0" \
"newenv=" \
"prot off 0xF00C0000 +0x40000 && " \
"era 0xF00C0000 +0x40000\0" \
"rootpath=/opt/eldk/ppc_82xx\0" \
"addcon=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\
"ramdisk_file=/tftpboot/kmeter1/uRamdisk\0" \
"loadram=tftp ${ramdisk_addr_r} ${ramdisk_file}\0" \
"loadfdt=tftp ${fdt_addr_r} ${fdt_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" \
"mtdparts=" MK_STR(MTDPARTS_DEFAULT) "\0" \
""
""
#if defined(CONFIG_UEC_ETH)
#define CONFIG_HAS_ETH0

@ -37,6 +37,7 @@
/* include common defines/options for all Keymile boards */
#include "keymile-common.h"
#include "km-powerpc.h"
/*
* Select serial console configuration
@ -80,28 +81,28 @@
#define BOOTFLASH_START 0xFE000000
#define MTDIDS_DEFAULT "nor0=boot,nor1=app"
#define MTDPARTS_DEFAULT \
"mtdparts=boot:384k(u-boot),128k(env),128k(envred),3456k(free);" \
"app:3m(esw0),10m(rootfs0),3m(esw1),10m(rootfs1),1m(var),5m(cfg)"
#define CONFIG_KM_CONSOLE_TTY "ttyCPM0"
#define MTDIDS_DEFAULT "nor3=app"
#define MTDPARTS_DEFAULT "mtdparts=" \
"app:" \
"768k(u-boot)," \
"128k(env)," \
"128k(envred)," \
"3072k(free)," \
"-(" CONFIG_KM_UBI_PARTITION_NAME ")"
#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 \
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_KM_DEF_ENV \
"rootpath=/opt/eldk/ppc_82xx\0" \
"addcon=setenv bootargs ${bootargs} " \
"console=ttyCPM0,${baudrate}\0" \
"mtdids=nor0=boot,nor1=app \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" \
"unlock=yes\0" \
"newenv=" \
"prot off 0xFE0C0000 +0x40000 && " \
"era 0xFE0C0000 +0x40000\0" \
"rootpath=/opt/eldk/ppc_82xx\0" \
""
#define CONFIG_SYS_SDRAM_BASE 0x00000000

Loading…
Cancel
Save