1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2020 Rockchip Electronics Co., Ltd. 4 * 5 */ 6 7#include "rk3568.dtsi" 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/pinctrl/rockchip.h> 10#include <dt-bindings/input/rk-input.h> 11#include <dt-bindings/display/drm_mipi_dsi.h> 12#include <dt-bindings/sensor-dev.h> 13 14/ { 15 adc_keys: adc-keys { 16 compatible = "adc-keys"; 17 io-channels = <&saradc 0>; 18 io-channel-names = "buttons"; 19 keyup-threshold-microvolt = <1800000>; 20 poll-interval = <100>; 21 22 vol-up-key { 23 label = "volume up"; 24 linux,code = <KEY_VOLUMEUP>; 25 press-threshold-microvolt = <1750>; 26 }; 27 28 vol-down-key { 29 label = "volume down"; 30 linux,code = <KEY_VOLUMEDOWN>; 31 press-threshold-microvolt = <297500>; 32 }; 33 }; 34 35 dc_12v: dc-12v { 36 compatible = "regulator-fixed"; 37 regulator-name = "dc_12v"; 38 regulator-always-on; 39 regulator-boot-on; 40 regulator-min-microvolt = <12000000>; 41 regulator-max-microvolt = <12000000>; 42 }; 43 44 hdmi_sound: hdmi-sound { 45 compatible = "simple-audio-card"; 46 simple-audio-card,format = "i2s"; 47 simple-audio-card,mclk-fs = <128>; 48 simple-audio-card,name = "hdmi-sound"; 49 status = "okay"; 50 51 simple-audio-card,cpu { 52 sound-dai = <&i2s0_8ch>; 53 }; 54 simple-audio-card,codec { 55 sound-dai = <&hdmi>; 56 }; 57 }; 58 59 reserved-memory { 60 #address-cells = <2>; 61 #size-cells = <2>; 62 ranges; 63 64 rknpu_reserved: rknpu { 65 compatible = "shared-dma-pool"; 66 inactive; 67 reusable; 68 size = <0x0 0x20000000>; 69 alignment = <0x0 0x1000>; 70 }; 71 }; 72 73 spdif-sound { 74 status = "okay"; 75 compatible = "simple-audio-card"; 76 simple-audio-card,name = "ROCKCHIP,SPDIF"; 77 simple-audio-card,mclk-fs = <128>; 78 simple-audio-card,cpu { 79 sound-dai = <&spdif_8ch>; 80 }; 81 simple-audio-card,codec { 82 sound-dai = <&spdif_out>; 83 }; 84 }; 85 86 spdif_out: spdif-out { 87 status = "okay"; 88 compatible = "linux,spdif-dit"; 89 #sound-dai-cells = <0>; 90 }; 91 92 vcc3v3_sys: vcc3v3-sys { 93 compatible = "regulator-fixed"; 94 regulator-name = "vcc3v3_sys"; 95 regulator-always-on; 96 regulator-boot-on; 97 regulator-min-microvolt = <3300000>; 98 regulator-max-microvolt = <3300000>; 99 vin-supply = <&dc_12v>; 100 }; 101 102 vcc5v0_sys: vcc5v0-sys { 103 compatible = "regulator-fixed"; 104 regulator-name = "vcc5v0_sys"; 105 regulator-always-on; 106 regulator-boot-on; 107 regulator-min-microvolt = <5000000>; 108 regulator-max-microvolt = <5000000>; 109 vin-supply = <&dc_12v>; 110 }; 111 112 vcc5v0_host: vcc5v0-host-regulator { 113 compatible = "regulator-fixed"; 114 enable-active-high; 115 gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 116 pinctrl-names = "default"; 117 pinctrl-0 = <&vcc5v0_host_en>; 118 regulator-name = "vcc5v0_host"; 119 regulator-always-on; 120 }; 121 122 vcc_1v8: vcc_1v8 { 123 compatible = "regulator-fixed"; 124 regulator-name = "vcc_1v8"; 125 regulator-always-on; 126 regulator-boot-on; 127 regulator-min-microvolt = <1800000>; 128 regulator-max-microvolt = <1800000>; 129 vin-supply = <&vcc5v0_sys>; 130 }; 131 132 vcc_3v3: vcc_3v3{ 133 compatible = "regulator-fixed"; 134 regulator-name = "vcc_3v3"; 135 regulator-always-on; 136 regulator-boot-on; 137 regulator-min-microvolt = <3300000>; 138 regulator-max-microvolt = <3300000>; 139 vin-supply = <&vcc5v0_sys>; 140 }; 141 142 vdd_fixed: vdd-fixed { 143 compatible = "regulator-fixed"; 144 regulator-name = "vdd_fixed"; 145 regulator-min-microvolt = <900000>; 146 regulator-max-microvolt = <900000>; 147 regulator-always-on; 148 regulator-boot-on; 149 vin-supply = <&vcc5v0_sys>; 150 }; 151 152 vdd_logic: vdd-logic { 153 compatible = "pwm-regulator"; 154 pwms = <&pwm1 0 5000 1>; 155 regulator-name = "vdd_logic"; 156 regulator-min-microvolt = <800000>; 157 regulator-max-microvolt = <1200000>; 158 regulator-init-microvolt = <900000>; 159 regulator-always-on; 160 regulator-boot-on; 161 regulator-settling-time-up-us = <250>; 162 pwm-supply = <&vcc5v0_sys>; 163 status = "okay"; 164 }; 165 166 vdd_npu: vdd-npu { 167 compatible = "pwm-regulator"; 168 pwms = <&pwm2 0 5000 1>; 169 regulator-name = "vdd_npu"; 170 regulator-min-microvolt = <800000>; 171 regulator-max-microvolt = <1200000>; 172 regulator-init-microvolt = <950000>; 173 regulator-always-on; 174 regulator-boot-on; 175 regulator-settling-time-up-us = <250>; 176 pwm-supply = <&vcc5v0_sys>; 177 status = "okay"; 178 }; 179}; 180 181&bus_npu { 182 bus-supply = <&vdd_logic>; 183 pvtm-supply = <&vdd_cpu>; 184 status = "okay"; 185}; 186 187&combphy0_us { 188 status = "okay"; 189}; 190 191&cpu0 { 192 cpu-supply = <&vdd_cpu>; 193}; 194 195&cpu0_opp_table { 196 /delete-node/ opp-1992000000; 197}; 198 199&CPU_SLEEP { 200 status = "disabled"; 201}; 202 203&dsi0_in_vp0 { 204 status = "disabled"; 205}; 206 207&dsi0_in_vp1 { 208 status = "okay"; 209}; 210 211&dsi1_in_vp0 { 212 status = "disabled"; 213}; 214 215&dsi1_in_vp1 { 216 status = "okay"; 217}; 218 219&edp { 220 hpd-gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>; 221 status = "okay"; 222}; 223 224&edp_in_vp0 { 225 status = "disabled"; 226}; 227 228&edp_in_vp1 { 229 status = "okay"; 230}; 231 232&edp_phy { 233 status = "okay"; 234}; 235 236&gpu { 237 mali-supply = <&vdd_fixed>; 238 status = "okay"; 239}; 240 241&gpu_opp_table { 242 /delete-node/ opp-800000000; 243}; 244 245&hdmi { 246 skip-check-420-mode; 247 status = "okay"; 248}; 249 250&hdmi_in_vp0 { 251 status = "okay"; 252}; 253 254&hdmi_in_vp1 { 255 status = "disabled"; 256}; 257 258&i2c0 { 259 status = "okay"; 260 261 vdd_cpu: tcs4525@1c { 262 compatible = "tcs,tcs4525"; 263 reg = <0x1c>; 264 vin-supply = <&vcc5v0_sys>; 265 regulator-compatible = "fan53555-reg"; 266 regulator-name = "vdd_cpu"; 267 regulator-min-microvolt = <712500>; 268 regulator-max-microvolt = <1390000>; 269 regulator-init-microvolt = <900000>; 270 regulator-ramp-delay = <2300>; 271 fcs,suspend-voltage-selector = <1>; 272 regulator-boot-on; 273 regulator-always-on; 274 regulator-state-mem { 275 regulator-off-in-suspend; 276 }; 277 }; 278}; 279 280&i2s0_8ch { 281 status = "okay"; 282}; 283 284&i2s1_8ch { 285 status = "okay"; 286 rockchip,clk-trcm = <1>; 287 pinctrl-names = "default"; 288 pinctrl-0 = <&i2s1m0_sclktx 289 &i2s1m0_lrcktx 290 &i2s1m0_sdi0 291 &i2s1m0_sdo0>; 292}; 293 294&iep { 295 status = "okay"; 296}; 297 298&iep_mmu { 299 status = "okay"; 300}; 301 302&jpegd { 303 status = "okay"; 304}; 305 306&jpegd_mmu { 307 status = "okay"; 308}; 309 310&video_phy0 { 311 status = "okay"; 312}; 313 314&video_phy1 { 315 status = "okay"; 316}; 317 318&mpp_srv { 319 status = "okay"; 320}; 321 322/* Need to be modified according to the actual hardware */ 323&pmu_io_domains { 324 status = "okay"; 325 pmuio2-supply = <&vcc_3v3>; 326 vccio1-supply = <&vcc_3v3>; 327 vccio3-supply = <&vcc_3v3>; 328 vccio4-supply = <&vcc_3v3>; 329 vccio5-supply = <&vcc_3v3>; 330 vccio6-supply = <&vcc_3v3>; 331 vccio7-supply = <&vcc_3v3>; 332}; 333 334&pwm1 { 335 status = "okay"; 336 pinctrl-names = "active"; 337}; 338 339&pwm2 { 340 status = "okay"; 341 pinctrl-names = "active"; 342}; 343 344&rk_rga { 345 status = "okay"; 346}; 347 348&rknpu { 349 memory-region = <&rknpu_reserved>; 350 rknpu-supply = <&vdd_npu>; 351 status = "okay"; 352}; 353 354&rknpu_mmu { 355 status = "disabled"; 356}; 357 358&rkvdec { 359 rockchip,disable-auto-freq; 360 assigned-clock-rates = <396000000>, <396000000>, <396000000>, <600000000>; 361 status = "okay"; 362}; 363 364&rkvdec_mmu { 365 status = "okay"; 366}; 367 368&rkvdec_sram { 369 reg = <0x0 0x10000>; 370}; 371 372&rkvenc { 373 status = "okay"; 374}; 375 376&rkvenc_mmu { 377 status = "okay"; 378}; 379 380&route_hdmi { 381 status = "okay"; 382 connect = <&vp0_out_hdmi>; 383}; 384 385&saradc { 386 status = "okay"; 387 vref-supply = <&vcc_1v8>; 388}; 389 390&sdhci { 391 bus-width = <8>; 392 no-sdio; 393 no-sd; 394 non-removable; 395 status = "okay"; 396}; 397 398&sfc { 399 status = "okay"; 400 401 flash@0 { 402 compatible = "spi-nand"; 403 reg = <0>; 404 spi-max-frequency = <75000000>; 405 spi-rx-bus-width = <4>; 406 spi-tx-bus-width = <1>; 407 }; 408}; 409 410&spdif_8ch { 411 status = "okay"; 412}; 413 414&sram { 415 reg = <0x0 0xfdcc0000 0x0 0x10000>; 416 ranges = <0x0 0x0 0xfdcc0000 0x10000>; 417}; 418 419&tsadc { 420 status = "okay"; 421}; 422 423&u2phy0_host { 424 phy-supply = <&vcc5v0_host>; 425 status = "okay"; 426}; 427 428&u2phy0_otg { 429 phy-supply = <&vcc5v0_host>; 430 status = "okay"; 431}; 432 433&u2phy1_host { 434 phy-supply = <&vcc5v0_host>; 435 status = "okay"; 436}; 437 438&u2phy1_otg { 439 phy-supply = <&vcc5v0_host>; 440 status = "okay"; 441}; 442 443&usb2phy0 { 444 status = "okay"; 445}; 446 447&usb2phy1 { 448 status = "okay"; 449}; 450 451&usb_host0_ehci { 452 status = "okay"; 453}; 454 455&usb_host0_ohci { 456 status = "okay"; 457}; 458 459&usb_host1_ehci { 460 status = "okay"; 461}; 462 463&usb_host1_ohci { 464 status = "okay"; 465}; 466 467&usbdrd_dwc3 { 468 dr_mode = "otg"; 469 extcon = <&usb2phy0>; 470 status = "okay"; 471}; 472 473&usbdrd30 { 474 status = "okay"; 475}; 476 477&usbhost_dwc3 { 478 phys = <&u2phy0_host>; 479 phy-names = "usb2-phy"; 480 maximum-speed = "high-speed"; 481 status = "okay"; 482}; 483 484&usbhost30 { 485 status = "okay"; 486}; 487 488&vdpu { 489 status = "okay"; 490}; 491 492&vdpu_mmu { 493 status = "okay"; 494}; 495 496&vepu { 497 status = "okay"; 498}; 499 500&vepu_mmu { 501 status = "okay"; 502}; 503 504&vop { 505 status = "okay"; 506 assigned-clocks = <&cru DCLK_VOP1>; 507 assigned-clock-parents = <&cru PLL_VPLL>; 508}; 509 510&vop_mmu { 511 status = "okay"; 512}; 513 514&pinctrl { 515 usb { 516 vcc5v0_host_en: vcc5v0-host-en { 517 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 518 }; 519 }; 520}; 521