* [PATCH 1/2] dt-bindings: display: ti,tpd12s015: Convert to DT schema
@ 2026-09-15 12:03 Quchaosheng
2026-09-16 1:58 ` [PATCH v2 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
2026-09-29 12:12 ` [PATCH 1/2] dt-bindings: display: ti,tpd12s015: " Laurent Pinchart
0 siblings, 2 replies; 13+ messages in thread
From: Quchaosheng @ 2026-09-15 12:03 UTC (permalink / raw)
To: Tomi Valkeinen
Cc: Tony Lindgren, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
Roger Quadros, Andrzej Hajda, Neil Armstrong, Robert Foss,
Laurent Pinchart, Jonas Karlman, Jernej Skrabec, Luca Ceresoli,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, dri-devel, devicetree,
linux-omap, linux-arm-kernel, linux-kernel, Quchaosheng
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 described as software compatible with the tpd12s015 and
is listed as a fallback compatible by am57xx-idk-common.dtsi, so accept
both orderings. Boards that also route the DDC lines through the chip
pass five GPIOs rather than three.
Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---
.../bindings/display/ti/ti,tpd12s015.txt | 44 ---------
.../bindings/display/ti/ti,tpd12s015.yaml | 93 +++++++++++++++++++
2 files changed, 93 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..b3351b601
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml
@@ -0,0 +1,93 @@
+# 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 GPIO
+ controls the level shifter, the second enables the level shifter
+ outputs and the third reads the hot-plug detect line. Boards that
+ also route the DDC lines through the chip use five entries, with
+ the SCL and SDA GPIOs appended.
+ minItems: 3
+ maxItems: 5
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: HDMI input from the transmitter.
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ 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>;
+ };
+ };
+ };
+ };
+
+...
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH v2 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema
2026-09-15 12:03 [PATCH 1/2] dt-bindings: display: ti,tpd12s015: Convert to DT schema Quchaosheng
@ 2026-09-16 1:58 ` Quchaosheng
2026-09-16 1:58 ` [PATCH v2 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
` (2 more replies)
2026-09-29 12:12 ` [PATCH 1/2] dt-bindings: display: ti,tpd12s015: " Laurent Pinchart
1 sibling, 3 replies; 13+ messages in thread
From: Quchaosheng @ 2026-09-16 1:58 UTC (permalink / raw)
To: Tomi Valkeinen, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren
Cc: dri-devel, devicetree, linux-omap, quchaosheng000406
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 gpios property takes the three CT CP HPD, LS OE and HPD GPIOs the
driver obtains through devm_gpiod_get_index().
Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---
v2:
- gpios: drop the five-entry variant. The driver obtains three GPIOs
through devm_gpiod_get_index() (indices 0, 1 and 2) and never reads a
fourth or fifth, and no in-tree board passes more than three. Limit the
property to three entries to match.
- Reword the description: the TPD12S016 can only be used as a fallback of
"ti,tpd12s015", because the driver matches on "ti,tpd12s015" alone.
.../bindings/display/ti/ti,tpd12s015.txt | 44 ---------
.../bindings/display/ti/ti,tpd12s015.yaml | 91 +++++++++++++++++++
2 files changed, 91 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..96b44bd66
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml
@@ -0,0 +1,91 @@
+# 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.
+ minItems: 3
+ maxItems: 3
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: HDMI input from the transmitter.
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ 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] 13+ messages in thread* [PATCH v2 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints
2026-09-16 1:58 ` [PATCH v2 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
@ 2026-09-16 1:58 ` Quchaosheng
2026-09-16 2:07 ` [PATCH v2 1/2] dt-bindings: display: ti,tpd12s015: Convert to DT schema sashiko-bot
2026-09-16 12:32 ` [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
2 siblings, 0 replies; 13+ messages in thread
From: Quchaosheng @ 2026-09-16 1:58 UTC (permalink / raw)
To: Tomi Valkeinen, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren
Cc: dri-devel, devicetree, linux-omap, quchaosheng000406
ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints
The endpoint nodes of the tpd12s015 encoder on the am5729-beagleboneai and
the am57xx-idk carry a unit-address without a matching reg property, which
the device tree specification does not allow.
Drop the unit-address so the nodes are named "endpoint".
No functional change.
Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---
diff --git a/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts b/arch/arm/boot/dts/ti/omap/am5729-beagleboneai.dts
index 76bfb3647..f40017a0e 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 5eccff3bb..4e8a5820b 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] 13+ messages in thread* Re: [PATCH v2 1/2] dt-bindings: display: ti,tpd12s015: Convert to DT schema
2026-09-16 1:58 ` [PATCH v2 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
2026-09-16 1:58 ` [PATCH v2 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
@ 2026-09-16 2:07 ` sashiko-bot
2026-09-16 12:32 ` [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
2 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-09-16 2:07 UTC (permalink / raw)
To: Quchaosheng; +Cc: dri-devel, devicetree, conor+dt, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dt-bindings: validation regression for tpd12s015 gpios maxItems constraint
--
commit cd852360cf92f4482c02f981e6fec97ded13c090
Author: Quchaosheng <quchaosheng000406@163.com>
dt-bindings: display: ti,tpd12s015: Convert to DT schema
Converts the TPD12S015 HDMI level shifter binding to DT schema and restricts
the gpios property to three entries based on the assumption that no in-tree
board uses more than three.
> 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 0000000000000..96b44bd665f1f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml
[ ... ]
> + 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.
> + minItems: 3
> + maxItems: 3
[Severity: Medium]
The commit message claims that no in-tree board passes more than three GPIOs,
but does this maxItems limit cause a dtbs_check validation regression for
existing boards?
Looking at arch/arm/boot/dts/ti/omap/omap5-igep0050.dts, it appears to define
5 items for its tpd12s015 node:
&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 */
};
Should the schema accommodate all 5 pins, or does the omap5-igep0050.dts board
file need to be updated first before enforcing this constraint?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260915120327.47114-1-quchaosheng000406@163.com?part=1
^ permalink raw reply [flat|nested] 13+ messages in thread* [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema
2026-09-16 1:58 ` [PATCH v2 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
2026-09-16 1:58 ` [PATCH v2 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
2026-09-16 2:07 ` [PATCH v2 1/2] dt-bindings: display: ti,tpd12s015: Convert to DT schema sashiko-bot
@ 2026-09-16 12:32 ` Quchaosheng
2026-09-16 12:32 ` [PATCH v3 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
` (2 more replies)
2 siblings, 3 replies; 13+ messages in thread
From: Quchaosheng @ 2026-09-16 12:32 UTC (permalink / raw)
To: Tomi Valkeinen, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren
Cc: dri-devel, devicetree, linux-omap, quchaosheng000406
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 gpios property takes the three CT CP HPD, LS OE and HPD GPIOs the
driver obtains through devm_gpiod_get_index(). omap5-igep0050.dts lists the
DDC SCL and SDA lines as two further entries, so allow up to five entries
and keep the property description focused on the ones the driver uses.
Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
---
v3:
- gpios: allow up to five entries. v2 claimed that no in-tree board passes
more than three, but omap5-igep0050.dts passes five: the three control/HPD
lines plus the DDC SCL and SDA lines. The three-entry limit added in v2
therefore broke dtbs_check for that board.
v2:
- Reword the description: the TPD12S016 can only be used as a fallback of
"ti,tpd12s015", because the driver matches on "ti,tpd12s015" alone.
.../bindings/display/ti/ti,tpd12s015.txt | 44 ---------
.../bindings/display/ti/ti,tpd12s015.yaml | 93 +++++++++++++++++++
2 files changed, 93 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..86f14f6b75c0
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml
@@ -0,0 +1,93 @@
+# 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. The first three entries are
+ the only ones the driver uses; additional board-specific signals, such
+ as the DDC SCL and SDA lines, can follow them.
+ minItems: 3
+ maxItems: 5
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: HDMI input from the transmitter.
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ 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] 13+ messages in thread* [PATCH v3 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints
2026-09-16 12:32 ` [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
@ 2026-09-16 12:32 ` Quchaosheng
2026-09-28 9:46 ` Quchaosheng
2026-09-23 2:30 ` [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema Quchaosheng
2026-09-24 21:53 ` Rob Herring (Arm)
2 siblings, 1 reply; 13+ messages in thread
From: Quchaosheng @ 2026-09-16 12:32 UTC (permalink / raw)
To: Tomi Valkeinen, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Tony Lindgren
Cc: dri-devel, devicetree, linux-omap, quchaosheng000406
The endpoint nodes of the tpd12s015 encoder on the am5729-beagleboneai and
the am57xx-idk carry a unit-address without a matching reg property, which
the device tree specification does not allow.
Drop the unit-address so the nodes are named "endpoint".
No functional change.
Signed-off-by: Quchaosheng <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] 13+ messages in thread* Re: [PATCH v3 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints
2026-09-16 12:32 ` [PATCH v3 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
@ 2026-09-28 9:46 ` Quchaosheng
0 siblings, 0 replies; 13+ messages in thread
From: Quchaosheng @ 2026-09-28 9:46 UTC (permalink / raw)
To: Tony Lindgren
Cc: Quchaosheng, Tomi Valkeinen, linux-omap, devicetree, dri-devel,
linux-kernel
A gentle ping on 2/2, which nobody has picked up yet. The binding half
(1/2, dt-bindings: display: ti,tpd12s015) got Rob Herring's Reviewed-by on
09-24; this half is the two-file dts change that drops the unit-address
from the tpd12s015 endpoint nodes on am5729-beagleboneai and am57xx-idk,
and it has been sitting unassigned since 09-16.
Two questions, whichever is easier for you to answer:
- Should this come through your omap tree, or does it belong with the
binding, through Tomi and dri-devel? The two only make sense
together, since the endpoint nodes carry a unit-address with no
matching reg property and the new schema rejects that, so they should
not land separately.
- If the form is wrong for your tree, tell me what to change and I will
resend. If you would rather not carry it, say so and I will drop it.
No urgency on my side - I just do not want it to sit unowned.
Thanks,
Quchaosheng
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema
2026-09-16 12:32 ` [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
2026-09-16 12:32 ` [PATCH v3 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
@ 2026-09-23 2:30 ` Quchaosheng
2026-09-24 21:53 ` Rob Herring (Arm)
2 siblings, 0 replies; 13+ messages in thread
From: Quchaosheng @ 2026-09-23 2:30 UTC (permalink / raw)
To: Tomi Valkeinen
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Andreas Kemnade, Kevin Hilman, Roger Quadros, Tony Lindgren,
dri-devel, devicetree, linux-omap, quchaosheng000406
Hi Tomi,
v3 of this series went out on 09-16 and has not had a comment since. I do not
want to keep reposting it, so this is just a nudge in case it fell off the pile.
1/2 dt-bindings: display: ti,tpd12s015: Convert to DT schema
<20260916123210.107841-1-quchaosheng000406@163.com>
2/2 ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints
<20260916123210.107841-2-quchaosheng000406@163.com>
Where it stands:
- 1/2 replaces ti,tpd12s015.txt with a schema. The one thing that changed
after v2 is the gpios range. v2 capped it at three on the assumption that
no board passes more, but omap5-igep0050.dts passes five, its DDC SCL and
SDA lines following the three the driver uses. v3 allows three to five and
says so in the description, so igep0050 keeps validating.
- 2/2 drops a unit-address that has no matching reg property from four
endpoint nodes on am5729-beagleboneai and am57xx-idk-common. That is the
only reason the two are in one series; 1/2 does not depend on it and it
can go in separately if you would rather.
dt_binding_check is clean on both.
I have left aaro.koskinen@iki.fi off this message. Mail to that address
bounces: the alias forwards to musicnaut@musicnaut.iki.fi, which discards it,
so he has not seen any of the three postings. If the igep0050 part needs his
input, someone else will have to supply it.
If neither patch is wanted, say so and I will drop them.
Thanks,
Quchaosheng
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema
2026-09-16 12:32 ` [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
2026-09-16 12:32 ` [PATCH v3 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
2026-09-23 2:30 ` [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema Quchaosheng
@ 2026-09-24 21:53 ` Rob Herring (Arm)
2026-09-30 5:29 ` Laurent Pinchart
2 siblings, 1 reply; 13+ messages in thread
From: Rob Herring (Arm) @ 2026-09-24 21:53 UTC (permalink / raw)
To: Quchaosheng
Cc: Tomi Valkeinen, Krzysztof Kozlowski, Simona Vetter, dri-devel,
Aaro Koskinen, Andreas Kemnade, Roger Quadros, Maarten Lankhorst,
linux-omap, Thomas Zimmermann, devicetree, Conor Dooley,
Maxime Ripard, Tony Lindgren, David Airlie, Kevin Hilman
On Wed, 16 Sep 2026 20:32:09 +0800, Quchaosheng wrote:
> 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 gpios property takes the three CT CP HPD, LS OE and HPD GPIOs the
> driver obtains through devm_gpiod_get_index(). omap5-igep0050.dts lists the
> DDC SCL and SDA lines as two further entries, so allow up to five entries
> and keep the property description focused on the ones the driver uses.
>
> Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
> ---
> v3:
> - gpios: allow up to five entries. v2 claimed that no in-tree board passes
> more than three, but omap5-igep0050.dts passes five: the three control/HPD
> lines plus the DDC SCL and SDA lines. The three-entry limit added in v2
> therefore broke dtbs_check for that board.
>
> v2:
> - Reword the description: the TPD12S016 can only be used as a fallback of
> "ti,tpd12s015", because the driver matches on "ti,tpd12s015" alone.
>
> .../bindings/display/ti/ti,tpd12s015.txt | 44 ---------
> .../bindings/display/ti/ti,tpd12s015.yaml | 93 +++++++++++++++++++
> 2 files changed, 93 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
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema
2026-09-24 21:53 ` Rob Herring (Arm)
@ 2026-09-30 5:29 ` Laurent Pinchart
2026-09-30 7:40 ` Chaosheng Qu
0 siblings, 1 reply; 13+ messages in thread
From: Laurent Pinchart @ 2026-09-30 5:29 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: Quchaosheng, Tomi Valkeinen, Krzysztof Kozlowski, Simona Vetter,
dri-devel, Aaro Koskinen, Andreas Kemnade, Roger Quadros,
Maarten Lankhorst, linux-omap, Thomas Zimmermann, devicetree,
Conor Dooley, Maxime Ripard, Tony Lindgren, David Airlie,
Kevin Hilman
On Thu, Sep 24, 2026 at 04:53:20PM -0500, Rob Herring (Arm) wrote:
> On Wed, 16 Sep 2026 20:32:09 +0800, Quchaosheng wrote:
> > 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 gpios property takes the three CT CP HPD, LS OE and HPD GPIOs the
> > driver obtains through devm_gpiod_get_index(). omap5-igep0050.dts lists the
> > DDC SCL and SDA lines as two further entries, so allow up to five entries
> > and keep the property description focused on the ones the driver uses.
> >
> > Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
> > ---
> > v3:
> > - gpios: allow up to five entries. v2 claimed that no in-tree board passes
> > more than three, but omap5-igep0050.dts passes five: the three control/HPD
> > lines plus the DDC SCL and SDA lines. The three-entry limit added in v2
> > therefore broke dtbs_check for that board.
> >
> > v2:
> > - Reword the description: the TPD12S016 can only be used as a fallback of
> > "ti,tpd12s015", because the driver matches on "ti,tpd12s015" alone.
> >
> > .../bindings/display/ti/ti,tpd12s015.txt | 44 ---------
> > .../bindings/display/ti/ti,tpd12s015.yaml | 93 +++++++++++++++++++
> > 2 files changed, 93 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
> >
>
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
I don't think the binding is correct. The two additional GPIOs seem to
be a mistake in the DT source. There's no rationale in this patch to
explain why they're needed.
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema
2026-09-30 5:29 ` Laurent Pinchart
@ 2026-09-30 7:40 ` Chaosheng Qu
0 siblings, 0 replies; 13+ messages in thread
From: Chaosheng Qu @ 2026-09-30 7:40 UTC (permalink / raw)
To: Laurent Pinchart
Cc: Rob Herring, Tomi Valkeinen, Krzysztof Kozlowski, Conor Dooley,
Eduard Bostina, dri-devel, devicetree, linux-omap, linux-kernel
Hi Laurent,
You are right, and the two extra entries should not be in the binding.
Both drivers take exactly three GPIOs:
drivers/gpu/drm/bridge/ti-tpd12s015.c:150,157,164
drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c:237,246,255
They ask for indices 0, 1 and 2 -- CT_CP_HPD, LS_OE and HPD. Nothing reads
index 3 or 4, and neither file mentions scl, sda or ddc.
The text binding I replaced said the same thing:
- gpios: CT CP HPD, LS OE and HPD gpios
omap5-igep0050.dts passes two more, and there is no pinctrl group for them
and nothing in-tree consumes them. v3 raised maxItems to five only so that
dtbs_check would keep passing for that board. That was the wrong direction:
it wrote a defect of the DT source into the binding instead of holding the
binding to what the hardware and the driver use.
So it splits the way you pointed at earlier:
- the conversion keeps gpios at three entries, which is what the driver
requires, and
- a separate patch drops the two extra entries from omap5-igep0050.dts.
My earlier question still stands: would you rather have that as a v4 from
me, or should I leave it to Eduard's series?
Thanks,
Chaosheng Qu
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/2] dt-bindings: display: ti,tpd12s015: Convert to DT schema
2026-09-15 12:03 [PATCH 1/2] dt-bindings: display: ti,tpd12s015: Convert to DT schema Quchaosheng
2026-09-16 1:58 ` [PATCH v2 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
@ 2026-09-29 12:12 ` Laurent Pinchart
2026-09-30 2:24 ` [PATCH 1/2] dt-bindings: display: ti, tpd12s015: " Chaosheng Qu
1 sibling, 1 reply; 13+ messages in thread
From: Laurent Pinchart @ 2026-09-29 12:12 UTC (permalink / raw)
To: Quchaosheng
Cc: Tomi Valkeinen, Tony Lindgren, Aaro Koskinen, Andreas Kemnade,
Kevin Hilman, Roger Quadros, Andrzej Hajda, Neil Armstrong,
Robert Foss, Jonas Karlman, Jernej Skrabec, Luca Ceresoli,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, dri-devel, devicetree,
linux-omap, linux-arm-kernel, linux-kernel
On Tue, Sep 15, 2026 at 08:03:26PM +0800, Quchaosheng wrote:
> 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 described as software compatible with the tpd12s015 and
> is listed as a fallback compatible by am57xx-idk-common.dtsi, so accept
> both orderings. Boards that also route the DDC lines through the chip
> pass five GPIOs rather than three.
Assisted-by tag missing.
This patch also seems to be missing understanding of what you're doing.
Not only does it combine conversion to YAML and changes to the bindings
in one patch, it also gives no rationale for the changes.
Please don't waste maintainer's time with LLM-generated patches that you
haven't tried to understand.
> Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
> ---
> .../bindings/display/ti/ti,tpd12s015.txt | 44 ---------
> .../bindings/display/ti/ti,tpd12s015.yaml | 93 +++++++++++++++++++
> 2 files changed, 93 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..b3351b601
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ti/ti,tpd12s015.yaml
> @@ -0,0 +1,93 @@
> +# 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 GPIO
> + controls the level shifter, the second enables the level shifter
> + outputs and the third reads the hot-plug detect line. Boards that
> + also route the DDC lines through the chip use five entries, with
> + the SCL and SDA GPIOs appended.
> + minItems: 3
> + maxItems: 5
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> +
> + properties:
> + port@0:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + unevaluatedProperties: false
> + description: HDMI input from the transmitter.
> +
> + port@1:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + unevaluatedProperties: false
> + 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>;
> + };
> + };
> + };
> + };
> +
> +...
>
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema
2026-09-29 12:12 ` [PATCH 1/2] dt-bindings: display: ti,tpd12s015: " Laurent Pinchart
@ 2026-09-30 2:24 ` Chaosheng Qu
0 siblings, 0 replies; 13+ messages in thread
From: Chaosheng Qu @ 2026-09-30 2:24 UTC (permalink / raw)
To: Laurent Pinchart
Cc: Tomi Valkeinen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Eduard Bostina, dri-devel, devicetree, linux-omap, linux-kernel
Hi Laurent,
Thank you for taking the time. Two of the three points came from the v1
posting, one of them is a real miss on my side, and there is a fourth
thing I should have found before posting at all -- I get to that below.
The message you replied to is the 09-15 posting. v3 went out on 09-16:
<20260916123210.107841-1-quchaosheng000406@163.com>
and it rewrote the commit message to give the rationale you are missing:
why "ti,tpd12s016" can only be a fallback of "ti,tpd12s015" (the driver
matches on "ti,tpd12s015" alone, so a board using the 016 has to list
both), and why gpios has to take three to five entries. The v2 version
of that description had capped gpios at three, which broke dtbs_check for
omap5-igep0050.dts -- that board passes the three control/HPD lines plus
the DDC SCL and SDA lines. Rob Herring gave v3 his Reviewed-by on 09-24.
The Assisted-by tag is a fair hit, and it applies to v3 as well: v3 does
not carry one either. That is my oversight and I will add it.
Your third point also stands for v3. The conversion and the gpios
semantics change are still one patch. Splitting them is right.
Now the part I should have caught myself. This conversion is not new
work. Eduard Bostina posted the same conversion on 2026-07-30:
<20260730092245.52034-1-egbostina@gmail.com>
That series makes the same two binding changes -- the "ti,tpd12s016"
fallback compatible and gpios up to five entries -- and its 2/2 renames
the same tpd12s015 endpoint nodes that mine does. Rob reviewed it on
08-03. It did not land: there is no ti,tpd12s015.yaml in mainline, v6.18,
v6.17 or linux-next, and the .txt is still in all of them. I did not find
it before posting mine, and I have cc'd Eduard here.
I would rather ask than add a fourth revision to the pile. Which would
you prefer:
- a v4 of mine, split into a pure conversion plus a separate semantics
patch, or
- for me to drop mine and leave this to Eduard's series?
Either way I will not repost the current form. If there is a reason the
Bostina series stalled that I should not repeat, I would be glad to hear
it.
Thanks,
Chaosheng Qu
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2026-09-30 12:13 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-15 12:03 [PATCH 1/2] dt-bindings: display: ti,tpd12s015: Convert to DT schema Quchaosheng
2026-09-16 1:58 ` [PATCH v2 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
2026-09-16 1:58 ` [PATCH v2 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
2026-09-16 2:07 ` [PATCH v2 1/2] dt-bindings: display: ti,tpd12s015: Convert to DT schema sashiko-bot
2026-09-16 12:32 ` [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: " Quchaosheng
2026-09-16 12:32 ` [PATCH v3 2/2] ARM: dts: ti/omap: drop unit-address from tpd12s015 endpoints Quchaosheng
2026-09-28 9:46 ` Quchaosheng
2026-09-23 2:30 ` [PATCH v3 1/2] dt-bindings: display: ti, tpd12s015: Convert to DT schema Quchaosheng
2026-09-24 21:53 ` Rob Herring (Arm)
2026-09-30 5:29 ` Laurent Pinchart
2026-09-30 7:40 ` Chaosheng Qu
2026-09-29 12:12 ` [PATCH 1/2] dt-bindings: display: ti,tpd12s015: " Laurent Pinchart
2026-09-30 2:24 ` [PATCH 1/2] dt-bindings: display: ti, tpd12s015: " Chaosheng Qu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox