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: + type: object + description: Endpoints of the display controller + + properties: + + reg: + const: 0 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + endpoint@0: + 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