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@xxxxxxxxxxxx> > --- > .../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@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@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@0 { > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <0>; > + endpoint@0 { > + reg = <0>; > + wiring = "red-blue-reversed"; > + remote-endpoint = <&panel_input>; > + }; > + }; > }; > > - | > -- > 2.20.1 >