14ee99cebSKlaus Goger// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 252e02d37SLiang Chen/* 352e02d37SLiang Chen * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd 452e02d37SLiang Chen */ 552e02d37SLiang Chen 652e02d37SLiang Chen#include <dt-bindings/clock/rk3328-cru.h> 752e02d37SLiang Chen#include <dt-bindings/gpio/gpio.h> 852e02d37SLiang Chen#include <dt-bindings/interrupt-controller/arm-gic.h> 952e02d37SLiang Chen#include <dt-bindings/interrupt-controller/irq.h> 1052e02d37SLiang Chen#include <dt-bindings/pinctrl/rockchip.h> 1152e02d37SLiang Chen#include <dt-bindings/power/rk3328-power.h> 1252e02d37SLiang Chen#include <dt-bindings/soc/rockchip,boot-mode.h> 1387e0d607SRocky Hao#include <dt-bindings/thermal/thermal.h> 1452e02d37SLiang Chen 1552e02d37SLiang Chen/ { 1652e02d37SLiang Chen compatible = "rockchip,rk3328"; 1752e02d37SLiang Chen 1852e02d37SLiang Chen interrupt-parent = <&gic>; 1952e02d37SLiang Chen #address-cells = <2>; 2052e02d37SLiang Chen #size-cells = <2>; 2152e02d37SLiang Chen 2252e02d37SLiang Chen aliases { 2399851344SJohan Jonker gpio0 = &gpio0; 2499851344SJohan Jonker gpio1 = &gpio1; 2599851344SJohan Jonker gpio2 = &gpio2; 2699851344SJohan Jonker gpio3 = &gpio3; 2752e02d37SLiang Chen serial0 = &uart0; 2852e02d37SLiang Chen serial1 = &uart1; 2952e02d37SLiang Chen serial2 = &uart2; 3052e02d37SLiang Chen i2c0 = &i2c0; 3152e02d37SLiang Chen i2c1 = &i2c1; 3252e02d37SLiang Chen i2c2 = &i2c2; 3352e02d37SLiang Chen i2c3 = &i2c3; 3452e02d37SLiang Chen }; 3552e02d37SLiang Chen 3652e02d37SLiang Chen cpus { 3752e02d37SLiang Chen #address-cells = <2>; 3852e02d37SLiang Chen #size-cells = <0>; 3952e02d37SLiang Chen 4052e02d37SLiang Chen cpu0: cpu@0 { 4152e02d37SLiang Chen device_type = "cpu"; 4231af04cdSRob Herring compatible = "arm,cortex-a53"; 4352e02d37SLiang Chen reg = <0x0 0x0>; 4452e02d37SLiang Chen clocks = <&cru ARMCLK>; 4587e0d607SRocky Hao #cooling-cells = <2>; 464f279f9fSRobin Murphy cpu-idle-states = <&CPU_SLEEP>; 4787e0d607SRocky Hao dynamic-power-coefficient = <120>; 4852e02d37SLiang Chen enable-method = "psci"; 49e997a6a4SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 5067a6a985SDragan Simic i-cache-size = <0x8000>; 5167a6a985SDragan Simic i-cache-line-size = <64>; 5267a6a985SDragan Simic i-cache-sets = <256>; 5367a6a985SDragan Simic d-cache-size = <0x8000>; 5467a6a985SDragan Simic d-cache-line-size = <64>; 5567a6a985SDragan Simic d-cache-sets = <128>; 5667a6a985SDragan Simic next-level-cache = <&l2_cache>; 5752e02d37SLiang Chen }; 5852e02d37SLiang Chen 5952e02d37SLiang Chen cpu1: cpu@1 { 6052e02d37SLiang Chen device_type = "cpu"; 6131af04cdSRob Herring compatible = "arm,cortex-a53"; 6252e02d37SLiang Chen reg = <0x0 0x1>; 6352e02d37SLiang Chen clocks = <&cru ARMCLK>; 64cc9b0918SViresh Kumar #cooling-cells = <2>; 654f279f9fSRobin Murphy cpu-idle-states = <&CPU_SLEEP>; 6687e0d607SRocky Hao dynamic-power-coefficient = <120>; 6752e02d37SLiang Chen enable-method = "psci"; 68e997a6a4SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 6967a6a985SDragan Simic i-cache-size = <0x8000>; 7067a6a985SDragan Simic i-cache-line-size = <64>; 7167a6a985SDragan Simic i-cache-sets = <256>; 7267a6a985SDragan Simic d-cache-size = <0x8000>; 7367a6a985SDragan Simic d-cache-line-size = <64>; 7467a6a985SDragan Simic d-cache-sets = <128>; 7567a6a985SDragan Simic next-level-cache = <&l2_cache>; 7652e02d37SLiang Chen }; 7752e02d37SLiang Chen 7852e02d37SLiang Chen cpu2: cpu@2 { 7952e02d37SLiang Chen device_type = "cpu"; 8031af04cdSRob Herring compatible = "arm,cortex-a53"; 8152e02d37SLiang Chen reg = <0x0 0x2>; 8252e02d37SLiang Chen clocks = <&cru ARMCLK>; 83cc9b0918SViresh Kumar #cooling-cells = <2>; 844f279f9fSRobin Murphy cpu-idle-states = <&CPU_SLEEP>; 8587e0d607SRocky Hao dynamic-power-coefficient = <120>; 8652e02d37SLiang Chen enable-method = "psci"; 87e997a6a4SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 8867a6a985SDragan Simic i-cache-size = <0x8000>; 8967a6a985SDragan Simic i-cache-line-size = <64>; 9067a6a985SDragan Simic i-cache-sets = <256>; 9167a6a985SDragan Simic d-cache-size = <0x8000>; 9267a6a985SDragan Simic d-cache-line-size = <64>; 9367a6a985SDragan Simic d-cache-sets = <128>; 9467a6a985SDragan Simic next-level-cache = <&l2_cache>; 9552e02d37SLiang Chen }; 9652e02d37SLiang Chen 9752e02d37SLiang Chen cpu3: cpu@3 { 9852e02d37SLiang Chen device_type = "cpu"; 9931af04cdSRob Herring compatible = "arm,cortex-a53"; 10052e02d37SLiang Chen reg = <0x0 0x3>; 10152e02d37SLiang Chen clocks = <&cru ARMCLK>; 102cc9b0918SViresh Kumar #cooling-cells = <2>; 1034f279f9fSRobin Murphy cpu-idle-states = <&CPU_SLEEP>; 10487e0d607SRocky Hao dynamic-power-coefficient = <120>; 10552e02d37SLiang Chen enable-method = "psci"; 106e997a6a4SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 10767a6a985SDragan Simic i-cache-size = <0x8000>; 10867a6a985SDragan Simic i-cache-line-size = <64>; 10967a6a985SDragan Simic i-cache-sets = <256>; 11067a6a985SDragan Simic d-cache-size = <0x8000>; 11167a6a985SDragan Simic d-cache-line-size = <64>; 11267a6a985SDragan Simic d-cache-sets = <128>; 11367a6a985SDragan Simic next-level-cache = <&l2_cache>; 11452e02d37SLiang Chen }; 11552e02d37SLiang Chen 1164f279f9fSRobin Murphy idle-states { 1174f279f9fSRobin Murphy entry-method = "psci"; 1184f279f9fSRobin Murphy 1194f279f9fSRobin Murphy CPU_SLEEP: cpu-sleep { 1204f279f9fSRobin Murphy compatible = "arm,idle-state"; 1214f279f9fSRobin Murphy local-timer-stop; 1224f279f9fSRobin Murphy arm,psci-suspend-param = <0x0010000>; 1234f279f9fSRobin Murphy entry-latency-us = <120>; 1244f279f9fSRobin Murphy exit-latency-us = <250>; 1254f279f9fSRobin Murphy min-residency-us = <900>; 1264f279f9fSRobin Murphy }; 1274f279f9fSRobin Murphy }; 1284f279f9fSRobin Murphy 12967a6a985SDragan Simic l2_cache: l2-cache { 13052e02d37SLiang Chen compatible = "cache"; 131848343c0SPierre Gondois cache-level = <2>; 13242dcd054SKrzysztof Kozlowski cache-unified; 13367a6a985SDragan Simic cache-size = <0x40000>; 13467a6a985SDragan Simic cache-line-size = <64>; 13567a6a985SDragan Simic cache-sets = <256>; 13652e02d37SLiang Chen }; 13752e02d37SLiang Chen }; 13852e02d37SLiang Chen 139a30f3d90SKrzysztof Kozlowski cpu0_opp_table: opp-table-0 { 140e997a6a4SFinley Xiao compatible = "operating-points-v2"; 141e997a6a4SFinley Xiao opp-shared; 142e997a6a4SFinley Xiao 143e997a6a4SFinley Xiao opp-408000000 { 144e997a6a4SFinley Xiao opp-hz = /bits/ 64 <408000000>; 145e997a6a4SFinley Xiao opp-microvolt = <950000>; 146e997a6a4SFinley Xiao clock-latency-ns = <40000>; 147e997a6a4SFinley Xiao opp-suspend; 148e997a6a4SFinley Xiao }; 149e997a6a4SFinley Xiao opp-600000000 { 150e997a6a4SFinley Xiao opp-hz = /bits/ 64 <600000000>; 151e997a6a4SFinley Xiao opp-microvolt = <950000>; 152e997a6a4SFinley Xiao clock-latency-ns = <40000>; 153e997a6a4SFinley Xiao }; 154e997a6a4SFinley Xiao opp-816000000 { 155e997a6a4SFinley Xiao opp-hz = /bits/ 64 <816000000>; 156e997a6a4SFinley Xiao opp-microvolt = <1000000>; 157e997a6a4SFinley Xiao clock-latency-ns = <40000>; 158e997a6a4SFinley Xiao }; 159e997a6a4SFinley Xiao opp-1008000000 { 160e997a6a4SFinley Xiao opp-hz = /bits/ 64 <1008000000>; 161e997a6a4SFinley Xiao opp-microvolt = <1100000>; 162e997a6a4SFinley Xiao clock-latency-ns = <40000>; 163e997a6a4SFinley Xiao }; 164e997a6a4SFinley Xiao opp-1200000000 { 165e997a6a4SFinley Xiao opp-hz = /bits/ 64 <1200000000>; 166e997a6a4SFinley Xiao opp-microvolt = <1225000>; 167e997a6a4SFinley Xiao clock-latency-ns = <40000>; 168e997a6a4SFinley Xiao }; 169e997a6a4SFinley Xiao opp-1296000000 { 170e997a6a4SFinley Xiao opp-hz = /bits/ 64 <1296000000>; 171e997a6a4SFinley Xiao opp-microvolt = <1300000>; 172e997a6a4SFinley Xiao clock-latency-ns = <40000>; 173e997a6a4SFinley Xiao }; 174e997a6a4SFinley Xiao }; 175e997a6a4SFinley Xiao 17629e8976eSRobin Murphy analog_sound: analog-sound { 17729e8976eSRobin Murphy compatible = "simple-audio-card"; 17829e8976eSRobin Murphy simple-audio-card,format = "i2s"; 17929e8976eSRobin Murphy simple-audio-card,mclk-fs = <256>; 18029e8976eSRobin Murphy simple-audio-card,name = "Analog"; 18129e8976eSRobin Murphy status = "disabled"; 18229e8976eSRobin Murphy 18329e8976eSRobin Murphy simple-audio-card,cpu { 18429e8976eSRobin Murphy sound-dai = <&i2s1>; 18529e8976eSRobin Murphy }; 18629e8976eSRobin Murphy 18729e8976eSRobin Murphy simple-audio-card,codec { 18829e8976eSRobin Murphy sound-dai = <&codec>; 18929e8976eSRobin Murphy }; 19029e8976eSRobin Murphy }; 19129e8976eSRobin Murphy 19252e02d37SLiang Chen arm-pmu { 19352e02d37SLiang Chen compatible = "arm,cortex-a53-pmu"; 19452e02d37SLiang Chen interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 19552e02d37SLiang Chen <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 19652e02d37SLiang Chen <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 19752e02d37SLiang Chen <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 19852e02d37SLiang Chen interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 19952e02d37SLiang Chen }; 20052e02d37SLiang Chen 201725e351cSHeiko Stuebner display_subsystem: display-subsystem { 202725e351cSHeiko Stuebner compatible = "rockchip,display-subsystem"; 203725e351cSHeiko Stuebner ports = <&vop_out>; 204725e351cSHeiko Stuebner }; 205725e351cSHeiko Stuebner 20629e8976eSRobin Murphy hdmi_sound: hdmi-sound { 20729e8976eSRobin Murphy compatible = "simple-audio-card"; 20829e8976eSRobin Murphy simple-audio-card,format = "i2s"; 20929e8976eSRobin Murphy simple-audio-card,mclk-fs = <128>; 21029e8976eSRobin Murphy simple-audio-card,name = "HDMI"; 21129e8976eSRobin Murphy status = "disabled"; 21229e8976eSRobin Murphy 21329e8976eSRobin Murphy simple-audio-card,cpu { 21429e8976eSRobin Murphy sound-dai = <&i2s0>; 21529e8976eSRobin Murphy }; 21629e8976eSRobin Murphy 21729e8976eSRobin Murphy simple-audio-card,codec { 21829e8976eSRobin Murphy sound-dai = <&hdmi>; 21929e8976eSRobin Murphy }; 22029e8976eSRobin Murphy }; 22129e8976eSRobin Murphy 22252e02d37SLiang Chen psci { 22352e02d37SLiang Chen compatible = "arm,psci-1.0", "arm,psci-0.2"; 22452e02d37SLiang Chen method = "smc"; 22552e02d37SLiang Chen }; 22652e02d37SLiang Chen 22752e02d37SLiang Chen timer { 22852e02d37SLiang Chen compatible = "arm,armv8-timer"; 22952e02d37SLiang Chen interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 23052e02d37SLiang Chen <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 23152e02d37SLiang Chen <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 23252e02d37SLiang Chen <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 23352e02d37SLiang Chen }; 23452e02d37SLiang Chen 23552e02d37SLiang Chen xin24m: xin24m { 23652e02d37SLiang Chen compatible = "fixed-clock"; 23752e02d37SLiang Chen #clock-cells = <0>; 23852e02d37SLiang Chen clock-frequency = <24000000>; 23952e02d37SLiang Chen clock-output-names = "xin24m"; 24052e02d37SLiang Chen }; 24152e02d37SLiang Chen 242d80ef50aSSugar Zhang i2s0: i2s@ff000000 { 243d80ef50aSSugar Zhang compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s"; 244d80ef50aSSugar Zhang reg = <0x0 0xff000000 0x0 0x1000>; 245d80ef50aSSugar Zhang interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 246d80ef50aSSugar Zhang clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>; 247d80ef50aSSugar Zhang clock-names = "i2s_clk", "i2s_hclk"; 248d80ef50aSSugar Zhang dmas = <&dmac 11>, <&dmac 12>; 249d80ef50aSSugar Zhang dma-names = "tx", "rx"; 250b78442b8SHeiko Stuebner #sound-dai-cells = <0>; 251d80ef50aSSugar Zhang status = "disabled"; 252d80ef50aSSugar Zhang }; 253d80ef50aSSugar Zhang 254d80ef50aSSugar Zhang i2s1: i2s@ff010000 { 255d80ef50aSSugar Zhang compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s"; 256d80ef50aSSugar Zhang reg = <0x0 0xff010000 0x0 0x1000>; 257d80ef50aSSugar Zhang interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 258d80ef50aSSugar Zhang clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>; 259d80ef50aSSugar Zhang clock-names = "i2s_clk", "i2s_hclk"; 260d80ef50aSSugar Zhang dmas = <&dmac 14>, <&dmac 15>; 261d80ef50aSSugar Zhang dma-names = "tx", "rx"; 262b78442b8SHeiko Stuebner #sound-dai-cells = <0>; 263d80ef50aSSugar Zhang status = "disabled"; 264d80ef50aSSugar Zhang }; 265d80ef50aSSugar Zhang 266d80ef50aSSugar Zhang i2s2: i2s@ff020000 { 267d80ef50aSSugar Zhang compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s"; 268d80ef50aSSugar Zhang reg = <0x0 0xff020000 0x0 0x1000>; 269d80ef50aSSugar Zhang interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 270d80ef50aSSugar Zhang clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>; 271d80ef50aSSugar Zhang clock-names = "i2s_clk", "i2s_hclk"; 272d80ef50aSSugar Zhang dmas = <&dmac 0>, <&dmac 1>; 273d80ef50aSSugar Zhang dma-names = "tx", "rx"; 274b78442b8SHeiko Stuebner #sound-dai-cells = <0>; 275d80ef50aSSugar Zhang status = "disabled"; 276d80ef50aSSugar Zhang }; 277d80ef50aSSugar Zhang 278fc982e0bSSugar Zhang spdif: spdif@ff030000 { 279fc982e0bSSugar Zhang compatible = "rockchip,rk3328-spdif"; 280fc982e0bSSugar Zhang reg = <0x0 0xff030000 0x0 0x1000>; 281fc982e0bSSugar Zhang interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 282fc982e0bSSugar Zhang clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>; 283fc982e0bSSugar Zhang clock-names = "mclk", "hclk"; 284fc982e0bSSugar Zhang dmas = <&dmac 10>; 285fc982e0bSSugar Zhang dma-names = "tx"; 286fc982e0bSSugar Zhang pinctrl-names = "default"; 287fc982e0bSSugar Zhang pinctrl-0 = <&spdifm2_tx>; 288b78442b8SHeiko Stuebner #sound-dai-cells = <0>; 289fc982e0bSSugar Zhang status = "disabled"; 290fc982e0bSSugar Zhang }; 291fc982e0bSSugar Zhang 29213ed1501SSugar Zhang pdm: pdm@ff040000 { 29313ed1501SSugar Zhang compatible = "rockchip,pdm"; 29413ed1501SSugar Zhang reg = <0x0 0xff040000 0x0 0x1000>; 29513ed1501SSugar Zhang clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>; 29613ed1501SSugar Zhang clock-names = "pdm_clk", "pdm_hclk"; 29713ed1501SSugar Zhang dmas = <&dmac 16>; 29813ed1501SSugar Zhang dma-names = "rx"; 29913ed1501SSugar Zhang pinctrl-names = "default", "sleep"; 30013ed1501SSugar Zhang pinctrl-0 = <&pdmm0_clk 30113ed1501SSugar Zhang &pdmm0_sdi0 30213ed1501SSugar Zhang &pdmm0_sdi1 30313ed1501SSugar Zhang &pdmm0_sdi2 30413ed1501SSugar Zhang &pdmm0_sdi3>; 30513ed1501SSugar Zhang pinctrl-1 = <&pdmm0_clk_sleep 30613ed1501SSugar Zhang &pdmm0_sdi0_sleep 30713ed1501SSugar Zhang &pdmm0_sdi1_sleep 30813ed1501SSugar Zhang &pdmm0_sdi2_sleep 30913ed1501SSugar Zhang &pdmm0_sdi3_sleep>; 31013ed1501SSugar Zhang status = "disabled"; 31113ed1501SSugar Zhang }; 31213ed1501SSugar Zhang 31352e02d37SLiang Chen grf: syscon@ff100000 { 31452e02d37SLiang Chen compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd"; 31552e02d37SLiang Chen reg = <0x0 0xff100000 0x0 0x1000>; 31652e02d37SLiang Chen 317cc51f503SDavid Wu io_domains: io-domains { 318cc51f503SDavid Wu compatible = "rockchip,rk3328-io-voltage-domain"; 319cc51f503SDavid Wu status = "disabled"; 320cc51f503SDavid Wu }; 321cc51f503SDavid Wu 32219486fe5SJohan Jonker grf_gpio: gpio { 323692ff61eSLevin Du compatible = "rockchip,rk3328-grf-gpio"; 324692ff61eSLevin Du gpio-controller; 325692ff61eSLevin Du #gpio-cells = <2>; 326692ff61eSLevin Du }; 327692ff61eSLevin Du 32852e02d37SLiang Chen power: power-controller { 32952e02d37SLiang Chen compatible = "rockchip,rk3328-power-controller"; 33052e02d37SLiang Chen #power-domain-cells = <1>; 33152e02d37SLiang Chen #address-cells = <1>; 33252e02d37SLiang Chen #size-cells = <0>; 33352e02d37SLiang Chen 3346e6a282bSElaine Zhang power-domain@RK3328_PD_HEVC { 33552e02d37SLiang Chen reg = <RK3328_PD_HEVC>; 3363699f2c4SPeter Geis clocks = <&cru SCLK_VENC_CORE>; 337837188d4SJohan Jonker #power-domain-cells = <0>; 33852e02d37SLiang Chen }; 3396e6a282bSElaine Zhang power-domain@RK3328_PD_VIDEO { 34052e02d37SLiang Chen reg = <RK3328_PD_VIDEO>; 34117408c9bSChristopher Obbard clocks = <&cru ACLK_RKVDEC>, 34217408c9bSChristopher Obbard <&cru HCLK_RKVDEC>, 34317408c9bSChristopher Obbard <&cru SCLK_VDEC_CABAC>, 34417408c9bSChristopher Obbard <&cru SCLK_VDEC_CORE>; 345837188d4SJohan Jonker #power-domain-cells = <0>; 34652e02d37SLiang Chen }; 3476e6a282bSElaine Zhang power-domain@RK3328_PD_VPU { 34852e02d37SLiang Chen reg = <RK3328_PD_VPU>; 349e8cae2e6SJonas Karlman clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 350837188d4SJohan Jonker #power-domain-cells = <0>; 35152e02d37SLiang Chen }; 35252e02d37SLiang Chen }; 35352e02d37SLiang Chen 35452e02d37SLiang Chen reboot-mode { 35552e02d37SLiang Chen compatible = "syscon-reboot-mode"; 35652e02d37SLiang Chen offset = <0x5c8>; 35752e02d37SLiang Chen mode-normal = <BOOT_NORMAL>; 35852e02d37SLiang Chen mode-recovery = <BOOT_RECOVERY>; 35952e02d37SLiang Chen mode-bootloader = <BOOT_FASTBOOT>; 36052e02d37SLiang Chen mode-loader = <BOOT_BL_DOWNLOAD>; 36152e02d37SLiang Chen }; 36252e02d37SLiang Chen }; 36352e02d37SLiang Chen 36452e02d37SLiang Chen uart0: serial@ff110000 { 36552e02d37SLiang Chen compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart"; 36652e02d37SLiang Chen reg = <0x0 0xff110000 0x0 0x100>; 36752e02d37SLiang Chen interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 36852e02d37SLiang Chen clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 36952e02d37SLiang Chen clock-names = "baudclk", "apb_pclk"; 37052e02d37SLiang Chen dmas = <&dmac 2>, <&dmac 3>; 3711255fe03SRobin Murphy dma-names = "tx", "rx"; 37252e02d37SLiang Chen pinctrl-names = "default"; 37352e02d37SLiang Chen pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 37452e02d37SLiang Chen reg-io-width = <4>; 37552e02d37SLiang Chen reg-shift = <2>; 37652e02d37SLiang Chen status = "disabled"; 37752e02d37SLiang Chen }; 37852e02d37SLiang Chen 37952e02d37SLiang Chen uart1: serial@ff120000 { 38052e02d37SLiang Chen compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart"; 38152e02d37SLiang Chen reg = <0x0 0xff120000 0x0 0x100>; 38252e02d37SLiang Chen interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 38352e02d37SLiang Chen clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 384d0414fddSHuibin Hong clock-names = "baudclk", "apb_pclk"; 38552e02d37SLiang Chen dmas = <&dmac 4>, <&dmac 5>; 3861255fe03SRobin Murphy dma-names = "tx", "rx"; 38752e02d37SLiang Chen pinctrl-names = "default"; 38852e02d37SLiang Chen pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>; 38952e02d37SLiang Chen reg-io-width = <4>; 39052e02d37SLiang Chen reg-shift = <2>; 39152e02d37SLiang Chen status = "disabled"; 39252e02d37SLiang Chen }; 39352e02d37SLiang Chen 39452e02d37SLiang Chen uart2: serial@ff130000 { 39552e02d37SLiang Chen compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart"; 39652e02d37SLiang Chen reg = <0x0 0xff130000 0x0 0x100>; 39752e02d37SLiang Chen interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 39852e02d37SLiang Chen clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 39952e02d37SLiang Chen clock-names = "baudclk", "apb_pclk"; 40052e02d37SLiang Chen dmas = <&dmac 6>, <&dmac 7>; 4011255fe03SRobin Murphy dma-names = "tx", "rx"; 40252e02d37SLiang Chen pinctrl-names = "default"; 40352e02d37SLiang Chen pinctrl-0 = <&uart2m1_xfer>; 40452e02d37SLiang Chen reg-io-width = <4>; 40552e02d37SLiang Chen reg-shift = <2>; 40652e02d37SLiang Chen status = "disabled"; 40752e02d37SLiang Chen }; 40852e02d37SLiang Chen 40952e02d37SLiang Chen i2c0: i2c@ff150000 { 41052e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 41152e02d37SLiang Chen reg = <0x0 0xff150000 0x0 0x1000>; 41252e02d37SLiang Chen interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 41352e02d37SLiang Chen #address-cells = <1>; 41452e02d37SLiang Chen #size-cells = <0>; 41552e02d37SLiang Chen clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>; 41652e02d37SLiang Chen clock-names = "i2c", "pclk"; 41752e02d37SLiang Chen pinctrl-names = "default"; 41852e02d37SLiang Chen pinctrl-0 = <&i2c0_xfer>; 41952e02d37SLiang Chen status = "disabled"; 42052e02d37SLiang Chen }; 42152e02d37SLiang Chen 42252e02d37SLiang Chen i2c1: i2c@ff160000 { 42352e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 42452e02d37SLiang Chen reg = <0x0 0xff160000 0x0 0x1000>; 42552e02d37SLiang Chen interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 42652e02d37SLiang Chen #address-cells = <1>; 42752e02d37SLiang Chen #size-cells = <0>; 42852e02d37SLiang Chen clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>; 42952e02d37SLiang Chen clock-names = "i2c", "pclk"; 43052e02d37SLiang Chen pinctrl-names = "default"; 43152e02d37SLiang Chen pinctrl-0 = <&i2c1_xfer>; 43252e02d37SLiang Chen status = "disabled"; 43352e02d37SLiang Chen }; 43452e02d37SLiang Chen 43552e02d37SLiang Chen i2c2: i2c@ff170000 { 43652e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 43752e02d37SLiang Chen reg = <0x0 0xff170000 0x0 0x1000>; 43852e02d37SLiang Chen interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 43952e02d37SLiang Chen #address-cells = <1>; 44052e02d37SLiang Chen #size-cells = <0>; 44152e02d37SLiang Chen clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>; 44252e02d37SLiang Chen clock-names = "i2c", "pclk"; 44352e02d37SLiang Chen pinctrl-names = "default"; 44452e02d37SLiang Chen pinctrl-0 = <&i2c2_xfer>; 44552e02d37SLiang Chen status = "disabled"; 44652e02d37SLiang Chen }; 44752e02d37SLiang Chen 44852e02d37SLiang Chen i2c3: i2c@ff180000 { 44952e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 45052e02d37SLiang Chen reg = <0x0 0xff180000 0x0 0x1000>; 45152e02d37SLiang Chen interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 45252e02d37SLiang Chen #address-cells = <1>; 45352e02d37SLiang Chen #size-cells = <0>; 45452e02d37SLiang Chen clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>; 45552e02d37SLiang Chen clock-names = "i2c", "pclk"; 45652e02d37SLiang Chen pinctrl-names = "default"; 45752e02d37SLiang Chen pinctrl-0 = <&i2c3_xfer>; 45852e02d37SLiang Chen status = "disabled"; 45952e02d37SLiang Chen }; 46052e02d37SLiang Chen 46152e02d37SLiang Chen spi0: spi@ff190000 { 46252e02d37SLiang Chen compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi"; 46352e02d37SLiang Chen reg = <0x0 0xff190000 0x0 0x1000>; 46452e02d37SLiang Chen interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 46552e02d37SLiang Chen #address-cells = <1>; 46652e02d37SLiang Chen #size-cells = <0>; 46752e02d37SLiang Chen clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>; 46852e02d37SLiang Chen clock-names = "spiclk", "apb_pclk"; 46952e02d37SLiang Chen dmas = <&dmac 8>, <&dmac 9>; 47052e02d37SLiang Chen dma-names = "tx", "rx"; 47152e02d37SLiang Chen pinctrl-names = "default"; 47252e02d37SLiang Chen pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>; 47352e02d37SLiang Chen status = "disabled"; 47452e02d37SLiang Chen }; 47552e02d37SLiang Chen 47652e02d37SLiang Chen wdt: watchdog@ff1a0000 { 4772499448cSJohan Jonker compatible = "rockchip,rk3328-wdt", "snps,dw-wdt"; 47852e02d37SLiang Chen reg = <0x0 0xff1a0000 0x0 0x100>; 47952e02d37SLiang Chen interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 480c9a8af80SLeonidas P. Papadakos clocks = <&cru PCLK_WDT>; 48152e02d37SLiang Chen }; 48252e02d37SLiang Chen 4830bb2ef61SDavid Wu pwm0: pwm@ff1b0000 { 4840bb2ef61SDavid Wu compatible = "rockchip,rk3328-pwm"; 4850bb2ef61SDavid Wu reg = <0x0 0xff1b0000 0x0 0x10>; 4860bb2ef61SDavid Wu clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 4870bb2ef61SDavid Wu clock-names = "pwm", "pclk"; 4880bb2ef61SDavid Wu pinctrl-names = "default"; 4890bb2ef61SDavid Wu pinctrl-0 = <&pwm0_pin>; 4900bb2ef61SDavid Wu #pwm-cells = <3>; 4910bb2ef61SDavid Wu status = "disabled"; 4920bb2ef61SDavid Wu }; 4930bb2ef61SDavid Wu 4940bb2ef61SDavid Wu pwm1: pwm@ff1b0010 { 4950bb2ef61SDavid Wu compatible = "rockchip,rk3328-pwm"; 4960bb2ef61SDavid Wu reg = <0x0 0xff1b0010 0x0 0x10>; 4970bb2ef61SDavid Wu clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 4980bb2ef61SDavid Wu clock-names = "pwm", "pclk"; 4990bb2ef61SDavid Wu pinctrl-names = "default"; 5000bb2ef61SDavid Wu pinctrl-0 = <&pwm1_pin>; 5010bb2ef61SDavid Wu #pwm-cells = <3>; 5020bb2ef61SDavid Wu status = "disabled"; 5030bb2ef61SDavid Wu }; 5040bb2ef61SDavid Wu 5050bb2ef61SDavid Wu pwm2: pwm@ff1b0020 { 5060bb2ef61SDavid Wu compatible = "rockchip,rk3328-pwm"; 5070bb2ef61SDavid Wu reg = <0x0 0xff1b0020 0x0 0x10>; 5080bb2ef61SDavid Wu clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 5090bb2ef61SDavid Wu clock-names = "pwm", "pclk"; 5100bb2ef61SDavid Wu pinctrl-names = "default"; 5110bb2ef61SDavid Wu pinctrl-0 = <&pwm2_pin>; 5120bb2ef61SDavid Wu #pwm-cells = <3>; 5130bb2ef61SDavid Wu status = "disabled"; 5140bb2ef61SDavid Wu }; 5150bb2ef61SDavid Wu 5160bb2ef61SDavid Wu pwm3: pwm@ff1b0030 { 5170bb2ef61SDavid Wu compatible = "rockchip,rk3328-pwm"; 5180bb2ef61SDavid Wu reg = <0x0 0xff1b0030 0x0 0x10>; 5190bb2ef61SDavid Wu clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 5200bb2ef61SDavid Wu clock-names = "pwm", "pclk"; 5210bb2ef61SDavid Wu pinctrl-names = "default"; 5220bb2ef61SDavid Wu pinctrl-0 = <&pwmir_pin>; 5230bb2ef61SDavid Wu #pwm-cells = <3>; 5240bb2ef61SDavid Wu status = "disabled"; 5250bb2ef61SDavid Wu }; 5260bb2ef61SDavid Wu 5278fd94150SKrzysztof Kozlowski dmac: dma-controller@ff1f0000 { 5289e824449SRobin Murphy compatible = "arm,pl330", "arm,primecell"; 5299e824449SRobin Murphy reg = <0x0 0xff1f0000 0x0 0x4000>; 5309e824449SRobin Murphy interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 5319e824449SRobin Murphy <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 5329e824449SRobin Murphy arm,pl330-periph-burst; 5339e824449SRobin Murphy clocks = <&cru ACLK_DMAC>; 5349e824449SRobin Murphy clock-names = "apb_pclk"; 5359e824449SRobin Murphy #dma-cells = <1>; 5369e824449SRobin Murphy }; 5379e824449SRobin Murphy 53887e0d607SRocky Hao thermal-zones { 53987e0d607SRocky Hao soc_thermal: soc-thermal { 54087e0d607SRocky Hao polling-delay-passive = <20>; 54187e0d607SRocky Hao polling-delay = <1000>; 54287e0d607SRocky Hao sustainable-power = <1000>; 54387e0d607SRocky Hao 54487e0d607SRocky Hao thermal-sensors = <&tsadc 0>; 54587e0d607SRocky Hao 54687e0d607SRocky Hao trips { 54787e0d607SRocky Hao threshold: trip-point0 { 54887e0d607SRocky Hao temperature = <70000>; 54987e0d607SRocky Hao hysteresis = <2000>; 55087e0d607SRocky Hao type = "passive"; 55187e0d607SRocky Hao }; 55287e0d607SRocky Hao target: trip-point1 { 55387e0d607SRocky Hao temperature = <85000>; 55487e0d607SRocky Hao hysteresis = <2000>; 55587e0d607SRocky Hao type = "passive"; 55687e0d607SRocky Hao }; 55787e0d607SRocky Hao soc_crit: soc-crit { 55887e0d607SRocky Hao temperature = <95000>; 55987e0d607SRocky Hao hysteresis = <2000>; 56087e0d607SRocky Hao type = "critical"; 56187e0d607SRocky Hao }; 56287e0d607SRocky Hao }; 56387e0d607SRocky Hao 56487e0d607SRocky Hao cooling-maps { 56587e0d607SRocky Hao map0 { 56687e0d607SRocky Hao trip = <&target>; 567cdd46460SViresh Kumar cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 568cdd46460SViresh Kumar <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 569cdd46460SViresh Kumar <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 570cdd46460SViresh Kumar <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 57187e0d607SRocky Hao contribution = <4096>; 57287e0d607SRocky Hao }; 57387e0d607SRocky Hao }; 57487e0d607SRocky Hao }; 57587e0d607SRocky Hao 57687e0d607SRocky Hao }; 57787e0d607SRocky Hao 57820590de2SRocky Hao tsadc: tsadc@ff250000 { 57920590de2SRocky Hao compatible = "rockchip,rk3328-tsadc"; 58020590de2SRocky Hao reg = <0x0 0xff250000 0x0 0x100>; 5813fa8c49fSHeiko Stuebner interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 58220590de2SRocky Hao assigned-clocks = <&cru SCLK_TSADC>; 58320590de2SRocky Hao assigned-clock-rates = <50000>; 58420590de2SRocky Hao clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 58520590de2SRocky Hao clock-names = "tsadc", "apb_pclk"; 58620590de2SRocky Hao pinctrl-names = "init", "default", "sleep"; 5872bc65fefSJohan Jonker pinctrl-0 = <&otp_pin>; 58820590de2SRocky Hao pinctrl-1 = <&otp_out>; 5892bc65fefSJohan Jonker pinctrl-2 = <&otp_pin>; 59020590de2SRocky Hao resets = <&cru SRST_TSADC>; 59120590de2SRocky Hao reset-names = "tsadc-apb"; 59220590de2SRocky Hao rockchip,grf = <&grf>; 59320590de2SRocky Hao rockchip,hw-tshut-temp = <100000>; 59420590de2SRocky Hao #thermal-sensor-cells = <1>; 59520590de2SRocky Hao status = "disabled"; 59620590de2SRocky Hao }; 59720590de2SRocky Hao 59813bc2c0aSFinley Xiao efuse: efuse@ff260000 { 59913bc2c0aSFinley Xiao compatible = "rockchip,rk3328-efuse"; 60013bc2c0aSFinley Xiao reg = <0x0 0xff260000 0x0 0x50>; 60113bc2c0aSFinley Xiao #address-cells = <1>; 60213bc2c0aSFinley Xiao #size-cells = <1>; 60313bc2c0aSFinley Xiao clocks = <&cru SCLK_EFUSE>; 60413bc2c0aSFinley Xiao clock-names = "pclk_efuse"; 60513bc2c0aSFinley Xiao rockchip,efuse-size = <0x20>; 60613bc2c0aSFinley Xiao 60713bc2c0aSFinley Xiao /* Data cells */ 60813bc2c0aSFinley Xiao efuse_id: id@7 { 60913bc2c0aSFinley Xiao reg = <0x07 0x10>; 61013bc2c0aSFinley Xiao }; 61113bc2c0aSFinley Xiao cpu_leakage: cpu-leakage@17 { 61213bc2c0aSFinley Xiao reg = <0x17 0x1>; 61313bc2c0aSFinley Xiao }; 61413bc2c0aSFinley Xiao logic_leakage: logic-leakage@19 { 61513bc2c0aSFinley Xiao reg = <0x19 0x1>; 61613bc2c0aSFinley Xiao }; 61713bc2c0aSFinley Xiao efuse_cpu_version: cpu-version@1a { 61813bc2c0aSFinley Xiao reg = <0x1a 0x1>; 61913bc2c0aSFinley Xiao bits = <3 3>; 62013bc2c0aSFinley Xiao }; 62113bc2c0aSFinley Xiao }; 62213bc2c0aSFinley Xiao 62352e02d37SLiang Chen saradc: adc@ff280000 { 62452e02d37SLiang Chen compatible = "rockchip,rk3328-saradc", "rockchip,rk3399-saradc"; 62552e02d37SLiang Chen reg = <0x0 0xff280000 0x0 0x100>; 62652e02d37SLiang Chen interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 62752e02d37SLiang Chen #io-channel-cells = <1>; 62852e02d37SLiang Chen clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 62952e02d37SLiang Chen clock-names = "saradc", "apb_pclk"; 63052e02d37SLiang Chen resets = <&cru SRST_SARADC_P>; 63152e02d37SLiang Chen reset-names = "saradc-apb"; 63252e02d37SLiang Chen status = "disabled"; 63352e02d37SLiang Chen }; 63452e02d37SLiang Chen 635752fbc0cSHeiko Stuebner gpu: gpu@ff300000 { 636752fbc0cSHeiko Stuebner compatible = "rockchip,rk3328-mali", "arm,mali-450"; 637932b4610SAlex Bee reg = <0x0 0xff300000 0x0 0x30000>; 638752fbc0cSHeiko Stuebner interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 639752fbc0cSHeiko Stuebner <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 640752fbc0cSHeiko Stuebner <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, 641752fbc0cSHeiko Stuebner <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 642752fbc0cSHeiko Stuebner <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 643752fbc0cSHeiko Stuebner <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, 644752fbc0cSHeiko Stuebner <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 645752fbc0cSHeiko Stuebner interrupt-names = "gp", 646752fbc0cSHeiko Stuebner "gpmmu", 647752fbc0cSHeiko Stuebner "pp", 648752fbc0cSHeiko Stuebner "pp0", 649752fbc0cSHeiko Stuebner "ppmmu0", 650752fbc0cSHeiko Stuebner "pp1", 651752fbc0cSHeiko Stuebner "ppmmu1"; 652752fbc0cSHeiko Stuebner clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; 653752fbc0cSHeiko Stuebner clock-names = "bus", "core"; 654752fbc0cSHeiko Stuebner resets = <&cru SRST_GPU_A>; 655752fbc0cSHeiko Stuebner }; 656752fbc0cSHeiko Stuebner 65749c82f2bSSimon Xue h265e_mmu: iommu@ff330200 { 65849c82f2bSSimon Xue compatible = "rockchip,iommu"; 65949c82f2bSSimon Xue reg = <0x0 0xff330200 0 0x100>; 66049c82f2bSSimon Xue interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 661df3bcde7SJeffy Chen clocks = <&cru ACLK_H265>, <&cru PCLK_H265>; 662df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 66349c82f2bSSimon Xue #iommu-cells = <0>; 66449c82f2bSSimon Xue status = "disabled"; 66549c82f2bSSimon Xue }; 66649c82f2bSSimon Xue 66749c82f2bSSimon Xue vepu_mmu: iommu@ff340800 { 66849c82f2bSSimon Xue compatible = "rockchip,iommu"; 66949c82f2bSSimon Xue reg = <0x0 0xff340800 0x0 0x40>; 67049c82f2bSSimon Xue interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 671df3bcde7SJeffy Chen clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 672df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 67349c82f2bSSimon Xue #iommu-cells = <0>; 67449c82f2bSSimon Xue status = "disabled"; 67549c82f2bSSimon Xue }; 67649c82f2bSSimon Xue 677e8cae2e6SJonas Karlman vpu: video-codec@ff350000 { 678e8cae2e6SJonas Karlman compatible = "rockchip,rk3328-vpu"; 679e8cae2e6SJonas Karlman reg = <0x0 0xff350000 0x0 0x800>; 680e8cae2e6SJonas Karlman interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 681e8cae2e6SJonas Karlman interrupt-names = "vdpu"; 682e8cae2e6SJonas Karlman clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 683e8cae2e6SJonas Karlman clock-names = "aclk", "hclk"; 684e8cae2e6SJonas Karlman iommus = <&vpu_mmu>; 685e8cae2e6SJonas Karlman power-domains = <&power RK3328_PD_VPU>; 686e8cae2e6SJonas Karlman }; 687e8cae2e6SJonas Karlman 68849c82f2bSSimon Xue vpu_mmu: iommu@ff350800 { 68949c82f2bSSimon Xue compatible = "rockchip,iommu"; 69049c82f2bSSimon Xue reg = <0x0 0xff350800 0x0 0x40>; 69149c82f2bSSimon Xue interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 692df3bcde7SJeffy Chen clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 693df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 69449c82f2bSSimon Xue #iommu-cells = <0>; 695e8cae2e6SJonas Karlman power-domains = <&power RK3328_PD_VPU>; 69649c82f2bSSimon Xue }; 69749c82f2bSSimon Xue 69817408c9bSChristopher Obbard vdec: video-codec@ff360000 { 69917408c9bSChristopher Obbard compatible = "rockchip,rk3328-vdec", "rockchip,rk3399-vdec"; 7000b6240d6SJonas Karlman reg = <0x0 0xff360000 0x0 0x480>; 70117408c9bSChristopher Obbard interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 70217408c9bSChristopher Obbard clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, 70317408c9bSChristopher Obbard <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>; 70417408c9bSChristopher Obbard clock-names = "axi", "ahb", "cabac", "core"; 70517408c9bSChristopher Obbard assigned-clocks = <&cru ACLK_RKVDEC>, <&cru SCLK_VDEC_CABAC>, 70617408c9bSChristopher Obbard <&cru SCLK_VDEC_CORE>; 70717408c9bSChristopher Obbard assigned-clock-rates = <400000000>, <400000000>, <300000000>; 70817408c9bSChristopher Obbard iommus = <&vdec_mmu>; 70917408c9bSChristopher Obbard power-domains = <&power RK3328_PD_VIDEO>; 71017408c9bSChristopher Obbard }; 71117408c9bSChristopher Obbard 712a2fe0f97SChristopher Obbard vdec_mmu: iommu@ff360480 { 71349c82f2bSSimon Xue compatible = "rockchip,iommu"; 71449c82f2bSSimon Xue reg = <0x0 0xff360480 0x0 0x40>, <0x0 0xff3604c0 0x0 0x40>; 71549c82f2bSSimon Xue interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 716df3bcde7SJeffy Chen clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>; 717df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 71849c82f2bSSimon Xue #iommu-cells = <0>; 71917408c9bSChristopher Obbard power-domains = <&power RK3328_PD_VIDEO>; 72049c82f2bSSimon Xue }; 72149c82f2bSSimon Xue 722725e351cSHeiko Stuebner vop: vop@ff370000 { 723725e351cSHeiko Stuebner compatible = "rockchip,rk3328-vop"; 724725e351cSHeiko Stuebner reg = <0x0 0xff370000 0x0 0x3efc>; 725725e351cSHeiko Stuebner interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 726725e351cSHeiko Stuebner clocks = <&cru ACLK_VOP>, <&cru DCLK_LCDC>, <&cru HCLK_VOP>; 727725e351cSHeiko Stuebner clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 728725e351cSHeiko Stuebner resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>; 729725e351cSHeiko Stuebner reset-names = "axi", "ahb", "dclk"; 730725e351cSHeiko Stuebner iommus = <&vop_mmu>; 731725e351cSHeiko Stuebner status = "disabled"; 732725e351cSHeiko Stuebner 733725e351cSHeiko Stuebner vop_out: port { 734*776d8e75SDiederik de Haas vop_out_hdmi: endpoint { 735725e351cSHeiko Stuebner remote-endpoint = <&hdmi_in_vop>; 736725e351cSHeiko Stuebner }; 737725e351cSHeiko Stuebner }; 738725e351cSHeiko Stuebner }; 739725e351cSHeiko Stuebner 74049c82f2bSSimon Xue vop_mmu: iommu@ff373f00 { 74149c82f2bSSimon Xue compatible = "rockchip,iommu"; 74249c82f2bSSimon Xue reg = <0x0 0xff373f00 0x0 0x100>; 743b521102dSArnd Bergmann interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 744df3bcde7SJeffy Chen clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 745df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 74649c82f2bSSimon Xue #iommu-cells = <0>; 74749c82f2bSSimon Xue status = "disabled"; 74849c82f2bSSimon Xue }; 74949c82f2bSSimon Xue 750725e351cSHeiko Stuebner hdmi: hdmi@ff3c0000 { 751725e351cSHeiko Stuebner compatible = "rockchip,rk3328-dw-hdmi"; 752725e351cSHeiko Stuebner reg = <0x0 0xff3c0000 0x0 0x20000>; 753725e351cSHeiko Stuebner reg-io-width = <4>; 754de50a7e3SDiederik de Haas interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 755725e351cSHeiko Stuebner clocks = <&cru PCLK_HDMI>, 756443f27e5SJonas Karlman <&cru SCLK_HDMI_SFC>, 757443f27e5SJonas Karlman <&cru SCLK_RTC32K>; 758725e351cSHeiko Stuebner clock-names = "iahb", 759443f27e5SJonas Karlman "isfr", 760443f27e5SJonas Karlman "cec"; 761725e351cSHeiko Stuebner phys = <&hdmiphy>; 762725e351cSHeiko Stuebner phy-names = "hdmi"; 763725e351cSHeiko Stuebner pinctrl-names = "default"; 764725e351cSHeiko Stuebner pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>; 765725e351cSHeiko Stuebner rockchip,grf = <&grf>; 7663e892ed2SKatsuhiro Suzuki #sound-dai-cells = <0>; 767725e351cSHeiko Stuebner status = "disabled"; 768725e351cSHeiko Stuebner 769725e351cSHeiko Stuebner ports { 7701d00ba47SJohan Jonker #address-cells = <1>; 7711d00ba47SJohan Jonker #size-cells = <0>; 7721d00ba47SJohan Jonker 7731d00ba47SJohan Jonker hdmi_in: port@0 { 7741d00ba47SJohan Jonker reg = <0>; 7751d00ba47SJohan Jonker 776725e351cSHeiko Stuebner hdmi_in_vop: endpoint { 777725e351cSHeiko Stuebner remote-endpoint = <&vop_out_hdmi>; 778725e351cSHeiko Stuebner }; 779725e351cSHeiko Stuebner }; 7801d00ba47SJohan Jonker 7811d00ba47SJohan Jonker hdmi_out: port@1 { 7821d00ba47SJohan Jonker reg = <1>; 7831d00ba47SJohan Jonker }; 784725e351cSHeiko Stuebner }; 785725e351cSHeiko Stuebner }; 786725e351cSHeiko Stuebner 787c0975706SKatsuhiro Suzuki codec: codec@ff410000 { 788c0975706SKatsuhiro Suzuki compatible = "rockchip,rk3328-codec"; 789c0975706SKatsuhiro Suzuki reg = <0x0 0xff410000 0x0 0x1000>; 790c0975706SKatsuhiro Suzuki clocks = <&cru PCLK_ACODECPHY>, <&cru SCLK_I2S1>; 791c0975706SKatsuhiro Suzuki clock-names = "pclk", "mclk"; 792c0975706SKatsuhiro Suzuki rockchip,grf = <&grf>; 793c0975706SKatsuhiro Suzuki #sound-dai-cells = <0>; 794c0975706SKatsuhiro Suzuki status = "disabled"; 795c0975706SKatsuhiro Suzuki }; 796c0975706SKatsuhiro Suzuki 7976c69dfe2SHeiko Stuebner hdmiphy: phy@ff430000 { 7986c69dfe2SHeiko Stuebner compatible = "rockchip,rk3328-hdmi-phy"; 7996c69dfe2SHeiko Stuebner reg = <0x0 0xff430000 0x0 0x10000>; 8006c69dfe2SHeiko Stuebner interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 8016c69dfe2SHeiko Stuebner clocks = <&cru PCLK_HDMIPHY>, <&xin24m>, <&cru DCLK_HDMIPHY>; 8026c69dfe2SHeiko Stuebner clock-names = "sysclk", "refoclk", "refpclk"; 8036c69dfe2SHeiko Stuebner clock-output-names = "hdmi_phy"; 8046c69dfe2SHeiko Stuebner #clock-cells = <0>; 8056c69dfe2SHeiko Stuebner nvmem-cells = <&efuse_cpu_version>; 8066c69dfe2SHeiko Stuebner nvmem-cell-names = "cpu-version"; 8076c69dfe2SHeiko Stuebner #phy-cells = <0>; 8086c69dfe2SHeiko Stuebner status = "disabled"; 8096c69dfe2SHeiko Stuebner }; 8106c69dfe2SHeiko Stuebner 81152e02d37SLiang Chen cru: clock-controller@ff440000 { 81217a50042SJohan Jonker compatible = "rockchip,rk3328-cru"; 81352e02d37SLiang Chen reg = <0x0 0xff440000 0x0 0x1000>; 814bc639b0fSJohan Jonker clocks = <&xin24m>; 815bc639b0fSJohan Jonker clock-names = "xin24m"; 81652e02d37SLiang Chen rockchip,grf = <&grf>; 81752e02d37SLiang Chen #clock-cells = <1>; 81852e02d37SLiang Chen #reset-cells = <1>; 81952e02d37SLiang Chen assigned-clocks = 82052e02d37SLiang Chen /* 82152e02d37SLiang Chen * CPLL should run at 1200, but that is to high for 82252e02d37SLiang Chen * the initial dividers of most of its children. 82352e02d37SLiang Chen * We need set cpll child clk div first, 82452e02d37SLiang Chen * and then set the cpll frequency. 82552e02d37SLiang Chen */ 82652e02d37SLiang Chen <&cru DCLK_LCDC>, <&cru SCLK_PDM>, 82752e02d37SLiang Chen <&cru SCLK_RTC32K>, <&cru SCLK_UART0>, 82852e02d37SLiang Chen <&cru SCLK_UART1>, <&cru SCLK_UART2>, 82952e02d37SLiang Chen <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>, 83052e02d37SLiang Chen <&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>, 83152e02d37SLiang Chen <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>, 83252e02d37SLiang Chen <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>, 83352e02d37SLiang Chen <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>, 83452e02d37SLiang Chen <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>, 83552e02d37SLiang Chen <&cru SCLK_SDIO>, <&cru SCLK_TSP>, 83652e02d37SLiang Chen <&cru SCLK_WIFI>, <&cru ARMCLK>, 83752e02d37SLiang Chen <&cru PLL_GPLL>, <&cru PLL_CPLL>, 83852e02d37SLiang Chen <&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>, 83952e02d37SLiang Chen <&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>, 84052e02d37SLiang Chen <&cru HCLK_PERI>, <&cru PCLK_PERI>, 84152e02d37SLiang Chen <&cru SCLK_RTC32K>; 84252e02d37SLiang Chen assigned-clock-parents = 84352e02d37SLiang Chen <&cru HDMIPHY>, <&cru PLL_APLL>, 84452e02d37SLiang Chen <&cru PLL_GPLL>, <&xin24m>, 84552e02d37SLiang Chen <&xin24m>, <&xin24m>; 84652e02d37SLiang Chen assigned-clock-rates = 84752e02d37SLiang Chen <0>, <61440000>, 84852e02d37SLiang Chen <0>, <24000000>, 84952e02d37SLiang Chen <24000000>, <24000000>, 85052e02d37SLiang Chen <15000000>, <15000000>, 8510f2ddb12SJonas Karlman <300000000>, <100000000>, 8520f2ddb12SJonas Karlman <400000000>, <100000000>, 85352e02d37SLiang Chen <50000000>, <100000000>, 85452e02d37SLiang Chen <100000000>, <100000000>, 85552e02d37SLiang Chen <50000000>, <50000000>, 85652e02d37SLiang Chen <50000000>, <50000000>, 85752e02d37SLiang Chen <24000000>, <600000000>, 85852e02d37SLiang Chen <491520000>, <1200000000>, 85952e02d37SLiang Chen <150000000>, <75000000>, 86052e02d37SLiang Chen <75000000>, <150000000>, 86152e02d37SLiang Chen <75000000>, <75000000>, 86252e02d37SLiang Chen <32768>; 86352e02d37SLiang Chen }; 86452e02d37SLiang Chen 865c60c0373SWilliam Wu usb2phy_grf: syscon@ff450000 { 866c60c0373SWilliam Wu compatible = "rockchip,rk3328-usb2phy-grf", "syscon", 867c60c0373SWilliam Wu "simple-mfd"; 868c60c0373SWilliam Wu reg = <0x0 0xff450000 0x0 0x10000>; 869c60c0373SWilliam Wu #address-cells = <1>; 870c60c0373SWilliam Wu #size-cells = <1>; 871c60c0373SWilliam Wu 8728c3d6425SJohan Jonker u2phy: usb2phy@100 { 873c60c0373SWilliam Wu compatible = "rockchip,rk3328-usb2phy"; 874c60c0373SWilliam Wu reg = <0x100 0x10>; 875c60c0373SWilliam Wu clocks = <&xin24m>; 876c60c0373SWilliam Wu clock-names = "phyclk"; 877c60c0373SWilliam Wu clock-output-names = "usb480m_phy"; 878c60c0373SWilliam Wu #clock-cells = <0>; 879c60c0373SWilliam Wu assigned-clocks = <&cru USB480M>; 880c60c0373SWilliam Wu assigned-clock-parents = <&u2phy>; 881c60c0373SWilliam Wu status = "disabled"; 882c60c0373SWilliam Wu 883c60c0373SWilliam Wu u2phy_otg: otg-port { 884c60c0373SWilliam Wu #phy-cells = <0>; 885c60c0373SWilliam Wu interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 886c60c0373SWilliam Wu <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 887c60c0373SWilliam Wu <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 888c60c0373SWilliam Wu interrupt-names = "otg-bvalid", "otg-id", 889c60c0373SWilliam Wu "linestate"; 890c60c0373SWilliam Wu status = "disabled"; 891c60c0373SWilliam Wu }; 892c60c0373SWilliam Wu 893c60c0373SWilliam Wu u2phy_host: host-port { 894c60c0373SWilliam Wu #phy-cells = <0>; 895c60c0373SWilliam Wu interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 896c60c0373SWilliam Wu interrupt-names = "linestate"; 897c60c0373SWilliam Wu status = "disabled"; 898c60c0373SWilliam Wu }; 899c60c0373SWilliam Wu }; 900c60c0373SWilliam Wu }; 901c60c0373SWilliam Wu 9023ef7c255SJohan Jonker sdmmc: mmc@ff500000 { 903d717f735SShawn Lin compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 904d717f735SShawn Lin reg = <0x0 0xff500000 0x0 0x4000>; 905d717f735SShawn Lin interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 906d717f735SShawn Lin clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 907d717f735SShawn Lin <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 908ca9eee95SRobin Murphy clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 909d717f735SShawn Lin fifo-depth = <0x100>; 91003e61929SShawn Lin max-frequency = <150000000>; 911bd6e6143SAlex Bee resets = <&cru SRST_MMC0>; 912bd6e6143SAlex Bee reset-names = "reset"; 913d717f735SShawn Lin status = "disabled"; 914d717f735SShawn Lin }; 915d717f735SShawn Lin 9163ef7c255SJohan Jonker sdio: mmc@ff510000 { 917d717f735SShawn Lin compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 918d717f735SShawn Lin reg = <0x0 0xff510000 0x0 0x4000>; 919d717f735SShawn Lin interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 920d717f735SShawn Lin clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 921d717f735SShawn Lin <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 922ca9eee95SRobin Murphy clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 923d717f735SShawn Lin fifo-depth = <0x100>; 92403e61929SShawn Lin max-frequency = <150000000>; 925bd6e6143SAlex Bee resets = <&cru SRST_SDIO>; 926bd6e6143SAlex Bee reset-names = "reset"; 927d717f735SShawn Lin status = "disabled"; 928d717f735SShawn Lin }; 929d717f735SShawn Lin 9303ef7c255SJohan Jonker emmc: mmc@ff520000 { 931d717f735SShawn Lin compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 932d717f735SShawn Lin reg = <0x0 0xff520000 0x0 0x4000>; 933d717f735SShawn Lin interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 934d717f735SShawn Lin clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 935d717f735SShawn Lin <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 936ca9eee95SRobin Murphy clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 937d717f735SShawn Lin fifo-depth = <0x100>; 93803e61929SShawn Lin max-frequency = <150000000>; 939bd6e6143SAlex Bee resets = <&cru SRST_EMMC>; 940bd6e6143SAlex Bee reset-names = "reset"; 941d717f735SShawn Lin status = "disabled"; 942d717f735SShawn Lin }; 943d717f735SShawn Lin 94452e02d37SLiang Chen gmac2io: ethernet@ff540000 { 94552e02d37SLiang Chen compatible = "rockchip,rk3328-gmac"; 94652e02d37SLiang Chen reg = <0x0 0xff540000 0x0 0x10000>; 94752e02d37SLiang Chen interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 94852e02d37SLiang Chen interrupt-names = "macirq"; 94952e02d37SLiang Chen clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_RX>, 95052e02d37SLiang Chen <&cru SCLK_MAC2IO_TX>, <&cru SCLK_MAC2IO_REF>, 95152e02d37SLiang Chen <&cru SCLK_MAC2IO_REFOUT>, <&cru ACLK_MAC2IO>, 95252e02d37SLiang Chen <&cru PCLK_MAC2IO>; 95352e02d37SLiang Chen clock-names = "stmmaceth", "mac_clk_rx", 95452e02d37SLiang Chen "mac_clk_tx", "clk_mac_ref", 95552e02d37SLiang Chen "clk_mac_refout", "aclk_mac", 95652e02d37SLiang Chen "pclk_mac"; 95752e02d37SLiang Chen resets = <&cru SRST_GMAC2IO_A>; 95852e02d37SLiang Chen reset-names = "stmmaceth"; 95952e02d37SLiang Chen rockchip,grf = <&grf>; 96020d03e13Sshironeko tx-fifo-depth = <2048>; 96120d03e13Sshironeko rx-fifo-depth = <4096>; 9628a469ee3SCarlos de Paula snps,txpbl = <0x4>; 96352e02d37SLiang Chen status = "disabled"; 96452e02d37SLiang Chen }; 96552e02d37SLiang Chen 9669c4cc910SDavid Wu gmac2phy: ethernet@ff550000 { 9679c4cc910SDavid Wu compatible = "rockchip,rk3328-gmac"; 9689c4cc910SDavid Wu reg = <0x0 0xff550000 0x0 0x10000>; 9699c4cc910SDavid Wu rockchip,grf = <&grf>; 9709c4cc910SDavid Wu interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 9719c4cc910SDavid Wu interrupt-names = "macirq"; 9729c4cc910SDavid Wu clocks = <&cru SCLK_MAC2PHY_SRC>, <&cru SCLK_MAC2PHY_RXTX>, 9739c4cc910SDavid Wu <&cru SCLK_MAC2PHY_RXTX>, <&cru SCLK_MAC2PHY_REF>, 9749c4cc910SDavid Wu <&cru ACLK_MAC2PHY>, <&cru PCLK_MAC2PHY>, 9759c4cc910SDavid Wu <&cru SCLK_MAC2PHY_OUT>; 9769c4cc910SDavid Wu clock-names = "stmmaceth", "mac_clk_rx", 9779c4cc910SDavid Wu "mac_clk_tx", "clk_mac_ref", 9789c4cc910SDavid Wu "aclk_mac", "pclk_mac", 9799c4cc910SDavid Wu "clk_macphy"; 980b9460dd8SEzequiel Garcia resets = <&cru SRST_GMAC2PHY_A>; 981b9460dd8SEzequiel Garcia reset-names = "stmmaceth"; 9829c4cc910SDavid Wu phy-mode = "rmii"; 9839c4cc910SDavid Wu phy-handle = <&phy>; 98420d03e13Sshironeko tx-fifo-depth = <2048>; 98520d03e13Sshironeko rx-fifo-depth = <4096>; 9868a469ee3SCarlos de Paula snps,txpbl = <0x4>; 987c6433083SChen-Yu Tsai clock_in_out = "output"; 9889c4cc910SDavid Wu status = "disabled"; 9899c4cc910SDavid Wu 9909c4cc910SDavid Wu mdio { 9919c4cc910SDavid Wu compatible = "snps,dwmac-mdio"; 9929c4cc910SDavid Wu #address-cells = <1>; 9939c4cc910SDavid Wu #size-cells = <0>; 9949c4cc910SDavid Wu 9958370cc55SJohan Jonker phy: ethernet-phy@0 { 9969c4cc910SDavid Wu compatible = "ethernet-phy-id1234.d400", "ethernet-phy-ieee802.3-c22"; 9979c4cc910SDavid Wu reg = <0>; 9989c4cc910SDavid Wu clocks = <&cru SCLK_MAC2PHY_OUT>; 9999c4cc910SDavid Wu resets = <&cru SRST_MACPHY>; 10009c4cc910SDavid Wu pinctrl-names = "default"; 10019c4cc910SDavid Wu pinctrl-0 = <&fephyled_rxm1 &fephyled_linkm1>; 10029c4cc910SDavid Wu phy-is-integrated; 10039c4cc910SDavid Wu }; 10049c4cc910SDavid Wu }; 10059c4cc910SDavid Wu }; 10069c4cc910SDavid Wu 1007c60c0373SWilliam Wu usb20_otg: usb@ff580000 { 1008c60c0373SWilliam Wu compatible = "rockchip,rk3328-usb", "rockchip,rk3066-usb", 1009c60c0373SWilliam Wu "snps,dwc2"; 1010c60c0373SWilliam Wu reg = <0x0 0xff580000 0x0 0x40000>; 1011c60c0373SWilliam Wu interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 1012c60c0373SWilliam Wu clocks = <&cru HCLK_OTG>; 1013c60c0373SWilliam Wu clock-names = "otg"; 1014c60c0373SWilliam Wu dr_mode = "otg"; 1015c60c0373SWilliam Wu g-np-tx-fifo-size = <16>; 1016c60c0373SWilliam Wu g-rx-fifo-size = <280>; 1017c60c0373SWilliam Wu g-tx-fifo-size = <256 128 128 64 32 16>; 1018c60c0373SWilliam Wu phys = <&u2phy_otg>; 1019c60c0373SWilliam Wu phy-names = "usb2-phy"; 1020c60c0373SWilliam Wu status = "disabled"; 1021c60c0373SWilliam Wu }; 1022c60c0373SWilliam Wu 1023c60c0373SWilliam Wu usb_host0_ehci: usb@ff5c0000 { 1024c60c0373SWilliam Wu compatible = "generic-ehci"; 1025c60c0373SWilliam Wu reg = <0x0 0xff5c0000 0x0 0x10000>; 1026c60c0373SWilliam Wu interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 1027c60c0373SWilliam Wu clocks = <&cru HCLK_HOST0>, <&u2phy>; 1028c60c0373SWilliam Wu phys = <&u2phy_host>; 1029c60c0373SWilliam Wu phy-names = "usb"; 1030c60c0373SWilliam Wu status = "disabled"; 1031c60c0373SWilliam Wu }; 1032c60c0373SWilliam Wu 1033c60c0373SWilliam Wu usb_host0_ohci: usb@ff5d0000 { 1034c60c0373SWilliam Wu compatible = "generic-ohci"; 1035c60c0373SWilliam Wu reg = <0x0 0xff5d0000 0x0 0x10000>; 1036c60c0373SWilliam Wu interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 1037c60c0373SWilliam Wu clocks = <&cru HCLK_HOST0>, <&u2phy>; 1038c60c0373SWilliam Wu phys = <&u2phy_host>; 1039c60c0373SWilliam Wu phy-names = "usb"; 1040c60c0373SWilliam Wu status = "disabled"; 1041c60c0373SWilliam Wu }; 1042c60c0373SWilliam Wu 104382e3aaaeSAlex Bee sdmmc_ext: mmc@ff5f0000 { 104482e3aaaeSAlex Bee compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 104582e3aaaeSAlex Bee reg = <0x0 0xff5f0000 0x0 0x4000>; 104682e3aaaeSAlex Bee interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 104782e3aaaeSAlex Bee clocks = <&cru HCLK_SDMMC_EXT>, <&cru SCLK_SDMMC_EXT>, 104882e3aaaeSAlex Bee <&cru SCLK_SDMMC_EXT_DRV>, <&cru SCLK_SDMMC_EXT_SAMPLE>; 104982e3aaaeSAlex Bee clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 105082e3aaaeSAlex Bee fifo-depth = <0x100>; 105182e3aaaeSAlex Bee max-frequency = <150000000>; 105282e3aaaeSAlex Bee resets = <&cru SRST_SDMMCEXT>; 105382e3aaaeSAlex Bee reset-names = "reset"; 105482e3aaaeSAlex Bee status = "disabled"; 105582e3aaaeSAlex Bee }; 105682e3aaaeSAlex Bee 105744dd5e21SCameron Nemo usbdrd3: usb@ff600000 { 105844dd5e21SCameron Nemo compatible = "rockchip,rk3328-dwc3", "snps,dwc3"; 105944dd5e21SCameron Nemo reg = <0x0 0xff600000 0x0 0x100000>; 106044dd5e21SCameron Nemo interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 106144dd5e21SCameron Nemo clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, 106244dd5e21SCameron Nemo <&cru ACLK_USB3OTG>; 106344dd5e21SCameron Nemo clock-names = "ref_clk", "suspend_clk", 106444dd5e21SCameron Nemo "bus_clk"; 106544dd5e21SCameron Nemo dr_mode = "otg"; 106644dd5e21SCameron Nemo phy_type = "utmi_wide"; 106744dd5e21SCameron Nemo snps,dis-del-phy-power-chg-quirk; 106844dd5e21SCameron Nemo snps,dis_enblslpm_quirk; 106944dd5e21SCameron Nemo snps,dis-tx-ipgap-linecheck-quirk; 107044dd5e21SCameron Nemo snps,dis-u2-freeclk-exists-quirk; 107144dd5e21SCameron Nemo snps,dis_u2_susphy_quirk; 107244dd5e21SCameron Nemo snps,dis_u3_susphy_quirk; 107344dd5e21SCameron Nemo status = "disabled"; 107444dd5e21SCameron Nemo }; 107544dd5e21SCameron Nemo 107652e02d37SLiang Chen gic: interrupt-controller@ff811000 { 107752e02d37SLiang Chen compatible = "arm,gic-400"; 107852e02d37SLiang Chen #interrupt-cells = <3>; 107952e02d37SLiang Chen #address-cells = <0>; 108052e02d37SLiang Chen interrupt-controller; 108152e02d37SLiang Chen reg = <0x0 0xff811000 0 0x1000>, 108252e02d37SLiang Chen <0x0 0xff812000 0 0x2000>, 108352e02d37SLiang Chen <0x0 0xff814000 0 0x2000>, 108452e02d37SLiang Chen <0x0 0xff816000 0 0x2000>; 108552e02d37SLiang Chen interrupts = <GIC_PPI 9 108652e02d37SLiang Chen (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 108752e02d37SLiang Chen }; 108852e02d37SLiang Chen 1089d1152bc5SCorentin Labbe crypto: crypto@ff060000 { 1090d1152bc5SCorentin Labbe compatible = "rockchip,rk3328-crypto"; 1091d1152bc5SCorentin Labbe reg = <0x0 0xff060000 0x0 0x4000>; 1092d1152bc5SCorentin Labbe interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 1093d1152bc5SCorentin Labbe clocks = <&cru HCLK_CRYPTO_MST>, <&cru HCLK_CRYPTO_SLV>, 1094d1152bc5SCorentin Labbe <&cru SCLK_CRYPTO>; 1095d1152bc5SCorentin Labbe clock-names = "hclk_master", "hclk_slave", "sclk"; 1096d1152bc5SCorentin Labbe resets = <&cru SRST_CRYPTO>; 1097d1152bc5SCorentin Labbe reset-names = "crypto-rst"; 1098d1152bc5SCorentin Labbe }; 1099d1152bc5SCorentin Labbe 110052e02d37SLiang Chen pinctrl: pinctrl { 110152e02d37SLiang Chen compatible = "rockchip,rk3328-pinctrl"; 110252e02d37SLiang Chen rockchip,grf = <&grf>; 110352e02d37SLiang Chen #address-cells = <2>; 110452e02d37SLiang Chen #size-cells = <2>; 110552e02d37SLiang Chen ranges; 110652e02d37SLiang Chen 1107ec3028e7SJohan Jonker gpio0: gpio@ff210000 { 110852e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 110952e02d37SLiang Chen reg = <0x0 0xff210000 0x0 0x100>; 111052e02d37SLiang Chen interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 111152e02d37SLiang Chen clocks = <&cru PCLK_GPIO0>; 111252e02d37SLiang Chen 111352e02d37SLiang Chen gpio-controller; 111452e02d37SLiang Chen #gpio-cells = <2>; 111552e02d37SLiang Chen 111652e02d37SLiang Chen interrupt-controller; 111752e02d37SLiang Chen #interrupt-cells = <2>; 111852e02d37SLiang Chen }; 111952e02d37SLiang Chen 1120ec3028e7SJohan Jonker gpio1: gpio@ff220000 { 112152e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 112252e02d37SLiang Chen reg = <0x0 0xff220000 0x0 0x100>; 112352e02d37SLiang Chen interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 112452e02d37SLiang Chen clocks = <&cru PCLK_GPIO1>; 112552e02d37SLiang Chen 112652e02d37SLiang Chen gpio-controller; 112752e02d37SLiang Chen #gpio-cells = <2>; 112852e02d37SLiang Chen 112952e02d37SLiang Chen interrupt-controller; 113052e02d37SLiang Chen #interrupt-cells = <2>; 113152e02d37SLiang Chen }; 113252e02d37SLiang Chen 1133ec3028e7SJohan Jonker gpio2: gpio@ff230000 { 113452e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 113552e02d37SLiang Chen reg = <0x0 0xff230000 0x0 0x100>; 113652e02d37SLiang Chen interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 113752e02d37SLiang Chen clocks = <&cru PCLK_GPIO2>; 113852e02d37SLiang Chen 113952e02d37SLiang Chen gpio-controller; 114052e02d37SLiang Chen #gpio-cells = <2>; 114152e02d37SLiang Chen 114252e02d37SLiang Chen interrupt-controller; 114352e02d37SLiang Chen #interrupt-cells = <2>; 114452e02d37SLiang Chen }; 114552e02d37SLiang Chen 1146ec3028e7SJohan Jonker gpio3: gpio@ff240000 { 114752e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 114852e02d37SLiang Chen reg = <0x0 0xff240000 0x0 0x100>; 114952e02d37SLiang Chen interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 115052e02d37SLiang Chen clocks = <&cru PCLK_GPIO3>; 115152e02d37SLiang Chen 115252e02d37SLiang Chen gpio-controller; 115352e02d37SLiang Chen #gpio-cells = <2>; 115452e02d37SLiang Chen 115552e02d37SLiang Chen interrupt-controller; 115652e02d37SLiang Chen #interrupt-cells = <2>; 115752e02d37SLiang Chen }; 115852e02d37SLiang Chen 115952e02d37SLiang Chen pcfg_pull_up: pcfg-pull-up { 116052e02d37SLiang Chen bias-pull-up; 116152e02d37SLiang Chen }; 116252e02d37SLiang Chen 116352e02d37SLiang Chen pcfg_pull_down: pcfg-pull-down { 116452e02d37SLiang Chen bias-pull-down; 116552e02d37SLiang Chen }; 116652e02d37SLiang Chen 116752e02d37SLiang Chen pcfg_pull_none: pcfg-pull-none { 116852e02d37SLiang Chen bias-disable; 116952e02d37SLiang Chen }; 117052e02d37SLiang Chen 117152e02d37SLiang Chen pcfg_pull_none_2ma: pcfg-pull-none-2ma { 117252e02d37SLiang Chen bias-disable; 117352e02d37SLiang Chen drive-strength = <2>; 117452e02d37SLiang Chen }; 117552e02d37SLiang Chen 117652e02d37SLiang Chen pcfg_pull_up_2ma: pcfg-pull-up-2ma { 117752e02d37SLiang Chen bias-pull-up; 117852e02d37SLiang Chen drive-strength = <2>; 117952e02d37SLiang Chen }; 118052e02d37SLiang Chen 118152e02d37SLiang Chen pcfg_pull_up_4ma: pcfg-pull-up-4ma { 118252e02d37SLiang Chen bias-pull-up; 118352e02d37SLiang Chen drive-strength = <4>; 118452e02d37SLiang Chen }; 118552e02d37SLiang Chen 118652e02d37SLiang Chen pcfg_pull_none_4ma: pcfg-pull-none-4ma { 118752e02d37SLiang Chen bias-disable; 118852e02d37SLiang Chen drive-strength = <4>; 118952e02d37SLiang Chen }; 119052e02d37SLiang Chen 119152e02d37SLiang Chen pcfg_pull_down_4ma: pcfg-pull-down-4ma { 119252e02d37SLiang Chen bias-pull-down; 119352e02d37SLiang Chen drive-strength = <4>; 119452e02d37SLiang Chen }; 119552e02d37SLiang Chen 119652e02d37SLiang Chen pcfg_pull_none_8ma: pcfg-pull-none-8ma { 119752e02d37SLiang Chen bias-disable; 119852e02d37SLiang Chen drive-strength = <8>; 119952e02d37SLiang Chen }; 120052e02d37SLiang Chen 120152e02d37SLiang Chen pcfg_pull_up_8ma: pcfg-pull-up-8ma { 120252e02d37SLiang Chen bias-pull-up; 120352e02d37SLiang Chen drive-strength = <8>; 120452e02d37SLiang Chen }; 120552e02d37SLiang Chen 120652e02d37SLiang Chen pcfg_pull_none_12ma: pcfg-pull-none-12ma { 120752e02d37SLiang Chen bias-disable; 120852e02d37SLiang Chen drive-strength = <12>; 120952e02d37SLiang Chen }; 121052e02d37SLiang Chen 121152e02d37SLiang Chen pcfg_pull_up_12ma: pcfg-pull-up-12ma { 121252e02d37SLiang Chen bias-pull-up; 121352e02d37SLiang Chen drive-strength = <12>; 121452e02d37SLiang Chen }; 121552e02d37SLiang Chen 121652e02d37SLiang Chen pcfg_output_high: pcfg-output-high { 121752e02d37SLiang Chen output-high; 121852e02d37SLiang Chen }; 121952e02d37SLiang Chen 122052e02d37SLiang Chen pcfg_output_low: pcfg-output-low { 122152e02d37SLiang Chen output-low; 122252e02d37SLiang Chen }; 122352e02d37SLiang Chen 122452e02d37SLiang Chen pcfg_input_high: pcfg-input-high { 122552e02d37SLiang Chen bias-pull-up; 122652e02d37SLiang Chen input-enable; 122752e02d37SLiang Chen }; 122852e02d37SLiang Chen 122952e02d37SLiang Chen pcfg_input: pcfg-input { 123052e02d37SLiang Chen input-enable; 123152e02d37SLiang Chen }; 123252e02d37SLiang Chen 123352e02d37SLiang Chen i2c0 { 123452e02d37SLiang Chen i2c0_xfer: i2c0-xfer { 123552e02d37SLiang Chen rockchip,pins = <2 RK_PD0 1 &pcfg_pull_none>, 123652e02d37SLiang Chen <2 RK_PD1 1 &pcfg_pull_none>; 123752e02d37SLiang Chen }; 123852e02d37SLiang Chen }; 123952e02d37SLiang Chen 124052e02d37SLiang Chen i2c1 { 124152e02d37SLiang Chen i2c1_xfer: i2c1-xfer { 124252e02d37SLiang Chen rockchip,pins = <2 RK_PA4 2 &pcfg_pull_none>, 124352e02d37SLiang Chen <2 RK_PA5 2 &pcfg_pull_none>; 124452e02d37SLiang Chen }; 124552e02d37SLiang Chen }; 124652e02d37SLiang Chen 124752e02d37SLiang Chen i2c2 { 124852e02d37SLiang Chen i2c2_xfer: i2c2-xfer { 124952e02d37SLiang Chen rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>, 125052e02d37SLiang Chen <2 RK_PB6 1 &pcfg_pull_none>; 125152e02d37SLiang Chen }; 125252e02d37SLiang Chen }; 125352e02d37SLiang Chen 125452e02d37SLiang Chen i2c3 { 125552e02d37SLiang Chen i2c3_xfer: i2c3-xfer { 125652e02d37SLiang Chen rockchip,pins = <0 RK_PA5 2 &pcfg_pull_none>, 125752e02d37SLiang Chen <0 RK_PA6 2 &pcfg_pull_none>; 125852e02d37SLiang Chen }; 12592bc65fefSJohan Jonker i2c3_pins: i2c3-pins { 126052e02d37SLiang Chen rockchip,pins = 126152e02d37SLiang Chen <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>, 126252e02d37SLiang Chen <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 126352e02d37SLiang Chen }; 126452e02d37SLiang Chen }; 126552e02d37SLiang Chen 126652e02d37SLiang Chen hdmi_i2c { 126752e02d37SLiang Chen hdmii2c_xfer: hdmii2c-xfer { 126852e02d37SLiang Chen rockchip,pins = <0 RK_PA5 1 &pcfg_pull_none>, 126952e02d37SLiang Chen <0 RK_PA6 1 &pcfg_pull_none>; 127052e02d37SLiang Chen }; 127152e02d37SLiang Chen }; 127252e02d37SLiang Chen 127313ed1501SSugar Zhang pdm-0 { 127413ed1501SSugar Zhang pdmm0_clk: pdmm0-clk { 127513ed1501SSugar Zhang rockchip,pins = <2 RK_PC2 2 &pcfg_pull_none>; 127613ed1501SSugar Zhang }; 127713ed1501SSugar Zhang 127813ed1501SSugar Zhang pdmm0_fsync: pdmm0-fsync { 127913ed1501SSugar Zhang rockchip,pins = <2 RK_PC7 2 &pcfg_pull_none>; 128013ed1501SSugar Zhang }; 128113ed1501SSugar Zhang 128213ed1501SSugar Zhang pdmm0_sdi0: pdmm0-sdi0 { 128313ed1501SSugar Zhang rockchip,pins = <2 RK_PC3 2 &pcfg_pull_none>; 128413ed1501SSugar Zhang }; 128513ed1501SSugar Zhang 128613ed1501SSugar Zhang pdmm0_sdi1: pdmm0-sdi1 { 128713ed1501SSugar Zhang rockchip,pins = <2 RK_PC4 2 &pcfg_pull_none>; 128813ed1501SSugar Zhang }; 128913ed1501SSugar Zhang 129013ed1501SSugar Zhang pdmm0_sdi2: pdmm0-sdi2 { 129113ed1501SSugar Zhang rockchip,pins = <2 RK_PC5 2 &pcfg_pull_none>; 129213ed1501SSugar Zhang }; 129313ed1501SSugar Zhang 129413ed1501SSugar Zhang pdmm0_sdi3: pdmm0-sdi3 { 129513ed1501SSugar Zhang rockchip,pins = <2 RK_PC6 2 &pcfg_pull_none>; 129613ed1501SSugar Zhang }; 129713ed1501SSugar Zhang 129813ed1501SSugar Zhang pdmm0_clk_sleep: pdmm0-clk-sleep { 129913ed1501SSugar Zhang rockchip,pins = 130013ed1501SSugar Zhang <2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>; 130113ed1501SSugar Zhang }; 130213ed1501SSugar Zhang 130313ed1501SSugar Zhang pdmm0_sdi0_sleep: pdmm0-sdi0-sleep { 130413ed1501SSugar Zhang rockchip,pins = 130513ed1501SSugar Zhang <2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>; 130613ed1501SSugar Zhang }; 130713ed1501SSugar Zhang 130813ed1501SSugar Zhang pdmm0_sdi1_sleep: pdmm0-sdi1-sleep { 130913ed1501SSugar Zhang rockchip,pins = 131013ed1501SSugar Zhang <2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>; 131113ed1501SSugar Zhang }; 131213ed1501SSugar Zhang 131313ed1501SSugar Zhang pdmm0_sdi2_sleep: pdmm0-sdi2-sleep { 131413ed1501SSugar Zhang rockchip,pins = 131513ed1501SSugar Zhang <2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>; 131613ed1501SSugar Zhang }; 131713ed1501SSugar Zhang 131813ed1501SSugar Zhang pdmm0_sdi3_sleep: pdmm0-sdi3-sleep { 131913ed1501SSugar Zhang rockchip,pins = 132013ed1501SSugar Zhang <2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>; 132113ed1501SSugar Zhang }; 132213ed1501SSugar Zhang 132313ed1501SSugar Zhang pdmm0_fsync_sleep: pdmm0-fsync-sleep { 132413ed1501SSugar Zhang rockchip,pins = 132513ed1501SSugar Zhang <2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>; 132613ed1501SSugar Zhang }; 132713ed1501SSugar Zhang }; 132813ed1501SSugar Zhang 132952e02d37SLiang Chen tsadc { 13302bc65fefSJohan Jonker otp_pin: otp-pin { 133152e02d37SLiang Chen rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 133252e02d37SLiang Chen }; 133352e02d37SLiang Chen 133452e02d37SLiang Chen otp_out: otp-out { 133552e02d37SLiang Chen rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>; 133652e02d37SLiang Chen }; 133752e02d37SLiang Chen }; 133852e02d37SLiang Chen 133952e02d37SLiang Chen uart0 { 134052e02d37SLiang Chen uart0_xfer: uart0-xfer { 134194dad6beSChen-Yu Tsai rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>, 134294dad6beSChen-Yu Tsai <1 RK_PB0 1 &pcfg_pull_up>; 134352e02d37SLiang Chen }; 134452e02d37SLiang Chen 134552e02d37SLiang Chen uart0_cts: uart0-cts { 134652e02d37SLiang Chen rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>; 134752e02d37SLiang Chen }; 134852e02d37SLiang Chen 134952e02d37SLiang Chen uart0_rts: uart0-rts { 135052e02d37SLiang Chen rockchip,pins = <1 RK_PB2 1 &pcfg_pull_none>; 135152e02d37SLiang Chen }; 135252e02d37SLiang Chen 13532bc65fefSJohan Jonker uart0_rts_pin: uart0-rts-pin { 135452e02d37SLiang Chen rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 135552e02d37SLiang Chen }; 135652e02d37SLiang Chen }; 135752e02d37SLiang Chen 135852e02d37SLiang Chen uart1 { 135952e02d37SLiang Chen uart1_xfer: uart1-xfer { 136094dad6beSChen-Yu Tsai rockchip,pins = <3 RK_PA4 4 &pcfg_pull_none>, 136194dad6beSChen-Yu Tsai <3 RK_PA6 4 &pcfg_pull_up>; 136252e02d37SLiang Chen }; 136352e02d37SLiang Chen 136452e02d37SLiang Chen uart1_cts: uart1-cts { 136552e02d37SLiang Chen rockchip,pins = <3 RK_PA7 4 &pcfg_pull_none>; 136652e02d37SLiang Chen }; 136752e02d37SLiang Chen 136852e02d37SLiang Chen uart1_rts: uart1-rts { 136952e02d37SLiang Chen rockchip,pins = <3 RK_PA5 4 &pcfg_pull_none>; 137052e02d37SLiang Chen }; 137152e02d37SLiang Chen 13722bc65fefSJohan Jonker uart1_rts_pin: uart1-rts-pin { 137352e02d37SLiang Chen rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 137452e02d37SLiang Chen }; 137552e02d37SLiang Chen }; 137652e02d37SLiang Chen 137752e02d37SLiang Chen uart2-0 { 137852e02d37SLiang Chen uart2m0_xfer: uart2m0-xfer { 137994dad6beSChen-Yu Tsai rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>, 138094dad6beSChen-Yu Tsai <1 RK_PA1 2 &pcfg_pull_up>; 138152e02d37SLiang Chen }; 138252e02d37SLiang Chen }; 138352e02d37SLiang Chen 138452e02d37SLiang Chen uart2-1 { 138552e02d37SLiang Chen uart2m1_xfer: uart2m1-xfer { 138694dad6beSChen-Yu Tsai rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>, 138794dad6beSChen-Yu Tsai <2 RK_PA1 1 &pcfg_pull_up>; 138852e02d37SLiang Chen }; 138952e02d37SLiang Chen }; 139052e02d37SLiang Chen 139152e02d37SLiang Chen spi0-0 { 139252e02d37SLiang Chen spi0m0_clk: spi0m0-clk { 139352e02d37SLiang Chen rockchip,pins = <2 RK_PB0 1 &pcfg_pull_up>; 139452e02d37SLiang Chen }; 139552e02d37SLiang Chen 139652e02d37SLiang Chen spi0m0_cs0: spi0m0-cs0 { 139752e02d37SLiang Chen rockchip,pins = <2 RK_PB3 1 &pcfg_pull_up>; 139852e02d37SLiang Chen }; 139952e02d37SLiang Chen 140052e02d37SLiang Chen spi0m0_tx: spi0m0-tx { 140152e02d37SLiang Chen rockchip,pins = <2 RK_PB1 1 &pcfg_pull_up>; 140252e02d37SLiang Chen }; 140352e02d37SLiang Chen 140452e02d37SLiang Chen spi0m0_rx: spi0m0-rx { 140552e02d37SLiang Chen rockchip,pins = <2 RK_PB2 1 &pcfg_pull_up>; 140652e02d37SLiang Chen }; 140752e02d37SLiang Chen 140852e02d37SLiang Chen spi0m0_cs1: spi0m0-cs1 { 140952e02d37SLiang Chen rockchip,pins = <2 RK_PB4 1 &pcfg_pull_up>; 141052e02d37SLiang Chen }; 141152e02d37SLiang Chen }; 141252e02d37SLiang Chen 141352e02d37SLiang Chen spi0-1 { 141452e02d37SLiang Chen spi0m1_clk: spi0m1-clk { 141552e02d37SLiang Chen rockchip,pins = <3 RK_PC7 2 &pcfg_pull_up>; 141652e02d37SLiang Chen }; 141752e02d37SLiang Chen 141852e02d37SLiang Chen spi0m1_cs0: spi0m1-cs0 { 141952e02d37SLiang Chen rockchip,pins = <3 RK_PD2 2 &pcfg_pull_up>; 142052e02d37SLiang Chen }; 142152e02d37SLiang Chen 142252e02d37SLiang Chen spi0m1_tx: spi0m1-tx { 142352e02d37SLiang Chen rockchip,pins = <3 RK_PD1 2 &pcfg_pull_up>; 142452e02d37SLiang Chen }; 142552e02d37SLiang Chen 142652e02d37SLiang Chen spi0m1_rx: spi0m1-rx { 142752e02d37SLiang Chen rockchip,pins = <3 RK_PD0 2 &pcfg_pull_up>; 142852e02d37SLiang Chen }; 142952e02d37SLiang Chen 143052e02d37SLiang Chen spi0m1_cs1: spi0m1-cs1 { 143152e02d37SLiang Chen rockchip,pins = <3 RK_PD3 2 &pcfg_pull_up>; 143252e02d37SLiang Chen }; 143352e02d37SLiang Chen }; 143452e02d37SLiang Chen 143552e02d37SLiang Chen spi0-2 { 143652e02d37SLiang Chen spi0m2_clk: spi0m2-clk { 143752e02d37SLiang Chen rockchip,pins = <3 RK_PA0 4 &pcfg_pull_up>; 143852e02d37SLiang Chen }; 143952e02d37SLiang Chen 144052e02d37SLiang Chen spi0m2_cs0: spi0m2-cs0 { 144152e02d37SLiang Chen rockchip,pins = <3 RK_PB0 3 &pcfg_pull_up>; 144252e02d37SLiang Chen }; 144352e02d37SLiang Chen 144452e02d37SLiang Chen spi0m2_tx: spi0m2-tx { 144552e02d37SLiang Chen rockchip,pins = <3 RK_PA1 4 &pcfg_pull_up>; 144652e02d37SLiang Chen }; 144752e02d37SLiang Chen 144852e02d37SLiang Chen spi0m2_rx: spi0m2-rx { 144952e02d37SLiang Chen rockchip,pins = <3 RK_PA2 4 &pcfg_pull_up>; 145052e02d37SLiang Chen }; 145152e02d37SLiang Chen }; 145252e02d37SLiang Chen 145352e02d37SLiang Chen i2s1 { 145452e02d37SLiang Chen i2s1_mclk: i2s1-mclk { 145552e02d37SLiang Chen rockchip,pins = <2 RK_PB7 1 &pcfg_pull_none>; 145652e02d37SLiang Chen }; 145752e02d37SLiang Chen 145852e02d37SLiang Chen i2s1_sclk: i2s1-sclk { 145952e02d37SLiang Chen rockchip,pins = <2 RK_PC2 1 &pcfg_pull_none>; 146052e02d37SLiang Chen }; 146152e02d37SLiang Chen 146252e02d37SLiang Chen i2s1_lrckrx: i2s1-lrckrx { 146352e02d37SLiang Chen rockchip,pins = <2 RK_PC0 1 &pcfg_pull_none>; 146452e02d37SLiang Chen }; 146552e02d37SLiang Chen 146652e02d37SLiang Chen i2s1_lrcktx: i2s1-lrcktx { 146752e02d37SLiang Chen rockchip,pins = <2 RK_PC1 1 &pcfg_pull_none>; 146852e02d37SLiang Chen }; 146952e02d37SLiang Chen 147052e02d37SLiang Chen i2s1_sdi: i2s1-sdi { 147152e02d37SLiang Chen rockchip,pins = <2 RK_PC3 1 &pcfg_pull_none>; 147252e02d37SLiang Chen }; 147352e02d37SLiang Chen 147452e02d37SLiang Chen i2s1_sdo: i2s1-sdo { 147552e02d37SLiang Chen rockchip,pins = <2 RK_PC7 1 &pcfg_pull_none>; 147652e02d37SLiang Chen }; 147752e02d37SLiang Chen 147852e02d37SLiang Chen i2s1_sdio1: i2s1-sdio1 { 147952e02d37SLiang Chen rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>; 148052e02d37SLiang Chen }; 148152e02d37SLiang Chen 148252e02d37SLiang Chen i2s1_sdio2: i2s1-sdio2 { 148352e02d37SLiang Chen rockchip,pins = <2 RK_PC5 1 &pcfg_pull_none>; 148452e02d37SLiang Chen }; 148552e02d37SLiang Chen 148652e02d37SLiang Chen i2s1_sdio3: i2s1-sdio3 { 148752e02d37SLiang Chen rockchip,pins = <2 RK_PC6 1 &pcfg_pull_none>; 148852e02d37SLiang Chen }; 148952e02d37SLiang Chen 149052e02d37SLiang Chen i2s1_sleep: i2s1-sleep { 149152e02d37SLiang Chen rockchip,pins = 149252e02d37SLiang Chen <2 RK_PB7 RK_FUNC_GPIO &pcfg_input_high>, 149352e02d37SLiang Chen <2 RK_PC0 RK_FUNC_GPIO &pcfg_input_high>, 149452e02d37SLiang Chen <2 RK_PC1 RK_FUNC_GPIO &pcfg_input_high>, 149552e02d37SLiang Chen <2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>, 149652e02d37SLiang Chen <2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>, 149752e02d37SLiang Chen <2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>, 149852e02d37SLiang Chen <2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>, 149952e02d37SLiang Chen <2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>, 150052e02d37SLiang Chen <2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>; 150152e02d37SLiang Chen }; 150252e02d37SLiang Chen }; 150352e02d37SLiang Chen 150452e02d37SLiang Chen i2s2-0 { 150552e02d37SLiang Chen i2s2m0_mclk: i2s2m0-mclk { 150652e02d37SLiang Chen rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>; 150752e02d37SLiang Chen }; 150852e02d37SLiang Chen 150952e02d37SLiang Chen i2s2m0_sclk: i2s2m0-sclk { 151052e02d37SLiang Chen rockchip,pins = <1 RK_PC6 1 &pcfg_pull_none>; 151152e02d37SLiang Chen }; 151252e02d37SLiang Chen 151352e02d37SLiang Chen i2s2m0_lrckrx: i2s2m0-lrckrx { 151452e02d37SLiang Chen rockchip,pins = <1 RK_PD2 1 &pcfg_pull_none>; 151552e02d37SLiang Chen }; 151652e02d37SLiang Chen 151752e02d37SLiang Chen i2s2m0_lrcktx: i2s2m0-lrcktx { 151852e02d37SLiang Chen rockchip,pins = <1 RK_PC7 1 &pcfg_pull_none>; 151952e02d37SLiang Chen }; 152052e02d37SLiang Chen 152152e02d37SLiang Chen i2s2m0_sdi: i2s2m0-sdi { 152252e02d37SLiang Chen rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>; 152352e02d37SLiang Chen }; 152452e02d37SLiang Chen 152552e02d37SLiang Chen i2s2m0_sdo: i2s2m0-sdo { 152652e02d37SLiang Chen rockchip,pins = <1 RK_PD1 1 &pcfg_pull_none>; 152752e02d37SLiang Chen }; 152852e02d37SLiang Chen 152952e02d37SLiang Chen i2s2m0_sleep: i2s2m0-sleep { 153052e02d37SLiang Chen rockchip,pins = 153152e02d37SLiang Chen <1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>, 153252e02d37SLiang Chen <1 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>, 153352e02d37SLiang Chen <1 RK_PD2 RK_FUNC_GPIO &pcfg_input_high>, 153452e02d37SLiang Chen <1 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>, 153552e02d37SLiang Chen <1 RK_PD0 RK_FUNC_GPIO &pcfg_input_high>, 153652e02d37SLiang Chen <1 RK_PD1 RK_FUNC_GPIO &pcfg_input_high>; 153752e02d37SLiang Chen }; 153852e02d37SLiang Chen }; 153952e02d37SLiang Chen 154052e02d37SLiang Chen i2s2-1 { 154152e02d37SLiang Chen i2s2m1_mclk: i2s2m1-mclk { 154252e02d37SLiang Chen rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>; 154352e02d37SLiang Chen }; 154452e02d37SLiang Chen 154552e02d37SLiang Chen i2s2m1_sclk: i2s2m1-sclk { 154652e02d37SLiang Chen rockchip,pins = <3 RK_PA0 6 &pcfg_pull_none>; 154752e02d37SLiang Chen }; 154852e02d37SLiang Chen 154952e02d37SLiang Chen i2s2m1_lrckrx: i2sm1-lrckrx { 155052e02d37SLiang Chen rockchip,pins = <3 RK_PB0 6 &pcfg_pull_none>; 155152e02d37SLiang Chen }; 155252e02d37SLiang Chen 155352e02d37SLiang Chen i2s2m1_lrcktx: i2s2m1-lrcktx { 155452e02d37SLiang Chen rockchip,pins = <3 RK_PB0 4 &pcfg_pull_none>; 155552e02d37SLiang Chen }; 155652e02d37SLiang Chen 155752e02d37SLiang Chen i2s2m1_sdi: i2s2m1-sdi { 155852e02d37SLiang Chen rockchip,pins = <3 RK_PA2 6 &pcfg_pull_none>; 155952e02d37SLiang Chen }; 156052e02d37SLiang Chen 156152e02d37SLiang Chen i2s2m1_sdo: i2s2m1-sdo { 156252e02d37SLiang Chen rockchip,pins = <3 RK_PA1 6 &pcfg_pull_none>; 156352e02d37SLiang Chen }; 156452e02d37SLiang Chen 156552e02d37SLiang Chen i2s2m1_sleep: i2s2m1-sleep { 156652e02d37SLiang Chen rockchip,pins = 156752e02d37SLiang Chen <1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>, 156852e02d37SLiang Chen <3 RK_PA0 RK_FUNC_GPIO &pcfg_input_high>, 156952e02d37SLiang Chen <3 RK_PB0 RK_FUNC_GPIO &pcfg_input_high>, 157052e02d37SLiang Chen <3 RK_PA2 RK_FUNC_GPIO &pcfg_input_high>, 157152e02d37SLiang Chen <3 RK_PA1 RK_FUNC_GPIO &pcfg_input_high>; 157252e02d37SLiang Chen }; 157352e02d37SLiang Chen }; 157452e02d37SLiang Chen 157552e02d37SLiang Chen spdif-0 { 157652e02d37SLiang Chen spdifm0_tx: spdifm0-tx { 157752e02d37SLiang Chen rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>; 157852e02d37SLiang Chen }; 157952e02d37SLiang Chen }; 158052e02d37SLiang Chen 158152e02d37SLiang Chen spdif-1 { 158252e02d37SLiang Chen spdifm1_tx: spdifm1-tx { 158352e02d37SLiang Chen rockchip,pins = <2 RK_PC1 2 &pcfg_pull_none>; 158452e02d37SLiang Chen }; 158552e02d37SLiang Chen }; 158652e02d37SLiang Chen 158752e02d37SLiang Chen spdif-2 { 158852e02d37SLiang Chen spdifm2_tx: spdifm2-tx { 158952e02d37SLiang Chen rockchip,pins = <0 RK_PA2 2 &pcfg_pull_none>; 159052e02d37SLiang Chen }; 159152e02d37SLiang Chen }; 159252e02d37SLiang Chen 159352e02d37SLiang Chen sdmmc0-0 { 159452e02d37SLiang Chen sdmmc0m0_pwren: sdmmc0m0-pwren { 159552e02d37SLiang Chen rockchip,pins = <2 RK_PA7 1 &pcfg_pull_up_4ma>; 159652e02d37SLiang Chen }; 159752e02d37SLiang Chen 15982bc65fefSJohan Jonker sdmmc0m0_pin: sdmmc0m0-pin { 159952e02d37SLiang Chen rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 160052e02d37SLiang Chen }; 160152e02d37SLiang Chen }; 160252e02d37SLiang Chen 160352e02d37SLiang Chen sdmmc0-1 { 160452e02d37SLiang Chen sdmmc0m1_pwren: sdmmc0m1-pwren { 160552e02d37SLiang Chen rockchip,pins = <0 RK_PD6 3 &pcfg_pull_up_4ma>; 160652e02d37SLiang Chen }; 160752e02d37SLiang Chen 16082bc65fefSJohan Jonker sdmmc0m1_pin: sdmmc0m1-pin { 160952e02d37SLiang Chen rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 161052e02d37SLiang Chen }; 161152e02d37SLiang Chen }; 161252e02d37SLiang Chen 161352e02d37SLiang Chen sdmmc0 { 161452e02d37SLiang Chen sdmmc0_clk: sdmmc0-clk { 161509f91381SPeter Geis rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none_8ma>; 161652e02d37SLiang Chen }; 161752e02d37SLiang Chen 161852e02d37SLiang Chen sdmmc0_cmd: sdmmc0-cmd { 161909f91381SPeter Geis rockchip,pins = <1 RK_PA4 1 &pcfg_pull_up_8ma>; 162052e02d37SLiang Chen }; 162152e02d37SLiang Chen 162252e02d37SLiang Chen sdmmc0_dectn: sdmmc0-dectn { 162352e02d37SLiang Chen rockchip,pins = <1 RK_PA5 1 &pcfg_pull_up_4ma>; 162452e02d37SLiang Chen }; 162552e02d37SLiang Chen 162652e02d37SLiang Chen sdmmc0_wrprt: sdmmc0-wrprt { 162752e02d37SLiang Chen rockchip,pins = <1 RK_PA7 1 &pcfg_pull_up_4ma>; 162852e02d37SLiang Chen }; 162952e02d37SLiang Chen 163052e02d37SLiang Chen sdmmc0_bus1: sdmmc0-bus1 { 163109f91381SPeter Geis rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_8ma>; 163252e02d37SLiang Chen }; 163352e02d37SLiang Chen 163452e02d37SLiang Chen sdmmc0_bus4: sdmmc0-bus4 { 163509f91381SPeter Geis rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_8ma>, 163609f91381SPeter Geis <1 RK_PA1 1 &pcfg_pull_up_8ma>, 163709f91381SPeter Geis <1 RK_PA2 1 &pcfg_pull_up_8ma>, 163809f91381SPeter Geis <1 RK_PA3 1 &pcfg_pull_up_8ma>; 163952e02d37SLiang Chen }; 164052e02d37SLiang Chen 16412bc65fefSJohan Jonker sdmmc0_pins: sdmmc0-pins { 164252e02d37SLiang Chen rockchip,pins = 164352e02d37SLiang Chen <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 164452e02d37SLiang Chen <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 164552e02d37SLiang Chen <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 164652e02d37SLiang Chen <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 164752e02d37SLiang Chen <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 164852e02d37SLiang Chen <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 164952e02d37SLiang Chen <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 165052e02d37SLiang Chen <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 165152e02d37SLiang Chen }; 165252e02d37SLiang Chen }; 165352e02d37SLiang Chen 165452e02d37SLiang Chen sdmmc0ext { 165552e02d37SLiang Chen sdmmc0ext_clk: sdmmc0ext-clk { 165652e02d37SLiang Chen rockchip,pins = <3 RK_PA2 3 &pcfg_pull_none_4ma>; 165752e02d37SLiang Chen }; 165852e02d37SLiang Chen 165952e02d37SLiang Chen sdmmc0ext_cmd: sdmmc0ext-cmd { 166052e02d37SLiang Chen rockchip,pins = <3 RK_PA0 3 &pcfg_pull_up_4ma>; 166152e02d37SLiang Chen }; 166252e02d37SLiang Chen 166352e02d37SLiang Chen sdmmc0ext_wrprt: sdmmc0ext-wrprt { 166452e02d37SLiang Chen rockchip,pins = <3 RK_PA3 3 &pcfg_pull_up_4ma>; 166552e02d37SLiang Chen }; 166652e02d37SLiang Chen 166752e02d37SLiang Chen sdmmc0ext_dectn: sdmmc0ext-dectn { 166852e02d37SLiang Chen rockchip,pins = <3 RK_PA1 3 &pcfg_pull_up_4ma>; 166952e02d37SLiang Chen }; 167052e02d37SLiang Chen 167152e02d37SLiang Chen sdmmc0ext_bus1: sdmmc0ext-bus1 { 167252e02d37SLiang Chen rockchip,pins = <3 RK_PA4 3 &pcfg_pull_up_4ma>; 167352e02d37SLiang Chen }; 167452e02d37SLiang Chen 167552e02d37SLiang Chen sdmmc0ext_bus4: sdmmc0ext-bus4 { 167652e02d37SLiang Chen rockchip,pins = 167752e02d37SLiang Chen <3 RK_PA4 3 &pcfg_pull_up_4ma>, 167852e02d37SLiang Chen <3 RK_PA5 3 &pcfg_pull_up_4ma>, 167952e02d37SLiang Chen <3 RK_PA6 3 &pcfg_pull_up_4ma>, 168052e02d37SLiang Chen <3 RK_PA7 3 &pcfg_pull_up_4ma>; 168152e02d37SLiang Chen }; 168252e02d37SLiang Chen 16832bc65fefSJohan Jonker sdmmc0ext_pins: sdmmc0ext-pins { 168452e02d37SLiang Chen rockchip,pins = 168552e02d37SLiang Chen <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168652e02d37SLiang Chen <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168752e02d37SLiang Chen <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168852e02d37SLiang Chen <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168952e02d37SLiang Chen <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 169052e02d37SLiang Chen <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 169152e02d37SLiang Chen <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 169252e02d37SLiang Chen <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 169352e02d37SLiang Chen }; 169452e02d37SLiang Chen }; 169552e02d37SLiang Chen 169652e02d37SLiang Chen sdmmc1 { 169752e02d37SLiang Chen sdmmc1_clk: sdmmc1-clk { 169852e02d37SLiang Chen rockchip,pins = <1 RK_PB4 1 &pcfg_pull_none_8ma>; 169952e02d37SLiang Chen }; 170052e02d37SLiang Chen 170152e02d37SLiang Chen sdmmc1_cmd: sdmmc1-cmd { 170252e02d37SLiang Chen rockchip,pins = <1 RK_PB5 1 &pcfg_pull_up_8ma>; 170352e02d37SLiang Chen }; 170452e02d37SLiang Chen 170552e02d37SLiang Chen sdmmc1_pwren: sdmmc1-pwren { 170652e02d37SLiang Chen rockchip,pins = <1 RK_PC2 1 &pcfg_pull_up_8ma>; 170752e02d37SLiang Chen }; 170852e02d37SLiang Chen 170952e02d37SLiang Chen sdmmc1_wrprt: sdmmc1-wrprt { 171052e02d37SLiang Chen rockchip,pins = <1 RK_PC4 1 &pcfg_pull_up_8ma>; 171152e02d37SLiang Chen }; 171252e02d37SLiang Chen 171352e02d37SLiang Chen sdmmc1_dectn: sdmmc1-dectn { 171452e02d37SLiang Chen rockchip,pins = <1 RK_PC3 1 &pcfg_pull_up_8ma>; 171552e02d37SLiang Chen }; 171652e02d37SLiang Chen 171752e02d37SLiang Chen sdmmc1_bus1: sdmmc1-bus1 { 171852e02d37SLiang Chen rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>; 171952e02d37SLiang Chen }; 172052e02d37SLiang Chen 172152e02d37SLiang Chen sdmmc1_bus4: sdmmc1-bus4 { 172252e02d37SLiang Chen rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>, 172352e02d37SLiang Chen <1 RK_PB7 1 &pcfg_pull_up_8ma>, 172452e02d37SLiang Chen <1 RK_PC0 1 &pcfg_pull_up_8ma>, 172552e02d37SLiang Chen <1 RK_PC1 1 &pcfg_pull_up_8ma>; 172652e02d37SLiang Chen }; 172752e02d37SLiang Chen 17282bc65fefSJohan Jonker sdmmc1_pins: sdmmc1-pins { 172952e02d37SLiang Chen rockchip,pins = 173052e02d37SLiang Chen <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 173152e02d37SLiang Chen <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 173252e02d37SLiang Chen <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 173352e02d37SLiang Chen <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 173452e02d37SLiang Chen <1 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 173552e02d37SLiang Chen <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 173652e02d37SLiang Chen <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 173752e02d37SLiang Chen <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 173852e02d37SLiang Chen <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 173952e02d37SLiang Chen }; 174052e02d37SLiang Chen }; 174152e02d37SLiang Chen 174252e02d37SLiang Chen emmc { 174352e02d37SLiang Chen emmc_clk: emmc-clk { 174452e02d37SLiang Chen rockchip,pins = <3 RK_PC5 2 &pcfg_pull_none_12ma>; 174552e02d37SLiang Chen }; 174652e02d37SLiang Chen 174752e02d37SLiang Chen emmc_cmd: emmc-cmd { 174852e02d37SLiang Chen rockchip,pins = <3 RK_PC3 2 &pcfg_pull_up_12ma>; 174952e02d37SLiang Chen }; 175052e02d37SLiang Chen 175152e02d37SLiang Chen emmc_pwren: emmc-pwren { 175252e02d37SLiang Chen rockchip,pins = <3 RK_PC6 2 &pcfg_pull_none>; 175352e02d37SLiang Chen }; 175452e02d37SLiang Chen 175552e02d37SLiang Chen emmc_rstnout: emmc-rstnout { 175652e02d37SLiang Chen rockchip,pins = <3 RK_PC4 2 &pcfg_pull_none>; 175752e02d37SLiang Chen }; 175852e02d37SLiang Chen 175952e02d37SLiang Chen emmc_bus1: emmc-bus1 { 176052e02d37SLiang Chen rockchip,pins = <0 RK_PA7 2 &pcfg_pull_up_12ma>; 176152e02d37SLiang Chen }; 176252e02d37SLiang Chen 176352e02d37SLiang Chen emmc_bus4: emmc-bus4 { 176452e02d37SLiang Chen rockchip,pins = 176552e02d37SLiang Chen <0 RK_PA7 2 &pcfg_pull_up_12ma>, 176652e02d37SLiang Chen <2 RK_PD4 2 &pcfg_pull_up_12ma>, 176752e02d37SLiang Chen <2 RK_PD5 2 &pcfg_pull_up_12ma>, 176852e02d37SLiang Chen <2 RK_PD6 2 &pcfg_pull_up_12ma>; 176952e02d37SLiang Chen }; 177052e02d37SLiang Chen 177152e02d37SLiang Chen emmc_bus8: emmc-bus8 { 177252e02d37SLiang Chen rockchip,pins = 177352e02d37SLiang Chen <0 RK_PA7 2 &pcfg_pull_up_12ma>, 177452e02d37SLiang Chen <2 RK_PD4 2 &pcfg_pull_up_12ma>, 177552e02d37SLiang Chen <2 RK_PD5 2 &pcfg_pull_up_12ma>, 177652e02d37SLiang Chen <2 RK_PD6 2 &pcfg_pull_up_12ma>, 177752e02d37SLiang Chen <2 RK_PD7 2 &pcfg_pull_up_12ma>, 177852e02d37SLiang Chen <3 RK_PC0 2 &pcfg_pull_up_12ma>, 177952e02d37SLiang Chen <3 RK_PC1 2 &pcfg_pull_up_12ma>, 178052e02d37SLiang Chen <3 RK_PC2 2 &pcfg_pull_up_12ma>; 178152e02d37SLiang Chen }; 178252e02d37SLiang Chen }; 178352e02d37SLiang Chen 178452e02d37SLiang Chen pwm0 { 178552e02d37SLiang Chen pwm0_pin: pwm0-pin { 178652e02d37SLiang Chen rockchip,pins = <2 RK_PA4 1 &pcfg_pull_none>; 178752e02d37SLiang Chen }; 178852e02d37SLiang Chen }; 178952e02d37SLiang Chen 179052e02d37SLiang Chen pwm1 { 179152e02d37SLiang Chen pwm1_pin: pwm1-pin { 179252e02d37SLiang Chen rockchip,pins = <2 RK_PA5 1 &pcfg_pull_none>; 179352e02d37SLiang Chen }; 179452e02d37SLiang Chen }; 179552e02d37SLiang Chen 179652e02d37SLiang Chen pwm2 { 179752e02d37SLiang Chen pwm2_pin: pwm2-pin { 179852e02d37SLiang Chen rockchip,pins = <2 RK_PA6 1 &pcfg_pull_none>; 179952e02d37SLiang Chen }; 180052e02d37SLiang Chen }; 180152e02d37SLiang Chen 180252e02d37SLiang Chen pwmir { 180352e02d37SLiang Chen pwmir_pin: pwmir-pin { 180452e02d37SLiang Chen rockchip,pins = <2 RK_PA2 1 &pcfg_pull_none>; 180552e02d37SLiang Chen }; 180652e02d37SLiang Chen }; 180752e02d37SLiang Chen 180852e02d37SLiang Chen gmac-1 { 180952e02d37SLiang Chen rgmiim1_pins: rgmiim1-pins { 181052e02d37SLiang Chen rockchip,pins = 181152e02d37SLiang Chen /* mac_txclk */ 18126fd8b978SPeter Geis <1 RK_PB4 2 &pcfg_pull_none_8ma>, 181352e02d37SLiang Chen /* mac_rxclk */ 18146fd8b978SPeter Geis <1 RK_PB5 2 &pcfg_pull_none_4ma>, 181552e02d37SLiang Chen /* mac_mdio */ 18166fd8b978SPeter Geis <1 RK_PC3 2 &pcfg_pull_none_4ma>, 181752e02d37SLiang Chen /* mac_txen */ 18186fd8b978SPeter Geis <1 RK_PD1 2 &pcfg_pull_none_8ma>, 181952e02d37SLiang Chen /* mac_clk */ 18206fd8b978SPeter Geis <1 RK_PC5 2 &pcfg_pull_none_4ma>, 182152e02d37SLiang Chen /* mac_rxdv */ 18226fd8b978SPeter Geis <1 RK_PC6 2 &pcfg_pull_none_4ma>, 182352e02d37SLiang Chen /* mac_mdc */ 18246fd8b978SPeter Geis <1 RK_PC7 2 &pcfg_pull_none_4ma>, 182552e02d37SLiang Chen /* mac_rxd1 */ 18266fd8b978SPeter Geis <1 RK_PB2 2 &pcfg_pull_none_4ma>, 182752e02d37SLiang Chen /* mac_rxd0 */ 18286fd8b978SPeter Geis <1 RK_PB3 2 &pcfg_pull_none_4ma>, 182952e02d37SLiang Chen /* mac_txd1 */ 18306fd8b978SPeter Geis <1 RK_PB0 2 &pcfg_pull_none_8ma>, 183152e02d37SLiang Chen /* mac_txd0 */ 18326fd8b978SPeter Geis <1 RK_PB1 2 &pcfg_pull_none_8ma>, 183352e02d37SLiang Chen /* mac_rxd3 */ 18346fd8b978SPeter Geis <1 RK_PB6 2 &pcfg_pull_none_4ma>, 183552e02d37SLiang Chen /* mac_rxd2 */ 18366fd8b978SPeter Geis <1 RK_PB7 2 &pcfg_pull_none_4ma>, 183752e02d37SLiang Chen /* mac_txd3 */ 18386fd8b978SPeter Geis <1 RK_PC0 2 &pcfg_pull_none_8ma>, 183952e02d37SLiang Chen /* mac_txd2 */ 18406fd8b978SPeter Geis <1 RK_PC1 2 &pcfg_pull_none_8ma>, 184152e02d37SLiang Chen 184252e02d37SLiang Chen /* mac_txclk */ 18436fd8b978SPeter Geis <0 RK_PB0 1 &pcfg_pull_none_8ma>, 184452e02d37SLiang Chen /* mac_txen */ 18456fd8b978SPeter Geis <0 RK_PB4 1 &pcfg_pull_none_8ma>, 184652e02d37SLiang Chen /* mac_clk */ 18476fd8b978SPeter Geis <0 RK_PD0 1 &pcfg_pull_none_4ma>, 184852e02d37SLiang Chen /* mac_txd1 */ 18496fd8b978SPeter Geis <0 RK_PC0 1 &pcfg_pull_none_8ma>, 185052e02d37SLiang Chen /* mac_txd0 */ 18516fd8b978SPeter Geis <0 RK_PC1 1 &pcfg_pull_none_8ma>, 185252e02d37SLiang Chen /* mac_txd3 */ 18536fd8b978SPeter Geis <0 RK_PC7 1 &pcfg_pull_none_8ma>, 185452e02d37SLiang Chen /* mac_txd2 */ 18556fd8b978SPeter Geis <0 RK_PC6 1 &pcfg_pull_none_8ma>; 185652e02d37SLiang Chen }; 185752e02d37SLiang Chen 185852e02d37SLiang Chen rmiim1_pins: rmiim1-pins { 185952e02d37SLiang Chen rockchip,pins = 186052e02d37SLiang Chen /* mac_mdio */ 186152e02d37SLiang Chen <1 RK_PC3 2 &pcfg_pull_none_2ma>, 186252e02d37SLiang Chen /* mac_txen */ 186352e02d37SLiang Chen <1 RK_PD1 2 &pcfg_pull_none_12ma>, 186452e02d37SLiang Chen /* mac_clk */ 186552e02d37SLiang Chen <1 RK_PC5 2 &pcfg_pull_none_2ma>, 186652e02d37SLiang Chen /* mac_rxer */ 186752e02d37SLiang Chen <1 RK_PD0 2 &pcfg_pull_none_2ma>, 186852e02d37SLiang Chen /* mac_rxdv */ 186952e02d37SLiang Chen <1 RK_PC6 2 &pcfg_pull_none_2ma>, 187052e02d37SLiang Chen /* mac_mdc */ 187152e02d37SLiang Chen <1 RK_PC7 2 &pcfg_pull_none_2ma>, 187252e02d37SLiang Chen /* mac_rxd1 */ 187352e02d37SLiang Chen <1 RK_PB2 2 &pcfg_pull_none_2ma>, 187452e02d37SLiang Chen /* mac_rxd0 */ 187552e02d37SLiang Chen <1 RK_PB3 2 &pcfg_pull_none_2ma>, 187652e02d37SLiang Chen /* mac_txd1 */ 187752e02d37SLiang Chen <1 RK_PB0 2 &pcfg_pull_none_12ma>, 187852e02d37SLiang Chen /* mac_txd0 */ 187952e02d37SLiang Chen <1 RK_PB1 2 &pcfg_pull_none_12ma>, 188052e02d37SLiang Chen 188152e02d37SLiang Chen /* mac_mdio */ 188252e02d37SLiang Chen <0 RK_PB3 1 &pcfg_pull_none>, 188352e02d37SLiang Chen /* mac_txen */ 188452e02d37SLiang Chen <0 RK_PB4 1 &pcfg_pull_none>, 188552e02d37SLiang Chen /* mac_clk */ 188652e02d37SLiang Chen <0 RK_PD0 1 &pcfg_pull_none>, 188752e02d37SLiang Chen /* mac_mdc */ 188852e02d37SLiang Chen <0 RK_PC3 1 &pcfg_pull_none>, 188952e02d37SLiang Chen /* mac_txd1 */ 189052e02d37SLiang Chen <0 RK_PC0 1 &pcfg_pull_none>, 189152e02d37SLiang Chen /* mac_txd0 */ 189252e02d37SLiang Chen <0 RK_PC1 1 &pcfg_pull_none>; 189352e02d37SLiang Chen }; 189452e02d37SLiang Chen }; 189552e02d37SLiang Chen 189652e02d37SLiang Chen gmac2phy { 189752e02d37SLiang Chen fephyled_speed10: fephyled-speed10 { 189852e02d37SLiang Chen rockchip,pins = <0 RK_PD6 1 &pcfg_pull_none>; 189952e02d37SLiang Chen }; 190052e02d37SLiang Chen 190152e02d37SLiang Chen fephyled_duplex: fephyled-duplex { 190252e02d37SLiang Chen rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>; 190352e02d37SLiang Chen }; 190452e02d37SLiang Chen 190552e02d37SLiang Chen fephyled_rxm1: fephyled-rxm1 { 190652e02d37SLiang Chen rockchip,pins = <2 RK_PD1 2 &pcfg_pull_none>; 190752e02d37SLiang Chen }; 190852e02d37SLiang Chen 190952e02d37SLiang Chen fephyled_txm1: fephyled-txm1 { 191052e02d37SLiang Chen rockchip,pins = <2 RK_PD1 3 &pcfg_pull_none>; 191152e02d37SLiang Chen }; 191252e02d37SLiang Chen 191352e02d37SLiang Chen fephyled_linkm1: fephyled-linkm1 { 191452e02d37SLiang Chen rockchip,pins = <2 RK_PD0 2 &pcfg_pull_none>; 191552e02d37SLiang Chen }; 191652e02d37SLiang Chen }; 191752e02d37SLiang Chen 191852e02d37SLiang Chen tsadc_pin { 191952e02d37SLiang Chen tsadc_int: tsadc-int { 192052e02d37SLiang Chen rockchip,pins = <2 RK_PB5 2 &pcfg_pull_none>; 192152e02d37SLiang Chen }; 19222bc65fefSJohan Jonker tsadc_pin: tsadc-pin { 192352e02d37SLiang Chen rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 192452e02d37SLiang Chen }; 192552e02d37SLiang Chen }; 192652e02d37SLiang Chen 192752e02d37SLiang Chen hdmi_pin { 192852e02d37SLiang Chen hdmi_cec: hdmi-cec { 192952e02d37SLiang Chen rockchip,pins = <0 RK_PA3 1 &pcfg_pull_none>; 193052e02d37SLiang Chen }; 193152e02d37SLiang Chen 193252e02d37SLiang Chen hdmi_hpd: hdmi-hpd { 193352e02d37SLiang Chen rockchip,pins = <0 RK_PA4 1 &pcfg_pull_down>; 193452e02d37SLiang Chen }; 193552e02d37SLiang Chen }; 193652e02d37SLiang Chen 193752e02d37SLiang Chen cif-0 { 193852e02d37SLiang Chen dvp_d2d9_m0:dvp-d2d9-m0 { 193952e02d37SLiang Chen rockchip,pins = 194052e02d37SLiang Chen /* cif_d0 */ 194152e02d37SLiang Chen <3 RK_PA4 2 &pcfg_pull_none>, 194252e02d37SLiang Chen /* cif_d1 */ 194352e02d37SLiang Chen <3 RK_PA5 2 &pcfg_pull_none>, 194452e02d37SLiang Chen /* cif_d2 */ 194552e02d37SLiang Chen <3 RK_PA6 2 &pcfg_pull_none>, 194652e02d37SLiang Chen /* cif_d3 */ 194752e02d37SLiang Chen <3 RK_PA7 2 &pcfg_pull_none>, 194852e02d37SLiang Chen /* cif_d4 */ 194952e02d37SLiang Chen <3 RK_PB0 2 &pcfg_pull_none>, 195052e02d37SLiang Chen /* cif_d5m0 */ 195152e02d37SLiang Chen <3 RK_PB1 2 &pcfg_pull_none>, 195252e02d37SLiang Chen /* cif_d6m0 */ 195352e02d37SLiang Chen <3 RK_PB2 2 &pcfg_pull_none>, 195452e02d37SLiang Chen /* cif_d7m0 */ 195552e02d37SLiang Chen <3 RK_PB3 2 &pcfg_pull_none>, 195652e02d37SLiang Chen /* cif_href */ 195752e02d37SLiang Chen <3 RK_PA1 2 &pcfg_pull_none>, 195852e02d37SLiang Chen /* cif_vsync */ 195952e02d37SLiang Chen <3 RK_PA0 2 &pcfg_pull_none>, 196052e02d37SLiang Chen /* cif_clkoutm0 */ 196152e02d37SLiang Chen <3 RK_PA3 2 &pcfg_pull_none>, 196252e02d37SLiang Chen /* cif_clkin */ 196352e02d37SLiang Chen <3 RK_PA2 2 &pcfg_pull_none>; 196452e02d37SLiang Chen }; 196552e02d37SLiang Chen }; 196652e02d37SLiang Chen 196752e02d37SLiang Chen cif-1 { 196852e02d37SLiang Chen dvp_d2d9_m1:dvp-d2d9-m1 { 196952e02d37SLiang Chen rockchip,pins = 197052e02d37SLiang Chen /* cif_d0 */ 197152e02d37SLiang Chen <3 RK_PA4 2 &pcfg_pull_none>, 197252e02d37SLiang Chen /* cif_d1 */ 197352e02d37SLiang Chen <3 RK_PA5 2 &pcfg_pull_none>, 197452e02d37SLiang Chen /* cif_d2 */ 197552e02d37SLiang Chen <3 RK_PA6 2 &pcfg_pull_none>, 197652e02d37SLiang Chen /* cif_d3 */ 197752e02d37SLiang Chen <3 RK_PA7 2 &pcfg_pull_none>, 197852e02d37SLiang Chen /* cif_d4 */ 197952e02d37SLiang Chen <3 RK_PB0 2 &pcfg_pull_none>, 198052e02d37SLiang Chen /* cif_d5m1 */ 198152e02d37SLiang Chen <2 RK_PC0 4 &pcfg_pull_none>, 198252e02d37SLiang Chen /* cif_d6m1 */ 198352e02d37SLiang Chen <2 RK_PC1 4 &pcfg_pull_none>, 198452e02d37SLiang Chen /* cif_d7m1 */ 198552e02d37SLiang Chen <2 RK_PC2 4 &pcfg_pull_none>, 198652e02d37SLiang Chen /* cif_href */ 198752e02d37SLiang Chen <3 RK_PA1 2 &pcfg_pull_none>, 198852e02d37SLiang Chen /* cif_vsync */ 198952e02d37SLiang Chen <3 RK_PA0 2 &pcfg_pull_none>, 199052e02d37SLiang Chen /* cif_clkoutm1 */ 199152e02d37SLiang Chen <2 RK_PB7 4 &pcfg_pull_none>, 199252e02d37SLiang Chen /* cif_clkin */ 199352e02d37SLiang Chen <3 RK_PA2 2 &pcfg_pull_none>; 199452e02d37SLiang Chen }; 199552e02d37SLiang Chen }; 199652e02d37SLiang Chen }; 199752e02d37SLiang Chen}; 1998