Skip to contentSkip to conversation

dt-bindings: display: panel: Make DSI panels port optional

PATCH In review Krzysztof Kozlowski 5 participants 8 messages Nov 11

Subsystems (17)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dt-bindings: display: panel: Make DSI panels port optional

DSI panels can be placed under DSI bus directly and many Linux DRM drivers will work fine with it: mipi_dsi_host_register() adds device for such panel and DRM driver does not use OF graph to configure lanes. The affected here Linux panel drivers do not use OF graph, either.

Requiring graph port for such panels is tying the binding to one specific implementation of Linux DRM drivers, e.g. Qualcomm DRM which requires the port. The port is not needed for the hardware to operate and for some of the Linux drivers, so it should be optional.

---

Remaining one Ilitek is fixed in:
https://lore.kernel.org/all/[email protected]/

---
 .../devicetree/bindings/display/panel/anbernic,td4310.yaml       | 1 -
 Documentation/devicetree/bindings/display/panel/boe,td4320.yaml  | 1 -
 .../devicetree/bindings/display/panel/boe,tv101wum-ll2.yaml      | 1 -
 Documentation/devicetree/bindings/display/panel/ebbg,ft8719.yaml | 1 -
 .../devicetree/bindings/display/panel/elida,kd35t133.yaml        | 1 -
 .../bindings/display/panel/feiyang,fy07024di26a30d.yaml          | 1 -
 .../devicetree/bindings/display/panel/himax,hx83112a.yaml        | 1 -
 .../devicetree/bindings/display/panel/himax,hx83112b.yaml        | 1 -
 .../devicetree/bindings/display/panel/himax,hx8394.yaml          | 1 -
 .../devicetree/bindings/display/panel/ilitek,ili7807s.yaml       | 1 -
 .../devicetree/bindings/display/panel/ilitek,ili9805.yaml        | 1 -
 .../devicetree/bindings/display/panel/ilitek,ili9806e.yaml       | 1 -
 Documentation/devicetree/bindings/display/panel/lxd,m9189a.yaml  | 1 -
 .../devicetree/bindings/display/panel/novatek,nt35532.yaml       | 1 -
 .../devicetree/bindings/display/panel/novatek,nt36672a.yaml      | 1 -
 .../devicetree/bindings/display/panel/novatek,nt36672e.yaml      | 1 -
 .../devicetree/bindings/display/panel/novatek,nt37801.yaml       | 1 -
 .../devicetree/bindings/display/panel/novatek,nt51021.yaml       | 1 -
 .../devicetree/bindings/display/panel/raydium,rm67191.yaml       | 1 -
 .../devicetree/bindings/display/panel/raydium,rm67200.yaml       | 1 -
 .../devicetree/bindings/display/panel/raydium,rm69220.yaml       | 1 -
 .../devicetree/bindings/display/panel/raydium,rm692e5.yaml       | 1 -
 .../devicetree/bindings/display/panel/renesas,r61307.yaml        | 1 -
 .../devicetree/bindings/display/panel/renesas,r69328.yaml        | 1 -
 .../devicetree/bindings/display/panel/ronbo,rb070d30.yaml        | 1 -
 .../devicetree/bindings/display/panel/samsung,ams581vf01.yaml    | 1 -
 .../devicetree/bindings/display/panel/samsung,ams639rq08.yaml    | 1 -
 .../bindings/display/panel/samsung,s6e88a0-ams452ef01.yaml       | 1 -
 .../devicetree/bindings/display/panel/samsung,sofef01-m.yaml     | 1 -
 .../devicetree/bindings/display/panel/sony,td4353-jdi.yaml       | 1 -
 .../bindings/display/panel/sony,tulip-truly-nt35521.yaml         | 1 -
 .../devicetree/bindings/display/panel/startek,kd070fhfid015.yaml | 1 -
 .../devicetree/bindings/display/panel/synaptics,r63353.yaml      | 1 -
 .../devicetree/bindings/display/panel/visionox,g2647fb105.yaml   | 1 -
 .../devicetree/bindings/display/panel/visionox,r66451.yaml       | 1 -
 .../devicetree/bindings/display/panel/visionox,rm69299.yaml      | 1 -
 .../devicetree/bindings/display/panel/visionox,rm692e5.yaml      | 1 -
 .../devicetree/bindings/display/panel/visionox,vtdr6130.yaml     | 1 -
 .../devicetree/bindings/display/panel/xinpeng,xpp055c272.yaml    | 1 -
 39 files changed, 39 deletions(-)
