Skip to contentSkip to conversation

Add Hummingboard 2 support

PATCH New Russell King - ARM Linux 5 participants 23 messages Dec 11, 2017 – Dec 26, 2017

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

cover Add Hummingboard 2 support

Hi,

This series adds the long awaited Hummingboard 2 support to the mainline kernel.

While I could squash the patch set down, I've not done this because this is the result of several different people over the course of the last couple of years, and I believe it's not right to lose the detail of their contributions.

This builds upon the previous set of changes for the Hummingboard, which re-organised the way we deal with the uSOM and baseboards.

 arch/arm/boot/dts/Makefile                         |   6 +
 .../boot/dts/imx6dl-hummingboard2-emmc-som-v15.dts |  55 +++
 arch/arm/boot/dts/imx6dl-hummingboard2-som-v15.dts |  54 +++
 arch/arm/boot/dts/imx6dl-hummingboard2.dts         |  53 ++
 .../boot/dts/imx6q-hummingboard2-emmc-som-v15.dts  |  63 +++
 arch/arm/boot/dts/imx6q-hummingboard2-som-v15.dts  |  62 +++
 arch/arm/boot/dts/imx6q-hummingboard2.dts          |  61 +++
 arch/arm/boot/dts/imx6qdl-hummingboard2-emmc.dtsi  |  72 +++
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi       | 540 +++++++++++++++++++++
 9 files changed, 966 insertions(+)
Signature · 3 lines
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up
#1 lore raw

PATCH 1/20 ARM: dts: imx6qdl: add HummingBoard2 boards

From: Jon Nettleton <[email protected]>

This adds support for the Hummingboard Gate and Edge devices from SolidRun.

---
 arch/arm/boot/dts/Makefile                   |   2 +
 arch/arm/boot/dts/imx6dl-hummingboard2.dts   |  50 +++
 arch/arm/boot/dts/imx6q-hummingboard2.dts    |  58 +++
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 541 +++++++++++++++++++++++++++
 4 files changed, 651 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
arch/arm/boot/dts/Makefile +2 -0
index b5ba7ad6ae30..a757e2dd60c4 100644
@@ -388,6 +388,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-hummingboard.dtb \
 	imx6dl-hummingboard-emmc-som-v15.dtb \
 	imx6dl-hummingboard-som-v15.dtb \
+	imx6dl-hummingboard2.dtb \
 	imx6dl-icore.dtb \
 	imx6dl-icore-rqs.dtb \
 	imx6dl-nit6xlite.dtb \
@@ -447,6 +448,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6q-hummingboard.dtb \
 	imx6q-hummingboard-emmc-som-v15.dtb \
 	imx6q-hummingboard-som-v15.dtb \
+	imx6q-hummingboard2.dtb \
 	imx6q-icore.dtb \
 	imx6q-icore-ofcap10.dtb \
 	imx6q-icore-ofcap12.dtb \
arch/arm/boot/dts/imx6dl-hummingboard2.dts new file +50 -0

50 lines not on this page · raw message

arch/arm/boot/dts/imx6q-hummingboard2.dts new file +58 -0

58 lines not on this page · raw message

arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi new file +541 -0

541 lines not on this page · raw message

Signature · 1 line
2.7.4
#2 lore raw

PATCH 2/20 ARM: dts: imx6*-hummingboard2: remove ar8035 include

In reply to Russell King - ARM Linux

