km/common: simplify debug environment

The debug environment which is stored in textfiles in the
scripts directory was reworked. Two usecase are now present
which can be executed simply from the default environment:
run develop: this configures the environment to setup the
             rootfs via nfs
run ramfs: this configures the environment to setup the
           rootfs in ram

Each architecture now has a "arch" variable which is used
to load the architecture specific debug scripts and to set
the rootpath for NFS.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Heiko Schocher <hs@denx.de>
cc: Wolfgang Denk <wd@denx.de>
This commit is contained in:
Holger Brunck 2011-07-04 21:52:52 +00:00 committed by Wolfgang Denk
parent 0333cfe618
commit b648bfc212
18 changed files with 70 additions and 47 deletions

View File

@ -1,23 +1,31 @@
debug-common-env.txt
============================
This file defines environment variables which are valid for powerpc boards
and for arm boards.
These scripts are needed for our development usecases. Copy this directory
into your tftp root directory to be able to use this scripts.
cp -r <u-boot-repo>/board/keymile/scripts <your_tftp_root>/
addramfs: add phram device for the rootfilesysten in ram
develop: for development, laod kernel via tftp and mount rootfs via NFS
nfsargs: default arguments for nfs boot
ramfs: load rootfilesystem in RAM kernel
rootfsfile: loacation of the rootfs file for ramfs
setramfspram: compute PRAM size for ramfs target
setrootfsaddr: compute rootfilesystem address for phram
tftpkernel: load a kernel with tftp into ram
tftpramfs: load rootfs with tftp into ram
To load and configure these usecase, two environment variables in the u-boot
default environment must be parsed:
run develop : setup environment to configure for rootfs via nfs
run ramfs : setup environment to configure for rootfs in ram
debug-ppc-env.txt
============================
fdt_file: location of the dtb file on the tftp server
tftpfdt: load dtb file and set fdt address
Last change: 20.05.2011
debug-arm-env.txt
develop-common.txt
============================
tftpfdt: for arm only a dummy variable, because we have no fdt on arm
This file defines variables for working with rootfs via nfs for powerpc and
arm.
develop-<arch>.txt
============================
This file defines architecture specific variables for working with rootfs via
nfs arm.
ramfs-common.txt
============================
This file defines variables for working with rootfs inside the ram for powerpc
and arm.
ramfs-<arch>.txt
============================
This file defines architecture specific variables for working with rootfs inside
ram.

View File

@ -1,2 +0,0 @@
debug_env_common=tftpboot 0x200000 scripts/debug-common-env.txt && env import -t 0x200000 ${filesize}
tftpfdt=true

View File

@ -1,9 +0,0 @@
addramfs=setenv bootargs "${bootargs} phram.phram=rootfs${boot_bank},${rootfsaddr},${rootfssize}"
develop=setenv subbootcmds "tftpfdt tftpkernel nfsargs ${commonargs} boot " && setenv bootcmd 'run bootrunner' && setenv altbootcmd 'run bootcmd' && km_setboardid && saveenv && reset
nfsargs=setenv bootargs ubi.mtd=ubi0 root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
ramfs=setenv actual_bank -1 && setenv subbootcmds "tftpfdt tftpkernel setrootfsaddr tftpramfs flashargs ${commonargs} addpanic addramfs boot " && setenv bootcmd 'run bootrunner' && setenv altbootcmd 'run bootcmd' && run setboardid && run setramfspram && run setpnvramaddr && saveenv && reset
rootfsfile=${hostname}/rootfsImage
setramfspram=setexpr value 0 + ${reservedpram} && setexpr value 0x${value} + ${rootfssize} && setexpr value 0x${value} + ${varsize} && setexpr value 0x${value} + ${pnvramsize} && setexpr value 0x${value} / 0x400 && setenv pram 0x${value}
tftpkernel=tftpboot ${kernel_addr_r} ${hostname}/uImage && setenv actual_kernel_addr ${kernel_addr_r}
tftpramfs=tftpboot ${rootfsaddr} ${hostname}/rootfsImage && setenv loadaddr
setrootfsaddr=setexpr value ${pnvramsize} - ${rootfssize} && setenv rootfsaddr 0x${value}

View File

@ -1,2 +0,0 @@
debug_env_common=tftpboot 0x200000 scripts/debug-common-env.txt && env import -t 0x200000 ${filesize}
tftpfdt=tftpboot ${fdt_addr_r} ${hostname}/${hostname}.dtb && setenv actual_fdt_addr ${fdt_addr_r}

View File

@ -0,0 +1,2 @@
setup_debug_env=tftpboot 0x200000 scripts/develop-common.txt && env import -t 0x200000 ${filesize} && run configure
tftpfdt=true

View File

@ -0,0 +1,6 @@
altbootcmd=run ${subbootcmds}
bootcmd=run ${subbootcmds}
configure=km_setboardid && saveenv && reset
subbootcmds=tftpfdt tftpkernel nfsargs add_default boot
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:/opt/eldk/${arch}
tftpkernel=tftpboot ${load_addr_r} ${hostname}/uImage

View File

@ -0,0 +1,2 @@
setup_debug_env=tftpboot 0x200000 scripts/develop-common.txt && env import -t 0x200000 ${filesize} && run configure
tftpfdt=tftpboot ${fdt_addr_r} ${hostname}/${hostname}.dtb

View File

