Re: [PATCH 1/8] dt-bindings: display: ti,am65x-dss: Add port properties for DSS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 19/07/2022 11:08, Aradhya Bhatia wrote:
Add "ti,oldi-mode" property to indicate the tidss driver the OLDI output
mode. The 2 OLDI TXes on am625-dss allow a 3 different types of panel
connections with the board.

1. Single Link / Single Mode on OLDI TX 0 OR 1.
2. Single Link / Duplicate Mode on OLDI TX 0 and 1.
3. Dual Link / Single Mode on OLDI TX 0 and 1.

Add "ti,rgb565-to-888" property to override 16bit output from a videoport
for a bridge that only accepts 24bit RGB888 DPI input.

On some boards the HDMI bridge takes a 24bit DPI input, but only 16 data
pins are actually enabled from the SoC.  This new property forces the
output to be RGB565 on a specific video port if the bridge requests a
24bit RGB color space.

This assumes that the video port is connected like so:

SoC : Bridge
R0 ->   R3
R1 ->   R4
R2 ->   R5
R3 ->   R6
R4 ->   R7
G0 ->   G2
G1 ->   G3
G2 ->   G4
G3 ->   G5
G4 ->   G6
G5 ->   G7
B0 ->   B3
B1 ->   B4
B2 ->   B5
B3 ->   B6
B4 ->   B7

On the bridge side R0->R2, G0->G1, B0->B2 would be tied to ground.
The bridge sees 24bits of data,  but the lsb's are always zero.

Signed-off-by: Aradhya Bhatia <a-bhatia1@xxxxxx>
---
  .../bindings/display/ti/ti,am65x-dss.yaml     | 25 +++++++++++++++++--
  1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml b/Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml
index 6bbce921479d..11d9b3821409 100644
--- a/Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml
+++ b/Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml
@@ -80,15 +80,35 @@ properties:
properties:
        port@0:
-        $ref: /schemas/graph.yaml#/properties/port
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
          description:
            The DSS OLDI output port node form video port 1
+ properties:
+          ti,oldi-mode:
+            description: TI specific property to indicate the mode the OLDI TXes
+              and the display panel are connected in.
+              0 -> OLDI TXes OFF (driver default for am625-dss)
+              1 -> Single link, Single Mode (OLDI0) (driver default for am65x-dss)
+              2 -> Single link, Single Mode (OLDI1)
+              3 -> Single link, Duplicate Mode
+              4 -> Dual link (Only Single Mode)
+            $ref: /schemas/types.yaml#/definitions/uint32
+            enum: [0, 1, 2, 3, 4]
+
        port@1:
-        $ref: /schemas/graph.yaml#/properties/port
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
          description:
            The DSS DPI output port node from video port 2
+ properties:
+          ti,rgb565-to-888:
+            description:
+              property to override DPI output to 16bit for 24bit bridge
+            type: boolean

So you have a board with 16 DSS pins connected, going to a bridge/panel that only supports 24 bit input. I don't think there's anything TI specific here, sounds like a common situation.

"rgb565-to-888" sounds like there's some kind of conversion happening, but all this does is set the videoport width to 16 bits.

I'm not sure if there's a better solution but in the OMAP DSS we have "data-lines" property for an endpoint, which tells the driver the width of the bus.

 Tomi



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux