summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/configs/km/keymile-common.h159
-rw-r--r--include/configs/km/km-powerpc.h12
-rw-r--r--include/configs/km/km_arm.h5
-rw-r--r--include/mmc.h10
4 files changed, 31 insertions, 155 deletions
diff --git a/include/configs/km/keymile-common.h b/include/configs/km/keymile-common.h
index e91f6c73d5..f89a2ea12f 100644
--- a/include/configs/km/keymile-common.h
+++ b/include/configs/km/keymile-common.h
@@ -169,13 +169,8 @@
"break=0; " \
"for subbootcmd in ${subbootcmds}; do " \
"if test ${break} -eq 0; then; " \
- "echo \"[INFO] running \\c\"; " \
"print ${subbootcmd}; " \
"run ${subbootcmd} || break=1; " \
- "if test ${break} -eq 1; then; " \
- "echo \"[ERR] failed \\c\"; " \
- "print ${subbootcmd}; " \
- "fi; " \
"fi; " \
"done\0" \
""
@@ -186,8 +181,6 @@
* - set 'bootcmd' and 'altbootcmd'
* available targets:
* - 'release': for a standalone system kernel/rootfs from flash
- * - 'develop': for development kernel(tftp)/rootfs(NFS)
- * - 'ramfs': rootfilesystem in RAM kernel(tftp)/rootfs(RAM)
*
* - 'commonargs': bootargs common to all targets
*/
@@ -201,50 +194,14 @@
"addmtdparts " \
"addbootcount " \
"\0" \
- "develop=" \
- "setenv subbootcmds \"" \
- "tftpfdt tftpkernel " \
- "nfsargs ${commonargs} " \
- "printbootargs boot " \
- "\" && " \
- "setenv bootcmd \'" \
- "run bootrunner" \
- "\' && " \
- "setenv altbootcmd \'" \
- "run bootcmd" \
- "\' && " \
- "run setboardid && " \
- "saveenv && " \
- "reset\0" \
- "ramfs=" \
- "setenv actual_bank -1 && " \
- "setenv subbootcmds \"" \
- "tftpfdt tftpkernel " \
- "setrootfsaddr tftpramfs " \
- "flashargs ${commonargs} " \
- "addpanic addramfs " \
- "printbootargs boot " \
- "\" && " \
- "setenv bootcmd \'" \
- "run bootrunner" \
- "\' && " \
- "setenv altbootcmd \'" \
- "run bootcmd" \
- "\' && " \
- "run setboardid && " \
- "run setramfspram && " \
- "saveenv && " \
- "reset\0" \
"release=" \
"setenv actual_bank ${initial_boot_bank} && " \
"setenv subbootcmds \"" \
- "checkboardidlist " \
"checkboardid " \
"ubiattach ubicopy " \
"cramfsloadfdt cramfsloadkernel " \
"flashargs ${commonargs} " \
- "addpanic " \
- "printbootargs boot " \
+ "addpanic boot " \
"\" && " \
"setenv bootcmd \'" \
"run actual bootrunner; reset" \
@@ -252,8 +209,12 @@
"setenv altbootcmd \'" \
"run backup bootrunner; reset" \
"\' && " \
- "saveenv && " \
+ "saveenv && saveenv && " \
"reset\0" \
+ "debug_env=" \
+ "tftp 200000 " CONFIG_KM_ARCH_DBG_FILE " && " \
+ "env import -t 200000 ${filesize} && " \
+ "run debug_env_common\0" \
""
/*
@@ -263,10 +224,8 @@
* - 'addip': add ip configuration
* - 'addmem': limit kernel memory mem=
* - 'addpanic': add kernel panic options
- * - 'addramfs': add phram device for the rootfilesysten in ram
* - 'addtty': add console=...
* - 'addvar': add phram device for /var
- * - 'nfsargs': default arguments for nfs boot
* - 'flashargs': defaults arguments for flash base boot
*
* processor specific settings
@@ -281,25 +240,15 @@
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
":${hostname}:${netdev}:off\0" \
"addmem=" \
- "setenv bootargs ${bootargs} mem=0x${pnvramaddr}\0" \
+ "setenv bootargs ${bootargs} mem=${pnvramaddr}\0" \
"addpanic=" \
- "setenv bootargs ${bootargs} " \
- "panic=1 panic_on_oops=1\0" \
- "addramfs=" \
- "setenv bootargs \"" \
- "${bootargs} phram.phram=" \
- "rootfs${boot_bank},${rootfsaddr},${rootfssize}\"\0" \
+ "setenv bootargs ${bootargs} panic=1 panic_on_oops=1\0" \
"addtty=" \
"setenv bootargs ${bootargs}" \
" console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}\0" \
"addvar=" \
"setenv bootargs ${bootargs} phram.phram=phvar," \
- "${varaddr},0x" xstr(CONFIG_KM_PHRAM) "\0" \
- "nfsargs=" \
- "setenv bootargs " \
- "ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " " \
- "root=/dev/nfs rw " \
- "nfsroot=${serverip}:${rootpath}\0" \
+ "${varaddr}," xstr(CONFIG_KM_PHRAM) "\0" \
"flashargs=" \
"setenv bootargs " \
"ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " " \
@@ -308,71 +257,25 @@
""
/*
- * compute_addr
- * - compute addresses and sizes
- * - addresses are calculated form the end of memory 'memsize'
- *
- * - 'setramfspram': compute PRAM size for ramfs target
- * - 'setrootfsaddr': compute rootfilesystem address for phram
- */
-#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" \
- "setramfspram=" \
- "setexpr value ${rootfssize} / 0x400 && " \
- "setexpr value 0x${value} + ${pram} && " \
- "setenv pram 0x${value}\0" \
- "setrootfsaddr=" \
- "setexpr value ${pnvramaddr} - ${rootfssize} && " \
- "setenv rootfsaddr 0x${value}\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" \
+ "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${boot_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
- * - 'tftpramfs': load rootfs 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" \
- "tftpramfs=" \
- "tftpboot ${rootfsaddr} \"\\\"${rootfsfile}\\\"\" && " \
- "setenv loadaddr\0" \
+ "ubiattach=ubi part " CONFIG_KM_UBI_PARTITION_NAME "\0" \
+ "ubicopy=ubi read "xstr(CONFIG_KM_CRAMFS_ADDR) \
+ " bootfs${boot_bank}\0" \
""
/*
@@ -389,36 +292,8 @@
"default=" \
"setenv default 'run newenv; reset' && " \
"run release && saveenv; reset\0" \
- "checkboardidlist=" \
- "if test \"x${boardIdListHex}\" != \"x\"; then " \
- "IVMbidhwk=${IVM_BoardId}_${IVM_HWKey}; " \
- "found=0; " \
- "for bidhwk in \"${boardIdListHex}\"; do " \
- "echo trying $bidhwk ...; " \
- "if test \"x$bidhwk\" = \"x$IVMbidhwk\"; then " \
- "found=1; " \
- "echo match found for $bidhwk; " \
- "if test \"x$bidhwk\" != \"x${boardId}_${hwKey}\";then "\
- "setenv boardid ${IVM_BoardId}; " \
- "setenv boardId ${IVM_BoardId}; " \
- "setenv hwkey ${IVM_HWKey}; " \
- "setenv hwKey ${IVM_HWKey}; " \
- "echo \"boardId set to ${boardId}\"; " \
- "echo \"hwKey set to ${hwKey}\"; " \
- "saveenv; " \
- "fi; " \
- "fi; " \
- "done; " \
- "else " \
- "echo \"boardIdListHex not set, not checked\"; "\
- "found=1; " \
- "fi; " \
- "test \"$found\" = 1 \0" \
- "checkboardid=" \
- "test \"x${boardId}\" = \"x${IVM_BoardId}\" && " \
- "test \"x${hwKey}\" = \"x${IVM_HWKey}\"\0" \
- "printbootargs=print bootargs\0" \
- "rootfsfile="xstr(CONFIG_HOSTNAME) "/rootfsImage\0" \
+ "checkboardid=km_checkbidhwk\0" \
+ "pnvramsize=" xstr(CONFIG_KM_PNVRAM) "\0" \
""
#ifndef CONFIG_KM_DEF_ENV
@@ -429,17 +304,13 @@
CONFIG_KM_DEF_ENV_BOOTRUNNER \
CONFIG_KM_DEF_ENV_BOOTTARGETS \
CONFIG_KM_DEF_ENV_BOOTARGS \
- CONFIG_KM_DEF_ENV_COMPUTE_ADDR \
CONFIG_KM_DEF_ENV_FLASH_BOOT \
- CONFIG_KM_DEF_ENV_NET_BOOT \
CONFIG_KM_DEF_ENV_CONSTANTS \
"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" \
diff --git a/include/configs/km/km-powerpc.h b/include/configs/km/km-powerpc.h
index 3351609980..d6db8d79f1 100644
--- a/include/configs/km/km-powerpc.h
+++ b/include/configs/km/km-powerpc.h
@@ -67,20 +67,14 @@
#define CONFIG_KM_FDT_ADDR 0x7E0000 /* 128Kbytes */
#define CONFIG_KM_DEF_ENV_CPU \
- "addbootcount=echo \\\\c\0" \
- "addmtdparts=echo \\\\c\0" \
+ "addbootcount=true\0" \
+ "addmtdparts=true\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} && " \
@@ -89,4 +83,6 @@
"protect on " xstr(BOOTFLASH_START) " +${filesize}\0" \
""
+#define CONFIG_KM_ARCH_DBG_FILE "scripts/debug-ppc-env.txt"
+
#endif /* __CONFIG_KEYMILE_POWERPC_H */
diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
index a38a07085e..aa9f1ae464 100644
--- a/include/configs/km/km_arm.h
+++ b/include/configs/km/km_arm.h
@@ -66,12 +66,11 @@
#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" \
+ "cramfsloadfdt=true\0" \
CONFIG_KM_DEF_ENV_UPDATE \
""
-
+#define CONFIG_KM_ARCH_DBG_FILE "scripts/debug-arm-env.txt"
#define CONFIG_MD5 /* get_random_hex on krikwood needs MD5 support */
#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
diff --git a/include/mmc.h b/include/mmc.h
index f7f2286981..aeacdee309 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -102,6 +102,7 @@
#define MMC_STATUS_MASK (~0x0206BF7F)
#define MMC_STATUS_RDY_FOR_DATA (1 << 8)
#define MMC_STATUS_CURR_STATE (0xf << 9)
+#define MMC_STATUS_ERROR (1 << 19)
#define MMC_VDD_165_195 0x00000080 /* VDD voltage 1.65 - 1.95 */
#define MMC_VDD_20_21 0x00000100 /* VDD voltage 2.0 ~ 2.1 */
@@ -137,6 +138,7 @@
* EXT_CSD fields
*/
+#define EXT_CSD_PART_CONF 179 /* R/W */
#define EXT_CSD_BUS_WIDTH 183 /* R/W */
#define EXT_CSD_HS_TIMING 185 /* R/W */
#define EXT_CSD_CARD_TYPE 196 /* RO */
@@ -178,6 +180,9 @@
#define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)
#define MMC_RSP_R7 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)
+#define MMCPART_NOAVAILABLE (0xff)
+#define PART_ACCESS_MASK (0x7)
+#define PART_SUPPORT (0x1)
struct mmc_cid {
unsigned long psn;
@@ -262,6 +267,7 @@ struct mmc {
void *priv;
uint voltages;
uint version;
+ uint has_init;
uint f_min;
uint f_max;
int high_capacity;
@@ -274,6 +280,8 @@ struct mmc {
uint csd[4];
uint cid[4];
ushort rca;
+ char part_config;
+ char part_num;
uint tran_speed;
uint read_bl_len;
uint write_bl_len;
@@ -294,7 +302,9 @@ void mmc_set_clock(struct mmc *mmc, uint clock);
struct mmc *find_mmc_device(int dev_num);
int mmc_set_dev(int dev_num);
void print_mmc_devices(char separator);
+int get_mmc_num(void);
int board_mmc_getcd(u8 *cd, struct mmc *mmc);
+int mmc_switch_part(int dev_num, unsigned int part_num);
#ifdef CONFIG_GENERIC_MMC
int atmel_mci_init(void *regs);