diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/configs/km/keymile-common.h | 159 | ||||
-rw-r--r-- | include/configs/km/km-powerpc.h | 12 | ||||
-rw-r--r-- | include/configs/km/km_arm.h | 5 | ||||
-rw-r--r-- | include/mmc.h | 10 |
4 files changed, 31 insertions, 155 deletions
diff --git a/include/configs/km/keymile-common.h b/include/configs/km/keymile-common.h index e91f6c7..f89a2ea 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 3351609..d6db8d7 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 a38a070..aa9f1ae 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 f7f2286..aeacdee 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); |