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