// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (c) 2021 Rockchip Electronics Co., Ltd. * */ #include "rk3566.dtsi" #include #include #include #include #include / { adc_keys: adc-keys { compatible = "adc-keys"; io-channels = <&saradc 0>; io-channel-names = "buttons"; keyup-threshold-microvolt = <1800000>; poll-interval = <100>; vol-up-key { label = "volume up"; linux,code = ; press-threshold-microvolt = <1750>; }; vol-down-key { label = "volume down"; linux,code = ; press-threshold-microvolt = <297500>; }; }; bt_sco: bt-sco { status = "disabled"; compatible = "delta,dfbmcs320"; #sound-dai-cells = <1>; }; bt_sound: bt-sound { status = "disabled"; compatible = "simple-audio-card"; simple-audio-card,format = "dsp_a"; simple-audio-card,bitclock-inversion; simple-audio-card,mclk-fs = <256>; simple-audio-card,name = "rockchip,bt"; simple-audio-card,cpu { sound-dai = <&i2s2_2ch>; }; simple-audio-card,codec { sound-dai = <&bt_sco 1>; }; }; dc_12v: dc-12v { compatible = "regulator-fixed"; regulator-name = "dc_12v"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; }; hdmi_sound: hdmi-sound { compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; simple-audio-card,mclk-fs = <256>; simple-audio-card,name = "hdmi-sound"; status = "okay"; simple-audio-card,cpu { sound-dai = <&i2s0_8ch>; }; simple-audio-card,codec { sound-dai = <&hdmi>; }; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; rknpu_reserved: rknpu { compatible = "shared-dma-pool"; inactive; reusable; size = <0x0 0x20000000>; alignment = <0x0 0x1000>; status = "disabled"; }; }; spdif-sound { status = "okay"; compatible = "simple-audio-card"; simple-audio-card,name = "ROCKCHIP,SPDIF"; simple-audio-card,mclk-fs = <128>; simple-audio-card,cpu { sound-dai = <&spdif_8ch>; }; simple-audio-card,codec { sound-dai = <&spdif_out>; }; }; spdif_out: spdif-out { status = "okay"; compatible = "linux,spdif-dit"; #sound-dai-cells = <0>; }; vcc3v3_sys: vcc3v3-sys { compatible = "regulator-fixed"; regulator-name = "vcc3v3_sys"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; vin-supply = <&dc_12v>; }; vcc5v0_sys: vcc5v0-sys { compatible = "regulator-fixed"; regulator-name = "vcc5v0_sys"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; vin-supply = <&dc_12v>; }; vcc_1v8: vcc_1v8 { compatible = "regulator-fixed"; regulator-name = "vcc_1v8"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; vin-supply = <&vcc5v0_sys>; }; vcc_3v3: vcc_3v3{ compatible = "regulator-fixed"; regulator-name = "vcc_3v3"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; vin-supply = <&vcc5v0_sys>; }; vdd_fixed: vdd-fixed { compatible = "regulator-fixed"; regulator-name = "vdd_fixed"; regulator-min-microvolt = <950000>; regulator-max-microvolt = <950000>; regulator-always-on; regulator-boot-on; vin-supply = <&vcc5v0_sys>; }; vdd_cpu: vdd-cpu { compatible = "pwm-regulator"; pwms = <&pwm0 0 5000 1>; regulator-name = "vdd_cpu"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1200000>; regulator-init-microvolt = <950000>; regulator-always-on; regulator-boot-on; regulator-settling-time-up-us = <250>; pwm-supply = <&vcc5v0_sys>; status = "okay"; }; vdd_logic: vdd-logic { compatible = "pwm-regulator"; pwms = <&pwm1 0 5000 1>; regulator-name = "vdd_logic"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1100000>; regulator-init-microvolt = <950000>; regulator-always-on; regulator-boot-on; regulator-settling-time-up-us = <250>; pwm-supply = <&vcc5v0_sys>; status = "okay"; }; }; &bus_npu { bus-supply = <&vdd_logic>; pvtm-supply = <&vdd_cpu>; status = "okay"; }; &cpu0 { cpu-supply = <&vdd_cpu>; }; &dfi { status = "okay"; }; &dmc { auto-freq-en = <0>; center-supply = <&vdd_fixed>; status = "okay"; }; &gpu { mali-supply = <&vdd_fixed>; status = "okay"; }; &gpu_opp_table { /delete-node/ opp-800000000; }; &hdmi { status = "okay"; rockchip,phy-table = <92812500 0x8009 0x0000 0x0270>, <165000000 0x800b 0x0000 0x026d>, <185625000 0x800b 0x0000 0x01ed>, <297000000 0x800b 0x0000 0x01ad>, <594000000 0x8029 0x0000 0x0088>, <000000000 0x0000 0x0000 0x0000>; }; &hdmi_in_vp0 { status = "okay"; }; &hdmi_in_vp1 { status = "disabled"; }; &i2s0_8ch { status = "okay"; }; &i2s1_8ch { status = "okay"; rockchip,trcm-sync-tx-only; pinctrl-names = "default"; pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>; }; &i2s2_2ch { pinctrl-0 = <&i2s2m0_sclktx &i2s2m0_lrcktx &i2s2m0_sdi &i2s2m0_sdo>; rockchip,bclk-fs = <32>; status = "disabled"; }; &iep { status = "okay"; }; &iep_mmu { status = "okay"; }; &jpegd { status = "okay"; }; &jpegd_mmu { status = "okay"; }; &video_phy0 { status = "okay"; }; &video_phy1 { status = "okay"; }; &mpp_srv { status = "okay"; }; &pwm0 { status = "okay"; pinctrl-names = "active"; }; &pwm1 { status = "okay"; pinctrl-names = "active"; }; &rk_rga { status = "okay"; }; &rknpu { memory-region = <&rknpu_reserved>; rknpu-supply = <&vdd_fixed>; status = "okay"; }; &rknpu_mmu { status = "disabled"; }; &rkvdec { status = "okay"; }; &rkvdec_mmu { status = "okay"; }; &rkvenc { status = "okay"; }; &rkvenc_mmu { status = "okay"; }; &rockchip_suspend { status = "okay"; rockchip,sleep-mode-config = < (0 | RKPM_SLP_CENTER_OFF | RKPM_SLP_HW_PLLS_OFF | RKPM_SLP_PMUALIVE_32K | RKPM_SLP_PMIC_LP | RKPM_SLP_32K_PVTM ) >; rockchip,wakeup-config = < (0 | RKPM_PWM0_WKUP_EN | RKPM_CPU0_WKUP_EN ) >; }; &route_hdmi { status = "okay"; connect = <&vp0_out_hdmi>; }; &saradc { status = "okay"; vref-supply = <&vcc_1v8>; }; &sdhci { bus-width = <8>; no-sdio; no-sd; non-removable; status = "okay"; }; &sfc { status = "okay"; flash@0 { compatible = "spi-nand"; reg = <0>; spi-max-frequency = <75000000>; spi-rx-bus-width = <4>; spi-tx-bus-width = <1>; }; }; &spdif_8ch { status = "okay"; }; &tsadc { status = "okay"; }; &u2phy0_host { status = "okay"; }; &u2phy0_otg { status = "okay"; }; &usb2phy0 { status = "okay"; }; &u2phy1_host { status = "disabled"; }; &u2phy1_otg { status = "disabled"; }; &usb2phy1 { status = "disabled"; }; &usb_host0_ehci { status = "disabled"; }; &usb_host0_ohci { status = "disabled"; }; &usb_host1_ehci { status = "disabled"; }; &usb_host1_ohci { status = "disabled"; }; &usbdrd_dwc3 { dr_mode = "otg"; phys = <&u2phy0_otg>; maximum-speed = "high-speed"; extcon = <&usb2phy0>; status = "okay"; }; &usbdrd30 { status = "okay"; }; &usbhost_dwc3 { status = "okay"; }; &usbhost30 { status = "okay"; }; &vdpu { status = "okay"; }; &vdpu_mmu { status = "okay"; }; &vepu { status = "okay"; }; &vepu_mmu { status = "okay"; }; &vop { status = "okay"; assigned-clocks = <&cru DCLK_VOP1>; assigned-clock-parents = <&cru PLL_VPLL>; vop-supply = <&vdd_logic>; }; &vop_mmu { status = "okay"; };