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