ARM: dts: bcm2809-rpi-2-b: enable display, touch, audio, spi and i2c
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / bcm2709-rpi-2-b.dts
1 /dts-v1/;
2
3 #include "bcm2709.dtsi"
4 #include "bcm2709-rpi.dtsi"
5 #include "bcm283x-rpi-smsc9514.dtsi"
6 #include "bcm283x-rpi-csi1-2lane.dtsi"
7 #include "bcm283x-rpi-i2c0mux_0_28.dtsi"
8
9 / {
10         compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
11         model = "Raspberry Pi 2 Model B";
12
13         rpi_backlight: rpi_backlight {
14                 compatible = "raspberrypi,rpi-backlight";
15                 firmware = <&firmware>;
16                 status = "okay";
17         };
18
19         rpi_ft5406: rpi_ft5406 {
20                 compatible = "rpi,rpi-ft5406";
21                 firmware = <&firmware>;
22                 status = "okay";
23         };
24 };
25
26 &gpio {
27         spi0_pins: spi0_pins {
28                 brcm,pins = <9 10 11>;
29                 brcm,function = <4>; /* alt0 */
30         };
31
32         spi0_cs_pins: spi0_cs_pins {
33                 brcm,pins = <8 7>;
34                 brcm,function = <1>; /* output */
35         };
36
37         i2c0_pins: i2c0 {
38                 brcm,pins = <0 1>;
39                 brcm,function = <4>;
40         };
41
42         i2c1_pins: i2c1 {
43                 brcm,pins = <2 3>;
44                 brcm,function = <4>;
45         };
46
47         i2s_pins: i2s {
48                 brcm,pins = <18 19 20 21>;
49                 brcm,function = <4>; /* alt0 */
50         };
51
52         audio_pins: audio_pins {
53                 brcm,pins = <40 45>;
54                 brcm,function = <4>;
55         };
56 };
57
58 &uart0 {
59         status = "okay";
60 };
61
62 &spi0 {
63         pinctrl-names = "default";
64         pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
65         cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
66         status = "okay";
67
68         spidev0: spidev@0{
69                 compatible = "spidev";
70                 reg = <0>;      /* CE0 */
71                 #address-cells = <1>;
72                 #size-cells = <0>;
73                 spi-max-frequency = <125000000>;
74         };
75
76         spidev1: spidev@1{
77                 compatible = "spidev";
78                 reg = <1>;      /* CE1 */
79                 #address-cells = <1>;
80                 #size-cells = <0>;
81                 spi-max-frequency = <125000000>;
82         };
83 };
84
85 &i2c0if {
86         clock-frequency = <100000>;
87         status = "okay";
88 };
89
90 &i2c1 {
91         pinctrl-names = "default";
92         pinctrl-0 = <&i2c1_pins>;
93         clock-frequency = <100000>;
94         status = "okay";
95 };
96
97 &i2c2 {
98         clock-frequency = <100000>;
99         status = "okay";
100 };
101
102 &dpi {
103         status = "okay";
104 };
105
106 &hvs {
107         status = "okay";
108 };
109
110 &pixelvalve0 {
111         status = "okay";
112 };
113
114 &pixelvalve1 {
115         status = "okay";
116 };
117
118 &pixelvalve2 {
119         status = "okay";
120 };
121
122 &v3d {
123         status = "okay";
124 };
125
126 &vc4 {
127         status = "okay";
128 };
129
130 &i2s {
131         pinctrl-names = "default";
132         pinctrl-0 = <&i2s_pins>;
133         status = "okay";
134 };
135
136 &leds {
137         act_led: led-act {
138                 label = "led0";
139                 linux,default-trigger = "mmc0";
140                 gpios = <&gpio 47 0>;
141         };
142
143         pwr_led: led-pwr {
144                 label = "led1";
145                 linux,default-trigger = "input";
146                 gpios = <&gpio 35 0>;
147         };
148 };
149
150 &hdmi {
151         hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
152         status = "okay";
153 };
154
155 &audio {
156         pinctrl-names = "default";
157         pinctrl-0 = <&audio_pins>;
158         status = "okay";
159 };
160
161 &cam1_reg {
162         gpio = <&gpio 41 GPIO_ACTIVE_HIGH>;
163 };
164
165 cam0_reg: &cam_dummy_reg {
166 };
167
168 / {
169         __overrides__ {
170                 act_led_gpio = <&act_led>,"gpios:4";
171                 act_led_activelow = <&act_led>,"gpios:8";
172                 act_led_trigger = <&act_led>,"linux,default-trigger";
173
174                 pwr_led_gpio = <&pwr_led>,"gpios:4";
175                 pwr_led_activelow = <&pwr_led>,"gpios:8";
176                 pwr_led_trigger = <&pwr_led>,"linux,default-trigger";
177         };
178 };
179
180 &i2c_dsi {
181         gpios = <&gpio 28 0
182                  &gpio 29 0>;
183         status = "okay";
184 };
185
186 &dsi1 {
187         #address-cells = <1>;
188         #size-cells = <0>;
189         status = "okay";
190
191         pitouchscreen: panel@0 {
192                 compatible = "raspberrypi,touchscreen";
193                 reg = <0>;
194                 raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>;
195         };
196 };