summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Gutierrez <juan.gutierrez@nxp.com>2016-11-24 16:21:02 -0600
committerJuan Gutierrez <juan.gutierrez@nxp.com>2017-01-31 14:59:50 -0600
commit28604f814eba12903053c46fd64672387c4c3afa (patch)
tree9574e8ef3802af107067bb71c934dc38bc617e66
parent91a556a4d8baccf6903f9789d6b12f96214da6ae (diff)
downloadu-boot-imx-28604f814eba12903053c46fd64672387c4c3afa.zip
u-boot-imx-28604f814eba12903053c46fd64672387c4c3afa.tar.gz
u-boot-imx-28604f814eba12903053c46fd64672387c4c3afa.tar.bz2
MXSCM-237 mx6dqscm: qwks: add support for qwks rev3
Support for the i.MX SX SCM QWKS rev3. The new revision has support for ov5642 camera, bluetooth and wifi support. Providing configuration files for: - Regular 1gb board - spinor Signed-off-by: Juan Gutierrez <juan.gutierrez@nxp.com>
-rw-r--r--board/freescale/mx6dqscm/mx6dqscm.c23
-rw-r--r--configs/mx6dqscm_1gb_fix_qwks_rev3_defconfig5
-rw-r--r--configs/mx6dqscm_1gb_fix_qwks_rev3_spinor_defconfig5
3 files changed, 32 insertions, 1 deletions
diff --git a/board/freescale/mx6dqscm/mx6dqscm.c b/board/freescale/mx6dqscm/mx6dqscm.c
index 9a73a6a..53be7c3 100644
--- a/board/freescale/mx6dqscm/mx6dqscm.c
+++ b/board/freescale/mx6dqscm/mx6dqscm.c
@@ -116,7 +116,11 @@ static iomux_v3_cfg_t const enet_pads[] = {
MX6_PAD_RGMII_TD2__RGMII_TD2 | MUX_PAD_CTRL(ENET_PAD_CTRL),
MX6_PAD_RGMII_TD3__RGMII_TD3 | MUX_PAD_CTRL(ENET_PAD_CTRL),
MX6_PAD_RGMII_TX_CTL__RGMII_TX_CTL | MUX_PAD_CTRL(ENET_PAD_CTRL),
+#ifdef CONFIG_QWKS_REV3
+ MX6_PAD_GPIO_16__ENET_REF_CLK | MUX_PAD_CTRL(ENET_PAD_CTRL),
+#else
MX6_PAD_ENET_REF_CLK__ENET_TX_CLK | MUX_PAD_CTRL(ENET_PAD_CTRL),
+#endif
MX6_PAD_RGMII_RXC__RGMII_RXC | MUX_PAD_CTRL(ENET_PAD_CTRL),
MX6_PAD_RGMII_RD0__RGMII_RD0 | MUX_PAD_CTRL(ENET_PAD_CTRL),
MX6_PAD_RGMII_RD1__RGMII_RD1 | MUX_PAD_CTRL(ENET_PAD_CTRL),
@@ -163,7 +167,9 @@ static iomux_v3_cfg_t const usdhc3_pads[] = {
MX6_PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
MX6_PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
MX6_PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
- MX6_PAD_SD3_DAT4__SD3_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
+#ifndef CONFIG_QWKS_REV3
+ MX6_PAD_SD3_DAT4__GPIO7_IO01 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
+#endif
MX6_PAD_SD3_DAT5__SD3_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
MX6_PAD_SD3_DAT6__SD3_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
MX6_PAD_SD3_DAT7__SD3_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL),
@@ -292,7 +298,11 @@ struct fsl_esdhc_cfg usdhc_cfg[3] = {
#define USDHC2_CD_GPIO IMX_GPIO_NR(1, 4)
#endif
+#ifdef CONFIG_QWKS_REV3
+#define USDHC3_CD_GPIO IMX_GPIO_NR(7, 1)
+#else
#define USDHC3_CD_GPIO IMX_GPIO_NR(2, 0)
+#endif
int board_mmc_get_env_dev(int devno)
{
@@ -610,7 +620,12 @@ int board_eth_init(bd_t *bis)
#define UCTRL_PWR_POL (1 << 9)
static iomux_v3_cfg_t const usb_otg_pads[] = {
+#ifdef CONFIG_QWKS_REV3
+ MX6_PAD_KEY_ROW4__USB_OTG_PWR | MUX_PAD_CTRL(NO_PAD_CTRL),
+ MX6_PAD_KEY_COL4__USB_OTG_OC | MUX_PAD_CTRL(NO_PAD_CTRL),
+#else
MX6_PAD_EIM_D22__USB_OTG_PWR | MUX_PAD_CTRL(NO_PAD_CTRL),
+#endif
#ifdef CONFIG_SCMEVB
MX6_PAD_ENET_RX_ER__USB_OTG_ID | MUX_PAD_CTRL(OTG_ID_PAD_CTRL),
#else
@@ -757,7 +772,11 @@ int power_init_board(void)
/* set VGEN5 to 3.3V */
pmic_reg_read(pfuze, PFUZE100_VGEN5VOL, &reg);
reg &= ~0x0f;
+#ifdef CONFIG_QWKS_REV3
+ reg |= 0x07;
+#else
reg |= 0x0f;
+#endif
pmic_reg_write(pfuze, PFUZE100_VGEN5VOL, reg);
/* set VGEN6 to 3.2V */
@@ -897,6 +916,8 @@ int checkboard(void)
puts("Board: MX6DQSCM-HVB\n");
#elif CONFIG_SCMEVB
puts("Board: MX6DQSCM-EVB\n");
+#elif CONFIG_QWKS_REV3
+ puts("Board: MX6DQSCM-QWKS-REV3\n");
#else
puts("Board: MX6DQSCM-QWKS\n");
#endif
diff --git a/configs/mx6dqscm_1gb_fix_qwks_rev3_defconfig b/configs/mx6dqscm_1gb_fix_qwks_rev3_defconfig
new file mode 100644
index 0000000..a9d208c
--- /dev/null
+++ b/configs/mx6dqscm_1gb_fix_qwks_rev3_defconfig
@@ -0,0 +1,5 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_TARGET_MX6DQSCM=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6dqscm/imximage_scm_lpddr2.cfg,MX6Q,DDR_MB=1024,SYS_USE_SPINOR,QWKS_REV3,DEFAULT_FDT_FILE=\"imx6dqscm-1gb-qwks-rev3-fix-ldo.dtb\""
+CONFIG_CMD_GPIO=y
diff --git a/configs/mx6dqscm_1gb_fix_qwks_rev3_spinor_defconfig b/configs/mx6dqscm_1gb_fix_qwks_rev3_spinor_defconfig
new file mode 100644
index 0000000..67866ca
--- /dev/null
+++ b/configs/mx6dqscm_1gb_fix_qwks_rev3_spinor_defconfig
@@ -0,0 +1,5 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_TARGET_MX6DQSCM=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6dqscm/imximage_scm_lpddr2.cfg,MX6Q,DDR_MB=1024,QWKS_REV3,SYS_BOOT_SPINOR,DEFAULT_FDT_FILE=\"imx6dqscm-1gb-qwks-rev3-fix-ldo.dtb\""
+CONFIG_CMD_GPIO=y