f2adf99bfc7edf5e0b86494d85b8eb1851fe5224
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / bcm2710-rpi-3-b-plus.dts
1 /dts-v1/;
2
3 #include "bcm2710.dtsi"
4 #include "bcm2709-rpi.dtsi"
5 #include "bcm283x-rpi-lan7515.dtsi"
6 #include "bcm283x-rpi-csi1-2lane.dtsi"
7
8 / {
9         compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
10         model = "Raspberry Pi 3 Model B+";
11
12         chosen {
13                 bootargs = "coherent_pool=1M 8250.nr_uarts=1";
14         };
15
16         aliases {
17                 serial0 = &uart1;
18                 serial1 = &uart0;
19                 mmc1 = &mmcnr;
20         };
21 };
22
23 &gpio {
24         spi0_pins: spi0_pins {
25                 brcm,pins = <9 10 11>;
26                 brcm,function = <4>; /* alt0 */
27         };
28
29         spi0_cs_pins: spi0_cs_pins {
30                 brcm,pins = <8 7>;
31                 brcm,function = <1>; /* output */
32         };
33
34         i2c0_pins: i2c0 {
35                 brcm,pins = <0 1>;
36                 brcm,function = <4>;
37         };
38
39         i2c1_pins: i2c1 {
40                 brcm,pins = <2 3>;
41                 brcm,function = <4>;
42         };
43
44         i2s_pins: i2s {
45                 brcm,pins = <18 19 20 21>;
46                 brcm,function = <4>; /* alt0 */
47         };
48
49         sdio_pins: sdio_pins {
50                 brcm,pins =     <34 35 36 37 38 39>;
51                 brcm,function = <7>; // alt3 = SD1
52                 brcm,pull =     <0 2 2 2 2 2>;
53         };
54
55         bt_pins: bt_pins {
56                 brcm,pins = <43>;
57                 brcm,function = <4>; /* alt0:GPCLK2 */
58                 brcm,pull = <0>;
59         };
60
61         uart0_pins: uart0_pins {
62                 brcm,pins = <32 33>;
63                 brcm,function = <7>; /* alt3=UART0 */
64                 brcm,pull = <0 2>;
65         };
66
67         uart1_pins: uart1_pins {
68                 brcm,pins;
69                 brcm,function;
70                 brcm,pull;
71         };
72
73         audio_pins: audio_pins {
74                 brcm,pins = <40 41>;
75                 brcm,function = <4>;
76         };
77 };
78
79 &mmcnr {
80         pinctrl-names = "default";
81         pinctrl-0 = <&sdio_pins>;
82         bus-width = <4>;
83         status = "okay";
84 };
85
86 &firmware {
87         expgpio: expgpio {
88                 compatible = "raspberrypi,firmware-gpio";
89                 gpio-controller;
90                 #gpio-cells = <2>;
91                 status = "okay";
92         };
93 };
94
95 &uart0 {
96         pinctrl-names = "default";
97         pinctrl-0 = <&uart0_pins &bt_pins>;
98         status = "okay";
99 };
100
101 &uart1 {
102         pinctrl-names = "default";
103         pinctrl-0 = <&uart1_pins>;
104         status = "okay";
105 };
106
107 &spi0 {
108         pinctrl-names = "default";
109         pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
110         cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
111
112         spidev0: spidev@0{
113                 compatible = "spidev";
114                 reg = <0>;      /* CE0 */
115                 #address-cells = <1>;
116                 #size-cells = <0>;
117                 spi-max-frequency = <125000000>;
118         };
119
120         spidev1: spidev@1{
121                 compatible = "spidev";
122                 reg = <1>;      /* CE1 */
123                 #address-cells = <1>;
124                 #size-cells = <0>;
125                 spi-max-frequency = <125000000>;
126         };
127 };
128
129 &i2c0 {
130         pinctrl-names = "default";
131         pinctrl-0 = <&i2c0_pins>;
132         clock-frequency = <100000>;
133 };
134
135 &i2c1 {
136         pinctrl-names = "default";
137         pinctrl-0 = <&i2c1_pins>;
138         clock-frequency = <100000>;
139 };
140
141 &i2c2 {
142         clock-frequency = <100000>;
143         status = "okay";
144 };
145
146 &dpi {
147         status = "okay";
148 };
149
150 &hvs {
151         status = "okay";
152 };
153
154 &pixelvalve0 {
155         status = "okay";
156 };
157
158 &pixelvalve1 {
159         status = "okay";
160 };
161
162 &pixelvalve2 {
163         status = "okay";
164 };
165
166 &hdmi {
167         status = "okay";
168 };
169
170 &v3d {
171         status = "okay";
172 };
173
174 &vc4 {
175         status = "okay";
176 };
177
178 &i2s {
179         pinctrl-names = "default";
180         pinctrl-0 = <&i2s_pins>;
181 };
182
183 &leds {
184         act_led: act {
185                 label = "led0";
186                 linux,default-trigger = "mmc0";
187                 gpios = <&gpio 29 0>;
188         };
189
190         pwr_led: pwr {
191                 label = "led1";
192                 linux,default-trigger = "default-on";
193                 gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
194         };
195 };
196
197 &hdmi {
198         hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
199 };
200
201 &audio {
202         pinctrl-names = "default";
203         pinctrl-0 = <&audio_pins>;
204 };
205
206 / {
207         __overrides__ {
208                 act_led_gpio = <&act_led>,"gpios:4";
209                 act_led_activelow = <&act_led>,"gpios:8";
210                 act_led_trigger = <&act_led>,"linux,default-trigger";
211
212                 pwr_led_gpio = <&pwr_led>,"gpios:4";
213                 pwr_led_activelow = <&pwr_led>,"gpios:8";
214                 pwr_led_trigger = <&pwr_led>,"linux,default-trigger";
215         };
216 };