1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 2 3 /dts-v1/; 3 /dts-v1/; 4 4 5 #include <dt-bindings/leds/common.h> 5 #include <dt-bindings/leds/common.h> 6 #include "rk3308.dtsi" 6 #include "rk3308.dtsi" 7 7 8 / { 8 / { 9 model = "Radxa ROCK S0"; 9 model = "Radxa ROCK S0"; 10 compatible = "radxa,rock-s0", "rockchi 10 compatible = "radxa,rock-s0", "rockchip,rk3308"; 11 11 12 aliases { 12 aliases { 13 ethernet0 = &gmac; 13 ethernet0 = &gmac; 14 mmc0 = &emmc; 14 mmc0 = &emmc; 15 mmc1 = &sdmmc; 15 mmc1 = &sdmmc; 16 mmc2 = &sdio; 16 mmc2 = &sdio; 17 }; 17 }; 18 18 19 chosen { 19 chosen { 20 stdout-path = "serial0:1500000 20 stdout-path = "serial0:1500000n8"; 21 }; 21 }; 22 22 23 leds { 23 leds { 24 compatible = "gpio-leds"; 24 compatible = "gpio-leds"; 25 pinctrl-names = "default"; 25 pinctrl-names = "default"; 26 pinctrl-0 = <&pwr_led>; 26 pinctrl-0 = <&pwr_led>; 27 27 28 led-green { 28 led-green { 29 color = <LED_COLOR_ID_ 29 color = <LED_COLOR_ID_GREEN>; 30 default-state = "on"; 30 default-state = "on"; 31 function = LED_FUNCTIO 31 function = LED_FUNCTION_HEARTBEAT; 32 gpios = <&gpio0 RK_PB6 32 gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 33 linux,default-trigger 33 linux,default-trigger = "heartbeat"; 34 }; 34 }; 35 }; 35 }; 36 36 37 vdd_log: regulator-1v04-vdd-log { 37 vdd_log: regulator-1v04-vdd-log { 38 compatible = "regulator-fixed" 38 compatible = "regulator-fixed"; 39 regulator-name = "vdd_log"; 39 regulator-name = "vdd_log"; 40 regulator-always-on; 40 regulator-always-on; 41 regulator-boot-on; 41 regulator-boot-on; 42 regulator-min-microvolt = <104 42 regulator-min-microvolt = <1040000>; 43 regulator-max-microvolt = <104 43 regulator-max-microvolt = <1040000>; 44 vin-supply = <&vcc5v0_sys>; 44 vin-supply = <&vcc5v0_sys>; 45 }; 45 }; 46 46 47 vcc_ddr: regulator-1v5-vcc-ddr { 47 vcc_ddr: regulator-1v5-vcc-ddr { 48 compatible = "regulator-fixed" 48 compatible = "regulator-fixed"; 49 regulator-name = "vcc_ddr"; 49 regulator-name = "vcc_ddr"; 50 regulator-always-on; 50 regulator-always-on; 51 regulator-boot-on; 51 regulator-boot-on; 52 regulator-min-microvolt = <150 52 regulator-min-microvolt = <1500000>; 53 regulator-max-microvolt = <150 53 regulator-max-microvolt = <1500000>; 54 vin-supply = <&vcc5v0_sys>; 54 vin-supply = <&vcc5v0_sys>; 55 }; 55 }; 56 56 57 vcc_1v8: regulator-1v8-vcc { 57 vcc_1v8: regulator-1v8-vcc { 58 compatible = "regulator-fixed" 58 compatible = "regulator-fixed"; 59 regulator-name = "vcc_1v8"; 59 regulator-name = "vcc_1v8"; 60 regulator-always-on; 60 regulator-always-on; 61 regulator-boot-on; 61 regulator-boot-on; 62 regulator-min-microvolt = <180 62 regulator-min-microvolt = <1800000>; 63 regulator-max-microvolt = <180 63 regulator-max-microvolt = <1800000>; 64 vin-supply = <&vcc_io>; 64 vin-supply = <&vcc_io>; 65 }; 65 }; 66 66 67 vcc_io: regulator-3v3-vcc-io { 67 vcc_io: regulator-3v3-vcc-io { 68 compatible = "regulator-fixed" 68 compatible = "regulator-fixed"; 69 regulator-name = "vcc_io"; 69 regulator-name = "vcc_io"; 70 regulator-always-on; 70 regulator-always-on; 71 regulator-boot-on; 71 regulator-boot-on; 72 regulator-min-microvolt = <330 72 regulator-min-microvolt = <3300000>; 73 regulator-max-microvolt = <330 73 regulator-max-microvolt = <3300000>; 74 vin-supply = <&vcc5v0_sys>; 74 vin-supply = <&vcc5v0_sys>; 75 }; 75 }; 76 76 77 vcc5v0_sys: regulator-5v0-vcc-sys { 77 vcc5v0_sys: regulator-5v0-vcc-sys { 78 compatible = "regulator-fixed" 78 compatible = "regulator-fixed"; 79 regulator-name = "vcc5v0_sys"; 79 regulator-name = "vcc5v0_sys"; 80 regulator-always-on; 80 regulator-always-on; 81 regulator-boot-on; 81 regulator-boot-on; 82 regulator-min-microvolt = <500 82 regulator-min-microvolt = <5000000>; 83 regulator-max-microvolt = <500 83 regulator-max-microvolt = <5000000>; 84 }; 84 }; 85 85 86 vdd_core: regulator-vdd-core { 86 vdd_core: regulator-vdd-core { 87 compatible = "pwm-regulator"; 87 compatible = "pwm-regulator"; 88 pwms = <&pwm0 0 5000 1>; 88 pwms = <&pwm0 0 5000 1>; 89 pwm-supply = <&vcc5v0_sys>; 89 pwm-supply = <&vcc5v0_sys>; 90 regulator-name = "vdd_core"; 90 regulator-name = "vdd_core"; 91 regulator-always-on; 91 regulator-always-on; 92 regulator-boot-on; 92 regulator-boot-on; 93 regulator-min-microvolt = <827 93 regulator-min-microvolt = <827000>; 94 regulator-max-microvolt = <134 94 regulator-max-microvolt = <1340000>; 95 regulator-settling-time-up-us 95 regulator-settling-time-up-us = <250>; 96 }; 96 }; 97 97 98 sdio_pwrseq: sdio-pwrseq { 98 sdio_pwrseq: sdio-pwrseq { 99 compatible = "mmc-pwrseq-simpl 99 compatible = "mmc-pwrseq-simple"; 100 pinctrl-names = "default"; 100 pinctrl-names = "default"; 101 pinctrl-0 = <&wifi_reg_on>; 101 pinctrl-0 = <&wifi_reg_on>; 102 reset-gpios = <&gpio0 RK_PA2 G 102 reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; 103 }; 103 }; 104 }; 104 }; 105 105 106 &cpu0 { 106 &cpu0 { 107 cpu-supply = <&vdd_core>; 107 cpu-supply = <&vdd_core>; 108 }; 108 }; 109 109 110 &emmc { 110 &emmc { 111 cap-mmc-highspeed; 111 cap-mmc-highspeed; 112 no-sd; 112 no-sd; 113 no-sdio; 113 no-sdio; 114 non-removable; 114 non-removable; 115 pinctrl-names = "default"; 115 pinctrl-names = "default"; 116 pinctrl-0 = <&emmc_bus8 &emmc_clk &emm 116 pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_pwren>; 117 vmmc-supply = <&vcc_io>; 117 vmmc-supply = <&vcc_io>; 118 status = "okay"; 118 status = "okay"; 119 }; 119 }; 120 120 121 &gmac { 121 &gmac { 122 clock_in_out = "output"; 122 clock_in_out = "output"; 123 phy-handle = <&rtl8201f>; 123 phy-handle = <&rtl8201f>; 124 phy-supply = <&vcc_io>; 124 phy-supply = <&vcc_io>; 125 status = "okay"; 125 status = "okay"; 126 126 127 mdio { 127 mdio { 128 compatible = "snps,dwmac-mdio" 128 compatible = "snps,dwmac-mdio"; 129 #address-cells = <1>; 129 #address-cells = <1>; 130 #size-cells = <0>; 130 #size-cells = <0>; 131 131 132 rtl8201f: ethernet-phy@1 { 132 rtl8201f: ethernet-phy@1 { 133 compatible = "ethernet 133 compatible = "ethernet-phy-ieee802.3-c22"; 134 reg = <1>; 134 reg = <1>; 135 pinctrl-names = "defau 135 pinctrl-names = "default"; 136 pinctrl-0 = <&mac_rst> 136 pinctrl-0 = <&mac_rst>; 137 reset-assert-us = <200 137 reset-assert-us = <20000>; 138 reset-deassert-us = <5 138 reset-deassert-us = <50000>; 139 reset-gpios = <&gpio0 139 reset-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 140 }; 140 }; 141 }; 141 }; 142 }; 142 }; 143 143 144 &io_domains { 144 &io_domains { 145 vccio0-supply = <&vcc_io>; 145 vccio0-supply = <&vcc_io>; 146 vccio1-supply = <&vcc_io>; 146 vccio1-supply = <&vcc_io>; 147 vccio2-supply = <&vcc_io>; 147 vccio2-supply = <&vcc_io>; 148 vccio3-supply = <&vcc_io>; 148 vccio3-supply = <&vcc_io>; 149 vccio4-supply = <&vcc_1v8>; 149 vccio4-supply = <&vcc_1v8>; 150 vccio5-supply = <&vcc_io>; 150 vccio5-supply = <&vcc_io>; 151 status = "okay"; 151 status = "okay"; 152 }; 152 }; 153 153 154 &pinctrl { 154 &pinctrl { 155 pinctrl-names = "default"; 155 pinctrl-names = "default"; 156 pinctrl-0 = <&rtc_32k>; 156 pinctrl-0 = <&rtc_32k>; 157 157 158 bluetooth { 158 bluetooth { 159 bt_reg_on: bt-reg-on { 159 bt_reg_on: bt-reg-on { 160 rockchip,pins = <4 RK_ 160 rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 161 }; 161 }; 162 162 163 bt_wake_host: bt-wake-host { 163 bt_wake_host: bt-wake-host { 164 rockchip,pins = <4 RK_ 164 rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>; 165 }; 165 }; 166 166 167 host_wake_bt: host-wake-bt { 167 host_wake_bt: host-wake-bt { 168 rockchip,pins = <4 RK_ 168 rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 169 }; 169 }; 170 }; 170 }; 171 171 172 gmac { 172 gmac { 173 mac_rst: mac-rst { 173 mac_rst: mac-rst { 174 rockchip,pins = <0 RK_ 174 rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; 175 }; 175 }; 176 }; 176 }; 177 177 178 leds { 178 leds { 179 pwr_led: pwr-led { 179 pwr_led: pwr-led { 180 rockchip,pins = <0 RK_ 180 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 181 }; 181 }; 182 }; 182 }; 183 183 184 wifi { 184 wifi { 185 wifi_reg_on: wifi-reg-on { 185 wifi_reg_on: wifi-reg-on { 186 rockchip,pins = <0 RK_ 186 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 187 }; 187 }; 188 188 189 wifi_wake_host: wifi-wake-host 189 wifi_wake_host: wifi-wake-host { 190 rockchip,pins = <0 RK_ 190 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; 191 }; 191 }; 192 }; 192 }; 193 }; 193 }; 194 194 195 &pwm0 { 195 &pwm0 { 196 pinctrl-names = "default"; 196 pinctrl-names = "default"; 197 pinctrl-0 = <&pwm0_pin_pull_down>; 197 pinctrl-0 = <&pwm0_pin_pull_down>; 198 status = "okay"; 198 status = "okay"; 199 }; 199 }; 200 200 201 &saradc { 201 &saradc { 202 vref-supply = <&vcc_1v8>; 202 vref-supply = <&vcc_1v8>; 203 status = "okay"; 203 status = "okay"; 204 }; 204 }; 205 205 206 &sdio { 206 &sdio { 207 #address-cells = <1>; 207 #address-cells = <1>; 208 #size-cells = <0>; 208 #size-cells = <0>; 209 cap-sd-highspeed; 209 cap-sd-highspeed; 210 cap-sdio-irq; 210 cap-sdio-irq; 211 keep-power-in-suspend; 211 keep-power-in-suspend; 212 max-frequency = <50000000>; 212 max-frequency = <50000000>; 213 mmc-pwrseq = <&sdio_pwrseq>; 213 mmc-pwrseq = <&sdio_pwrseq>; 214 no-mmc; 214 no-mmc; 215 no-sd; 215 no-sd; 216 non-removable; 216 non-removable; 217 vmmc-supply = <&vcc_io>; 217 vmmc-supply = <&vcc_io>; 218 vqmmc-supply = <&vcc_1v8>; 218 vqmmc-supply = <&vcc_1v8>; 219 status = "okay"; 219 status = "okay"; 220 220 221 brcmf: wifi@1 { 221 brcmf: wifi@1 { 222 compatible = "brcm,bcm43430a1- 222 compatible = "brcm,bcm43430a1-fmac", "brcm,bcm4329-fmac"; 223 reg = <1>; 223 reg = <1>; 224 interrupt-parent = <&gpio0>; 224 interrupt-parent = <&gpio0>; 225 interrupts = <RK_PA0 IRQ_TYPE_ 225 interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>; 226 interrupt-names = "host-wake"; 226 interrupt-names = "host-wake"; 227 pinctrl-names = "default"; 227 pinctrl-names = "default"; 228 pinctrl-0 = <&wifi_wake_host>; 228 pinctrl-0 = <&wifi_wake_host>; 229 }; 229 }; 230 }; 230 }; 231 231 232 &sdmmc { 232 &sdmmc { 233 cap-mmc-highspeed; 233 cap-mmc-highspeed; 234 cap-sd-highspeed; 234 cap-sd-highspeed; 235 disable-wp; 235 disable-wp; 236 vmmc-supply = <&vcc_io>; 236 vmmc-supply = <&vcc_io>; 237 status = "okay"; 237 status = "okay"; 238 }; 238 }; 239 239 240 &u2phy { 240 &u2phy { 241 status = "okay"; 241 status = "okay"; 242 }; 242 }; 243 243 244 &u2phy_host { 244 &u2phy_host { 245 status = "okay"; 245 status = "okay"; 246 }; 246 }; 247 247 248 &u2phy_otg { 248 &u2phy_otg { 249 status = "okay"; 249 status = "okay"; 250 }; 250 }; 251 251 252 &uart0 { 252 &uart0 { 253 pinctrl-names = "default"; 253 pinctrl-names = "default"; 254 pinctrl-0 = <&uart0_xfer>; 254 pinctrl-0 = <&uart0_xfer>; 255 status = "okay"; 255 status = "okay"; 256 }; 256 }; 257 257 258 &uart4 { 258 &uart4 { 259 uart-has-rtscts; 259 uart-has-rtscts; 260 status = "okay"; 260 status = "okay"; 261 261 262 bluetooth { 262 bluetooth { 263 compatible = "brcm,bcm43430a1- 263 compatible = "brcm,bcm43430a1-bt"; 264 clocks = <&cru SCLK_RTC32K>; 264 clocks = <&cru SCLK_RTC32K>; 265 clock-names = "lpo"; 265 clock-names = "lpo"; 266 interrupt-parent = <&gpio4>; 266 interrupt-parent = <&gpio4>; 267 interrupts = <RK_PB4 IRQ_TYPE_ 267 interrupts = <RK_PB4 IRQ_TYPE_LEVEL_HIGH>; 268 interrupt-names = "host-wakeup 268 interrupt-names = "host-wakeup"; 269 device-wakeup-gpios = <&gpio4 269 device-wakeup-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>; 270 shutdown-gpios = <&gpio4 RK_PB 270 shutdown-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; 271 pinctrl-names = "default"; 271 pinctrl-names = "default"; 272 pinctrl-0 = <&bt_reg_on &bt_wa 272 pinctrl-0 = <&bt_reg_on &bt_wake_host &host_wake_bt>; 273 vbat-supply = <&vcc_io>; 273 vbat-supply = <&vcc_io>; 274 vddio-supply = <&vcc_1v8>; 274 vddio-supply = <&vcc_1v8>; 275 }; 275 }; 276 }; 276 }; 277 277 278 &usb_host_ehci { 278 &usb_host_ehci { 279 status = "okay"; 279 status = "okay"; 280 }; 280 }; 281 281 282 &usb_host_ohci { 282 &usb_host_ohci { 283 status = "okay"; 283 status = "okay"; 284 }; 284 }; 285 285 286 &usb20_otg { 286 &usb20_otg { 287 dr_mode = "peripheral"; 287 dr_mode = "peripheral"; 288 status = "okay"; 288 status = "okay"; 289 }; 289 }; 290 290 291 &wdt { 291 &wdt { 292 status = "okay"; 292 status = "okay"; 293 }; 293 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.