1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright (c) 2019 Fuzhou Rockchip Electron 3 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd 4 * Copyright (c) 2019 Radxa Limited 4 * Copyright (c) 2019 Radxa Limited 5 * Copyright (c) 2022 Amarula Solutions(India) 5 * Copyright (c) 2022 Amarula Solutions(India) 6 */ 6 */ 7 7 8 /dts-v1/; 8 /dts-v1/; 9 #include <dt-bindings/leds/common.h> 9 #include <dt-bindings/leds/common.h> 10 #include "rk3399-t.dtsi" 10 #include "rk3399-t.dtsi" 11 11 12 / { 12 / { 13 model = "Radxa ROCK 4C+"; 13 model = "Radxa ROCK 4C+"; 14 compatible = "radxa,rock-4c-plus", "ro 14 compatible = "radxa,rock-4c-plus", "rockchip,rk3399"; 15 15 16 aliases { 16 aliases { 17 ethernet0 = &gmac; 17 ethernet0 = &gmac; 18 mmc0 = &sdhci; 18 mmc0 = &sdhci; 19 mmc1 = &sdmmc; 19 mmc1 = &sdmmc; 20 }; 20 }; 21 21 22 chosen { 22 chosen { 23 stdout-path = "serial2:1500000 23 stdout-path = "serial2:1500000n8"; 24 }; 24 }; 25 25 26 clkin_gmac: external-gmac-clock { 26 clkin_gmac: external-gmac-clock { 27 compatible = "fixed-clock"; 27 compatible = "fixed-clock"; 28 clock-frequency = <125000000>; 28 clock-frequency = <125000000>; 29 clock-output-names = "clkin_gm 29 clock-output-names = "clkin_gmac"; 30 #clock-cells = <0>; 30 #clock-cells = <0>; 31 }; 31 }; 32 32 33 leds { 33 leds { 34 compatible = "gpio-leds"; 34 compatible = "gpio-leds"; 35 pinctrl-names = "default"; 35 pinctrl-names = "default"; 36 pinctrl-0 = <&user_led1 &user_ 36 pinctrl-0 = <&user_led1 &user_led2>; 37 37 38 /* USER_LED1 */ 38 /* USER_LED1 */ 39 led-0 { 39 led-0 { 40 function = LED_FUNCTIO 40 function = LED_FUNCTION_POWER; 41 color = <LED_COLOR_ID_ 41 color = <LED_COLOR_ID_GREEN>; 42 gpios = <&gpio3 RK_PD4 42 gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>; 43 linux,default-trigger 43 linux,default-trigger = "default-on"; 44 }; 44 }; 45 45 46 /* USER_LED2 */ 46 /* USER_LED2 */ 47 led-1 { 47 led-1 { 48 function = LED_FUNCTIO 48 function = LED_FUNCTION_STATUS; 49 color = <LED_COLOR_ID_ 49 color = <LED_COLOR_ID_BLUE>; 50 gpios = <&gpio3 RK_PD5 50 gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; 51 linux,default-trigger 51 linux,default-trigger = "heartbeat"; 52 }; 52 }; 53 }; 53 }; 54 54 55 rk809-sound { 55 rk809-sound { 56 compatible = "simple-audio-car 56 compatible = "simple-audio-card"; 57 simple-audio-card,format = "i2 57 simple-audio-card,format = "i2s"; 58 simple-audio-card,name = "Anal 58 simple-audio-card,name = "Analog RK809"; 59 simple-audio-card,mclk-fs = <2 59 simple-audio-card,mclk-fs = <256>; 60 60 61 simple-audio-card,cpu { 61 simple-audio-card,cpu { 62 sound-dai = <&i2s0>; 62 sound-dai = <&i2s0>; 63 }; 63 }; 64 64 65 simple-audio-card,codec { 65 simple-audio-card,codec { 66 sound-dai = <&rk809>; 66 sound-dai = <&rk809>; 67 }; 67 }; 68 }; 68 }; 69 69 70 sdio_pwrseq: sdio-pwrseq { 70 sdio_pwrseq: sdio-pwrseq { 71 compatible = "mmc-pwrseq-simpl 71 compatible = "mmc-pwrseq-simple"; 72 clocks = <&rk809 1>; 72 clocks = <&rk809 1>; 73 clock-names = "ext_clock"; 73 clock-names = "ext_clock"; 74 pinctrl-names = "default"; 74 pinctrl-names = "default"; 75 pinctrl-0 = <&wifi_enable_h>; 75 pinctrl-0 = <&wifi_enable_h>; 76 reset-gpios = <&gpio0 RK_PB2 G 76 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 77 }; 77 }; 78 78 79 vcc_3v3: vcc-3v3-regulator { 79 vcc_3v3: vcc-3v3-regulator { 80 compatible = "regulator-fixed" 80 compatible = "regulator-fixed"; 81 regulator-name = "vcc_3v3"; 81 regulator-name = "vcc_3v3"; 82 regulator-always-on; 82 regulator-always-on; 83 regulator-boot-on; 83 regulator-boot-on; 84 regulator-min-microvolt = <330 84 regulator-min-microvolt = <3300000>; 85 regulator-max-microvolt = <330 85 regulator-max-microvolt = <3300000>; 86 vin-supply = <&vcc3v3_sys>; 86 vin-supply = <&vcc3v3_sys>; 87 }; 87 }; 88 88 89 vcc3v3_phy1: vcc3v3-phy1-regulator { 89 vcc3v3_phy1: vcc3v3-phy1-regulator { 90 compatible = "regulator-fixed" 90 compatible = "regulator-fixed"; 91 regulator-name = "vcc3v3_phy1" 91 regulator-name = "vcc3v3_phy1"; 92 regulator-always-on; 92 regulator-always-on; 93 regulator-boot-on; 93 regulator-boot-on; 94 regulator-min-microvolt = <330 94 regulator-min-microvolt = <3300000>; 95 regulator-max-microvolt = <330 95 regulator-max-microvolt = <3300000>; 96 vin-supply = <&vcc_3v3>; 96 vin-supply = <&vcc_3v3>; 97 }; 97 }; 98 98 99 vcc5v0_host1: vcc5v0-host-regulator { 99 vcc5v0_host1: vcc5v0-host-regulator { 100 compatible = "regulator-fixed" 100 compatible = "regulator-fixed"; 101 enable-active-high; 101 enable-active-high; 102 gpio = <&gpio3 RK_PD6 GPIO_ACT 102 gpio = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; 103 pinctrl-names = "default"; 103 pinctrl-names = "default"; 104 pinctrl-0 = <&vcc5v0_host_en>; 104 pinctrl-0 = <&vcc5v0_host_en>; 105 regulator-name = "vcc5v0_host1 105 regulator-name = "vcc5v0_host1"; 106 regulator-always-on; 106 regulator-always-on; 107 regulator-boot-on; 107 regulator-boot-on; 108 vin-supply = <&vcc5v0_host0_s0 108 vin-supply = <&vcc5v0_host0_s0>; 109 }; 109 }; 110 110 111 vcc5v0_sys: vcc5v0-sys-regulator { 111 vcc5v0_sys: vcc5v0-sys-regulator { 112 compatible = "regulator-fixed" 112 compatible = "regulator-fixed"; 113 regulator-name = "vcc5v0_sys"; 113 regulator-name = "vcc5v0_sys"; 114 regulator-always-on; 114 regulator-always-on; 115 regulator-boot-on; 115 regulator-boot-on; 116 regulator-min-microvolt = <500 116 regulator-min-microvolt = <5000000>; 117 regulator-max-microvolt = <500 117 regulator-max-microvolt = <5000000>; 118 }; 118 }; 119 119 120 vcc5v0_typec: vcc5v0-typec-regulator { 120 vcc5v0_typec: vcc5v0-typec-regulator { 121 compatible = "regulator-fixed" 121 compatible = "regulator-fixed"; 122 enable-active-high; 122 enable-active-high; 123 gpio = <&gpio1 RK_PA3 GPIO_ACT 123 gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 124 pinctrl-names = "default"; 124 pinctrl-names = "default"; 125 pinctrl-0 = <&vcc5v0_typec0_en 125 pinctrl-0 = <&vcc5v0_typec0_en>; 126 regulator-name = "vcc5v0_typec 126 regulator-name = "vcc5v0_typec"; 127 regulator-always-on; 127 regulator-always-on; 128 regulator-boot-on; 128 regulator-boot-on; 129 vin-supply = <&vcc5v0_sys>; 129 vin-supply = <&vcc5v0_sys>; 130 }; 130 }; 131 131 132 vdd_log: vdd-log-regulator { 132 vdd_log: vdd-log-regulator { 133 compatible = "regulator-fixed" 133 compatible = "regulator-fixed"; 134 regulator-name = "vdd_log"; 134 regulator-name = "vdd_log"; 135 regulator-always-on; 135 regulator-always-on; 136 regulator-boot-on; 136 regulator-boot-on; 137 regulator-min-microvolt = <950 137 regulator-min-microvolt = <950000>; 138 regulator-max-microvolt = <950 138 regulator-max-microvolt = <950000>; 139 vin-supply = <&vcc5v0_sys>; 139 vin-supply = <&vcc5v0_sys>; 140 }; 140 }; 141 }; 141 }; 142 142 143 &cpu_l0 { 143 &cpu_l0 { 144 cpu-supply = <&vdd_cpu_l>; 144 cpu-supply = <&vdd_cpu_l>; 145 }; 145 }; 146 146 147 &cpu_l1 { 147 &cpu_l1 { 148 cpu-supply = <&vdd_cpu_l>; 148 cpu-supply = <&vdd_cpu_l>; 149 }; 149 }; 150 150 151 &cpu_l2 { 151 &cpu_l2 { 152 cpu-supply = <&vdd_cpu_l>; 152 cpu-supply = <&vdd_cpu_l>; 153 }; 153 }; 154 154 155 &cpu_l3 { 155 &cpu_l3 { 156 cpu-supply = <&vdd_cpu_l>; 156 cpu-supply = <&vdd_cpu_l>; 157 }; 157 }; 158 158 159 &cpu_b0 { 159 &cpu_b0 { 160 cpu-supply = <&vdd_cpu_b>; 160 cpu-supply = <&vdd_cpu_b>; 161 }; 161 }; 162 162 163 &cpu_b1 { 163 &cpu_b1 { 164 cpu-supply = <&vdd_cpu_b>; 164 cpu-supply = <&vdd_cpu_b>; 165 }; 165 }; 166 166 167 &emmc_phy { 167 &emmc_phy { 168 rockchip,enable-strobe-pulldown; 168 rockchip,enable-strobe-pulldown; 169 status = "okay"; 169 status = "okay"; 170 }; 170 }; 171 171 172 &gmac { 172 &gmac { 173 assigned-clocks = <&cru SCLK_RMII_SRC> 173 assigned-clocks = <&cru SCLK_RMII_SRC>; 174 assigned-clock-parents = <&clkin_gmac> 174 assigned-clock-parents = <&clkin_gmac>; 175 clock_in_out = "input"; 175 clock_in_out = "input"; 176 phy-supply = <&vcc3v3_phy1>; 176 phy-supply = <&vcc3v3_phy1>; 177 phy-mode = "rgmii"; 177 phy-mode = "rgmii"; 178 pinctrl-names = "default"; 178 pinctrl-names = "default"; 179 pinctrl-0 = <&rgmii_pins>; 179 pinctrl-0 = <&rgmii_pins>; 180 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ 180 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 181 snps,reset-active-low; 181 snps,reset-active-low; 182 snps,reset-delays-us = <0 10000 50000> 182 snps,reset-delays-us = <0 10000 50000>; 183 tx_delay = <0x2a>; 183 tx_delay = <0x2a>; 184 rx_delay = <0x21>; 184 rx_delay = <0x21>; 185 status = "okay"; 185 status = "okay"; 186 }; 186 }; 187 187 188 &gpu { 188 &gpu { 189 mali-supply = <&vdd_gpu>; 189 mali-supply = <&vdd_gpu>; 190 status = "okay"; 190 status = "okay"; 191 }; 191 }; 192 192 193 &hdmi { 193 &hdmi { 194 avdd-0v9-supply = <&vcc_0v9_s0>; 194 avdd-0v9-supply = <&vcc_0v9_s0>; 195 avdd-1v8-supply = <&vcc_1v8_s0>; 195 avdd-1v8-supply = <&vcc_1v8_s0>; 196 ddc-i2c-bus = <&i2c3>; 196 ddc-i2c-bus = <&i2c3>; 197 pinctrl-names = "default"; 197 pinctrl-names = "default"; 198 pinctrl-0 = <&hdmi_cec>; 198 pinctrl-0 = <&hdmi_cec>; 199 status = "okay"; 199 status = "okay"; 200 }; 200 }; 201 201 202 &hdmi_sound { 202 &hdmi_sound { 203 status = "okay"; 203 status = "okay"; 204 }; 204 }; 205 205 206 &i2c0 { 206 &i2c0 { 207 status = "okay"; 207 status = "okay"; 208 i2c-scl-falling-time-ns = <30>; 208 i2c-scl-falling-time-ns = <30>; 209 i2c-scl-rising-time-ns = <180>; 209 i2c-scl-rising-time-ns = <180>; 210 clock-frequency = <400000>; 210 clock-frequency = <400000>; 211 211 212 rk809: pmic@20 { 212 rk809: pmic@20 { 213 compatible = "rockchip,rk809"; 213 compatible = "rockchip,rk809"; 214 reg = <0x20>; 214 reg = <0x20>; 215 interrupt-parent = <&gpio1>; 215 interrupt-parent = <&gpio1>; 216 interrupts = <RK_PC5 IRQ_TYPE_ 216 interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>; 217 #clock-cells = <1>; 217 #clock-cells = <1>; 218 clock-names = "mclk"; 218 clock-names = "mclk"; 219 clocks = <&cru SCLK_I2S_8CH_OU 219 clocks = <&cru SCLK_I2S_8CH_OUT>; 220 clock-output-names = "rk808-cl 220 clock-output-names = "rk808-clkout1", "rk808-clkout2"; 221 pinctrl-names = "default"; 221 pinctrl-names = "default"; 222 pinctrl-0 = <&pmic_int_l>, <&i 222 pinctrl-0 = <&pmic_int_l>, <&i2s_8ch_mclk>; 223 rockchip,system-power-controll 223 rockchip,system-power-controller; 224 #sound-dai-cells = <0>; 224 #sound-dai-cells = <0>; 225 wakeup-source; 225 wakeup-source; 226 226 227 vcc1-supply = <&vcc5v0_sys>; 227 vcc1-supply = <&vcc5v0_sys>; 228 vcc2-supply = <&vcc5v0_sys>; 228 vcc2-supply = <&vcc5v0_sys>; 229 vcc3-supply = <&vcc5v0_sys>; 229 vcc3-supply = <&vcc5v0_sys>; 230 vcc4-supply = <&vcc5v0_sys>; 230 vcc4-supply = <&vcc5v0_sys>; 231 vcc5-supply = <&vcc_buck5_s3>; 231 vcc5-supply = <&vcc_buck5_s3>; 232 vcc6-supply = <&vcc_buck5_s3>; 232 vcc6-supply = <&vcc_buck5_s3>; 233 vcc7-supply = <&vcc5v0_sys>; 233 vcc7-supply = <&vcc5v0_sys>; 234 vcc8-supply = <&vcc3v3_sys>; 234 vcc8-supply = <&vcc3v3_sys>; 235 vcc9-supply = <&vcc5v0_sys>; 235 vcc9-supply = <&vcc5v0_sys>; 236 236 237 regulators { 237 regulators { 238 vdd_center: DCDC_REG1 238 vdd_center: DCDC_REG1 { 239 regulator-alwa 239 regulator-always-on; 240 regulator-boot 240 regulator-boot-on; 241 regulator-min- 241 regulator-min-microvolt = <750000>; 242 regulator-max- 242 regulator-max-microvolt = <1350000>; 243 regulator-init 243 regulator-initial-mode = <0x2>; 244 regulator-name 244 regulator-name = "vdd_center"; 245 regulator-stat 245 regulator-state-mem { 246 regula 246 regulator-off-in-suspend; 247 regula 247 regulator-suspend-microvolt = <900000>; 248 }; 248 }; 249 }; 249 }; 250 250 251 vdd_cpu_l: DCDC_REG2 { 251 vdd_cpu_l: DCDC_REG2 { 252 regulator-alwa 252 regulator-always-on; 253 regulator-boot 253 regulator-boot-on; 254 regulator-min- 254 regulator-min-microvolt = <750000>; 255 regulator-max- 255 regulator-max-microvolt = <1350000>; 256 regulator-ramp 256 regulator-ramp-delay = <6001>; 257 regulator-init 257 regulator-initial-mode = <0x2>; 258 regulator-name 258 regulator-name = "vdd_cpu_l"; 259 regulator-stat 259 regulator-state-mem { 260 regula 260 regulator-off-in-suspend; 261 }; 261 }; 262 }; 262 }; 263 263 264 vcc_ddr: DCDC_REG3 { 264 vcc_ddr: DCDC_REG3 { 265 regulator-alwa 265 regulator-always-on; 266 regulator-boot 266 regulator-boot-on; 267 regulator-name 267 regulator-name = "vcc_ddr"; 268 regulator-init 268 regulator-initial-mode = <0x2>; 269 regulator-stat 269 regulator-state-mem { 270 regula 270 regulator-on-in-suspend; 271 }; 271 }; 272 }; 272 }; 273 273 274 vcc3v3_sys: DCDC_REG4 274 vcc3v3_sys: DCDC_REG4 { 275 regulator-alwa 275 regulator-always-on; 276 regulator-boot 276 regulator-boot-on; 277 regulator-min- 277 regulator-min-microvolt = <3300000>; 278 regulator-max- 278 regulator-max-microvolt = <3300000>; 279 regulator-init 279 regulator-initial-mode = <0x2>; 280 regulator-name 280 regulator-name = "vcc3v3_sys"; 281 regulator-stat 281 regulator-state-mem { 282 regula 282 regulator-on-in-suspend; 283 regula 283 regulator-suspend-microvolt = <3300000>; 284 }; 284 }; 285 }; 285 }; 286 286 287 vcc_buck5_s3: DCDC_REG 287 vcc_buck5_s3: DCDC_REG5 { 288 regulator-alwa 288 regulator-always-on; 289 regulator-boot 289 regulator-boot-on; 290 regulator-min- 290 regulator-min-microvolt = <3300000>; 291 regulator-max- 291 regulator-max-microvolt = <3300000>; 292 regulator-name 292 regulator-name = "vcc_buck5_s3"; 293 regulator-stat 293 regulator-state-mem { 294 regula 294 regulator-on-in-suspend; 295 regula 295 regulator-suspend-microvolt = <3300000>; 296 }; 296 }; 297 }; 297 }; 298 298 299 vcc_0v9_s3: LDO_REG1 { 299 vcc_0v9_s3: LDO_REG1 { 300 regulator-alwa 300 regulator-always-on; 301 regulator-boot 301 regulator-boot-on; 302 regulator-min- 302 regulator-min-microvolt = <900000>; 303 regulator-max- 303 regulator-max-microvolt = <900000>; 304 regulator-name 304 regulator-name = "vcc_0v9_s3"; 305 regulator-stat 305 regulator-state-mem { 306 regula 306 regulator-off-in-suspend; 307 }; 307 }; 308 }; 308 }; 309 309 310 vcc_1v8_s3: LDO_REG2 { 310 vcc_1v8_s3: LDO_REG2 { 311 regulator-alwa 311 regulator-always-on; 312 regulator-boot 312 regulator-boot-on; 313 regulator-min- 313 regulator-min-microvolt = <1800000>; 314 regulator-max- 314 regulator-max-microvolt = <1800000>; 315 regulator-name 315 regulator-name = "vcc_1v8_s3"; 316 regulator-stat 316 regulator-state-mem { 317 regula 317 regulator-on-in-suspend; 318 regula 318 regulator-suspend-microvolt = <1800000>; 319 }; 319 }; 320 }; 320 }; 321 321 322 vcc_0v9_s0: LDO_REG3 { 322 vcc_0v9_s0: LDO_REG3 { 323 regulator-alwa 323 regulator-always-on; 324 regulator-boot 324 regulator-boot-on; 325 regulator-min- 325 regulator-min-microvolt = <900000>; 326 regulator-max- 326 regulator-max-microvolt = <900000>; 327 regulator-name 327 regulator-name = "vcc_0v9_s0"; 328 regulator-stat 328 regulator-state-mem { 329 regula 329 regulator-on-in-suspend; 330 regula 330 regulator-suspend-microvolt = <900000>; 331 }; 331 }; 332 }; 332 }; 333 333 334 vcc_1v8_s0: LDO_REG4 { 334 vcc_1v8_s0: LDO_REG4 { 335 regulator-alwa 335 regulator-always-on; 336 regulator-boot 336 regulator-boot-on; 337 regulator-min- 337 regulator-min-microvolt = <1800000>; 338 regulator-max- 338 regulator-max-microvolt = <1800000>; 339 regulator-name 339 regulator-name = "vcc_1v8_s0"; 340 regulator-stat 340 regulator-state-mem { 341 regula 341 regulator-off-in-suspend; 342 }; 342 }; 343 }; 343 }; 344 344 345 vcc_mipi: LDO_REG5 { 345 vcc_mipi: LDO_REG5 { 346 regulator-alwa 346 regulator-always-on; 347 regulator-boot 347 regulator-boot-on; 348 regulator-min- 348 regulator-min-microvolt = <3000000>; 349 regulator-max- 349 regulator-max-microvolt = <3000000>; 350 regulator-name 350 regulator-name = "vcc_mipi"; 351 regulator-stat 351 regulator-state-mem { 352 regula 352 regulator-off-in-suspend; 353 }; 353 }; 354 }; 354 }; 355 355 356 vcc_1v5_s0: LDO_REG6 { 356 vcc_1v5_s0: LDO_REG6 { 357 regulator-alwa 357 regulator-always-on; 358 regulator-boot 358 regulator-boot-on; 359 regulator-min- 359 regulator-min-microvolt = <1500000>; 360 regulator-max- 360 regulator-max-microvolt = <1500000>; 361 regulator-name 361 regulator-name = "vcc_1v5_s0"; 362 regulator-stat 362 regulator-state-mem { 363 regula 363 regulator-off-in-suspend; 364 }; 364 }; 365 }; 365 }; 366 366 367 vcc_3v0_s0: LDO_REG7 { 367 vcc_3v0_s0: LDO_REG7 { 368 regulator-alwa 368 regulator-always-on; 369 regulator-boot 369 regulator-boot-on; 370 regulator-min- 370 regulator-min-microvolt = <3000000>; 371 regulator-max- 371 regulator-max-microvolt = <3000000>; 372 regulator-name 372 regulator-name = "vcc_3v0_s0"; 373 regulator-stat 373 regulator-state-mem { 374 regula 374 regulator-off-in-suspend; 375 }; 375 }; 376 }; 376 }; 377 377 378 vcc_sdio_s0: LDO_REG8 378 vcc_sdio_s0: LDO_REG8 { 379 regulator-alwa 379 regulator-always-on; 380 regulator-boot 380 regulator-boot-on; 381 regulator-min- 381 regulator-min-microvolt = <1800000>; 382 regulator-max- 382 regulator-max-microvolt = <3300000>; 383 regulator-name 383 regulator-name = "vcc_sdio_s0"; 384 regulator-stat 384 regulator-state-mem { 385 regula 385 regulator-off-in-suspend; 386 }; 386 }; 387 }; 387 }; 388 388 389 vcc_cam: LDO_REG9 { 389 vcc_cam: LDO_REG9 { 390 regulator-alwa 390 regulator-always-on; 391 regulator-boot 391 regulator-boot-on; 392 regulator-min- 392 regulator-min-microvolt = <3300000>; 393 regulator-max- 393 regulator-max-microvolt = <3300000>; 394 regulator-name 394 regulator-name = "vcc_cam"; 395 regulator-stat 395 regulator-state-mem { 396 regula 396 regulator-off-in-suspend; 397 }; 397 }; 398 }; 398 }; 399 399 400 vcc5v0_host0_s0: SWITC 400 vcc5v0_host0_s0: SWITCH_REG1 { 401 regulator-alwa 401 regulator-always-on; 402 regulator-boot 402 regulator-boot-on; 403 regulator-name 403 regulator-name = "vcc5v0_host0_s0"; 404 regulator-stat 404 regulator-state-mem { 405 regula 405 regulator-on-in-suspend; 406 }; 406 }; 407 }; 407 }; 408 408 409 lcd_3v3: SWITCH_REG2 { 409 lcd_3v3: SWITCH_REG2 { 410 regulator-alwa 410 regulator-always-on; 411 regulator-boot 411 regulator-boot-on; 412 regulator-name 412 regulator-name = "lcd_3v3"; 413 regulator-stat 413 regulator-state-mem { 414 regula 414 regulator-off-in-suspend; 415 }; 415 }; 416 }; 416 }; 417 }; 417 }; 418 }; 418 }; 419 419 420 vdd_cpu_b: regulator@40 { 420 vdd_cpu_b: regulator@40 { 421 compatible = "silergy,syr827"; 421 compatible = "silergy,syr827"; 422 reg = <0x40>; 422 reg = <0x40>; 423 fcs,suspend-voltage-selector = 423 fcs,suspend-voltage-selector = <1>; 424 regulator-compatible = "fan535 424 regulator-compatible = "fan53555-reg"; 425 pinctrl-0 = <&vsel1_gpio>; 425 pinctrl-0 = <&vsel1_gpio>; 426 vsel-gpios = <&gpio1 RK_PC1 GP 426 vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 427 regulator-name = "vdd_cpu_b"; 427 regulator-name = "vdd_cpu_b"; 428 regulator-min-microvolt = <712 428 regulator-min-microvolt = <712500>; 429 regulator-max-microvolt = <150 429 regulator-max-microvolt = <1500000>; 430 regulator-ramp-delay = <1000>; 430 regulator-ramp-delay = <1000>; 431 regulator-always-on; 431 regulator-always-on; 432 regulator-boot-on; 432 regulator-boot-on; 433 vin-supply = <&vcc5v0_sys>; 433 vin-supply = <&vcc5v0_sys>; 434 regulator-state-mem { 434 regulator-state-mem { 435 regulator-off-in-suspe 435 regulator-off-in-suspend; 436 }; 436 }; 437 }; 437 }; 438 438 439 vdd_gpu: regulator@41 { 439 vdd_gpu: regulator@41 { 440 compatible = "silergy,syr828"; 440 compatible = "silergy,syr828"; 441 reg = <0x41>; 441 reg = <0x41>; 442 fcs,suspend-voltage-selector = 442 fcs,suspend-voltage-selector = <1>; 443 regulator-compatible = "fan535 443 regulator-compatible = "fan53555-reg"; 444 pinctrl-0 = <&vsel2_gpio>; 444 pinctrl-0 = <&vsel2_gpio>; 445 vsel-gpios = <&gpio1 RK_PB6 GP 445 vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>; 446 regulator-name = "vdd_gpu"; 446 regulator-name = "vdd_gpu"; 447 regulator-min-microvolt = <712 447 regulator-min-microvolt = <712500>; 448 regulator-max-microvolt = <150 448 regulator-max-microvolt = <1500000>; 449 regulator-ramp-delay = <1000>; 449 regulator-ramp-delay = <1000>; 450 regulator-always-on; 450 regulator-always-on; 451 regulator-boot-on; 451 regulator-boot-on; 452 vin-supply = <&vcc5v0_sys>; 452 vin-supply = <&vcc5v0_sys>; 453 regulator-initial-mode = <1>; 453 regulator-initial-mode = <1>; /* 1:force PWM 2:auto */ 454 regulator-state-mem { 454 regulator-state-mem { 455 regulator-off-in-suspe 455 regulator-off-in-suspend; 456 }; 456 }; 457 }; 457 }; 458 }; 458 }; 459 459 460 &i2c3 { 460 &i2c3 { 461 i2c-scl-rising-time-ns = <450>; 461 i2c-scl-rising-time-ns = <450>; 462 i2c-scl-falling-time-ns = <15>; 462 i2c-scl-falling-time-ns = <15>; 463 status = "okay"; 463 status = "okay"; 464 }; 464 }; 465 465 466 &i2s0 { 466 &i2s0 { 467 status = "okay"; 467 status = "okay"; 468 }; 468 }; 469 469 470 &i2s0_8ch_bus { 470 &i2s0_8ch_bus { 471 rockchip,pins = 471 rockchip,pins = 472 <3 RK_PD0 1 &pcfg_pull_none>, 472 <3 RK_PD0 1 &pcfg_pull_none>, 473 <3 RK_PD2 1 &pcfg_pull_none>, 473 <3 RK_PD2 1 &pcfg_pull_none>, 474 <3 RK_PD3 1 &pcfg_pull_none>, 474 <3 RK_PD3 1 &pcfg_pull_none>, 475 <3 RK_PD7 1 &pcfg_pull_none>; 475 <3 RK_PD7 1 &pcfg_pull_none>; 476 }; 476 }; 477 477 478 &i2s0_8ch_bus_bclk_off { 478 &i2s0_8ch_bus_bclk_off { 479 rockchip,pins = 479 rockchip,pins = 480 <3 RK_PD0 RK_FUNC_GPIO &pcfg_p 480 <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>, 481 <3 RK_PD2 1 &pcfg_pull_none>, 481 <3 RK_PD2 1 &pcfg_pull_none>, 482 <3 RK_PD3 1 &pcfg_pull_none>, 482 <3 RK_PD3 1 &pcfg_pull_none>, 483 <3 RK_PD7 1 &pcfg_pull_none>; 483 <3 RK_PD7 1 &pcfg_pull_none>; 484 }; 484 }; 485 485 486 &i2s2 { 486 &i2s2 { 487 status = "okay"; 487 status = "okay"; 488 }; 488 }; 489 489 490 &io_domains { 490 &io_domains { 491 audio-supply = <&vcc_1v8_s0>; 491 audio-supply = <&vcc_1v8_s0>; 492 bt656-supply = <&vcc_3v0_s0>; 492 bt656-supply = <&vcc_3v0_s0>; 493 gpio1830-supply = <&vcc_3v0_s0>; 493 gpio1830-supply = <&vcc_3v0_s0>; 494 sdmmc-supply = <&vcc_sdio_s0>; 494 sdmmc-supply = <&vcc_sdio_s0>; 495 status = "okay"; 495 status = "okay"; 496 }; 496 }; 497 497 498 &pinctrl { 498 &pinctrl { 499 bt { 499 bt { 500 bt_enable_h: bt-enable-h { 500 bt_enable_h: bt-enable-h { 501 rockchip,pins = <0 RK_ 501 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 502 }; 502 }; 503 503 504 bt_host_wake_l: bt-host-wake-l 504 bt_host_wake_l: bt-host-wake-l { 505 rockchip,pins = <0 RK_ 505 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 506 }; 506 }; 507 507 508 bt_wake_l: bt-wake-l { 508 bt_wake_l: bt-wake-l { 509 rockchip,pins = <2 RK_ 509 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 510 }; 510 }; 511 }; 511 }; 512 512 513 i2s0 { 513 i2s0 { 514 i2s_8ch_mclk: i2s-8ch-mclk { 514 i2s_8ch_mclk: i2s-8ch-mclk { 515 rockchip,pins = <4 RK_ 515 rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; 516 }; 516 }; 517 }; 517 }; 518 518 519 leds { 519 leds { 520 user_led1: user-led1 { 520 user_led1: user-led1 { 521 rockchip,pins = <3 RK_ 521 rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 522 }; 522 }; 523 523 524 user_led2: user-led2 { 524 user_led2: user-led2 { 525 rockchip,pins = <3 RK_ 525 rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 526 }; 526 }; 527 }; 527 }; 528 528 529 pmic { 529 pmic { 530 pmic_int_l: pmic-int-l { 530 pmic_int_l: pmic-int-l { 531 rockchip,pins = <1 RK_ 531 rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 532 }; 532 }; 533 533 534 vsel1_gpio: vsel1-gpio { 534 vsel1_gpio: vsel1-gpio { 535 rockchip,pins = <1 RK_ 535 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 536 }; 536 }; 537 537 538 vsel2_gpio: vsel2-gpio { 538 vsel2_gpio: vsel2-gpio { 539 rockchip,pins = <1 RK_ 539 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 540 }; 540 }; 541 }; 541 }; 542 542 543 sdmmc { 543 sdmmc { 544 sdmmc_bus4: sdmmc-bus4 { 544 sdmmc_bus4: sdmmc-bus4 { 545 rockchip,pins = <4 8 1 545 rockchip,pins = <4 8 1 &pcfg_pull_up_8ma>, 546 <4 9 1 546 <4 9 1 &pcfg_pull_up_8ma>, 547 <4 10 547 <4 10 1 &pcfg_pull_up_8ma>, 548 <4 11 548 <4 11 1 &pcfg_pull_up_8ma>; 549 }; 549 }; 550 550 551 sdmmc_clk: sdmmc-clk { 551 sdmmc_clk: sdmmc-clk { 552 rockchip,pins = <4 12 552 rockchip,pins = <4 12 1 &pcfg_pull_none_18ma>; 553 }; 553 }; 554 554 555 sdmmc_cmd: sdmmc-cmd { 555 sdmmc_cmd: sdmmc-cmd { 556 rockchip,pins = <4 13 556 rockchip,pins = <4 13 1 &pcfg_pull_up_8ma>; 557 }; 557 }; 558 }; 558 }; 559 559 560 usb-typec { 560 usb-typec { 561 vcc5v0_typec0_en: vcc5v0-typec 561 vcc5v0_typec0_en: vcc5v0-typec-en { 562 rockchip,pins = <1 RK_ 562 rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 563 }; 563 }; 564 }; 564 }; 565 565 566 usb2 { 566 usb2 { 567 vcc5v0_host_en: vcc5v0-host-en 567 vcc5v0_host_en: vcc5v0-host-en { 568 rockchip,pins = <3 RK_ 568 rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 569 }; 569 }; 570 }; 570 }; 571 571 572 wifi { 572 wifi { 573 wifi_enable_h: wifi-enable-h { 573 wifi_enable_h: wifi-enable-h { 574 rockchip,pins = <0 RK_ 574 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 575 }; 575 }; 576 576 577 wifi_host_wake_l: wifi-host-wa 577 wifi_host_wake_l: wifi-host-wake-l { 578 rockchip,pins = <0 RK_ 578 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 579 }; 579 }; 580 }; 580 }; 581 }; 581 }; 582 582 583 &pmu_io_domains { 583 &pmu_io_domains { 584 pmu1830-supply = <&vcc_3v0_s0>; 584 pmu1830-supply = <&vcc_3v0_s0>; 585 status = "okay"; 585 status = "okay"; 586 }; 586 }; 587 587 588 &saradc { 588 &saradc { 589 status = "okay"; 589 status = "okay"; 590 vref-supply = <&vcc_1v8_s3>; 590 vref-supply = <&vcc_1v8_s3>; 591 }; 591 }; 592 592 593 &sdhci { 593 &sdhci { 594 max-frequency = <150000000>; 594 max-frequency = <150000000>; 595 bus-width = <8>; 595 bus-width = <8>; 596 mmc-hs400-1_8v; 596 mmc-hs400-1_8v; 597 mmc-hs400-enhanced-strobe; 597 mmc-hs400-enhanced-strobe; 598 non-removable; 598 non-removable; 599 status = "okay"; 599 status = "okay"; 600 }; 600 }; 601 601 602 &sdio0 { 602 &sdio0 { 603 #address-cells = <1>; 603 #address-cells = <1>; 604 #size-cells = <0>; 604 #size-cells = <0>; 605 bus-width = <4>; 605 bus-width = <4>; 606 clock-frequency = <50000000>; 606 clock-frequency = <50000000>; 607 cap-sdio-irq; 607 cap-sdio-irq; 608 cap-sd-highspeed; 608 cap-sd-highspeed; 609 keep-power-in-suspend; 609 keep-power-in-suspend; 610 mmc-pwrseq = <&sdio_pwrseq>; 610 mmc-pwrseq = <&sdio_pwrseq>; 611 non-removable; 611 non-removable; 612 pinctrl-names = "default"; 612 pinctrl-names = "default"; 613 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &s 613 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 614 sd-uhs-sdr104; 614 sd-uhs-sdr104; 615 status = "okay"; 615 status = "okay"; 616 616 617 brcmf: wifi@1 { 617 brcmf: wifi@1 { 618 compatible = "brcm,bcm4329-fma 618 compatible = "brcm,bcm4329-fmac"; 619 reg = <1>; 619 reg = <1>; 620 interrupt-parent = <&gpio0>; 620 interrupt-parent = <&gpio0>; 621 interrupts = <RK_PA3 IRQ_TYPE_ 621 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 622 interrupt-names = "host-wake"; 622 interrupt-names = "host-wake"; 623 pinctrl-names = "default"; 623 pinctrl-names = "default"; 624 pinctrl-0 = <&wifi_host_wake_l 624 pinctrl-0 = <&wifi_host_wake_l>; 625 }; 625 }; 626 }; 626 }; 627 627 628 &sdmmc { 628 &sdmmc { 629 bus-width = <4>; 629 bus-width = <4>; 630 cap-mmc-highspeed; 630 cap-mmc-highspeed; 631 cap-sd-highspeed; 631 cap-sd-highspeed; 632 card-detect-delay = <800>; 632 card-detect-delay = <800>; 633 disable-wp; 633 disable-wp; 634 pinctrl-names = "default"; 634 pinctrl-names = "default"; 635 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sd 635 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 636 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_ 636 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 637 vqmmc-supply = <&vcc_sdio_s0>; 637 vqmmc-supply = <&vcc_sdio_s0>; 638 status = "okay"; 638 status = "okay"; 639 }; 639 }; 640 640 641 &tcphy0 { 641 &tcphy0 { 642 status = "okay"; 642 status = "okay"; 643 }; 643 }; 644 644 645 &tcphy1 { 645 &tcphy1 { 646 status = "okay"; 646 status = "okay"; 647 }; 647 }; 648 648 649 &tsadc { 649 &tsadc { 650 rockchip,hw-tshut-mode = <1>; 650 rockchip,hw-tshut-mode = <1>; 651 rockchip,hw-tshut-polarity = <1>; 651 rockchip,hw-tshut-polarity = <1>; 652 status = "okay"; 652 status = "okay"; 653 }; 653 }; 654 654 655 &u2phy0 { 655 &u2phy0 { 656 status = "okay"; 656 status = "okay"; 657 657 658 u2phy0_otg: otg-port { 658 u2phy0_otg: otg-port { 659 status = "okay"; 659 status = "okay"; 660 }; 660 }; 661 661 662 u2phy0_host: host-port { 662 u2phy0_host: host-port { 663 phy-supply = <&vcc5v0_host1>; 663 phy-supply = <&vcc5v0_host1>; 664 status = "okay"; 664 status = "okay"; 665 }; 665 }; 666 }; 666 }; 667 667 668 &u2phy1 { 668 &u2phy1 { 669 status = "okay"; 669 status = "okay"; 670 670 671 u2phy1_otg: otg-port { 671 u2phy1_otg: otg-port { 672 status = "okay"; 672 status = "okay"; 673 }; 673 }; 674 674 675 u2phy1_host: host-port { 675 u2phy1_host: host-port { 676 phy-supply = <&vcc5v0_host1>; 676 phy-supply = <&vcc5v0_host1>; 677 status = "okay"; 677 status = "okay"; 678 }; 678 }; 679 }; 679 }; 680 680 681 &uart0 { 681 &uart0 { 682 pinctrl-names = "default"; 682 pinctrl-names = "default"; 683 pinctrl-0 = <&uart0_xfer &uart0_cts &u 683 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 684 status = "okay"; 684 status = "okay"; 685 685 686 bluetooth { 686 bluetooth { 687 compatible = "brcm,bcm4345c5"; 687 compatible = "brcm,bcm4345c5"; 688 clocks = <&rk809 1>; 688 clocks = <&rk809 1>; 689 clock-names = "lpo"; 689 clock-names = "lpo"; 690 device-wakeup-gpios = <&gpio2 690 device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 691 host-wakeup-gpios = <&gpio0 RK 691 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 692 shutdown-gpios = <&gpio0 RK_PB 692 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 693 max-speed = <1500000>; 693 max-speed = <1500000>; 694 pinctrl-names = "default"; 694 pinctrl-names = "default"; 695 pinctrl-0 = <&bt_host_wake_l & 695 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 696 vbat-supply = <&vcc3v3_sys>; 696 vbat-supply = <&vcc3v3_sys>; 697 vddio-supply = <&vcc_1v8_s3>; 697 vddio-supply = <&vcc_1v8_s3>; 698 }; 698 }; 699 }; 699 }; 700 700 701 &uart2 { 701 &uart2 { 702 status = "okay"; 702 status = "okay"; 703 }; 703 }; 704 704 705 &usb_host0_ehci { 705 &usb_host0_ehci { 706 status = "okay"; 706 status = "okay"; 707 }; 707 }; 708 708 709 &usb_host0_ohci { 709 &usb_host0_ohci { 710 status = "okay"; 710 status = "okay"; 711 }; 711 }; 712 712 713 &usb_host1_ehci { 713 &usb_host1_ehci { 714 status = "okay"; 714 status = "okay"; 715 }; 715 }; 716 716 717 &usb_host1_ohci { 717 &usb_host1_ohci { 718 status = "okay"; 718 status = "okay"; 719 }; 719 }; 720 720 721 &usbdrd3_0 { 721 &usbdrd3_0 { 722 extcon = <&u2phy0>; 722 extcon = <&u2phy0>; 723 status = "okay"; 723 status = "okay"; 724 }; 724 }; 725 725 726 &usbdrd_dwc3_0 { 726 &usbdrd_dwc3_0 { 727 status = "okay"; 727 status = "okay"; 728 dr_mode = "host"; 728 dr_mode = "host"; 729 }; 729 }; 730 730 731 &usbdrd3_1 { 731 &usbdrd3_1 { 732 status = "okay"; 732 status = "okay"; 733 }; 733 }; 734 734 735 &usbdrd_dwc3_1 { 735 &usbdrd_dwc3_1 { 736 status = "okay"; 736 status = "okay"; 737 dr_mode = "host"; 737 dr_mode = "host"; 738 }; 738 }; 739 739 740 &vopb { 740 &vopb { 741 status = "okay"; 741 status = "okay"; 742 }; 742 }; 743 743 744 &vopb_mmu { 744 &vopb_mmu { 745 status = "okay"; 745 status = "okay"; 746 }; 746 }; 747 747 748 &vopl { 748 &vopl { 749 status = "okay"; 749 status = "okay"; 750 }; 750 }; 751 751 752 &vopl_mmu { 752 &vopl_mmu { 753 status = "okay"; 753 status = "okay"; 754 }; 754 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.