Documentation/devicetree/bindings/display/panel/anbernic,td4310.yaml +0 -1
index f820dc2f732b..1d6bf6da2ca8 100644
@@ -31,7 +31,6 @@ properties:
 
 required:
   - compatible
-  - port
   - reg
   - reset-gpios
   - vdd-supply
Documentation/devicetree/bindings/display/panel/boe,td4320.yaml +0 -1
index c6bff0ece360..90f0d0bbe91e 100644
@@ -36,7 +36,6 @@ required:
   - compatible
   - reg
   - reset-gpios
-  - port
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/panel/boe,tv101wum-ll2.yaml +0 -1
index dced98e1c69a..45f3205ed952 100644
@@ -33,7 +33,6 @@ required:
   - reset-gpios
   - vsp-supply
   - vsn-supply
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/ebbg,ft8719.yaml +0 -1
index 80deedc01c7c..9c6a4d5e9f5b 100644
@@ -41,7 +41,6 @@ required:
   - vddpos-supply
   - vddneg-supply
   - reset-gpios
-  - port
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/panel/elida,kd35t133.yaml +0 -1
index f4cb825d1e96..d04ffbba359a 100644
@@ -32,7 +32,6 @@ required:
   - compatible
   - reg
   - backlight
-  - port
   - iovcc-supply
   - vdd-supply
 
Documentation/devicetree/bindings/display/panel/feiyang,fy07024di26a30d.yaml +0 -1
index f288fa2390c9..f36e866a1325 100644
@@ -35,7 +35,6 @@ required:
   - reg
   - avdd-supply
   - dvdd-supply
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/himax,hx83112a.yaml +0 -1
index 2c60d0cd704e..008a94608c42 100644
@@ -40,7 +40,6 @@ required:
   - vdd1-supply
   - vsn-supply
   - vsp-supply
-  - port
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/panel/himax,hx83112b.yaml +0 -1
index e58bb3d45331..bc1771efb6e9 100644
@@ -40,7 +40,6 @@ required:
   - iovcc-supply
   - vsn-supply
   - vsp-supply
-  - port
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/panel/himax,hx8394.yaml +0 -1
index 83c343b02835..41dc3f39f42a 100644
@@ -49,7 +49,6 @@ required:
   - compatible
   - reg
   - backlight
-  - port
   - vcc-supply
   - iovcc-supply
 
Documentation/devicetree/bindings/display/panel/ilitek,ili7807s.yaml +0 -1
index ba8c5bbf8ffc..3bace821bc8e 100644
@@ -41,7 +41,6 @@ required:
   - vddi-supply
   - avdd-supply
   - avee-supply
-  - port
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/panel/ilitek,ili9805.yaml +0 -1
index ff67129c9466..4bd76a411639 100644
@@ -32,7 +32,6 @@ required:
   - dvdd-supply
   - reg
   - reset-gpios
-  - port
   - backlight
 
 unevaluatedProperties: false
Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml +0 -1
index 2080d9e0ffac..9a2602ddd906 100644
@@ -33,7 +33,6 @@ required:
   - vdd-supply
   - reset-gpios
   - backlight
-  - port
 
 if:
   properties:
