1fce152a6SKlaus Goger// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 29848ebebSJeffy Chen 39848ebebSJeffy Chen#include <dt-bindings/gpio/gpio.h> 49848ebebSJeffy Chen#include <dt-bindings/interrupt-controller/irq.h> 59848ebebSJeffy Chen#include <dt-bindings/interrupt-controller/arm-gic.h> 69848ebebSJeffy Chen#include <dt-bindings/pinctrl/rockchip.h> 79848ebebSJeffy Chen#include <dt-bindings/clock/rk3228-cru.h> 87796031eSCaesar Wang#include <dt-bindings/thermal/thermal.h> 9623ba75aSAlex Bee#include <dt-bindings/power/rk3228-power.h> 109848ebebSJeffy Chen 119848ebebSJeffy Chen/ { 120193273dSJavier Martinez Canillas #address-cells = <1>; 130193273dSJavier Martinez Canillas #size-cells = <1>; 140193273dSJavier Martinez Canillas 159848ebebSJeffy Chen interrupt-parent = <&gic>; 169848ebebSJeffy Chen 179848ebebSJeffy Chen aliases { 1804c521c3SJohan Jonker gpio0 = &gpio0; 1904c521c3SJohan Jonker gpio1 = &gpio1; 2004c521c3SJohan Jonker gpio2 = &gpio2; 2104c521c3SJohan Jonker gpio3 = &gpio3; 229848ebebSJeffy Chen serial0 = &uart0; 239848ebebSJeffy Chen serial1 = &uart1; 249848ebebSJeffy Chen serial2 = &uart2; 25febdf639SHuibin Hong spi0 = &spi0; 269848ebebSJeffy Chen }; 279848ebebSJeffy Chen 289848ebebSJeffy Chen cpus { 299848ebebSJeffy Chen #address-cells = <1>; 309848ebebSJeffy Chen #size-cells = <0>; 319848ebebSJeffy Chen 329848ebebSJeffy Chen cpu0: cpu@f00 { 339848ebebSJeffy Chen device_type = "cpu"; 349848ebebSJeffy Chen compatible = "arm,cortex-a7"; 359848ebebSJeffy Chen reg = <0xf00>; 369848ebebSJeffy Chen resets = <&cru SRST_CORE0>; 379f12da43SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 387796031eSCaesar Wang #cooling-cells = <2>; /* min followed by max */ 399848ebebSJeffy Chen clocks = <&cru ARMCLK>; 400ae92144SFrank Wang enable-method = "psci"; 419848ebebSJeffy Chen }; 429848ebebSJeffy Chen 439848ebebSJeffy Chen cpu1: cpu@f01 { 449848ebebSJeffy Chen device_type = "cpu"; 459848ebebSJeffy Chen compatible = "arm,cortex-a7"; 469848ebebSJeffy Chen reg = <0xf01>; 479848ebebSJeffy Chen resets = <&cru SRST_CORE1>; 489f12da43SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 490bac06dfSViresh Kumar #cooling-cells = <2>; /* min followed by max */ 500ae92144SFrank Wang enable-method = "psci"; 519848ebebSJeffy Chen }; 529848ebebSJeffy Chen 539848ebebSJeffy Chen cpu2: cpu@f02 { 549848ebebSJeffy Chen device_type = "cpu"; 559848ebebSJeffy Chen compatible = "arm,cortex-a7"; 569848ebebSJeffy Chen reg = <0xf02>; 579848ebebSJeffy Chen resets = <&cru SRST_CORE2>; 589f12da43SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 590bac06dfSViresh Kumar #cooling-cells = <2>; /* min followed by max */ 600ae92144SFrank Wang enable-method = "psci"; 619848ebebSJeffy Chen }; 629848ebebSJeffy Chen 639848ebebSJeffy Chen cpu3: cpu@f03 { 649848ebebSJeffy Chen device_type = "cpu"; 659848ebebSJeffy Chen compatible = "arm,cortex-a7"; 669848ebebSJeffy Chen reg = <0xf03>; 679848ebebSJeffy Chen resets = <&cru SRST_CORE3>; 689f12da43SFinley Xiao operating-points-v2 = <&cpu0_opp_table>; 690bac06dfSViresh Kumar #cooling-cells = <2>; /* min followed by max */ 700ae92144SFrank Wang enable-method = "psci"; 719f12da43SFinley Xiao }; 729f12da43SFinley Xiao }; 739f12da43SFinley Xiao 7433a2a4b2SJohan Jonker cpu0_opp_table: opp-table-0 { 759f12da43SFinley Xiao compatible = "operating-points-v2"; 769f12da43SFinley Xiao opp-shared; 779f12da43SFinley Xiao 789f12da43SFinley Xiao opp-408000000 { 799f12da43SFinley Xiao opp-hz = /bits/ 64 <408000000>; 809f12da43SFinley Xiao opp-microvolt = <950000>; 819f12da43SFinley Xiao clock-latency-ns = <40000>; 829f12da43SFinley Xiao opp-suspend; 839f12da43SFinley Xiao }; 849f12da43SFinley Xiao opp-600000000 { 859f12da43SFinley Xiao opp-hz = /bits/ 64 <600000000>; 869f12da43SFinley Xiao opp-microvolt = <975000>; 879f12da43SFinley Xiao }; 889f12da43SFinley Xiao opp-816000000 { 899f12da43SFinley Xiao opp-hz = /bits/ 64 <816000000>; 909f12da43SFinley Xiao opp-microvolt = <1000000>; 919f12da43SFinley Xiao }; 929f12da43SFinley Xiao opp-1008000000 { 939f12da43SFinley Xiao opp-hz = /bits/ 64 <1008000000>; 949f12da43SFinley Xiao opp-microvolt = <1175000>; 959f12da43SFinley Xiao }; 969f12da43SFinley Xiao opp-1200000000 { 979f12da43SFinley Xiao opp-hz = /bits/ 64 <1200000000>; 989f12da43SFinley Xiao opp-microvolt = <1275000>; 999848ebebSJeffy Chen }; 1009848ebebSJeffy Chen }; 1019848ebebSJeffy Chen 1029848ebebSJeffy Chen arm-pmu { 1039848ebebSJeffy Chen compatible = "arm,cortex-a7-pmu"; 1049848ebebSJeffy Chen interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 1059848ebebSJeffy Chen <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 1069848ebebSJeffy Chen <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, 1079848ebebSJeffy Chen <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 1089848ebebSJeffy Chen interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 1099848ebebSJeffy Chen }; 1109848ebebSJeffy Chen 1110ae92144SFrank Wang psci { 1120ae92144SFrank Wang compatible = "arm,psci-1.0", "arm,psci-0.2"; 1130ae92144SFrank Wang method = "smc"; 1140ae92144SFrank Wang }; 1150ae92144SFrank Wang 1169848ebebSJeffy Chen timer { 1179848ebebSJeffy Chen compatible = "arm,armv7-timer"; 1189848ebebSJeffy Chen arm,cpu-registers-not-fw-configured; 1199848ebebSJeffy Chen interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1209848ebebSJeffy Chen <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1219848ebebSJeffy Chen <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1229848ebebSJeffy Chen <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1239848ebebSJeffy Chen clock-frequency = <24000000>; 1249848ebebSJeffy Chen }; 1259848ebebSJeffy Chen 1269848ebebSJeffy Chen xin24m: oscillator { 1279848ebebSJeffy Chen compatible = "fixed-clock"; 1289848ebebSJeffy Chen clock-frequency = <24000000>; 1299848ebebSJeffy Chen clock-output-names = "xin24m"; 1309848ebebSJeffy Chen #clock-cells = <0>; 1319848ebebSJeffy Chen }; 1329848ebebSJeffy Chen 133519574e3SJustin Swartz display_subsystem: display-subsystem { 134519574e3SJustin Swartz compatible = "rockchip,display-subsystem"; 135519574e3SJustin Swartz ports = <&vop_out>; 136519574e3SJustin Swartz }; 137519574e3SJustin Swartz 138ccada248SXing Zheng i2s1: i2s1@100b0000 { 139ccada248SXing Zheng compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 140ccada248SXing Zheng reg = <0x100b0000 0x4000>; 141ccada248SXing Zheng interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 142ccada248SXing Zheng clock-names = "i2s_clk", "i2s_hclk"; 143ccada248SXing Zheng clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>; 144ccada248SXing Zheng dmas = <&pdma 14>, <&pdma 15>; 145ccada248SXing Zheng dma-names = "tx", "rx"; 146ccada248SXing Zheng pinctrl-names = "default"; 147ccada248SXing Zheng pinctrl-0 = <&i2s1_bus>; 148ccada248SXing Zheng status = "disabled"; 149ccada248SXing Zheng }; 150ccada248SXing Zheng 151ccada248SXing Zheng i2s0: i2s0@100c0000 { 152ccada248SXing Zheng compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 153ccada248SXing Zheng reg = <0x100c0000 0x4000>; 154ccada248SXing Zheng interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 155ccada248SXing Zheng clock-names = "i2s_clk", "i2s_hclk"; 156ccada248SXing Zheng clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>; 157ccada248SXing Zheng dmas = <&pdma 11>, <&pdma 12>; 158ccada248SXing Zheng dma-names = "tx", "rx"; 159ccada248SXing Zheng status = "disabled"; 160ccada248SXing Zheng }; 161ccada248SXing Zheng 1624b456d20SSugar Zhang spdif: spdif@100d0000 { 1634b456d20SSugar Zhang compatible = "rockchip,rk3228-spdif"; 1644b456d20SSugar Zhang reg = <0x100d0000 0x1000>; 1654b456d20SSugar Zhang interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 1664b456d20SSugar Zhang clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>; 1674b456d20SSugar Zhang clock-names = "mclk", "hclk"; 1684b456d20SSugar Zhang dmas = <&pdma 10>; 1694b456d20SSugar Zhang dma-names = "tx"; 1704b456d20SSugar Zhang pinctrl-names = "default"; 1714b456d20SSugar Zhang pinctrl-0 = <&spdif_tx>; 1724b456d20SSugar Zhang status = "disabled"; 1734b456d20SSugar Zhang }; 1744b456d20SSugar Zhang 175ccada248SXing Zheng i2s2: i2s2@100e0000 { 176ccada248SXing Zheng compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 177ccada248SXing Zheng reg = <0x100e0000 0x4000>; 178ccada248SXing Zheng interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 179ccada248SXing Zheng clock-names = "i2s_clk", "i2s_hclk"; 180ccada248SXing Zheng clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>; 181ccada248SXing Zheng dmas = <&pdma 0>, <&pdma 1>; 182ccada248SXing Zheng dma-names = "tx", "rx"; 183ccada248SXing Zheng status = "disabled"; 184ccada248SXing Zheng }; 185ccada248SXing Zheng 1869848ebebSJeffy Chen grf: syscon@11000000 { 187692f492fSShawn Lin compatible = "rockchip,rk3228-grf", "syscon", "simple-mfd"; 1889848ebebSJeffy Chen reg = <0x11000000 0x1000>; 1893880af45SWilliam Wu #address-cells = <1>; 1903880af45SWilliam Wu #size-cells = <1>; 1913880af45SWilliam Wu 19283086adfSDavid Wu io_domains: io-domains { 19383086adfSDavid Wu compatible = "rockchip,rk3228-io-voltage-domain"; 19483086adfSDavid Wu status = "disabled"; 19583086adfSDavid Wu }; 19683086adfSDavid Wu 197623ba75aSAlex Bee power: power-controller { 198623ba75aSAlex Bee compatible = "rockchip,rk3228-power-controller"; 199623ba75aSAlex Bee #power-domain-cells = <1>; 200623ba75aSAlex Bee #address-cells = <1>; 201623ba75aSAlex Bee #size-cells = <0>; 202623ba75aSAlex Bee 203623ba75aSAlex Bee power-domain@RK3228_PD_VIO { 204623ba75aSAlex Bee reg = <RK3228_PD_VIO>; 205623ba75aSAlex Bee clocks = <&cru ACLK_HDCP>, 206623ba75aSAlex Bee <&cru SCLK_HDCP>, 207623ba75aSAlex Bee <&cru ACLK_IEP>, 208623ba75aSAlex Bee <&cru HCLK_IEP>, 209623ba75aSAlex Bee <&cru ACLK_RGA>, 210623ba75aSAlex Bee <&cru HCLK_RGA>, 211623ba75aSAlex Bee <&cru SCLK_RGA>; 212623ba75aSAlex Bee pm_qos = <&qos_hdcp>, 213623ba75aSAlex Bee <&qos_iep>, 214623ba75aSAlex Bee <&qos_rga_r>, 215623ba75aSAlex Bee <&qos_rga_w>; 216623ba75aSAlex Bee #power-domain-cells = <0>; 217623ba75aSAlex Bee }; 218623ba75aSAlex Bee 219623ba75aSAlex Bee power-domain@RK3228_PD_VOP { 220623ba75aSAlex Bee reg = <RK3228_PD_VOP>; 221623ba75aSAlex Bee clocks = <&cru ACLK_VOP>, 222623ba75aSAlex Bee <&cru DCLK_VOP>, 223623ba75aSAlex Bee <&cru HCLK_VOP>; 224623ba75aSAlex Bee pm_qos = <&qos_vop>; 225623ba75aSAlex Bee #power-domain-cells = <0>; 226623ba75aSAlex Bee }; 227623ba75aSAlex Bee 228623ba75aSAlex Bee power-domain@RK3228_PD_VPU { 229623ba75aSAlex Bee reg = <RK3228_PD_VPU>; 230623ba75aSAlex Bee clocks = <&cru ACLK_VPU>, 231623ba75aSAlex Bee <&cru HCLK_VPU>; 232623ba75aSAlex Bee pm_qos = <&qos_vpu>; 233623ba75aSAlex Bee #power-domain-cells = <0>; 234623ba75aSAlex Bee }; 235623ba75aSAlex Bee 236623ba75aSAlex Bee power-domain@RK3228_PD_RKVDEC { 237623ba75aSAlex Bee reg = <RK3228_PD_RKVDEC>; 238623ba75aSAlex Bee clocks = <&cru ACLK_RKVDEC>, 239623ba75aSAlex Bee <&cru HCLK_RKVDEC>, 240623ba75aSAlex Bee <&cru SCLK_VDEC_CABAC>, 241623ba75aSAlex Bee <&cru SCLK_VDEC_CORE>; 242623ba75aSAlex Bee pm_qos = <&qos_rkvdec_r>, 243623ba75aSAlex Bee <&qos_rkvdec_w>; 244623ba75aSAlex Bee #power-domain-cells = <0>; 245623ba75aSAlex Bee }; 246623ba75aSAlex Bee 247623ba75aSAlex Bee power-domain@RK3228_PD_GPU { 248623ba75aSAlex Bee reg = <RK3228_PD_GPU>; 249623ba75aSAlex Bee clocks = <&cru ACLK_GPU>; 250623ba75aSAlex Bee pm_qos = <&qos_gpu>; 251623ba75aSAlex Bee #power-domain-cells = <0>; 252623ba75aSAlex Bee }; 253623ba75aSAlex Bee }; 254623ba75aSAlex Bee 2552fd2300aSJohan Jonker u2phy0: usb2phy@760 { 2563880af45SWilliam Wu compatible = "rockchip,rk3228-usb2phy"; 2573880af45SWilliam Wu reg = <0x0760 0x0c>; 2583880af45SWilliam Wu clocks = <&cru SCLK_OTGPHY0>; 2593880af45SWilliam Wu clock-names = "phyclk"; 2603880af45SWilliam Wu clock-output-names = "usb480m_phy0"; 2613880af45SWilliam Wu #clock-cells = <0>; 2623880af45SWilliam Wu status = "disabled"; 2633880af45SWilliam Wu 2643880af45SWilliam Wu u2phy0_otg: otg-port { 2653880af45SWilliam Wu interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 2663880af45SWilliam Wu <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 2673880af45SWilliam Wu <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 2683880af45SWilliam Wu interrupt-names = "otg-bvalid", "otg-id", 2693880af45SWilliam Wu "linestate"; 2703880af45SWilliam Wu #phy-cells = <0>; 2713880af45SWilliam Wu status = "disabled"; 2723880af45SWilliam Wu }; 2733880af45SWilliam Wu 2743880af45SWilliam Wu u2phy0_host: host-port { 2753880af45SWilliam Wu interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 2763880af45SWilliam Wu interrupt-names = "linestate"; 2773880af45SWilliam Wu #phy-cells = <0>; 2783880af45SWilliam Wu status = "disabled"; 2793880af45SWilliam Wu }; 2803880af45SWilliam Wu }; 2813880af45SWilliam Wu 2822fd2300aSJohan Jonker u2phy1: usb2phy@800 { 2833880af45SWilliam Wu compatible = "rockchip,rk3228-usb2phy"; 2843880af45SWilliam Wu reg = <0x0800 0x0c>; 2853880af45SWilliam Wu clocks = <&cru SCLK_OTGPHY1>; 2863880af45SWilliam Wu clock-names = "phyclk"; 2873880af45SWilliam Wu clock-output-names = "usb480m_phy1"; 2883880af45SWilliam Wu #clock-cells = <0>; 2893880af45SWilliam Wu status = "disabled"; 2903880af45SWilliam Wu 2913880af45SWilliam Wu u2phy1_otg: otg-port { 2923880af45SWilliam Wu interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 2933880af45SWilliam Wu interrupt-names = "linestate"; 2943880af45SWilliam Wu #phy-cells = <0>; 2953880af45SWilliam Wu status = "disabled"; 2963880af45SWilliam Wu }; 2973880af45SWilliam Wu 2983880af45SWilliam Wu u2phy1_host: host-port { 2993880af45SWilliam Wu interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 3003880af45SWilliam Wu interrupt-names = "linestate"; 3013880af45SWilliam Wu #phy-cells = <0>; 3023880af45SWilliam Wu status = "disabled"; 3033880af45SWilliam Wu }; 3043880af45SWilliam Wu }; 3059848ebebSJeffy Chen }; 3069848ebebSJeffy Chen 3079848ebebSJeffy Chen uart0: serial@11010000 { 3089848ebebSJeffy Chen compatible = "snps,dw-apb-uart"; 3099848ebebSJeffy Chen reg = <0x11010000 0x100>; 3109848ebebSJeffy Chen interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 3119848ebebSJeffy Chen clock-frequency = <24000000>; 3129848ebebSJeffy Chen clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 3139848ebebSJeffy Chen clock-names = "baudclk", "apb_pclk"; 3149848ebebSJeffy Chen pinctrl-names = "default"; 3159848ebebSJeffy Chen pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 3169848ebebSJeffy Chen reg-shift = <2>; 3179848ebebSJeffy Chen reg-io-width = <4>; 3189848ebebSJeffy Chen status = "disabled"; 3199848ebebSJeffy Chen }; 3209848ebebSJeffy Chen 3219848ebebSJeffy Chen uart1: serial@11020000 { 3229848ebebSJeffy Chen compatible = "snps,dw-apb-uart"; 3239848ebebSJeffy Chen reg = <0x11020000 0x100>; 3249848ebebSJeffy Chen interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 3259848ebebSJeffy Chen clock-frequency = <24000000>; 3269848ebebSJeffy Chen clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 3279848ebebSJeffy Chen clock-names = "baudclk", "apb_pclk"; 3289848ebebSJeffy Chen pinctrl-names = "default"; 3299848ebebSJeffy Chen pinctrl-0 = <&uart1_xfer>; 3309848ebebSJeffy Chen reg-shift = <2>; 3319848ebebSJeffy Chen reg-io-width = <4>; 3329848ebebSJeffy Chen status = "disabled"; 3339848ebebSJeffy Chen }; 3349848ebebSJeffy Chen 3359848ebebSJeffy Chen uart2: serial@11030000 { 3369848ebebSJeffy Chen compatible = "snps,dw-apb-uart"; 3379848ebebSJeffy Chen reg = <0x11030000 0x100>; 3389848ebebSJeffy Chen interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 3399848ebebSJeffy Chen clock-frequency = <24000000>; 3409848ebebSJeffy Chen clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 3419848ebebSJeffy Chen clock-names = "baudclk", "apb_pclk"; 3429848ebebSJeffy Chen pinctrl-names = "default"; 3439848ebebSJeffy Chen pinctrl-0 = <&uart2_xfer>; 3449848ebebSJeffy Chen reg-shift = <2>; 3459848ebebSJeffy Chen reg-io-width = <4>; 3469848ebebSJeffy Chen status = "disabled"; 3479848ebebSJeffy Chen }; 3489848ebebSJeffy Chen 3499098be63SFinley Xiao efuse: efuse@11040000 { 3509098be63SFinley Xiao compatible = "rockchip,rk3228-efuse"; 3519098be63SFinley Xiao reg = <0x11040000 0x20>; 3529098be63SFinley Xiao clocks = <&cru PCLK_EFUSE_256>; 3539098be63SFinley Xiao clock-names = "pclk_efuse"; 3549098be63SFinley Xiao #address-cells = <1>; 3559098be63SFinley Xiao #size-cells = <1>; 3569098be63SFinley Xiao 3579098be63SFinley Xiao /* Data cells */ 3589098be63SFinley Xiao efuse_id: id@7 { 3599098be63SFinley Xiao reg = <0x7 0x10>; 3609098be63SFinley Xiao }; 3619098be63SFinley Xiao cpu_leakage: cpu_leakage@17 { 3629098be63SFinley Xiao reg = <0x17 0x1>; 3639098be63SFinley Xiao }; 3649098be63SFinley Xiao }; 3659098be63SFinley Xiao 366d549df4bSYakir Yang i2c0: i2c@11050000 { 367d549df4bSYakir Yang compatible = "rockchip,rk3228-i2c"; 368d549df4bSYakir Yang reg = <0x11050000 0x1000>; 369d549df4bSYakir Yang interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 370d549df4bSYakir Yang #address-cells = <1>; 371d549df4bSYakir Yang #size-cells = <0>; 372d549df4bSYakir Yang clock-names = "i2c"; 373d549df4bSYakir Yang clocks = <&cru PCLK_I2C0>; 374d549df4bSYakir Yang pinctrl-names = "default"; 375d549df4bSYakir Yang pinctrl-0 = <&i2c0_xfer>; 376d549df4bSYakir Yang status = "disabled"; 377d549df4bSYakir Yang }; 378d549df4bSYakir Yang 379d549df4bSYakir Yang i2c1: i2c@11060000 { 380d549df4bSYakir Yang compatible = "rockchip,rk3228-i2c"; 381d549df4bSYakir Yang reg = <0x11060000 0x1000>; 382d549df4bSYakir Yang interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 383d549df4bSYakir Yang #address-cells = <1>; 384d549df4bSYakir Yang #size-cells = <0>; 385d549df4bSYakir Yang clock-names = "i2c"; 386d549df4bSYakir Yang clocks = <&cru PCLK_I2C1>; 387d549df4bSYakir Yang pinctrl-names = "default"; 388d549df4bSYakir Yang pinctrl-0 = <&i2c1_xfer>; 389d549df4bSYakir Yang status = "disabled"; 390d549df4bSYakir Yang }; 391d549df4bSYakir Yang 392d549df4bSYakir Yang i2c2: i2c@11070000 { 393d549df4bSYakir Yang compatible = "rockchip,rk3228-i2c"; 394d549df4bSYakir Yang reg = <0x11070000 0x1000>; 395d549df4bSYakir Yang interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 396d549df4bSYakir Yang #address-cells = <1>; 397d549df4bSYakir Yang #size-cells = <0>; 398d549df4bSYakir Yang clock-names = "i2c"; 399d549df4bSYakir Yang clocks = <&cru PCLK_I2C2>; 400d549df4bSYakir Yang pinctrl-names = "default"; 401d549df4bSYakir Yang pinctrl-0 = <&i2c2_xfer>; 402d549df4bSYakir Yang status = "disabled"; 403d549df4bSYakir Yang }; 404d549df4bSYakir Yang 405d549df4bSYakir Yang i2c3: i2c@11080000 { 406d549df4bSYakir Yang compatible = "rockchip,rk3228-i2c"; 407d549df4bSYakir Yang reg = <0x11080000 0x1000>; 408d549df4bSYakir Yang interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 409d549df4bSYakir Yang #address-cells = <1>; 410d549df4bSYakir Yang #size-cells = <0>; 411d549df4bSYakir Yang clock-names = "i2c"; 412d549df4bSYakir Yang clocks = <&cru PCLK_I2C3>; 413d549df4bSYakir Yang pinctrl-names = "default"; 414d549df4bSYakir Yang pinctrl-0 = <&i2c3_xfer>; 415d549df4bSYakir Yang status = "disabled"; 416d549df4bSYakir Yang }; 417d549df4bSYakir Yang 418febdf639SHuibin Hong spi0: spi@11090000 { 419febdf639SHuibin Hong compatible = "rockchip,rk3228-spi"; 420febdf639SHuibin Hong reg = <0x11090000 0x1000>; 421febdf639SHuibin Hong interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 422febdf639SHuibin Hong #address-cells = <1>; 423febdf639SHuibin Hong #size-cells = <0>; 424febdf639SHuibin Hong clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; 425febdf639SHuibin Hong clock-names = "spiclk", "apb_pclk"; 426febdf639SHuibin Hong pinctrl-names = "default"; 427febdf639SHuibin Hong pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0 &spi0_cs1>; 428febdf639SHuibin Hong status = "disabled"; 429febdf639SHuibin Hong }; 430febdf639SHuibin Hong 431fa206984SFrank Wang wdt: watchdog@110a0000 { 4329ceb98f1SJohan Jonker compatible = "rockchip,rk3228-wdt", "snps,dw-wdt"; 433fa206984SFrank Wang reg = <0x110a0000 0x100>; 434fa206984SFrank Wang interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 435fa206984SFrank Wang clocks = <&cru PCLK_CPU>; 436fa206984SFrank Wang status = "disabled"; 437fa206984SFrank Wang }; 438fa206984SFrank Wang 4399848ebebSJeffy Chen pwm0: pwm@110b0000 { 4409848ebebSJeffy Chen compatible = "rockchip,rk3288-pwm"; 4419848ebebSJeffy Chen reg = <0x110b0000 0x10>; 4429848ebebSJeffy Chen #pwm-cells = <3>; 4439848ebebSJeffy Chen clocks = <&cru PCLK_PWM>; 4449848ebebSJeffy Chen pinctrl-names = "default"; 4459848ebebSJeffy Chen pinctrl-0 = <&pwm0_pin>; 4469848ebebSJeffy Chen status = "disabled"; 4479848ebebSJeffy Chen }; 4489848ebebSJeffy Chen 4499848ebebSJeffy Chen pwm1: pwm@110b0010 { 4509848ebebSJeffy Chen compatible = "rockchip,rk3288-pwm"; 4519848ebebSJeffy Chen reg = <0x110b0010 0x10>; 4529848ebebSJeffy Chen #pwm-cells = <3>; 4539848ebebSJeffy Chen clocks = <&cru PCLK_PWM>; 4549848ebebSJeffy Chen pinctrl-names = "default"; 4559848ebebSJeffy Chen pinctrl-0 = <&pwm1_pin>; 4569848ebebSJeffy Chen status = "disabled"; 4579848ebebSJeffy Chen }; 4589848ebebSJeffy Chen 4599848ebebSJeffy Chen pwm2: pwm@110b0020 { 4609848ebebSJeffy Chen compatible = "rockchip,rk3288-pwm"; 4619848ebebSJeffy Chen reg = <0x110b0020 0x10>; 4629848ebebSJeffy Chen #pwm-cells = <3>; 4639848ebebSJeffy Chen clocks = <&cru PCLK_PWM>; 4649848ebebSJeffy Chen pinctrl-names = "default"; 4659848ebebSJeffy Chen pinctrl-0 = <&pwm2_pin>; 4669848ebebSJeffy Chen status = "disabled"; 4679848ebebSJeffy Chen }; 4689848ebebSJeffy Chen 4699848ebebSJeffy Chen pwm3: pwm@110b0030 { 4709848ebebSJeffy Chen compatible = "rockchip,rk3288-pwm"; 4719848ebebSJeffy Chen reg = <0x110b0030 0x10>; 4729848ebebSJeffy Chen #pwm-cells = <2>; 4739848ebebSJeffy Chen clocks = <&cru PCLK_PWM>; 4749848ebebSJeffy Chen pinctrl-names = "default"; 4759848ebebSJeffy Chen pinctrl-0 = <&pwm3_pin>; 4769848ebebSJeffy Chen status = "disabled"; 4779848ebebSJeffy Chen }; 4789848ebebSJeffy Chen 4799848ebebSJeffy Chen timer: timer@110c0000 { 480b72af346SAlexander Kochetkov compatible = "rockchip,rk3228-timer", "rockchip,rk3288-timer"; 4819848ebebSJeffy Chen reg = <0x110c0000 0x20>; 4829848ebebSJeffy Chen interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 4833e6f8124SJohan Jonker clocks = <&cru PCLK_TIMER>, <&xin24m>; 4843e6f8124SJohan Jonker clock-names = "pclk", "timer"; 4859848ebebSJeffy Chen }; 4869848ebebSJeffy Chen 4879848ebebSJeffy Chen cru: clock-controller@110e0000 { 4889848ebebSJeffy Chen compatible = "rockchip,rk3228-cru"; 4899848ebebSJeffy Chen reg = <0x110e0000 0x1000>; 490840fc447SJohan Jonker clocks = <&xin24m>; 491840fc447SJohan Jonker clock-names = "xin24m"; 4929848ebebSJeffy Chen rockchip,grf = <&grf>; 4939848ebebSJeffy Chen #clock-cells = <1>; 4949848ebebSJeffy Chen #reset-cells = <1>; 49530ee5814SElaine Zhang assigned-clocks = 49630ee5814SElaine Zhang <&cru PLL_GPLL>, <&cru ARMCLK>, 49730ee5814SElaine Zhang <&cru PLL_CPLL>, <&cru ACLK_PERI>, 49830ee5814SElaine Zhang <&cru HCLK_PERI>, <&cru PCLK_PERI>, 49930ee5814SElaine Zhang <&cru ACLK_CPU>, <&cru HCLK_CPU>, 50030ee5814SElaine Zhang <&cru PCLK_CPU>; 50130ee5814SElaine Zhang assigned-clock-rates = 50230ee5814SElaine Zhang <594000000>, <816000000>, 50330ee5814SElaine Zhang <500000000>, <150000000>, 50430ee5814SElaine Zhang <150000000>, <75000000>, 50530ee5814SElaine Zhang <150000000>, <150000000>, 50630ee5814SElaine Zhang <75000000>; 5079848ebebSJeffy Chen }; 5089848ebebSJeffy Chen 509146c9a34SJohan Jonker pdma: dma-controller@110f0000 { 5105eae5696SRobin Murphy compatible = "arm,pl330", "arm,primecell"; 5115eae5696SRobin Murphy reg = <0x110f0000 0x4000>; 5125eae5696SRobin Murphy interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 5135eae5696SRobin Murphy <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 5145eae5696SRobin Murphy #dma-cells = <1>; 5155eae5696SRobin Murphy arm,pl330-periph-burst; 5165eae5696SRobin Murphy clocks = <&cru ACLK_DMAC>; 5175eae5696SRobin Murphy clock-names = "apb_pclk"; 5185eae5696SRobin Murphy }; 5195eae5696SRobin Murphy 5207796031eSCaesar Wang thermal-zones { 5217796031eSCaesar Wang cpu_thermal: cpu-thermal { 5227796031eSCaesar Wang polling-delay-passive = <100>; /* milliseconds */ 5237796031eSCaesar Wang polling-delay = <5000>; /* milliseconds */ 5247796031eSCaesar Wang 5257796031eSCaesar Wang thermal-sensors = <&tsadc 0>; 5267796031eSCaesar Wang 5277796031eSCaesar Wang trips { 5287796031eSCaesar Wang cpu_alert0: cpu_alert0 { 5297796031eSCaesar Wang temperature = <70000>; /* millicelsius */ 5307796031eSCaesar Wang hysteresis = <2000>; /* millicelsius */ 5317796031eSCaesar Wang type = "passive"; 5327796031eSCaesar Wang }; 5337796031eSCaesar Wang cpu_alert1: cpu_alert1 { 5347796031eSCaesar Wang temperature = <75000>; /* millicelsius */ 5357796031eSCaesar Wang hysteresis = <2000>; /* millicelsius */ 5367796031eSCaesar Wang type = "passive"; 5377796031eSCaesar Wang }; 5387796031eSCaesar Wang cpu_crit: cpu_crit { 5397796031eSCaesar Wang temperature = <90000>; /* millicelsius */ 5407796031eSCaesar Wang hysteresis = <2000>; /* millicelsius */ 5417796031eSCaesar Wang type = "critical"; 5427796031eSCaesar Wang }; 5437796031eSCaesar Wang }; 5447796031eSCaesar Wang 5457796031eSCaesar Wang cooling-maps { 5467796031eSCaesar Wang map0 { 5477796031eSCaesar Wang trip = <&cpu_alert0>; 5487796031eSCaesar Wang cooling-device = 54999935bd4SViresh Kumar <&cpu0 THERMAL_NO_LIMIT 6>, 55099935bd4SViresh Kumar <&cpu1 THERMAL_NO_LIMIT 6>, 55199935bd4SViresh Kumar <&cpu2 THERMAL_NO_LIMIT 6>, 55299935bd4SViresh Kumar <&cpu3 THERMAL_NO_LIMIT 6>; 5537796031eSCaesar Wang }; 5547796031eSCaesar Wang map1 { 5557796031eSCaesar Wang trip = <&cpu_alert1>; 5567796031eSCaesar Wang cooling-device = 55799935bd4SViresh Kumar <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 55899935bd4SViresh Kumar <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 55999935bd4SViresh Kumar <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 56099935bd4SViresh Kumar <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 5617796031eSCaesar Wang }; 5627796031eSCaesar Wang }; 5637796031eSCaesar Wang }; 5647796031eSCaesar Wang }; 5657796031eSCaesar Wang 5667796031eSCaesar Wang tsadc: tsadc@11150000 { 5677796031eSCaesar Wang compatible = "rockchip,rk3228-tsadc"; 5687796031eSCaesar Wang reg = <0x11150000 0x100>; 5697796031eSCaesar Wang interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 5707796031eSCaesar Wang clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 5717796031eSCaesar Wang clock-names = "tsadc", "apb_pclk"; 5722b3f2f37SRocky Hao assigned-clocks = <&cru SCLK_TSADC>; 5732b3f2f37SRocky Hao assigned-clock-rates = <32768>; 5747796031eSCaesar Wang resets = <&cru SRST_TSADC>; 5757796031eSCaesar Wang reset-names = "tsadc-apb"; 5767796031eSCaesar Wang pinctrl-names = "init", "default", "sleep"; 577fff987e7SJohan Jonker pinctrl-0 = <&otp_pin>; 5787796031eSCaesar Wang pinctrl-1 = <&otp_out>; 579fff987e7SJohan Jonker pinctrl-2 = <&otp_pin>; 580d5c24e20SEzequiel Garcia #thermal-sensor-cells = <1>; 5817796031eSCaesar Wang rockchip,hw-tshut-temp = <95000>; 5827796031eSCaesar Wang status = "disabled"; 5837796031eSCaesar Wang }; 5847796031eSCaesar Wang 585519574e3SJustin Swartz hdmi_phy: hdmi-phy@12030000 { 586519574e3SJustin Swartz compatible = "rockchip,rk3228-hdmi-phy"; 587519574e3SJustin Swartz reg = <0x12030000 0x10000>; 588519574e3SJustin Swartz clocks = <&cru PCLK_HDMI_PHY>, <&xin24m>, <&cru DCLK_HDMI_PHY>; 589519574e3SJustin Swartz clock-names = "sysclk", "refoclk", "refpclk"; 590519574e3SJustin Swartz #clock-cells = <0>; 591519574e3SJustin Swartz clock-output-names = "hdmiphy_phy"; 592519574e3SJustin Swartz #phy-cells = <0>; 593519574e3SJustin Swartz status = "disabled"; 594519574e3SJustin Swartz }; 595519574e3SJustin Swartz 596451ef43bSHeiko Stuebner gpu: gpu@20000000 { 597451ef43bSHeiko Stuebner compatible = "rockchip,rk3228-mali", "arm,mali-400"; 598451ef43bSHeiko Stuebner reg = <0x20000000 0x10000>; 599451ef43bSHeiko Stuebner interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 600451ef43bSHeiko Stuebner <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 601451ef43bSHeiko Stuebner <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 602451ef43bSHeiko Stuebner <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 603451ef43bSHeiko Stuebner <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 604451ef43bSHeiko Stuebner <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 605451ef43bSHeiko Stuebner interrupt-names = "gp", 606451ef43bSHeiko Stuebner "gpmmu", 607451ef43bSHeiko Stuebner "pp0", 6080133c492SHeiko Stuebner "ppmmu0", 609451ef43bSHeiko Stuebner "pp1", 6100133c492SHeiko Stuebner "ppmmu1"; 611451ef43bSHeiko Stuebner clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; 612b14f3898SJohan Jonker clock-names = "bus", "core"; 613623ba75aSAlex Bee power-domains = <&power RK3228_PD_GPU>; 614451ef43bSHeiko Stuebner resets = <&cru SRST_GPU_A>; 615451ef43bSHeiko Stuebner status = "disabled"; 616451ef43bSHeiko Stuebner }; 617451ef43bSHeiko Stuebner 61836e9534dSAlex Bee vpu: video-codec@20020000 { 61936e9534dSAlex Bee compatible = "rockchip,rk3228-vpu", "rockchip,rk3399-vpu"; 62036e9534dSAlex Bee reg = <0x20020000 0x800>; 62136e9534dSAlex Bee interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 62236e9534dSAlex Bee <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 62336e9534dSAlex Bee interrupt-names = "vepu", "vdpu"; 62436e9534dSAlex Bee clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 62536e9534dSAlex Bee clock-names = "aclk", "hclk"; 62636e9534dSAlex Bee iommus = <&vpu_mmu>; 62736e9534dSAlex Bee power-domains = <&power RK3228_PD_VPU>; 62836e9534dSAlex Bee }; 62936e9534dSAlex Bee 6304e1b222dSSimon Xue vpu_mmu: iommu@20020800 { 6314e1b222dSSimon Xue compatible = "rockchip,iommu"; 6324e1b222dSSimon Xue reg = <0x20020800 0x100>; 6334e1b222dSSimon Xue interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 634c78751f9SJeffy Chen clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>; 635c78751f9SJeffy Chen clock-names = "aclk", "iface"; 636623ba75aSAlex Bee power-domains = <&power RK3228_PD_VPU>; 6376b023929SBenjamin Gaignard #iommu-cells = <0>; 63836e9534dSAlex Bee }; 63936e9534dSAlex Bee 64036e9534dSAlex Bee vdec: video-codec@20030000 { 64136e9534dSAlex Bee compatible = "rockchip,rk3228-vdec", "rockchip,rk3399-vdec"; 64236e9534dSAlex Bee reg = <0x20030000 0x480>; 64336e9534dSAlex Bee interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 64436e9534dSAlex Bee clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, 64536e9534dSAlex Bee <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>; 64636e9534dSAlex Bee clock-names = "axi", "ahb", "cabac", "core"; 64736e9534dSAlex Bee assigned-clocks = <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>; 64836e9534dSAlex Bee assigned-clock-rates = <300000000>, <300000000>; 64936e9534dSAlex Bee iommus = <&vdec_mmu>; 65036e9534dSAlex Bee power-domains = <&power RK3228_PD_RKVDEC>; 6514e1b222dSSimon Xue }; 6524e1b222dSSimon Xue 6534e1b222dSSimon Xue vdec_mmu: iommu@20030480 { 6544e1b222dSSimon Xue compatible = "rockchip,iommu"; 6554e1b222dSSimon Xue reg = <0x20030480 0x40>, <0x200304c0 0x40>; 6564e1b222dSSimon Xue interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 657c78751f9SJeffy Chen clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>; 658c78751f9SJeffy Chen clock-names = "aclk", "iface"; 659623ba75aSAlex Bee power-domains = <&power RK3228_PD_RKVDEC>; 6606b023929SBenjamin Gaignard #iommu-cells = <0>; 6614e1b222dSSimon Xue }; 6624e1b222dSSimon Xue 663519574e3SJustin Swartz vop: vop@20050000 { 664519574e3SJustin Swartz compatible = "rockchip,rk3228-vop"; 665519574e3SJustin Swartz reg = <0x20050000 0x1ffc>; 666519574e3SJustin Swartz interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 667519574e3SJustin Swartz clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>; 668519574e3SJustin Swartz clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 669519574e3SJustin Swartz resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>; 670519574e3SJustin Swartz reset-names = "axi", "ahb", "dclk"; 671519574e3SJustin Swartz iommus = <&vop_mmu>; 672623ba75aSAlex Bee power-domains = <&power RK3228_PD_VOP>; 673519574e3SJustin Swartz status = "disabled"; 674519574e3SJustin Swartz 675519574e3SJustin Swartz vop_out: port { 676519574e3SJustin Swartz #address-cells = <1>; 677519574e3SJustin Swartz #size-cells = <0>; 678519574e3SJustin Swartz 679519574e3SJustin Swartz vop_out_hdmi: endpoint@0 { 680519574e3SJustin Swartz reg = <0>; 681519574e3SJustin Swartz remote-endpoint = <&hdmi_in_vop>; 682519574e3SJustin Swartz }; 683519574e3SJustin Swartz }; 684519574e3SJustin Swartz }; 685519574e3SJustin Swartz 6864e1b222dSSimon Xue vop_mmu: iommu@20053f00 { 6874e1b222dSSimon Xue compatible = "rockchip,iommu"; 6884e1b222dSSimon Xue reg = <0x20053f00 0x100>; 6894e1b222dSSimon Xue interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 690c78751f9SJeffy Chen clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 691c78751f9SJeffy Chen clock-names = "aclk", "iface"; 692623ba75aSAlex Bee power-domains = <&power RK3228_PD_VOP>; 693836e2abfSJustin Swartz #iommu-cells = <0>; 6944e1b222dSSimon Xue status = "disabled"; 6954e1b222dSSimon Xue }; 6964e1b222dSSimon Xue 69754b1a4e0SJustin Swartz rga: rga@20060000 { 69854b1a4e0SJustin Swartz compatible = "rockchip,rk3228-rga", "rockchip,rk3288-rga"; 69954b1a4e0SJustin Swartz reg = <0x20060000 0x1000>; 70054b1a4e0SJustin Swartz interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 70154b1a4e0SJustin Swartz clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>; 70254b1a4e0SJustin Swartz clock-names = "aclk", "hclk", "sclk"; 703623ba75aSAlex Bee power-domains = <&power RK3228_PD_VIO>; 70454b1a4e0SJustin Swartz resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>; 70554b1a4e0SJustin Swartz reset-names = "core", "axi", "ahb"; 70654b1a4e0SJustin Swartz }; 70754b1a4e0SJustin Swartz 7084e1b222dSSimon Xue iep_mmu: iommu@20070800 { 7094e1b222dSSimon Xue compatible = "rockchip,iommu"; 7104e1b222dSSimon Xue reg = <0x20070800 0x100>; 7114e1b222dSSimon Xue interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 712c78751f9SJeffy Chen clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>; 713c78751f9SJeffy Chen clock-names = "aclk", "iface"; 714623ba75aSAlex Bee power-domains = <&power RK3228_PD_VIO>; 7156b023929SBenjamin Gaignard #iommu-cells = <0>; 7164e1b222dSSimon Xue status = "disabled"; 7174e1b222dSSimon Xue }; 7184e1b222dSSimon Xue 719519574e3SJustin Swartz hdmi: hdmi@200a0000 { 720519574e3SJustin Swartz compatible = "rockchip,rk3228-dw-hdmi"; 721519574e3SJustin Swartz reg = <0x200a0000 0x20000>; 722519574e3SJustin Swartz reg-io-width = <4>; 723519574e3SJustin Swartz interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 724519574e3SJustin Swartz assigned-clocks = <&cru SCLK_HDMI_PHY>; 725519574e3SJustin Swartz assigned-clock-parents = <&hdmi_phy>; 726be4e65bdSSascha Hauer clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>, <&cru SCLK_HDMI_CEC>; 727be4e65bdSSascha Hauer clock-names = "iahb", "isfr", "cec"; 728519574e3SJustin Swartz pinctrl-names = "default"; 729519574e3SJustin Swartz pinctrl-0 = <&hdmii2c_xfer &hdmi_hpd &hdmi_cec>; 730519574e3SJustin Swartz resets = <&cru SRST_HDMI_P>; 731519574e3SJustin Swartz reset-names = "hdmi"; 732519574e3SJustin Swartz phys = <&hdmi_phy>; 733519574e3SJustin Swartz phy-names = "hdmi"; 734519574e3SJustin Swartz rockchip,grf = <&grf>; 735519574e3SJustin Swartz status = "disabled"; 736519574e3SJustin Swartz 737519574e3SJustin Swartz ports { 738519574e3SJustin Swartz #address-cells = <1>; 739519574e3SJustin Swartz #size-cells = <0>; 74015a5ed03SJohan Jonker 74115a5ed03SJohan Jonker hdmi_in: port@0 { 742519574e3SJustin Swartz reg = <0>; 74315a5ed03SJohan Jonker 74415a5ed03SJohan Jonker hdmi_in_vop: endpoint { 745519574e3SJustin Swartz remote-endpoint = <&vop_out_hdmi>; 746519574e3SJustin Swartz }; 747519574e3SJustin Swartz }; 74815a5ed03SJohan Jonker 74915a5ed03SJohan Jonker hdmi_out: port@1 { 75015a5ed03SJohan Jonker reg = <1>; 75115a5ed03SJohan Jonker }; 752519574e3SJustin Swartz }; 753519574e3SJustin Swartz }; 754519574e3SJustin Swartz 755fed1fc51SJohan Jonker sdmmc: mmc@30000000 { 756e409fc3dSShawn Lin compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc"; 757e409fc3dSShawn Lin reg = <0x30000000 0x4000>; 758e409fc3dSShawn Lin interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 759e409fc3dSShawn Lin clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 760e409fc3dSShawn Lin <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 761e78c6371SRobin Murphy clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 762e409fc3dSShawn Lin fifo-depth = <0x100>; 763e409fc3dSShawn Lin pinctrl-names = "default"; 764e409fc3dSShawn Lin pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 765e409fc3dSShawn Lin status = "disabled"; 766e409fc3dSShawn Lin }; 767e409fc3dSShawn Lin 768fed1fc51SJohan Jonker sdio: mmc@30010000 { 769e409fc3dSShawn Lin compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc"; 770e409fc3dSShawn Lin reg = <0x30010000 0x4000>; 771e409fc3dSShawn Lin interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 772e409fc3dSShawn Lin clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 773e409fc3dSShawn Lin <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 774e78c6371SRobin Murphy clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 775e409fc3dSShawn Lin fifo-depth = <0x100>; 776e409fc3dSShawn Lin pinctrl-names = "default"; 777e409fc3dSShawn Lin pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; 778e409fc3dSShawn Lin status = "disabled"; 779e409fc3dSShawn Lin }; 780e409fc3dSShawn Lin 781fed1fc51SJohan Jonker emmc: mmc@30020000 { 7820d6a01f8SShawn Lin compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc"; 7839848ebebSJeffy Chen reg = <0x30020000 0x4000>; 7849848ebebSJeffy Chen interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 7859848ebebSJeffy Chen clock-frequency = <37500000>; 7866a8883d6SJaehoon Chung max-frequency = <37500000>; 7879848ebebSJeffy Chen clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 7889848ebebSJeffy Chen <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 789e78c6371SRobin Murphy clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 7909848ebebSJeffy Chen bus-width = <8>; 7918a385eb5SJohan Jonker rockchip,default-sample-phase = <158>; 7929848ebebSJeffy Chen fifo-depth = <0x100>; 7939848ebebSJeffy Chen pinctrl-names = "default"; 7949848ebebSJeffy Chen pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 7952d1f1d4cSHeiko Stuebner resets = <&cru SRST_EMMC>; 7962d1f1d4cSHeiko Stuebner reset-names = "reset"; 7979848ebebSJeffy Chen status = "disabled"; 7989848ebebSJeffy Chen }; 7999848ebebSJeffy Chen 8003880af45SWilliam Wu usb_otg: usb@30040000 { 8013880af45SWilliam Wu compatible = "rockchip,rk3228-usb", "rockchip,rk3066-usb", 8023880af45SWilliam Wu "snps,dwc2"; 8033880af45SWilliam Wu reg = <0x30040000 0x40000>; 8043880af45SWilliam Wu interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 8053880af45SWilliam Wu clocks = <&cru HCLK_OTG>; 8063880af45SWilliam Wu clock-names = "otg"; 8073880af45SWilliam Wu dr_mode = "otg"; 8083880af45SWilliam Wu g-np-tx-fifo-size = <16>; 8093880af45SWilliam Wu g-rx-fifo-size = <280>; 8103880af45SWilliam Wu g-tx-fifo-size = <256 128 128 64 32 16>; 8113880af45SWilliam Wu phys = <&u2phy0_otg>; 8123880af45SWilliam Wu phy-names = "usb2-phy"; 8133880af45SWilliam Wu status = "disabled"; 8143880af45SWilliam Wu }; 8153880af45SWilliam Wu 8163880af45SWilliam Wu usb_host0_ehci: usb@30080000 { 8173880af45SWilliam Wu compatible = "generic-ehci"; 8183880af45SWilliam Wu reg = <0x30080000 0x20000>; 8193880af45SWilliam Wu interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 8203880af45SWilliam Wu clocks = <&cru HCLK_HOST0>, <&u2phy0>; 8213880af45SWilliam Wu phys = <&u2phy0_host>; 8223880af45SWilliam Wu phy-names = "usb"; 8233880af45SWilliam Wu status = "disabled"; 8243880af45SWilliam Wu }; 8253880af45SWilliam Wu 8263880af45SWilliam Wu usb_host0_ohci: usb@300a0000 { 8273880af45SWilliam Wu compatible = "generic-ohci"; 8283880af45SWilliam Wu reg = <0x300a0000 0x20000>; 8293880af45SWilliam Wu interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 8303880af45SWilliam Wu clocks = <&cru HCLK_HOST0>, <&u2phy0>; 8313880af45SWilliam Wu phys = <&u2phy0_host>; 8323880af45SWilliam Wu phy-names = "usb"; 8333880af45SWilliam Wu status = "disabled"; 8343880af45SWilliam Wu }; 8353880af45SWilliam Wu 8363880af45SWilliam Wu usb_host1_ehci: usb@300c0000 { 8373880af45SWilliam Wu compatible = "generic-ehci"; 8383880af45SWilliam Wu reg = <0x300c0000 0x20000>; 8393880af45SWilliam Wu interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 8403880af45SWilliam Wu clocks = <&cru HCLK_HOST1>, <&u2phy1>; 8413880af45SWilliam Wu phys = <&u2phy1_otg>; 8423880af45SWilliam Wu phy-names = "usb"; 8433880af45SWilliam Wu status = "disabled"; 8443880af45SWilliam Wu }; 8453880af45SWilliam Wu 8463880af45SWilliam Wu usb_host1_ohci: usb@300e0000 { 8473880af45SWilliam Wu compatible = "generic-ohci"; 8483880af45SWilliam Wu reg = <0x300e0000 0x20000>; 8493880af45SWilliam Wu interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 8503880af45SWilliam Wu clocks = <&cru HCLK_HOST1>, <&u2phy1>; 8513880af45SWilliam Wu phys = <&u2phy1_otg>; 8523880af45SWilliam Wu phy-names = "usb"; 8533880af45SWilliam Wu status = "disabled"; 8543880af45SWilliam Wu }; 8553880af45SWilliam Wu 8563880af45SWilliam Wu usb_host2_ehci: usb@30100000 { 8573880af45SWilliam Wu compatible = "generic-ehci"; 8583880af45SWilliam Wu reg = <0x30100000 0x20000>; 8593880af45SWilliam Wu interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 8603880af45SWilliam Wu clocks = <&cru HCLK_HOST2>, <&u2phy1>; 8613880af45SWilliam Wu phys = <&u2phy1_host>; 8623880af45SWilliam Wu phy-names = "usb"; 8633880af45SWilliam Wu status = "disabled"; 8643880af45SWilliam Wu }; 8653880af45SWilliam Wu 8663880af45SWilliam Wu usb_host2_ohci: usb@30120000 { 8673880af45SWilliam Wu compatible = "generic-ohci"; 8683880af45SWilliam Wu reg = <0x30120000 0x20000>; 8693880af45SWilliam Wu interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 8703880af45SWilliam Wu clocks = <&cru HCLK_HOST2>, <&u2phy1>; 8713880af45SWilliam Wu phys = <&u2phy1_host>; 8723880af45SWilliam Wu phy-names = "usb"; 8733880af45SWilliam Wu status = "disabled"; 8743880af45SWilliam Wu }; 8753880af45SWilliam Wu 8765d3d7c72SXing Zheng gmac: ethernet@30200000 { 8775d3d7c72SXing Zheng compatible = "rockchip,rk3228-gmac"; 8785d3d7c72SXing Zheng reg = <0x30200000 0x10000>; 8795d3d7c72SXing Zheng interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 8805d3d7c72SXing Zheng interrupt-names = "macirq"; 8815d3d7c72SXing Zheng clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>, 8825d3d7c72SXing Zheng <&cru SCLK_MAC_TX>, <&cru SCLK_MAC_REF>, 8835d3d7c72SXing Zheng <&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>, 8845d3d7c72SXing Zheng <&cru PCLK_GMAC>; 8855d3d7c72SXing Zheng clock-names = "stmmaceth", "mac_clk_rx", 8865d3d7c72SXing Zheng "mac_clk_tx", "clk_mac_ref", 8875d3d7c72SXing Zheng "clk_mac_refout", "aclk_mac", 8885d3d7c72SXing Zheng "pclk_mac"; 8895d3d7c72SXing Zheng resets = <&cru SRST_GMAC>; 8905d3d7c72SXing Zheng reset-names = "stmmaceth"; 8915d3d7c72SXing Zheng rockchip,grf = <&grf>; 8925d3d7c72SXing Zheng status = "disabled"; 8935d3d7c72SXing Zheng }; 8945d3d7c72SXing Zheng 895623ba75aSAlex Bee qos_iep: qos@31030080 { 896623ba75aSAlex Bee compatible = "rockchip,rk3228-qos", "syscon"; 897623ba75aSAlex Bee reg = <0x31030080 0x20>; 898623ba75aSAlex Bee }; 899623ba75aSAlex Bee 900623ba75aSAlex Bee qos_rga_w: qos@31030100 { 901623ba75aSAlex Bee compatible = "rockchip,rk3228-qos", "syscon"; 902623ba75aSAlex Bee reg = <0x31030100 0x20>; 903623ba75aSAlex Bee }; 904623ba75aSAlex Bee 905623ba75aSAlex Bee qos_hdcp: qos@31030180 { 906623ba75aSAlex Bee compatible = "rockchip,rk3228-qos", "syscon"; 907623ba75aSAlex Bee reg = <0x31030180 0x20>; 908623ba75aSAlex Bee }; 909623ba75aSAlex Bee 910623ba75aSAlex Bee qos_rga_r: qos@31030200 { 911623ba75aSAlex Bee compatible = "rockchip,rk3228-qos", "syscon"; 912623ba75aSAlex Bee reg = <0x31030200 0x20>; 913623ba75aSAlex Bee }; 914623ba75aSAlex Bee 915623ba75aSAlex Bee qos_vpu: qos@31040000 { 916623ba75aSAlex Bee compatible = "rockchip,rk3228-qos", "syscon"; 917623ba75aSAlex Bee reg = <0x31040000 0x20>; 918623ba75aSAlex Bee }; 919623ba75aSAlex Bee 920623ba75aSAlex Bee qos_gpu: qos@31050000 { 921623ba75aSAlex Bee compatible = "rockchip,rk3228-qos", "syscon"; 922623ba75aSAlex Bee reg = <0x31050000 0x20>; 923623ba75aSAlex Bee }; 924623ba75aSAlex Bee 925623ba75aSAlex Bee qos_vop: qos@31060000 { 926623ba75aSAlex Bee compatible = "rockchip,rk3228-qos", "syscon"; 927623ba75aSAlex Bee reg = <0x31060000 0x20>; 928623ba75aSAlex Bee }; 929623ba75aSAlex Bee 930623ba75aSAlex Bee qos_rkvdec_r: qos@31070000 { 931623ba75aSAlex Bee compatible = "rockchip,rk3228-qos", "syscon"; 932623ba75aSAlex Bee reg = <0x31070000 0x20>; 933623ba75aSAlex Bee }; 934623ba75aSAlex Bee 935623ba75aSAlex Bee qos_rkvdec_w: qos@31070080 { 936623ba75aSAlex Bee compatible = "rockchip,rk3228-qos", "syscon"; 937623ba75aSAlex Bee reg = <0x31070080 0x20>; 938623ba75aSAlex Bee }; 939623ba75aSAlex Bee 9409848ebebSJeffy Chen gic: interrupt-controller@32010000 { 9419848ebebSJeffy Chen compatible = "arm,gic-400"; 9429848ebebSJeffy Chen interrupt-controller; 9439848ebebSJeffy Chen #interrupt-cells = <3>; 9449848ebebSJeffy Chen #address-cells = <0>; 9459848ebebSJeffy Chen 9469848ebebSJeffy Chen reg = <0x32011000 0x1000>, 947387720c9SMarc Zyngier <0x32012000 0x2000>, 9489848ebebSJeffy Chen <0x32014000 0x2000>, 9499848ebebSJeffy Chen <0x32016000 0x2000>; 9509848ebebSJeffy Chen interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 9519848ebebSJeffy Chen }; 9529848ebebSJeffy Chen 9539848ebebSJeffy Chen pinctrl: pinctrl { 9549848ebebSJeffy Chen compatible = "rockchip,rk3228-pinctrl"; 9559848ebebSJeffy Chen rockchip,grf = <&grf>; 9569848ebebSJeffy Chen #address-cells = <1>; 9579848ebebSJeffy Chen #size-cells = <1>; 9589848ebebSJeffy Chen ranges; 9599848ebebSJeffy Chen 960d7077ac5SJohan Jonker gpio0: gpio@11110000 { 9619848ebebSJeffy Chen compatible = "rockchip,gpio-bank"; 9629848ebebSJeffy Chen reg = <0x11110000 0x100>; 9639848ebebSJeffy Chen interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 9649848ebebSJeffy Chen clocks = <&cru PCLK_GPIO0>; 9659848ebebSJeffy Chen 9669848ebebSJeffy Chen gpio-controller; 9679848ebebSJeffy Chen #gpio-cells = <2>; 9689848ebebSJeffy Chen 9699848ebebSJeffy Chen interrupt-controller; 9709848ebebSJeffy Chen #interrupt-cells = <2>; 9719848ebebSJeffy Chen }; 9729848ebebSJeffy Chen 973d7077ac5SJohan Jonker gpio1: gpio@11120000 { 9749848ebebSJeffy Chen compatible = "rockchip,gpio-bank"; 9759848ebebSJeffy Chen reg = <0x11120000 0x100>; 9769848ebebSJeffy Chen interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 9779848ebebSJeffy Chen clocks = <&cru PCLK_GPIO1>; 9789848ebebSJeffy Chen 9799848ebebSJeffy Chen gpio-controller; 9809848ebebSJeffy Chen #gpio-cells = <2>; 9819848ebebSJeffy Chen 9829848ebebSJeffy Chen interrupt-controller; 9839848ebebSJeffy Chen #interrupt-cells = <2>; 9849848ebebSJeffy Chen }; 9859848ebebSJeffy Chen 986d7077ac5SJohan Jonker gpio2: gpio@11130000 { 9879848ebebSJeffy Chen compatible = "rockchip,gpio-bank"; 9889848ebebSJeffy Chen reg = <0x11130000 0x100>; 9899848ebebSJeffy Chen interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 9909848ebebSJeffy Chen clocks = <&cru PCLK_GPIO2>; 9919848ebebSJeffy Chen 9929848ebebSJeffy Chen gpio-controller; 9939848ebebSJeffy Chen #gpio-cells = <2>; 9949848ebebSJeffy Chen 9959848ebebSJeffy Chen interrupt-controller; 9969848ebebSJeffy Chen #interrupt-cells = <2>; 9979848ebebSJeffy Chen }; 9989848ebebSJeffy Chen 999d7077ac5SJohan Jonker gpio3: gpio@11140000 { 10009848ebebSJeffy Chen compatible = "rockchip,gpio-bank"; 10019848ebebSJeffy Chen reg = <0x11140000 0x100>; 10029848ebebSJeffy Chen interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 10039848ebebSJeffy Chen clocks = <&cru PCLK_GPIO3>; 10049848ebebSJeffy Chen 10059848ebebSJeffy Chen gpio-controller; 10069848ebebSJeffy Chen #gpio-cells = <2>; 10079848ebebSJeffy Chen 10089848ebebSJeffy Chen interrupt-controller; 10099848ebebSJeffy Chen #interrupt-cells = <2>; 10109848ebebSJeffy Chen }; 10119848ebebSJeffy Chen 10129848ebebSJeffy Chen pcfg_pull_up: pcfg-pull-up { 10139848ebebSJeffy Chen bias-pull-up; 10149848ebebSJeffy Chen }; 10159848ebebSJeffy Chen 10169848ebebSJeffy Chen pcfg_pull_down: pcfg-pull-down { 10179848ebebSJeffy Chen bias-pull-down; 10189848ebebSJeffy Chen }; 10199848ebebSJeffy Chen 10209848ebebSJeffy Chen pcfg_pull_none: pcfg-pull-none { 10219848ebebSJeffy Chen bias-disable; 10229848ebebSJeffy Chen }; 10239848ebebSJeffy Chen 10245d3d7c72SXing Zheng pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma { 10255d3d7c72SXing Zheng drive-strength = <12>; 10265d3d7c72SXing Zheng }; 10275d3d7c72SXing Zheng 1028e409fc3dSShawn Lin sdmmc { 1029e409fc3dSShawn Lin sdmmc_clk: sdmmc-clk { 1030e409fc3dSShawn Lin rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none_drv_12ma>; 1031e409fc3dSShawn Lin }; 1032e409fc3dSShawn Lin 1033e409fc3dSShawn Lin sdmmc_cmd: sdmmc-cmd { 1034e409fc3dSShawn Lin rockchip,pins = <1 RK_PB7 1 &pcfg_pull_none_drv_12ma>; 1035e409fc3dSShawn Lin }; 1036e409fc3dSShawn Lin 1037e409fc3dSShawn Lin sdmmc_bus4: sdmmc-bus4 { 1038e409fc3dSShawn Lin rockchip,pins = <1 RK_PC2 1 &pcfg_pull_none_drv_12ma>, 1039e409fc3dSShawn Lin <1 RK_PC3 1 &pcfg_pull_none_drv_12ma>, 1040e409fc3dSShawn Lin <1 RK_PC4 1 &pcfg_pull_none_drv_12ma>, 1041e409fc3dSShawn Lin <1 RK_PC5 1 &pcfg_pull_none_drv_12ma>; 1042e409fc3dSShawn Lin }; 1043e409fc3dSShawn Lin }; 1044e409fc3dSShawn Lin 1045e409fc3dSShawn Lin sdio { 1046e409fc3dSShawn Lin sdio_clk: sdio-clk { 1047e409fc3dSShawn Lin rockchip,pins = <3 RK_PA0 1 &pcfg_pull_none_drv_12ma>; 1048e409fc3dSShawn Lin }; 1049e409fc3dSShawn Lin 1050e409fc3dSShawn Lin sdio_cmd: sdio-cmd { 1051e409fc3dSShawn Lin rockchip,pins = <3 RK_PA1 1 &pcfg_pull_none_drv_12ma>; 1052e409fc3dSShawn Lin }; 1053e409fc3dSShawn Lin 1054e409fc3dSShawn Lin sdio_bus4: sdio-bus4 { 1055e409fc3dSShawn Lin rockchip,pins = <3 RK_PA2 1 &pcfg_pull_none_drv_12ma>, 1056e409fc3dSShawn Lin <3 RK_PA3 1 &pcfg_pull_none_drv_12ma>, 1057e409fc3dSShawn Lin <3 RK_PA4 1 &pcfg_pull_none_drv_12ma>, 1058e409fc3dSShawn Lin <3 RK_PA5 1 &pcfg_pull_none_drv_12ma>; 1059e409fc3dSShawn Lin }; 1060e409fc3dSShawn Lin }; 1061e409fc3dSShawn Lin 10629848ebebSJeffy Chen emmc { 10639848ebebSJeffy Chen emmc_clk: emmc-clk { 106407f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PA7 2 &pcfg_pull_none>; 10659848ebebSJeffy Chen }; 10669848ebebSJeffy Chen 10679848ebebSJeffy Chen emmc_cmd: emmc-cmd { 106807f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PC6 2 &pcfg_pull_none>; 10699848ebebSJeffy Chen }; 10709848ebebSJeffy Chen 10719848ebebSJeffy Chen emmc_bus8: emmc-bus8 { 107207f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PD0 2 &pcfg_pull_none>, 107307f08d9cSHeiko Stuebner <1 RK_PD1 2 &pcfg_pull_none>, 107407f08d9cSHeiko Stuebner <1 RK_PD2 2 &pcfg_pull_none>, 107507f08d9cSHeiko Stuebner <1 RK_PD3 2 &pcfg_pull_none>, 107607f08d9cSHeiko Stuebner <1 RK_PD4 2 &pcfg_pull_none>, 107707f08d9cSHeiko Stuebner <1 RK_PD5 2 &pcfg_pull_none>, 107807f08d9cSHeiko Stuebner <1 RK_PD6 2 &pcfg_pull_none>, 107907f08d9cSHeiko Stuebner <1 RK_PD7 2 &pcfg_pull_none>; 10809848ebebSJeffy Chen }; 10819848ebebSJeffy Chen }; 10829848ebebSJeffy Chen 10835d3d7c72SXing Zheng gmac { 10845d3d7c72SXing Zheng rgmii_pins: rgmii-pins { 108507f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none>, 108607f08d9cSHeiko Stuebner <2 RK_PB4 1 &pcfg_pull_none>, 108707f08d9cSHeiko Stuebner <2 RK_PD1 1 &pcfg_pull_none>, 108807f08d9cSHeiko Stuebner <2 RK_PC3 1 &pcfg_pull_none_drv_12ma>, 108907f08d9cSHeiko Stuebner <2 RK_PC2 1 &pcfg_pull_none_drv_12ma>, 109007f08d9cSHeiko Stuebner <2 RK_PC6 1 &pcfg_pull_none_drv_12ma>, 109107f08d9cSHeiko Stuebner <2 RK_PC7 1 &pcfg_pull_none_drv_12ma>, 109207f08d9cSHeiko Stuebner <2 RK_PB1 1 &pcfg_pull_none_drv_12ma>, 109307f08d9cSHeiko Stuebner <2 RK_PB5 1 &pcfg_pull_none_drv_12ma>, 109407f08d9cSHeiko Stuebner <2 RK_PC1 1 &pcfg_pull_none>, 109507f08d9cSHeiko Stuebner <2 RK_PC0 1 &pcfg_pull_none>, 109607f08d9cSHeiko Stuebner <2 RK_PC5 2 &pcfg_pull_none>, 109707f08d9cSHeiko Stuebner <2 RK_PC4 2 &pcfg_pull_none>, 109807f08d9cSHeiko Stuebner <2 RK_PB3 1 &pcfg_pull_none>, 109907f08d9cSHeiko Stuebner <2 RK_PB0 1 &pcfg_pull_none>; 11005d3d7c72SXing Zheng }; 11015d3d7c72SXing Zheng 11025d3d7c72SXing Zheng rmii_pins: rmii-pins { 110307f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PB6 1 &pcfg_pull_none>, 110407f08d9cSHeiko Stuebner <2 RK_PB4 1 &pcfg_pull_none>, 110507f08d9cSHeiko Stuebner <2 RK_PD1 1 &pcfg_pull_none>, 110607f08d9cSHeiko Stuebner <2 RK_PC3 1 &pcfg_pull_none_drv_12ma>, 110707f08d9cSHeiko Stuebner <2 RK_PC2 1 &pcfg_pull_none_drv_12ma>, 110807f08d9cSHeiko Stuebner <2 RK_PB5 1 &pcfg_pull_none_drv_12ma>, 110907f08d9cSHeiko Stuebner <2 RK_PC1 1 &pcfg_pull_none>, 111007f08d9cSHeiko Stuebner <2 RK_PC0 1 &pcfg_pull_none>, 111107f08d9cSHeiko Stuebner <2 RK_PB0 1 &pcfg_pull_none>, 111207f08d9cSHeiko Stuebner <2 RK_PB7 1 &pcfg_pull_none>; 11135d3d7c72SXing Zheng }; 11145d3d7c72SXing Zheng 11155d3d7c72SXing Zheng phy_pins: phy-pins { 111607f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PB6 2 &pcfg_pull_none>, 111707f08d9cSHeiko Stuebner <2 RK_PB0 2 &pcfg_pull_none>; 11185d3d7c72SXing Zheng }; 11195d3d7c72SXing Zheng }; 11205d3d7c72SXing Zheng 1121519574e3SJustin Swartz hdmi { 1122519574e3SJustin Swartz hdmi_hpd: hdmi-hpd { 1123519574e3SJustin Swartz rockchip,pins = <0 RK_PB7 1 &pcfg_pull_down>; 1124519574e3SJustin Swartz }; 1125519574e3SJustin Swartz 1126519574e3SJustin Swartz hdmii2c_xfer: hdmii2c-xfer { 1127519574e3SJustin Swartz rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>, 1128519574e3SJustin Swartz <0 RK_PA7 2 &pcfg_pull_none>; 1129519574e3SJustin Swartz }; 1130519574e3SJustin Swartz 1131519574e3SJustin Swartz hdmi_cec: hdmi-cec { 1132519574e3SJustin Swartz rockchip,pins = <0 RK_PC4 1 &pcfg_pull_none>; 1133519574e3SJustin Swartz }; 1134519574e3SJustin Swartz }; 1135519574e3SJustin Swartz 1136d549df4bSYakir Yang i2c0 { 1137d549df4bSYakir Yang i2c0_xfer: i2c0-xfer { 113807f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>, 113907f08d9cSHeiko Stuebner <0 RK_PA1 1 &pcfg_pull_none>; 1140d549df4bSYakir Yang }; 1141d549df4bSYakir Yang }; 1142d549df4bSYakir Yang 1143d549df4bSYakir Yang i2c1 { 1144d549df4bSYakir Yang i2c1_xfer: i2c1-xfer { 114507f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>, 114607f08d9cSHeiko Stuebner <0 RK_PA3 1 &pcfg_pull_none>; 1147d549df4bSYakir Yang }; 1148d549df4bSYakir Yang }; 1149d549df4bSYakir Yang 1150d549df4bSYakir Yang i2c2 { 1151d549df4bSYakir Yang i2c2_xfer: i2c2-xfer { 115207f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>, 115307f08d9cSHeiko Stuebner <2 RK_PC5 1 &pcfg_pull_none>; 1154d549df4bSYakir Yang }; 1155d549df4bSYakir Yang }; 1156d549df4bSYakir Yang 1157d549df4bSYakir Yang i2c3 { 1158d549df4bSYakir Yang i2c3_xfer: i2c3-xfer { 115907f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>, 116007f08d9cSHeiko Stuebner <0 RK_PA7 1 &pcfg_pull_none>; 1161d549df4bSYakir Yang }; 1162d549df4bSYakir Yang }; 1163d549df4bSYakir Yang 1164855bdca1SJohan Jonker spi0 { 1165febdf639SHuibin Hong spi0_clk: spi0-clk { 116607f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PB1 2 &pcfg_pull_up>; 1167febdf639SHuibin Hong }; 1168febdf639SHuibin Hong spi0_cs0: spi0-cs0 { 116907f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PB6 2 &pcfg_pull_up>; 1170febdf639SHuibin Hong }; 1171febdf639SHuibin Hong spi0_tx: spi0-tx { 117207f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PB3 2 &pcfg_pull_up>; 1173febdf639SHuibin Hong }; 1174febdf639SHuibin Hong spi0_rx: spi0-rx { 117507f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PB5 2 &pcfg_pull_up>; 1176febdf639SHuibin Hong }; 1177febdf639SHuibin Hong spi0_cs1: spi0-cs1 { 117807f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PB4 1 &pcfg_pull_up>; 1179febdf639SHuibin Hong }; 1180febdf639SHuibin Hong }; 1181febdf639SHuibin Hong 1182855bdca1SJohan Jonker spi1 { 1183febdf639SHuibin Hong spi1_clk: spi1-clk { 118407f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PC7 2 &pcfg_pull_up>; 1185febdf639SHuibin Hong }; 1186febdf639SHuibin Hong spi1_cs0: spi1-cs0 { 118707f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PA2 2 &pcfg_pull_up>; 1188febdf639SHuibin Hong }; 1189febdf639SHuibin Hong spi1_rx: spi1-rx { 119007f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PA0 2 &pcfg_pull_up>; 1191febdf639SHuibin Hong }; 1192febdf639SHuibin Hong spi1_tx: spi1-tx { 119307f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PA1 2 &pcfg_pull_up>; 1194febdf639SHuibin Hong }; 1195febdf639SHuibin Hong spi1_cs1: spi1-cs1 { 119607f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PA3 2 &pcfg_pull_up>; 1197febdf639SHuibin Hong }; 1198febdf639SHuibin Hong }; 1199febdf639SHuibin Hong 1200ccada248SXing Zheng i2s1 { 1201ccada248SXing Zheng i2s1_bus: i2s1-bus { 120207f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PB0 1 &pcfg_pull_none>, 120307f08d9cSHeiko Stuebner <0 RK_PB1 1 &pcfg_pull_none>, 120407f08d9cSHeiko Stuebner <0 RK_PB3 1 &pcfg_pull_none>, 120507f08d9cSHeiko Stuebner <0 RK_PB4 1 &pcfg_pull_none>, 120607f08d9cSHeiko Stuebner <0 RK_PB5 1 &pcfg_pull_none>, 120707f08d9cSHeiko Stuebner <0 RK_PB6 1 &pcfg_pull_none>, 120807f08d9cSHeiko Stuebner <1 RK_PA2 2 &pcfg_pull_none>, 120907f08d9cSHeiko Stuebner <1 RK_PA4 2 &pcfg_pull_none>, 121007f08d9cSHeiko Stuebner <1 RK_PA5 2 &pcfg_pull_none>; 1211ccada248SXing Zheng }; 1212ccada248SXing Zheng }; 1213ccada248SXing Zheng 12149848ebebSJeffy Chen pwm0 { 12159848ebebSJeffy Chen pwm0_pin: pwm0-pin { 121607f08d9cSHeiko Stuebner rockchip,pins = <3 RK_PC5 1 &pcfg_pull_none>; 12179848ebebSJeffy Chen }; 12189848ebebSJeffy Chen }; 12199848ebebSJeffy Chen 12209848ebebSJeffy Chen pwm1 { 12219848ebebSJeffy Chen pwm1_pin: pwm1-pin { 122207f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>; 12239848ebebSJeffy Chen }; 12249848ebebSJeffy Chen }; 12259848ebebSJeffy Chen 12269848ebebSJeffy Chen pwm2 { 12279848ebebSJeffy Chen pwm2_pin: pwm2-pin { 122807f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PB4 2 &pcfg_pull_none>; 12299848ebebSJeffy Chen }; 12309848ebebSJeffy Chen }; 12319848ebebSJeffy Chen 12329848ebebSJeffy Chen pwm3 { 12339848ebebSJeffy Chen pwm3_pin: pwm3-pin { 123407f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PB3 2 &pcfg_pull_none>; 12359848ebebSJeffy Chen }; 12369848ebebSJeffy Chen }; 12379848ebebSJeffy Chen 12384b456d20SSugar Zhang spdif { 12394b456d20SSugar Zhang spdif_tx: spdif-tx { 124007f08d9cSHeiko Stuebner rockchip,pins = <3 RK_PD7 2 &pcfg_pull_none>; 12414b456d20SSugar Zhang }; 12424b456d20SSugar Zhang }; 12434b456d20SSugar Zhang 12447796031eSCaesar Wang tsadc { 1245fff987e7SJohan Jonker otp_pin: otp-pin { 124607f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 12477796031eSCaesar Wang }; 12487796031eSCaesar Wang 12497796031eSCaesar Wang otp_out: otp-out { 125007f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PD0 2 &pcfg_pull_none>; 12517796031eSCaesar Wang }; 12527796031eSCaesar Wang }; 12537796031eSCaesar Wang 12549848ebebSJeffy Chen uart0 { 12559848ebebSJeffy Chen uart0_xfer: uart0-xfer { 125607f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PD2 1 &pcfg_pull_none>, 125707f08d9cSHeiko Stuebner <2 RK_PD3 1 &pcfg_pull_none>; 12589848ebebSJeffy Chen }; 12599848ebebSJeffy Chen 12609848ebebSJeffy Chen uart0_cts: uart0-cts { 126107f08d9cSHeiko Stuebner rockchip,pins = <2 RK_PD5 1 &pcfg_pull_none>; 12629848ebebSJeffy Chen }; 12639848ebebSJeffy Chen 12649848ebebSJeffy Chen uart0_rts: uart0-rts { 126507f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PC1 1 &pcfg_pull_none>; 12669848ebebSJeffy Chen }; 12679848ebebSJeffy Chen }; 12689848ebebSJeffy Chen 12699848ebebSJeffy Chen uart1 { 12709848ebebSJeffy Chen uart1_xfer: uart1-xfer { 127107f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>, 127207f08d9cSHeiko Stuebner <1 RK_PB2 1 &pcfg_pull_none>; 12739848ebebSJeffy Chen }; 12749848ebebSJeffy Chen 12759848ebebSJeffy Chen uart1_cts: uart1-cts { 127607f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PB0 1 &pcfg_pull_none>; 12779848ebebSJeffy Chen }; 12789848ebebSJeffy Chen 12799848ebebSJeffy Chen uart1_rts: uart1-rts { 128007f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>; 12819848ebebSJeffy Chen }; 12829848ebebSJeffy Chen }; 12839848ebebSJeffy Chen 12849848ebebSJeffy Chen uart2 { 12859848ebebSJeffy Chen uart2_xfer: uart2-xfer { 128607f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PC2 2 &pcfg_pull_up>, 128707f08d9cSHeiko Stuebner <1 RK_PC3 2 &pcfg_pull_none>; 12889848ebebSJeffy Chen }; 12899848ebebSJeffy Chen 1290738e4511SFrank Wang uart21_xfer: uart21-xfer { 129107f08d9cSHeiko Stuebner rockchip,pins = <1 RK_PB2 2 &pcfg_pull_up>, 129207f08d9cSHeiko Stuebner <1 RK_PB1 2 &pcfg_pull_none>; 1293738e4511SFrank Wang }; 1294738e4511SFrank Wang 12959848ebebSJeffy Chen uart2_cts: uart2-cts { 129607f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PD1 1 &pcfg_pull_none>; 12979848ebebSJeffy Chen }; 12989848ebebSJeffy Chen 12999848ebebSJeffy Chen uart2_rts: uart2-rts { 130007f08d9cSHeiko Stuebner rockchip,pins = <0 RK_PD0 1 &pcfg_pull_none>; 13019848ebebSJeffy Chen }; 13029848ebebSJeffy Chen }; 13039848ebebSJeffy Chen }; 13049848ebebSJeffy Chen}; 1305