From 96b951dd144a041ec6e9ae8fa176eab7dedb3368 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Apr 06 2017 14:51:42 +0000 Subject: Rebase to new HummingBoard 2 DT patch, Minor ARM cleanups. Enable Serial device TTY port controller As the TTY core is built-in only, this has the side effect of making serdev built-in as well. This is needed for devices such as Bluetooth, WiFi, GPS and NFC connected to UARTs on host processors. --- diff --git a/arm-imx6-hummingboard2.patch b/arm-imx6-hummingboard2.patch index 6b11860..bcb9321 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 -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 -Signed-off-by: Peter Robinson +This adds support for the Hummingboard Gate and Edge devices from +SolidRun. + +Signed-off-by: Jon Nettleton +Signed-off-by: Rabeeh Khoury +Signed-off-by: Russell King --- 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 @@ -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 +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 +--- + 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 +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 +--- + 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 +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 +--- + 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 diff --git a/baseconfig/CONFIG_SERIAL_DEV_BUS b/baseconfig/CONFIG_SERIAL_DEV_BUS index 68cfe9a..f73dc68 100644 --- a/baseconfig/CONFIG_SERIAL_DEV_BUS +++ b/baseconfig/CONFIG_SERIAL_DEV_BUS @@ -1 +1 @@ -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y diff --git a/baseconfig/CONFIG_SERIAL_DEV_CTRL_TTYPORT b/baseconfig/CONFIG_SERIAL_DEV_CTRL_TTYPORT new file mode 100644 index 0000000..4d61ead --- /dev/null +++ b/baseconfig/CONFIG_SERIAL_DEV_CTRL_TTYPORT @@ -0,0 +1 @@ +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y diff --git a/baseconfig/arm/CONFIG_IOMMU_IO_PGTABLE_LPAE b/baseconfig/arm/CONFIG_IOMMU_IO_PGTABLE_LPAE new file mode 100644 index 0000000..73494e9 --- /dev/null +++ b/baseconfig/arm/CONFIG_IOMMU_IO_PGTABLE_LPAE @@ -0,0 +1 @@ +CONFIG_IOMMU_IO_PGTABLE_LPAE=y diff --git a/baseconfig/arm/arm64/CONFIG_SATA_AHCI_PLATFORM b/baseconfig/arm/arm64/CONFIG_SATA_AHCI_PLATFORM deleted file mode 100644 index f4729ba..0000000 --- a/baseconfig/arm/arm64/CONFIG_SATA_AHCI_PLATFORM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SATA_AHCI_PLATFORM=y diff --git a/baseconfig/arm/armv7/CONFIG_IOMMU_IO_PGTABLE_LPAE b/baseconfig/arm/armv7/CONFIG_IOMMU_IO_PGTABLE_LPAE deleted file mode 100644 index 73494e9..0000000 --- a/baseconfig/arm/armv7/CONFIG_IOMMU_IO_PGTABLE_LPAE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_IOMMU_IO_PGTABLE_LPAE=y diff --git a/baseconfig/arm/armv7/CONFIG_PATA_PLATFORM b/baseconfig/arm/armv7/CONFIG_PATA_PLATFORM deleted file mode 100644 index e385815..0000000 --- a/baseconfig/arm/armv7/CONFIG_PATA_PLATFORM +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PATA_PLATFORM is not set diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config index 7e11c11..7294b87 100644 --- a/kernel-aarch64-debug.config +++ b/kernel-aarch64-debug.config @@ -2187,6 +2187,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y @@ -4420,7 +4421,7 @@ CONFIG_S2IO=m # CONFIG_SAMPLES is not set # CONFIG_SAMSUNG_USBPHY is not set CONFIG_SATA_ACARD_AHCI=m -CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_SATA_AHCI_PLATFORM=m CONFIG_SATA_AHCI_SEATTLE=m CONFIG_SATA_AHCI=y # CONFIG_SATA_DWC is not set @@ -4777,7 +4778,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-aarch64.config b/kernel-aarch64.config index b19f664..022c906 100644 --- a/kernel-aarch64.config +++ b/kernel-aarch64.config @@ -2170,6 +2170,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y CONFIG_IOSCHED_CFQ=y CONFIG_IOSCHED_DEADLINE=y @@ -4398,7 +4399,7 @@ CONFIG_S2IO=m # CONFIG_SAMPLES is not set # CONFIG_SAMSUNG_USBPHY is not set CONFIG_SATA_ACARD_AHCI=m -CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_SATA_AHCI_PLATFORM=m CONFIG_SATA_AHCI_SEATTLE=m CONFIG_SATA_AHCI=y # CONFIG_SATA_DWC is not set @@ -4755,7 +4756,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config index 6cf55cc..276db2d 100644 --- a/kernel-armv7hl-debug.config +++ b/kernel-armv7hl-debug.config @@ -5172,7 +5172,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config index 0e747cb..2313b9f 100644 --- a/kernel-armv7hl-lpae-debug.config +++ b/kernel-armv7hl-lpae-debug.config @@ -4884,7 +4884,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config index 8a06551..b40f4e2 100644 --- a/kernel-armv7hl-lpae.config +++ b/kernel-armv7hl-lpae.config @@ -4862,7 +4862,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config index a6b1157..562587d 100644 --- a/kernel-armv7hl.config +++ b/kernel-armv7hl.config @@ -5150,7 +5150,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config index 81675ed..151a78a 100644 --- a/kernel-i686-PAE.config +++ b/kernel-i686-PAE.config @@ -4553,7 +4553,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config index 06ca119..416b5ec 100644 --- a/kernel-i686-PAEdebug.config +++ b/kernel-i686-PAEdebug.config @@ -4574,7 +4574,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config index 43fc328..ccd60a1 100644 --- a/kernel-i686-debug.config +++ b/kernel-i686-debug.config @@ -4574,7 +4574,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-i686.config b/kernel-i686.config index 29efc11..442a1b6 100644 --- a/kernel-i686.config +++ b/kernel-i686.config @@ -4553,7 +4553,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config index 329b774..3bcd947 100644 --- a/kernel-ppc64-debug.config +++ b/kernel-ppc64-debug.config @@ -4389,7 +4389,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m # CONFIG_SERIAL_CPM is not set -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_ICOM=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-ppc64.config b/kernel-ppc64.config index 5c8eb4b..c2a86d3 100644 --- a/kernel-ppc64.config +++ b/kernel-ppc64.config @@ -4366,7 +4366,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m # CONFIG_SERIAL_CPM is not set -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_ICOM=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config index a3325b5..68d8b6b 100644 --- a/kernel-ppc64le-debug.config +++ b/kernel-ppc64le-debug.config @@ -4329,7 +4329,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m # CONFIG_SERIAL_CPM is not set -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_ICOM=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config index 8082b9e..ac763ed 100644 --- a/kernel-ppc64le.config +++ b/kernel-ppc64le.config @@ -4306,7 +4306,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m # CONFIG_SERIAL_CPM is not set -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_ICOM=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-ppc64p7-debug.config b/kernel-ppc64p7-debug.config index ba21291..78f82cd 100644 --- a/kernel-ppc64p7-debug.config +++ b/kernel-ppc64p7-debug.config @@ -4328,7 +4328,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m # CONFIG_SERIAL_CPM is not set -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_ICOM=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-ppc64p7.config b/kernel-ppc64p7.config index 5b79ac3..ef87b0a 100644 --- a/kernel-ppc64p7.config +++ b/kernel-ppc64p7.config @@ -4305,7 +4305,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m # CONFIG_SERIAL_CPM is not set -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_ICOM=m # CONFIG_SERIAL_IFX6X60 is not set diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config index dd43ab7..552ed72 100644 --- a/kernel-s390x-debug.config +++ b/kernel-s390x-debug.config @@ -4225,7 +4225,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m diff --git a/kernel-s390x.config b/kernel-s390x.config index c3ebd01..9f4f6f8 100644 --- a/kernel-s390x.config +++ b/kernel-s390x.config @@ -4202,7 +4202,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config index 46ad086..93c5890 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug.config @@ -4599,7 +4599,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m diff --git a/kernel-x86_64.config b/kernel-x86_64.config index 6c769f8..9acc28d 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -4578,7 +4578,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_DEV_BUS=m +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m diff --git a/kernel.spec b/kernel.spec index 3134afd..72b5f62 100644 --- a/kernel.spec +++ b/kernel.spec @@ -545,7 +545,7 @@ Patch436: vc4-fix-vblank-cursor-update-issue.patch Patch437: bcm283x-hdmi-audio.patch -# http://www.spinics.net/lists/arm-kernel/msg552554.html +# https://www.spinics.net/lists/arm-kernel/msg554183.html Patch438: arm-imx6-hummingboard2.patch Patch460: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch @@ -2166,6 +2166,11 @@ fi # # %changelog +* Thu Apr 6 2017 Peter Robinson +- Rebase to new HummingBoard 2 DT patch +- Minor ARM cleanups +- Enable Serial device TTY port controller + * Thu Apr 06 2017 Laura Abbott - 4.11.0-0.rc5.git3.1 - Linux v4.11-rc5-133-gea6b172