1724 lines
46 KiB
Plaintext
1724 lines
46 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Copyright (c) 2023 Rockchip Electronics Co., Ltd.
|
|
*/
|
|
|
|
#include <dt-bindings/clock/rockchip,rk3506-cru.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/pinctrl/rockchip.h>
|
|
#include <dt-bindings/soc/rockchip,boot-mode.h>
|
|
|
|
/ {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
compatible = "rockchip,rk3506";
|
|
|
|
interrupt-parent = <&gic>;
|
|
|
|
aliases {
|
|
ethernet0 = &gmac0;
|
|
ethernet1 = &gmac1;
|
|
gpio0 = &gpio0;
|
|
gpio1 = &gpio1;
|
|
gpio2 = &gpio2;
|
|
gpio3 = &gpio3;
|
|
gpio4 = &gpio4;
|
|
i2c0 = &i2c0;
|
|
i2c1 = &i2c1;
|
|
i2c2 = &i2c2;
|
|
serial0 = &uart0;
|
|
serial1 = &uart1;
|
|
serial2 = &uart2;
|
|
serial3 = &uart3;
|
|
serial4 = &uart4;
|
|
serial5 = &uart5;
|
|
spi0 = &spi0;
|
|
spi1 = &spi1;
|
|
spi2 = &fspi;
|
|
spi3 = &flexbus_fspi;
|
|
};
|
|
|
|
clocks {
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
clk_rc: clk-rc {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <400000>;
|
|
clock-output-names = "clk_rc";
|
|
};
|
|
|
|
xin24m: xin24m {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <24000000>;
|
|
clock-output-names = "xin24m";
|
|
};
|
|
|
|
xin32k: xin32k {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <32768>;
|
|
clock-output-names = "xin32k";
|
|
};
|
|
|
|
mclkin_sai0: mclkin-sai0 {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <0>;
|
|
clock-output-names = "sai0_mclk_in";
|
|
};
|
|
|
|
mclkin_sai1: mclkin-sai1 {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <0>;
|
|
clock-output-names = "sai1_mclk_in";
|
|
};
|
|
|
|
mclkin_sai2: mclkin-sai2 {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <0>;
|
|
clock-output-names = "sai2_mclk_in";
|
|
};
|
|
|
|
mclkin_sai3: mclkin-sai3 {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <0>;
|
|
clock-output-names = "sai3_mclk_in";
|
|
};
|
|
|
|
mclkout_sai0: mclkout-sai0@ff910004 {
|
|
compatible = "rockchip,clk-out";
|
|
reg = <0xff910004 0x4>;
|
|
clocks = <&cru MCLK_OUT_SAI0>;
|
|
#clock-cells = <0>;
|
|
clock-output-names = "mclk_sai0_to_io";
|
|
rockchip,bit-shift = <8>;
|
|
};
|
|
|
|
mclkout_sai1: mclkout-sai1@ff910004 {
|
|
compatible = "rockchip,clk-out";
|
|
reg = <0xff910004 0x4>;
|
|
clocks = <&cru MCLK_OUT_SAI1>;
|
|
#clock-cells = <0>;
|
|
clock-output-names = "mclk_sai1_to_io";
|
|
rockchip,bit-shift = <9>;
|
|
};
|
|
|
|
mclkout_sai2: mclkout-sai2@ff288004 {
|
|
compatible = "rockchip,clk-out";
|
|
reg = <0xff288004 0x4>;
|
|
clocks = <&cru MCLK_OUT_SAI2>;
|
|
#clock-cells = <0>;
|
|
clock-output-names = "mclk_sai2_to_io";
|
|
rockchip,bit-shift = <2>;
|
|
};
|
|
|
|
mclkout_sai3: mclkout-sai3@ff288004 {
|
|
compatible = "rockchip,clk-out";
|
|
reg = <0xff288004 0x4>;
|
|
clocks = <&cru MCLK_OUT_SAI3>;
|
|
#clock-cells = <0>;
|
|
clock-output-names = "mclk_sai3_to_io";
|
|
rockchip,bit-shift = <3>;
|
|
};
|
|
|
|
pvtpll_core: pvtpll-core@ff840000 {
|
|
compatible = "rockchip,rk3506-core-pvtpll", "syscon";
|
|
reg = <0xff840000 0x100>;
|
|
#clock-cells = <0>;
|
|
clock-output-names = "clk_core_pvtpll";
|
|
assigned-clocks = <&pvtpll_core>;
|
|
assigned-clock-rates = <1200000000>;
|
|
};
|
|
};
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu0: cpu@f00 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a7";
|
|
reg = <0xf00>;
|
|
enable-method = "psci";
|
|
clocks = <&cru ARMCLK>;
|
|
operating-points-v2 = <&cpu0_opp_table>;
|
|
};
|
|
|
|
cpu1: cpu@f01 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a7";
|
|
reg = <0xf01>;
|
|
enable-method = "psci";
|
|
clocks = <&cru ARMCLK>;
|
|
operating-points-v2 = <&cpu0_opp_table>;
|
|
};
|
|
|
|
cpu2: cpu@f02 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a7";
|
|
reg = <0xf02>;
|
|
enable-method = "psci";
|
|
clocks = <&cru ARMCLK>;
|
|
operating-points-v2 = <&cpu0_opp_table>;
|
|
};
|
|
};
|
|
|
|
cpu0_opp_table: cpu0-opp-table {
|
|
compatible = "operating-points-v2";
|
|
opp-shared;
|
|
|
|
nvmem-cells = <&cpu_leakage>;
|
|
nvmem-cell-names = "leakage";
|
|
|
|
rockchip,pvtm-voltage-sel = <
|
|
0 1584 0
|
|
1585 1619 1
|
|
1620 1654 2
|
|
1655 1689 3
|
|
1690 1724 4
|
|
1725 1759 5
|
|
1760 1794 6
|
|
1795 9999 7
|
|
>;
|
|
rockchip,pvtm-pvtpll;
|
|
rockchip,pvtm-offset = <0x18>;
|
|
rockchip,pvtm-sample-time = <500>;
|
|
rockchip,pvtm-freq = <1608000>;
|
|
rockchip,pvtm-volt = <1000000>;
|
|
rockchip,pvtm-ref-temp = <40>;
|
|
rockchip,pvtm-temp-prop = <0 0>;
|
|
rockchip,pvtm-thermal-zone = "soc-thermal";
|
|
rockchip,grf = <&pvtpll_core>;
|
|
rockchip,temp-hysteresis = <5000>;
|
|
rockchip,low-temp = <10000>;
|
|
rockchip,low-temp-min-volt = <900000>;
|
|
|
|
opp-600000000 {
|
|
opp-hz = /bits/ 64 <600000000>;
|
|
opp-microvolt = <850000 850000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
opp-suspend;
|
|
};
|
|
opp-800000000 {
|
|
opp-hz = /bits/ 64 <800000000>;
|
|
opp-microvolt = <850000 850000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1008000000 {
|
|
opp-hz = /bits/ 64 <1008000000>;
|
|
opp-microvolt = <850000 850000 1000000>;
|
|
opp-microvolt-L0 = <875000 875000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1200000000 {
|
|
opp-hz = /bits/ 64 <1200000000>;
|
|
opp-microvolt = <850000 850000 1000000>;
|
|
opp-microvolt-L0 = <875000 875000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1296000000 {
|
|
opp-hz = /bits/ 64 <1296000000>;
|
|
opp-microvolt = <900000 900000 1000000>;
|
|
opp-microvolt-L0 = <900000 900000 1000000>;
|
|
opp-microvolt-L1 = <887500 887500 1000000>;
|
|
opp-microvolt-L2 = <875000 875000 1000000>;
|
|
opp-microvolt-L3 = <862500 862500 1000000>;
|
|
opp-microvolt-L4 = <850000 850000 1000000>;
|
|
opp-microvolt-L5 = <850000 850000 1000000>;
|
|
opp-microvolt-L6 = <850000 850000 1000000>;
|
|
opp-microvolt-L7 = <850000 850000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1416000000 {
|
|
opp-hz = /bits/ 64 <1416000000>;
|
|
opp-microvolt = <937500 937500 1000000>;
|
|
opp-microvolt-L0 = <937500 937500 1000000>;
|
|
opp-microvolt-L1 = <925000 925000 1000000>;
|
|
opp-microvolt-L2 = <912500 912500 1000000>;
|
|
opp-microvolt-L3 = <900000 900000 1000000>;
|
|
opp-microvolt-L4 = <887500 887500 1000000>;
|
|
opp-microvolt-L5 = <875000 875000 1000000>;
|
|
opp-microvolt-L6 = <862500 862500 1000000>;
|
|
opp-microvolt-L7 = <850000 850000 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
opp-1512000000 {
|
|
opp-hz = /bits/ 64 <1512000000>;
|
|
opp-microvolt = <975000 975000 1000000>;
|
|
opp-microvolt-L0 = <975000 975000 1000000>;
|
|
opp-microvolt-L1 = <962500 962500 1000000>;
|
|
opp-microvolt-L2 = <950000 950000 1000000>;
|
|
opp-microvolt-L3 = <937500 937500 1000000>;
|
|
opp-microvolt-L4 = <925000 925000 1000000>;
|
|
opp-microvolt-L5 = <912500 912000 1000000>;
|
|
opp-microvolt-L6 = <900000 900000 1000000>;
|
|
opp-microvolt-L7 = <887500 887500 1000000>;
|
|
clock-latency-ns = <40000>;
|
|
};
|
|
};
|
|
|
|
arm_pmu: arm-pmu {
|
|
compatible = "arm,cortex-a7-pmu";
|
|
interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>;
|
|
};
|
|
|
|
cpuinfo {
|
|
compatible = "rockchip,cpuinfo";
|
|
nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>;
|
|
nvmem-cell-names = "id", "cpu-version", "cpu-code";
|
|
};
|
|
|
|
display_subsystem: display-subsystem {
|
|
compatible = "rockchip,display-subsystem";
|
|
ports = <&vop_out>;
|
|
status = "disabled";
|
|
|
|
route {
|
|
route_dsi: route-dsi {
|
|
status = "disabled";
|
|
logo,uboot = "logo.bmp";
|
|
logo,kernel = "logo_kernel.bmp";
|
|
logo,mode = "center";
|
|
charge_logo,mode = "center";
|
|
connect = <&vop_out_dsi>;
|
|
};
|
|
|
|
route_rgb: route-rgb {
|
|
status = "disabled";
|
|
logo,uboot = "logo.bmp";
|
|
logo,kernel = "logo_kernel.bmp";
|
|
logo,mode = "center";
|
|
charge_logo,mode = "center";
|
|
connect = <&vop_out_rgb>;
|
|
};
|
|
};
|
|
};
|
|
|
|
psci: psci {
|
|
compatible = "arm,psci-1.0";
|
|
method = "smc";
|
|
};
|
|
|
|
rockchip_system_monitor: rockchip-system-monitor {
|
|
compatible = "rockchip,system-monitor";
|
|
|
|
rockchip,thermal-zone = "soc-thermal";
|
|
};
|
|
|
|
thermal_zones: thermal-zones {
|
|
soc_thermal: soc-thermal {
|
|
polling-delay-passive = <20>; /* milliseconds */
|
|
polling-delay = <1000>; /* milliseconds */
|
|
thermal-sensors = <&tsadc 0>;
|
|
trips {
|
|
soc_crit: soc-crit {
|
|
/* millicelsius */
|
|
temperature = <115000>;
|
|
/* millicelsius */
|
|
hysteresis = <2000>;
|
|
type = "critical";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
timer {
|
|
compatible = "arm,armv7-timer";
|
|
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>,
|
|
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>,
|
|
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>,
|
|
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>;
|
|
clock-frequency = <24000000>;
|
|
};
|
|
|
|
dmac0: dma-controller@ff000000 {
|
|
compatible = "arm,pl330", "arm,primecell";
|
|
reg = <0xff000000 0x4000>;
|
|
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru ACLK_DMAC0>;
|
|
clock-names = "apb_pclk";
|
|
#dma-cells = <5>;
|
|
arm,pl330-periph-burst;
|
|
};
|
|
|
|
dmac1: dma-controller@ff008000 {
|
|
compatible = "arm,pl330", "arm,primecell";
|
|
reg = <0xff008000 0x4000>;
|
|
interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru ACLK_DMAC1>;
|
|
clock-names = "apb_pclk";
|
|
#dma-cells = <5>;
|
|
arm,pl330-periph-burst;
|
|
};
|
|
|
|
i2c0: i2c@ff040000 {
|
|
compatible = "rockchip,rk3506-i2c", "rockchip,rk3399-i2c";
|
|
reg = <0xff040000 0x1000>;
|
|
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>;
|
|
clock-names = "i2c", "pclk";
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c1: i2c@ff050000 {
|
|
compatible = "rockchip,rk3506-i2c", "rockchip,rk3399-i2c";
|
|
reg = <0xff050000 0x1000>;
|
|
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
|
|
clock-names = "i2c", "pclk";
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c2: i2c@ff060000 {
|
|
compatible = "rockchip,rk3506-i2c", "rockchip,rk3399-i2c";
|
|
reg = <0xff060000 0x1000>;
|
|
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
|
|
clock-names = "i2c", "pclk";
|
|
status = "disabled";
|
|
};
|
|
|
|
uart0: serial@ff0a0000 {
|
|
compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
|
|
reg = <0xff0a0000 0x100>;
|
|
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg-shift = <2>;
|
|
reg-io-width = <4>;
|
|
dmas = <&dmac0 4 0xff2880a8 0x03000100 0x0 0x0>,
|
|
<&dmac0 5 0xff2880a8 0x0c000400 0x0 0x0>;
|
|
clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
|
|
clock-names = "baudclk", "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_xfer_pins>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart1: serial@ff0b0000 {
|
|
compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
|
|
reg = <0xff0b0000 0x100>;
|
|
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg-shift = <2>;
|
|
reg-io-width = <4>;
|
|
dmas = <&dmac0 6 0xff2880a8 0x30001000 0x0 0x0>,
|
|
<&dmac0 7 0xff2880a8 0xc0004000 0x0 0x0>;
|
|
clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
|
|
clock-names = "baudclk", "apb_pclk";
|
|
status = "disabled";
|
|
};
|
|
|
|
uart2: serial@ff0c0000 {
|
|
compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
|
|
reg = <0xff0c0000 0x100>;
|
|
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg-shift = <2>;
|
|
reg-io-width = <4>;
|
|
dmas = <&dmac0 8 0xff2880ac 0x00030001 0x0 0x0>,
|
|
<&dmac0 9 0xff2880ac 0x000c0004 0x0 0x0>;
|
|
clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
|
|
clock-names = "baudclk", "apb_pclk";
|
|
status = "disabled";
|
|
};
|
|
|
|
uart3: serial@ff0d0000 {
|
|
compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
|
|
reg = <0xff0d0000 0x100>;
|
|
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg-shift = <2>;
|
|
reg-io-width = <4>;
|
|
dmas = <&dmac0 10 0xff2880ac 0x00300010 0x0 0x0>,
|
|
<&dmac0 11 0xff2880ac 0x00c00040 0x0 0x0>;
|
|
clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
|
|
clock-names = "baudclk", "apb_pclk";
|
|
status = "disabled";
|
|
};
|
|
|
|
uart4: serial@ff0e0000 {
|
|
compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
|
|
reg = <0xff0e0000 0x100>;
|
|
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg-shift = <2>;
|
|
reg-io-width = <4>;
|
|
dmas = <&dmac1 12 0x0 0x0 0x0 0x0>, <&dmac1 13 0x0 0x0 0x0 0x0>;
|
|
clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
|
|
clock-names = "baudclk", "apb_pclk";
|
|
status = "disabled";
|
|
};
|
|
|
|
spi0: spi@ff120000 {
|
|
compatible = "rockchip,rk3506-spi", "rockchip,rk3066-spi";
|
|
reg = <0xff120000 0x1000>;
|
|
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
|
|
clock-names = "spiclk", "apb_pclk";
|
|
dmas = <&dmac0 0 0xff2880a8 0x00030001 0x0 0x0>,
|
|
<&dmac0 1 0xff2880a8 0x000c0004 0x0 0x0>;
|
|
dma-names = "tx", "rx";
|
|
num-cs = <2>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&spi0_csn0_pins &spi0_csn1_pins &spi0_clk_pins>;
|
|
status = "disabled";
|
|
};
|
|
|
|
spi1: spi@ff130000 {
|
|
compatible = "rockchip,rk3506-spi", "rockchip,rk3066-spi";
|
|
reg = <0xff130000 0x1000>;
|
|
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
|
|
clock-names = "spiclk", "apb_pclk";
|
|
dmas = <&dmac0 2 0xff2880a8 0x00300010 0x0 0x0>,
|
|
<&dmac0 3 0xff2880a8 0x00c00040 0x0 0x0>;
|
|
dma-names = "tx", "rx";
|
|
num-cs = <2>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&spi1_csn0_pins &spi1_csn1_pins &spi1_clk_pins>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm1_8ch_0: pwm@ff170000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff170000 0x200>;
|
|
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm1_8ch_1: pwm@ff171000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff171000 0x200>;
|
|
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm1_8ch_2: pwm@ff172000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff172000 0x200>;
|
|
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm1_8ch_3: pwm@ff173000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff173000 0x200>;
|
|
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm1_8ch_4: pwm@ff174000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff174000 0x200>;
|
|
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm1_8ch_5: pwm@ff175000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff175000 0x200>;
|
|
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm1_8ch_6: pwm@ff176000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff176000 0x200>;
|
|
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm1_8ch_7: pwm@ff177000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff177000 0x200>;
|
|
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
hwlock0: hwspinlock@ff240000 {
|
|
compatible = "rockchip,hwspinlock";
|
|
reg = <0xff240000 0x20>;
|
|
#hwlock-cells = <1>;
|
|
rockchip,hwlock-num-locks = <8>;
|
|
status = "disabled";
|
|
};
|
|
|
|
hwlock1: hwspinlock@ff241000 {
|
|
compatible = "rockchip,hwspinlock";
|
|
reg = <0xff241000 0x20>;
|
|
#hwlock-cells = <1>;
|
|
rockchip,hwlock-num-locks = <8>;
|
|
status = "disabled";
|
|
};
|
|
|
|
hwlock2: hwspinlock@ff242000 {
|
|
compatible = "rockchip,hwspinlock";
|
|
reg = <0xff242000 0x20>;
|
|
#hwlock-cells = <1>;
|
|
rockchip,hwlock-num-locks = <8>;
|
|
status = "disabled";
|
|
};
|
|
|
|
hwlock3: hwspinlock@ff243000 {
|
|
compatible = "rockchip,hwspinlock";
|
|
reg = <0xff243000 0x20>;
|
|
#hwlock-cells = <1>;
|
|
rockchip,hwlock-num-locks = <8>;
|
|
status = "disabled";
|
|
};
|
|
|
|
wdt0: watchdog@ff260000 {
|
|
compatible = "snps,dw-wdt";
|
|
reg = <0xff260000 0x100>;
|
|
clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>;
|
|
clock-names = "tclk", "pclk";
|
|
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
|
|
wdt1: watchdog@ff268000 {
|
|
compatible = "snps,dw-wdt";
|
|
reg = <0xff268000 0x100>;
|
|
clocks = <&cru TCLK_WDT1>, <&cru PCLK_WDT1>;
|
|
clock-names = "tclk", "pclk";
|
|
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "disabled";
|
|
};
|
|
|
|
grf: syscon@ff288000 {
|
|
compatible = "rockchip,rk3506-grf", "syscon", "simple-mfd";
|
|
reg = <0xff288000 0x4000>;
|
|
|
|
rgb: rgb {
|
|
compatible = "rockchip,rk3506-rgb";
|
|
status = "disabled";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
rgb_in_vop: endpoint@0 {
|
|
reg = <0>;
|
|
remote-endpoint = <&vop_out_rgb>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
mailbox0: mailbox@ff290000 {
|
|
compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox";
|
|
reg = <0xff290000 0x20>;
|
|
interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_MAILBOX>;
|
|
clock-names = "pclk_mailbox";
|
|
#mbox-cells = <1>;
|
|
status = "disabled";
|
|
};
|
|
|
|
mailbox1: mailbox@ff291000 {
|
|
compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox";
|
|
reg = <0xff291000 0x20>;
|
|
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_MAILBOX>;
|
|
clock-names = "pclk_mailbox";
|
|
#mbox-cells = <1>;
|
|
status = "disabled";
|
|
};
|
|
|
|
mailbox2: mailbox@ff292000 {
|
|
compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox";
|
|
reg = <0xff292000 0x20>;
|
|
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_MAILBOX>;
|
|
clock-names = "pclk_mailbox";
|
|
#mbox-cells = <1>;
|
|
status = "disabled";
|
|
};
|
|
|
|
mailbox3: mailbox@ff293000 {
|
|
compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox";
|
|
reg = <0xff293000 0x20>;
|
|
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_MAILBOX>;
|
|
clock-names = "pclk_mailbox";
|
|
#mbox-cells = <1>;
|
|
status = "disabled";
|
|
};
|
|
|
|
usb2phy: usb2-phy@ff2b0000 {
|
|
compatible = "rockchip,rk3506-usb2phy";
|
|
reg = <0xff2b0000 0x8000>;
|
|
clocks = <&cru CLK_REF_USBPHY_TOP>, <&cru PCLK_USBPHY>;
|
|
clock-names = "phyclk", "apb_pclk";
|
|
#clock-cells = <0>;
|
|
rockchip,usbgrf = <&grf>;
|
|
status = "disabled";
|
|
|
|
u2phy_otg0: otg-port {
|
|
#phy-cells = <0>;
|
|
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "otg-bvalid",
|
|
"otg-id",
|
|
"linestate";
|
|
status = "disabled";
|
|
};
|
|
|
|
u2phy_otg1: host-port {
|
|
#phy-cells = <0>;
|
|
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "otg-bvalid",
|
|
"otg-id",
|
|
"linestate";
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
sai0: sai@ff300000 {
|
|
compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
|
|
reg = <0xff300000 0x1000>;
|
|
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru MCLK_SAI0>, <&cru HCLK_SAI0>;
|
|
clock-names = "mclk", "hclk";
|
|
dmas = <&dmac1 1 0xff2880a4 0x01000000 0x0 0x0>,
|
|
<&dmac1 0 0xff2880a4 0x00800000 0x0 0x0>;
|
|
// dmas = <&dmac0 9 0xff2880a4 0x01000100 0xff2880ac 0x000c0000>,
|
|
// <&dmac0 8 0xff2880a4 0x00800080 0xff2880ac 0x00030002>;
|
|
dma-names = "tx", "rx";
|
|
resets = <&cru SRST_M_SAI0>, <&cru SRST_H_SAI0>;
|
|
reset-names = "m", "h";
|
|
#sound-dai-cells = <0>;
|
|
sound-name-prefix = "SAI0";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sai0_lrck_pins
|
|
&sai0_sclk_pins
|
|
&sai0_sdi0_pins
|
|
&sai0_sdi1_pins
|
|
&sai0_sdi2_pins
|
|
&sai0_sdi3_pins
|
|
&sai0_sdo_pins>;
|
|
status = "disabled";
|
|
};
|
|
|
|
sai1: sai@ff310000 {
|
|
compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
|
|
reg = <0xff310000 0x1000>;
|
|
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru MCLK_SAI1>, <&cru HCLK_SAI1>;
|
|
clock-names = "mclk", "hclk";
|
|
dmas = <&dmac1 3 0xff2880a4 0x04000000 0x0 0x0>,
|
|
<&dmac1 2 0xff2880a4 0x02000000 0x0 0x0>;
|
|
// dmas = <&dmac0 11 0xff2880a4 0x04000400 0xff2880ac 0x00c00000>,
|
|
// <&dmac0 10 0xff2880a4 0x02000200 0xff2880ac 0x00300020>;
|
|
dma-names = "tx", "rx";
|
|
resets = <&cru SRST_M_SAI1>, <&cru SRST_H_SAI1>;
|
|
reset-names = "m", "h";
|
|
#sound-dai-cells = <0>;
|
|
sound-name-prefix = "SAI1";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sai1_lrck_pins
|
|
&sai1_sclk_pins
|
|
&sai1_sdi_pins
|
|
&sai1_sdo0_pins
|
|
&sai1_sdo1_pins
|
|
&sai1_sdo2_pins
|
|
&sai1_sdo3_pins>;
|
|
status = "disabled";
|
|
};
|
|
|
|
can0: can@ff320000 {
|
|
compatible = "rockchip,rk3506-canfd", "rockchip,rk3576-canfd";
|
|
reg = <0xff320000 0x1000>;
|
|
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_CAN0>, <&cru HCLK_CAN0>;
|
|
clock-names = "baudclk", "apb_pclk";
|
|
resets = <&cru SRST_CAN0>, <&cru SRST_H_CAN0>;
|
|
reset-names = "can", "can-apb";
|
|
status = "disabled";
|
|
};
|
|
|
|
can1: can@ff330000 {
|
|
compatible = "rockchip,rk3506-canfd", "rockchip,rk3576-canfd";
|
|
reg = <0xff330000 0x1000>;
|
|
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_CAN1>, <&cru HCLK_CAN1>;
|
|
clock-names = "baudclk", "apb_pclk";
|
|
resets = <&cru SRST_CAN1>, <&cru SRST_H_CAN1>;
|
|
reset-names = "can", "can-apb";
|
|
status = "disabled";
|
|
};
|
|
|
|
pdm: pdm@ff380000 {
|
|
compatible = "rockchip,rk3506-pdm", "rockchip,rk3576-pdm";
|
|
reg = <0xff380000 0x1000>;
|
|
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>, <&cru CLKOUT_PDM>;
|
|
clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out";
|
|
dmas = <&dmac1 9 0xff2880a4 0x00100000 0x0 0x0>;
|
|
// dmas = <&dmac0 5 0xff2880a4 0x00100010 0xff2880a8 0x0c000800>;
|
|
dma-names = "rx";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&rm_io0_pdm_clk0
|
|
&rm_io0_pdm_clk1
|
|
&rm_io0_pdm_sdi0
|
|
&rm_io0_pdm_sdi1
|
|
&rm_io0_pdm_sdi2
|
|
&rm_io0_pdm_sdi3>;
|
|
#sound-dai-cells = <0>;
|
|
sound-name-prefix = "PDM0";
|
|
status = "disabled";
|
|
};
|
|
|
|
spdif_tx: spdif-tx@ff3a0000 {
|
|
compatible = "rockchip,rk3506-spdif", "rockchip,rk3066-spdif";
|
|
reg = <0xff3a0000 0x1000>;
|
|
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru MCLK_SPDIFTX>, <&cru HCLK_SPDIFTX>;
|
|
clock-names = "mclk", "hclk";
|
|
dmas = <&dmac1 10 0xff2880a4 0x00200000 0xff2880ac 0x03000100>;
|
|
// dmas = <&dmac0 6 0xff2880a4 0x00200020 0xff2880a8 0x30000000>;
|
|
dma-names = "tx";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&rm_io0_spdif_tx>;
|
|
#sound-dai-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
spdif_rx: spdif-rx@ff3b0000 {
|
|
compatible = "rockchip,rk3506-spdifrx", "rockchip,rk3308-spdifrx";
|
|
reg = <0xff3b0000 0x1000>;
|
|
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru MCLK_SPDIFRX>, <&cru HCLK_SPDIFRX>;
|
|
clock-names = "mclk", "hclk";
|
|
dmas = <&dmac1 11 0xff2880a4 0x00400000 0xff2880ac 0x0c000400>;
|
|
// dmas = <&dmac0 7 0xff2880a4 0x00400040 0xff2880a8 0xc0000000>;
|
|
dma-names = "rx";
|
|
resets = <&cru SRST_SPDIFRX>;
|
|
reset-names = "spdifrx-m";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&rm_io0_spdif_rx>;
|
|
#sound-dai-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
mmc: mmc@ff480000 {
|
|
compatible = "rockchip,rk3506-dw-mshc", "rockchip,rk3288-dw-mshc";
|
|
reg = <0xff480000 0x4000>;
|
|
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
|
max-frequency = <150000000>;
|
|
bus-width = <4>;
|
|
clocks = <&cru HCLK_SDMMC>, <&cru CCLK_SRC_SDMMC>;
|
|
clock-names = "biu", "ciu";
|
|
fifo-depth = <0x100>;
|
|
resets = <&cru SRST_H_SDMMC>;
|
|
reset-names = "reset";
|
|
status = "disabled";
|
|
};
|
|
|
|
fspi: spi@ff488000 {
|
|
compatible = "rockchip,fspi";
|
|
reg = <0xff488000 0x4000>;
|
|
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru SCLK_FSPI>, <&cru HCLK_FSPI>;
|
|
clock-names = "clk_sfc", "hclk_sfc";
|
|
rockchip,max-dll = <0x17F>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
sai2: sai@ff498000 {
|
|
compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
|
|
reg = <0xff498000 0x1000>;
|
|
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru MCLK_SAI2>, <&cru HCLK_SAI2>;
|
|
clock-names = "mclk", "hclk";
|
|
dmas = <&dmac1 5 0x0 0x0 0x0 0x0>, <&dmac1 4 0x0 0x0 0x0 0x0>;
|
|
dma-names = "tx", "rx";
|
|
resets = <&cru SRST_M_SAI2>, <&cru SRST_H_SAI2>;
|
|
reset-names = "m", "h";
|
|
#sound-dai-cells = <0>;
|
|
sound-name-prefix = "SAI2";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sai2m0_lrck_pins
|
|
&sai2m0_sclk_pins
|
|
&sai2m0_sdi_pins
|
|
&sai2m0_sdo_pins>;
|
|
status = "disabled";
|
|
};
|
|
|
|
sai3: sai@ff4a0000 {
|
|
compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
|
|
reg = <0xff4a0000 0x1000>;
|
|
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru MCLK_SAI3>, <&cru HCLK_SAI3>;
|
|
clock-names = "mclk", "hclk";
|
|
dmas = <&dmac1 6 0x0 0x0 0x0 0x0>, <&dmac1 7 0x0 0x0 0x0 0x0>;
|
|
dma-names = "tx", "rx";
|
|
resets = <&cru SRST_M_SAI3>, <&cru SRST_H_SAI3>;
|
|
reset-names = "m", "h";
|
|
#sound-dai-cells = <0>;
|
|
sound-name-prefix = "SAI3";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sai3_lrck_pins
|
|
&sai3_sclk_pins
|
|
&sai3_sdi_pins
|
|
&sai3_sdo_pins>;
|
|
status = "disabled";
|
|
};
|
|
|
|
sai4: sai@ff4a8000 {
|
|
compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
|
|
reg = <0xff4a8000 0x1000>;
|
|
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru MCLK_SAI4>, <&cru HCLK_SAI4>;
|
|
clock-names = "mclk", "hclk";
|
|
dmas = <&dmac1 8 0x0 0x0 0x0 0x0>;
|
|
dma-names = "rx";
|
|
resets = <&cru SRST_M_SAI4>, <&cru SRST_H_SAI4>;
|
|
reset-names = "m", "h";
|
|
#sound-dai-cells = <0>;
|
|
sound-name-prefix = "SAI4";
|
|
status = "disabled";
|
|
};
|
|
|
|
acdcdig_dsm: acdcdig-dsm@ff4b0000 {
|
|
compatible = "rockchip,rk3506-dsm";
|
|
reg = <0xff4b0000 0x1000>;
|
|
clocks = <&cru MCLK_DSM>, <&cru HCLK_DSM>;
|
|
clock-names = "dac", "pclk";
|
|
resets = <&cru SRST_M_DSM>;
|
|
reset-names = "reset" ;
|
|
rockchip,grf = <&grf>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&dsm_audm0_ln_pins
|
|
&dsm_audm0_lp_pins
|
|
&dsm_audm0_rn_pins
|
|
&dsm_audm0_rp_pins>;
|
|
#sound-dai-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
gmac0: ethernet@ff4c8000 {
|
|
compatible = "rockchip,rk3506-gmac", "snps,dwmac-4.20a";
|
|
reg = <0xff4c8000 0x2000>;
|
|
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "macirq", "eth_wake_irq";
|
|
rockchip,grf = <&grf>;
|
|
clocks = <&cru CLK_MAC0>, <&cru CLK_MAC0_PTP>,
|
|
<&cru PCLK_MAC0>, <&cru ACLK_MAC0>;
|
|
clock-names = "stmmaceth", "ptp_ref",
|
|
"pclk_mac", "aclk_mac";
|
|
resets = <&cru SRST_A_MAC0>;
|
|
reset-names = "stmmaceth";
|
|
|
|
snps,mixed-burst;
|
|
snps,tso;
|
|
|
|
snps,axi-config = <&gmac0_stmmac_axi_setup>;
|
|
snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
|
|
snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
|
|
|
|
phy-mode = "rmii";
|
|
status = "disabled";
|
|
|
|
mdio0: mdio {
|
|
compatible = "snps,dwmac-mdio";
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x0>;
|
|
};
|
|
|
|
gmac0_stmmac_axi_setup: stmmac-axi-config {
|
|
snps,wr_osr_lmt = <4>;
|
|
snps,rd_osr_lmt = <8>;
|
|
snps,blen = <0 0 0 0 16 8 4>;
|
|
};
|
|
|
|
gmac0_mtl_rx_setup: rx-queues-config {
|
|
snps,rx-queues-to-use = <1>;
|
|
queue0 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
gmac0_mtl_tx_setup: tx-queues-config {
|
|
snps,tx-queues-to-use = <1>;
|
|
queue0 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
gmac1: ethernet@ff4d0000 {
|
|
compatible = "rockchip,rk3506-gmac", "snps,dwmac-4.20a";
|
|
reg = <0xff4d0000 0x2000>;
|
|
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "macirq", "eth_wake_irq";
|
|
rockchip,grf = <&grf>;
|
|
clocks = <&cru CLK_MAC1>, <&cru CLK_MAC1_PTP>,
|
|
<&cru PCLK_MAC1>, <&cru ACLK_MAC1>;
|
|
clock-names = "stmmaceth", "ptp_ref",
|
|
"pclk_mac", "aclk_mac";
|
|
resets = <&cru SRST_A_MAC1>;
|
|
reset-names = "stmmaceth";
|
|
|
|
snps,mixed-burst;
|
|
snps,tso;
|
|
|
|
snps,axi-config = <&gmac1_stmmac_axi_setup>;
|
|
snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
|
|
snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
|
|
|
|
phy-mode = "rmii";
|
|
status = "disabled";
|
|
|
|
mdio1: mdio {
|
|
compatible = "snps,dwmac-mdio";
|
|
#address-cells = <0x1>;
|
|
#size-cells = <0x0>;
|
|
};
|
|
|
|
gmac1_stmmac_axi_setup: stmmac-axi-config {
|
|
snps,wr_osr_lmt = <4>;
|
|
snps,rd_osr_lmt = <8>;
|
|
snps,blen = <0 0 0 0 16 8 4>;
|
|
};
|
|
|
|
gmac1_mtl_rx_setup: rx-queues-config {
|
|
snps,rx-queues-to-use = <1>;
|
|
queue0 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
gmac1_mtl_tx_setup: tx-queues-config {
|
|
snps,tx-queues-to-use = <1>;
|
|
queue0 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
ioc_grf: syscon@ff4d8000 {
|
|
compatible = "rockchip,rk3506-ioc-grf", "syscon";
|
|
reg = <0xff4d8000 0x8000>;
|
|
};
|
|
|
|
uart5: serial@ff4e0000 {
|
|
compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
|
|
reg = <0xff4e0000 0x100>;
|
|
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg-shift = <2>;
|
|
reg-io-width = <4>;
|
|
dmas = <&dmac1 14 0x0 0x0 0x0 0x0>, <&dmac1 15 0x0 0x0 0x0 0x0>;
|
|
clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
|
|
clock-names = "baudclk", "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart5m0_xfer_pins &uart5m0_ctsn_pins &uart5m0_rtsn_pins>;
|
|
status = "disabled";
|
|
};
|
|
|
|
saradc: adc@ff4e8000 {
|
|
compatible = "rockchip,rk3506-saradc", "rockchip,rk3562-saradc";
|
|
reg = <0xff4e8000 0x8000>;
|
|
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
|
#io-channel-cells = <1>;
|
|
clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
|
|
clock-names = "saradc", "apb_pclk";
|
|
resets = <&cru SRST_P_SARADC>;
|
|
reset-names = "saradc-apb";
|
|
status = "disabled";
|
|
};
|
|
|
|
otp: otp@ff4f0000 {
|
|
compatible = "rockchip,rk3506-otp";
|
|
reg = <0xff4f0000 0x4000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
clocks = <&cru CLK_USER_OTPC_NS>, <&cru CLK_SBPI_OTPC_NS>,
|
|
<&cru PCLK_OTPC_NS>;
|
|
clock-names = "usr", "sbpi", "apb";
|
|
resets = <&cru SRST_USER_OTPC_NS>, <&cru SRST_SBPI_OTPC_NS>,
|
|
<&cru SRST_P_OTPC_NS>;
|
|
reset-names = "usr", "sbpi", "apb";
|
|
|
|
/* Data cells */
|
|
cpu_code: cpu-code@2 {
|
|
reg = <0x02 0x2>;
|
|
};
|
|
otp_cpu_version: cpu-version@5 {
|
|
reg = <0x05 0x1>;
|
|
bits = <3 3>;
|
|
};
|
|
otp_id: id@a {
|
|
reg = <0x0a 0x10>;
|
|
};
|
|
cpu_leakage: cpu-leakage@1e {
|
|
reg = <0x1e 0x1>;
|
|
};
|
|
log_leakage: log-leakage@1f {
|
|
reg = <0x1f 0x1>;
|
|
};
|
|
};
|
|
|
|
audio_codec: audio-codec@ff4f8000 {
|
|
compatible = "rockchip,rk3506-codec";
|
|
reg = <0xff4f8000 0x1000>;
|
|
#sound-dai-cells = <0>;
|
|
clocks = <&cru PCLK_AUDIO_ADC>, <&cru MCLK_AUDIO_ADC>;
|
|
clock-names = "pclk", "mclk";
|
|
resets = <&cru SRST_M_AUDIO_ADC>;
|
|
reset-names = "rst";
|
|
status = "disabled";
|
|
};
|
|
|
|
gic: interrupt-controller@ff581000 {
|
|
compatible = "arm,gic-400";
|
|
reg = <0xff581000 0x1000>,
|
|
<0xff582000 0x2000>,
|
|
<0xff584000 0x2000>,
|
|
<0xff586000 0x2000>;
|
|
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
|
#interrupt-cells = <3>;
|
|
interrupt-controller;
|
|
#address-cells = <0>;
|
|
};
|
|
|
|
vop: vop@ff600000 {
|
|
compatible = "rockchip,rk3506-vop";
|
|
reg = <0xff600000 0x200>, <0xff600a00 0x400>;
|
|
reg-names = "regs", "gamma_lut";
|
|
rockchip,grf = <&grf>;
|
|
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>;
|
|
clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
|
|
status = "disabled";
|
|
|
|
vop_out: port {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
vop_out_rgb: endpoint@0 {
|
|
reg = <0>;
|
|
remote-endpoint = <&rgb_in_vop>;
|
|
};
|
|
|
|
vop_out_dsi: endpoint@1 {
|
|
reg = <1>;
|
|
remote-endpoint = <&dsi_in_vop>;
|
|
};
|
|
};
|
|
};
|
|
|
|
rga2: rga@ff610000 {
|
|
compatible = "rockchip,rga2";
|
|
reg = <0xff610000 0x1000>;
|
|
interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "rga2_irq";
|
|
clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_CORE_RGA>;
|
|
clock-names = "aclk_rga", "hclk_rga", "clk_rga";
|
|
status = "disabled";
|
|
};
|
|
|
|
dsi: dsi@ff640000 {
|
|
compatible = "rockchip,rk3506-mipi-dsi";
|
|
reg = <0xff640000 0x10000>;
|
|
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_DSI_HOST>;
|
|
clock-names = "pclk";
|
|
resets = <&cru SRST_P_DSI_HOST>;
|
|
reset-names = "apb";
|
|
phys = <&dsi_dphy>;
|
|
phy-names = "dphy";
|
|
rockchip,grf = <&grf>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disabled";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
dsi_in: port@0 {
|
|
reg = <0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
dsi_in_vop: endpoint@0 {
|
|
reg = <0>;
|
|
remote-endpoint = <&vop_out_dsi>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
tsadc: tsadc@ff650000 {
|
|
compatible = "rockchip,rk3506-tsadc";
|
|
reg = <0xff650000 0x400>;
|
|
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>, <&cru CLK_TSADC_TSEN>;
|
|
clock-names = "tsadc", "apb_pclk", "tsen";
|
|
assigned-clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>;
|
|
assigned-clock-rates = <1000000>, <12000000>;
|
|
resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>;
|
|
reset-names = "tsadc", "tsadc-apb";
|
|
#thermal-sensor-cells = <1>;
|
|
rockchip,grf = <&grf>;
|
|
rockchip,hw-tshut-temp = <120000>;
|
|
rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
|
|
rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
|
|
status = "disabled";
|
|
};
|
|
|
|
ioc1: syscon@ff660000 {
|
|
compatible = "rockchip,rk3506-ioc1", "syscon";
|
|
reg = <0xff660000 0x10000>;
|
|
};
|
|
|
|
dsi_dphy: phy@ff670000 {
|
|
compatible = "rockchip,rk3506-dsi-dphy";
|
|
reg = <0xff670000 0x10000>,
|
|
<0xff640000 0x10000>;
|
|
reg-names = "phy", "host";
|
|
clocks = <&cru CLK_REF_DPHY_TOP>,
|
|
<&cru PCLK_DPHY>, <&cru PCLK_DSI_HOST>;
|
|
clock-names = "ref", "pclk", "pclk_host";
|
|
#clock-cells = <0>;
|
|
resets = <&cru SRST_P_DPHY>;
|
|
reset-names = "apb";
|
|
#phy-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
crypto: crypto@ff700000 {
|
|
compatible = "rockchip,crypto-v4";
|
|
reg = <0xff700000 0x2000>;
|
|
interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru ACLK_CRYPTO_NS>, <&cru HCLK_CRYPTO_NS>,
|
|
<&cru CLK_CORE_CRYPTO_NS>, <&cru CLK_PKA_CRYPTO_NS>;
|
|
clock-names = "aclk", "hclk", "core", "pka";
|
|
resets = <&cru SRST_H_CRYPTO>;
|
|
reset-names = "crypto-rst";
|
|
status = "disabled";
|
|
};
|
|
|
|
rng: rng@ff710000 {
|
|
compatible = "rockchip,rkrng";
|
|
reg = <0xff710000 0x200>;
|
|
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru HCLK_RNG>;
|
|
clock-names = "hclk_trng";
|
|
resets = <&cru SRST_H_RNG>;
|
|
reset-names = "reset";
|
|
status = "disabled";
|
|
};
|
|
|
|
usb20_otg0: usb@ff740000 {
|
|
compatible = "rockchip,rk3506-usb", "rockchip,rk3066-usb",
|
|
"snps,dwc2";
|
|
reg = <0xff740000 0x40000>;
|
|
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru HCLK_USBOTG0>, <&cru HCLK_USBOTG0_PMU>,
|
|
<&cru CLK_USBOTG0_ADP>;
|
|
clock-names = "otg", "pmu", "adp";
|
|
dr_mode = "otg";
|
|
phys = <&u2phy_otg0>;
|
|
phy-names = "usb2-phy";
|
|
g-np-tx-fifo-size = <16>;
|
|
g-rx-fifo-size = <280>;
|
|
g-tx-fifo-size = <256 128 128 64 32 16>;
|
|
status = "disabled";
|
|
};
|
|
|
|
usb20_otg1: usb@ff780000 {
|
|
compatible = "rockchip,rk3506-usb", "rockchip,rk3066-usb",
|
|
"snps,dwc2";
|
|
reg = <0xff780000 0x40000>;
|
|
interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru HCLK_USBOTG1>, <&cru HCLK_USBOTG1_PMU>,
|
|
<&cru CLK_USBOTG1_ADP>;
|
|
clock-names = "otg", "pmu", "adp";
|
|
dr_mode = "otg";
|
|
phys = <&u2phy_otg1>;
|
|
phy-names = "usb2-phy";
|
|
g-np-tx-fifo-size = <16>;
|
|
g-rx-fifo-size = <280>;
|
|
g-tx-fifo-size = <256 128 128 64 32 16>;
|
|
status = "disabled";
|
|
};
|
|
|
|
arm-debug@ff810000 {
|
|
compatible = "rockchip,debug";
|
|
reg = <0xff810000 0x1000>,
|
|
<0xff812000 0x1000>,
|
|
<0xff814000 0x1000>;
|
|
};
|
|
|
|
flexbus: flexbus@ff880000 {
|
|
compatible = "rockchip,rk3506-flexbus";
|
|
reg = <0xff880000 0x200>;
|
|
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_FLEXBUS_TX>, <&cru CLK_FLEXBUS_RX>,
|
|
<&cru ACLK_FLEXBUS>, <&cru HCLK_FLEXBUS>;
|
|
clock-names = "tx_clk_flexbus", "rx_clk_flexbus",
|
|
"aclk_flexbus", "hclk_flexbus";
|
|
rockchip,grf = <&grf>;
|
|
status = "disabled";
|
|
|
|
flexbus_adc: adc {
|
|
compatible = "rockchip,flexbus-adc";
|
|
#io-channel-cells = <0>;
|
|
rockchip,slave-mode;
|
|
rockchip,free-sclk;
|
|
rockchip,auto-pad;
|
|
rockchip,dfs = <16>;
|
|
status = "disabled";
|
|
};
|
|
|
|
flexbus_cif: cif {
|
|
compatible = "rockchip,flexbus-cif-rk3506";
|
|
status = "disabled";
|
|
};
|
|
|
|
flexbus_dac: dac {
|
|
compatible = "rockchip,flexbus-dac";
|
|
#io-channel-cells = <0>;
|
|
rockchip,free-sclk;
|
|
rockchip,dfs = <16>;
|
|
status = "disabled";
|
|
};
|
|
|
|
flexbus_fspi: fspi {
|
|
compatible = "rockchip,flexbus-fspi";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
dsmc_lb_slave: dsmc-lb-slave@ff880000 {
|
|
compatible = "rockchip,rk3506-dsmc-lb-slave";
|
|
reg = <0xff880000 0x10000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
rockchip,grf = <&grf>;
|
|
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
|
resets = <&cru SRST_DSMC_SLV>, <&cru SRST_A_DSMC_SLV>,
|
|
<&cru SRST_H_DSMC_SLV>;
|
|
reset-names = "dsmc_slv", "a_dsmc_slv", "h_dsmc_slv";
|
|
clocks = <&cru ACLK_DSMC_SLV>,
|
|
<&cru HCLK_DSMC_SLV>;
|
|
clock-names = "aclk_dsmc_slv", "hclk_dsmc_slv";
|
|
status = "disabled";
|
|
};
|
|
|
|
dsmc: dsmc@ff8b0000 {
|
|
compatible = "rockchip,rk3506-dsmc";
|
|
reg = <0xff8b0000 0x10000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
rockchip,grf = <&ioc_grf>;
|
|
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
|
|
resets = <&cru SRST_A_DSMC>, <&cru SRST_P_DSMC>;
|
|
reset-names = "dsmc", "apb";
|
|
clocks = <&cru CLK_DSMC>,
|
|
<&cru ACLK_DSMC>,
|
|
<&cru PCLK_DSMC>,
|
|
<&cru CLK_DSMC>;
|
|
clock-names = "clk_sys", "aclk_dsmc", "pclk", "aclk_root";
|
|
clock-frequency = <100000000>;
|
|
dmas = <&dmac0 2 0xff288078 0x80000000 0xff2880a8 0x00300000>,
|
|
<&dmac0 3 0xff288078 0x40000000 0xff2880a8 0x00c00000>;
|
|
// dmas = <&dmac0 8 0xff288078 0x80008000 0xff2880ac 0x00030000>,
|
|
// <&dmac0 10 0xff288078 0x40004000 0xff2880ac 0x00300000>;
|
|
dma-names = "req0", "req1";
|
|
status = "disabled";
|
|
slave {
|
|
rockchip,dqs-dll = <0x40 0x40
|
|
0x40 0x40
|
|
0x40 0x40
|
|
0x40 0x40>;
|
|
rockchip,ranges = <0x0 0xc0000000 0x0 0x2000000>;
|
|
rockchip,slave-dev = <&dsmc_slave>;
|
|
};
|
|
};
|
|
|
|
dsmc_slave: dsmc-slave {
|
|
compatible = "rockchip,dsmc-slave";
|
|
rockchip,clk-mode = <0>;
|
|
status = "disabled";
|
|
psram {
|
|
dsmc_psram0: psram0 {
|
|
status = "disabled";
|
|
};
|
|
dsmc_psram1: psram1 {
|
|
status = "disabled";
|
|
};
|
|
dsmc_psram2: psram2 {
|
|
status = "disabled";
|
|
};
|
|
dsmc_psram3: psram3 {
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
lb-slave {
|
|
dsmc_lb_slave0: lb-slave0 {
|
|
status = "disabled";
|
|
dsmc_p0_region: region {
|
|
dsmc_p0_region0: region0 {
|
|
rockchip,attribute = "Merged FIFO";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p0_region1: region1 {
|
|
rockchip,attribute = "No-Merge FIFO";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p0_region2: region2 {
|
|
rockchip,attribute = "DPRA";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p0_region3: region3 {
|
|
rockchip,attribute = "Register";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|
|
dsmc_lb_slave1: lb-slave1 {
|
|
status = "disabled";
|
|
dsmc_p1_region: region {
|
|
dsmc_p1_region0: region0 {
|
|
rockchip,attribute = "Merged FIFO";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p1_region1: region1 {
|
|
rockchip,attribute = "No-Merge FIFO";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p1_region2: region2 {
|
|
rockchip,attribute = "DPRA";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p1_region3: region3 {
|
|
rockchip,attribute = "Register";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|
|
dsmc_lb_slave2: lb-slave2 {
|
|
status = "disabled";
|
|
dsmc_p2_region: region {
|
|
dsmc_p2_region0: region0 {
|
|
rockchip,attribute = "Merged FIFO";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p2_region1: region1 {
|
|
rockchip,attribute = "No-Merge FIFO";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p2_region2: region2 {
|
|
rockchip,attribute = "DPRA";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p2_region3: region3 {
|
|
rockchip,attribute = "Register";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|
|
dsmc_lb_slave3: lb-slave3 {
|
|
status = "disabled";
|
|
dsmc_p3_region: region {
|
|
dsmc_p3_region0: region0 {
|
|
rockchip,attribute = "Merged FIFO";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p3_region1: region1 {
|
|
rockchip,attribute = "No-Merge FIFO";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p3_region2: region2 {
|
|
rockchip,attribute = "DPRA";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
dsmc_p3_region3: region3 {
|
|
rockchip,attribute = "Register";
|
|
rockchip,ca-addr-width = <0>;
|
|
rockchip,dummy-clk-num = <1>;
|
|
rockchip,cs0-be-ctrled = <0>;
|
|
rockchip,cs0-ctrl = <0>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
grf_pmu: syscon@ff910000 {
|
|
compatible = "rockchip,rk3506-grf-pmu", "syscon", "simple-mfd";
|
|
reg = <0xff910000 0x4000>;
|
|
|
|
reboot_mode: reboot-mode {
|
|
compatible = "syscon-reboot-mode";
|
|
offset = <0x200>;
|
|
mode-bootloader = <BOOT_BL_DOWNLOAD>;
|
|
mode-charge = <BOOT_CHARGING>;
|
|
mode-fastboot = <BOOT_FASTBOOT>;
|
|
mode-loader = <BOOT_BL_DOWNLOAD>;
|
|
mode-normal = <BOOT_NORMAL>;
|
|
mode-recovery = <BOOT_RECOVERY>;
|
|
mode-ums = <BOOT_UMS>;
|
|
mode-panic = <BOOT_PANIC>;
|
|
mode-watchdog = <BOOT_WATCHDOG>;
|
|
};
|
|
};
|
|
|
|
pwm0_4ch_0: pwm@ff930000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff930000 0x200>;
|
|
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm0_4ch_1: pwm@ff931000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff931000 0x200>;
|
|
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm0_4ch_2: pwm@ff932000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff932000 0x200>;
|
|
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pwm0_4ch_3: pwm@ff933000 {
|
|
compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
|
|
reg = <0xff933000 0x200>;
|
|
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
|
|
clock-names = "pwm", "pclk";
|
|
#pwm-cells = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
ioc_pmu: syscon@ff950000 {
|
|
compatible = "rockchip,rk3506-ioc-pmu", "syscon";
|
|
reg = <0xff950000 0x10000>;
|
|
};
|
|
|
|
cru: clock-controller@ff9a0000 {
|
|
compatible = "rockchip,rk3506-cru";
|
|
reg = <0xff9a0000 0x20000>;
|
|
rockchip,grf = <&grf>;
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
};
|
|
|
|
pinctrl: pinctrl {
|
|
compatible = "rockchip,rk3506-pinctrl";
|
|
rockchip,grf = <&ioc_grf>;
|
|
rockchip,ioc1 = <&ioc1>;
|
|
rockchip,pmu = <&ioc_pmu>;
|
|
rockchip,rmio = <&grf_pmu>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
gpio0: gpio@ff940000 {
|
|
compatible = "rockchip,gpio-bank";
|
|
reg = <0xff940000 0x200>;
|
|
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pinctrl 0 0 32>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpio1: gpio@ff870000 {
|
|
compatible = "rockchip,gpio-bank";
|
|
reg = <0xff870000 0x200>;
|
|
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pinctrl 0 32 32>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpio2: gpio@ff1c0000 {
|
|
compatible = "rockchip,gpio-bank";
|
|
reg = <0xff1c0000 0x200>;
|
|
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pinctrl 0 64 32>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpio3: gpio@ff1d0000 {
|
|
compatible = "rockchip,gpio-bank";
|
|
reg = <0xff1d0000 0x200>;
|
|
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pinctrl 0 96 32>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpio4: gpio@ff1e0000 {
|
|
compatible = "rockchip,gpio-bank";
|
|
reg = <0xff1e0000 0x200>;
|
|
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pinctrl 0 128 32>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|
|
};
|
|
|
|
#include "rk3506-pinctrl.dtsi"
|
|
#include "rk3506-pinctrl-rmio.dtsi"
|