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"
8 / {
9 compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
10 model = "Raspberry Pi 3 Model B";
12 chosen {
13 /* 8250 auxiliary UART instead of pl011 */
14 stdout-path = "serial1:115200n8";
15 };
17 memory {
18 reg = <0 0x40000000>;
19 };
21 leds {
22 act {
23 gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>;
24 };
25 };
27 wifi_pwrseq: wifi-pwrseq {
28 compatible = "mmc-pwrseq-simple";
29 reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>;
30 };
31 };
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 };
50 &pwm {
51 pinctrl-names = "default";
52 pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>;
53 status = "okay";
54 };
56 &hdmi {
57 hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>;
58 };
60 /* uart0 communicates with the BT module */
61 &uart0 {
62 pinctrl-names = "default";
63 pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
64 status = "okay";
66 bluetooth {
67 compatible = "brcm,bcm43438-bt";
68 max-speed = <2000000>;
69 shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
70 };
71 };
73 /* uart1 is mapped to the pin header */
74 &uart1 {
75 pinctrl-names = "default";
76 pinctrl-0 = <&uart1_gpio14>;
77 status = "okay";
78 };
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>;
91 brcmf: wifi@1 {
92 reg = <1>;
93 compatible = "brcm,bcm4329-fmac";
94 };
95 };
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 };