linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board
@ 2021-05-11 19:35 Adrien Grassein
  2021-05-11 19:35 ` [PATCH v4 1/4] arm64: dts: imx8mq-nitrogen: add USB OTG support Adrien Grassein
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Adrien Grassein @ 2021-05-11 19:35 UTC (permalink / raw)
  Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx,
	catalin.marinas, will, bjorn.andersson, krzk, devicetree,
	linux-arm-kernel, linux-kernel, Adrien Grassein

Hi,

this patch set aims is to add support of multiple peripheral of the
Boundary8M board:
  - USB Host;
  - USB device;
  - DB_DSIHD sub board for MIPI-DSI to HDMI output (via lt8912b chip).


Updates in v2:
  - Use a GPIO hog to handle the USB HOST reset line;
  - Remove useless GPIO hog for lt8912b.

Update in v3:
  - Fix bad squash in git commits.

Updtaes in v4:
  - Fix issues found during review (bad DTS style);
  - Fix comment for the USB HOST.

Thanks,

Adrien Grassein (4):
  arm64: dts: imx8mq-nitrogen: add USB OTG support
  arm64: dts: imx8mq-nitrogen: add USB HOST support
  arm64: dts: imx8mq-nitrogen: add lt8912 MIPI-DSI to HDMI
  arm64: defconfig: Enable LT8912B DRM bridge driver

 .../boot/dts/freescale/imx8mq-nitrogen.dts    | 182 ++++++++++++++++++
 arch/arm64/configs/defconfig                  |   1 +
 2 files changed, 183 insertions(+)

-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v4 1/4] arm64: dts: imx8mq-nitrogen: add USB OTG support
  2021-05-11 19:35 [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board Adrien Grassein
@ 2021-05-11 19:35 ` Adrien Grassein
  2021-05-11 19:35 ` [PATCH v4 2/4] arm64: dts: imx8mq-nitrogen: add USB HOST support Adrien Grassein
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Adrien Grassein @ 2021-05-11 19:35 UTC (permalink / raw)
  Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx,
	catalin.marinas, will, bjorn.andersson, krzk, devicetree,
	linux-arm-kernel, linux-kernel, Adrien Grassein

Add the description for the USB OTG port.
The OTG port uses a dedicated regulator for vbus.

Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com>
---
 .../boot/dts/freescale/imx8mq-nitrogen.dts    | 35 +++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
index 81d269296610..b46f45a82be1 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
@@ -34,6 +34,17 @@ power {
 		};
 	};
 
+	reg_usb_otg_vbus: regulator-usb-otg-vbus {
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_reg_usbotg_vbus>;
+		regulator-name = "usb_otg_vbus";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
 	reg_vref_0v9: regulator-vref-0v9 {
 		compatible = "regulator-fixed";
 		regulator-name = "vref-0v9";
@@ -190,6 +201,18 @@ &uart2 {
 	status = "okay";
 };
 
+&usb_dwc3_0 {
+	dr_mode = "otg";
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usb3_0>;
+	status = "okay";
+};
+
+&usb3_phy0 {
+	vbus-supply = <&reg_usb_otg_vbus>;
+	status = "okay";
+};
+
 &usdhc1 {
 	assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
 	assigned-clock-rates = <400000000>;
@@ -339,6 +362,12 @@ MX8MQ_IOMUXC_SD2_WP_GPIO2_IO20		0x16
 		>;
 	};
 
+	pinctrl_reg_usbotg_vbus: reg-usbotg-vbusgrp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_GPIO1_IO12_GPIO1_IO12	0x16
+		>;
+	};
+
 	pinctrl_uart1: uart1grp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX		0x45
@@ -353,6 +382,12 @@ MX8MQ_IOMUXC_UART2_TXD_UART2_DCE_TX		0x45
 		>;
 	};
 
+	pinctrl_usb3_0: usb3-0grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_GPIO1_IO13_USB1_OTG_OC		0x16
+		>;
+	};
+
 	pinctrl_usdhc1: usdhc1grp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x83
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v4 2/4] arm64: dts: imx8mq-nitrogen: add USB HOST support
  2021-05-11 19:35 [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board Adrien Grassein
  2021-05-11 19:35 ` [PATCH v4 1/4] arm64: dts: imx8mq-nitrogen: add USB OTG support Adrien Grassein
