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