xref: /rk3399_rockchip-uboot/arch/arm/dts/rv1106.dtsi (revision 83c2ff127273dfbcfcd0ea9f492056e0a4e2ac8f)
104e2aa7fSJoseph Chen// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
204e2aa7fSJoseph Chen/*
304e2aa7fSJoseph Chen * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
404e2aa7fSJoseph Chen */
504e2aa7fSJoseph Chen#include <dt-bindings/clock/rv1106-cru.h>
604e2aa7fSJoseph Chen#include <dt-bindings/gpio/gpio.h>
704e2aa7fSJoseph Chen#include <dt-bindings/interrupt-controller/irq.h>
804e2aa7fSJoseph Chen#include <dt-bindings/interrupt-controller/arm-gic.h>
904e2aa7fSJoseph Chen#include <dt-bindings/pinctrl/rockchip.h>
1004e2aa7fSJoseph Chen#include <dt-bindings/soc/rockchip,boot-mode.h>
1104e2aa7fSJoseph Chen#include <dt-bindings/soc/rockchip-system-status.h>
1204e2aa7fSJoseph Chen#include <dt-bindings/thermal/thermal.h>
1304e2aa7fSJoseph Chen
1404e2aa7fSJoseph Chen/ {
1504e2aa7fSJoseph Chen	#address-cells = <1>;
1604e2aa7fSJoseph Chen	#size-cells = <1>;
1704e2aa7fSJoseph Chen
1804e2aa7fSJoseph Chen	compatible = "rockchip,rv1106";
1904e2aa7fSJoseph Chen
2004e2aa7fSJoseph Chen	interrupt-parent = <&gic>;
2104e2aa7fSJoseph Chen
2204e2aa7fSJoseph Chen	aliases {
23caee0dddSDavid Wu		ethernet0 = &gmac;
2404e2aa7fSJoseph Chen		i2c0 = &i2c0;
2504e2aa7fSJoseph Chen		i2c1 = &i2c1;
2604e2aa7fSJoseph Chen		i2c2 = &i2c2;
2704e2aa7fSJoseph Chen		i2c3 = &i2c3;
2804e2aa7fSJoseph Chen		i2c4 = &i2c4;
2904e2aa7fSJoseph Chen		serial0 = &uart0;
3004e2aa7fSJoseph Chen		serial1 = &uart1;
3104e2aa7fSJoseph Chen		serial2 = &uart2;
3204e2aa7fSJoseph Chen		serial3 = &uart3;
3304e2aa7fSJoseph Chen		serial4 = &uart4;
3404e2aa7fSJoseph Chen		serial5 = &uart5;
3504e2aa7fSJoseph Chen	};
3604e2aa7fSJoseph Chen
3704e2aa7fSJoseph Chen	cpus {
3804e2aa7fSJoseph Chen		#address-cells = <1>;
3904e2aa7fSJoseph Chen		#size-cells = <0>;
4004e2aa7fSJoseph Chen
4104e2aa7fSJoseph Chen		cpu0: cpu@f00 {
4204e2aa7fSJoseph Chen			device_type = "cpu";
4304e2aa7fSJoseph Chen			compatible = "arm,cortex-a7";
4404e2aa7fSJoseph Chen			reg = <0xf00>;
4504e2aa7fSJoseph Chen		};
4604e2aa7fSJoseph Chen	};
4704e2aa7fSJoseph Chen
4804e2aa7fSJoseph Chen	arm-pmu {
4904e2aa7fSJoseph Chen		compatible = "arm,cortex-a7-pmu";
5004e2aa7fSJoseph Chen		interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
5104e2aa7fSJoseph Chen		interrupt-affinity = <&cpu0>;
5204e2aa7fSJoseph Chen	};
5304e2aa7fSJoseph Chen
5404e2aa7fSJoseph Chen	fiq_debugger: fiq-debugger {
5504e2aa7fSJoseph Chen		compatible = "rockchip,fiq-debugger";
5604e2aa7fSJoseph Chen		rockchip,serial-id = <2>;
5704e2aa7fSJoseph Chen		rockchip,wake-irq = <0>;
5804e2aa7fSJoseph Chen		rockchip,irq-mode-enable = <0>;
5904e2aa7fSJoseph Chen		rockchip,baudrate = <1500000>;  /* Only 115200 and 1500000 */
6004e2aa7fSJoseph Chen		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
6104e2aa7fSJoseph Chen		status = "disabled";
6204e2aa7fSJoseph Chen	};
6304e2aa7fSJoseph Chen
6404e2aa7fSJoseph Chen	reserved-memory {
6504e2aa7fSJoseph Chen		#address-cells = <1>;
6604e2aa7fSJoseph Chen		#size-cells = <1>;
6704e2aa7fSJoseph Chen		ranges;
6804e2aa7fSJoseph Chen
6904e2aa7fSJoseph Chen		linux,cma {
7004e2aa7fSJoseph Chen			compatible = "shared-dma-pool";
7104e2aa7fSJoseph Chen			inactive;
7204e2aa7fSJoseph Chen			reusable;
7304e2aa7fSJoseph Chen			size = <0x800000>;
7404e2aa7fSJoseph Chen			linux,cma-default;
7504e2aa7fSJoseph Chen		};
7604e2aa7fSJoseph Chen	};
7704e2aa7fSJoseph Chen
7804e2aa7fSJoseph Chen	timer {
7904e2aa7fSJoseph Chen		compatible = "arm,armv7-timer";
8004e2aa7fSJoseph Chen		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
8104e2aa7fSJoseph Chen		clock-frequency = <24000000>;
8204e2aa7fSJoseph Chen	};
8304e2aa7fSJoseph Chen
8404e2aa7fSJoseph Chen	xin24m: oscillator {
8504e2aa7fSJoseph Chen		compatible = "fixed-clock";
8604e2aa7fSJoseph Chen		clock-frequency = <24000000>;
8704e2aa7fSJoseph Chen		clock-output-names = "xin24m";
8804e2aa7fSJoseph Chen		#clock-cells = <0>;
8904e2aa7fSJoseph Chen	};
9004e2aa7fSJoseph Chen
91caee0dddSDavid Wu	grf: syscon@ff000000 {
92caee0dddSDavid Wu		compatible = "rockchip,rv1106-grf", "syscon", "simple-mfd";
93caee0dddSDavid Wu		reg = <0xff000000 0x68000>;
9404e2aa7fSJoseph Chen	};
9504e2aa7fSJoseph Chen
9604e2aa7fSJoseph Chen	rtc: rtc@ff1c0000 {
9704e2aa7fSJoseph Chen		compatible = "rockchip,rtc-1.0";
9804e2aa7fSJoseph Chen		reg = <0xff1c0000 0x1000>;
9904e2aa7fSJoseph Chen		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
10004e2aa7fSJoseph Chen		clocks = <&cru PCLK_VI_RTC_PHY>;
10104e2aa7fSJoseph Chen		clock-names = "pclk";
10204e2aa7fSJoseph Chen		status = "disabled";
10304e2aa7fSJoseph Chen	};
10404e2aa7fSJoseph Chen
10504e2aa7fSJoseph Chen	gic: interrupt-controller@ff1f0000 {
10604e2aa7fSJoseph Chen		compatible = "arm,gic-400";
10704e2aa7fSJoseph Chen		interrupt-controller;
10804e2aa7fSJoseph Chen		#interrupt-cells = <3>;
10904e2aa7fSJoseph Chen		#address-cells = <0>;
11004e2aa7fSJoseph Chen
11104e2aa7fSJoseph Chen		reg = <0xff1f1000 0x1000>,
11204e2aa7fSJoseph Chen		      <0xff1f2000 0x2000>,
11304e2aa7fSJoseph Chen		      <0xff1f4000 0x2000>,
11404e2aa7fSJoseph Chen		      <0xff1f6000 0x2000>;
11504e2aa7fSJoseph Chen		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
11604e2aa7fSJoseph Chen	};
11704e2aa7fSJoseph Chen
11804e2aa7fSJoseph Chen	arm-debug@ff200000 {
11904e2aa7fSJoseph Chen		compatible = "rockchip,debug";
12004e2aa7fSJoseph Chen		reg = <0xff200000 0x1000>;
12104e2aa7fSJoseph Chen	};
12204e2aa7fSJoseph Chen
12304e2aa7fSJoseph Chen	i2c0: i2c@ff310000 {
12404e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c";
12504e2aa7fSJoseph Chen		reg = <0xff310000 0x1000>;
12604e2aa7fSJoseph Chen		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
12704e2aa7fSJoseph Chen		#address-cells = <1>;
12804e2aa7fSJoseph Chen		#size-cells = <0>;
12904e2aa7fSJoseph Chen		clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>;
13004e2aa7fSJoseph Chen		clock-names = "i2c", "pclk";
13104e2aa7fSJoseph Chen		status = "disabled";
13204e2aa7fSJoseph Chen	};
13304e2aa7fSJoseph Chen
13404e2aa7fSJoseph Chen	i2c1: i2c@ff320000 {
13504e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c";
13604e2aa7fSJoseph Chen		reg = <0xff320000 0x1000>;
13704e2aa7fSJoseph Chen		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
13804e2aa7fSJoseph Chen		#address-cells = <1>;
13904e2aa7fSJoseph Chen		#size-cells = <0>;
14004e2aa7fSJoseph Chen		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
14104e2aa7fSJoseph Chen		clock-names = "i2c", "pclk";
14204e2aa7fSJoseph Chen		status = "disabled";
14304e2aa7fSJoseph Chen	};
14404e2aa7fSJoseph Chen
14504e2aa7fSJoseph Chen	dsm: codec-digital@ff340000 {
14604e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-codec-digital", "rockchip,codec-digital-v1";
14704e2aa7fSJoseph Chen		reg = <0xff340000 0x1000>;
14804e2aa7fSJoseph Chen		clocks = <&cru MCLK_DSM>, <&cru PCLK_DSM>;
14904e2aa7fSJoseph Chen		clock-names = "dac", "pclk";
15004e2aa7fSJoseph Chen		resets = <&cru SRST_M_DSM>;
15104e2aa7fSJoseph Chen		reset-names = "reset" ;
152caee0dddSDavid Wu		rockchip,grf = <&grf>;
15304e2aa7fSJoseph Chen		rockchip,pwm-output-mode;
15404e2aa7fSJoseph Chen		#sound-dai-cells = <0>;
15504e2aa7fSJoseph Chen		status = "disabled";
15604e2aa7fSJoseph Chen	};
15704e2aa7fSJoseph Chen
15804e2aa7fSJoseph Chen	cru: clock-controller@ff3a0000 {
15904e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-cru";
16004e2aa7fSJoseph Chen		reg = <0xff3a0000 0x20000>;
161caee0dddSDavid Wu		rockchip,grf = <&grf>;
16204e2aa7fSJoseph Chen		#clock-cells = <1>;
16304e2aa7fSJoseph Chen		#reset-cells = <1>;
16404e2aa7fSJoseph Chen
16504e2aa7fSJoseph Chen		assigned-clocks =
16604e2aa7fSJoseph Chen			<&cru PLL_GPLL>, <&cru PLL_CPLL>,
16704e2aa7fSJoseph Chen			<&cru ARMCLK>,
16804e2aa7fSJoseph Chen			<&cru ACLK_PERI_ROOT>, <&cru HCLK_PERI_ROOT>,
16904e2aa7fSJoseph Chen			<&cru PCLK_PERI_ROOT>, <&cru ACLK_BUS_ROOT>,
17004e2aa7fSJoseph Chen			<&cru PCLK_TOP_ROOT>, <&cru PCLK_PMU_ROOT>,
17104e2aa7fSJoseph Chen			<&cru HCLK_PMU_ROOT>;
17204e2aa7fSJoseph Chen		assigned-clock-rates =
17304e2aa7fSJoseph Chen			<1188000000>, <1000000000>,
17404e2aa7fSJoseph Chen			<816000000>,
17504e2aa7fSJoseph Chen			<400000000>, <200000000>,
17604e2aa7fSJoseph Chen			<100000000>, <300000000>,
17704e2aa7fSJoseph Chen			<100000000>, <100000000>,
17804e2aa7fSJoseph Chen			<200000000>;
17904e2aa7fSJoseph Chen	};
18004e2aa7fSJoseph Chen
18104e2aa7fSJoseph Chen	dmac: dma-controller@ff420000 {
18204e2aa7fSJoseph Chen		compatible = "arm,pl330", "arm,primecell";
18304e2aa7fSJoseph Chen		reg = <0xff420000 0x4000>;
18404e2aa7fSJoseph Chen		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>,
18504e2aa7fSJoseph Chen			     <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
18604e2aa7fSJoseph Chen			     <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
18704e2aa7fSJoseph Chen			     <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
18804e2aa7fSJoseph Chen			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
18904e2aa7fSJoseph Chen			     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
19004e2aa7fSJoseph Chen			     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
19104e2aa7fSJoseph Chen			     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
19204e2aa7fSJoseph Chen			     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
19304e2aa7fSJoseph Chen		#dma-cells = <1>;
19404e2aa7fSJoseph Chen		clocks = <&cru ACLK_DMAC>;
19504e2aa7fSJoseph Chen		clock-names = "apb_pclk";
19604e2aa7fSJoseph Chen		arm,pl330-periph-burst;
19704e2aa7fSJoseph Chen	};
19804e2aa7fSJoseph Chen
1998cd03212SLin Jinhan	crypto: crypto@ff440000 {
2008cd03212SLin Jinhan		compatible = "rockchip,crypto_v3";
2018cd03212SLin Jinhan		reg = <0xff440000 0x2000>;
2028cd03212SLin Jinhan		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
2038cd03212SLin Jinhan		clocks = <&cru CLK_CORE_CRYPTO>, <&cru CLK_PKA_CRYPTO>;
2048cd03212SLin Jinhan		clock-names = "aclk", "hclk", "sclk", "pka";
2058cd03212SLin Jinhan		assigned-clocks = <&cru CLK_CORE_CRYPTO>, <&cru CLK_PKA_CRYPTO>;
2068cd03212SLin Jinhan		assigned-clock-rates = <300000000>, <300000000>;
2078cd03212SLin Jinhan		resets = <&cru SRST_CORE_CRYPTO>;
2088cd03212SLin Jinhan		reset-names = "crypto-rst";
2098cd03212SLin Jinhan		status = "disabled";
2108cd03212SLin Jinhan	};
2118cd03212SLin Jinhan
2128cd03212SLin Jinhan	rng: rng@ff448000 {
2138cd03212SLin Jinhan		compatible = "rockchip,trngv1";
2148cd03212SLin Jinhan		reg = <0xff448000 0x200>;
2158cd03212SLin Jinhan		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
2168cd03212SLin Jinhan		clocks = <&cru HCLK_TRNG_NS>;
2178cd03212SLin Jinhan		clock-names = "hclk_trng";
2188cd03212SLin Jinhan		resets = <&cru SRST_H_TRNG_NS>;
2198cd03212SLin Jinhan		reset-names = "reset";
2208cd03212SLin Jinhan		status = "disabled";
2218cd03212SLin Jinhan	};
2228cd03212SLin Jinhan
22304e2aa7fSJoseph Chen	i2c2: i2c@ff450000 {
22404e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c";
22504e2aa7fSJoseph Chen		reg = <0xff450000 0x1000>;
22604e2aa7fSJoseph Chen		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
22704e2aa7fSJoseph Chen		#address-cells = <1>;
22804e2aa7fSJoseph Chen		#size-cells = <0>;
22904e2aa7fSJoseph Chen		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
23004e2aa7fSJoseph Chen		clock-names = "i2c", "pclk";
23104e2aa7fSJoseph Chen		status = "disabled";
23204e2aa7fSJoseph Chen	};
23304e2aa7fSJoseph Chen
23404e2aa7fSJoseph Chen	i2c3: i2c@ff460000 {
23504e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c";
23604e2aa7fSJoseph Chen		reg = <0xff460000 0x1000>;
23704e2aa7fSJoseph Chen		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
23804e2aa7fSJoseph Chen		#address-cells = <1>;
23904e2aa7fSJoseph Chen		#size-cells = <0>;
24004e2aa7fSJoseph Chen		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
24104e2aa7fSJoseph Chen		clock-names = "i2c", "pclk";
24204e2aa7fSJoseph Chen		status = "disabled";
24304e2aa7fSJoseph Chen	};
24404e2aa7fSJoseph Chen
24504e2aa7fSJoseph Chen	i2c4: i2c@ff470000 {
24604e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c";
24704e2aa7fSJoseph Chen		reg = <0xff470000 0x1000>;
24804e2aa7fSJoseph Chen		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
24904e2aa7fSJoseph Chen		#address-cells = <1>;
25004e2aa7fSJoseph Chen		#size-cells = <0>;
25104e2aa7fSJoseph Chen		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
25204e2aa7fSJoseph Chen		clock-names = "i2c", "pclk";
25304e2aa7fSJoseph Chen		status = "disabled";
25404e2aa7fSJoseph Chen	};
25504e2aa7fSJoseph Chen
25604e2aa7fSJoseph Chen	uart0: serial@ff4a0000 {
25704e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
25804e2aa7fSJoseph Chen		reg = <0xff4a0000 0x100>;
25904e2aa7fSJoseph Chen		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
26004e2aa7fSJoseph Chen		reg-shift = <2>;
26104e2aa7fSJoseph Chen		reg-io-width = <4>;
26204e2aa7fSJoseph Chen		dmas = <&dmac 7>, <&dmac 6>;
26304e2aa7fSJoseph Chen		clock-frequency = <24000000>;
26404e2aa7fSJoseph Chen		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
26504e2aa7fSJoseph Chen		clock-names = "baudclk", "apb_pclk";
26604e2aa7fSJoseph Chen		status = "disabled";
26704e2aa7fSJoseph Chen	};
26804e2aa7fSJoseph Chen
26904e2aa7fSJoseph Chen	uart1: serial@ff4b0000 {
27004e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
27104e2aa7fSJoseph Chen		reg = <0xff4b0000 0x100>;
27204e2aa7fSJoseph Chen		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
27304e2aa7fSJoseph Chen		reg-shift = <2>;
27404e2aa7fSJoseph Chen		reg-io-width = <4>;
27504e2aa7fSJoseph Chen		dmas = <&dmac 9>, <&dmac 8>;
27604e2aa7fSJoseph Chen		clock-frequency = <24000000>;
27704e2aa7fSJoseph Chen		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
27804e2aa7fSJoseph Chen		clock-names = "baudclk", "apb_pclk";
27904e2aa7fSJoseph Chen		status = "disabled";
28004e2aa7fSJoseph Chen	};
28104e2aa7fSJoseph Chen
28204e2aa7fSJoseph Chen	uart2: serial@ff4c0000 {
28304e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
28404e2aa7fSJoseph Chen		reg = <0xff4c0000 0x100>;
28504e2aa7fSJoseph Chen		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
28604e2aa7fSJoseph Chen		reg-shift = <2>;
28704e2aa7fSJoseph Chen		reg-io-width = <4>;
28804e2aa7fSJoseph Chen		dmas = <&dmac 11>, <&dmac 10>;
28904e2aa7fSJoseph Chen		clock-frequency = <24000000>;
29004e2aa7fSJoseph Chen		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
29104e2aa7fSJoseph Chen		clock-names = "baudclk", "apb_pclk";
29204e2aa7fSJoseph Chen		status = "disabled";
29304e2aa7fSJoseph Chen	};
29404e2aa7fSJoseph Chen
29504e2aa7fSJoseph Chen	uart3: serial@ff4d0000 {
29604e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
29704e2aa7fSJoseph Chen		reg = <0xff4d0000 0x100>;
29804e2aa7fSJoseph Chen		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
29904e2aa7fSJoseph Chen		reg-shift = <2>;
30004e2aa7fSJoseph Chen		reg-io-width = <4>;
30104e2aa7fSJoseph Chen		dmas = <&dmac 13>, <&dmac 12>;
30204e2aa7fSJoseph Chen		clock-frequency = <24000000>;
30304e2aa7fSJoseph Chen		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
30404e2aa7fSJoseph Chen		clock-names = "baudclk", "apb_pclk";
30504e2aa7fSJoseph Chen		status = "disabled";
30604e2aa7fSJoseph Chen	};
30704e2aa7fSJoseph Chen
30804e2aa7fSJoseph Chen	uart4: serial@ff4e0000 {
30904e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
31004e2aa7fSJoseph Chen		reg = <0xff4e0000 0x100>;
31104e2aa7fSJoseph Chen		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
31204e2aa7fSJoseph Chen		reg-shift = <2>;
31304e2aa7fSJoseph Chen		reg-io-width = <4>;
31404e2aa7fSJoseph Chen		dmas = <&dmac 15>, <&dmac 14>;
31504e2aa7fSJoseph Chen		clock-frequency = <24000000>;
31604e2aa7fSJoseph Chen		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
31704e2aa7fSJoseph Chen		clock-names = "baudclk", "apb_pclk";
31804e2aa7fSJoseph Chen		status = "disabled";
31904e2aa7fSJoseph Chen	};
32004e2aa7fSJoseph Chen
32104e2aa7fSJoseph Chen	uart5: serial@ff4f0000 {
32204e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart";
32304e2aa7fSJoseph Chen		reg = <0xff4f0000 0x100>;
32404e2aa7fSJoseph Chen		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
32504e2aa7fSJoseph Chen		reg-shift = <2>;
32604e2aa7fSJoseph Chen		reg-io-width = <4>;
32704e2aa7fSJoseph Chen		dmas = <&dmac 17>, <&dmac 16>;
32804e2aa7fSJoseph Chen		clock-frequency = <24000000>;
32904e2aa7fSJoseph Chen		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
33004e2aa7fSJoseph Chen		clock-names = "baudclk", "apb_pclk";
33104e2aa7fSJoseph Chen		status = "disabled";
33204e2aa7fSJoseph Chen	};
33304e2aa7fSJoseph Chen
334e01ec9b5SJoseph Chen	saradc: saradc@ff3c0000 {
335e01ec9b5SJoseph Chen		compatible = "rockchip,rk3588-saradc";
336e01ec9b5SJoseph Chen		reg = <0xff3c0000 0x100>;
337e01ec9b5SJoseph Chen		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
338e01ec9b5SJoseph Chen		#io-channel-cells = <1>;
339e01ec9b5SJoseph Chen		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
340e01ec9b5SJoseph Chen		clock-names = "saradc", "apb_pclk";
341e01ec9b5SJoseph Chen		resets = <&cru SRST_P_SARADC>;
342e01ec9b5SJoseph Chen		reset-names = "saradc-apb";
343e01ec9b5SJoseph Chen		status = "disabled";
344e01ec9b5SJoseph Chen	};
345e01ec9b5SJoseph Chen
34604e2aa7fSJoseph Chen	sdio: mmc@ff9a0000 {
34704e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-dw-mshc", "rockchip,rk3288-dw-mshc";
34804e2aa7fSJoseph Chen		reg = <0xff9a0000 0x4000>;
34904e2aa7fSJoseph Chen		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
35004e2aa7fSJoseph Chen		clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>,
35104e2aa7fSJoseph Chen			 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
35204e2aa7fSJoseph Chen		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
35304e2aa7fSJoseph Chen		fifo-depth = <0x100>;
35404e2aa7fSJoseph Chen		max-frequency = <200000000>;
35504e2aa7fSJoseph Chen		status = "disabled";
35604e2aa7fSJoseph Chen	};
35704e2aa7fSJoseph Chen
358caee0dddSDavid Wu	gmac: ethernet@ffa80000 {
359*83c2ff12SDavid Wu		compatible = "rockchip,rv1106-gmac", "snps,dwmac-4.20a";
360*83c2ff12SDavid Wu		reg = <0xffa80000 0x10000>;
361caee0dddSDavid Wu		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
362caee0dddSDavid Wu			     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
363caee0dddSDavid Wu		interrupt-names = "macirq", "eth_wake_irq";
364caee0dddSDavid Wu		rockchip,grf = <&grf>;
365caee0dddSDavid Wu		clocks = <&cru CLK_GMAC0_TX_50M_O>, <&cru CLK_GMAC0_REF_50M>,
366caee0dddSDavid Wu			 <&cru ACLK_MAC>, <&cru PCLK_MAC>;
367caee0dddSDavid Wu		clock-names = "stmmaceth", "clk_mac_ref",
368caee0dddSDavid Wu			      "aclk_mac", "pclk_mac";
369caee0dddSDavid Wu		resets = <&cru SRST_A_MAC>;
370caee0dddSDavid Wu		reset-names = "stmmaceth";
371caee0dddSDavid Wu
372caee0dddSDavid Wu		snps,mixed-burst;
373caee0dddSDavid Wu		snps,tso;
374caee0dddSDavid Wu
375caee0dddSDavid Wu		snps,axi-config = <&stmmac_axi_setup>;
376caee0dddSDavid Wu		snps,mtl-rx-config = <&mtl_rx_setup>;
377caee0dddSDavid Wu		snps,mtl-tx-config = <&mtl_tx_setup>;
378caee0dddSDavid Wu
379caee0dddSDavid Wu		phy-mode = "rmii";
380*83c2ff12SDavid Wu		clock_in_out = "input";
381caee0dddSDavid Wu		phy-handle = <&rmii_phy>;
382caee0dddSDavid Wu		status = "disabled";
383caee0dddSDavid Wu
384caee0dddSDavid Wu		mdio: mdio {
385caee0dddSDavid Wu			compatible = "snps,dwmac-mdio";
386caee0dddSDavid Wu			#address-cells = <0x1>;
387caee0dddSDavid Wu			#size-cells = <0x0>;
388caee0dddSDavid Wu			rmii_phy: ethernet-phy@2 {
389*83c2ff12SDavid Wu				compatible = "ethernet-phy-id0044.1400", "ethernet-phy-ieee802.3-c22";
390caee0dddSDavid Wu				reg = <2>;
391caee0dddSDavid Wu				clocks = <&cru CLK_MACPHY>;
392caee0dddSDavid Wu				resets = <&cru SRST_MACPHY>;
393caee0dddSDavid Wu				phy-is-integrated;
394caee0dddSDavid Wu			};
395caee0dddSDavid Wu		};
396caee0dddSDavid Wu
397caee0dddSDavid Wu		stmmac_axi_setup: stmmac-axi-config {
398caee0dddSDavid Wu			snps,wr_osr_lmt = <4>;
399caee0dddSDavid Wu			snps,rd_osr_lmt = <8>;
400caee0dddSDavid Wu			snps,blen = <0 0 0 0 16 8 4>;
401caee0dddSDavid Wu		};
402caee0dddSDavid Wu
403caee0dddSDavid Wu		mtl_rx_setup: rx-queues-config {
404caee0dddSDavid Wu			snps,rx-queues-to-use = <1>;
405caee0dddSDavid Wu			queue0 {};
406caee0dddSDavid Wu		};
407caee0dddSDavid Wu
408caee0dddSDavid Wu		mtl_tx_setup: tx-queues-config {
409caee0dddSDavid Wu			snps,tx-queues-to-use = <1>;
410caee0dddSDavid Wu			queue0 {};
411caee0dddSDavid Wu		};
412caee0dddSDavid Wu	};
413caee0dddSDavid Wu
41404e2aa7fSJoseph Chen	emmc: mmc@ffa90000 {
41504e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-dw-mshc", "rockchip,rk3288-dw-mshc";
41604e2aa7fSJoseph Chen		reg = <0xffa90000 0x4000>;
41704e2aa7fSJoseph Chen		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
41804e2aa7fSJoseph Chen		clocks = <&cru HCLK_EMMC>, <&cru CCLK_SRC_EMMC>,
41904e2aa7fSJoseph Chen			 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
42004e2aa7fSJoseph Chen		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
42104e2aa7fSJoseph Chen		fifo-depth = <0x100>;
42204e2aa7fSJoseph Chen		max-frequency = <200000000>;
42304e2aa7fSJoseph Chen		rockchip,use-v2-tuning;
42404e2aa7fSJoseph Chen		status = "disabled";
42504e2aa7fSJoseph Chen	};
42604e2aa7fSJoseph Chen
4272a008eebSJon Lin	sfc: spi@ffac0000 {
4282a008eebSJon Lin		compatible = "rockchip,sfc";
4292a008eebSJon Lin		reg = <0xffac0000 0x4000>;
4302a008eebSJon Lin		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
4312a008eebSJon Lin		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
4322a008eebSJon Lin		clock-names = "clk_sfc", "hclk_sfc";
4332a008eebSJon Lin		assigned-clocks = <&cru SCLK_SFC>;
4342a008eebSJon Lin		assigned-clock-rates = <75000000>;
4352a008eebSJon Lin		#address-cells = <1>;
4362a008eebSJon Lin		#size-cells = <0>;
4372a008eebSJon Lin		status = "disabled";
4382a008eebSJon Lin	};
4392a008eebSJon Lin
44004e2aa7fSJoseph Chen	sdmmc: mmc@ffaa0000 {
44104e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-dw-mshc", "rockchip,rk3288-dw-mshc";
44204e2aa7fSJoseph Chen		reg = <0xffaa0000 0x4000>;
44304e2aa7fSJoseph Chen		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
44404e2aa7fSJoseph Chen		clocks = <&cru HCLK_SDMMC>, <&cru CCLK_SRC_SDMMC>,
44504e2aa7fSJoseph Chen			 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
44604e2aa7fSJoseph Chen		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
44704e2aa7fSJoseph Chen		fifo-depth = <0x100>;
44804e2aa7fSJoseph Chen		max-frequency = <200000000>;
44904e2aa7fSJoseph Chen		status = "disabled";
45004e2aa7fSJoseph Chen	};
45104e2aa7fSJoseph Chen
45204e2aa7fSJoseph Chen	i2s0_8ch: i2s@ffae0000 {
45304e2aa7fSJoseph Chen		compatible = "rockchip,rv1106-i2s-tdm";
45404e2aa7fSJoseph Chen		reg = <0xffae0000 0x1000>;
45504e2aa7fSJoseph Chen		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
45604e2aa7fSJoseph Chen		clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0>;
45704e2aa7fSJoseph Chen		clock-names = "mclk_tx", "mclk_rx", "hclk";
45804e2aa7fSJoseph Chen		dmas = <&dmac 22>, <&dmac 21>;
45904e2aa7fSJoseph Chen		dma-names = "tx", "rx";
46004e2aa7fSJoseph Chen		resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>;
46104e2aa7fSJoseph Chen		reset-names = "tx-m", "rx-m";
46204e2aa7fSJoseph Chen		rockchip,clk-trcm = <1>;
46304e2aa7fSJoseph Chen		#sound-dai-cells = <0>;
46404e2aa7fSJoseph Chen		status = "disabled";
46504e2aa7fSJoseph Chen	};
46604e2aa7fSJoseph Chen};
467