@ 2021-05-11 19:35 ` Adrien Grassein
  2021-05-11 19:36 ` [PATCH v4 3/4] arm64: dts: imx8mq-nitrogen: add lt8912 MIPI-DSI to HDMI Adrien Grassein
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Adrien Grassein @ 2021-05-11 19:35 UTC (permalink / raw)
  Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx,
	catalin.marinas, will, bjorn.andersson, krzk, devicetree,
	linux-arm-kernel, linux-kernel, Adrien Grassein

Add the description for the USB host port.
This port is linked to a resettable USB HUB so handle
this reset signal with a GPIO hog.

Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com>
---
 .../boot/dts/freescale/imx8mq-nitrogen.dts    | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
index b46f45a82be1..5553f3c84dbc 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
@@ -102,6 +102,15 @@ ethphy0: ethernet-phy@4 {
 	};
 };
 
+/* Release reset of the USB Host HUB */
+&gpio1 {
+	usb-host-reset-hog {
+		gpio-hog;
+		gpios = <14 GPIO_ACTIVE_HIGH>;
+		output-high;
+	};
+};
+
 &i2c1 {
 	clock-frequency = <400000>;
 	pinctrl-names = "default";
@@ -213,6 +222,17 @@ &usb3_phy0 {
 	status = "okay";
 };
 
+&usb_dwc3_1 {
+	dr_mode = "host";
+	status = "okay";
+};
+
+&usb3_phy1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usb3_1>;
+	status = "okay";
+};
+
 &usdhc1 {
 	assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
 	assigned-clock-rates = <400000000>;
@@ -388,6 +408,12 @@ MX8MQ_IOMUXC_GPIO1_IO13_USB1_OTG_OC		0x16
 		>;
 	};
 
