GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / display / arm,hdlcd.txt
1 ARM HDLCD
2
3 This is a display controller found on several development platforms produced
4 by ARM Ltd and in more modern of its' Fast Models. The HDLCD is an RGB
5 streamer that reads the data from a framebuffer and sends it to a single
6 digital encoder (DVI or HDMI).
7
8 Required properties:
9   - compatible: "arm,hdlcd"
10   - reg: Physical base address and length of the controller's registers.
11   - interrupts: One interrupt used by the display controller to notify the
12     interrupt controller when any of the interrupt sources programmed in
13     the interrupt mask register have activated.
14   - clocks: A list of phandle + clock-specifier pairs, one for each
15     entry in 'clock-names'.
16   - clock-names: A list of clock names. For HDLCD it should contain:
17       - "pxlclk" for the clock feeding the output PLL of the controller.
18
19 Required sub-nodes:
20   - port: The HDLCD connection to an encoder chip. The connection is modeled
21     using the OF graph bindings specified in
22     Documentation/devicetree/bindings/graph.txt.
23
24 Optional properties:
25   - memory-region: phandle to a node describing memory (see
26     Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt) to be
27     used for the framebuffer; if not present, the framebuffer may be located
28     anywhere in memory.
29
30
31 Example:
32
33 / {
34         ...
35
36         hdlcd@2b000000 {
37                 compatible = "arm,hdlcd";
38                 reg = <0 0x2b000000 0 0x1000>;
39                 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
40                 clocks = <&oscclk5>;
41                 clock-names = "pxlclk";
42                 port {
43                         hdlcd_output: endpoint@0 {
44                                 remote-endpoint = <&hdmi_enc_input>;
45                         };
46                 };
47         };
48
49         /* HDMI encoder on I2C bus */
50         i2c@7ffa0000 {
51                 ....
52                 hdmi-transmitter@70 {
53                         compatible = ".....";
54                         reg = <0x70>;
55                         port@0 {
56                                 hdmi_enc_input: endpoint {
57                                         remote-endpoint = <&hdlcd_output>;
58                                 };
59
60                                 hdmi_enc_output: endpoint {
61                                         remote-endpoint = <&hdmi_1_port>;
62                                 };
63                         };
64                 };
65
66         };
67
68         hdmi1: connector@1 {
69                 compatible = "hdmi-connector";
70                 type = "a";
71                 port {
72                         hdmi_1_port: endpoint {
73                                 remote-endpoint = <&hdmi_enc_output>;
74                         };
75                 };
76         };
77
78         ...
79 };