GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / bcm2837-rpi-3-b.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3 #include "bcm2837.dtsi"
4 #include "bcm2835-rpi.dtsi"
5 #include "bcm283x-rpi-smsc9514.dtsi"
6 #include "bcm283x-rpi-usb-host.dtsi"
7
8 / {
9         compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
10         model = "Raspberry Pi 3 Model B";
11
12         chosen {
13                 /* 8250 auxiliary UART instead of pl011 */
14                 stdout-path = "serial1:115200n8";
15         };
16
17         memory {
18                 reg = <0 0x40000000>;
19         };
20
21         leds {
22                 act {
23                         gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>;
24                 };
25         };
26
27         wifi_pwrseq: wifi-pwrseq {
28                 compatible = "mmc-pwrseq-simple";
29                 reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
30         };
31 };
32
33 &firmware {
34         expgpio: gpio {
35                 compatible = "raspberrypi,firmware-gpio";
36                 gpio-controller;
37                 #gpio-cells = <2>;
38                 gpio-line-names = "BT_ON",
39                                   "WL_ON",
40                                   "STATUS_LED",
41                                   "LAN_RUN",
42                                   "HPD_N",
43                                   "CAM_GPIO0",
44                                   "CAM_GPIO1",
45                                   "PWR_LOW_N";
46                 status = "okay";
47         };
48 };
49
50 &pwm {
51         pinctrl-names = "default";
52         pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>;
53         status = "okay";
54 };
55
56 &hdmi {
57         hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>;
58 };
59
60 /* uart0 communicates with the BT module */
61 &uart0 {
62         pinctrl-names = "default";
63         pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
64         status = "okay";
65
66         bluetooth {
67                 compatible = "brcm,bcm43438-bt";
68                 max-speed = <2000000>;
69                 shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
70         };
71 };
72
73 /* uart1 is mapped to the pin header */
74 &uart1 {
75         pinctrl-names = "default";
76         pinctrl-0 = <&uart1_gpio14>;
77         status = "okay";
78 };
79
80 /* SDHCI is used to control the SDIO for wireless */
81 &sdhci {
82         #address-cells = <1>;
83         #size-cells = <0>;
84         pinctrl-names = "default";
85         pinctrl-0 = <&emmc_gpio34>;
86         status = "okay";
87         bus-width = <4>;
88         non-removable;
89         mmc-pwrseq = <&wifi_pwrseq>;
90
91         brcmf: wifi@1 {
92                 reg = <1>;
93                 compatible = "brcm,bcm4329-fmac";
94         };
95 };
96
97 /* SDHOST is used to drive the SD card */
98 &sdhost {
99         pinctrl-names = "default";
100         pinctrl-0 = <&sdhost_gpio48>;
101         status = "okay";
102         bus-width = <4>;
103 };