* [PATCH v5 1/3] dt-bindings: display: ti,tpd12s015: Convert to DT schema
2026-10-12 8:52 [PATCH v5 0/3] dt-bindings: display: ti,tpd12s015: convert, and fix what the conversion exposed Quchaosheng
@ 2026-10-12 8:52 ` Quchaosheng
2026-10-12 9:02 ` sashiko-bot
2026-10-12 8:52 ` [PATCH v5 2/3] ARM: dts: ti/omap: drop the two unused gpios from the igep0050 hdmi encoder Quchaosheng
2026-10-12 8:52 ` [PATCH v5 3/3] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
2 siblings, 1 reply; 5+ messages in thread
From: Quchaosheng @ 2026-10-12 8:52 UTC (permalink / raw)
To: Laurent Pinchart, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Tomi Valkeinen
Cc: dri-devel, devicetree, linux-omap, linux-kernel, Chaosheng Qu
From: Chaosheng Qu <quchaosheng000406@163.com>
Convert the TPD12S015 HDMI level shifter binding to DT schema.
The TI TPD12S015 is an HDMI companion chip that combines a level shifter
and ESD protection circuitry. Document the two ports it exposes between
the HDMI transmitter and the connector.
The tpd12s016 is software compatible with the tpd12s015 and is listed as
a fallback compatible by am57xx-idk-common.dtsi, so accept it as a
fallback of "ti,tpd12s015". The driver matches on "ti,tpd12s015" only, so
a board using the tpd12s016 must list both compatibles.
The ports carry no properties beyond the graph ones, so each port takes
the plain graph port schema.
Assisted-by: LLM
Signed-off-by: Chaosheng Qu <quchaosheng000406@163.com>
---
.../bindings/display/ti/ti,tpd12s015.txt | 44 ----------
.../bindings/display/ti/ti,tpd12s015.yaml | 88 +++++++++++++++++++
2 files changed, 88 insertions(+), 44 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/display/ti/ti,tpd12s015.txt
create mode 100644 Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml
diff --git a/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.txt b/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.txt
deleted file mode 100644
index 26e6d32e3f20..000000000000
--- a/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-TPD12S015 HDMI level shifter and ESD protection chip
-====================================================
-
-Required properties:
-- compatible: "ti,tpd12s015"
-
-Optional properties:
-- gpios: CT CP HPD, LS OE and HPD gpios
-
-Required nodes:
-- Video port 0 for HDMI input
-- Video port 1 for HDMI output
-
-Example
--------
-
-tpd12s015: encoder@1 {
- compatible = "ti,tpd12s015";
-
- gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
- <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
- <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
-
- tpd12s015_in: endpoint@0 {
- remote-endpoint = <&hdmi_out>;
- };
- };
-
- port@1 {
- reg = <1>;
-
- tpd12s015_out: endpoint@0 {
- remote-endpoint = <&hdmi_connector_in>;
- };
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml b/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml
new file mode 100644
index 000000000000..5955f2e6421c
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/ti/ti,tpd12s015.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI TPD12S015 HDMI level shifter and ESD protection chip
+
+maintainers:
+ - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
+
+description:
+ The TPD12S015 is an HDMI companion chip that combines a level shifter and
+ ESD protection circuitry. It sits between an HDMI transmitter and the HDMI
+ connector, and provides control over the level shifter enable and the
+ hot-plug detect signals.
+
+properties:
+ compatible:
+ oneOf:
+ - const: ti,tpd12s015
+ - items:
+ - const: ti,tpd12s016
+ - const: ti,tpd12s015
+
+ gpios:
+ description:
+ The CT CP HPD, LS OE and HPD GPIOs, in that order. The first controls
+ the level shifter, the second enables the level shifter outputs and
+ the third reads the hot-plug detect line.
+ maxItems: 3
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: HDMI input from the transmitter.
+
+ port@1:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: HDMI output to the connector.
+
+ required:
+ - port@0
+ - port@1
+
+required:
+ - compatible
+ - ports
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ encoder1 {
+ compatible = "ti,tpd12s015";
+
+ gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
+ <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
+ <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ tpd12s015_in: endpoint {
+ remote-endpoint = <&hdmi_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ tpd12s015_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
+
+...
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v5 2/3] ARM: dts: ti/omap: drop the two unused gpios from the igep0050 hdmi encoder
2026-10-12 8:52 [PATCH v5 0/3] dt-bindings: display: ti,tpd12s015: convert, and fix what the conversion exposed Quchaosheng
2026-10-12 8:52 ` [PATCH v5 1/3] dt-bindings: display: ti,tpd12s015: Convert to DT schema Quchaosheng
@ 2026-10-12 8:52 ` Quchaosheng
2026-10-12 8:52 ` [PATCH v5 3/3] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
2 siblings, 0 replies; 5+ messages in thread
From: Quchaosheng @ 2026-10-12 8:52 UTC (permalink / raw)
To: Laurent Pinchart, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Tomi Valkeinen
Cc: dri-devel, devicetree, linux-omap, linux-kernel, Chaosheng Qu
From: Chaosheng Qu <quchaosheng000406@163.com>
omap5-igep0050.dts gives the tpd12s015 node five gpios. The binding, the
DRM driver and the fbdev driver all describe three: CT CP HPD, LS OE and
HPD. Nothing in the file references the extra two, there is no pinctrl
group for them and no other consumer in the tree.
Drop them so the node matches what the hardware and the drivers actually
use.
Assisted-by: LLM
Signed-off-by: Chaosheng Qu <quchaosheng000406@163.com>
---
arch/arm/boot/dts/ti/omap/omap5-igep0050.dts | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/omap5-igep0050.dts b/arch/arm/boot/dts/ti/omap/omap5-igep0050.dts
index 0368e32f67e7..8e8325936cda 100644
--- a/arch/arm/boot/dts/ti/omap/omap5-igep0050.dts
+++ b/arch/arm/boot/dts/ti/omap/omap5-igep0050.dts
@@ -102,9 +102,7 @@ OMAP5_IOPAD(0x086, PIN_INPUT | MUX_MODE6) /* gpio4_118 */
&tpd12s015 {
gpios = <&tca6416 11 0>, /* TCA6416 P01, CT_CP_HDP */
<&tca6416 12 0>, /* TCA6416 P00, LS_OE*/
- <&gpio7 1 0>, /* 193, HPD */
- <&gpio7 2 0>, /* 194, SCL */
- <&gpio7 3 0>; /* 195, SDA */
+ <&gpio7 1 0>; /* 193, HPD */
};
&twl6040 {
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v5 3/3] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints
2026-10-12 8:52 [PATCH v5 0/3] dt-bindings: display: ti,tpd12s015: convert, and fix what the conversion exposed Quchaosheng
2026-10-12 8:52 ` [PATCH v5 1/3] dt-bindings: display: ti,tpd12s015: Convert to DT schema Quchaosheng
2026-10-12 8:52 ` [PATCH v5 2/3] ARM: dts: ti/omap: drop the two unused gpios from the igep0050 hdmi encoder Quchaosheng
@ 2026-10-12 8:52 ` Quchaosheng
2 siblings, 0 replies; 5+ messages in thread
From: Quchaosheng @ 2026-10-12 8:52 UTC (permalink / raw)
To: Laurent Pinchart, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Tomi Valkeinen
Cc: dri-devel, devicetree, linux-omap, linux-kernel, Chaosheng Qu
From: Chaosheng Qu <quchaosheng000406@163.com>
The endpoints under the tpd12s015 ports on am5729-beagleboneai and
am57xx-idk carry a unit-address without a matching reg property, which
dtc warns about:
Warning (unit_address_vs_reg): .../endpoint@0: node has a unit name,
but no reg or ranges property
Drop the unit-address.
Assisted-by: LLM
Signed-off-by: Chaosheng Qu <quchaosheng000406@163.com>
---
arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts | 4 ++--
arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts b/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
index 76bfb364777e..f40017a0e414 100644
--- a/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
+++ b/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
@@ -168,7 +168,7 @@ ports {
port@0 {
reg = <0x0>;
- hdmi_encoder_in: endpoint@0 {
+ hdmi_encoder_in: endpoint {
remote-endpoint = <&hdmi_out>;
};
};
@@ -176,7 +176,7 @@ hdmi_encoder_in: endpoint@0 {
port@1 {
reg = <0x1>;
- hdmi_encoder_out: endpoint@0 {
+ hdmi_encoder_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
diff --git a/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi b/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi
index 5eccff3bb4b6..4e8a5820b05c 100644
--- a/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi
+++ b/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi
@@ -135,7 +135,7 @@ ports {
port@0 {
reg = <0>;
- tpd12s015_in: endpoint@0 {
+ tpd12s015_in: endpoint {
remote-endpoint = <&hdmi_out>;
};
};
@@ -143,7 +143,7 @@ tpd12s015_in: endpoint@0 {
port@1 {
reg = <1>;
- tpd12s015_out: endpoint@0 {
+ tpd12s015_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread