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