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