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