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 { 2360a352bbSJoseph Chen csi2dphy0 = &csi2_dphy0; 2460a352bbSJoseph Chen csi2dphy1 = &csi2_dphy1; 2560a352bbSJoseph Chen csi2dphy2 = &csi2_dphy2; 26caee0dddSDavid Wu ethernet0 = &gmac; 2760a352bbSJoseph Chen gpio0 = &gpio0; 2860a352bbSJoseph Chen gpio1 = &gpio1; 2960a352bbSJoseph Chen gpio2 = &gpio2; 3060a352bbSJoseph Chen gpio3 = &gpio3; 3160a352bbSJoseph Chen gpio4 = &gpio4; 3204e2aa7fSJoseph Chen i2c0 = &i2c0; 3304e2aa7fSJoseph Chen i2c1 = &i2c1; 3404e2aa7fSJoseph Chen i2c2 = &i2c2; 3504e2aa7fSJoseph Chen i2c3 = &i2c3; 3604e2aa7fSJoseph Chen i2c4 = &i2c4; 3760a352bbSJoseph Chen mmc0 = &emmc; 3860a352bbSJoseph Chen mmc1 = &sdmmc; 3960a352bbSJoseph Chen mmc2 = &sdio; 4060a352bbSJoseph Chen rkcif_mipi_lvds0 = &rkcif_mipi_lvds; 4160a352bbSJoseph Chen rkcif_mipi_lvds1 = &rkcif_mipi_lvds1; 4204e2aa7fSJoseph Chen serial0 = &uart0; 4304e2aa7fSJoseph Chen serial1 = &uart1; 4404e2aa7fSJoseph Chen serial2 = &uart2; 4504e2aa7fSJoseph Chen serial3 = &uart3; 4604e2aa7fSJoseph Chen serial4 = &uart4; 4704e2aa7fSJoseph Chen serial5 = &uart5; 4860a352bbSJoseph Chen spi0 = &spi0; 4960a352bbSJoseph Chen spi1 = &spi1; 5060a352bbSJoseph Chen spi2 = &sfc; 5104e2aa7fSJoseph Chen }; 5204e2aa7fSJoseph Chen 5304e2aa7fSJoseph Chen cpus { 5404e2aa7fSJoseph Chen #address-cells = <1>; 5504e2aa7fSJoseph Chen #size-cells = <0>; 5604e2aa7fSJoseph Chen 5704e2aa7fSJoseph Chen cpu0: cpu@f00 { 5804e2aa7fSJoseph Chen device_type = "cpu"; 5904e2aa7fSJoseph Chen compatible = "arm,cortex-a7"; 6004e2aa7fSJoseph Chen reg = <0xf00>; 6104e2aa7fSJoseph Chen }; 6204e2aa7fSJoseph Chen }; 6304e2aa7fSJoseph Chen 6404e2aa7fSJoseph Chen arm-pmu { 6504e2aa7fSJoseph Chen compatible = "arm,cortex-a7-pmu"; 6604e2aa7fSJoseph Chen interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 6704e2aa7fSJoseph Chen interrupt-affinity = <&cpu0>; 6804e2aa7fSJoseph Chen }; 6904e2aa7fSJoseph Chen 7060a352bbSJoseph Chen cpuinfo { 7160a352bbSJoseph Chen compatible = "rockchip,cpuinfo"; 7260a352bbSJoseph Chen nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>; 7360a352bbSJoseph Chen nvmem-cell-names = "id", "cpu-version", "cpu-code"; 7460a352bbSJoseph Chen }; 7560a352bbSJoseph Chen 7660a352bbSJoseph Chen /* dphy0 full mode */ 7760a352bbSJoseph Chen csi2_dphy0: csi2-dphy0 { 7860a352bbSJoseph Chen compatible = "rockchip,rv1106-csi2-dphy"; 7960a352bbSJoseph Chen rockchip,hw = <&csi2_dphy_hw>; 8060a352bbSJoseph Chen status = "disabled"; 8160a352bbSJoseph Chen }; 8260a352bbSJoseph Chen 8360a352bbSJoseph Chen /* dphy1 split mode 01 */ 8460a352bbSJoseph Chen csi2_dphy1: csi2-dphy1 { 8560a352bbSJoseph Chen compatible = "rockchip,rv1106-csi2-dphy"; 8660a352bbSJoseph Chen rockchip,hw = <&csi2_dphy_hw>; 8760a352bbSJoseph Chen status = "disabled"; 8860a352bbSJoseph Chen }; 8960a352bbSJoseph Chen 9060a352bbSJoseph Chen /* dphy2 split mode 23 */ 9160a352bbSJoseph Chen csi2_dphy2: csi2-dphy2 { 9260a352bbSJoseph Chen compatible = "rockchip,rv1106-csi2-dphy"; 9360a352bbSJoseph Chen rockchip,hw = <&csi2_dphy_hw>; 9460a352bbSJoseph Chen status = "disabled"; 9560a352bbSJoseph Chen }; 9660a352bbSJoseph Chen 9760a352bbSJoseph Chen display_subsystem: display-subsystem { 9860a352bbSJoseph Chen compatible = "rockchip,display-subsystem"; 9960a352bbSJoseph Chen ports = <&vop_out>; 10060a352bbSJoseph Chen status = "disabled"; 10160a352bbSJoseph Chen }; 10260a352bbSJoseph Chen 10304e2aa7fSJoseph Chen fiq_debugger: fiq-debugger { 10404e2aa7fSJoseph Chen compatible = "rockchip,fiq-debugger"; 10504e2aa7fSJoseph Chen rockchip,serial-id = <2>; 10604e2aa7fSJoseph Chen rockchip,wake-irq = <0>; 10704e2aa7fSJoseph Chen rockchip,irq-mode-enable = <0>; 10804e2aa7fSJoseph Chen rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */ 10904e2aa7fSJoseph Chen interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 11004e2aa7fSJoseph Chen status = "disabled"; 11104e2aa7fSJoseph Chen }; 11204e2aa7fSJoseph Chen 11360a352bbSJoseph Chen mpp_srv: mpp-srv { 11460a352bbSJoseph Chen compatible = "rockchip,mpp-service"; 11560a352bbSJoseph Chen rockchip,taskqueue-count = <2>; 11660a352bbSJoseph Chen status = "disabled"; 11760a352bbSJoseph Chen }; 11860a352bbSJoseph Chen 11960a352bbSJoseph Chen mpp_vcodec: mpp-vcodec { 12060a352bbSJoseph Chen compatible = "rockchip,vcodec"; 12160a352bbSJoseph Chen status = "disabled"; 12260a352bbSJoseph Chen }; 12360a352bbSJoseph Chen 12404e2aa7fSJoseph Chen reserved-memory { 12504e2aa7fSJoseph Chen #address-cells = <1>; 12604e2aa7fSJoseph Chen #size-cells = <1>; 12704e2aa7fSJoseph Chen ranges; 12804e2aa7fSJoseph Chen 12904e2aa7fSJoseph Chen linux,cma { 13004e2aa7fSJoseph Chen compatible = "shared-dma-pool"; 13104e2aa7fSJoseph Chen inactive; 13204e2aa7fSJoseph Chen reusable; 13304e2aa7fSJoseph Chen size = <0x800000>; 13404e2aa7fSJoseph Chen linux,cma-default; 13504e2aa7fSJoseph Chen }; 13604e2aa7fSJoseph Chen }; 13704e2aa7fSJoseph Chen 13860a352bbSJoseph Chen rkcif_dvp: rkcif-dvp { 13960a352bbSJoseph Chen compatible = "rockchip,rkcif-dvp"; 14060a352bbSJoseph Chen rockchip,hw = <&rkcif>; 14160a352bbSJoseph Chen status = "disabled"; 14260a352bbSJoseph Chen }; 14360a352bbSJoseph Chen 14460a352bbSJoseph Chen rkcif_dvp_sditf: rkcif-dvp-sditf { 14560a352bbSJoseph Chen compatible = "rockchip,rkcif-sditf"; 14660a352bbSJoseph Chen rockchip,cif = <&rkcif_dvp>; 14760a352bbSJoseph Chen status = "disabled"; 14860a352bbSJoseph Chen }; 14960a352bbSJoseph Chen 15060a352bbSJoseph Chen rkcif_mipi_lvds: rkcif-mipi-lvds { 15160a352bbSJoseph Chen compatible = "rockchip,rkcif-mipi-lvds"; 15260a352bbSJoseph Chen rockchip,hw = <&rkcif>; 15360a352bbSJoseph Chen status = "disabled"; 15460a352bbSJoseph Chen }; 15560a352bbSJoseph Chen 15660a352bbSJoseph Chen rkcif_mipi_lvds_sditf: rkcif-mipi-lvds-sditf { 15760a352bbSJoseph Chen compatible = "rockchip,rkcif-sditf"; 15860a352bbSJoseph Chen rockchip,cif = <&rkcif_mipi_lvds>; 15960a352bbSJoseph Chen status = "disabled"; 16060a352bbSJoseph Chen }; 16160a352bbSJoseph Chen 16260a352bbSJoseph Chen rkcif_mipi_lvds1: rkcif-mipi-lvds1 { 16360a352bbSJoseph Chen compatible = "rockchip,rkcif-mipi-lvds"; 16460a352bbSJoseph Chen rockchip,hw = <&rkcif>; 16560a352bbSJoseph Chen status = "disabled"; 16660a352bbSJoseph Chen }; 16760a352bbSJoseph Chen 16860a352bbSJoseph Chen rkcif_mipi_lvds1_sditf: rkcif-mipi-lvds1-sditf { 16960a352bbSJoseph Chen compatible = "rockchip,rkcif-sditf"; 17060a352bbSJoseph Chen rockchip,cif = <&rkcif_mipi_lvds1>; 17160a352bbSJoseph Chen status = "disabled"; 17260a352bbSJoseph Chen }; 17360a352bbSJoseph Chen 17460a352bbSJoseph Chen rkisp_vir0: rkisp-vir0 { 17560a352bbSJoseph Chen compatible = "rockchip,rkisp-vir"; 17660a352bbSJoseph Chen rockchip,hw = <&rkisp>; 17760a352bbSJoseph Chen dvbm = <&rkdvbm>; 17860a352bbSJoseph Chen status = "disabled"; 17960a352bbSJoseph Chen }; 18060a352bbSJoseph Chen 18160a352bbSJoseph Chen rkisp_vir1: rkisp-vir1 { 18260a352bbSJoseph Chen compatible = "rockchip,rkisp-vir"; 18360a352bbSJoseph Chen rockchip,hw = <&rkisp>; 18460a352bbSJoseph Chen status = "disabled"; 18560a352bbSJoseph Chen }; 18660a352bbSJoseph Chen 18760a352bbSJoseph Chen rkisp_vir2: rkisp-vir2 { 18860a352bbSJoseph Chen compatible = "rockchip,rkisp-vir"; 18960a352bbSJoseph Chen rockchip,hw = <&rkisp>; 19060a352bbSJoseph Chen status = "disabled"; 19160a352bbSJoseph Chen }; 19260a352bbSJoseph Chen 19360a352bbSJoseph Chen rkisp_vir3: rkisp-vir3 { 19460a352bbSJoseph Chen compatible = "rockchip,rkisp-vir"; 19560a352bbSJoseph Chen rockchip,hw = <&rkisp>; 19660a352bbSJoseph Chen status = "disabled"; 19760a352bbSJoseph Chen }; 19860a352bbSJoseph Chen 19960a352bbSJoseph Chen rockchip_system_monitor: rockchip-system-monitor { 20060a352bbSJoseph Chen compatible = "rockchip,system-monitor"; 20160a352bbSJoseph Chen 20260a352bbSJoseph Chen rockchip,thermal-zone = "soc-thermal"; 20360a352bbSJoseph Chen }; 20460a352bbSJoseph Chen 20560a352bbSJoseph Chen thermal_zones: thermal-zones { 20660a352bbSJoseph Chen soc_thermal: soc-thermal { 20760a352bbSJoseph Chen polling-delay-passive = <20>; /* milliseconds */ 20860a352bbSJoseph Chen polling-delay = <1000>; /* milliseconds */ 20960a352bbSJoseph Chen sustainable-power = <2100>; /* milliwatts */ 21060a352bbSJoseph Chen 21160a352bbSJoseph Chen thermal-sensors = <&tsadc 0>; 21260a352bbSJoseph Chen trips { 21360a352bbSJoseph Chen threshold: trip-point-0 { 21460a352bbSJoseph Chen temperature = <75000>; 21560a352bbSJoseph Chen hysteresis = <2000>; 21660a352bbSJoseph Chen type = "passive"; 21760a352bbSJoseph Chen }; 21860a352bbSJoseph Chen target: trip-point-1 { 21960a352bbSJoseph Chen temperature = <85000>; 22060a352bbSJoseph Chen hysteresis = <2000>; 22160a352bbSJoseph Chen type = "passive"; 22260a352bbSJoseph Chen }; 22360a352bbSJoseph Chen soc_crit: soc-crit { 22460a352bbSJoseph Chen /* millicelsius */ 22560a352bbSJoseph Chen temperature = <115000>; 22660a352bbSJoseph Chen /* millicelsius */ 22760a352bbSJoseph Chen hysteresis = <2000>; 22860a352bbSJoseph Chen type = "critical"; 22960a352bbSJoseph Chen }; 23060a352bbSJoseph Chen }; 23160a352bbSJoseph Chen }; 23260a352bbSJoseph Chen }; 23360a352bbSJoseph Chen 23404e2aa7fSJoseph Chen timer { 23504e2aa7fSJoseph Chen compatible = "arm,armv7-timer"; 23660a352bbSJoseph Chen interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 23704e2aa7fSJoseph Chen clock-frequency = <24000000>; 23804e2aa7fSJoseph Chen }; 23904e2aa7fSJoseph Chen 24004e2aa7fSJoseph Chen xin24m: oscillator { 24104e2aa7fSJoseph Chen compatible = "fixed-clock"; 24204e2aa7fSJoseph Chen clock-frequency = <24000000>; 24304e2aa7fSJoseph Chen clock-output-names = "xin24m"; 24404e2aa7fSJoseph Chen #clock-cells = <0>; 24504e2aa7fSJoseph Chen }; 24604e2aa7fSJoseph Chen 247caee0dddSDavid Wu grf: syscon@ff000000 { 248caee0dddSDavid Wu compatible = "rockchip,rv1106-grf", "syscon", "simple-mfd"; 249caee0dddSDavid Wu reg = <0xff000000 0x68000>; 25060a352bbSJoseph Chen 25160a352bbSJoseph Chen grf_cru: grf-clock-controller { 25260a352bbSJoseph Chen compatible = "rockchip,rv1106-grf-cru"; 25360a352bbSJoseph Chen #clock-cells = <1>; 25460a352bbSJoseph Chen }; 25560a352bbSJoseph Chen 25660a352bbSJoseph Chen reboot_mode: reboot-mode { 25760a352bbSJoseph Chen compatible = "syscon-reboot-mode"; 25860a352bbSJoseph Chen offset = <0x20200>; 25960a352bbSJoseph Chen mode-bootloader = <BOOT_BL_DOWNLOAD>; 26060a352bbSJoseph Chen mode-charge = <BOOT_CHARGING>; 26160a352bbSJoseph Chen mode-fastboot = <BOOT_FASTBOOT>; 26260a352bbSJoseph Chen mode-loader = <BOOT_BL_DOWNLOAD>; 26360a352bbSJoseph Chen mode-normal = <BOOT_NORMAL>; 26460a352bbSJoseph Chen mode-recovery = <BOOT_RECOVERY>; 26560a352bbSJoseph Chen mode-ums = <BOOT_UMS>; 26660a352bbSJoseph Chen mode-panic = <BOOT_PANIC>; 26760a352bbSJoseph Chen mode-watchdog = <BOOT_WATCHDOG>; 26860a352bbSJoseph Chen }; 26960a352bbSJoseph Chen 27060a352bbSJoseph Chen rgb: rgb { 27160a352bbSJoseph Chen compatible = "rockchip,rv1106-rgb"; 27260a352bbSJoseph Chen status = "disabled"; 27360a352bbSJoseph Chen 27460a352bbSJoseph Chen ports { 27560a352bbSJoseph Chen #address-cells = <1>; 27660a352bbSJoseph Chen #size-cells = <0>; 27760a352bbSJoseph Chen 27860a352bbSJoseph Chen port@0 { 27960a352bbSJoseph Chen reg = <0>; 28060a352bbSJoseph Chen #address-cells = <1>; 28160a352bbSJoseph Chen #size-cells = <0>; 28260a352bbSJoseph Chen 28360a352bbSJoseph Chen rgb_in_vop: endpoint@0 { 28460a352bbSJoseph Chen reg = <0>; 28560a352bbSJoseph Chen remote-endpoint = <&vop_out_rgb>; 28660a352bbSJoseph Chen }; 28760a352bbSJoseph Chen }; 28860a352bbSJoseph Chen }; 28960a352bbSJoseph Chen }; 29004e2aa7fSJoseph Chen }; 29104e2aa7fSJoseph Chen 29204e2aa7fSJoseph Chen rtc: rtc@ff1c0000 { 29304e2aa7fSJoseph Chen compatible = "rockchip,rtc-1.0"; 29404e2aa7fSJoseph Chen reg = <0xff1c0000 0x1000>; 29560a352bbSJoseph Chen rockchip,grf = <&grf>; 29604e2aa7fSJoseph Chen interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 29760a352bbSJoseph Chen clocks = <&cru PCLK_VI_RTC_PHY>, <&cru PCLK_VI_RTC_TEST>; 29860a352bbSJoseph Chen clock-names = "pclk_phy", "pclk_test"; 29960a352bbSJoseph Chen assigned-clocks = <&cru PCLK_VI_RTC_PHY>; 30060a352bbSJoseph Chen assigned-clock-rates = <24000000>; 30104e2aa7fSJoseph Chen status = "disabled"; 30204e2aa7fSJoseph Chen }; 30304e2aa7fSJoseph Chen 30404e2aa7fSJoseph Chen gic: interrupt-controller@ff1f0000 { 30504e2aa7fSJoseph Chen compatible = "arm,gic-400"; 30604e2aa7fSJoseph Chen interrupt-controller; 30704e2aa7fSJoseph Chen #interrupt-cells = <3>; 30804e2aa7fSJoseph Chen #address-cells = <0>; 30904e2aa7fSJoseph Chen 31004e2aa7fSJoseph Chen reg = <0xff1f1000 0x1000>, 31104e2aa7fSJoseph Chen <0xff1f2000 0x2000>, 31204e2aa7fSJoseph Chen <0xff1f4000 0x2000>, 31304e2aa7fSJoseph Chen <0xff1f6000 0x2000>; 31460a352bbSJoseph Chen interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 31504e2aa7fSJoseph Chen }; 31604e2aa7fSJoseph Chen 31704e2aa7fSJoseph Chen arm-debug@ff200000 { 31804e2aa7fSJoseph Chen compatible = "rockchip,debug"; 31904e2aa7fSJoseph Chen reg = <0xff200000 0x1000>; 32004e2aa7fSJoseph Chen }; 32104e2aa7fSJoseph Chen 32204e2aa7fSJoseph Chen i2c0: i2c@ff310000 { 32304e2aa7fSJoseph Chen compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c"; 32404e2aa7fSJoseph Chen reg = <0xff310000 0x1000>; 32504e2aa7fSJoseph Chen interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 32604e2aa7fSJoseph Chen #address-cells = <1>; 32704e2aa7fSJoseph Chen #size-cells = <0>; 32804e2aa7fSJoseph Chen clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 32904e2aa7fSJoseph Chen clock-names = "i2c", "pclk"; 33060a352bbSJoseph Chen pinctrl-names = "default"; 33160a352bbSJoseph Chen pinctrl-0 = <&i2c0m0_xfer>; 33204e2aa7fSJoseph Chen status = "disabled"; 33304e2aa7fSJoseph Chen }; 33404e2aa7fSJoseph Chen 33504e2aa7fSJoseph Chen i2c1: i2c@ff320000 { 33604e2aa7fSJoseph Chen compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c"; 33704e2aa7fSJoseph Chen reg = <0xff320000 0x1000>; 33804e2aa7fSJoseph Chen interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 33904e2aa7fSJoseph Chen #address-cells = <1>; 34004e2aa7fSJoseph Chen #size-cells = <0>; 34104e2aa7fSJoseph Chen clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 34204e2aa7fSJoseph Chen clock-names = "i2c", "pclk"; 34360a352bbSJoseph Chen pinctrl-names = "default"; 34460a352bbSJoseph Chen pinctrl-0 = <&i2c1m0_xfer>; 34504e2aa7fSJoseph Chen status = "disabled"; 34604e2aa7fSJoseph Chen }; 34704e2aa7fSJoseph Chen 34804e2aa7fSJoseph Chen dsm: codec-digital@ff340000 { 34904e2aa7fSJoseph Chen compatible = "rockchip,rv1106-codec-digital", "rockchip,codec-digital-v1"; 35004e2aa7fSJoseph Chen reg = <0xff340000 0x1000>; 35104e2aa7fSJoseph Chen clocks = <&cru MCLK_DSM>, <&cru PCLK_DSM>; 35204e2aa7fSJoseph Chen clock-names = "dac", "pclk"; 35304e2aa7fSJoseph Chen resets = <&cru SRST_M_DSM>; 35404e2aa7fSJoseph Chen reset-names = "reset" ; 355caee0dddSDavid Wu rockchip,grf = <&grf>; 35604e2aa7fSJoseph Chen rockchip,pwm-output-mode; 35704e2aa7fSJoseph Chen #sound-dai-cells = <0>; 35860a352bbSJoseph Chen pinctrl-names = "default"; 35960a352bbSJoseph Chen pinctrl-0 = <&dsmaudio_pins>; 36004e2aa7fSJoseph Chen status = "disabled"; 36104e2aa7fSJoseph Chen }; 36204e2aa7fSJoseph Chen 36360a352bbSJoseph Chen pwm0: pwm@ff350000 { 36460a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 36560a352bbSJoseph Chen reg = <0xff350000 0x10>; 36660a352bbSJoseph Chen #pwm-cells = <3>; 36760a352bbSJoseph Chen pinctrl-names = "active"; 36860a352bbSJoseph Chen pinctrl-0 = <&pwm0m0_pins>; 36960a352bbSJoseph Chen clocks = <&cru CLK_PWM0_PERI>, <&cru PCLK_PWM0_PERI>; 37060a352bbSJoseph Chen clock-names = "pwm", "pclk"; 37160a352bbSJoseph Chen status = "disabled"; 37260a352bbSJoseph Chen }; 37360a352bbSJoseph Chen 37460a352bbSJoseph Chen pwm1: pwm@ff350010 { 37560a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 37660a352bbSJoseph Chen reg = <0xff350010 0x10>; 37760a352bbSJoseph Chen #pwm-cells = <3>; 37860a352bbSJoseph Chen pinctrl-names = "active"; 37960a352bbSJoseph Chen pinctrl-0 = <&pwm1m0_pins>; 38060a352bbSJoseph Chen clocks = <&cru CLK_PWM0_PERI>, <&cru PCLK_PWM0_PERI>; 38160a352bbSJoseph Chen clock-names = "pwm", "pclk"; 38260a352bbSJoseph Chen status = "disabled"; 38360a352bbSJoseph Chen }; 38460a352bbSJoseph Chen 38560a352bbSJoseph Chen pwm2: pwm@ff350020 { 38660a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 38760a352bbSJoseph Chen reg = <0xff350020 0x10>; 38860a352bbSJoseph Chen #pwm-cells = <3>; 38960a352bbSJoseph Chen pinctrl-names = "active"; 39060a352bbSJoseph Chen pinctrl-0 = <&pwm2m0_pins>; 39160a352bbSJoseph Chen clocks = <&cru CLK_PWM0_PERI>, <&cru PCLK_PWM0_PERI>; 39260a352bbSJoseph Chen clock-names = "pwm", "pclk"; 39360a352bbSJoseph Chen status = "disabled"; 39460a352bbSJoseph Chen }; 39560a352bbSJoseph Chen 39660a352bbSJoseph Chen pwm3: pwm@ff350030 { 39760a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 39860a352bbSJoseph Chen reg = <0xff350030 0x10>; 39960a352bbSJoseph Chen interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, 40060a352bbSJoseph Chen <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 40160a352bbSJoseph Chen #pwm-cells = <3>; 40260a352bbSJoseph Chen pinctrl-names = "active"; 40360a352bbSJoseph Chen pinctrl-0 = <&pwm3m0_pins>; 40460a352bbSJoseph Chen clocks = <&cru CLK_PWM0_PERI>, <&cru PCLK_PWM0_PERI>; 40560a352bbSJoseph Chen clock-names = "pwm", "pclk"; 40660a352bbSJoseph Chen status = "disabled"; 40760a352bbSJoseph Chen }; 40860a352bbSJoseph Chen 40960a352bbSJoseph Chen pwm4: pwm@ff360000 { 41060a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 41160a352bbSJoseph Chen reg = <0xff360000 0x10>; 41260a352bbSJoseph Chen #pwm-cells = <3>; 41360a352bbSJoseph Chen pinctrl-names = "active"; 41460a352bbSJoseph Chen pinctrl-0 = <&pwm4m0_pins>; 41560a352bbSJoseph Chen clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>; 41660a352bbSJoseph Chen clock-names = "pwm", "pclk"; 41760a352bbSJoseph Chen status = "disabled"; 41860a352bbSJoseph Chen }; 41960a352bbSJoseph Chen 42060a352bbSJoseph Chen pwm5: pwm@ff360010 { 42160a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 42260a352bbSJoseph Chen reg = <0xff360010 0x10>; 42360a352bbSJoseph Chen #pwm-cells = <3>; 42460a352bbSJoseph Chen pinctrl-names = "active"; 42560a352bbSJoseph Chen pinctrl-0 = <&pwm5m0_pins>; 42660a352bbSJoseph Chen clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>; 42760a352bbSJoseph Chen clock-names = "pwm", "pclk"; 42860a352bbSJoseph Chen status = "disabled"; 42960a352bbSJoseph Chen }; 43060a352bbSJoseph Chen 43160a352bbSJoseph Chen pwm6: pwm@ff360020 { 43260a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 43360a352bbSJoseph Chen reg = <0xff360020 0x10>; 43460a352bbSJoseph Chen #pwm-cells = <3>; 43560a352bbSJoseph Chen pinctrl-names = "active"; 43660a352bbSJoseph Chen pinctrl-0 = <&pwm6m0_pins>; 43760a352bbSJoseph Chen clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>; 43860a352bbSJoseph Chen clock-names = "pwm", "pclk"; 43960a352bbSJoseph Chen status = "disabled"; 44060a352bbSJoseph Chen }; 44160a352bbSJoseph Chen 44260a352bbSJoseph Chen pwm7: pwm@ff360030 { 44360a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 44460a352bbSJoseph Chen reg = <0xff360030 0x10>; 44560a352bbSJoseph Chen interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 44660a352bbSJoseph Chen <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 44760a352bbSJoseph Chen #pwm-cells = <3>; 44860a352bbSJoseph Chen pinctrl-names = "active"; 44960a352bbSJoseph Chen pinctrl-0 = <&pwm7m0_pins>; 45060a352bbSJoseph Chen clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>; 45160a352bbSJoseph Chen clock-names = "pwm", "pclk"; 45260a352bbSJoseph Chen status = "disabled"; 45360a352bbSJoseph Chen }; 45460a352bbSJoseph Chen 45560a352bbSJoseph Chen pmu_mailbox: mailbox@ff378000 { 45660a352bbSJoseph Chen compatible = "rockchip,rv1106-mailbox", 45760a352bbSJoseph Chen "rockchip,rk3368-mailbox"; 45860a352bbSJoseph Chen reg = <0xff378000 0x200>; 45960a352bbSJoseph Chen interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 46060a352bbSJoseph Chen clocks = <&cru PCLK_PMU_MAILBOX>; 46160a352bbSJoseph Chen clock-names = "pclk_mailbox"; 46260a352bbSJoseph Chen #mbox-cells = <1>; 46360a352bbSJoseph Chen status = "disabled"; 46460a352bbSJoseph Chen }; 46560a352bbSJoseph Chen 46660a352bbSJoseph Chen pmuioc: syscon@ff388000 { 46760a352bbSJoseph Chen compatible = "rockchip,rv1106-pmuioc", "syscon"; 46860a352bbSJoseph Chen reg = <0xff388000 0x1000>; 46960a352bbSJoseph Chen }; 47060a352bbSJoseph Chen 47104e2aa7fSJoseph Chen cru: clock-controller@ff3a0000 { 47204e2aa7fSJoseph Chen compatible = "rockchip,rv1106-cru"; 47304e2aa7fSJoseph Chen reg = <0xff3a0000 0x20000>; 474caee0dddSDavid Wu rockchip,grf = <&grf>; 47504e2aa7fSJoseph Chen #clock-cells = <1>; 47604e2aa7fSJoseph Chen #reset-cells = <1>; 47704e2aa7fSJoseph Chen 47804e2aa7fSJoseph Chen assigned-clocks = 47904e2aa7fSJoseph Chen <&cru PLL_GPLL>, <&cru PLL_CPLL>, 48004e2aa7fSJoseph Chen <&cru ARMCLK>, 48104e2aa7fSJoseph Chen <&cru ACLK_PERI_ROOT>, <&cru HCLK_PERI_ROOT>, 48204e2aa7fSJoseph Chen <&cru PCLK_PERI_ROOT>, <&cru ACLK_BUS_ROOT>, 48304e2aa7fSJoseph Chen <&cru PCLK_TOP_ROOT>, <&cru PCLK_PMU_ROOT>, 48404e2aa7fSJoseph Chen <&cru HCLK_PMU_ROOT>; 48504e2aa7fSJoseph Chen assigned-clock-rates = 48604e2aa7fSJoseph Chen <1188000000>, <1000000000>, 48704e2aa7fSJoseph Chen <816000000>, 48804e2aa7fSJoseph Chen <400000000>, <200000000>, 48904e2aa7fSJoseph Chen <100000000>, <300000000>, 49004e2aa7fSJoseph Chen <100000000>, <100000000>, 49104e2aa7fSJoseph Chen <200000000>; 49204e2aa7fSJoseph Chen }; 49304e2aa7fSJoseph Chen 49460a352bbSJoseph Chen saradc: saradc@ff3c0000 { 49519eb728aSJoseph Chen compatible = "rockchip,rv1106-saradc"; 49660a352bbSJoseph Chen reg = <0xff3c0000 0x100>; 49760a352bbSJoseph Chen interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 49860a352bbSJoseph Chen #io-channel-cells = <1>; 49960a352bbSJoseph Chen clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 50060a352bbSJoseph Chen clock-names = "saradc", "apb_pclk"; 50160a352bbSJoseph Chen resets = <&cru SRST_P_SARADC>; 50260a352bbSJoseph Chen reset-names = "saradc-apb"; 50360a352bbSJoseph Chen status = "disabled"; 50460a352bbSJoseph Chen }; 50560a352bbSJoseph Chen 50660a352bbSJoseph Chen tsadc: tsadc@ff3c8000 { 50760a352bbSJoseph Chen compatible = "rockchip,rv1106-tsadc"; 50860a352bbSJoseph Chen reg = <0xff3c8000 0x1000>; 50960a352bbSJoseph Chen rockchip,grf = <&grf>; 51060a352bbSJoseph Chen interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 51160a352bbSJoseph Chen clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>, <&cru CLK_TSADC_TSEN>; 51260a352bbSJoseph Chen clock-names = "tsadc", "apb_pclk", "tsen"; 51360a352bbSJoseph Chen assigned-clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>; 51460a352bbSJoseph Chen assigned-clock-rates = <1000000>, <12000000>; 51560a352bbSJoseph Chen resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>; 51660a352bbSJoseph Chen reset-names = "tsadc", "tsadc-apb"; 51760a352bbSJoseph Chen #thermal-sensor-cells = <1>; 51860a352bbSJoseph Chen rockchip,hw-tshut-temp = <120000>; 51960a352bbSJoseph Chen rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 52060a352bbSJoseph Chen rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 52160a352bbSJoseph Chen status = "disabled"; 52260a352bbSJoseph Chen }; 52360a352bbSJoseph Chen 52460a352bbSJoseph Chen otp: otp@ff3d0000 { 52560a352bbSJoseph Chen compatible = "rockchip,rv1106-otp"; 52660a352bbSJoseph Chen reg = <0xff3d0000 0x4000>; 52760a352bbSJoseph Chen #address-cells = <1>; 52860a352bbSJoseph Chen #size-cells = <1>; 52960a352bbSJoseph Chen clocks = <&cru CLK_USER_OTPC_NS>, <&cru CLK_SBPI_OTPC_NS>, 53060a352bbSJoseph Chen <&cru PCLK_OTPC_NS>, <&cru PCLK_OTP_MASK>, 53160a352bbSJoseph Chen <&cru CLK_OTPC_ARB>, <&cru CLK_PMC_OTP>; 53260a352bbSJoseph Chen clock-names = "usr", "sbpi", "apb", "phy", "arb", "pmc"; 53360a352bbSJoseph Chen resets = <&cru SRST_USER_OTPC_NS>, <&cru SRST_SBPI_OTPC_NS>, 53460a352bbSJoseph Chen <&cru SRST_P_OTPC_NS>, <&cru SRST_P_OTP_MASK>, 53560a352bbSJoseph Chen <&cru SRST_OTPC_ARB>, <&cru SRST_PMC_OTP>; 53660a352bbSJoseph Chen reset-names = "usr", "sbpi", "apb", "phy", "arb", "pmc"; 53760a352bbSJoseph Chen 53860a352bbSJoseph Chen /* Data cells */ 53960a352bbSJoseph Chen cpu_code: cpu-code@2 { 54060a352bbSJoseph Chen reg = <0x02 0x2>; 54160a352bbSJoseph Chen }; 54260a352bbSJoseph Chen otp_cpu_version: cpu-version@8 { 54360a352bbSJoseph Chen reg = <0x08 0x1>; 54460a352bbSJoseph Chen bits = <3 3>; 54560a352bbSJoseph Chen }; 54660a352bbSJoseph Chen otp_id: id@a { 54760a352bbSJoseph Chen reg = <0x0a 0x10>; 54860a352bbSJoseph Chen }; 54960a352bbSJoseph Chen cpu_leakage: cpu-leakage@1a { 55060a352bbSJoseph Chen reg = <0x1a 0x1>; 55160a352bbSJoseph Chen }; 55260a352bbSJoseph Chen log_leakage: log-leakage@1b { 55360a352bbSJoseph Chen reg = <0x1b 0x1>; 55460a352bbSJoseph Chen }; 55563013631SDavid Wu macphy_bgs: macphy-bgs@2d { 55663013631SDavid Wu reg = <0x2d 0x1>; 55763013631SDavid Wu }; 55863013631SDavid Wu macphy_txlevel: macphy-txlevel@2e { 55963013631SDavid Wu reg = <0x2e 0x2>; 56063013631SDavid Wu }; 56160a352bbSJoseph Chen }; 56260a352bbSJoseph Chen 56360a352bbSJoseph Chen u2phy: usb2-phy@ff3e0000 { 56460a352bbSJoseph Chen compatible = "rockchip,rv1106-usb2phy"; 56560a352bbSJoseph Chen reg = <0xff3e0000 0x8000>; 56660a352bbSJoseph Chen rockchip,usbgrf = <&grf>; 56760a352bbSJoseph Chen clocks = <&cru CLK_REF_USBPHY>, <&cru PCLK_USBPHY>; 56860a352bbSJoseph Chen clock-names = "phyclk", "pclk"; 56960a352bbSJoseph Chen resets = <&cru SRST_USBPHY_POR>, <&cru SRST_P_USBPHY>; 57060a352bbSJoseph Chen reset-names = "u2phy", "u2phy-apb"; 57160a352bbSJoseph Chen #clock-cells = <0>; 57260a352bbSJoseph Chen status = "disabled"; 57360a352bbSJoseph Chen 57460a352bbSJoseph Chen u2phy_otg: otg-port { 57560a352bbSJoseph Chen #phy-cells = <0>; 57660a352bbSJoseph Chen interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 57760a352bbSJoseph Chen <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 57860a352bbSJoseph Chen <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 57960a352bbSJoseph Chen <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 58060a352bbSJoseph Chen interrupt-names = "otg-bvalid", "otg-id", 58160a352bbSJoseph Chen "linestate", "disconnect"; 58260a352bbSJoseph Chen status = "disabled"; 58360a352bbSJoseph Chen }; 58460a352bbSJoseph Chen }; 58560a352bbSJoseph Chen 58660a352bbSJoseph Chen csi2_dphy_hw: csi2-dphy-hw@ff3e8000 { 58760a352bbSJoseph Chen compatible = "rockchip,rv1106-csi2-dphy-hw"; 58860a352bbSJoseph Chen reg = <0xff3e8000 0x8000>; 58960a352bbSJoseph Chen clocks = <&cru PCLK_MIPICSIPHY>; 59060a352bbSJoseph Chen clock-names = "pclk"; 59160a352bbSJoseph Chen resets = <&cru SRST_P_MIPICSIPHY>; 59260a352bbSJoseph Chen reset-names = "srst_p_csiphy"; 59360a352bbSJoseph Chen rockchip,grf = <&grf>; 59460a352bbSJoseph Chen status = "disabled"; 59560a352bbSJoseph Chen }; 59660a352bbSJoseph Chen 59704e2aa7fSJoseph Chen dmac: dma-controller@ff420000 { 59804e2aa7fSJoseph Chen compatible = "arm,pl330", "arm,primecell"; 59904e2aa7fSJoseph Chen reg = <0xff420000 0x4000>; 60004e2aa7fSJoseph Chen interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>, 60104e2aa7fSJoseph Chen <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, 60204e2aa7fSJoseph Chen <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, 60304e2aa7fSJoseph Chen <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 60404e2aa7fSJoseph Chen <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 60504e2aa7fSJoseph Chen <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 60604e2aa7fSJoseph Chen <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 60704e2aa7fSJoseph Chen <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 60804e2aa7fSJoseph Chen <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 60904e2aa7fSJoseph Chen #dma-cells = <1>; 61004e2aa7fSJoseph Chen clocks = <&cru ACLK_DMAC>; 61104e2aa7fSJoseph Chen clock-names = "apb_pclk"; 61204e2aa7fSJoseph Chen arm,pl330-periph-burst; 61304e2aa7fSJoseph Chen }; 61404e2aa7fSJoseph Chen 6158cd03212SLin Jinhan crypto: crypto@ff440000 { 616a394d9f8SLin Jinhan compatible = "rockchip,crypto-v3"; 6178cd03212SLin Jinhan reg = <0xff440000 0x2000>; 6188cd03212SLin Jinhan interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 61960a352bbSJoseph Chen clocks = <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>, 62060a352bbSJoseph Chen <&cru CLK_CORE_CRYPTO>, <&cru CLK_PKA_CRYPTO>; 6218cd03212SLin Jinhan clock-names = "aclk", "hclk", "sclk", "pka"; 6228cd03212SLin Jinhan assigned-clocks = <&cru CLK_CORE_CRYPTO>, <&cru CLK_PKA_CRYPTO>; 6238cd03212SLin Jinhan assigned-clock-rates = <300000000>, <300000000>; 6248cd03212SLin Jinhan resets = <&cru SRST_CORE_CRYPTO>; 6258cd03212SLin Jinhan reset-names = "crypto-rst"; 6268cd03212SLin Jinhan status = "disabled"; 6278cd03212SLin Jinhan }; 6288cd03212SLin Jinhan 6298cd03212SLin Jinhan rng: rng@ff448000 { 6308cd03212SLin Jinhan compatible = "rockchip,trngv1"; 6318cd03212SLin Jinhan reg = <0xff448000 0x200>; 6328cd03212SLin Jinhan interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 6338cd03212SLin Jinhan clocks = <&cru HCLK_TRNG_NS>; 6348cd03212SLin Jinhan clock-names = "hclk_trng"; 6358cd03212SLin Jinhan resets = <&cru SRST_H_TRNG_NS>; 6368cd03212SLin Jinhan reset-names = "reset"; 6378cd03212SLin Jinhan status = "disabled"; 6388cd03212SLin Jinhan }; 6398cd03212SLin Jinhan 64004e2aa7fSJoseph Chen i2c2: i2c@ff450000 { 64104e2aa7fSJoseph Chen compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c"; 64204e2aa7fSJoseph Chen reg = <0xff450000 0x1000>; 64304e2aa7fSJoseph Chen interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 64404e2aa7fSJoseph Chen #address-cells = <1>; 64504e2aa7fSJoseph Chen #size-cells = <0>; 64604e2aa7fSJoseph Chen clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 64704e2aa7fSJoseph Chen clock-names = "i2c", "pclk"; 64860a352bbSJoseph Chen pinctrl-names = "default"; 64960a352bbSJoseph Chen pinctrl-0 = <&i2c2m0_xfer>; 65004e2aa7fSJoseph Chen status = "disabled"; 65104e2aa7fSJoseph Chen }; 65204e2aa7fSJoseph Chen 65304e2aa7fSJoseph Chen i2c3: i2c@ff460000 { 65404e2aa7fSJoseph Chen compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c"; 65504e2aa7fSJoseph Chen reg = <0xff460000 0x1000>; 65604e2aa7fSJoseph Chen interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 65704e2aa7fSJoseph Chen #address-cells = <1>; 65804e2aa7fSJoseph Chen #size-cells = <0>; 65904e2aa7fSJoseph Chen clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 66004e2aa7fSJoseph Chen clock-names = "i2c", "pclk"; 66160a352bbSJoseph Chen pinctrl-names = "default"; 66260a352bbSJoseph Chen pinctrl-0 = <&i2c3m0_xfer>; 66304e2aa7fSJoseph Chen status = "disabled"; 66404e2aa7fSJoseph Chen }; 66504e2aa7fSJoseph Chen 66604e2aa7fSJoseph Chen i2c4: i2c@ff470000 { 66704e2aa7fSJoseph Chen compatible = "rockchip,rv1106-i2c", "rockchip,rk3399-i2c"; 66804e2aa7fSJoseph Chen reg = <0xff470000 0x1000>; 66904e2aa7fSJoseph Chen interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 67004e2aa7fSJoseph Chen #address-cells = <1>; 67104e2aa7fSJoseph Chen #size-cells = <0>; 67204e2aa7fSJoseph Chen clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 67304e2aa7fSJoseph Chen clock-names = "i2c", "pclk"; 67460a352bbSJoseph Chen pinctrl-names = "default"; 67560a352bbSJoseph Chen pinctrl-0 = <&i2c4m0_xfer>; 67660a352bbSJoseph Chen status = "disabled"; 67760a352bbSJoseph Chen }; 67860a352bbSJoseph Chen 67960a352bbSJoseph Chen pwm8: pwm@ff490000 { 68060a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 68160a352bbSJoseph Chen reg = <0xff490000 0x10>; 68260a352bbSJoseph Chen #pwm-cells = <3>; 68360a352bbSJoseph Chen pinctrl-names = "active"; 68460a352bbSJoseph Chen pinctrl-0 = <&pwm8m0_pins>; 68560a352bbSJoseph Chen clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>; 68660a352bbSJoseph Chen clock-names = "pwm", "pclk"; 68760a352bbSJoseph Chen status = "disabled"; 68860a352bbSJoseph Chen }; 68960a352bbSJoseph Chen 69060a352bbSJoseph Chen pwm9: pwm@ff490010 { 69160a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 69260a352bbSJoseph Chen reg = <0xff490010 0x10>; 69360a352bbSJoseph Chen #pwm-cells = <3>; 69460a352bbSJoseph Chen pinctrl-names = "active"; 69560a352bbSJoseph Chen pinctrl-0 = <&pwm9m0_pins>; 69660a352bbSJoseph Chen clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>; 69760a352bbSJoseph Chen clock-names = "pwm", "pclk"; 69860a352bbSJoseph Chen status = "disabled"; 69960a352bbSJoseph Chen }; 70060a352bbSJoseph Chen 70160a352bbSJoseph Chen pwm10: pwm@ff490020 { 70260a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 70360a352bbSJoseph Chen reg = <0xff490020 0x10>; 70460a352bbSJoseph Chen #pwm-cells = <3>; 70560a352bbSJoseph Chen pinctrl-names = "active"; 70660a352bbSJoseph Chen pinctrl-0 = <&pwm10m0_pins>; 70760a352bbSJoseph Chen clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>; 70860a352bbSJoseph Chen clock-names = "pwm", "pclk"; 70960a352bbSJoseph Chen status = "disabled"; 71060a352bbSJoseph Chen }; 71160a352bbSJoseph Chen 71260a352bbSJoseph Chen pwm11: pwm@ff490030 { 71360a352bbSJoseph Chen compatible = "rockchip,rv1106-pwm", "rockchip,rk3328-pwm"; 71460a352bbSJoseph Chen reg = <0xff490030 0x10>; 71560a352bbSJoseph Chen interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 71660a352bbSJoseph Chen <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 71760a352bbSJoseph Chen #pwm-cells = <3>; 71860a352bbSJoseph Chen pinctrl-names = "active"; 71960a352bbSJoseph Chen pinctrl-0 = <&pwm11m0_pins>; 72060a352bbSJoseph Chen clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>; 72160a352bbSJoseph Chen clock-names = "pwm", "pclk"; 72204e2aa7fSJoseph Chen status = "disabled"; 72304e2aa7fSJoseph Chen }; 72404e2aa7fSJoseph Chen 72504e2aa7fSJoseph Chen uart0: serial@ff4a0000 { 72604e2aa7fSJoseph Chen compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart"; 72704e2aa7fSJoseph Chen reg = <0xff4a0000 0x100>; 72804e2aa7fSJoseph Chen interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 72904e2aa7fSJoseph Chen reg-shift = <2>; 73004e2aa7fSJoseph Chen reg-io-width = <4>; 73104e2aa7fSJoseph Chen dmas = <&dmac 7>, <&dmac 6>; 73204e2aa7fSJoseph Chen clock-frequency = <24000000>; 73304e2aa7fSJoseph Chen clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 73404e2aa7fSJoseph Chen clock-names = "baudclk", "apb_pclk"; 73560a352bbSJoseph Chen pinctrl-names = "default"; 73660a352bbSJoseph Chen pinctrl-0 = <&uart0m0_xfer>; 73704e2aa7fSJoseph Chen status = "disabled"; 73804e2aa7fSJoseph Chen }; 73904e2aa7fSJoseph Chen 74004e2aa7fSJoseph Chen uart1: serial@ff4b0000 { 74104e2aa7fSJoseph Chen compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart"; 74204e2aa7fSJoseph Chen reg = <0xff4b0000 0x100>; 74304e2aa7fSJoseph Chen interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 74404e2aa7fSJoseph Chen reg-shift = <2>; 74504e2aa7fSJoseph Chen reg-io-width = <4>; 74604e2aa7fSJoseph Chen dmas = <&dmac 9>, <&dmac 8>; 74704e2aa7fSJoseph Chen clock-frequency = <24000000>; 74804e2aa7fSJoseph Chen clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 74904e2aa7fSJoseph Chen clock-names = "baudclk", "apb_pclk"; 75060a352bbSJoseph Chen pinctrl-names = "default"; 75160a352bbSJoseph Chen pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>; 75204e2aa7fSJoseph Chen status = "disabled"; 75304e2aa7fSJoseph Chen }; 75404e2aa7fSJoseph Chen 75504e2aa7fSJoseph Chen uart2: serial@ff4c0000 { 75604e2aa7fSJoseph Chen compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart"; 75704e2aa7fSJoseph Chen reg = <0xff4c0000 0x100>; 75804e2aa7fSJoseph Chen interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 75904e2aa7fSJoseph Chen reg-shift = <2>; 76004e2aa7fSJoseph Chen reg-io-width = <4>; 76104e2aa7fSJoseph Chen dmas = <&dmac 11>, <&dmac 10>; 76204e2aa7fSJoseph Chen clock-frequency = <24000000>; 76304e2aa7fSJoseph Chen clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 76404e2aa7fSJoseph Chen clock-names = "baudclk", "apb_pclk"; 76560a352bbSJoseph Chen pinctrl-names = "default"; 76660a352bbSJoseph Chen pinctrl-0 = <&uart2m1_xfer>; 76704e2aa7fSJoseph Chen status = "disabled"; 76804e2aa7fSJoseph Chen }; 76904e2aa7fSJoseph Chen 77004e2aa7fSJoseph Chen uart3: serial@ff4d0000 { 77104e2aa7fSJoseph Chen compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart"; 77204e2aa7fSJoseph Chen reg = <0xff4d0000 0x100>; 77304e2aa7fSJoseph Chen interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 77404e2aa7fSJoseph Chen reg-shift = <2>; 77504e2aa7fSJoseph Chen reg-io-width = <4>; 77604e2aa7fSJoseph Chen dmas = <&dmac 13>, <&dmac 12>; 77704e2aa7fSJoseph Chen clock-frequency = <24000000>; 77804e2aa7fSJoseph Chen clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 77904e2aa7fSJoseph Chen clock-names = "baudclk", "apb_pclk"; 78060a352bbSJoseph Chen pinctrl-names = "default"; 78160a352bbSJoseph Chen pinctrl-0 = <&uart3m0_xfer>; 78204e2aa7fSJoseph Chen status = "disabled"; 78304e2aa7fSJoseph Chen }; 78404e2aa7fSJoseph Chen 78504e2aa7fSJoseph Chen uart4: serial@ff4e0000 { 78604e2aa7fSJoseph Chen compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart"; 78704e2aa7fSJoseph Chen reg = <0xff4e0000 0x100>; 78804e2aa7fSJoseph Chen interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 78904e2aa7fSJoseph Chen reg-shift = <2>; 79004e2aa7fSJoseph Chen reg-io-width = <4>; 79104e2aa7fSJoseph Chen dmas = <&dmac 15>, <&dmac 14>; 79204e2aa7fSJoseph Chen clock-frequency = <24000000>; 79304e2aa7fSJoseph Chen clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 79404e2aa7fSJoseph Chen clock-names = "baudclk", "apb_pclk"; 79560a352bbSJoseph Chen pinctrl-names = "default"; 79660a352bbSJoseph Chen pinctrl-0 = <&uart4m0_xfer>; 79704e2aa7fSJoseph Chen status = "disabled"; 79804e2aa7fSJoseph Chen }; 79904e2aa7fSJoseph Chen 80004e2aa7fSJoseph Chen uart5: serial@ff4f0000 { 80104e2aa7fSJoseph Chen compatible = "rockchip,rv1106-uart", "snps,dw-apb-uart"; 80204e2aa7fSJoseph Chen reg = <0xff4f0000 0x100>; 80304e2aa7fSJoseph Chen interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 80404e2aa7fSJoseph Chen reg-shift = <2>; 80504e2aa7fSJoseph Chen reg-io-width = <4>; 80604e2aa7fSJoseph Chen dmas = <&dmac 17>, <&dmac 16>; 80704e2aa7fSJoseph Chen clock-frequency = <24000000>; 80804e2aa7fSJoseph Chen clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 80904e2aa7fSJoseph Chen clock-names = "baudclk", "apb_pclk"; 81060a352bbSJoseph Chen pinctrl-names = "default"; 81160a352bbSJoseph Chen pinctrl-0 = <&uart5m0_xfer &uart5m0_ctsn &uart5m0_rtsn>; 81204e2aa7fSJoseph Chen status = "disabled"; 81304e2aa7fSJoseph Chen }; 81404e2aa7fSJoseph Chen 81560a352bbSJoseph Chen spi0: spi@ff500000 { 81660a352bbSJoseph Chen compatible = "rockchip,rv1106-spi", "rockchip,rk3066-spi"; 81760a352bbSJoseph Chen reg = <0xff500000 0x1000>; 81860a352bbSJoseph Chen interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 81960a352bbSJoseph Chen #address-cells = <1>; 82060a352bbSJoseph Chen #size-cells = <0>; 82160a352bbSJoseph Chen clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 82260a352bbSJoseph Chen clock-names = "spiclk", "apb_pclk"; 82360a352bbSJoseph Chen dmas = <&dmac 1>, <&dmac 0>; 82460a352bbSJoseph Chen dma-names = "tx", "rx"; 82560a352bbSJoseph Chen pinctrl-names = "default"; 82660a352bbSJoseph Chen pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>; 827e01ec9b5SJoseph Chen status = "disabled"; 828e01ec9b5SJoseph Chen }; 829e01ec9b5SJoseph Chen 83060a352bbSJoseph Chen spi1: spi@ff510000 { 83160a352bbSJoseph Chen compatible = "rockchip,rv1106-spi", "rockchip,rk3066-spi"; 83260a352bbSJoseph Chen reg = <0xff510000 0x1000>; 83360a352bbSJoseph Chen interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 83460a352bbSJoseph Chen #address-cells = <1>; 83560a352bbSJoseph Chen #size-cells = <0>; 83660a352bbSJoseph Chen clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 83760a352bbSJoseph Chen clock-names = "spiclk", "apb_pclk"; 83860a352bbSJoseph Chen dmas = <&dmac 3>, <&dmac 2>; 83960a352bbSJoseph Chen dma-names = "tx", "rx"; 84060a352bbSJoseph Chen pinctrl-names = "default"; 84160a352bbSJoseph Chen pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>; 84260a352bbSJoseph Chen status = "disabled"; 84360a352bbSJoseph Chen }; 84460a352bbSJoseph Chen 84560a352bbSJoseph Chen hw_decompress: decompress@ff520000 { 84660a352bbSJoseph Chen compatible = "rockchip,hw-decompress"; 84760a352bbSJoseph Chen reg = <0xff520000 0x1000>; 84860a352bbSJoseph Chen interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 84960a352bbSJoseph Chen clocks = <&cru ACLK_DECOM>, <&cru DCLK_DECOM>, <&cru PCLK_DECOM>; 85060a352bbSJoseph Chen clock-names = "aclk", "dclk", "pclk"; 85160a352bbSJoseph Chen resets = <&cru SRST_D_DECOM>; 85260a352bbSJoseph Chen reset-names = "dresetn"; 85360a352bbSJoseph Chen status = "disabled"; 85460a352bbSJoseph Chen }; 85560a352bbSJoseph Chen 85660a352bbSJoseph Chen ioc: syscon@ff538000 { 85760a352bbSJoseph Chen compatible = "rockchip,rv1106-ioc", "syscon"; 85860a352bbSJoseph Chen reg = <0xff538000 0x40000>; 85960a352bbSJoseph Chen }; 86060a352bbSJoseph Chen 86160a352bbSJoseph Chen wdt: watchdog@ff5a0000 { 86260a352bbSJoseph Chen compatible = "rockchip,rv1106-wdt", "snps,dw-wdt"; 86360a352bbSJoseph Chen reg = <0xff5a0000 0x100>; 864*8cf829e2SZiyuan Xu clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>; 865*8cf829e2SZiyuan Xu clock-names = "tclk", "pclk"; 86660a352bbSJoseph Chen interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 867*8cf829e2SZiyuan Xu resets = <&cru SRST_P_WDT_NS>; 868*8cf829e2SZiyuan Xu reset-names = "reset"; 86960a352bbSJoseph Chen status = "disabled"; 87060a352bbSJoseph Chen }; 87160a352bbSJoseph Chen 87260a352bbSJoseph Chen mailbox: mailbox@ff5c0000 { 87360a352bbSJoseph Chen compatible = "rockchip,rv1106-mailbox", 87460a352bbSJoseph Chen "rockchip,rk3368-mailbox"; 87560a352bbSJoseph Chen reg = <0xff5c0000 0x200>; 87660a352bbSJoseph Chen interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 87760a352bbSJoseph Chen clocks = <&cru PCLK_MAILBOX>; 87860a352bbSJoseph Chen clock-names = "pclk_mailbox"; 87960a352bbSJoseph Chen #mbox-cells = <1>; 88060a352bbSJoseph Chen status = "disabled"; 88160a352bbSJoseph Chen }; 88260a352bbSJoseph Chen 88360a352bbSJoseph Chen npu: npu@ff660000 { 88460a352bbSJoseph Chen compatible = "rockchip,rv1106-rknpu"; 88560a352bbSJoseph Chen reg = <0xff660000 0x10000>; 88660a352bbSJoseph Chen interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 88760a352bbSJoseph Chen clocks = <&cru ACLK_RKNN>, <&cru HCLK_RKNN>; 88860a352bbSJoseph Chen clock-names = "aclk", "hclk"; 88960a352bbSJoseph Chen resets = <&cru SRST_A_RKNN>, <&cru SRST_H_RKNN>; 89060a352bbSJoseph Chen reset-names = "srst_a", "srst_h"; 89160a352bbSJoseph Chen status = "disabled"; 89260a352bbSJoseph Chen }; 89360a352bbSJoseph Chen 89460a352bbSJoseph Chen rga2: rga@ff980000 { 89560a352bbSJoseph Chen compatible = "rockchip,rga2_core0"; 89660a352bbSJoseph Chen reg = <0xff980000 0x1000>; 89760a352bbSJoseph Chen interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 89860a352bbSJoseph Chen clocks = <&cru ACLK_RGA2E>, <&cru HCLK_RGA2E>, <&cru CLK_CORE_RGA2E>; 89960a352bbSJoseph Chen clock-names = "aclk_rga2", "hclk_rga2", "clk_rga2"; 90060a352bbSJoseph Chen status = "disabled"; 90160a352bbSJoseph Chen }; 90260a352bbSJoseph Chen 90360a352bbSJoseph Chen vop: vop@ff990000 { 90460a352bbSJoseph Chen compatible = "rockchip,rv1106-vop"; 90560a352bbSJoseph Chen reg = <0xff990000 0x200>; 90660a352bbSJoseph Chen reg-names = "regs"; 90760a352bbSJoseph Chen rockchip,grf = <&grf>; 90860a352bbSJoseph Chen interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 90960a352bbSJoseph Chen clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>; 91060a352bbSJoseph Chen clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 91160a352bbSJoseph Chen status = "disabled"; 91260a352bbSJoseph Chen 91360a352bbSJoseph Chen vop_out: port { 91460a352bbSJoseph Chen #address-cells = <1>; 91560a352bbSJoseph Chen #size-cells = <0>; 91660a352bbSJoseph Chen 91760a352bbSJoseph Chen vop_out_rgb: endpoint@0 { 91860a352bbSJoseph Chen reg = <0>; 91960a352bbSJoseph Chen remote-endpoint = <&rgb_in_vop>; 92060a352bbSJoseph Chen }; 92160a352bbSJoseph Chen }; 92260a352bbSJoseph Chen }; 92360a352bbSJoseph Chen 92404e2aa7fSJoseph Chen sdio: mmc@ff9a0000 { 92504e2aa7fSJoseph Chen compatible = "rockchip,rv1106-dw-mshc", "rockchip,rk3288-dw-mshc"; 92604e2aa7fSJoseph Chen reg = <0xff9a0000 0x4000>; 92704e2aa7fSJoseph Chen interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 92804e2aa7fSJoseph Chen clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>, 92960a352bbSJoseph Chen <&grf_cru SCLK_SDIO_DRV>, <&grf_cru SCLK_SDIO_SAMPLE>; 93004e2aa7fSJoseph Chen clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 93104e2aa7fSJoseph Chen fifo-depth = <0x100>; 93204e2aa7fSJoseph Chen max-frequency = <200000000>; 93304e2aa7fSJoseph Chen status = "disabled"; 93404e2aa7fSJoseph Chen }; 93504e2aa7fSJoseph Chen 93660a352bbSJoseph Chen rkisp: rkisp@ffa00000 { 93760a352bbSJoseph Chen compatible = "rockchip,rv1106-rkisp"; 93860a352bbSJoseph Chen reg = <0xffa00000 0x7f00>; 93960a352bbSJoseph Chen interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 94060a352bbSJoseph Chen <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 94160a352bbSJoseph Chen <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 94260a352bbSJoseph Chen interrupt-names = "isp_irq", "mi_irq", "mipi_irq"; 94360a352bbSJoseph Chen clocks = <&cru ACLK_ISP3P2>, <&cru HCLK_ISP3P2>, 94460a352bbSJoseph Chen <&cru CLK_CORE_ISP3P2>, <&cru ISP0CLK_VICAP>; 94560a352bbSJoseph Chen clock-names = "aclk_isp", "hclk_isp", 94660a352bbSJoseph Chen "clk_isp_core", "clk_isp_core_vicap"; 94760a352bbSJoseph Chen status = "disabled"; 94860a352bbSJoseph Chen }; 94960a352bbSJoseph Chen 95060a352bbSJoseph Chen rkcif: rkcif@ffa10000 { 95160a352bbSJoseph Chen compatible = "rockchip,rv1106-cif"; 95260a352bbSJoseph Chen reg = <0xffa10000 0x10000>; 95360a352bbSJoseph Chen reg-names = "cif_regs"; 95460a352bbSJoseph Chen interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 95560a352bbSJoseph Chen interrupt-names = "cif-intr"; 95660a352bbSJoseph Chen clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>, 95760a352bbSJoseph Chen <&cru DCLK_VICAP>, <&cru PCLK_VICAP>, 95860a352bbSJoseph Chen <&cru I0CLK_VICAP>, <&cru I1CLK_VICAP>, 95960a352bbSJoseph Chen <&cru RX0PCLK_VICAP>, <&cru RX1PCLK_VICAP>, 96060a352bbSJoseph Chen <&cru ISP0CLK_VICAP>, <&cru SCLK_VICAP_M0>, 96160a352bbSJoseph Chen <&cru SCLK_VICAP_M1>, <&cru PCLK_VICAP_VEPU>; 96260a352bbSJoseph Chen clock-names = "aclk_cif","hclk_cif", 96360a352bbSJoseph Chen "dclk_cif", "pclk_cif", 96460a352bbSJoseph Chen "i0clk_cif", "i1clk_cif", 96560a352bbSJoseph Chen "rx0clk_cif", "rx1clk_cif", 96660a352bbSJoseph Chen "isp0clk_cif", "sclk_m0_cif", 96760a352bbSJoseph Chen "sclk_m1_cif", "pclk_vepu_cif"; 96860a352bbSJoseph Chen resets = <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>, 96960a352bbSJoseph Chen <&cru SRST_D_VICAP>, <&cru SRST_P_VICAP>, 97060a352bbSJoseph Chen <&cru SRST_VICAP_I0>, <&cru SRST_VICAP_I1>, 97160a352bbSJoseph Chen <&cru SRST_VICAP_RX0>, <&cru SRST_VICAP_RX1>, 97260a352bbSJoseph Chen <&cru SRST_VICAP_ISP0>, <&cru SRST_P_VICAP_VEPU>; 97360a352bbSJoseph Chen reset-names = "rst_cif_a","rst_cif_h", 97460a352bbSJoseph Chen "rst_cif_d", "rst_cif_p", 97560a352bbSJoseph Chen "rst_cif_i0", "rst_cif_i1", 97660a352bbSJoseph Chen "rst_cif_rx0", "rst_cif_rx1", 97760a352bbSJoseph Chen "rst_cif_isp0", "rst_cif_pclk_vepu"; 97860a352bbSJoseph Chen rockchip,grf = <&grf>; 97960a352bbSJoseph Chen status = "disabled"; 98060a352bbSJoseph Chen }; 98160a352bbSJoseph Chen 98260a352bbSJoseph Chen mipi0_csi2: mipi-csi2@ffa20000 { 98360a352bbSJoseph Chen compatible = "rockchip,rk3588-mipi-csi2"; 98460a352bbSJoseph Chen reg = <0xffa20000 0x10000>; 98560a352bbSJoseph Chen reg-names = "csihost_regs"; 98660a352bbSJoseph Chen interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 98760a352bbSJoseph Chen <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 98860a352bbSJoseph Chen interrupt-names = "csi-intr1", "csi-intr2"; 98960a352bbSJoseph Chen clocks = <&cru PCLK_CSIHOST0>, <&cru CLK_RXBYTECLKHS_0>; 99060a352bbSJoseph Chen clock-names = "pclk_csi2host", "clk_rxbyte_hs"; 99160a352bbSJoseph Chen resets = <&cru SRST_P_CSIHOST0>; 99260a352bbSJoseph Chen reset-names = "srst_csihost_p"; 99360a352bbSJoseph Chen status = "disabled"; 99460a352bbSJoseph Chen }; 99560a352bbSJoseph Chen 99660a352bbSJoseph Chen mipi1_csi2: mipi-csi2@ffa30000 { 99760a352bbSJoseph Chen compatible = "rockchip,rk3588-mipi-csi2"; 99860a352bbSJoseph Chen reg = <0xffa30000 0x10000>; 99960a352bbSJoseph Chen reg-names = "csihost_regs"; 100060a352bbSJoseph Chen interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 100160a352bbSJoseph Chen <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 100260a352bbSJoseph Chen interrupt-names = "csi-intr1", "csi-intr2"; 100360a352bbSJoseph Chen clocks = <&cru PCLK_CSIHOST1>, <&cru CLK_RXBYTECLKHS_1>; 100460a352bbSJoseph Chen clock-names = "pclk_csi2host", "clk_rxbyte_hs"; 100560a352bbSJoseph Chen resets = <&cru SRST_P_CSIHOST1>; 100660a352bbSJoseph Chen reset-names = "srst_csihost_p"; 100760a352bbSJoseph Chen status = "disabled"; 100860a352bbSJoseph Chen }; 100960a352bbSJoseph Chen 101060a352bbSJoseph Chen rkvenc: rkvenc@ffa50000 { 101160a352bbSJoseph Chen compatible = "rockchip,rkv-encoder-rv1106"; 101260a352bbSJoseph Chen reg = <0xffa50000 0x6000>; 101360a352bbSJoseph Chen interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 101460a352bbSJoseph Chen interrupt-names = "irq_rkvenc"; 101560a352bbSJoseph Chen clocks = <&cru ACLK_VEPU>, <&cru HCLK_VEPU>, <&cru CLK_CORE_VEPU>; 101660a352bbSJoseph Chen clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 101760a352bbSJoseph Chen rockchip,normal-rates = <300000000>, <0>, <400000000>; 101860a352bbSJoseph Chen assigned-clocks = <&cru ACLK_VEPU>, <&cru CLK_CORE_VEPU>; 101960a352bbSJoseph Chen assigned-clock-rates = <300000000>, <400000000>; 102060a352bbSJoseph Chen resets = <&cru SRST_A_VEPU>, <&cru SRST_H_VEPU>, <&cru SRST_CORE_VEPU>; 102160a352bbSJoseph Chen reset-names = "video_a", "video_h", "video_core"; 102260a352bbSJoseph Chen rockchip,srv = <&mpp_srv>; 102360a352bbSJoseph Chen rockchip,taskqueue-node = <0>; 102460a352bbSJoseph Chen dvbm = <&rkdvbm>; 102560a352bbSJoseph Chen status = "disabled"; 102660a352bbSJoseph Chen }; 102760a352bbSJoseph Chen 102860a352bbSJoseph Chen rkdvbm: rkdvbm@ffa70000 { 102960a352bbSJoseph Chen compatible = "rockchip,rk-dvbm"; 103060a352bbSJoseph Chen reg = <0xffa70000 0x90>; 103160a352bbSJoseph Chen interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 103260a352bbSJoseph Chen interrupt-names = "irq_rkdvbm"; 103360a352bbSJoseph Chen clocks = <&cru CLK_CORE_VEPU_DVBM>; 103460a352bbSJoseph Chen clock-names = "clk_core"; 103560a352bbSJoseph Chen assigned-clocks = <&cru CLK_CORE_VEPU_DVBM>; 103660a352bbSJoseph Chen assigned-clock-rates = <200000000>; 103760a352bbSJoseph Chen resets = <&cru SRST_CORE_VEPU_DVBM>; 103860a352bbSJoseph Chen reset-names = "dvbm_rst"; 103960a352bbSJoseph Chen status = "disabled"; 104060a352bbSJoseph Chen }; 104160a352bbSJoseph Chen 1042caee0dddSDavid Wu gmac: ethernet@ffa80000 { 104383c2ff12SDavid Wu compatible = "rockchip,rv1106-gmac", "snps,dwmac-4.20a"; 104483c2ff12SDavid Wu reg = <0xffa80000 0x10000>; 1045caee0dddSDavid Wu interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, 1046caee0dddSDavid Wu <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1047caee0dddSDavid Wu interrupt-names = "macirq", "eth_wake_irq"; 1048caee0dddSDavid Wu rockchip,grf = <&grf>; 1049caee0dddSDavid Wu clocks = <&cru CLK_GMAC0_TX_50M_O>, <&cru CLK_GMAC0_REF_50M>, 1050caee0dddSDavid Wu <&cru ACLK_MAC>, <&cru PCLK_MAC>; 1051caee0dddSDavid Wu clock-names = "stmmaceth", "clk_mac_ref", 1052caee0dddSDavid Wu "aclk_mac", "pclk_mac"; 1053caee0dddSDavid Wu resets = <&cru SRST_A_MAC>; 1054caee0dddSDavid Wu reset-names = "stmmaceth"; 1055caee0dddSDavid Wu 1056caee0dddSDavid Wu snps,mixed-burst; 1057caee0dddSDavid Wu snps,tso; 1058caee0dddSDavid Wu 105963013631SDavid Wu tx-dma-size = <256>; 106063013631SDavid Wu rx-dma-size = <16>; 106163013631SDavid Wu 1062caee0dddSDavid Wu snps,axi-config = <&stmmac_axi_setup>; 1063caee0dddSDavid Wu snps,mtl-rx-config = <&mtl_rx_setup>; 1064caee0dddSDavid Wu snps,mtl-tx-config = <&mtl_tx_setup>; 1065caee0dddSDavid Wu 1066caee0dddSDavid Wu phy-mode = "rmii"; 106783c2ff12SDavid Wu clock_in_out = "input"; 1068caee0dddSDavid Wu phy-handle = <&rmii_phy>; 106963013631SDavid Wu 107063013631SDavid Wu nvmem-cells = <&macphy_bgs>; 107163013631SDavid Wu nvmem-cell-names = "bgs"; 1072caee0dddSDavid Wu status = "disabled"; 1073caee0dddSDavid Wu 1074caee0dddSDavid Wu mdio: mdio { 1075caee0dddSDavid Wu compatible = "snps,dwmac-mdio"; 1076caee0dddSDavid Wu #address-cells = <0x1>; 1077caee0dddSDavid Wu #size-cells = <0x0>; 1078caee0dddSDavid Wu rmii_phy: ethernet-phy@2 { 107983c2ff12SDavid Wu compatible = "ethernet-phy-id0044.1400", "ethernet-phy-ieee802.3-c22"; 1080caee0dddSDavid Wu reg = <2>; 1081caee0dddSDavid Wu clocks = <&cru CLK_MACPHY>; 1082caee0dddSDavid Wu resets = <&cru SRST_MACPHY>; 1083caee0dddSDavid Wu phy-is-integrated; 108463013631SDavid Wu nvmem-cells = <&macphy_txlevel>; 108563013631SDavid Wu nvmem-cell-names = "txlevel"; 1086caee0dddSDavid Wu }; 1087caee0dddSDavid Wu }; 1088caee0dddSDavid Wu 1089caee0dddSDavid Wu stmmac_axi_setup: stmmac-axi-config { 1090caee0dddSDavid Wu snps,wr_osr_lmt = <4>; 1091caee0dddSDavid Wu snps,rd_osr_lmt = <8>; 1092caee0dddSDavid Wu snps,blen = <0 0 0 0 16 8 4>; 1093caee0dddSDavid Wu }; 1094caee0dddSDavid Wu 1095caee0dddSDavid Wu mtl_rx_setup: rx-queues-config { 1096caee0dddSDavid Wu snps,rx-queues-to-use = <1>; 109763013631SDavid Wu queue0 { 109863013631SDavid Wu status = "okay"; 109963013631SDavid Wu }; 1100caee0dddSDavid Wu }; 1101caee0dddSDavid Wu 1102caee0dddSDavid Wu mtl_tx_setup: tx-queues-config { 1103caee0dddSDavid Wu snps,tx-queues-to-use = <1>; 110463013631SDavid Wu queue0 { 110563013631SDavid Wu status = "okay"; 110663013631SDavid Wu }; 1107caee0dddSDavid Wu }; 1108caee0dddSDavid Wu }; 1109caee0dddSDavid Wu 111004e2aa7fSJoseph Chen emmc: mmc@ffa90000 { 111104e2aa7fSJoseph Chen compatible = "rockchip,rv1106-dw-mshc", "rockchip,rk3288-dw-mshc"; 111204e2aa7fSJoseph Chen reg = <0xffa90000 0x4000>; 111304e2aa7fSJoseph Chen interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 111404e2aa7fSJoseph Chen clocks = <&cru HCLK_EMMC>, <&cru CCLK_SRC_EMMC>, 111560a352bbSJoseph Chen <&grf_cru SCLK_EMMC_DRV>, <&grf_cru SCLK_EMMC_SAMPLE>; 111604e2aa7fSJoseph Chen clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 111704e2aa7fSJoseph Chen fifo-depth = <0x100>; 111804e2aa7fSJoseph Chen max-frequency = <200000000>; 111904e2aa7fSJoseph Chen rockchip,use-v2-tuning; 112004e2aa7fSJoseph Chen status = "disabled"; 112104e2aa7fSJoseph Chen }; 112204e2aa7fSJoseph Chen 112360a352bbSJoseph Chen sdmmc: mmc@ffaa0000 { 112460a352bbSJoseph Chen compatible = "rockchip,rv1106-dw-mshc", "rockchip,rk3288-dw-mshc"; 112560a352bbSJoseph Chen reg = <0xffaa0000 0x4000>; 112660a352bbSJoseph Chen interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 112760a352bbSJoseph Chen clocks = <&cru HCLK_SDMMC>, <&cru CCLK_SRC_SDMMC>, 112860a352bbSJoseph Chen <&grf_cru SCLK_SDMMC_DRV>, <&grf_cru SCLK_SDMMC_SAMPLE>; 112960a352bbSJoseph Chen clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1130efd7a594SJason Zhu cd-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>; 113160a352bbSJoseph Chen fifo-depth = <0x100>; 113260a352bbSJoseph Chen max-frequency = <200000000>; 11337474a84bSShawn Lin pinctrl-names = "default", "idle"; 1134efd7a594SJason Zhu pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>; 11357474a84bSShawn Lin pinctrl-1 = <&sdmmc0_idle_pins &sdmmc0_det>; 113660a352bbSJoseph Chen status = "disabled"; 113760a352bbSJoseph Chen }; 113860a352bbSJoseph Chen 11392a008eebSJon Lin sfc: spi@ffac0000 { 11402a008eebSJon Lin compatible = "rockchip,sfc"; 11412a008eebSJon Lin reg = <0xffac0000 0x4000>; 11422a008eebSJon Lin interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 11432a008eebSJon Lin clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 11442a008eebSJon Lin clock-names = "clk_sfc", "hclk_sfc"; 11452a008eebSJon Lin assigned-clocks = <&cru SCLK_SFC>; 11462a008eebSJon Lin assigned-clock-rates = <75000000>; 11472a008eebSJon Lin #address-cells = <1>; 11482a008eebSJon Lin #size-cells = <0>; 11492a008eebSJon Lin status = "disabled"; 11502a008eebSJon Lin }; 11512a008eebSJon Lin 115260a352bbSJoseph Chen rve: rve@ffad0000 { 115360a352bbSJoseph Chen compatible = "rockchip,rve"; 115460a352bbSJoseph Chen reg = <0xffad0000 0x1000>; 115560a352bbSJoseph Chen interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 115660a352bbSJoseph Chen clocks = <&cru ACLK_IVE>, <&cru HCLK_IVE>; 115760a352bbSJoseph Chen clock-names = "aclk_rve", "hclk_rve"; 115804e2aa7fSJoseph Chen status = "disabled"; 115904e2aa7fSJoseph Chen }; 116004e2aa7fSJoseph Chen 116104e2aa7fSJoseph Chen i2s0_8ch: i2s@ffae0000 { 116204e2aa7fSJoseph Chen compatible = "rockchip,rv1106-i2s-tdm"; 116304e2aa7fSJoseph Chen reg = <0xffae0000 0x1000>; 116404e2aa7fSJoseph Chen interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 116504e2aa7fSJoseph Chen clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0>; 116604e2aa7fSJoseph Chen clock-names = "mclk_tx", "mclk_rx", "hclk"; 116704e2aa7fSJoseph Chen dmas = <&dmac 22>, <&dmac 21>; 116804e2aa7fSJoseph Chen dma-names = "tx", "rx"; 116904e2aa7fSJoseph Chen resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>; 117004e2aa7fSJoseph Chen reset-names = "tx-m", "rx-m"; 117104e2aa7fSJoseph Chen rockchip,clk-trcm = <1>; 117204e2aa7fSJoseph Chen #sound-dai-cells = <0>; 117304e2aa7fSJoseph Chen status = "disabled"; 117404e2aa7fSJoseph Chen }; 117560a352bbSJoseph Chen 117660a352bbSJoseph Chen usbdrd: usbdrd { 117760a352bbSJoseph Chen compatible = "rockchip,rv1106-dwc3", "rockchip,rk3399-dwc3"; 117860a352bbSJoseph Chen clocks = <&cru CLK_REF_USBOTG>, <&cru CLK_UTMI_USBOTG>, 117960a352bbSJoseph Chen <&cru ACLK_USBOTG>; 118060a352bbSJoseph Chen clock-names = "ref", "utmi", "bus"; 118160a352bbSJoseph Chen #address-cells = <1>; 118260a352bbSJoseph Chen #size-cells = <1>; 118360a352bbSJoseph Chen ranges; 118460a352bbSJoseph Chen status = "disabled"; 118560a352bbSJoseph Chen 118660a352bbSJoseph Chen usbdrd_dwc3: usb@ffb00000 { 118760a352bbSJoseph Chen compatible = "snps,dwc3"; 118860a352bbSJoseph Chen reg = <0xffb00000 0x100000>; 118960a352bbSJoseph Chen interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 119060a352bbSJoseph Chen resets = <&cru SRST_A_USBOTG>; 119160a352bbSJoseph Chen reset-names = "usb3-otg"; 119260a352bbSJoseph Chen dr_mode = "otg"; 119360a352bbSJoseph Chen maximum-speed = "high-speed"; 119460a352bbSJoseph Chen phys = <&u2phy_otg>; 119560a352bbSJoseph Chen phy-names = "usb2-phy"; 119660a352bbSJoseph Chen phy_type = "utmi_wide"; 119760a352bbSJoseph Chen snps,dis_enblslpm_quirk; 119860a352bbSJoseph Chen snps,dis-u2-freeclk-exists-quirk; 119960a352bbSJoseph Chen snps,dis_u2_susphy_quirk; 120060a352bbSJoseph Chen snps,dis-del-phy-power-chg-quirk; 120160a352bbSJoseph Chen snps,dis-tx-ipgap-linecheck-quirk; 120260a352bbSJoseph Chen status = "disabled"; 120304e2aa7fSJoseph Chen }; 120460a352bbSJoseph Chen }; 120560a352bbSJoseph Chen 120660a352bbSJoseph Chen pinctrl: pinctrl { 120760a352bbSJoseph Chen compatible = "rockchip,rv1106-pinctrl"; 120860a352bbSJoseph Chen rockchip,grf = <&ioc>; 120960a352bbSJoseph Chen rockchip,pmu = <&pmuioc>; 121060a352bbSJoseph Chen #address-cells = <1>; 121160a352bbSJoseph Chen #size-cells = <1>; 121260a352bbSJoseph Chen ranges; 121360a352bbSJoseph Chen 121460a352bbSJoseph Chen gpio0: gpio@ff380000 { 121560a352bbSJoseph Chen compatible = "rockchip,gpio-bank"; 121660a352bbSJoseph Chen reg = <0xff380000 0x100>; 121760a352bbSJoseph Chen interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 121860a352bbSJoseph Chen clocks = <&cru PCLK_PMU_GPIO0>, <&cru DBCLK_PMU_GPIO0>; 121960a352bbSJoseph Chen 122060a352bbSJoseph Chen gpio-controller; 122160a352bbSJoseph Chen #gpio-cells = <2>; 122260a352bbSJoseph Chen gpio-ranges = <&pinctrl 0 0 32>; 122360a352bbSJoseph Chen interrupt-controller; 122460a352bbSJoseph Chen #interrupt-cells = <2>; 122560a352bbSJoseph Chen }; 122660a352bbSJoseph Chen 122760a352bbSJoseph Chen gpio1: gpio@ff530000 { 122860a352bbSJoseph Chen compatible = "rockchip,gpio-bank"; 122960a352bbSJoseph Chen reg = <0xff530000 0x100>; 123060a352bbSJoseph Chen interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 123160a352bbSJoseph Chen clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 123260a352bbSJoseph Chen 123360a352bbSJoseph Chen gpio-controller; 123460a352bbSJoseph Chen #gpio-cells = <2>; 123560a352bbSJoseph Chen gpio-ranges = <&pinctrl 0 32 32>; 123660a352bbSJoseph Chen interrupt-controller; 123760a352bbSJoseph Chen #interrupt-cells = <2>; 123860a352bbSJoseph Chen }; 123960a352bbSJoseph Chen 124060a352bbSJoseph Chen gpio2: gpio@ff540000 { 124160a352bbSJoseph Chen compatible = "rockchip,gpio-bank"; 124260a352bbSJoseph Chen reg = <0xff540000 0x100>; 124360a352bbSJoseph Chen interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 124460a352bbSJoseph Chen clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 124560a352bbSJoseph Chen 124660a352bbSJoseph Chen gpio-controller; 124760a352bbSJoseph Chen #gpio-cells = <2>; 124860a352bbSJoseph Chen gpio-ranges = <&pinctrl 0 64 32>; 124960a352bbSJoseph Chen interrupt-controller; 125060a352bbSJoseph Chen #interrupt-cells = <2>; 125160a352bbSJoseph Chen }; 125260a352bbSJoseph Chen 125360a352bbSJoseph Chen gpio3: gpio@ff550000 { 125460a352bbSJoseph Chen compatible = "rockchip,gpio-bank"; 125560a352bbSJoseph Chen reg = <0xff550000 0x100>; 125660a352bbSJoseph Chen interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 125760a352bbSJoseph Chen clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 125860a352bbSJoseph Chen 125960a352bbSJoseph Chen gpio-controller; 126060a352bbSJoseph Chen #gpio-cells = <2>; 126160a352bbSJoseph Chen gpio-ranges = <&pinctrl 0 96 32>; 126260a352bbSJoseph Chen interrupt-controller; 126360a352bbSJoseph Chen #interrupt-cells = <2>; 126460a352bbSJoseph Chen }; 126560a352bbSJoseph Chen 126660a352bbSJoseph Chen gpio4: gpio@ff560000 { 126760a352bbSJoseph Chen compatible = "rockchip,gpio-bank"; 126860a352bbSJoseph Chen reg = <0xff560000 0x100>; 126960a352bbSJoseph Chen interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 127060a352bbSJoseph Chen clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 127160a352bbSJoseph Chen 127260a352bbSJoseph Chen gpio-controller; 127360a352bbSJoseph Chen #gpio-cells = <2>; 127460a352bbSJoseph Chen gpio-ranges = <&pinctrl 0 128 32>; 127560a352bbSJoseph Chen interrupt-controller; 127660a352bbSJoseph Chen #interrupt-cells = <2>; 127760a352bbSJoseph Chen }; 127860a352bbSJoseph Chen }; 127960a352bbSJoseph Chen}; 128060a352bbSJoseph Chen 128160a352bbSJoseph Chen#include "rv1106-pinctrl.dtsi" 1282