Documentation/devicetree/bindings/display/panel/lxd,m9189a.yaml +0 -1
index 226974a4077f..70243c087410 100644
@@ -35,7 +35,6 @@ required:
   - reset-gpios
   - power-supply
   - backlight
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/novatek,nt35532.yaml +0 -1
index ff6fdad7febf..a00aabc7f583 100644
@@ -47,7 +47,6 @@ required:
   - reg
   - reset-gpios
   - vddi-supply
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml +0 -1
index 5d16d8511725..3263e21bf72e 100644
@@ -54,7 +54,6 @@ required:
   - vddpos-supply
   - vddneg-supply
   - reset-gpios
-  - port
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/panel/novatek,nt36672e.yaml +0 -1
index dc4672f3d01d..bb10d62ac2e4 100644
@@ -34,7 +34,6 @@ required:
   - avdd-supply
   - avee-supply
   - reset-gpios
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/novatek,nt37801.yaml +0 -1
index 1b38c1d0af68..ff7afe5467b6 100644
@@ -36,7 +36,6 @@ required:
   - vci-supply
   - vdd-supply
   - vddio-supply
-  - port
   - reset-gpios
 
 additionalProperties: false
Documentation/devicetree/bindings/display/panel/novatek,nt51021.yaml +0 -1
index 7754a8cb1e5c..a50f241e0186 100644
@@ -54,7 +54,6 @@ required:
   - avdd-supply
   - havdd-supply
   - reset-gpios
-  - port
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/panel/raydium,rm67191.yaml +0 -1
index 4825792bf712..511cd2b64fe7 100644
@@ -47,7 +47,6 @@ required:
   - compatible
   - reg
   - dsi-lanes
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/raydium,rm67200.yaml +0 -1
index 97b7fbe05c07..cefb5fdee826 100644
@@ -40,7 +40,6 @@ properties:
 
 required:
   - compatible
-  - port
   - reg
 
 additionalProperties: false
Documentation/devicetree/bindings/display/panel/raydium,rm69220.yaml +0 -1
index 3c94db88f797..44b416260f20 100644
@@ -42,7 +42,6 @@ required:
   - vci-supply
   - vddio-supply
   - reset-gpios
-  - port
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/panel/raydium,rm692e5.yaml +0 -1
index 616a5f3ec9fc..91336e17a059 100644
@@ -41,7 +41,6 @@ required:
   - dvdd-supply
   - vci-supply
   - vddio-supply
-  - port
 
 unevaluatedProperties: false
 
Documentation/devicetree/bindings/display/panel/renesas,r61307.yaml +0 -1
index 3d7761717b74..aff691fdb771 100644
@@ -55,7 +55,6 @@ properties:
 
 required:
   - compatible
-  - port
   - backlight
 
 additionalProperties: false
Documentation/devicetree/bindings/display/panel/renesas,r69328.yaml +0 -1
index 740185f778a1..c28b671d8721 100644
@@ -38,7 +38,6 @@ properties:
 
 required:
   - compatible
-  - port
   - backlight
 
 additionalProperties: false
Documentation/devicetree/bindings/display/panel/ronbo,rb070d30.yaml +0 -1
index 694037301583..b17b7ce2b29e 100644
@@ -42,6 +42,5 @@ required:
   - shlr-gpios
   - updn-gpios
   - vcc-lcd-supply
-  - port
 
 unevaluatedProperties: false
Documentation/devicetree/bindings/display/panel/samsung,ams581vf01.yaml +0 -1
index 70dff9c0ef2b..5e1fb1edb3e0 100644
@@ -45,7 +45,6 @@ required:
   - vsn-supply
   - vsp-supply
   - reset-gpios
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/samsung,ams639rq08.yaml +0 -1
index f5b6ecb96f99..3a68324a2b69 100644
@@ -46,7 +46,6 @@ required:
   - vsn-supply
   - vsp-supply
   - reset-gpios
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/samsung,s6e88a0-ams452ef01.yaml +0 -1
index 42634fc3b5b2..25eadff02816 100644
@@ -29,7 +29,6 @@ properties:
 required:
   - compatible
   - reg
