140d96d0bSKever Yang/* 240d96d0bSKever Yang * (C) Copyright 2017 Rockchip Electronics Co., Ltd 340d96d0bSKever Yang * 440d96d0bSKever Yang * SPDX-License-Identifier: GPL-2.0+ 540d96d0bSKever Yang */ 640d96d0bSKever Yang 740d96d0bSKever Yang#include <dt-bindings/gpio/gpio.h> 840d96d0bSKever Yang#include <dt-bindings/interrupt-controller/irq.h> 940d96d0bSKever Yang#include <dt-bindings/interrupt-controller/arm-gic.h> 1040d96d0bSKever Yang#include <dt-bindings/pinctrl/rockchip.h> 1140d96d0bSKever Yang#include <dt-bindings/clock/rk3128-cru.h> 12275460b6SJerry Xu#include <dt-bindings/media/rockchip_mipi_dsi.h> 1340d96d0bSKever Yang#include "skeleton.dtsi" 1440d96d0bSKever Yang 1540d96d0bSKever Yang/ { 1640d96d0bSKever Yang compatible = "rockchip,rk3128"; 1740d96d0bSKever Yang rockchip,sram = <&sram>; 1840d96d0bSKever Yang interrupt-parent = <&gic>; 1940d96d0bSKever Yang #address-cells = <1>; 2040d96d0bSKever Yang #size-cells = <1>; 2140d96d0bSKever Yang 2240d96d0bSKever Yang aliases { 2340d96d0bSKever Yang gpio0 = &gpio0; 2440d96d0bSKever Yang gpio1 = &gpio1; 2540d96d0bSKever Yang gpio2 = &gpio2; 2640d96d0bSKever Yang gpio3 = &gpio3; 2740d96d0bSKever Yang i2c0 = &i2c0; 2840d96d0bSKever Yang i2c1 = &i2c1; 2940d96d0bSKever Yang i2c2 = &i2c2; 3040d96d0bSKever Yang i2c3 = &i2c3; 3140d96d0bSKever Yang spi0 = &spi0; 3240d96d0bSKever Yang serial0 = &uart0; 3340d96d0bSKever Yang serial1 = &uart1; 3440d96d0bSKever Yang serial2 = &uart2; 3540d96d0bSKever Yang mmc0 = &emmc; 3640d96d0bSKever Yang mmc1 = &sdmmc; 3740d96d0bSKever Yang }; 3840d96d0bSKever Yang 3940d96d0bSKever Yang memory { 4040d96d0bSKever Yang device_type = "memory"; 4140d96d0bSKever Yang reg = <0x60000000 0x40000000>; 4240d96d0bSKever Yang }; 4340d96d0bSKever Yang 4440d96d0bSKever Yang arm-pmu { 4540d96d0bSKever Yang compatible = "arm,cortex-a7-pmu"; 4640d96d0bSKever Yang interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 4740d96d0bSKever Yang <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 4840d96d0bSKever Yang <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, 4940d96d0bSKever Yang <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 5040d96d0bSKever Yang }; 5140d96d0bSKever Yang 5240d96d0bSKever Yang cpus { 5340d96d0bSKever Yang #address-cells = <1>; 5440d96d0bSKever Yang #size-cells = <0>; 5540d96d0bSKever Yang enable-method = "rockchip,rk3128-smp"; 5640d96d0bSKever Yang 5740d96d0bSKever Yang cpu0:cpu@0x000 { 5840d96d0bSKever Yang device_type = "cpu"; 5940d96d0bSKever Yang compatible = "arm,cortex-a7"; 6040d96d0bSKever Yang reg = <0x000>; 6140d96d0bSKever Yang operating-points = < 6240d96d0bSKever Yang /* KHz uV */ 6340d96d0bSKever Yang 816000 1000000 6440d96d0bSKever Yang >; 6540d96d0bSKever Yang #cooling-cells = <2>; /* min followed by max */ 6640d96d0bSKever Yang clock-latency = <40000>; 6740d96d0bSKever Yang clocks = <&cru ARMCLK>; 6840d96d0bSKever Yang }; 6940d96d0bSKever Yang 7040d96d0bSKever Yang cpu1:cpu@0x001 { 7140d96d0bSKever Yang device_type = "cpu"; 7240d96d0bSKever Yang compatible = "arm,cortex-a7"; 7340d96d0bSKever Yang reg = <0x001>; 7440d96d0bSKever Yang }; 7540d96d0bSKever Yang 7640d96d0bSKever Yang cpu2:cpu@0x002 { 7740d96d0bSKever Yang device_type = "cpu"; 7840d96d0bSKever Yang compatible = "arm,cortex-a7"; 7940d96d0bSKever Yang reg = <0x002>; 8040d96d0bSKever Yang }; 8140d96d0bSKever Yang 8240d96d0bSKever Yang cpu3:cpu@0x003 { 8340d96d0bSKever Yang device_type = "cpu"; 8440d96d0bSKever Yang compatible = "arm,cortex-a7"; 8540d96d0bSKever Yang reg = <0x003>; 8640d96d0bSKever Yang }; 8740d96d0bSKever Yang }; 8840d96d0bSKever Yang 8940d96d0bSKever Yang cpu_axi_bus: cpu_axi_bus { 9040d96d0bSKever Yang compatible = "rockchip,cpu_axi_bus"; 9140d96d0bSKever Yang #address-cells = <1>; 9240d96d0bSKever Yang #size-cells = <1>; 9340d96d0bSKever Yang ranges; 9440d96d0bSKever Yang 9540d96d0bSKever Yang qos { 9640d96d0bSKever Yang #address-cells = <1>; 9740d96d0bSKever Yang #size-cells = <1>; 9840d96d0bSKever Yang ranges; 9940d96d0bSKever Yang 10040d96d0bSKever Yang crypto { 10140d96d0bSKever Yang reg = <0x10128080 0x20>; 10240d96d0bSKever Yang }; 10340d96d0bSKever Yang 10440d96d0bSKever Yang core { 10540d96d0bSKever Yang reg = <0x1012a000 0x20>; 10640d96d0bSKever Yang }; 10740d96d0bSKever Yang 10840d96d0bSKever Yang peri { 10940d96d0bSKever Yang reg = <0x1012c000 0x20>; 11040d96d0bSKever Yang }; 11140d96d0bSKever Yang 11240d96d0bSKever Yang gpu { 11340d96d0bSKever Yang reg = <0x1012d000 0x20>; 11440d96d0bSKever Yang }; 11540d96d0bSKever Yang 11640d96d0bSKever Yang vpu { 11740d96d0bSKever Yang reg = <0x1012e000 0x20>; 11840d96d0bSKever Yang }; 11940d96d0bSKever Yang 12040d96d0bSKever Yang rga { 12140d96d0bSKever Yang reg = <0x1012f000 0x20>; 12240d96d0bSKever Yang }; 12340d96d0bSKever Yang ebc { 12440d96d0bSKever Yang reg = <0x1012f080 0x20>; 12540d96d0bSKever Yang }; 12640d96d0bSKever Yang 12740d96d0bSKever Yang iep { 12840d96d0bSKever Yang reg = <0x1012f100 0x20>; 12940d96d0bSKever Yang }; 13040d96d0bSKever Yang 13140d96d0bSKever Yang lcdc { 13240d96d0bSKever Yang reg = <0x1012f180 0x20>; 13340d96d0bSKever Yang rockchip,priority = <3 3>; 13440d96d0bSKever Yang }; 13540d96d0bSKever Yang 13640d96d0bSKever Yang vip { 13740d96d0bSKever Yang reg = <0x1012f200 0x20>; 13840d96d0bSKever Yang rockchip,priority = <3 3>; 13940d96d0bSKever Yang }; 14040d96d0bSKever Yang }; 14140d96d0bSKever Yang 14240d96d0bSKever Yang msch { 14340d96d0bSKever Yang #address-cells = <1>; 14440d96d0bSKever Yang #size-cells = <1>; 14540d96d0bSKever Yang ranges; 14640d96d0bSKever Yang 14740d96d0bSKever Yang msch@10128000 { 14840d96d0bSKever Yang reg = <0x10128000 0x20>; 14940d96d0bSKever Yang rockchip,read-latency = <0x3f>; 15040d96d0bSKever Yang }; 15140d96d0bSKever Yang }; 15240d96d0bSKever Yang }; 15340d96d0bSKever Yang 154fbf3603bSJoseph Chen psci: psci { 155fbf3603bSJoseph Chen compatible = "arm,psci-1.0"; 15640d96d0bSKever Yang method = "smc"; 15740d96d0bSKever Yang }; 15840d96d0bSKever Yang 15940d96d0bSKever Yang amba { 16040d96d0bSKever Yang compatible = "arm,amba-bus"; 16140d96d0bSKever Yang #address-cells = <1>; 16240d96d0bSKever Yang #size-cells = <1>; 16340d96d0bSKever Yang interrupt-parent = <&gic>; 16440d96d0bSKever Yang ranges; 16540d96d0bSKever Yang 16640d96d0bSKever Yang pdma: pdma@20078000 { 16740d96d0bSKever Yang compatible = "arm,pl330", "arm,primecell"; 16840d96d0bSKever Yang reg = <0x20078000 0x4000>; 16940d96d0bSKever Yang arm,pl330-broken-no-flushp;//2 17040d96d0bSKever Yang interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 17140d96d0bSKever Yang <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 17240d96d0bSKever Yang #dma-cells = <1>; 173efb944b6SElaine Zhang clocks = <&cru ACLK_DMAC>; 17440d96d0bSKever Yang clock-names = "apb_pclk"; 17540d96d0bSKever Yang }; 17640d96d0bSKever Yang }; 17740d96d0bSKever Yang 17840d96d0bSKever Yang xin24m: xin24m { 17940d96d0bSKever Yang compatible = "fixed-clock"; 18040d96d0bSKever Yang clock-frequency = <24000000>; 18140d96d0bSKever Yang clock-output-names = "xin24m"; 18240d96d0bSKever Yang #clock-cells = <0>; 18340d96d0bSKever Yang }; 18440d96d0bSKever Yang 18540d96d0bSKever Yang xin12m: xin12m { 18640d96d0bSKever Yang compatible = "fixed-clock"; 18740d96d0bSKever Yang clocks = <&xin24m>; 18840d96d0bSKever Yang clock-frequency = <12000000>; 18940d96d0bSKever Yang clock-output-names = "xin12m"; 19040d96d0bSKever Yang #clock-cells = <0>; 19140d96d0bSKever Yang }; 19240d96d0bSKever Yang 19340d96d0bSKever Yang 19440d96d0bSKever Yang timer { 19540d96d0bSKever Yang compatible = "arm,armv7-timer"; 19640d96d0bSKever Yang arm,cpu-registers-not-fw-configured; 19740d96d0bSKever Yang interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 19840d96d0bSKever Yang <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 19940d96d0bSKever Yang clock-frequency = <24000000>; 20040d96d0bSKever Yang }; 20140d96d0bSKever Yang 20240d96d0bSKever Yang timer@20044000 { 20340d96d0bSKever Yang compatible = "arm,armv7-timer"; 20440d96d0bSKever Yang reg = <0x20044000 0xb8>; 20540d96d0bSKever Yang interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 20640d96d0bSKever Yang rockchip,broadcast = <1>; 20740d96d0bSKever Yang }; 20840d96d0bSKever Yang 20940d96d0bSKever Yang watchdog: wdt@2004c000 { 21040d96d0bSKever Yang compatible = "rockchip,watch dog"; 21140d96d0bSKever Yang reg = <0x2004c000 0x100>; 21240d96d0bSKever Yang clock-names = "pclk_wdt"; 21340d96d0bSKever Yang interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 21440d96d0bSKever Yang rockchip,irq = <1>; 21540d96d0bSKever Yang rockchip,timeout = <60>; 21640d96d0bSKever Yang rockchip,atboot = <1>; 21740d96d0bSKever Yang rockchip,debug = <0>; 21840d96d0bSKever Yang }; 21940d96d0bSKever Yang 22040d96d0bSKever Yang reset: reset@20000110 { 22140d96d0bSKever Yang compatible = "rockchip,reset"; 22240d96d0bSKever Yang reg = <0x20000110 0x24>; 22340d96d0bSKever Yang #reset-cells = <1>; 22440d96d0bSKever Yang }; 225f1b60bc3SJianlong Wang 226f1b60bc3SJianlong Wang sfc: sfc@1020c000 { 227f1b60bc3SJianlong Wang compatible ="rockchip,rksfc","rockchip,sfc"; 228f1b60bc3SJianlong Wang reg = <0x1020c000 0x8000>; 229f1b60bc3SJianlong Wang interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 230f1b60bc3SJianlong Wang clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 231f1b60bc3SJianlong Wang clock-names = "clk_sfc", "hclk_sfc"; 232f1b60bc3SJianlong Wang assigned-clocks = <&cru SCLK_SFC>; 233f1b60bc3SJianlong Wang assigned-clock-rates = <60000000>; 234f1b60bc3SJianlong Wang status = "disabled"; 235f1b60bc3SJianlong Wang }; 236f1b60bc3SJianlong Wang 23740d96d0bSKever Yang nandc: nandc@10500000 { 23840d96d0bSKever Yang compatible = "rockchip,rk-nandc"; 23940d96d0bSKever Yang reg = <0x10500000 0x4000>; 24040d96d0bSKever Yang interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 24140d96d0bSKever Yang nandc_id = <0>; 24253497b6bSKever Yang clocks = <&cru SCLK_NANDC>, <&cru HCLK_NANDC>; 24353497b6bSKever Yang clock-names = "clk_nandc", "hclk_nandc"; 24453497b6bSKever Yang status = "disabled"; 24540d96d0bSKever Yang }; 24640d96d0bSKever Yang 24740d96d0bSKever Yang dmc: dmc@20004000 { 24840d96d0bSKever Yang compatible = "rockchip,rk3128-dmc", "syscon"; 24940d96d0bSKever Yang reg = <0x0 0x20004000 0x0 0x1000>; 25040d96d0bSKever Yang }; 25140d96d0bSKever Yang 25240d96d0bSKever Yang cru: clock-controller@20000000 { 25340d96d0bSKever Yang compatible = "rockchip,rk3128-cru"; 25440d96d0bSKever Yang reg = <0x20000000 0x1000>; 25540d96d0bSKever Yang rockchip,grf = <&grf>; 25640d96d0bSKever Yang #clock-cells = <1>; 25740d96d0bSKever Yang #reset-cells = <1>; 25840d96d0bSKever Yang assigned-clocks = <&cru PLL_GPLL>; 25940d96d0bSKever Yang assigned-clock-rates = <594000000>; 26040d96d0bSKever Yang }; 26140d96d0bSKever Yang 26240d96d0bSKever Yang uart0: serial0@20060000 { 26340d96d0bSKever Yang compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart"; 26440d96d0bSKever Yang reg = <0x20060000 0x100>; 26540d96d0bSKever Yang interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 26640d96d0bSKever Yang reg-shift = <2>; 26740d96d0bSKever Yang reg-io-width = <4>; 26840d96d0bSKever Yang clock-frequency = <24000000>; 26940d96d0bSKever Yang clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 27040d96d0bSKever Yang clock-names = "baudclk", "apb_pclk"; 27140d96d0bSKever Yang pinctrl-names = "default"; 27240d96d0bSKever Yang pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 27340d96d0bSKever Yang dmas = <&pdma 2>, <&pdma 3>; 27440d96d0bSKever Yang #dma-cells = <2>; 27540d96d0bSKever Yang }; 27640d96d0bSKever Yang 27740d96d0bSKever Yang uart1: serial1@20064000 { 27840d96d0bSKever Yang compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart"; 27940d96d0bSKever Yang reg = <0x20064000 0x100>; 28040d96d0bSKever Yang interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 28140d96d0bSKever Yang reg-shift = <2>; 28240d96d0bSKever Yang reg-io-width = <4>; 28340d96d0bSKever Yang clock-frequency = <24000000>; 28440d96d0bSKever Yang clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 28540d96d0bSKever Yang clock-names = "baudclk", "apb_pclk"; 28640d96d0bSKever Yang pinctrl-names = "default"; 28740d96d0bSKever Yang pinctrl-0 = <&uart1_xfer>; 28840d96d0bSKever Yang dmas = <&pdma 4>, <&pdma 5>; 28940d96d0bSKever Yang #dma-cells = <2>; 29040d96d0bSKever Yang }; 29140d96d0bSKever Yang 29240d96d0bSKever Yang uart2: serial2@20068000 { 29340d96d0bSKever Yang compatible = "rockchip,rk3128-uart", "snps,dw-apb-uart"; 29440d96d0bSKever Yang reg = <0x20068000 0x100>; 29540d96d0bSKever Yang interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 29640d96d0bSKever Yang reg-shift = <2>; 29740d96d0bSKever Yang reg-io-width = <4>; 29840d96d0bSKever Yang clock-frequency = <24000000>; 29940d96d0bSKever Yang clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 30040d96d0bSKever Yang clock-names = "baudclk", "apb_pclk"; 30140d96d0bSKever Yang pinctrl-names = "default"; 30240d96d0bSKever Yang pinctrl-0 = <&uart2_xfer>; 30340d96d0bSKever Yang dmas = <&pdma 6>, <&pdma 7>; 30440d96d0bSKever Yang #dma-cells = <2>; 30540d96d0bSKever Yang }; 30640d96d0bSKever Yang 307c95ecb19SDavid Wu saradc: saradc@2006c000 { 308c95ecb19SDavid Wu compatible = "rockchip,saradc"; 309c95ecb19SDavid Wu reg = <0x2006c000 0x100>; 310c95ecb19SDavid Wu interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 311c95ecb19SDavid Wu #io-channel-cells = <1>; 312c95ecb19SDavid Wu clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 313c95ecb19SDavid Wu clock-names = "saradc", "apb_pclk"; 314c95ecb19SDavid Wu resets = <&cru SRST_SARADC>; 315c95ecb19SDavid Wu reset-names = "saradc-apb"; 316c95ecb19SDavid Wu status = "disabled"; 317c95ecb19SDavid Wu }; 318c95ecb19SDavid Wu 31940d96d0bSKever Yang pwm0: pwm0@20050000 { 32040d96d0bSKever Yang compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm"; 32140d96d0bSKever Yang reg = <0x20050000 0x10>; 3223fcec1adSKever Yang #pwm-cells = <3>; 323bab0c55cSDavid Wu pinctrl-names = "active"; 32440d96d0bSKever Yang pinctrl-0 = <&pwm0_pin>; 32540d96d0bSKever Yang clocks = <&cru PCLK_PWM>; 32640d96d0bSKever Yang clock-names = "pwm"; 32740d96d0bSKever Yang }; 32840d96d0bSKever Yang 32940d96d0bSKever Yang pwm1: pwm1@20050010 { 33040d96d0bSKever Yang compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm"; 33140d96d0bSKever Yang reg = <0x20050010 0x10>; 33240d96d0bSKever Yang #pwm-cells = <2>; 333bab0c55cSDavid Wu pinctrl-names = "active"; 33440d96d0bSKever Yang pinctrl-0 = <&pwm1_pin>; 33540d96d0bSKever Yang clocks = <&cru PCLK_PWM>; 33640d96d0bSKever Yang clock-names = "pwm"; 33740d96d0bSKever Yang }; 33840d96d0bSKever Yang 33940d96d0bSKever Yang pwm2: pwm2@20050020 { 34040d96d0bSKever Yang compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm"; 34140d96d0bSKever Yang reg = <0x20050020 0x10>; 34240d96d0bSKever Yang #pwm-cells = <2>; 343bab0c55cSDavid Wu pinctrl-names = "active"; 34440d96d0bSKever Yang pinctrl-0 = <&pwm2_pin>; 34540d96d0bSKever Yang clocks = <&cru PCLK_PWM>; 34640d96d0bSKever Yang clock-names = "pwm"; 34740d96d0bSKever Yang }; 34840d96d0bSKever Yang 34940d96d0bSKever Yang pwm3: pwm3@20050030 { 35040d96d0bSKever Yang compatible = "rockchip,rk3128-pwm", "rockchip,rk3288-pwm"; 35140d96d0bSKever Yang reg = <0x20050030 0x10>; 35240d96d0bSKever Yang #pwm-cells = <2>; 353bab0c55cSDavid Wu pinctrl-names = "active"; 35440d96d0bSKever Yang pinctrl-0 = <&pwm3_pin>; 35540d96d0bSKever Yang clocks = <&cru PCLK_PWM>; 35640d96d0bSKever Yang clock-names = "pwm"; 35740d96d0bSKever Yang }; 35840d96d0bSKever Yang 35940d96d0bSKever Yang sram: sram@10080400 { 36040d96d0bSKever Yang compatible = "rockchip,rk3128-smp-sram", "mmio-sram"; 36140d96d0bSKever Yang reg = <0x10080400 0x1C00>; 36240d96d0bSKever Yang map-exec; 36340d96d0bSKever Yang map-cacheable; 36440d96d0bSKever Yang }; 36540d96d0bSKever Yang 36640d96d0bSKever Yang pmu: syscon@100a0000 { 36740d96d0bSKever Yang compatible = "rockchip,rk3128-pmu", "syscon", "simple-mfd"; 36840d96d0bSKever Yang reg = <0x100a0000 0x1000>; 36940d96d0bSKever Yang #address-cells = <1>; 37040d96d0bSKever Yang #size-cells = <1>; 37140d96d0bSKever Yang }; 37240d96d0bSKever Yang 3737f2c582aSMark Yao vop: vop@1010e000 { 3747f2c582aSMark Yao compatible = "rockchip,rk3126-vop"; 3757f2c582aSMark Yao reg = <0x1010e000 0x100>, <0x1010ec00 0x400>; 3767f2c582aSMark Yao reg-names = "regs", "gamma_lut"; 3777f2c582aSMark Yao interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 378efb944b6SElaine Zhang clocks = <&cru ACLK_LCDC0>, <&cru DCLK_VOP>, <&cru HCLK_LCDC0>; 3797f2c582aSMark Yao clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 3807f2c582aSMark Yao status = "disabled"; 3817f2c582aSMark Yao 3827f2c582aSMark Yao vop_out: port { 3837f2c582aSMark Yao #address-cells = <1>; 3847f2c582aSMark Yao #size-cells = <0>; 3857f2c582aSMark Yao 386e2ce9fefSWyon Bi vop_out_lvds: endpoint@0 { 387e2ce9fefSWyon Bi reg = <0>; 3887f2c582aSMark Yao remote-endpoint = <&lvds_in_vop>; 3897f2c582aSMark Yao }; 390275460b6SJerry Xu 391e2ce9fefSWyon Bi vop_out_dsi: endpoint@1 { 392275460b6SJerry Xu reg = <1>; 393275460b6SJerry Xu remote-endpoint = <&dsi_in_vop>; 394275460b6SJerry Xu }; 395e2ce9fefSWyon Bi 396e2ce9fefSWyon Bi vop_out_rgb: endpoint@2 { 397e2ce9fefSWyon Bi reg = <2>; 398e2ce9fefSWyon Bi remote-endpoint = <&rgb_in_vop>; 399e2ce9fefSWyon Bi }; 400275460b6SJerry Xu }; 401275460b6SJerry Xu }; 402275460b6SJerry Xu 403275460b6SJerry Xu dsi: dsi@10110000 { 40475de74feSKever Yang compatible = "rockchip,rk3128-mipi-dsi"; 405275460b6SJerry Xu reg = <0x10110000 0x4000>; 406275460b6SJerry Xu interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 407e2ce9fefSWyon Bi clocks = <&cru PCLK_MIPI>, <&cru HCLK_VIO_H2P>, <&video_phy>; 408275460b6SJerry Xu clock-names = "pclk", "h2p", "hs_clk"; 409275460b6SJerry Xu resets = <&cru SRST_VIO_MIPI_DSI>; 410275460b6SJerry Xu reset-names = "apb"; 411e2ce9fefSWyon Bi phys = <&video_phy>; 412275460b6SJerry Xu phy-names = "mipi_dphy"; 413275460b6SJerry Xu rockchip,grf = <&grf>; 414275460b6SJerry Xu #address-cells = <1>; 415275460b6SJerry Xu #size-cells = <0>; 416275460b6SJerry Xu status = "disabled"; 417275460b6SJerry Xu 418275460b6SJerry Xu ports { 419275460b6SJerry Xu port { 420275460b6SJerry Xu dsi_in_vop: endpoint { 421275460b6SJerry Xu remote-endpoint = <&vop_out_dsi>; 422275460b6SJerry Xu }; 423275460b6SJerry Xu }; 4247f2c582aSMark Yao }; 4257f2c582aSMark Yao }; 4267f2c582aSMark Yao 4277f2c582aSMark Yao display_subsystem: display-subsystem { 4287f2c582aSMark Yao compatible = "rockchip,display-subsystem"; 4297f2c582aSMark Yao ports = <&vop_out>; 4307f2c582aSMark Yao 4317f2c582aSMark Yao route { 4327f2c582aSMark Yao route_lvds: route-lvds { 4337f2c582aSMark Yao logo,uboot = "logo.bmp"; 4347f2c582aSMark Yao logo,kernel = "logo_kernel.bmp"; 4357f2c582aSMark Yao logo,mode = "fullscreen"; 4367f2c582aSMark Yao charge_logo,mode = "center"; 4377f2c582aSMark Yao connect = <&vop_out_lvds>; 4387f2c582aSMark Yao }; 439275460b6SJerry Xu 440275460b6SJerry Xu route_dsi: route-dsi { 441275460b6SJerry Xu logo,uboot = "logo.bmp"; 442275460b6SJerry Xu logo,kernel = "logo_kernel.bmp"; 443275460b6SJerry Xu logo,mode = "fullscreen"; 444275460b6SJerry Xu charge_logo,mode = "center"; 445275460b6SJerry Xu connect = <&vop_out_dsi>; 446275460b6SJerry Xu }; 4477f2c582aSMark Yao }; 4487f2c582aSMark Yao }; 4497f2c582aSMark Yao 45040d96d0bSKever Yang gic: interrupt-controller@10139000 { 45140d96d0bSKever Yang compatible = "arm,gic-400"; 45240d96d0bSKever Yang interrupt-controller; 45340d96d0bSKever Yang #interrupt-cells = <3>; 45440d96d0bSKever Yang #address-cells = <0>; 45540d96d0bSKever Yang reg = <0x10139000 0x1000>, 45640d96d0bSKever Yang <0x1013a000 0x1000>, 45740d96d0bSKever Yang <0x1013c000 0x2000>, 45840d96d0bSKever Yang <0x1013e000 0x2000>; 45940d96d0bSKever Yang interrupts = <GIC_PPI 9 0xf04>; 46040d96d0bSKever Yang }; 46140d96d0bSKever Yang 46240d96d0bSKever Yang usb_otg: usb@10180000 { 463f0f58107SFrank Wang compatible = "rockchip,rk3128-usb", "rockchip,rk3288-usb", 464f0f58107SFrank Wang "snps,dwc2"; 46540d96d0bSKever Yang reg = <0x10180000 0x40000>; 46640d96d0bSKever Yang interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 46740d96d0bSKever Yang dr_mode = "otg"; 46840d96d0bSKever Yang g-use-dma; 469f0f58107SFrank Wang hnp-srp-disable; 470e4adbfc9SKever Yang phys = <&u2phy_otg>; 471ed03aa52SFrank Wang phy-names = "usb"; 472f0f58107SFrank Wang status = "disabled"; 47340d96d0bSKever Yang }; 47440d96d0bSKever Yang 47506c9506fSFrank Wang usb_host_ehci: usb@101c0000 { 47606c9506fSFrank Wang compatible = "generic-ehci"; 47706c9506fSFrank Wang reg = <0x101c0000 0x20000>; 47806c9506fSFrank Wang interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 479e4adbfc9SKever Yang phys = <&u2phy_host>; 480ed03aa52SFrank Wang phy-names = "usb"; 48106c9506fSFrank Wang status = "disabled"; 48206c9506fSFrank Wang }; 48306c9506fSFrank Wang 48406c9506fSFrank Wang usb_host_ohci: usb@101e0000 { 48506c9506fSFrank Wang compatible = "generic-ohci"; 48606c9506fSFrank Wang reg = <0x101e0000 0x20000>; 48706c9506fSFrank Wang interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 488e4adbfc9SKever Yang phys = <&u2phy_host>; 489ed03aa52SFrank Wang phy-names = "usb"; 49006c9506fSFrank Wang status = "disabled"; 49106c9506fSFrank Wang }; 49206c9506fSFrank Wang 49340d96d0bSKever Yang sdmmc: dwmmc@10214000 { 49440d96d0bSKever Yang compatible = "rockchip,rk312x-dw-mshc", "rockchip,rk3288-dw-mshc"; 49540d96d0bSKever Yang reg = <0x10214000 0x4000>; 49640d96d0bSKever Yang max-frequency = <150000000>; 49740d96d0bSKever Yang interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 49840d96d0bSKever Yang clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 49940d96d0bSKever Yang <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 500c5c7b477SKever Yang clock-names = "biu", "ciu", "ciu-drv", "ciu-sample"; 50140d96d0bSKever Yang fifo-depth = <0x100>; 50240d96d0bSKever Yang pinctrl-names = "default"; 50340d96d0bSKever Yang pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 50440d96d0bSKever Yang bus-width = <4>; 50540d96d0bSKever Yang status = "disabled"; 50640d96d0bSKever Yang }; 50740d96d0bSKever Yang 50840d96d0bSKever Yang emmc: dwmmc@1021c000 { 50940d96d0bSKever Yang compatible = "rockchip,rk3128-dw-mshc", "rockchip,rk3288-dw-mshc"; 51040d96d0bSKever Yang reg = <0x1021c000 0x4000>; 51140d96d0bSKever Yang max-frequency = <150000000>; 51240d96d0bSKever Yang interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 51340d96d0bSKever Yang clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 51440d96d0bSKever Yang <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 515c5c7b477SKever Yang clock-names = "biu", "ciu", "ciu-drv", "ciu-sample"; 51640d96d0bSKever Yang bus-width = <8>; 51740d96d0bSKever Yang default-sample-phase = <158>; 51840d96d0bSKever Yang num-slots = <1>; 51940d96d0bSKever Yang fifo-depth = <0x100>; 52040d96d0bSKever Yang pinctrl-names = "default"; 52140d96d0bSKever Yang pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 52240d96d0bSKever Yang resets = <&cru SRST_EMMC>; 52340d96d0bSKever Yang reset-names = "reset"; 52440d96d0bSKever Yang status = "disabled"; 52540d96d0bSKever Yang }; 52640d96d0bSKever Yang 527e2ce9fefSWyon Bi video_phy: video-phy@20038000 { 528e2ce9fefSWyon Bi compatible = "rockchip,rk3128-video-phy"; 529e2ce9fefSWyon Bi reg = <0x20038000 0x4000>, <0x10110000 0x4000>; 530e2ce9fefSWyon Bi clocks = <&cru SCLK_MIPI_24M>, <&cru PCLK_MIPIPHY>, 531e2ce9fefSWyon Bi <&cru PCLK_MIPI>; 532e2ce9fefSWyon Bi clock-names = "ref", "pclk_phy", "pclk_host"; 533275460b6SJerry Xu #clock-cells = <0>; 534275460b6SJerry Xu resets = <&cru SRST_MIPIPHY_P>; 535e2ce9fefSWyon Bi reset-names = "rst"; 536275460b6SJerry Xu #phy-cells = <0>; 537275460b6SJerry Xu status = "disabled"; 538275460b6SJerry Xu }; 539275460b6SJerry Xu 5409ac6f479SElaine Zhang i2c0: i2c0@20072000 { 54140d96d0bSKever Yang compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c"; 5422ffd0cc6SJoseph Chen reg = <0x20072000 0x1000>; 54340d96d0bSKever Yang interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 54440d96d0bSKever Yang #address-cells = <1>; 54540d96d0bSKever Yang #size-cells = <0>; 54640d96d0bSKever Yang clock-names = "i2c"; 54740d96d0bSKever Yang clocks = <&cru PCLK_I2C0>; 54840d96d0bSKever Yang pinctrl-names = "default"; 54940d96d0bSKever Yang pinctrl-0 = <&i2c0_xfer>; 55040d96d0bSKever Yang }; 55140d96d0bSKever Yang 5529ac6f479SElaine Zhang i2c1: i2c1@20056000 { 55340d96d0bSKever Yang compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c"; 5549ac6f479SElaine Zhang reg = <0x20056000 0x1000>; 55540d96d0bSKever Yang interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 55640d96d0bSKever Yang #address-cells = <1>; 55740d96d0bSKever Yang #size-cells = <0>; 55840d96d0bSKever Yang clock-names = "i2c"; 55940d96d0bSKever Yang clocks = <&cru PCLK_I2C1>; 56040d96d0bSKever Yang pinctrl-names = "default"; 56140d96d0bSKever Yang pinctrl-0 = <&i2c1_xfer>; 56240d96d0bSKever Yang }; 56340d96d0bSKever Yang 5649ac6f479SElaine Zhang i2c2: i2c2@2005a000 { 56540d96d0bSKever Yang compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c"; 5669ac6f479SElaine Zhang reg = <0x2005a000 0x1000>; 56740d96d0bSKever Yang interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 56840d96d0bSKever Yang #address-cells = <1>; 56940d96d0bSKever Yang #size-cells = <0>; 57040d96d0bSKever Yang clock-names = "i2c"; 57140d96d0bSKever Yang clocks = <&cru PCLK_I2C2>; 57240d96d0bSKever Yang pinctrl-names = "default"; 5739ac6f479SElaine Zhang pinctrl-0 = <&i2c2_xfer>; 57440d96d0bSKever Yang }; 57540d96d0bSKever Yang 5769ac6f479SElaine Zhang i2c3: i2c3@2005e000 { 57740d96d0bSKever Yang compatible = "rockchip,rk3128-i2c", "rockchip,rk3288-i2c"; 5789ac6f479SElaine Zhang reg = <0x2005e000 0x1000>; 57940d96d0bSKever Yang interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 58040d96d0bSKever Yang #address-cells = <1>; 58140d96d0bSKever Yang #size-cells = <0>; 58240d96d0bSKever Yang clock-names = "i2c"; 58340d96d0bSKever Yang clocks = <&cru PCLK_I2C3>; 58440d96d0bSKever Yang pinctrl-names = "default"; 5859ac6f479SElaine Zhang pinctrl-0 = <&i2c3_xfer>; 58640d96d0bSKever Yang }; 58740d96d0bSKever Yang 58840d96d0bSKever Yang spi0: spi@20074000 { 58940d96d0bSKever Yang compatible = "rockchip,rk3128-spi", "rockchip,rk3288-spi"; 59040d96d0bSKever Yang reg = <0x20074000 0x1000>; 59140d96d0bSKever Yang interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 59253497b6bSKever Yang pinctrl-names = "default"; 59353497b6bSKever Yang pinctrl-0 = <&spi0_tx &spi0_rx &spi0_clk &spi0_cs0 &spi0_cs1>; 59453497b6bSKever Yang clock-names = "spiclk", "apb_pclk"; 595*629065bbSJon Lin clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; 59653497b6bSKever Yang dmas = <&pdma 8>, <&pdma 9>; 59753497b6bSKever Yang dma-names = "tx", "rx"; 59840d96d0bSKever Yang #address-cells = <1>; 59940d96d0bSKever Yang #size-cells = <0>; 60053497b6bSKever Yang status = "disabled"; 60140d96d0bSKever Yang }; 60240d96d0bSKever Yang 60340d96d0bSKever Yang grf: syscon@20008000 { 60440d96d0bSKever Yang compatible = "rockchip,rk3128-grf", "syscon"; 60540d96d0bSKever Yang reg = <0x20008000 0x1000>; 60657f91f26SJianwei Zheng #address-cells = <1>; 60757f91f26SJianwei Zheng #size-cells = <1>; 608e2ce9fefSWyon Bi 609e2ce9fefSWyon Bi lvds: lvds { 610e2ce9fefSWyon Bi compatible = "rockchip,rk3126-lvds"; 611e2ce9fefSWyon Bi phys = <&video_phy>; 612e2ce9fefSWyon Bi phy-names = "phy"; 613e2ce9fefSWyon Bi status = "disabled"; 614e2ce9fefSWyon Bi 615e2ce9fefSWyon Bi ports { 616e2ce9fefSWyon Bi #address-cells = <1>; 617e2ce9fefSWyon Bi #size-cells = <0>; 618e2ce9fefSWyon Bi 619e2ce9fefSWyon Bi port@0 { 620e2ce9fefSWyon Bi reg = <0>; 621e2ce9fefSWyon Bi 622e2ce9fefSWyon Bi lvds_in_vop: endpoint { 623e2ce9fefSWyon Bi remote-endpoint = <&vop_out_lvds>; 624e2ce9fefSWyon Bi }; 625e2ce9fefSWyon Bi }; 626e2ce9fefSWyon Bi }; 627e2ce9fefSWyon Bi }; 628e2ce9fefSWyon Bi 629e2ce9fefSWyon Bi rgb: rgb { 630e2ce9fefSWyon Bi compatible = "rockchip,rk3128-rgb"; 631e2ce9fefSWyon Bi phys = <&video_phy>; 632e2ce9fefSWyon Bi phy-names = "phy"; 633e2ce9fefSWyon Bi pinctrl-names = "default", "sleep"; 634e2ce9fefSWyon Bi pinctrl-0 = <&lcdc_rgb_pins>; 635e2ce9fefSWyon Bi pinctrl-1 = <&lcdc_sleep_pins>; 636e2ce9fefSWyon Bi status = "disabled"; 637e2ce9fefSWyon Bi 638e2ce9fefSWyon Bi ports { 639e2ce9fefSWyon Bi #address-cells = <1>; 640e2ce9fefSWyon Bi #size-cells = <0>; 641e2ce9fefSWyon Bi 642e2ce9fefSWyon Bi port@0 { 643e2ce9fefSWyon Bi reg = <0>; 644e2ce9fefSWyon Bi 645e2ce9fefSWyon Bi rgb_in_vop: endpoint { 646e2ce9fefSWyon Bi remote-endpoint = <&vop_out_rgb>; 647e2ce9fefSWyon Bi }; 648e2ce9fefSWyon Bi }; 649e2ce9fefSWyon Bi }; 650e2ce9fefSWyon Bi }; 65162b8d780SWilliam Wu 65262b8d780SWilliam Wu u2phy: usb2-phy@17c { 65362b8d780SWilliam Wu compatible = "rockchip,rk3128-usb2phy"; 65462b8d780SWilliam Wu reg = <0x017c 0x0c>; 65562b8d780SWilliam Wu clocks = <&cru SCLK_OTGPHY0>; 65662b8d780SWilliam Wu clock-names = "phyclk"; 65762b8d780SWilliam Wu #clock-cells = <0>; 65862b8d780SWilliam Wu clock-output-names = "usb480m_phy"; 65962b8d780SWilliam Wu assigned-clocks = <&cru SCLK_USB480M>; 66062b8d780SWilliam Wu assigned-clock-parents = <&u2phy>; 66162b8d780SWilliam Wu status = "disabled"; 66262b8d780SWilliam Wu 66362b8d780SWilliam Wu u2phy_otg: otg-port { 66462b8d780SWilliam Wu #phy-cells = <0>; 66562b8d780SWilliam Wu interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 66662b8d780SWilliam Wu <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 66762b8d780SWilliam Wu <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 66862b8d780SWilliam Wu interrupt-names = "otg-bvalid", "otg-id", 66962b8d780SWilliam Wu "linestate"; 67062b8d780SWilliam Wu status = "disabled"; 67162b8d780SWilliam Wu }; 67262b8d780SWilliam Wu 67362b8d780SWilliam Wu u2phy_host: host-port { 67462b8d780SWilliam Wu #phy-cells = <0>; 67562b8d780SWilliam Wu interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 67662b8d780SWilliam Wu interrupt-names = "linestate"; 67762b8d780SWilliam Wu status = "disabled"; 67862b8d780SWilliam Wu }; 67962b8d780SWilliam Wu }; 68040d96d0bSKever Yang }; 68140d96d0bSKever Yang 68240d96d0bSKever Yang pinctrl: pinctrl@20008000 { 68340d96d0bSKever Yang compatible = "rockchip,rk3128-pinctrl"; 68440d96d0bSKever Yang reg = <0x20008000 0xA8>, 68540d96d0bSKever Yang <0x200080A8 0x4C>, 68640d96d0bSKever Yang <0x20008118 0x20>, 68740d96d0bSKever Yang <0x20008100 0x04>; 68840d96d0bSKever Yang reg-names = "base", "mux", "pull", "drv"; 68940d96d0bSKever Yang rockchip,grf = <&grf>; 69040d96d0bSKever Yang #address-cells = <1>; 69140d96d0bSKever Yang #size-cells = <1>; 69240d96d0bSKever Yang ranges; 69340d96d0bSKever Yang 69440d96d0bSKever Yang gpio0: gpio0@2007c000 { 69540d96d0bSKever Yang compatible = "rockchip,gpio-bank"; 69640d96d0bSKever Yang reg = <0x2007c000 0x100>; 69740d96d0bSKever Yang interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 69840d96d0bSKever Yang clocks = <&cru PCLK_GPIO0>; 69940d96d0bSKever Yang gpio-controller; 70040d96d0bSKever Yang #gpio-cells = <2>; 70140d96d0bSKever Yang interrupt-controller; 70240d96d0bSKever Yang #interrupt-cells = <2>; 70340d96d0bSKever Yang }; 70440d96d0bSKever Yang 70540d96d0bSKever Yang gpio1: gpio1@20080000 { 70640d96d0bSKever Yang compatible = "rockchip,gpio-bank"; 70740d96d0bSKever Yang reg = <0x20080000 0x100>; 70840d96d0bSKever Yang interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 70940d96d0bSKever Yang clocks = <&cru PCLK_GPIO1>; 71040d96d0bSKever Yang gpio-controller; 71140d96d0bSKever Yang #gpio-cells = <2>; 71240d96d0bSKever Yang interrupt-controller; 71340d96d0bSKever Yang #interrupt-cells = <2>; 71440d96d0bSKever Yang }; 71540d96d0bSKever Yang 71640d96d0bSKever Yang gpio2: gpio2@20084000 { 71740d96d0bSKever Yang compatible = "rockchip,gpio-bank"; 71840d96d0bSKever Yang reg = <0x20084000 0x100>; 71940d96d0bSKever Yang interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 72040d96d0bSKever Yang clocks = <&cru PCLK_GPIO2>; 72140d96d0bSKever Yang gpio-controller; 72240d96d0bSKever Yang #gpio-cells = <2>; 72340d96d0bSKever Yang interrupt-controller; 72440d96d0bSKever Yang #interrupt-cells = <2>; 72540d96d0bSKever Yang }; 72640d96d0bSKever Yang 72740d96d0bSKever Yang gpio3: gpio2@20088000 { 72840d96d0bSKever Yang compatible = "rockchip,gpio-bank"; 72940d96d0bSKever Yang reg = <0x20088000 0x100>; 73040d96d0bSKever Yang interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 73140d96d0bSKever Yang clocks = <&cru PCLK_GPIO3>; 73240d96d0bSKever Yang gpio-controller; 73340d96d0bSKever Yang #gpio-cells = <2>; 73440d96d0bSKever Yang interrupt-controller; 73540d96d0bSKever Yang #interrupt-cells = <2>; 73640d96d0bSKever Yang }; 73740d96d0bSKever Yang 73827f8f3a3SJoseph Chen pcfg_pull_default: pcfg_pull_default { 73927f8f3a3SJoseph Chen bias-pull-pin-default; 74040d96d0bSKever Yang }; 74140d96d0bSKever Yang 74240d96d0bSKever Yang pcfg_pull_none: pcfg-pull-none { 74340d96d0bSKever Yang bias-disable; 74440d96d0bSKever Yang }; 74540d96d0bSKever Yang 74640d96d0bSKever Yang emmc { 74740d96d0bSKever Yang emmc_clk: emmc-clk { 74827f8f3a3SJoseph Chen rockchip,pins = <2 RK_PA7 2 &pcfg_pull_none>; 74940d96d0bSKever Yang }; 75040d96d0bSKever Yang 75140d96d0bSKever Yang emmc_cmd: emmc-cmd { 75227f8f3a3SJoseph Chen rockchip,pins = <1 RK_PC6 2 &pcfg_pull_default>; 75340d96d0bSKever Yang }; 75440d96d0bSKever Yang 75527f8f3a3SJoseph Chen emmc_cmd1: emmc-cmd1 { 75627f8f3a3SJoseph Chen rockchip,pins = <2 RK_PA4 2 &pcfg_pull_default>; 75727f8f3a3SJoseph Chen }; 75827f8f3a3SJoseph Chen 75927f8f3a3SJoseph Chen emmc_pwr: emmc-pwr { 76027f8f3a3SJoseph Chen rockchip,pins = <2 RK_PA5 2 &pcfg_pull_default>; 76127f8f3a3SJoseph Chen }; 76227f8f3a3SJoseph Chen 76327f8f3a3SJoseph Chen emmc_bus1: emmc-bus1 { 76427f8f3a3SJoseph Chen rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>; 76527f8f3a3SJoseph Chen }; 76627f8f3a3SJoseph Chen 76727f8f3a3SJoseph Chen emmc_bus4: emmc-bus4 { 76827f8f3a3SJoseph Chen rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>, 76927f8f3a3SJoseph Chen <1 RK_PD1 2 &pcfg_pull_default>, 77027f8f3a3SJoseph Chen <1 RK_PD2 2 &pcfg_pull_default>, 77127f8f3a3SJoseph Chen <1 RK_PD3 2 &pcfg_pull_default>; 77240d96d0bSKever Yang }; 77340d96d0bSKever Yang 77440d96d0bSKever Yang emmc_bus8: emmc-bus8 { 77527f8f3a3SJoseph Chen rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>, 77627f8f3a3SJoseph Chen <1 RK_PD1 2 &pcfg_pull_default>, 77727f8f3a3SJoseph Chen <1 RK_PD2 2 &pcfg_pull_default>, 77827f8f3a3SJoseph Chen <1 RK_PD3 2 &pcfg_pull_default>, 77927f8f3a3SJoseph Chen <1 RK_PD4 2 &pcfg_pull_default>, 78027f8f3a3SJoseph Chen <1 RK_PD5 2 &pcfg_pull_default>, 78127f8f3a3SJoseph Chen <1 RK_PD6 2 &pcfg_pull_default>, 78227f8f3a3SJoseph Chen <1 RK_PD7 2 &pcfg_pull_default>; 78340d96d0bSKever Yang }; 78440d96d0bSKever Yang }; 78540d96d0bSKever Yang 78653497b6bSKever Yang i2c0 { 78753497b6bSKever Yang i2c0_xfer: i2c0-xfer { 78853497b6bSKever Yang rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>, 78953497b6bSKever Yang <0 RK_PA1 1 &pcfg_pull_none>; 79040d96d0bSKever Yang }; 79140d96d0bSKever Yang }; 79240d96d0bSKever Yang 79353497b6bSKever Yang i2c1 { 79453497b6bSKever Yang i2c1_xfer: i2c1-xfer { 79553497b6bSKever Yang rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>, 79653497b6bSKever Yang <0 RK_PA3 1 &pcfg_pull_none>; 79753497b6bSKever Yang }; 79853497b6bSKever Yang }; 79953497b6bSKever Yang 80053497b6bSKever Yang i2c2 { 80153497b6bSKever Yang i2c2_xfer: i2c2-xfer { 80253497b6bSKever Yang rockchip,pins = <2 RK_PC4 3 &pcfg_pull_none>, 80353497b6bSKever Yang <2 RK_PC5 3 &pcfg_pull_none>; 80453497b6bSKever Yang }; 80553497b6bSKever Yang }; 80653497b6bSKever Yang 80753497b6bSKever Yang i2c3 { 80853497b6bSKever Yang i2c3_xfer: i2c3-xfer { 80953497b6bSKever Yang rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>, 81053497b6bSKever Yang <0 RK_PA7 1 &pcfg_pull_none>; 81153497b6bSKever Yang }; 81253497b6bSKever Yang }; 81340d96d0bSKever Yang 814e2ce9fefSWyon Bi lcdc { 815e2ce9fefSWyon Bi lcdc_rgb_pins: lcdc-rgb-pins { 816e2ce9fefSWyon Bi rockchip,pins = 817e2ce9fefSWyon Bi <2 RK_PB0 1 &pcfg_pull_none>, /* LCDC_DCLK */ 818e2ce9fefSWyon Bi <2 RK_PB1 1 &pcfg_pull_none>, /* LCDC_HSYNC */ 819e2ce9fefSWyon Bi <2 RK_PB2 1 &pcfg_pull_none>, /* LCDC_VSYNC */ 820e2ce9fefSWyon Bi <2 RK_PB3 1 &pcfg_pull_none>, /* LCDC_DEN */ 821e2ce9fefSWyon Bi <2 RK_PB4 1 &pcfg_pull_none>, /* LCDC_DATA10 */ 822e2ce9fefSWyon Bi <2 RK_PB5 1 &pcfg_pull_none>, /* LCDC_DATA11 */ 823e2ce9fefSWyon Bi <2 RK_PB6 1 &pcfg_pull_none>, /* LCDC_DATA12 */ 824e2ce9fefSWyon Bi <2 RK_PB7 1 &pcfg_pull_none>, /* LCDC_DATA13 */ 825e2ce9fefSWyon Bi <2 RK_PC0 1 &pcfg_pull_none>, /* LCDC_DATA14 */ 826e2ce9fefSWyon Bi <2 RK_PC1 1 &pcfg_pull_none>, /* LCDC_DATA15 */ 827e2ce9fefSWyon Bi <2 RK_PC2 1 &pcfg_pull_none>, /* LCDC_DATA16 */ 828e2ce9fefSWyon Bi <2 RK_PC3 1 &pcfg_pull_none>, /* LCDC_DATA17 */ 829e2ce9fefSWyon Bi <2 RK_PC4 1 &pcfg_pull_none>, /* LCDC_DATA18 */ 830e2ce9fefSWyon Bi <2 RK_PC5 1 &pcfg_pull_none>, /* LCDC_DATA19 */ 831e2ce9fefSWyon Bi <2 RK_PC6 1 &pcfg_pull_none>, /* LCDC_DATA20 */ 832e2ce9fefSWyon Bi <2 RK_PC7 1 &pcfg_pull_none>, /* LCDC_DATA21 */ 833e2ce9fefSWyon Bi <2 RK_PD0 1 &pcfg_pull_none>, /* LCDC_DATA22 */ 834e2ce9fefSWyon Bi <2 RK_PD1 1 &pcfg_pull_none>; /* LCDC_DATA23 */ 835e2ce9fefSWyon Bi }; 836e2ce9fefSWyon Bi 837e2ce9fefSWyon Bi lcdc_sleep_pins: lcdc-sleep-pins { 838e2ce9fefSWyon Bi rockchip,pins = 839e2ce9fefSWyon Bi <2 RK_PB0 0 &pcfg_pull_none>, /* LCDC_DCLK */ 840e2ce9fefSWyon Bi <2 RK_PB1 0 &pcfg_pull_none>, /* LCDC_HSYNC */ 841e2ce9fefSWyon Bi <2 RK_PB2 0 &pcfg_pull_none>, /* LCDC_VSYNC */ 842e2ce9fefSWyon Bi <2 RK_PB3 0 &pcfg_pull_none>, /* LCDC_DEN */ 843e2ce9fefSWyon Bi <2 RK_PB4 0 &pcfg_pull_none>, /* LCDC_DATA10 */ 844e2ce9fefSWyon Bi <2 RK_PB5 0 &pcfg_pull_none>, /* LCDC_DATA11 */ 845e2ce9fefSWyon Bi <2 RK_PB6 0 &pcfg_pull_none>, /* LCDC_DATA12 */ 846e2ce9fefSWyon Bi <2 RK_PB7 0 &pcfg_pull_none>, /* LCDC_DATA13 */ 847e2ce9fefSWyon Bi <2 RK_PC0 0 &pcfg_pull_none>, /* LCDC_DATA14 */ 848e2ce9fefSWyon Bi <2 RK_PC1 0 &pcfg_pull_none>, /* LCDC_DATA15 */ 849e2ce9fefSWyon Bi <2 RK_PC2 0 &pcfg_pull_none>, /* LCDC_DATA16 */ 850e2ce9fefSWyon Bi <2 RK_PC3 0 &pcfg_pull_none>, /* LCDC_DATA17 */ 851e2ce9fefSWyon Bi <2 RK_PC4 0 &pcfg_pull_none>, /* LCDC_DATA18 */ 852e2ce9fefSWyon Bi <2 RK_PC5 0 &pcfg_pull_none>, /* LCDC_DATA19 */ 853e2ce9fefSWyon Bi <2 RK_PC6 0 &pcfg_pull_none>, /* LCDC_DATA20 */ 854e2ce9fefSWyon Bi <2 RK_PC7 0 &pcfg_pull_none>, /* LCDC_DATA21 */ 855e2ce9fefSWyon Bi <2 RK_PD0 0 &pcfg_pull_none>, /* LCDC_DATA22 */ 856e2ce9fefSWyon Bi <2 RK_PD1 0 &pcfg_pull_none>; /* LCDC_DATA23 */ 857e2ce9fefSWyon Bi }; 858e2ce9fefSWyon Bi }; 859e2ce9fefSWyon Bi 86040d96d0bSKever Yang uart0 { 86140d96d0bSKever Yang uart0_xfer: uart0-xfer { 86253497b6bSKever Yang rockchip,pins = <2 RK_PD2 2 &pcfg_pull_default>, 86353497b6bSKever Yang <2 RK_PD3 2 &pcfg_pull_none>; 86440d96d0bSKever Yang }; 86540d96d0bSKever Yang 86640d96d0bSKever Yang uart0_cts: uart0-cts { 86753497b6bSKever Yang rockchip,pins = <2 RK_PD5 2 &pcfg_pull_none>; 86840d96d0bSKever Yang }; 86940d96d0bSKever Yang 87040d96d0bSKever Yang uart0_rts: uart0-rts { 87153497b6bSKever Yang rockchip,pins = <0 RK_PC1 2 &pcfg_pull_none>; 87240d96d0bSKever Yang }; 87340d96d0bSKever Yang }; 87440d96d0bSKever Yang 87540d96d0bSKever Yang uart1 { 87640d96d0bSKever Yang uart1_xfer: uart1-xfer { 87753497b6bSKever Yang rockchip,pins = <1 RK_PB1 2 &pcfg_pull_default>, 87853497b6bSKever Yang <1 RK_PB2 2 &pcfg_pull_default>; 87953497b6bSKever Yang }; 88053497b6bSKever Yang 88153497b6bSKever Yang uart1_cts: uart1-cts { 88253497b6bSKever Yang rockchip,pins = <1 RK_PB0 2 &pcfg_pull_none>; 88353497b6bSKever Yang }; 88453497b6bSKever Yang 88553497b6bSKever Yang uart1_rts: uart1-rts { 88653497b6bSKever Yang rockchip,pins = <1 RK_PB3 2 &pcfg_pull_none>; 88740d96d0bSKever Yang }; 88840d96d0bSKever Yang }; 88940d96d0bSKever Yang 89040d96d0bSKever Yang uart2 { 89140d96d0bSKever Yang uart2_xfer: uart2-xfer { 89253497b6bSKever Yang rockchip,pins = <1 RK_PC2 2 &pcfg_pull_default>, 89353497b6bSKever Yang <1 RK_PC3 2 &pcfg_pull_none>; 89453497b6bSKever Yang }; 89553497b6bSKever Yang 89653497b6bSKever Yang uart2_cts: uart2-cts { 89753497b6bSKever Yang rockchip,pins = <0 RK_PD1 1 &pcfg_pull_none>; 89853497b6bSKever Yang }; 89953497b6bSKever Yang 90053497b6bSKever Yang uart2_rts: uart2-rts { 90153497b6bSKever Yang rockchip,pins = <0 RK_PD0 1 &pcfg_pull_none>; 90240d96d0bSKever Yang }; 90340d96d0bSKever Yang }; 90440d96d0bSKever Yang 90540d96d0bSKever Yang sdmmc { 90640d96d0bSKever Yang sdmmc_clk: sdmmc-clk { 90740d96d0bSKever Yang rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>; 90840d96d0bSKever Yang }; 90940d96d0bSKever Yang 91040d96d0bSKever Yang sdmmc_cmd: sdmmc-cmd { 91153497b6bSKever Yang rockchip,pins = <1 RK_PB7 1 &pcfg_pull_default>; 91240d96d0bSKever Yang }; 91340d96d0bSKever Yang 91440d96d0bSKever Yang sdmmc_wp: sdmmc-wp { 91527f8f3a3SJoseph Chen rockchip,pins = <1 RK_PA7 1 &pcfg_pull_default>; 91640d96d0bSKever Yang }; 91740d96d0bSKever Yang 91840d96d0bSKever Yang sdmmc_pwren: sdmmc-pwren { 91927f8f3a3SJoseph Chen rockchip,pins = <1 RK_PB6 1 &pcfg_pull_default>; 92040d96d0bSKever Yang }; 92140d96d0bSKever Yang 92240d96d0bSKever Yang sdmmc_bus4: sdmmc-bus4 { 92327f8f3a3SJoseph Chen rockchip,pins = <1 RK_PC2 1 &pcfg_pull_default>, 92427f8f3a3SJoseph Chen <1 RK_PC3 1 &pcfg_pull_default>, 92527f8f3a3SJoseph Chen <1 RK_PC4 1 &pcfg_pull_default>, 92627f8f3a3SJoseph Chen <1 RK_PC5 1 &pcfg_pull_default>; 92740d96d0bSKever Yang }; 92840d96d0bSKever Yang }; 92940d96d0bSKever Yang 93053497b6bSKever Yang sdio { 93153497b6bSKever Yang sdio_clk: sdio-clk { 93253497b6bSKever Yang rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>; 93353497b6bSKever Yang }; 93453497b6bSKever Yang 93553497b6bSKever Yang sdio_cmd: sdio-cmd { 93653497b6bSKever Yang rockchip,pins = <0 RK_PA3 2 &pcfg_pull_default>; 93753497b6bSKever Yang }; 93853497b6bSKever Yang 93953497b6bSKever Yang sdio_pwren: sdio-pwren { 94053497b6bSKever Yang rockchip,pins = <0 RK_PD6 1 &pcfg_pull_default>; 94153497b6bSKever Yang }; 94253497b6bSKever Yang 94353497b6bSKever Yang sdio_bus4: sdio-bus4 { 94453497b6bSKever Yang rockchip,pins = <1 RK_PA1 2 &pcfg_pull_default>, 94553497b6bSKever Yang <1 RK_PA2 2 &pcfg_pull_default>, 94653497b6bSKever Yang <1 RK_PA4 2 &pcfg_pull_default>, 94753497b6bSKever Yang <1 RK_PA5 2 &pcfg_pull_default>; 94853497b6bSKever Yang }; 94953497b6bSKever Yang }; 95053497b6bSKever Yang 95153497b6bSKever Yang hdmi { 95253497b6bSKever Yang hdmii2c_xfer: hdmii2c-xfer { 95353497b6bSKever Yang rockchip,pins = <0 RK_PA6 2 &pcfg_pull_none>, 95453497b6bSKever Yang <0 RK_PA7 2 &pcfg_pull_none>; 95553497b6bSKever Yang }; 95653497b6bSKever Yang }; 95753497b6bSKever Yang 95853497b6bSKever Yang i2s { 95953497b6bSKever Yang i2s_bus: i2s-bus { 96053497b6bSKever Yang rockchip,pins = <0 RK_PB0 1 &pcfg_pull_none>, 96153497b6bSKever Yang <0 RK_PB1 1 &pcfg_pull_none>, 96253497b6bSKever Yang <0 RK_PB3 1 &pcfg_pull_none>, 96353497b6bSKever Yang <0 RK_PB4 1 &pcfg_pull_none>, 96453497b6bSKever Yang <0 RK_PB5 1 &pcfg_pull_none>, 96553497b6bSKever Yang <0 RK_PB6 1 &pcfg_pull_none>; 96653497b6bSKever Yang }; 96753497b6bSKever Yang 96853497b6bSKever Yang i2s1_bus: i2s1-bus { 96953497b6bSKever Yang rockchip,pins = <1 RK_PA0 1 &pcfg_pull_none>, 97053497b6bSKever Yang <1 RK_PA1 1 &pcfg_pull_none>, 97153497b6bSKever Yang <1 RK_PA2 1 &pcfg_pull_none>, 97253497b6bSKever Yang <1 RK_PA3 1 &pcfg_pull_none>, 97353497b6bSKever Yang <1 RK_PA4 1 &pcfg_pull_none>, 97453497b6bSKever Yang <1 RK_PA5 1 &pcfg_pull_none>; 97553497b6bSKever Yang }; 97653497b6bSKever Yang }; 97753497b6bSKever Yang 97840d96d0bSKever Yang pwm0 { 97940d96d0bSKever Yang pwm0_pin: pwm0-pin { 98053497b6bSKever Yang rockchip,pins = <0 RK_PD2 1 &pcfg_pull_none>; 98140d96d0bSKever Yang }; 98240d96d0bSKever Yang }; 98340d96d0bSKever Yang 98440d96d0bSKever Yang pwm1 { 98540d96d0bSKever Yang pwm1_pin: pwm1-pin { 98653497b6bSKever Yang rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>; 98740d96d0bSKever Yang }; 98840d96d0bSKever Yang }; 98940d96d0bSKever Yang 99040d96d0bSKever Yang pwm2 { 99140d96d0bSKever Yang pwm2_pin: pwm2-pin { 99261c13b29SShunqian Zheng rockchip,pins = <0 RK_PD4 1 &pcfg_pull_none>; 99340d96d0bSKever Yang }; 99440d96d0bSKever Yang }; 99540d96d0bSKever Yang 99640d96d0bSKever Yang pwm3 { 99740d96d0bSKever Yang pwm3_pin: pwm3-pin { 99853497b6bSKever Yang rockchip,pins = <3 RK_PD2 1 &pcfg_pull_none>; 99940d96d0bSKever Yang }; 100040d96d0bSKever Yang }; 100140d96d0bSKever Yang 100253497b6bSKever Yang gmac { 100353497b6bSKever Yang rgmii_pins: rgmii-pins { 100453497b6bSKever Yang rockchip,pins = <2 RK_PB0 3 &pcfg_pull_default>, 100553497b6bSKever Yang <2 RK_PB1 3 &pcfg_pull_default>, 100653497b6bSKever Yang <2 RK_PB3 3 &pcfg_pull_default>, 100753497b6bSKever Yang <2 RK_PB4 3 &pcfg_pull_default>, 100853497b6bSKever Yang <2 RK_PB5 3 &pcfg_pull_default>, 100953497b6bSKever Yang <2 RK_PB6 3 &pcfg_pull_default>, 101053497b6bSKever Yang <2 RK_PC0 3 &pcfg_pull_default>, 101153497b6bSKever Yang <2 RK_PC1 3 &pcfg_pull_default>, 101253497b6bSKever Yang <2 RK_PC2 3 &pcfg_pull_default>, 101353497b6bSKever Yang <2 RK_PC3 3 &pcfg_pull_default>, 101453497b6bSKever Yang <2 RK_PD1 3 &pcfg_pull_default>, 101553497b6bSKever Yang <2 RK_PC4 4 &pcfg_pull_default>, 101653497b6bSKever Yang <2 RK_PC5 4 &pcfg_pull_default>, 101753497b6bSKever Yang <2 RK_PC6 4 &pcfg_pull_default>, 101853497b6bSKever Yang <2 RK_PC7 4 &pcfg_pull_default>; 101953497b6bSKever Yang }; 102053497b6bSKever Yang 102153497b6bSKever Yang rmii_pins: rmii-pins { 102253497b6bSKever Yang rockchip,pins = <2 RK_PB0 3 &pcfg_pull_default>, 102353497b6bSKever Yang <2 RK_PB4 3 &pcfg_pull_default>, 102453497b6bSKever Yang <2 RK_PB5 3 &pcfg_pull_default>, 102553497b6bSKever Yang <2 RK_PB6 3 &pcfg_pull_default>, 102653497b6bSKever Yang <2 RK_PB7 3 &pcfg_pull_default>, 102753497b6bSKever Yang <2 RK_PC0 3 &pcfg_pull_default>, 102853497b6bSKever Yang <2 RK_PC1 3 &pcfg_pull_default>, 102953497b6bSKever Yang <2 RK_PC3 3 &pcfg_pull_default>, 103053497b6bSKever Yang <2 RK_PC4 3 &pcfg_pull_default>, 103153497b6bSKever Yang <2 RK_PD1 3 &pcfg_pull_default>; 103240d96d0bSKever Yang }; 103340d96d0bSKever Yang }; 103440d96d0bSKever Yang 103553497b6bSKever Yang spdif { 103653497b6bSKever Yang spdif_tx: spdif-tx { 103753497b6bSKever Yang rockchip,pins = <3 RK_PD3 1 &pcfg_pull_none>; 103840d96d0bSKever Yang }; 103940d96d0bSKever Yang }; 104040d96d0bSKever Yang 104153497b6bSKever Yang spi { 104253497b6bSKever Yang spi0_clk: spi0-clk { 104353497b6bSKever Yang rockchip,pins = <1 RK_PB0 1 &pcfg_pull_default>; 104440d96d0bSKever Yang }; 104540d96d0bSKever Yang 104653497b6bSKever Yang spi0_cs0: spi0-cs0 { 104753497b6bSKever Yang rockchip,pins = <1 RK_PB3 1 &pcfg_pull_default>; 104840d96d0bSKever Yang }; 104940d96d0bSKever Yang 105053497b6bSKever Yang spi0_tx: spi0-tx { 105153497b6bSKever Yang rockchip,pins = <1 RK_PB1 1 &pcfg_pull_default>; 105240d96d0bSKever Yang }; 105340d96d0bSKever Yang 105453497b6bSKever Yang spi0_rx: spi0-rx { 105553497b6bSKever Yang rockchip,pins = <1 RK_PB2 1 &pcfg_pull_default>; 105640d96d0bSKever Yang }; 105740d96d0bSKever Yang 105853497b6bSKever Yang spi0_cs1: spi0-cs1 { 105953497b6bSKever Yang rockchip,pins = <1 RK_PB4 1 &pcfg_pull_default>; 106040d96d0bSKever Yang }; 106140d96d0bSKever Yang 106253497b6bSKever Yang spi1_clk: spi1-clk { 106353497b6bSKever Yang rockchip,pins = <2 RK_PA0 2 &pcfg_pull_default>; 106440d96d0bSKever Yang }; 106540d96d0bSKever Yang 106653497b6bSKever Yang spi1_cs0: spi1-cs0 { 106753497b6bSKever Yang rockchip,pins = <1 RK_PD6 3 &pcfg_pull_default>; 106840d96d0bSKever Yang }; 106940d96d0bSKever Yang 107053497b6bSKever Yang spi1_tx: spi1-tx { 107153497b6bSKever Yang rockchip,pins = <1 RK_PD5 3 &pcfg_pull_default>; 107253497b6bSKever Yang }; 107353497b6bSKever Yang 107453497b6bSKever Yang spi1_rx: spi1-rx { 107553497b6bSKever Yang rockchip,pins = <1 RK_PD4 3 &pcfg_pull_default>; 107653497b6bSKever Yang }; 107753497b6bSKever Yang 107853497b6bSKever Yang spi1_cs1: spi1-cs1 { 107953497b6bSKever Yang rockchip,pins = <1 RK_PD7 3 &pcfg_pull_default>; 108053497b6bSKever Yang }; 108153497b6bSKever Yang 108253497b6bSKever Yang spi2_clk: spi2-clk { 108353497b6bSKever Yang rockchip,pins = <0 RK_PB1 2 &pcfg_pull_default>; 108453497b6bSKever Yang }; 108553497b6bSKever Yang 108653497b6bSKever Yang spi2_cs0: spi2-cs0 { 108753497b6bSKever Yang rockchip,pins = <0 RK_PB6 2 &pcfg_pull_default>; 108853497b6bSKever Yang }; 108953497b6bSKever Yang 109053497b6bSKever Yang spi2_tx: spi2-tx { 109153497b6bSKever Yang rockchip,pins = <0 RK_PB3 2 &pcfg_pull_default>; 109253497b6bSKever Yang }; 109353497b6bSKever Yang 109453497b6bSKever Yang spi2_rx: spi2-rx { 109553497b6bSKever Yang rockchip,pins = <0 RK_PB5 2 &pcfg_pull_default>; 109653497b6bSKever Yang }; 109753497b6bSKever Yang }; 109840d96d0bSKever Yang }; 109940d96d0bSKever Yang}; 1100