* [PATCH 1/2] dt-bindings: display: ti: Convert ti,tpd12s015 to DT schema
2026-07-30 9:22 [PATCH 0/2] dt-bindings: display: ti: Convert ti,tpd12s015 to DT schema Eduard Bostina
@ 2026-07-30 9:22 ` Eduard Bostina
2026-07-30 9:22 ` [PATCH 2/2] ARM: dts: ti: omap: Fix TPD12S015 node and endpoint names Eduard Bostina
1 sibling, 0 replies; 3+ messages in thread
From: Eduard Bostina @ 2026-07-30 9:22 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Conor Dooley, David Airlie,
devicetree, dri-devel, Eduard Bostina, Kevin Hilman,
Krzysztof Kozlowski, linux-kernel, linux-omap, Maarten Lankhorst,
Maxime Ripard, Rob Herring, Roger Quadros, Simona Vetter,
Thomas Zimmermann, Tomi Valkeinen, Tony Lindgren
Cc: daniel.baluta, simona.toaca, goledhruva, m-chawdhry
Convert the Texas Instruments TPD12S015 HDMI level shifter and
ESD protection chip bindings to DT schema.
During the conversion, the following updates were made:
- Added the 'ti,tpd12s016' compatible string, which is used in
am57xx device trees.
- The 'gpios' property now allows up to 5 items, as the
omap5-igep0050 device tree routes additional control pins
beyond the standard 3 documented in the old text file.
Signed-off-by: Eduard Bostina <egbostina@gmail.com>
---
.../bindings/display/ti/ti,tpd12s015.txt | 44 -----------
.../bindings/display/ti/ti,tpd12s015.yaml | 78 +++++++++++++++++++
2 files changed, 78 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 26e6d32e3..000000000
--- 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 000000000..bda4bbab7
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml
@@ -0,0 +1,78 @@
+# 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: Texas Instruments TPD12S015 HDMI level shifter and ESD protection
+
+maintainers:
+ - Eduard Bostina <egbostina@gmail.com>
+
+properties:
+ compatible:
+ oneOf:
+ - const: ti,tpd12s015
+ - items:
+ - const: ti,tpd12s016
+ - const: ti,tpd12s015
+
+ gpios:
+ minItems: 3
+ maxItems: 5
+ description: CT CP HPD, LS OE, HPD, and optional supplementary control gpios
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: Video port for HDMI input
+
+ port@1:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: Video port for HDMI output
+
+ required:
+ - port@0
+ - port@1
+
+required:
+ - compatible
+ - ports
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ encoder {
+ 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.54.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH 2/2] ARM: dts: ti: omap: Fix TPD12S015 node and endpoint names
2026-07-30 9:22 [PATCH 0/2] dt-bindings: display: ti: Convert ti,tpd12s015 to DT schema Eduard Bostina
2026-07-30 9:22 ` [PATCH 1/2] " Eduard Bostina
@ 2026-07-30 9:22 ` Eduard Bostina
1 sibling, 0 replies; 3+ messages in thread
From: Eduard Bostina @ 2026-07-30 9:22 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Conor Dooley, David Airlie,
devicetree, dri-devel, Eduard Bostina, Kevin Hilman,
Krzysztof Kozlowski, linux-kernel, linux-omap, Maarten Lankhorst,
Maxime Ripard, Rob Herring, Roger Quadros, Simona Vetter,
Thomas Zimmermann, Tomi Valkeinen, Tony Lindgren
Cc: daniel.baluta, simona.toaca, goledhruva, m-chawdhry
The TPD12S015 node and its internal endpoint nodes are currently named
with unit addresses ('encoder@0', 'endpoint@0') but lack corresponding
'reg' properties.
Remove the unit addresses from these nodes to resolve the warnings and
align with the core schemas.
Signed-off-by: Eduard Bostina <egbostina@gmail.com>
---
arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts | 6 +++---
arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts b/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
index 46270ed87..1ac9c13dc 100644
--- a/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
+++ b/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
@@ -152,7 +152,7 @@ hdmi_connector_in: endpoint {
};
};
- hdmi_enc: encoder@0 {
+ hdmi_enc: encoder {
/* "ti,tpd12s016" software compatible with "ti,tpd12s015"
* no need for individual driver
*/
@@ -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 a2a654ef4..ed8d3eebf 100644
--- a/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi
+++ b/arch/arm/boot/dts/ti/omap/am57xx-idk-common.dtsi
@@ -121,7 +121,7 @@ hdmi_connector_in: endpoint {
};
};
- tpd12s015: encoder@0 {
+ tpd12s015: encoder {
compatible = "ti,tpd12s016", "ti,tpd12s015";
gpios = <0>, /* optional CT_CP_HPD */
@@ -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.54.0
^ permalink raw reply related [flat|nested] 3+ messages in thread