From 61159b76844437bf9004c3a38b5a4ff1a24860d5 Mon Sep 17 00:00:00 2001 From: Heiko Schocher Date: Tue, 16 Jun 2015 14:59:34 +0200 Subject: arm, am33xx: update for siemens am335x based boards updates for the siemens am335x based boards: - draco: add delay for DDR3 configuration - change MTD partition layout and add a possibility to redefine MTD layout in board header. - move ubi support to common header file - draco: improve dtb naming - draco: set CONFIG_SYS_CBSIZE to 1024 - add generic env based led Leds can now be defined in Environment - add generic env based dfu button Which gpio is used for the dfu button can be defined through the Environment - set MACH_TYPE only if defined - draco: increase CPU freq to 300MHz - Add time command to siemens am33xx boards - DDR3: increase default tRFC - draco: enable pullup for DFU and ERST pin - change print format DDR3 Signed-off-by: Samuel Egli Acked-by: Heiko Schocher Reviewed-by: Tom Rini Signed-off-by: Heiko Schocher --- include/configs/siemens-am33x-common.h | 280 +++++++++++++++++++++++---------- 1 file changed, 200 insertions(+), 80 deletions(-) (limited to 'include/configs/siemens-am33x-common.h') diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h index b005c86c32..7b602b3daa 100644 --- a/include/configs/siemens-am33x-common.h +++ b/include/configs/siemens-am33x-common.h @@ -45,6 +45,7 @@ #define CONFIG_CMD_ASKENV #define CONFIG_CMD_ECHO #define CONFIG_CMD_CACHE +#define CONFIG_CMD_TIME #define CONFIG_SYS_GENERIC_BOARD @@ -69,7 +70,7 @@ #define CONFIG_SYS_MAXARGS 32 /* Console I/O Buffer Size */ -#define CONFIG_SYS_CBSIZE 512 +#define CONFIG_SYS_CBSIZE 1024 /* Print Buffer Size */ #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE \ @@ -309,22 +310,87 @@ /* NAND support */ #ifdef CONFIG_NAND #define CONFIG_CMD_NAND + +/* UBI Support */ +#ifndef CONFIG_SPL_BUILD #define CONFIG_CMD_MTDPARTS +#define CONFIG_MTD_PARTITIONS +#define CONFIG_MTD_DEVICE +#define CONFIG_RBTREE +#define CONFIG_LZO +#define CONFIG_CMD_UBI +#define CONFIG_CMD_UBIFS +#endif + +/* Commen environment */ +#define CONFIG_PREBOOT +#define COMMON_ENV_DFU_ARGS "dfu_args=run bootargs_defaults;" \ + "setenv bootargs ${bootargs};" \ + "mtdparts default;" \ + "draco_led 1;" \ + "dfu 0 nand 0;" \ + "draco_led 0;\0" \ + +#define COMMON_ENV_NAND_BOOT \ + "nand_boot=echo Booting from nand; " \ + "if test ${upgrade_available} -eq 1; then " \ + "if test ${bootcount} -gt ${bootlimit}; " \ + "then " \ + "setenv upgrade_available 0;" \ + "setenv ${partitionset_active} true;" \ + "if test -n ${A}; then " \ + "setenv partitionset_active B; " \ + "env delete A; " \ + "fi;" \ + "if test -n ${B}; then " \ + "setenv partitionset_active A; " \ + "env delete B; " \ + "fi;" \ + "saveenv; " \ + "fi;" \ + "fi;" \ + "echo set ${partitionset_active}...;" \ + "run nand_args; " + +#define COMMON_ENV_NAND_CMDS "flash_self=run nand_boot\0" \ + "flash_self_test=setenv testargs test; " \ + "run nand_boot\0" \ + "dfu_start=echo Preparing for dfu mode ...; " \ + "run dfu_args; \0" + +#define COMMON_ENV_SETTINGS \ + "verify=no \0" \ + "project_dir=targetdir\0" \ + "upgrade_available=0\0" \ + "altbootcmd=run bootcmd\0" \ + "bootlimit=3\0" \ + "partitionset_active=A\0" \ + "loadaddr=0x82000000\0" \ + "kloadaddr=0x81000000\0" \ + "script_addr=0x81900000\0" \ + "console=console=ttyMTD,mtdoops console=ttyO0,115200n8 panic=5\0" \ + "nfsopts=nolock rw\0" \ + "ip_method=none\0" \ + "bootenv=uEnv.txt\0" \ + "bootargs_defaults=setenv bootargs " \ + "console=${console} " \ + "${testargs} " \ + "${optargs}\0" \ + "siemens_help=echo; "\ + "echo Type 'run flash_self' to use kernel and root " \ + "filesystem on memory; echo Type 'run flash_self_test' to " \ + "use kernel and root filesystem on memory, boot in test " \ + "mode; echo Not ready yet: 'run flash_nfs' to use kernel " \ + "from memory and root filesystem over NFS; echo Type " \ + "'run net_nfs' to get Kernel over TFTP and mount root " \ + "filesystem over NFS; " \ + "echo Set partitionset_active variable to 'A' " \ + "or 'B' to select kernel and rootfs partition; " \ + "echo" \ + "\0" -#define MTDIDS_NAME_STR "omap2-nand.0" -#define MTDIDS_DEFAULT "nand0=" MTDIDS_NAME_STR -#define MTDPARTS_DEFAULT "mtdparts=" MTDIDS_NAME_STR ":" \ - "128k(spl)," \ - "128k(spl.backup1)," \ - "128k(spl.backup2)," \ - "128k(spl.backup3)," \ - "1920k(u-boot)," \ - "128k(uboot.env)," \ - "5120k(kernel_a)," \ - "5120k(kernel_b)," \ - "8192k(mtdoops)," \ - "-(rootfs)" /* + * Variant 1 partition layout * chip-size = 256MiB *| name | size | address area | *------------------------------------------------------- @@ -340,8 +406,21 @@ *| rootfs | 235.500 MiB | 0x 1480000..0x fffffff | *------------------------------------------------------- */ +#define MTDIDS_NAME_STR "omap2-nand.0" +#define MTDIDS_DEFAULT "nand0=" MTDIDS_NAME_STR +#define MTDPARTS_DEFAULT_V1 "mtdparts=" MTDIDS_NAME_STR ":" \ + "128k(spl)," \ + "128k(spl.backup1)," \ + "128k(spl.backup2)," \ + "128k(spl.backup3)," \ + "1920k(u-boot)," \ + "128k(uboot.env)," \ + "5120k(kernel_a)," \ + "5120k(kernel_b)," \ + "8192k(mtdoops)," \ + "-(rootfs)" -#define DFU_ALT_INFO_NAND \ +#define DFU_ALT_INFO_NAND_V1 \ "spl part 0 1;" \ "spl.backup1 part 0 2;" \ "spl.backup2 part 0 3;" \ @@ -352,17 +431,7 @@ "kernel_b part 0 8;" \ "rootfs partubi 0 10" -#define CONFIG_COMMON_ENV_SETTINGS \ - "verify=no \0" \ - "project_dir=targetdir\0" \ - "upgrade_available=0\0" \ - "altbootcmd=run bootcmd\0" \ - "bootlimit=3\0" \ - "partitionset_active=A\0" \ - "loadaddr=0x82000000\0" \ - "kloadaddr=0x81000000\0" \ - "script_addr=0x81900000\0" \ - "console=console=ttyMTD,mtdoops console=ttyO0,115200n8 panic=5\0" \ +#define CONFIG_ENV_SETTINGS_NAND_V1 \ "nand_active_ubi_vol=rootfs_a\0" \ "nand_active_ubi_vol_A=rootfs_a\0" \ "nand_active_ubi_vol_B=rootfs_b\0" \ @@ -370,13 +439,6 @@ "nand_src_addr=0x280000\0" \ "nand_src_addr_A=0x280000\0" \ "nand_src_addr_B=0x780000\0" \ - "nfsopts=nolock rw mem=128M\0" \ - "ip_method=none\0" \ - "bootenv=uEnv.txt\0" \ - "bootargs_defaults=setenv bootargs " \ - "console=${console} " \ - "${testargs} " \ - "${optargs}\0" \ "nand_args=run bootargs_defaults;" \ "mtdparts default;" \ "setenv ${partitionset_active} true;" \ @@ -395,15 +457,15 @@ "rootfstype=${nand_root_fs_type} ip=${ip_method} " \ "console=ttyMTD,mtdoops console=ttyO0,115200n8 mtdoops.mtddev" \ "=mtdoops\0" \ - "dfu_args=run bootargs_defaults;" \ - "setenv bootargs ${bootargs} ;" \ - "mtdparts default; " \ - "led dfu 1;" \ - "led stat 0;" \ - "dfu 0 nand 0;" \ - "led dfu 0;" \ - "led stat 1;\0" \ - "dfu_alt_info=" DFU_ALT_INFO_NAND "\0" \ + COMMON_ENV_DFU_ARGS \ + "dfu_alt_info=" DFU_ALT_INFO_NAND_V1 "\0" \ + COMMON_ENV_NAND_BOOT \ + "nand read.i ${kloadaddr} ${nand_src_addr} " \ + "${nand_img_size}; bootm ${kloadaddr}\0" \ + COMMON_ENV_NAND_CMDS + +#define CONFIG_ENV_SETTINGS_V1 \ + COMMON_ENV_SETTINGS \ "net_args=run bootargs_defaults;" \ "mtdparts default;" \ "setenv bootfile ${project_dir}/kernel/uImage;" \ @@ -413,48 +475,103 @@ "nfsroot=${serverip}:${rootpath},${nfsopts} " \ "ip=${ipaddr}:${serverip}:" \ "${gatewayip}:${netmask}:${hostname}:eth0:off\0" \ - "nand_boot=echo Booting from nand; " \ - "if test ${upgrade_available} -eq 1; then " \ - "if test ${bootcount} -gt ${bootlimit}; " \ - "then " \ - "setenv upgrade_available 0;" \ - "setenv ${partitionset_active} true;" \ - "if test -n ${A}; then " \ - "setenv partitionset_active B; " \ - "env delete A; " \ - "fi;" \ - "if test -n ${B}; then " \ - "setenv partitionset_active A; " \ - "env delete B; " \ - "fi;" \ - "saveenv; " \ - "fi;" \ + "net_nfs=echo Booting from network ...; " \ + "run net_args; " \ + "tftpboot ${kloadaddr} ${serverip}:${bootfile}; " \ + "bootm ${kloadaddr}\0" + +/* + * Variant 2 partition layout + * chip-size = 256MiB + *| name | size | address area | + *------------------------------------------------------- + *| spl | 128.000 KiB | 0x 0..0x 1ffff | + *| spl.backup1 | 128.000 KiB | 0x 20000..0x 3ffff | + *| spl.backup2 | 128.000 KiB | 0x 40000..0x 5ffff | + *| spl.backup3 | 128.000 KiB | 0x 60000..0x 7ffff | + *| u-boot | 1.875 MiB | 0x 80000..0x 25ffff | + *| uboot.env0 | 512.000 KiB | 0x 260000..0x 2Dffff | + *| uboot.env1 | 512.000 KiB | 0x 2E0000..0x 35ffff | + *| rootfs | 148.000 MiB | 0x 360000..0x 975ffff | + *| mtdoops | 512.000 KiB | 0x 9760000..0x 98Dffff | + *|configuration | 104.125 MiB | 0x 97E0000..0x fffffff | + *------------------------------------------------------- + */ + +#define MTDPARTS_DEFAULT_V2 "mtdparts=" MTDIDS_NAME_STR ":" \ + "128k(spl)," \ + "128k(spl.backup1)," \ + "128k(spl.backup2)," \ + "128k(spl.backup3)," \ + "1920k(u-boot)," \ + "512k(u-boot.env0)," \ + "512k(u-boot.env1)," \ + "148m(rootfs)," \ + "512k(mtdoops)," \ + "-(configuration)" + +#define DFU_ALT_INFO_NAND_V2 \ + "spl part 0 1;" \ + "spl.backup1 part 0 2;" \ + "spl.backup2 part 0 3;" \ + "spl.backup3 part 0 4;" \ + "u-boot part 0 5;" \ + "u-boot.env0 part 0 6;" \ + "u-boot.env1 part 0 7;" \ + "rootfs partubi 0 8;" \ + "configuration partubi 0 10" + +#define CONFIG_ENV_SETTINGS_NAND_V2 \ + "nand_active_ubi_vol=rootfs_a\0" \ + "rootfs_name=rootfs\0" \ + "kernel_name=uImage\0"\ + "nand_root_fs_type=ubifs rootwait=1\0" \ + "nand_args=run bootargs_defaults;" \ + "mtdparts default;" \ + "setenv ${partitionset_active} true;" \ + "if test -n ${A}; then " \ + "setenv nand_active_ubi_vol ${rootfs_name}_a;" \ "fi;" \ - "echo set ${partitionset_active}...;" \ - "run nand_args; " \ - "nand read.i ${kloadaddr} ${nand_src_addr} " \ - "${nand_img_size}; bootm ${kloadaddr}\0" \ + "if test -n ${B}; then " \ + "setenv nand_active_ubi_vol ${rootfs_name}_b;" \ + "fi;" \ + "setenv nand_root ubi0:${nand_active_ubi_vol} rw " \ + "ubi.mtd=7,2048 ubi.mtd=9,2048;" \ + "setenv bootargs ${bootargs} " \ + "root=${nand_root} noinitrd ${mtdparts} " \ + "rootfstype=${nand_root_fs_type} ip=${ip_method} " \ + "console=ttyMTD,mtdoops console=ttyO0,115200n8 mtdoops.mtddev" \ + "=mtdoops\0" \ + COMMON_ENV_DFU_ARGS \ + "dfu_alt_info=" DFU_ALT_INFO_NAND_V2 "\0" \ + COMMON_ENV_NAND_BOOT \ + "ubi part rootfs 2048;" \ + "ubifsmount ubi0:${nand_active_ubi_vol};" \ + "ubifsload ${kloadaddr} boot/${kernel_name};" \ + "ubifsload ${loadaddr} boot/${dtb_name}.dtb;" \ + "bootm ${kloadaddr} - ${loadaddr}\0" \ + "nand_boot_backup=ubifsload ${loadaddr} boot/am335x-draco.dtb;" \ + "bootm ${kloadaddr} - ${loadaddr}\0" \ + COMMON_ENV_NAND_CMDS + +#define CONFIG_ENV_SETTINGS_V2 \ + COMMON_ENV_SETTINGS \ + "net_args=run bootargs_defaults;" \ + "mtdparts default;" \ + "setenv bootfile ${project_dir}/kernel/uImage;" \ + "setenv bootdtb ${project_dir}/kernel/dtb;" \ + "setenv rootpath /home/projects/${project_dir}/rootfs;" \ + "setenv bootargs ${bootargs} " \ + "root=/dev/nfs ${mtdparts} " \ + "nfsroot=${serverip}:${rootpath},${nfsopts} " \ + "ip=${ipaddr}:${serverip}:" \ + "${gatewayip}:${netmask}:${hostname}:eth0:off\0" \ "net_nfs=echo Booting from network ...; " \ "run net_args; " \ "tftpboot ${kloadaddr} ${serverip}:${bootfile}; " \ - "bootm ${kloadaddr}\0" \ - "flash_self=run nand_boot\0" \ - "flash_self_test=setenv testargs test; " \ - "run nand_boot\0" \ - "dfu_start=echo Preparing for dfu mode ...; " \ - "run dfu_args; \0" \ - "preboot=echo; "\ - "echo Type 'run flash_self' to use kernel and root " \ - "filesystem on memory; echo Type 'run flash_self_test' to " \ - "use kernel and root filesystem on memory, boot in test " \ - "mode; echo Not ready yet: 'run flash_nfs' to use kernel " \ - "from memory and root filesystem over NFS; echo Type " \ - "'run net_nfs' to get Kernel over TFTP and mount root " \ - "filesystem over NFS; " \ - "echo Set partitionset_active variable to 'A' " \ - "or 'B' to select kernel and rootfs partition; " \ - "echo" \ - "\0" + "tftpboot ${loadaddr} ${serverip}:${bootdtb}; " \ + "bootm ${kloadaddr} - ${loadaddr}\0" + #define CONFIG_NAND_OMAP_GPMC #define CONFIG_NAND_OMAP_ELM @@ -473,6 +590,9 @@ #define CONFIG_OMAP_GPIO +/* Gpio cmd support */ +#define CONFIG_CMD_GPIO + /* Watchdog */ #define CONFIG_HW_WATCHDOG -- cgit v1.2.1