185e5c210SXuhui Lin// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 285e5c210SXuhui Lin/* 385e5c210SXuhui Lin * Copyright (c) 2023 Rockchip Electronics Co., Ltd. 485e5c210SXuhui Lin */ 585e5c210SXuhui Lin 685e5c210SXuhui Lin#include <dt-bindings/clock/rockchip,rk3506-cru.h> 71546cf06SXuhui Lin#include <dt-bindings/gpio/gpio.h> 885e5c210SXuhui Lin#include <dt-bindings/interrupt-controller/irq.h> 985e5c210SXuhui Lin#include <dt-bindings/interrupt-controller/arm-gic.h> 1085e5c210SXuhui Lin#include <dt-bindings/pinctrl/rockchip.h> 111546cf06SXuhui Lin#include <dt-bindings/soc/rockchip,boot-mode.h> 1285e5c210SXuhui Lin 1385e5c210SXuhui Lin/ { 1485e5c210SXuhui Lin #address-cells = <1>; 1585e5c210SXuhui Lin #size-cells = <1>; 1685e5c210SXuhui Lin 1785e5c210SXuhui Lin compatible = "rockchip,rk3506"; 1885e5c210SXuhui Lin 1985e5c210SXuhui Lin interrupt-parent = <&gic>; 2085e5c210SXuhui Lin 2185e5c210SXuhui Lin aliases { 2285e5c210SXuhui Lin ethernet0 = &gmac0; 2385e5c210SXuhui Lin ethernet1 = &gmac1; 2485e5c210SXuhui Lin gpio0 = &gpio0; 2585e5c210SXuhui Lin gpio1 = &gpio1; 2685e5c210SXuhui Lin gpio2 = &gpio2; 2785e5c210SXuhui Lin gpio3 = &gpio3; 2885e5c210SXuhui Lin gpio4 = &gpio4; 2985e5c210SXuhui Lin i2c0 = &i2c0; 3085e5c210SXuhui Lin i2c1 = &i2c1; 3185e5c210SXuhui Lin i2c2 = &i2c2; 3285e5c210SXuhui Lin serial0 = &uart0; 3385e5c210SXuhui Lin serial1 = &uart1; 3485e5c210SXuhui Lin serial2 = &uart2; 3585e5c210SXuhui Lin serial3 = &uart3; 3685e5c210SXuhui Lin serial4 = &uart4; 3785e5c210SXuhui Lin serial5 = &uart5; 3885e5c210SXuhui Lin spi0 = &spi0; 3985e5c210SXuhui Lin spi1 = &spi1; 401546cf06SXuhui Lin spi2 = &fspi; 411546cf06SXuhui Lin spi3 = &flexbus_fspi; 4285e5c210SXuhui Lin }; 4385e5c210SXuhui Lin 4485e5c210SXuhui Lin clocks { 4585e5c210SXuhui Lin compatible = "simple-bus"; 461546cf06SXuhui Lin #address-cells = <1>; 471546cf06SXuhui Lin #size-cells = <1>; 481546cf06SXuhui Lin ranges; 4985e5c210SXuhui Lin 5085e5c210SXuhui Lin clk_rc: clk-rc { 5185e5c210SXuhui Lin compatible = "fixed-clock"; 5285e5c210SXuhui Lin #clock-cells = <0>; 5385e5c210SXuhui Lin clock-frequency = <400000>; 5485e5c210SXuhui Lin clock-output-names = "clk_rc"; 5585e5c210SXuhui Lin }; 5685e5c210SXuhui Lin 5785e5c210SXuhui Lin xin24m: xin24m { 5885e5c210SXuhui Lin compatible = "fixed-clock"; 5985e5c210SXuhui Lin #clock-cells = <0>; 6085e5c210SXuhui Lin clock-frequency = <24000000>; 6185e5c210SXuhui Lin clock-output-names = "xin24m"; 6285e5c210SXuhui Lin }; 6385e5c210SXuhui Lin 6485e5c210SXuhui Lin xin32k: xin32k { 6585e5c210SXuhui Lin compatible = "fixed-clock"; 6685e5c210SXuhui Lin #clock-cells = <0>; 6785e5c210SXuhui Lin clock-frequency = <32768>; 6885e5c210SXuhui Lin clock-output-names = "xin32k"; 6985e5c210SXuhui Lin }; 701546cf06SXuhui Lin 711546cf06SXuhui Lin mclkin_sai0: mclkin-sai0 { 721546cf06SXuhui Lin compatible = "fixed-clock"; 731546cf06SXuhui Lin #clock-cells = <0>; 741546cf06SXuhui Lin clock-frequency = <0>; 751546cf06SXuhui Lin clock-output-names = "sai0_mclk_in"; 761546cf06SXuhui Lin }; 771546cf06SXuhui Lin 781546cf06SXuhui Lin mclkin_sai1: mclkin-sai1 { 791546cf06SXuhui Lin compatible = "fixed-clock"; 801546cf06SXuhui Lin #clock-cells = <0>; 811546cf06SXuhui Lin clock-frequency = <0>; 821546cf06SXuhui Lin clock-output-names = "sai1_mclk_in"; 831546cf06SXuhui Lin }; 841546cf06SXuhui Lin 851546cf06SXuhui Lin mclkin_sai2: mclkin-sai2 { 861546cf06SXuhui Lin compatible = "fixed-clock"; 871546cf06SXuhui Lin #clock-cells = <0>; 881546cf06SXuhui Lin clock-frequency = <0>; 891546cf06SXuhui Lin clock-output-names = "sai2_mclk_in"; 901546cf06SXuhui Lin }; 911546cf06SXuhui Lin 921546cf06SXuhui Lin mclkin_sai3: mclkin-sai3 { 931546cf06SXuhui Lin compatible = "fixed-clock"; 941546cf06SXuhui Lin #clock-cells = <0>; 951546cf06SXuhui Lin clock-frequency = <0>; 961546cf06SXuhui Lin clock-output-names = "sai3_mclk_in"; 971546cf06SXuhui Lin }; 981546cf06SXuhui Lin 991546cf06SXuhui Lin mclkout_sai0: mclkout-sai0@ff910004 { 1001546cf06SXuhui Lin compatible = "rockchip,clk-out"; 1011546cf06SXuhui Lin reg = <0xff910004 0x4>; 1021546cf06SXuhui Lin clocks = <&cru MCLK_OUT_SAI0>; 1031546cf06SXuhui Lin #clock-cells = <0>; 1041546cf06SXuhui Lin clock-output-names = "mclk_sai0_to_io"; 1051546cf06SXuhui Lin rockchip,bit-shift = <8>; 1061546cf06SXuhui Lin }; 1071546cf06SXuhui Lin 1081546cf06SXuhui Lin mclkout_sai1: mclkout-sai1@ff910004 { 1091546cf06SXuhui Lin compatible = "rockchip,clk-out"; 1101546cf06SXuhui Lin reg = <0xff910004 0x4>; 1111546cf06SXuhui Lin clocks = <&cru MCLK_OUT_SAI1>; 1121546cf06SXuhui Lin #clock-cells = <0>; 1131546cf06SXuhui Lin clock-output-names = "mclk_sai1_to_io"; 1141546cf06SXuhui Lin rockchip,bit-shift = <9>; 1151546cf06SXuhui Lin }; 1161546cf06SXuhui Lin 1171546cf06SXuhui Lin mclkout_sai2: mclkout-sai2@ff288004 { 1181546cf06SXuhui Lin compatible = "rockchip,clk-out"; 1191546cf06SXuhui Lin reg = <0xff288004 0x4>; 1201546cf06SXuhui Lin clocks = <&cru MCLK_OUT_SAI2>; 1211546cf06SXuhui Lin #clock-cells = <0>; 1221546cf06SXuhui Lin clock-output-names = "mclk_sai2_to_io"; 1231546cf06SXuhui Lin rockchip,bit-shift = <2>; 1241546cf06SXuhui Lin }; 1251546cf06SXuhui Lin 1261546cf06SXuhui Lin mclkout_sai3: mclkout-sai3@ff288004 { 1271546cf06SXuhui Lin compatible = "rockchip,clk-out"; 1281546cf06SXuhui Lin reg = <0xff288004 0x4>; 1291546cf06SXuhui Lin clocks = <&cru MCLK_OUT_SAI3>; 1301546cf06SXuhui Lin #clock-cells = <0>; 1311546cf06SXuhui Lin clock-output-names = "mclk_sai3_to_io"; 1321546cf06SXuhui Lin rockchip,bit-shift = <3>; 1331546cf06SXuhui Lin }; 1341546cf06SXuhui Lin 1351546cf06SXuhui Lin pvtpll_core: pvtpll-core@ff840000 { 1361546cf06SXuhui Lin compatible = "rockchip,rk3506-core-pvtpll", "syscon"; 1371546cf06SXuhui Lin reg = <0xff840000 0x100>; 1381546cf06SXuhui Lin #clock-cells = <0>; 1391546cf06SXuhui Lin clock-output-names = "clk_core_pvtpll"; 1401546cf06SXuhui Lin assigned-clocks = <&pvtpll_core>; 1411546cf06SXuhui Lin assigned-clock-rates = <1200000000>; 1421546cf06SXuhui Lin }; 14385e5c210SXuhui Lin }; 14485e5c210SXuhui Lin 14585e5c210SXuhui Lin cpus { 14685e5c210SXuhui Lin #address-cells = <1>; 14785e5c210SXuhui Lin #size-cells = <0>; 14885e5c210SXuhui Lin 14985e5c210SXuhui Lin cpu0: cpu@f00 { 15085e5c210SXuhui Lin device_type = "cpu"; 15185e5c210SXuhui Lin compatible = "arm,cortex-a7"; 15285e5c210SXuhui Lin reg = <0xf00>; 15385e5c210SXuhui Lin enable-method = "psci"; 1541546cf06SXuhui Lin clocks = <&cru ARMCLK>; 1551546cf06SXuhui Lin operating-points-v2 = <&cpu0_opp_table>; 15685e5c210SXuhui Lin }; 15785e5c210SXuhui Lin 15885e5c210SXuhui Lin cpu1: cpu@f01 { 15985e5c210SXuhui Lin device_type = "cpu"; 16085e5c210SXuhui Lin compatible = "arm,cortex-a7"; 16185e5c210SXuhui Lin reg = <0xf01>; 16285e5c210SXuhui Lin enable-method = "psci"; 1631546cf06SXuhui Lin clocks = <&cru ARMCLK>; 1641546cf06SXuhui Lin operating-points-v2 = <&cpu0_opp_table>; 16585e5c210SXuhui Lin }; 16685e5c210SXuhui Lin 16785e5c210SXuhui Lin cpu2: cpu@f02 { 16885e5c210SXuhui Lin device_type = "cpu"; 16985e5c210SXuhui Lin compatible = "arm,cortex-a7"; 17085e5c210SXuhui Lin reg = <0xf02>; 17185e5c210SXuhui Lin enable-method = "psci"; 1721546cf06SXuhui Lin clocks = <&cru ARMCLK>; 1731546cf06SXuhui Lin operating-points-v2 = <&cpu0_opp_table>; 17485e5c210SXuhui Lin }; 17585e5c210SXuhui Lin }; 17685e5c210SXuhui Lin 1771546cf06SXuhui Lin cpu0_opp_table: cpu0-opp-table { 1781546cf06SXuhui Lin compatible = "operating-points-v2"; 1791546cf06SXuhui Lin opp-shared; 1801546cf06SXuhui Lin 1811546cf06SXuhui Lin nvmem-cells = <&cpu_leakage>; 1821546cf06SXuhui Lin nvmem-cell-names = "leakage"; 1831546cf06SXuhui Lin 1841546cf06SXuhui Lin rockchip,pvtm-voltage-sel = < 1851546cf06SXuhui Lin 0 1584 0 1861546cf06SXuhui Lin 1585 1619 1 1871546cf06SXuhui Lin 1620 1654 2 1881546cf06SXuhui Lin 1655 1689 3 1891546cf06SXuhui Lin 1690 1724 4 1901546cf06SXuhui Lin 1725 1759 5 1911546cf06SXuhui Lin 1760 1794 6 1921546cf06SXuhui Lin 1795 9999 7 1931546cf06SXuhui Lin >; 1941546cf06SXuhui Lin rockchip,pvtm-pvtpll; 1951546cf06SXuhui Lin rockchip,pvtm-offset = <0x18>; 1961546cf06SXuhui Lin rockchip,pvtm-sample-time = <500>; 1971546cf06SXuhui Lin rockchip,pvtm-freq = <1608000>; 1981546cf06SXuhui Lin rockchip,pvtm-volt = <1000000>; 1991546cf06SXuhui Lin rockchip,pvtm-ref-temp = <40>; 2001546cf06SXuhui Lin rockchip,pvtm-temp-prop = <0 0>; 2011546cf06SXuhui Lin rockchip,pvtm-thermal-zone = "soc-thermal"; 2021546cf06SXuhui Lin rockchip,grf = <&pvtpll_core>; 2031546cf06SXuhui Lin rockchip,temp-hysteresis = <5000>; 2041546cf06SXuhui Lin rockchip,low-temp = <10000>; 2051546cf06SXuhui Lin rockchip,low-temp-min-volt = <900000>; 2061546cf06SXuhui Lin 2071546cf06SXuhui Lin opp-600000000 { 2081546cf06SXuhui Lin opp-hz = /bits/ 64 <600000000>; 2091546cf06SXuhui Lin opp-microvolt = <850000 850000 1000000>; 2101546cf06SXuhui Lin clock-latency-ns = <40000>; 2111546cf06SXuhui Lin opp-suspend; 2121546cf06SXuhui Lin }; 2131546cf06SXuhui Lin opp-800000000 { 2141546cf06SXuhui Lin opp-hz = /bits/ 64 <800000000>; 2151546cf06SXuhui Lin opp-microvolt = <850000 850000 1000000>; 2161546cf06SXuhui Lin clock-latency-ns = <40000>; 2171546cf06SXuhui Lin }; 2181546cf06SXuhui Lin opp-1008000000 { 2191546cf06SXuhui Lin opp-hz = /bits/ 64 <1008000000>; 2201546cf06SXuhui Lin opp-microvolt = <850000 850000 1000000>; 2211546cf06SXuhui Lin opp-microvolt-L0 = <875000 875000 1000000>; 2221546cf06SXuhui Lin clock-latency-ns = <40000>; 2231546cf06SXuhui Lin }; 2241546cf06SXuhui Lin opp-1200000000 { 2251546cf06SXuhui Lin opp-hz = /bits/ 64 <1200000000>; 2261546cf06SXuhui Lin opp-microvolt = <850000 850000 1000000>; 2271546cf06SXuhui Lin opp-microvolt-L0 = <875000 875000 1000000>; 2281546cf06SXuhui Lin clock-latency-ns = <40000>; 2291546cf06SXuhui Lin }; 2301546cf06SXuhui Lin opp-1296000000 { 2311546cf06SXuhui Lin opp-hz = /bits/ 64 <1296000000>; 2321546cf06SXuhui Lin opp-microvolt = <900000 900000 1000000>; 2331546cf06SXuhui Lin opp-microvolt-L0 = <900000 900000 1000000>; 2341546cf06SXuhui Lin opp-microvolt-L1 = <887500 887500 1000000>; 2351546cf06SXuhui Lin opp-microvolt-L2 = <875000 875000 1000000>; 2361546cf06SXuhui Lin opp-microvolt-L3 = <862500 862500 1000000>; 2371546cf06SXuhui Lin opp-microvolt-L4 = <850000 850000 1000000>; 2381546cf06SXuhui Lin opp-microvolt-L5 = <850000 850000 1000000>; 2391546cf06SXuhui Lin opp-microvolt-L6 = <850000 850000 1000000>; 2401546cf06SXuhui Lin opp-microvolt-L7 = <850000 850000 1000000>; 2411546cf06SXuhui Lin clock-latency-ns = <40000>; 2421546cf06SXuhui Lin }; 2431546cf06SXuhui Lin opp-1416000000 { 2441546cf06SXuhui Lin opp-hz = /bits/ 64 <1416000000>; 2451546cf06SXuhui Lin opp-microvolt = <937500 937500 1000000>; 2461546cf06SXuhui Lin opp-microvolt-L0 = <937500 937500 1000000>; 2471546cf06SXuhui Lin opp-microvolt-L1 = <925000 925000 1000000>; 2481546cf06SXuhui Lin opp-microvolt-L2 = <912500 912500 1000000>; 2491546cf06SXuhui Lin opp-microvolt-L3 = <900000 900000 1000000>; 2501546cf06SXuhui Lin opp-microvolt-L4 = <887500 887500 1000000>; 2511546cf06SXuhui Lin opp-microvolt-L5 = <875000 875000 1000000>; 2521546cf06SXuhui Lin opp-microvolt-L6 = <862500 862500 1000000>; 2531546cf06SXuhui Lin opp-microvolt-L7 = <850000 850000 1000000>; 2541546cf06SXuhui Lin clock-latency-ns = <40000>; 2551546cf06SXuhui Lin }; 2561546cf06SXuhui Lin opp-1512000000 { 2571546cf06SXuhui Lin opp-hz = /bits/ 64 <1512000000>; 2581546cf06SXuhui Lin opp-microvolt = <975000 975000 1000000>; 2591546cf06SXuhui Lin opp-microvolt-L0 = <975000 975000 1000000>; 2601546cf06SXuhui Lin opp-microvolt-L1 = <962500 962500 1000000>; 2611546cf06SXuhui Lin opp-microvolt-L2 = <950000 950000 1000000>; 2621546cf06SXuhui Lin opp-microvolt-L3 = <937500 937500 1000000>; 2631546cf06SXuhui Lin opp-microvolt-L4 = <925000 925000 1000000>; 2641546cf06SXuhui Lin opp-microvolt-L5 = <912500 912000 1000000>; 2651546cf06SXuhui Lin opp-microvolt-L6 = <900000 900000 1000000>; 2661546cf06SXuhui Lin opp-microvolt-L7 = <887500 887500 1000000>; 2671546cf06SXuhui Lin clock-latency-ns = <40000>; 2681546cf06SXuhui Lin }; 2691546cf06SXuhui Lin }; 2701546cf06SXuhui Lin 2711546cf06SXuhui Lin arm_pmu: arm-pmu { 27285e5c210SXuhui Lin compatible = "arm,cortex-a7-pmu"; 27385e5c210SXuhui Lin interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 27485e5c210SXuhui Lin <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 27585e5c210SXuhui Lin <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 27685e5c210SXuhui Lin interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>; 27785e5c210SXuhui Lin }; 27885e5c210SXuhui Lin 2791546cf06SXuhui Lin cpuinfo { 2801546cf06SXuhui Lin compatible = "rockchip,cpuinfo"; 2811546cf06SXuhui Lin nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>; 2821546cf06SXuhui Lin nvmem-cell-names = "id", "cpu-version", "cpu-code"; 2831546cf06SXuhui Lin }; 2841546cf06SXuhui Lin 28585e5c210SXuhui Lin display_subsystem: display-subsystem { 28685e5c210SXuhui Lin compatible = "rockchip,display-subsystem"; 28785e5c210SXuhui Lin ports = <&vop_out>; 28885e5c210SXuhui Lin status = "disabled"; 2891546cf06SXuhui Lin 2901546cf06SXuhui Lin route { 2911546cf06SXuhui Lin route_dsi: route-dsi { 2921546cf06SXuhui Lin status = "disabled"; 2931546cf06SXuhui Lin logo,uboot = "logo.bmp"; 2941546cf06SXuhui Lin logo,kernel = "logo_kernel.bmp"; 2951546cf06SXuhui Lin logo,mode = "center"; 2961546cf06SXuhui Lin charge_logo,mode = "center"; 2971546cf06SXuhui Lin connect = <&vop_out_dsi>; 2981546cf06SXuhui Lin }; 2991546cf06SXuhui Lin 3001546cf06SXuhui Lin route_rgb: route-rgb { 3011546cf06SXuhui Lin status = "disabled"; 3021546cf06SXuhui Lin logo,uboot = "logo.bmp"; 3031546cf06SXuhui Lin logo,kernel = "logo_kernel.bmp"; 3041546cf06SXuhui Lin logo,mode = "center"; 3051546cf06SXuhui Lin charge_logo,mode = "center"; 3061546cf06SXuhui Lin connect = <&vop_out_rgb>; 3071546cf06SXuhui Lin }; 3081546cf06SXuhui Lin }; 30985e5c210SXuhui Lin }; 31085e5c210SXuhui Lin 31185e5c210SXuhui Lin psci: psci { 31285e5c210SXuhui Lin compatible = "arm,psci-1.0"; 31385e5c210SXuhui Lin method = "smc"; 31485e5c210SXuhui Lin }; 31585e5c210SXuhui Lin 3161546cf06SXuhui Lin rockchip_system_monitor: rockchip-system-monitor { 3171546cf06SXuhui Lin compatible = "rockchip,system-monitor"; 3181546cf06SXuhui Lin 3191546cf06SXuhui Lin rockchip,thermal-zone = "soc-thermal"; 3201546cf06SXuhui Lin }; 3211546cf06SXuhui Lin 32285e5c210SXuhui Lin thermal_zones: thermal-zones { 32385e5c210SXuhui Lin soc_thermal: soc-thermal { 32485e5c210SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 32585e5c210SXuhui Lin polling-delay = <1000>; /* milliseconds */ 32685e5c210SXuhui Lin thermal-sensors = <&tsadc 0>; 32785e5c210SXuhui Lin trips { 32885e5c210SXuhui Lin soc_crit: soc-crit { 32985e5c210SXuhui Lin /* millicelsius */ 33085e5c210SXuhui Lin temperature = <115000>; 33185e5c210SXuhui Lin /* millicelsius */ 33285e5c210SXuhui Lin hysteresis = <2000>; 33385e5c210SXuhui Lin type = "critical"; 33485e5c210SXuhui Lin }; 33585e5c210SXuhui Lin }; 33685e5c210SXuhui Lin }; 33785e5c210SXuhui Lin }; 33885e5c210SXuhui Lin 33985e5c210SXuhui Lin timer { 34085e5c210SXuhui Lin compatible = "arm,armv7-timer"; 34185e5c210SXuhui Lin interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>, 34285e5c210SXuhui Lin <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>, 34385e5c210SXuhui Lin <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>, 34485e5c210SXuhui Lin <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>; 34585e5c210SXuhui Lin clock-frequency = <24000000>; 34685e5c210SXuhui Lin }; 34785e5c210SXuhui Lin 34885e5c210SXuhui Lin dmac0: dma-controller@ff000000 { 34985e5c210SXuhui Lin compatible = "arm,pl330", "arm,primecell"; 35085e5c210SXuhui Lin reg = <0xff000000 0x4000>; 35185e5c210SXuhui Lin interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 35285e5c210SXuhui Lin <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 35385e5c210SXuhui Lin clocks = <&cru ACLK_DMAC0>; 35485e5c210SXuhui Lin clock-names = "apb_pclk"; 3551546cf06SXuhui Lin #dma-cells = <5>; 35685e5c210SXuhui Lin arm,pl330-periph-burst; 35785e5c210SXuhui Lin }; 35885e5c210SXuhui Lin 35985e5c210SXuhui Lin dmac1: dma-controller@ff008000 { 36085e5c210SXuhui Lin compatible = "arm,pl330", "arm,primecell"; 36185e5c210SXuhui Lin reg = <0xff008000 0x4000>; 36285e5c210SXuhui Lin interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 36385e5c210SXuhui Lin <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 36485e5c210SXuhui Lin clocks = <&cru ACLK_DMAC1>; 36585e5c210SXuhui Lin clock-names = "apb_pclk"; 3661546cf06SXuhui Lin #dma-cells = <5>; 36785e5c210SXuhui Lin arm,pl330-periph-burst; 36885e5c210SXuhui Lin }; 36985e5c210SXuhui Lin 37085e5c210SXuhui Lin i2c0: i2c@ff040000 { 37185e5c210SXuhui Lin compatible = "rockchip,rk3506-i2c", "rockchip,rk3399-i2c"; 37285e5c210SXuhui Lin reg = <0xff040000 0x1000>; 37385e5c210SXuhui Lin interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 37485e5c210SXuhui Lin #address-cells = <1>; 37585e5c210SXuhui Lin #size-cells = <0>; 37685e5c210SXuhui Lin clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 37785e5c210SXuhui Lin clock-names = "i2c", "pclk"; 37885e5c210SXuhui Lin status = "disabled"; 37985e5c210SXuhui Lin }; 38085e5c210SXuhui Lin 38185e5c210SXuhui Lin i2c1: i2c@ff050000 { 38285e5c210SXuhui Lin compatible = "rockchip,rk3506-i2c", "rockchip,rk3399-i2c"; 38385e5c210SXuhui Lin reg = <0xff050000 0x1000>; 38485e5c210SXuhui Lin interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 38585e5c210SXuhui Lin #address-cells = <1>; 38685e5c210SXuhui Lin #size-cells = <0>; 38785e5c210SXuhui Lin clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 38885e5c210SXuhui Lin clock-names = "i2c", "pclk"; 38985e5c210SXuhui Lin status = "disabled"; 39085e5c210SXuhui Lin }; 39185e5c210SXuhui Lin 39285e5c210SXuhui Lin i2c2: i2c@ff060000 { 39385e5c210SXuhui Lin compatible = "rockchip,rk3506-i2c", "rockchip,rk3399-i2c"; 39485e5c210SXuhui Lin reg = <0xff060000 0x1000>; 39585e5c210SXuhui Lin interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 39685e5c210SXuhui Lin #address-cells = <1>; 39785e5c210SXuhui Lin #size-cells = <0>; 39885e5c210SXuhui Lin clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 39985e5c210SXuhui Lin clock-names = "i2c", "pclk"; 40085e5c210SXuhui Lin status = "disabled"; 40185e5c210SXuhui Lin }; 40285e5c210SXuhui Lin 40385e5c210SXuhui Lin uart0: serial@ff0a0000 { 40485e5c210SXuhui Lin compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart"; 40585e5c210SXuhui Lin reg = <0xff0a0000 0x100>; 40685e5c210SXuhui Lin interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 40785e5c210SXuhui Lin reg-shift = <2>; 40885e5c210SXuhui Lin reg-io-width = <4>; 4091546cf06SXuhui Lin dmas = <&dmac0 4 0xff2880a8 0x03000100 0x0 0x0>, 4101546cf06SXuhui Lin <&dmac0 5 0xff2880a8 0x0c000400 0x0 0x0>; 41185e5c210SXuhui Lin clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 41285e5c210SXuhui Lin clock-names = "baudclk", "apb_pclk"; 41385e5c210SXuhui Lin pinctrl-names = "default"; 41485e5c210SXuhui Lin pinctrl-0 = <&uart0_xfer_pins>; 41585e5c210SXuhui Lin status = "disabled"; 41685e5c210SXuhui Lin }; 41785e5c210SXuhui Lin 41885e5c210SXuhui Lin uart1: serial@ff0b0000 { 41985e5c210SXuhui Lin compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart"; 42085e5c210SXuhui Lin reg = <0xff0b0000 0x100>; 42185e5c210SXuhui Lin interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 42285e5c210SXuhui Lin reg-shift = <2>; 42385e5c210SXuhui Lin reg-io-width = <4>; 4241546cf06SXuhui Lin dmas = <&dmac0 6 0xff2880a8 0x30001000 0x0 0x0>, 4251546cf06SXuhui Lin <&dmac0 7 0xff2880a8 0xc0004000 0x0 0x0>; 42685e5c210SXuhui Lin clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 42785e5c210SXuhui Lin clock-names = "baudclk", "apb_pclk"; 42885e5c210SXuhui Lin status = "disabled"; 42985e5c210SXuhui Lin }; 43085e5c210SXuhui Lin 43185e5c210SXuhui Lin uart2: serial@ff0c0000 { 43285e5c210SXuhui Lin compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart"; 43385e5c210SXuhui Lin reg = <0xff0c0000 0x100>; 43485e5c210SXuhui Lin interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 43585e5c210SXuhui Lin reg-shift = <2>; 43685e5c210SXuhui Lin reg-io-width = <4>; 4371546cf06SXuhui Lin dmas = <&dmac0 8 0xff2880ac 0x00030001 0x0 0x0>, 4381546cf06SXuhui Lin <&dmac0 9 0xff2880ac 0x000c0004 0x0 0x0>; 43985e5c210SXuhui Lin clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 44085e5c210SXuhui Lin clock-names = "baudclk", "apb_pclk"; 44185e5c210SXuhui Lin status = "disabled"; 44285e5c210SXuhui Lin }; 44385e5c210SXuhui Lin 44485e5c210SXuhui Lin uart3: serial@ff0d0000 { 44585e5c210SXuhui Lin compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart"; 44685e5c210SXuhui Lin reg = <0xff0d0000 0x100>; 44785e5c210SXuhui Lin interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 44885e5c210SXuhui Lin reg-shift = <2>; 44985e5c210SXuhui Lin reg-io-width = <4>; 4501546cf06SXuhui Lin dmas = <&dmac0 10 0xff2880ac 0x00300010 0x0 0x0>, 4511546cf06SXuhui Lin <&dmac0 11 0xff2880ac 0x00c00040 0x0 0x0>; 45285e5c210SXuhui Lin clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 45385e5c210SXuhui Lin clock-names = "baudclk", "apb_pclk"; 45485e5c210SXuhui Lin status = "disabled"; 45585e5c210SXuhui Lin }; 45685e5c210SXuhui Lin 45785e5c210SXuhui Lin uart4: serial@ff0e0000 { 45885e5c210SXuhui Lin compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart"; 45985e5c210SXuhui Lin reg = <0xff0e0000 0x100>; 46085e5c210SXuhui Lin interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 46185e5c210SXuhui Lin reg-shift = <2>; 46285e5c210SXuhui Lin reg-io-width = <4>; 4631546cf06SXuhui Lin dmas = <&dmac1 12 0x0 0x0 0x0 0x0>, <&dmac1 13 0x0 0x0 0x0 0x0>; 46485e5c210SXuhui Lin clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 46585e5c210SXuhui Lin clock-names = "baudclk", "apb_pclk"; 46685e5c210SXuhui Lin status = "disabled"; 46785e5c210SXuhui Lin }; 46885e5c210SXuhui Lin 46985e5c210SXuhui Lin spi0: spi@ff120000 { 47085e5c210SXuhui Lin compatible = "rockchip,rk3506-spi", "rockchip,rk3066-spi"; 47185e5c210SXuhui Lin reg = <0xff120000 0x1000>; 47285e5c210SXuhui Lin interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 47385e5c210SXuhui Lin #address-cells = <1>; 47485e5c210SXuhui Lin #size-cells = <0>; 47585e5c210SXuhui Lin clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 47685e5c210SXuhui Lin clock-names = "spiclk", "apb_pclk"; 4771546cf06SXuhui Lin dmas = <&dmac0 0 0xff2880a8 0x00030001 0x0 0x0>, 4781546cf06SXuhui Lin <&dmac0 1 0xff2880a8 0x000c0004 0x0 0x0>; 47985e5c210SXuhui Lin dma-names = "tx", "rx"; 4801546cf06SXuhui Lin num-cs = <2>; 48185e5c210SXuhui Lin pinctrl-names = "default"; 48285e5c210SXuhui Lin pinctrl-0 = <&spi0_csn0_pins &spi0_csn1_pins &spi0_clk_pins>; 48385e5c210SXuhui Lin status = "disabled"; 48485e5c210SXuhui Lin }; 48585e5c210SXuhui Lin 48685e5c210SXuhui Lin spi1: spi@ff130000 { 48785e5c210SXuhui Lin compatible = "rockchip,rk3506-spi", "rockchip,rk3066-spi"; 48885e5c210SXuhui Lin reg = <0xff130000 0x1000>; 48985e5c210SXuhui Lin interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 49085e5c210SXuhui Lin #address-cells = <1>; 49185e5c210SXuhui Lin #size-cells = <0>; 49285e5c210SXuhui Lin clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 49385e5c210SXuhui Lin clock-names = "spiclk", "apb_pclk"; 4941546cf06SXuhui Lin dmas = <&dmac0 2 0xff2880a8 0x00300010 0x0 0x0>, 4951546cf06SXuhui Lin <&dmac0 3 0xff2880a8 0x00c00040 0x0 0x0>; 49685e5c210SXuhui Lin dma-names = "tx", "rx"; 4971546cf06SXuhui Lin num-cs = <2>; 49885e5c210SXuhui Lin pinctrl-names = "default"; 49985e5c210SXuhui Lin pinctrl-0 = <&spi1_csn0_pins &spi1_csn1_pins &spi1_clk_pins>; 50085e5c210SXuhui Lin status = "disabled"; 50185e5c210SXuhui Lin }; 50285e5c210SXuhui Lin 50385e5c210SXuhui Lin pwm1_8ch_0: pwm@ff170000 { 50485e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 50585e5c210SXuhui Lin reg = <0xff170000 0x200>; 50685e5c210SXuhui Lin interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 50785e5c210SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 50885e5c210SXuhui Lin clock-names = "pwm", "pclk"; 50985e5c210SXuhui Lin #pwm-cells = <3>; 51085e5c210SXuhui Lin status = "disabled"; 51185e5c210SXuhui Lin }; 51285e5c210SXuhui Lin 51385e5c210SXuhui Lin pwm1_8ch_1: pwm@ff171000 { 51485e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 51585e5c210SXuhui Lin reg = <0xff171000 0x200>; 51685e5c210SXuhui Lin interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 51785e5c210SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 51885e5c210SXuhui Lin clock-names = "pwm", "pclk"; 51985e5c210SXuhui Lin #pwm-cells = <3>; 52085e5c210SXuhui Lin status = "disabled"; 52185e5c210SXuhui Lin }; 52285e5c210SXuhui Lin 52385e5c210SXuhui Lin pwm1_8ch_2: pwm@ff172000 { 52485e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 52585e5c210SXuhui Lin reg = <0xff172000 0x200>; 52685e5c210SXuhui Lin interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 52785e5c210SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 52885e5c210SXuhui Lin clock-names = "pwm", "pclk"; 52985e5c210SXuhui Lin #pwm-cells = <3>; 53085e5c210SXuhui Lin status = "disabled"; 53185e5c210SXuhui Lin }; 53285e5c210SXuhui Lin 53385e5c210SXuhui Lin pwm1_8ch_3: pwm@ff173000 { 53485e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 53585e5c210SXuhui Lin reg = <0xff173000 0x200>; 53685e5c210SXuhui Lin interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 53785e5c210SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 53885e5c210SXuhui Lin clock-names = "pwm", "pclk"; 53985e5c210SXuhui Lin #pwm-cells = <3>; 54085e5c210SXuhui Lin status = "disabled"; 54185e5c210SXuhui Lin }; 54285e5c210SXuhui Lin 54385e5c210SXuhui Lin pwm1_8ch_4: pwm@ff174000 { 54485e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 54585e5c210SXuhui Lin reg = <0xff174000 0x200>; 54685e5c210SXuhui Lin interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 54785e5c210SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 54885e5c210SXuhui Lin clock-names = "pwm", "pclk"; 54985e5c210SXuhui Lin #pwm-cells = <3>; 55085e5c210SXuhui Lin status = "disabled"; 55185e5c210SXuhui Lin }; 55285e5c210SXuhui Lin 55385e5c210SXuhui Lin pwm1_8ch_5: pwm@ff175000 { 55485e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 55585e5c210SXuhui Lin reg = <0xff175000 0x200>; 55685e5c210SXuhui Lin interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 55785e5c210SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 55885e5c210SXuhui Lin clock-names = "pwm", "pclk"; 55985e5c210SXuhui Lin #pwm-cells = <3>; 56085e5c210SXuhui Lin status = "disabled"; 56185e5c210SXuhui Lin }; 56285e5c210SXuhui Lin 56385e5c210SXuhui Lin pwm1_8ch_6: pwm@ff176000 { 56485e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 56585e5c210SXuhui Lin reg = <0xff176000 0x200>; 56685e5c210SXuhui Lin interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 56785e5c210SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 56885e5c210SXuhui Lin clock-names = "pwm", "pclk"; 56985e5c210SXuhui Lin #pwm-cells = <3>; 57085e5c210SXuhui Lin status = "disabled"; 57185e5c210SXuhui Lin }; 57285e5c210SXuhui Lin 57385e5c210SXuhui Lin pwm1_8ch_7: pwm@ff177000 { 57485e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 57585e5c210SXuhui Lin reg = <0xff177000 0x200>; 57685e5c210SXuhui Lin interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 57785e5c210SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 57885e5c210SXuhui Lin clock-names = "pwm", "pclk"; 57985e5c210SXuhui Lin #pwm-cells = <3>; 58085e5c210SXuhui Lin status = "disabled"; 58185e5c210SXuhui Lin }; 58285e5c210SXuhui Lin 58385e5c210SXuhui Lin hwlock0: hwspinlock@ff240000 { 58485e5c210SXuhui Lin compatible = "rockchip,hwspinlock"; 58585e5c210SXuhui Lin reg = <0xff240000 0x20>; 58685e5c210SXuhui Lin #hwlock-cells = <1>; 58785e5c210SXuhui Lin rockchip,hwlock-num-locks = <8>; 58885e5c210SXuhui Lin status = "disabled"; 58985e5c210SXuhui Lin }; 59085e5c210SXuhui Lin 59185e5c210SXuhui Lin hwlock1: hwspinlock@ff241000 { 59285e5c210SXuhui Lin compatible = "rockchip,hwspinlock"; 59385e5c210SXuhui Lin reg = <0xff241000 0x20>; 59485e5c210SXuhui Lin #hwlock-cells = <1>; 59585e5c210SXuhui Lin rockchip,hwlock-num-locks = <8>; 59685e5c210SXuhui Lin status = "disabled"; 59785e5c210SXuhui Lin }; 59885e5c210SXuhui Lin 59985e5c210SXuhui Lin hwlock2: hwspinlock@ff242000 { 60085e5c210SXuhui Lin compatible = "rockchip,hwspinlock"; 60185e5c210SXuhui Lin reg = <0xff242000 0x20>; 60285e5c210SXuhui Lin #hwlock-cells = <1>; 60385e5c210SXuhui Lin rockchip,hwlock-num-locks = <8>; 60485e5c210SXuhui Lin status = "disabled"; 60585e5c210SXuhui Lin }; 60685e5c210SXuhui Lin 60785e5c210SXuhui Lin hwlock3: hwspinlock@ff243000 { 60885e5c210SXuhui Lin compatible = "rockchip,hwspinlock"; 60985e5c210SXuhui Lin reg = <0xff243000 0x20>; 61085e5c210SXuhui Lin #hwlock-cells = <1>; 61185e5c210SXuhui Lin rockchip,hwlock-num-locks = <8>; 61285e5c210SXuhui Lin status = "disabled"; 61385e5c210SXuhui Lin }; 61485e5c210SXuhui Lin 61585e5c210SXuhui Lin wdt0: watchdog@ff260000 { 61685e5c210SXuhui Lin compatible = "snps,dw-wdt"; 61785e5c210SXuhui Lin reg = <0xff260000 0x100>; 61885e5c210SXuhui Lin clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>; 61985e5c210SXuhui Lin clock-names = "tclk", "pclk"; 62085e5c210SXuhui Lin interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 62185e5c210SXuhui Lin status = "disabled"; 62285e5c210SXuhui Lin }; 62385e5c210SXuhui Lin 62485e5c210SXuhui Lin wdt1: watchdog@ff268000 { 62585e5c210SXuhui Lin compatible = "snps,dw-wdt"; 62685e5c210SXuhui Lin reg = <0xff268000 0x100>; 62785e5c210SXuhui Lin clocks = <&cru TCLK_WDT1>, <&cru PCLK_WDT1>; 62885e5c210SXuhui Lin clock-names = "tclk", "pclk"; 62985e5c210SXuhui Lin interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 63085e5c210SXuhui Lin status = "disabled"; 63185e5c210SXuhui Lin }; 63285e5c210SXuhui Lin 63385e5c210SXuhui Lin grf: syscon@ff288000 { 63485e5c210SXuhui Lin compatible = "rockchip,rk3506-grf", "syscon", "simple-mfd"; 63585e5c210SXuhui Lin reg = <0xff288000 0x4000>; 63685e5c210SXuhui Lin 63785e5c210SXuhui Lin rgb: rgb { 63885e5c210SXuhui Lin compatible = "rockchip,rk3506-rgb"; 63985e5c210SXuhui Lin status = "disabled"; 64085e5c210SXuhui Lin 64185e5c210SXuhui Lin ports { 64285e5c210SXuhui Lin #address-cells = <1>; 64385e5c210SXuhui Lin #size-cells = <0>; 64485e5c210SXuhui Lin 64585e5c210SXuhui Lin port@0 { 64685e5c210SXuhui Lin reg = <0>; 64785e5c210SXuhui Lin #address-cells = <1>; 64885e5c210SXuhui Lin #size-cells = <0>; 64985e5c210SXuhui Lin 65085e5c210SXuhui Lin rgb_in_vop: endpoint@0 { 65185e5c210SXuhui Lin reg = <0>; 65285e5c210SXuhui Lin remote-endpoint = <&vop_out_rgb>; 65385e5c210SXuhui Lin }; 65485e5c210SXuhui Lin }; 65585e5c210SXuhui Lin }; 65685e5c210SXuhui Lin }; 65785e5c210SXuhui Lin }; 65885e5c210SXuhui Lin 65985e5c210SXuhui Lin mailbox0: mailbox@ff290000 { 66085e5c210SXuhui Lin compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox"; 66185e5c210SXuhui Lin reg = <0xff290000 0x20>; 66285e5c210SXuhui Lin interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 66385e5c210SXuhui Lin clocks = <&cru PCLK_MAILBOX>; 66485e5c210SXuhui Lin clock-names = "pclk_mailbox"; 66585e5c210SXuhui Lin #mbox-cells = <1>; 66685e5c210SXuhui Lin status = "disabled"; 66785e5c210SXuhui Lin }; 66885e5c210SXuhui Lin 66985e5c210SXuhui Lin mailbox1: mailbox@ff291000 { 67085e5c210SXuhui Lin compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox"; 67185e5c210SXuhui Lin reg = <0xff291000 0x20>; 67285e5c210SXuhui Lin interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 67385e5c210SXuhui Lin clocks = <&cru PCLK_MAILBOX>; 67485e5c210SXuhui Lin clock-names = "pclk_mailbox"; 67585e5c210SXuhui Lin #mbox-cells = <1>; 67685e5c210SXuhui Lin status = "disabled"; 67785e5c210SXuhui Lin }; 67885e5c210SXuhui Lin 67985e5c210SXuhui Lin mailbox2: mailbox@ff292000 { 68085e5c210SXuhui Lin compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox"; 68185e5c210SXuhui Lin reg = <0xff292000 0x20>; 68285e5c210SXuhui Lin interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 68385e5c210SXuhui Lin clocks = <&cru PCLK_MAILBOX>; 68485e5c210SXuhui Lin clock-names = "pclk_mailbox"; 68585e5c210SXuhui Lin #mbox-cells = <1>; 68685e5c210SXuhui Lin status = "disabled"; 68785e5c210SXuhui Lin }; 68885e5c210SXuhui Lin 68985e5c210SXuhui Lin mailbox3: mailbox@ff293000 { 69085e5c210SXuhui Lin compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox"; 69185e5c210SXuhui Lin reg = <0xff293000 0x20>; 69285e5c210SXuhui Lin interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 69385e5c210SXuhui Lin clocks = <&cru PCLK_MAILBOX>; 69485e5c210SXuhui Lin clock-names = "pclk_mailbox"; 69585e5c210SXuhui Lin #mbox-cells = <1>; 69685e5c210SXuhui Lin status = "disabled"; 69785e5c210SXuhui Lin }; 69885e5c210SXuhui Lin 69985e5c210SXuhui Lin usb2phy: usb2-phy@ff2b0000 { 70085e5c210SXuhui Lin compatible = "rockchip,rk3506-usb2phy"; 70185e5c210SXuhui Lin reg = <0xff2b0000 0x8000>; 70285e5c210SXuhui Lin clocks = <&cru CLK_REF_USBPHY_TOP>, <&cru PCLK_USBPHY>; 70385e5c210SXuhui Lin clock-names = "phyclk", "apb_pclk"; 70485e5c210SXuhui Lin #clock-cells = <0>; 70585e5c210SXuhui Lin rockchip,usbgrf = <&grf>; 70685e5c210SXuhui Lin status = "disabled"; 70785e5c210SXuhui Lin 70885e5c210SXuhui Lin u2phy_otg0: otg-port { 70985e5c210SXuhui Lin #phy-cells = <0>; 71085e5c210SXuhui Lin interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 71185e5c210SXuhui Lin <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 71285e5c210SXuhui Lin <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 71385e5c210SXuhui Lin interrupt-names = "otg-bvalid", 71485e5c210SXuhui Lin "otg-id", 71585e5c210SXuhui Lin "linestate"; 71685e5c210SXuhui Lin status = "disabled"; 71785e5c210SXuhui Lin }; 71885e5c210SXuhui Lin 71985e5c210SXuhui Lin u2phy_otg1: host-port { 72085e5c210SXuhui Lin #phy-cells = <0>; 72185e5c210SXuhui Lin interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>, 72285e5c210SXuhui Lin <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>, 72385e5c210SXuhui Lin <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 72485e5c210SXuhui Lin interrupt-names = "otg-bvalid", 72585e5c210SXuhui Lin "otg-id", 72685e5c210SXuhui Lin "linestate"; 72785e5c210SXuhui Lin status = "disabled"; 72885e5c210SXuhui Lin }; 72985e5c210SXuhui Lin }; 73085e5c210SXuhui Lin 73185e5c210SXuhui Lin sai0: sai@ff300000 { 73285e5c210SXuhui Lin compatible = "rockchip,rk3506-sai", "rockchip,sai-v1"; 73385e5c210SXuhui Lin reg = <0xff300000 0x1000>; 73485e5c210SXuhui Lin interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 73585e5c210SXuhui Lin clocks = <&cru MCLK_SAI0>, <&cru HCLK_SAI0>; 73685e5c210SXuhui Lin clock-names = "mclk", "hclk"; 7371546cf06SXuhui Lin dmas = <&dmac1 1 0xff2880a4 0x01000000 0x0 0x0>, 7381546cf06SXuhui Lin <&dmac1 0 0xff2880a4 0x00800000 0x0 0x0>; 7391546cf06SXuhui Lin // dmas = <&dmac0 9 0xff2880a4 0x01000100 0xff2880ac 0x000c0000>, 7401546cf06SXuhui Lin // <&dmac0 8 0xff2880a4 0x00800080 0xff2880ac 0x00030002>; 74185e5c210SXuhui Lin dma-names = "tx", "rx"; 74285e5c210SXuhui Lin resets = <&cru SRST_M_SAI0>, <&cru SRST_H_SAI0>; 74385e5c210SXuhui Lin reset-names = "m", "h"; 74485e5c210SXuhui Lin #sound-dai-cells = <0>; 74585e5c210SXuhui Lin sound-name-prefix = "SAI0"; 74685e5c210SXuhui Lin pinctrl-names = "default"; 74785e5c210SXuhui Lin pinctrl-0 = <&sai0_lrck_pins 74885e5c210SXuhui Lin &sai0_sclk_pins 74985e5c210SXuhui Lin &sai0_sdi0_pins 75085e5c210SXuhui Lin &sai0_sdi1_pins 75185e5c210SXuhui Lin &sai0_sdi2_pins 75285e5c210SXuhui Lin &sai0_sdi3_pins 75385e5c210SXuhui Lin &sai0_sdo_pins>; 75485e5c210SXuhui Lin status = "disabled"; 75585e5c210SXuhui Lin }; 75685e5c210SXuhui Lin 75785e5c210SXuhui Lin sai1: sai@ff310000 { 75885e5c210SXuhui Lin compatible = "rockchip,rk3506-sai", "rockchip,sai-v1"; 75985e5c210SXuhui Lin reg = <0xff310000 0x1000>; 76085e5c210SXuhui Lin interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 76185e5c210SXuhui Lin clocks = <&cru MCLK_SAI1>, <&cru HCLK_SAI1>; 76285e5c210SXuhui Lin clock-names = "mclk", "hclk"; 7631546cf06SXuhui Lin dmas = <&dmac1 3 0xff2880a4 0x04000000 0x0 0x0>, 7641546cf06SXuhui Lin <&dmac1 2 0xff2880a4 0x02000000 0x0 0x0>; 7651546cf06SXuhui Lin // dmas = <&dmac0 11 0xff2880a4 0x04000400 0xff2880ac 0x00c00000>, 7661546cf06SXuhui Lin // <&dmac0 10 0xff2880a4 0x02000200 0xff2880ac 0x00300020>; 76785e5c210SXuhui Lin dma-names = "tx", "rx"; 76885e5c210SXuhui Lin resets = <&cru SRST_M_SAI1>, <&cru SRST_H_SAI1>; 76985e5c210SXuhui Lin reset-names = "m", "h"; 77085e5c210SXuhui Lin #sound-dai-cells = <0>; 77185e5c210SXuhui Lin sound-name-prefix = "SAI1"; 77285e5c210SXuhui Lin pinctrl-names = "default"; 77385e5c210SXuhui Lin pinctrl-0 = <&sai1_lrck_pins 77485e5c210SXuhui Lin &sai1_sclk_pins 77585e5c210SXuhui Lin &sai1_sdi_pins 77685e5c210SXuhui Lin &sai1_sdo0_pins 77785e5c210SXuhui Lin &sai1_sdo1_pins 77885e5c210SXuhui Lin &sai1_sdo2_pins 77985e5c210SXuhui Lin &sai1_sdo3_pins>; 78085e5c210SXuhui Lin status = "disabled"; 78185e5c210SXuhui Lin }; 78285e5c210SXuhui Lin 78385e5c210SXuhui Lin can0: can@ff320000 { 78485e5c210SXuhui Lin compatible = "rockchip,rk3506-canfd", "rockchip,rk3576-canfd"; 78585e5c210SXuhui Lin reg = <0xff320000 0x1000>; 78685e5c210SXuhui Lin interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 78785e5c210SXuhui Lin clocks = <&cru CLK_CAN0>, <&cru HCLK_CAN0>; 78885e5c210SXuhui Lin clock-names = "baudclk", "apb_pclk"; 78985e5c210SXuhui Lin resets = <&cru SRST_CAN0>, <&cru SRST_H_CAN0>; 79085e5c210SXuhui Lin reset-names = "can", "can-apb"; 79185e5c210SXuhui Lin status = "disabled"; 79285e5c210SXuhui Lin }; 79385e5c210SXuhui Lin 79485e5c210SXuhui Lin can1: can@ff330000 { 79585e5c210SXuhui Lin compatible = "rockchip,rk3506-canfd", "rockchip,rk3576-canfd"; 79685e5c210SXuhui Lin reg = <0xff330000 0x1000>; 79785e5c210SXuhui Lin interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 79885e5c210SXuhui Lin clocks = <&cru CLK_CAN1>, <&cru HCLK_CAN1>; 79985e5c210SXuhui Lin clock-names = "baudclk", "apb_pclk"; 80085e5c210SXuhui Lin resets = <&cru SRST_CAN1>, <&cru SRST_H_CAN1>; 80185e5c210SXuhui Lin reset-names = "can", "can-apb"; 80285e5c210SXuhui Lin status = "disabled"; 80385e5c210SXuhui Lin }; 80485e5c210SXuhui Lin 80585e5c210SXuhui Lin pdm: pdm@ff380000 { 80685e5c210SXuhui Lin compatible = "rockchip,rk3506-pdm", "rockchip,rk3576-pdm"; 80785e5c210SXuhui Lin reg = <0xff380000 0x1000>; 80885e5c210SXuhui Lin interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 80985e5c210SXuhui Lin clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>, <&cru CLKOUT_PDM>; 81085e5c210SXuhui Lin clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out"; 8111546cf06SXuhui Lin dmas = <&dmac1 9 0xff2880a4 0x00100000 0x0 0x0>; 8121546cf06SXuhui Lin // dmas = <&dmac0 5 0xff2880a4 0x00100010 0xff2880a8 0x0c000800>; 81385e5c210SXuhui Lin dma-names = "rx"; 81485e5c210SXuhui Lin pinctrl-names = "default"; 81585e5c210SXuhui Lin pinctrl-0 = <&rm_io0_pdm_clk0 81685e5c210SXuhui Lin &rm_io0_pdm_clk1 81785e5c210SXuhui Lin &rm_io0_pdm_sdi0 81885e5c210SXuhui Lin &rm_io0_pdm_sdi1 81985e5c210SXuhui Lin &rm_io0_pdm_sdi2 82085e5c210SXuhui Lin &rm_io0_pdm_sdi3>; 82185e5c210SXuhui Lin #sound-dai-cells = <0>; 82285e5c210SXuhui Lin sound-name-prefix = "PDM0"; 82385e5c210SXuhui Lin status = "disabled"; 82485e5c210SXuhui Lin }; 82585e5c210SXuhui Lin 82685e5c210SXuhui Lin spdif_tx: spdif-tx@ff3a0000 { 82785e5c210SXuhui Lin compatible = "rockchip,rk3506-spdif", "rockchip,rk3066-spdif"; 82885e5c210SXuhui Lin reg = <0xff3a0000 0x1000>; 82985e5c210SXuhui Lin interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 83085e5c210SXuhui Lin clocks = <&cru MCLK_SPDIFTX>, <&cru HCLK_SPDIFTX>; 83185e5c210SXuhui Lin clock-names = "mclk", "hclk"; 8321546cf06SXuhui Lin dmas = <&dmac1 10 0xff2880a4 0x00200000 0xff2880ac 0x03000100>; 8331546cf06SXuhui Lin // dmas = <&dmac0 6 0xff2880a4 0x00200020 0xff2880a8 0x30000000>; 83485e5c210SXuhui Lin dma-names = "tx"; 83585e5c210SXuhui Lin pinctrl-names = "default"; 83685e5c210SXuhui Lin pinctrl-0 = <&rm_io0_spdif_tx>; 8371546cf06SXuhui Lin #sound-dai-cells = <0>; 83885e5c210SXuhui Lin status = "disabled"; 83985e5c210SXuhui Lin }; 84085e5c210SXuhui Lin 84185e5c210SXuhui Lin spdif_rx: spdif-rx@ff3b0000 { 84285e5c210SXuhui Lin compatible = "rockchip,rk3506-spdifrx", "rockchip,rk3308-spdifrx"; 84385e5c210SXuhui Lin reg = <0xff3b0000 0x1000>; 84485e5c210SXuhui Lin interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 84585e5c210SXuhui Lin clocks = <&cru MCLK_SPDIFRX>, <&cru HCLK_SPDIFRX>; 84685e5c210SXuhui Lin clock-names = "mclk", "hclk"; 8471546cf06SXuhui Lin dmas = <&dmac1 11 0xff2880a4 0x00400000 0xff2880ac 0x0c000400>; 8481546cf06SXuhui Lin // dmas = <&dmac0 7 0xff2880a4 0x00400040 0xff2880a8 0xc0000000>; 84985e5c210SXuhui Lin dma-names = "rx"; 85085e5c210SXuhui Lin resets = <&cru SRST_SPDIFRX>; 85185e5c210SXuhui Lin reset-names = "spdifrx-m"; 85285e5c210SXuhui Lin pinctrl-names = "default"; 85385e5c210SXuhui Lin pinctrl-0 = <&rm_io0_spdif_rx>; 8541546cf06SXuhui Lin #sound-dai-cells = <0>; 85585e5c210SXuhui Lin status = "disabled"; 85685e5c210SXuhui Lin }; 85785e5c210SXuhui Lin 85885e5c210SXuhui Lin mmc: mmc@ff480000 { 85985e5c210SXuhui Lin compatible = "rockchip,rk3506-dw-mshc", "rockchip,rk3288-dw-mshc"; 86085e5c210SXuhui Lin reg = <0xff480000 0x4000>; 86185e5c210SXuhui Lin interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 86285e5c210SXuhui Lin max-frequency = <150000000>; 86385e5c210SXuhui Lin bus-width = <4>; 86485e5c210SXuhui Lin clocks = <&cru HCLK_SDMMC>, <&cru CCLK_SRC_SDMMC>; 86585e5c210SXuhui Lin clock-names = "biu", "ciu"; 86685e5c210SXuhui Lin fifo-depth = <0x100>; 86785e5c210SXuhui Lin resets = <&cru SRST_H_SDMMC>; 86885e5c210SXuhui Lin reset-names = "reset"; 86985e5c210SXuhui Lin status = "disabled"; 87085e5c210SXuhui Lin }; 87185e5c210SXuhui Lin 8721546cf06SXuhui Lin fspi: spi@ff488000 { 87385e5c210SXuhui Lin compatible = "rockchip,fspi"; 87485e5c210SXuhui Lin reg = <0xff488000 0x4000>; 87585e5c210SXuhui Lin interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 87685e5c210SXuhui Lin clocks = <&cru SCLK_FSPI>, <&cru HCLK_FSPI>; 87785e5c210SXuhui Lin clock-names = "clk_sfc", "hclk_sfc"; 878*bf6c671bSJon Lin rockchip,max-dll = <0x17F>; 87985e5c210SXuhui Lin #address-cells = <1>; 88085e5c210SXuhui Lin #size-cells = <0>; 88185e5c210SXuhui Lin status = "disabled"; 88285e5c210SXuhui Lin }; 88385e5c210SXuhui Lin 88485e5c210SXuhui Lin sai2: sai@ff498000 { 88585e5c210SXuhui Lin compatible = "rockchip,rk3506-sai", "rockchip,sai-v1"; 88685e5c210SXuhui Lin reg = <0xff498000 0x1000>; 88785e5c210SXuhui Lin interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 88885e5c210SXuhui Lin clocks = <&cru MCLK_SAI2>, <&cru HCLK_SAI2>; 88985e5c210SXuhui Lin clock-names = "mclk", "hclk"; 8901546cf06SXuhui Lin dmas = <&dmac1 5 0x0 0x0 0x0 0x0>, <&dmac1 4 0x0 0x0 0x0 0x0>; 89185e5c210SXuhui Lin dma-names = "tx", "rx"; 89285e5c210SXuhui Lin resets = <&cru SRST_M_SAI2>, <&cru SRST_H_SAI2>; 89385e5c210SXuhui Lin reset-names = "m", "h"; 89485e5c210SXuhui Lin #sound-dai-cells = <0>; 89585e5c210SXuhui Lin sound-name-prefix = "SAI2"; 89685e5c210SXuhui Lin pinctrl-names = "default"; 89785e5c210SXuhui Lin pinctrl-0 = <&sai2m0_lrck_pins 89885e5c210SXuhui Lin &sai2m0_sclk_pins 89985e5c210SXuhui Lin &sai2m0_sdi_pins 90085e5c210SXuhui Lin &sai2m0_sdo_pins>; 90185e5c210SXuhui Lin status = "disabled"; 90285e5c210SXuhui Lin }; 90385e5c210SXuhui Lin 90485e5c210SXuhui Lin sai3: sai@ff4a0000 { 90585e5c210SXuhui Lin compatible = "rockchip,rk3506-sai", "rockchip,sai-v1"; 90685e5c210SXuhui Lin reg = <0xff4a0000 0x1000>; 90785e5c210SXuhui Lin interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 90885e5c210SXuhui Lin clocks = <&cru MCLK_SAI3>, <&cru HCLK_SAI3>; 90985e5c210SXuhui Lin clock-names = "mclk", "hclk"; 9101546cf06SXuhui Lin dmas = <&dmac1 6 0x0 0x0 0x0 0x0>, <&dmac1 7 0x0 0x0 0x0 0x0>; 91185e5c210SXuhui Lin dma-names = "tx", "rx"; 91285e5c210SXuhui Lin resets = <&cru SRST_M_SAI3>, <&cru SRST_H_SAI3>; 91385e5c210SXuhui Lin reset-names = "m", "h"; 91485e5c210SXuhui Lin #sound-dai-cells = <0>; 91585e5c210SXuhui Lin sound-name-prefix = "SAI3"; 91685e5c210SXuhui Lin pinctrl-names = "default"; 91785e5c210SXuhui Lin pinctrl-0 = <&sai3_lrck_pins 91885e5c210SXuhui Lin &sai3_sclk_pins 91985e5c210SXuhui Lin &sai3_sdi_pins 92085e5c210SXuhui Lin &sai3_sdo_pins>; 92185e5c210SXuhui Lin status = "disabled"; 92285e5c210SXuhui Lin }; 92385e5c210SXuhui Lin 92485e5c210SXuhui Lin sai4: sai@ff4a8000 { 92585e5c210SXuhui Lin compatible = "rockchip,rk3506-sai", "rockchip,sai-v1"; 92685e5c210SXuhui Lin reg = <0xff4a8000 0x1000>; 92785e5c210SXuhui Lin interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 92885e5c210SXuhui Lin clocks = <&cru MCLK_SAI4>, <&cru HCLK_SAI4>; 92985e5c210SXuhui Lin clock-names = "mclk", "hclk"; 9301546cf06SXuhui Lin dmas = <&dmac1 8 0x0 0x0 0x0 0x0>; 93185e5c210SXuhui Lin dma-names = "rx"; 93285e5c210SXuhui Lin resets = <&cru SRST_M_SAI4>, <&cru SRST_H_SAI4>; 93385e5c210SXuhui Lin reset-names = "m", "h"; 93485e5c210SXuhui Lin #sound-dai-cells = <0>; 93585e5c210SXuhui Lin sound-name-prefix = "SAI4"; 93685e5c210SXuhui Lin status = "disabled"; 93785e5c210SXuhui Lin }; 93885e5c210SXuhui Lin 93985e5c210SXuhui Lin acdcdig_dsm: acdcdig-dsm@ff4b0000 { 94085e5c210SXuhui Lin compatible = "rockchip,rk3506-dsm"; 94185e5c210SXuhui Lin reg = <0xff4b0000 0x1000>; 94285e5c210SXuhui Lin clocks = <&cru MCLK_DSM>, <&cru HCLK_DSM>; 94385e5c210SXuhui Lin clock-names = "dac", "pclk"; 94485e5c210SXuhui Lin resets = <&cru SRST_M_DSM>; 94585e5c210SXuhui Lin reset-names = "reset" ; 94685e5c210SXuhui Lin rockchip,grf = <&grf>; 94785e5c210SXuhui Lin pinctrl-names = "default"; 94885e5c210SXuhui Lin pinctrl-0 = <&dsm_audm0_ln_pins 94985e5c210SXuhui Lin &dsm_audm0_lp_pins 95085e5c210SXuhui Lin &dsm_audm0_rn_pins 95185e5c210SXuhui Lin &dsm_audm0_rp_pins>; 95285e5c210SXuhui Lin #sound-dai-cells = <0>; 95385e5c210SXuhui Lin status = "disabled"; 95485e5c210SXuhui Lin }; 95585e5c210SXuhui Lin 95685e5c210SXuhui Lin gmac0: ethernet@ff4c8000 { 95785e5c210SXuhui Lin compatible = "rockchip,rk3506-gmac", "snps,dwmac-4.20a"; 95885e5c210SXuhui Lin reg = <0xff4c8000 0x2000>; 95985e5c210SXuhui Lin interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 96085e5c210SXuhui Lin <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 96185e5c210SXuhui Lin interrupt-names = "macirq", "eth_wake_irq"; 96285e5c210SXuhui Lin rockchip,grf = <&grf>; 96385e5c210SXuhui Lin clocks = <&cru CLK_MAC0>, <&cru CLK_MAC0_PTP>, 96485e5c210SXuhui Lin <&cru PCLK_MAC0>, <&cru ACLK_MAC0>; 96585e5c210SXuhui Lin clock-names = "stmmaceth", "ptp_ref", 96685e5c210SXuhui Lin "pclk_mac", "aclk_mac"; 96785e5c210SXuhui Lin resets = <&cru SRST_A_MAC0>; 96885e5c210SXuhui Lin reset-names = "stmmaceth"; 96985e5c210SXuhui Lin 97085e5c210SXuhui Lin snps,mixed-burst; 97185e5c210SXuhui Lin snps,tso; 97285e5c210SXuhui Lin 97385e5c210SXuhui Lin snps,axi-config = <&gmac0_stmmac_axi_setup>; 97485e5c210SXuhui Lin snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 97585e5c210SXuhui Lin snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 97685e5c210SXuhui Lin 97785e5c210SXuhui Lin phy-mode = "rmii"; 97885e5c210SXuhui Lin status = "disabled"; 97985e5c210SXuhui Lin 98085e5c210SXuhui Lin mdio0: mdio { 98185e5c210SXuhui Lin compatible = "snps,dwmac-mdio"; 98285e5c210SXuhui Lin #address-cells = <0x1>; 98385e5c210SXuhui Lin #size-cells = <0x0>; 98485e5c210SXuhui Lin }; 98585e5c210SXuhui Lin 98685e5c210SXuhui Lin gmac0_stmmac_axi_setup: stmmac-axi-config { 98785e5c210SXuhui Lin snps,wr_osr_lmt = <4>; 98885e5c210SXuhui Lin snps,rd_osr_lmt = <8>; 98985e5c210SXuhui Lin snps,blen = <0 0 0 0 16 8 4>; 99085e5c210SXuhui Lin }; 99185e5c210SXuhui Lin 99285e5c210SXuhui Lin gmac0_mtl_rx_setup: rx-queues-config { 99385e5c210SXuhui Lin snps,rx-queues-to-use = <1>; 9941546cf06SXuhui Lin queue0 { 9951546cf06SXuhui Lin status = "okay"; 9961546cf06SXuhui Lin }; 99785e5c210SXuhui Lin }; 99885e5c210SXuhui Lin 99985e5c210SXuhui Lin gmac0_mtl_tx_setup: tx-queues-config { 100085e5c210SXuhui Lin snps,tx-queues-to-use = <1>; 10011546cf06SXuhui Lin queue0 { 10021546cf06SXuhui Lin status = "okay"; 10031546cf06SXuhui Lin }; 100485e5c210SXuhui Lin }; 100585e5c210SXuhui Lin }; 100685e5c210SXuhui Lin 100785e5c210SXuhui Lin gmac1: ethernet@ff4d0000 { 100885e5c210SXuhui Lin compatible = "rockchip,rk3506-gmac", "snps,dwmac-4.20a"; 100985e5c210SXuhui Lin reg = <0xff4d0000 0x2000>; 101085e5c210SXuhui Lin interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 101185e5c210SXuhui Lin <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 101285e5c210SXuhui Lin interrupt-names = "macirq", "eth_wake_irq"; 101385e5c210SXuhui Lin rockchip,grf = <&grf>; 101485e5c210SXuhui Lin clocks = <&cru CLK_MAC1>, <&cru CLK_MAC1_PTP>, 101585e5c210SXuhui Lin <&cru PCLK_MAC1>, <&cru ACLK_MAC1>; 101685e5c210SXuhui Lin clock-names = "stmmaceth", "ptp_ref", 101785e5c210SXuhui Lin "pclk_mac", "aclk_mac"; 101885e5c210SXuhui Lin resets = <&cru SRST_A_MAC1>; 101985e5c210SXuhui Lin reset-names = "stmmaceth"; 102085e5c210SXuhui Lin 102185e5c210SXuhui Lin snps,mixed-burst; 102285e5c210SXuhui Lin snps,tso; 102385e5c210SXuhui Lin 102485e5c210SXuhui Lin snps,axi-config = <&gmac1_stmmac_axi_setup>; 102585e5c210SXuhui Lin snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 102685e5c210SXuhui Lin snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 102785e5c210SXuhui Lin 102885e5c210SXuhui Lin phy-mode = "rmii"; 102985e5c210SXuhui Lin status = "disabled"; 103085e5c210SXuhui Lin 103185e5c210SXuhui Lin mdio1: mdio { 103285e5c210SXuhui Lin compatible = "snps,dwmac-mdio"; 103385e5c210SXuhui Lin #address-cells = <0x1>; 103485e5c210SXuhui Lin #size-cells = <0x0>; 103585e5c210SXuhui Lin }; 103685e5c210SXuhui Lin 103785e5c210SXuhui Lin gmac1_stmmac_axi_setup: stmmac-axi-config { 103885e5c210SXuhui Lin snps,wr_osr_lmt = <4>; 103985e5c210SXuhui Lin snps,rd_osr_lmt = <8>; 104085e5c210SXuhui Lin snps,blen = <0 0 0 0 16 8 4>; 104185e5c210SXuhui Lin }; 104285e5c210SXuhui Lin 104385e5c210SXuhui Lin gmac1_mtl_rx_setup: rx-queues-config { 104485e5c210SXuhui Lin snps,rx-queues-to-use = <1>; 10451546cf06SXuhui Lin queue0 { 10461546cf06SXuhui Lin status = "okay"; 10471546cf06SXuhui Lin }; 104885e5c210SXuhui Lin }; 104985e5c210SXuhui Lin 105085e5c210SXuhui Lin gmac1_mtl_tx_setup: tx-queues-config { 105185e5c210SXuhui Lin snps,tx-queues-to-use = <1>; 10521546cf06SXuhui Lin queue0 { 10531546cf06SXuhui Lin status = "okay"; 10541546cf06SXuhui Lin }; 105585e5c210SXuhui Lin }; 105685e5c210SXuhui Lin }; 105785e5c210SXuhui Lin 105885e5c210SXuhui Lin ioc_grf: syscon@ff4d8000 { 105985e5c210SXuhui Lin compatible = "rockchip,rk3506-ioc-grf", "syscon"; 106085e5c210SXuhui Lin reg = <0xff4d8000 0x8000>; 106185e5c210SXuhui Lin }; 106285e5c210SXuhui Lin 106385e5c210SXuhui Lin uart5: serial@ff4e0000 { 106485e5c210SXuhui Lin compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart"; 106585e5c210SXuhui Lin reg = <0xff4e0000 0x100>; 106685e5c210SXuhui Lin interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 106785e5c210SXuhui Lin reg-shift = <2>; 106885e5c210SXuhui Lin reg-io-width = <4>; 10691546cf06SXuhui Lin dmas = <&dmac1 14 0x0 0x0 0x0 0x0>, <&dmac1 15 0x0 0x0 0x0 0x0>; 107085e5c210SXuhui Lin clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 107185e5c210SXuhui Lin clock-names = "baudclk", "apb_pclk"; 107285e5c210SXuhui Lin pinctrl-names = "default"; 107385e5c210SXuhui Lin pinctrl-0 = <&uart5m0_xfer_pins &uart5m0_ctsn_pins &uart5m0_rtsn_pins>; 107485e5c210SXuhui Lin status = "disabled"; 107585e5c210SXuhui Lin }; 107685e5c210SXuhui Lin 107785e5c210SXuhui Lin saradc: adc@ff4e8000 { 10781546cf06SXuhui Lin compatible = "rockchip,rk3506-saradc", "rockchip,rk3562-saradc"; 10791546cf06SXuhui Lin reg = <0xff4e8000 0x8000>; 108085e5c210SXuhui Lin interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 108185e5c210SXuhui Lin #io-channel-cells = <1>; 108285e5c210SXuhui Lin clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 108385e5c210SXuhui Lin clock-names = "saradc", "apb_pclk"; 108485e5c210SXuhui Lin resets = <&cru SRST_P_SARADC>; 108585e5c210SXuhui Lin reset-names = "saradc-apb"; 108685e5c210SXuhui Lin status = "disabled"; 108785e5c210SXuhui Lin }; 108885e5c210SXuhui Lin 10891546cf06SXuhui Lin otp: otp@ff4f0000 { 10901546cf06SXuhui Lin compatible = "rockchip,rk3506-otp"; 10911546cf06SXuhui Lin reg = <0xff4f0000 0x4000>; 10921546cf06SXuhui Lin #address-cells = <1>; 10931546cf06SXuhui Lin #size-cells = <1>; 10941546cf06SXuhui Lin clocks = <&cru CLK_USER_OTPC_NS>, <&cru CLK_SBPI_OTPC_NS>, 10951546cf06SXuhui Lin <&cru PCLK_OTPC_NS>; 10961546cf06SXuhui Lin clock-names = "usr", "sbpi", "apb"; 10971546cf06SXuhui Lin resets = <&cru SRST_USER_OTPC_NS>, <&cru SRST_SBPI_OTPC_NS>, 10981546cf06SXuhui Lin <&cru SRST_P_OTPC_NS>; 10991546cf06SXuhui Lin reset-names = "usr", "sbpi", "apb"; 11001546cf06SXuhui Lin 11011546cf06SXuhui Lin /* Data cells */ 11021546cf06SXuhui Lin cpu_code: cpu-code@2 { 11031546cf06SXuhui Lin reg = <0x02 0x2>; 11041546cf06SXuhui Lin }; 11051546cf06SXuhui Lin otp_cpu_version: cpu-version@5 { 11061546cf06SXuhui Lin reg = <0x05 0x1>; 11071546cf06SXuhui Lin bits = <3 3>; 11081546cf06SXuhui Lin }; 11091546cf06SXuhui Lin otp_id: id@a { 11101546cf06SXuhui Lin reg = <0x0a 0x10>; 11111546cf06SXuhui Lin }; 11121546cf06SXuhui Lin cpu_leakage: cpu-leakage@1e { 11131546cf06SXuhui Lin reg = <0x1e 0x1>; 11141546cf06SXuhui Lin }; 11151546cf06SXuhui Lin log_leakage: log-leakage@1f { 11161546cf06SXuhui Lin reg = <0x1f 0x1>; 11171546cf06SXuhui Lin }; 11181546cf06SXuhui Lin }; 11191546cf06SXuhui Lin 11201546cf06SXuhui Lin audio_codec: audio-codec@ff4f8000 { 11211546cf06SXuhui Lin compatible = "rockchip,rk3506-codec"; 11221546cf06SXuhui Lin reg = <0xff4f8000 0x1000>; 11231546cf06SXuhui Lin #sound-dai-cells = <0>; 11241546cf06SXuhui Lin clocks = <&cru PCLK_AUDIO_ADC>, <&cru MCLK_AUDIO_ADC>; 11251546cf06SXuhui Lin clock-names = "pclk", "mclk"; 11261546cf06SXuhui Lin resets = <&cru SRST_M_AUDIO_ADC>; 11271546cf06SXuhui Lin reset-names = "rst"; 11281546cf06SXuhui Lin status = "disabled"; 11291546cf06SXuhui Lin }; 11301546cf06SXuhui Lin 11311546cf06SXuhui Lin gic: interrupt-controller@ff581000 { 113285e5c210SXuhui Lin compatible = "arm,gic-400"; 113385e5c210SXuhui Lin reg = <0xff581000 0x1000>, 113485e5c210SXuhui Lin <0xff582000 0x2000>, 113585e5c210SXuhui Lin <0xff584000 0x2000>, 113685e5c210SXuhui Lin <0xff586000 0x2000>; 113785e5c210SXuhui Lin interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 113885e5c210SXuhui Lin #interrupt-cells = <3>; 113985e5c210SXuhui Lin interrupt-controller; 114085e5c210SXuhui Lin #address-cells = <0>; 114185e5c210SXuhui Lin }; 114285e5c210SXuhui Lin 114385e5c210SXuhui Lin vop: vop@ff600000 { 114485e5c210SXuhui Lin compatible = "rockchip,rk3506-vop"; 11451546cf06SXuhui Lin reg = <0xff600000 0x200>, <0xff600a00 0x400>; 11461546cf06SXuhui Lin reg-names = "regs", "gamma_lut"; 114785e5c210SXuhui Lin rockchip,grf = <&grf>; 114885e5c210SXuhui Lin interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 11491546cf06SXuhui Lin clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>; 11501546cf06SXuhui Lin clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 115185e5c210SXuhui Lin status = "disabled"; 115285e5c210SXuhui Lin 115385e5c210SXuhui Lin vop_out: port { 115485e5c210SXuhui Lin #address-cells = <1>; 115585e5c210SXuhui Lin #size-cells = <0>; 115685e5c210SXuhui Lin 115785e5c210SXuhui Lin vop_out_rgb: endpoint@0 { 115885e5c210SXuhui Lin reg = <0>; 115985e5c210SXuhui Lin remote-endpoint = <&rgb_in_vop>; 116085e5c210SXuhui Lin }; 11611546cf06SXuhui Lin 11621546cf06SXuhui Lin vop_out_dsi: endpoint@1 { 11631546cf06SXuhui Lin reg = <1>; 11641546cf06SXuhui Lin remote-endpoint = <&dsi_in_vop>; 11651546cf06SXuhui Lin }; 116685e5c210SXuhui Lin }; 116785e5c210SXuhui Lin }; 116885e5c210SXuhui Lin 116985e5c210SXuhui Lin rga2: rga@ff610000 { 117085e5c210SXuhui Lin compatible = "rockchip,rga2"; 117185e5c210SXuhui Lin reg = <0xff610000 0x1000>; 117285e5c210SXuhui Lin interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 117385e5c210SXuhui Lin interrupt-names = "rga2_irq"; 117485e5c210SXuhui Lin clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_CORE_RGA>; 117585e5c210SXuhui Lin clock-names = "aclk_rga", "hclk_rga", "clk_rga"; 117685e5c210SXuhui Lin status = "disabled"; 117785e5c210SXuhui Lin }; 117885e5c210SXuhui Lin 11791546cf06SXuhui Lin dsi: dsi@ff640000 { 11801546cf06SXuhui Lin compatible = "rockchip,rk3506-mipi-dsi"; 11811546cf06SXuhui Lin reg = <0xff640000 0x10000>; 11821546cf06SXuhui Lin interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 11831546cf06SXuhui Lin clocks = <&cru PCLK_DSI_HOST>; 11841546cf06SXuhui Lin clock-names = "pclk"; 11851546cf06SXuhui Lin resets = <&cru SRST_P_DSI_HOST>; 11861546cf06SXuhui Lin reset-names = "apb"; 11871546cf06SXuhui Lin phys = <&dsi_dphy>; 11881546cf06SXuhui Lin phy-names = "dphy"; 11891546cf06SXuhui Lin rockchip,grf = <&grf>; 11901546cf06SXuhui Lin #address-cells = <1>; 11911546cf06SXuhui Lin #size-cells = <0>; 11921546cf06SXuhui Lin status = "disabled"; 11931546cf06SXuhui Lin 11941546cf06SXuhui Lin ports { 11951546cf06SXuhui Lin #address-cells = <1>; 11961546cf06SXuhui Lin #size-cells = <0>; 11971546cf06SXuhui Lin 11981546cf06SXuhui Lin dsi_in: port@0 { 11991546cf06SXuhui Lin reg = <0>; 12001546cf06SXuhui Lin #address-cells = <1>; 12011546cf06SXuhui Lin #size-cells = <0>; 12021546cf06SXuhui Lin dsi_in_vop: endpoint@0 { 12031546cf06SXuhui Lin reg = <0>; 12041546cf06SXuhui Lin remote-endpoint = <&vop_out_dsi>; 12051546cf06SXuhui Lin status = "disabled"; 12061546cf06SXuhui Lin }; 12071546cf06SXuhui Lin }; 12081546cf06SXuhui Lin }; 12091546cf06SXuhui Lin }; 12101546cf06SXuhui Lin 121185e5c210SXuhui Lin tsadc: tsadc@ff650000 { 121285e5c210SXuhui Lin compatible = "rockchip,rk3506-tsadc"; 121385e5c210SXuhui Lin reg = <0xff650000 0x400>; 121485e5c210SXuhui Lin interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 121585e5c210SXuhui Lin clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>, <&cru CLK_TSADC_TSEN>; 121685e5c210SXuhui Lin clock-names = "tsadc", "apb_pclk", "tsen"; 121785e5c210SXuhui Lin assigned-clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>; 121885e5c210SXuhui Lin assigned-clock-rates = <1000000>, <12000000>; 121985e5c210SXuhui Lin resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>; 122085e5c210SXuhui Lin reset-names = "tsadc", "tsadc-apb"; 122185e5c210SXuhui Lin #thermal-sensor-cells = <1>; 122285e5c210SXuhui Lin rockchip,grf = <&grf>; 122385e5c210SXuhui Lin rockchip,hw-tshut-temp = <120000>; 122485e5c210SXuhui Lin rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 122585e5c210SXuhui Lin rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 122685e5c210SXuhui Lin status = "disabled"; 122785e5c210SXuhui Lin }; 122885e5c210SXuhui Lin 122985e5c210SXuhui Lin ioc1: syscon@ff660000 { 123085e5c210SXuhui Lin compatible = "rockchip,rk3506-ioc1", "syscon"; 123185e5c210SXuhui Lin reg = <0xff660000 0x10000>; 123285e5c210SXuhui Lin }; 123385e5c210SXuhui Lin 12341546cf06SXuhui Lin dsi_dphy: phy@ff670000 { 12351546cf06SXuhui Lin compatible = "rockchip,rk3506-dsi-dphy"; 12361546cf06SXuhui Lin reg = <0xff670000 0x10000>, 12371546cf06SXuhui Lin <0xff640000 0x10000>; 12381546cf06SXuhui Lin reg-names = "phy", "host"; 12391546cf06SXuhui Lin clocks = <&cru CLK_REF_DPHY_TOP>, 12401546cf06SXuhui Lin <&cru PCLK_DPHY>, <&cru PCLK_DSI_HOST>; 12411546cf06SXuhui Lin clock-names = "ref", "pclk", "pclk_host"; 12421546cf06SXuhui Lin #clock-cells = <0>; 12431546cf06SXuhui Lin resets = <&cru SRST_P_DPHY>; 12441546cf06SXuhui Lin reset-names = "apb"; 12451546cf06SXuhui Lin #phy-cells = <0>; 12461546cf06SXuhui Lin status = "disabled"; 12471546cf06SXuhui Lin }; 12481546cf06SXuhui Lin 124985e5c210SXuhui Lin crypto: crypto@ff700000 { 125085e5c210SXuhui Lin compatible = "rockchip,crypto-v4"; 125185e5c210SXuhui Lin reg = <0xff700000 0x2000>; 125285e5c210SXuhui Lin interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 125385e5c210SXuhui Lin clocks = <&cru ACLK_CRYPTO_NS>, <&cru HCLK_CRYPTO_NS>, 125485e5c210SXuhui Lin <&cru CLK_CORE_CRYPTO_NS>, <&cru CLK_PKA_CRYPTO_NS>; 125585e5c210SXuhui Lin clock-names = "aclk", "hclk", "core", "pka"; 125685e5c210SXuhui Lin resets = <&cru SRST_H_CRYPTO>; 125785e5c210SXuhui Lin reset-names = "crypto-rst"; 125885e5c210SXuhui Lin status = "disabled"; 125985e5c210SXuhui Lin }; 126085e5c210SXuhui Lin 126185e5c210SXuhui Lin rng: rng@ff710000 { 126285e5c210SXuhui Lin compatible = "rockchip,rkrng"; 126385e5c210SXuhui Lin reg = <0xff710000 0x200>; 126485e5c210SXuhui Lin interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 126585e5c210SXuhui Lin clocks = <&cru HCLK_RNG>; 126685e5c210SXuhui Lin clock-names = "hclk_trng"; 126785e5c210SXuhui Lin resets = <&cru SRST_H_RNG>; 126885e5c210SXuhui Lin reset-names = "reset"; 126985e5c210SXuhui Lin status = "disabled"; 127085e5c210SXuhui Lin }; 127185e5c210SXuhui Lin 127285e5c210SXuhui Lin usb20_otg0: usb@ff740000 { 127385e5c210SXuhui Lin compatible = "rockchip,rk3506-usb", "rockchip,rk3066-usb", 127485e5c210SXuhui Lin "snps,dwc2"; 127585e5c210SXuhui Lin reg = <0xff740000 0x40000>; 127685e5c210SXuhui Lin interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 12771546cf06SXuhui Lin clocks = <&cru HCLK_USBOTG0>, <&cru HCLK_USBOTG0_PMU>, 12781546cf06SXuhui Lin <&cru CLK_USBOTG0_ADP>; 12791546cf06SXuhui Lin clock-names = "otg", "pmu", "adp"; 128085e5c210SXuhui Lin dr_mode = "otg"; 12811546cf06SXuhui Lin phys = <&u2phy_otg0>; 12821546cf06SXuhui Lin phy-names = "usb2-phy"; 128385e5c210SXuhui Lin g-np-tx-fifo-size = <16>; 128485e5c210SXuhui Lin g-rx-fifo-size = <280>; 128585e5c210SXuhui Lin g-tx-fifo-size = <256 128 128 64 32 16>; 128685e5c210SXuhui Lin status = "disabled"; 128785e5c210SXuhui Lin }; 128885e5c210SXuhui Lin 128985e5c210SXuhui Lin usb20_otg1: usb@ff780000 { 129085e5c210SXuhui Lin compatible = "rockchip,rk3506-usb", "rockchip,rk3066-usb", 129185e5c210SXuhui Lin "snps,dwc2"; 129285e5c210SXuhui Lin reg = <0xff780000 0x40000>; 129385e5c210SXuhui Lin interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 12941546cf06SXuhui Lin clocks = <&cru HCLK_USBOTG1>, <&cru HCLK_USBOTG1_PMU>, 12951546cf06SXuhui Lin <&cru CLK_USBOTG1_ADP>; 12961546cf06SXuhui Lin clock-names = "otg", "pmu", "adp"; 129785e5c210SXuhui Lin dr_mode = "otg"; 12981546cf06SXuhui Lin phys = <&u2phy_otg1>; 12991546cf06SXuhui Lin phy-names = "usb2-phy"; 130085e5c210SXuhui Lin g-np-tx-fifo-size = <16>; 130185e5c210SXuhui Lin g-rx-fifo-size = <280>; 130285e5c210SXuhui Lin g-tx-fifo-size = <256 128 128 64 32 16>; 130385e5c210SXuhui Lin status = "disabled"; 130485e5c210SXuhui Lin }; 130585e5c210SXuhui Lin 130685e5c210SXuhui Lin arm-debug@ff810000 { 130785e5c210SXuhui Lin compatible = "rockchip,debug"; 130885e5c210SXuhui Lin reg = <0xff810000 0x1000>, 13091546cf06SXuhui Lin <0xff812000 0x1000>, 13101546cf06SXuhui Lin <0xff814000 0x1000>; 131185e5c210SXuhui Lin }; 131285e5c210SXuhui Lin 131385e5c210SXuhui Lin flexbus: flexbus@ff880000 { 131485e5c210SXuhui Lin compatible = "rockchip,rk3506-flexbus"; 131585e5c210SXuhui Lin reg = <0xff880000 0x200>; 131685e5c210SXuhui Lin interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 131785e5c210SXuhui Lin clocks = <&cru CLK_FLEXBUS_TX>, <&cru CLK_FLEXBUS_RX>, 131885e5c210SXuhui Lin <&cru ACLK_FLEXBUS>, <&cru HCLK_FLEXBUS>; 131985e5c210SXuhui Lin clock-names = "tx_clk_flexbus", "rx_clk_flexbus", 132085e5c210SXuhui Lin "aclk_flexbus", "hclk_flexbus"; 132185e5c210SXuhui Lin rockchip,grf = <&grf>; 132285e5c210SXuhui Lin status = "disabled"; 132385e5c210SXuhui Lin 132485e5c210SXuhui Lin flexbus_adc: adc { 132585e5c210SXuhui Lin compatible = "rockchip,flexbus-adc"; 132685e5c210SXuhui Lin #io-channel-cells = <0>; 132785e5c210SXuhui Lin rockchip,slave-mode; 132885e5c210SXuhui Lin rockchip,free-sclk; 132985e5c210SXuhui Lin rockchip,auto-pad; 133085e5c210SXuhui Lin rockchip,dfs = <16>; 133185e5c210SXuhui Lin status = "disabled"; 133285e5c210SXuhui Lin }; 133385e5c210SXuhui Lin 13341546cf06SXuhui Lin flexbus_cif: cif { 13351546cf06SXuhui Lin compatible = "rockchip,flexbus-cif-rk3506"; 13361546cf06SXuhui Lin status = "disabled"; 13371546cf06SXuhui Lin }; 13381546cf06SXuhui Lin 133985e5c210SXuhui Lin flexbus_dac: dac { 134085e5c210SXuhui Lin compatible = "rockchip,flexbus-dac"; 134185e5c210SXuhui Lin #io-channel-cells = <0>; 134285e5c210SXuhui Lin rockchip,free-sclk; 134385e5c210SXuhui Lin rockchip,dfs = <16>; 134485e5c210SXuhui Lin status = "disabled"; 134585e5c210SXuhui Lin }; 13461546cf06SXuhui Lin 13471546cf06SXuhui Lin flexbus_fspi: fspi { 13481546cf06SXuhui Lin compatible = "rockchip,flexbus-fspi"; 13491546cf06SXuhui Lin #address-cells = <1>; 13501546cf06SXuhui Lin #size-cells = <0>; 13511546cf06SXuhui Lin status = "disabled"; 13521546cf06SXuhui Lin }; 135385e5c210SXuhui Lin }; 135485e5c210SXuhui Lin 135585e5c210SXuhui Lin dsmc_lb_slave: dsmc-lb-slave@ff880000 { 135685e5c210SXuhui Lin compatible = "rockchip,rk3506-dsmc-lb-slave"; 135785e5c210SXuhui Lin reg = <0xff880000 0x10000>; 135885e5c210SXuhui Lin #address-cells = <1>; 135985e5c210SXuhui Lin #size-cells = <1>; 136085e5c210SXuhui Lin rockchip,grf = <&grf>; 136185e5c210SXuhui Lin interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 136285e5c210SXuhui Lin resets = <&cru SRST_DSMC_SLV>, <&cru SRST_A_DSMC_SLV>, 136385e5c210SXuhui Lin <&cru SRST_H_DSMC_SLV>; 136485e5c210SXuhui Lin reset-names = "dsmc_slv", "a_dsmc_slv", "h_dsmc_slv"; 136585e5c210SXuhui Lin clocks = <&cru ACLK_DSMC_SLV>, 136685e5c210SXuhui Lin <&cru HCLK_DSMC_SLV>; 136785e5c210SXuhui Lin clock-names = "aclk_dsmc_slv", "hclk_dsmc_slv"; 136885e5c210SXuhui Lin status = "disabled"; 136985e5c210SXuhui Lin }; 137085e5c210SXuhui Lin 137185e5c210SXuhui Lin dsmc: dsmc@ff8b0000 { 137285e5c210SXuhui Lin compatible = "rockchip,rk3506-dsmc"; 137385e5c210SXuhui Lin reg = <0xff8b0000 0x10000>; 137485e5c210SXuhui Lin #address-cells = <1>; 137585e5c210SXuhui Lin #size-cells = <1>; 137685e5c210SXuhui Lin rockchip,grf = <&ioc_grf>; 137785e5c210SXuhui Lin interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 137885e5c210SXuhui Lin resets = <&cru SRST_A_DSMC>, <&cru SRST_P_DSMC>; 137985e5c210SXuhui Lin reset-names = "dsmc", "apb"; 138085e5c210SXuhui Lin clocks = <&cru CLK_DSMC>, 138185e5c210SXuhui Lin <&cru ACLK_DSMC>, 138285e5c210SXuhui Lin <&cru PCLK_DSMC>, 138385e5c210SXuhui Lin <&cru CLK_DSMC>; 138485e5c210SXuhui Lin clock-names = "clk_sys", "aclk_dsmc", "pclk", "aclk_root"; 138585e5c210SXuhui Lin clock-frequency = <100000000>; 13861546cf06SXuhui Lin dmas = <&dmac0 2 0xff288078 0x80000000 0xff2880a8 0x00300000>, 13871546cf06SXuhui Lin <&dmac0 3 0xff288078 0x40000000 0xff2880a8 0x00c00000>; 13881546cf06SXuhui Lin // dmas = <&dmac0 8 0xff288078 0x80008000 0xff2880ac 0x00030000>, 13891546cf06SXuhui Lin // <&dmac0 10 0xff288078 0x40004000 0xff2880ac 0x00300000>; 139085e5c210SXuhui Lin dma-names = "req0", "req1"; 139185e5c210SXuhui Lin status = "disabled"; 139285e5c210SXuhui Lin slave { 139385e5c210SXuhui Lin rockchip,dqs-dll = <0x40 0x40 139485e5c210SXuhui Lin 0x40 0x40 139585e5c210SXuhui Lin 0x40 0x40 139685e5c210SXuhui Lin 0x40 0x40>; 139785e5c210SXuhui Lin rockchip,ranges = <0x0 0xc0000000 0x0 0x2000000>; 139885e5c210SXuhui Lin rockchip,slave-dev = <&dsmc_slave>; 139985e5c210SXuhui Lin }; 140085e5c210SXuhui Lin }; 140185e5c210SXuhui Lin 140285e5c210SXuhui Lin dsmc_slave: dsmc-slave { 140385e5c210SXuhui Lin compatible = "rockchip,dsmc-slave"; 140485e5c210SXuhui Lin rockchip,clk-mode = <0>; 140585e5c210SXuhui Lin status = "disabled"; 140685e5c210SXuhui Lin psram { 140785e5c210SXuhui Lin dsmc_psram0: psram0 { 140885e5c210SXuhui Lin status = "disabled"; 140985e5c210SXuhui Lin }; 141085e5c210SXuhui Lin dsmc_psram1: psram1 { 141185e5c210SXuhui Lin status = "disabled"; 141285e5c210SXuhui Lin }; 141385e5c210SXuhui Lin dsmc_psram2: psram2 { 141485e5c210SXuhui Lin status = "disabled"; 141585e5c210SXuhui Lin }; 141685e5c210SXuhui Lin dsmc_psram3: psram3 { 141785e5c210SXuhui Lin status = "disabled"; 141885e5c210SXuhui Lin }; 141985e5c210SXuhui Lin }; 142085e5c210SXuhui Lin 142185e5c210SXuhui Lin lb-slave { 142285e5c210SXuhui Lin dsmc_lb_slave0: lb-slave0 { 142385e5c210SXuhui Lin status = "disabled"; 142485e5c210SXuhui Lin dsmc_p0_region: region { 142585e5c210SXuhui Lin dsmc_p0_region0: region0 { 142685e5c210SXuhui Lin rockchip,attribute = "Merged FIFO"; 142785e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 142885e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 142985e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 143085e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 143185e5c210SXuhui Lin status = "disabled"; 143285e5c210SXuhui Lin }; 143385e5c210SXuhui Lin dsmc_p0_region1: region1 { 143485e5c210SXuhui Lin rockchip,attribute = "No-Merge FIFO"; 143585e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 143685e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 143785e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 143885e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 143985e5c210SXuhui Lin status = "disabled"; 144085e5c210SXuhui Lin }; 144185e5c210SXuhui Lin dsmc_p0_region2: region2 { 144285e5c210SXuhui Lin rockchip,attribute = "DPRA"; 144385e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 144485e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 144585e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 144685e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 144785e5c210SXuhui Lin status = "disabled"; 144885e5c210SXuhui Lin }; 144985e5c210SXuhui Lin dsmc_p0_region3: region3 { 145085e5c210SXuhui Lin rockchip,attribute = "Register"; 145185e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 145285e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 145385e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 145485e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 145585e5c210SXuhui Lin status = "disabled"; 145685e5c210SXuhui Lin }; 145785e5c210SXuhui Lin }; 145885e5c210SXuhui Lin }; 145985e5c210SXuhui Lin dsmc_lb_slave1: lb-slave1 { 146085e5c210SXuhui Lin status = "disabled"; 146185e5c210SXuhui Lin dsmc_p1_region: region { 146285e5c210SXuhui Lin dsmc_p1_region0: region0 { 146385e5c210SXuhui Lin rockchip,attribute = "Merged FIFO"; 146485e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 146585e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 146685e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 146785e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 146885e5c210SXuhui Lin status = "disabled"; 146985e5c210SXuhui Lin }; 147085e5c210SXuhui Lin dsmc_p1_region1: region1 { 147185e5c210SXuhui Lin rockchip,attribute = "No-Merge FIFO"; 147285e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 147385e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 147485e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 147585e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 147685e5c210SXuhui Lin status = "disabled"; 147785e5c210SXuhui Lin }; 147885e5c210SXuhui Lin dsmc_p1_region2: region2 { 147985e5c210SXuhui Lin rockchip,attribute = "DPRA"; 148085e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 148185e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 148285e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 148385e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 148485e5c210SXuhui Lin status = "disabled"; 148585e5c210SXuhui Lin }; 148685e5c210SXuhui Lin dsmc_p1_region3: region3 { 148785e5c210SXuhui Lin rockchip,attribute = "Register"; 148885e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 148985e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 149085e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 149185e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 149285e5c210SXuhui Lin status = "disabled"; 149385e5c210SXuhui Lin }; 149485e5c210SXuhui Lin }; 149585e5c210SXuhui Lin }; 149685e5c210SXuhui Lin dsmc_lb_slave2: lb-slave2 { 149785e5c210SXuhui Lin status = "disabled"; 149885e5c210SXuhui Lin dsmc_p2_region: region { 149985e5c210SXuhui Lin dsmc_p2_region0: region0 { 150085e5c210SXuhui Lin rockchip,attribute = "Merged FIFO"; 150185e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 150285e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 150385e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 150485e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 150585e5c210SXuhui Lin status = "disabled"; 150685e5c210SXuhui Lin }; 150785e5c210SXuhui Lin dsmc_p2_region1: region1 { 150885e5c210SXuhui Lin rockchip,attribute = "No-Merge FIFO"; 150985e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 151085e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 151185e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 151285e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 151385e5c210SXuhui Lin status = "disabled"; 151485e5c210SXuhui Lin }; 151585e5c210SXuhui Lin dsmc_p2_region2: region2 { 151685e5c210SXuhui Lin rockchip,attribute = "DPRA"; 151785e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 151885e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 151985e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 152085e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 152185e5c210SXuhui Lin status = "disabled"; 152285e5c210SXuhui Lin }; 152385e5c210SXuhui Lin dsmc_p2_region3: region3 { 152485e5c210SXuhui Lin rockchip,attribute = "Register"; 152585e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 152685e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 152785e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 152885e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 152985e5c210SXuhui Lin status = "disabled"; 153085e5c210SXuhui Lin }; 153185e5c210SXuhui Lin }; 153285e5c210SXuhui Lin }; 153385e5c210SXuhui Lin dsmc_lb_slave3: lb-slave3 { 153485e5c210SXuhui Lin status = "disabled"; 153585e5c210SXuhui Lin dsmc_p3_region: region { 153685e5c210SXuhui Lin dsmc_p3_region0: region0 { 153785e5c210SXuhui Lin rockchip,attribute = "Merged FIFO"; 153885e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 153985e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 154085e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 154185e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 154285e5c210SXuhui Lin status = "disabled"; 154385e5c210SXuhui Lin }; 154485e5c210SXuhui Lin dsmc_p3_region1: region1 { 154585e5c210SXuhui Lin rockchip,attribute = "No-Merge FIFO"; 154685e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 154785e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 154885e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 154985e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 155085e5c210SXuhui Lin status = "disabled"; 155185e5c210SXuhui Lin }; 155285e5c210SXuhui Lin dsmc_p3_region2: region2 { 155385e5c210SXuhui Lin rockchip,attribute = "DPRA"; 155485e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 155585e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 155685e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 155785e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 155885e5c210SXuhui Lin status = "disabled"; 155985e5c210SXuhui Lin }; 156085e5c210SXuhui Lin dsmc_p3_region3: region3 { 156185e5c210SXuhui Lin rockchip,attribute = "Register"; 156285e5c210SXuhui Lin rockchip,ca-addr-width = <0>; 156385e5c210SXuhui Lin rockchip,dummy-clk-num = <1>; 156485e5c210SXuhui Lin rockchip,cs0-be-ctrled = <0>; 156585e5c210SXuhui Lin rockchip,cs0-ctrl = <0>; 156685e5c210SXuhui Lin status = "disabled"; 156785e5c210SXuhui Lin }; 156885e5c210SXuhui Lin }; 156985e5c210SXuhui Lin }; 157085e5c210SXuhui Lin }; 157185e5c210SXuhui Lin }; 157285e5c210SXuhui Lin 157385e5c210SXuhui Lin grf_pmu: syscon@ff910000 { 15741546cf06SXuhui Lin compatible = "rockchip,rk3506-grf-pmu", "syscon", "simple-mfd"; 157585e5c210SXuhui Lin reg = <0xff910000 0x4000>; 15761546cf06SXuhui Lin 15771546cf06SXuhui Lin reboot_mode: reboot-mode { 15781546cf06SXuhui Lin compatible = "syscon-reboot-mode"; 15791546cf06SXuhui Lin offset = <0x200>; 15801546cf06SXuhui Lin mode-bootloader = <BOOT_BL_DOWNLOAD>; 15811546cf06SXuhui Lin mode-charge = <BOOT_CHARGING>; 15821546cf06SXuhui Lin mode-fastboot = <BOOT_FASTBOOT>; 15831546cf06SXuhui Lin mode-loader = <BOOT_BL_DOWNLOAD>; 15841546cf06SXuhui Lin mode-normal = <BOOT_NORMAL>; 15851546cf06SXuhui Lin mode-recovery = <BOOT_RECOVERY>; 15861546cf06SXuhui Lin mode-ums = <BOOT_UMS>; 15871546cf06SXuhui Lin mode-panic = <BOOT_PANIC>; 15881546cf06SXuhui Lin mode-watchdog = <BOOT_WATCHDOG>; 15891546cf06SXuhui Lin }; 159085e5c210SXuhui Lin }; 159185e5c210SXuhui Lin 159285e5c210SXuhui Lin pwm0_4ch_0: pwm@ff930000 { 159385e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 159485e5c210SXuhui Lin reg = <0xff930000 0x200>; 159585e5c210SXuhui Lin interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 159685e5c210SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 159785e5c210SXuhui Lin clock-names = "pwm", "pclk"; 159885e5c210SXuhui Lin #pwm-cells = <3>; 159985e5c210SXuhui Lin status = "disabled"; 160085e5c210SXuhui Lin }; 160185e5c210SXuhui Lin 160285e5c210SXuhui Lin pwm0_4ch_1: pwm@ff931000 { 160385e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 160485e5c210SXuhui Lin reg = <0xff931000 0x200>; 160585e5c210SXuhui Lin interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 160685e5c210SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 160785e5c210SXuhui Lin clock-names = "pwm", "pclk"; 160885e5c210SXuhui Lin #pwm-cells = <3>; 160985e5c210SXuhui Lin status = "disabled"; 161085e5c210SXuhui Lin }; 161185e5c210SXuhui Lin 161285e5c210SXuhui Lin pwm0_4ch_2: pwm@ff932000 { 161385e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 161485e5c210SXuhui Lin reg = <0xff932000 0x200>; 161585e5c210SXuhui Lin interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 161685e5c210SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 161785e5c210SXuhui Lin clock-names = "pwm", "pclk"; 161885e5c210SXuhui Lin #pwm-cells = <3>; 161985e5c210SXuhui Lin status = "disabled"; 162085e5c210SXuhui Lin }; 162185e5c210SXuhui Lin 162285e5c210SXuhui Lin pwm0_4ch_3: pwm@ff933000 { 162385e5c210SXuhui Lin compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm"; 162485e5c210SXuhui Lin reg = <0xff933000 0x200>; 162585e5c210SXuhui Lin interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 162685e5c210SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 162785e5c210SXuhui Lin clock-names = "pwm", "pclk"; 162885e5c210SXuhui Lin #pwm-cells = <3>; 162985e5c210SXuhui Lin status = "disabled"; 163085e5c210SXuhui Lin }; 163185e5c210SXuhui Lin 163285e5c210SXuhui Lin ioc_pmu: syscon@ff950000 { 163385e5c210SXuhui Lin compatible = "rockchip,rk3506-ioc-pmu", "syscon"; 163485e5c210SXuhui Lin reg = <0xff950000 0x10000>; 163585e5c210SXuhui Lin }; 163685e5c210SXuhui Lin 163785e5c210SXuhui Lin cru: clock-controller@ff9a0000 { 163885e5c210SXuhui Lin compatible = "rockchip,rk3506-cru"; 163985e5c210SXuhui Lin reg = <0xff9a0000 0x20000>; 164085e5c210SXuhui Lin rockchip,grf = <&grf>; 164185e5c210SXuhui Lin #clock-cells = <1>; 164285e5c210SXuhui Lin #reset-cells = <1>; 164385e5c210SXuhui Lin }; 164485e5c210SXuhui Lin 164585e5c210SXuhui Lin pinctrl: pinctrl { 164685e5c210SXuhui Lin compatible = "rockchip,rk3506-pinctrl"; 164785e5c210SXuhui Lin rockchip,grf = <&ioc_grf>; 164885e5c210SXuhui Lin rockchip,ioc1 = <&ioc1>; 164985e5c210SXuhui Lin rockchip,pmu = <&ioc_pmu>; 165085e5c210SXuhui Lin rockchip,rmio = <&grf_pmu>; 165185e5c210SXuhui Lin #address-cells = <1>; 165285e5c210SXuhui Lin #size-cells = <1>; 165385e5c210SXuhui Lin ranges; 165485e5c210SXuhui Lin 165585e5c210SXuhui Lin gpio0: gpio@ff940000 { 165685e5c210SXuhui Lin compatible = "rockchip,gpio-bank"; 165785e5c210SXuhui Lin reg = <0xff940000 0x200>; 165885e5c210SXuhui Lin interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 165985e5c210SXuhui Lin clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>; 166085e5c210SXuhui Lin 166185e5c210SXuhui Lin gpio-controller; 166285e5c210SXuhui Lin #gpio-cells = <2>; 166385e5c210SXuhui Lin gpio-ranges = <&pinctrl 0 0 32>; 166485e5c210SXuhui Lin interrupt-controller; 166585e5c210SXuhui Lin #interrupt-cells = <2>; 166685e5c210SXuhui Lin }; 166785e5c210SXuhui Lin 166885e5c210SXuhui Lin gpio1: gpio@ff870000 { 166985e5c210SXuhui Lin compatible = "rockchip,gpio-bank"; 167085e5c210SXuhui Lin reg = <0xff870000 0x200>; 167185e5c210SXuhui Lin interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 167285e5c210SXuhui Lin clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 167385e5c210SXuhui Lin 167485e5c210SXuhui Lin gpio-controller; 167585e5c210SXuhui Lin #gpio-cells = <2>; 167685e5c210SXuhui Lin gpio-ranges = <&pinctrl 0 32 32>; 167785e5c210SXuhui Lin interrupt-controller; 167885e5c210SXuhui Lin #interrupt-cells = <2>; 167985e5c210SXuhui Lin }; 168085e5c210SXuhui Lin 168185e5c210SXuhui Lin gpio2: gpio@ff1c0000 { 168285e5c210SXuhui Lin compatible = "rockchip,gpio-bank"; 168385e5c210SXuhui Lin reg = <0xff1c0000 0x200>; 168485e5c210SXuhui Lin interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 168585e5c210SXuhui Lin clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 168685e5c210SXuhui Lin 168785e5c210SXuhui Lin gpio-controller; 168885e5c210SXuhui Lin #gpio-cells = <2>; 168985e5c210SXuhui Lin gpio-ranges = <&pinctrl 0 64 32>; 169085e5c210SXuhui Lin interrupt-controller; 169185e5c210SXuhui Lin #interrupt-cells = <2>; 169285e5c210SXuhui Lin }; 169385e5c210SXuhui Lin 169485e5c210SXuhui Lin gpio3: gpio@ff1d0000 { 169585e5c210SXuhui Lin compatible = "rockchip,gpio-bank"; 169685e5c210SXuhui Lin reg = <0xff1d0000 0x200>; 169785e5c210SXuhui Lin interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 169885e5c210SXuhui Lin clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 169985e5c210SXuhui Lin 170085e5c210SXuhui Lin gpio-controller; 170185e5c210SXuhui Lin #gpio-cells = <2>; 170285e5c210SXuhui Lin gpio-ranges = <&pinctrl 0 96 32>; 170385e5c210SXuhui Lin interrupt-controller; 170485e5c210SXuhui Lin #interrupt-cells = <2>; 170585e5c210SXuhui Lin }; 170685e5c210SXuhui Lin 170785e5c210SXuhui Lin gpio4: gpio@ff1e0000 { 170885e5c210SXuhui Lin compatible = "rockchip,gpio-bank"; 170985e5c210SXuhui Lin reg = <0xff1e0000 0x200>; 171085e5c210SXuhui Lin interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 171185e5c210SXuhui Lin clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 171285e5c210SXuhui Lin 171385e5c210SXuhui Lin gpio-controller; 171485e5c210SXuhui Lin #gpio-cells = <2>; 171585e5c210SXuhui Lin gpio-ranges = <&pinctrl 0 128 32>; 171685e5c210SXuhui Lin interrupt-controller; 171785e5c210SXuhui Lin #interrupt-cells = <2>; 171885e5c210SXuhui Lin }; 171985e5c210SXuhui Lin }; 172085e5c210SXuhui Lin}; 172185e5c210SXuhui Lin 172285e5c210SXuhui Lin#include "rk3506-pinctrl.dtsi" 172385e5c210SXuhui Lin#include "rk3506-pinctrl-rmio.dtsi" 1724