Message ID | 20250304101530.969920-4-victor.liu@nxp.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/bridge: simple-bridge: Add DPI color encoder support | expand |
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
On Tue, 04 Mar 2025 18:15:28 +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> > --- > .../display/bridge/simple-bridge.yaml | 89 ++++++++++++++++++- > 1 file changed, 87 insertions(+), 2 deletions(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/display/bridge/simple-bridge.example.dtb: /example-1/bridge: failed to match any schema with compatible: ['dpi-color-enoder'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250304101530.969920-4-victor.liu@nxp.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
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 - 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 + examples: - | bridge { @@ -88,4 +145,32 @@ examples: }; }; + - | + bridge { + compatible = "dpi-color-enoder"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + dpi_in: endpoint { + remote-endpoint = <&dc_out>; + dpi-color-coding = "18bit-configuration1"; + }; + }; + + port@1 { + reg = <1>; + + dpi_out: endpoint { + remote-endpoint = <&panel_in>; + dpi-color-coding = "24bit"; + }; + }; + }; + }; + ...
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> --- .../display/bridge/simple-bridge.yaml | 89 ++++++++++++++++++- 1 file changed, 87 insertions(+), 2 deletions(-)