+	pinctrl_usb3_1: usb3-1grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_GPIO1_IO14_GPIO1_IO14		0x16
+		>;
+	};
+
 	pinctrl_usdhc1: usdhc1grp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK			0x83
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v4 3/4] arm64: dts: imx8mq-nitrogen: add lt8912 MIPI-DSI to HDMI
  2021-05-11 19:35 [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board Adrien Grassein
  2021-05-11 19:35 ` [PATCH v4 1/4] arm64: dts: imx8mq-nitrogen: add USB OTG support Adrien Grassein
  2021-05-11 19:35 ` [PATCH v4 2/4] arm64: dts: imx8mq-nitrogen: add USB HOST support Adrien Grassein
@ 2021-05-11 19:36 ` Adrien Grassein
  2021-05-11 19:36 ` [PATCH v4 4/4] arm64: defconfig: Enable LT8912B DRM bridge driver Adrien Grassein
  2021-05-13  1:57 ` [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board Shawn Guo
  4 siblings, 0 replies; 7+ messages in thread
From: Adrien Grassein @ 2021-05-11 19:36 UTC (permalink / raw)
  Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx,
	catalin.marinas, will, bjorn.andersson, krzk, devicetree,
	linux-arm-kernel, linux-kernel, Adrien Grassein

Add support of the lt8912b in the DTB.
This adds the support of the DB_DSIHD daugther board from
Boundary Devices.

Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com>
---
 .../boot/dts/freescale/imx8mq-nitrogen.dts    | 121 ++++++++++++++++++
 1 file changed, 121 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
index 5553f3c84dbc..f70fb32b96b0 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts
@@ -34,6 +34,19 @@ power {
 		};
 	};
 
+	hdmi-connector {
+		compatible = "hdmi-connector";
+		ddc-i2c-bus = <&ddc_i2c_bus>;
+		label = "hdmi";
+		type = "a";
+
+		port {
+			hdmi_connector_in: endpoint {
+				remote-endpoint = <&lt8912_out>;
+			};
+		};
+	};
+
 	reg_usb_otg_vbus: regulator-usb-otg-vbus {
 		compatible = "regulator-fixed";
 		pinctrl-names = "default";
@@ -81,6 +94,9 @@ reg_vref_5v: regulator-vref-5v {
 	};
 };
 
+&dphy {
+	status = "okay";
+};
 
 &fec1 {
 	pinctrl-names = "default";
@@ -194,6 +210,98 @@ rtc@68 {
 	};
 };
 
+&i2c4 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c4>;
+	status = "okay";
+
+	pca9546: i2cmux@70 {
+		compatible = "nxp,pca9546";
+		reg = <0x70>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		i2c4@0 {
+			reg = <0>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clock-frequency = <100000>;
+
+			hdmi-bridge@48 {
+				compatible = "lontium,lt8912b";
+				reg = <0x48> ;
+				reset-gpios = <&max7323 0 GPIO_ACTIVE_LOW>;
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					port@0 {
+						reg = <0>;
+
+						hdmi_out_in: endpoint {
+							data-lanes = <1 2 3 4>;
+							remote-endpoint = <&mipi_dsi_out>;
+						};
+					};
+
+					port@1 {
+						reg = <1>;
+
+						lt8912_out: endpoint {
+							remote-endpoint = <&hdmi_connector_in>;
+						};
+					};
+				};
+			};
+		};
+
+		ddc_i2c_bus: i2c4@1 {
+			reg = <1>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clock-frequency = <100000>;
+		};
+
+		i2c4@3 {
+			reg = <3>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clock-frequency = <100000>;
+
+			max7323: gpio-expander@68 {
+				compatible = "maxim,max7323";
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_max7323>;
+				gpio-controller;
+				reg = <0x68>;
+				#gpio-cells = <2>;
+			};
+		};
+	};
+};
+
+&lcdif {
+	status = "okay";
+};
+
+&mipi_dsi {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+
+	ports {
+		port@1 {
+			reg = <1>;
+
+			mipi_dsi_out: endpoint {
+				remote-endpoint = <&hdmi_out_in>;
+			};
+		};
+	};
+};
+
 &uart1 { /* console */
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart1>;
@@ -364,6 +472,19 @@ MX8MQ_IOMUXC_GPIO1_IO06_GPIO1_IO6		0x49
 		>;
 	};
 
+	pinctrl_i2c4: i2c4grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_I2C4_SCL_I2C4_SCL			0x4000007f
+			MX8MQ_IOMUXC_I2C4_SDA_I2C4_SDA			0x4000007f
+		>;
+	};
+
+	pinctrl_max7323: max7323grp {
+		fsl,pins = <
+			MX8MQ_IOMUXC_NAND_RE_B_GPIO3_IO15 0x19
+		>;
+	};
+
 	pinctrl_reg_arm_dram: reg-arm-dramgrp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_SAI5_RXD3_GPIO3_IO24	0x16
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v4 4/4] arm64: defconfig: Enable LT8912B DRM bridge driver
  2021-05-11 19:35 [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board Adrien Grassein
                   ` (2 preceding siblings ...)
  2021-05-11 19:36 ` [PATCH v4 3/4] arm64: dts: imx8mq-nitrogen: add lt8912 MIPI-DSI to HDMI Adrien Grassein
@ 2021-05-11 19:36 ` Adrien Grassein
  2021-05-11 20:50   ` Robert Foss
  2021-05-13  1:57 ` [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board Shawn Guo
  4 siblings, 1 reply; 7+ messages in thread
From: Adrien Grassein @ 2021-05-11 19:36 UTC (permalink / raw)
  Cc: robh+dt, shawnguo, s.hauer, kernel, festevam, linux-imx,
	catalin.marinas, will, bjorn.andersson, krzk, devicetree,
	linux-arm-kernel, linux-kernel, Adrien Grassein

This driver is used by the Nitrogen8 SBC.

Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com>
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 08c6f769df9a..45db77d1a657 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -701,6 +701,7 @@ CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
 CONFIG_DRM_PANEL_SITRONIX_ST7703=m
 CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
 CONFIG_DRM_DISPLAY_CONNECTOR=m
+CONFIG_DRM_LONTIUM_LT8912B=m
 CONFIG_DRM_NWL_MIPI_DSI=m
 CONFIG_DRM_LONTIUM_LT9611=m
 CONFIG_DRM_PARADE_PS8640=m
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v4 4/4] arm64: defconfig: Enable LT8912B DRM bridge driver
  2021-05-11 19:36 ` [PATCH v4 4/4] arm64: defconfig: Enable LT8912B DRM bridge driver Adrien Grassein
@ 2021-05-11 20:50   ` Robert Foss
  0 siblings, 0 replies; 7+ messages in thread
From: Robert Foss @ 2021-05-11 20:50 UTC (permalink / raw)
  To: Adrien Grassein
  Cc: Rob Herring, shawnguo, s.hauer, kernel, Fabio Estevam, linux-imx,
	Catalin Marinas, Will Deacon, Bjorn Andersson,
	Krzysztof Kozlowski,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	linux-kernel

Hey Adrien,

On Tue, 11 May 2021 at 21:36, Adrien Grassein <adrien.grassein@gmail.com> wrote:
>
> This driver is used by the Nitrogen8 SBC.
>
> Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com>
> ---
>  arch/arm64/configs/defconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
> index 08c6f769df9a..45db77d1a657 100644
> --- a/arch/arm64/configs/defconfig
> +++ b/arch/arm64/configs/defconfig
> @@ -701,6 +701,7 @@ CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
>  CONFIG_DRM_PANEL_SITRONIX_ST7703=m
>  CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
>  CONFIG_DRM_DISPLAY_CONNECTOR=m
> +CONFIG_DRM_LONTIUM_LT8912B=m
>  CONFIG_DRM_NWL_MIPI_DSI=m
>  CONFIG_DRM_LONTIUM_LT9611=m
>  CONFIG_DRM_PARADE_PS8640=m

Reviewed-by: Robert Foss <robert.foss@linaro.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board
  2021-05-11 19:35 [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board Adrien Grassein
                   ` (3 preceding siblings ...)
  2021-05-11 19:36 ` [PATCH v4 4/4] arm64: defconfig: Enable LT8912B DRM bridge driver Adrien Grassein
@ 2021-05-13  1:57 ` Shawn Guo
  4 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2021-05-13  1:57 UTC (permalink / raw)
  To: Adrien Grassein
  Cc: robh+dt, s.hauer, kernel, festevam, linux-imx, catalin.marinas,
	will, bjorn.andersson, krzk, devicetree, linux-arm-kernel,
	linux-kernel

On Tue, May 11, 2021 at 09:35:57PM +0200, Adrien Grassein wrote:
> Hi,
> 
> this patch set aims is to add support of multiple peripheral of the
> Boundary8M board:
>   - USB Host;
>   - USB device;
>   - DB_DSIHD sub board for MIPI-DSI to HDMI output (via lt8912b chip).
> 
> 
> Updates in v2:
>   - Use a GPIO hog to handle the USB HOST reset line;
>   - Remove useless GPIO hog for lt8912b.
> 
> Update in v3:
>   - Fix bad squash in git commits.
> 
> Updtaes in v4:
>   - Fix issues found during review (bad DTS style);
>   - Fix comment for the USB HOST.
> 
> Thanks,
> 
> Adrien Grassein (4):
>   arm64: dts: imx8mq-nitrogen: add USB OTG support
>   arm64: dts: imx8mq-nitrogen: add USB HOST support
>   arm64: dts: imx8mq-nitrogen: add lt8912 MIPI-DSI to HDMI
>   arm64: defconfig: Enable LT8912B DRM bridge driver

Applied all, thanks.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-05-13  1:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-11 19:35 [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board Adrien Grassein
2021-05-11 19:35 ` [PATCH v4 1/4] arm64: dts: imx8mq-nitrogen: add USB OTG support Adrien Grassein
2021-05-11 19:35 ` [PATCH v4 2/4] arm64: dts: imx8mq-nitrogen: add USB HOST support Adrien Grassein
2021-05-11 19:36 ` [PATCH v4 3/4] arm64: dts: imx8mq-nitrogen: add lt8912 MIPI-DSI to HDMI Adrien Grassein
2021-05-11 19:36 ` [PATCH v4 4/4] arm64: defconfig: Enable LT8912B DRM bridge driver Adrien Grassein
2021-05-11 20:50   ` Robert Foss
2021-05-13  1:57 ` [PATCH v4 0/4] Add peripheral support to imx8mq-nitrogen board Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).