diff mbox series

[RESEND,v2,2/2] arm64: dts: mediatek: mt8183-pumpkin: add HDMI support

Message ID 20240819120735.1508789-2-treapking@chromium.org (mailing list archive)
State New, archived
Headers show
Series [RESEND,v2,1/2] arm64: dts: mt8183: add dpi node to mt8183 | expand

Commit Message

Pin-yen Lin Aug. 19, 2024, 12:05 p.m. UTC
From: Fabien Parent <fparent@baylibre.com>

The MT8183 Pumpkin board has a micro-HDMI connector. HDMI support is
provided by an IT66121 DPI <-> HDMI bridge.

This commit enables DPI and add the node for the IT66121 bridge.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Pin-yen Lin <treapking@chromium.org>

---

(no changes since v1)

 .../boot/dts/mediatek/mt8183-pumpkin.dts      | 121 ++++++++++++++++++
 1 file changed, 121 insertions(+)

Comments

Nícolas F. R. A. Prado Aug. 30, 2024, 9:34 p.m. UTC | #1
On Mon, Aug 19, 2024 at 08:05:56PM +0800, Pin-yen Lin wrote:
> From: Fabien Parent <fparent@baylibre.com>
> 
> The MT8183 Pumpkin board has a micro-HDMI connector. HDMI support is
> provided by an IT66121 DPI <-> HDMI bridge.
> 
> This commit enables DPI and add the node for the IT66121 bridge.

Make it imperative [1]:

Enable the DPI and add the node for the IT66121 bridge.

[1] https://www.kernel.org/doc/html/latest/process/submitting-patches.html#describe-your-changes

> 
> Signed-off-by: Fabien Parent <fparent@baylibre.com>

You should also add a Co-developed-by tag for yourself since you made (or will
make) changes to this commit.

