0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2019 Akash Gajjar <akash@openedev.com>
0004 * Copyright (c) 2019 Jagan Teki <jagan@openedev.com>
0005 */
0006
0007 /dts-v1/;
0008 #include "rk3308.dtsi"
0009
0010 / {
0011 model = "Radxa ROCK Pi S";
0012 compatible = "radxa,rockpis", "rockchip,rk3308";
0013
0014 aliases {
0015 ethernet0 = &gmac;
0016 mmc0 = &emmc;
0017 mmc1 = &sdmmc;
0018 };
0019
0020 chosen {
0021 stdout-path = "serial0:1500000n8";
0022 };
0023
0024 leds {
0025 compatible = "gpio-leds";
0026 pinctrl-names = "default";
0027 pinctrl-0 = <&green_led_gio>, <&heartbeat_led_gpio>;
0028
0029 green-led {
0030 default-state = "on";
0031 gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
0032 label = "rockpis:green:power";
0033 linux,default-trigger = "default-on";
0034 };
0035
0036 blue-led {
0037 default-state = "on";
0038 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
0039 label = "rockpis:blue:user";
0040 linux,default-trigger = "heartbeat";
0041 };
0042 };
0043
0044 sdio_pwrseq: sdio-pwrseq {
0045 compatible = "mmc-pwrseq-simple";
0046 pinctrl-0 = <&wifi_enable_h>;
0047 pinctrl-names = "default";
0048 reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
0049 };
0050
0051 vcc_1v8: vcc-1v8 {
0052 compatible = "regulator-fixed";
0053 regulator-name = "vcc_1v8";
0054 regulator-always-on;
0055 regulator-boot-on;
0056 regulator-min-microvolt = <1800000>;
0057 regulator-max-microvolt = <1800000>;
0058 vin-supply = <&vcc_io>;
0059 };
0060
0061 vcc_io: vcc-io {
0062 compatible = "regulator-fixed";
0063 regulator-name = "vcc_io";
0064 regulator-always-on;
0065 regulator-boot-on;
0066 regulator-min-microvolt = <3300000>;
0067 regulator-max-microvolt = <3300000>;
0068 vin-supply = <&vcc5v0_sys>;
0069 };
0070
0071 vcc_ddr: vcc-ddr {
0072 compatible = "regulator-fixed";
0073 regulator-name = "vcc_ddr";
0074 regulator-always-on;
0075 regulator-boot-on;
0076 regulator-min-microvolt = <1500000>;
0077 regulator-max-microvolt = <1500000>;
0078 vin-supply = <&vcc5v0_sys>;
0079 };
0080
0081 vcc5v0_otg: vcc5v0-otg {
0082 compatible = "regulator-fixed";
0083 enable-active-high;
0084 gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
0085 pinctrl-names = "default";
0086 pinctrl-0 = <&otg_vbus_drv>;
0087 regulator-name = "vcc5v0_otg";
0088 regulator-always-on;
0089 vin-supply = <&vcc5v0_sys>;
0090 };
0091
0092 vcc5v0_sys: vcc5v0-sys {
0093 compatible = "regulator-fixed";
0094 regulator-name = "vcc5v0_sys";
0095 regulator-always-on;
0096 regulator-boot-on;
0097 regulator-min-microvolt = <5000000>;
0098 regulator-max-microvolt = <5000000>;
0099 };
0100
0101 vdd_core: vdd-core {
0102 compatible = "pwm-regulator";
0103 pwms = <&pwm0 0 5000 1>;
0104 pwm-supply = <&vcc5v0_sys>;
0105 regulator-name = "vdd_core";
0106 regulator-min-microvolt = <827000>;
0107 regulator-max-microvolt = <1340000>;
0108 regulator-init-microvolt = <1015000>;
0109 regulator-settling-time-up-us = <250>;
0110 regulator-always-on;
0111 regulator-boot-on;
0112 };
0113
0114 vdd_log: vdd-log {
0115 compatible = "regulator-fixed";
0116 regulator-name = "vdd_log";
0117 regulator-always-on;
0118 regulator-boot-on;
0119 regulator-min-microvolt = <1050000>;
0120 regulator-max-microvolt = <1050000>;
0121 vin-supply = <&vcc5v0_sys>;
0122 };
0123 };
0124
0125 &cpu0 {
0126 cpu-supply = <&vdd_core>;
0127 };
0128
0129 &emmc {
0130 bus-width = <4>;
0131 cap-mmc-highspeed;
0132 mmc-hs200-1_8v;
0133 non-removable;
0134 vmmc-supply = <&vcc_io>;
0135 status = "okay";
0136 };
0137
0138 &gmac {
0139 clock_in_out = "output";
0140 phy-supply = <&vcc_io>;
0141 snps,reset-gpio = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
0142 snps,reset-active-low;
0143 snps,reset-delays-us = <0 50000 50000>;
0144 status = "okay";
0145 };
0146
0147 &i2c1 {
0148 status = "okay";
0149 };
0150
0151 &pinctrl {
0152 pinctrl-names = "default";
0153 pinctrl-0 = <&rtc_32k>;
0154
0155 leds {
0156 green_led_gio: green-led-gpio {
0157 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
0158 };
0159
0160 heartbeat_led_gpio: heartbeat-led-gpio {
0161 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
0162 };
0163 };
0164
0165 usb {
0166 otg_vbus_drv: otg-vbus-drv {
0167 rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
0168 };
0169 };
0170
0171 sdio-pwrseq {
0172 wifi_enable_h: wifi-enable-h {
0173 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
0174 };
0175
0176 wifi_host_wake: wifi-host-wake {
0177 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
0178 };
0179 };
0180 };
0181
0182 &pwm0 {
0183 status = "okay";
0184 pinctrl-0 = <&pwm0_pin_pull_down>;
0185 };
0186
0187 &saradc {
0188 vref-supply = <&vcc_1v8>;
0189 status = "okay";
0190 };
0191
0192 &sdio {
0193 #address-cells = <1>;
0194 #size-cells = <0>;
0195 cap-sd-highspeed;
0196 cap-sdio-irq;
0197 keep-power-in-suspend;
0198 max-frequency = <1000000>;
0199 mmc-pwrseq = <&sdio_pwrseq>;
0200 non-removable;
0201 sd-uhs-sdr104;
0202 status = "okay";
0203 };
0204
0205 &sdmmc {
0206 cap-sd-highspeed;
0207 status = "okay";
0208 };
0209
0210 &u2phy {
0211 status = "okay";
0212
0213 u2phy_host: host-port {
0214 phy-supply = <&vcc5v0_otg>;
0215 status = "okay";
0216 };
0217
0218 u2phy_otg: otg-port {
0219 phy-supply = <&vcc5v0_otg>;
0220 status = "okay";
0221 };
0222 };
0223
0224 &uart0 {
0225 status = "okay";
0226 };
0227
0228 &uart4 {
0229 status = "okay";
0230
0231 bluetooth {
0232 compatible = "realtek,rtl8723bs-bt";
0233 device-wake-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
0234 host-wake-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
0235 };
0236 };
0237
0238 &usb_host_ehci {
0239 status = "okay";
0240 };
0241
0242 &usb_host_ohci {
0243 status = "okay";
0244 };
0245
0246 &usb20_otg {
0247 dr_mode = "peripheral";
0248 status = "okay";
0249 };
0250
0251 &wdt {
0252 status = "okay";
0253 };