@ -0,0 +1,2 @@
setup_debug_env=tftpboot 0x200000 scripts/develop-common.txt && env import -t 0x200000 ${filesize} && run configure
tftpfdt=tftpboot ${fdt_addr_r} ${hostname}/${hostname}.dtb

View File

@ -0,0 +1,2 @@
setup_debug_env=tftpboot 0x200000 scripts/ramfs-common.txt && env import -t 0x200000 ${filesize} && run configure
tftpfdt=true

View File

@ -0,0 +1,12 @@
addramfs=setenv bootargs "${bootargs} mem=${rootfsaddr} phram.phram=rootfs${boot_bank},${rootfsaddr},${rootfssize}"
actual_bank=-1
altbootcmd=run ${subbootcmds}
bootcmd=run ${subbootcmds}
subbootcmds=tftpfdt tftpkernel setrootfsaddr tftpramfs flashargs add_default addpanic addramfs boot
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
configure=km_setboardid && run setramfspram && saveenv && reset
setramfspram=setexpr value 0 + ${rootfssize} && setexpr value 0x${value} / 0x400 && setexpr value 0x${value} + ${pram} && setenv pram 0x${value}
rootfsfile=${hostname}/rootfsImage
setrootfsaddr=setexpr value ${pnvramaddr} - ${rootfssize} && setenv rootfsaddr 0x${value}
tftpkernel=tftpboot ${load_addr_r} ${hostname}/uImage
tftpramfs=tftpboot ${rootfsaddr} ${hostname}/rootfsImage

View File

@ -0,0 +1,2 @@
setup_debug_env=tftpboot 0x200000 scripts/ramfs-common.txt && env import -t 0x200000 ${filesize} && run configure
tftpfdt=tftpboot ${fdt_addr_r} ${hostname}/${hostname}.dtb

View File

@ -0,0 +1,2 @@
setup_debug_env=tftpboot 0x200000 scripts/ramfs-common.txt && env import -t 0x200000 ${filesize} && run configure
tftpfdt=tftpboot ${fdt_addr_r} ${hostname}/${hostname}.dtb

View File

@ -159,10 +159,14 @@
#define CONFIG_KM_DEF_ENV_BOOTTARGETS \
"subbootcmds=ubiattach ubicopy cramfsloadfdt cramfsloadkernel " \
"flashargs add_default addpanic boot\0" \
"debug_env=" \
"tftp 200000 " CONFIG_KM_ARCH_DBG_FILE " && " \
"develop=" \
"tftp 200000 scripts/develop-${arch}.txt && " \
"env import -t 200000 ${filesize} && " \
"run debug_env_common\0" \
"run setup_debug_env\0" \
"ramfs=" \
"tftp 200000 scripts/ramfs-${arch}.txt && " \
"env import -t 200000 ${filesize} && " \
"run setup_debug_env\0" \
""
/*

View File

@ -83,6 +83,4 @@
"protect on " xstr(BOOTFLASH_START) " +${filesize}\0" \
""
#define CONFIG_KM_ARCH_DBG_FILE "scripts/debug-ppc-env.txt"
#endif /* __CONFIG_KEYMILE_POWERPC_H */

View File

@ -87,7 +87,7 @@
"newenv=" \
"prot off 0xFE0C0000 +0x40000 && " \
"era 0xFE0C0000 +0x40000\0" \
"rootpath=/opt/eldk/ppc_82xx\0" \
"arch=ppc_82xx\0" \
""
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE

View File

@ -33,8 +33,7 @@
#define CONFIG_MPC832x /* MPC832x CPU specific */
#define CONFIG_KM8321 /* Keymile PBEC8321 board specific */
#define CONFIG_KM_DEF_ROOTPATH \
"rootpath=/opt/eldk/ppc_8xx\0"
#define CONFIG_KM_DEF_ARCH "arch=ppc_8xx\0"
/* include common defines/options for all 83xx Keymile boards */
#include "km83xx-common.h"

View File

@ -302,14 +302,13 @@
#define CONFIG_KM_DEF_ENV "km-common=empty\0"
#endif
#ifndef CONFIG_KM_DEF_ROOTPATH
#define CONFIG_KM_DEF_ROOTPATH \
"rootpath=/opt/eldk/ppc_82xx\0"
#ifndef CONFIG_KM_DEF_ARCH
#define CONFIG_KM_DEF_ARCH "arch=ppc_82xx\0"
#endif
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_KM_DEF_ENV \
CONFIG_KM_DEF_ROOTPATH \
CONFIG_KM_DEF_ARCH \
"dtt_bus=pca9547:70:a\0" \
"EEprom_ivm=pca9547:70:9\0" \
"newenv=" \

View File

@ -77,8 +77,6 @@
CONFIG_KM_DEF_ENV_UPDATE \
""
#define CONFIG_KM_ARCH_DBG_FILE "scripts/debug-arm-env.txt"
#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
#define CONFIG_MISC_INIT_R
@ -243,7 +241,7 @@ int get_scl(void);
" ${addr} " xstr(CONFIG_ENV_OFFSET) " 4 && " \
"eeprom write " xstr(CONFIG_SYS_DEF_EEPROM_ADDR) \
" ${addr} " xstr(CONFIG_ENV_OFFSET_REDUND) " 4\0" \
"rootpath=/opt/eldk/arm\0" \
"arch=arm\0" \
"EEprom_ivm=" KM_IVM_BUS "\0" \
""