> Signed-off-by: Pin-yen Lin <treapking@chromium.org>
> 
> ---
> 
> (no changes since v1)
> 
>  .../boot/dts/mediatek/mt8183-pumpkin.dts      | 121 ++++++++++++++++++
>  1 file changed, 121 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
> index 1aa668c3ccf9..ecc237355b56 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
[..]
> @@ -120,6 +132,41 @@ &i2c6 {
>  	pinctrl-0 = <&i2c6_pins>;
>  	status = "okay";
>  	clock-frequency = <100000>;
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	it66121hdmitx: hdmitx@4c {
> +		compatible = "ite,it66121";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&ite_pins>;
> +		vcn33-supply = <&mt6358_vcn33_wifi_reg>;

As pointed out by lkp this label doesn't exist:
https://lore.kernel.org/all/202408200703.MYO1s3Ne-lkp@intel.com/

See 9a8014b1d4d2 ("arm64: dts: mediatek: mt6358: Merge ldo_vcn33_* regulators").

> +		vcn18-supply = <&mt6358_vcn18_reg>;
> +		vrf12-supply = <&mt6358_vrf12_reg>;
> +		reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>;
> +		interrupt-parent = <&pio>;
> +		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
> +		reg = <0x4c>;

Please take a look at https://docs.kernel.org/devicetree/bindings/dts-coding-style.html
for among other things, suggested ordering of properties in nodes. reg is
commonly the second property.

> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;

Add a blank line here.

> +				it66121_in: endpoint {
> +					bus-width = <12>;
> +					remote-endpoint = <&dpi_out>;
> +				};
> +			};
> +
> +			port@1 {
> +				reg = <1>;

Ditto.

Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>

Thanks,
Nícolas
Matthias Brugger Sept. 2, 2024, 3:44 p.m. UTC | #2
On 19/08/2024 14:05, Pin-yen Lin wrote:
> From: Fabien Parent <fparent@baylibre.com>
> 
> The MT8183 Pumpkin board has a micro-HDMI connector. HDMI support is
> provided by an IT66121 DPI <-> HDMI bridge.
> 
> This commit enables DPI and add the node for the IT66121 bridge.
> 
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> Signed-off-by: Pin-yen Lin <treapking@chromium.org>
> 

Building DTB fais with:
arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts:138.27-169.4: ERROR 
(phandle_references): /soc/i2c@11005000/hdmitx@4c: Reference to non-existent 
node or label "mt6358_vcn33_wifi_reg"

Please check your code before submitting.

Regards,
Matthias

> ---
> 
> (no changes since v1)
> 
>   .../boot/dts/mediatek/mt8183-pumpkin.dts      | 121 ++++++++++++++++++
>   1 file changed, 121 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
> index 1aa668c3ccf9..ecc237355b56 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
> @@ -63,6 +63,18 @@ thermistor {
>   		pulldown-ohm = <0>;
>   		io-channels = <&auxadc 0>;
>   	};
> +
> +	connector {
> +		compatible = "hdmi-connector";
> +		label = "hdmi";
> +		type = "d";
> +
> +		port {
> +			hdmi_connector_in: endpoint {
> +				remote-endpoint = <&hdmi_connector_out>;
> +			};
> +		};
> +	};
>   };
>   
>   &auxadc {
> @@ -120,6 +132,41 @@ &i2c6 {
>   	pinctrl-0 = <&i2c6_pins>;
>   	status = "okay";
>   	clock-frequency = <100000>;
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	it66121hdmitx: hdmitx@4c {
> +		compatible = "ite,it66121";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&ite_pins>;
> +		vcn33-supply = <&mt6358_vcn33_wifi_reg>;
> +		vcn18-supply = <&mt6358_vcn18_reg>;
> +		vrf12-supply = <&mt6358_vrf12_reg>;
> +		reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>;
> +		interrupt-parent = <&pio>;
> +		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
> +		reg = <0x4c>;
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +				it66121_in: endpoint {
> +					bus-width = <12>;
> +					remote-endpoint = <&dpi_out>;
> +				};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +				hdmi_connector_out: endpoint {
> +					remote-endpoint = <&hdmi_connector_in>;
> +				};
> +			};
> +		};
> +	};
>   };
>   
>   &keyboard {
> @@ -362,6 +409,67 @@ pins_clk {
>   			input-enable;
>   		};
>   	};
> +
> +	ite_pins: ite-pins {
> +		pins-irq {
> +			pinmux = <PINMUX_GPIO4__FUNC_GPIO4>;
> +			input-enable;
> +			bias-pull-up;
> +		};
> +
> +		pins-rst {
> +			pinmux = <PINMUX_GPIO160__FUNC_GPIO160>;
> +			output-high;
> +		};
> +	};
> +
> +	dpi_func_pins: dpi-func-pins {
> +		pins-dpi {
> +			pinmux = <PINMUX_GPIO12__FUNC_I2S5_BCK>,
> +				 <PINMUX_GPIO46__FUNC_I2S5_LRCK>,
> +				 <PINMUX_GPIO47__FUNC_I2S5_DO>,
> +				 <PINMUX_GPIO13__FUNC_DBPI_D0>,
> +				 <PINMUX_GPIO14__FUNC_DBPI_D1>,
> +				 <PINMUX_GPIO15__FUNC_DBPI_D2>,
> +				 <PINMUX_GPIO16__FUNC_DBPI_D3>,
> +				 <PINMUX_GPIO17__FUNC_DBPI_D4>,
> +				 <PINMUX_GPIO18__FUNC_DBPI_D5>,
> +				 <PINMUX_GPIO19__FUNC_DBPI_D6>,
> +				 <PINMUX_GPIO20__FUNC_DBPI_D7>,
> +				 <PINMUX_GPIO21__FUNC_DBPI_D8>,
> +				 <PINMUX_GPIO22__FUNC_DBPI_D9>,
> +				 <PINMUX_GPIO23__FUNC_DBPI_D10>,
> +				 <PINMUX_GPIO24__FUNC_DBPI_D11>,
> +				 <PINMUX_GPIO25__FUNC_DBPI_HSYNC>,
> +				 <PINMUX_GPIO26__FUNC_DBPI_VSYNC>,
> +				 <PINMUX_GPIO27__FUNC_DBPI_DE>,
> +				 <PINMUX_GPIO28__FUNC_DBPI_CK>;
> +		};
> +	};
> +
> +	dpi_idle_pins: dpi-idle-pins {
> +		pins-idle {
> +			pinmux = <PINMUX_GPIO12__FUNC_GPIO12>,
> +				 <PINMUX_GPIO46__FUNC_GPIO46>,
> +				 <PINMUX_GPIO47__FUNC_GPIO47>,
> +				 <PINMUX_GPIO13__FUNC_GPIO13>,
> +				 <PINMUX_GPIO14__FUNC_GPIO14>,
> +				 <PINMUX_GPIO15__FUNC_GPIO15>,
> +				 <PINMUX_GPIO16__FUNC_GPIO16>,
> +				 <PINMUX_GPIO17__FUNC_GPIO17>,
> +				 <PINMUX_GPIO18__FUNC_GPIO18>,
> +				 <PINMUX_GPIO19__FUNC_GPIO19>,
> +				 <PINMUX_GPIO20__FUNC_GPIO20>,
> +				 <PINMUX_GPIO21__FUNC_GPIO21>,
> +				 <PINMUX_GPIO22__FUNC_GPIO22>,
> +				 <PINMUX_GPIO23__FUNC_GPIO23>,
> +				 <PINMUX_GPIO24__FUNC_GPIO24>,
> +				 <PINMUX_GPIO25__FUNC_GPIO25>,
> +				 <PINMUX_GPIO26__FUNC_GPIO26>,
> +				 <PINMUX_GPIO27__FUNC_GPIO27>,
> +				 <PINMUX_GPIO28__FUNC_GPIO28>;
> +		};
> +	};
>   };
>   
>   &pmic {
> @@ -415,3 +523,16 @@ &scp {
>   &dsi0 {
>   	status = "disabled";
>   };
> +
> +&dpi0 {
> +	pinctrl-names = "default", "sleep";
> +	pinctrl-0 = <&dpi_func_pins>;
> +	pinctrl-1 = <&dpi_idle_pins>;
> +	status = "okay";
> +
> +	port {
> +		dpi_out: endpoint {
> +			remote-endpoint = <&it66121_in>;
> +		};
> +	};
> +};
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
index 1aa668c3ccf9..ecc237355b56 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
@@ -63,6 +63,18 @@  thermistor {
 		pulldown-ohm = <0>;
 		io-channels = <&auxadc 0>;
 	};
+
+	connector {
+		compatible = "hdmi-connector";
+		label = "hdmi";
+		type = "d";
+
+		port {
+			hdmi_connector_in: endpoint {
+				remote-endpoint = <&hdmi_connector_out>;
+			};
+		};
+	};
 };
 
 &auxadc {
@@ -120,6 +132,41 @@  &i2c6 {
 	pinctrl-0 = <&i2c6_pins>;
 	status = "okay";
 	clock-frequency = <100000>;
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	it66121hdmitx: hdmitx@4c {
+		compatible = "ite,it66121";
+		pinctrl-names = "default";
+		pinctrl-0 = <&ite_pins>;
+		vcn33-supply = <&mt6358_vcn33_wifi_reg>;
+		vcn18-supply = <&mt6358_vcn18_reg>;
+		vrf12-supply = <&mt6358_vrf12_reg>;
+		reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>;
+		interrupt-parent = <&pio>;
+		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
+		reg = <0x4c>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+				it66121_in: endpoint {
+					bus-width = <12>;
+					remote-endpoint = <&dpi_out>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+				hdmi_connector_out: endpoint {
+					remote-endpoint = <&hdmi_connector_in>;
+				};
+			};
+		};
+	};
 };
 
 &keyboard {
@@ -362,6 +409,67 @@  pins_clk {
 			input-enable;
 		};
 	};
+
+	ite_pins: ite-pins {
+		pins-irq {
+			pinmux = <PINMUX_GPIO4__FUNC_GPIO4>;
+			input-enable;
+			bias-pull-up;
+		};
+
+		pins-rst {
+			pinmux = <PINMUX_GPIO160__FUNC_GPIO160>;
+			output-high;
+		};
+	};
+
+	dpi_func_pins: dpi-func-pins {
+		pins-dpi {
+			pinmux = <PINMUX_GPIO12__FUNC_I2S5_BCK>,
+				 <PINMUX_GPIO46__FUNC_I2S5_LRCK>,
+				 <PINMUX_GPIO47__FUNC_I2S5_DO>,
+				 <PINMUX_GPIO13__FUNC_DBPI_D0>,
+				 <PINMUX_GPIO14__FUNC_DBPI_D1>,
+				 <PINMUX_GPIO15__FUNC_DBPI_D2>,
+				 <PINMUX_GPIO16__FUNC_DBPI_D3>,
+				 <PINMUX_GPIO17__FUNC_DBPI_D4>,
+				 <PINMUX_GPIO18__FUNC_DBPI_D5>,
+				 <PINMUX_GPIO19__FUNC_DBPI_D6>,
+				 <PINMUX_GPIO20__FUNC_DBPI_D7>,
+				 <PINMUX_GPIO21__FUNC_DBPI_D8>,
+				 <PINMUX_GPIO22__FUNC_DBPI_D9>,
+				 <PINMUX_GPIO23__FUNC_DBPI_D10>,
+				 <PINMUX_GPIO24__FUNC_DBPI_D11>,
+				 <PINMUX_GPIO25__FUNC_DBPI_HSYNC>,
+				 <PINMUX_GPIO26__FUNC_DBPI_VSYNC>,
+				 <PINMUX_GPIO27__FUNC_DBPI_DE>,
+				 <PINMUX_GPIO28__FUNC_DBPI_CK>;
+		};
+	};
+
+	dpi_idle_pins: dpi-idle-pins {
+		pins-idle {
+			pinmux = <PINMUX_GPIO12__FUNC_GPIO12>,
+				 <PINMUX_GPIO46__FUNC_GPIO46>,
+				 <PINMUX_GPIO47__FUNC_GPIO47>,
+				 <PINMUX_GPIO13__FUNC_GPIO13>,
+				 <PINMUX_GPIO14__FUNC_GPIO14>,
+				 <PINMUX_GPIO15__FUNC_GPIO15>,
+				 <PINMUX_GPIO16__FUNC_GPIO16>,
+				 <PINMUX_GPIO17__FUNC_GPIO17>,
+				 <PINMUX_GPIO18__FUNC_GPIO18>,
+				 <PINMUX_GPIO19__FUNC_GPIO19>,
+				 <PINMUX_GPIO20__FUNC_GPIO20>,
+				 <PINMUX_GPIO21__FUNC_GPIO21>,
+				 <PINMUX_GPIO22__FUNC_GPIO22>,
+				 <PINMUX_GPIO23__FUNC_GPIO23>,
+				 <PINMUX_GPIO24__FUNC_GPIO24>,
+				 <PINMUX_GPIO25__FUNC_GPIO25>,
+				 <PINMUX_GPIO26__FUNC_GPIO26>,
+				 <PINMUX_GPIO27__FUNC_GPIO27>,
+				 <PINMUX_GPIO28__FUNC_GPIO28>;
+		};
+	};
 };
 
 &pmic {
@@ -415,3 +523,16 @@  &scp {
 &dsi0 {
 	status = "disabled";
 };
+
+&dpi0 {
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&dpi_func_pins>;
+	pinctrl-1 = <&dpi_idle_pins>;
+	status = "okay";
+
+	port {
+		dpi_out: endpoint {
+			remote-endpoint = <&it66121_in>;
+		};
+	};
+};