1b9dcc643SXuhui Lin// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2b9dcc643SXuhui Lin/* 3b9dcc643SXuhui Lin * Copyright (c) 2024 Rockchip Electronics Co., Ltd. 4b9dcc643SXuhui Lin */ 5b9dcc643SXuhui Lin 6b9dcc643SXuhui Lin#include <dt-bindings/clock/rockchip,rv1103b-cru.h> 7b9dcc643SXuhui Lin#include <dt-bindings/gpio/gpio.h> 8b9dcc643SXuhui Lin#include <dt-bindings/interrupt-controller/irq.h> 9b9dcc643SXuhui Lin#include <dt-bindings/interrupt-controller/arm-gic.h> 10b9dcc643SXuhui Lin#include <dt-bindings/pinctrl/rockchip.h> 11b9dcc643SXuhui Lin#include <dt-bindings/soc/rockchip,boot-mode.h> 12b9dcc643SXuhui Lin#include <dt-bindings/soc/rockchip-system-status.h> 13b9dcc643SXuhui Lin#include <dt-bindings/thermal/thermal.h> 14b9dcc643SXuhui Lin 15b9dcc643SXuhui Lin/ { 16b9dcc643SXuhui Lin #address-cells = <1>; 17b9dcc643SXuhui Lin #size-cells = <1>; 18b9dcc643SXuhui Lin 19b9dcc643SXuhui Lin compatible = "rockchip,rv1103b"; 20b9dcc643SXuhui Lin 21b9dcc643SXuhui Lin interrupt-parent = <&gic>; 22b9dcc643SXuhui Lin 23b9dcc643SXuhui Lin aliases { 24b9dcc643SXuhui Lin csi2dphy0 = &csi2_dphy0; 25b9dcc643SXuhui Lin csi2dphy1 = &csi2_dphy1; 26b9dcc643SXuhui Lin csi2dphy2 = &csi2_dphy2; 27b9dcc643SXuhui Lin ethernet0 = &gmac; 28b9dcc643SXuhui Lin gpio0 = &gpio0; 29b9dcc643SXuhui Lin gpio1 = &gpio1; 30b9dcc643SXuhui Lin gpio2 = &gpio2; 31b9dcc643SXuhui Lin i2c0 = &i2c0; 32b9dcc643SXuhui Lin i2c1 = &i2c1; 33b9dcc643SXuhui Lin i2c2 = &i2c2; 34b9dcc643SXuhui Lin i2c3 = &i2c3; 35b9dcc643SXuhui Lin i2c4 = &i2c4; 36b9dcc643SXuhui Lin mmc0 = &emmc; 37b9dcc643SXuhui Lin mmc1 = &sdmmc0; 38b9dcc643SXuhui Lin mmc2 = &sdmmc1; 39b9dcc643SXuhui Lin rkcif_mipi_lvds0 = &rkcif_mipi_lvds; 40b9dcc643SXuhui Lin rkcif_mipi_lvds1 = &rkcif_mipi_lvds1; 41b9dcc643SXuhui Lin serial0 = &uart0; 42b9dcc643SXuhui Lin serial1 = &uart1; 43b9dcc643SXuhui Lin serial2 = &uart2; 44b9dcc643SXuhui Lin spi0 = &spi0; 45b9dcc643SXuhui Lin spi1 = &sfc; 46b9dcc643SXuhui Lin }; 47b9dcc643SXuhui Lin 48b9dcc643SXuhui Lin arm-pmu { 49b9dcc643SXuhui Lin compatible = "arm,cortex-a7-pmu"; 50b9dcc643SXuhui Lin interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 51b9dcc643SXuhui Lin interrupt-affinity = <&cpu0>; 52b9dcc643SXuhui Lin }; 53b9dcc643SXuhui Lin 54b9dcc643SXuhui Lin clocks { 55b9dcc643SXuhui Lin compatible = "simple-bus"; 56b9dcc643SXuhui Lin 57b9dcc643SXuhui Lin xin24m: xin24m { 58b9dcc643SXuhui Lin compatible = "fixed-clock"; 59b9dcc643SXuhui Lin #clock-cells = <0>; 60b9dcc643SXuhui Lin clock-frequency = <24000000>; 61b9dcc643SXuhui Lin clock-output-names = "xin24m"; 62b9dcc643SXuhui Lin }; 63b9dcc643SXuhui Lin 64b9dcc643SXuhui Lin xin32k: xin32k { 65b9dcc643SXuhui Lin compatible = "fixed-clock"; 66b9dcc643SXuhui Lin #clock-cells = <0>; 67b9dcc643SXuhui Lin clock-frequency = <32768>; 68b9dcc643SXuhui Lin clock-output-names = "xin32k"; 69b9dcc643SXuhui Lin }; 70b9dcc643SXuhui Lin }; 71b9dcc643SXuhui Lin 72b9dcc643SXuhui Lin cpuinfo { 73b9dcc643SXuhui Lin compatible = "rockchip,cpuinfo"; 74b9dcc643SXuhui Lin nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>; 75b9dcc643SXuhui Lin nvmem-cell-names = "id", "cpu-version", "cpu-code"; 76b9dcc643SXuhui Lin }; 77b9dcc643SXuhui Lin 78b9dcc643SXuhui Lin cpus { 79b9dcc643SXuhui Lin #address-cells = <1>; 80b9dcc643SXuhui Lin #size-cells = <0>; 81b9dcc643SXuhui Lin 82b9dcc643SXuhui Lin cpu0: cpu@0 { 83b9dcc643SXuhui Lin device_type = "cpu"; 84b9dcc643SXuhui Lin compatible = "arm,cortex-a7"; 85b9dcc643SXuhui Lin reg = <0x0>; 86b9dcc643SXuhui Lin clocks = <&cru ARMCLK>; 87b9dcc643SXuhui Lin operating-points-v2 = <&cpu0_opp_table>; 88b9dcc643SXuhui Lin }; 89b9dcc643SXuhui Lin }; 90b9dcc643SXuhui Lin 91b9dcc643SXuhui Lin cpu0_opp_table: cpu0-opp-table { 92b9dcc643SXuhui Lin compatible = "operating-points-v2"; 93b9dcc643SXuhui Lin opp-shared; 94b9dcc643SXuhui Lin 95b9dcc643SXuhui Lin nvmem-cells = <&cpu_leakage>; 96b9dcc643SXuhui Lin nvmem-cell-names = "leakage"; 97b9dcc643SXuhui Lin 98b9dcc643SXuhui Lin opp-408000000 { 99b9dcc643SXuhui Lin opp-hz = /bits/ 64 <408000000>; 100b9dcc643SXuhui Lin opp-microvolt = <900000 900000 1000000>; 101b9dcc643SXuhui Lin clock-latency-ns = <40000>; 102b9dcc643SXuhui Lin }; 103b9dcc643SXuhui Lin opp-600000000 { 104b9dcc643SXuhui Lin opp-hz = /bits/ 64 <600000000>; 105b9dcc643SXuhui Lin opp-microvolt = <900000 900000 1000000>; 106b9dcc643SXuhui Lin clock-latency-ns = <40000>; 107b9dcc643SXuhui Lin }; 108b9dcc643SXuhui Lin opp-1200000000 { 109b9dcc643SXuhui Lin opp-hz = /bits/ 64 <1200000000>; 110b9dcc643SXuhui Lin opp-microvolt = <950000 950000 1000000>; 111b9dcc643SXuhui Lin clock-latency-ns = <40000>; 112b9dcc643SXuhui Lin }; 113b9dcc643SXuhui Lin }; 114b9dcc643SXuhui Lin 115b9dcc643SXuhui Lin /* dphy0 full mode */ 116b9dcc643SXuhui Lin csi2_dphy0: csi2-dphy0 { 117b9dcc643SXuhui Lin compatible = "rockchip,rv1106-csi2-dphy"; 118b9dcc643SXuhui Lin rockchip,hw = <&csi2_dphy_hw>; 119b9dcc643SXuhui Lin status = "disabled"; 120b9dcc643SXuhui Lin }; 121b9dcc643SXuhui Lin 122b9dcc643SXuhui Lin /* dphy1 split mode 01 */ 123b9dcc643SXuhui Lin csi2_dphy1: csi2-dphy1 { 124b9dcc643SXuhui Lin compatible = "rockchip,rv1106-csi2-dphy"; 125b9dcc643SXuhui Lin rockchip,hw = <&csi2_dphy_hw>; 126b9dcc643SXuhui Lin status = "disabled"; 127b9dcc643SXuhui Lin }; 128b9dcc643SXuhui Lin 129b9dcc643SXuhui Lin /* dphy2 split mode 23 */ 130b9dcc643SXuhui Lin csi2_dphy2: csi2-dphy2 { 131b9dcc643SXuhui Lin compatible = "rockchip,rv1106-csi2-dphy"; 132b9dcc643SXuhui Lin rockchip,hw = <&csi2_dphy_hw>; 133b9dcc643SXuhui Lin status = "disabled"; 134b9dcc643SXuhui Lin }; 135b9dcc643SXuhui Lin 136b9dcc643SXuhui Lin fiq_debugger: fiq-debugger { 137b9dcc643SXuhui Lin compatible = "rockchip,fiq-debugger"; 138b9dcc643SXuhui Lin rockchip,serial-id = <0>; 139b9dcc643SXuhui Lin rockchip,wake-irq = <0>; 140b9dcc643SXuhui Lin rockchip,irq-mode-enable = <0>; 141b9dcc643SXuhui Lin rockchip,baudrate = <115200>; /* Only 115200 and 1500000 */ 142b9dcc643SXuhui Lin interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 143b9dcc643SXuhui Lin status = "disabled"; 144b9dcc643SXuhui Lin }; 145b9dcc643SXuhui Lin 146b9dcc643SXuhui Lin mipi0_csi2: mipi0-csi2 { 147b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mipi-csi2"; 148b9dcc643SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>; 149b9dcc643SXuhui Lin status = "disabled"; 150b9dcc643SXuhui Lin }; 151b9dcc643SXuhui Lin 152b9dcc643SXuhui Lin mipi1_csi2: mipi1-csi2 { 153b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mipi-csi2"; 154b9dcc643SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>; 155b9dcc643SXuhui Lin status = "disabled"; 156b9dcc643SXuhui Lin }; 157b9dcc643SXuhui Lin 158b9dcc643SXuhui Lin mpp_srv: mpp-srv { 159b9dcc643SXuhui Lin compatible = "rockchip,mpp-service"; 160b9dcc643SXuhui Lin rockchip,taskqueue-count = <2>; 161b9dcc643SXuhui Lin status = "disabled"; 162b9dcc643SXuhui Lin }; 163b9dcc643SXuhui Lin 164b9dcc643SXuhui Lin mpp_vcodec: mpp-vcodec { 165b9dcc643SXuhui Lin compatible = "rockchip,vcodec"; 166b9dcc643SXuhui Lin status = "disabled"; 167b9dcc643SXuhui Lin }; 168b9dcc643SXuhui Lin 169b9dcc643SXuhui Lin rkcif_mipi_lvds: rkcif-mipi-lvds { 170b9dcc643SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 171b9dcc643SXuhui Lin rockchip,hw = <&rkcif>; 172b9dcc643SXuhui Lin status = "disabled"; 173b9dcc643SXuhui Lin }; 174b9dcc643SXuhui Lin 175b9dcc643SXuhui Lin rkcif_mipi_lvds_sditf: rkcif-mipi-lvds-sditf { 176b9dcc643SXuhui Lin compatible = "rockchip,rkcif-sditf"; 177b9dcc643SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds>; 178b9dcc643SXuhui Lin status = "disabled"; 179b9dcc643SXuhui Lin }; 180b9dcc643SXuhui Lin 181b9dcc643SXuhui Lin rkcif_mipi_lvds1: rkcif-mipi-lvds1 { 182b9dcc643SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 183b9dcc643SXuhui Lin rockchip,hw = <&rkcif>; 184b9dcc643SXuhui Lin status = "disabled"; 185b9dcc643SXuhui Lin }; 186b9dcc643SXuhui Lin 187b9dcc643SXuhui Lin rkcif_mipi_lvds1_sditf: rkcif-mipi-lvds1-sditf { 188b9dcc643SXuhui Lin compatible = "rockchip,rkcif-sditf"; 189b9dcc643SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds1>; 190b9dcc643SXuhui Lin status = "disabled"; 191b9dcc643SXuhui Lin }; 192b9dcc643SXuhui Lin 193b9dcc643SXuhui Lin rkdvbm: rkdvbm { 194b9dcc643SXuhui Lin compatible = "rockchip,rk-dvbm"; 195b9dcc643SXuhui Lin status = "disabled"; 196b9dcc643SXuhui Lin }; 197b9dcc643SXuhui Lin 198b9dcc643SXuhui Lin rkisp_vir0: rkisp-vir0 { 199b9dcc643SXuhui Lin compatible = "rockchip,rkisp-vir"; 200b9dcc643SXuhui Lin rockchip,hw = <&rkisp>; 201b9dcc643SXuhui Lin dvbm = <&rkdvbm>; 202b9dcc643SXuhui Lin status = "disabled"; 203b9dcc643SXuhui Lin }; 204b9dcc643SXuhui Lin 205b9dcc643SXuhui Lin rkisp_vir1: rkisp-vir1 { 206b9dcc643SXuhui Lin compatible = "rockchip,rkisp-vir"; 207b9dcc643SXuhui Lin rockchip,hw = <&rkisp>; 208b9dcc643SXuhui Lin dvbm = <&rkdvbm>; 209b9dcc643SXuhui Lin status = "disabled"; 210b9dcc643SXuhui Lin }; 211b9dcc643SXuhui Lin 212b9dcc643SXuhui Lin thermal_zones: thermal-zones { 213b9dcc643SXuhui Lin soc_thermal: soc-thermal { 214b9dcc643SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 215b9dcc643SXuhui Lin polling-delay = <1000>; /* milliseconds */ 216b9dcc643SXuhui Lin thermal-sensors = <&tsadc 0>; 217b9dcc643SXuhui Lin trips { 218b9dcc643SXuhui Lin soc_crit: soc-crit { 219b9dcc643SXuhui Lin /* millicelsius */ 220b9dcc643SXuhui Lin temperature = <115000>; 221b9dcc643SXuhui Lin /* millicelsius */ 222b9dcc643SXuhui Lin hysteresis = <2000>; 223b9dcc643SXuhui Lin type = "critical"; 224b9dcc643SXuhui Lin }; 225b9dcc643SXuhui Lin }; 226b9dcc643SXuhui Lin }; 227b9dcc643SXuhui Lin }; 228b9dcc643SXuhui Lin 229b9dcc643SXuhui Lin timer { 230b9dcc643SXuhui Lin compatible = "arm,armv7-timer"; 231b9dcc643SXuhui Lin interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>, 232b9dcc643SXuhui Lin <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 233b9dcc643SXuhui Lin clock-frequency = <24000000>; 234b9dcc643SXuhui Lin }; 235b9dcc643SXuhui Lin 236b9dcc643SXuhui Lin cru: clock-controller@20000000 { 237b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-cru"; 238b9dcc643SXuhui Lin reg = <0x20000000 0x81000>; 239b9dcc643SXuhui Lin #clock-cells = <1>; 240b9dcc643SXuhui Lin #reset-cells = <1>; 241b9dcc643SXuhui Lin 242b9dcc643SXuhui Lin assigned-clocks = 243b9dcc643SXuhui Lin <&cru PLL_GPLL>, <&cru CLK_GPLL_DIV12>; 244b9dcc643SXuhui Lin assigned-clock-rates = 245b9dcc643SXuhui Lin <1188000000>, <100000000>; 246b9dcc643SXuhui Lin }; 247b9dcc643SXuhui Lin 248b9dcc643SXuhui Lin /* 249b9dcc643SXuhui Lin * Merge all GRF, each independent GRF offset is shown as bellow: 250b9dcc643SXuhui Lin * VEPU_GRF: 0x20100000 251b9dcc643SXuhui Lin * NPU_GRF: 0x20110000 252b9dcc643SXuhui Lin * VI_GRF: 0x20120000 253b9dcc643SXuhui Lin * CPU_GRF: 0x20130000 254b9dcc643SXuhui Lin * DDR_GRF: 0x20140000 255b9dcc643SXuhui Lin * SYS_GRF: 0x20150000 256b9dcc643SXuhui Lin * PMU_GRF: 0x20160000 257b9dcc643SXuhui Lin */ 258b9dcc643SXuhui Lin grf: syscon@20100000 { 259b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-grf", "syscon", "simple-mfd"; 260b9dcc643SXuhui Lin reg = <0x20100000 0x61000>; 261b9dcc643SXuhui Lin 262b9dcc643SXuhui Lin reboot_mode: reboot-mode { 263b9dcc643SXuhui Lin compatible = "syscon-reboot-mode"; 264b9dcc643SXuhui Lin offset = <0x60200>; 265b9dcc643SXuhui Lin mode-bootloader = <BOOT_BL_DOWNLOAD>; 266b9dcc643SXuhui Lin mode-charge = <BOOT_CHARGING>; 267b9dcc643SXuhui Lin mode-fastboot = <BOOT_FASTBOOT>; 268b9dcc643SXuhui Lin mode-loader = <BOOT_BL_DOWNLOAD>; 269b9dcc643SXuhui Lin mode-normal = <BOOT_NORMAL>; 270b9dcc643SXuhui Lin mode-recovery = <BOOT_RECOVERY>; 271b9dcc643SXuhui Lin mode-ums = <BOOT_UMS>; 272b9dcc643SXuhui Lin mode-panic = <BOOT_PANIC>; 273b9dcc643SXuhui Lin mode-watchdog = <BOOT_WATCHDOG>; 274b9dcc643SXuhui Lin }; 275b9dcc643SXuhui Lin }; 276b9dcc643SXuhui Lin 277b9dcc643SXuhui Lin ioc: syscon@20170000 { 278b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-ioc", "syscon"; 279b9dcc643SXuhui Lin reg = <0x20170000 0x60000>; 280b9dcc643SXuhui Lin }; 281b9dcc643SXuhui Lin 282b9dcc643SXuhui Lin gic: interrupt-controller@20411000 { 283b9dcc643SXuhui Lin compatible = "arm,gic-400"; 284b9dcc643SXuhui Lin interrupt-controller; 285b9dcc643SXuhui Lin #interrupt-cells = <3>; 286b9dcc643SXuhui Lin #address-cells = <0>; 287b9dcc643SXuhui Lin 288b9dcc643SXuhui Lin reg = <0x20411000 0x1000>, 289b9dcc643SXuhui Lin <0x20412000 0x2000>, 290b9dcc643SXuhui Lin <0x20414000 0x2000>, 291b9dcc643SXuhui Lin <0x20416000 0x2000>; 292b9dcc643SXuhui Lin interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 293b9dcc643SXuhui Lin }; 294b9dcc643SXuhui Lin 295b9dcc643SXuhui Lin i2c0: i2c@20530000 { 296b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-i2c", "rockchip,rk3399-i2c"; 297b9dcc643SXuhui Lin reg = <0x20530000 0x1000>; 298b9dcc643SXuhui Lin interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 299b9dcc643SXuhui Lin #address-cells = <1>; 300b9dcc643SXuhui Lin #size-cells = <0>; 301b9dcc643SXuhui Lin clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 302b9dcc643SXuhui Lin clock-names = "i2c", "pclk"; 303b9dcc643SXuhui Lin pinctrl-names = "default"; 304b9dcc643SXuhui Lin pinctrl-0 = <&i2c0m0_xfer_pins>; 305b9dcc643SXuhui Lin status = "disabled"; 306b9dcc643SXuhui Lin }; 307b9dcc643SXuhui Lin 308b9dcc643SXuhui Lin uart0: serial@20540000 { 309b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-uart", "snps,dw-apb-uart"; 310b9dcc643SXuhui Lin reg = <0x20540000 0x100>; 311b9dcc643SXuhui Lin interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 312b9dcc643SXuhui Lin reg-shift = <2>; 313b9dcc643SXuhui Lin reg-io-width = <4>; 314b9dcc643SXuhui Lin dmas = <&dmac 1>, <&dmac 0>; 315b9dcc643SXuhui Lin clock-frequency = <24000000>; 316b9dcc643SXuhui Lin clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 317b9dcc643SXuhui Lin clock-names = "baudclk", "apb_pclk"; 318b9dcc643SXuhui Lin pinctrl-names = "default"; 319b9dcc643SXuhui Lin pinctrl-0 = <&uart0m0_xfer_pins>; 320b9dcc643SXuhui Lin status = "disabled"; 321b9dcc643SXuhui Lin }; 322b9dcc643SXuhui Lin 323b9dcc643SXuhui Lin pwm0_4ch_0: pwm@20550000 { 324b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 325b9dcc643SXuhui Lin reg = <0x20550000 0x1000>; 326b9dcc643SXuhui Lin interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 327b9dcc643SXuhui Lin #pwm-cells = <3>; 328b9dcc643SXuhui Lin pinctrl-names = "active"; 329b9dcc643SXuhui Lin pinctrl-0 = <&pwm0m0_ch0_pins>; 330b9dcc643SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 331b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 332b9dcc643SXuhui Lin status = "disabled"; 333b9dcc643SXuhui Lin }; 334b9dcc643SXuhui Lin 335b9dcc643SXuhui Lin pwm0_4ch_1: pwm@20551000 { 336b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 337b9dcc643SXuhui Lin reg = <0x20551000 0x1000>; 338b9dcc643SXuhui Lin interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 339b9dcc643SXuhui Lin #pwm-cells = <3>; 340b9dcc643SXuhui Lin pinctrl-names = "active"; 341b9dcc643SXuhui Lin pinctrl-0 = <&pwm0m0_ch1_pins>; 342b9dcc643SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 343b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 344b9dcc643SXuhui Lin status = "disabled"; 345b9dcc643SXuhui Lin }; 346b9dcc643SXuhui Lin 347b9dcc643SXuhui Lin pwm0_4ch_2: pwm@20552000 { 348b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 349b9dcc643SXuhui Lin reg = <0x20552000 0x1000>; 350b9dcc643SXuhui Lin interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 351b9dcc643SXuhui Lin #pwm-cells = <3>; 352b9dcc643SXuhui Lin pinctrl-names = "active"; 353b9dcc643SXuhui Lin pinctrl-0 = <&pwm0m0_ch2_pins>; 354b9dcc643SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 355b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 356b9dcc643SXuhui Lin status = "disabled"; 357b9dcc643SXuhui Lin }; 358b9dcc643SXuhui Lin 359b9dcc643SXuhui Lin pwm0_4ch_3: pwm@20553000 { 360b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 361b9dcc643SXuhui Lin reg = <0x20553000 0x1000>; 362b9dcc643SXuhui Lin interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 363b9dcc643SXuhui Lin #pwm-cells = <3>; 364b9dcc643SXuhui Lin pinctrl-names = "active"; 365b9dcc643SXuhui Lin pinctrl-0 = <&pwm0m0_ch3_pins>; 366b9dcc643SXuhui Lin clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 367b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 368b9dcc643SXuhui Lin status = "disabled"; 369b9dcc643SXuhui Lin }; 370b9dcc643SXuhui Lin 371b9dcc643SXuhui Lin lpmcu_mbox0: mailbox@20580000 { 372b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mailbox", "rockchip,rk3576-mailbox"; 373b9dcc643SXuhui Lin reg = <0x20580000 0x20>; 374b9dcc643SXuhui Lin interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 375b9dcc643SXuhui Lin clocks = <&cru PCLK_LPMCU_MAILBOX>; 376b9dcc643SXuhui Lin clock-names = "pclk_mailbox"; 377b9dcc643SXuhui Lin #mbox-cells = <1>; 378b9dcc643SXuhui Lin status = "disabled"; 379b9dcc643SXuhui Lin }; 380b9dcc643SXuhui Lin 381b9dcc643SXuhui Lin lpmcu_mbox1: mailbox@20581000 { 382b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mailbox", "rockchip,rk3576-mailbox"; 383b9dcc643SXuhui Lin reg = <0x20581000 0x20>; 384b9dcc643SXuhui Lin interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 385b9dcc643SXuhui Lin clocks = <&cru PCLK_LPMCU_MAILBOX>; 386b9dcc643SXuhui Lin clock-names = "pclk_mailbox"; 387b9dcc643SXuhui Lin #mbox-cells = <1>; 388b9dcc643SXuhui Lin status = "disabled"; 389b9dcc643SXuhui Lin }; 390b9dcc643SXuhui Lin 391b9dcc643SXuhui Lin lpmcu_mbox2: mailbox@20582000 { 392b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mailbox", "rockchip,rk3576-mailbox"; 393b9dcc643SXuhui Lin reg = <0x20582000 0x20>; 394b9dcc643SXuhui Lin interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 395b9dcc643SXuhui Lin clocks = <&cru PCLK_LPMCU_MAILBOX>; 396b9dcc643SXuhui Lin clock-names = "pclk_mailbox"; 397b9dcc643SXuhui Lin #mbox-cells = <1>; 398b9dcc643SXuhui Lin status = "disabled"; 399b9dcc643SXuhui Lin }; 400b9dcc643SXuhui Lin 401b9dcc643SXuhui Lin lpmcu_mbox3: mailbox@20583000 { 402b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mailbox", "rockchip,rk3576-mailbox"; 403b9dcc643SXuhui Lin reg = <0x20583000 0x20>; 404b9dcc643SXuhui Lin interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 405b9dcc643SXuhui Lin clocks = <&cru PCLK_LPMCU_MAILBOX>; 406b9dcc643SXuhui Lin clock-names = "pclk_mailbox"; 407b9dcc643SXuhui Lin #mbox-cells = <1>; 408b9dcc643SXuhui Lin status = "disabled"; 409b9dcc643SXuhui Lin }; 410b9dcc643SXuhui Lin 411b9dcc643SXuhui Lin rga2: rga@20640000 { 412b9dcc643SXuhui Lin compatible = "rockchip,rga2"; 413b9dcc643SXuhui Lin reg = <0x20640000 0x1000>; 414b9dcc643SXuhui Lin interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 415b9dcc643SXuhui Lin interrupt-names = "rga2_irq"; 416b9dcc643SXuhui Lin clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_CORE_RGA>; 417b9dcc643SXuhui Lin clock-names = "aclk_rga", "hclk_rga", "clk_rga"; 418b9dcc643SXuhui Lin status = "disabled"; 419b9dcc643SXuhui Lin }; 420b9dcc643SXuhui Lin 421b9dcc643SXuhui Lin sdmmc1: mmc@20650000 { 422b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-dw-mshc", "rockchip,rk3288-dw-mshc"; 423b9dcc643SXuhui Lin reg = <0x20650000 0x4000>; 424b9dcc643SXuhui Lin interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 425b9dcc643SXuhui Lin clocks = <&cru HCLK_SDMMC1>, <&cru CCLK_SDMMC1>; 426b9dcc643SXuhui Lin clock-names = "biu", "ciu"; 427b9dcc643SXuhui Lin fifo-depth = <0x100>; 428b9dcc643SXuhui Lin max-frequency = <150000000>; 429b9dcc643SXuhui Lin pinctrl-names = "default"; 430b9dcc643SXuhui Lin pinctrl-0 = <&sdmmc1_clk_pins &sdmmc1_cmd_pins &sdmmc1_bus4_pins>; 431b9dcc643SXuhui Lin status = "disabled"; 432b9dcc643SXuhui Lin }; 433b9dcc643SXuhui Lin 434b9dcc643SXuhui Lin sai: sai@20660000 { 435b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-sai", "rockchip,sai-v1"; 436b9dcc643SXuhui Lin reg = <0x20660000 0x1000>; 437b9dcc643SXuhui Lin interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 438b9dcc643SXuhui Lin clocks = <&cru MCLK_SAI>, <&cru HCLK_SAI>; 439b9dcc643SXuhui Lin clock-names = "mclk", "hclk"; 440b9dcc643SXuhui Lin dmas = <&dmac 11>, <&dmac 10>; 441b9dcc643SXuhui Lin dma-names = "tx", "rx"; 442b9dcc643SXuhui Lin resets = <&cru SRST_MRESETN_SAI>, <&cru SRST_HRESETN_SAI>; 443b9dcc643SXuhui Lin reset-names = "m", "h"; 444b9dcc643SXuhui Lin #sound-dai-cells = <0>; 445b9dcc643SXuhui Lin sound-name-prefix = "SAI"; 446b9dcc643SXuhui Lin status = "disabled"; 447b9dcc643SXuhui Lin }; 448b9dcc643SXuhui Lin 449b9dcc643SXuhui Lin crypto: crypto@20680000 { 450b9dcc643SXuhui Lin compatible = "rockchip,crypto-v4"; 451b9dcc643SXuhui Lin reg = <0x20680000 0x2000>; 452b9dcc643SXuhui Lin interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 453b9dcc643SXuhui Lin clocks = <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>, 454b9dcc643SXuhui Lin <&cru CLK_CORE_CRYPTO>, <&cru CLK_PKA_CRYPTO>; 455b9dcc643SXuhui Lin clock-names = "aclk", "hclk", "sclk", "pka"; 456b9dcc643SXuhui Lin assigned-clocks = <&cru CLK_CORE_CRYPTO>, <&cru CLK_PKA_CRYPTO>; 457b9dcc643SXuhui Lin assigned-clock-rates = <300000000>, <300000000>; 458b9dcc643SXuhui Lin resets = <&cru SRST_RESETN_CORE_CRYPTO>; 459b9dcc643SXuhui Lin reset-names = "crypto-rst"; 460b9dcc643SXuhui Lin status = "disabled"; 461b9dcc643SXuhui Lin }; 462b9dcc643SXuhui Lin 463b9dcc643SXuhui Lin rng: rng@20690000 { 464b9dcc643SXuhui Lin compatible = "rockchip,rkrng"; 465b9dcc643SXuhui Lin reg = <0x20690000 0x200>; 466b9dcc643SXuhui Lin interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 467b9dcc643SXuhui Lin clocks = <&cru HCLK_RK_RNG_NS>; 468b9dcc643SXuhui Lin clock-names = "hclk_trng"; 469b9dcc643SXuhui Lin resets = <&cru SRST_HRESETN_RK_RNG_NS>; 470b9dcc643SXuhui Lin reset-names = "reset"; 471b9dcc643SXuhui Lin status = "disabled"; 472b9dcc643SXuhui Lin }; 473b9dcc643SXuhui Lin 474b9dcc643SXuhui Lin hwlock: hwspinlock@20700000 { 475b9dcc643SXuhui Lin compatible = "rockchip,hwspinlock"; 476b9dcc643SXuhui Lin reg = <0x20700000 0x100>; 477b9dcc643SXuhui Lin #hwlock-cells = <1>; 478b9dcc643SXuhui Lin rockchip,hwlock-num-locks = <64>; 479b9dcc643SXuhui Lin status = "disabled"; 480b9dcc643SXuhui Lin }; 481b9dcc643SXuhui Lin 482b9dcc643SXuhui Lin dmac: dma-controller@20740000 { 483b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-dma", "rockchip,dma"; 484b9dcc643SXuhui Lin reg = <0x20740000 0x2000>; 485b9dcc643SXuhui Lin interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 486b9dcc643SXuhui Lin clocks = <&cru ACLK_RKDMA>; 487b9dcc643SXuhui Lin clock-names = "aclk"; 488b9dcc643SXuhui Lin #dma-cells = <1>; 489b9dcc643SXuhui Lin }; 490b9dcc643SXuhui Lin 491b9dcc643SXuhui Lin rtc: rtc@20750000 { 492b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-rtc"; 493b9dcc643SXuhui Lin reg = <0x20750000 0x1000>; 494b9dcc643SXuhui Lin rockchip,grf = <&grf>; 495b9dcc643SXuhui Lin interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 496b9dcc643SXuhui Lin clocks = <&cru PCLK_RTC_ROOT>; 497b9dcc643SXuhui Lin clock-names = "pclk_phy"; 498b9dcc643SXuhui Lin assigned-clocks = <&cru PCLK_RTC_ROOT>; 499b9dcc643SXuhui Lin assigned-clock-rates = <50000000>; 500b9dcc643SXuhui Lin status = "disabled"; 501b9dcc643SXuhui Lin }; 502b9dcc643SXuhui Lin 503b9dcc643SXuhui Lin gmac: ethernet@20800000 { 504b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-gmac", "snps,dwmac-4.20a"; 505b9dcc643SXuhui Lin reg = <0x20800000 0x10000>; 506b9dcc643SXuhui Lin interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 507b9dcc643SXuhui Lin <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 508b9dcc643SXuhui Lin interrupt-names = "macirq", "eth_wake_irq"; 509b9dcc643SXuhui Lin rockchip,grf = <&grf>; 510b9dcc643SXuhui Lin clocks = <&cru ACLK_MAC>, <&cru PCLK_MAC>; 511b9dcc643SXuhui Lin clock-names = "aclk_mac", "pclk_mac"; 512b9dcc643SXuhui Lin resets = <&cru SRST_ARESETN_MAC>; 513b9dcc643SXuhui Lin reset-names = "stmmaceth"; 514b9dcc643SXuhui Lin 515b9dcc643SXuhui Lin snps,mixed-burst; 516b9dcc643SXuhui Lin snps,tso; 517b9dcc643SXuhui Lin 518b9dcc643SXuhui Lin tx-dma-size = <256>; 519b9dcc643SXuhui Lin rx-dma-size = <128>; 520b9dcc643SXuhui Lin 521b9dcc643SXuhui Lin snps,axi-config = <&stmmac_axi_setup>; 522b9dcc643SXuhui Lin snps,mtl-rx-config = <&mtl_rx_setup>; 523b9dcc643SXuhui Lin snps,mtl-tx-config = <&mtl_tx_setup>; 524b9dcc643SXuhui Lin 525b9dcc643SXuhui Lin phy-mode = "rmii"; 526b9dcc643SXuhui Lin clock_in_out = "input"; 527b9dcc643SXuhui Lin phy-handle = <&rmii_phy>; 528b9dcc643SXuhui Lin 529b9dcc643SXuhui Lin /* FLOW_OFF: 0, FLOW_RX: 1, FLOW_TX: 2, FLOW_AUTO: 3 */ 530b9dcc643SXuhui Lin snps,flow-ctrl = <0>; 531b9dcc643SXuhui Lin 532b9dcc643SXuhui Lin nvmem-cells = <&macphy_bgs>; 533b9dcc643SXuhui Lin nvmem-cell-names = "bgs"; 534b9dcc643SXuhui Lin status = "disabled"; 535b9dcc643SXuhui Lin 536b9dcc643SXuhui Lin mdio: mdio { 537b9dcc643SXuhui Lin compatible = "snps,dwmac-mdio"; 538b9dcc643SXuhui Lin #address-cells = <0x1>; 539b9dcc643SXuhui Lin #size-cells = <0x0>; 540b9dcc643SXuhui Lin rmii_phy: ethernet-phy@2 { 541b9dcc643SXuhui Lin compatible = "ethernet-phy-id0044.1400", "ethernet-phy-ieee802.3-c22"; 542b9dcc643SXuhui Lin reg = <2>; 543b9dcc643SXuhui Lin clocks = <&cru CLK_MACPHY>; 544b9dcc643SXuhui Lin resets = <&cru SRST_RESETN_MACPHY>; 545b9dcc643SXuhui Lin phy-is-integrated; 546b9dcc643SXuhui Lin nvmem-cells = <&macphy_txlevel>; 547b9dcc643SXuhui Lin nvmem-cell-names = "txlevel"; 548b9dcc643SXuhui Lin bgs,increment = <2>; 549b9dcc643SXuhui Lin rockchip,thermal-zone = "soc-thermal"; 550b9dcc643SXuhui Lin }; 551b9dcc643SXuhui Lin }; 552b9dcc643SXuhui Lin 553b9dcc643SXuhui Lin stmmac_axi_setup: stmmac-axi-config { 554b9dcc643SXuhui Lin snps,wr_osr_lmt = <4>; 555b9dcc643SXuhui Lin snps,rd_osr_lmt = <8>; 556b9dcc643SXuhui Lin snps,blen = <0 0 0 0 16 8 4>; 557b9dcc643SXuhui Lin }; 558b9dcc643SXuhui Lin 559b9dcc643SXuhui Lin mtl_rx_setup: rx-queues-config { 560b9dcc643SXuhui Lin snps,rx-queues-to-use = <1>; 561b9dcc643SXuhui Lin queue0 { 562b9dcc643SXuhui Lin status = "okay"; 563b9dcc643SXuhui Lin }; 564b9dcc643SXuhui Lin }; 565b9dcc643SXuhui Lin 566b9dcc643SXuhui Lin mtl_tx_setup: tx-queues-config { 567b9dcc643SXuhui Lin snps,tx-queues-to-use = <1>; 568b9dcc643SXuhui Lin queue0 { 569b9dcc643SXuhui Lin status = "okay"; 570b9dcc643SXuhui Lin }; 571b9dcc643SXuhui Lin }; 572b9dcc643SXuhui Lin }; 573b9dcc643SXuhui Lin 574b9dcc643SXuhui Lin otp: otp@20820000 { 575b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-otp"; 576b9dcc643SXuhui Lin reg = <0x20820000 0x4000>; 577b9dcc643SXuhui Lin #address-cells = <1>; 578b9dcc643SXuhui Lin #size-cells = <1>; 579b9dcc643SXuhui Lin 580b9dcc643SXuhui Lin clocks = <&cru CLK_USER_OTPC_NS>, <&cru CLK_SBPI_OTPC_NS>, 581b9dcc643SXuhui Lin <&cru PCLK_OTPC_NS>, <&cru PCLK_OTP_MASK>, 582b9dcc643SXuhui Lin <&cru CLK_OTPC_ARB>; 583b9dcc643SXuhui Lin clock-names = "usr", "sbpi", "apb", "phy", "arb"; 584b9dcc643SXuhui Lin resets = <&cru SRST_RESETN_USER_OTPC_NS>, <&cru SRST_RESETN_SBPI_OTPC_NS>, 585b9dcc643SXuhui Lin <&cru SRST_PRESETN_OTPC_NS>, <&cru SRST_PRESETN_OTP_MASK>, 586b9dcc643SXuhui Lin <&cru SRST_RESETN_OTPC_ARB>; 587b9dcc643SXuhui Lin reset-names = "usr", "sbpi", "apb", "phy", "arb"; 588b9dcc643SXuhui Lin 589b9dcc643SXuhui Lin /* Data cells */ 590b9dcc643SXuhui Lin cpu_code: cpu-code@2 { 591b9dcc643SXuhui Lin reg = <0x02 0x2>; 592b9dcc643SXuhui Lin }; 593b9dcc643SXuhui Lin otp_cpu_version: cpu-version@8 { 594b9dcc643SXuhui Lin reg = <0x08 0x1>; 595b9dcc643SXuhui Lin bits = <3 3>; 596b9dcc643SXuhui Lin }; 597b9dcc643SXuhui Lin otp_id: id@a { 598b9dcc643SXuhui Lin reg = <0x0a 0x10>; 599b9dcc643SXuhui Lin }; 600b9dcc643SXuhui Lin cpu_leakage: cpu-leakage@1a { 601b9dcc643SXuhui Lin reg = <0x1a 0x1>; 602b9dcc643SXuhui Lin }; 603b9dcc643SXuhui Lin log_leakage: log-leakage@1b { 604b9dcc643SXuhui Lin reg = <0x1b 0x1>; 605b9dcc643SXuhui Lin }; 606b9dcc643SXuhui Lin macphy_bgs: macphy-bgs@2d { 607b9dcc643SXuhui Lin reg = <0x2d 0x1>; 608b9dcc643SXuhui Lin }; 609b9dcc643SXuhui Lin macphy_txlevel: macphy-txlevel@2e { 610b9dcc643SXuhui Lin reg = <0x2e 0x2>; 611b9dcc643SXuhui Lin }; 612b9dcc643SXuhui Lin }; 613b9dcc643SXuhui Lin 614b9dcc643SXuhui Lin spi0: spi@20850000 { 615b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-spi", "rockchip,rk3066-spi"; 616b9dcc643SXuhui Lin reg = <0x20850000 0x1000>; 617b9dcc643SXuhui Lin interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 618b9dcc643SXuhui Lin #address-cells = <1>; 619b9dcc643SXuhui Lin #size-cells = <0>; 620b9dcc643SXuhui Lin clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 621b9dcc643SXuhui Lin clock-names = "spiclk", "apb_pclk"; 622b9dcc643SXuhui Lin dmas = <&dmac 15>, <&dmac 14>; 623b9dcc643SXuhui Lin dma-names = "tx", "rx"; 624b9dcc643SXuhui Lin pinctrl-names = "default"; 625b9dcc643SXuhui Lin pinctrl-0 = <&spi0m0_cs0_pins &spi0m0_cs1_pins &spi0m0_clk_pins>; 626b9dcc643SXuhui Lin status = "disabled"; 627b9dcc643SXuhui Lin }; 628b9dcc643SXuhui Lin 629b9dcc643SXuhui Lin uart1: serial@20870000 { 630b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-uart", "snps,dw-apb-uart"; 631b9dcc643SXuhui Lin reg = <0x20870000 0x100>; 632b9dcc643SXuhui Lin interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 633b9dcc643SXuhui Lin reg-shift = <2>; 634b9dcc643SXuhui Lin reg-io-width = <4>; 635b9dcc643SXuhui Lin dmas = <&dmac 3>, <&dmac 2>; 636b9dcc643SXuhui Lin clock-frequency = <24000000>; 637b9dcc643SXuhui Lin clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 638b9dcc643SXuhui Lin clock-names = "baudclk", "apb_pclk"; 639b9dcc643SXuhui Lin pinctrl-names = "default"; 640b9dcc643SXuhui Lin pinctrl-0 = <&uart1m0_xfer_pins>; 641b9dcc643SXuhui Lin status = "disabled"; 642b9dcc643SXuhui Lin }; 643b9dcc643SXuhui Lin 644b9dcc643SXuhui Lin uart2: serial@20880000 { 645b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-uart", "snps,dw-apb-uart"; 646b9dcc643SXuhui Lin reg = <0x20880000 0x100>; 647b9dcc643SXuhui Lin interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 648b9dcc643SXuhui Lin reg-shift = <2>; 649b9dcc643SXuhui Lin reg-io-width = <4>; 650b9dcc643SXuhui Lin dmas = <&dmac 5>, <&dmac 4>; 651b9dcc643SXuhui Lin clock-frequency = <24000000>; 652b9dcc643SXuhui Lin clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 653b9dcc643SXuhui Lin clock-names = "baudclk", "apb_pclk"; 654b9dcc643SXuhui Lin pinctrl-names = "default"; 655b9dcc643SXuhui Lin pinctrl-0 = <&uart2m0_xfer_pins>; 656b9dcc643SXuhui Lin status = "disabled"; 657b9dcc643SXuhui Lin }; 658b9dcc643SXuhui Lin 659b9dcc643SXuhui Lin wdt: watchdog@208d0000 { 660b9dcc643SXuhui Lin compatible = "snps,dw-wdt"; 661b9dcc643SXuhui Lin reg = <0x208d0000 0x100>; 662b9dcc643SXuhui Lin clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>; 663b9dcc643SXuhui Lin clock-names = "tclk", "pclk"; 664b9dcc643SXuhui Lin interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 665b9dcc643SXuhui Lin status = "disabled"; 666b9dcc643SXuhui Lin }; 667b9dcc643SXuhui Lin 668b9dcc643SXuhui Lin i2c1: i2c@20910000 { 669b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-i2c", "rockchip,rk3399-i2c"; 670b9dcc643SXuhui Lin reg = <0x20910000 0x1000>; 671b9dcc643SXuhui Lin interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 672b9dcc643SXuhui Lin #address-cells = <1>; 673b9dcc643SXuhui Lin #size-cells = <0>; 674b9dcc643SXuhui Lin clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 675b9dcc643SXuhui Lin clock-names = "i2c", "pclk"; 676b9dcc643SXuhui Lin pinctrl-names = "default"; 677b9dcc643SXuhui Lin pinctrl-0 = <&i2c1m0_xfer_pins>; 678b9dcc643SXuhui Lin status = "disabled"; 679b9dcc643SXuhui Lin }; 680b9dcc643SXuhui Lin 681b9dcc643SXuhui Lin i2c2: i2c@20920000 { 682b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-i2c", "rockchip,rk3399-i2c"; 683b9dcc643SXuhui Lin reg = <0x20920000 0x1000>; 684b9dcc643SXuhui Lin interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 685b9dcc643SXuhui Lin #address-cells = <1>; 686b9dcc643SXuhui Lin #size-cells = <0>; 687b9dcc643SXuhui Lin clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 688b9dcc643SXuhui Lin clock-names = "i2c", "pclk"; 689b9dcc643SXuhui Lin pinctrl-names = "default"; 690b9dcc643SXuhui Lin pinctrl-0 = <&i2c2m0_xfer_pins>; 691b9dcc643SXuhui Lin status = "disabled"; 692b9dcc643SXuhui Lin }; 693b9dcc643SXuhui Lin 694b9dcc643SXuhui Lin i2c3: i2c@20930000 { 695b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-i2c", "rockchip,rk3399-i2c"; 696b9dcc643SXuhui Lin reg = <0x20930000 0x1000>; 697b9dcc643SXuhui Lin interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 698b9dcc643SXuhui Lin #address-cells = <1>; 699b9dcc643SXuhui Lin #size-cells = <0>; 700b9dcc643SXuhui Lin clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 701b9dcc643SXuhui Lin clock-names = "i2c", "pclk"; 702b9dcc643SXuhui Lin pinctrl-names = "default"; 703b9dcc643SXuhui Lin pinctrl-0 = <&i2c3m0_xfer_pins>; 704b9dcc643SXuhui Lin status = "disabled"; 705b9dcc643SXuhui Lin }; 706b9dcc643SXuhui Lin 707b9dcc643SXuhui Lin i2c4: i2c@20940000 { 708b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-i2c", "rockchip,rk3399-i2c"; 709b9dcc643SXuhui Lin reg = <0x20940000 0x1000>; 710b9dcc643SXuhui Lin interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 711b9dcc643SXuhui Lin #address-cells = <1>; 712b9dcc643SXuhui Lin #size-cells = <0>; 713b9dcc643SXuhui Lin clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 714b9dcc643SXuhui Lin clock-names = "i2c", "pclk"; 715b9dcc643SXuhui Lin pinctrl-names = "default"; 716b9dcc643SXuhui Lin pinctrl-0 = <&i2c4m0_xfer_pins>; 717b9dcc643SXuhui Lin status = "disabled"; 718b9dcc643SXuhui Lin }; 719b9dcc643SXuhui Lin 720b9dcc643SXuhui Lin pwm1_4ch_0: pwm@20970000 { 721b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 722b9dcc643SXuhui Lin reg = <0x20970000 0x1000>; 723b9dcc643SXuhui Lin interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 724b9dcc643SXuhui Lin #pwm-cells = <3>; 725b9dcc643SXuhui Lin pinctrl-names = "active"; 726b9dcc643SXuhui Lin pinctrl-0 = <&pwm1m0_ch0_pins>; 727b9dcc643SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 728b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 729b9dcc643SXuhui Lin status = "disabled"; 730b9dcc643SXuhui Lin }; 731b9dcc643SXuhui Lin 732b9dcc643SXuhui Lin pwm1_4ch_1: pwm@20971000 { 733b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 734b9dcc643SXuhui Lin reg = <0x20971000 0x1000>; 735b9dcc643SXuhui Lin interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 736b9dcc643SXuhui Lin #pwm-cells = <3>; 737b9dcc643SXuhui Lin pinctrl-names = "active"; 738b9dcc643SXuhui Lin pinctrl-0 = <&pwm1m0_ch1_pins>; 739b9dcc643SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 740b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 741b9dcc643SXuhui Lin status = "disabled"; 742b9dcc643SXuhui Lin }; 743b9dcc643SXuhui Lin 744b9dcc643SXuhui Lin pwm1_4ch_2: pwm@20972000 { 745b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 746b9dcc643SXuhui Lin reg = <0x20972000 0x1000>; 747b9dcc643SXuhui Lin interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 748b9dcc643SXuhui Lin #pwm-cells = <3>; 749b9dcc643SXuhui Lin pinctrl-names = "active"; 750b9dcc643SXuhui Lin pinctrl-0 = <&pwm1m0_ch2_pins>; 751b9dcc643SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 752b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 753b9dcc643SXuhui Lin status = "disabled"; 754b9dcc643SXuhui Lin }; 755b9dcc643SXuhui Lin 756b9dcc643SXuhui Lin pwm1_4ch_3: pwm@20973000 { 757b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 758b9dcc643SXuhui Lin reg = <0x20973000 0x1000>; 759b9dcc643SXuhui Lin interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 760b9dcc643SXuhui Lin #pwm-cells = <3>; 761b9dcc643SXuhui Lin pinctrl-names = "active"; 762b9dcc643SXuhui Lin pinctrl-0 = <&pwm1m0_ch3_pins>; 763b9dcc643SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 764b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 765b9dcc643SXuhui Lin status = "disabled"; 766b9dcc643SXuhui Lin }; 767b9dcc643SXuhui Lin 768b9dcc643SXuhui Lin pwm2_4ch_0: pwm@20980000 { 769b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 770b9dcc643SXuhui Lin reg = <0x20980000 0x1000>; 771b9dcc643SXuhui Lin interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 772b9dcc643SXuhui Lin #pwm-cells = <3>; 773b9dcc643SXuhui Lin pinctrl-names = "active"; 774b9dcc643SXuhui Lin pinctrl-0 = <&pwm2m0_ch0_pins>; 775b9dcc643SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 776b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 777b9dcc643SXuhui Lin status = "disabled"; 778b9dcc643SXuhui Lin }; 779b9dcc643SXuhui Lin 780b9dcc643SXuhui Lin pwm2_4ch_1: pwm@20981000 { 781b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 782b9dcc643SXuhui Lin reg = <0x20981000 0x1000>; 783b9dcc643SXuhui Lin interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 784b9dcc643SXuhui Lin #pwm-cells = <3>; 785b9dcc643SXuhui Lin pinctrl-names = "active"; 786b9dcc643SXuhui Lin pinctrl-0 = <&pwm2m0_ch1_pins>; 787b9dcc643SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 788b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 789b9dcc643SXuhui Lin status = "disabled"; 790b9dcc643SXuhui Lin }; 791b9dcc643SXuhui Lin 792b9dcc643SXuhui Lin pwm2_4ch_2: pwm@20982000 { 793b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 794b9dcc643SXuhui Lin reg = <0x20982000 0x1000>; 795b9dcc643SXuhui Lin interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 796b9dcc643SXuhui Lin #pwm-cells = <3>; 797b9dcc643SXuhui Lin pinctrl-names = "active"; 798b9dcc643SXuhui Lin pinctrl-0 = <&pwm2m0_ch2_pins>; 799b9dcc643SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 800b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 801b9dcc643SXuhui Lin status = "disabled"; 802b9dcc643SXuhui Lin }; 803b9dcc643SXuhui Lin 804b9dcc643SXuhui Lin pwm2_4ch_3: pwm@20983000 { 805b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pwm", "rockchip,rk3576-pwm"; 806b9dcc643SXuhui Lin reg = <0x20983000 0x1000>; 807b9dcc643SXuhui Lin interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 808b9dcc643SXuhui Lin #pwm-cells = <3>; 809b9dcc643SXuhui Lin pinctrl-names = "active"; 810b9dcc643SXuhui Lin pinctrl-0 = <&pwm2m0_ch3_pins>; 811b9dcc643SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 812b9dcc643SXuhui Lin clock-names = "pwm", "pclk"; 813b9dcc643SXuhui Lin status = "disabled"; 814b9dcc643SXuhui Lin }; 815b9dcc643SXuhui Lin 816b9dcc643SXuhui Lin saradc: adc@209a0000 { 817b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-saradc", "rockchip,rk3588-saradc"; 818b9dcc643SXuhui Lin reg = <0x209a0000 0x10000>; 819b9dcc643SXuhui Lin interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 820b9dcc643SXuhui Lin #io-channel-cells = <1>; 821b9dcc643SXuhui Lin clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 822b9dcc643SXuhui Lin clock-names = "saradc", "apb_pclk"; 823b9dcc643SXuhui Lin resets = <&cru SRST_PRESETN_SARADC>; 824b9dcc643SXuhui Lin reset-names = "saradc-apb"; 825b9dcc643SXuhui Lin status = "disabled"; 826b9dcc643SXuhui Lin }; 827b9dcc643SXuhui Lin 828b9dcc643SXuhui Lin tsadc: tsadc@209b0000 { 829b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-tsadc"; 830b9dcc643SXuhui Lin reg = <0x209b0000 0x400>; 831b9dcc643SXuhui Lin interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 832b9dcc643SXuhui Lin clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>, <&cru CLK_TSADC_TSEN>; 833b9dcc643SXuhui Lin clock-names = "tsadc", "apb_pclk", "tsen"; 834b9dcc643SXuhui Lin assigned-clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>; 835b9dcc643SXuhui Lin assigned-clock-rates = <1000000>, <12000000>; 836b9dcc643SXuhui Lin resets = <&cru SRST_RESETN_TSADC>, <&cru SRST_PRESETN_TSADC>; 837b9dcc643SXuhui Lin reset-names = "tsadc", "tsadc-apb"; 838b9dcc643SXuhui Lin #thermal-sensor-cells = <1>; 839b9dcc643SXuhui Lin rockchip,grf = <&grf>; 840b9dcc643SXuhui Lin rockchip,hw-tshut-temp = <120000>; 841b9dcc643SXuhui Lin rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 842b9dcc643SXuhui Lin rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 843b9dcc643SXuhui Lin status = "disabled"; 844b9dcc643SXuhui Lin }; 845b9dcc643SXuhui Lin 846b9dcc643SXuhui Lin hw_decompress: decompress@209f0000 { 847b9dcc643SXuhui Lin compatible = "rockchip,hw-decompress"; 848b9dcc643SXuhui Lin reg = <0x209f0000 0x1000>; 849b9dcc643SXuhui Lin interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 850b9dcc643SXuhui Lin clocks = <&cru ACLK_DECOM>, <&cru DCLK_DECOM>, <&cru PCLK_DECOM>; 851b9dcc643SXuhui Lin clock-names = "aclk", "dclk", "pclk"; 852b9dcc643SXuhui Lin resets = <&cru SRST_DRESETN_DECOM>; 853b9dcc643SXuhui Lin reset-names = "dresetn"; 854b9dcc643SXuhui Lin status = "disabled"; 855b9dcc643SXuhui Lin }; 856b9dcc643SXuhui Lin 857b9dcc643SXuhui Lin hpmcu_mbox0: mailbox@20a10000 { 858b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mailbox", "rockchip,rk3576-mailbox"; 859b9dcc643SXuhui Lin reg = <0x20a10000 0x20>; 860b9dcc643SXuhui Lin interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 861b9dcc643SXuhui Lin clocks = <&cru PCLK_HPMCU_MAILBOX>; 862b9dcc643SXuhui Lin clock-names = "pclk_mailbox"; 863b9dcc643SXuhui Lin #mbox-cells = <1>; 864b9dcc643SXuhui Lin status = "disabled"; 865b9dcc643SXuhui Lin }; 866b9dcc643SXuhui Lin 867b9dcc643SXuhui Lin hpmcu_mbox1: mailbox@20a11000 { 868b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mailbox", "rockchip,rk3576-mailbox"; 869b9dcc643SXuhui Lin reg = <0x20a11000 0x20>; 870b9dcc643SXuhui Lin interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 871b9dcc643SXuhui Lin clocks = <&cru PCLK_HPMCU_MAILBOX>; 872b9dcc643SXuhui Lin clock-names = "pclk_mailbox"; 873b9dcc643SXuhui Lin #mbox-cells = <1>; 874b9dcc643SXuhui Lin status = "disabled"; 875b9dcc643SXuhui Lin }; 876b9dcc643SXuhui Lin 877b9dcc643SXuhui Lin hpmcu_mbox2: mailbox@20a12000 { 878b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mailbox", "rockchip,rk3576-mailbox"; 879b9dcc643SXuhui Lin reg = <0x20a12000 0x20>; 880b9dcc643SXuhui Lin interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 881b9dcc643SXuhui Lin clocks = <&cru PCLK_HPMCU_MAILBOX>; 882b9dcc643SXuhui Lin clock-names = "pclk_mailbox"; 883b9dcc643SXuhui Lin #mbox-cells = <1>; 884b9dcc643SXuhui Lin status = "disabled"; 885b9dcc643SXuhui Lin }; 886b9dcc643SXuhui Lin 887b9dcc643SXuhui Lin hpmcu_mbox3: mailbox@20a13000 { 888b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mailbox", "rockchip,rk3576-mailbox"; 889b9dcc643SXuhui Lin reg = <0x20a13000 0x20>; 890b9dcc643SXuhui Lin interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 891b9dcc643SXuhui Lin clocks = <&cru PCLK_HPMCU_MAILBOX>; 892b9dcc643SXuhui Lin clock-names = "pclk_mailbox"; 893b9dcc643SXuhui Lin #mbox-cells = <1>; 894b9dcc643SXuhui Lin status = "disabled"; 895b9dcc643SXuhui Lin }; 896b9dcc643SXuhui Lin 897b9dcc643SXuhui Lin usbdrd: usbdrd { 898b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-dwc3", "rockchip,rk3399-dwc3"; 899b9dcc643SXuhui Lin clocks = <&cru CLK_REF_USBOTG>, <&cru CLK_UTMI_USBOTG>, 900b9dcc643SXuhui Lin <&cru ACLK_USBOTG>; 901b9dcc643SXuhui Lin clock-names = "ref", "utmi", "bus"; 902b9dcc643SXuhui Lin #address-cells = <1>; 903b9dcc643SXuhui Lin #size-cells = <1>; 904b9dcc643SXuhui Lin ranges; 905b9dcc643SXuhui Lin status = "disabled"; 906b9dcc643SXuhui Lin 907b9dcc643SXuhui Lin usbdrd_dwc3: usb@20b00000 { 908b9dcc643SXuhui Lin compatible = "snps,dwc3"; 909b9dcc643SXuhui Lin reg = <0x20b00000 0x100000>; 910b9dcc643SXuhui Lin interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 911b9dcc643SXuhui Lin resets = <&cru SRST_ARESETN_USBOTG>; 912b9dcc643SXuhui Lin reset-names = "usb3-otg"; 913b9dcc643SXuhui Lin dr_mode = "otg"; 914b9dcc643SXuhui Lin maximum-speed = "high-speed"; 915b9dcc643SXuhui Lin phys = <&u2phy_otg>; 916b9dcc643SXuhui Lin phy-names = "usb2-phy"; 917b9dcc643SXuhui Lin phy_type = "utmi_wide"; 918b9dcc643SXuhui Lin snps,dis_enblslpm_quirk; 919b9dcc643SXuhui Lin snps,dis-u2-freeclk-exists-quirk; 920b9dcc643SXuhui Lin snps,dis_u2_susphy_quirk; 921b9dcc643SXuhui Lin snps,dis-del-phy-power-chg-quirk; 922b9dcc643SXuhui Lin snps,dis-tx-ipgap-linecheck-quirk; 923b9dcc643SXuhui Lin snps,usb2-gadget-lpm-disable; 924b9dcc643SXuhui Lin snps,usb2-lpm-disable; 925b9dcc643SXuhui Lin snps,parkmode-disable-hs-quirk; 926b9dcc643SXuhui Lin status = "disabled"; 927b9dcc643SXuhui Lin }; 928b9dcc643SXuhui Lin }; 929b9dcc643SXuhui Lin 930b9dcc643SXuhui Lin rkisp: rkisp@20d00000 { 931b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-rkisp"; 932b9dcc643SXuhui Lin reg = <0x20d00000 0x7f00>; 933b9dcc643SXuhui Lin interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 934b9dcc643SXuhui Lin <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 935b9dcc643SXuhui Lin <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 936b9dcc643SXuhui Lin interrupt-names = "mipi_irq", "mi_irq", "isp_irq"; 937b9dcc643SXuhui Lin clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>, 938b9dcc643SXuhui Lin <&cru CLK_CORE_ISP>, <&cru ISP0CLK_VICAP>; 939b9dcc643SXuhui Lin clock-names = "aclk_isp", "hclk_isp", 940b9dcc643SXuhui Lin "clk_isp_core", "clk_isp_core_vicap"; 941b9dcc643SXuhui Lin status = "disabled"; 942b9dcc643SXuhui Lin }; 943b9dcc643SXuhui Lin 944b9dcc643SXuhui Lin rkcif: rkcif@20d10000 { 945b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-cif"; 946b9dcc643SXuhui Lin reg = <0x20d10000 0x10000>; 947b9dcc643SXuhui Lin reg-names = "cif_regs"; 948b9dcc643SXuhui Lin interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 949b9dcc643SXuhui Lin interrupt-names = "cif-intr"; 950b9dcc643SXuhui Lin clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>, 951b9dcc643SXuhui Lin <&cru DCLK_VICAP>, <&cru ISP0CLK_VICAP>; 952b9dcc643SXuhui Lin clock-names = "aclk_cif", "hclk_cif", 953b9dcc643SXuhui Lin "dclk_cif", "isp0clk_cif"; 954b9dcc643SXuhui Lin resets = <&cru SRST_ARESETN_VICAP>, <&cru SRST_HRESETN_VICAP>, 955b9dcc643SXuhui Lin <&cru SRST_DRESETN_VICAP>, <&cru SRST_ISP0RESETN_VICAP>; 956b9dcc643SXuhui Lin reset-names = "rst_cif_a", "rst_cif_h", 957b9dcc643SXuhui Lin "rst_cif_d", "rst_cif_isp0"; 958b9dcc643SXuhui Lin rockchip,grf = <&grf>; 959b9dcc643SXuhui Lin status = "disabled"; 960b9dcc643SXuhui Lin }; 961b9dcc643SXuhui Lin 962b9dcc643SXuhui Lin sdmmc0: mmc@20d20000 { 963b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-dw-mshc", "rockchip,rk3288-dw-mshc"; 964b9dcc643SXuhui Lin reg = <0x20d20000 0x4000>; 965b9dcc643SXuhui Lin interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 966b9dcc643SXuhui Lin clocks = <&cru HCLK_SDMMC0>, <&cru CCLK_SDMMC0>; 967b9dcc643SXuhui Lin clock-names = "biu", "ciu"; 968b9dcc643SXuhui Lin fifo-depth = <0x100>; 969b9dcc643SXuhui Lin max-frequency = <150000000>; 970b9dcc643SXuhui Lin pinctrl-names = "normal", "idle"; 971b9dcc643SXuhui Lin pinctrl-0 = <&sdmmc0_clk_pins &sdmmc0_cmd_pins &sdmmc0_det_pins &sdmmc0_bus4_pins>; 972b9dcc643SXuhui Lin pinctrl-1 = <&sdmmc0_idle_pins &sdmmc0_det_pins>; 973b9dcc643SXuhui Lin status = "disabled"; 974b9dcc643SXuhui Lin }; 975b9dcc643SXuhui Lin 976b9dcc643SXuhui Lin emmc: mmc@20d30000 { 977b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-dw-mshc", "rockchip,rk3288-dw-mshc"; 978b9dcc643SXuhui Lin reg = <0x20d30000 0x4000>; 979b9dcc643SXuhui Lin interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 980b9dcc643SXuhui Lin clocks = <&cru HCLK_EMMC>, <&cru CCLK_EMMC>; 981b9dcc643SXuhui Lin clock-names = "biu", "ciu"; 982b9dcc643SXuhui Lin fifo-depth = <0x100>; 983b9dcc643SXuhui Lin max-frequency = <150000000>; 984b9dcc643SXuhui Lin status = "disabled"; 985b9dcc643SXuhui Lin }; 986b9dcc643SXuhui Lin 987b9dcc643SXuhui Lin sfc: spi@20d40000 { 988b9dcc643SXuhui Lin compatible = "rockchip,fspi"; 989b9dcc643SXuhui Lin reg = <0x20d40000 0x4000>; 990b9dcc643SXuhui Lin interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 991b9dcc643SXuhui Lin clocks = <&cru SCLK_SFC_2X>, <&cru HCLK_SFC>; 992b9dcc643SXuhui Lin clock-names = "clk_sfc", "hclk_sfc"; 993*e76c4c6cSJon Lin rockchip,max-dll = <0xFF>; 994b9dcc643SXuhui Lin rockchip,sclk-x2-bypass; 995b9dcc643SXuhui Lin #address-cells = <1>; 996b9dcc643SXuhui Lin #size-cells = <0>; 997b9dcc643SXuhui Lin status = "disabled"; 998b9dcc643SXuhui Lin }; 999b9dcc643SXuhui Lin 1000b9dcc643SXuhui Lin mipi0_csi2_hw: mipi-csi2-hw@20d90000 { 1001b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mipi-csi2-hw"; 1002b9dcc643SXuhui Lin reg = <0x20d90000 0x10000>; 1003b9dcc643SXuhui Lin reg-names = "csihost_regs"; 1004b9dcc643SXuhui Lin interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 1005b9dcc643SXuhui Lin <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 1006b9dcc643SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 1007b9dcc643SXuhui Lin clocks = <&cru PCLK_CSI2HOST0>; 1008b9dcc643SXuhui Lin clock-names = "pclk_csi2host"; 1009b9dcc643SXuhui Lin resets = <&cru SRST_PRESETN_CSI2HOST0>; 1010b9dcc643SXuhui Lin reset-names = "srst_csihost_p"; 1011b9dcc643SXuhui Lin status = "okay"; 1012b9dcc643SXuhui Lin }; 1013b9dcc643SXuhui Lin 1014b9dcc643SXuhui Lin mipi1_csi2_hw: mipi-csi2-hw@20da0000 { 1015b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-mipi-csi2-hw"; 1016b9dcc643SXuhui Lin reg = <0x20da0000 0x10000>; 1017b9dcc643SXuhui Lin reg-names = "csihost_regs"; 1018b9dcc643SXuhui Lin interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 1019b9dcc643SXuhui Lin <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 1020b9dcc643SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 1021b9dcc643SXuhui Lin clocks = <&cru PCLK_CSI2HOST1>; 1022b9dcc643SXuhui Lin clock-names = "pclk_csi2host"; 1023b9dcc643SXuhui Lin resets = <&cru SRST_PRESETN_CSI2HOST1>; 1024b9dcc643SXuhui Lin reset-names = "srst_csihost_p"; 1025b9dcc643SXuhui Lin status = "okay"; 1026b9dcc643SXuhui Lin }; 1027b9dcc643SXuhui Lin 1028b9dcc643SXuhui Lin csi2_dphy_hw: csi2-dphy-hw@20db0000 { 1029b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-csi2-dphy-hw"; 1030b9dcc643SXuhui Lin reg = <0x20db0000 0x8000>; 1031b9dcc643SXuhui Lin clocks = <&cru PCLK_CSIPHY>; 1032b9dcc643SXuhui Lin clock-names = "pclk"; 1033b9dcc643SXuhui Lin resets = <&cru SRST_PRESETN_CSIPHY>; 1034b9dcc643SXuhui Lin reset-names = "srst_p_csiphy"; 1035b9dcc643SXuhui Lin rockchip,grf = <&grf>; 1036b9dcc643SXuhui Lin status = "disabled"; 1037b9dcc643SXuhui Lin }; 1038b9dcc643SXuhui Lin 1039b9dcc643SXuhui Lin u2phy: usb2-phy@20e10000 { 1040b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-usb2phy"; 1041b9dcc643SXuhui Lin reg = <0x20e10000 0x8000>; 1042b9dcc643SXuhui Lin clocks = <&cru CLK_REF_USBPHY>, <&cru PCLK_USBPHY>; 1043b9dcc643SXuhui Lin clock-names = "phyclk", "pclk"; 1044b9dcc643SXuhui Lin resets = <&cru SRST_RESETN_USBPHY_POR>, <&cru SRST_RESETN_USBPHY_OTG>; 1045b9dcc643SXuhui Lin reset-names = "u2phy", "u2phy-apb"; 1046b9dcc643SXuhui Lin rockchip,usbgrf = <&grf>; 1047b9dcc643SXuhui Lin #clock-cells = <0>; 1048b9dcc643SXuhui Lin status = "disabled"; 1049b9dcc643SXuhui Lin 1050b9dcc643SXuhui Lin u2phy_otg: otg-port { 1051b9dcc643SXuhui Lin #phy-cells = <0>; 1052b9dcc643SXuhui Lin interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 1053b9dcc643SXuhui Lin <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 1054b9dcc643SXuhui Lin <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 1055b9dcc643SXuhui Lin <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 1056b9dcc643SXuhui Lin interrupt-names = "otg-bvalid", "otg-id", 1057b9dcc643SXuhui Lin "linestate", "disconnect"; 1058b9dcc643SXuhui Lin status = "disabled"; 1059b9dcc643SXuhui Lin }; 1060b9dcc643SXuhui Lin }; 1061b9dcc643SXuhui Lin 1062b9dcc643SXuhui Lin acodec: acodec@20e20000 { 1063b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-codec"; 1064b9dcc643SXuhui Lin reg = <0x20e20000 0x1000>; 1065b9dcc643SXuhui Lin rockchip,grf = <&grf>; 1066b9dcc643SXuhui Lin clocks = <&cru PCLK_ACODEC>, 1067b9dcc643SXuhui Lin <&cru MCLK_ACODEC_TX>, 1068b9dcc643SXuhui Lin <&cru MCLK_SAI>; 1069b9dcc643SXuhui Lin clock-names = "pclk_acodec", "mclk_acodec", "mclk_cpu"; 1070b9dcc643SXuhui Lin resets = <&cru SRST_PRESETN_ACODEC>; 1071b9dcc643SXuhui Lin reset-names = "acodec-reset"; 1072b9dcc643SXuhui Lin acodec,micbias; 1073b9dcc643SXuhui Lin acodec,inner-i2s; 1074b9dcc643SXuhui Lin init-mic-gain = <0x22>; /* Left:20dB Right:20dB */ 1075b9dcc643SXuhui Lin #sound-dai-cells = <0>; 1076b9dcc643SXuhui Lin status = "disabled"; 1077b9dcc643SXuhui Lin }; 1078b9dcc643SXuhui Lin 1079b9dcc643SXuhui Lin rkvenc: rkvenc@20e80000 { 1080b9dcc643SXuhui Lin compatible = "rockchip,rkv-encoder-rv1103b"; 1081b9dcc643SXuhui Lin reg = <0x20e80000 0x6000>; 1082b9dcc643SXuhui Lin interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 1083b9dcc643SXuhui Lin interrupt-names = "irq_rkvenc"; 1084b9dcc643SXuhui Lin clocks = <&cru ACLK_VEPU>, <&cru HCLK_VEPU>, <&cru CLK_CORE_VEPU>; 1085b9dcc643SXuhui Lin clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 1086b9dcc643SXuhui Lin rockchip,normal-rates = <400000000>, <0>, <400000000>; 1087b9dcc643SXuhui Lin assigned-clocks = <&cru ACLK_VEPU>, <&cru CLK_CORE_VEPU>; 1088b9dcc643SXuhui Lin assigned-clock-rates = <400000000>, <400000000>; 1089b9dcc643SXuhui Lin resets = <&cru SRST_ARESETN_VEPU>, <&cru SRST_HRESETN_VEPU>, 1090b9dcc643SXuhui Lin <&cru SRST_RESETN_CORE_VEPU>; 1091b9dcc643SXuhui Lin reset-names = "video_a", "video_h", "video_core"; 1092b9dcc643SXuhui Lin rockchip,srv = <&mpp_srv>; 1093b9dcc643SXuhui Lin rockchip,taskqueue-node = <0>; 1094b9dcc643SXuhui Lin dvbm = <&rkdvbm>; 1095b9dcc643SXuhui Lin status = "disabled"; 1096b9dcc643SXuhui Lin }; 1097b9dcc643SXuhui Lin 1098b9dcc643SXuhui Lin system_sram: sram@210f6000 { 1099b9dcc643SXuhui Lin compatible = "mmio-sram"; 1100b9dcc643SXuhui Lin reg = <0x210f6000 0x8000>; 1101b9dcc643SXuhui Lin #address-cells = <1>; 1102b9dcc643SXuhui Lin #size-cells = <1>; 1103b9dcc643SXuhui Lin ranges = <0 0x210f6000 0x8000>; 1104b9dcc643SXuhui Lin }; 1105b9dcc643SXuhui Lin 1106b9dcc643SXuhui Lin pinctrl: pinctrl { 1107b9dcc643SXuhui Lin compatible = "rockchip,rv1103b-pinctrl"; 1108b9dcc643SXuhui Lin rockchip,grf = <&ioc>; 1109b9dcc643SXuhui Lin #address-cells = <1>; 1110b9dcc643SXuhui Lin #size-cells = <1>; 1111b9dcc643SXuhui Lin ranges; 1112b9dcc643SXuhui Lin 1113b9dcc643SXuhui Lin gpio0: gpio@20520000 { 1114b9dcc643SXuhui Lin compatible = "rockchip,gpio-bank"; 1115b9dcc643SXuhui Lin reg = <0x20520000 0x200>; 1116b9dcc643SXuhui Lin interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 1117b9dcc643SXuhui Lin clocks = <&cru PCLK_PMU_GPIO0>, <&cru DBCLK_PMU_GPIO0>; 1118b9dcc643SXuhui Lin gpio-controller; 1119b9dcc643SXuhui Lin #gpio-cells = <2>; 1120b9dcc643SXuhui Lin gpio-ranges = <&pinctrl 0 0 32>; 1121b9dcc643SXuhui Lin interrupt-controller; 1122b9dcc643SXuhui Lin #interrupt-cells = <2>; 1123b9dcc643SXuhui Lin }; 1124b9dcc643SXuhui Lin 1125b9dcc643SXuhui Lin gpio1: gpio@20d80000 { 1126b9dcc643SXuhui Lin compatible = "rockchip,gpio-bank"; 1127b9dcc643SXuhui Lin reg = <0x20d80000 0x200>; 1128b9dcc643SXuhui Lin interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 1129b9dcc643SXuhui Lin clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 1130b9dcc643SXuhui Lin gpio-controller; 1131b9dcc643SXuhui Lin #gpio-cells = <2>; 1132b9dcc643SXuhui Lin gpio-ranges = <&pinctrl 0 32 32>; 1133b9dcc643SXuhui Lin interrupt-controller; 1134b9dcc643SXuhui Lin #interrupt-cells = <2>; 1135b9dcc643SXuhui Lin }; 1136b9dcc643SXuhui Lin 1137b9dcc643SXuhui Lin gpio2: gpio@20840000 { 1138b9dcc643SXuhui Lin compatible = "rockchip,gpio-bank"; 1139b9dcc643SXuhui Lin reg = <0x20840000 0x200>; 1140b9dcc643SXuhui Lin interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 1141b9dcc643SXuhui Lin clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 1142b9dcc643SXuhui Lin gpio-controller; 1143b9dcc643SXuhui Lin #gpio-cells = <2>; 1144b9dcc643SXuhui Lin gpio-ranges = <&pinctrl 0 64 32>; 1145b9dcc643SXuhui Lin interrupt-controller; 1146b9dcc643SXuhui Lin #interrupt-cells = <2>; 1147b9dcc643SXuhui Lin }; 1148b9dcc643SXuhui Lin }; 1149b9dcc643SXuhui Lin}; 1150b9dcc643SXuhui Lin 1151b9dcc643SXuhui Lin#include "rv1103b-pinctrl.dtsi" 1152