2024-05-14 01:08:44

by Marek Vasut

[permalink] [raw]
Subject: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
of HDMI DDC mode to permit connection of other I2C devices on those buses.
The pinctrl_hdmi node is part of the SoM DTSI already.

Signed-off-by: Marek Vasut <[email protected]>
---
Cc: Conor Dooley <[email protected]>
Cc: Fabio Estevam <[email protected]>
Cc: Krzysztof Kozlowski <[email protected]>
Cc: Pengutronix Kernel Team <[email protected]>
Cc: Rob Herring <[email protected]>
Cc: Sascha Hauer <[email protected]>
Cc: Shawn Guo <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
.../boot/dts/freescale/imx8mp-dhcom-pdk2.dts | 39 +++++++++++++++++++
.../boot/dts/freescale/imx8mp-dhcom-pdk3.dts | 39 +++++++++++++++++++
2 files changed, 78 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dts b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dts
index 3b1c940860e02..ebdf13e97b4e2 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dts
@@ -69,6 +69,18 @@ button-3 {
};
};

+ hdmi-connector {
+ compatible = "hdmi-connector";
+ label = "X38";
+ type = "a";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&hdmi_tx_out>;
+ };
+ };
+ };
+
led {
compatible = "gpio-leds";

@@ -184,6 +196,33 @@ &flexcan1 {
status = "okay";
};

+&hdmi_pvi {
+ status = "okay";
+};
+
+&hdmi_tx {
+ ddc-i2c-bus = <&i2c5>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hdmi>;
+ status = "okay";
+
+ ports {
+ port@1 {
+ hdmi_tx_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+};
+
+&hdmi_tx_phy {
+ status = "okay";
+};
+
+&lcdif3 {
+ status = "okay";
+};
+
&pcie_phy {
clock-names = "ref";
clocks = <&hsio_blk_ctrl>;
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk3.dts b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk3.dts
index ac7ec7533a3c8..ef012e8365b1f 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk3.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk3.dts
@@ -75,6 +75,18 @@ button-3 {
};
};

+ hdmi-connector {
+ compatible = "hdmi-connector";
+ label = "X28";
+ type = "a";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&hdmi_tx_out>;
+ };
+ };
+ };
+
led {
compatible = "gpio-leds";

@@ -248,6 +260,33 @@ &flexcan1 {
status = "okay";
};

+&hdmi_pvi {
+ status = "okay";
+};
+
+&hdmi_tx {
+ ddc-i2c-bus = <&i2cmuxed1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hdmi>;
+ status = "okay";
+
+ ports {
+ port@1 {
+ hdmi_tx_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+};
+
+&hdmi_tx_phy {
+ status = "okay";
+};
+
+&lcdif3 {
+ status = "okay";
+};
+
&pcie_phy {
clocks = <&pcieclk 1>;
clock-names = "ref";
--
2.43.0



2024-05-14 12:53:46

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3


On Tue, 14 May 2024 03:06:42 +0200, Marek Vasut wrote:
> Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
> I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
> of HDMI DDC mode to permit connection of other I2C devices on those buses.
> The pinctrl_hdmi node is part of the SoM DTSI already.
>
> Signed-off-by: Marek Vasut <[email protected]>
> ---
> Cc: Conor Dooley <[email protected]>
> Cc: Fabio Estevam <[email protected]>
> Cc: Krzysztof Kozlowski <[email protected]>
> Cc: Pengutronix Kernel Team <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Sascha Hauer <[email protected]>
> Cc: Shawn Guo <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
> .../boot/dts/freescale/imx8mp-dhcom-pdk2.dts | 39 +++++++++++++++++++
> .../boot/dts/freescale/imx8mp-dhcom-pdk3.dts | 39 +++++++++++++++++++
> 2 files changed, 78 insertions(+)
>


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y freescale/imx8mp-dhcom-pdk2.dtb freescale/imx8mp-dhcom-pdk3.dtb' for [email protected]:

arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dtb: hdmi@32fd8000: Unevaluated properties are not allowed ('ddc-i2c-bus' was unexpected)
from schema $id: http://devicetree.org/schemas/display/bridge/fsl,imx8mp-hdmi-tx.yaml#
arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk3.dtb: hdmi@32fd8000: Unevaluated properties are not allowed ('ddc-i2c-bus' was unexpected)
from schema $id: http://devicetree.org/schemas/display/bridge/fsl,imx8mp-hdmi-tx.yaml#






2024-05-14 22:18:18

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

On 5/14/24 2:53 PM, Rob Herring (Arm) wrote:
>
> On Tue, 14 May 2024 03:06:42 +0200, Marek Vasut wrote:
>> Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
>> I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
>> of HDMI DDC mode to permit connection of other I2C devices on those buses.
>> The pinctrl_hdmi node is part of the SoM DTSI already.
>>
>> Signed-off-by: Marek Vasut <[email protected]>
>> ---
>> Cc: Conor Dooley <[email protected]>
>> Cc: Fabio Estevam <[email protected]>
>> Cc: Krzysztof Kozlowski <[email protected]>
>> Cc: Pengutronix Kernel Team <[email protected]>
>> Cc: Rob Herring <[email protected]>
>> Cc: Sascha Hauer <[email protected]>
>> Cc: Shawn Guo <[email protected]>
>> Cc: [email protected]
>> Cc: [email protected]
>> Cc: [email protected]
>> Cc: [email protected]
>> Cc: [email protected]
>> ---
>> .../boot/dts/freescale/imx8mp-dhcom-pdk2.dts | 39 +++++++++++++++++++
>> .../boot/dts/freescale/imx8mp-dhcom-pdk3.dts | 39 +++++++++++++++++++
>> 2 files changed, 78 insertions(+)
>>
>
>
> My bot found new DTB warnings on the .dts files added or changed in this
> series.
>
> Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
> are fixed by another series. Ultimately, it is up to the platform
> maintainer whether these warnings are acceptable or not. No need to reply
> unless the platform maintainer has comments.
>
> If you already ran DT checks and didn't see these error(s), then
> make sure dt-schema is up to date:
>
> pip3 install dtschema --upgrade
>
>
> New warnings running 'make CHECK_DTBS=y freescale/imx8mp-dhcom-pdk2.dtb freescale/imx8mp-dhcom-pdk3.dtb' for [email protected]:
>
> arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dtb: hdmi@32fd8000: Unevaluated properties are not allowed ('ddc-i2c-bus' was unexpected)
> from schema $id: http://devicetree.org/schemas/display/bridge/fsl,imx8mp-hdmi-tx.yaml#
> arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk3.dtb: hdmi@32fd8000: Unevaluated properties are not allowed ('ddc-i2c-bus' was unexpected)
> from schema $id: http://devicetree.org/schemas/display/bridge/fsl,imx8mp-hdmi-tx.yaml#

Should be fixed in:
[PATCH] dt-bindings: display: synopsys,dw-hdmi: Document ddc-i2c-bus in core

2024-05-16 08:00:34

by Francesco Dolcini

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

Hello Marek,

On Tue, May 14, 2024 at 03:06:42AM +0200, Marek Vasut wrote:
> Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
> I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
> of HDMI DDC mode to permit connection of other I2C devices on those buses.

Are you able to read the HDMI EDID with such configuration? I have the
patch ready for verdin imx8mp, I just did not have time to figure out
this last details.

Francesco


2024-05-16 11:14:18

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

On 5/16/24 10:00 AM, Francesco Dolcini wrote:
> Hello Marek,

Hi,

> On Tue, May 14, 2024 at 03:06:42AM +0200, Marek Vasut wrote:
>> Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
>> I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
>> of HDMI DDC mode to permit connection of other I2C devices on those buses.
>
> Are you able to read the HDMI EDID with such configuration? I have the
> patch ready for verdin imx8mp, I just did not have time to figure out
> this last details.

Yes with ddc-i2c-bus in hdmi_tx{} node, no with ddc-i2c-bus in connector
node. Maybe that's what you're running into ? The DW HDMI core needs the
ddc-i2c-bus property in hdmi_tx{} node if you use non-native I2C bus for
the DDC channel.

2024-05-16 11:36:27

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

Hello Marek,

On 16.05.24 13:14, Marek Vasut wrote:
> On 5/16/24 10:00 AM, Francesco Dolcini wrote:
>> Hello Marek,
>
> Hi,
>
>> On Tue, May 14, 2024 at 03:06:42AM +0200, Marek Vasut wrote:
>>> Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
>>> I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
>>> of HDMI DDC mode to permit connection of other I2C devices on those buses.
>>
>> Are you able to read the HDMI EDID with such configuration? I have the
>> patch ready for verdin imx8mp, I just did not have time to figure out
>> this last details.
>
> Yes with ddc-i2c-bus in hdmi_tx{} node, no with ddc-i2c-bus in connector node. Maybe that's what you're running into ? The DW HDMI core needs the ddc-i2c-bus property in hdmi_tx{} node if you use non-native I2C bus for the DDC channel.

What benefit does the hdmi-connector provide over just omitting it?
Just for documentation purposes?

Thanks,
Ahmad



>
>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


2024-05-16 11:44:20

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

On 5/16/24 1:36 PM, Ahmad Fatoum wrote:
> Hello Marek,

Hi,

> On 16.05.24 13:14, Marek Vasut wrote:
>> On 5/16/24 10:00 AM, Francesco Dolcini wrote:
>>> Hello Marek,
>>
>> Hi,
>>
>>> On Tue, May 14, 2024 at 03:06:42AM +0200, Marek Vasut wrote:
>>>> Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
>>>> I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
>>>> of HDMI DDC mode to permit connection of other I2C devices on those buses.
>>>
>>> Are you able to read the HDMI EDID with such configuration? I have the
>>> patch ready for verdin imx8mp, I just did not have time to figure out
>>> this last details.
>>
>> Yes with ddc-i2c-bus in hdmi_tx{} node, no with ddc-i2c-bus in connector node. Maybe that's what you're running into ? The DW HDMI core needs the ddc-i2c-bus property in hdmi_tx{} node if you use non-native I2C bus for the DDC channel.
>
> What benefit does the hdmi-connector provide over just omitting it?
> Just for documentation purposes?

I was under the impression describing the hardware in DT in full was the
best practice (TM), hence it is in full here.

2024-05-16 11:46:48

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

On 16.05.24 13:44, Marek Vasut wrote:
> On 5/16/24 1:36 PM, Ahmad Fatoum wrote:
>> Hello Marek,
>
> Hi,
>
>> On 16.05.24 13:14, Marek Vasut wrote:
>>> On 5/16/24 10:00 AM, Francesco Dolcini wrote:
>>>> Hello Marek,
>>>
>>> Hi,
>>>
>>>> On Tue, May 14, 2024 at 03:06:42AM +0200, Marek Vasut wrote:
>>>>> Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
>>>>> I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
>>>>> of HDMI DDC mode to permit connection of other I2C devices on those buses.
>>>>
>>>> Are you able to read the HDMI EDID with such configuration? I have the
>>>> patch ready for verdin imx8mp, I just did not have time to figure out
>>>> this last details.
>>>
>>> Yes with ddc-i2c-bus in hdmi_tx{} node, no with ddc-i2c-bus in connector node. Maybe that's what you're running into ? The DW HDMI core needs the ddc-i2c-bus property in hdmi_tx{} node if you use non-native I2C bus for the DDC channel.
>>
>> What benefit does the hdmi-connector provide over just omitting it?
>> Just for documentation purposes?
>
> I was under the impression describing the hardware in DT in full was the best practice (TM), hence it is in full here.

Sure, I am just wondering what effect, if any, it has in how Linux interprets
the device tree. I have an i.MX8MP board with HDMI as well, but without
connector (yet).

Cheers,
Ahmad

>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


2024-05-16 11:58:00

by Francesco Dolcini

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

Hello,

On Thu, May 16, 2024 at 01:14:04PM +0200, Marek Vasut wrote:
> On 5/16/24 10:00 AM, Francesco Dolcini wrote:
> > On Tue, May 14, 2024 at 03:06:42AM +0200, Marek Vasut wrote:
> > > Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
> > > I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
> > > of HDMI DDC mode to permit connection of other I2C devices on those buses.
> >
> > Are you able to read the HDMI EDID with such configuration? I have the
> > patch ready for verdin imx8mp, I just did not have time to figure out
> > this last details.
>
> Yes with ddc-i2c-bus in hdmi_tx{} node, no with ddc-i2c-bus in connector
> node. Maybe that's what you're running into ? The DW HDMI core needs the
> ddc-i2c-bus property in hdmi_tx{} node if you use non-native I2C bus for the
> DDC channel.

Yes, that's it. Thanks!

Francesco


2024-05-16 12:07:57

by Alexander Stein

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

Hi everyone,

Am Donnerstag, 16. Mai 2024, 13:46:33 CEST schrieb Ahmad Fatoum:
> On 16.05.24 13:44, Marek Vasut wrote:
> > On 5/16/24 1:36 PM, Ahmad Fatoum wrote:
> >> Hello Marek,
> >
> > Hi,
> >
> >> On 16.05.24 13:14, Marek Vasut wrote:
> >>> On 5/16/24 10:00 AM, Francesco Dolcini wrote:
> >>>> Hello Marek,
> >>>
> >>> Hi,
> >>>
> >>>> On Tue, May 14, 2024 at 03:06:42AM +0200, Marek Vasut wrote:
> >>>>> Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
> >>>>> I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
> >>>>> of HDMI DDC mode to permit connection of other I2C devices on those buses.
> >>>>
> >>>> Are you able to read the HDMI EDID with such configuration? I have the
> >>>> patch ready for verdin imx8mp, I just did not have time to figure out
> >>>> this last details.
> >>>
> >>> Yes with ddc-i2c-bus in hdmi_tx{} node, no with ddc-i2c-bus in connector node. Maybe that's what you're running into ? The DW HDMI core needs the ddc-i2c-bus property in hdmi_tx{} node if you use non-native I2C bus for the DDC channel.
> >>
> >> What benefit does the hdmi-connector provide over just omitting it?
> >> Just for documentation purposes?
> >
> > I was under the impression describing the hardware in DT in full was the best practice (TM), hence it is in full here.
>
> Sure, I am just wondering what effect, if any, it has in how Linux interprets
> the device tree. I have an i.MX8MP board with HDMI as well, but without
> connector (yet).

AFAICT having a hdmi-connector has no effect at all. Linux drivers are
not using it.

Best regards,
Alexander
--
TQ-Systems GmbH | M?hlstra?e 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht M?nchen, HRB 105018
Gesch?ftsf?hrer: Detlef Schneider, R?diger Stahl, Stefan Schneider
http://www.tq-group.com/



2024-06-15 08:06:58

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: imx8mp: Enable HDMI on i.MX8MP DHCOM PDK2 and PDK3

On Tue, May 14, 2024 at 03:06:42AM +0200, Marek Vasut wrote:
> Enable HDMI output on i.MX8MP DHCOM PDK2 and PDK3. The I2C5 on PDK2 and
> I2C mux port 1 on PDK3 respectively are used in regular I2C mode instead
> of HDMI DDC mode to permit connection of other I2C devices on those buses.
> The pinctrl_hdmi node is part of the SoM DTSI already.
>
> Signed-off-by: Marek Vasut <[email protected]>

Applied, thanks!