1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 2 3 /dts-v1/; 3 /dts-v1/; 4 4 5 #include <dt-bindings/gpio/gpio.h> 5 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/pinctrl/rockchip.h> 6 #include <dt-bindings/pinctrl/rockchip.h> 7 #include <dt-bindings/soc/rockchip,vop2.h> << 8 #include "rk3566.dtsi" 7 #include "rk3566.dtsi" 9 8 10 / { 9 / { 11 model = "Pine64 Quartz64 Model B"; !! 10 model = "Pine64 RK3566 Quartz64-B Board"; 12 compatible = "pine64,quartz64-b", "roc 11 compatible = "pine64,quartz64-b", "rockchip,rk3566"; 13 12 14 aliases { 13 aliases { 15 ethernet0 = &gmac1; 14 ethernet0 = &gmac1; 16 mmc0 = &sdmmc0; 15 mmc0 = &sdmmc0; 17 mmc1 = &sdhci; 16 mmc1 = &sdhci; 18 mmc2 = &sdmmc1; 17 mmc2 = &sdmmc1; 19 }; 18 }; 20 19 21 chosen: chosen { 20 chosen: chosen { 22 stdout-path = "serial2:1500000 21 stdout-path = "serial2:1500000n8"; 23 }; 22 }; 24 23 25 gmac1_clkin: external-gmac1-clock { 24 gmac1_clkin: external-gmac1-clock { 26 compatible = "fixed-clock"; 25 compatible = "fixed-clock"; 27 clock-frequency = <125000000>; 26 clock-frequency = <125000000>; 28 clock-output-names = "gmac1_cl 27 clock-output-names = "gmac1_clkin"; 29 #clock-cells = <0>; 28 #clock-cells = <0>; 30 }; 29 }; 31 30 32 hdmi-con { << 33 compatible = "hdmi-connector"; << 34 type = "a"; << 35 << 36 port { << 37 hdmi_con_in: endpoint << 38 remote-endpoin << 39 }; << 40 }; << 41 }; << 42 << 43 leds { 31 leds { 44 compatible = "gpio-leds"; 32 compatible = "gpio-leds"; 45 33 46 led-user { 34 led-user { 47 label = "user-led"; 35 label = "user-led"; 48 default-state = "on"; 36 default-state = "on"; 49 gpios = <&gpio0 RK_PA0 37 gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 50 linux,default-trigger 38 linux,default-trigger = "heartbeat"; 51 pinctrl-names = "defau 39 pinctrl-names = "default"; 52 pinctrl-0 = <&user_led 40 pinctrl-0 = <&user_led_enable_h>; 53 retain-state-suspended 41 retain-state-suspended; 54 }; 42 }; 55 }; 43 }; 56 44 57 sound { << 58 compatible = "simple-audio-car << 59 simple-audio-card,format = "i2 << 60 simple-audio-card,name = "Anal << 61 simple-audio-card,mclk-fs = <2 << 62 << 63 simple-audio-card,cpu { << 64 sound-dai = <&i2s1_8ch << 65 }; << 66 << 67 simple-audio-card,codec { << 68 sound-dai = <&rk809>; << 69 }; << 70 }; << 71 << 72 sdio_pwrseq: sdio-pwrseq { 45 sdio_pwrseq: sdio-pwrseq { 73 status = "okay"; 46 status = "okay"; 74 compatible = "mmc-pwrseq-simpl 47 compatible = "mmc-pwrseq-simple"; 75 clocks = <&rk809 1>; 48 clocks = <&rk809 1>; 76 clock-names = "ext_clock"; 49 clock-names = "ext_clock"; 77 pinctrl-names = "default"; 50 pinctrl-names = "default"; 78 pinctrl-0 = <&wifi_enable_h>; 51 pinctrl-0 = <&wifi_enable_h>; 79 reset-gpios = <&gpio0 RK_PC0 G 52 reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>; 80 post-power-on-delay-ms = <100> 53 post-power-on-delay-ms = <100>; 81 power-off-delay-us = <5000000> 54 power-off-delay-us = <5000000>; 82 }; 55 }; 83 56 84 vcc3v3_pcie_p: vcc3v3-pcie-p-regulator << 85 compatible = "regulator-fixed" << 86 enable-active-high; << 87 gpio = <&gpio0 RK_PA6 GPIO_ACT << 88 pinctrl-names = "default"; << 89 pinctrl-0 = <&pcie_enable_h>; << 90 regulator-name = "vcc3v3_pcie_ << 91 regulator-min-microvolt = <330 << 92 regulator-max-microvolt = <330 << 93 vin-supply = <&vcc_3v3>; << 94 }; << 95 << 96 vcc5v0_in: vcc5v0-in-regulator { 57 vcc5v0_in: vcc5v0-in-regulator { 97 compatible = "regulator-fixed" 58 compatible = "regulator-fixed"; 98 regulator-name = "vcc5v0_in"; 59 regulator-name = "vcc5v0_in"; 99 regulator-always-on; 60 regulator-always-on; 100 regulator-boot-on; 61 regulator-boot-on; 101 regulator-min-microvolt = <500 62 regulator-min-microvolt = <5000000>; 102 regulator-max-microvolt = <500 63 regulator-max-microvolt = <5000000>; 103 }; 64 }; 104 65 105 vcc5v0_sys: vcc5v0-sys-regulator { 66 vcc5v0_sys: vcc5v0-sys-regulator { 106 compatible = "regulator-fixed" 67 compatible = "regulator-fixed"; 107 regulator-name = "vcc5v0_sys"; 68 regulator-name = "vcc5v0_sys"; 108 regulator-always-on; 69 regulator-always-on; 109 regulator-boot-on; 70 regulator-boot-on; 110 regulator-min-microvolt = <500 71 regulator-min-microvolt = <5000000>; 111 regulator-max-microvolt = <500 72 regulator-max-microvolt = <5000000>; 112 vin-supply = <&vcc5v0_in>; 73 vin-supply = <&vcc5v0_in>; 113 }; 74 }; 114 75 115 vcc3v3_sys: vcc3v3-sys-regulator { 76 vcc3v3_sys: vcc3v3-sys-regulator { 116 compatible = "regulator-fixed" 77 compatible = "regulator-fixed"; 117 regulator-name = "vcc3v3_sys"; 78 regulator-name = "vcc3v3_sys"; 118 regulator-min-microvolt = <330 79 regulator-min-microvolt = <3300000>; 119 regulator-max-microvolt = <330 80 regulator-max-microvolt = <3300000>; 120 regulator-always-on; 81 regulator-always-on; 121 vin-supply = <&vcc5v0_sys>; 82 vin-supply = <&vcc5v0_sys>; 122 }; 83 }; 123 84 124 vcc5v0_usb30_host: vcc5v0-usb30-host-r 85 vcc5v0_usb30_host: vcc5v0-usb30-host-regulator { 125 compatible = "regulator-fixed" 86 compatible = "regulator-fixed"; 126 regulator-name = "vcc5v0_usb30 87 regulator-name = "vcc5v0_usb30_host"; 127 enable-active-high; 88 enable-active-high; 128 gpio = <&gpio0 RK_PC5 GPIO_ACT 89 gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; 129 pinctrl-names = "default"; 90 pinctrl-names = "default"; 130 pinctrl-0 = <&vcc5v0_usb30_hos 91 pinctrl-0 = <&vcc5v0_usb30_host_en_h>; 131 regulator-always-on; 92 regulator-always-on; 132 regulator-min-microvolt = <500 93 regulator-min-microvolt = <5000000>; 133 regulator-max-microvolt = <500 94 regulator-max-microvolt = <5000000>; 134 vin-supply = <&vcc5v0_sys>; 95 vin-supply = <&vcc5v0_sys>; 135 }; 96 }; 136 97 137 vcc5v0_usb_otg: vcc5v0-usb-otg-regulat 98 vcc5v0_usb_otg: vcc5v0-usb-otg-regulator { 138 compatible = "regulator-fixed" 99 compatible = "regulator-fixed"; 139 regulator-name = "vcc5v0_usb_o 100 regulator-name = "vcc5v0_usb_otg"; 140 enable-active-high; 101 enable-active-high; 141 gpio = <&gpio0 RK_PC6 GPIO_ACT 102 gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; 142 pinctrl-names = "default"; 103 pinctrl-names = "default"; 143 pinctrl-0 = <&vcc5v0_usb_otg_e 104 pinctrl-0 = <&vcc5v0_usb_otg_en_h>; 144 regulator-always-on; 105 regulator-always-on; 145 regulator-min-microvolt = <500 106 regulator-min-microvolt = <5000000>; 146 regulator-max-microvolt = <500 107 regulator-max-microvolt = <5000000>; 147 vin-supply = <&vcc5v0_sys>; 108 vin-supply = <&vcc5v0_sys>; 148 }; 109 }; 149 }; 110 }; 150 111 151 &combphy1 { 112 &combphy1 { 152 status = "okay"; 113 status = "okay"; 153 }; 114 }; 154 115 155 &combphy2 { << 156 status = "okay"; << 157 }; << 158 << 159 &cpu0 { 116 &cpu0 { 160 cpu-supply = <&vdd_cpu>; 117 cpu-supply = <&vdd_cpu>; 161 }; 118 }; 162 119 163 &cpu1 { 120 &cpu1 { 164 cpu-supply = <&vdd_cpu>; 121 cpu-supply = <&vdd_cpu>; 165 }; 122 }; 166 123 167 &cpu2 { 124 &cpu2 { 168 cpu-supply = <&vdd_cpu>; 125 cpu-supply = <&vdd_cpu>; 169 }; 126 }; 170 127 171 &cpu3 { 128 &cpu3 { 172 cpu-supply = <&vdd_cpu>; 129 cpu-supply = <&vdd_cpu>; 173 }; 130 }; 174 131 175 &gmac1 { 132 &gmac1 { 176 assigned-clocks = <&cru SCLK_GMAC1_RX_ 133 assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>; 177 assigned-clock-parents = <&cru SCLK_GM 134 assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>; 178 clock_in_out = "input"; 135 clock_in_out = "input"; 179 phy-mode = "rgmii"; 136 phy-mode = "rgmii"; 180 phy-supply = <&vcc_3v3>; 137 phy-supply = <&vcc_3v3>; 181 pinctrl-names = "default"; 138 pinctrl-names = "default"; 182 pinctrl-0 = <&gmac1m1_miim 139 pinctrl-0 = <&gmac1m1_miim 183 &gmac1m1_tx_bus2 140 &gmac1m1_tx_bus2 184 &gmac1m1_rx_bus2 141 &gmac1m1_rx_bus2 185 &gmac1m1_rgmii_clk 142 &gmac1m1_rgmii_clk 186 &gmac1m1_clkinout 143 &gmac1m1_clkinout 187 &gmac1m1_rgmii_bus>; 144 &gmac1m1_rgmii_bus>; 188 snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ 145 snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; 189 snps,reset-active-low; 146 snps,reset-active-low; 190 /* Reset time is 20ms, 100ms for rtl82 147 /* Reset time is 20ms, 100ms for rtl8211f, also works well here */ 191 snps,reset-delays-us = <0 20000 100000 148 snps,reset-delays-us = <0 20000 100000>; 192 tx_delay = <0x4f>; 149 tx_delay = <0x4f>; 193 rx_delay = <0x24>; 150 rx_delay = <0x24>; 194 phy-handle = <&rgmii_phy1>; 151 phy-handle = <&rgmii_phy1>; 195 status = "okay"; 152 status = "okay"; 196 }; 153 }; 197 154 198 &gpu { << 199 mali-supply = <&vdd_gpu>; << 200 status = "okay"; << 201 }; << 202 << 203 &hdmi { << 204 avdd-0v9-supply = <&vdda0v9_image>; << 205 avdd-1v8-supply = <&vcca1v8_image>; << 206 status = "okay"; << 207 }; << 208 << 209 &hdmi_in { << 210 hdmi_in_vp0: endpoint { << 211 remote-endpoint = <&vp0_out_hd << 212 }; << 213 }; << 214 << 215 &hdmi_out { << 216 hdmi_out_con: endpoint { << 217 remote-endpoint = <&hdmi_con_i << 218 }; << 219 }; << 220 << 221 &hdmi_sound { << 222 status = "okay"; << 223 }; << 224 << 225 &i2c0 { 155 &i2c0 { 226 status = "okay"; 156 status = "okay"; 227 157 228 vdd_cpu: regulator@1c { 158 vdd_cpu: regulator@1c { 229 compatible = "tcs,tcs4525"; 159 compatible = "tcs,tcs4525"; 230 reg = <0x1c>; 160 reg = <0x1c>; 231 fcs,suspend-voltage-selector = 161 fcs,suspend-voltage-selector = <1>; 232 regulator-name = "vdd_cpu"; 162 regulator-name = "vdd_cpu"; 233 regulator-min-microvolt = <800 163 regulator-min-microvolt = <800000>; 234 regulator-max-microvolt = <115 164 regulator-max-microvolt = <1150000>; 235 regulator-ramp-delay = <2300>; 165 regulator-ramp-delay = <2300>; 236 regulator-always-on; 166 regulator-always-on; 237 regulator-boot-on; 167 regulator-boot-on; 238 vin-supply = <&vcc5v0_sys>; 168 vin-supply = <&vcc5v0_sys>; 239 169 240 regulator-state-mem { 170 regulator-state-mem { 241 regulator-off-in-suspe 171 regulator-off-in-suspend; 242 }; 172 }; 243 }; 173 }; 244 174 245 rk809: pmic@20 { 175 rk809: pmic@20 { 246 compatible = "rockchip,rk809"; 176 compatible = "rockchip,rk809"; 247 reg = <0x20>; 177 reg = <0x20>; 248 interrupt-parent = <&gpio0>; 178 interrupt-parent = <&gpio0>; 249 interrupts = <RK_PA3 IRQ_TYPE_ !! 179 interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 250 assigned-clocks = <&cru I2S1_M << 251 assigned-clock-parents = <&cru << 252 clock-names = "mclk"; << 253 clocks = <&cru I2S1_MCLKOUT_TX << 254 clock-output-names = "rk808-cl 180 clock-output-names = "rk808-clkout1", "rk808-clkout2"; 255 181 256 pinctrl-names = "default"; 182 pinctrl-names = "default"; 257 pinctrl-0 = <&pmic_int>, <&i2s !! 183 pinctrl-0 = <&pmic_int>; 258 rockchip,system-power-controll 184 rockchip,system-power-controller; 259 #sound-dai-cells = <0>; << 260 wakeup-source; 185 wakeup-source; 261 #clock-cells = <1>; 186 #clock-cells = <1>; 262 187 263 vcc1-supply = <&vcc3v3_sys>; 188 vcc1-supply = <&vcc3v3_sys>; 264 vcc2-supply = <&vcc3v3_sys>; 189 vcc2-supply = <&vcc3v3_sys>; 265 vcc3-supply = <&vcc3v3_sys>; 190 vcc3-supply = <&vcc3v3_sys>; 266 vcc4-supply = <&vcc3v3_sys>; 191 vcc4-supply = <&vcc3v3_sys>; 267 vcc5-supply = <&vcc3v3_sys>; 192 vcc5-supply = <&vcc3v3_sys>; 268 vcc6-supply = <&vcc3v3_sys>; 193 vcc6-supply = <&vcc3v3_sys>; 269 vcc7-supply = <&vcc3v3_sys>; 194 vcc7-supply = <&vcc3v3_sys>; 270 vcc8-supply = <&vcc3v3_sys>; 195 vcc8-supply = <&vcc3v3_sys>; 271 vcc9-supply = <&vcc3v3_sys>; 196 vcc9-supply = <&vcc3v3_sys>; 272 197 273 regulators { 198 regulators { 274 vdd_log: DCDC_REG1 { 199 vdd_log: DCDC_REG1 { 275 regulator-name 200 regulator-name = "vdd_log"; 276 regulator-alwa 201 regulator-always-on; 277 regulator-boot 202 regulator-boot-on; 278 regulator-min- 203 regulator-min-microvolt = <500000>; 279 regulator-max- 204 regulator-max-microvolt = <1350000>; >> 205 regulator-init-microvolt = <900000>; 280 regulator-ramp 206 regulator-ramp-delay = <6001>; 281 207 282 regulator-stat 208 regulator-state-mem { 283 regula 209 regulator-on-in-suspend; 284 regula 210 regulator-suspend-microvolt = <900000>; 285 }; 211 }; 286 }; 212 }; 287 213 288 vdd_gpu: DCDC_REG2 { 214 vdd_gpu: DCDC_REG2 { 289 regulator-name 215 regulator-name = "vdd_gpu"; 290 regulator-alwa 216 regulator-always-on; 291 regulator-boot 217 regulator-boot-on; 292 regulator-min- !! 218 regulator-min-microvolt = <900000>; 293 regulator-max- 219 regulator-max-microvolt = <1350000>; >> 220 regulator-init-microvolt = <900000>; 294 regulator-ramp 221 regulator-ramp-delay = <6001>; 295 222 296 regulator-stat 223 regulator-state-mem { 297 regula 224 regulator-off-in-suspend; 298 regula 225 regulator-suspend-microvolt = <900000>; 299 }; 226 }; 300 }; 227 }; 301 228 302 vcc_ddr: DCDC_REG3 { 229 vcc_ddr: DCDC_REG3 { 303 regulator-name 230 regulator-name = "vcc_ddr"; 304 regulator-alwa 231 regulator-always-on; 305 regulator-boot 232 regulator-boot-on; 306 regulator-init 233 regulator-initial-mode = <0x2>; 307 regulator-stat 234 regulator-state-mem { 308 regula 235 regulator-on-in-suspend; 309 }; 236 }; 310 }; 237 }; 311 238 312 vdd_npu: DCDC_REG4 { 239 vdd_npu: DCDC_REG4 { 313 regulator-name 240 regulator-name = "vdd_npu"; 314 regulator-min- 241 regulator-min-microvolt = <900000>; 315 regulator-max- 242 regulator-max-microvolt = <1350000>; 316 regulator-init 243 regulator-initial-mode = <0x2>; 317 regulator-stat 244 regulator-state-mem { 318 regula 245 regulator-off-in-suspend; 319 }; 246 }; 320 }; 247 }; 321 248 322 vcc_1v8: DCDC_REG5 { 249 vcc_1v8: DCDC_REG5 { 323 regulator-name 250 regulator-name = "vcc_1v8"; 324 regulator-alwa 251 regulator-always-on; 325 regulator-boot 252 regulator-boot-on; 326 regulator-min- 253 regulator-min-microvolt = <1800000>; 327 regulator-max- 254 regulator-max-microvolt = <1800000>; 328 255 329 regulator-stat 256 regulator-state-mem { 330 regula 257 regulator-on-in-suspend; 331 regula 258 regulator-suspend-microvolt = <1800000>; 332 }; 259 }; 333 }; 260 }; 334 261 335 vdda0v9_image: LDO_REG 262 vdda0v9_image: LDO_REG1 { 336 regulator-name 263 regulator-name = "vdda0v9_image"; 337 regulator-alwa 264 regulator-always-on; 338 regulator-boot 265 regulator-boot-on; 339 regulator-min- 266 regulator-min-microvolt = <900000>; 340 regulator-max- 267 regulator-max-microvolt = <900000>; 341 268 342 regulator-stat 269 regulator-state-mem { 343 regula 270 regulator-on-in-suspend; 344 regula 271 regulator-suspend-microvolt = <900000>; 345 }; 272 }; 346 }; 273 }; 347 274 348 vdda_0v9: LDO_REG2 { 275 vdda_0v9: LDO_REG2 { 349 regulator-name 276 regulator-name = "vdda_0v9"; 350 regulator-alwa 277 regulator-always-on; 351 regulator-boot 278 regulator-boot-on; 352 regulator-min- 279 regulator-min-microvolt = <900000>; 353 regulator-max- 280 regulator-max-microvolt = <900000>; 354 281 355 regulator-stat 282 regulator-state-mem { 356 regula 283 regulator-on-in-suspend; 357 regula 284 regulator-suspend-microvolt = <900000>; 358 }; 285 }; 359 }; 286 }; 360 287 361 vdda0v9_pmu: LDO_REG3 288 vdda0v9_pmu: LDO_REG3 { 362 regulator-name 289 regulator-name = "vdda0v9_pmu"; 363 regulator-alwa 290 regulator-always-on; 364 regulator-boot 291 regulator-boot-on; 365 regulator-min- 292 regulator-min-microvolt = <900000>; 366 regulator-max- 293 regulator-max-microvolt = <900000>; 367 regulator-stat 294 regulator-state-mem { 368 regula 295 regulator-on-in-suspend; 369 regula 296 regulator-suspend-microvolt = <900000>; 370 }; 297 }; 371 }; 298 }; 372 299 373 vccio_acodec: LDO_REG4 300 vccio_acodec: LDO_REG4 { 374 regulator-name 301 regulator-name = "vccio_acodec"; 375 regulator-alwa 302 regulator-always-on; 376 regulator-boot 303 regulator-boot-on; 377 regulator-min- 304 regulator-min-microvolt = <3300000>; 378 regulator-max- 305 regulator-max-microvolt = <3300000>; 379 306 380 regulator-stat 307 regulator-state-mem { 381 regula 308 regulator-on-in-suspend; 382 regula 309 regulator-suspend-microvolt = <3300000>; 383 310 384 }; 311 }; 385 }; 312 }; 386 313 387 vccio_sd: LDO_REG5 { 314 vccio_sd: LDO_REG5 { 388 regulator-name 315 regulator-name = "vccio_sd"; 389 regulator-alwa 316 regulator-always-on; 390 regulator-boot 317 regulator-boot-on; 391 regulator-min- 318 regulator-min-microvolt = <1800000>; 392 regulator-max- 319 regulator-max-microvolt = <3300000>; 393 320 394 regulator-stat 321 regulator-state-mem { 395 regula 322 regulator-on-in-suspend; 396 regula 323 regulator-suspend-microvolt = <3300000>; 397 }; 324 }; 398 }; 325 }; 399 326 400 vcc3v3_pmu: LDO_REG6 { 327 vcc3v3_pmu: LDO_REG6 { 401 regulator-name 328 regulator-name = "vcc3v3_pmu"; 402 regulator-alwa 329 regulator-always-on; 403 regulator-boot 330 regulator-boot-on; 404 regulator-min- 331 regulator-min-microvolt = <3300000>; 405 regulator-max- 332 regulator-max-microvolt = <3300000>; 406 333 407 regulator-stat 334 regulator-state-mem { 408 regula 335 regulator-on-in-suspend; 409 regula 336 regulator-suspend-microvolt = <3300000>; 410 }; 337 }; 411 }; 338 }; 412 339 413 vcca_1v8: LDO_REG7 { 340 vcca_1v8: LDO_REG7 { 414 regulator-name 341 regulator-name = "vcca_1v8"; 415 regulator-alwa 342 regulator-always-on; 416 regulator-boot 343 regulator-boot-on; 417 regulator-min- 344 regulator-min-microvolt = <1800000>; 418 regulator-max- 345 regulator-max-microvolt = <1800000>; 419 346 420 regulator-stat 347 regulator-state-mem { 421 regula 348 regulator-on-in-suspend; 422 regula 349 regulator-suspend-microvolt = <1800000>; 423 }; 350 }; 424 }; 351 }; 425 352 426 vcca1v8_pmu: LDO_REG8 353 vcca1v8_pmu: LDO_REG8 { 427 regulator-name 354 regulator-name = "vcca1v8_pmu"; 428 regulator-alwa 355 regulator-always-on; 429 regulator-boot 356 regulator-boot-on; 430 regulator-min- 357 regulator-min-microvolt = <1800000>; 431 regulator-max- 358 regulator-max-microvolt = <1800000>; 432 359 433 regulator-stat 360 regulator-state-mem { 434 regula 361 regulator-on-in-suspend; 435 regula 362 regulator-suspend-microvolt = <1800000>; 436 }; 363 }; 437 }; 364 }; 438 365 439 vcca1v8_image: LDO_REG 366 vcca1v8_image: LDO_REG9 { 440 regulator-name 367 regulator-name = "vcca1v8_image"; 441 regulator-alwa 368 regulator-always-on; 442 regulator-boot 369 regulator-boot-on; 443 regulator-min- 370 regulator-min-microvolt = <1800000>; 444 regulator-max- 371 regulator-max-microvolt = <1800000>; 445 372 446 regulator-stat 373 regulator-state-mem { 447 regula 374 regulator-on-in-suspend; 448 regula 375 regulator-suspend-microvolt = <1800000>; 449 }; 376 }; 450 }; 377 }; 451 378 452 vcc_3v3: SWITCH_REG1 { 379 vcc_3v3: SWITCH_REG1 { 453 regulator-boot 380 regulator-boot-on; 454 regulator-name 381 regulator-name = "vcc_3v3"; 455 }; 382 }; 456 383 457 vcc3v3_sd: SWITCH_REG2 384 vcc3v3_sd: SWITCH_REG2 { 458 regulator-name 385 regulator-name = "vcc3v3_sd"; 459 }; 386 }; 460 }; 387 }; 461 }; 388 }; 462 }; 389 }; 463 390 464 /* i2c2_m1 exposed on csi port, pulled up to v 391 /* i2c2_m1 exposed on csi port, pulled up to vcc_3v3 */ 465 &i2c2 { 392 &i2c2 { 466 pinctrl-names = "default"; 393 pinctrl-names = "default"; 467 pinctrl-0 = <&i2c2m1_xfer>; 394 pinctrl-0 = <&i2c2m1_xfer>; 468 status = "okay"; 395 status = "okay"; 469 }; 396 }; 470 397 471 /* i2c3_m1 exposed on dsi port, pulled up to v 398 /* i2c3_m1 exposed on dsi port, pulled up to vcc_3v3 */ 472 &i2c3 { 399 &i2c3 { 473 pinctrl-names = "default"; 400 pinctrl-names = "default"; 474 pinctrl-0 = <&i2c3m1_xfer>; 401 pinctrl-0 = <&i2c3m1_xfer>; 475 status = "okay"; 402 status = "okay"; 476 }; 403 }; 477 404 478 /* 405 /* 479 * i2c4_m0 is exposed on PI40, pulled up to vc 406 * i2c4_m0 is exposed on PI40, pulled up to vcc_3v3 480 * pin 27 - i2c4_sda_m0 407 * pin 27 - i2c4_sda_m0 481 * pin 28 - i2c4_scl_m0 408 * pin 28 - i2c4_scl_m0 482 */ 409 */ 483 &i2c4 { 410 &i2c4 { 484 status = "okay"; 411 status = "okay"; 485 }; 412 }; 486 413 487 /* 414 /* 488 * i2c5_m0 is exposed on PI40 415 * i2c5_m0 is exposed on PI40 489 * pin 29 - i2c5_scl_m0 416 * pin 29 - i2c5_scl_m0 490 * pin 31 - i2c5_sda_m0 417 * pin 31 - i2c5_sda_m0 491 */ 418 */ 492 &i2c5 { 419 &i2c5 { 493 status = "disabled"; 420 status = "disabled"; 494 }; 421 }; 495 422 496 &i2s0_8ch { << 497 status = "okay"; << 498 }; << 499 << 500 &i2s1_8ch { << 501 pinctrl-names = "default"; << 502 pinctrl-0 = <&i2s1m0_sclktx << 503 &i2s1m0_lrcktx << 504 &i2s1m0_sdi0 << 505 &i2s1m0_sdo0>; << 506 rockchip,trcm-sync-tx-only; << 507 status = "okay"; << 508 }; << 509 << 510 &mdio1 { 423 &mdio1 { 511 rgmii_phy1: ethernet-phy@1 { 424 rgmii_phy1: ethernet-phy@1 { 512 compatible = "ethernet-phy-iee 425 compatible = "ethernet-phy-ieee802.3-c22"; 513 reg = <0x1>; 426 reg = <0x1>; 514 }; 427 }; 515 }; 428 }; 516 429 517 &pcie2x1 { << 518 pinctrl-names = "default"; << 519 pinctrl-0 = <&pcie_reset_h>; << 520 reset-gpios = <&gpio1 RK_PB2 GPIO_ACTI << 521 vpcie3v3-supply = <&vcc3v3_pcie_p>; << 522 status = "okay"; << 523 }; << 524 << 525 &pinctrl { 430 &pinctrl { 526 bt { 431 bt { 527 bt_enable_h: bt-enable-h { 432 bt_enable_h: bt-enable-h { 528 rockchip,pins = <0 RK_ 433 rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 529 }; 434 }; 530 435 531 bt_host_wake_l: bt-host-wake-l 436 bt_host_wake_l: bt-host-wake-l { 532 rockchip,pins = <0 RK_ 437 rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_down>; 533 }; 438 }; 534 439 535 bt_wake_l: bt-wake-l { 440 bt_wake_l: bt-wake-l { 536 rockchip,pins = <0 RK_ 441 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 537 }; 442 }; 538 }; 443 }; 539 444 540 leds { 445 leds { 541 user_led_enable_h: user-led-en 446 user_led_enable_h: user-led-enable-h { 542 rockchip,pins = <0 RK_ 447 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 543 }; 448 }; 544 }; 449 }; 545 450 546 pcie { << 547 pcie_enable_h: pcie-enable-h { << 548 rockchip,pins = <0 RK_ << 549 }; << 550 << 551 pcie_reset_h: pcie-reset-h { << 552 rockchip,pins = <1 RK_ << 553 }; << 554 }; << 555 << 556 pmic { 451 pmic { 557 pmic_int: pmic_int { 452 pmic_int: pmic_int { 558 rockchip,pins = 453 rockchip,pins = 559 <0 RK_PA3 RK_F 454 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 560 }; 455 }; 561 }; 456 }; 562 457 563 sdio-pwrseq { 458 sdio-pwrseq { 564 wifi_enable_h: wifi-enable-h { 459 wifi_enable_h: wifi-enable-h { 565 rockchip,pins = <0 RK_ 460 rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 566 }; 461 }; 567 }; 462 }; 568 463 569 usb { 464 usb { 570 vcc5v0_usb30_host_en_h: vcc5v0 465 vcc5v0_usb30_host_en_h: vcc5v0-usb30-host-en_h { 571 rockchip,pins = <0 RK_ 466 rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 572 }; 467 }; 573 468 574 vcc5v0_usb_otg_en_h: vcc5v0-us 469 vcc5v0_usb_otg_en_h: vcc5v0-usb-otg-en_h { 575 rockchip,pins = <0 RK_ 470 rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 576 }; 471 }; 577 }; 472 }; 578 }; 473 }; 579 474 580 &pmu_io_domains { 475 &pmu_io_domains { 581 status = "okay"; 476 status = "okay"; 582 pmuio1-supply = <&vcc3v3_pmu>; 477 pmuio1-supply = <&vcc3v3_pmu>; 583 pmuio2-supply = <&vcca1v8_pmu>; 478 pmuio2-supply = <&vcca1v8_pmu>; 584 vccio1-supply = <&vccio_acodec>; 479 vccio1-supply = <&vccio_acodec>; 585 vccio2-supply = <&vcc_1v8>; 480 vccio2-supply = <&vcc_1v8>; 586 vccio3-supply = <&vccio_sd>; 481 vccio3-supply = <&vccio_sd>; 587 vccio4-supply = <&vcca1v8_pmu>; 482 vccio4-supply = <&vcca1v8_pmu>; 588 vccio5-supply = <&vcc_3v3>; 483 vccio5-supply = <&vcc_3v3>; 589 vccio6-supply = <&vcc_3v3>; 484 vccio6-supply = <&vcc_3v3>; 590 vccio7-supply = <&vcc_3v3>; 485 vccio7-supply = <&vcc_3v3>; 591 }; 486 }; 592 487 593 &saradc { 488 &saradc { 594 vref-supply = <&vcca_1v8>; 489 vref-supply = <&vcca_1v8>; 595 status = "okay"; 490 status = "okay"; 596 }; 491 }; 597 492 598 &sdhci { 493 &sdhci { 599 bus-width = <8>; 494 bus-width = <8>; 600 mmc-hs200-1_8v; 495 mmc-hs200-1_8v; 601 non-removable; 496 non-removable; 602 vmmc-supply = <&vcc_3v3>; 497 vmmc-supply = <&vcc_3v3>; 603 vqmmc-supply = <&vcc_1v8>; 498 vqmmc-supply = <&vcc_1v8>; 604 status = "okay"; 499 status = "okay"; 605 }; 500 }; 606 501 607 &sdmmc0 { 502 &sdmmc0 { 608 bus-width = <4>; 503 bus-width = <4>; 609 cap-sd-highspeed; 504 cap-sd-highspeed; 610 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_ 505 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 611 disable-wp; 506 disable-wp; 612 pinctrl-names = "default"; 507 pinctrl-names = "default"; 613 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk 508 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 614 sd-uhs-sdr50; 509 sd-uhs-sdr50; 615 vmmc-supply = <&vcc3v3_sd>; 510 vmmc-supply = <&vcc3v3_sd>; 616 vqmmc-supply = <&vccio_sd>; 511 vqmmc-supply = <&vccio_sd>; 617 status = "okay"; 512 status = "okay"; 618 }; 513 }; 619 514 620 &sdmmc1 { 515 &sdmmc1 { 621 bus-width = <4>; 516 bus-width = <4>; 622 cap-sd-highspeed; 517 cap-sd-highspeed; 623 cap-sdio-irq; 518 cap-sdio-irq; 624 keep-power-in-suspend; 519 keep-power-in-suspend; 625 mmc-pwrseq = <&sdio_pwrseq>; 520 mmc-pwrseq = <&sdio_pwrseq>; 626 non-removable; 521 non-removable; 627 pinctrl-names = "default"; 522 pinctrl-names = "default"; 628 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd 523 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>; 629 vmmc-supply = <&vcc3v3_sys>; 524 vmmc-supply = <&vcc3v3_sys>; 630 vqmmc-supply = <&vcca1v8_pmu>; 525 vqmmc-supply = <&vcca1v8_pmu>; 631 status = "okay"; 526 status = "okay"; 632 }; 527 }; 633 528 634 &sfc { 529 &sfc { 635 pinctrl-0 = <&fspi_pins>; 530 pinctrl-0 = <&fspi_pins>; 636 pinctrl-names = "default"; 531 pinctrl-names = "default"; 637 #address-cells = <1>; 532 #address-cells = <1>; 638 #size-cells = <0>; 533 #size-cells = <0>; 639 status = "okay"; 534 status = "okay"; 640 535 641 flash@0 { 536 flash@0 { 642 compatible = "jedec,spi-nor"; 537 compatible = "jedec,spi-nor"; 643 reg = <0>; 538 reg = <0>; 644 spi-max-frequency = <24000000> 539 spi-max-frequency = <24000000>; 645 spi-rx-bus-width = <4>; 540 spi-rx-bus-width = <4>; 646 spi-tx-bus-width = <1>; 541 spi-tx-bus-width = <1>; 647 }; 542 }; 648 }; 543 }; 649 544 650 &tsadc { 545 &tsadc { 651 rockchip,hw-tshut-mode = <1>; << 652 rockchip,hw-tshut-polarity = <0>; << 653 status = "okay"; 546 status = "okay"; 654 }; 547 }; 655 548 656 &uart1 { 549 &uart1 { 657 dma-names = "tx", "rx"; << 658 pinctrl-names = "default"; 550 pinctrl-names = "default"; 659 pinctrl-0 = <&uart1m0_xfer &uart1m0_ct 551 pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>; 660 status = "okay"; 552 status = "okay"; 661 uart-has-rtscts; 553 uart-has-rtscts; 662 554 663 bluetooth { 555 bluetooth { 664 compatible = "brcm,bcm4345c5"; 556 compatible = "brcm,bcm4345c5"; 665 clocks = <&rk809 1>; 557 clocks = <&rk809 1>; 666 clock-names = "lpo"; 558 clock-names = "lpo"; 667 device-wakeup-gpios = <&gpio0 559 device-wakeup-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; 668 host-wakeup-gpios = <&gpio0 RK 560 host-wakeup-gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 669 shutdown-gpios = <&gpio0 RK_PC 561 shutdown-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; 670 pinctrl-names = "default"; 562 pinctrl-names = "default"; 671 pinctrl-0 = <&bt_host_wake_l & 563 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 672 vbat-supply = <&vcc3v3_sys>; 564 vbat-supply = <&vcc3v3_sys>; 673 vddio-supply = <&vcca1v8_pmu>; 565 vddio-supply = <&vcca1v8_pmu>; 674 }; 566 }; 675 }; 567 }; 676 568 677 /* 569 /* 678 * uart2_m0 is exposed on PI40 570 * uart2_m0 is exposed on PI40 679 * pin 8 - uart2_tx_m0 571 * pin 8 - uart2_tx_m0 680 * pin 10 - uart2_rx_m0 572 * pin 10 - uart2_rx_m0 681 */ 573 */ 682 &uart2 { 574 &uart2 { 683 status = "okay"; 575 status = "okay"; 684 }; 576 }; 685 577 686 &usb2phy0_host { 578 &usb2phy0_host { 687 phy-supply = <&vcc5v0_usb30_host>; 579 phy-supply = <&vcc5v0_usb30_host>; 688 status = "okay"; 580 status = "okay"; 689 }; 581 }; 690 582 691 &usb2phy0_otg { 583 &usb2phy0_otg { 692 phy-supply = <&vcc5v0_usb_otg>; 584 phy-supply = <&vcc5v0_usb_otg>; 693 status = "okay"; 585 status = "okay"; 694 }; 586 }; 695 587 696 &usb2phy1_otg { 588 &usb2phy1_otg { 697 phy-supply = <&vcc5v0_usb30_host>; 589 phy-supply = <&vcc5v0_usb30_host>; 698 status = "okay"; 590 status = "okay"; 699 }; 591 }; 700 592 701 &usb2phy0 { 593 &usb2phy0 { 702 status = "okay"; 594 status = "okay"; 703 }; 595 }; 704 596 705 &usb2phy1 { 597 &usb2phy1 { 706 status = "okay"; 598 status = "okay"; 707 }; 599 }; 708 600 709 &usb_host0_xhci { 601 &usb_host0_xhci { 710 status = "okay"; 602 status = "okay"; 711 }; 603 }; 712 604 713 &usb_host1_xhci { 605 &usb_host1_xhci { 714 status = "okay"; 606 status = "okay"; 715 }; 607 }; 716 608 717 &usb_host0_ehci { 609 &usb_host0_ehci { 718 status = "okay"; 610 status = "okay"; 719 }; 611 }; 720 612 721 &usb_host0_ohci { 613 &usb_host0_ohci { 722 status = "okay"; 614 status = "okay"; 723 }; << 724 << 725 &vop { << 726 assigned-clocks = <&cru DCLK_VOP0>, <& << 727 assigned-clock-parents = <&pmucru PLL_ << 728 status = "okay"; << 729 }; << 730 << 731 &vop_mmu { << 732 status = "okay"; << 733 }; << 734 << 735 &vp0 { << 736 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_E << 737 reg = <ROCKCHIP_VOP2_EP_HDMI0> << 738 remote-endpoint = <&hdmi_in_vp << 739 }; << 740 }; 615 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.