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