1*7d0873ebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*7d0873ebSEmmanuel Vadot%YAML 1.2 3*7d0873ebSEmmanuel Vadot--- 4*7d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/display/atmel,lcdc-display.yaml# 5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7d0873ebSEmmanuel Vadot 7*7d0873ebSEmmanuel Vadottitle: Microchip's LCDC Display 8*7d0873ebSEmmanuel Vadot 9*7d0873ebSEmmanuel Vadotmaintainers: 10*7d0873ebSEmmanuel Vadot - Nicolas Ferre <nicolas.ferre@microchip.com> 11*7d0873ebSEmmanuel Vadot - Dharma Balasubiramani <dharma.b@microchip.com> 12*7d0873ebSEmmanuel Vadot 13*7d0873ebSEmmanuel Vadotdescription: 14*7d0873ebSEmmanuel Vadot The LCD Controller (LCDC) consists of logic for transferring LCD image data 15*7d0873ebSEmmanuel Vadot from an external display buffer to a TFT LCD panel. The LCDC has one display 16*7d0873ebSEmmanuel Vadot input buffer per layer that fetches pixels through the single bus host 17*7d0873ebSEmmanuel Vadot interface and a look-up table to allow palletized display configurations. The 18*7d0873ebSEmmanuel Vadot LCDC is programmable on a per layer basis, and supports different LCD 19*7d0873ebSEmmanuel Vadot resolutions, window sizes, image formats and pixel depths. 20*7d0873ebSEmmanuel Vadot 21*7d0873ebSEmmanuel Vadot# We need a select here since this schema is applicable only for nodes with the 22*7d0873ebSEmmanuel Vadot# following properties 23*7d0873ebSEmmanuel Vadot 24*7d0873ebSEmmanuel Vadotselect: 25*7d0873ebSEmmanuel Vadot anyOf: 26*7d0873ebSEmmanuel Vadot - required: [ 'atmel,dmacon' ] 27*7d0873ebSEmmanuel Vadot - required: [ 'atmel,lcdcon2' ] 28*7d0873ebSEmmanuel Vadot - required: [ 'atmel,guard-time' ] 29*7d0873ebSEmmanuel Vadot 30*7d0873ebSEmmanuel Vadotproperties: 31*7d0873ebSEmmanuel Vadot atmel,dmacon: 32*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 33*7d0873ebSEmmanuel Vadot description: dma controller configuration 34*7d0873ebSEmmanuel Vadot 35*7d0873ebSEmmanuel Vadot atmel,lcdcon2: 36*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 37*7d0873ebSEmmanuel Vadot description: lcd controller configuration 38*7d0873ebSEmmanuel Vadot 39*7d0873ebSEmmanuel Vadot atmel,guard-time: 40*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 41*7d0873ebSEmmanuel Vadot description: lcd guard time (Delay in frame periods) 42*7d0873ebSEmmanuel Vadot maximum: 127 43*7d0873ebSEmmanuel Vadot 44*7d0873ebSEmmanuel Vadot bits-per-pixel: 45*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 46*7d0873ebSEmmanuel Vadot description: lcd panel bit-depth. 47*7d0873ebSEmmanuel Vadot enum: [1, 2, 4, 8, 16, 24, 32] 48*7d0873ebSEmmanuel Vadot 49*7d0873ebSEmmanuel Vadot atmel,lcdcon-backlight: 50*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 51*7d0873ebSEmmanuel Vadot description: enable backlight 52*7d0873ebSEmmanuel Vadot 53*7d0873ebSEmmanuel Vadot atmel,lcdcon-backlight-inverted: 54*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 55*7d0873ebSEmmanuel Vadot description: invert backlight PWM polarity 56*7d0873ebSEmmanuel Vadot 57*7d0873ebSEmmanuel Vadot atmel,lcd-wiring-mode: 58*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 59*7d0873ebSEmmanuel Vadot description: lcd wiring mode "RGB" or "BRG" 60*7d0873ebSEmmanuel Vadot enum: 61*7d0873ebSEmmanuel Vadot - RGB 62*7d0873ebSEmmanuel Vadot - BRG 63*7d0873ebSEmmanuel Vadot 64*7d0873ebSEmmanuel Vadot atmel,power-control-gpio: 65*7d0873ebSEmmanuel Vadot description: gpio to power on or off the LCD (as many as needed) 66*7d0873ebSEmmanuel Vadot maxItems: 1 67*7d0873ebSEmmanuel Vadot 68*7d0873ebSEmmanuel Vadot display-timings: 69*7d0873ebSEmmanuel Vadot $ref: panel/display-timings.yaml# 70*7d0873ebSEmmanuel Vadot 71*7d0873ebSEmmanuel Vadotrequired: 72*7d0873ebSEmmanuel Vadot - atmel,dmacon 73*7d0873ebSEmmanuel Vadot - atmel,lcdcon2 74*7d0873ebSEmmanuel Vadot - atmel,guard-time 75*7d0873ebSEmmanuel Vadot - bits-per-pixel 76*7d0873ebSEmmanuel Vadot 77*7d0873ebSEmmanuel VadotadditionalProperties: false 78*7d0873ebSEmmanuel Vadot 79*7d0873ebSEmmanuel Vadotexamples: 80*7d0873ebSEmmanuel Vadot - | 81*7d0873ebSEmmanuel Vadot display: panel { 82*7d0873ebSEmmanuel Vadot bits-per-pixel = <32>; 83*7d0873ebSEmmanuel Vadot atmel,lcdcon-backlight; 84*7d0873ebSEmmanuel Vadot atmel,dmacon = <0x1>; 85*7d0873ebSEmmanuel Vadot atmel,lcdcon2 = <0x80008002>; 86*7d0873ebSEmmanuel Vadot atmel,guard-time = <9>; 87*7d0873ebSEmmanuel Vadot atmel,lcd-wiring-mode = "RGB"; 88*7d0873ebSEmmanuel Vadot 89*7d0873ebSEmmanuel Vadot display-timings { 90*7d0873ebSEmmanuel Vadot native-mode = <&timing0>; 91*7d0873ebSEmmanuel Vadot timing0: timing0 { 92*7d0873ebSEmmanuel Vadot clock-frequency = <9000000>; 93*7d0873ebSEmmanuel Vadot hactive = <480>; 94*7d0873ebSEmmanuel Vadot vactive = <272>; 95*7d0873ebSEmmanuel Vadot hback-porch = <1>; 96*7d0873ebSEmmanuel Vadot hfront-porch = <1>; 97*7d0873ebSEmmanuel Vadot vback-porch = <40>; 98*7d0873ebSEmmanuel Vadot vfront-porch = <1>; 99*7d0873ebSEmmanuel Vadot hsync-len = <45>; 100*7d0873ebSEmmanuel Vadot vsync-len = <1>; 101*7d0873ebSEmmanuel Vadot }; 102*7d0873ebSEmmanuel Vadot }; 103*7d0873ebSEmmanuel Vadot }; 104