-  - port
   - vdd3-supply
   - vci-supply
   - reset-gpios
Documentation/devicetree/bindings/display/panel/samsung,sofef01-m.yaml +0 -1
index bccc667aa072..c0a44e69b37e 100644
@@ -47,7 +47,6 @@ properties:
 
 required:
   - compatible
-  - port
   - reg
   - reset-gpios
   - vddio-supply
Documentation/devicetree/bindings/display/panel/sony,td4353-jdi.yaml +0 -1
index 032a989184ff..ccfc0513eb4a 100644
@@ -52,7 +52,6 @@ required:
   - vsn-supply
   - panel-reset-gpios
   - touch-reset-gpios
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/sony,tulip-truly-nt35521.yaml +0 -1
index 85c5dee65383..85977dfe8b72 100644
@@ -41,7 +41,6 @@ required:
   - negative5-supply
   - reset-gpios
   - enable-gpios
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/startek,kd070fhfid015.yaml +0 -1
index 7fd9364fa385..4c7677f6b154 100644
@@ -34,7 +34,6 @@ required:
   - iovcc-supply
   - reg
   - reset-gpios
-  - port
   - power-supply
 
 additionalProperties: false
Documentation/devicetree/bindings/display/panel/synaptics,r63353.yaml +0 -1
index 2fd6e0ec3682..6a0c7518531a 100644
@@ -31,7 +31,6 @@ required:
   - avdd-supply
   - dvdd-supply
   - reset-gpios
-  - port
   - backlight
 
 unevaluatedProperties: false
Documentation/devicetree/bindings/display/panel/visionox,g2647fb105.yaml +0 -1
index 49dcd9b8f670..ea79ea070adc 100644
@@ -45,7 +45,6 @@ required:
   - vsn-supply
   - vsp-supply
   - reset-gpios
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/visionox,r66451.yaml +0 -1
index 49ef45c03593..281333b781ba 100644
@@ -31,7 +31,6 @@ required:
   - vddio-supply
   - vdd-supply
   - reset-gpios
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/visionox,rm69299.yaml +0 -1
index f61a528c0413..bcde74217e1b 100644
@@ -42,7 +42,6 @@ required:
   - vdda-supply
   - vdd3p3-supply
   - reset-gpios
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/visionox,rm692e5.yaml +0 -1
index d4b4672815fe..ec393d15423f 100644
@@ -44,7 +44,6 @@ required:
   - reset-gpios
   - vdd-supply
   - vddio-supply
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/visionox,vtdr6130.yaml +0 -1
index 682f30dc9ee4..979c5b95fac9 100644
@@ -37,7 +37,6 @@ required:
   - vddio-supply
   - vci-supply
   - reset-gpios
-  - port
 
 additionalProperties: false
 
Documentation/devicetree/bindings/display/panel/xinpeng,xpp055c272.yaml +0 -1
index 9c9743a23500..13ff075bd2a6 100644
@@ -31,7 +31,6 @@ required:
   - compatible
   - reg
   - backlight
-  - port
   - iovcc-supply
   - vci-supply
 
Signature · 1 line
2.53.0
#1 lore raw
Thank you for your contribution! Sashiko AI review found 1 potential issue to consider: - [Low] dt-bindings: display: panel: ilitek,ili9806e: port made optional for SPI panel --

Thank you for your contribution! Sashiko AI review found 1 potential issue to consider:
- [Low] dt-bindings: display: panel: ilitek,ili9806e: port made optional for SPI panel
--

commit 2dd7afd9762ebccda9424fc16917d18216458223
Author: Krzysztof Kozlowski <[email protected]>

dt-bindings: display: panel: Make DSI panels port optional

This commit removes the port property from the required list in 39 DSI panel Device Tree bindings so that panels placed directly under a DSI bus node do not have to specify an OF graph port.

Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml required: · line 38

