Merge remote-tracking branches 'asoc/topic/rt5514', 'asoc/topic/rt5640', 'asoc/topic...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / display / brcm,bcm-vc4.txt
1 Broadcom VC4 (VideoCore4) GPU
2
3 The VC4 device present on the Raspberry Pi includes a display system
4 with HDMI output and the HVS (Hardware Video Scaler) for compositing
5 display planes.
6
7 Required properties for VC4:
8 - compatible:   Should be "brcm,bcm2835-vc4"
9
10 Required properties for Pixel Valve:
11 - compatible:   Should be one of "brcm,bcm2835-pixelvalve0",
12                   "brcm,bcm2835-pixelvalve1", or "brcm,bcm2835-pixelvalve2"
13 - reg:          Physical base address and length of the PV's registers
14 - interrupts:   The interrupt number
15                   See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
16
17 Required properties for HVS:
18 - compatible:   Should be "brcm,bcm2835-hvs"
19 - reg:          Physical base address and length of the HVS's registers
20 - interrupts:   The interrupt number
21                   See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
22
23 Required properties for HDMI
24 - compatible:   Should be "brcm,bcm2835-hdmi"
25 - reg:          Physical base address and length of the two register ranges
26                   ("HDMI" and "HD", in that order)
27 - interrupts:   The interrupt numbers
28                   See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
29 - ddc:          phandle of the I2C controller used for DDC EDID probing
30 - clocks:       a) hdmi: The HDMI state machine clock
31                 b) pixel: The pixel clock.
32
33 Optional properties for HDMI:
34 - hpd-gpios:    The GPIO pin for HDMI hotplug detect (if it doesn't appear
35                   as an interrupt/status bit in the HDMI controller
36                   itself).  See bindings/pinctrl/brcm,bcm2835-gpio.txt
37
38 Required properties for DPI:
39 - compatible:   Should be "brcm,bcm2835-dpi"
40 - reg:          Physical base address and length of the registers
41 - clocks:       a) core: The core clock the unit runs on
42                 b) pixel: The pixel clock that feeds the pixelvalve
43 - port:         Port node with a single endpoint connecting to the panel
44                   device, as defined in [1]
45
46 Required properties for VEC:
47 - compatible:   Should be "brcm,bcm2835-vec"
48 - reg:          Physical base address and length of the registers
49 - clocks:       The core clock the unit runs on
50 - interrupts:   The interrupt number
51                   See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
52
53 Required properties for V3D:
54 - compatible:   Should be "brcm,bcm2835-v3d"
55 - reg:          Physical base address and length of the V3D's registers
56 - interrupts:   The interrupt number
57                   See bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt
58
59 [1] Documentation/devicetree/bindings/media/video-interfaces.txt
60
61 Example:
62 pixelvalve@7e807000 {
63         compatible = "brcm,bcm2835-pixelvalve2";
64         reg = <0x7e807000 0x100>;
65         interrupts = <2 10>; /* pixelvalve */
66 };
67
68 hvs@7e400000 {
69         compatible = "brcm,bcm2835-hvs";
70         reg = <0x7e400000 0x6000>;
71         interrupts = <2 1>;
72 };
73
74 hdmi: hdmi@7e902000 {
75         compatible = "brcm,bcm2835-hdmi";
76         reg = <0x7e902000 0x600>,
77               <0x7e808000 0x100>;
78         interrupts = <2 8>, <2 9>;
79         ddc = <&i2c2>;
80         hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
81         clocks = <&clocks BCM2835_PLLH_PIX>,
82                  <&clocks BCM2835_CLOCK_HSM>;
83         clock-names = "pixel", "hdmi";
84 };
85
86 dpi: dpi@7e208000 {
87         compatible = "brcm,bcm2835-dpi";
88         reg = <0x7e208000 0x8c>;
89         clocks = <&clocks BCM2835_CLOCK_VPU>,
90                  <&clocks BCM2835_CLOCK_DPI>;
91         clock-names = "core", "pixel";
92         #address-cells = <1>;
93         #size-cells = <0>;
94
95         port {
96                 dpi_out: endpoint@0 {
97                         remote-endpoint = <&panel_in>;
98                 };
99         };
100 };
101
102 vec: vec@7e806000 {
103         compatible = "brcm,bcm2835-vec";
104         reg = <0x7e806000 0x1000>;
105         clocks = <&clocks BCM2835_CLOCK_VEC>;
106         interrupts = <2 27>;
107 };
108
109 v3d: v3d@7ec00000 {
110         compatible = "brcm,bcm2835-v3d";
111         reg = <0x7ec00000 0x1000>;
112         interrupts = <1 10>;
113 };
114
115 vc4: gpu {
116         compatible = "brcm,bcm2835-vc4";
117 };
118
119 panel: panel {
120         compatible = "ontat,yx700wv03", "simple-panel";
121
122         port {
123                 panel_in: endpoint {
124                         remote-endpoint = <&dpi_out>;
125                 };
126         };
127 };