xref: /linux/Documentation/devicetree/bindings/display/atmel,lcdc.yaml (revision 46e6acfe3501fa938af9c5bd730f0020235b08a2)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/atmel,lcdc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip's LCDC Framebuffer
8
9maintainers:
10  - Nicolas Ferre <nicolas.ferre@microchip.com>
11  - Dharma Balasubiramani <dharma.b@microchip.com>
12
13description:
14  The LCDC works with a framebuffer, which is a section of memory that contains
15  a complete frame of data representing pixel values for the display. The LCDC
16  reads the pixel data from the framebuffer and sends it to the LCD panel to
17  render the image.
18
19properties:
20  compatible:
21    enum:
22      - atmel,at91sam9261-lcdc
23      - atmel,at91sam9263-lcdc
24      - atmel,at91sam9g10-lcdc
25      - atmel,at91sam9g45-lcdc
26      - atmel,at91sam9g45es-lcdc
27      - atmel,at91sam9rl-lcdc
28
29  reg:
30    maxItems: 1
31
32  interrupts:
33    maxItems: 1
34
35  clocks:
36    maxItems: 2
37
38  clock-names:
39    items:
40      - const: hclk
41      - const: lcdc_clk
42
43  display:
44    $ref: /schemas/types.yaml#/definitions/phandle
45    description: A phandle pointing to the display node.
46
47required:
48  - compatible
49  - reg
50  - interrupts
51  - clocks
52  - clock-names
53  - display
54
55additionalProperties: false
56
57examples:
58  - |
59    #include <dt-bindings/clock/at91.h>
60    #include <dt-bindings/interrupt-controller/irq.h>
61    fb@500000 {
62      compatible = "atmel,at91sam9g45-lcdc";
63      reg = <0x00500000 0x1000>;
64      interrupts = <23 IRQ_TYPE_LEVEL_HIGH 0>;
65      pinctrl-names = "default";
66      pinctrl-0 = <&pinctrl_fb>;
67      clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_PERIPHERAL 23>;
68      clock-names = "hclk", "lcdc_clk";
69      display = <&display>;
70    };
71