summaryrefslogtreecommitdiff
path: root/include/configs/siemens-am33x-common.h
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2015-06-16 14:59:34 +0200
committerTom Rini <trini@konsulko.com>2015-06-19 16:46:47 -0400
commit61159b76844437bf9004c3a38b5a4ff1a24860d5 (patch)
tree8c0e50ce0f93d328c724bd42839a8572e80465b9 /include/configs/siemens-am33x-common.h
parent8607c4f127d0f2a6d2572960821443563f4eca51 (diff)
downloadu-boot-61159b76844437bf9004c3a38b5a4ff1a24860d5.tar.gz
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 <samuel.egli@siemens.com> Acked-by: Heiko Schocher <hs@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'include/configs/siemens-am33x-common.h')
-rw-r--r--include/configs/siemens-am33x-common.h280
1 files changed, 200 insertions, 80 deletions
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