[PATCH v1 4/4] dt-bindings: display: add port support to atmel lcdc

Rob Herring robh at kernel.org
Tue Apr 14 19:10:37 UTC 2020


On Sun, Apr 12, 2020 at 08:20:12PM +0200, Sam Ravnborg wrote:
> Update the Atmel LCDC binding to include:
> - pwm. Used for backlight
> - endpoints using port node
>   Used for handle to panel
> - Added wiring property that is used to describe
>   the wiring between the LCDC and the panel
> 
> Existing properties that should not be used in new
> bindings are deprecated.
> 
> Updated example to include the updated way to specify panel etc.
> 
> Signed-off-by: Sam Ravnborg <sam at ravnborg.org>
> ---
>  .../bindings/display/atmel/lcdc.yaml          | 94 ++++++++++++++++++-
>  1 file changed, 93 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/atmel/lcdc.yaml b/Documentation/devicetree/bindings/display/atmel/lcdc.yaml
> index 7dcb9a4d5902..b5c2628f7805 100644
> --- a/Documentation/devicetree/bindings/display/atmel/lcdc.yaml
> +++ b/Documentation/devicetree/bindings/display/atmel/lcdc.yaml
> @@ -28,6 +28,7 @@ properties:
>  
>    "#address-cells":
>      const: 1
> +
>    "#size-cells":
>      const: 0
>  
> @@ -43,13 +44,84 @@ properties:
>    lcd-supply:
>      description: Regulator for LCD supply voltage.
>  
> +  "#pwm-cells":
> +    description:
> +      This PWM chip use the default 3 cells bindings
> +      defined in ../../pwm/pwm.yaml.
> +    const: 3
> +
> +  clocks:
> +    maxItems: 2
> +
> +  clock-names:
> +    maxItems: 2
> +    items:
> +      - const: lcdc_clk
> +      - const: hclk
> +
> +  port at 0:

Just 'port' if there's only 1.

> +    type: object
> +    description: Endpoints of the display controller
> +
> +    properties:
> +
> +      reg:
> +        const: 0
> +
> +      "#address-cells":
> +        const: 1
> +
> +      "#size-cells":
> +        const: 0
> +
> +      endpoint at 0:

Just 'endpoint' if there's only 1.

> +        type: object
> +        description: endpoint node that include phandle to panel
> +
> +        properties:
> +
> +          reg:
> +            const: 0
> +
> +          wiring:
> +            enum:
> +              - straight
> +              - red-blue-reversed
> +            description: |
> +              The LCDC is based on a blue-green-red configuration but to adapt
> +              to SW only supporting red-green-blue the data lines for red and blue
> +              may be reversed.
> +              See details in: http://ww1.microchip.com/downloads/en/AppNotes/doc6300.pdf
> +              "straight" - default value. Data lines are not reversed, uses BGR
> +              "red-blue-reversed" - red and green are reversed, uses RGB
> +
> +          remote-endpoint:
> +            $ref: /schemas/types.yaml#/definitions/phandle
> +            description:
> +              phandle to the panel node
> +
> +        required:
> +          - reg
> +          - remote-endpoint
> +
> +        additionalProperties: false
> +
> +    required:
> +      - "#address-cells"
> +      - "#size-cells"
> +      - reg
> +
> +    additionalProperties: false
> +
>    display:
>      $ref: /schemas/types.yaml#/definitions/phandle
> +    deprecated: true
>      description: phandle to display node
>  
>  patternProperties:
>    "^display[0-9]$":
>      type: object
> +    deprecated: true
>      description: |
>        Display node is required to initialize the lcd panel.
>        This should be in the board dts
> @@ -107,12 +179,32 @@ required:
>  
>  examples:
>    - |
> +    #include <dt-bindings/clock/at91.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
>      fb {
>          compatible = "atmel,at91sam9263-lcdc";
>          reg = <0x00700000 0x1000>;
> -        interrupts = <23 3 0>;
> +        interrupts = <26 IRQ_TYPE_LEVEL_HIGH 3>;
> +        clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_PERIPHERAL 26>;
> +        clock-names = "lcdc_clk", "hclk";
> +
> +        /* pwm for backlight */
> +        #pwm-cells = <3>;
> +
>          #address-cells = <1>;
>          #size-cells = <0>;
> +
> +        port at 0 {
> +            reg = <0>;
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +            endpoint at 0 {
> +                reg = <0>;
> +                wiring = "red-blue-reversed";
> +                remote-endpoint = <&panel_input>;
> +            };
> +        };
>      };
>  
>    - |
> -- 
> 2.20.1
> 


More information about the dri-devel mailing list