summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2014-12-10 14:37:20 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2014-12-10 17:06:31 +0100
commitcb77d7ba0a2eeedbe13e20996b9e20298a096a35 (patch)
tree677c73c9c051a42032d0468d0ca85e7b5614d519
parentb16a9ad7bd7ac6e5f3293c003b96d15fb2504a92 (diff)
colibri-imx6: add board_rev to the U-Boot environment
Unify code with Apalis iMX6 while not changing behaviour Add board_rev to the U-Boot environment. On V1.0A HW: 010a Add CONFIG_ENV_VARS_UBOOT_CONFIG
-rw-r--r--board/toradex/colibri_imx6/colibri_imx6.c35
-rw-r--r--include/configs/colibri_imx6.h6
2 files changed, 30 insertions, 11 deletions
diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c
index ea342a63a7..4c567e8c48 100644
--- a/board/toradex/colibri_imx6/colibri_imx6.c
+++ b/board/toradex/colibri_imx6/colibri_imx6.c
@@ -35,6 +35,8 @@
DECLARE_GLOBAL_DATA_PTR;
+static u32 get_board_rev_local(void);
+
#if defined(CONFIG_BOARD_LATE_INIT) && (defined(CONFIG_TRDX_CFG_BLOCK) || \
defined(CONFIG_SERIAL_TAG))
/* buffer suitable for DMA */
@@ -180,13 +182,12 @@ iomux_v3_cfg_t const usb_pads[] = {
*/
#define UFCR 0x90 /* FIFO Control Register */
#define UFCR_DCEDTE (1<<6) /* DCE=0 */
-#define SET_DCEDTE(p) (writel( (readl((u32 *) (p)) | UFCR_DCEDTE), (u32 *) (p)))
static void setup_dtemode_uart(void)
{
- SET_DCEDTE(UART1_BASE + UFCR);
- SET_DCEDTE(UART2_BASE + UFCR);
- SET_DCEDTE(UART3_BASE + UFCR);
+ setbits_le32((u32 *)(UART1_BASE + UFCR), UFCR_DCEDTE);
+ setbits_le32((u32 *)(UART2_BASE + UFCR), UFCR_DCEDTE);
+ setbits_le32((u32 *)(UART3_BASE + UFCR), UFCR_DCEDTE);
}
static void setup_iomux_uart(void)
@@ -617,6 +618,7 @@ int board_late_init(void)
char env_str[256];
int i;
+ u32 rev;
unsigned size = 0;
char *addr_str, *end;
@@ -676,15 +678,19 @@ int board_late_init(void)
}
}
#endif /* CONFIG_TRDX_CFG_BLOCK */
+
+ rev = get_board_rev_local();
+
+#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
+ snprintf(env_str, ARRAY_SIZE(env_str), "%.4x", rev);
+ setenv("board_rev", env_str);
+#endif
+
return 0;
}
#endif /* CONFIG_BOARD_LATE_INIT */
-/* i.MX6 uses the 'standard' board revision for things, i.e.
- video decoding no longer works.
- so don't interfere with the Apalis iMX6 HW Revision */
-#ifdef CONFIG_REVISION_TAG
-u32 get_board_rev(void)
+u32 get_board_rev_local(void)
{
#ifdef CONFIG_BOARD_LATE_INIT
int i;
@@ -716,7 +722,18 @@ u32 get_board_rev(void)
return 0;
#endif /* CONFIG_BOARD_LATE_INIT */
}
+
+/* i.MX6 Kernel/Userspace 3.0.35 uses the 'standard' board revision for
+ things, i.e. video decoding no longer works,
+ so don't interfere with the Apalis iMX6 HW Revision */
+#if 0
+#ifdef CONFIG_REVISION_TAG
+u32 get_board_rev(void)
+{
+ return get_board_rev_local();
+}
#endif /* CONFIG_REVISION_TAG */
+#endif
#ifdef CONFIG_SERIAL_TAG
void get_board_serial(struct tag_serialnr *serialnr)
diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
index a941ed46f3..e25145ec97 100644
--- a/include/configs/colibri_imx6.h
+++ b/include/configs/colibri_imx6.h
@@ -43,6 +43,7 @@
/* Make the HW version stuff available in u-boot env */
#define CONFIG_VERSION_VARIABLE /* ver environment variable */
+#define CONFIG_ENV_VARS_UBOOT_CONFIG
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
/* I2C Configs */
@@ -190,6 +191,7 @@
"sddtbload=setenv dtbparam; fatload mmc 1:1 ${fdt_addr_r} " \
"${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
+#define FDT_FILE "imx6dl-colibri-eval-v3.dtb"
#define CONFIG_EXTRA_ENV_SETTINGS \
"bootcmd=run emmcboot ; echo ; echo emmcboot failed ; " \
"run nfsboot ; echo ; echo nfsboot failed ; " \
@@ -199,7 +201,7 @@
"console=ttymxc0\0" \
"defargs=enable_wait_mode=off galcore.contiguousSize=50331648\0" \
EMMC_BOOTCMD \
- "fdt_file=imx6dl-colibri-eval-v3.dtb\0" \
+ "fdt_file=" FDT_FILE "\0" \
MEM_LAYOUT_ENV_SETTINGS \
NFS_BOOTCMD \
SD_BOOTCMD \
@@ -229,6 +231,7 @@
#define CONFIG_SYS_MAXARGS 32
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
+#define CONFIG_SYS_ALT_MEMTEST
#define CONFIG_CMD_MEMTEST
#define CONFIG_SYS_MEMTEST_START 0x10000000
#define CONFIG_SYS_MEMTEST_END 0x10010000
@@ -277,7 +280,6 @@
#define CONFIG_CMD_BMP
#define CONFIG_CMD_TIME
-#define CONFIG_SYS_ALT_MEMTEST
#define CONFIG_CMD_BOOTZ
#define CONFIG_SUPPORT_RAW_INITRD