Re: [PATCH 3/5] dt-bindings: display: simple-bridge: Document DPI color encoder

Maxime Ripard
2025-03-04T10:38:24Z

[-- Attachment #1: Type: text/plain, Size: 3912 bytes --]

On Tue, Mar 04, 2025 at 06:15:28PM +0800, Liu Ying wrote:
> A DPI color encoder, as a simple display bridge, converts input DPI color
> coding to output DPI color coding, like Adafruit Kippah DPI hat[1] which
> converts input 18-bit pixel data to 24-bit pixel data(with 2 low padding
> bits in every color component though). Document the DPI color encoder.
>
> [1] https://learn.adafruit.com/adafruit-dpi-display-kippah-ttl-tft/downloads
>
> Signed-off-by: Liu Ying <victor.liu@nxp.com>

So it's just a bunch of signals that aren't wired / set to the ground? I
assume to free a few GPIOs?

I guess that makes sense.

> ---
> .../display/bridge/simple-bridge.yaml | 89 ++++++++++++++++++-
> 1 file changed, 87 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
> index 43cf4df9811a..c1747c033040 100644
> --- a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
> +++ b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
> @@ -27,6 +27,7 @@ properties:
> - const: adi,adv7123
> - enum:
> - adi,adv7123
> + - dpi-color-encoder

I don't think we can claim that there's a generic DPI color encoder.
Maybe we can add the prefix dumb or transparent?

> - dumb-vga-dac
> - ti,opa362
> - ti,ths8134
> @@ -37,13 +38,31 @@ properties:
>
> properties:
> port@0:
> - $ref: /schemas/graph.yaml#/properties/port
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + unevaluatedProperties: false
> description: The bridge input
>
> + properties:
> + endpoint:
> + $ref: /schemas/media/video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + dpi-color-coding: true
> +
> port@1:
> - $ref: /schemas/graph.yaml#/properties/port
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + unevaluatedProperties: false
> description: The bridge output
>
> + properties:
> + endpoint:
> + $ref: /schemas/media/video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + dpi-color-coding: true
> +
> required:
> - port@0
> - port@1
> @@ -61,6 +80,44 @@ required:
>
> additionalProperties: false
>
> +allOf:
> + - $ref: /schemas/display/dpi-color-coding.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: dpi-color-encoder
> + then:
> + properties:
> + ports:
> + properties:
> + port@0:
> + properties:
> + endpoint:
> + required:
> + - dpi-color-coding
> +
> + port@1:
> + properties:
> + endpoint:
> + required:
> + - dpi-color-coding
> + else:
> + properties:
> + ports:
> + properties:
> + port@0:
> + properties:
> + endpoint:
> + properties:
> + dpi-color-coding: false
> +
> + port@1:
> + properties:
> + endpoint:
> + properties:
> + dpi-color-coding: false
> +

Also it complicates the binding enough to warrant for another binding for
that specific "component".

> examples:
> - |
> bridge {
> @@ -88,4 +145,32 @@ examples:
> };
> };
>
> + - |
> + bridge {
> + compatible = "dpi-color-enoder";

You have a typo in the compatible.

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]