Quoted 12 lines
Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml +0 -1
index 2080d9e0ffac4..9a2602ddd9060 100644
@@ -33,7 +33,6 @@ required:
   - vdd-supply
   - reset-gpios
   - backlight
-  - port
 
 if:
   properties:

[Severity: Low]
Should port remain required in the conditional then branch for rocktech,rk050hr345-ct106a?

While densitron,dmt028vghmcmi-1d and ortustech,com35h3p70ulc are MIPI-DSI panels, rocktech,rk050hr345-ct106a is an SPI-controlled DPI/RGB panel (driven by panel-ilitek-ili9806e-spi.c with DRM_MODE_CONNECTOR_DPI). Because it sits under an SPI controller node, the RGB display controller still needs the OF graph port to link to the panel.

Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1
maintainer
#2 lore raw
In reply to Krzysztof Kozlowski
Quoted 3 lines · Krzysztof Kozlowski

DSI panels can be placed under DSI bus directly and many Linux DRM drivers will work fine with it: mipi_dsi_host_register() adds device for such panel and DRM driver does not use OF graph to configure lanes.

That's not true. We do use the endpoints to configure the lanes through the data-lanes property. See drm_of_get_data_lanes*

Quoted 9 lines

The affected here Linux panel drivers do not use OF graph, either.

Requiring graph port for such panels is tying the binding to one specific implementation of Linux DRM drivers, e.g. Qualcomm DRM which requires the port. The port is not needed for the hardware to operate and for some of the Linux drivers, so it should be optional.

DSI busses can handle multiple devices, and multiple data types. If we were to drop the port node, how does the upstream video device know which device it should send its video output to?

Maxime

#3 lore raw
Quoted 7 lines · Maxime Ripard
Quoted 3 lines · Krzysztof Kozlowski

DSI panels can be placed under DSI bus directly and many Linux DRM drivers will work fine with it: mipi_dsi_host_register() adds device for such panel and DRM driver does not use OF graph to configure lanes.

That's not true. We do use the endpoints to configure the lanes through the data-lanes property. See drm_of_get_data_lanes*

Some drivers use endpoints, some not. As discussed on other thread, there are more than which do not.

Quoted 8 lines
Quoted 8 lines

The affected here Linux panel drivers do not use OF graph, either.

Requiring graph port for such panels is tying the binding to one specific implementation of Linux DRM drivers, e.g. Qualcomm DRM which requires the port. The port is not needed for the hardware to operate and for some of the Linux drivers, so it should be optional.

Quoted 7 lines
Quoted 2 lines

DSI busses can handle multiple devices, and multiple data types. If we were to drop the port node, how does the upstream video device know which device it should send its video output to?

We do not drop the port node, who suggested that?

You do get, that we are not talking about the DSI host, but the panel?

Best regards,
Krzysztof

#4 lore raw
Quoted 11 lines · Krzysztof Kozlowski
Quoted 7 lines · Maxime Ripard
Quoted 3 lines · Krzysztof Kozlowski

DSI panels can be placed under DSI bus directly and many Linux DRM drivers will work fine with it: mipi_dsi_host_register() adds device for such panel and DRM driver does not use OF graph to configure lanes.

That's not true. We do use the endpoints to configure the lanes through the data-lanes property. See drm_of_get_data_lanes*

Some drivers use endpoints, some not. As discussed on other thread, there are more than which do not.

"there are more than one which do not."

Quoted 12 lines
Quoted 12 lines
Quoted 11 lines

The affected here Linux panel drivers do not use OF graph, either.

Requiring graph port for such panels is tying the binding to one specific implementation of Linux DRM drivers, e.g. Qualcomm DRM which requires the port. The port is not needed for the hardware to operate and for some of the Linux drivers, so it should be optional.

Quoted 8 lines
Quoted 4 lines

DSI busses can handle multiple devices, and multiple data types. If we were to drop the port node, how does the upstream video device know which device it should send its video output to?

