]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00333303 dts: imx6sx-sdb-emmc: add emmc support on uSDHC4
authorDong Aisheng <b29396@freescale.com>
Wed, 16 Apr 2014 08:37:36 +0000 (16:37 +0800)
committerNitin Garg <nitin.garg@freescale.com>
Fri, 16 Jan 2015 03:18:03 +0000 (21:18 -0600)
The eMMC interface is shared with uSDHC4 BOOT card slot and the eMMC chip is
DNP by default. User needs burn the eMMC chip onto the board manually and
do hw rework to enable eMMC signals.
We create a new dts imx6sx-sdb-emmc.dts for easy eMMC test after doing hw rework.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit 4b07536a25db281619ce249a46a71e0bb8a08a6b)

arch/arm/boot/dts/Makefile
arch/arm/boot/dts/imx6sx-sdb-emmc.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6sx-sdb.dts

index 8a449730ac22c3e0cca99003f954293fd713e3aa..06e3b119b353e8b72a11f190c50e19696e5abd10 100644 (file)
@@ -192,6 +192,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
        imx6sx-sdb-lcdif1.dtb \
        vf610-cosmic.dtb \
        imx6sx-sdb-canfd.dtb \
+       imx6sx-sdb-emmc.dtb \
        vf610-twr.dtb
 dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
        imx23-olinuxino.dtb \
diff --git a/arch/arm/boot/dts/imx6sx-sdb-emmc.dts b/arch/arm/boot/dts/imx6sx-sdb-emmc.dts
new file mode 100644 (file)
index 0000000..5c5c32d
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2014 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6sx-sdb.dts"
+
+/*
+ * The eMMC chip on imx6sx sdb board is DNP by default.
+ * Need do hw rework to burn the eMMC4.5 chip on the eMMC socket on uSDHC4
+ * and connect eMMC signals as well as disconnect BOOT SD CARD slot signals
+ */
+&usdhc4 {
+       pinctrl-names = "default", "state_100mhz", "state_200mhz";
+       pinctrl-0 = <&pinctrl_usdhc4_1>;
+       pinctrl-1 = <&pinctrl_usdhc4_1_100mhz>;
+       pinctrl-2 = <&pinctrl_usdhc4_1_200mhz>;
+       bus-width = <8>;
+       /*
+        * overwrite cd-gpios and wp-gpios since they are reused as eMMC DATA
+        * signals after rework
+        */
+       cd-gpios = <>;
+       wp-gpios = <>;
+       non-removable;
+       status = "okay";
+};
index c5c60b7dca2d9109f00b6157b52c560b41f89c17..02adff5208c423798f30b3a558e5c922b0ee9651 100644 (file)
                                MX6SX_PAD_SD4_DATA6__GPIO6_IO_20        0x17059 /* WP */
                        >;
                };
+
+               pinctrl_usdhc4_1: usdhc4grp-1 {
+                       fsl,pins = <
+                               MX6SX_PAD_SD4_CMD__USDHC4_CMD           0x17059
+                               MX6SX_PAD_SD4_CLK__USDHC4_CLK           0x10059
+                               MX6SX_PAD_SD4_DATA0__USDHC4_DATA0       0x17059
+                               MX6SX_PAD_SD4_DATA1__USDHC4_DATA1       0x17059
+                               MX6SX_PAD_SD4_DATA2__USDHC4_DATA2       0x17059
+                               MX6SX_PAD_SD4_DATA3__USDHC4_DATA3       0x17059
+                               MX6SX_PAD_SD4_DATA4__USDHC4_DATA4       0x17059
+                               MX6SX_PAD_SD4_DATA5__USDHC4_DATA5       0x17059
+                               MX6SX_PAD_SD4_DATA6__USDHC4_DATA6       0x17059
+                               MX6SX_PAD_SD4_DATA7__USDHC4_DATA7       0x17059
+                       >;
+               };
+
+               pinctrl_usdhc4_1_100mhz: usdhc4grp-1-100mhz {
+                       fsl,pins = <
+                               MX6SX_PAD_SD4_CMD__USDHC4_CMD           0x170b9
+                               MX6SX_PAD_SD4_CLK__USDHC4_CLK           0x100b9
+                               MX6SX_PAD_SD4_DATA0__USDHC4_DATA0       0x170b9
+                               MX6SX_PAD_SD4_DATA1__USDHC4_DATA1       0x170b9
+                               MX6SX_PAD_SD4_DATA2__USDHC4_DATA2       0x170b9
+                               MX6SX_PAD_SD4_DATA3__USDHC4_DATA3       0x170b9
+                               MX6SX_PAD_SD4_DATA4__USDHC4_DATA4       0x170b9
+                               MX6SX_PAD_SD4_DATA5__USDHC4_DATA5       0x170b9
+                               MX6SX_PAD_SD4_DATA6__USDHC4_DATA6       0x170b9
+                               MX6SX_PAD_SD4_DATA7__USDHC4_DATA7       0x170b9
+                       >;
+               };
+
+               pinctrl_usdhc4_1_200mhz: usdhc4grp-1-200mhz {
+                       fsl,pins = <
+                               MX6SX_PAD_SD4_CMD__USDHC4_CMD           0x170f9
+                               MX6SX_PAD_SD4_CLK__USDHC4_CLK           0x100f9
+                               MX6SX_PAD_SD4_DATA0__USDHC4_DATA0       0x170f9
+                               MX6SX_PAD_SD4_DATA1__USDHC4_DATA1       0x170f9
+                               MX6SX_PAD_SD4_DATA2__USDHC4_DATA2       0x170f9
+                               MX6SX_PAD_SD4_DATA3__USDHC4_DATA3       0x170f9
+                               MX6SX_PAD_SD4_DATA4__USDHC4_DATA4       0x170f9
+                               MX6SX_PAD_SD4_DATA5__USDHC4_DATA5       0x170f9
+                               MX6SX_PAD_SD4_DATA6__USDHC4_DATA6       0x170f9
+                               MX6SX_PAD_SD4_DATA7__USDHC4_DATA7       0x170f9
+                       >;
+               };
        };
 };