Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / arch / arm / boot / dts / bcm2835-rpi-zero-w.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2017 Stefan Wahren <stefan.wahren@i2se.com>
4  */
5
6 /dts-v1/;
7 #include "bcm2835.dtsi"
8 #include "bcm2835-rpi.dtsi"
9 #include "bcm283x-rpi-usb-otg.dtsi"
10
11 / {
12         compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
13         model = "Raspberry Pi Zero W";
14
15         memory@0 {
16                 device_type = "memory";
17                 reg = <0 0x20000000>;
18         };
19
20         chosen {
21                 /* 8250 auxiliary UART instead of pl011 */
22                 stdout-path = "serial1:115200n8";
23         };
24
25         leds {
26                 led-act {
27                         gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
28                 };
29         };
30
31         wifi_pwrseq: wifi-pwrseq {
32                 compatible = "mmc-pwrseq-simple";
33                 reset-gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
34         };
35 };
36
37 &gpio {
38         /*
39          * This is based on the official GPU firmware DT blob.
40          *
41          * Legend:
42          * "NC" = not connected (no rail from the SoC)
43          * "FOO" = GPIO line named "FOO" on the schematic
44          * "FOO_N" = GPIO line named "FOO" on schematic, active low
45          */
46         gpio-line-names = "ID_SDA",
47                           "ID_SCL",
48                           "SDA1",
49                           "SCL1",
50                           "GPIO_GCLK",
51                           "GPIO5",
52                           "GPIO6",
53                           "SPI_CE1_N",
54                           "SPI_CE0_N",
55                           "SPI_MISO",
56                           "SPI_MOSI",
57                           "SPI_SCLK",
58                           "GPIO12",
59                           "GPIO13",
60                           /* Serial port */
61                           "TXD0",
62                           "RXD0",
63                           "GPIO16",
64                           "GPIO17",
65                           "GPIO18",
66                           "GPIO19",
67                           "GPIO20",
68                           "GPIO21",
69                           "GPIO22",
70                           "GPIO23",
71                           "GPIO24",
72                           "GPIO25",
73                           "GPIO26",
74                           "GPIO27",
75                           "SDA0",
76                           "SCL0",
77                           "NC", /* GPIO30 */
78                           "NC", /* GPIO31 */
79                           "NC", /* GPIO32 */
80                           "NC", /* GPIO33 */
81                           "NC", /* GPIO34 */
82                           "NC", /* GPIO35 */
83                           "NC", /* GPIO36 */
84                           "NC", /* GPIO37 */
85                           "NC", /* GPIO38 */
86                           "NC", /* GPIO39 */
87                           "CAM_GPIO1", /* GPIO40 */
88                           "WL_ON", /* GPIO41 */
89                           "NC", /* GPIO42 */
90                           "WIFI_CLK", /* GPIO43 */
91                           "CAM_GPIO0", /* GPIO44 */
92                           "BT_ON", /* GPIO45 */
93                           "HDMI_HPD_N",
94                           "STATUS_LED_N",
95                           /* Used by SD Card */
96                           "SD_CLK_R",
97                           "SD_CMD_R",
98                           "SD_DATA0_R",
99                           "SD_DATA1_R",
100                           "SD_DATA2_R",
101                           "SD_DATA3_R";
102
103         pinctrl-0 = <&gpioout &alt0>;
104 };
105
106 &hdmi {
107         hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
108         power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
109         status = "okay";
110 };
111
112 &sdhci {
113         #address-cells = <1>;
114         #size-cells = <0>;
115         pinctrl-names = "default";
116         pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>;
117         bus-width = <4>;
118         mmc-pwrseq = <&wifi_pwrseq>;
119         non-removable;
120         status = "okay";
121
122         brcmf: wifi@1 {
123                 reg = <1>;
124                 compatible = "brcm,bcm4329-fmac";
125         };
126 };
127
128 &sdhost {
129         pinctrl-names = "default";
130         pinctrl-0 = <&sdhost_gpio48>;
131         bus-width = <4>;
132         status = "okay";
133 };
134
135 &uart0 {
136         pinctrl-names = "default";
137         pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>;
138         status = "okay";
139
140         bluetooth {
141                 compatible = "brcm,bcm43438-bt";
142                 max-speed = <2000000>;
143                 shutdown-gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
144         };
145 };
146
147 &uart1 {
148         pinctrl-names = "default";
149         pinctrl-0 = <&uart1_gpio14>;
150         status = "okay";
151 };