1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2019 Akash Gajjar <akash@openedev.com> 4 * Copyright (c) 2019 Jagan Teki <jagan@openedev.com> 5 */ 6 7/dts-v1/; 8#include "rk3308.dtsi" 9 10/ { 11 model = "Radxa ROCK Pi S"; 12 compatible = "radxa,rockpis", "rockchip,rk3308"; 13 14 aliases { 15 ethernet0 = &gmac; 16 mmc0 = &emmc; 17 mmc1 = &sdmmc; 18 }; 19 20 chosen { 21 stdout-path = "serial0:1500000n8"; 22 }; 23 24 leds { 25 compatible = "gpio-leds"; 26 pinctrl-names = "default"; 27 pinctrl-0 = <&green_led_gio>, <&heartbeat_led_gpio>; 28 29 green-led { 30 default-state = "on"; 31 gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 32 label = "rockpis:green:power"; 33 linux,default-trigger = "default-on"; 34 }; 35 36 blue-led { 37 default-state = "on"; 38 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 39 label = "rockpis:blue:user"; 40 linux,default-trigger = "heartbeat"; 41 }; 42 }; 43 44 sdio_pwrseq: sdio-pwrseq { 45 compatible = "mmc-pwrseq-simple"; 46 pinctrl-0 = <&wifi_enable_h>; 47 pinctrl-names = "default"; 48 reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; 49 }; 50 51 vcc_1v8: vcc-1v8 { 52 compatible = "regulator-fixed"; 53 regulator-name = "vcc_1v8"; 54 regulator-always-on; 55 regulator-boot-on; 56 regulator-min-microvolt = <1800000>; 57 regulator-max-microvolt = <1800000>; 58 vin-supply = <&vcc_io>; 59 }; 60 61 vcc_io: vcc-io { 62 compatible = "regulator-fixed"; 63 regulator-name = "vcc_io"; 64 regulator-always-on; 65 regulator-boot-on; 66 regulator-min-microvolt = <3300000>; 67 regulator-max-microvolt = <3300000>; 68 vin-supply = <&vcc5v0_sys>; 69 }; 70 71 vcc_ddr: vcc-ddr { 72 compatible = "regulator-fixed"; 73 regulator-name = "vcc_ddr"; 74 regulator-always-on; 75 regulator-boot-on; 76 regulator-min-microvolt = <1500000>; 77 regulator-max-microvolt = <1500000>; 78 vin-supply = <&vcc5v0_sys>; 79 }; 80 81 vcc5v0_otg: vcc5v0-otg { 82 compatible = "regulator-fixed"; 83 enable-active-high; 84 gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; 85 pinctrl-names = "default"; 86 pinctrl-0 = <&otg_vbus_drv>; 87 regulator-name = "vcc5v0_otg"; 88 regulator-always-on; 89 vin-supply = <&vcc5v0_sys>; 90 }; 91 92 vcc5v0_sys: vcc5v0-sys { 93 compatible = "regulator-fixed"; 94 regulator-name = "vcc5v0_sys"; 95 regulator-always-on; 96 regulator-boot-on; 97 regulator-min-microvolt = <5000000>; 98 regulator-max-microvolt = <5000000>; 99 }; 100 101 vdd_core: vdd-core { 102 compatible = "pwm-regulator"; 103 pwms = <&pwm0 0 5000 1>; 104 pwm-supply = <&vcc5v0_sys>; 105 regulator-name = "vdd_core"; 106 regulator-min-microvolt = <827000>; 107 regulator-max-microvolt = <1340000>; 108 regulator-settling-time-up-us = <250>; 109 regulator-always-on; 110 regulator-boot-on; 111 }; 112 113 vdd_log: vdd-log { 114 compatible = "regulator-fixed"; 115 regulator-name = "vdd_log"; 116 regulator-always-on; 117 regulator-boot-on; 118 regulator-min-microvolt = <1050000>; 119 regulator-max-microvolt = <1050000>; 120 vin-supply = <&vcc5v0_sys>; 121 }; 122}; 123 124&cpu0 { 125 cpu-supply = <&vdd_core>; 126}; 127 128&emmc { 129 bus-width = <4>; 130 cap-mmc-highspeed; 131 mmc-hs200-1_8v; 132 non-removable; 133 vmmc-supply = <&vcc_io>; 134 status = "okay"; 135}; 136 137&gmac { 138 clock_in_out = "output"; 139 phy-supply = <&vcc_io>; 140 snps,reset-gpio = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 141 snps,reset-active-low; 142 snps,reset-delays-us = <0 50000 50000>; 143 status = "okay"; 144}; 145 146&gpio0 { 147 gpio-line-names = 148 /* GPIO0_A0 - A7 */ 149 "", "", "", "", "", "", "", "", 150 /* GPIO0_B0 - B7 */ 151 "", "", "", "header1-pin3 [GPIO0_B3]", 152 "header1-pin5 [GPIO0_B4]", "", "", 153 "header1-pin11 [GPIO0_B7]", 154 /* GPIO0_C0 - C7 */ 155 "header1-pin13 [GPIO0_C0]", 156 "header1-pin15 [GPIO0_C1]", "", "", "", 157 "", "", "", 158 /* GPIO0_D0 - D7 */ 159 "", "", "", "", "", "", "", ""; 160}; 161 162&gpio1 { 163 gpio-line-names = 164 /* GPIO1_A0 - A7 */ 165 "", "", "", "", "", "", "", "", 166 /* GPIO1_B0 - B7 */ 167 "", "", "", "", "", "", "", "", 168 /* GPIO1_C0 - C7 */ 169 "", "", "", "", "", "", "header1-pin21 [GPIO1_C6]", 170 "header1-pin19 [GPIO1_C7]", 171 /* GPIO1_D0 - D7 */ 172 "header1-pin23 [GPIO1_D0]", "header1-pin24 [GPIO1_D1]", 173 "", "", "", "", "", ""; 174}; 175 176&gpio2 { 177 gpio-line-names = 178 /* GPIO2_A0 - A7 */ 179 "header1-pin10 [GPIO2_A0]", "header1-pin8 [GPIO2_A1]", 180 "", "", 181 "header1-pin7 [GPIO2_A4]", "header1-pin12 [GPIO2_A5]", 182 "header2-pin46 [GPIO2_A6]", "header1-pin22 [GPIO1_A7]", 183 /* GPIO2_B0 - B7 */ 184 "header2-pin45 [GPIO2_B0]", "header1-pin18 [GPIO2_B1]", 185 "header1-pin16 [GPIO2_B2]", "header2-pin44 [GPIO2_B3]", 186 "header2-pin43 [GPIO2_B4]", "header2-pin28 [GPIO2_B5]", 187 "header2-pin30 [GPIO2_B6]", "header2-pin32 [GPIO2_B7]", 188 /* GPIO2_C0 - C7 */ 189 "header2-pin34 [GPIO2_C0]", "", "", "", "", "", "", "", 190 /* GPIO2_D0 - D7 */ 191 "", "", "", "", "", "", "", ""; 192}; 193 194&gpio3 { 195 gpio-line-names = 196 /* GPIO3_A0 - A7 */ 197 "", "", "", "", "", "", "", "", 198 /* GPIO3_B0 - B7 */ 199 "", "", "header2-pin42 [GPIO3_B2]", 200 "header2-pin41 [GPIO3_B3]", "header2-pin40 [GPIO3_B4]", 201 "header2-pin39 [GPIO3_B5]", "", "", 202 /* GPIO3_C0 - C7 */ 203 "", "", "", "", "", "", "", "", 204 /* GPIO3_D0 - D7 */ 205 "", "", "", "", "", "", "", ""; 206}; 207 208&i2c1 { 209 status = "okay"; 210}; 211 212&pinctrl { 213 pinctrl-names = "default"; 214 pinctrl-0 = <&rtc_32k>; 215 216 leds { 217 green_led_gio: green-led-gpio { 218 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 219 }; 220 221 heartbeat_led_gpio: heartbeat-led-gpio { 222 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 223 }; 224 }; 225 226 usb { 227 otg_vbus_drv: otg-vbus-drv { 228 rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 229 }; 230 }; 231 232 sdio-pwrseq { 233 wifi_enable_h: wifi-enable-h { 234 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 235 }; 236 237 wifi_host_wake: wifi-host-wake { 238 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; 239 }; 240 }; 241}; 242 243&pwm0 { 244 status = "okay"; 245 pinctrl-0 = <&pwm0_pin_pull_down>; 246}; 247 248&saradc { 249 vref-supply = <&vcc_1v8>; 250 status = "okay"; 251}; 252 253&sdio { 254 #address-cells = <1>; 255 #size-cells = <0>; 256 cap-sd-highspeed; 257 cap-sdio-irq; 258 keep-power-in-suspend; 259 max-frequency = <1000000>; 260 mmc-pwrseq = <&sdio_pwrseq>; 261 non-removable; 262 sd-uhs-sdr104; 263 status = "okay"; 264}; 265 266&sdmmc { 267 cap-sd-highspeed; 268 status = "okay"; 269}; 270 271&u2phy { 272 status = "okay"; 273 274 u2phy_host: host-port { 275 phy-supply = <&vcc5v0_otg>; 276 status = "okay"; 277 }; 278 279 u2phy_otg: otg-port { 280 phy-supply = <&vcc5v0_otg>; 281 status = "okay"; 282 }; 283}; 284 285&uart0 { 286 status = "okay"; 287}; 288 289&uart4 { 290 status = "okay"; 291 292 bluetooth { 293 compatible = "realtek,rtl8723bs-bt"; 294 device-wake-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; 295 host-wake-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; 296 }; 297}; 298 299&usb_host_ehci { 300 status = "okay"; 301}; 302 303&usb_host_ohci { 304 status = "okay"; 305}; 306 307&usb20_otg { 308 dr_mode = "peripheral"; 309 status = "okay"; 310}; 311 312&wdt { 313 status = "okay"; 314}; 315