We do not drop the port node, who suggested that?

You do get, that we are not talking about the DSI host, but the panel?

Best regards,
Krzysztof

#5 lore raw
Quoted 7 lines · Krzysztof Kozlowski
Quoted 6 lines · Krzysztof Kozlowski
Quoted 5 lines · Maxime Ripard
Quoted 3 lines · Krzysztof Kozlowski

DSI panels can be placed under DSI bus directly and many Linux DRM drivers will work fine with it: mipi_dsi_host_register() adds device for such panel and DRM driver does not use OF graph to configure lanes.

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

That's not true. We do use the endpoints to configure the lanes through the data-lanes property. See drm_of_get_data_lanes*

Some drivers use endpoints, some not. As discussed on other thread, there are more than which do not.

"there are more than one which do not."

Which means that those should be fixed. We have legacy cases where the drivers assumed that, but we should not target legacy.

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 12 lines

The affected here Linux panel drivers do not use OF graph, either.

Requiring graph port for such panels is tying the binding to one specific implementation of Linux DRM drivers, e.g. Qualcomm DRM which requires the port. The port is not needed for the hardware to operate and for some of the Linux drivers, so it should be optional.

Quoted 8 lines
Quoted 8 lines
Quoted 4 lines

DSI busses can handle multiple devices, and multiple data types. If we were to drop the port node, how does the upstream video device know which device it should send its video output to?

We do not drop the port node, who suggested that?

You do get, that we are not talking about the DSI host, but the panel?

The panel might be driven by the host directly or there can be other chips on the bus (someboby has been asking about the retimer or something else sitting on the DSI bus between the host and the panel).

Signature · 2 lines
With best wishes
Dmitry
#6 lore raw
Quoted 11 lines · Dmitry Baryshkov
Quoted 10 lines · Krzysztof Kozlowski
Quoted 9 lines · Krzysztof Kozlowski
Quoted 7 lines · Maxime Ripard
Quoted 3 lines · Krzysztof Kozlowski

DSI panels can be placed under DSI bus directly and many Linux DRM drivers will work fine with it: mipi_dsi_host_register() adds device for such panel and DRM driver does not use OF graph to configure lanes.

That's not true. We do use the endpoints to configure the lanes through the data-lanes property. See drm_of_get_data_lanes*

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines

Some drivers use endpoints, some not. As discussed on other thread, there are more than which do not.

"there are more than one which do not."

Which means that those should be fixed. We have legacy cases where the drivers assumed that, but we should not target legacy.

These legacy drivers work fine for 10 or 15 years, like Exynos.

You can improve them, for sure, but if no one does that then requiring a graph is a mistake there, from the panel point of view.

...

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 4 lines

DSI busses can handle multiple devices, and multiple data types. If we were to drop the port node, how does the upstream video device know which device it should send its video output to?

Quoted 7 lines
Quoted 3 lines
Quoted 3 lines

We do not drop the port node, who suggested that?

You do get, that we are not talking about the DSI host, but the panel?

The panel might be driven by the host directly or there can be other chips on the bus (someboby has been asking about the retimer or something else sitting on the DSI bus between the host and the panel).

Sure, does not change that panel DOES NOT require the graph node. Neither current Linux drivers, except some.

Best regards,
Krzysztof

Reviewed-by on v1 1/1
#7 lore raw
In reply to Krzysztof Kozlowski

ср, 11 лист. 2026 р. о 13:03 Krzysztof Kozlowski
<[email protected]> пише:

Quoted 51 lines

DSI panels can be placed under DSI bus directly and many Linux DRM drivers will work fine with it: mipi_dsi_host_register() adds device for such panel and DRM driver does not use OF graph to configure lanes. The affected here Linux panel drivers do not use OF graph, either.

Requiring graph port for such panels is tying the binding to one specific implementation of Linux DRM drivers, e.g. Qualcomm DRM which requires the port. The port is not needed for the hardware to operate and for some of the Linux drivers, so it should be optional.