Remove the AR8035 include, the file is now gone.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 1 -
 1 file changed, 1 deletion(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +0 -1
index 0e3c57b99904..72226ccf3e34 100644
@@ -39,7 +39,6 @@
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "imx6qdl-microsom.dtsi"
-#include "imx6qdl-microsom-ar8035.dtsi"
 
 / {
 	chosen {
Signature · 1 line
2.7.4
#3 lore raw

PATCH 3/20 ARM: dts: imx6qdl-hummingboard2: rename microsom include

In reply to Russell King - ARM Linux

Rename microsom include to imx6qdl-sr-som.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +1 -1
index 72226ccf3e34..2dfd8f5887fc 100644
@@ -38,7 +38,7 @@
  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
-#include "imx6qdl-microsom.dtsi"
+#include "imx6qdl-sr-som.dtsi"
 
 / {
 	chosen {
Signature · 1 line
2.7.4
#4 lore raw

PATCH 4/20 ARM: dts: imx6*-hummingboard2: move microsom includes into .dts

In reply to Russell King - ARM Linux

Move the microsom includes into the .dts files.

---
 arch/arm/boot/dts/imx6dl-hummingboard2.dts   | 1 +
 arch/arm/boot/dts/imx6q-hummingboard2.dts    | 1 +
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 1 -
 3 files changed, 2 insertions(+), 1 deletion(-)
arch/arm/boot/dts/imx6dl-hummingboard2.dts +1 -0
index 207ce329534a..30e042822ec6 100644
@@ -42,6 +42,7 @@
 /dts-v1/;
 
 #include "imx6dl.dtsi"
+#include "imx6qdl-sr-som.dtsi"
 #include "imx6qdl-hummingboard2.dtsi"
 
 / {
arch/arm/boot/dts/imx6q-hummingboard2.dts +1 -0
index b850111ddf34..8dcad5668c17 100644
@@ -42,6 +42,7 @@
 /dts-v1/;
 
 #include "imx6q.dtsi"
+#include "imx6qdl-sr-som.dtsi"
 #include "imx6qdl-hummingboard2.dtsi"
 
 / {
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +0 -1
index 2dfd8f5887fc..676160ef2718 100644
@@ -38,7 +38,6 @@
  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
-#include "imx6qdl-sr-som.dtsi"
 
 / {
 	chosen {
Signature · 1 line
2.7.4
#5 lore raw

PATCH 5/20 ARM: dts: imx6*-hummingboard2: add Broadcom Wi-Fi include

In reply to Russell King - ARM Linux

The Broadcom Wi-Fi was moved out to a separate include file. Add the include.

---
 arch/arm/boot/dts/imx6dl-hummingboard2.dts | 1 +
 arch/arm/boot/dts/imx6q-hummingboard2.dts  | 1 +
 2 files changed, 2 insertions(+)
arch/arm/boot/dts/imx6dl-hummingboard2.dts +1 -0
index 30e042822ec6..99b6cce13175 100644
@@ -43,6 +43,7 @@
 
 #include "imx6dl.dtsi"
 #include "imx6qdl-sr-som.dtsi"
+#include "imx6qdl-sr-som-brcm.dtsi"
 #include "imx6qdl-hummingboard2.dtsi"
 
 / {
arch/arm/boot/dts/imx6q-hummingboard2.dts +1 -0
index 8dcad5668c17..fab388a0f673 100644
@@ -43,6 +43,7 @@
 
 #include "imx6q.dtsi"
 #include "imx6qdl-sr-som.dtsi"
+#include "imx6qdl-sr-som-brcm.dtsi"
 #include "imx6qdl-hummingboard2.dtsi"
 
 / {
Signature · 1 line
2.7.4
#6 lore raw

PATCH 6/20 ARM: dts: imx6*-hummingboard2: fix SD card detect

In reply to Russell King - ARM Linux

Fix the SD card detect signal, which was missing the polarity specification, and the pull-up necessary for proper signalling.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +2 -2
index 676160ef2718..b632eb73e85c 100644
@@ -389,7 +389,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
 			>;
@@ -516,7 +516,7 @@
 		&pinctrl_hummingboard2_usdhc2_200mhz
 	>;
 	mmc-pwrseq = <&usdhc2_pwrseq>;
-	cd-gpios = <&gpio1 4 0>;
+	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
 	status = "okay";
 };
 
Signature · 1 line
2.7.4
#7 lore raw

PATCH 7/20 ARM: dts: imx6*-hummingboard2: use proper gpio flags definitions

In reply to Russell King - ARM Linux

Use proper gpio flag definitions for GPIOs rather than using opaque uninformative numbers.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +5 -5
index b632eb73e85c..4723bb279e57 100644
@@ -46,7 +46,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";
@@ -76,7 +76,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";
@@ -87,7 +87,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";
@@ -98,7 +98,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";
@@ -110,7 +110,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";
Signature · 1 line
2.7.4
#8 lore raw

PATCH 8/20 ARM: dts: imx6*-hummingboard2: convert to more conventional vmmc-supply

In reply to Russell King - ARM Linux
---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +19 -7
index 4723bb279e57..7e94548c0de7 100644
@@ -52,11 +52,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";
@@ -73,6 +68,18 @@
 		regulator-always-on;
 	};
 
+	v_sd: regulator-v-sd {
+		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 = "v_sd";
+		startup-delay-us = <1000>;
+	};
+
 	reg_usbh1_vbus: regulator-usb-h1-vbus {
 		compatible = "regulator-fixed";
 		enable-active-high;
@@ -391,7 +398,6 @@
 			fsl,pins = <
 				MX6QDL_PAD_GPIO_4__GPIO1_IO04    0x1f071
 				MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071
-				MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0
 			>;
 		};
 
@@ -428,6 +434,12 @@
 			>;
 		};
 
+		pinctrl_hummingboard2_vmmc: hummingboard2-vmmc {
+			fsl,pins = <
+				MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0
+			>;
+		};
+
 		pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 {
 			fsl,pins = <
 				MX6QDL_PAD_SD3_CMD__SD3_CMD    0x17059
@@ -515,7 +527,7 @@
 		&pinctrl_hummingboard2_usdhc2_aux
 		&pinctrl_hummingboard2_usdhc2_200mhz
 	>;
-	mmc-pwrseq = <&usdhc2_pwrseq>;
+	vmmc-supply = <&v_sd>;
 	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
 	status = "okay";
 };
Signature · 1 line
2.7.4
#9 lore raw

PATCH 9/20 ARM: dts: imx6*-hummingboard2: fix formatting

In reply to Russell King - ARM Linux

From: Lucas Stach <[email protected]>

Trivial formatting change.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +4 -6
index 7e94548c0de7..ab809ee0c58c 100644
@@ -482,9 +482,9 @@
 };
 
 &pwm1 {
-        pinctrl-names = "default";
-        pinctrl-0 = <&pinctrl_hummingboard2_pwm1>;
-        status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_hummingboard2_pwm1>;
+	status = "okay";
 };
 
 &pwm3 {
@@ -534,9 +534,7 @@
 
 &usdhc3 {
 	pinctrl-names = "default";
-	pinctrl-0 = <
-		&pinctrl_hummingboard2_usdhc3
-	>;
+	pinctrl-0 = <&pinctrl_hummingboard2_usdhc3>;
 	vmmc-supply = <&reg_3p3v>;
 	vqmmc-supply = <&reg_3p3v>;
 	bus-width = <8>;
Signature · 1 line
2.7.4
#10 lore raw

PATCH 10/20 ARM: dts: imx6*-hummingboard2: add SGTL5000 VDDD supply

In reply to Russell King - ARM Linux

From: Lucas Stach <[email protected]>

VDDD is supplied by VCC_1P8 on HB2.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 1 +
 1 file changed, 1 insertion(+)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +1 -0
index ab809ee0c58c..dfbcdf33b84c 100644
@@ -178,6 +178,7 @@
 		reg = <0x0a>;
 		VDDA-supply = <&reg_3p3v>;
 		VDDIO-supply = <&reg_3p3v>;
+		VDDD-supply = <&reg_1p8v>;
 	};
 };
 
Signature · 1 line
2.7.4
#11 lore raw

PATCH 11/20 ARM: dts: imx6*-hummingboard2: remove LDB node

In reply to Russell King - ARM Linux

From: Lucas Stach <[email protected]>

It's disabled by default and the data mapping is supposed to be retrieved from the attached panel driver in mainline.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 9 ---------
 1 file changed, 9 deletions(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +0 -9
index dfbcdf33b84c..4ddc4b73b9ae 100644
@@ -466,15 +466,6 @@
 	};
 };
 
-&ldb {
-	status = "disabled";
-
-	lvds-channel at 0 {
-		fsl,data-mapping = "spwg";
-		fsl,data-width = <18>;
-	};
-};
-
 &pcie {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_hummingboard2_pcie_reset>;
Signature · 1 line
2.7.4
#12 lore raw

PATCH 12/20 ARM: dts: imx6*-hummingboard2: fix PCIe reset polarity

In reply to Russell King - ARM Linux

From: Lucas Stach <[email protected]>

The driver always uses active-low, but better describe reality in the DT.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +1 -1
index 4ddc4b73b9ae..9d5c3b2d3494 100644
@@ -469,7 +469,7 @@
 &pcie {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_hummingboard2_pcie_reset>;
-	reset-gpio = <&gpio2 11 0>;
+	reset-gpio = <&gpio2 11 GPIO_ACTIVE_LOW>;
 	status = "okay";
 };
 
Signature · 1 line
2.7.4
#13 lore raw

PATCH 13/20 ARM: dts: imx6*-hummingboard2: remove non-mainline property from RTC

In reply to Russell King - ARM Linux

From: Lucas Stach <[email protected]>

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 1 -
 1 file changed, 1 deletion(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +0 -1
index 9d5c3b2d3494..2a63c992b62c 100644
@@ -167,7 +167,6 @@
 	pcf8523: rtc at 68 {
 		compatible = "nxp,pcf8523";
 		reg = <0x68>;
-		nxp,12p5_pf;
 	};
 
 	sgtl5000: codec at 0a {
Signature · 1 line
2.7.4
#14 lore raw

PATCH 14/20 ARM: dts: imx6*-hummingboard2: remove redundant PWM disables

In reply to Russell King - ARM Linux

From: Lucas Stach <[email protected]>

The PWM nodes are already disabled in the imx6qdl.dtsi, so there is no need to disable them again in the board DTS.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 8 --------
 1 file changed, 8 deletions(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +0 -8
index 2a63c992b62c..6fbfa970a0a7 100644
@@ -478,14 +478,6 @@
 	status = "okay";
 };
 
-&pwm3 {
-	status = "disabled";
-};
-
-&pwm4 {
-	status = "disabled";
-};
-
 &ssi1 {
 	status = "okay";
 };
Signature · 1 line
2.7.4
#15 lore raw

PATCH 15/20 ARM: dts: imx6*-hummingboard2: rework regulators

In reply to Russell King - ARM Linux

From: Lucas Stach <[email protected]>

Name the regulators according to the voltage rails they are feeding in the schematic. The USB 2-4 regulators are fixed regulators and are always on, as they are not a VBUS supply for a single USB host port on the i.MX6, but supply VBUS to ports behind a USB hub and there is currently no way to model this in mainline.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +14 -14
index 6fbfa970a0a7..52ed580cf64a 100644
@@ -54,7 +54,7 @@
 
 	reg_3p3v: regulator-3p3v {
 		compatible = "regulator-fixed";
-		regulator-name = "3P3V";
+		regulator-name = "VCC_3V2";
 		regulator-min-microvolt = <3300000>;
 		regulator-max-microvolt = <3300000>;
 		regulator-always-on;
@@ -62,7 +62,7 @@
 
 	reg_1p8v: regulator-1p8v {
 		compatible = "regulator-fixed";
-		regulator-name = "1P8V";
+		regulator-name = "VCC_1V8";
 		regulator-min-microvolt = <1800000>;
 		regulator-max-microvolt = <1800000>;
 		regulator-always-on;
@@ -80,15 +80,16 @@
 		startup-delay-us = <1000>;
 	};
 
-	reg_usbh1_vbus: regulator-usb-h1-vbus {
+	reg_usbh2_vbus: regulator-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-name = "V_USB2";
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
+		regulator-always-on;
 	};
 
 	reg_usbotg_vbus: regulator-usb-otg-vbus {
@@ -97,33 +98,33 @@
 		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>;
-		regulator-name = "usb_otg_vbus";
+		regulator-name = "V_USB1";
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
 	};
 
-	reg_usbh2_vbus: regulator-usb-h2-vbus {
-		compatible = "regulator-gpio";
+	reg_usbh3_vbus: regulator-usb-h2-vbus {
+		compatible = "regulator-fixed";
 		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-name = "V_USB3";
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
-		regulator-boot-on;
+		regulator-always-on;
 	};
 
-	reg_usbh3_vbus: regulator-usb-h3-vbus {
-		compatible = "regulator-gpio";
+	reg_usbh4_vbus: regulator-usb-h3-vbus {
+		compatible = "regulator-fixed";
 		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-name = "V_USB4";
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
-		regulator-boot-on;
+		regulator-always-on;
 	};
 
 	sound-sgtl5000 {
@@ -484,7 +485,6 @@
 
 &usbh1 {
 	disable-over-current;
-	vbus-supply = <&reg_usbh1_vbus>;
 	status = "okay";
 };
 
Signature · 1 line
2.7.4
#16 lore raw

PATCH 16/20 ARM: dts: imx6*-hummingboard2: split out eMMC support

In reply to Russell King - ARM Linux

eMMC is optional on HB2 boards, and may be implemented by the SOM. Move it out of the base HB2 include file.

---
 arch/arm/boot/dts/imx6dl-hummingboard2.dts        |  1 +
 arch/arm/boot/dts/imx6q-hummingboard2.dts         |  1 +
 arch/arm/boot/dts/imx6qdl-hummingboard2-emmc.dtsi | 72 +++++++++++++++++++++++
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi      | 26 --------
 4 files changed, 74 insertions(+), 26 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6qdl-hummingboard2-emmc.dtsi
arch/arm/boot/dts/imx6dl-hummingboard2.dts +1 -0
index 99b6cce13175..b12cd87f3f94 100644
@@ -45,6 +45,7 @@
 #include "imx6qdl-sr-som.dtsi"
 #include "imx6qdl-sr-som-brcm.dtsi"
 #include "imx6qdl-hummingboard2.dtsi"
+#include "imx6qdl-hummingboard2-emmc.dtsi"
 
 / {
 	model = "SolidRun HummingBoard2 Solo/DualLite";
arch/arm/boot/dts/imx6q-hummingboard2.dts +1 -0
index fab388a0f673..5249f53dcdbc 100644
@@ -45,6 +45,7 @@
 #include "imx6qdl-sr-som.dtsi"
 #include "imx6qdl-sr-som-brcm.dtsi"
 #include "imx6qdl-hummingboard2.dtsi"
+#include "imx6qdl-hummingboard2-emmc.dtsi"
 
 / {
 	model = "SolidRun HummingBoard2 Dual/Quad";
arch/arm/boot/dts/imx6qdl-hummingboard2-emmc.dtsi new file +72 -0

72 lines not on this page · raw message

arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +0 -26
index 52ed580cf64a..6954d4875cd8 100644
@@ -441,22 +441,6 @@
 			>;
 		};
 
-		pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 {
-			fsl,pins = <
-				MX6QDL_PAD_SD3_CMD__SD3_CMD    0x17059
-				MX6QDL_PAD_SD3_CLK__SD3_CLK    0x10059
-				MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
-				MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
-				MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
-				MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
-				MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
-				MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
-				MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
-				MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
-				MX6QDL_PAD_SD3_RST__SD3_RESET  0x17059
-			>;
-		};
-
 		pinctrl_hummingboard2_uart3: hummingboard2-uart3 {
 			fsl,pins = <
 				MX6QDL_PAD_EIM_D25__UART3_TX_DATA	0x1b0b1
@@ -515,16 +499,6 @@
 	status = "okay";
 };
 
-&usdhc3 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_hummingboard2_usdhc3>;
-	vmmc-supply = <&reg_3p3v>;
-	vqmmc-supply = <&reg_3p3v>;
-	bus-width = <8>;
-	non-removable;
-	status = "okay";
-};
-
 &uart3 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_hummingboard2_uart3>;
Signature · 1 line
2.7.4
#17 lore raw

PATCH 17/20 ARM: dts: imx6qdl-hummingboard2: add PWM3 support

In reply to Russell King - ARM Linux
---
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +12 -0
index 6954d4875cd8..1089f693ebde 100644
@@ -361,6 +361,12 @@
 			>;
 		};
 
+		pinctrl_hummingboard2_pwm3: pwm3grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1
+			>;
+		};
+
 		pinctrl_hummingboard2_sgtl5000: hummingboard2-sgtl5000 {
 			fsl,pins = <
 				MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0
@@ -463,6 +469,12 @@
 	status = "okay";
 };
 
+&pwm3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_hummingboard2_pwm3>;
+	status = "okay";
+};
+
 &ssi1 {
 	status = "okay";
 };
Signature · 1 line
2.7.4
#18 lore raw

PATCH 18/20 ARM: dts: imx6qdl-hummingboard2: add v1.5 som without eMMC

In reply to Russell King - ARM Linux

Add support for the v1.5 SOM with TI Wi-Fi but without eMMC. As the pinmux settings are different for the microsom, we need to use a separate board-level dts for this as there is no support for overlays.

---
 arch/arm/boot/dts/Makefile                         |  2 +
 arch/arm/boot/dts/imx6dl-hummingboard2-som-v15.dts | 54 +++++++++++++++++++
 arch/arm/boot/dts/imx6q-hummingboard2-som-v15.dts  | 62 ++++++++++++++++++++++
 3 files changed, 118 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6dl-hummingboard2-som-v15.dts
 create mode 100644 arch/arm/boot/dts/imx6q-hummingboard2-som-v15.dts
arch/arm/boot/dts/Makefile +2 -0
index a757e2dd60c4..b72799b464b5 100644
@@ -389,6 +389,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-hummingboard-emmc-som-v15.dtb \
 	imx6dl-hummingboard-som-v15.dtb \
 	imx6dl-hummingboard2.dtb \
+	imx6dl-hummingboard2-som-v15.dtb \
 	imx6dl-icore.dtb \
 	imx6dl-icore-rqs.dtb \
 	imx6dl-nit6xlite.dtb \
@@ -449,6 +450,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6q-hummingboard-emmc-som-v15.dtb \
 	imx6q-hummingboard-som-v15.dtb \
 	imx6q-hummingboard2.dtb \
+	imx6q-hummingboard2-som-v15.dtb \
 	imx6q-icore.dtb \
 	imx6q-icore-ofcap10.dtb \
 	imx6q-icore-ofcap12.dtb \
arch/arm/boot/dts/imx6dl-hummingboard2-som-v15.dts new file +54 -0

54 lines not on this page · raw message

arch/arm/boot/dts/imx6q-hummingboard2-som-v15.dts new file +62 -0

62 lines not on this page · raw message

Signature · 1 line
2.7.4
#19 lore raw

PATCH 19/20 ARM: dts: imx6qdl-hummingboard2: add v1.5 som with eMMC

In reply to Russell King - ARM Linux

Add support for the v1.5 SOM with TI Wi-Fi and eMMC. As the pinmux settings are different for the microsom, we need to use a separate board-level dts for this as there is no support for overlays.

---
 arch/arm/boot/dts/Makefile                         |  2 +
 .../boot/dts/imx6dl-hummingboard2-emmc-som-v15.dts | 55 +++++++++++++++++++
 .../boot/dts/imx6q-hummingboard2-emmc-som-v15.dts  | 63 ++++++++++++++++++++++
 3 files changed, 120 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6dl-hummingboard2-emmc-som-v15.dts
 create mode 100644 arch/arm/boot/dts/imx6q-hummingboard2-emmc-som-v15.dts
arch/arm/boot/dts/Makefile +2 -0
index b72799b464b5..458e2c886c0e 100644
@@ -389,6 +389,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-hummingboard-emmc-som-v15.dtb \
 	imx6dl-hummingboard-som-v15.dtb \
 	imx6dl-hummingboard2.dtb \
+	imx6dl-hummingboard2-emmc-som-v15.dtb \
 	imx6dl-hummingboard2-som-v15.dtb \
 	imx6dl-icore.dtb \
 	imx6dl-icore-rqs.dtb \
@@ -450,6 +451,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6q-hummingboard-emmc-som-v15.dtb \
 	imx6q-hummingboard-som-v15.dtb \
 	imx6q-hummingboard2.dtb \
+	imx6q-hummingboard2-emmc-som-v15.dtb \
 	imx6q-hummingboard2-som-v15.dtb \
 	imx6q-icore.dtb \
 	imx6q-icore-ofcap10.dtb \
arch/arm/boot/dts/imx6dl-hummingboard2-emmc-som-v15.dts new file +55 -0

55 lines not on this page · raw message

arch/arm/boot/dts/imx6q-hummingboard2-emmc-som-v15.dts new file +63 -0

63 lines not on this page · raw message

Signature · 1 line
2.7.4
#20 lore raw

PATCH 20/20 ARM: dts: imx6qdl-hummingboard2: rename regulators to match schematic

In reply to Russell King - ARM Linux

Make the regulators match the schematic - name the regulators after one of their schematic supply names, and arrange them into their heirarchy.

---
 arch/arm/boot/dts/imx6qdl-hummingboard2-emmc.dtsi |  4 +-
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi      | 86 ++++++++++++++---------
 2 files changed, 56 insertions(+), 34 deletions(-)
arch/arm/boot/dts/imx6qdl-hummingboard2-emmc.dtsi +2 -2
index 1aa97817e751..f400405381a7 100644
@@ -64,8 +64,8 @@
 &usdhc3 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_hummingboard2_usdhc3>;
-	vmmc-supply = <&reg_3p3v>;
-	vqmmc-supply = <&reg_3p3v>;
+	vmmc-supply = <&v_3v2>;
+	vqmmc-supply = <&v_3v2>;
 	bus-width = <8>;
 	non-removable;
 	status = "okay";
arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi +54 -32

146 lines not on this page · raw message

Signature · 1 line
2.7.4
reviewer
#21 lore raw

cover Add Hummingboard 2 support

In reply to Russell King - ARM Linux
Quoted 5 lines · Russell King - ARM Linux

Hi,

This series adds the long awaited Hummingboard 2 support to the mainline kernel.

Quoted 7 lines

While I could squash the patch set down, I've not done this because this is the result of several different people over the course of the last couple of years, and I believe it's not right to lose the detail of their contributions.

This builds upon the previous set of changes for the Hummingboard, which re-organised the way we deal with the uSOM and baseboards.

For the series:

Applied
#22 lore raw

cover Add Hummingboard 2 support

In reply to Russell King - ARM Linux
Quoted 13 lines · Russell King - ARM Linux

Hi,

This series adds the long awaited Hummingboard 2 support to the mainline kernel.

While I could squash the patch set down, I've not done this because this is the result of several different people over the course of the last couple of years, and I believe it's not right to lose the detail of their contributions.

This builds upon the previous set of changes for the Hummingboard, which re-organised the way we deal with the uSOM and baseboards.

Quoted 10 lines
 arch/arm/boot/dts/Makefile                         |   6 +
 .../boot/dts/imx6dl-hummingboard2-emmc-som-v15.dts |  55 +++
 arch/arm/boot/dts/imx6dl-hummingboard2-som-v15.dts |  54 +++
 arch/arm/boot/dts/imx6dl-hummingboard2.dts         |  53 ++
 .../boot/dts/imx6q-hummingboard2-emmc-som-v15.dts  |  63 +++
 arch/arm/boot/dts/imx6q-hummingboard2-som-v15.dts  |  62 +++
 arch/arm/boot/dts/imx6q-hummingboard2.dts          |  61 +++
 arch/arm/boot/dts/imx6qdl-hummingboard2-emmc.dtsi  |  72 +++
 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi       | 540 +++++++++++++++++++++
 9 files changed, 966 insertions(+)

Applied all, thanks.