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