---

Remaining one Ilitek is fixed in:
https://lore.kernel.org/all/[email protected]/

---
 .../devicetree/bindings/display/panel/anbernic,td4310.yaml       | 1 -
 Documentation/devicetree/bindings/display/panel/boe,td4320.yaml  | 1 -
 .../devicetree/bindings/display/panel/boe,tv101wum-ll2.yaml      | 1 -
 Documentation/devicetree/bindings/display/panel/ebbg,ft8719.yaml | 1 -
 .../devicetree/bindings/display/panel/elida,kd35t133.yaml        | 1 -
 .../bindings/display/panel/feiyang,fy07024di26a30d.yaml          | 1 -
 .../devicetree/bindings/display/panel/himax,hx83112a.yaml        | 1 -
 .../devicetree/bindings/display/panel/himax,hx83112b.yaml        | 1 -
 .../devicetree/bindings/display/panel/himax,hx8394.yaml          | 1 -
 .../devicetree/bindings/display/panel/ilitek,ili7807s.yaml       | 1 -
 .../devicetree/bindings/display/panel/ilitek,ili9805.yaml        | 1 -
 .../devicetree/bindings/display/panel/ilitek,ili9806e.yaml       | 1 -
 Documentation/devicetree/bindings/display/panel/lxd,m9189a.yaml  | 1 -
 .../devicetree/bindings/display/panel/novatek,nt35532.yaml       | 1 -
 .../devicetree/bindings/display/panel/novatek,nt36672a.yaml      | 1 -
 .../devicetree/bindings/display/panel/novatek,nt36672e.yaml      | 1 -
 .../devicetree/bindings/display/panel/novatek,nt37801.yaml       | 1 -
 .../devicetree/bindings/display/panel/novatek,nt51021.yaml       | 1 -
 .../devicetree/bindings/display/panel/raydium,rm67191.yaml       | 1 -
 .../devicetree/bindings/display/panel/raydium,rm67200.yaml       | 1 -
 .../devicetree/bindings/display/panel/raydium,rm69220.yaml       | 1 -
 .../devicetree/bindings/display/panel/raydium,rm692e5.yaml       | 1 -
 .../devicetree/bindings/display/panel/renesas,r61307.yaml        | 1 -
 .../devicetree/bindings/display/panel/renesas,r69328.yaml        | 1 -
 .../devicetree/bindings/display/panel/ronbo,rb070d30.yaml        | 1 -
 .../devicetree/bindings/display/panel/samsung,ams581vf01.yaml    | 1 -
 .../devicetree/bindings/display/panel/samsung,ams639rq08.yaml    | 1 -
 .../bindings/display/panel/samsung,s6e88a0-ams452ef01.yaml       | 1 -
 .../devicetree/bindings/display/panel/samsung,sofef01-m.yaml     | 1 -
 .../devicetree/bindings/display/panel/sony,td4353-jdi.yaml       | 1 -
 .../bindings/display/panel/sony,tulip-truly-nt35521.yaml         | 1 -
 .../devicetree/bindings/display/panel/startek,kd070fhfid015.yaml | 1 -
Quoted 9 lines
 .../devicetree/bindings/display/panel/synaptics,r63353.yaml      | 1 -
 .../devicetree/bindings/display/panel/visionox,g2647fb105.yaml   | 1 -
 .../devicetree/bindings/display/panel/visionox,r66451.yaml       | 1 -
 .../devicetree/bindings/display/panel/visionox,rm69299.yaml      | 1 -
 .../devicetree/bindings/display/panel/visionox,rm692e5.yaml      | 1 -
 .../devicetree/bindings/display/panel/visionox,vtdr6130.yaml     | 1 -
 .../devicetree/bindings/display/panel/xinpeng,xpp055c272.yaml    | 1 -
 39 files changed, 39 deletions(-)

Thanks!

r61307 and r69328