ARM: dts: bcm27xx: Fix to of_graph from bridge node for panel
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / bcm270x.dtsi
1 /* Downstream bcm283x.dtsi diff */
2 #include <dt-bindings/power/raspberrypi-power.h>
3
4 / {
5         chosen {
6                 bootargs = "coherent_pool=1M";
7                 /delete-property/ stdout-path;
8         };
9
10         soc: soc {
11
12                 watchdog: watchdog@7e100000 {
13                         /* Add label */
14                 };
15
16                 random: rng@7e104000 {
17                         /* Add label */
18                 };
19
20                 gpio@7e200000 { /* gpio */
21                         interrupts = <2 17>, <2 18>;
22
23                         dpi_18bit_gpio0: dpi_18bit_gpio0 {
24                                 brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
25                                              12 13 14 15 16 17 18 19
26                                              20 21>;
27                                 brcm,function = <BCM2835_FSEL_ALT2>;
28                         };
29                 };
30
31                 serial@7e201000 { /* uart0 */
32                         /* Enable CTS bug workaround */
33                         cts-event-workaround;
34                 };
35
36                 i2s@7e203000 { /* i2s */
37                         #sound-dai-cells = <0>;
38                         reg = <0x7e203000 0x24>;
39                         clocks = <&clocks BCM2835_CLOCK_PCM>;
40                 };
41
42                 spi0: spi@7e204000 {
43                         /* Add label */
44                         dmas = <&dma 6>, <&dma 7>;
45                         dma-names = "tx", "rx";
46                 };
47
48                 pixelvalve0: pixelvalve@7e206000 {
49                         /* Add label */
50                         status = "disabled";
51                 };
52
53                 pixelvalve1: pixelvalve@7e207000 {
54                         /* Add label */
55                         status = "disabled";
56                 };
57
58                 dpi: dpi@7e208000 {
59                         compatible = "brcm,bcm2835-dpi";
60                         reg = <0x7e208000 0x8c>;
61                         clocks = <&clocks BCM2835_CLOCK_VPU>,
62                                  <&clocks BCM2835_CLOCK_DPI>;
63                         clock-names = "core", "pixel";
64                         #address-cells = <1>;
65                         #size-cells = <0>;
66                         status = "disabled";
67                 };
68
69                 /delete-node/ sdhci@7e300000;
70
71                 sdhci: mmc: mmc@7e300000 {
72                         compatible = "brcm,bcm2835-mmc", "brcm,bcm2835-sdhci";
73                         reg = <0x7e300000 0x100>;
74                         interrupts = <2 30>;
75                         clocks = <&clocks BCM2835_CLOCK_EMMC>;
76                         dmas = <&dma 11>;
77                         dma-names = "rx-tx";
78                         brcm,overclock-50 = <0>;
79                         status = "disabled";
80                 };
81
82                 /* A clone of mmc but with non-removable set */
83                 mmcnr: mmcnr@7e300000 {
84                         compatible = "brcm,bcm2835-mmc", "brcm,bcm2835-sdhci";
85                         reg = <0x7e300000 0x100>;
86                         interrupts = <2 30>;
87                         clocks = <&clocks BCM2835_CLOCK_EMMC>;
88                         dmas = <&dma 11>;
89                         dma-names = "rx-tx";
90                         brcm,overclock-50 = <0>;
91                         non-removable;
92                         status = "disabled";
93                 };
94
95                 hvs: hvs@7e400000 {
96                         /* Add label */
97                         status = "disabled";
98                 };
99
100                 firmwarekms: firmwarekms@7e600000 {
101                         compatible = "raspberrypi,rpi-firmware-kms";
102                         /* SMI interrupt reg */
103                         reg = <0x7e600000 0x100>;
104                         interrupts = <2 16>;
105                         brcm,firmware = <&firmware>;
106                         status = "disabled";
107                 };
108
109                 smi: smi@7e600000 {
110                         compatible = "brcm,bcm2835-smi";
111                         reg = <0x7e600000 0x100>;
112                         interrupts = <2 16>;
113                         clocks = <&clocks BCM2835_CLOCK_SMI>;
114                         assigned-clocks = <&clocks BCM2835_CLOCK_SMI>;
115                         assigned-clock-rates = <125000000>;
116                         dmas = <&dma 4>;
117                         dma-names = "rx-tx";
118                         status = "disabled";
119                 };
120
121                 pixelvalve2: pixelvalve@7e807000 {
122                         /* Add label */
123                         status = "disabled";
124                 };
125
126                 hdmi@7e902000 { /* hdmi */
127                         status = "disabled";
128                 };
129
130                 usb@7e980000 { /* usb */
131                         compatible = "brcm,bcm2708-usb";
132                         reg = <0x7e980000 0x10000>,
133                               <0x7e006000 0x1000>;
134                         interrupt-names = "usb",
135                                           "soft";
136                         interrupts = <1 9>,
137                                      <2 0>;
138                 };
139
140                 v3d@7ec00000 { /* vd3 */
141                         compatible = "brcm,vc4-v3d";
142                         power-domains = <&power RPI_POWER_DOMAIN_V3D>;
143                         status = "disabled";
144                 };
145
146                 axiperf: axiperf {
147                         compatible = "brcm,bcm2835-axiperf";
148                         reg = <0x7e009800 0x100>,
149                               <0x7ee08000 0x100>;
150                         firmware = <&firmware>;
151                         status = "disabled";
152                 };
153
154                 i2c_dsi: i2cdsi {
155                         /* We have to use i2c-gpio because the
156                          * firmware is also polling another device
157                          * using the only hardware I2C bus that could
158                          * connect to these pins.
159                          */
160                         compatible = "i2c-gpio";
161                         #address-cells = <1>;
162                         #size-cells = <0>;
163                         status = "disabled";
164
165                         lcd@45 {
166                                 compatible = "raspberrypi,7inch-touchscreen-panel";
167                                 reg = <0x45>;
168
169                                 port {
170                                         panel_dsi_port: endpoint {
171                                                 remote-endpoint = <&dsi_out_port>;
172                                         };
173                                 };
174                         };
175                 };
176
177         };
178
179         __overrides__ {
180                 cam0-pwdn-ctrl;
181                 cam0-pwdn;
182                 cam0-led-ctrl;
183                 cam0-led;
184         };
185 };
186
187 &vc4 {
188         status = "disabled";
189 };
190
191 &dsi1 {
192         power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
193
194         port {
195                 dsi_out_port: endpoint {
196                         remote-endpoint = <&panel_dsi_port>;
197                 };
198         };
199 };