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