blob: c6fa34c24100d43f053f5b64a4e5b4a8e801da7f [file] [log] [blame]
Heinrich Schuchardtbe12fb92019-04-28 06:46:57 +02001// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3#include "bcm2837.dtsi"
4#include "bcm2836-rpi.dtsi"
5#include "bcm283x-rpi-lan7515.dtsi"
6#include "bcm283x-rpi-usb-host.dtsi"
7
8/ {
9 compatible = "raspberrypi,3-model-b-plus", "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@0 {
18 reg = <0 0x40000000>;
19 };
20
21 leds {
22 act {
23 gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
24 };
25
26 pwr {
27 label = "PWR";
28 gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
29 };
30 };
31
32 wifi_pwrseq: wifi-pwrseq {
33 compatible = "mmc-pwrseq-simple";
34 reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
35 };
36};
37
38&firmware {
39 expgpio: gpio {
40 compatible = "raspberrypi,firmware-gpio";
41 gpio-controller;
42 #gpio-cells = <2>;
43 gpio-line-names = "BT_ON",
44 "WL_ON",
45 "STATUS_LED_R",
46 "LAN_RUN",
47 "",
48 "CAM_GPIO0",
49 "CAM_GPIO1",
50 "";
51 status = "okay";
52 };
53};
54
55&gpio {
56 /*
57 * Taken from rpi_SCH_3bplus_1p0_reduced.pdf and
58 * the official GPU firmware DT blob.
59 *
60 * Legend:
61 * "NC" = not connected (no rail from the SoC)
62 * "FOO" = GPIO line named "FOO" on the schematic
63 * "FOO_N" = GPIO line named "FOO" on schematic, active low
64 */
65 gpio-line-names = "ID_SDA",
66 "ID_SCL",
67 "SDA1",
68 "SCL1",
69 "GPIO_GCLK",
70 "GPIO5",
71 "GPIO6",
72 "SPI_CE1_N",
73 "SPI_CE0_N",
74 "SPI_MISO",
75 "SPI_MOSI",
76 "SPI_SCLK",
77 "GPIO12",
78 "GPIO13",
79 /* Serial port */
80 "TXD1",
81 "RXD1",
82 "GPIO16",
83 "GPIO17",
84 "GPIO18",
85 "GPIO19",
86 "GPIO20",
87 "GPIO21",
88 "GPIO22",
89 "GPIO23",
90 "GPIO24",
91 "GPIO25",
92 "GPIO26",
93 "GPIO27",
94 "HDMI_HPD_N",
95 "STATUS_LED_G",
96 /* Used by BT module */
97 "CTS0",
98 "RTS0",
99 "TXD0",
100 "RXD0",
101 /* Used by Wifi */
102 "SD1_CLK",
103 "SD1_CMD",
104 "SD1_DATA0",
105 "SD1_DATA1",
106 "SD1_DATA2",
107 "SD1_DATA3",
108 "PWM0_OUT",
109 "PWM1_OUT",
110 "ETHCLK",
111 "WIFI_CLK",
112 "SDA0",
113 "SCL0",
114 "SMPS_SCL",
115 "SMPS_SDA",
116 /* Used by SD Card */
117 "SD_CLK_R",
118 "SD_CMD_R",
119 "SD_DATA0_R",
120 "SD_DATA1_R",
121 "SD_DATA2_R",
122 "SD_DATA3_R";
123};
124
125&hdmi {
126 hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
127};
128
129&pwm {
130 pinctrl-names = "default";
131 pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>;
132 status = "okay";
133};
134
135/* SDHCI is used to control the SDIO for wireless */
136&sdhci {
137 #address-cells = <1>;
138 #size-cells = <0>;
139 pinctrl-names = "default";
140 pinctrl-0 = <&emmc_gpio34>;
141 status = "okay";
142 bus-width = <4>;
143 non-removable;
144 mmc-pwrseq = <&wifi_pwrseq>;
145
146 brcmf: wifi@1 {
147 reg = <1>;
148 compatible = "brcm,bcm4329-fmac";
149 };
150};
151
152/* SDHOST is used to drive the SD card */
153&sdhost {
154 pinctrl-names = "default";
155 pinctrl-0 = <&sdhost_gpio48>;
156 status = "okay";
157 bus-width = <4>;
158};
159
160/* uart0 communicates with the BT module */
161&uart0 {
162 pinctrl-names = "default";
163 pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>;
164 status = "okay";
165
166 bluetooth {
167 compatible = "brcm,bcm43438-bt";
168 max-speed = <2000000>;
169 shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
170 };
171};
172
173/* uart1 is mapped to the pin header */
174&uart1 {
175 pinctrl-names = "default";
176 pinctrl-0 = <&uart1_gpio14>;
177 status = "okay";
178};