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 { 2352e02d37SLiang Chen serial0 = &uart0; 2452e02d37SLiang Chen serial1 = &uart1; 2552e02d37SLiang Chen serial2 = &uart2; 2652e02d37SLiang Chen i2c0 = &i2c0; 2752e02d37SLiang Chen i2c1 = &i2c1; 2852e02d37SLiang Chen i2c2 = &i2c2; 2952e02d37SLiang Chen i2c3 = &i2c3; 309c4cc910SDavid Wu ethernet0 = &gmac2io; 319c4cc910SDavid Wu ethernet1 = &gmac2phy; 3252e02d37SLiang Chen }; 3352e02d37SLiang Chen 3452e02d37SLiang Chen cpus { 3552e02d37SLiang Chen #address-cells = <2>; 3652e02d37SLiang Chen #size-cells = <0>; 3752e02d37SLiang Chen 3852e02d37SLiang Chen cpu0: cpu@0 { 3952e02d37SLiang Chen device_type = "cpu"; 4031af04cdSRob Herring compatible = "arm,cortex-a53"; 4152e02d37SLiang Chen reg = <0x0 0x0>; 4252e02d37SLiang Chen clocks = <&cru ARMCLK>; 4387e0d607SRocky Hao #cooling-cells = <2>; 444f279f9fSRobin Murphy cpu-idle-states = <&CPU_SLEEP>; 4587e0d607SRocky Hao dynamic-power-coefficient = <120>; 4652e02d37SLiang Chen enable-method = "psci"; 4752e02d37SLiang Chen next-level-cache = <&l2>; 48e997a6a4SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 4952e02d37SLiang Chen }; 5052e02d37SLiang Chen 5152e02d37SLiang Chen cpu1: cpu@1 { 5252e02d37SLiang Chen device_type = "cpu"; 5331af04cdSRob Herring compatible = "arm,cortex-a53"; 5452e02d37SLiang Chen reg = <0x0 0x1>; 5552e02d37SLiang Chen clocks = <&cru ARMCLK>; 56cc9b0918SViresh Kumar #cooling-cells = <2>; 574f279f9fSRobin Murphy cpu-idle-states = <&CPU_SLEEP>; 5887e0d607SRocky Hao dynamic-power-coefficient = <120>; 5952e02d37SLiang Chen enable-method = "psci"; 6052e02d37SLiang Chen next-level-cache = <&l2>; 61e997a6a4SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 6252e02d37SLiang Chen }; 6352e02d37SLiang Chen 6452e02d37SLiang Chen cpu2: cpu@2 { 6552e02d37SLiang Chen device_type = "cpu"; 6631af04cdSRob Herring compatible = "arm,cortex-a53"; 6752e02d37SLiang Chen reg = <0x0 0x2>; 6852e02d37SLiang Chen clocks = <&cru ARMCLK>; 69cc9b0918SViresh Kumar #cooling-cells = <2>; 704f279f9fSRobin Murphy cpu-idle-states = <&CPU_SLEEP>; 7187e0d607SRocky Hao dynamic-power-coefficient = <120>; 7252e02d37SLiang Chen enable-method = "psci"; 7352e02d37SLiang Chen next-level-cache = <&l2>; 74e997a6a4SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 7552e02d37SLiang Chen }; 7652e02d37SLiang Chen 7752e02d37SLiang Chen cpu3: cpu@3 { 7852e02d37SLiang Chen device_type = "cpu"; 7931af04cdSRob Herring compatible = "arm,cortex-a53"; 8052e02d37SLiang Chen reg = <0x0 0x3>; 8152e02d37SLiang Chen clocks = <&cru ARMCLK>; 82cc9b0918SViresh Kumar #cooling-cells = <2>; 834f279f9fSRobin Murphy cpu-idle-states = <&CPU_SLEEP>; 8487e0d607SRocky Hao dynamic-power-coefficient = <120>; 8552e02d37SLiang Chen enable-method = "psci"; 8652e02d37SLiang Chen next-level-cache = <&l2>; 87e997a6a4SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 8852e02d37SLiang Chen }; 8952e02d37SLiang Chen 904f279f9fSRobin Murphy idle-states { 914f279f9fSRobin Murphy entry-method = "psci"; 924f279f9fSRobin Murphy 934f279f9fSRobin Murphy CPU_SLEEP: cpu-sleep { 944f279f9fSRobin Murphy compatible = "arm,idle-state"; 954f279f9fSRobin Murphy local-timer-stop; 964f279f9fSRobin Murphy arm,psci-suspend-param = <0x0010000>; 974f279f9fSRobin Murphy entry-latency-us = <120>; 984f279f9fSRobin Murphy exit-latency-us = <250>; 994f279f9fSRobin Murphy min-residency-us = <900>; 1004f279f9fSRobin Murphy }; 1014f279f9fSRobin Murphy }; 1024f279f9fSRobin Murphy 10352e02d37SLiang Chen l2: l2-cache0 { 10452e02d37SLiang Chen compatible = "cache"; 105848343c0SPierre Gondois cache-level = <2>; 10642dcd054SKrzysztof Kozlowski cache-unified; 10752e02d37SLiang Chen }; 10852e02d37SLiang Chen }; 10952e02d37SLiang Chen 110a30f3d90SKrzysztof Kozlowski cpu0_opp_table: opp-table-0 { 111e997a6a4SFinley Xiao compatible = "operating-points-v2"; 112e997a6a4SFinley Xiao opp-shared; 113e997a6a4SFinley Xiao 114e997a6a4SFinley Xiao opp-408000000 { 115e997a6a4SFinley Xiao opp-hz = /bits/ 64 <408000000>; 116e997a6a4SFinley Xiao opp-microvolt = <950000>; 117e997a6a4SFinley Xiao clock-latency-ns = <40000>; 118e997a6a4SFinley Xiao opp-suspend; 119e997a6a4SFinley Xiao }; 120e997a6a4SFinley Xiao opp-600000000 { 121e997a6a4SFinley Xiao opp-hz = /bits/ 64 <600000000>; 122e997a6a4SFinley Xiao opp-microvolt = <950000>; 123e997a6a4SFinley Xiao clock-latency-ns = <40000>; 124e997a6a4SFinley Xiao }; 125e997a6a4SFinley Xiao opp-816000000 { 126e997a6a4SFinley Xiao opp-hz = /bits/ 64 <816000000>; 127e997a6a4SFinley Xiao opp-microvolt = <1000000>; 128e997a6a4SFinley Xiao clock-latency-ns = <40000>; 129e997a6a4SFinley Xiao }; 130e997a6a4SFinley Xiao opp-1008000000 { 131e997a6a4SFinley Xiao opp-hz = /bits/ 64 <1008000000>; 132e997a6a4SFinley Xiao opp-microvolt = <1100000>; 133e997a6a4SFinley Xiao clock-latency-ns = <40000>; 134e997a6a4SFinley Xiao }; 135e997a6a4SFinley Xiao opp-1200000000 { 136e997a6a4SFinley Xiao opp-hz = /bits/ 64 <1200000000>; 137e997a6a4SFinley Xiao opp-microvolt = <1225000>; 138e997a6a4SFinley Xiao clock-latency-ns = <40000>; 139e997a6a4SFinley Xiao }; 140e997a6a4SFinley Xiao opp-1296000000 { 141e997a6a4SFinley Xiao opp-hz = /bits/ 64 <1296000000>; 142e997a6a4SFinley Xiao opp-microvolt = <1300000>; 143e997a6a4SFinley Xiao clock-latency-ns = <40000>; 144e997a6a4SFinley Xiao }; 145e997a6a4SFinley Xiao }; 146e997a6a4SFinley Xiao 14729e8976eSRobin Murphy analog_sound: analog-sound { 14829e8976eSRobin Murphy compatible = "simple-audio-card"; 14929e8976eSRobin Murphy simple-audio-card,format = "i2s"; 15029e8976eSRobin Murphy simple-audio-card,mclk-fs = <256>; 15129e8976eSRobin Murphy simple-audio-card,name = "Analog"; 15229e8976eSRobin Murphy status = "disabled"; 15329e8976eSRobin Murphy 15429e8976eSRobin Murphy simple-audio-card,cpu { 15529e8976eSRobin Murphy sound-dai = <&i2s1>; 15629e8976eSRobin Murphy }; 15729e8976eSRobin Murphy 15829e8976eSRobin Murphy simple-audio-card,codec { 15929e8976eSRobin Murphy sound-dai = <&codec>; 16029e8976eSRobin Murphy }; 16129e8976eSRobin Murphy }; 16229e8976eSRobin Murphy 16352e02d37SLiang Chen arm-pmu { 16452e02d37SLiang Chen compatible = "arm,cortex-a53-pmu"; 16552e02d37SLiang Chen interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 16652e02d37SLiang Chen <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 16752e02d37SLiang Chen <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 16852e02d37SLiang Chen <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 16952e02d37SLiang Chen interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 17052e02d37SLiang Chen }; 17152e02d37SLiang Chen 172725e351cSHeiko Stuebner display_subsystem: display-subsystem { 173725e351cSHeiko Stuebner compatible = "rockchip,display-subsystem"; 174725e351cSHeiko Stuebner ports = <&vop_out>; 175725e351cSHeiko Stuebner }; 176725e351cSHeiko Stuebner 17729e8976eSRobin Murphy hdmi_sound: hdmi-sound { 17829e8976eSRobin Murphy compatible = "simple-audio-card"; 17929e8976eSRobin Murphy simple-audio-card,format = "i2s"; 18029e8976eSRobin Murphy simple-audio-card,mclk-fs = <128>; 18129e8976eSRobin Murphy simple-audio-card,name = "HDMI"; 18229e8976eSRobin Murphy status = "disabled"; 18329e8976eSRobin Murphy 18429e8976eSRobin Murphy simple-audio-card,cpu { 18529e8976eSRobin Murphy sound-dai = <&i2s0>; 18629e8976eSRobin Murphy }; 18729e8976eSRobin Murphy 18829e8976eSRobin Murphy simple-audio-card,codec { 18929e8976eSRobin Murphy sound-dai = <&hdmi>; 19029e8976eSRobin Murphy }; 19129e8976eSRobin Murphy }; 19229e8976eSRobin Murphy 19352e02d37SLiang Chen psci { 19452e02d37SLiang Chen compatible = "arm,psci-1.0", "arm,psci-0.2"; 19552e02d37SLiang Chen method = "smc"; 19652e02d37SLiang Chen }; 19752e02d37SLiang Chen 19852e02d37SLiang Chen timer { 19952e02d37SLiang Chen compatible = "arm,armv8-timer"; 20052e02d37SLiang Chen interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 20152e02d37SLiang Chen <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 20252e02d37SLiang Chen <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 20352e02d37SLiang Chen <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 20452e02d37SLiang Chen }; 20552e02d37SLiang Chen 20652e02d37SLiang Chen xin24m: xin24m { 20752e02d37SLiang Chen compatible = "fixed-clock"; 20852e02d37SLiang Chen #clock-cells = <0>; 20952e02d37SLiang Chen clock-frequency = <24000000>; 21052e02d37SLiang Chen clock-output-names = "xin24m"; 21152e02d37SLiang Chen }; 21252e02d37SLiang Chen 213d80ef50aSSugar Zhang i2s0: i2s@ff000000 { 214d80ef50aSSugar Zhang compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s"; 215d80ef50aSSugar Zhang reg = <0x0 0xff000000 0x0 0x1000>; 216d80ef50aSSugar Zhang interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 217d80ef50aSSugar Zhang clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>; 218d80ef50aSSugar Zhang clock-names = "i2s_clk", "i2s_hclk"; 219d80ef50aSSugar Zhang dmas = <&dmac 11>, <&dmac 12>; 220d80ef50aSSugar Zhang dma-names = "tx", "rx"; 221b78442b8SHeiko Stuebner #sound-dai-cells = <0>; 222d80ef50aSSugar Zhang status = "disabled"; 223d80ef50aSSugar Zhang }; 224d80ef50aSSugar Zhang 225d80ef50aSSugar Zhang i2s1: i2s@ff010000 { 226d80ef50aSSugar Zhang compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s"; 227d80ef50aSSugar Zhang reg = <0x0 0xff010000 0x0 0x1000>; 228d80ef50aSSugar Zhang interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 229d80ef50aSSugar Zhang clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>; 230d80ef50aSSugar Zhang clock-names = "i2s_clk", "i2s_hclk"; 231d80ef50aSSugar Zhang dmas = <&dmac 14>, <&dmac 15>; 232d80ef50aSSugar Zhang dma-names = "tx", "rx"; 233b78442b8SHeiko Stuebner #sound-dai-cells = <0>; 234d80ef50aSSugar Zhang status = "disabled"; 235d80ef50aSSugar Zhang }; 236d80ef50aSSugar Zhang 237d80ef50aSSugar Zhang i2s2: i2s@ff020000 { 238d80ef50aSSugar Zhang compatible = "rockchip,rk3328-i2s", "rockchip,rk3066-i2s"; 239d80ef50aSSugar Zhang reg = <0x0 0xff020000 0x0 0x1000>; 240d80ef50aSSugar Zhang interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 241d80ef50aSSugar Zhang clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>; 242d80ef50aSSugar Zhang clock-names = "i2s_clk", "i2s_hclk"; 243d80ef50aSSugar Zhang dmas = <&dmac 0>, <&dmac 1>; 244d80ef50aSSugar Zhang dma-names = "tx", "rx"; 245b78442b8SHeiko Stuebner #sound-dai-cells = <0>; 246d80ef50aSSugar Zhang status = "disabled"; 247d80ef50aSSugar Zhang }; 248d80ef50aSSugar Zhang 249fc982e0bSSugar Zhang spdif: spdif@ff030000 { 250fc982e0bSSugar Zhang compatible = "rockchip,rk3328-spdif"; 251fc982e0bSSugar Zhang reg = <0x0 0xff030000 0x0 0x1000>; 252fc982e0bSSugar Zhang interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 253fc982e0bSSugar Zhang clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>; 254fc982e0bSSugar Zhang clock-names = "mclk", "hclk"; 255fc982e0bSSugar Zhang dmas = <&dmac 10>; 256fc982e0bSSugar Zhang dma-names = "tx"; 257fc982e0bSSugar Zhang pinctrl-names = "default"; 258fc982e0bSSugar Zhang pinctrl-0 = <&spdifm2_tx>; 259b78442b8SHeiko Stuebner #sound-dai-cells = <0>; 260fc982e0bSSugar Zhang status = "disabled"; 261fc982e0bSSugar Zhang }; 262fc982e0bSSugar Zhang 26313ed1501SSugar Zhang pdm: pdm@ff040000 { 26413ed1501SSugar Zhang compatible = "rockchip,pdm"; 26513ed1501SSugar Zhang reg = <0x0 0xff040000 0x0 0x1000>; 26613ed1501SSugar Zhang clocks = <&cru SCLK_PDM>, <&cru HCLK_PDM>; 26713ed1501SSugar Zhang clock-names = "pdm_clk", "pdm_hclk"; 26813ed1501SSugar Zhang dmas = <&dmac 16>; 26913ed1501SSugar Zhang dma-names = "rx"; 27013ed1501SSugar Zhang pinctrl-names = "default", "sleep"; 27113ed1501SSugar Zhang pinctrl-0 = <&pdmm0_clk 27213ed1501SSugar Zhang &pdmm0_sdi0 27313ed1501SSugar Zhang &pdmm0_sdi1 27413ed1501SSugar Zhang &pdmm0_sdi2 27513ed1501SSugar Zhang &pdmm0_sdi3>; 27613ed1501SSugar Zhang pinctrl-1 = <&pdmm0_clk_sleep 27713ed1501SSugar Zhang &pdmm0_sdi0_sleep 27813ed1501SSugar Zhang &pdmm0_sdi1_sleep 27913ed1501SSugar Zhang &pdmm0_sdi2_sleep 28013ed1501SSugar Zhang &pdmm0_sdi3_sleep>; 28113ed1501SSugar Zhang status = "disabled"; 28213ed1501SSugar Zhang }; 28313ed1501SSugar Zhang 28452e02d37SLiang Chen grf: syscon@ff100000 { 28552e02d37SLiang Chen compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd"; 28652e02d37SLiang Chen reg = <0x0 0xff100000 0x0 0x1000>; 28752e02d37SLiang Chen 288cc51f503SDavid Wu io_domains: io-domains { 289cc51f503SDavid Wu compatible = "rockchip,rk3328-io-voltage-domain"; 290cc51f503SDavid Wu status = "disabled"; 291cc51f503SDavid Wu }; 292cc51f503SDavid Wu 29319486fe5SJohan Jonker grf_gpio: gpio { 294692ff61eSLevin Du compatible = "rockchip,rk3328-grf-gpio"; 295692ff61eSLevin Du gpio-controller; 296692ff61eSLevin Du #gpio-cells = <2>; 297692ff61eSLevin Du }; 298692ff61eSLevin Du 29952e02d37SLiang Chen power: power-controller { 30052e02d37SLiang Chen compatible = "rockchip,rk3328-power-controller"; 30152e02d37SLiang Chen #power-domain-cells = <1>; 30252e02d37SLiang Chen #address-cells = <1>; 30352e02d37SLiang Chen #size-cells = <0>; 30452e02d37SLiang Chen 3056e6a282bSElaine Zhang power-domain@RK3328_PD_HEVC { 30652e02d37SLiang Chen reg = <RK3328_PD_HEVC>; 307837188d4SJohan Jonker #power-domain-cells = <0>; 30852e02d37SLiang Chen }; 3096e6a282bSElaine Zhang power-domain@RK3328_PD_VIDEO { 31052e02d37SLiang Chen reg = <RK3328_PD_VIDEO>; 31117408c9bSChristopher Obbard clocks = <&cru ACLK_RKVDEC>, 31217408c9bSChristopher Obbard <&cru HCLK_RKVDEC>, 31317408c9bSChristopher Obbard <&cru SCLK_VDEC_CABAC>, 31417408c9bSChristopher Obbard <&cru SCLK_VDEC_CORE>; 315837188d4SJohan Jonker #power-domain-cells = <0>; 31652e02d37SLiang Chen }; 3176e6a282bSElaine Zhang power-domain@RK3328_PD_VPU { 31852e02d37SLiang Chen reg = <RK3328_PD_VPU>; 319e8cae2e6SJonas Karlman clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 320837188d4SJohan Jonker #power-domain-cells = <0>; 32152e02d37SLiang Chen }; 32252e02d37SLiang Chen }; 32352e02d37SLiang Chen 32452e02d37SLiang Chen reboot-mode { 32552e02d37SLiang Chen compatible = "syscon-reboot-mode"; 32652e02d37SLiang Chen offset = <0x5c8>; 32752e02d37SLiang Chen mode-normal = <BOOT_NORMAL>; 32852e02d37SLiang Chen mode-recovery = <BOOT_RECOVERY>; 32952e02d37SLiang Chen mode-bootloader = <BOOT_FASTBOOT>; 33052e02d37SLiang Chen mode-loader = <BOOT_BL_DOWNLOAD>; 33152e02d37SLiang Chen }; 33252e02d37SLiang Chen }; 33352e02d37SLiang Chen 33452e02d37SLiang Chen uart0: serial@ff110000 { 33552e02d37SLiang Chen compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart"; 33652e02d37SLiang Chen reg = <0x0 0xff110000 0x0 0x100>; 33752e02d37SLiang Chen interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 33852e02d37SLiang Chen clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 33952e02d37SLiang Chen clock-names = "baudclk", "apb_pclk"; 34052e02d37SLiang Chen dmas = <&dmac 2>, <&dmac 3>; 3411255fe03SRobin Murphy dma-names = "tx", "rx"; 34252e02d37SLiang Chen pinctrl-names = "default"; 34352e02d37SLiang Chen pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 34452e02d37SLiang Chen reg-io-width = <4>; 34552e02d37SLiang Chen reg-shift = <2>; 34652e02d37SLiang Chen status = "disabled"; 34752e02d37SLiang Chen }; 34852e02d37SLiang Chen 34952e02d37SLiang Chen uart1: serial@ff120000 { 35052e02d37SLiang Chen compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart"; 35152e02d37SLiang Chen reg = <0x0 0xff120000 0x0 0x100>; 35252e02d37SLiang Chen interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 35352e02d37SLiang Chen clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 354d0414fddSHuibin Hong clock-names = "baudclk", "apb_pclk"; 35552e02d37SLiang Chen dmas = <&dmac 4>, <&dmac 5>; 3561255fe03SRobin Murphy dma-names = "tx", "rx"; 35752e02d37SLiang Chen pinctrl-names = "default"; 35852e02d37SLiang Chen pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>; 35952e02d37SLiang Chen reg-io-width = <4>; 36052e02d37SLiang Chen reg-shift = <2>; 36152e02d37SLiang Chen status = "disabled"; 36252e02d37SLiang Chen }; 36352e02d37SLiang Chen 36452e02d37SLiang Chen uart2: serial@ff130000 { 36552e02d37SLiang Chen compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart"; 36652e02d37SLiang Chen reg = <0x0 0xff130000 0x0 0x100>; 36752e02d37SLiang Chen interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 36852e02d37SLiang Chen clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 36952e02d37SLiang Chen clock-names = "baudclk", "apb_pclk"; 37052e02d37SLiang Chen dmas = <&dmac 6>, <&dmac 7>; 3711255fe03SRobin Murphy dma-names = "tx", "rx"; 37252e02d37SLiang Chen pinctrl-names = "default"; 37352e02d37SLiang Chen pinctrl-0 = <&uart2m1_xfer>; 37452e02d37SLiang Chen reg-io-width = <4>; 37552e02d37SLiang Chen reg-shift = <2>; 37652e02d37SLiang Chen status = "disabled"; 37752e02d37SLiang Chen }; 37852e02d37SLiang Chen 37952e02d37SLiang Chen i2c0: i2c@ff150000 { 38052e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 38152e02d37SLiang Chen reg = <0x0 0xff150000 0x0 0x1000>; 38252e02d37SLiang Chen interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 38352e02d37SLiang Chen #address-cells = <1>; 38452e02d37SLiang Chen #size-cells = <0>; 38552e02d37SLiang Chen clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>; 38652e02d37SLiang Chen clock-names = "i2c", "pclk"; 38752e02d37SLiang Chen pinctrl-names = "default"; 38852e02d37SLiang Chen pinctrl-0 = <&i2c0_xfer>; 38952e02d37SLiang Chen status = "disabled"; 39052e02d37SLiang Chen }; 39152e02d37SLiang Chen 39252e02d37SLiang Chen i2c1: i2c@ff160000 { 39352e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 39452e02d37SLiang Chen reg = <0x0 0xff160000 0x0 0x1000>; 39552e02d37SLiang Chen interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 39652e02d37SLiang Chen #address-cells = <1>; 39752e02d37SLiang Chen #size-cells = <0>; 39852e02d37SLiang Chen clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>; 39952e02d37SLiang Chen clock-names = "i2c", "pclk"; 40052e02d37SLiang Chen pinctrl-names = "default"; 40152e02d37SLiang Chen pinctrl-0 = <&i2c1_xfer>; 40252e02d37SLiang Chen status = "disabled"; 40352e02d37SLiang Chen }; 40452e02d37SLiang Chen 40552e02d37SLiang Chen i2c2: i2c@ff170000 { 40652e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 40752e02d37SLiang Chen reg = <0x0 0xff170000 0x0 0x1000>; 40852e02d37SLiang Chen interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 40952e02d37SLiang Chen #address-cells = <1>; 41052e02d37SLiang Chen #size-cells = <0>; 41152e02d37SLiang Chen clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>; 41252e02d37SLiang Chen clock-names = "i2c", "pclk"; 41352e02d37SLiang Chen pinctrl-names = "default"; 41452e02d37SLiang Chen pinctrl-0 = <&i2c2_xfer>; 41552e02d37SLiang Chen status = "disabled"; 41652e02d37SLiang Chen }; 41752e02d37SLiang Chen 41852e02d37SLiang Chen i2c3: i2c@ff180000 { 41952e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 42052e02d37SLiang Chen reg = <0x0 0xff180000 0x0 0x1000>; 42152e02d37SLiang Chen interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 42252e02d37SLiang Chen #address-cells = <1>; 42352e02d37SLiang Chen #size-cells = <0>; 42452e02d37SLiang Chen clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>; 42552e02d37SLiang Chen clock-names = "i2c", "pclk"; 42652e02d37SLiang Chen pinctrl-names = "default"; 42752e02d37SLiang Chen pinctrl-0 = <&i2c3_xfer>; 42852e02d37SLiang Chen status = "disabled"; 42952e02d37SLiang Chen }; 43052e02d37SLiang Chen 43152e02d37SLiang Chen spi0: spi@ff190000 { 43252e02d37SLiang Chen compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi"; 43352e02d37SLiang Chen reg = <0x0 0xff190000 0x0 0x1000>; 43452e02d37SLiang Chen interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 43552e02d37SLiang Chen #address-cells = <1>; 43652e02d37SLiang Chen #size-cells = <0>; 43752e02d37SLiang Chen clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>; 43852e02d37SLiang Chen clock-names = "spiclk", "apb_pclk"; 43952e02d37SLiang Chen dmas = <&dmac 8>, <&dmac 9>; 44052e02d37SLiang Chen dma-names = "tx", "rx"; 44152e02d37SLiang Chen pinctrl-names = "default"; 44252e02d37SLiang Chen pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>; 44352e02d37SLiang Chen status = "disabled"; 44452e02d37SLiang Chen }; 44552e02d37SLiang Chen 44652e02d37SLiang Chen wdt: watchdog@ff1a0000 { 4472499448cSJohan Jonker compatible = "rockchip,rk3328-wdt", "snps,dw-wdt"; 44852e02d37SLiang Chen reg = <0x0 0xff1a0000 0x0 0x100>; 44952e02d37SLiang Chen interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 450c9a8af80SLeonidas P. Papadakos clocks = <&cru PCLK_WDT>; 45152e02d37SLiang Chen }; 45252e02d37SLiang Chen 4530bb2ef61SDavid Wu pwm0: pwm@ff1b0000 { 4540bb2ef61SDavid Wu compatible = "rockchip,rk3328-pwm"; 4550bb2ef61SDavid Wu reg = <0x0 0xff1b0000 0x0 0x10>; 4560bb2ef61SDavid Wu clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 4570bb2ef61SDavid Wu clock-names = "pwm", "pclk"; 4580bb2ef61SDavid Wu pinctrl-names = "default"; 4590bb2ef61SDavid Wu pinctrl-0 = <&pwm0_pin>; 4600bb2ef61SDavid Wu #pwm-cells = <3>; 4610bb2ef61SDavid Wu status = "disabled"; 4620bb2ef61SDavid Wu }; 4630bb2ef61SDavid Wu 4640bb2ef61SDavid Wu pwm1: pwm@ff1b0010 { 4650bb2ef61SDavid Wu compatible = "rockchip,rk3328-pwm"; 4660bb2ef61SDavid Wu reg = <0x0 0xff1b0010 0x0 0x10>; 4670bb2ef61SDavid Wu clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 4680bb2ef61SDavid Wu clock-names = "pwm", "pclk"; 4690bb2ef61SDavid Wu pinctrl-names = "default"; 4700bb2ef61SDavid Wu pinctrl-0 = <&pwm1_pin>; 4710bb2ef61SDavid Wu #pwm-cells = <3>; 4720bb2ef61SDavid Wu status = "disabled"; 4730bb2ef61SDavid Wu }; 4740bb2ef61SDavid Wu 4750bb2ef61SDavid Wu pwm2: pwm@ff1b0020 { 4760bb2ef61SDavid Wu compatible = "rockchip,rk3328-pwm"; 4770bb2ef61SDavid Wu reg = <0x0 0xff1b0020 0x0 0x10>; 4780bb2ef61SDavid Wu clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 4790bb2ef61SDavid Wu clock-names = "pwm", "pclk"; 4800bb2ef61SDavid Wu pinctrl-names = "default"; 4810bb2ef61SDavid Wu pinctrl-0 = <&pwm2_pin>; 4820bb2ef61SDavid Wu #pwm-cells = <3>; 4830bb2ef61SDavid Wu status = "disabled"; 4840bb2ef61SDavid Wu }; 4850bb2ef61SDavid Wu 4860bb2ef61SDavid Wu pwm3: pwm@ff1b0030 { 4870bb2ef61SDavid Wu compatible = "rockchip,rk3328-pwm"; 4880bb2ef61SDavid Wu reg = <0x0 0xff1b0030 0x0 0x10>; 4890bb2ef61SDavid Wu interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 4900bb2ef61SDavid Wu clocks = <&cru SCLK_PWM>, <&cru PCLK_PWM>; 4910bb2ef61SDavid Wu clock-names = "pwm", "pclk"; 4920bb2ef61SDavid Wu pinctrl-names = "default"; 4930bb2ef61SDavid Wu pinctrl-0 = <&pwmir_pin>; 4940bb2ef61SDavid Wu #pwm-cells = <3>; 4950bb2ef61SDavid Wu status = "disabled"; 4960bb2ef61SDavid Wu }; 4970bb2ef61SDavid Wu 4988fd94150SKrzysztof Kozlowski dmac: dma-controller@ff1f0000 { 4999e824449SRobin Murphy compatible = "arm,pl330", "arm,primecell"; 5009e824449SRobin Murphy reg = <0x0 0xff1f0000 0x0 0x4000>; 5019e824449SRobin Murphy interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 5029e824449SRobin Murphy <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 5039e824449SRobin Murphy arm,pl330-periph-burst; 5049e824449SRobin Murphy clocks = <&cru ACLK_DMAC>; 5059e824449SRobin Murphy clock-names = "apb_pclk"; 5069e824449SRobin Murphy #dma-cells = <1>; 5079e824449SRobin Murphy }; 5089e824449SRobin Murphy 50987e0d607SRocky Hao thermal-zones { 51087e0d607SRocky Hao soc_thermal: soc-thermal { 51187e0d607SRocky Hao polling-delay-passive = <20>; 51287e0d607SRocky Hao polling-delay = <1000>; 51387e0d607SRocky Hao sustainable-power = <1000>; 51487e0d607SRocky Hao 51587e0d607SRocky Hao thermal-sensors = <&tsadc 0>; 51687e0d607SRocky Hao 51787e0d607SRocky Hao trips { 51887e0d607SRocky Hao threshold: trip-point0 { 51987e0d607SRocky Hao temperature = <70000>; 52087e0d607SRocky Hao hysteresis = <2000>; 52187e0d607SRocky Hao type = "passive"; 52287e0d607SRocky Hao }; 52387e0d607SRocky Hao target: trip-point1 { 52487e0d607SRocky Hao temperature = <85000>; 52587e0d607SRocky Hao hysteresis = <2000>; 52687e0d607SRocky Hao type = "passive"; 52787e0d607SRocky Hao }; 52887e0d607SRocky Hao soc_crit: soc-crit { 52987e0d607SRocky Hao temperature = <95000>; 53087e0d607SRocky Hao hysteresis = <2000>; 53187e0d607SRocky Hao type = "critical"; 53287e0d607SRocky Hao }; 53387e0d607SRocky Hao }; 53487e0d607SRocky Hao 53587e0d607SRocky Hao cooling-maps { 53687e0d607SRocky Hao map0 { 53787e0d607SRocky Hao trip = <&target>; 538cdd46460SViresh Kumar cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 539cdd46460SViresh Kumar <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 540cdd46460SViresh Kumar <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 541cdd46460SViresh Kumar <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 54287e0d607SRocky Hao contribution = <4096>; 54387e0d607SRocky Hao }; 54487e0d607SRocky Hao }; 54587e0d607SRocky Hao }; 54687e0d607SRocky Hao 54787e0d607SRocky Hao }; 54887e0d607SRocky Hao 54920590de2SRocky Hao tsadc: tsadc@ff250000 { 55020590de2SRocky Hao compatible = "rockchip,rk3328-tsadc"; 55120590de2SRocky Hao reg = <0x0 0xff250000 0x0 0x100>; 5523fa8c49fSHeiko Stuebner interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 55320590de2SRocky Hao assigned-clocks = <&cru SCLK_TSADC>; 55420590de2SRocky Hao assigned-clock-rates = <50000>; 55520590de2SRocky Hao clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 55620590de2SRocky Hao clock-names = "tsadc", "apb_pclk"; 55720590de2SRocky Hao pinctrl-names = "init", "default", "sleep"; 5582bc65fefSJohan Jonker pinctrl-0 = <&otp_pin>; 55920590de2SRocky Hao pinctrl-1 = <&otp_out>; 5602bc65fefSJohan Jonker pinctrl-2 = <&otp_pin>; 56120590de2SRocky Hao resets = <&cru SRST_TSADC>; 56220590de2SRocky Hao reset-names = "tsadc-apb"; 56320590de2SRocky Hao rockchip,grf = <&grf>; 56420590de2SRocky Hao rockchip,hw-tshut-temp = <100000>; 56520590de2SRocky Hao #thermal-sensor-cells = <1>; 56620590de2SRocky Hao status = "disabled"; 56720590de2SRocky Hao }; 56820590de2SRocky Hao 56913bc2c0aSFinley Xiao efuse: efuse@ff260000 { 57013bc2c0aSFinley Xiao compatible = "rockchip,rk3328-efuse"; 57113bc2c0aSFinley Xiao reg = <0x0 0xff260000 0x0 0x50>; 57213bc2c0aSFinley Xiao #address-cells = <1>; 57313bc2c0aSFinley Xiao #size-cells = <1>; 57413bc2c0aSFinley Xiao clocks = <&cru SCLK_EFUSE>; 57513bc2c0aSFinley Xiao clock-names = "pclk_efuse"; 57613bc2c0aSFinley Xiao rockchip,efuse-size = <0x20>; 57713bc2c0aSFinley Xiao 57813bc2c0aSFinley Xiao /* Data cells */ 57913bc2c0aSFinley Xiao efuse_id: id@7 { 58013bc2c0aSFinley Xiao reg = <0x07 0x10>; 58113bc2c0aSFinley Xiao }; 58213bc2c0aSFinley Xiao cpu_leakage: cpu-leakage@17 { 58313bc2c0aSFinley Xiao reg = <0x17 0x1>; 58413bc2c0aSFinley Xiao }; 58513bc2c0aSFinley Xiao logic_leakage: logic-leakage@19 { 58613bc2c0aSFinley Xiao reg = <0x19 0x1>; 58713bc2c0aSFinley Xiao }; 58813bc2c0aSFinley Xiao efuse_cpu_version: cpu-version@1a { 58913bc2c0aSFinley Xiao reg = <0x1a 0x1>; 59013bc2c0aSFinley Xiao bits = <3 3>; 59113bc2c0aSFinley Xiao }; 59213bc2c0aSFinley Xiao }; 59313bc2c0aSFinley Xiao 59452e02d37SLiang Chen saradc: adc@ff280000 { 59552e02d37SLiang Chen compatible = "rockchip,rk3328-saradc", "rockchip,rk3399-saradc"; 59652e02d37SLiang Chen reg = <0x0 0xff280000 0x0 0x100>; 59752e02d37SLiang Chen interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 59852e02d37SLiang Chen #io-channel-cells = <1>; 59952e02d37SLiang Chen clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 60052e02d37SLiang Chen clock-names = "saradc", "apb_pclk"; 60152e02d37SLiang Chen resets = <&cru SRST_SARADC_P>; 60252e02d37SLiang Chen reset-names = "saradc-apb"; 60352e02d37SLiang Chen status = "disabled"; 60452e02d37SLiang Chen }; 60552e02d37SLiang Chen 606752fbc0cSHeiko Stuebner gpu: gpu@ff300000 { 607752fbc0cSHeiko Stuebner compatible = "rockchip,rk3328-mali", "arm,mali-450"; 608932b4610SAlex Bee reg = <0x0 0xff300000 0x0 0x30000>; 609752fbc0cSHeiko Stuebner interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 610752fbc0cSHeiko Stuebner <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 611752fbc0cSHeiko Stuebner <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>, 612752fbc0cSHeiko Stuebner <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 613752fbc0cSHeiko Stuebner <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 614752fbc0cSHeiko Stuebner <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, 615752fbc0cSHeiko Stuebner <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 616752fbc0cSHeiko Stuebner interrupt-names = "gp", 617752fbc0cSHeiko Stuebner "gpmmu", 618752fbc0cSHeiko Stuebner "pp", 619752fbc0cSHeiko Stuebner "pp0", 620752fbc0cSHeiko Stuebner "ppmmu0", 621752fbc0cSHeiko Stuebner "pp1", 622752fbc0cSHeiko Stuebner "ppmmu1"; 623752fbc0cSHeiko Stuebner clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; 624752fbc0cSHeiko Stuebner clock-names = "bus", "core"; 625752fbc0cSHeiko Stuebner resets = <&cru SRST_GPU_A>; 626752fbc0cSHeiko Stuebner }; 627752fbc0cSHeiko Stuebner 62849c82f2bSSimon Xue h265e_mmu: iommu@ff330200 { 62949c82f2bSSimon Xue compatible = "rockchip,iommu"; 63049c82f2bSSimon Xue reg = <0x0 0xff330200 0 0x100>; 63149c82f2bSSimon Xue interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 632df3bcde7SJeffy Chen clocks = <&cru ACLK_H265>, <&cru PCLK_H265>; 633df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 63449c82f2bSSimon Xue #iommu-cells = <0>; 63549c82f2bSSimon Xue status = "disabled"; 63649c82f2bSSimon Xue }; 63749c82f2bSSimon Xue 63849c82f2bSSimon Xue vepu_mmu: iommu@ff340800 { 63949c82f2bSSimon Xue compatible = "rockchip,iommu"; 64049c82f2bSSimon Xue reg = <0x0 0xff340800 0x0 0x40>; 64149c82f2bSSimon Xue interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 642df3bcde7SJeffy Chen clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 643df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 64449c82f2bSSimon Xue #iommu-cells = <0>; 64549c82f2bSSimon Xue status = "disabled"; 64649c82f2bSSimon Xue }; 64749c82f2bSSimon Xue 648e8cae2e6SJonas Karlman vpu: video-codec@ff350000 { 649e8cae2e6SJonas Karlman compatible = "rockchip,rk3328-vpu"; 650e8cae2e6SJonas Karlman reg = <0x0 0xff350000 0x0 0x800>; 651e8cae2e6SJonas Karlman interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 652e8cae2e6SJonas Karlman interrupt-names = "vdpu"; 653e8cae2e6SJonas Karlman clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 654e8cae2e6SJonas Karlman clock-names = "aclk", "hclk"; 655e8cae2e6SJonas Karlman iommus = <&vpu_mmu>; 656e8cae2e6SJonas Karlman power-domains = <&power RK3328_PD_VPU>; 657e8cae2e6SJonas Karlman }; 658e8cae2e6SJonas Karlman 65949c82f2bSSimon Xue vpu_mmu: iommu@ff350800 { 66049c82f2bSSimon Xue compatible = "rockchip,iommu"; 66149c82f2bSSimon Xue reg = <0x0 0xff350800 0x0 0x40>; 66249c82f2bSSimon Xue interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 663df3bcde7SJeffy Chen clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 664df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 66549c82f2bSSimon Xue #iommu-cells = <0>; 666e8cae2e6SJonas Karlman power-domains = <&power RK3328_PD_VPU>; 66749c82f2bSSimon Xue }; 66849c82f2bSSimon Xue 66917408c9bSChristopher Obbard vdec: video-codec@ff360000 { 67017408c9bSChristopher Obbard compatible = "rockchip,rk3328-vdec", "rockchip,rk3399-vdec"; 6714192a26fSJonas Karlman reg = <0x0 0xff360000 0x0 0x480>; 67217408c9bSChristopher Obbard interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 67317408c9bSChristopher Obbard clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, 67417408c9bSChristopher Obbard <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>; 67517408c9bSChristopher Obbard clock-names = "axi", "ahb", "cabac", "core"; 67617408c9bSChristopher Obbard assigned-clocks = <&cru ACLK_RKVDEC>, <&cru SCLK_VDEC_CABAC>, 67717408c9bSChristopher Obbard <&cru SCLK_VDEC_CORE>; 67817408c9bSChristopher Obbard assigned-clock-rates = <400000000>, <400000000>, <300000000>; 67917408c9bSChristopher Obbard iommus = <&vdec_mmu>; 68017408c9bSChristopher Obbard power-domains = <&power RK3328_PD_VIDEO>; 68117408c9bSChristopher Obbard }; 68217408c9bSChristopher Obbard 683a2fe0f97SChristopher Obbard vdec_mmu: iommu@ff360480 { 68449c82f2bSSimon Xue compatible = "rockchip,iommu"; 68549c82f2bSSimon Xue reg = <0x0 0xff360480 0x0 0x40>, <0x0 0xff3604c0 0x0 0x40>; 68649c82f2bSSimon Xue interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 687df3bcde7SJeffy Chen clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>; 688df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 68949c82f2bSSimon Xue #iommu-cells = <0>; 69017408c9bSChristopher Obbard power-domains = <&power RK3328_PD_VIDEO>; 69149c82f2bSSimon Xue }; 69249c82f2bSSimon Xue 693725e351cSHeiko Stuebner vop: vop@ff370000 { 694725e351cSHeiko Stuebner compatible = "rockchip,rk3328-vop"; 695725e351cSHeiko Stuebner reg = <0x0 0xff370000 0x0 0x3efc>; 696725e351cSHeiko Stuebner interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 697725e351cSHeiko Stuebner clocks = <&cru ACLK_VOP>, <&cru DCLK_LCDC>, <&cru HCLK_VOP>; 698725e351cSHeiko Stuebner clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 699725e351cSHeiko Stuebner resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>; 700725e351cSHeiko Stuebner reset-names = "axi", "ahb", "dclk"; 701725e351cSHeiko Stuebner iommus = <&vop_mmu>; 702725e351cSHeiko Stuebner status = "disabled"; 703725e351cSHeiko Stuebner 704725e351cSHeiko Stuebner vop_out: port { 705725e351cSHeiko Stuebner #address-cells = <1>; 706725e351cSHeiko Stuebner #size-cells = <0>; 707725e351cSHeiko Stuebner 708725e351cSHeiko Stuebner vop_out_hdmi: endpoint@0 { 709725e351cSHeiko Stuebner reg = <0>; 710725e351cSHeiko Stuebner remote-endpoint = <&hdmi_in_vop>; 711725e351cSHeiko Stuebner }; 712725e351cSHeiko Stuebner }; 713725e351cSHeiko Stuebner }; 714725e351cSHeiko Stuebner 71549c82f2bSSimon Xue vop_mmu: iommu@ff373f00 { 71649c82f2bSSimon Xue compatible = "rockchip,iommu"; 71749c82f2bSSimon Xue reg = <0x0 0xff373f00 0x0 0x100>; 718b521102dSArnd Bergmann interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 719df3bcde7SJeffy Chen clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 720df3bcde7SJeffy Chen clock-names = "aclk", "iface"; 72149c82f2bSSimon Xue #iommu-cells = <0>; 72249c82f2bSSimon Xue status = "disabled"; 72349c82f2bSSimon Xue }; 72449c82f2bSSimon Xue 725725e351cSHeiko Stuebner hdmi: hdmi@ff3c0000 { 726725e351cSHeiko Stuebner compatible = "rockchip,rk3328-dw-hdmi"; 727725e351cSHeiko Stuebner reg = <0x0 0xff3c0000 0x0 0x20000>; 728725e351cSHeiko Stuebner reg-io-width = <4>; 729725e351cSHeiko Stuebner interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 730725e351cSHeiko Stuebner <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 731725e351cSHeiko Stuebner clocks = <&cru PCLK_HDMI>, 732443f27e5SJonas Karlman <&cru SCLK_HDMI_SFC>, 733443f27e5SJonas Karlman <&cru SCLK_RTC32K>; 734725e351cSHeiko Stuebner clock-names = "iahb", 735443f27e5SJonas Karlman "isfr", 736443f27e5SJonas Karlman "cec"; 737725e351cSHeiko Stuebner phys = <&hdmiphy>; 738725e351cSHeiko Stuebner phy-names = "hdmi"; 739725e351cSHeiko Stuebner pinctrl-names = "default"; 740725e351cSHeiko Stuebner pinctrl-0 = <&hdmi_cec &hdmii2c_xfer &hdmi_hpd>; 741725e351cSHeiko Stuebner rockchip,grf = <&grf>; 7423e892ed2SKatsuhiro Suzuki #sound-dai-cells = <0>; 743725e351cSHeiko Stuebner status = "disabled"; 744725e351cSHeiko Stuebner 745725e351cSHeiko Stuebner ports { 7465c014f03SJohan Jonker #address-cells = <1>; 7475c014f03SJohan Jonker #size-cells = <0>; 7485c014f03SJohan Jonker 7495c014f03SJohan Jonker hdmi_in: port@0 { 7505c014f03SJohan Jonker reg = <0>; 7515c014f03SJohan Jonker 752725e351cSHeiko Stuebner hdmi_in_vop: endpoint { 753725e351cSHeiko Stuebner remote-endpoint = <&vop_out_hdmi>; 754725e351cSHeiko Stuebner }; 755725e351cSHeiko Stuebner }; 7565c014f03SJohan Jonker 7575c014f03SJohan Jonker hdmi_out: port@1 { 7585c014f03SJohan Jonker reg = <1>; 7595c014f03SJohan Jonker }; 760725e351cSHeiko Stuebner }; 761725e351cSHeiko Stuebner }; 762725e351cSHeiko Stuebner 763c0975706SKatsuhiro Suzuki codec: codec@ff410000 { 764c0975706SKatsuhiro Suzuki compatible = "rockchip,rk3328-codec"; 765c0975706SKatsuhiro Suzuki reg = <0x0 0xff410000 0x0 0x1000>; 766c0975706SKatsuhiro Suzuki clocks = <&cru PCLK_ACODECPHY>, <&cru SCLK_I2S1>; 767c0975706SKatsuhiro Suzuki clock-names = "pclk", "mclk"; 768c0975706SKatsuhiro Suzuki rockchip,grf = <&grf>; 769c0975706SKatsuhiro Suzuki #sound-dai-cells = <0>; 770c0975706SKatsuhiro Suzuki status = "disabled"; 771c0975706SKatsuhiro Suzuki }; 772c0975706SKatsuhiro Suzuki 7736c69dfe2SHeiko Stuebner hdmiphy: phy@ff430000 { 7746c69dfe2SHeiko Stuebner compatible = "rockchip,rk3328-hdmi-phy"; 7756c69dfe2SHeiko Stuebner reg = <0x0 0xff430000 0x0 0x10000>; 7766c69dfe2SHeiko Stuebner interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 7776c69dfe2SHeiko Stuebner clocks = <&cru PCLK_HDMIPHY>, <&xin24m>, <&cru DCLK_HDMIPHY>; 7786c69dfe2SHeiko Stuebner clock-names = "sysclk", "refoclk", "refpclk"; 7796c69dfe2SHeiko Stuebner clock-output-names = "hdmi_phy"; 7806c69dfe2SHeiko Stuebner #clock-cells = <0>; 7816c69dfe2SHeiko Stuebner nvmem-cells = <&efuse_cpu_version>; 7826c69dfe2SHeiko Stuebner nvmem-cell-names = "cpu-version"; 7836c69dfe2SHeiko Stuebner #phy-cells = <0>; 7846c69dfe2SHeiko Stuebner status = "disabled"; 7856c69dfe2SHeiko Stuebner }; 7866c69dfe2SHeiko Stuebner 78752e02d37SLiang Chen cru: clock-controller@ff440000 { 78852e02d37SLiang Chen compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon"; 78952e02d37SLiang Chen reg = <0x0 0xff440000 0x0 0x1000>; 79052e02d37SLiang Chen rockchip,grf = <&grf>; 79152e02d37SLiang Chen #clock-cells = <1>; 79252e02d37SLiang Chen #reset-cells = <1>; 79352e02d37SLiang Chen assigned-clocks = 79452e02d37SLiang Chen /* 79552e02d37SLiang Chen * CPLL should run at 1200, but that is to high for 79652e02d37SLiang Chen * the initial dividers of most of its children. 79752e02d37SLiang Chen * We need set cpll child clk div first, 79852e02d37SLiang Chen * and then set the cpll frequency. 79952e02d37SLiang Chen */ 80052e02d37SLiang Chen <&cru DCLK_LCDC>, <&cru SCLK_PDM>, 80152e02d37SLiang Chen <&cru SCLK_RTC32K>, <&cru SCLK_UART0>, 80252e02d37SLiang Chen <&cru SCLK_UART1>, <&cru SCLK_UART2>, 80352e02d37SLiang Chen <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>, 80452e02d37SLiang Chen <&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>, 80552e02d37SLiang Chen <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>, 80652e02d37SLiang Chen <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>, 80752e02d37SLiang Chen <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>, 80852e02d37SLiang Chen <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>, 80952e02d37SLiang Chen <&cru SCLK_SDIO>, <&cru SCLK_TSP>, 81052e02d37SLiang Chen <&cru SCLK_WIFI>, <&cru ARMCLK>, 81152e02d37SLiang Chen <&cru PLL_GPLL>, <&cru PLL_CPLL>, 81252e02d37SLiang Chen <&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>, 81352e02d37SLiang Chen <&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>, 81452e02d37SLiang Chen <&cru HCLK_PERI>, <&cru PCLK_PERI>, 81552e02d37SLiang Chen <&cru SCLK_RTC32K>; 81652e02d37SLiang Chen assigned-clock-parents = 81752e02d37SLiang Chen <&cru HDMIPHY>, <&cru PLL_APLL>, 81852e02d37SLiang Chen <&cru PLL_GPLL>, <&xin24m>, 81952e02d37SLiang Chen <&xin24m>, <&xin24m>; 82052e02d37SLiang Chen assigned-clock-rates = 82152e02d37SLiang Chen <0>, <61440000>, 82252e02d37SLiang Chen <0>, <24000000>, 82352e02d37SLiang Chen <24000000>, <24000000>, 82452e02d37SLiang Chen <15000000>, <15000000>, 825*66527255SJonas Karlman <300000000>, <100000000>, 826*66527255SJonas Karlman <400000000>, <100000000>, 82752e02d37SLiang Chen <50000000>, <100000000>, 82852e02d37SLiang Chen <100000000>, <100000000>, 82952e02d37SLiang Chen <50000000>, <50000000>, 83052e02d37SLiang Chen <50000000>, <50000000>, 83152e02d37SLiang Chen <24000000>, <600000000>, 83252e02d37SLiang Chen <491520000>, <1200000000>, 83352e02d37SLiang Chen <150000000>, <75000000>, 83452e02d37SLiang Chen <75000000>, <150000000>, 83552e02d37SLiang Chen <75000000>, <75000000>, 83652e02d37SLiang Chen <32768>; 83752e02d37SLiang Chen }; 83852e02d37SLiang Chen 839c60c0373SWilliam Wu usb2phy_grf: syscon@ff450000 { 840c60c0373SWilliam Wu compatible = "rockchip,rk3328-usb2phy-grf", "syscon", 841c60c0373SWilliam Wu "simple-mfd"; 842c60c0373SWilliam Wu reg = <0x0 0xff450000 0x0 0x10000>; 843c60c0373SWilliam Wu #address-cells = <1>; 844c60c0373SWilliam Wu #size-cells = <1>; 845c60c0373SWilliam Wu 8468c3d6425SJohan Jonker u2phy: usb2phy@100 { 847c60c0373SWilliam Wu compatible = "rockchip,rk3328-usb2phy"; 848c60c0373SWilliam Wu reg = <0x100 0x10>; 849c60c0373SWilliam Wu clocks = <&xin24m>; 850c60c0373SWilliam Wu clock-names = "phyclk"; 851c60c0373SWilliam Wu clock-output-names = "usb480m_phy"; 852c60c0373SWilliam Wu #clock-cells = <0>; 853c60c0373SWilliam Wu assigned-clocks = <&cru USB480M>; 854c60c0373SWilliam Wu assigned-clock-parents = <&u2phy>; 855c60c0373SWilliam Wu status = "disabled"; 856c60c0373SWilliam Wu 857c60c0373SWilliam Wu u2phy_otg: otg-port { 858c60c0373SWilliam Wu #phy-cells = <0>; 859c60c0373SWilliam Wu interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 860c60c0373SWilliam Wu <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 861c60c0373SWilliam Wu <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 862c60c0373SWilliam Wu interrupt-names = "otg-bvalid", "otg-id", 863c60c0373SWilliam Wu "linestate"; 864c60c0373SWilliam Wu status = "disabled"; 865c60c0373SWilliam Wu }; 866c60c0373SWilliam Wu 867c60c0373SWilliam Wu u2phy_host: host-port { 868c60c0373SWilliam Wu #phy-cells = <0>; 869c60c0373SWilliam Wu interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 870c60c0373SWilliam Wu interrupt-names = "linestate"; 871c60c0373SWilliam Wu status = "disabled"; 872c60c0373SWilliam Wu }; 873c60c0373SWilliam Wu }; 874c60c0373SWilliam Wu }; 875c60c0373SWilliam Wu 8763ef7c255SJohan Jonker sdmmc: mmc@ff500000 { 877d717f735SShawn Lin compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 878d717f735SShawn Lin reg = <0x0 0xff500000 0x0 0x4000>; 879d717f735SShawn Lin interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 880d717f735SShawn Lin clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 881d717f735SShawn Lin <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 882ca9eee95SRobin Murphy clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 883d717f735SShawn Lin fifo-depth = <0x100>; 88403e61929SShawn Lin max-frequency = <150000000>; 885d717f735SShawn Lin status = "disabled"; 886d717f735SShawn Lin }; 887d717f735SShawn Lin 8883ef7c255SJohan Jonker sdio: mmc@ff510000 { 889d717f735SShawn Lin compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 890d717f735SShawn Lin reg = <0x0 0xff510000 0x0 0x4000>; 891d717f735SShawn Lin interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 892d717f735SShawn Lin clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 893d717f735SShawn Lin <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 894ca9eee95SRobin Murphy clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 895d717f735SShawn Lin fifo-depth = <0x100>; 89603e61929SShawn Lin max-frequency = <150000000>; 897d717f735SShawn Lin status = "disabled"; 898d717f735SShawn Lin }; 899d717f735SShawn Lin 9003ef7c255SJohan Jonker emmc: mmc@ff520000 { 901d717f735SShawn Lin compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 902d717f735SShawn Lin reg = <0x0 0xff520000 0x0 0x4000>; 903d717f735SShawn Lin interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 904d717f735SShawn Lin clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 905d717f735SShawn Lin <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 906ca9eee95SRobin Murphy clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 907d717f735SShawn Lin fifo-depth = <0x100>; 90803e61929SShawn Lin max-frequency = <150000000>; 909d717f735SShawn Lin status = "disabled"; 910d717f735SShawn Lin }; 911d717f735SShawn Lin 91252e02d37SLiang Chen gmac2io: ethernet@ff540000 { 91352e02d37SLiang Chen compatible = "rockchip,rk3328-gmac"; 91452e02d37SLiang Chen reg = <0x0 0xff540000 0x0 0x10000>; 91552e02d37SLiang Chen interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 91652e02d37SLiang Chen interrupt-names = "macirq"; 91752e02d37SLiang Chen clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_RX>, 91852e02d37SLiang Chen <&cru SCLK_MAC2IO_TX>, <&cru SCLK_MAC2IO_REF>, 91952e02d37SLiang Chen <&cru SCLK_MAC2IO_REFOUT>, <&cru ACLK_MAC2IO>, 92052e02d37SLiang Chen <&cru PCLK_MAC2IO>; 92152e02d37SLiang Chen clock-names = "stmmaceth", "mac_clk_rx", 92252e02d37SLiang Chen "mac_clk_tx", "clk_mac_ref", 92352e02d37SLiang Chen "clk_mac_refout", "aclk_mac", 92452e02d37SLiang Chen "pclk_mac"; 92552e02d37SLiang Chen resets = <&cru SRST_GMAC2IO_A>; 92652e02d37SLiang Chen reset-names = "stmmaceth"; 92752e02d37SLiang Chen rockchip,grf = <&grf>; 9288a469ee3SCarlos de Paula snps,txpbl = <0x4>; 92952e02d37SLiang Chen status = "disabled"; 93052e02d37SLiang Chen }; 93152e02d37SLiang Chen 9329c4cc910SDavid Wu gmac2phy: ethernet@ff550000 { 9339c4cc910SDavid Wu compatible = "rockchip,rk3328-gmac"; 9349c4cc910SDavid Wu reg = <0x0 0xff550000 0x0 0x10000>; 9359c4cc910SDavid Wu rockchip,grf = <&grf>; 9369c4cc910SDavid Wu interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 9379c4cc910SDavid Wu interrupt-names = "macirq"; 9389c4cc910SDavid Wu clocks = <&cru SCLK_MAC2PHY_SRC>, <&cru SCLK_MAC2PHY_RXTX>, 9399c4cc910SDavid Wu <&cru SCLK_MAC2PHY_RXTX>, <&cru SCLK_MAC2PHY_REF>, 9409c4cc910SDavid Wu <&cru ACLK_MAC2PHY>, <&cru PCLK_MAC2PHY>, 9419c4cc910SDavid Wu <&cru SCLK_MAC2PHY_OUT>; 9429c4cc910SDavid Wu clock-names = "stmmaceth", "mac_clk_rx", 9439c4cc910SDavid Wu "mac_clk_tx", "clk_mac_ref", 9449c4cc910SDavid Wu "aclk_mac", "pclk_mac", 9459c4cc910SDavid Wu "clk_macphy"; 946b9460dd8SEzequiel Garcia resets = <&cru SRST_GMAC2PHY_A>; 947b9460dd8SEzequiel Garcia reset-names = "stmmaceth"; 9489c4cc910SDavid Wu phy-mode = "rmii"; 9499c4cc910SDavid Wu phy-handle = <&phy>; 9508a469ee3SCarlos de Paula snps,txpbl = <0x4>; 951c6433083SChen-Yu Tsai clock_in_out = "output"; 9529c4cc910SDavid Wu status = "disabled"; 9539c4cc910SDavid Wu 9549c4cc910SDavid Wu mdio { 9559c4cc910SDavid Wu compatible = "snps,dwmac-mdio"; 9569c4cc910SDavid Wu #address-cells = <1>; 9579c4cc910SDavid Wu #size-cells = <0>; 9589c4cc910SDavid Wu 9598370cc55SJohan Jonker phy: ethernet-phy@0 { 9609c4cc910SDavid Wu compatible = "ethernet-phy-id1234.d400", "ethernet-phy-ieee802.3-c22"; 9619c4cc910SDavid Wu reg = <0>; 9629c4cc910SDavid Wu clocks = <&cru SCLK_MAC2PHY_OUT>; 9639c4cc910SDavid Wu resets = <&cru SRST_MACPHY>; 9649c4cc910SDavid Wu pinctrl-names = "default"; 9659c4cc910SDavid Wu pinctrl-0 = <&fephyled_rxm1 &fephyled_linkm1>; 9669c4cc910SDavid Wu phy-is-integrated; 9679c4cc910SDavid Wu }; 9689c4cc910SDavid Wu }; 9699c4cc910SDavid Wu }; 9709c4cc910SDavid Wu 971c60c0373SWilliam Wu usb20_otg: usb@ff580000 { 972c60c0373SWilliam Wu compatible = "rockchip,rk3328-usb", "rockchip,rk3066-usb", 973c60c0373SWilliam Wu "snps,dwc2"; 974c60c0373SWilliam Wu reg = <0x0 0xff580000 0x0 0x40000>; 975c60c0373SWilliam Wu interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 976c60c0373SWilliam Wu clocks = <&cru HCLK_OTG>; 977c60c0373SWilliam Wu clock-names = "otg"; 978c60c0373SWilliam Wu dr_mode = "otg"; 979c60c0373SWilliam Wu g-np-tx-fifo-size = <16>; 980c60c0373SWilliam Wu g-rx-fifo-size = <280>; 981c60c0373SWilliam Wu g-tx-fifo-size = <256 128 128 64 32 16>; 982c60c0373SWilliam Wu phys = <&u2phy_otg>; 983c60c0373SWilliam Wu phy-names = "usb2-phy"; 984c60c0373SWilliam Wu status = "disabled"; 985c60c0373SWilliam Wu }; 986c60c0373SWilliam Wu 987c60c0373SWilliam Wu usb_host0_ehci: usb@ff5c0000 { 988c60c0373SWilliam Wu compatible = "generic-ehci"; 989c60c0373SWilliam Wu reg = <0x0 0xff5c0000 0x0 0x10000>; 990c60c0373SWilliam Wu interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 991c60c0373SWilliam Wu clocks = <&cru HCLK_HOST0>, <&u2phy>; 992c60c0373SWilliam Wu phys = <&u2phy_host>; 993c60c0373SWilliam Wu phy-names = "usb"; 994c60c0373SWilliam Wu status = "disabled"; 995c60c0373SWilliam Wu }; 996c60c0373SWilliam Wu 997c60c0373SWilliam Wu usb_host0_ohci: usb@ff5d0000 { 998c60c0373SWilliam Wu compatible = "generic-ohci"; 999c60c0373SWilliam Wu reg = <0x0 0xff5d0000 0x0 0x10000>; 1000c60c0373SWilliam Wu interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 1001c60c0373SWilliam Wu clocks = <&cru HCLK_HOST0>, <&u2phy>; 1002c60c0373SWilliam Wu phys = <&u2phy_host>; 1003c60c0373SWilliam Wu phy-names = "usb"; 1004c60c0373SWilliam Wu status = "disabled"; 1005c60c0373SWilliam Wu }; 1006c60c0373SWilliam Wu 100744dd5e21SCameron Nemo usbdrd3: usb@ff600000 { 100844dd5e21SCameron Nemo compatible = "rockchip,rk3328-dwc3", "snps,dwc3"; 100944dd5e21SCameron Nemo reg = <0x0 0xff600000 0x0 0x100000>; 101044dd5e21SCameron Nemo interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 101144dd5e21SCameron Nemo clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, 101244dd5e21SCameron Nemo <&cru ACLK_USB3OTG>; 101344dd5e21SCameron Nemo clock-names = "ref_clk", "suspend_clk", 101444dd5e21SCameron Nemo "bus_clk"; 101544dd5e21SCameron Nemo dr_mode = "otg"; 101644dd5e21SCameron Nemo phy_type = "utmi_wide"; 101744dd5e21SCameron Nemo snps,dis-del-phy-power-chg-quirk; 101844dd5e21SCameron Nemo snps,dis_enblslpm_quirk; 101944dd5e21SCameron Nemo snps,dis-tx-ipgap-linecheck-quirk; 102044dd5e21SCameron Nemo snps,dis-u2-freeclk-exists-quirk; 102144dd5e21SCameron Nemo snps,dis_u2_susphy_quirk; 102244dd5e21SCameron Nemo snps,dis_u3_susphy_quirk; 102344dd5e21SCameron Nemo status = "disabled"; 102444dd5e21SCameron Nemo }; 102544dd5e21SCameron Nemo 102652e02d37SLiang Chen gic: interrupt-controller@ff811000 { 102752e02d37SLiang Chen compatible = "arm,gic-400"; 102852e02d37SLiang Chen #interrupt-cells = <3>; 102952e02d37SLiang Chen #address-cells = <0>; 103052e02d37SLiang Chen interrupt-controller; 103152e02d37SLiang Chen reg = <0x0 0xff811000 0 0x1000>, 103252e02d37SLiang Chen <0x0 0xff812000 0 0x2000>, 103352e02d37SLiang Chen <0x0 0xff814000 0 0x2000>, 103452e02d37SLiang Chen <0x0 0xff816000 0 0x2000>; 103552e02d37SLiang Chen interrupts = <GIC_PPI 9 103652e02d37SLiang Chen (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 103752e02d37SLiang Chen }; 103852e02d37SLiang Chen 1039d1152bc5SCorentin Labbe crypto: crypto@ff060000 { 1040d1152bc5SCorentin Labbe compatible = "rockchip,rk3328-crypto"; 1041d1152bc5SCorentin Labbe reg = <0x0 0xff060000 0x0 0x4000>; 1042d1152bc5SCorentin Labbe interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 1043d1152bc5SCorentin Labbe clocks = <&cru HCLK_CRYPTO_MST>, <&cru HCLK_CRYPTO_SLV>, 1044d1152bc5SCorentin Labbe <&cru SCLK_CRYPTO>; 1045d1152bc5SCorentin Labbe clock-names = "hclk_master", "hclk_slave", "sclk"; 1046d1152bc5SCorentin Labbe resets = <&cru SRST_CRYPTO>; 1047d1152bc5SCorentin Labbe reset-names = "crypto-rst"; 1048d1152bc5SCorentin Labbe }; 1049d1152bc5SCorentin Labbe 105052e02d37SLiang Chen pinctrl: pinctrl { 105152e02d37SLiang Chen compatible = "rockchip,rk3328-pinctrl"; 105252e02d37SLiang Chen rockchip,grf = <&grf>; 105352e02d37SLiang Chen #address-cells = <2>; 105452e02d37SLiang Chen #size-cells = <2>; 105552e02d37SLiang Chen ranges; 105652e02d37SLiang Chen 1057ec3028e7SJohan Jonker gpio0: gpio@ff210000 { 105852e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 105952e02d37SLiang Chen reg = <0x0 0xff210000 0x0 0x100>; 106052e02d37SLiang Chen interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 106152e02d37SLiang Chen clocks = <&cru PCLK_GPIO0>; 106252e02d37SLiang Chen 106352e02d37SLiang Chen gpio-controller; 106452e02d37SLiang Chen #gpio-cells = <2>; 106552e02d37SLiang Chen 106652e02d37SLiang Chen interrupt-controller; 106752e02d37SLiang Chen #interrupt-cells = <2>; 106852e02d37SLiang Chen }; 106952e02d37SLiang Chen 1070ec3028e7SJohan Jonker gpio1: gpio@ff220000 { 107152e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 107252e02d37SLiang Chen reg = <0x0 0xff220000 0x0 0x100>; 107352e02d37SLiang Chen interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 107452e02d37SLiang Chen clocks = <&cru PCLK_GPIO1>; 107552e02d37SLiang Chen 107652e02d37SLiang Chen gpio-controller; 107752e02d37SLiang Chen #gpio-cells = <2>; 107852e02d37SLiang Chen 107952e02d37SLiang Chen interrupt-controller; 108052e02d37SLiang Chen #interrupt-cells = <2>; 108152e02d37SLiang Chen }; 108252e02d37SLiang Chen 1083ec3028e7SJohan Jonker gpio2: gpio@ff230000 { 108452e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 108552e02d37SLiang Chen reg = <0x0 0xff230000 0x0 0x100>; 108652e02d37SLiang Chen interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 108752e02d37SLiang Chen clocks = <&cru PCLK_GPIO2>; 108852e02d37SLiang Chen 108952e02d37SLiang Chen gpio-controller; 109052e02d37SLiang Chen #gpio-cells = <2>; 109152e02d37SLiang Chen 109252e02d37SLiang Chen interrupt-controller; 109352e02d37SLiang Chen #interrupt-cells = <2>; 109452e02d37SLiang Chen }; 109552e02d37SLiang Chen 1096ec3028e7SJohan Jonker gpio3: gpio@ff240000 { 109752e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 109852e02d37SLiang Chen reg = <0x0 0xff240000 0x0 0x100>; 109952e02d37SLiang Chen interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 110052e02d37SLiang Chen clocks = <&cru PCLK_GPIO3>; 110152e02d37SLiang Chen 110252e02d37SLiang Chen gpio-controller; 110352e02d37SLiang Chen #gpio-cells = <2>; 110452e02d37SLiang Chen 110552e02d37SLiang Chen interrupt-controller; 110652e02d37SLiang Chen #interrupt-cells = <2>; 110752e02d37SLiang Chen }; 110852e02d37SLiang Chen 110952e02d37SLiang Chen pcfg_pull_up: pcfg-pull-up { 111052e02d37SLiang Chen bias-pull-up; 111152e02d37SLiang Chen }; 111252e02d37SLiang Chen 111352e02d37SLiang Chen pcfg_pull_down: pcfg-pull-down { 111452e02d37SLiang Chen bias-pull-down; 111552e02d37SLiang Chen }; 111652e02d37SLiang Chen 111752e02d37SLiang Chen pcfg_pull_none: pcfg-pull-none { 111852e02d37SLiang Chen bias-disable; 111952e02d37SLiang Chen }; 112052e02d37SLiang Chen 112152e02d37SLiang Chen pcfg_pull_none_2ma: pcfg-pull-none-2ma { 112252e02d37SLiang Chen bias-disable; 112352e02d37SLiang Chen drive-strength = <2>; 112452e02d37SLiang Chen }; 112552e02d37SLiang Chen 112652e02d37SLiang Chen pcfg_pull_up_2ma: pcfg-pull-up-2ma { 112752e02d37SLiang Chen bias-pull-up; 112852e02d37SLiang Chen drive-strength = <2>; 112952e02d37SLiang Chen }; 113052e02d37SLiang Chen 113152e02d37SLiang Chen pcfg_pull_up_4ma: pcfg-pull-up-4ma { 113252e02d37SLiang Chen bias-pull-up; 113352e02d37SLiang Chen drive-strength = <4>; 113452e02d37SLiang Chen }; 113552e02d37SLiang Chen 113652e02d37SLiang Chen pcfg_pull_none_4ma: pcfg-pull-none-4ma { 113752e02d37SLiang Chen bias-disable; 113852e02d37SLiang Chen drive-strength = <4>; 113952e02d37SLiang Chen }; 114052e02d37SLiang Chen 114152e02d37SLiang Chen pcfg_pull_down_4ma: pcfg-pull-down-4ma { 114252e02d37SLiang Chen bias-pull-down; 114352e02d37SLiang Chen drive-strength = <4>; 114452e02d37SLiang Chen }; 114552e02d37SLiang Chen 114652e02d37SLiang Chen pcfg_pull_none_8ma: pcfg-pull-none-8ma { 114752e02d37SLiang Chen bias-disable; 114852e02d37SLiang Chen drive-strength = <8>; 114952e02d37SLiang Chen }; 115052e02d37SLiang Chen 115152e02d37SLiang Chen pcfg_pull_up_8ma: pcfg-pull-up-8ma { 115252e02d37SLiang Chen bias-pull-up; 115352e02d37SLiang Chen drive-strength = <8>; 115452e02d37SLiang Chen }; 115552e02d37SLiang Chen 115652e02d37SLiang Chen pcfg_pull_none_12ma: pcfg-pull-none-12ma { 115752e02d37SLiang Chen bias-disable; 115852e02d37SLiang Chen drive-strength = <12>; 115952e02d37SLiang Chen }; 116052e02d37SLiang Chen 116152e02d37SLiang Chen pcfg_pull_up_12ma: pcfg-pull-up-12ma { 116252e02d37SLiang Chen bias-pull-up; 116352e02d37SLiang Chen drive-strength = <12>; 116452e02d37SLiang Chen }; 116552e02d37SLiang Chen 116652e02d37SLiang Chen pcfg_output_high: pcfg-output-high { 116752e02d37SLiang Chen output-high; 116852e02d37SLiang Chen }; 116952e02d37SLiang Chen 117052e02d37SLiang Chen pcfg_output_low: pcfg-output-low { 117152e02d37SLiang Chen output-low; 117252e02d37SLiang Chen }; 117352e02d37SLiang Chen 117452e02d37SLiang Chen pcfg_input_high: pcfg-input-high { 117552e02d37SLiang Chen bias-pull-up; 117652e02d37SLiang Chen input-enable; 117752e02d37SLiang Chen }; 117852e02d37SLiang Chen 117952e02d37SLiang Chen pcfg_input: pcfg-input { 118052e02d37SLiang Chen input-enable; 118152e02d37SLiang Chen }; 118252e02d37SLiang Chen 118352e02d37SLiang Chen i2c0 { 118452e02d37SLiang Chen i2c0_xfer: i2c0-xfer { 118552e02d37SLiang Chen rockchip,pins = <2 RK_PD0 1 &pcfg_pull_none>, 118652e02d37SLiang Chen <2 RK_PD1 1 &pcfg_pull_none>; 118752e02d37SLiang Chen }; 118852e02d37SLiang Chen }; 118952e02d37SLiang Chen 119052e02d37SLiang Chen i2c1 { 119152e02d37SLiang Chen i2c1_xfer: i2c1-xfer { 119252e02d37SLiang Chen rockchip,pins = <2 RK_PA4 2 &pcfg_pull_none>, 119352e02d37SLiang Chen <2 RK_PA5 2 &pcfg_pull_none>; 119452e02d37SLiang Chen }; 119552e02d37SLiang Chen }; 119652e02d37SLiang Chen 119752e02d37SLiang Chen i2c2 { 119852e02d37SLiang Chen i2c2_xfer: i2c2-xfer { 119952e02d37SLiang Chen rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>, 120052e02d37SLiang Chen <2 RK_PB6 1 &pcfg_pull_none>; 120152e02d37SLiang Chen }; 120252e02d37SLiang Chen }; 120352e02d37SLiang Chen 120452e02d37SLiang Chen i2c3 { 120552e02d37SLiang Chen i2c3_xfer: i2c3-xfer { 120652e02d37SLiang Chen rockchip,pins = <0 RK_PA5 2 &pcfg_pull_none>, 120752e02d37SLiang Chen <0 RK_PA6 2 &pcfg_pull_none>; 120852e02d37SLiang Chen }; 12092bc65fefSJohan Jonker i2c3_pins: i2c3-pins { 121052e02d37SLiang Chen rockchip,pins = 121152e02d37SLiang Chen <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>, 121252e02d37SLiang Chen <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 121352e02d37SLiang Chen }; 121452e02d37SLiang Chen }; 121552e02d37SLiang Chen 121652e02d37SLiang Chen hdmi_i2c { 121752e02d37SLiang Chen hdmii2c_xfer: hdmii2c-xfer { 121852e02d37SLiang Chen rockchip,pins = <0 RK_PA5 1 &pcfg_pull_none>, 121952e02d37SLiang Chen <0 RK_PA6 1 &pcfg_pull_none>; 122052e02d37SLiang Chen }; 122152e02d37SLiang Chen }; 122252e02d37SLiang Chen 122313ed1501SSugar Zhang pdm-0 { 122413ed1501SSugar Zhang pdmm0_clk: pdmm0-clk { 122513ed1501SSugar Zhang rockchip,pins = <2 RK_PC2 2 &pcfg_pull_none>; 122613ed1501SSugar Zhang }; 122713ed1501SSugar Zhang 122813ed1501SSugar Zhang pdmm0_fsync: pdmm0-fsync { 122913ed1501SSugar Zhang rockchip,pins = <2 RK_PC7 2 &pcfg_pull_none>; 123013ed1501SSugar Zhang }; 123113ed1501SSugar Zhang 123213ed1501SSugar Zhang pdmm0_sdi0: pdmm0-sdi0 { 123313ed1501SSugar Zhang rockchip,pins = <2 RK_PC3 2 &pcfg_pull_none>; 123413ed1501SSugar Zhang }; 123513ed1501SSugar Zhang 123613ed1501SSugar Zhang pdmm0_sdi1: pdmm0-sdi1 { 123713ed1501SSugar Zhang rockchip,pins = <2 RK_PC4 2 &pcfg_pull_none>; 123813ed1501SSugar Zhang }; 123913ed1501SSugar Zhang 124013ed1501SSugar Zhang pdmm0_sdi2: pdmm0-sdi2 { 124113ed1501SSugar Zhang rockchip,pins = <2 RK_PC5 2 &pcfg_pull_none>; 124213ed1501SSugar Zhang }; 124313ed1501SSugar Zhang 124413ed1501SSugar Zhang pdmm0_sdi3: pdmm0-sdi3 { 124513ed1501SSugar Zhang rockchip,pins = <2 RK_PC6 2 &pcfg_pull_none>; 124613ed1501SSugar Zhang }; 124713ed1501SSugar Zhang 124813ed1501SSugar Zhang pdmm0_clk_sleep: pdmm0-clk-sleep { 124913ed1501SSugar Zhang rockchip,pins = 125013ed1501SSugar Zhang <2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>; 125113ed1501SSugar Zhang }; 125213ed1501SSugar Zhang 125313ed1501SSugar Zhang pdmm0_sdi0_sleep: pdmm0-sdi0-sleep { 125413ed1501SSugar Zhang rockchip,pins = 125513ed1501SSugar Zhang <2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>; 125613ed1501SSugar Zhang }; 125713ed1501SSugar Zhang 125813ed1501SSugar Zhang pdmm0_sdi1_sleep: pdmm0-sdi1-sleep { 125913ed1501SSugar Zhang rockchip,pins = 126013ed1501SSugar Zhang <2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>; 126113ed1501SSugar Zhang }; 126213ed1501SSugar Zhang 126313ed1501SSugar Zhang pdmm0_sdi2_sleep: pdmm0-sdi2-sleep { 126413ed1501SSugar Zhang rockchip,pins = 126513ed1501SSugar Zhang <2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>; 126613ed1501SSugar Zhang }; 126713ed1501SSugar Zhang 126813ed1501SSugar Zhang pdmm0_sdi3_sleep: pdmm0-sdi3-sleep { 126913ed1501SSugar Zhang rockchip,pins = 127013ed1501SSugar Zhang <2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>; 127113ed1501SSugar Zhang }; 127213ed1501SSugar Zhang 127313ed1501SSugar Zhang pdmm0_fsync_sleep: pdmm0-fsync-sleep { 127413ed1501SSugar Zhang rockchip,pins = 127513ed1501SSugar Zhang <2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>; 127613ed1501SSugar Zhang }; 127713ed1501SSugar Zhang }; 127813ed1501SSugar Zhang 127952e02d37SLiang Chen tsadc { 12802bc65fefSJohan Jonker otp_pin: otp-pin { 128152e02d37SLiang Chen rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 128252e02d37SLiang Chen }; 128352e02d37SLiang Chen 128452e02d37SLiang Chen otp_out: otp-out { 128552e02d37SLiang Chen rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>; 128652e02d37SLiang Chen }; 128752e02d37SLiang Chen }; 128852e02d37SLiang Chen 128952e02d37SLiang Chen uart0 { 129052e02d37SLiang Chen uart0_xfer: uart0-xfer { 129194dad6beSChen-Yu Tsai rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>, 129294dad6beSChen-Yu Tsai <1 RK_PB0 1 &pcfg_pull_up>; 129352e02d37SLiang Chen }; 129452e02d37SLiang Chen 129552e02d37SLiang Chen uart0_cts: uart0-cts { 129652e02d37SLiang Chen rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>; 129752e02d37SLiang Chen }; 129852e02d37SLiang Chen 129952e02d37SLiang Chen uart0_rts: uart0-rts { 130052e02d37SLiang Chen rockchip,pins = <1 RK_PB2 1 &pcfg_pull_none>; 130152e02d37SLiang Chen }; 130252e02d37SLiang Chen 13032bc65fefSJohan Jonker uart0_rts_pin: uart0-rts-pin { 130452e02d37SLiang Chen rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 130552e02d37SLiang Chen }; 130652e02d37SLiang Chen }; 130752e02d37SLiang Chen 130852e02d37SLiang Chen uart1 { 130952e02d37SLiang Chen uart1_xfer: uart1-xfer { 131094dad6beSChen-Yu Tsai rockchip,pins = <3 RK_PA4 4 &pcfg_pull_none>, 131194dad6beSChen-Yu Tsai <3 RK_PA6 4 &pcfg_pull_up>; 131252e02d37SLiang Chen }; 131352e02d37SLiang Chen 131452e02d37SLiang Chen uart1_cts: uart1-cts { 131552e02d37SLiang Chen rockchip,pins = <3 RK_PA7 4 &pcfg_pull_none>; 131652e02d37SLiang Chen }; 131752e02d37SLiang Chen 131852e02d37SLiang Chen uart1_rts: uart1-rts { 131952e02d37SLiang Chen rockchip,pins = <3 RK_PA5 4 &pcfg_pull_none>; 132052e02d37SLiang Chen }; 132152e02d37SLiang Chen 13222bc65fefSJohan Jonker uart1_rts_pin: uart1-rts-pin { 132352e02d37SLiang Chen rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 132452e02d37SLiang Chen }; 132552e02d37SLiang Chen }; 132652e02d37SLiang Chen 132752e02d37SLiang Chen uart2-0 { 132852e02d37SLiang Chen uart2m0_xfer: uart2m0-xfer { 132994dad6beSChen-Yu Tsai rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>, 133094dad6beSChen-Yu Tsai <1 RK_PA1 2 &pcfg_pull_up>; 133152e02d37SLiang Chen }; 133252e02d37SLiang Chen }; 133352e02d37SLiang Chen 133452e02d37SLiang Chen uart2-1 { 133552e02d37SLiang Chen uart2m1_xfer: uart2m1-xfer { 133694dad6beSChen-Yu Tsai rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>, 133794dad6beSChen-Yu Tsai <2 RK_PA1 1 &pcfg_pull_up>; 133852e02d37SLiang Chen }; 133952e02d37SLiang Chen }; 134052e02d37SLiang Chen 134152e02d37SLiang Chen spi0-0 { 134252e02d37SLiang Chen spi0m0_clk: spi0m0-clk { 134352e02d37SLiang Chen rockchip,pins = <2 RK_PB0 1 &pcfg_pull_up>; 134452e02d37SLiang Chen }; 134552e02d37SLiang Chen 134652e02d37SLiang Chen spi0m0_cs0: spi0m0-cs0 { 134752e02d37SLiang Chen rockchip,pins = <2 RK_PB3 1 &pcfg_pull_up>; 134852e02d37SLiang Chen }; 134952e02d37SLiang Chen 135052e02d37SLiang Chen spi0m0_tx: spi0m0-tx { 135152e02d37SLiang Chen rockchip,pins = <2 RK_PB1 1 &pcfg_pull_up>; 135252e02d37SLiang Chen }; 135352e02d37SLiang Chen 135452e02d37SLiang Chen spi0m0_rx: spi0m0-rx { 135552e02d37SLiang Chen rockchip,pins = <2 RK_PB2 1 &pcfg_pull_up>; 135652e02d37SLiang Chen }; 135752e02d37SLiang Chen 135852e02d37SLiang Chen spi0m0_cs1: spi0m0-cs1 { 135952e02d37SLiang Chen rockchip,pins = <2 RK_PB4 1 &pcfg_pull_up>; 136052e02d37SLiang Chen }; 136152e02d37SLiang Chen }; 136252e02d37SLiang Chen 136352e02d37SLiang Chen spi0-1 { 136452e02d37SLiang Chen spi0m1_clk: spi0m1-clk { 136552e02d37SLiang Chen rockchip,pins = <3 RK_PC7 2 &pcfg_pull_up>; 136652e02d37SLiang Chen }; 136752e02d37SLiang Chen 136852e02d37SLiang Chen spi0m1_cs0: spi0m1-cs0 { 136952e02d37SLiang Chen rockchip,pins = <3 RK_PD2 2 &pcfg_pull_up>; 137052e02d37SLiang Chen }; 137152e02d37SLiang Chen 137252e02d37SLiang Chen spi0m1_tx: spi0m1-tx { 137352e02d37SLiang Chen rockchip,pins = <3 RK_PD1 2 &pcfg_pull_up>; 137452e02d37SLiang Chen }; 137552e02d37SLiang Chen 137652e02d37SLiang Chen spi0m1_rx: spi0m1-rx { 137752e02d37SLiang Chen rockchip,pins = <3 RK_PD0 2 &pcfg_pull_up>; 137852e02d37SLiang Chen }; 137952e02d37SLiang Chen 138052e02d37SLiang Chen spi0m1_cs1: spi0m1-cs1 { 138152e02d37SLiang Chen rockchip,pins = <3 RK_PD3 2 &pcfg_pull_up>; 138252e02d37SLiang Chen }; 138352e02d37SLiang Chen }; 138452e02d37SLiang Chen 138552e02d37SLiang Chen spi0-2 { 138652e02d37SLiang Chen spi0m2_clk: spi0m2-clk { 138752e02d37SLiang Chen rockchip,pins = <3 RK_PA0 4 &pcfg_pull_up>; 138852e02d37SLiang Chen }; 138952e02d37SLiang Chen 139052e02d37SLiang Chen spi0m2_cs0: spi0m2-cs0 { 139152e02d37SLiang Chen rockchip,pins = <3 RK_PB0 3 &pcfg_pull_up>; 139252e02d37SLiang Chen }; 139352e02d37SLiang Chen 139452e02d37SLiang Chen spi0m2_tx: spi0m2-tx { 139552e02d37SLiang Chen rockchip,pins = <3 RK_PA1 4 &pcfg_pull_up>; 139652e02d37SLiang Chen }; 139752e02d37SLiang Chen 139852e02d37SLiang Chen spi0m2_rx: spi0m2-rx { 139952e02d37SLiang Chen rockchip,pins = <3 RK_PA2 4 &pcfg_pull_up>; 140052e02d37SLiang Chen }; 140152e02d37SLiang Chen }; 140252e02d37SLiang Chen 140352e02d37SLiang Chen i2s1 { 140452e02d37SLiang Chen i2s1_mclk: i2s1-mclk { 140552e02d37SLiang Chen rockchip,pins = <2 RK_PB7 1 &pcfg_pull_none>; 140652e02d37SLiang Chen }; 140752e02d37SLiang Chen 140852e02d37SLiang Chen i2s1_sclk: i2s1-sclk { 140952e02d37SLiang Chen rockchip,pins = <2 RK_PC2 1 &pcfg_pull_none>; 141052e02d37SLiang Chen }; 141152e02d37SLiang Chen 141252e02d37SLiang Chen i2s1_lrckrx: i2s1-lrckrx { 141352e02d37SLiang Chen rockchip,pins = <2 RK_PC0 1 &pcfg_pull_none>; 141452e02d37SLiang Chen }; 141552e02d37SLiang Chen 141652e02d37SLiang Chen i2s1_lrcktx: i2s1-lrcktx { 141752e02d37SLiang Chen rockchip,pins = <2 RK_PC1 1 &pcfg_pull_none>; 141852e02d37SLiang Chen }; 141952e02d37SLiang Chen 142052e02d37SLiang Chen i2s1_sdi: i2s1-sdi { 142152e02d37SLiang Chen rockchip,pins = <2 RK_PC3 1 &pcfg_pull_none>; 142252e02d37SLiang Chen }; 142352e02d37SLiang Chen 142452e02d37SLiang Chen i2s1_sdo: i2s1-sdo { 142552e02d37SLiang Chen rockchip,pins = <2 RK_PC7 1 &pcfg_pull_none>; 142652e02d37SLiang Chen }; 142752e02d37SLiang Chen 142852e02d37SLiang Chen i2s1_sdio1: i2s1-sdio1 { 142952e02d37SLiang Chen rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>; 143052e02d37SLiang Chen }; 143152e02d37SLiang Chen 143252e02d37SLiang Chen i2s1_sdio2: i2s1-sdio2 { 143352e02d37SLiang Chen rockchip,pins = <2 RK_PC5 1 &pcfg_pull_none>; 143452e02d37SLiang Chen }; 143552e02d37SLiang Chen 143652e02d37SLiang Chen i2s1_sdio3: i2s1-sdio3 { 143752e02d37SLiang Chen rockchip,pins = <2 RK_PC6 1 &pcfg_pull_none>; 143852e02d37SLiang Chen }; 143952e02d37SLiang Chen 144052e02d37SLiang Chen i2s1_sleep: i2s1-sleep { 144152e02d37SLiang Chen rockchip,pins = 144252e02d37SLiang Chen <2 RK_PB7 RK_FUNC_GPIO &pcfg_input_high>, 144352e02d37SLiang Chen <2 RK_PC0 RK_FUNC_GPIO &pcfg_input_high>, 144452e02d37SLiang Chen <2 RK_PC1 RK_FUNC_GPIO &pcfg_input_high>, 144552e02d37SLiang Chen <2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>, 144652e02d37SLiang Chen <2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>, 144752e02d37SLiang Chen <2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>, 144852e02d37SLiang Chen <2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>, 144952e02d37SLiang Chen <2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>, 145052e02d37SLiang Chen <2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>; 145152e02d37SLiang Chen }; 145252e02d37SLiang Chen }; 145352e02d37SLiang Chen 145452e02d37SLiang Chen i2s2-0 { 145552e02d37SLiang Chen i2s2m0_mclk: i2s2m0-mclk { 145652e02d37SLiang Chen rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>; 145752e02d37SLiang Chen }; 145852e02d37SLiang Chen 145952e02d37SLiang Chen i2s2m0_sclk: i2s2m0-sclk { 146052e02d37SLiang Chen rockchip,pins = <1 RK_PC6 1 &pcfg_pull_none>; 146152e02d37SLiang Chen }; 146252e02d37SLiang Chen 146352e02d37SLiang Chen i2s2m0_lrckrx: i2s2m0-lrckrx { 146452e02d37SLiang Chen rockchip,pins = <1 RK_PD2 1 &pcfg_pull_none>; 146552e02d37SLiang Chen }; 146652e02d37SLiang Chen 146752e02d37SLiang Chen i2s2m0_lrcktx: i2s2m0-lrcktx { 146852e02d37SLiang Chen rockchip,pins = <1 RK_PC7 1 &pcfg_pull_none>; 146952e02d37SLiang Chen }; 147052e02d37SLiang Chen 147152e02d37SLiang Chen i2s2m0_sdi: i2s2m0-sdi { 147252e02d37SLiang Chen rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>; 147352e02d37SLiang Chen }; 147452e02d37SLiang Chen 147552e02d37SLiang Chen i2s2m0_sdo: i2s2m0-sdo { 147652e02d37SLiang Chen rockchip,pins = <1 RK_PD1 1 &pcfg_pull_none>; 147752e02d37SLiang Chen }; 147852e02d37SLiang Chen 147952e02d37SLiang Chen i2s2m0_sleep: i2s2m0-sleep { 148052e02d37SLiang Chen rockchip,pins = 148152e02d37SLiang Chen <1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>, 148252e02d37SLiang Chen <1 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>, 148352e02d37SLiang Chen <1 RK_PD2 RK_FUNC_GPIO &pcfg_input_high>, 148452e02d37SLiang Chen <1 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>, 148552e02d37SLiang Chen <1 RK_PD0 RK_FUNC_GPIO &pcfg_input_high>, 148652e02d37SLiang Chen <1 RK_PD1 RK_FUNC_GPIO &pcfg_input_high>; 148752e02d37SLiang Chen }; 148852e02d37SLiang Chen }; 148952e02d37SLiang Chen 149052e02d37SLiang Chen i2s2-1 { 149152e02d37SLiang Chen i2s2m1_mclk: i2s2m1-mclk { 149252e02d37SLiang Chen rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>; 149352e02d37SLiang Chen }; 149452e02d37SLiang Chen 149552e02d37SLiang Chen i2s2m1_sclk: i2s2m1-sclk { 149652e02d37SLiang Chen rockchip,pins = <3 RK_PA0 6 &pcfg_pull_none>; 149752e02d37SLiang Chen }; 149852e02d37SLiang Chen 149952e02d37SLiang Chen i2s2m1_lrckrx: i2sm1-lrckrx { 150052e02d37SLiang Chen rockchip,pins = <3 RK_PB0 6 &pcfg_pull_none>; 150152e02d37SLiang Chen }; 150252e02d37SLiang Chen 150352e02d37SLiang Chen i2s2m1_lrcktx: i2s2m1-lrcktx { 150452e02d37SLiang Chen rockchip,pins = <3 RK_PB0 4 &pcfg_pull_none>; 150552e02d37SLiang Chen }; 150652e02d37SLiang Chen 150752e02d37SLiang Chen i2s2m1_sdi: i2s2m1-sdi { 150852e02d37SLiang Chen rockchip,pins = <3 RK_PA2 6 &pcfg_pull_none>; 150952e02d37SLiang Chen }; 151052e02d37SLiang Chen 151152e02d37SLiang Chen i2s2m1_sdo: i2s2m1-sdo { 151252e02d37SLiang Chen rockchip,pins = <3 RK_PA1 6 &pcfg_pull_none>; 151352e02d37SLiang Chen }; 151452e02d37SLiang Chen 151552e02d37SLiang Chen i2s2m1_sleep: i2s2m1-sleep { 151652e02d37SLiang Chen rockchip,pins = 151752e02d37SLiang Chen <1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>, 151852e02d37SLiang Chen <3 RK_PA0 RK_FUNC_GPIO &pcfg_input_high>, 151952e02d37SLiang Chen <3 RK_PB0 RK_FUNC_GPIO &pcfg_input_high>, 152052e02d37SLiang Chen <3 RK_PA2 RK_FUNC_GPIO &pcfg_input_high>, 152152e02d37SLiang Chen <3 RK_PA1 RK_FUNC_GPIO &pcfg_input_high>; 152252e02d37SLiang Chen }; 152352e02d37SLiang Chen }; 152452e02d37SLiang Chen 152552e02d37SLiang Chen spdif-0 { 152652e02d37SLiang Chen spdifm0_tx: spdifm0-tx { 152752e02d37SLiang Chen rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>; 152852e02d37SLiang Chen }; 152952e02d37SLiang Chen }; 153052e02d37SLiang Chen 153152e02d37SLiang Chen spdif-1 { 153252e02d37SLiang Chen spdifm1_tx: spdifm1-tx { 153352e02d37SLiang Chen rockchip,pins = <2 RK_PC1 2 &pcfg_pull_none>; 153452e02d37SLiang Chen }; 153552e02d37SLiang Chen }; 153652e02d37SLiang Chen 153752e02d37SLiang Chen spdif-2 { 153852e02d37SLiang Chen spdifm2_tx: spdifm2-tx { 153952e02d37SLiang Chen rockchip,pins = <0 RK_PA2 2 &pcfg_pull_none>; 154052e02d37SLiang Chen }; 154152e02d37SLiang Chen }; 154252e02d37SLiang Chen 154352e02d37SLiang Chen sdmmc0-0 { 154452e02d37SLiang Chen sdmmc0m0_pwren: sdmmc0m0-pwren { 154552e02d37SLiang Chen rockchip,pins = <2 RK_PA7 1 &pcfg_pull_up_4ma>; 154652e02d37SLiang Chen }; 154752e02d37SLiang Chen 15482bc65fefSJohan Jonker sdmmc0m0_pin: sdmmc0m0-pin { 154952e02d37SLiang Chen rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 155052e02d37SLiang Chen }; 155152e02d37SLiang Chen }; 155252e02d37SLiang Chen 155352e02d37SLiang Chen sdmmc0-1 { 155452e02d37SLiang Chen sdmmc0m1_pwren: sdmmc0m1-pwren { 155552e02d37SLiang Chen rockchip,pins = <0 RK_PD6 3 &pcfg_pull_up_4ma>; 155652e02d37SLiang Chen }; 155752e02d37SLiang Chen 15582bc65fefSJohan Jonker sdmmc0m1_pin: sdmmc0m1-pin { 155952e02d37SLiang Chen rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 156052e02d37SLiang Chen }; 156152e02d37SLiang Chen }; 156252e02d37SLiang Chen 156352e02d37SLiang Chen sdmmc0 { 156452e02d37SLiang Chen sdmmc0_clk: sdmmc0-clk { 156509f91381SPeter Geis rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none_8ma>; 156652e02d37SLiang Chen }; 156752e02d37SLiang Chen 156852e02d37SLiang Chen sdmmc0_cmd: sdmmc0-cmd { 156909f91381SPeter Geis rockchip,pins = <1 RK_PA4 1 &pcfg_pull_up_8ma>; 157052e02d37SLiang Chen }; 157152e02d37SLiang Chen 157252e02d37SLiang Chen sdmmc0_dectn: sdmmc0-dectn { 157352e02d37SLiang Chen rockchip,pins = <1 RK_PA5 1 &pcfg_pull_up_4ma>; 157452e02d37SLiang Chen }; 157552e02d37SLiang Chen 157652e02d37SLiang Chen sdmmc0_wrprt: sdmmc0-wrprt { 157752e02d37SLiang Chen rockchip,pins = <1 RK_PA7 1 &pcfg_pull_up_4ma>; 157852e02d37SLiang Chen }; 157952e02d37SLiang Chen 158052e02d37SLiang Chen sdmmc0_bus1: sdmmc0-bus1 { 158109f91381SPeter Geis rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_8ma>; 158252e02d37SLiang Chen }; 158352e02d37SLiang Chen 158452e02d37SLiang Chen sdmmc0_bus4: sdmmc0-bus4 { 158509f91381SPeter Geis rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_8ma>, 158609f91381SPeter Geis <1 RK_PA1 1 &pcfg_pull_up_8ma>, 158709f91381SPeter Geis <1 RK_PA2 1 &pcfg_pull_up_8ma>, 158809f91381SPeter Geis <1 RK_PA3 1 &pcfg_pull_up_8ma>; 158952e02d37SLiang Chen }; 159052e02d37SLiang Chen 15912bc65fefSJohan Jonker sdmmc0_pins: sdmmc0-pins { 159252e02d37SLiang Chen rockchip,pins = 159352e02d37SLiang Chen <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 159452e02d37SLiang Chen <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 159552e02d37SLiang Chen <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 159652e02d37SLiang Chen <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 159752e02d37SLiang Chen <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 159852e02d37SLiang Chen <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 159952e02d37SLiang Chen <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 160052e02d37SLiang Chen <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 160152e02d37SLiang Chen }; 160252e02d37SLiang Chen }; 160352e02d37SLiang Chen 160452e02d37SLiang Chen sdmmc0ext { 160552e02d37SLiang Chen sdmmc0ext_clk: sdmmc0ext-clk { 160652e02d37SLiang Chen rockchip,pins = <3 RK_PA2 3 &pcfg_pull_none_4ma>; 160752e02d37SLiang Chen }; 160852e02d37SLiang Chen 160952e02d37SLiang Chen sdmmc0ext_cmd: sdmmc0ext-cmd { 161052e02d37SLiang Chen rockchip,pins = <3 RK_PA0 3 &pcfg_pull_up_4ma>; 161152e02d37SLiang Chen }; 161252e02d37SLiang Chen 161352e02d37SLiang Chen sdmmc0ext_wrprt: sdmmc0ext-wrprt { 161452e02d37SLiang Chen rockchip,pins = <3 RK_PA3 3 &pcfg_pull_up_4ma>; 161552e02d37SLiang Chen }; 161652e02d37SLiang Chen 161752e02d37SLiang Chen sdmmc0ext_dectn: sdmmc0ext-dectn { 161852e02d37SLiang Chen rockchip,pins = <3 RK_PA1 3 &pcfg_pull_up_4ma>; 161952e02d37SLiang Chen }; 162052e02d37SLiang Chen 162152e02d37SLiang Chen sdmmc0ext_bus1: sdmmc0ext-bus1 { 162252e02d37SLiang Chen rockchip,pins = <3 RK_PA4 3 &pcfg_pull_up_4ma>; 162352e02d37SLiang Chen }; 162452e02d37SLiang Chen 162552e02d37SLiang Chen sdmmc0ext_bus4: sdmmc0ext-bus4 { 162652e02d37SLiang Chen rockchip,pins = 162752e02d37SLiang Chen <3 RK_PA4 3 &pcfg_pull_up_4ma>, 162852e02d37SLiang Chen <3 RK_PA5 3 &pcfg_pull_up_4ma>, 162952e02d37SLiang Chen <3 RK_PA6 3 &pcfg_pull_up_4ma>, 163052e02d37SLiang Chen <3 RK_PA7 3 &pcfg_pull_up_4ma>; 163152e02d37SLiang Chen }; 163252e02d37SLiang Chen 16332bc65fefSJohan Jonker sdmmc0ext_pins: sdmmc0ext-pins { 163452e02d37SLiang Chen rockchip,pins = 163552e02d37SLiang Chen <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 163652e02d37SLiang Chen <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 163752e02d37SLiang Chen <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 163852e02d37SLiang Chen <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 163952e02d37SLiang Chen <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 164052e02d37SLiang Chen <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 164152e02d37SLiang Chen <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 164252e02d37SLiang Chen <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 164352e02d37SLiang Chen }; 164452e02d37SLiang Chen }; 164552e02d37SLiang Chen 164652e02d37SLiang Chen sdmmc1 { 164752e02d37SLiang Chen sdmmc1_clk: sdmmc1-clk { 164852e02d37SLiang Chen rockchip,pins = <1 RK_PB4 1 &pcfg_pull_none_8ma>; 164952e02d37SLiang Chen }; 165052e02d37SLiang Chen 165152e02d37SLiang Chen sdmmc1_cmd: sdmmc1-cmd { 165252e02d37SLiang Chen rockchip,pins = <1 RK_PB5 1 &pcfg_pull_up_8ma>; 165352e02d37SLiang Chen }; 165452e02d37SLiang Chen 165552e02d37SLiang Chen sdmmc1_pwren: sdmmc1-pwren { 165652e02d37SLiang Chen rockchip,pins = <1 RK_PC2 1 &pcfg_pull_up_8ma>; 165752e02d37SLiang Chen }; 165852e02d37SLiang Chen 165952e02d37SLiang Chen sdmmc1_wrprt: sdmmc1-wrprt { 166052e02d37SLiang Chen rockchip,pins = <1 RK_PC4 1 &pcfg_pull_up_8ma>; 166152e02d37SLiang Chen }; 166252e02d37SLiang Chen 166352e02d37SLiang Chen sdmmc1_dectn: sdmmc1-dectn { 166452e02d37SLiang Chen rockchip,pins = <1 RK_PC3 1 &pcfg_pull_up_8ma>; 166552e02d37SLiang Chen }; 166652e02d37SLiang Chen 166752e02d37SLiang Chen sdmmc1_bus1: sdmmc1-bus1 { 166852e02d37SLiang Chen rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>; 166952e02d37SLiang Chen }; 167052e02d37SLiang Chen 167152e02d37SLiang Chen sdmmc1_bus4: sdmmc1-bus4 { 167252e02d37SLiang Chen rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>, 167352e02d37SLiang Chen <1 RK_PB7 1 &pcfg_pull_up_8ma>, 167452e02d37SLiang Chen <1 RK_PC0 1 &pcfg_pull_up_8ma>, 167552e02d37SLiang Chen <1 RK_PC1 1 &pcfg_pull_up_8ma>; 167652e02d37SLiang Chen }; 167752e02d37SLiang Chen 16782bc65fefSJohan Jonker sdmmc1_pins: sdmmc1-pins { 167952e02d37SLiang Chen rockchip,pins = 168052e02d37SLiang Chen <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168152e02d37SLiang Chen <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168252e02d37SLiang Chen <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168352e02d37SLiang Chen <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168452e02d37SLiang Chen <1 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168552e02d37SLiang Chen <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168652e02d37SLiang Chen <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168752e02d37SLiang Chen <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 168852e02d37SLiang Chen <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 168952e02d37SLiang Chen }; 169052e02d37SLiang Chen }; 169152e02d37SLiang Chen 169252e02d37SLiang Chen emmc { 169352e02d37SLiang Chen emmc_clk: emmc-clk { 169452e02d37SLiang Chen rockchip,pins = <3 RK_PC5 2 &pcfg_pull_none_12ma>; 169552e02d37SLiang Chen }; 169652e02d37SLiang Chen 169752e02d37SLiang Chen emmc_cmd: emmc-cmd { 169852e02d37SLiang Chen rockchip,pins = <3 RK_PC3 2 &pcfg_pull_up_12ma>; 169952e02d37SLiang Chen }; 170052e02d37SLiang Chen 170152e02d37SLiang Chen emmc_pwren: emmc-pwren { 170252e02d37SLiang Chen rockchip,pins = <3 RK_PC6 2 &pcfg_pull_none>; 170352e02d37SLiang Chen }; 170452e02d37SLiang Chen 170552e02d37SLiang Chen emmc_rstnout: emmc-rstnout { 170652e02d37SLiang Chen rockchip,pins = <3 RK_PC4 2 &pcfg_pull_none>; 170752e02d37SLiang Chen }; 170852e02d37SLiang Chen 170952e02d37SLiang Chen emmc_bus1: emmc-bus1 { 171052e02d37SLiang Chen rockchip,pins = <0 RK_PA7 2 &pcfg_pull_up_12ma>; 171152e02d37SLiang Chen }; 171252e02d37SLiang Chen 171352e02d37SLiang Chen emmc_bus4: emmc-bus4 { 171452e02d37SLiang Chen rockchip,pins = 171552e02d37SLiang Chen <0 RK_PA7 2 &pcfg_pull_up_12ma>, 171652e02d37SLiang Chen <2 RK_PD4 2 &pcfg_pull_up_12ma>, 171752e02d37SLiang Chen <2 RK_PD5 2 &pcfg_pull_up_12ma>, 171852e02d37SLiang Chen <2 RK_PD6 2 &pcfg_pull_up_12ma>; 171952e02d37SLiang Chen }; 172052e02d37SLiang Chen 172152e02d37SLiang Chen emmc_bus8: emmc-bus8 { 172252e02d37SLiang Chen rockchip,pins = 172352e02d37SLiang Chen <0 RK_PA7 2 &pcfg_pull_up_12ma>, 172452e02d37SLiang Chen <2 RK_PD4 2 &pcfg_pull_up_12ma>, 172552e02d37SLiang Chen <2 RK_PD5 2 &pcfg_pull_up_12ma>, 172652e02d37SLiang Chen <2 RK_PD6 2 &pcfg_pull_up_12ma>, 172752e02d37SLiang Chen <2 RK_PD7 2 &pcfg_pull_up_12ma>, 172852e02d37SLiang Chen <3 RK_PC0 2 &pcfg_pull_up_12ma>, 172952e02d37SLiang Chen <3 RK_PC1 2 &pcfg_pull_up_12ma>, 173052e02d37SLiang Chen <3 RK_PC2 2 &pcfg_pull_up_12ma>; 173152e02d37SLiang Chen }; 173252e02d37SLiang Chen }; 173352e02d37SLiang Chen 173452e02d37SLiang Chen pwm0 { 173552e02d37SLiang Chen pwm0_pin: pwm0-pin { 173652e02d37SLiang Chen rockchip,pins = <2 RK_PA4 1 &pcfg_pull_none>; 173752e02d37SLiang Chen }; 173852e02d37SLiang Chen }; 173952e02d37SLiang Chen 174052e02d37SLiang Chen pwm1 { 174152e02d37SLiang Chen pwm1_pin: pwm1-pin { 174252e02d37SLiang Chen rockchip,pins = <2 RK_PA5 1 &pcfg_pull_none>; 174352e02d37SLiang Chen }; 174452e02d37SLiang Chen }; 174552e02d37SLiang Chen 174652e02d37SLiang Chen pwm2 { 174752e02d37SLiang Chen pwm2_pin: pwm2-pin { 174852e02d37SLiang Chen rockchip,pins = <2 RK_PA6 1 &pcfg_pull_none>; 174952e02d37SLiang Chen }; 175052e02d37SLiang Chen }; 175152e02d37SLiang Chen 175252e02d37SLiang Chen pwmir { 175352e02d37SLiang Chen pwmir_pin: pwmir-pin { 175452e02d37SLiang Chen rockchip,pins = <2 RK_PA2 1 &pcfg_pull_none>; 175552e02d37SLiang Chen }; 175652e02d37SLiang Chen }; 175752e02d37SLiang Chen 175852e02d37SLiang Chen gmac-1 { 175952e02d37SLiang Chen rgmiim1_pins: rgmiim1-pins { 176052e02d37SLiang Chen rockchip,pins = 176152e02d37SLiang Chen /* mac_txclk */ 17626fd8b978SPeter Geis <1 RK_PB4 2 &pcfg_pull_none_8ma>, 176352e02d37SLiang Chen /* mac_rxclk */ 17646fd8b978SPeter Geis <1 RK_PB5 2 &pcfg_pull_none_4ma>, 176552e02d37SLiang Chen /* mac_mdio */ 17666fd8b978SPeter Geis <1 RK_PC3 2 &pcfg_pull_none_4ma>, 176752e02d37SLiang Chen /* mac_txen */ 17686fd8b978SPeter Geis <1 RK_PD1 2 &pcfg_pull_none_8ma>, 176952e02d37SLiang Chen /* mac_clk */ 17706fd8b978SPeter Geis <1 RK_PC5 2 &pcfg_pull_none_4ma>, 177152e02d37SLiang Chen /* mac_rxdv */ 17726fd8b978SPeter Geis <1 RK_PC6 2 &pcfg_pull_none_4ma>, 177352e02d37SLiang Chen /* mac_mdc */ 17746fd8b978SPeter Geis <1 RK_PC7 2 &pcfg_pull_none_4ma>, 177552e02d37SLiang Chen /* mac_rxd1 */ 17766fd8b978SPeter Geis <1 RK_PB2 2 &pcfg_pull_none_4ma>, 177752e02d37SLiang Chen /* mac_rxd0 */ 17786fd8b978SPeter Geis <1 RK_PB3 2 &pcfg_pull_none_4ma>, 177952e02d37SLiang Chen /* mac_txd1 */ 17806fd8b978SPeter Geis <1 RK_PB0 2 &pcfg_pull_none_8ma>, 178152e02d37SLiang Chen /* mac_txd0 */ 17826fd8b978SPeter Geis <1 RK_PB1 2 &pcfg_pull_none_8ma>, 178352e02d37SLiang Chen /* mac_rxd3 */ 17846fd8b978SPeter Geis <1 RK_PB6 2 &pcfg_pull_none_4ma>, 178552e02d37SLiang Chen /* mac_rxd2 */ 17866fd8b978SPeter Geis <1 RK_PB7 2 &pcfg_pull_none_4ma>, 178752e02d37SLiang Chen /* mac_txd3 */ 17886fd8b978SPeter Geis <1 RK_PC0 2 &pcfg_pull_none_8ma>, 178952e02d37SLiang Chen /* mac_txd2 */ 17906fd8b978SPeter Geis <1 RK_PC1 2 &pcfg_pull_none_8ma>, 179152e02d37SLiang Chen 179252e02d37SLiang Chen /* mac_txclk */ 17936fd8b978SPeter Geis <0 RK_PB0 1 &pcfg_pull_none_8ma>, 179452e02d37SLiang Chen /* mac_txen */ 17956fd8b978SPeter Geis <0 RK_PB4 1 &pcfg_pull_none_8ma>, 179652e02d37SLiang Chen /* mac_clk */ 17976fd8b978SPeter Geis <0 RK_PD0 1 &pcfg_pull_none_4ma>, 179852e02d37SLiang Chen /* mac_txd1 */ 17996fd8b978SPeter Geis <0 RK_PC0 1 &pcfg_pull_none_8ma>, 180052e02d37SLiang Chen /* mac_txd0 */ 18016fd8b978SPeter Geis <0 RK_PC1 1 &pcfg_pull_none_8ma>, 180252e02d37SLiang Chen /* mac_txd3 */ 18036fd8b978SPeter Geis <0 RK_PC7 1 &pcfg_pull_none_8ma>, 180452e02d37SLiang Chen /* mac_txd2 */ 18056fd8b978SPeter Geis <0 RK_PC6 1 &pcfg_pull_none_8ma>; 180652e02d37SLiang Chen }; 180752e02d37SLiang Chen 180852e02d37SLiang Chen rmiim1_pins: rmiim1-pins { 180952e02d37SLiang Chen rockchip,pins = 181052e02d37SLiang Chen /* mac_mdio */ 181152e02d37SLiang Chen <1 RK_PC3 2 &pcfg_pull_none_2ma>, 181252e02d37SLiang Chen /* mac_txen */ 181352e02d37SLiang Chen <1 RK_PD1 2 &pcfg_pull_none_12ma>, 181452e02d37SLiang Chen /* mac_clk */ 181552e02d37SLiang Chen <1 RK_PC5 2 &pcfg_pull_none_2ma>, 181652e02d37SLiang Chen /* mac_rxer */ 181752e02d37SLiang Chen <1 RK_PD0 2 &pcfg_pull_none_2ma>, 181852e02d37SLiang Chen /* mac_rxdv */ 181952e02d37SLiang Chen <1 RK_PC6 2 &pcfg_pull_none_2ma>, 182052e02d37SLiang Chen /* mac_mdc */ 182152e02d37SLiang Chen <1 RK_PC7 2 &pcfg_pull_none_2ma>, 182252e02d37SLiang Chen /* mac_rxd1 */ 182352e02d37SLiang Chen <1 RK_PB2 2 &pcfg_pull_none_2ma>, 182452e02d37SLiang Chen /* mac_rxd0 */ 182552e02d37SLiang Chen <1 RK_PB3 2 &pcfg_pull_none_2ma>, 182652e02d37SLiang Chen /* mac_txd1 */ 182752e02d37SLiang Chen <1 RK_PB0 2 &pcfg_pull_none_12ma>, 182852e02d37SLiang Chen /* mac_txd0 */ 182952e02d37SLiang Chen <1 RK_PB1 2 &pcfg_pull_none_12ma>, 183052e02d37SLiang Chen 183152e02d37SLiang Chen /* mac_mdio */ 183252e02d37SLiang Chen <0 RK_PB3 1 &pcfg_pull_none>, 183352e02d37SLiang Chen /* mac_txen */ 183452e02d37SLiang Chen <0 RK_PB4 1 &pcfg_pull_none>, 183552e02d37SLiang Chen /* mac_clk */ 183652e02d37SLiang Chen <0 RK_PD0 1 &pcfg_pull_none>, 183752e02d37SLiang Chen /* mac_mdc */ 183852e02d37SLiang Chen <0 RK_PC3 1 &pcfg_pull_none>, 183952e02d37SLiang Chen /* mac_txd1 */ 184052e02d37SLiang Chen <0 RK_PC0 1 &pcfg_pull_none>, 184152e02d37SLiang Chen /* mac_txd0 */ 184252e02d37SLiang Chen <0 RK_PC1 1 &pcfg_pull_none>; 184352e02d37SLiang Chen }; 184452e02d37SLiang Chen }; 184552e02d37SLiang Chen 184652e02d37SLiang Chen gmac2phy { 184752e02d37SLiang Chen fephyled_speed10: fephyled-speed10 { 184852e02d37SLiang Chen rockchip,pins = <0 RK_PD6 1 &pcfg_pull_none>; 184952e02d37SLiang Chen }; 185052e02d37SLiang Chen 185152e02d37SLiang Chen fephyled_duplex: fephyled-duplex { 185252e02d37SLiang Chen rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>; 185352e02d37SLiang Chen }; 185452e02d37SLiang Chen 185552e02d37SLiang Chen fephyled_rxm1: fephyled-rxm1 { 185652e02d37SLiang Chen rockchip,pins = <2 RK_PD1 2 &pcfg_pull_none>; 185752e02d37SLiang Chen }; 185852e02d37SLiang Chen 185952e02d37SLiang Chen fephyled_txm1: fephyled-txm1 { 186052e02d37SLiang Chen rockchip,pins = <2 RK_PD1 3 &pcfg_pull_none>; 186152e02d37SLiang Chen }; 186252e02d37SLiang Chen 186352e02d37SLiang Chen fephyled_linkm1: fephyled-linkm1 { 186452e02d37SLiang Chen rockchip,pins = <2 RK_PD0 2 &pcfg_pull_none>; 186552e02d37SLiang Chen }; 186652e02d37SLiang Chen }; 186752e02d37SLiang Chen 186852e02d37SLiang Chen tsadc_pin { 186952e02d37SLiang Chen tsadc_int: tsadc-int { 187052e02d37SLiang Chen rockchip,pins = <2 RK_PB5 2 &pcfg_pull_none>; 187152e02d37SLiang Chen }; 18722bc65fefSJohan Jonker tsadc_pin: tsadc-pin { 187352e02d37SLiang Chen rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 187452e02d37SLiang Chen }; 187552e02d37SLiang Chen }; 187652e02d37SLiang Chen 187752e02d37SLiang Chen hdmi_pin { 187852e02d37SLiang Chen hdmi_cec: hdmi-cec { 187952e02d37SLiang Chen rockchip,pins = <0 RK_PA3 1 &pcfg_pull_none>; 188052e02d37SLiang Chen }; 188152e02d37SLiang Chen 188252e02d37SLiang Chen hdmi_hpd: hdmi-hpd { 188352e02d37SLiang Chen rockchip,pins = <0 RK_PA4 1 &pcfg_pull_down>; 188452e02d37SLiang Chen }; 188552e02d37SLiang Chen }; 188652e02d37SLiang Chen 188752e02d37SLiang Chen cif-0 { 188852e02d37SLiang Chen dvp_d2d9_m0:dvp-d2d9-m0 { 188952e02d37SLiang Chen rockchip,pins = 189052e02d37SLiang Chen /* cif_d0 */ 189152e02d37SLiang Chen <3 RK_PA4 2 &pcfg_pull_none>, 189252e02d37SLiang Chen /* cif_d1 */ 189352e02d37SLiang Chen <3 RK_PA5 2 &pcfg_pull_none>, 189452e02d37SLiang Chen /* cif_d2 */ 189552e02d37SLiang Chen <3 RK_PA6 2 &pcfg_pull_none>, 189652e02d37SLiang Chen /* cif_d3 */ 189752e02d37SLiang Chen <3 RK_PA7 2 &pcfg_pull_none>, 189852e02d37SLiang Chen /* cif_d4 */ 189952e02d37SLiang Chen <3 RK_PB0 2 &pcfg_pull_none>, 190052e02d37SLiang Chen /* cif_d5m0 */ 190152e02d37SLiang Chen <3 RK_PB1 2 &pcfg_pull_none>, 190252e02d37SLiang Chen /* cif_d6m0 */ 190352e02d37SLiang Chen <3 RK_PB2 2 &pcfg_pull_none>, 190452e02d37SLiang Chen /* cif_d7m0 */ 190552e02d37SLiang Chen <3 RK_PB3 2 &pcfg_pull_none>, 190652e02d37SLiang Chen /* cif_href */ 190752e02d37SLiang Chen <3 RK_PA1 2 &pcfg_pull_none>, 190852e02d37SLiang Chen /* cif_vsync */ 190952e02d37SLiang Chen <3 RK_PA0 2 &pcfg_pull_none>, 191052e02d37SLiang Chen /* cif_clkoutm0 */ 191152e02d37SLiang Chen <3 RK_PA3 2 &pcfg_pull_none>, 191252e02d37SLiang Chen /* cif_clkin */ 191352e02d37SLiang Chen <3 RK_PA2 2 &pcfg_pull_none>; 191452e02d37SLiang Chen }; 191552e02d37SLiang Chen }; 191652e02d37SLiang Chen 191752e02d37SLiang Chen cif-1 { 191852e02d37SLiang Chen dvp_d2d9_m1:dvp-d2d9-m1 { 191952e02d37SLiang Chen rockchip,pins = 192052e02d37SLiang Chen /* cif_d0 */ 192152e02d37SLiang Chen <3 RK_PA4 2 &pcfg_pull_none>, 192252e02d37SLiang Chen /* cif_d1 */ 192352e02d37SLiang Chen <3 RK_PA5 2 &pcfg_pull_none>, 192452e02d37SLiang Chen /* cif_d2 */ 192552e02d37SLiang Chen <3 RK_PA6 2 &pcfg_pull_none>, 192652e02d37SLiang Chen /* cif_d3 */ 192752e02d37SLiang Chen <3 RK_PA7 2 &pcfg_pull_none>, 192852e02d37SLiang Chen /* cif_d4 */ 192952e02d37SLiang Chen <3 RK_PB0 2 &pcfg_pull_none>, 193052e02d37SLiang Chen /* cif_d5m1 */ 193152e02d37SLiang Chen <2 RK_PC0 4 &pcfg_pull_none>, 193252e02d37SLiang Chen /* cif_d6m1 */ 193352e02d37SLiang Chen <2 RK_PC1 4 &pcfg_pull_none>, 193452e02d37SLiang Chen /* cif_d7m1 */ 193552e02d37SLiang Chen <2 RK_PC2 4 &pcfg_pull_none>, 193652e02d37SLiang Chen /* cif_href */ 193752e02d37SLiang Chen <3 RK_PA1 2 &pcfg_pull_none>, 193852e02d37SLiang Chen /* cif_vsync */ 193952e02d37SLiang Chen <3 RK_PA0 2 &pcfg_pull_none>, 194052e02d37SLiang Chen /* cif_clkoutm1 */ 194152e02d37SLiang Chen <2 RK_PB7 4 &pcfg_pull_none>, 194252e02d37SLiang Chen /* cif_clkin */ 194352e02d37SLiang Chen <3 RK_PA2 2 &pcfg_pull_none>; 194452e02d37SLiang Chen }; 194552e02d37SLiang Chen }; 194652e02d37SLiang Chen }; 194752e02d37SLiang Chen}; 1948