1c6f7c1a3SJoseph Chen// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c6f7c1a3SJoseph Chen/* 3c6f7c1a3SJoseph Chen * Copyright (c) 2022 Rockchip Electronics Co., Ltd. 4c6f7c1a3SJoseph Chen */ 5c6f7c1a3SJoseph Chen 6c6f7c1a3SJoseph Chen#include <dt-bindings/clock/rk3528-cru.h> 7b36e944aSJoseph Chen#include <dt-bindings/gpio/gpio.h> 8c6f7c1a3SJoseph Chen#include <dt-bindings/interrupt-controller/arm-gic.h> 9c6f7c1a3SJoseph Chen#include <dt-bindings/interrupt-controller/irq.h> 10c6f7c1a3SJoseph Chen#include <dt-bindings/phy/phy.h> 11c6f7c1a3SJoseph Chen#include <dt-bindings/pinctrl/rockchip.h> 12c6f7c1a3SJoseph Chen#include <dt-bindings/power/rk3528-power.h> 13c6f7c1a3SJoseph Chen#include <dt-bindings/soc/rockchip,boot-mode.h> 14c6f7c1a3SJoseph Chen#include <dt-bindings/soc/rockchip-system-status.h> 15b36e944aSJoseph Chen#include <dt-bindings/suspend/rockchip-rk3528.h> 16c6f7c1a3SJoseph Chen#include <dt-bindings/thermal/thermal.h> 17b36e944aSJoseph Chen#include <dt-bindings/display/rockchip-tve.h> 18c6f7c1a3SJoseph Chen 19c6f7c1a3SJoseph Chen/ { 20c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528"; 21c6f7c1a3SJoseph Chen 22c6f7c1a3SJoseph Chen interrupt-parent = <&gic>; 23c6f7c1a3SJoseph Chen #address-cells = <2>; 24c6f7c1a3SJoseph Chen #size-cells = <2>; 25c6f7c1a3SJoseph Chen 26c6f7c1a3SJoseph Chen aliases { 27c6f7c1a3SJoseph Chen ethernet0 = &gmac0; 28c6f7c1a3SJoseph Chen ethernet1 = &gmac1; 29c6f7c1a3SJoseph Chen gpio0 = &gpio0; 30c6f7c1a3SJoseph Chen gpio1 = &gpio1; 31c6f7c1a3SJoseph Chen gpio2 = &gpio2; 32c6f7c1a3SJoseph Chen gpio3 = &gpio3; 33c6f7c1a3SJoseph Chen gpio4 = &gpio4; 34c6f7c1a3SJoseph Chen i2c0 = &i2c0; 35c6f7c1a3SJoseph Chen i2c1 = &i2c1; 36c6f7c1a3SJoseph Chen i2c2 = &i2c2; 37c6f7c1a3SJoseph Chen i2c3 = &i2c3; 38c6f7c1a3SJoseph Chen i2c4 = &i2c4; 39c6f7c1a3SJoseph Chen i2c5 = &i2c5; 40c6f7c1a3SJoseph Chen i2c6 = &i2c6; 41c6f7c1a3SJoseph Chen i2c7 = &i2c7; 42c6f7c1a3SJoseph Chen serial0 = &uart0; 43c6f7c1a3SJoseph Chen serial1 = &uart1; 44c6f7c1a3SJoseph Chen serial2 = &uart2; 45c6f7c1a3SJoseph Chen serial3 = &uart3; 46c6f7c1a3SJoseph Chen serial4 = &uart4; 47c6f7c1a3SJoseph Chen serial5 = &uart5; 48c6f7c1a3SJoseph Chen serial6 = &uart6; 49c6f7c1a3SJoseph Chen serial7 = &uart7; 50c6f7c1a3SJoseph Chen spi0 = &spi0; 51c6f7c1a3SJoseph Chen spi1 = &spi1; 52c6f7c1a3SJoseph Chen spi2 = &sfc; 53c6f7c1a3SJoseph Chen }; 54c6f7c1a3SJoseph Chen 55c6f7c1a3SJoseph Chen cpus { 56c6f7c1a3SJoseph Chen #address-cells = <2>; 57c6f7c1a3SJoseph Chen #size-cells = <0>; 58c6f7c1a3SJoseph Chen 59c6f7c1a3SJoseph Chen cpu-map { 60c6f7c1a3SJoseph Chen cluster0 { 61c6f7c1a3SJoseph Chen core0 { 62c6f7c1a3SJoseph Chen cpu = <&cpu0>; 63c6f7c1a3SJoseph Chen }; 64c6f7c1a3SJoseph Chen core1 { 65c6f7c1a3SJoseph Chen cpu = <&cpu1>; 66c6f7c1a3SJoseph Chen }; 67c6f7c1a3SJoseph Chen core2 { 68c6f7c1a3SJoseph Chen cpu = <&cpu2>; 69c6f7c1a3SJoseph Chen }; 70c6f7c1a3SJoseph Chen core3 { 71c6f7c1a3SJoseph Chen cpu = <&cpu3>; 72c6f7c1a3SJoseph Chen }; 73c6f7c1a3SJoseph Chen }; 74c6f7c1a3SJoseph Chen }; 75c6f7c1a3SJoseph Chen 76c6f7c1a3SJoseph Chen cpu0: cpu@0 { 77c6f7c1a3SJoseph Chen device_type = "cpu"; 78c6f7c1a3SJoseph Chen compatible = "arm,cortex-a53"; 79c6f7c1a3SJoseph Chen reg = <0x0 0x0>; 80c6f7c1a3SJoseph Chen enable-method = "psci"; 81b36e944aSJoseph Chen clocks = <&scmi_clk SCMI_CLK_CPU>; 82b36e944aSJoseph Chen operating-points-v2 = <&cpu0_opp_table>; 83b36e944aSJoseph Chen cpu-idle-states = <&CPU_SLEEP0>; 84c6f7c1a3SJoseph Chen }; 85c6f7c1a3SJoseph Chen 86c6f7c1a3SJoseph Chen cpu1: cpu@1 { 87c6f7c1a3SJoseph Chen device_type = "cpu"; 88c6f7c1a3SJoseph Chen compatible = "arm,cortex-a53"; 89c6f7c1a3SJoseph Chen reg = <0x0 0x1>; 90c6f7c1a3SJoseph Chen enable-method = "psci"; 91b36e944aSJoseph Chen clocks = <&scmi_clk SCMI_CLK_CPU>; 92b36e944aSJoseph Chen operating-points-v2 = <&cpu0_opp_table>; 93b36e944aSJoseph Chen cpu-idle-states = <&CPU_SLEEP0>; 94c6f7c1a3SJoseph Chen }; 95c6f7c1a3SJoseph Chen 96c6f7c1a3SJoseph Chen cpu2: cpu@2 { 97c6f7c1a3SJoseph Chen device_type = "cpu"; 98c6f7c1a3SJoseph Chen compatible = "arm,cortex-a53"; 99c6f7c1a3SJoseph Chen reg = <0x0 0x2>; 100c6f7c1a3SJoseph Chen enable-method = "psci"; 101b36e944aSJoseph Chen clocks = <&scmi_clk SCMI_CLK_CPU>; 102b36e944aSJoseph Chen operating-points-v2 = <&cpu0_opp_table>; 103b36e944aSJoseph Chen cpu-idle-states = <&CPU_SLEEP1>; 104c6f7c1a3SJoseph Chen }; 105c6f7c1a3SJoseph Chen 106c6f7c1a3SJoseph Chen cpu3: cpu@3 { 107c6f7c1a3SJoseph Chen device_type = "cpu"; 108c6f7c1a3SJoseph Chen compatible = "arm,cortex-a53"; 109c6f7c1a3SJoseph Chen reg = <0x0 0x3>; 110c6f7c1a3SJoseph Chen enable-method = "psci"; 111b36e944aSJoseph Chen clocks = <&scmi_clk SCMI_CLK_CPU>; 112b36e944aSJoseph Chen operating-points-v2 = <&cpu0_opp_table>; 113b36e944aSJoseph Chen cpu-idle-states = <&CPU_SLEEP1>; 114b36e944aSJoseph Chen }; 115b36e944aSJoseph Chen 116b36e944aSJoseph Chen idle-states { 117b36e944aSJoseph Chen entry-method = "psci"; 118b36e944aSJoseph Chen 119b36e944aSJoseph Chen CPU_SLEEP0: cpu-sleep0 { 120b36e944aSJoseph Chen compatible = "arm,idle-state"; 121b36e944aSJoseph Chen local-timer-stop; 122b36e944aSJoseph Chen arm,psci-suspend-param = <0x0010000>; 123b36e944aSJoseph Chen entry-latency-us = <120>; 124b36e944aSJoseph Chen exit-latency-us = <250>; 125b36e944aSJoseph Chen min-residency-us = <900>; 126b36e944aSJoseph Chen status = "disabled"; 127b36e944aSJoseph Chen }; 128b36e944aSJoseph Chen 129b36e944aSJoseph Chen CPU_SLEEP1: cpu-sleep { 130b36e944aSJoseph Chen compatible = "arm,idle-state"; 131b36e944aSJoseph Chen local-timer-stop; 132b36e944aSJoseph Chen arm,psci-suspend-param = <0x0010000>; 133b36e944aSJoseph Chen entry-latency-us = <120>; 134b36e944aSJoseph Chen exit-latency-us = <250>; 135b36e944aSJoseph Chen min-residency-us = <900>; 136b36e944aSJoseph Chen status = "okay"; 137b36e944aSJoseph Chen }; 138b36e944aSJoseph Chen }; 139b36e944aSJoseph Chen }; 140b36e944aSJoseph Chen 141b36e944aSJoseph Chen cpu0_opp_table: cpu0-opp-table { 142b36e944aSJoseph Chen compatible = "operating-points-v2"; 143b36e944aSJoseph Chen opp-shared; 144b36e944aSJoseph Chen 145b36e944aSJoseph Chen nvmem-cells = <&cpu_leakage>; 146b36e944aSJoseph Chen nvmem-cell-names = "leakage"; 147b36e944aSJoseph Chen 148b36e944aSJoseph Chen rockchip,pvtm-voltage-sel = < 149b36e944aSJoseph Chen 0 1310 0 150b36e944aSJoseph Chen 1311 1340 1 151b36e944aSJoseph Chen 1341 1370 2 152b36e944aSJoseph Chen 1371 1400 3 153b36e944aSJoseph Chen 1401 1430 4 154b36e944aSJoseph Chen 1431 1460 5 155b36e944aSJoseph Chen 1461 9999 6 156b36e944aSJoseph Chen >; 157b36e944aSJoseph Chen rockchip,pvtm-pvtpll; 158b36e944aSJoseph Chen rockchip,pvtm-offset = <0x18>; 159b36e944aSJoseph Chen rockchip,pvtm-sample-time = <1100>; 160b36e944aSJoseph Chen rockchip,pvtm-freq = <1416000>; 161b36e944aSJoseph Chen rockchip,pvtm-volt = <900000>; 162b36e944aSJoseph Chen rockchip,pvtm-ref-temp = <40>; 163b36e944aSJoseph Chen rockchip,pvtm-temp-prop = <0 0>; 164b36e944aSJoseph Chen rockchip,pvtm-thermal-zone = "soc-thermal"; 165b36e944aSJoseph Chen rockchip,grf = <&grf>; 166b36e944aSJoseph Chen 167b36e944aSJoseph Chen opp-408000000 { 168b36e944aSJoseph Chen opp-hz = /bits/ 64 <408000000>; 169b36e944aSJoseph Chen opp-microvolt = <825000 825000 1100000>; 170b36e944aSJoseph Chen clock-latency-ns = <40000>; 171b36e944aSJoseph Chen opp-suspend; 172b36e944aSJoseph Chen }; 173b36e944aSJoseph Chen opp-600000000 { 174b36e944aSJoseph Chen opp-hz = /bits/ 64 <600000000>; 175b36e944aSJoseph Chen opp-microvolt = <825000 825000 1100000>; 176b36e944aSJoseph Chen clock-latency-ns = <40000>; 177b36e944aSJoseph Chen }; 178b36e944aSJoseph Chen opp-816000000 { 179b36e944aSJoseph Chen opp-hz = /bits/ 64 <816000000>; 180b36e944aSJoseph Chen opp-microvolt = <825000 825000 1100000>; 181b36e944aSJoseph Chen clock-latency-ns = <40000>; 182b36e944aSJoseph Chen }; 183b36e944aSJoseph Chen opp-1008000000 { 184b36e944aSJoseph Chen opp-hz = /bits/ 64 <1008000000>; 185b36e944aSJoseph Chen opp-microvolt = <825000 825000 1100000>; 186b36e944aSJoseph Chen clock-latency-ns = <40000>; 187b36e944aSJoseph Chen }; 188b36e944aSJoseph Chen opp-1200000000 { 189b36e944aSJoseph Chen opp-hz = /bits/ 64 <1200000000>; 190b36e944aSJoseph Chen opp-microvolt = <875000 875000 1100000>; 191b36e944aSJoseph Chen opp-microvolt-L1 = <862500 862500 1100000>; 192b36e944aSJoseph Chen opp-microvolt-L2 = <850000 850000 1100000>; 193b36e944aSJoseph Chen opp-microvolt-L3 = <837500 837500 1100000>; 194b36e944aSJoseph Chen opp-microvolt-L4 = <837500 837500 1100000>; 195b36e944aSJoseph Chen opp-microvolt-L5 = <837500 837500 1100000>; 196b36e944aSJoseph Chen opp-microvolt-L6 = <825000 825000 1100000>; 197b36e944aSJoseph Chen clock-latency-ns = <40000>; 198b36e944aSJoseph Chen }; 199b36e944aSJoseph Chen opp-1416000000 { 200b36e944aSJoseph Chen opp-hz = /bits/ 64 <1416000000>; 201b36e944aSJoseph Chen opp-microvolt = <937500 937500 1100000>; 202b36e944aSJoseph Chen opp-microvolt-L1 = <925000 925000 1100000>; 203b36e944aSJoseph Chen opp-microvolt-L2 = <912500 912500 1100000>; 204b36e944aSJoseph Chen opp-microvolt-L3 = <900000 900000 1100000>; 205b36e944aSJoseph Chen opp-microvolt-L4 = <900000 900000 1100000>; 206b36e944aSJoseph Chen opp-microvolt-L5 = <900000 900000 1100000>; 207b36e944aSJoseph Chen opp-microvolt-L6 = <887500 887500 1100000>; 208b36e944aSJoseph Chen clock-latency-ns = <40000>; 209b36e944aSJoseph Chen }; 210b36e944aSJoseph Chen opp-1608000000 { 211b36e944aSJoseph Chen opp-hz = /bits/ 64 <1608000000>; 212b36e944aSJoseph Chen opp-microvolt = <1012500 1012500 1100000>; 213b36e944aSJoseph Chen opp-microvolt-L1 = <1000000 1000000 1100000>; 214b36e944aSJoseph Chen opp-microvolt-L2 = <987500 987500 1100000>; 215b36e944aSJoseph Chen opp-microvolt-L3 = <975000 975000 1100000>; 216b36e944aSJoseph Chen opp-microvolt-L4 = <962500 962500 1100000>; 217b36e944aSJoseph Chen opp-microvolt-L5 = <950000 950000 1100000>; 218b36e944aSJoseph Chen opp-microvolt-L6 = <937500 937500 1100000>; 219b36e944aSJoseph Chen clock-latency-ns = <40000>; 220b36e944aSJoseph Chen }; 221b36e944aSJoseph Chen opp-1800000000 { 222b36e944aSJoseph Chen opp-hz = /bits/ 64 <1800000000>; 223b36e944aSJoseph Chen opp-microvolt = <1062500 1062500 1100000>; 224b36e944aSJoseph Chen opp-microvolt-L1 = <1050000 1050000 1100000>; 225b36e944aSJoseph Chen opp-microvolt-L2 = <1037500 1037500 1100000>; 226b36e944aSJoseph Chen opp-microvolt-L3 = <1025000 1025000 1100000>; 227b36e944aSJoseph Chen opp-microvolt-L4 = <1012500 1012500 1100000>; 228b36e944aSJoseph Chen opp-microvolt-L5 = <1000000 1000000 1100000>; 229b36e944aSJoseph Chen opp-microvolt-L6 = <987500 987500 1100000>; 230b36e944aSJoseph Chen clock-latency-ns = <40000>; 231b36e944aSJoseph Chen }; 232b36e944aSJoseph Chen opp-2016000000 { 233b36e944aSJoseph Chen opp-hz = /bits/ 64 <2016000000>; 234b36e944aSJoseph Chen opp-microvolt = <1100000 1100000 1100000>; 235b36e944aSJoseph Chen opp-microvolt-L1 = <1087500 1087500 1100000>; 236b36e944aSJoseph Chen opp-microvolt-L2 = <1075000 1075000 1100000>; 237b36e944aSJoseph Chen opp-microvolt-L3 = <1062500 1062500 1100000>; 238b36e944aSJoseph Chen opp-microvolt-L4 = <1050000 1050000 1100000>; 239b36e944aSJoseph Chen opp-microvolt-L5 = <1037500 1037500 1100000>; 240b36e944aSJoseph Chen opp-microvolt-L6 = <1025000 1025000 1100000>; 241b36e944aSJoseph Chen clock-latency-ns = <40000>; 242c6f7c1a3SJoseph Chen }; 243c6f7c1a3SJoseph Chen }; 244c6f7c1a3SJoseph Chen 245c6f7c1a3SJoseph Chen arm-pmu { 246c6f7c1a3SJoseph Chen compatible = "arm,cortex-a53-pmu"; 247c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>, 248c6f7c1a3SJoseph Chen <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>, 249c6f7c1a3SJoseph Chen <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>, 250c6f7c1a3SJoseph Chen <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 251c6f7c1a3SJoseph Chen interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 252c6f7c1a3SJoseph Chen }; 253c6f7c1a3SJoseph Chen 254c6f7c1a3SJoseph Chen cpuinfo { 255c6f7c1a3SJoseph Chen compatible = "rockchip,cpuinfo"; 256c6f7c1a3SJoseph Chen nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>; 257c6f7c1a3SJoseph Chen nvmem-cell-names = "id", "cpu-version", "cpu-code"; 258c6f7c1a3SJoseph Chen }; 259c6f7c1a3SJoseph Chen 260c6f7c1a3SJoseph Chen display_subsystem: display-subsystem { 261c6f7c1a3SJoseph Chen compatible = "rockchip,display-subsystem"; 262c6f7c1a3SJoseph Chen ports = <&vop_out>; 263c6f7c1a3SJoseph Chen status = "disabled"; 264c6f7c1a3SJoseph Chen }; 265c6f7c1a3SJoseph Chen 2668c527d2cSJoseph Chen firmware: firmware { 267c6f7c1a3SJoseph Chen scmi: scmi { 268c6f7c1a3SJoseph Chen compatible = "arm,scmi-smc"; 269c6f7c1a3SJoseph Chen shmem = <&scmi_shmem>; 270c6f7c1a3SJoseph Chen arm,smc-id = <0x82000010>; 271c6f7c1a3SJoseph Chen #address-cells = <1>; 272c6f7c1a3SJoseph Chen #size-cells = <0>; 273c6f7c1a3SJoseph Chen 274c6f7c1a3SJoseph Chen scmi_clk: protocol@14 { 275c6f7c1a3SJoseph Chen reg = <0x14>; 276c6f7c1a3SJoseph Chen #clock-cells = <1>; 277c6f7c1a3SJoseph Chen }; 278c6f7c1a3SJoseph Chen }; 279c6f7c1a3SJoseph Chen }; 280c6f7c1a3SJoseph Chen 281c6f7c1a3SJoseph Chen mpp_srv: mpp-srv { 282c6f7c1a3SJoseph Chen compatible = "rockchip,mpp-service"; 283c6f7c1a3SJoseph Chen rockchip,taskqueue-count = <5>; 284c6f7c1a3SJoseph Chen rockchip,resetgroup-count = <5>; 285c6f7c1a3SJoseph Chen status = "disabled"; 286c6f7c1a3SJoseph Chen }; 287c6f7c1a3SJoseph Chen 288c6f7c1a3SJoseph Chen psci: psci { 289c6f7c1a3SJoseph Chen compatible = "arm,psci-1.0"; 290c6f7c1a3SJoseph Chen method = "smc"; 291c6f7c1a3SJoseph Chen }; 292c6f7c1a3SJoseph Chen 293b36e944aSJoseph Chen rockchip_suspend: rockchip-suspend { 294b36e944aSJoseph Chen compatible = "rockchip,pm-rk3528"; 295b36e944aSJoseph Chen status = "disabled"; 296b36e944aSJoseph Chen rockchip,sleep-debug-en = <0>; 297b36e944aSJoseph Chen rockchip,sleep-mode-config = < 298b36e944aSJoseph Chen (0 299b36e944aSJoseph Chen | RKPM_SLP_ARMPD 300b36e944aSJoseph Chen ) 301b36e944aSJoseph Chen >; 302b36e944aSJoseph Chen rockchip,wakeup-config = < 303b36e944aSJoseph Chen (0 304b36e944aSJoseph Chen | RKPM_CPU0_WKUP_EN 305b36e944aSJoseph Chen | RKPM_GPIO_WKUP_EN 306b36e944aSJoseph Chen ) 307b36e944aSJoseph Chen >; 308b36e944aSJoseph Chen }; 309b36e944aSJoseph Chen 310b36e944aSJoseph Chen rockchip_system_monitor: rockchip-system-monitor { 311b36e944aSJoseph Chen compatible = "rockchip,system-monitor"; 312b36e944aSJoseph Chen 313b36e944aSJoseph Chen rockchip,thermal-zone = "soc-thermal"; 314b36e944aSJoseph Chen }; 315b36e944aSJoseph Chen 316c6f7c1a3SJoseph Chen thermal_zones: thermal-zones { 317c6f7c1a3SJoseph Chen soc_thermal: soc-thermal { 318c6f7c1a3SJoseph Chen polling-delay-passive = <20>; /* milliseconds */ 319c6f7c1a3SJoseph Chen polling-delay = <1000>; /* milliseconds */ 320c6f7c1a3SJoseph Chen 321c6f7c1a3SJoseph Chen thermal-sensors = <&tsadc 0>; 322c6f7c1a3SJoseph Chen trips { 323c6f7c1a3SJoseph Chen soc_crit: soc-crit { 324c6f7c1a3SJoseph Chen /* millicelsius */ 325c6f7c1a3SJoseph Chen temperature = <115000>; 326c6f7c1a3SJoseph Chen /* millicelsius */ 327c6f7c1a3SJoseph Chen hysteresis = <2000>; 328c6f7c1a3SJoseph Chen type = "critical"; 329c6f7c1a3SJoseph Chen }; 330c6f7c1a3SJoseph Chen }; 331c6f7c1a3SJoseph Chen }; 332c6f7c1a3SJoseph Chen }; 333c6f7c1a3SJoseph Chen 334c6f7c1a3SJoseph Chen timer { 335c6f7c1a3SJoseph Chen compatible = "arm,armv8-timer"; 336c6f7c1a3SJoseph Chen interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 337c6f7c1a3SJoseph Chen <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 338c6f7c1a3SJoseph Chen <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 339c6f7c1a3SJoseph Chen <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 340c6f7c1a3SJoseph Chen }; 341c6f7c1a3SJoseph Chen 342c6f7c1a3SJoseph Chen xin24m: xin24m { 343c6f7c1a3SJoseph Chen compatible = "fixed-clock"; 344c6f7c1a3SJoseph Chen #clock-cells = <0>; 345c6f7c1a3SJoseph Chen clock-frequency = <24000000>; 346c6f7c1a3SJoseph Chen clock-output-names = "xin24m"; 347c6f7c1a3SJoseph Chen }; 348c6f7c1a3SJoseph Chen 349c6f7c1a3SJoseph Chen scmi_shmem: scmi-shmem@10f000 { 350c6f7c1a3SJoseph Chen compatible = "arm,scmi-shmem"; 351c6f7c1a3SJoseph Chen reg = <0x0 0x0010f000 0x0 0x100>; 352c6f7c1a3SJoseph Chen }; 353c6f7c1a3SJoseph Chen 354c6f7c1a3SJoseph Chen pcie2x1: pcie@fe4f0000 { 355c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-pcie", "snps,dw-pcie"; 356c6f7c1a3SJoseph Chen #address-cells = <3>; 357c6f7c1a3SJoseph Chen #size-cells = <2>; 358c6f7c1a3SJoseph Chen bus-range = <0x0 0xff>; 359c6f7c1a3SJoseph Chen clocks = <&cru ACLK_PCIE>, <&cru HCLK_PCIE_SLV>, 360c6f7c1a3SJoseph Chen <&cru HCLK_PCIE_DBI>, <&cru PCLK_CRU_PCIE>, 361c6f7c1a3SJoseph Chen <&cru CLK_PCIE_AUX>, <&cru PCLK_PCIE>, 362b36e944aSJoseph Chen <&cru PCLK_PCIE_PHY>; 363c6f7c1a3SJoseph Chen clock-names = "aclk", "hclk_slv", 364c6f7c1a3SJoseph Chen "hclk_dbi", "pclk_cru", 365c6f7c1a3SJoseph Chen "aux", "pclk", 366c6f7c1a3SJoseph Chen "pipe"; 367c6f7c1a3SJoseph Chen device_type = "pci"; 368b36e944aSJoseph Chen interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, 369b36e944aSJoseph Chen <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 370c6f7c1a3SJoseph Chen <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>, 371c6f7c1a3SJoseph Chen <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>, 372c6f7c1a3SJoseph Chen <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 373c6f7c1a3SJoseph Chen <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 374b36e944aSJoseph Chen interrupt-names = "msi", "pmc", "sys", "legacy", "msg", "err"; 375c6f7c1a3SJoseph Chen #interrupt-cells = <1>; 376c6f7c1a3SJoseph Chen interrupt-map-mask = <0 0 0 7>; 377c6f7c1a3SJoseph Chen interrupt-map = <0 0 0 1 &pcie2x1_intc 0>, 378c6f7c1a3SJoseph Chen <0 0 0 2 &pcie2x1_intc 1>, 379c6f7c1a3SJoseph Chen <0 0 0 3 &pcie2x1_intc 2>, 380c6f7c1a3SJoseph Chen <0 0 0 4 &pcie2x1_intc 3>; 381c6f7c1a3SJoseph Chen linux,pci-domain = <0>; 382c6f7c1a3SJoseph Chen num-ib-windows = <8>; 383c6f7c1a3SJoseph Chen num-ob-windows = <8>; 384c6f7c1a3SJoseph Chen num-viewport = <4>; 385c6f7c1a3SJoseph Chen max-link-speed = <2>; 386c6f7c1a3SJoseph Chen num-lanes = <1>; 387c6f7c1a3SJoseph Chen phys = <&combphy_pu PHY_TYPE_PCIE>; 388c6f7c1a3SJoseph Chen phy-names = "pcie-phy"; 389c6f7c1a3SJoseph Chen ranges = <0x00000800 0x0 0xfc000000 0x0 0xfc000000 0x0 0x100000 390c6f7c1a3SJoseph Chen 0x81000000 0x0 0xfc100000 0x0 0xfc100000 0x0 0x100000 391c6f7c1a3SJoseph Chen 0x82000000 0x0 0xfc200000 0x0 0xfc200000 0x0 0x1e00000 392c6f7c1a3SJoseph Chen 0xc3000000 0x1 0x00000000 0x1 0x00000000 0x0 0x40000000>; 393c6f7c1a3SJoseph Chen reg = <0x0 0xfe4f0000 0x0 0x10000>, 394*a4a25d67SJon Lin <0x0 0xfe000000 0x0 0x400000>; 395c6f7c1a3SJoseph Chen reg-names = "pcie-apb", "pcie-dbi"; 396c6f7c1a3SJoseph Chen resets = <&cru SRST_RESETN_PCIE_POWER_UP>, <&cru SRST_PRESETN_PCIE>, 397c6f7c1a3SJoseph Chen <&cru SRST_PRESETN_CRU_PCIE>; 398c6f7c1a3SJoseph Chen reset-names = "pcie", "periph", "preset_cru"; 399c6f7c1a3SJoseph Chen status = "disabled"; 400c6f7c1a3SJoseph Chen 401c6f7c1a3SJoseph Chen pcie2x1_intc: legacy-interrupt-controller { 402c6f7c1a3SJoseph Chen interrupt-controller; 403c6f7c1a3SJoseph Chen #address-cells = <0>; 404c6f7c1a3SJoseph Chen #interrupt-cells = <1>; 405c6f7c1a3SJoseph Chen interrupt-parent = <&gic>; 406c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 155 IRQ_TYPE_EDGE_RISING>; 407c6f7c1a3SJoseph Chen }; 408c6f7c1a3SJoseph Chen }; 409c6f7c1a3SJoseph Chen 410c6f7c1a3SJoseph Chen usbdrd30: usbdrd { 411c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-dwc3", "rockchip,rk3399-dwc3"; 412c6f7c1a3SJoseph Chen clocks = <&cru CLK_REF_USB3OTG>, <&cru CLK_SUSPEND_USB3OTG>, 413c6f7c1a3SJoseph Chen <&cru ACLK_USB3OTG>; 414c6f7c1a3SJoseph Chen clock-names = "ref_clk", "suspend_clk", 415c6f7c1a3SJoseph Chen "bus_clk"; 416c6f7c1a3SJoseph Chen #address-cells = <2>; 417c6f7c1a3SJoseph Chen #size-cells = <2>; 418c6f7c1a3SJoseph Chen ranges; 419c6f7c1a3SJoseph Chen status = "disabled"; 420c6f7c1a3SJoseph Chen 421c6f7c1a3SJoseph Chen usbdrd_dwc3: dwc3@fe500000 { 422c6f7c1a3SJoseph Chen compatible = "snps,dwc3"; 423c6f7c1a3SJoseph Chen reg = <0x0 0xfe500000 0x0 0x400000>; 424c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 425c6f7c1a3SJoseph Chen dr_mode = "otg"; 426b36e944aSJoseph Chen phys = <&u2phy_otg>, <&combphy_pu PHY_TYPE_USB3>; 427b36e944aSJoseph Chen phy-names = "usb2-phy", "usb3-phy"; 428c6f7c1a3SJoseph Chen phy_type = "utmi_wide"; 429c6f7c1a3SJoseph Chen resets = <&cru SRST_ARESETN_USB3OTG>; 430c6f7c1a3SJoseph Chen reset-names = "usb3-otg"; 431c6f7c1a3SJoseph Chen snps,dis_enblslpm_quirk; 432c6f7c1a3SJoseph Chen snps,dis-u1u2-quirk; 433c6f7c1a3SJoseph Chen snps,dis-u2-freeclk-exists-quirk; 434c6f7c1a3SJoseph Chen snps,dis-del-phy-power-chg-quirk; 435c6f7c1a3SJoseph Chen snps,dis-tx-ipgap-linecheck-quirk; 436c6f7c1a3SJoseph Chen snps,xhci-trb-ent-quirk; 437b36e944aSJoseph Chen snps,dis_rxdet_inp3_quirk; 438b36e944aSJoseph Chen quirk-skip-phy-init; 439c6f7c1a3SJoseph Chen status = "disabled"; 440c6f7c1a3SJoseph Chen }; 441c6f7c1a3SJoseph Chen }; 442c6f7c1a3SJoseph Chen 443c6f7c1a3SJoseph Chen gic: interrupt-controller@fed01000 { 444c6f7c1a3SJoseph Chen compatible = "arm,gic-400"; 445c6f7c1a3SJoseph Chen #interrupt-cells = <3>; 446c6f7c1a3SJoseph Chen #address-cells = <0>; 447c6f7c1a3SJoseph Chen interrupt-controller; 448c6f7c1a3SJoseph Chen reg = <0x0 0xfed01000 0 0x1000>, 449c6f7c1a3SJoseph Chen <0x0 0xfed02000 0 0x2000>, 450c6f7c1a3SJoseph Chen <0x0 0xfed04000 0 0x2000>, 451c6f7c1a3SJoseph Chen <0x0 0xfed06000 0 0x2000>; 452c6f7c1a3SJoseph Chen interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 453c6f7c1a3SJoseph Chen }; 454c6f7c1a3SJoseph Chen 455c6f7c1a3SJoseph Chen usb_host0_ehci: usb@ff100000 { 456c6f7c1a3SJoseph Chen compatible = "generic-ehci"; 457c6f7c1a3SJoseph Chen reg = <0x0 0xff100000 0x0 0x40000>; 458c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 459b36e944aSJoseph Chen clocks = <&cru HCLK_USBHOST>, 460b36e944aSJoseph Chen <&cru HCLK_USBHOST_ARB>, 461b36e944aSJoseph Chen <&usb2phy>; 462b36e944aSJoseph Chen clock-names = "usbhost", "arbiter", "utmi"; 463b36e944aSJoseph Chen phys = <&u2phy_host>; 464b36e944aSJoseph Chen phy-names = "usb2-phy"; 465c6f7c1a3SJoseph Chen status = "disabled"; 466c6f7c1a3SJoseph Chen }; 467c6f7c1a3SJoseph Chen 468c6f7c1a3SJoseph Chen usb_host0_ohci: usb@ff140000 { 469c6f7c1a3SJoseph Chen compatible = "generic-ohci"; 470c6f7c1a3SJoseph Chen reg = <0x0 0xff140000 0x0 0x40000>; 471c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 472b36e944aSJoseph Chen clocks = <&cru HCLK_USBHOST>, 473b36e944aSJoseph Chen <&cru HCLK_USBHOST_ARB>, 474b36e944aSJoseph Chen <&usb2phy>; 475b36e944aSJoseph Chen clock-names = "usbhost", "arbiter", "utmi"; 476b36e944aSJoseph Chen phys = <&u2phy_host>; 477b36e944aSJoseph Chen phy-names = "usb2-phy"; 478c6f7c1a3SJoseph Chen status = "disabled"; 479c6f7c1a3SJoseph Chen }; 480c6f7c1a3SJoseph Chen 481b36e944aSJoseph Chen debug: debug@ff190000 { 482b36e944aSJoseph Chen compatible = "rockchip,debug"; 483b36e944aSJoseph Chen reg = <0x0 0xff190000 0x0 0x1000>, 484b36e944aSJoseph Chen <0x0 0xff192000 0x0 0x1000>, 485b36e944aSJoseph Chen <0x0 0xff194000 0x0 0x1000>, 486b36e944aSJoseph Chen <0x0 0xff196000 0x0 0x1000>; 487b36e944aSJoseph Chen }; 488b36e944aSJoseph Chen 489c6f7c1a3SJoseph Chen qos_crypto_a: qos@ff200000 { 490c6f7c1a3SJoseph Chen compatible = "syscon"; 491c6f7c1a3SJoseph Chen reg = <0x0 0xff200000 0x0 0x20>; 492c6f7c1a3SJoseph Chen }; 493c6f7c1a3SJoseph Chen 494c6f7c1a3SJoseph Chen qos_crypto_p: qos@ff200080 { 495c6f7c1a3SJoseph Chen compatible = "syscon"; 496c6f7c1a3SJoseph Chen reg = <0x0 0xff200080 0x0 0x20>; 497c6f7c1a3SJoseph Chen }; 498c6f7c1a3SJoseph Chen 499c6f7c1a3SJoseph Chen qos_dcf: qos@ff200100 { 500c6f7c1a3SJoseph Chen compatible = "syscon"; 501c6f7c1a3SJoseph Chen reg = <0x0 0xff200100 0x0 0x20>; 502c6f7c1a3SJoseph Chen }; 503c6f7c1a3SJoseph Chen 504c6f7c1a3SJoseph Chen qos_dft2apb: qos@ff200200 { 505c6f7c1a3SJoseph Chen compatible = "syscon"; 506c6f7c1a3SJoseph Chen reg = <0x0 0xff200200 0x0 0x20>; 507c6f7c1a3SJoseph Chen }; 508c6f7c1a3SJoseph Chen 509c6f7c1a3SJoseph Chen qos_dma2ddr: qos@ff200280 { 510c6f7c1a3SJoseph Chen compatible = "syscon"; 511c6f7c1a3SJoseph Chen reg = <0x0 0xff200280 0x0 0x20>; 512c6f7c1a3SJoseph Chen }; 513c6f7c1a3SJoseph Chen 514c6f7c1a3SJoseph Chen qos_dmac: qos@ff200300 { 515c6f7c1a3SJoseph Chen compatible = "syscon"; 516c6f7c1a3SJoseph Chen reg = <0x0 0xff200300 0x0 0x20>; 517c6f7c1a3SJoseph Chen }; 518c6f7c1a3SJoseph Chen 519c6f7c1a3SJoseph Chen qos_keyreader: qos@ff200380 { 520c6f7c1a3SJoseph Chen compatible = "syscon"; 521c6f7c1a3SJoseph Chen reg = <0x0 0xff200380 0x0 0x20>; 522c6f7c1a3SJoseph Chen }; 523c6f7c1a3SJoseph Chen 524c6f7c1a3SJoseph Chen qos_cpu: qos@ff210000 { 525c6f7c1a3SJoseph Chen compatible = "syscon"; 526c6f7c1a3SJoseph Chen reg = <0x0 0xff210000 0x0 0x20>; 527c6f7c1a3SJoseph Chen }; 528c6f7c1a3SJoseph Chen 529c6f7c1a3SJoseph Chen qos_debug: qos@ff210080 { 530c6f7c1a3SJoseph Chen compatible = "syscon"; 531c6f7c1a3SJoseph Chen reg = <0x0 0xff210080 0x0 0x20>; 532c6f7c1a3SJoseph Chen }; 533c6f7c1a3SJoseph Chen 534c6f7c1a3SJoseph Chen qos_gpu_m0: qos@ff220000 { 535c6f7c1a3SJoseph Chen compatible = "syscon"; 536c6f7c1a3SJoseph Chen reg = <0x0 0xff220000 0x0 0x20>; 537c6f7c1a3SJoseph Chen }; 538c6f7c1a3SJoseph Chen 539c6f7c1a3SJoseph Chen qos_gpu_m1: qos@ff220080 { 540c6f7c1a3SJoseph Chen compatible = "syscon"; 541c6f7c1a3SJoseph Chen reg = <0x0 0xff220080 0x0 0x20>; 542c6f7c1a3SJoseph Chen }; 543c6f7c1a3SJoseph Chen 544c6f7c1a3SJoseph Chen qos_pmu_mcu: qos@ff240000 { 545c6f7c1a3SJoseph Chen compatible = "syscon"; 546c6f7c1a3SJoseph Chen reg = <0x0 0xff240000 0x0 0x20>; 547c6f7c1a3SJoseph Chen }; 548c6f7c1a3SJoseph Chen 549c6f7c1a3SJoseph Chen qos_rkvdec: qos@ff250000 { 550c6f7c1a3SJoseph Chen compatible = "syscon"; 551c6f7c1a3SJoseph Chen reg = <0x0 0xff250000 0x0 0x20>; 552c6f7c1a3SJoseph Chen }; 553c6f7c1a3SJoseph Chen 554c6f7c1a3SJoseph Chen qos_rkvenc: qos@ff260000 { 555c6f7c1a3SJoseph Chen compatible = "syscon"; 556c6f7c1a3SJoseph Chen reg = <0x0 0xff260000 0x0 0x20>; 557c6f7c1a3SJoseph Chen }; 558c6f7c1a3SJoseph Chen 559c6f7c1a3SJoseph Chen qos_gmac0: qos@ff270000 { 560c6f7c1a3SJoseph Chen compatible = "syscon"; 561c6f7c1a3SJoseph Chen reg = <0x0 0xff270000 0x0 0x20>; 562c6f7c1a3SJoseph Chen }; 563c6f7c1a3SJoseph Chen 564c6f7c1a3SJoseph Chen qos_hdcp: qos@ff270080 { 565c6f7c1a3SJoseph Chen compatible = "syscon"; 566c6f7c1a3SJoseph Chen reg = <0x0 0xff270080 0x0 0x20>; 567c6f7c1a3SJoseph Chen }; 568c6f7c1a3SJoseph Chen 569c6f7c1a3SJoseph Chen qos_jpegdec: qos@ff270100 { 570c6f7c1a3SJoseph Chen compatible = "syscon"; 571c6f7c1a3SJoseph Chen reg = <0x0 0xff270100 0x0 0x20>; 572c6f7c1a3SJoseph Chen }; 573c6f7c1a3SJoseph Chen 574c6f7c1a3SJoseph Chen qos_rga2_m0ro: qos@ff270200 { 575c6f7c1a3SJoseph Chen compatible = "syscon"; 576c6f7c1a3SJoseph Chen reg = <0x0 0xff270200 0x0 0x20>; 577c6f7c1a3SJoseph Chen }; 578c6f7c1a3SJoseph Chen 579c6f7c1a3SJoseph Chen qos_rga2_m0wo: qos@ff270280 { 580c6f7c1a3SJoseph Chen compatible = "syscon"; 581c6f7c1a3SJoseph Chen reg = <0x0 0xff270280 0x0 0x20>; 582c6f7c1a3SJoseph Chen }; 583c6f7c1a3SJoseph Chen 584c6f7c1a3SJoseph Chen qos_sdmmc0: qos@ff270300 { 585c6f7c1a3SJoseph Chen compatible = "syscon"; 586c6f7c1a3SJoseph Chen reg = <0x0 0xff270300 0x0 0x20>; 587c6f7c1a3SJoseph Chen }; 588c6f7c1a3SJoseph Chen 589c6f7c1a3SJoseph Chen qos_usb2host: qos@ff270380 { 590c6f7c1a3SJoseph Chen compatible = "syscon"; 591c6f7c1a3SJoseph Chen reg = <0x0 0xff270380 0x0 0x20>; 592c6f7c1a3SJoseph Chen }; 593c6f7c1a3SJoseph Chen 594c6f7c1a3SJoseph Chen qos_vdpp: qos@ff270480 { 595c6f7c1a3SJoseph Chen compatible = "syscon"; 596c6f7c1a3SJoseph Chen reg = <0x0 0xff270480 0x0 0x20>; 597c6f7c1a3SJoseph Chen }; 598c6f7c1a3SJoseph Chen 599c6f7c1a3SJoseph Chen qos_vop: qos@ff270500 { 600c6f7c1a3SJoseph Chen compatible = "syscon"; 601c6f7c1a3SJoseph Chen reg = <0x0 0xff270500 0x0 0x20>; 602c6f7c1a3SJoseph Chen }; 603c6f7c1a3SJoseph Chen 604c6f7c1a3SJoseph Chen qos_emmc: qos@ff280000 { 605c6f7c1a3SJoseph Chen compatible = "syscon"; 606c6f7c1a3SJoseph Chen reg = <0x0 0xff280000 0x0 0x20>; 607c6f7c1a3SJoseph Chen }; 608c6f7c1a3SJoseph Chen 609c6f7c1a3SJoseph Chen qos_fspi: qos@ff280080 { 610c6f7c1a3SJoseph Chen compatible = "syscon"; 611c6f7c1a3SJoseph Chen reg = <0x0 0xff280080 0x0 0x20>; 612c6f7c1a3SJoseph Chen }; 613c6f7c1a3SJoseph Chen 614c6f7c1a3SJoseph Chen qos_gmac1: qos@ff280100 { 615c6f7c1a3SJoseph Chen compatible = "syscon"; 616c6f7c1a3SJoseph Chen reg = <0x0 0xff280100 0x0 0x20>; 617c6f7c1a3SJoseph Chen }; 618c6f7c1a3SJoseph Chen 619c6f7c1a3SJoseph Chen qos_pcie: qos@ff280180 { 620c6f7c1a3SJoseph Chen compatible = "syscon"; 621c6f7c1a3SJoseph Chen reg = <0x0 0xff280180 0x0 0x20>; 622c6f7c1a3SJoseph Chen }; 623c6f7c1a3SJoseph Chen 624c6f7c1a3SJoseph Chen qos_sdio0: qos@ff280200 { 625c6f7c1a3SJoseph Chen compatible = "syscon"; 626c6f7c1a3SJoseph Chen reg = <0x0 0xff280200 0x0 0x20>; 627c6f7c1a3SJoseph Chen }; 628c6f7c1a3SJoseph Chen 629c6f7c1a3SJoseph Chen qos_sdio1: qos@ff280280 { 630c6f7c1a3SJoseph Chen compatible = "syscon"; 631c6f7c1a3SJoseph Chen reg = <0x0 0xff280280 0x0 0x20>; 632c6f7c1a3SJoseph Chen }; 633c6f7c1a3SJoseph Chen 634c6f7c1a3SJoseph Chen qos_tsp: qos@ff280300 { 635c6f7c1a3SJoseph Chen compatible = "syscon"; 636c6f7c1a3SJoseph Chen reg = <0x0 0xff280300 0x0 0x20>; 637c6f7c1a3SJoseph Chen }; 638c6f7c1a3SJoseph Chen 639c6f7c1a3SJoseph Chen qos_usb3otg: qos@ff280380 { 640c6f7c1a3SJoseph Chen compatible = "syscon"; 641c6f7c1a3SJoseph Chen reg = <0x0 0xff280380 0x0 0x20>; 642c6f7c1a3SJoseph Chen }; 643c6f7c1a3SJoseph Chen 644c6f7c1a3SJoseph Chen qos_vpu: qos@ff280400 { 645c6f7c1a3SJoseph Chen compatible = "syscon"; 646c6f7c1a3SJoseph Chen reg = <0x0 0xff280400 0x0 0x20>; 647c6f7c1a3SJoseph Chen }; 648c6f7c1a3SJoseph Chen 649c6f7c1a3SJoseph Chen /* 650c6f7c1a3SJoseph Chen * Merge all GRF, each independent GRF offset is shown as bellow: 651c6f7c1a3SJoseph Chen * CORE_GRF: 0xff300000 652c6f7c1a3SJoseph Chen * GPU_GRF: 0xff310000 653c6f7c1a3SJoseph Chen * RKVENC_GRF: 0xff320000 654c6f7c1a3SJoseph Chen * DDR_GRF: 0xff330000 655c6f7c1a3SJoseph Chen * VPU_GRF: 0xff340000 656c6f7c1a3SJoseph Chen * COMBO_PIPE_PHY_GRF: 0xff348000 657c6f7c1a3SJoseph Chen * RKVDEC_GRF: 0xff350000 658c6f7c1a3SJoseph Chen * VO_GRF: 0xff360000 659c6f7c1a3SJoseph Chen * PMU_GRF: 0xff370000 660c6f7c1a3SJoseph Chen * SYS_GRF: 0xff380000 661c6f7c1a3SJoseph Chen */ 662c6f7c1a3SJoseph Chen grf: syscon@ff300000 { 663c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-grf", "syscon", "simple-mfd"; 664c6f7c1a3SJoseph Chen reg = <0x0 0xff300000 0x0 0x90000>; 665c6f7c1a3SJoseph Chen 666c6f7c1a3SJoseph Chen grf_cru: grf-clock-controller { 667c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-grf-cru"; 668c6f7c1a3SJoseph Chen #clock-cells = <1>; 669c6f7c1a3SJoseph Chen }; 670b36e944aSJoseph Chen 671b36e944aSJoseph Chen reboot_mode: reboot-mode { 672b36e944aSJoseph Chen compatible = "syscon-reboot-mode"; 673b36e944aSJoseph Chen offset = <0x70200>; 674b36e944aSJoseph Chen mode-bootloader = <BOOT_BL_DOWNLOAD>; 675b36e944aSJoseph Chen mode-charge = <BOOT_CHARGING>; 676b36e944aSJoseph Chen mode-fastboot = <BOOT_FASTBOOT>; 677b36e944aSJoseph Chen mode-loader = <BOOT_BL_DOWNLOAD>; 678b36e944aSJoseph Chen mode-normal = <BOOT_NORMAL>; 679b36e944aSJoseph Chen mode-recovery = <BOOT_RECOVERY>; 680b36e944aSJoseph Chen mode-ums = <BOOT_UMS>; 681b36e944aSJoseph Chen mode-panic = <BOOT_PANIC>; 682b36e944aSJoseph Chen mode-watchdog = <BOOT_WATCHDOG>; 683b36e944aSJoseph Chen }; 684c6f7c1a3SJoseph Chen }; 685c6f7c1a3SJoseph Chen 686c6f7c1a3SJoseph Chen cru: clock-controller@ff4a0000 { 687c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-cru"; 688c6f7c1a3SJoseph Chen reg = <0x0 0xff4a0000 0x0 0x30000>; 689c6f7c1a3SJoseph Chen rockchip,grf = <&grf>; 690c6f7c1a3SJoseph Chen #clock-cells = <1>; 691c6f7c1a3SJoseph Chen #reset-cells = <1>; 692c6f7c1a3SJoseph Chen 693c6f7c1a3SJoseph Chen assigned-clocks = 694c6f7c1a3SJoseph Chen <&cru XIN_OSC0_DIV>, 695c6f7c1a3SJoseph Chen <&cru PLL_GPLL>, 696c6f7c1a3SJoseph Chen <&cru PLL_PPLL>, 697c6f7c1a3SJoseph Chen <&cru PLL_CPLL>, 698c6f7c1a3SJoseph Chen <&cru ARMCLK>, 699c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_250M_SRC>, 700c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_500M_SRC>, 701c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_50M_SRC>, 702c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_100M_SRC>, 703c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_150M_SRC>, 704c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_200M_SRC>, 705c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_300M_SRC>, 706c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_339M_SRC>, 707c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_400M_SRC>, 708c6f7c1a3SJoseph Chen <&cru CLK_MATRIX_600M_SRC>, 709c6f7c1a3SJoseph Chen <&cru CLK_PPLL_50M_MATRIX>, 710c6f7c1a3SJoseph Chen <&cru CLK_PPLL_100M_MATRIX>, 711c6f7c1a3SJoseph Chen <&cru CLK_PPLL_125M_MATRIX>, 712c6f7c1a3SJoseph Chen <&cru ACLK_BUS_VOPGL_ROOT>; 713c6f7c1a3SJoseph Chen 714c6f7c1a3SJoseph Chen assigned-clock-rates = 715c6f7c1a3SJoseph Chen <32768>, 716c6f7c1a3SJoseph Chen <1188000000>, 717c6f7c1a3SJoseph Chen <1000000000>, 718c6f7c1a3SJoseph Chen <996000000>, 719c6f7c1a3SJoseph Chen <408000000>, 720c6f7c1a3SJoseph Chen <250000000>, 721c6f7c1a3SJoseph Chen <500000000>, 722c6f7c1a3SJoseph Chen <50000000>, 723c6f7c1a3SJoseph Chen <100000000>, 724c6f7c1a3SJoseph Chen <150000000>, 725c6f7c1a3SJoseph Chen <200000000>, 726c6f7c1a3SJoseph Chen <300000000>, 727c6f7c1a3SJoseph Chen <340000000>, 728c6f7c1a3SJoseph Chen <400000000>, 729c6f7c1a3SJoseph Chen <600000000>, 730c6f7c1a3SJoseph Chen <50000000>, 731c6f7c1a3SJoseph Chen <100000000>, 732c6f7c1a3SJoseph Chen <125000000>, 733c6f7c1a3SJoseph Chen <500000000>; 734c6f7c1a3SJoseph Chen }; 735c6f7c1a3SJoseph Chen 736c6f7c1a3SJoseph Chen ioc_grf: syscon@ff540000 { 737c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-ioc-grf", "syscon"; 738c6f7c1a3SJoseph Chen reg = <0x0 0xff540000 0x0 0x40000>; 739c6f7c1a3SJoseph Chen }; 740c6f7c1a3SJoseph Chen 741c6f7c1a3SJoseph Chen pmu: power-management@ff600000 { 742c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-pmu", "syscon", "simple-mfd"; 743c6f7c1a3SJoseph Chen reg = <0x0 0xff600000 0x0 0x2000>; 744c6f7c1a3SJoseph Chen 745c6f7c1a3SJoseph Chen power: power-controller { 746c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-power-controller"; 747c6f7c1a3SJoseph Chen #power-domain-cells = <1>; 748c6f7c1a3SJoseph Chen #address-cells = <1>; 749c6f7c1a3SJoseph Chen #size-cells = <0>; 750c6f7c1a3SJoseph Chen status = "okay"; 751c6f7c1a3SJoseph Chen 752c6f7c1a3SJoseph Chen /* These power domains are grouped by VD_GPU */ 753c6f7c1a3SJoseph Chen pd_gpu@RK3528_PD_GPU { 754c6f7c1a3SJoseph Chen reg = <RK3528_PD_GPU>; 755c6f7c1a3SJoseph Chen clocks = <&cru ACLK_GPU_MALI>, 756c6f7c1a3SJoseph Chen <&cru PCLK_GPU_ROOT>; 757c6f7c1a3SJoseph Chen pm_qos = <&qos_gpu_m0>, 758c6f7c1a3SJoseph Chen <&qos_gpu_m1>; 759c6f7c1a3SJoseph Chen }; 760c6f7c1a3SJoseph Chen /* These power domains are grouped by VD_LOGIC */ 761c6f7c1a3SJoseph Chen pd_rkvdec@RK3528_PD_RKVDEC { 762c6f7c1a3SJoseph Chen reg = <RK3528_PD_RKVDEC>; 763c6f7c1a3SJoseph Chen }; 764c6f7c1a3SJoseph Chen pd_rkvenc@RK3528_PD_RKVENC { 765c6f7c1a3SJoseph Chen reg = <RK3528_PD_RKVENC>; 766c6f7c1a3SJoseph Chen }; 767c6f7c1a3SJoseph Chen pd_vo@RK3528_PD_VO { 768c6f7c1a3SJoseph Chen reg = <RK3528_PD_VO>; 769c6f7c1a3SJoseph Chen }; 770c6f7c1a3SJoseph Chen pd_vpu@RK3528_PD_VPU { 771c6f7c1a3SJoseph Chen reg = <RK3528_PD_VPU>; 772c6f7c1a3SJoseph Chen }; 773c6f7c1a3SJoseph Chen }; 774c6f7c1a3SJoseph Chen }; 775c6f7c1a3SJoseph Chen 776c6f7c1a3SJoseph Chen mailbox: mailbox@ff630000 { 777c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-mailbox", 778c6f7c1a3SJoseph Chen "rockchip,rk3368-mailbox"; 779c6f7c1a3SJoseph Chen reg = <0x0 0xff630000 0x0 0x200>; 780c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 781c6f7c1a3SJoseph Chen clocks = <&cru PCLK_PMU_MAILBOX>; 782c6f7c1a3SJoseph Chen clock-names = "pclk_mailbox"; 783c6f7c1a3SJoseph Chen #mbox-cells = <1>; 784c6f7c1a3SJoseph Chen status = "disabled"; 785c6f7c1a3SJoseph Chen }; 786c6f7c1a3SJoseph Chen 787c6f7c1a3SJoseph Chen gpu: gpu@ff700000 { 788c6f7c1a3SJoseph Chen compatible = "arm,mali-450"; 789c6f7c1a3SJoseph Chen reg = <0x0 0xff700000 0x0 0x40000>; 790c6f7c1a3SJoseph Chen 791c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 792c6f7c1a3SJoseph Chen <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 793c6f7c1a3SJoseph Chen <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>, 794c6f7c1a3SJoseph Chen <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, 795c6f7c1a3SJoseph Chen <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, 796c6f7c1a3SJoseph Chen <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 797c6f7c1a3SJoseph Chen <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 798c6f7c1a3SJoseph Chen interrupt-names = "Mali_GP_IRQ", 799c6f7c1a3SJoseph Chen "Mali_GP_MMU_IRQ", 800c6f7c1a3SJoseph Chen "IRQPP", 801c6f7c1a3SJoseph Chen "Mali_PP0_IRQ", 802c6f7c1a3SJoseph Chen "Mali_PP0_MMU_IRQ", 803c6f7c1a3SJoseph Chen "Mali_PP1_IRQ", 804c6f7c1a3SJoseph Chen "Mali_PP1_MMU_IRQ"; 805b36e944aSJoseph Chen clocks = <&scmi_clk SCMI_CLK_GPU>, <&cru ACLK_GPU_MALI>, 806b36e944aSJoseph Chen <&cru PCLK_GPU_ROOT>; 807b36e944aSJoseph Chen clock-names = "clk_mali", "aclk_gpu_mali", "pclk_gpu"; 808b36e944aSJoseph Chen assigned-clocks = <&scmi_clk SCMI_CLK_GPU>; 809b36e944aSJoseph Chen assigned-clock-rates = <300000000>; 810c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_GPU>; 811b36e944aSJoseph Chen operating-points-v2 = <&gpu_opp_table>; 812c6f7c1a3SJoseph Chen status = "disabled"; 813c6f7c1a3SJoseph Chen 814c6f7c1a3SJoseph Chen gpu_power_model: power_model { 815c6f7c1a3SJoseph Chen compatible = "arm,mali-simple-power-model"; 816c6f7c1a3SJoseph Chen voltage = <900>; 817c6f7c1a3SJoseph Chen frequency = <500>; 818c6f7c1a3SJoseph Chen static-power = <300>; 819c6f7c1a3SJoseph Chen dynamic-power = <396>; 820c6f7c1a3SJoseph Chen ts = <32000 4700 (-80) 2>; 821c6f7c1a3SJoseph Chen thermal-zone = "soc-thermal"; 822c6f7c1a3SJoseph Chen }; 823c6f7c1a3SJoseph Chen }; 824c6f7c1a3SJoseph Chen 825b36e944aSJoseph Chen gpu_opp_table: gpu-opp-table { 826b36e944aSJoseph Chen compatible = "operating-points-v2"; 827b36e944aSJoseph Chen 828b36e944aSJoseph Chen nvmem-cells = <&gpu_leakage>; 829b36e944aSJoseph Chen nvmem-cell-names = "leakage"; 830b36e944aSJoseph Chen 831b36e944aSJoseph Chen rockchip,pvtm-voltage-sel = < 832b36e944aSJoseph Chen 0 820 0 833b36e944aSJoseph Chen 821 840 1 834b36e944aSJoseph Chen 841 860 2 835b36e944aSJoseph Chen 861 880 3 836b36e944aSJoseph Chen 881 900 4 837b36e944aSJoseph Chen 901 9999 5 838b36e944aSJoseph Chen >; 839b36e944aSJoseph Chen rockchip,pvtm-pvtpll; 840b36e944aSJoseph Chen rockchip,pvtm-offset = <0x10018>; 841b36e944aSJoseph Chen rockchip,pvtm-sample-time = <1100>; 842b36e944aSJoseph Chen rockchip,pvtm-freq = <700000>; 843b36e944aSJoseph Chen rockchip,pvtm-volt = <900000>; 844b36e944aSJoseph Chen rockchip,pvtm-ref-temp = <40>; 845b36e944aSJoseph Chen rockchip,pvtm-temp-prop = <0 0>; 846b36e944aSJoseph Chen rockchip,pvtm-thermal-zone = "soc-thermal"; 847b36e944aSJoseph Chen rockchip,grf = <&grf>; 848b36e944aSJoseph Chen 849b36e944aSJoseph Chen opp-300000000 { 850b36e944aSJoseph Chen opp-hz = /bits/ 64 <300000000>; 851b36e944aSJoseph Chen opp-microvolt = <825000 825000 1000000>; 852b36e944aSJoseph Chen }; 853b36e944aSJoseph Chen opp-500000000 { 854b36e944aSJoseph Chen opp-hz = /bits/ 64 <500000000>; 855b36e944aSJoseph Chen opp-microvolt = <825000 825000 1000000>; 856b36e944aSJoseph Chen }; 857b36e944aSJoseph Chen opp-600000000 { 858b36e944aSJoseph Chen opp-hz = /bits/ 64 <600000000>; 859b36e944aSJoseph Chen opp-microvolt = <825000 825000 1000000>; 860b36e944aSJoseph Chen }; 861b36e944aSJoseph Chen opp-700000000 { 862b36e944aSJoseph Chen opp-hz = /bits/ 64 <700000000>; 863b36e944aSJoseph Chen opp-microvolt = <825000 825000 1000000>; 864b36e944aSJoseph Chen opp-microvolt-L0 = <850000 850000 1000000>; 865b36e944aSJoseph Chen opp-microvolt-L1 = <837500 837500 1000000>; 866b36e944aSJoseph Chen clock-latency-ns = <40000>; 867b36e944aSJoseph Chen }; 868b36e944aSJoseph Chen opp-800000000 { 869b36e944aSJoseph Chen opp-hz = /bits/ 64 <800000000>; 870b36e944aSJoseph Chen opp-microvolt = <900000 900000 1000000>; 871b36e944aSJoseph Chen opp-microvolt-L1 = <887500 887500 1000000>; 872b36e944aSJoseph Chen opp-microvolt-L2 = <875000 875000 1000000>; 873b36e944aSJoseph Chen opp-microvolt-L3 = <862500 862500 1000000>; 874b36e944aSJoseph Chen opp-microvolt-L4 = <850000 850000 1000000>; 875b36e944aSJoseph Chen opp-microvolt-L5 = <837500 837500 1000000>; 876b36e944aSJoseph Chen clock-latency-ns = <40000>; 877b36e944aSJoseph Chen }; 878b36e944aSJoseph Chen }; 879b36e944aSJoseph Chen 880c6f7c1a3SJoseph Chen rkvdec: rkvdec@ff740100 { 881c6f7c1a3SJoseph Chen compatible = "rockchip,rkv-decoder-v2"; 882c6f7c1a3SJoseph Chen reg = <0x0 0xff740100 0x0 0x400>, <0x0 0xff740000 0x0 0x100>; 883c6f7c1a3SJoseph Chen reg-names = "regs", "link"; 884c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 885c6f7c1a3SJoseph Chen interrupt-names = "irq_dec"; 886c6f7c1a3SJoseph Chen clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_HEVC_CA_RKVDEC>; 887c6f7c1a3SJoseph Chen clock-names = "aclk_vcodec", "hclk_vcodec","clk_hevc_cabac"; 888c6f7c1a3SJoseph Chen rockchip,normal-rates = <340000000>, <0>, <600000000>; 889c6f7c1a3SJoseph Chen assigned-clocks = <&cru ACLK_RKVDEC>, <&cru CLK_HEVC_CA_RKVDEC>; 890c6f7c1a3SJoseph Chen assigned-clock-rates = <340000000>, <600000000>; 891c6f7c1a3SJoseph Chen resets = <&cru SRST_ARESETN_RKVDEC>, <&cru SRST_HRESETN_RKVDEC>, 892c6f7c1a3SJoseph Chen <&cru SRST_RESETN_HEVC_CA_RKVDEC>; 893c6f7c1a3SJoseph Chen reset-names = "video_a", "video_h", "video_hevc_cabac"; 894c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_RKVDEC>; 895c6f7c1a3SJoseph Chen iommus = <&rkvdec_mmu>; 896c6f7c1a3SJoseph Chen rockchip,srv = <&mpp_srv>; 897c6f7c1a3SJoseph Chen rockchip,taskqueue-node = <0>; 898c6f7c1a3SJoseph Chen rockchip,resetgroup-node = <0>; 899c6f7c1a3SJoseph Chen rockchip,task-capacity = <16>; 900c6f7c1a3SJoseph Chen status = "disabled"; 901c6f7c1a3SJoseph Chen }; 902c6f7c1a3SJoseph Chen 903c6f7c1a3SJoseph Chen rkvdec_mmu: iommu@ff740800 { 904c6f7c1a3SJoseph Chen compatible = "rockchip,iommu-v2"; 905c6f7c1a3SJoseph Chen reg = <0x0 0xff740800 0x0 0x40>, <0x0 0xff740900 0x0 0x40>; 906c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 907c6f7c1a3SJoseph Chen interrupt-names = "rkvdec_mmu"; 908b36e944aSJoseph Chen clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_HEVC_CA_RKVDEC>; 909b36e944aSJoseph Chen clock-names = "aclk", "iface", "clk_hevc_cabac"; 910c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_RKVDEC>; 911c6f7c1a3SJoseph Chen #iommu-cells = <0>; 912c6f7c1a3SJoseph Chen status = "disabled"; 913c6f7c1a3SJoseph Chen }; 914c6f7c1a3SJoseph Chen 915c6f7c1a3SJoseph Chen rkvenc: rkvenc@ff780000 { 916c6f7c1a3SJoseph Chen compatible = "rockchip,rkv-encoder-v2"; 917c6f7c1a3SJoseph Chen reg = <0x0 0xff780000 0x0 0x6000>; 918c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 919c6f7c1a3SJoseph Chen interrupt-names = "irq_rkvenc"; 920c6f7c1a3SJoseph Chen clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>, <&cru CLK_CORE_RKVENC>; 921c6f7c1a3SJoseph Chen clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 922c6f7c1a3SJoseph Chen rockchip,normal-rates = <300000000>, <0>, <300000000>; 923c6f7c1a3SJoseph Chen resets = <&cru SRST_ARESETN_RKVENC>, <&cru SRST_HRESETN_RKVENC>, 924c6f7c1a3SJoseph Chen <&cru SRST_RESETN_CORE_RKVENC>; 925c6f7c1a3SJoseph Chen reset-names = "video_a", "video_h", "video_core"; 926c6f7c1a3SJoseph Chen assigned-clocks = <&cru ACLK_RKVENC>, <&cru CLK_CORE_RKVENC>; 927c6f7c1a3SJoseph Chen assigned-clock-rates = <300000000>, <300000000>; 928c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_RKVENC>; 929c6f7c1a3SJoseph Chen iommus = <&rkvenc_mmu>; 930c6f7c1a3SJoseph Chen rockchip,srv = <&mpp_srv>; 931c6f7c1a3SJoseph Chen rockchip,taskqueue-node = <1>; 932c6f7c1a3SJoseph Chen rockchip,resetgroup-node = <1>; 933c6f7c1a3SJoseph Chen status = "disabled"; 934c6f7c1a3SJoseph Chen }; 935c6f7c1a3SJoseph Chen 936c6f7c1a3SJoseph Chen rkvenc_mmu: iommu@ff78f000 { 937c6f7c1a3SJoseph Chen compatible = "rockchip,iommu-v2"; 938c6f7c1a3SJoseph Chen reg = <0x0 0xff78f000 0x0 0x40>; 939c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 940c6f7c1a3SJoseph Chen interrupt-names = "rkvenc_mmu"; 941c6f7c1a3SJoseph Chen clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>; 942c6f7c1a3SJoseph Chen clock-names = "aclk", "iface"; 943c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_RKVENC>; 944c6f7c1a3SJoseph Chen #iommu-cells = <0>; 945c6f7c1a3SJoseph Chen status = "disabled"; 946c6f7c1a3SJoseph Chen }; 947c6f7c1a3SJoseph Chen 948c6f7c1a3SJoseph Chen vdpu: vdpu@ff7c0400 { 949c6f7c1a3SJoseph Chen compatible = "rockchip,vpu-decoder-v2"; 950c6f7c1a3SJoseph Chen reg = <0x0 0xff7c0400 0x0 0x400>; 951c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 952c6f7c1a3SJoseph Chen interrupt-names = "irq_dec"; 953c6f7c1a3SJoseph Chen clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 954c6f7c1a3SJoseph Chen clock-names = "aclk_vcodec", "hclk_vcodec"; 955c6f7c1a3SJoseph Chen resets = <&cru SRST_ARESETN_VPU>, <&cru SRST_HRESETN_VPU>; 956b36e944aSJoseph Chen reset-names = "shared_video_a", "shared_video_h"; 957c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_VPU>; 958c6f7c1a3SJoseph Chen iommus = <&vdpu_mmu>; 959c6f7c1a3SJoseph Chen rockchip,srv = <&mpp_srv>; 960c6f7c1a3SJoseph Chen rockchip,taskqueue-node = <2>; 961c6f7c1a3SJoseph Chen rockchip,resetgroup-node = <2>; 962c6f7c1a3SJoseph Chen status = "disabled"; 963c6f7c1a3SJoseph Chen }; 964c6f7c1a3SJoseph Chen 965c6f7c1a3SJoseph Chen vdpu_mmu: iommu@ff7c0800 { 966c6f7c1a3SJoseph Chen compatible = "rockchip,iommu-v2"; 967c6f7c1a3SJoseph Chen reg = <0x0 0xff7c0800 0x0 0x40>; 968c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 969c6f7c1a3SJoseph Chen interrupt-names = "vdpu_mmu"; 970c6f7c1a3SJoseph Chen clock-names = "aclk", "iface"; 971c6f7c1a3SJoseph Chen clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 972c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_VPU>; 973c6f7c1a3SJoseph Chen #iommu-cells = <0>; 974c6f7c1a3SJoseph Chen status = "disabled"; 975c6f7c1a3SJoseph Chen }; 976c6f7c1a3SJoseph Chen 977b36e944aSJoseph Chen avsd: avsd_plus@ff7c1000 { 978b36e944aSJoseph Chen compatible = "rockchip,avs-plus-decoder"; 979b36e944aSJoseph Chen reg = <0x0 0xff7c1000 0x0 0x200>; 980b36e944aSJoseph Chen interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 981b36e944aSJoseph Chen interrupt-names = "irq_dec"; 982b36e944aSJoseph Chen clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 983b36e944aSJoseph Chen clock-names = "aclk_vcodec", "hclk_vcodec"; 984b36e944aSJoseph Chen resets = <&cru SRST_ARESETN_VPU>, <&cru SRST_HRESETN_VPU>; 985b36e944aSJoseph Chen reset-names = "shared_video_a", "shared_video_h"; 986b36e944aSJoseph Chen iommus = <&vdpu_mmu>; 987b36e944aSJoseph Chen power-domains = <&power RK3528_PD_VPU>; 988b36e944aSJoseph Chen rockchip,srv = <&mpp_srv>; 989b36e944aSJoseph Chen rockchip,taskqueue-node = <2>; 990b36e944aSJoseph Chen rockchip,resetgroup-node = <2>; 991b36e944aSJoseph Chen status = "disabled"; 992b36e944aSJoseph Chen }; 993b36e944aSJoseph Chen 994c6f7c1a3SJoseph Chen vop: vop@ff840000 { 995c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-vop"; 996c6f7c1a3SJoseph Chen reg = <0x0 0xff840000 0x0 0x3000>, 997c6f7c1a3SJoseph Chen <0x0 0xff845000 0x0 0x1000>, 998c6f7c1a3SJoseph Chen <0x0 0xff846400 0x0 0x800>; 999c6f7c1a3SJoseph Chen reg-names = "regs", 1000c6f7c1a3SJoseph Chen "gamma_lut", 1001c6f7c1a3SJoseph Chen "acm_regs"; 1002c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 1003c6f7c1a3SJoseph Chen clocks = <&cru ACLK_VOP>, 1004c6f7c1a3SJoseph Chen <&cru HCLK_VOP>, 1005c6f7c1a3SJoseph Chen <&cru DCLK_VOP0>, 1006c6f7c1a3SJoseph Chen <&cru DCLK_VOP1>; 1007c6f7c1a3SJoseph Chen clock-names = "aclk_vop", 1008c6f7c1a3SJoseph Chen "hclk_vop", 1009c6f7c1a3SJoseph Chen "dclk_vp0", 1010c6f7c1a3SJoseph Chen "dclk_vp1"; 1011c6f7c1a3SJoseph Chen assigned-clocks = <&cru DCLK_VOP0>; 1012c6f7c1a3SJoseph Chen assigned-clock-parents = <&hdmiphy>; 1013c6f7c1a3SJoseph Chen iommus = <&vop_mmu>; 1014c6f7c1a3SJoseph Chen rockchip,grf = <&grf>; 1015c6f7c1a3SJoseph Chen status = "disabled"; 1016c6f7c1a3SJoseph Chen 1017c6f7c1a3SJoseph Chen vop_out: ports { 1018c6f7c1a3SJoseph Chen #address-cells = <1>; 1019c6f7c1a3SJoseph Chen #size-cells = <0>; 1020c6f7c1a3SJoseph Chen 1021c6f7c1a3SJoseph Chen port@0 { 1022c6f7c1a3SJoseph Chen #address-cells = <1>; 1023c6f7c1a3SJoseph Chen #size-cells = <0>; 1024c6f7c1a3SJoseph Chen reg = <0>; 1025c6f7c1a3SJoseph Chen 1026c6f7c1a3SJoseph Chen vp0_out_hdmi: endpoint@0 { 1027c6f7c1a3SJoseph Chen reg = <0>; 1028c6f7c1a3SJoseph Chen remote-endpoint = <&hdmi_in_vp0>; 1029c6f7c1a3SJoseph Chen }; 1030c6f7c1a3SJoseph Chen }; 1031c6f7c1a3SJoseph Chen 1032c6f7c1a3SJoseph Chen port@1 { 1033c6f7c1a3SJoseph Chen #address-cells = <1>; 1034c6f7c1a3SJoseph Chen #size-cells = <0>; 1035c6f7c1a3SJoseph Chen reg = <1>; 1036c6f7c1a3SJoseph Chen 1037c6f7c1a3SJoseph Chen vp1_out_tve: endpoint@0 { 1038c6f7c1a3SJoseph Chen reg = <0>; 1039c6f7c1a3SJoseph Chen remote-endpoint = <&tve_in_vp1>; 1040c6f7c1a3SJoseph Chen }; 1041c6f7c1a3SJoseph Chen }; 1042c6f7c1a3SJoseph Chen }; 1043c6f7c1a3SJoseph Chen }; 1044c6f7c1a3SJoseph Chen 1045c6f7c1a3SJoseph Chen vop_mmu: iommu@ff847e00 { 1046c6f7c1a3SJoseph Chen compatible = "rockchip,iommu-v2"; 1047c6f7c1a3SJoseph Chen reg = <0x0 0xff847e00 0x0 0x100>; 1048c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 1049c6f7c1a3SJoseph Chen interrupt-names = "vop_mmu"; 1050c6f7c1a3SJoseph Chen clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 1051c6f7c1a3SJoseph Chen clock-names = "aclk", "iface"; 1052c6f7c1a3SJoseph Chen #iommu-cells = <0>; 1053c6f7c1a3SJoseph Chen rockchip,disable-device-link-resume; 1054c6f7c1a3SJoseph Chen rockchip,shootdown-entire; 1055c6f7c1a3SJoseph Chen status = "disabled"; 1056c6f7c1a3SJoseph Chen }; 1057c6f7c1a3SJoseph Chen 1058c6f7c1a3SJoseph Chen rga2: rga@ff850000 { 1059c6f7c1a3SJoseph Chen compatible = "rockchip,rga2_core0"; 1060c6f7c1a3SJoseph Chen reg = <0x0 0xff850000 0x0 0x1000>; 1061c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 1062c6f7c1a3SJoseph Chen interrupt-names = "rga2_irq"; 1063c6f7c1a3SJoseph Chen clocks = <&cru ACLK_RGA2E>, <&cru HCLK_RGA2E>, <&cru CLK_CORE_RGA2E>; 1064c6f7c1a3SJoseph Chen clock-names = "aclk_rga2", "hclk_rga2", "clk_rga2"; 1065c6f7c1a3SJoseph Chen iommus = <&rga2_mmu>; 1066c6f7c1a3SJoseph Chen status = "disabled"; 1067c6f7c1a3SJoseph Chen }; 1068c6f7c1a3SJoseph Chen 1069c6f7c1a3SJoseph Chen rga2_mmu: iommu@ff850f00 { 1070c6f7c1a3SJoseph Chen compatible = "rockchip,iommu-v2"; 1071c6f7c1a3SJoseph Chen reg = <0x0 0xff850f00 0x0 0x100>; 1072c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 1073c6f7c1a3SJoseph Chen interrupt-names = "rga2_mmu"; 1074c6f7c1a3SJoseph Chen clocks = <&cru ACLK_RGA2E>, <&cru HCLK_RGA2E>; 1075c6f7c1a3SJoseph Chen clock-names = "aclk", "iface"; 1076c6f7c1a3SJoseph Chen #iommu-cells = <0>; 1077c6f7c1a3SJoseph Chen status = "disabled"; 1078c6f7c1a3SJoseph Chen }; 1079c6f7c1a3SJoseph Chen 1080c6f7c1a3SJoseph Chen iep: iep@ff860000 { 1081c6f7c1a3SJoseph Chen compatible = "rockchip,iep-v2"; 1082c6f7c1a3SJoseph Chen reg = <0x0 0xff860000 0x0 0x500>; 1083c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 1084c6f7c1a3SJoseph Chen clocks = <&cru ACLK_VDPP>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>; 1085c6f7c1a3SJoseph Chen clock-names = "aclk", "hclk", "sclk"; 1086b36e944aSJoseph Chen rockchip,normal-rates = <340000000>, <0>, <340000000>; 1087b36e944aSJoseph Chen assigned-clocks = <&cru ACLK_VDPP>, <&cru CLK_CORE_VDPP>; 1088b36e944aSJoseph Chen assigned-clock-rates = <340000000>, <340000000>; 1089c6f7c1a3SJoseph Chen resets = <&cru SRST_ARESETN_VDPP>, <&cru SRST_HRESETN_VDPP>, 1090c6f7c1a3SJoseph Chen <&cru SRST_RESETN_CORE_VDPP>; 1091c6f7c1a3SJoseph Chen reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s"; 1092c6f7c1a3SJoseph Chen rockchip,srv = <&mpp_srv>; 1093c6f7c1a3SJoseph Chen rockchip,taskqueue-node = <3>; 1094c6f7c1a3SJoseph Chen rockchip,resetgroup-node = <3>; 1095b36e944aSJoseph Chen power-domains = <&power RK3528_PD_VO>; 1096c6f7c1a3SJoseph Chen iommus = <&iep_mmu>; 1097c6f7c1a3SJoseph Chen status = "disabled"; 1098c6f7c1a3SJoseph Chen }; 1099c6f7c1a3SJoseph Chen 1100c6f7c1a3SJoseph Chen iep_mmu: iommu@ff860800 { 1101c6f7c1a3SJoseph Chen compatible = "rockchip,iommu-v2"; 1102c6f7c1a3SJoseph Chen reg = <0x0 0xff860800 0x0 0x100>; 1103c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 1104c6f7c1a3SJoseph Chen interrupt-names = "iep_mmu"; 1105c6f7c1a3SJoseph Chen clocks = <&cru ACLK_VDPP>, <&cru HCLK_VDPP>; 1106c6f7c1a3SJoseph Chen clock-names = "aclk", "iface"; 1107c6f7c1a3SJoseph Chen #iommu-cells = <0>; 1108b36e944aSJoseph Chen power-domains = <&power RK3528_PD_VO>; 1109c6f7c1a3SJoseph Chen status = "disabled"; 1110c6f7c1a3SJoseph Chen }; 1111c6f7c1a3SJoseph Chen 1112c6f7c1a3SJoseph Chen vdpp: vdpp@ff861000 { 1113c6f7c1a3SJoseph Chen compatible = "rockchip,vdpp-v1"; 1114c6f7c1a3SJoseph Chen reg = <0x0 0xff861000 0x0 0x100>, <0x0 0xff862000 0x0 0x900>; 1115c6f7c1a3SJoseph Chen reg-names = "vdpp_regs", "zme_regs"; 1116c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 1117c6f7c1a3SJoseph Chen clocks = <&cru ACLK_VDPP>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>; 1118c6f7c1a3SJoseph Chen clock-names = "aclk", "hclk", "sclk"; 1119b36e944aSJoseph Chen rockchip,normal-rates = <340000000>, <0>, <340000000>; 1120b36e944aSJoseph Chen assigned-clocks = <&cru ACLK_VDPP>, <&cru CLK_CORE_VDPP>; 1121b36e944aSJoseph Chen assigned-clock-rates = <340000000>, <340000000>; 1122c6f7c1a3SJoseph Chen resets = <&cru SRST_ARESETN_VDPP>, <&cru SRST_HRESETN_VDPP>, 1123c6f7c1a3SJoseph Chen <&cru SRST_RESETN_CORE_VDPP>; 1124c6f7c1a3SJoseph Chen reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s"; 1125c6f7c1a3SJoseph Chen rockchip,srv = <&mpp_srv>; 1126c6f7c1a3SJoseph Chen rockchip,taskqueue-node = <3>; 1127c6f7c1a3SJoseph Chen rockchip,resetgroup-node = <3>; 1128c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_VO>; 1129c6f7c1a3SJoseph Chen iommus = <&iep_mmu>; 1130c6f7c1a3SJoseph Chen status = "disabled"; 1131c6f7c1a3SJoseph Chen }; 1132c6f7c1a3SJoseph Chen 1133c6f7c1a3SJoseph Chen jpegd: jpegd@ff870000 { 1134c6f7c1a3SJoseph Chen compatible = "rockchip,rkv-jpeg-decoder-v1"; 1135c6f7c1a3SJoseph Chen reg = <0x0 0xff870000 0x0 0x400>; 1136c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 1137c6f7c1a3SJoseph Chen clocks = <&cru ACLK_JPEG_DECODER>, <&cru HCLK_JPEG_DECODER>; 1138c6f7c1a3SJoseph Chen clock-names = "aclk_vcodec", "hclk_vcodec"; 1139c6f7c1a3SJoseph Chen rockchip,disable-auto-freq; 1140c6f7c1a3SJoseph Chen resets = <&cru SRST_ARESETN_JPEG_DECODER>, <&cru SRST_HRESETN_JPEG_DECODER>; 1141c6f7c1a3SJoseph Chen reset-names = "video_a", "video_h"; 1142c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_VO>; 1143c6f7c1a3SJoseph Chen iommus = <&jpegd_mmu>; 1144c6f7c1a3SJoseph Chen rockchip,srv = <&mpp_srv>; 1145c6f7c1a3SJoseph Chen rockchip,taskqueue-node = <4>; 1146c6f7c1a3SJoseph Chen rockchip,resetgroup-node = <4>; 1147c6f7c1a3SJoseph Chen status = "disabled"; 1148c6f7c1a3SJoseph Chen }; 1149c6f7c1a3SJoseph Chen 1150c6f7c1a3SJoseph Chen jpegd_mmu: iommu@ff870480 { 1151c6f7c1a3SJoseph Chen compatible = "rockchip,iommu-v2"; 1152c6f7c1a3SJoseph Chen reg = <0x0 0xff870480 0x0 0x40>; 1153c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1154c6f7c1a3SJoseph Chen interrupt-names = "jpegd_mmu"; 1155c6f7c1a3SJoseph Chen clock-names = "aclk", "iface"; 1156c6f7c1a3SJoseph Chen clocks = <&cru ACLK_JPEG_DECODER>, <&cru HCLK_JPEG_DECODER>; 1157c6f7c1a3SJoseph Chen power-domains = <&power RK3528_PD_VO>; 1158c6f7c1a3SJoseph Chen #iommu-cells = <0>; 1159c6f7c1a3SJoseph Chen status = "disabled"; 1160c6f7c1a3SJoseph Chen }; 1161c6f7c1a3SJoseph Chen 1162c6f7c1a3SJoseph Chen tve: tve@ff880000 { 1163c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-tve"; 1164b36e944aSJoseph Chen reg = <0x0 0xff880000 0x0 0x4000>, 1165b36e944aSJoseph Chen <0x0 0xffde0000 0x0 0x300>; 1166c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 1167b36e944aSJoseph Chen clocks = <&cru HCLK_CVBS>, 1168b36e944aSJoseph Chen <&cru PCLK_VCDCPHY>, 1169b36e944aSJoseph Chen <&cru DCLK_CVBS>, 1170b36e944aSJoseph Chen <&cru DCLK_4X_CVBS>; 1171b36e944aSJoseph Chen clock-names = "hclk", 1172b36e944aSJoseph Chen "pclk_vdac", 1173b36e944aSJoseph Chen "dclk", 1174b36e944aSJoseph Chen "dclk_4x"; 1175c6f7c1a3SJoseph Chen rockchip,lumafilter0 = <0x000a0ffa>; 1176c6f7c1a3SJoseph Chen rockchip,lumafilter1 = <0x0ff4001a>; 1177c6f7c1a3SJoseph Chen rockchip,lumafilter2 = <0x00110fd2>; 1178c6f7c1a3SJoseph Chen rockchip,lumafilter3 = <0x0fe80051>; 1179c6f7c1a3SJoseph Chen rockchip,lumafilter4 = <0x001a0f74>; 1180c6f7c1a3SJoseph Chen rockchip,lumafilter5 = <0x0fe600ec>; 1181c6f7c1a3SJoseph Chen rockchip,lumafilter6 = <0x0ffa0e43>; 1182c6f7c1a3SJoseph Chen rockchip,lumafilter7 = <0x08200527>; 1183b36e944aSJoseph Chen rockchip,tve-upsample = <DCLK_UPSAMPLEx4>; 1184c6f7c1a3SJoseph Chen rockchip,grf = <&grf>; 1185c6f7c1a3SJoseph Chen status = "disabled"; 1186c6f7c1a3SJoseph Chen 1187c6f7c1a3SJoseph Chen ports { 1188c6f7c1a3SJoseph Chen #address-cells = <1>; 1189c6f7c1a3SJoseph Chen #size-cells = <0>; 1190c6f7c1a3SJoseph Chen 1191c6f7c1a3SJoseph Chen port@0 { 1192c6f7c1a3SJoseph Chen reg = <0>; 1193c6f7c1a3SJoseph Chen #address-cells = <1>; 1194c6f7c1a3SJoseph Chen #size-cells = <0>; 1195c6f7c1a3SJoseph Chen 1196c6f7c1a3SJoseph Chen tve_in_vp1: endpoint@0 { 1197c6f7c1a3SJoseph Chen reg = <0>; 1198c6f7c1a3SJoseph Chen remote-endpoint = <&vp1_out_tve>; 1199c6f7c1a3SJoseph Chen status = "disabled"; 1200c6f7c1a3SJoseph Chen }; 1201c6f7c1a3SJoseph Chen }; 1202c6f7c1a3SJoseph Chen }; 1203c6f7c1a3SJoseph Chen }; 1204c6f7c1a3SJoseph Chen 1205c6f7c1a3SJoseph Chen hdcp2: hdcp2@ff8c0000 { 1206c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-hdmi-hdcp2"; 1207c6f7c1a3SJoseph Chen reg = <0x0 0xff8c0000 0x0 0x2000>; 1208c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 1209c6f7c1a3SJoseph Chen clocks = <&cru ACLK_HDCP>, <&cru PCLK_HDCP>, 1210c6f7c1a3SJoseph Chen <&cru HCLK_HDCP>; 1211c6f7c1a3SJoseph Chen clock-names ="aclk_hdcp2", "pclk_hdcp2", "hdcp2_clk_hdmi"; 1212c6f7c1a3SJoseph Chen status = "disabled"; 1213c6f7c1a3SJoseph Chen }; 1214c6f7c1a3SJoseph Chen 1215c6f7c1a3SJoseph Chen hdmi: hdmi@ff8d0000 { 1216c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-dw-hdmi"; 1217b36e944aSJoseph Chen reg = <0x0 0xff8d0000 0x0 0x20000>, 1218b36e944aSJoseph Chen <0x0 0xff610000 0x0 0x200>; 1219c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 1220c6f7c1a3SJoseph Chen <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 1221c6f7c1a3SJoseph Chen clocks = <&cru PCLK_HDMI>, 1222c6f7c1a3SJoseph Chen <&cru CLK_SFR_HDMI>, 1223c6f7c1a3SJoseph Chen <&cru CLK_CEC_HDMI>; 1224c6f7c1a3SJoseph Chen clock-names = "iahb", "isfr", "cec"; 1225c6f7c1a3SJoseph Chen reg-io-width = <4>; 1226c6f7c1a3SJoseph Chen rockchip,grf = <&grf>; 1227c6f7c1a3SJoseph Chen pinctrl-names = "default"; 1228c6f7c1a3SJoseph Chen pinctrl-0 = <&hdmi_pins>; 1229c6f7c1a3SJoseph Chen phys = <&hdmiphy>; 1230c6f7c1a3SJoseph Chen phy-names = "hdmi"; 1231c6f7c1a3SJoseph Chen #sound-dai-cells = <0>; 1232b36e944aSJoseph Chen hpd-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 1233c6f7c1a3SJoseph Chen status = "disabled"; 1234c6f7c1a3SJoseph Chen 1235c6f7c1a3SJoseph Chen ports { 1236c6f7c1a3SJoseph Chen #address-cells = <1>; 1237c6f7c1a3SJoseph Chen #size-cells = <0>; 1238c6f7c1a3SJoseph Chen 1239c6f7c1a3SJoseph Chen port@0 { 1240c6f7c1a3SJoseph Chen reg = <0>; 1241c6f7c1a3SJoseph Chen #address-cells = <1>; 1242c6f7c1a3SJoseph Chen #size-cells = <0>; 1243c6f7c1a3SJoseph Chen 1244c6f7c1a3SJoseph Chen hdmi_in_vp0: endpoint@0 { 1245c6f7c1a3SJoseph Chen reg = <0>; 1246c6f7c1a3SJoseph Chen remote-endpoint = <&vp0_out_hdmi>; 1247c6f7c1a3SJoseph Chen status = "disabled"; 1248c6f7c1a3SJoseph Chen }; 1249c6f7c1a3SJoseph Chen }; 1250c6f7c1a3SJoseph Chen }; 1251c6f7c1a3SJoseph Chen }; 1252c6f7c1a3SJoseph Chen 1253c6f7c1a3SJoseph Chen can0: can@ff960000 { 1254c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-can"; 1255c6f7c1a3SJoseph Chen reg = <0x0 0xff960000 0x0 0x100>; 1256c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 1257c6f7c1a3SJoseph Chen assigned-clocks = <&cru CLK_CAN0>; 1258b36e944aSJoseph Chen assigned-clock-rates = <198000000>; 1259c6f7c1a3SJoseph Chen clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>; 1260c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1261b36e944aSJoseph Chen resets = <&cru SRST_RESETN_CAN0>, <&cru SRST_PRESETN_CAN0>; 1262c6f7c1a3SJoseph Chen reset-names = "can", "can-apb"; 1263c6f7c1a3SJoseph Chen status = "disabled"; 1264c6f7c1a3SJoseph Chen }; 1265c6f7c1a3SJoseph Chen 1266c6f7c1a3SJoseph Chen can1: can@ff970000 { 1267c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-can"; 1268c6f7c1a3SJoseph Chen reg = <0x0 0xff970000 0x0 0x100>; 1269c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 1270c6f7c1a3SJoseph Chen assigned-clocks = <&cru CLK_CAN1>; 1271b36e944aSJoseph Chen assigned-clock-rates = <198000000>; 1272c6f7c1a3SJoseph Chen clocks = <&cru CLK_CAN1>, <&cru PCLK_CAN1>; 1273c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1274c6f7c1a3SJoseph Chen resets = <&cru SRST_RESETN_CAN1>, <&cru SRST_PRESETN_CAN1>; 1275c6f7c1a3SJoseph Chen reset-names = "can", "can-apb"; 1276c6f7c1a3SJoseph Chen status = "disabled"; 1277c6f7c1a3SJoseph Chen }; 1278c6f7c1a3SJoseph Chen 1279c6f7c1a3SJoseph Chen can2: can@ff980000 { 1280c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-can"; 1281c6f7c1a3SJoseph Chen reg = <0x0 0xff980000 0x0 0x100>; 1282c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 1283c6f7c1a3SJoseph Chen assigned-clocks = <&cru CLK_CAN2>; 1284b36e944aSJoseph Chen assigned-clock-rates = <198000000>; 1285c6f7c1a3SJoseph Chen clocks = <&cru CLK_CAN2>, <&cru PCLK_CAN2>; 1286c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1287c6f7c1a3SJoseph Chen resets = <&cru SRST_RESETN_CAN2>, <&cru SRST_PRESETN_CAN2>; 1288c6f7c1a3SJoseph Chen reset-names = "can", "can-apb"; 1289c6f7c1a3SJoseph Chen status = "disabled"; 1290c6f7c1a3SJoseph Chen }; 1291c6f7c1a3SJoseph Chen 1292c6f7c1a3SJoseph Chen can3: can@ff990000 { 1293c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-can"; 1294c6f7c1a3SJoseph Chen reg = <0x0 0xff990000 0x0 0x100>; 1295c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 1296c6f7c1a3SJoseph Chen assigned-clocks = <&cru CLK_CAN3>; 1297b36e944aSJoseph Chen assigned-clock-rates = <198000000>; 1298c6f7c1a3SJoseph Chen clocks = <&cru CLK_CAN3>, <&cru PCLK_CAN3>; 1299c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1300c6f7c1a3SJoseph Chen resets = <&cru SRST_RESETN_CAN3>, <&cru SRST_PRESETN_CAN3>; 1301c6f7c1a3SJoseph Chen reset-names = "can", "can-apb"; 1302c6f7c1a3SJoseph Chen status = "disabled"; 1303c6f7c1a3SJoseph Chen }; 1304c6f7c1a3SJoseph Chen 1305c6f7c1a3SJoseph Chen spi0: spi@ff9c0000 { 1306c6f7c1a3SJoseph Chen compatible = "rockchip,rk3066-spi"; 1307c6f7c1a3SJoseph Chen reg = <0x0 0xff9c0000 0x0 0x1000>; 1308c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 1309c6f7c1a3SJoseph Chen #address-cells = <1>; 1310c6f7c1a3SJoseph Chen #size-cells = <0>; 1311c6f7c1a3SJoseph Chen clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 1312c6f7c1a3SJoseph Chen clock-names = "spiclk", "apb_pclk"; 1313c6f7c1a3SJoseph Chen dmas = <&dmac 25>, <&dmac 24>; 1314c6f7c1a3SJoseph Chen dma-names = "tx", "rx"; 1315c6f7c1a3SJoseph Chen pinctrl-names = "default"; 1316c6f7c1a3SJoseph Chen pinctrl-0 = <&spi0_csn0 &spi0_csn1 &spi0_pins>; 1317c6f7c1a3SJoseph Chen status = "disabled"; 1318c6f7c1a3SJoseph Chen }; 1319c6f7c1a3SJoseph Chen 1320c6f7c1a3SJoseph Chen spi1: spi@ff9d0000 { 1321c6f7c1a3SJoseph Chen compatible = "rockchip,rk3066-spi"; 1322c6f7c1a3SJoseph Chen reg = <0x0 0xff9d0000 0x0 0x1000>; 1323c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; 1324c6f7c1a3SJoseph Chen #address-cells = <1>; 1325c6f7c1a3SJoseph Chen #size-cells = <0>; 1326c6f7c1a3SJoseph Chen clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 1327c6f7c1a3SJoseph Chen clock-names = "spiclk", "apb_pclk"; 1328c6f7c1a3SJoseph Chen dmas = <&dmac 31>, <&dmac 30>; 1329c6f7c1a3SJoseph Chen dma-names = "tx", "rx"; 1330c6f7c1a3SJoseph Chen pinctrl-names = "default"; 1331c6f7c1a3SJoseph Chen pinctrl-0 = <&spi1_csn0 &spi1_csn1 &spi1_pins>; 1332c6f7c1a3SJoseph Chen status = "disabled"; 1333c6f7c1a3SJoseph Chen }; 1334c6f7c1a3SJoseph Chen 1335c6f7c1a3SJoseph Chen uart0: serial@ff9f0000 { 1336c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 1337c6f7c1a3SJoseph Chen reg = <0x0 0xff9f0000 0x0 0x100>; 1338c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 1339c6f7c1a3SJoseph Chen clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 1340c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1341c6f7c1a3SJoseph Chen reg-shift = <2>; 1342c6f7c1a3SJoseph Chen reg-io-width = <4>; 1343b36e944aSJoseph Chen dmas = <&dmac 9>, <&dmac 8>; 1344c6f7c1a3SJoseph Chen status = "disabled"; 1345c6f7c1a3SJoseph Chen }; 1346c6f7c1a3SJoseph Chen 1347c6f7c1a3SJoseph Chen uart1: serial@ff9f8000 { 1348c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 1349c6f7c1a3SJoseph Chen reg = <0x0 0xff9f8000 0x0 0x100>; 1350c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 1351c6f7c1a3SJoseph Chen clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 1352c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1353c6f7c1a3SJoseph Chen reg-shift = <2>; 1354c6f7c1a3SJoseph Chen reg-io-width = <4>; 1355b36e944aSJoseph Chen dmas = <&dmac 11>, <&dmac 10>; 1356c6f7c1a3SJoseph Chen status = "disabled"; 1357c6f7c1a3SJoseph Chen }; 1358c6f7c1a3SJoseph Chen 1359c6f7c1a3SJoseph Chen uart2: serial@ffa00000 { 1360c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 1361c6f7c1a3SJoseph Chen reg = <0x0 0xffa00000 0x0 0x100>; 1362c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 1363c6f7c1a3SJoseph Chen clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 1364c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1365c6f7c1a3SJoseph Chen reg-shift = <2>; 1366c6f7c1a3SJoseph Chen reg-io-width = <4>; 1367b36e944aSJoseph Chen dmas = <&dmac 13>, <&dmac 12>; 1368c6f7c1a3SJoseph Chen status = "disabled"; 1369c6f7c1a3SJoseph Chen }; 1370c6f7c1a3SJoseph Chen 1371c6f7c1a3SJoseph Chen uart3: serial@ffa08000 { 1372c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 1373c6f7c1a3SJoseph Chen reg = <0x0 0xffa08000 0x0 0x100>; 1374c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 1375c6f7c1a3SJoseph Chen clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 1376c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1377c6f7c1a3SJoseph Chen reg-shift = <2>; 1378c6f7c1a3SJoseph Chen reg-io-width = <4>; 1379b36e944aSJoseph Chen dmas = <&dmac 15>, <&dmac 14>; 1380c6f7c1a3SJoseph Chen status = "disabled"; 1381c6f7c1a3SJoseph Chen }; 1382c6f7c1a3SJoseph Chen 1383c6f7c1a3SJoseph Chen uart4: serial@ffa10000 { 1384c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 1385c6f7c1a3SJoseph Chen reg = <0x0 0xffa10000 0x0 0x100>; 1386c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1387c6f7c1a3SJoseph Chen clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 1388c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1389c6f7c1a3SJoseph Chen reg-shift = <2>; 1390c6f7c1a3SJoseph Chen reg-io-width = <4>; 1391b36e944aSJoseph Chen dmas = <&dmac 17>, <&dmac 16>; 1392c6f7c1a3SJoseph Chen status = "disabled"; 1393c6f7c1a3SJoseph Chen }; 1394c6f7c1a3SJoseph Chen 1395c6f7c1a3SJoseph Chen uart5: serial@ffa18000 { 1396c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 1397c6f7c1a3SJoseph Chen reg = <0x0 0xffa18000 0x0 0x100>; 1398c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1399c6f7c1a3SJoseph Chen clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 1400c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1401c6f7c1a3SJoseph Chen reg-shift = <2>; 1402c6f7c1a3SJoseph Chen reg-io-width = <4>; 1403b36e944aSJoseph Chen dmas = <&dmac 19>, <&dmac 18>; 1404c6f7c1a3SJoseph Chen status = "disabled"; 1405c6f7c1a3SJoseph Chen }; 1406c6f7c1a3SJoseph Chen 1407c6f7c1a3SJoseph Chen uart6: serial@ffa20000 { 1408c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 1409c6f7c1a3SJoseph Chen reg = <0x0 0xffa20000 0x0 0x100>; 1410c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 1411c6f7c1a3SJoseph Chen clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 1412c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1413c6f7c1a3SJoseph Chen reg-shift = <2>; 1414c6f7c1a3SJoseph Chen reg-io-width = <4>; 1415b36e944aSJoseph Chen dmas = <&dmac 21>, <&dmac 20>; 1416c6f7c1a3SJoseph Chen status = "disabled"; 1417c6f7c1a3SJoseph Chen }; 1418c6f7c1a3SJoseph Chen 1419c6f7c1a3SJoseph Chen uart7: serial@ffa28000 { 1420c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 1421c6f7c1a3SJoseph Chen reg = <0x0 0xffa28000 0x0 0x100>; 1422c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 1423c6f7c1a3SJoseph Chen clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 1424c6f7c1a3SJoseph Chen clock-names = "baudclk", "apb_pclk"; 1425c6f7c1a3SJoseph Chen reg-shift = <2>; 1426c6f7c1a3SJoseph Chen reg-io-width = <4>; 1427b36e944aSJoseph Chen dmas = <&dmac 23>, <&dmac 22>; 1428c6f7c1a3SJoseph Chen status = "disabled"; 1429c6f7c1a3SJoseph Chen }; 1430c6f7c1a3SJoseph Chen 1431c6f7c1a3SJoseph Chen i2c0: i2c@ffa50000 { 1432c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c"; 1433c6f7c1a3SJoseph Chen reg = <0x0 0xffa50000 0x0 0x1000>; 1434c6f7c1a3SJoseph Chen clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 1435c6f7c1a3SJoseph Chen clock-names = "i2c", "pclk"; 1436c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 1437b36e944aSJoseph Chen pinctrl-names = "default"; 1438b36e944aSJoseph Chen pinctrl-0 = <&i2c0m0_xfer>; 1439c6f7c1a3SJoseph Chen #address-cells = <1>; 1440c6f7c1a3SJoseph Chen #size-cells = <0>; 1441c6f7c1a3SJoseph Chen status = "disabled"; 1442c6f7c1a3SJoseph Chen }; 1443c6f7c1a3SJoseph Chen 1444c6f7c1a3SJoseph Chen i2c1: i2c@ffa58000 { 1445c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c"; 1446c6f7c1a3SJoseph Chen reg = <0x0 0xffa58000 0x0 0x1000>; 1447c6f7c1a3SJoseph Chen clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 1448c6f7c1a3SJoseph Chen clock-names = "i2c", "pclk"; 1449c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 1450b36e944aSJoseph Chen pinctrl-names = "default"; 1451b36e944aSJoseph Chen pinctrl-0 = <&i2c1m0_xfer>; 1452c6f7c1a3SJoseph Chen #address-cells = <1>; 1453c6f7c1a3SJoseph Chen #size-cells = <0>; 1454c6f7c1a3SJoseph Chen status = "disabled"; 1455c6f7c1a3SJoseph Chen }; 1456c6f7c1a3SJoseph Chen 1457c6f7c1a3SJoseph Chen i2c2: i2c@ffa60000 { 1458c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c"; 1459c6f7c1a3SJoseph Chen reg = <0x0 0xffa60000 0x0 0x1000>; 1460c6f7c1a3SJoseph Chen clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 1461c6f7c1a3SJoseph Chen clock-names = "i2c", "pclk"; 1462c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 1463b36e944aSJoseph Chen pinctrl-names = "default"; 1464b36e944aSJoseph Chen pinctrl-0 = <&i2c2m0_xfer>; 1465c6f7c1a3SJoseph Chen #address-cells = <1>; 1466c6f7c1a3SJoseph Chen #size-cells = <0>; 1467c6f7c1a3SJoseph Chen status = "disabled"; 1468c6f7c1a3SJoseph Chen }; 1469c6f7c1a3SJoseph Chen 1470c6f7c1a3SJoseph Chen i2c3: i2c@ffa68000 { 1471c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c"; 1472c6f7c1a3SJoseph Chen reg = <0x0 0xffa68000 0x0 0x1000>; 1473c6f7c1a3SJoseph Chen clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 1474c6f7c1a3SJoseph Chen clock-names = "i2c", "pclk"; 1475c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 1476b36e944aSJoseph Chen pinctrl-names = "default"; 1477b36e944aSJoseph Chen pinctrl-0 = <&i2c3m0_xfer>; 1478c6f7c1a3SJoseph Chen #address-cells = <1>; 1479c6f7c1a3SJoseph Chen #size-cells = <0>; 1480c6f7c1a3SJoseph Chen status = "disabled"; 1481c6f7c1a3SJoseph Chen }; 1482c6f7c1a3SJoseph Chen 1483c6f7c1a3SJoseph Chen i2c4: i2c@ffa70000 { 1484c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c"; 1485c6f7c1a3SJoseph Chen reg = <0x0 0xffa70000 0x0 0x1000>; 1486c6f7c1a3SJoseph Chen clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 1487c6f7c1a3SJoseph Chen clock-names = "i2c", "pclk"; 1488c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 1489b36e944aSJoseph Chen pinctrl-names = "default"; 1490b36e944aSJoseph Chen pinctrl-0 = <&i2c4_xfer>; 1491c6f7c1a3SJoseph Chen #address-cells = <1>; 1492c6f7c1a3SJoseph Chen #size-cells = <0>; 1493c6f7c1a3SJoseph Chen status = "disabled"; 1494c6f7c1a3SJoseph Chen }; 1495c6f7c1a3SJoseph Chen 1496c6f7c1a3SJoseph Chen i2c5: i2c@ffa78000 { 1497c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c"; 1498c6f7c1a3SJoseph Chen reg = <0x0 0xffa78000 0x0 0x1000>; 1499c6f7c1a3SJoseph Chen clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 1500c6f7c1a3SJoseph Chen clock-names = "i2c", "pclk"; 1501c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 1502b36e944aSJoseph Chen pinctrl-names = "default"; 1503b36e944aSJoseph Chen pinctrl-0 = <&i2c5m0_xfer>; 1504c6f7c1a3SJoseph Chen #address-cells = <1>; 1505c6f7c1a3SJoseph Chen #size-cells = <0>; 1506c6f7c1a3SJoseph Chen status = "disabled"; 1507c6f7c1a3SJoseph Chen }; 1508c6f7c1a3SJoseph Chen 1509c6f7c1a3SJoseph Chen i2c6: i2c@ffa80000 { 1510c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c"; 1511c6f7c1a3SJoseph Chen reg = <0x0 0xffa80000 0x0 0x1000>; 1512c6f7c1a3SJoseph Chen clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>; 1513c6f7c1a3SJoseph Chen clock-names = "i2c", "pclk"; 1514c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 1515b36e944aSJoseph Chen pinctrl-names = "default"; 1516b36e944aSJoseph Chen pinctrl-0 = <&i2c6m0_xfer>; 1517c6f7c1a3SJoseph Chen #address-cells = <1>; 1518c6f7c1a3SJoseph Chen #size-cells = <0>; 1519c6f7c1a3SJoseph Chen status = "disabled"; 1520c6f7c1a3SJoseph Chen }; 1521c6f7c1a3SJoseph Chen 1522c6f7c1a3SJoseph Chen i2c7: i2c@ffa88000 { 1523c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c"; 1524c6f7c1a3SJoseph Chen reg = <0x0 0xffa88000 0x0 0x1000>; 1525c6f7c1a3SJoseph Chen clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>; 1526c6f7c1a3SJoseph Chen clock-names = "i2c", "pclk"; 1527c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 1528b36e944aSJoseph Chen pinctrl-names = "default"; 1529b36e944aSJoseph Chen pinctrl-0 = <&i2c7_xfer>; 1530c6f7c1a3SJoseph Chen #address-cells = <1>; 1531c6f7c1a3SJoseph Chen #size-cells = <0>; 1532c6f7c1a3SJoseph Chen status = "disabled"; 1533c6f7c1a3SJoseph Chen }; 1534c6f7c1a3SJoseph Chen 1535c6f7c1a3SJoseph Chen pwm0: pwm@ffa90000 { 1536b36e944aSJoseph Chen compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm"; 1537c6f7c1a3SJoseph Chen reg = <0x0 0xffa90000 0x0 0x10>; 1538c6f7c1a3SJoseph Chen #pwm-cells = <3>; 1539c6f7c1a3SJoseph Chen pinctrl-names = "active"; 1540c6f7c1a3SJoseph Chen pinctrl-0 = <&pwm0m0_pins>; 1541c6f7c1a3SJoseph Chen clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1542c6f7c1a3SJoseph Chen clock-names = "pwm", "pclk"; 1543c6f7c1a3SJoseph Chen status = "disabled"; 1544c6f7c1a3SJoseph Chen }; 1545c6f7c1a3SJoseph Chen 1546c6f7c1a3SJoseph Chen pwm1: pwm@ffa90010 { 1547b36e944aSJoseph Chen compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm"; 1548c6f7c1a3SJoseph Chen reg = <0x0 0xffa90010 0x0 0x10>; 1549c6f7c1a3SJoseph Chen #pwm-cells = <3>; 1550c6f7c1a3SJoseph Chen pinctrl-names = "active"; 1551c6f7c1a3SJoseph Chen pinctrl-0 = <&pwm1m0_pins>; 1552c6f7c1a3SJoseph Chen clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1553c6f7c1a3SJoseph Chen clock-names = "pwm", "pclk"; 1554c6f7c1a3SJoseph Chen status = "disabled"; 1555c6f7c1a3SJoseph Chen }; 1556c6f7c1a3SJoseph Chen 1557c6f7c1a3SJoseph Chen pwm2: pwm@ffa90020 { 1558b36e944aSJoseph Chen compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm"; 1559c6f7c1a3SJoseph Chen reg = <0x0 0xffa90020 0x0 0x10>; 1560c6f7c1a3SJoseph Chen #pwm-cells = <3>; 1561c6f7c1a3SJoseph Chen pinctrl-names = "active"; 1562c6f7c1a3SJoseph Chen pinctrl-0 = <&pwm2m0_pins>; 1563c6f7c1a3SJoseph Chen clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1564c6f7c1a3SJoseph Chen clock-names = "pwm", "pclk"; 1565c6f7c1a3SJoseph Chen status = "disabled"; 1566c6f7c1a3SJoseph Chen }; 1567c6f7c1a3SJoseph Chen 1568c6f7c1a3SJoseph Chen pwm3: pwm@ffa90030 { 1569b36e944aSJoseph Chen compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm"; 1570c6f7c1a3SJoseph Chen reg = <0x0 0xffa90030 0x0 0x10>; 1571c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 1572c6f7c1a3SJoseph Chen <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 1573c6f7c1a3SJoseph Chen #pwm-cells = <3>; 1574c6f7c1a3SJoseph Chen pinctrl-names = "active"; 1575c6f7c1a3SJoseph Chen pinctrl-0 = <&pwm3m0_pins>; 1576c6f7c1a3SJoseph Chen clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>; 1577c6f7c1a3SJoseph Chen clock-names = "pwm", "pclk"; 1578c6f7c1a3SJoseph Chen status = "disabled"; 1579c6f7c1a3SJoseph Chen }; 1580c6f7c1a3SJoseph Chen 1581c6f7c1a3SJoseph Chen pwm4: pwm@ffa98000 { 1582b36e944aSJoseph Chen compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm"; 1583c6f7c1a3SJoseph Chen reg = <0x0 0xffa98000 0x0 0x10>; 1584c6f7c1a3SJoseph Chen #pwm-cells = <3>; 1585c6f7c1a3SJoseph Chen pinctrl-names = "active"; 1586c6f7c1a3SJoseph Chen pinctrl-0 = <&pwm4m0_pins>; 1587c6f7c1a3SJoseph Chen clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1588c6f7c1a3SJoseph Chen clock-names = "pwm", "pclk"; 1589c6f7c1a3SJoseph Chen status = "disabled"; 1590c6f7c1a3SJoseph Chen }; 1591c6f7c1a3SJoseph Chen 1592c6f7c1a3SJoseph Chen pwm5: pwm@ffa98010 { 1593b36e944aSJoseph Chen compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm"; 1594c6f7c1a3SJoseph Chen reg = <0x0 0xffa98010 0x0 0x10>; 1595c6f7c1a3SJoseph Chen #pwm-cells = <3>; 1596c6f7c1a3SJoseph Chen pinctrl-names = "active"; 1597c6f7c1a3SJoseph Chen pinctrl-0 = <&pwm5m0_pins>; 1598c6f7c1a3SJoseph Chen clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1599c6f7c1a3SJoseph Chen clock-names = "pwm", "pclk"; 1600c6f7c1a3SJoseph Chen status = "disabled"; 1601c6f7c1a3SJoseph Chen }; 1602c6f7c1a3SJoseph Chen 1603c6f7c1a3SJoseph Chen pwm6: pwm@ffa98020 { 1604b36e944aSJoseph Chen compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm"; 1605c6f7c1a3SJoseph Chen reg = <0x0 0xffa98020 0x0 0x10>; 1606c6f7c1a3SJoseph Chen #pwm-cells = <3>; 1607c6f7c1a3SJoseph Chen pinctrl-names = "active"; 1608c6f7c1a3SJoseph Chen pinctrl-0 = <&pwm6m0_pins>; 1609c6f7c1a3SJoseph Chen clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1610c6f7c1a3SJoseph Chen clock-names = "pwm", "pclk"; 1611c6f7c1a3SJoseph Chen status = "disabled"; 1612c6f7c1a3SJoseph Chen }; 1613c6f7c1a3SJoseph Chen 1614c6f7c1a3SJoseph Chen pwm7: pwm@ffa98030 { 1615b36e944aSJoseph Chen compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm"; 1616c6f7c1a3SJoseph Chen reg = <0x0 0xffa98030 0x0 0x10>; 1617c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 1618c6f7c1a3SJoseph Chen <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 1619c6f7c1a3SJoseph Chen #pwm-cells = <3>; 1620c6f7c1a3SJoseph Chen pinctrl-names = "active"; 1621c6f7c1a3SJoseph Chen pinctrl-0 = <&pwm7m0_pins>; 1622c6f7c1a3SJoseph Chen clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 1623c6f7c1a3SJoseph Chen clock-names = "pwm", "pclk"; 1624c6f7c1a3SJoseph Chen status = "disabled"; 1625c6f7c1a3SJoseph Chen }; 1626c6f7c1a3SJoseph Chen 1627b36e944aSJoseph Chen rktimer: timer@ffab0000 { 1628b36e944aSJoseph Chen compatible = "rockchip,rk3528-timer", "rockchip,rk3288-timer"; 1629b36e944aSJoseph Chen reg = <0x0 0xffab0000 0x0 0x20>; 1630b36e944aSJoseph Chen interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 1631b36e944aSJoseph Chen clocks = <&cru PCLK_TIMER>, <&cru CLK_TIMER0>; 1632b36e944aSJoseph Chen clock-names = "pclk", "timer"; 1633b36e944aSJoseph Chen }; 1634b36e944aSJoseph Chen 1635c6f7c1a3SJoseph Chen wdt: watchdog@ffac0000 { 1636c6f7c1a3SJoseph Chen compatible = "snps,dw-wdt"; 1637c6f7c1a3SJoseph Chen reg = <0x0 0xffac0000 0x0 0x100>; 1638c6f7c1a3SJoseph Chen clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>; 1639c6f7c1a3SJoseph Chen clock-names = "tclk", "pclk"; 1640c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 1641c6f7c1a3SJoseph Chen status = "disabled"; 1642c6f7c1a3SJoseph Chen }; 1643c6f7c1a3SJoseph Chen 1644c6f7c1a3SJoseph Chen tsadc: tsadc@ffad0000 { 1645c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-tsadc"; 1646c6f7c1a3SJoseph Chen reg = <0x0 0xffad0000 0x0 0x400>; 1647c6f7c1a3SJoseph Chen rockchip,grf = <&grf>; 1648c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 1649c6f7c1a3SJoseph Chen clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>, <&cru PCLK_TSADC>; 1650c6f7c1a3SJoseph Chen clock-names = "tsadc", "tsadc_tsen", "apb_pclk"; 1651c6f7c1a3SJoseph Chen assigned-clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>; 1652c6f7c1a3SJoseph Chen assigned-clock-rates = <1200000>, <12000000>; 1653c6f7c1a3SJoseph Chen resets = <&cru SRST_RESETN_TSADC>, <&cru SRST_PRESETN_TSADC>; 1654c6f7c1a3SJoseph Chen reset-names = "tsadc", "tsadc-apb"; 1655c6f7c1a3SJoseph Chen #thermal-sensor-cells = <1>; 1656c6f7c1a3SJoseph Chen rockchip,hw-tshut-temp = <120000>; 1657c6f7c1a3SJoseph Chen rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 1658c6f7c1a3SJoseph Chen rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 1659c6f7c1a3SJoseph Chen status = "disabled"; 1660c6f7c1a3SJoseph Chen }; 1661c6f7c1a3SJoseph Chen 1662c6f7c1a3SJoseph Chen saradc: saradc@ffae0000 { 1663c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-saradc"; 1664c6f7c1a3SJoseph Chen reg = <0x0 0xffae0000 0x0 0x10000>; 1665c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 1666c6f7c1a3SJoseph Chen #io-channel-cells = <1>; 1667c6f7c1a3SJoseph Chen clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 1668c6f7c1a3SJoseph Chen clock-names = "saradc", "apb_pclk"; 1669c6f7c1a3SJoseph Chen resets = <&cru SRST_PRESETN_SARADC>; 1670c6f7c1a3SJoseph Chen reset-names = "saradc-apb"; 1671c6f7c1a3SJoseph Chen status = "disabled"; 1672c6f7c1a3SJoseph Chen }; 1673c6f7c1a3SJoseph Chen 1674c6f7c1a3SJoseph Chen sai3: sai@ffb70000 { 1675c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-sai", "rockchip,sai-v1"; 1676c6f7c1a3SJoseph Chen reg = <0x0 0xffb70000 0x0 0x1000>; 1677c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; 1678c6f7c1a3SJoseph Chen clocks = <&cru MCLK_SAI_I2S3>, <&cru HCLK_SAI_I2S3>; 1679c6f7c1a3SJoseph Chen clock-names = "mclk", "hclk"; 1680c6f7c1a3SJoseph Chen dmas = <&dmac 5>; 1681c6f7c1a3SJoseph Chen dma-names = "tx"; 1682c6f7c1a3SJoseph Chen resets = <&cru SRST_MRESETN_SAI_I2S3>, <&cru SRST_HRESETN_SAI_I2S3>; 1683c6f7c1a3SJoseph Chen reset-names = "m", "h"; 1684c6f7c1a3SJoseph Chen #sound-dai-cells = <0>; 1685c6f7c1a3SJoseph Chen status = "disabled"; 1686c6f7c1a3SJoseph Chen }; 1687c6f7c1a3SJoseph Chen 1688c6f7c1a3SJoseph Chen sai0: sai@ffb80000 { 1689c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-sai", "rockchip,sai-v1"; 1690c6f7c1a3SJoseph Chen reg = <0x0 0xffb80000 0x0 0x1000>; 1691c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 1692c6f7c1a3SJoseph Chen clocks = <&cru MCLK_SAI_I2S0>, <&cru HCLK_SAI_I2S0>; 1693c6f7c1a3SJoseph Chen clock-names = "mclk", "hclk"; 1694c6f7c1a3SJoseph Chen dmas = <&dmac 1>, <&dmac 0>; 1695c6f7c1a3SJoseph Chen dma-names = "tx", "rx"; 1696c6f7c1a3SJoseph Chen resets = <&cru SRST_MRESETN_SAI_I2S0>, <&cru SRST_HRESETN_SAI_I2S0>; 1697c6f7c1a3SJoseph Chen reset-names = "m", "h"; 1698c6f7c1a3SJoseph Chen pinctrl-names = "default"; 1699c6f7c1a3SJoseph Chen pinctrl-0 = <&i2s0m0_pins>; 1700c6f7c1a3SJoseph Chen #sound-dai-cells = <0>; 1701c6f7c1a3SJoseph Chen status = "disabled"; 1702c6f7c1a3SJoseph Chen }; 1703c6f7c1a3SJoseph Chen 1704c6f7c1a3SJoseph Chen sai2: sai@ffb90000 { 1705c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-sai", "rockchip,sai-v1"; 1706c6f7c1a3SJoseph Chen reg = <0x0 0xffb90000 0x0 0x1000>; 1707c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 1708c6f7c1a3SJoseph Chen clocks = <&cru MCLK_SAI_I2S2>, <&cru HCLK_SAI_I2S2>; 1709c6f7c1a3SJoseph Chen clock-names = "mclk", "hclk"; 1710c6f7c1a3SJoseph Chen dmas = <&dmac 4>; 1711c6f7c1a3SJoseph Chen dma-names = "tx"; 1712c6f7c1a3SJoseph Chen resets = <&cru SRST_MRESETN_SAI_I2S2>, <&cru SRST_HRESETN_SAI_I2S2>; 1713c6f7c1a3SJoseph Chen reset-names = "m", "h"; 1714c6f7c1a3SJoseph Chen #sound-dai-cells = <0>; 1715c6f7c1a3SJoseph Chen status = "disabled"; 1716c6f7c1a3SJoseph Chen }; 1717c6f7c1a3SJoseph Chen 1718c6f7c1a3SJoseph Chen sai1: sai@ffba0000 { 1719c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-sai", "rockchip,sai-v1"; 1720c6f7c1a3SJoseph Chen reg = <0x0 0xffba0000 0x0 0x1000>; 1721c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 1722c6f7c1a3SJoseph Chen clocks = <&cru MCLK_SAI_I2S1>, <&cru HCLK_SAI_I2S1>; 1723c6f7c1a3SJoseph Chen clock-names = "mclk", "hclk"; 1724c6f7c1a3SJoseph Chen dmas = <&dmac 3>, <&dmac 2>; 1725c6f7c1a3SJoseph Chen dma-names = "tx", "rx"; 1726c6f7c1a3SJoseph Chen resets = <&cru SRST_MRESETN_SAI_I2S1>, <&cru SRST_HRESETN_SAI_I2S1>; 1727c6f7c1a3SJoseph Chen reset-names = "m", "h"; 1728c6f7c1a3SJoseph Chen pinctrl-names = "default"; 1729c6f7c1a3SJoseph Chen pinctrl-0 = <&i2s1_pins>; 1730c6f7c1a3SJoseph Chen #sound-dai-cells = <0>; 1731c6f7c1a3SJoseph Chen status = "disabled"; 1732c6f7c1a3SJoseph Chen }; 1733c6f7c1a3SJoseph Chen 1734c6f7c1a3SJoseph Chen pdm: pdm@ffbb0000 { 1735c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-pdm", "rockchip,rk3568-pdm"; 1736c6f7c1a3SJoseph Chen reg = <0x0 0xffbb0000 0x0 0x1000>; 1737c6f7c1a3SJoseph Chen clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>; 1738c6f7c1a3SJoseph Chen clock-names = "pdm_clk", "pdm_hclk"; 1739c6f7c1a3SJoseph Chen dmas = <&dmac 6>; 1740c6f7c1a3SJoseph Chen dma-names = "rx"; 1741c6f7c1a3SJoseph Chen pinctrl-names = "default"; 1742c6f7c1a3SJoseph Chen pinctrl-0 = <&pdm_clk0 1743c6f7c1a3SJoseph Chen &pdm_clk1 1744c6f7c1a3SJoseph Chen &pdm_sdi0 1745c6f7c1a3SJoseph Chen &pdm_sdi1 1746c6f7c1a3SJoseph Chen &pdm_sdi2 1747c6f7c1a3SJoseph Chen &pdm_sdi3>; 1748c6f7c1a3SJoseph Chen #sound-dai-cells = <0>; 1749c6f7c1a3SJoseph Chen status = "disabled"; 1750c6f7c1a3SJoseph Chen }; 1751c6f7c1a3SJoseph Chen 1752c6f7c1a3SJoseph Chen spdif_8ch: spdif@ffbc0000 { 1753c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-spdif", "rockchip,rk3568-spdif"; 1754c6f7c1a3SJoseph Chen reg = <0x0 0xffbc0000 0x0 0x1000>; 1755c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; 1756c6f7c1a3SJoseph Chen dmas = <&dmac 7>; 1757c6f7c1a3SJoseph Chen dma-names = "tx"; 1758c6f7c1a3SJoseph Chen clock-names = "mclk", "hclk"; 1759c6f7c1a3SJoseph Chen clocks = <&cru MCLK_SPDIF>, <&cru HCLK_SPDIF>; 1760c6f7c1a3SJoseph Chen #sound-dai-cells = <0>; 1761c6f7c1a3SJoseph Chen pinctrl-names = "default"; 1762c6f7c1a3SJoseph Chen pinctrl-0 = <&spdifm0_pins>; 1763c6f7c1a3SJoseph Chen status = "disabled"; 1764c6f7c1a3SJoseph Chen }; 1765c6f7c1a3SJoseph Chen 1766c6f7c1a3SJoseph Chen gmac0: ethernet@ffbd0000 { 1767c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-gmac", "snps,dwmac-4.20a"; 1768c6f7c1a3SJoseph Chen reg = <0x0 0xffbd0000 0x0 0x10000>; 1769c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 1770c6f7c1a3SJoseph Chen <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 1771c6f7c1a3SJoseph Chen interrupt-names = "macirq", "eth_wake_irq"; 1772c6f7c1a3SJoseph Chen rockchip,grf = <&grf>; 1773c6f7c1a3SJoseph Chen clocks = <&cru CLK_GMAC0_SRC>, <&cru CLK_GMAC0_RMII_50M>, 1774c6f7c1a3SJoseph Chen <&cru CLK_GMAC0_RX>, <&cru CLK_GMAC0_TX>, 1775c6f7c1a3SJoseph Chen <&cru PCLK_MAC_VO>, <&cru ACLK_MAC_VO>; 1776c6f7c1a3SJoseph Chen clock-names = "stmmaceth", "clk_mac_ref", 1777c6f7c1a3SJoseph Chen "mac_clk_rx", "mac_clk_tx", 1778c6f7c1a3SJoseph Chen "pclk_mac", "aclk_mac"; 1779c6f7c1a3SJoseph Chen resets = <&cru SRST_ARESETN_MAC_VO>; 1780c6f7c1a3SJoseph Chen reset-names = "stmmaceth"; 1781c6f7c1a3SJoseph Chen 1782c6f7c1a3SJoseph Chen snps,mixed-burst; 1783c6f7c1a3SJoseph Chen snps,tso; 1784c6f7c1a3SJoseph Chen 1785c6f7c1a3SJoseph Chen snps,axi-config = <&gmac0_stmmac_axi_setup>; 1786c6f7c1a3SJoseph Chen snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 1787c6f7c1a3SJoseph Chen snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 1788c6f7c1a3SJoseph Chen 1789c6f7c1a3SJoseph Chen phy-mode = "rmii"; 1790c6f7c1a3SJoseph Chen clock_in_out = "input"; 1791c6f7c1a3SJoseph Chen phy-handle = <&rmii0_phy>; 1792c6f7c1a3SJoseph Chen 1793b36e944aSJoseph Chen nvmem-cells = <&macphy_bgs>; 1794b36e944aSJoseph Chen nvmem-cell-names = "bgs"; 1795c6f7c1a3SJoseph Chen status = "disabled"; 1796c6f7c1a3SJoseph Chen 1797c6f7c1a3SJoseph Chen mdio0: mdio { 1798c6f7c1a3SJoseph Chen compatible = "snps,dwmac-mdio"; 1799c6f7c1a3SJoseph Chen #address-cells = <0x1>; 1800c6f7c1a3SJoseph Chen #size-cells = <0x0>; 1801c6f7c1a3SJoseph Chen rmii0_phy: ethernet-phy@2 { 1802c6f7c1a3SJoseph Chen compatible = "ethernet-phy-id0044.1400", "ethernet-phy-ieee802.3-c22"; 1803c6f7c1a3SJoseph Chen reg = <2>; 1804c6f7c1a3SJoseph Chen clocks = <&cru CLK_MACPHY>; 1805c6f7c1a3SJoseph Chen resets = <&cru SRST_RESETN_MACPHY>; 1806c6f7c1a3SJoseph Chen phy-is-integrated; 1807b36e944aSJoseph Chen pinctrl-names = "default"; 1808b36e944aSJoseph Chen pinctrl-0 = <&fephym0_led_link &fephym0_led_spd>; 1809b36e944aSJoseph Chen nvmem-cells = <&macphy_txlevel>; 1810b36e944aSJoseph Chen nvmem-cell-names = "txlevel"; 1811c6f7c1a3SJoseph Chen }; 1812c6f7c1a3SJoseph Chen }; 1813c6f7c1a3SJoseph Chen 1814c6f7c1a3SJoseph Chen gmac0_stmmac_axi_setup: stmmac-axi-config { 1815c6f7c1a3SJoseph Chen snps,wr_osr_lmt = <4>; 1816c6f7c1a3SJoseph Chen snps,rd_osr_lmt = <8>; 1817c6f7c1a3SJoseph Chen snps,blen = <0 0 0 0 16 8 4>; 1818c6f7c1a3SJoseph Chen }; 1819c6f7c1a3SJoseph Chen 1820c6f7c1a3SJoseph Chen gmac0_mtl_rx_setup: rx-queues-config { 1821c6f7c1a3SJoseph Chen snps,rx-queues-to-use = <1>; 1822c6f7c1a3SJoseph Chen queue0 {}; 1823c6f7c1a3SJoseph Chen }; 1824c6f7c1a3SJoseph Chen 1825c6f7c1a3SJoseph Chen gmac0_mtl_tx_setup: tx-queues-config { 1826c6f7c1a3SJoseph Chen snps,tx-queues-to-use = <1>; 1827c6f7c1a3SJoseph Chen queue0 {}; 1828c6f7c1a3SJoseph Chen }; 1829c6f7c1a3SJoseph Chen }; 1830c6f7c1a3SJoseph Chen 1831c6f7c1a3SJoseph Chen gmac1: ethernet@ffbe0000 { 1832c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-gmac", "snps,dwmac-4.20a"; 1833c6f7c1a3SJoseph Chen reg = <0x0 0xffbe0000 0x0 0x10000>; 1834b36e944aSJoseph Chen interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 1835c6f7c1a3SJoseph Chen <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 1836c6f7c1a3SJoseph Chen interrupt-names = "macirq", "eth_wake_irq"; 1837c6f7c1a3SJoseph Chen rockchip,grf = <&grf>; 1838c6f7c1a3SJoseph Chen clocks = <&cru CLK_GMAC1_SRC_VPU>, <&cru CLK_GMAC1_RMII_VPU>, 1839c6f7c1a3SJoseph Chen <&cru PCLK_MAC_VPU>, <&cru ACLK_MAC_VPU>; 1840c6f7c1a3SJoseph Chen clock-names = "stmmaceth", "clk_mac_ref", 1841c6f7c1a3SJoseph Chen "pclk_mac", "aclk_mac"; 1842c6f7c1a3SJoseph Chen resets = <&cru SRST_ARESETN_MAC>; 1843c6f7c1a3SJoseph Chen reset-names = "stmmaceth"; 1844c6f7c1a3SJoseph Chen 1845c6f7c1a3SJoseph Chen snps,mixed-burst; 1846c6f7c1a3SJoseph Chen snps,tso; 1847c6f7c1a3SJoseph Chen 1848c6f7c1a3SJoseph Chen snps,axi-config = <&gmac1_stmmac_axi_setup>; 1849c6f7c1a3SJoseph Chen snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 1850c6f7c1a3SJoseph Chen snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 1851c6f7c1a3SJoseph Chen 1852c6f7c1a3SJoseph Chen status = "disabled"; 1853c6f7c1a3SJoseph Chen 1854c6f7c1a3SJoseph Chen mdio1: mdio { 1855c6f7c1a3SJoseph Chen compatible = "snps,dwmac-mdio"; 1856c6f7c1a3SJoseph Chen #address-cells = <0x1>; 1857c6f7c1a3SJoseph Chen #size-cells = <0x0>; 1858c6f7c1a3SJoseph Chen }; 1859c6f7c1a3SJoseph Chen 1860c6f7c1a3SJoseph Chen gmac1_stmmac_axi_setup: stmmac-axi-config { 1861c6f7c1a3SJoseph Chen snps,wr_osr_lmt = <4>; 1862c6f7c1a3SJoseph Chen snps,rd_osr_lmt = <8>; 1863c6f7c1a3SJoseph Chen snps,blen = <0 0 0 0 16 8 4>; 1864c6f7c1a3SJoseph Chen }; 1865c6f7c1a3SJoseph Chen 1866c6f7c1a3SJoseph Chen gmac1_mtl_rx_setup: rx-queues-config { 1867c6f7c1a3SJoseph Chen snps,rx-queues-to-use = <1>; 1868c6f7c1a3SJoseph Chen queue0 {}; 1869c6f7c1a3SJoseph Chen }; 1870c6f7c1a3SJoseph Chen 1871c6f7c1a3SJoseph Chen gmac1_mtl_tx_setup: tx-queues-config { 1872c6f7c1a3SJoseph Chen snps,tx-queues-to-use = <1>; 1873c6f7c1a3SJoseph Chen queue0 {}; 1874c6f7c1a3SJoseph Chen }; 1875c6f7c1a3SJoseph Chen }; 1876c6f7c1a3SJoseph Chen 1877c6f7c1a3SJoseph Chen sdhci: mmc@ffbf0000 { 1878c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-dwcmshc"; 1879c6f7c1a3SJoseph Chen reg = <0x0 0xffbf0000 0x0 0x10000>; 1880c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 1881c6f7c1a3SJoseph Chen assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>, <&cru CCLK_SRC_EMMC>; 1882c6f7c1a3SJoseph Chen assigned-clock-rates = <200000000>, <24000000>, <200000000>; 1883c6f7c1a3SJoseph Chen clocks = <&cru CCLK_SRC_EMMC>, <&cru HCLK_EMMC>, 1884c6f7c1a3SJoseph Chen <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 1885c6f7c1a3SJoseph Chen <&cru TCLK_EMMC>; 1886c6f7c1a3SJoseph Chen clock-names = "core", "bus", "axi", "block", "timer"; 1887c6f7c1a3SJoseph Chen resets = <&cru SRST_CRESETN_EMMC>, <&cru SRST_HRESETN_EMMC>, 1888c6f7c1a3SJoseph Chen <&cru SRST_ARESETN_EMMC>, <&cru SRST_BRESETN_EMMC>, 1889c6f7c1a3SJoseph Chen <&cru SRST_TRESETN_EMMC>; 1890c6f7c1a3SJoseph Chen reset-names = "core", "bus", "axi", "block", "timer"; 1891c6f7c1a3SJoseph Chen max-frequency = <200000000>; 1892c6f7c1a3SJoseph Chen status = "disabled"; 1893c6f7c1a3SJoseph Chen }; 1894c6f7c1a3SJoseph Chen 1895c6f7c1a3SJoseph Chen sfc: spi@ffc00000 { 1896c6f7c1a3SJoseph Chen compatible = "rockchip,sfc"; 1897c6f7c1a3SJoseph Chen reg = <0x0 0xffc00000 0x0 0x4000>; 1898c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; 1899c6f7c1a3SJoseph Chen clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 1900c6f7c1a3SJoseph Chen clock-names = "clk_sfc", "hclk_sfc"; 1901c6f7c1a3SJoseph Chen assigned-clocks = <&cru SCLK_SFC>; 1902c6f7c1a3SJoseph Chen assigned-clock-rates = <100000000>; 1903c6f7c1a3SJoseph Chen #address-cells = <1>; 1904c6f7c1a3SJoseph Chen #size-cells = <0>; 1905c6f7c1a3SJoseph Chen status = "disabled"; 1906c6f7c1a3SJoseph Chen }; 1907c6f7c1a3SJoseph Chen 1908c6f7c1a3SJoseph Chen sdio0: mmc@ffc10000 { 1909c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-dw-mshc", 1910c6f7c1a3SJoseph Chen "rockchip,rk3288-dw-mshc"; 1911c6f7c1a3SJoseph Chen reg = <0x0 0xffc10000 0x0 0x4000>; 1912c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 1913c6f7c1a3SJoseph Chen max-frequency = <150000000>; 1914c6f7c1a3SJoseph Chen clocks = <&cru HCLK_SDIO0>, <&cru CCLK_SRC_SDIO0>, 1915c6f7c1a3SJoseph Chen <&grf_cru SCLK_SDIO0_DRV>, <&grf_cru SCLK_SDIO0_SAMPLE>; 1916c6f7c1a3SJoseph Chen clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1917c6f7c1a3SJoseph Chen fifo-depth = <0x100>; 1918c6f7c1a3SJoseph Chen resets = <&cru SRST_HRESETN_SDIO0>; 1919c6f7c1a3SJoseph Chen reset-names = "reset"; 1920b36e944aSJoseph Chen rockchip,use-v2-tuning; 1921c6f7c1a3SJoseph Chen status = "disabled"; 1922c6f7c1a3SJoseph Chen }; 1923c6f7c1a3SJoseph Chen 1924c6f7c1a3SJoseph Chen sdio1: mmc@ffc20000 { 1925c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-dw-mshc", 1926c6f7c1a3SJoseph Chen "rockchip,rk3288-dw-mshc"; 1927c6f7c1a3SJoseph Chen reg = <0x0 0xffc20000 0x0 0x4000>; 1928c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 1929c6f7c1a3SJoseph Chen max-frequency = <150000000>; 1930c6f7c1a3SJoseph Chen clocks = <&cru HCLK_SDIO1>, <&cru CCLK_SRC_SDIO1>, 1931c6f7c1a3SJoseph Chen <&grf_cru SCLK_SDIO1_DRV>, <&grf_cru SCLK_SDIO1_SAMPLE>; 1932c6f7c1a3SJoseph Chen clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1933c6f7c1a3SJoseph Chen fifo-depth = <0x100>; 1934c6f7c1a3SJoseph Chen resets = <&cru SRST_HRESETN_SDIO1>; 1935c6f7c1a3SJoseph Chen reset-names = "reset"; 1936b36e944aSJoseph Chen rockchip,use-v2-tuning; 1937c6f7c1a3SJoseph Chen status = "disabled"; 1938c6f7c1a3SJoseph Chen }; 1939c6f7c1a3SJoseph Chen 1940c6f7c1a3SJoseph Chen sdmmc: mmc@ffc30000 { 1941c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-dw-mshc", 1942c6f7c1a3SJoseph Chen "rockchip,rk3288-dw-mshc"; 1943c6f7c1a3SJoseph Chen reg = <0x0 0xffc30000 0x0 0x4000>; 1944c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 1945c6f7c1a3SJoseph Chen max-frequency = <150000000>; 1946c6f7c1a3SJoseph Chen clocks = <&cru HCLK_SDMMC0>, <&cru CCLK_SRC_SDMMC0>, 1947c6f7c1a3SJoseph Chen <&grf_cru SCLK_SDMMC_DRV>, <&grf_cru SCLK_SDMMC_SAMPLE>; 1948c6f7c1a3SJoseph Chen clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 1949c6f7c1a3SJoseph Chen fifo-depth = <0x100>; 1950c6f7c1a3SJoseph Chen resets = <&cru SRST_HRESETN_SDMMC0>; 1951c6f7c1a3SJoseph Chen reset-names = "reset"; 1952b36e944aSJoseph Chen rockchip,use-v2-tuning; 19530f5a8759SYifeng Zhao pinctrl-names = "default"; 1954343ed2ebSQiqi Zhang pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>; 1955c6f7c1a3SJoseph Chen status = "disabled"; 1956c6f7c1a3SJoseph Chen }; 1957c6f7c1a3SJoseph Chen 1958c6f7c1a3SJoseph Chen crypto: crypto@ffc40000 { 1959c6f7c1a3SJoseph Chen compatible = "rockchip,crypto-v4"; 1960c6f7c1a3SJoseph Chen reg = <0x0 0xffc40000 0x0 0x2000>; 1961c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 19623e68d308SJoseph Chen clocks = <&scmi_clk SCMI_ACLK_CRYPTO>, <&scmi_clk SCMI_HCLK_CRYPTO>, 19633e68d308SJoseph Chen <&scmi_clk SCMI_CORE_CRYPTO>, <&scmi_clk SCMI_PKA_CRYPTO>; 1964c6f7c1a3SJoseph Chen clock-names = "aclk", "hclk", "sclk", "pka"; 19653e68d308SJoseph Chen assigned-clocks = <&scmi_clk SCMI_CORE_CRYPTO>, <&scmi_clk SCMI_PKA_CRYPTO>; 1966c6f7c1a3SJoseph Chen assigned-clock-rates = <300000000>, <300000000>; 1967c6f7c1a3SJoseph Chen resets = <&cru SRST_RESETN_CORE_CRYPTO>; 1968c6f7c1a3SJoseph Chen reset-names = "crypto-rst"; 1969c6f7c1a3SJoseph Chen status = "disabled"; 1970c6f7c1a3SJoseph Chen }; 1971c6f7c1a3SJoseph Chen 1972c6f7c1a3SJoseph Chen rng: rng@ffc50000 { 1973da750820SLin Jinhan compatible = "rockchip,rkrng"; 1974c6f7c1a3SJoseph Chen reg = <0x0 0xffc50000 0x0 0x200>; 1975c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 19764c7992e5SJoseph Chen clocks = <&scmi_clk SCMI_HCLK_TRNG>; 1977c6f7c1a3SJoseph Chen clock-names = "hclk_trng"; 1978c6f7c1a3SJoseph Chen resets = <&cru SRST_HRESETN_TRNG_NS>; 1979c6f7c1a3SJoseph Chen reset-names = "reset"; 1980c6f7c1a3SJoseph Chen status = "disabled"; 1981c6f7c1a3SJoseph Chen }; 1982c6f7c1a3SJoseph Chen 1983c6f7c1a3SJoseph Chen otp: otp@ffce0000 { 1984c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-otp"; 1985c6f7c1a3SJoseph Chen reg = <0x0 0xffce0000 0x0 0x4000>; 1986c6f7c1a3SJoseph Chen #address-cells = <1>; 1987c6f7c1a3SJoseph Chen #size-cells = <1>; 1988c6f7c1a3SJoseph Chen clocks = <&cru CLK_USER_OTPC_NS>, <&cru CLK_SBPI_OTPC_NS>, 1989c6f7c1a3SJoseph Chen <&cru PCLK_OTPC_NS>; 1990c6f7c1a3SJoseph Chen clock-names = "usr", "sbpi", "apb"; 1991c6f7c1a3SJoseph Chen resets = <&cru SRST_RESETN_USER_OTPC_NS>, 1992c6f7c1a3SJoseph Chen <&cru SRST_RESETN_SBPI_OTPC_NS>, 1993c6f7c1a3SJoseph Chen <&cru SRST_PRESETN_OTPC_NS>; 1994c6f7c1a3SJoseph Chen reset-names = "usr", "sbpi", "apb"; 1995c6f7c1a3SJoseph Chen 1996c6f7c1a3SJoseph Chen /* Data cells */ 1997c6f7c1a3SJoseph Chen cpu_code: cpu-code@2 { 1998c6f7c1a3SJoseph Chen reg = <0x02 0x2>; 1999c6f7c1a3SJoseph Chen }; 2000c6f7c1a3SJoseph Chen otp_cpu_version: cpu-version@8 { 2001c6f7c1a3SJoseph Chen reg = <0x08 0x1>; 2002c6f7c1a3SJoseph Chen bits = <3 3>; 2003c6f7c1a3SJoseph Chen }; 2004c6f7c1a3SJoseph Chen otp_id: id@a { 2005c6f7c1a3SJoseph Chen reg = <0x0a 0x10>; 2006c6f7c1a3SJoseph Chen }; 2007c6f7c1a3SJoseph Chen cpu_leakage: cpu-leakage@1a { 2008c6f7c1a3SJoseph Chen reg = <0x1a 0x1>; 2009c6f7c1a3SJoseph Chen }; 2010c6f7c1a3SJoseph Chen log_leakage: log-leakage@1b { 2011c6f7c1a3SJoseph Chen reg = <0x1b 0x1>; 2012c6f7c1a3SJoseph Chen }; 2013c6f7c1a3SJoseph Chen gpu_leakage: gpu-leakage@1c { 2014c6f7c1a3SJoseph Chen reg = <0x1c 0x1>; 2015c6f7c1a3SJoseph Chen }; 2016b36e944aSJoseph Chen macphy_bgs: macphy-bgs@2d { 2017b36e944aSJoseph Chen reg = <0x2d 0x1>; 2018b36e944aSJoseph Chen }; 2019b36e944aSJoseph Chen macphy_txlevel: macphy-txlevel@2e { 2020b36e944aSJoseph Chen reg = <0x2e 0x2>; 2021b36e944aSJoseph Chen }; 2022c6f7c1a3SJoseph Chen }; 2023c6f7c1a3SJoseph Chen 2024c6f7c1a3SJoseph Chen dmac: dma-controller@ffd60000 { 2025c6f7c1a3SJoseph Chen compatible = "arm,pl330", "arm,primecell"; 2026c6f7c1a3SJoseph Chen reg = <0x0 0xffd60000 0x0 0x4000>; 2027c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 2028c6f7c1a3SJoseph Chen <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 2029c6f7c1a3SJoseph Chen <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 2030c6f7c1a3SJoseph Chen <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 2031c6f7c1a3SJoseph Chen <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 2032c6f7c1a3SJoseph Chen <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 2033c6f7c1a3SJoseph Chen <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 2034c6f7c1a3SJoseph Chen <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 2035c6f7c1a3SJoseph Chen <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 2036b36e944aSJoseph Chen clocks = <&cru ACLK_DMAC>; 2037c6f7c1a3SJoseph Chen clock-names = "apb_pclk"; 2038c6f7c1a3SJoseph Chen #dma-cells = <1>; 2039c6f7c1a3SJoseph Chen arm,pl330-periph-burst; 2040c6f7c1a3SJoseph Chen }; 2041c6f7c1a3SJoseph Chen 2042c6f7c1a3SJoseph Chen hwlock: hwspinlock@ffd70000 { 2043c6f7c1a3SJoseph Chen compatible = "rockchip,hwspinlock"; 2044c6f7c1a3SJoseph Chen reg = <0x0 0xffd70000 0x0 0x100>; 2045c6f7c1a3SJoseph Chen #hwlock-cells = <1>; 2046c6f7c1a3SJoseph Chen status = "disabled"; 2047c6f7c1a3SJoseph Chen }; 2048c6f7c1a3SJoseph Chen 2049c6f7c1a3SJoseph Chen combphy_pu: phy@ffdc0000 { 2050c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-naneng-combphy"; 2051c6f7c1a3SJoseph Chen reg = <0x0 0xffdc0000 0x0 0x10000>; 2052c6f7c1a3SJoseph Chen #phy-cells = <1>; 2053c6f7c1a3SJoseph Chen clocks = <&cru CLK_REF_PCIE_INNER_PHY>, <&cru PCLK_PCIE_PHY>, <&cru PCLK_PIPE_GRF>; 2054c6f7c1a3SJoseph Chen clock-names = "refclk", "apbclk", "pipe_clk"; 2055c6f7c1a3SJoseph Chen assigned-clocks = <&cru CLK_REF_PCIE_INNER_PHY>; 2056c6f7c1a3SJoseph Chen assigned-clock-rates = <100000000>; 2057c6f7c1a3SJoseph Chen resets = <&cru SRST_PRESETN_PCIE_PHY>, <&cru SRST_RESETN_PCIE_PIPE_PHY>; 2058c6f7c1a3SJoseph Chen reset-names = "combphy-apb", "combphy"; 2059c6f7c1a3SJoseph Chen rockchip,pipe-grf = <&grf>; 2060c6f7c1a3SJoseph Chen rockchip,pipe-phy-grf = <&grf>; 2061c6f7c1a3SJoseph Chen status = "disabled"; 2062c6f7c1a3SJoseph Chen }; 2063c6f7c1a3SJoseph Chen 2064c6f7c1a3SJoseph Chen usb2phy: usb2-phy@ffdf0000 { 2065c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-usb2phy"; 2066c6f7c1a3SJoseph Chen reg = <0x0 0xffdf0000 0x0 0x10000>; 2067b36e944aSJoseph Chen clocks = <&cru CLK_REF_USBPHY>, <&cru PCLK_USBPHY>; 2068b36e944aSJoseph Chen clock-names = "phyclk", "apb_pclk"; 2069c6f7c1a3SJoseph Chen #clock-cells = <0>; 2070c6f7c1a3SJoseph Chen rockchip,usbgrf = <&grf>; 2071c6f7c1a3SJoseph Chen status = "disabled"; 2072c6f7c1a3SJoseph Chen 2073c6f7c1a3SJoseph Chen u2phy_otg: otg-port { 2074c6f7c1a3SJoseph Chen #phy-cells = <0>; 2075c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 2076c6f7c1a3SJoseph Chen <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, 2077c6f7c1a3SJoseph Chen <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 2078c6f7c1a3SJoseph Chen interrupt-names = "otg-bvalid", 2079c6f7c1a3SJoseph Chen "otg-id", 2080c6f7c1a3SJoseph Chen "linestate"; 2081c6f7c1a3SJoseph Chen status = "disabled"; 2082c6f7c1a3SJoseph Chen }; 2083c6f7c1a3SJoseph Chen 2084c6f7c1a3SJoseph Chen u2phy_host: host-port { 2085c6f7c1a3SJoseph Chen #phy-cells = <0>; 2086c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; 2087c6f7c1a3SJoseph Chen interrupt-names = "linestate"; 2088c6f7c1a3SJoseph Chen status = "disabled"; 2089c6f7c1a3SJoseph Chen }; 2090c6f7c1a3SJoseph Chen }; 2091c6f7c1a3SJoseph Chen 2092c6f7c1a3SJoseph Chen hdmiphy: hdmiphy@ffe00000 { 2093c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-hdmi-phy"; 2094c6f7c1a3SJoseph Chen reg = <0x0 0xffe00000 0x0 0x10000>; 2095c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 2096c6f7c1a3SJoseph Chen #phy-cells = <0>; 2097c6f7c1a3SJoseph Chen clocks = <&cru PCLK_HDMIPHY>, <&xin24m>; 2098c6f7c1a3SJoseph Chen clock-names = "sysclk", "refclk"; 2099c6f7c1a3SJoseph Chen #clock-cells = <0>; 2100c6f7c1a3SJoseph Chen clock-output-names = "clk_hdmiphy_pixel_io"; 2101c6f7c1a3SJoseph Chen status = "disabled"; 2102c6f7c1a3SJoseph Chen }; 2103c6f7c1a3SJoseph Chen 2104b36e944aSJoseph Chen acodec: acodec@ffe10000 { 2105b36e944aSJoseph Chen compatible = "rockchip,rk3528-codec"; 2106b36e944aSJoseph Chen reg = <0x0 0xffe10000 0x0 0x1000>; 2107b36e944aSJoseph Chen #sound-dai-cells = <0>; 2108b36e944aSJoseph Chen clocks = <&cru PCLK_ACODEC>, <&cru MCLK_ACODEC_TX>; 2109b36e944aSJoseph Chen clock-names = "pclk", "mclk"; 2110b36e944aSJoseph Chen resets = <&cru SRST_PRESETN_ACODEC>; 2111b36e944aSJoseph Chen reset-names = "acodec"; 2112b36e944aSJoseph Chen status = "disabled"; 2113b36e944aSJoseph Chen }; 2114b36e944aSJoseph Chen 2115c6f7c1a3SJoseph Chen pinctrl: pinctrl { 2116c6f7c1a3SJoseph Chen compatible = "rockchip,rk3528-pinctrl"; 2117c6f7c1a3SJoseph Chen rockchip,grf = <&ioc_grf>; 2118c6f7c1a3SJoseph Chen #address-cells = <2>; 2119c6f7c1a3SJoseph Chen #size-cells = <2>; 2120c6f7c1a3SJoseph Chen ranges; 2121c6f7c1a3SJoseph Chen 2122c6f7c1a3SJoseph Chen gpio0: gpio@ff610000 { 2123c6f7c1a3SJoseph Chen compatible = "rockchip,gpio-bank"; 2124c6f7c1a3SJoseph Chen reg = <0x0 0xff610000 0x0 0x200>; 2125c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 2126c6f7c1a3SJoseph Chen clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>; 2127c6f7c1a3SJoseph Chen gpio-controller; 2128c6f7c1a3SJoseph Chen #gpio-cells = <2>; 2129c6f7c1a3SJoseph Chen gpio-ranges = <&pinctrl 0 0 32>; 2130c6f7c1a3SJoseph Chen interrupt-controller; 2131c6f7c1a3SJoseph Chen #interrupt-cells = <2>; 2132c6f7c1a3SJoseph Chen }; 2133c6f7c1a3SJoseph Chen 2134c6f7c1a3SJoseph Chen gpio1: gpio@ffaf0000 { 2135c6f7c1a3SJoseph Chen compatible = "rockchip,gpio-bank"; 2136c6f7c1a3SJoseph Chen reg = <0x0 0xffaf0000 0x0 0x200>; 2137c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 2138c6f7c1a3SJoseph Chen clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 2139c6f7c1a3SJoseph Chen gpio-controller; 2140c6f7c1a3SJoseph Chen #gpio-cells = <2>; 2141c6f7c1a3SJoseph Chen gpio-ranges = <&pinctrl 0 32 32>; 2142c6f7c1a3SJoseph Chen interrupt-controller; 2143c6f7c1a3SJoseph Chen #interrupt-cells = <2>; 2144c6f7c1a3SJoseph Chen }; 2145c6f7c1a3SJoseph Chen 2146c6f7c1a3SJoseph Chen gpio2: gpio@ffb00000 { 2147c6f7c1a3SJoseph Chen compatible = "rockchip,gpio-bank"; 2148c6f7c1a3SJoseph Chen reg = <0x0 0xffb00000 0x0 0x200>; 2149c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 2150c6f7c1a3SJoseph Chen clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 2151c6f7c1a3SJoseph Chen gpio-controller; 2152c6f7c1a3SJoseph Chen #gpio-cells = <2>; 2153c6f7c1a3SJoseph Chen gpio-ranges = <&pinctrl 0 64 32>; 2154c6f7c1a3SJoseph Chen interrupt-controller; 2155c6f7c1a3SJoseph Chen #interrupt-cells = <2>; 2156c6f7c1a3SJoseph Chen }; 2157c6f7c1a3SJoseph Chen 2158c6f7c1a3SJoseph Chen gpio3: gpio@ffb10000 { 2159c6f7c1a3SJoseph Chen compatible = "rockchip,gpio-bank"; 2160c6f7c1a3SJoseph Chen reg = <0x0 0xffb10000 0x0 0x200>; 2161c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 2162c6f7c1a3SJoseph Chen clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 2163c6f7c1a3SJoseph Chen gpio-controller; 2164c6f7c1a3SJoseph Chen #gpio-cells = <2>; 2165c6f7c1a3SJoseph Chen gpio-ranges = <&pinctrl 0 96 32>; 2166c6f7c1a3SJoseph Chen interrupt-controller; 2167c6f7c1a3SJoseph Chen #interrupt-cells = <2>; 2168c6f7c1a3SJoseph Chen }; 2169c6f7c1a3SJoseph Chen 2170c6f7c1a3SJoseph Chen gpio4: gpio@ffb20000 { 2171c6f7c1a3SJoseph Chen compatible = "rockchip,gpio-bank"; 2172c6f7c1a3SJoseph Chen reg = <0x0 0xffb20000 0x0 0x200>; 2173c6f7c1a3SJoseph Chen interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 2174c6f7c1a3SJoseph Chen clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 2175c6f7c1a3SJoseph Chen gpio-controller; 2176c6f7c1a3SJoseph Chen #gpio-cells = <2>; 2177c6f7c1a3SJoseph Chen gpio-ranges = <&pinctrl 0 128 32>; 2178c6f7c1a3SJoseph Chen interrupt-controller; 2179c6f7c1a3SJoseph Chen #interrupt-cells = <2>; 2180c6f7c1a3SJoseph Chen }; 2181c6f7c1a3SJoseph Chen }; 2182c6f7c1a3SJoseph Chen}; 2183c6f7c1a3SJoseph Chen 2184c6f7c1a3SJoseph Chen#include "rk3528-pinctrl.dtsi" 2185