157b7d5d3SDharma Balasubiramani# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 257b7d5d3SDharma Balasubiramani%YAML 1.2 357b7d5d3SDharma Balasubiramani--- 457b7d5d3SDharma Balasubiramani$id: http://devicetree.org/schemas/display/atmel,lcdc-display.yaml# 557b7d5d3SDharma Balasubiramani$schema: http://devicetree.org/meta-schemas/core.yaml# 657b7d5d3SDharma Balasubiramani 757b7d5d3SDharma Balasubiramanititle: Microchip's LCDC Display 857b7d5d3SDharma Balasubiramani 957b7d5d3SDharma Balasubiramanimaintainers: 1057b7d5d3SDharma Balasubiramani - Nicolas Ferre <nicolas.ferre@microchip.com> 1157b7d5d3SDharma Balasubiramani - Dharma Balasubiramani <dharma.b@microchip.com> 1257b7d5d3SDharma Balasubiramani 1357b7d5d3SDharma Balasubiramanidescription: 1457b7d5d3SDharma Balasubiramani The LCD Controller (LCDC) consists of logic for transferring LCD image data 1557b7d5d3SDharma Balasubiramani from an external display buffer to a TFT LCD panel. The LCDC has one display 1657b7d5d3SDharma Balasubiramani input buffer per layer that fetches pixels through the single bus host 1757b7d5d3SDharma Balasubiramani interface and a look-up table to allow palletized display configurations. The 1857b7d5d3SDharma Balasubiramani LCDC is programmable on a per layer basis, and supports different LCD 1957b7d5d3SDharma Balasubiramani resolutions, window sizes, image formats and pixel depths. 2057b7d5d3SDharma Balasubiramani 2157b7d5d3SDharma Balasubiramani# We need a select here since this schema is applicable only for nodes with the 2257b7d5d3SDharma Balasubiramani# following properties 2357b7d5d3SDharma Balasubiramani 2457b7d5d3SDharma Balasubiramaniselect: 2557b7d5d3SDharma Balasubiramani anyOf: 2657b7d5d3SDharma Balasubiramani - required: [ 'atmel,dmacon' ] 2757b7d5d3SDharma Balasubiramani - required: [ 'atmel,lcdcon2' ] 2857b7d5d3SDharma Balasubiramani - required: [ 'atmel,guard-time' ] 2957b7d5d3SDharma Balasubiramani 3057b7d5d3SDharma Balasubiramaniproperties: 3157b7d5d3SDharma Balasubiramani atmel,dmacon: 3257b7d5d3SDharma Balasubiramani $ref: /schemas/types.yaml#/definitions/uint32 3357b7d5d3SDharma Balasubiramani description: dma controller configuration 3457b7d5d3SDharma Balasubiramani 3557b7d5d3SDharma Balasubiramani atmel,lcdcon2: 3657b7d5d3SDharma Balasubiramani $ref: /schemas/types.yaml#/definitions/uint32 3757b7d5d3SDharma Balasubiramani description: lcd controller configuration 3857b7d5d3SDharma Balasubiramani 3957b7d5d3SDharma Balasubiramani atmel,guard-time: 4057b7d5d3SDharma Balasubiramani $ref: /schemas/types.yaml#/definitions/uint32 4157b7d5d3SDharma Balasubiramani description: lcd guard time (Delay in frame periods) 4257b7d5d3SDharma Balasubiramani maximum: 127 4357b7d5d3SDharma Balasubiramani 4457b7d5d3SDharma Balasubiramani bits-per-pixel: 4557b7d5d3SDharma Balasubiramani $ref: /schemas/types.yaml#/definitions/uint32 4657b7d5d3SDharma Balasubiramani description: lcd panel bit-depth. 4757b7d5d3SDharma Balasubiramani enum: [1, 2, 4, 8, 16, 24, 32] 4857b7d5d3SDharma Balasubiramani 4957b7d5d3SDharma Balasubiramani atmel,lcdcon-backlight: 5057b7d5d3SDharma Balasubiramani $ref: /schemas/types.yaml#/definitions/flag 5157b7d5d3SDharma Balasubiramani description: enable backlight 5257b7d5d3SDharma Balasubiramani 5357b7d5d3SDharma Balasubiramani atmel,lcdcon-backlight-inverted: 5457b7d5d3SDharma Balasubiramani $ref: /schemas/types.yaml#/definitions/flag 5557b7d5d3SDharma Balasubiramani description: invert backlight PWM polarity 5657b7d5d3SDharma Balasubiramani 5757b7d5d3SDharma Balasubiramani atmel,lcd-wiring-mode: 5857b7d5d3SDharma Balasubiramani $ref: /schemas/types.yaml#/definitions/string 5957b7d5d3SDharma Balasubiramani description: lcd wiring mode "RGB" or "BRG" 6057b7d5d3SDharma Balasubiramani enum: 6157b7d5d3SDharma Balasubiramani - RGB 6257b7d5d3SDharma Balasubiramani - BRG 6357b7d5d3SDharma Balasubiramani 6457b7d5d3SDharma Balasubiramani atmel,power-control-gpio: 6557b7d5d3SDharma Balasubiramani description: gpio to power on or off the LCD (as many as needed) 6657b7d5d3SDharma Balasubiramani maxItems: 1 6757b7d5d3SDharma Balasubiramani 6857b7d5d3SDharma Balasubiramani display-timings: 6957b7d5d3SDharma Balasubiramani $ref: panel/display-timings.yaml# 7057b7d5d3SDharma Balasubiramani 7157b7d5d3SDharma Balasubiramanirequired: 7257b7d5d3SDharma Balasubiramani - atmel,dmacon 7357b7d5d3SDharma Balasubiramani - atmel,lcdcon2 7457b7d5d3SDharma Balasubiramani - atmel,guard-time 7557b7d5d3SDharma Balasubiramani - bits-per-pixel 7657b7d5d3SDharma Balasubiramani 7757b7d5d3SDharma BalasubiramaniadditionalProperties: false 7857b7d5d3SDharma Balasubiramani 7957b7d5d3SDharma Balasubiramaniexamples: 8057b7d5d3SDharma Balasubiramani - | 8157b7d5d3SDharma Balasubiramani display: panel { 8257b7d5d3SDharma Balasubiramani bits-per-pixel = <32>; 8357b7d5d3SDharma Balasubiramani atmel,lcdcon-backlight; 8457b7d5d3SDharma Balasubiramani atmel,dmacon = <0x1>; 8557b7d5d3SDharma Balasubiramani atmel,lcdcon2 = <0x80008002>; 8657b7d5d3SDharma Balasubiramani atmel,guard-time = <9>; 8757b7d5d3SDharma Balasubiramani atmel,lcd-wiring-mode = "RGB"; 8857b7d5d3SDharma Balasubiramani 8957b7d5d3SDharma Balasubiramani display-timings { 9057b7d5d3SDharma Balasubiramani native-mode = <&timing0>; 9157b7d5d3SDharma Balasubiramani timing0: timing0 { 9257b7d5d3SDharma Balasubiramani clock-frequency = <9000000>; 9357b7d5d3SDharma Balasubiramani hactive = <480>; 9457b7d5d3SDharma Balasubiramani vactive = <272>; 9557b7d5d3SDharma Balasubiramani hback-porch = <1>; 9657b7d5d3SDharma Balasubiramani hfront-porch = <1>; 9757b7d5d3SDharma Balasubiramani vback-porch = <40>; 9857b7d5d3SDharma Balasubiramani vfront-porch = <1>; 9957b7d5d3SDharma Balasubiramani hsync-len = <45>; 10057b7d5d3SDharma Balasubiramani vsync-len = <1>; 10157b7d5d3SDharma Balasubiramani }; 10257b7d5d3SDharma Balasubiramani }; 10357b7d5d3SDharma Balasubiramani }; 104