diff options
Diffstat (limited to 'arm-imx6-hummingboard2.patch')
-rw-r--r-- | arm-imx6-hummingboard2.patch | 407 |
1 files changed, 288 insertions, 119 deletions
diff --git a/arm-imx6-hummingboard2.patch b/arm-imx6-hummingboard2.patch index 6b1186073..bcb93214e 100644 --- a/arm-imx6-hummingboard2.patch +++ b/arm-imx6-hummingboard2.patch @@ -1,23 +1,28 @@ -From 1f4fd839f959f821d5dd3feb608a900ae5f32ade Mon Sep 17 00:00:00 2001 +From e9e601215d294d473a593641b1ecfd1fa4586a90 Mon Sep 17 00:00:00 2001 From: Peter Robinson <pbrobinson@gmail.com> -Date: Fri, 20 Jan 2017 08:32:55 +0000 -Subject: [PATCH] Add support for Hummingobard2 (Edge/Gate) +Date: Thu, 6 Apr 2017 13:52:54 +0100 +Subject: [PATCH 1/4] [RFC,v2,1/4] ARM: dts: imx6qdl: add HummingBoard2 boards -http://www.spinics.net/lists/arm-kernel/msg552554.html +From: Jon Nettleton <jon@solid-run.com> -Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +This adds support for the Hummingboard Gate and Edge devices from +SolidRun. + +Signed-off-by: Jon Nettleton <jon@solid-run.com> +Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com> +Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> --- arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/imx6dl-hummingboard2.dts | 52 +++ arch/arm/boot/dts/imx6q-hummingboard2.dts | 60 +++ - arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 562 +++++++++++++++++++++++++++ - 4 files changed, 676 insertions(+) + arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 543 +++++++++++++++++++++++++++ + 4 files changed, 657 insertions(+) create mode 100644 arch/arm/boot/dts/imx6dl-hummingboard2.dts create mode 100644 arch/arm/boot/dts/imx6q-hummingboard2.dts create mode 100644 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 0118084..ccdff66 100644 +index 011808490fed..ccdff6650541 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -353,6 +353,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ @@ -38,7 +43,7 @@ index 0118084..ccdff66 100644 imx6q-marsboard.dtb \ diff --git a/arch/arm/boot/dts/imx6dl-hummingboard2.dts b/arch/arm/boot/dts/imx6dl-hummingboard2.dts new file mode 100644 -index 0000000..990b505 +index 000000000000..990b5050de5b --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-hummingboard2.dts @@ -0,0 +1,52 @@ @@ -96,7 +101,7 @@ index 0000000..990b505 +}; diff --git a/arch/arm/boot/dts/imx6q-hummingboard2.dts b/arch/arm/boot/dts/imx6q-hummingboard2.dts new file mode 100644 -index 0000000..f5eec91 +index 000000000000..f5eec9163bb8 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-hummingboard2.dts @@ -0,0 +1,60 @@ @@ -162,10 +167,10 @@ index 0000000..f5eec91 +}; diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi new file mode 100644 -index 0000000..66098a5 +index 000000000000..11b63f6f2b89 --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi -@@ -0,0 +1,562 @@ +@@ -0,0 +1,543 @@ +/* + * Device Tree file for SolidRun HummingBoard2 + * Copyright (C) 2015 Rabeeh Khoury <rabeeh@solid-run.com> @@ -180,12 +185,12 @@ index 0000000..66098a5 + * published by the Free Software Foundation; either version 2 of the + * License. + * -+ * This file is distributed in the hope that it will be useful ++ * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * -+ * Or, alternatively ++ * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation @@ -199,11 +204,11 @@ index 0000000..66098a5 + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * -+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. @@ -218,88 +223,77 @@ index 0000000..66098a5 + + ir_recv: ir-receiver { + compatible = "gpio-ir-receiver"; -+ gpios = <&gpio7 9 GPIO_ACTIVE_LOW>; ++ gpios = <&gpio7 9 1>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>; + linux,rc-map-name = "rc-rc6-mce"; + }; + -+ regulators { -+ compatible = "simple-bus"; -+ -+ reg_3p3v: 3p3v { -+ compatible = "regulator-fixed"; -+ regulator-name = "3P3V"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; ++ usdhc2_pwrseq: usdhc2-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>; ++ }; + -+ reg_1p8v: 1p8v { -+ compatible = "regulator-fixed"; -+ regulator-name = "1P8V"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ }; ++ reg_3p3v: regulator-3p3v { ++ compatible = "regulator-fixed"; ++ regulator-name = "3P3V"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-always-on; ++ }; + -+ reg_usdhc2_vmmc: reg-usdhc2-vmmc { -+ compatible = "regulator-fixed"; -+ gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_vmmc>; -+ regulator-boot-on; -+ regulator-max-microvolt = <3300000>; -+ regulator-min-microvolt = <3300000>; -+ regulator-name = "usdhc2_vmmc"; -+ startup-delay-us = <1000>; -+ }; ++ reg_1p8v: regulator-1p8v { ++ compatible = "regulator-fixed"; ++ regulator-name = "1P8V"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-always-on; ++ }; + -+ reg_usbh1_vbus: usb-h1-vbus { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>; -+ regulator-name = "usb_h1_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ }; ++ reg_usbh1_vbus: regulator-usb-h1-vbus { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 0 0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>; ++ regulator-name = "usb_h1_vbus"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ }; + -+ reg_usbotg_vbus: usb-otg-vbus { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>; -+ regulator-name = "usb_otg_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ }; ++ reg_usbotg_vbus: regulator-usb-otg-vbus { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio3 22 0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>; ++ regulator-name = "usb_otg_vbus"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ }; + -+ reg_usbh2_vbus: usb-h2-vbus { -+ compatible = "regulator-gpio"; -+ enable-active-high; -+ enable-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>; -+ regulator-name = "usb_h2_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-boot-on; -+ }; ++ reg_usbh2_vbus: regulator-usb-h2-vbus { ++ compatible = "regulator-gpio"; ++ enable-active-high; ++ enable-gpio = <&gpio2 13 0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>; ++ regulator-name = "usb_h2_vbus"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-boot-on; ++ }; + -+ reg_usbh3_vbus: usb-h3-vbus { -+ compatible = "regulator-gpio"; -+ enable-active-high; -+ enable-gpio = <&gpio7 10 GPIO_ACTIVE_HIGH>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>; -+ regulator-name = "usb_h3_vbus"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-boot-on; -+ }; ++ reg_usbh3_vbus: regulator-usb-h3-vbus { ++ compatible = "regulator-gpio"; ++ enable-active-high; ++ enable-gpio = <&gpio7 10 0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>; ++ regulator-name = "usb_h3_vbus"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-boot-on; + }; + + sound-sgtl5000 { @@ -323,7 +317,6 @@ index 0000000..66098a5 +&ecspi2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hummingboard2_ecspi2>; -+ fsl,spi-num-chipselects = <1>; + cs-gpios = <&gpio2 26 0>; + status = "okay"; +}; @@ -341,13 +334,13 @@ index 0000000..66098a5 + pinctrl-0 = <&pinctrl_hummingboard2_i2c1>; + status = "okay"; + -+ rtc: pcf8523@68 { ++ pcf8523: rtc@68 { + compatible = "nxp,pcf8523"; + reg = <0x68>; + nxp,12p5_pf; + }; + -+ sgtl5000: sgtl5000@0a { ++ sgtl5000: codec@0a { + clocks = <&clks IMX6QDL_CLK_CKO>; + compatible = "fsl,sgtl5000"; + pinctrl-names = "default"; @@ -375,6 +368,7 @@ index 0000000..66098a5 +&iomuxc { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hog>; ++ + hummingboard2 { + pinctrl_hog: hoggrp { + fsl,pins = < @@ -474,6 +468,15 @@ index 0000000..66098a5 + >; + }; + ++ pinctrl_hummingboard2_ecspi2: hummingboard2-ecspi2grp { ++ fsl,pins = < ++ MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1 ++ MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1 ++ MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1 ++ MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x000b1 /* CS */ ++ >; ++ }; ++ + pinctrl_hummingboard2_gpio7_9: hummingboard2-gpio7_9 { + fsl,pins = < + MX6QDL_PAD_SD4_CMD__GPIO7_IO09 0x80000000 @@ -507,13 +510,13 @@ index 0000000..66098a5 + >; + }; + -+ pinctrl_hummingboard2_mipi: hummingboard2_mipi { -+ fsl,pins = < -+ MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x4001b8b1 -+ MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x4001b8b1 -+ MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0 -+ >; -+ }; ++ pinctrl_hummingboard2_mipi: hummingboard2_mipi { ++ fsl,pins = < ++ MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x4001b8b1 ++ MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x4001b8b1 ++ MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0 ++ >; ++ }; + + pinctrl_hummingboard2_pcie_reset: hummingboard2-pcie-reset { + fsl,pins = < @@ -563,6 +566,7 @@ index 0000000..66098a5 + + pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { + fsl,pins = < ++ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x13071 + MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 + MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 + >; @@ -601,12 +605,6 @@ index 0000000..66098a5 + >; + }; + -+ pinctrl_hummingboard2_vmmc: hummingboard2-vmmc { -+ fsl,pins = < -+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 -+ >; -+ }; -+ + pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 { + fsl,pins = < + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 @@ -629,15 +627,6 @@ index 0000000..66098a5 + MX6QDL_PAD_EIM_D24__UART3_RX_DATA 0x40013000 + >; + }; -+ -+ pinctrl_hummingboard2_ecspi2: hummingboard2-ecspi2grp { -+ fsl,pins = < -+ MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1 -+ MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1 -+ MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1 -+ MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x000b1 /* CS */ -+ >; -+ }; + }; +}; + @@ -652,9 +641,7 @@ index 0000000..66098a5 + +&pcie { + pinctrl-names = "default"; -+ pinctrl-0 = < -+ &pinctrl_hummingboard2_pcie_reset -+ >; ++ pinctrl-0 = <&pinctrl_hummingboard2_pcie_reset>; + reset-gpio = <&gpio2 11 0>; + status = "okay"; +}; @@ -674,7 +661,6 @@ index 0000000..66098a5 +}; + +&ssi1 { -+ fsl,mode = "i2s-slave"; + status = "okay"; +}; + @@ -706,8 +692,8 @@ index 0000000..66098a5 + &pinctrl_hummingboard2_usdhc2_aux + &pinctrl_hummingboard2_usdhc2_200mhz + >; -+ vmmc-supply = <®_usdhc2_vmmc>; -+ cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; ++ mmc-pwrseq = <&usdhc2_pwrseq>; ++ cd-gpios = <&gpio1 4 0>; + status = "okay"; +}; + @@ -729,5 +715,188 @@ index 0000000..66098a5 + status = "okay"; +}; -- -2.7.4 +2.12.2 + +From 3da2a99c4a8f19e846b19071441d2c6b88e00c06 Mon Sep 17 00:00:00 2001 +From: Russell King <rmk+kernel@arm.linux.org.uk> +Date: Fri, 13 Jan 2017 14:45:30 +0000 +Subject: [PATCH 2/4] ARM: dts: imx6*-hummingboard2: fix SD card detect + +Fix the SD card detect signal, which was missing the polarity +specification, and the pull-up necessary for proper signalling. + +Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> +--- + arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +index 11b63f6f2b89..734487edf200 100644 +--- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +@@ -393,7 +393,7 @@ + + pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { + fsl,pins = < +- MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x13071 ++ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 + MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 + MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 + >; +@@ -520,7 +520,7 @@ + &pinctrl_hummingboard2_usdhc2_200mhz + >; + mmc-pwrseq = <&usdhc2_pwrseq>; +- cd-gpios = <&gpio1 4 0>; ++ cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; + status = "okay"; + }; + +-- +2.12.2 + +From 57b0103b600a535a35e5ff9714649519a0b3a77a Mon Sep 17 00:00:00 2001 +From: Russell King <rmk+kernel@armlinux.org.uk> +Date: Fri, 13 Jan 2017 14:45:35 +0000 +Subject: [PATCH 3/4] ARM: dts: imx6*-hummingboard2: use proper gpio flags + definitions + +Use proper gpio flag definitions for GPIOs rather than using opaque +uninformative numbers. + +Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> +--- + arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +index 734487edf200..88aaed26dd77 100644 +--- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +@@ -50,7 +50,7 @@ + + ir_recv: ir-receiver { + compatible = "gpio-ir-receiver"; +- gpios = <&gpio7 9 1>; ++ gpios = <&gpio7 9 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>; + linux,rc-map-name = "rc-rc6-mce"; +@@ -80,7 +80,7 @@ + reg_usbh1_vbus: regulator-usb-h1-vbus { + compatible = "regulator-fixed"; + enable-active-high; +- gpio = <&gpio1 0 0>; ++ gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>; + regulator-name = "usb_h1_vbus"; +@@ -91,7 +91,7 @@ + reg_usbotg_vbus: regulator-usb-otg-vbus { + compatible = "regulator-fixed"; + enable-active-high; +- gpio = <&gpio3 22 0>; ++ gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>; + regulator-name = "usb_otg_vbus"; +@@ -102,7 +102,7 @@ + reg_usbh2_vbus: regulator-usb-h2-vbus { + compatible = "regulator-gpio"; + enable-active-high; +- enable-gpio = <&gpio2 13 0>; ++ enable-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>; + regulator-name = "usb_h2_vbus"; +@@ -114,7 +114,7 @@ + reg_usbh3_vbus: regulator-usb-h3-vbus { + compatible = "regulator-gpio"; + enable-active-high; +- enable-gpio = <&gpio7 10 0>; ++ enable-gpio = <&gpio7 10 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>; + regulator-name = "usb_h3_vbus"; +-- +2.12.2 + +From f931de70370ff576f381cb9745bc54225a1a8056 Mon Sep 17 00:00:00 2001 +From: Russell King <rmk+kernel@arm.linux.org.uk> +Date: Fri, 13 Jan 2017 14:45:40 +0000 +Subject: [PATCH 4/4] ARM: dts: imx6*-hummingboard2: convert to more + conventional vmmc-supply + +Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> +--- + arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 26 +++++++++++++++++++------- + 1 file changed, 19 insertions(+), 7 deletions(-) + +diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +index 88aaed26dd77..f19d30b34ac4 100644 +--- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi ++++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +@@ -56,11 +56,6 @@ + linux,rc-map-name = "rc-rc6-mce"; + }; + +- usdhc2_pwrseq: usdhc2-pwrseq { +- compatible = "mmc-pwrseq-simple"; +- reset-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>; +- }; +- + reg_3p3v: regulator-3p3v { + compatible = "regulator-fixed"; + regulator-name = "3P3V"; +@@ -123,6 +118,18 @@ + regulator-boot-on; + }; + ++ reg_usdhc2_vmmc: reg-usdhc2-vmmc { ++ compatible = "regulator-fixed"; ++ gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_hummingboard2_vmmc>; ++ regulator-boot-on; ++ regulator-max-microvolt = <3300000>; ++ regulator-min-microvolt = <3300000>; ++ regulator-name = "usdhc2_vmmc"; ++ startup-delay-us = <1000>; ++ }; ++ + sound-sgtl5000 { + audio-codec = <&sgtl5000>; + audio-routing = +@@ -393,7 +400,6 @@ + + pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux { + fsl,pins = < +- MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 + MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071 + MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 + >; +@@ -432,6 +438,12 @@ + >; + }; + ++ pinctrl_hummingboard2_vmmc: hummingboard2-vmmc { ++ fsl,pins = < ++ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 ++ >; ++ }; ++ + pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 { + fsl,pins = < + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 +@@ -519,7 +531,7 @@ + &pinctrl_hummingboard2_usdhc2_aux + &pinctrl_hummingboard2_usdhc2_200mhz + >; +- mmc-pwrseq = <&usdhc2_pwrseq>; ++ vmmc-supply = <®_usdhc2_vmmc>; + cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; + status = "okay"; + }; +-- +2.12.2 |