Messages in this thread | | | Date | Thu, 28 Jul 2022 14:16:50 +0300 | Subject | Re: [PATCH 1/8] dt-bindings: display: ti,am65x-dss: Add port properties for DSS | From | Tomi Valkeinen <> |
| |
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@ti.com> > --- > .../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
| |