152e02d37SLiang Chen/* 252e02d37SLiang Chen * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd 352e02d37SLiang Chen * 452e02d37SLiang Chen * This file is dual-licensed: you can use it either under the terms 552e02d37SLiang Chen * of the GPL or the X11 license, at your option. Note that this dual 652e02d37SLiang Chen * licensing only applies to this file, and not this project as a 752e02d37SLiang Chen * whole. 852e02d37SLiang Chen * 952e02d37SLiang Chen * a) This library is free software; you can redistribute it and/or 1052e02d37SLiang Chen * modify it under the terms of the GNU General Public License as 1152e02d37SLiang Chen * published by the Free Software Foundation; either version 2 of the 1252e02d37SLiang Chen * License, or (at your option) any later version. 1352e02d37SLiang Chen * 1452e02d37SLiang Chen * This library is distributed in the hope that it will be useful, 1552e02d37SLiang Chen * but WITHOUT ANY WARRANTY; without even the implied warranty of 1652e02d37SLiang Chen * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1752e02d37SLiang Chen * GNU General Public License for more details. 1852e02d37SLiang Chen * 1952e02d37SLiang Chen * Or, alternatively, 2052e02d37SLiang Chen * 2152e02d37SLiang Chen * b) Permission is hereby granted, free of charge, to any person 2252e02d37SLiang Chen * obtaining a copy of this software and associated documentation 2352e02d37SLiang Chen * files (the "Software"), to deal in the Software without 2452e02d37SLiang Chen * restriction, including without limitation the rights to use, 2552e02d37SLiang Chen * copy, modify, merge, publish, distribute, sublicense, and/or 2652e02d37SLiang Chen * sell copies of the Software, and to permit persons to whom the 2752e02d37SLiang Chen * Software is furnished to do so, subject to the following 2852e02d37SLiang Chen * conditions: 2952e02d37SLiang Chen * 3052e02d37SLiang Chen * The above copyright notice and this permission notice shall be 3152e02d37SLiang Chen * included in all copies or substantial portions of the Software. 3252e02d37SLiang Chen * 3352e02d37SLiang Chen * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3452e02d37SLiang Chen * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3552e02d37SLiang Chen * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3652e02d37SLiang Chen * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3752e02d37SLiang Chen * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 3852e02d37SLiang Chen * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 3952e02d37SLiang Chen * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4052e02d37SLiang Chen * OTHER DEALINGS IN THE SOFTWARE. 4152e02d37SLiang Chen */ 4252e02d37SLiang Chen 4352e02d37SLiang Chen#include <dt-bindings/clock/rk3328-cru.h> 4452e02d37SLiang Chen#include <dt-bindings/gpio/gpio.h> 4552e02d37SLiang Chen#include <dt-bindings/interrupt-controller/arm-gic.h> 4652e02d37SLiang Chen#include <dt-bindings/interrupt-controller/irq.h> 4752e02d37SLiang Chen#include <dt-bindings/pinctrl/rockchip.h> 4852e02d37SLiang Chen#include <dt-bindings/power/rk3328-power.h> 4952e02d37SLiang Chen#include <dt-bindings/soc/rockchip,boot-mode.h> 5052e02d37SLiang Chen 5152e02d37SLiang Chen/ { 5252e02d37SLiang Chen compatible = "rockchip,rk3328"; 5352e02d37SLiang Chen 5452e02d37SLiang Chen interrupt-parent = <&gic>; 5552e02d37SLiang Chen #address-cells = <2>; 5652e02d37SLiang Chen #size-cells = <2>; 5752e02d37SLiang Chen 5852e02d37SLiang Chen aliases { 5952e02d37SLiang Chen serial0 = &uart0; 6052e02d37SLiang Chen serial1 = &uart1; 6152e02d37SLiang Chen serial2 = &uart2; 6252e02d37SLiang Chen i2c0 = &i2c0; 6352e02d37SLiang Chen i2c1 = &i2c1; 6452e02d37SLiang Chen i2c2 = &i2c2; 6552e02d37SLiang Chen i2c3 = &i2c3; 6652e02d37SLiang Chen }; 6752e02d37SLiang Chen 6852e02d37SLiang Chen cpus { 6952e02d37SLiang Chen #address-cells = <2>; 7052e02d37SLiang Chen #size-cells = <0>; 7152e02d37SLiang Chen 7252e02d37SLiang Chen cpu0: cpu@0 { 7352e02d37SLiang Chen device_type = "cpu"; 7452e02d37SLiang Chen compatible = "arm,cortex-a53", "arm,armv8"; 7552e02d37SLiang Chen reg = <0x0 0x0>; 7652e02d37SLiang Chen clocks = <&cru ARMCLK>; 7752e02d37SLiang Chen enable-method = "psci"; 7852e02d37SLiang Chen next-level-cache = <&l2>; 7952e02d37SLiang Chen }; 8052e02d37SLiang Chen 8152e02d37SLiang Chen cpu1: cpu@1 { 8252e02d37SLiang Chen device_type = "cpu"; 8352e02d37SLiang Chen compatible = "arm,cortex-a53", "arm,armv8"; 8452e02d37SLiang Chen reg = <0x0 0x1>; 8552e02d37SLiang Chen clocks = <&cru ARMCLK>; 8652e02d37SLiang Chen enable-method = "psci"; 8752e02d37SLiang Chen next-level-cache = <&l2>; 8852e02d37SLiang Chen }; 8952e02d37SLiang Chen 9052e02d37SLiang Chen cpu2: cpu@2 { 9152e02d37SLiang Chen device_type = "cpu"; 9252e02d37SLiang Chen compatible = "arm,cortex-a53", "arm,armv8"; 9352e02d37SLiang Chen reg = <0x0 0x2>; 9452e02d37SLiang Chen clocks = <&cru ARMCLK>; 9552e02d37SLiang Chen enable-method = "psci"; 9652e02d37SLiang Chen next-level-cache = <&l2>; 9752e02d37SLiang Chen }; 9852e02d37SLiang Chen 9952e02d37SLiang Chen cpu3: cpu@3 { 10052e02d37SLiang Chen device_type = "cpu"; 10152e02d37SLiang Chen compatible = "arm,cortex-a53", "arm,armv8"; 10252e02d37SLiang Chen reg = <0x0 0x3>; 10352e02d37SLiang Chen clocks = <&cru ARMCLK>; 10452e02d37SLiang Chen enable-method = "psci"; 10552e02d37SLiang Chen next-level-cache = <&l2>; 10652e02d37SLiang Chen }; 10752e02d37SLiang Chen 10852e02d37SLiang Chen l2: l2-cache0 { 10952e02d37SLiang Chen compatible = "cache"; 11052e02d37SLiang Chen }; 11152e02d37SLiang Chen }; 11252e02d37SLiang Chen 11352e02d37SLiang Chen amba { 11452e02d37SLiang Chen compatible = "simple-bus"; 11552e02d37SLiang Chen #address-cells = <2>; 11652e02d37SLiang Chen #size-cells = <2>; 11752e02d37SLiang Chen ranges; 11852e02d37SLiang Chen 11952e02d37SLiang Chen dmac: dmac@ff1f0000 { 12052e02d37SLiang Chen compatible = "arm,pl330", "arm,primecell"; 12152e02d37SLiang Chen reg = <0x0 0xff1f0000 0x0 0x4000>; 12252e02d37SLiang Chen interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 12352e02d37SLiang Chen <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 12452e02d37SLiang Chen clocks = <&cru ACLK_DMAC>; 12552e02d37SLiang Chen clock-names = "apb_pclk"; 12652e02d37SLiang Chen #dma-cells = <1>; 12752e02d37SLiang Chen }; 12852e02d37SLiang Chen }; 12952e02d37SLiang Chen 13052e02d37SLiang Chen arm-pmu { 13152e02d37SLiang Chen compatible = "arm,cortex-a53-pmu"; 13252e02d37SLiang Chen interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 13352e02d37SLiang Chen <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 13452e02d37SLiang Chen <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 13552e02d37SLiang Chen <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 13652e02d37SLiang Chen interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 13752e02d37SLiang Chen }; 13852e02d37SLiang Chen 13952e02d37SLiang Chen psci { 14052e02d37SLiang Chen compatible = "arm,psci-1.0", "arm,psci-0.2"; 14152e02d37SLiang Chen method = "smc"; 14252e02d37SLiang Chen }; 14352e02d37SLiang Chen 14452e02d37SLiang Chen timer { 14552e02d37SLiang Chen compatible = "arm,armv8-timer"; 14652e02d37SLiang Chen interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 14752e02d37SLiang Chen <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 14852e02d37SLiang Chen <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 14952e02d37SLiang Chen <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 15052e02d37SLiang Chen }; 15152e02d37SLiang Chen 15252e02d37SLiang Chen xin24m: xin24m { 15352e02d37SLiang Chen compatible = "fixed-clock"; 15452e02d37SLiang Chen #clock-cells = <0>; 15552e02d37SLiang Chen clock-frequency = <24000000>; 15652e02d37SLiang Chen clock-output-names = "xin24m"; 15752e02d37SLiang Chen }; 15852e02d37SLiang Chen 159*fc982e0bSSugar Zhang spdif: spdif@ff030000 { 160*fc982e0bSSugar Zhang compatible = "rockchip,rk3328-spdif"; 161*fc982e0bSSugar Zhang reg = <0x0 0xff030000 0x0 0x1000>; 162*fc982e0bSSugar Zhang interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 163*fc982e0bSSugar Zhang clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF_8CH>; 164*fc982e0bSSugar Zhang clock-names = "mclk", "hclk"; 165*fc982e0bSSugar Zhang dmas = <&dmac 10>; 166*fc982e0bSSugar Zhang dma-names = "tx"; 167*fc982e0bSSugar Zhang pinctrl-names = "default"; 168*fc982e0bSSugar Zhang pinctrl-0 = <&spdifm2_tx>; 169*fc982e0bSSugar Zhang status = "disabled"; 170*fc982e0bSSugar Zhang }; 171*fc982e0bSSugar Zhang 17252e02d37SLiang Chen grf: syscon@ff100000 { 17352e02d37SLiang Chen compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd"; 17452e02d37SLiang Chen reg = <0x0 0xff100000 0x0 0x1000>; 17552e02d37SLiang Chen #address-cells = <1>; 17652e02d37SLiang Chen #size-cells = <1>; 17752e02d37SLiang Chen 178cc51f503SDavid Wu io_domains: io-domains { 179cc51f503SDavid Wu compatible = "rockchip,rk3328-io-voltage-domain"; 180cc51f503SDavid Wu status = "disabled"; 181cc51f503SDavid Wu }; 182cc51f503SDavid Wu 18352e02d37SLiang Chen power: power-controller { 18452e02d37SLiang Chen compatible = "rockchip,rk3328-power-controller"; 18552e02d37SLiang Chen #power-domain-cells = <1>; 18652e02d37SLiang Chen #address-cells = <1>; 18752e02d37SLiang Chen #size-cells = <0>; 18852e02d37SLiang Chen 18952e02d37SLiang Chen pd_hevc@RK3328_PD_HEVC { 19052e02d37SLiang Chen reg = <RK3328_PD_HEVC>; 19152e02d37SLiang Chen }; 19252e02d37SLiang Chen pd_video@RK3328_PD_VIDEO { 19352e02d37SLiang Chen reg = <RK3328_PD_VIDEO>; 19452e02d37SLiang Chen }; 19552e02d37SLiang Chen pd_vpu@RK3328_PD_VPU { 19652e02d37SLiang Chen reg = <RK3328_PD_VPU>; 19752e02d37SLiang Chen }; 19852e02d37SLiang Chen }; 19952e02d37SLiang Chen 20052e02d37SLiang Chen reboot-mode { 20152e02d37SLiang Chen compatible = "syscon-reboot-mode"; 20252e02d37SLiang Chen offset = <0x5c8>; 20352e02d37SLiang Chen mode-normal = <BOOT_NORMAL>; 20452e02d37SLiang Chen mode-recovery = <BOOT_RECOVERY>; 20552e02d37SLiang Chen mode-bootloader = <BOOT_FASTBOOT>; 20652e02d37SLiang Chen mode-loader = <BOOT_BL_DOWNLOAD>; 20752e02d37SLiang Chen }; 20852e02d37SLiang Chen 20952e02d37SLiang Chen }; 21052e02d37SLiang Chen 21152e02d37SLiang Chen uart0: serial@ff110000 { 21252e02d37SLiang Chen compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart"; 21352e02d37SLiang Chen reg = <0x0 0xff110000 0x0 0x100>; 21452e02d37SLiang Chen interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 21552e02d37SLiang Chen clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 21652e02d37SLiang Chen clock-names = "baudclk", "apb_pclk"; 21752e02d37SLiang Chen dmas = <&dmac 2>, <&dmac 3>; 21852e02d37SLiang Chen #dma-cells = <2>; 21952e02d37SLiang Chen pinctrl-names = "default"; 22052e02d37SLiang Chen pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 22152e02d37SLiang Chen reg-io-width = <4>; 22252e02d37SLiang Chen reg-shift = <2>; 22352e02d37SLiang Chen status = "disabled"; 22452e02d37SLiang Chen }; 22552e02d37SLiang Chen 22652e02d37SLiang Chen uart1: serial@ff120000 { 22752e02d37SLiang Chen compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart"; 22852e02d37SLiang Chen reg = <0x0 0xff120000 0x0 0x100>; 22952e02d37SLiang Chen interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 23052e02d37SLiang Chen clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 23152e02d37SLiang Chen clock-names = "sclk_uart", "pclk_uart"; 23252e02d37SLiang Chen dmas = <&dmac 4>, <&dmac 5>; 23352e02d37SLiang Chen #dma-cells = <2>; 23452e02d37SLiang Chen pinctrl-names = "default"; 23552e02d37SLiang Chen pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>; 23652e02d37SLiang Chen reg-io-width = <4>; 23752e02d37SLiang Chen reg-shift = <2>; 23852e02d37SLiang Chen status = "disabled"; 23952e02d37SLiang Chen }; 24052e02d37SLiang Chen 24152e02d37SLiang Chen uart2: serial@ff130000 { 24252e02d37SLiang Chen compatible = "rockchip,rk3328-uart", "snps,dw-apb-uart"; 24352e02d37SLiang Chen reg = <0x0 0xff130000 0x0 0x100>; 24452e02d37SLiang Chen interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 24552e02d37SLiang Chen clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 24652e02d37SLiang Chen clock-names = "baudclk", "apb_pclk"; 24752e02d37SLiang Chen dmas = <&dmac 6>, <&dmac 7>; 24852e02d37SLiang Chen #dma-cells = <2>; 24952e02d37SLiang Chen pinctrl-names = "default"; 25052e02d37SLiang Chen pinctrl-0 = <&uart2m1_xfer>; 25152e02d37SLiang Chen reg-io-width = <4>; 25252e02d37SLiang Chen reg-shift = <2>; 25352e02d37SLiang Chen status = "disabled"; 25452e02d37SLiang Chen }; 25552e02d37SLiang Chen 25652e02d37SLiang Chen i2c0: i2c@ff150000 { 25752e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 25852e02d37SLiang Chen reg = <0x0 0xff150000 0x0 0x1000>; 25952e02d37SLiang Chen interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 26052e02d37SLiang Chen #address-cells = <1>; 26152e02d37SLiang Chen #size-cells = <0>; 26252e02d37SLiang Chen clocks = <&cru SCLK_I2C0>, <&cru PCLK_I2C0>; 26352e02d37SLiang Chen clock-names = "i2c", "pclk"; 26452e02d37SLiang Chen pinctrl-names = "default"; 26552e02d37SLiang Chen pinctrl-0 = <&i2c0_xfer>; 26652e02d37SLiang Chen status = "disabled"; 26752e02d37SLiang Chen }; 26852e02d37SLiang Chen 26952e02d37SLiang Chen i2c1: i2c@ff160000 { 27052e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 27152e02d37SLiang Chen reg = <0x0 0xff160000 0x0 0x1000>; 27252e02d37SLiang Chen interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 27352e02d37SLiang Chen #address-cells = <1>; 27452e02d37SLiang Chen #size-cells = <0>; 27552e02d37SLiang Chen clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>; 27652e02d37SLiang Chen clock-names = "i2c", "pclk"; 27752e02d37SLiang Chen pinctrl-names = "default"; 27852e02d37SLiang Chen pinctrl-0 = <&i2c1_xfer>; 27952e02d37SLiang Chen status = "disabled"; 28052e02d37SLiang Chen }; 28152e02d37SLiang Chen 28252e02d37SLiang Chen i2c2: i2c@ff170000 { 28352e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 28452e02d37SLiang Chen reg = <0x0 0xff170000 0x0 0x1000>; 28552e02d37SLiang Chen interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 28652e02d37SLiang Chen #address-cells = <1>; 28752e02d37SLiang Chen #size-cells = <0>; 28852e02d37SLiang Chen clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>; 28952e02d37SLiang Chen clock-names = "i2c", "pclk"; 29052e02d37SLiang Chen pinctrl-names = "default"; 29152e02d37SLiang Chen pinctrl-0 = <&i2c2_xfer>; 29252e02d37SLiang Chen status = "disabled"; 29352e02d37SLiang Chen }; 29452e02d37SLiang Chen 29552e02d37SLiang Chen i2c3: i2c@ff180000 { 29652e02d37SLiang Chen compatible = "rockchip,rk3328-i2c", "rockchip,rk3399-i2c"; 29752e02d37SLiang Chen reg = <0x0 0xff180000 0x0 0x1000>; 29852e02d37SLiang Chen interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 29952e02d37SLiang Chen #address-cells = <1>; 30052e02d37SLiang Chen #size-cells = <0>; 30152e02d37SLiang Chen clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>; 30252e02d37SLiang Chen clock-names = "i2c", "pclk"; 30352e02d37SLiang Chen pinctrl-names = "default"; 30452e02d37SLiang Chen pinctrl-0 = <&i2c3_xfer>; 30552e02d37SLiang Chen status = "disabled"; 30652e02d37SLiang Chen }; 30752e02d37SLiang Chen 30852e02d37SLiang Chen spi0: spi@ff190000 { 30952e02d37SLiang Chen compatible = "rockchip,rk3328-spi", "rockchip,rk3066-spi"; 31052e02d37SLiang Chen reg = <0x0 0xff190000 0x0 0x1000>; 31152e02d37SLiang Chen interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 31252e02d37SLiang Chen #address-cells = <1>; 31352e02d37SLiang Chen #size-cells = <0>; 31452e02d37SLiang Chen clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>; 31552e02d37SLiang Chen clock-names = "spiclk", "apb_pclk"; 31652e02d37SLiang Chen dmas = <&dmac 8>, <&dmac 9>; 31752e02d37SLiang Chen dma-names = "tx", "rx"; 31852e02d37SLiang Chen pinctrl-names = "default"; 31952e02d37SLiang Chen pinctrl-0 = <&spi0m2_clk &spi0m2_tx &spi0m2_rx &spi0m2_cs0>; 32052e02d37SLiang Chen status = "disabled"; 32152e02d37SLiang Chen }; 32252e02d37SLiang Chen 32352e02d37SLiang Chen wdt: watchdog@ff1a0000 { 32452e02d37SLiang Chen compatible = "snps,dw-wdt"; 32552e02d37SLiang Chen reg = <0x0 0xff1a0000 0x0 0x100>; 32652e02d37SLiang Chen interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 32752e02d37SLiang Chen }; 32852e02d37SLiang Chen 32952e02d37SLiang Chen saradc: adc@ff280000 { 33052e02d37SLiang Chen compatible = "rockchip,rk3328-saradc", "rockchip,rk3399-saradc"; 33152e02d37SLiang Chen reg = <0x0 0xff280000 0x0 0x100>; 33252e02d37SLiang Chen interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 33352e02d37SLiang Chen #io-channel-cells = <1>; 33452e02d37SLiang Chen clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 33552e02d37SLiang Chen clock-names = "saradc", "apb_pclk"; 33652e02d37SLiang Chen resets = <&cru SRST_SARADC_P>; 33752e02d37SLiang Chen reset-names = "saradc-apb"; 33852e02d37SLiang Chen status = "disabled"; 33952e02d37SLiang Chen }; 34052e02d37SLiang Chen 34152e02d37SLiang Chen cru: clock-controller@ff440000 { 34252e02d37SLiang Chen compatible = "rockchip,rk3328-cru", "rockchip,cru", "syscon"; 34352e02d37SLiang Chen reg = <0x0 0xff440000 0x0 0x1000>; 34452e02d37SLiang Chen rockchip,grf = <&grf>; 34552e02d37SLiang Chen #clock-cells = <1>; 34652e02d37SLiang Chen #reset-cells = <1>; 34752e02d37SLiang Chen assigned-clocks = 34852e02d37SLiang Chen /* 34952e02d37SLiang Chen * CPLL should run at 1200, but that is to high for 35052e02d37SLiang Chen * the initial dividers of most of its children. 35152e02d37SLiang Chen * We need set cpll child clk div first, 35252e02d37SLiang Chen * and then set the cpll frequency. 35352e02d37SLiang Chen */ 35452e02d37SLiang Chen <&cru DCLK_LCDC>, <&cru SCLK_PDM>, 35552e02d37SLiang Chen <&cru SCLK_RTC32K>, <&cru SCLK_UART0>, 35652e02d37SLiang Chen <&cru SCLK_UART1>, <&cru SCLK_UART2>, 35752e02d37SLiang Chen <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>, 35852e02d37SLiang Chen <&cru ACLK_VIO_PRE>, <&cru ACLK_RGA_PRE>, 35952e02d37SLiang Chen <&cru ACLK_VOP_PRE>, <&cru ACLK_RKVDEC_PRE>, 36052e02d37SLiang Chen <&cru ACLK_RKVENC>, <&cru ACLK_VPU_PRE>, 36152e02d37SLiang Chen <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>, 36252e02d37SLiang Chen <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>, 36352e02d37SLiang Chen <&cru SCLK_SDIO>, <&cru SCLK_TSP>, 36452e02d37SLiang Chen <&cru SCLK_WIFI>, <&cru ARMCLK>, 36552e02d37SLiang Chen <&cru PLL_GPLL>, <&cru PLL_CPLL>, 36652e02d37SLiang Chen <&cru ACLK_BUS_PRE>, <&cru HCLK_BUS_PRE>, 36752e02d37SLiang Chen <&cru PCLK_BUS_PRE>, <&cru ACLK_PERI_PRE>, 36852e02d37SLiang Chen <&cru HCLK_PERI>, <&cru PCLK_PERI>, 36952e02d37SLiang Chen <&cru SCLK_RTC32K>; 37052e02d37SLiang Chen assigned-clock-parents = 37152e02d37SLiang Chen <&cru HDMIPHY>, <&cru PLL_APLL>, 37252e02d37SLiang Chen <&cru PLL_GPLL>, <&xin24m>, 37352e02d37SLiang Chen <&xin24m>, <&xin24m>; 37452e02d37SLiang Chen assigned-clock-rates = 37552e02d37SLiang Chen <0>, <61440000>, 37652e02d37SLiang Chen <0>, <24000000>, 37752e02d37SLiang Chen <24000000>, <24000000>, 37852e02d37SLiang Chen <15000000>, <15000000>, 37952e02d37SLiang Chen <100000000>, <100000000>, 38052e02d37SLiang Chen <100000000>, <100000000>, 38152e02d37SLiang Chen <50000000>, <100000000>, 38252e02d37SLiang Chen <100000000>, <100000000>, 38352e02d37SLiang Chen <50000000>, <50000000>, 38452e02d37SLiang Chen <50000000>, <50000000>, 38552e02d37SLiang Chen <24000000>, <600000000>, 38652e02d37SLiang Chen <491520000>, <1200000000>, 38752e02d37SLiang Chen <150000000>, <75000000>, 38852e02d37SLiang Chen <75000000>, <150000000>, 38952e02d37SLiang Chen <75000000>, <75000000>, 39052e02d37SLiang Chen <32768>; 39152e02d37SLiang Chen }; 39252e02d37SLiang Chen 393c60c0373SWilliam Wu usb2phy_grf: syscon@ff450000 { 394c60c0373SWilliam Wu compatible = "rockchip,rk3328-usb2phy-grf", "syscon", 395c60c0373SWilliam Wu "simple-mfd"; 396c60c0373SWilliam Wu reg = <0x0 0xff450000 0x0 0x10000>; 397c60c0373SWilliam Wu #address-cells = <1>; 398c60c0373SWilliam Wu #size-cells = <1>; 399c60c0373SWilliam Wu 400c60c0373SWilliam Wu u2phy: usb2-phy@100 { 401c60c0373SWilliam Wu compatible = "rockchip,rk3328-usb2phy"; 402c60c0373SWilliam Wu reg = <0x100 0x10>; 403c60c0373SWilliam Wu clocks = <&xin24m>; 404c60c0373SWilliam Wu clock-names = "phyclk"; 405c60c0373SWilliam Wu clock-output-names = "usb480m_phy"; 406c60c0373SWilliam Wu #clock-cells = <0>; 407c60c0373SWilliam Wu assigned-clocks = <&cru USB480M>; 408c60c0373SWilliam Wu assigned-clock-parents = <&u2phy>; 409c60c0373SWilliam Wu status = "disabled"; 410c60c0373SWilliam Wu 411c60c0373SWilliam Wu u2phy_otg: otg-port { 412c60c0373SWilliam Wu #phy-cells = <0>; 413c60c0373SWilliam Wu interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 414c60c0373SWilliam Wu <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 415c60c0373SWilliam Wu <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 416c60c0373SWilliam Wu interrupt-names = "otg-bvalid", "otg-id", 417c60c0373SWilliam Wu "linestate"; 418c60c0373SWilliam Wu status = "disabled"; 419c60c0373SWilliam Wu }; 420c60c0373SWilliam Wu 421c60c0373SWilliam Wu u2phy_host: host-port { 422c60c0373SWilliam Wu #phy-cells = <0>; 423c60c0373SWilliam Wu interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 424c60c0373SWilliam Wu interrupt-names = "linestate"; 425c60c0373SWilliam Wu status = "disabled"; 426c60c0373SWilliam Wu }; 427c60c0373SWilliam Wu }; 428c60c0373SWilliam Wu }; 429c60c0373SWilliam Wu 430d717f735SShawn Lin sdmmc: dwmmc@ff500000 { 431d717f735SShawn Lin compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 432d717f735SShawn Lin reg = <0x0 0xff500000 0x0 0x4000>; 433d717f735SShawn Lin interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 434d717f735SShawn Lin clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 435d717f735SShawn Lin <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 436d717f735SShawn Lin clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; 437d717f735SShawn Lin fifo-depth = <0x100>; 438d717f735SShawn Lin status = "disabled"; 439d717f735SShawn Lin }; 440d717f735SShawn Lin 441d717f735SShawn Lin sdio: dwmmc@ff510000 { 442d717f735SShawn Lin compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 443d717f735SShawn Lin reg = <0x0 0xff510000 0x0 0x4000>; 444d717f735SShawn Lin interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 445d717f735SShawn Lin clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 446d717f735SShawn Lin <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 447d717f735SShawn Lin clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; 448d717f735SShawn Lin fifo-depth = <0x100>; 449d717f735SShawn Lin status = "disabled"; 450d717f735SShawn Lin }; 451d717f735SShawn Lin 452d717f735SShawn Lin emmc: dwmmc@ff520000 { 453d717f735SShawn Lin compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc"; 454d717f735SShawn Lin reg = <0x0 0xff520000 0x0 0x4000>; 455d717f735SShawn Lin interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 456d717f735SShawn Lin clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 457d717f735SShawn Lin <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 458d717f735SShawn Lin clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; 459d717f735SShawn Lin fifo-depth = <0x100>; 460d717f735SShawn Lin status = "disabled"; 461d717f735SShawn Lin }; 462d717f735SShawn Lin 46352e02d37SLiang Chen gmac2io: ethernet@ff540000 { 46452e02d37SLiang Chen compatible = "rockchip,rk3328-gmac"; 46552e02d37SLiang Chen reg = <0x0 0xff540000 0x0 0x10000>; 46652e02d37SLiang Chen interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 46752e02d37SLiang Chen interrupt-names = "macirq"; 46852e02d37SLiang Chen clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_RX>, 46952e02d37SLiang Chen <&cru SCLK_MAC2IO_TX>, <&cru SCLK_MAC2IO_REF>, 47052e02d37SLiang Chen <&cru SCLK_MAC2IO_REFOUT>, <&cru ACLK_MAC2IO>, 47152e02d37SLiang Chen <&cru PCLK_MAC2IO>; 47252e02d37SLiang Chen clock-names = "stmmaceth", "mac_clk_rx", 47352e02d37SLiang Chen "mac_clk_tx", "clk_mac_ref", 47452e02d37SLiang Chen "clk_mac_refout", "aclk_mac", 47552e02d37SLiang Chen "pclk_mac"; 47652e02d37SLiang Chen resets = <&cru SRST_GMAC2IO_A>; 47752e02d37SLiang Chen reset-names = "stmmaceth"; 47852e02d37SLiang Chen rockchip,grf = <&grf>; 47952e02d37SLiang Chen status = "disabled"; 48052e02d37SLiang Chen }; 48152e02d37SLiang Chen 482c60c0373SWilliam Wu usb20_otg: usb@ff580000 { 483c60c0373SWilliam Wu compatible = "rockchip,rk3328-usb", "rockchip,rk3066-usb", 484c60c0373SWilliam Wu "snps,dwc2"; 485c60c0373SWilliam Wu reg = <0x0 0xff580000 0x0 0x40000>; 486c60c0373SWilliam Wu interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 487c60c0373SWilliam Wu clocks = <&cru HCLK_OTG>; 488c60c0373SWilliam Wu clock-names = "otg"; 489c60c0373SWilliam Wu dr_mode = "otg"; 490c60c0373SWilliam Wu g-np-tx-fifo-size = <16>; 491c60c0373SWilliam Wu g-rx-fifo-size = <280>; 492c60c0373SWilliam Wu g-tx-fifo-size = <256 128 128 64 32 16>; 493c60c0373SWilliam Wu g-use-dma; 494c60c0373SWilliam Wu phys = <&u2phy_otg>; 495c60c0373SWilliam Wu phy-names = "usb2-phy"; 496c60c0373SWilliam Wu status = "disabled"; 497c60c0373SWilliam Wu }; 498c60c0373SWilliam Wu 499c60c0373SWilliam Wu usb_host0_ehci: usb@ff5c0000 { 500c60c0373SWilliam Wu compatible = "generic-ehci"; 501c60c0373SWilliam Wu reg = <0x0 0xff5c0000 0x0 0x10000>; 502c60c0373SWilliam Wu interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 503c60c0373SWilliam Wu clocks = <&cru HCLK_HOST0>, <&u2phy>; 504c60c0373SWilliam Wu clock-names = "usbhost", "utmi"; 505c60c0373SWilliam Wu phys = <&u2phy_host>; 506c60c0373SWilliam Wu phy-names = "usb"; 507c60c0373SWilliam Wu status = "disabled"; 508c60c0373SWilliam Wu }; 509c60c0373SWilliam Wu 510c60c0373SWilliam Wu usb_host0_ohci: usb@ff5d0000 { 511c60c0373SWilliam Wu compatible = "generic-ohci"; 512c60c0373SWilliam Wu reg = <0x0 0xff5d0000 0x0 0x10000>; 513c60c0373SWilliam Wu interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 514c60c0373SWilliam Wu clocks = <&cru HCLK_HOST0>, <&u2phy>; 515c60c0373SWilliam Wu clock-names = "usbhost", "utmi"; 516c60c0373SWilliam Wu phys = <&u2phy_host>; 517c60c0373SWilliam Wu phy-names = "usb"; 518c60c0373SWilliam Wu status = "disabled"; 519c60c0373SWilliam Wu }; 520c60c0373SWilliam Wu 52152e02d37SLiang Chen gic: interrupt-controller@ff811000 { 52252e02d37SLiang Chen compatible = "arm,gic-400"; 52352e02d37SLiang Chen #interrupt-cells = <3>; 52452e02d37SLiang Chen #address-cells = <0>; 52552e02d37SLiang Chen interrupt-controller; 52652e02d37SLiang Chen reg = <0x0 0xff811000 0 0x1000>, 52752e02d37SLiang Chen <0x0 0xff812000 0 0x2000>, 52852e02d37SLiang Chen <0x0 0xff814000 0 0x2000>, 52952e02d37SLiang Chen <0x0 0xff816000 0 0x2000>; 53052e02d37SLiang Chen interrupts = <GIC_PPI 9 53152e02d37SLiang Chen (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 53252e02d37SLiang Chen }; 53352e02d37SLiang Chen 53452e02d37SLiang Chen pinctrl: pinctrl { 53552e02d37SLiang Chen compatible = "rockchip,rk3328-pinctrl"; 53652e02d37SLiang Chen rockchip,grf = <&grf>; 53752e02d37SLiang Chen #address-cells = <2>; 53852e02d37SLiang Chen #size-cells = <2>; 53952e02d37SLiang Chen ranges; 54052e02d37SLiang Chen 54152e02d37SLiang Chen gpio0: gpio0@ff210000 { 54252e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 54352e02d37SLiang Chen reg = <0x0 0xff210000 0x0 0x100>; 54452e02d37SLiang Chen interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 54552e02d37SLiang Chen clocks = <&cru PCLK_GPIO0>; 54652e02d37SLiang Chen 54752e02d37SLiang Chen gpio-controller; 54852e02d37SLiang Chen #gpio-cells = <2>; 54952e02d37SLiang Chen 55052e02d37SLiang Chen interrupt-controller; 55152e02d37SLiang Chen #interrupt-cells = <2>; 55252e02d37SLiang Chen }; 55352e02d37SLiang Chen 55452e02d37SLiang Chen gpio1: gpio1@ff220000 { 55552e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 55652e02d37SLiang Chen reg = <0x0 0xff220000 0x0 0x100>; 55752e02d37SLiang Chen interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 55852e02d37SLiang Chen clocks = <&cru PCLK_GPIO1>; 55952e02d37SLiang Chen 56052e02d37SLiang Chen gpio-controller; 56152e02d37SLiang Chen #gpio-cells = <2>; 56252e02d37SLiang Chen 56352e02d37SLiang Chen interrupt-controller; 56452e02d37SLiang Chen #interrupt-cells = <2>; 56552e02d37SLiang Chen }; 56652e02d37SLiang Chen 56752e02d37SLiang Chen gpio2: gpio2@ff230000 { 56852e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 56952e02d37SLiang Chen reg = <0x0 0xff230000 0x0 0x100>; 57052e02d37SLiang Chen interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 57152e02d37SLiang Chen clocks = <&cru PCLK_GPIO2>; 57252e02d37SLiang Chen 57352e02d37SLiang Chen gpio-controller; 57452e02d37SLiang Chen #gpio-cells = <2>; 57552e02d37SLiang Chen 57652e02d37SLiang Chen interrupt-controller; 57752e02d37SLiang Chen #interrupt-cells = <2>; 57852e02d37SLiang Chen }; 57952e02d37SLiang Chen 58052e02d37SLiang Chen gpio3: gpio3@ff240000 { 58152e02d37SLiang Chen compatible = "rockchip,gpio-bank"; 58252e02d37SLiang Chen reg = <0x0 0xff240000 0x0 0x100>; 58352e02d37SLiang Chen interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 58452e02d37SLiang Chen clocks = <&cru PCLK_GPIO3>; 58552e02d37SLiang Chen 58652e02d37SLiang Chen gpio-controller; 58752e02d37SLiang Chen #gpio-cells = <2>; 58852e02d37SLiang Chen 58952e02d37SLiang Chen interrupt-controller; 59052e02d37SLiang Chen #interrupt-cells = <2>; 59152e02d37SLiang Chen }; 59252e02d37SLiang Chen 59352e02d37SLiang Chen pcfg_pull_up: pcfg-pull-up { 59452e02d37SLiang Chen bias-pull-up; 59552e02d37SLiang Chen }; 59652e02d37SLiang Chen 59752e02d37SLiang Chen pcfg_pull_down: pcfg-pull-down { 59852e02d37SLiang Chen bias-pull-down; 59952e02d37SLiang Chen }; 60052e02d37SLiang Chen 60152e02d37SLiang Chen pcfg_pull_none: pcfg-pull-none { 60252e02d37SLiang Chen bias-disable; 60352e02d37SLiang Chen }; 60452e02d37SLiang Chen 60552e02d37SLiang Chen pcfg_pull_none_2ma: pcfg-pull-none-2ma { 60652e02d37SLiang Chen bias-disable; 60752e02d37SLiang Chen drive-strength = <2>; 60852e02d37SLiang Chen }; 60952e02d37SLiang Chen 61052e02d37SLiang Chen pcfg_pull_up_2ma: pcfg-pull-up-2ma { 61152e02d37SLiang Chen bias-pull-up; 61252e02d37SLiang Chen drive-strength = <2>; 61352e02d37SLiang Chen }; 61452e02d37SLiang Chen 61552e02d37SLiang Chen pcfg_pull_up_4ma: pcfg-pull-up-4ma { 61652e02d37SLiang Chen bias-pull-up; 61752e02d37SLiang Chen drive-strength = <4>; 61852e02d37SLiang Chen }; 61952e02d37SLiang Chen 62052e02d37SLiang Chen pcfg_pull_none_4ma: pcfg-pull-none-4ma { 62152e02d37SLiang Chen bias-disable; 62252e02d37SLiang Chen drive-strength = <4>; 62352e02d37SLiang Chen }; 62452e02d37SLiang Chen 62552e02d37SLiang Chen pcfg_pull_down_4ma: pcfg-pull-down-4ma { 62652e02d37SLiang Chen bias-pull-down; 62752e02d37SLiang Chen drive-strength = <4>; 62852e02d37SLiang Chen }; 62952e02d37SLiang Chen 63052e02d37SLiang Chen pcfg_pull_none_8ma: pcfg-pull-none-8ma { 63152e02d37SLiang Chen bias-disable; 63252e02d37SLiang Chen drive-strength = <8>; 63352e02d37SLiang Chen }; 63452e02d37SLiang Chen 63552e02d37SLiang Chen pcfg_pull_up_8ma: pcfg-pull-up-8ma { 63652e02d37SLiang Chen bias-pull-up; 63752e02d37SLiang Chen drive-strength = <8>; 63852e02d37SLiang Chen }; 63952e02d37SLiang Chen 64052e02d37SLiang Chen pcfg_pull_none_12ma: pcfg-pull-none-12ma { 64152e02d37SLiang Chen bias-disable; 64252e02d37SLiang Chen drive-strength = <12>; 64352e02d37SLiang Chen }; 64452e02d37SLiang Chen 64552e02d37SLiang Chen pcfg_pull_up_12ma: pcfg-pull-up-12ma { 64652e02d37SLiang Chen bias-pull-up; 64752e02d37SLiang Chen drive-strength = <12>; 64852e02d37SLiang Chen }; 64952e02d37SLiang Chen 65052e02d37SLiang Chen pcfg_output_high: pcfg-output-high { 65152e02d37SLiang Chen output-high; 65252e02d37SLiang Chen }; 65352e02d37SLiang Chen 65452e02d37SLiang Chen pcfg_output_low: pcfg-output-low { 65552e02d37SLiang Chen output-low; 65652e02d37SLiang Chen }; 65752e02d37SLiang Chen 65852e02d37SLiang Chen pcfg_input_high: pcfg-input-high { 65952e02d37SLiang Chen bias-pull-up; 66052e02d37SLiang Chen input-enable; 66152e02d37SLiang Chen }; 66252e02d37SLiang Chen 66352e02d37SLiang Chen pcfg_input: pcfg-input { 66452e02d37SLiang Chen input-enable; 66552e02d37SLiang Chen }; 66652e02d37SLiang Chen 66752e02d37SLiang Chen i2c0 { 66852e02d37SLiang Chen i2c0_xfer: i2c0-xfer { 66952e02d37SLiang Chen rockchip,pins = <2 RK_PD0 1 &pcfg_pull_none>, 67052e02d37SLiang Chen <2 RK_PD1 1 &pcfg_pull_none>; 67152e02d37SLiang Chen }; 67252e02d37SLiang Chen }; 67352e02d37SLiang Chen 67452e02d37SLiang Chen i2c1 { 67552e02d37SLiang Chen i2c1_xfer: i2c1-xfer { 67652e02d37SLiang Chen rockchip,pins = <2 RK_PA4 2 &pcfg_pull_none>, 67752e02d37SLiang Chen <2 RK_PA5 2 &pcfg_pull_none>; 67852e02d37SLiang Chen }; 67952e02d37SLiang Chen }; 68052e02d37SLiang Chen 68152e02d37SLiang Chen i2c2 { 68252e02d37SLiang Chen i2c2_xfer: i2c2-xfer { 68352e02d37SLiang Chen rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>, 68452e02d37SLiang Chen <2 RK_PB6 1 &pcfg_pull_none>; 68552e02d37SLiang Chen }; 68652e02d37SLiang Chen }; 68752e02d37SLiang Chen 68852e02d37SLiang Chen i2c3 { 68952e02d37SLiang Chen i2c3_xfer: i2c3-xfer { 69052e02d37SLiang Chen rockchip,pins = <0 RK_PA5 2 &pcfg_pull_none>, 69152e02d37SLiang Chen <0 RK_PA6 2 &pcfg_pull_none>; 69252e02d37SLiang Chen }; 69352e02d37SLiang Chen i2c3_gpio: i2c3-gpio { 69452e02d37SLiang Chen rockchip,pins = 69552e02d37SLiang Chen <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>, 69652e02d37SLiang Chen <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 69752e02d37SLiang Chen }; 69852e02d37SLiang Chen }; 69952e02d37SLiang Chen 70052e02d37SLiang Chen hdmi_i2c { 70152e02d37SLiang Chen hdmii2c_xfer: hdmii2c-xfer { 70252e02d37SLiang Chen rockchip,pins = <0 RK_PA5 1 &pcfg_pull_none>, 70352e02d37SLiang Chen <0 RK_PA6 1 &pcfg_pull_none>; 70452e02d37SLiang Chen }; 70552e02d37SLiang Chen }; 70652e02d37SLiang Chen 70752e02d37SLiang Chen tsadc { 70852e02d37SLiang Chen otp_gpio: otp-gpio { 70952e02d37SLiang Chen rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 71052e02d37SLiang Chen }; 71152e02d37SLiang Chen 71252e02d37SLiang Chen otp_out: otp-out { 71352e02d37SLiang Chen rockchip,pins = <2 RK_PB5 1 &pcfg_pull_none>; 71452e02d37SLiang Chen }; 71552e02d37SLiang Chen }; 71652e02d37SLiang Chen 71752e02d37SLiang Chen uart0 { 71852e02d37SLiang Chen uart0_xfer: uart0-xfer { 71952e02d37SLiang Chen rockchip,pins = <1 RK_PB1 1 &pcfg_pull_up>, 72052e02d37SLiang Chen <1 RK_PB0 1 &pcfg_pull_none>; 72152e02d37SLiang Chen }; 72252e02d37SLiang Chen 72352e02d37SLiang Chen uart0_cts: uart0-cts { 72452e02d37SLiang Chen rockchip,pins = <1 RK_PB3 1 &pcfg_pull_none>; 72552e02d37SLiang Chen }; 72652e02d37SLiang Chen 72752e02d37SLiang Chen uart0_rts: uart0-rts { 72852e02d37SLiang Chen rockchip,pins = <1 RK_PB2 1 &pcfg_pull_none>; 72952e02d37SLiang Chen }; 73052e02d37SLiang Chen 73152e02d37SLiang Chen uart0_rts_gpio: uart0-rts-gpio { 73252e02d37SLiang Chen rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 73352e02d37SLiang Chen }; 73452e02d37SLiang Chen }; 73552e02d37SLiang Chen 73652e02d37SLiang Chen uart1 { 73752e02d37SLiang Chen uart1_xfer: uart1-xfer { 73852e02d37SLiang Chen rockchip,pins = <3 RK_PA4 4 &pcfg_pull_up>, 73952e02d37SLiang Chen <3 RK_PA6 4 &pcfg_pull_none>; 74052e02d37SLiang Chen }; 74152e02d37SLiang Chen 74252e02d37SLiang Chen uart1_cts: uart1-cts { 74352e02d37SLiang Chen rockchip,pins = <3 RK_PA7 4 &pcfg_pull_none>; 74452e02d37SLiang Chen }; 74552e02d37SLiang Chen 74652e02d37SLiang Chen uart1_rts: uart1-rts { 74752e02d37SLiang Chen rockchip,pins = <3 RK_PA5 4 &pcfg_pull_none>; 74852e02d37SLiang Chen }; 74952e02d37SLiang Chen 75052e02d37SLiang Chen uart1_rts_gpio: uart1-rts-gpio { 75152e02d37SLiang Chen rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 75252e02d37SLiang Chen }; 75352e02d37SLiang Chen }; 75452e02d37SLiang Chen 75552e02d37SLiang Chen uart2-0 { 75652e02d37SLiang Chen uart2m0_xfer: uart2m0-xfer { 75752e02d37SLiang Chen rockchip,pins = <1 RK_PA0 2 &pcfg_pull_up>, 75852e02d37SLiang Chen <1 RK_PA1 2 &pcfg_pull_none>; 75952e02d37SLiang Chen }; 76052e02d37SLiang Chen }; 76152e02d37SLiang Chen 76252e02d37SLiang Chen uart2-1 { 76352e02d37SLiang Chen uart2m1_xfer: uart2m1-xfer { 76452e02d37SLiang Chen rockchip,pins = <2 RK_PA0 1 &pcfg_pull_up>, 76552e02d37SLiang Chen <2 RK_PA1 1 &pcfg_pull_none>; 76652e02d37SLiang Chen }; 76752e02d37SLiang Chen }; 76852e02d37SLiang Chen 76952e02d37SLiang Chen spi0-0 { 77052e02d37SLiang Chen spi0m0_clk: spi0m0-clk { 77152e02d37SLiang Chen rockchip,pins = <2 RK_PB0 1 &pcfg_pull_up>; 77252e02d37SLiang Chen }; 77352e02d37SLiang Chen 77452e02d37SLiang Chen spi0m0_cs0: spi0m0-cs0 { 77552e02d37SLiang Chen rockchip,pins = <2 RK_PB3 1 &pcfg_pull_up>; 77652e02d37SLiang Chen }; 77752e02d37SLiang Chen 77852e02d37SLiang Chen spi0m0_tx: spi0m0-tx { 77952e02d37SLiang Chen rockchip,pins = <2 RK_PB1 1 &pcfg_pull_up>; 78052e02d37SLiang Chen }; 78152e02d37SLiang Chen 78252e02d37SLiang Chen spi0m0_rx: spi0m0-rx { 78352e02d37SLiang Chen rockchip,pins = <2 RK_PB2 1 &pcfg_pull_up>; 78452e02d37SLiang Chen }; 78552e02d37SLiang Chen 78652e02d37SLiang Chen spi0m0_cs1: spi0m0-cs1 { 78752e02d37SLiang Chen rockchip,pins = <2 RK_PB4 1 &pcfg_pull_up>; 78852e02d37SLiang Chen }; 78952e02d37SLiang Chen }; 79052e02d37SLiang Chen 79152e02d37SLiang Chen spi0-1 { 79252e02d37SLiang Chen spi0m1_clk: spi0m1-clk { 79352e02d37SLiang Chen rockchip,pins = <3 RK_PC7 2 &pcfg_pull_up>; 79452e02d37SLiang Chen }; 79552e02d37SLiang Chen 79652e02d37SLiang Chen spi0m1_cs0: spi0m1-cs0 { 79752e02d37SLiang Chen rockchip,pins = <3 RK_PD2 2 &pcfg_pull_up>; 79852e02d37SLiang Chen }; 79952e02d37SLiang Chen 80052e02d37SLiang Chen spi0m1_tx: spi0m1-tx { 80152e02d37SLiang Chen rockchip,pins = <3 RK_PD1 2 &pcfg_pull_up>; 80252e02d37SLiang Chen }; 80352e02d37SLiang Chen 80452e02d37SLiang Chen spi0m1_rx: spi0m1-rx { 80552e02d37SLiang Chen rockchip,pins = <3 RK_PD0 2 &pcfg_pull_up>; 80652e02d37SLiang Chen }; 80752e02d37SLiang Chen 80852e02d37SLiang Chen spi0m1_cs1: spi0m1-cs1 { 80952e02d37SLiang Chen rockchip,pins = <3 RK_PD3 2 &pcfg_pull_up>; 81052e02d37SLiang Chen }; 81152e02d37SLiang Chen }; 81252e02d37SLiang Chen 81352e02d37SLiang Chen spi0-2 { 81452e02d37SLiang Chen spi0m2_clk: spi0m2-clk { 81552e02d37SLiang Chen rockchip,pins = <3 RK_PA0 4 &pcfg_pull_up>; 81652e02d37SLiang Chen }; 81752e02d37SLiang Chen 81852e02d37SLiang Chen spi0m2_cs0: spi0m2-cs0 { 81952e02d37SLiang Chen rockchip,pins = <3 RK_PB0 3 &pcfg_pull_up>; 82052e02d37SLiang Chen }; 82152e02d37SLiang Chen 82252e02d37SLiang Chen spi0m2_tx: spi0m2-tx { 82352e02d37SLiang Chen rockchip,pins = <3 RK_PA1 4 &pcfg_pull_up>; 82452e02d37SLiang Chen }; 82552e02d37SLiang Chen 82652e02d37SLiang Chen spi0m2_rx: spi0m2-rx { 82752e02d37SLiang Chen rockchip,pins = <3 RK_PA2 4 &pcfg_pull_up>; 82852e02d37SLiang Chen }; 82952e02d37SLiang Chen }; 83052e02d37SLiang Chen 83152e02d37SLiang Chen i2s1 { 83252e02d37SLiang Chen i2s1_mclk: i2s1-mclk { 83352e02d37SLiang Chen rockchip,pins = <2 RK_PB7 1 &pcfg_pull_none>; 83452e02d37SLiang Chen }; 83552e02d37SLiang Chen 83652e02d37SLiang Chen i2s1_sclk: i2s1-sclk { 83752e02d37SLiang Chen rockchip,pins = <2 RK_PC2 1 &pcfg_pull_none>; 83852e02d37SLiang Chen }; 83952e02d37SLiang Chen 84052e02d37SLiang Chen i2s1_lrckrx: i2s1-lrckrx { 84152e02d37SLiang Chen rockchip,pins = <2 RK_PC0 1 &pcfg_pull_none>; 84252e02d37SLiang Chen }; 84352e02d37SLiang Chen 84452e02d37SLiang Chen i2s1_lrcktx: i2s1-lrcktx { 84552e02d37SLiang Chen rockchip,pins = <2 RK_PC1 1 &pcfg_pull_none>; 84652e02d37SLiang Chen }; 84752e02d37SLiang Chen 84852e02d37SLiang Chen i2s1_sdi: i2s1-sdi { 84952e02d37SLiang Chen rockchip,pins = <2 RK_PC3 1 &pcfg_pull_none>; 85052e02d37SLiang Chen }; 85152e02d37SLiang Chen 85252e02d37SLiang Chen i2s1_sdo: i2s1-sdo { 85352e02d37SLiang Chen rockchip,pins = <2 RK_PC7 1 &pcfg_pull_none>; 85452e02d37SLiang Chen }; 85552e02d37SLiang Chen 85652e02d37SLiang Chen i2s1_sdio1: i2s1-sdio1 { 85752e02d37SLiang Chen rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>; 85852e02d37SLiang Chen }; 85952e02d37SLiang Chen 86052e02d37SLiang Chen i2s1_sdio2: i2s1-sdio2 { 86152e02d37SLiang Chen rockchip,pins = <2 RK_PC5 1 &pcfg_pull_none>; 86252e02d37SLiang Chen }; 86352e02d37SLiang Chen 86452e02d37SLiang Chen i2s1_sdio3: i2s1-sdio3 { 86552e02d37SLiang Chen rockchip,pins = <2 RK_PC6 1 &pcfg_pull_none>; 86652e02d37SLiang Chen }; 86752e02d37SLiang Chen 86852e02d37SLiang Chen i2s1_sleep: i2s1-sleep { 86952e02d37SLiang Chen rockchip,pins = 87052e02d37SLiang Chen <2 RK_PB7 RK_FUNC_GPIO &pcfg_input_high>, 87152e02d37SLiang Chen <2 RK_PC0 RK_FUNC_GPIO &pcfg_input_high>, 87252e02d37SLiang Chen <2 RK_PC1 RK_FUNC_GPIO &pcfg_input_high>, 87352e02d37SLiang Chen <2 RK_PC2 RK_FUNC_GPIO &pcfg_input_high>, 87452e02d37SLiang Chen <2 RK_PC3 RK_FUNC_GPIO &pcfg_input_high>, 87552e02d37SLiang Chen <2 RK_PC4 RK_FUNC_GPIO &pcfg_input_high>, 87652e02d37SLiang Chen <2 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>, 87752e02d37SLiang Chen <2 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>, 87852e02d37SLiang Chen <2 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>; 87952e02d37SLiang Chen }; 88052e02d37SLiang Chen }; 88152e02d37SLiang Chen 88252e02d37SLiang Chen i2s2-0 { 88352e02d37SLiang Chen i2s2m0_mclk: i2s2m0-mclk { 88452e02d37SLiang Chen rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>; 88552e02d37SLiang Chen }; 88652e02d37SLiang Chen 88752e02d37SLiang Chen i2s2m0_sclk: i2s2m0-sclk { 88852e02d37SLiang Chen rockchip,pins = <1 RK_PC6 1 &pcfg_pull_none>; 88952e02d37SLiang Chen }; 89052e02d37SLiang Chen 89152e02d37SLiang Chen i2s2m0_lrckrx: i2s2m0-lrckrx { 89252e02d37SLiang Chen rockchip,pins = <1 RK_PD2 1 &pcfg_pull_none>; 89352e02d37SLiang Chen }; 89452e02d37SLiang Chen 89552e02d37SLiang Chen i2s2m0_lrcktx: i2s2m0-lrcktx { 89652e02d37SLiang Chen rockchip,pins = <1 RK_PC7 1 &pcfg_pull_none>; 89752e02d37SLiang Chen }; 89852e02d37SLiang Chen 89952e02d37SLiang Chen i2s2m0_sdi: i2s2m0-sdi { 90052e02d37SLiang Chen rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>; 90152e02d37SLiang Chen }; 90252e02d37SLiang Chen 90352e02d37SLiang Chen i2s2m0_sdo: i2s2m0-sdo { 90452e02d37SLiang Chen rockchip,pins = <1 RK_PD1 1 &pcfg_pull_none>; 90552e02d37SLiang Chen }; 90652e02d37SLiang Chen 90752e02d37SLiang Chen i2s2m0_sleep: i2s2m0-sleep { 90852e02d37SLiang Chen rockchip,pins = 90952e02d37SLiang Chen <1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>, 91052e02d37SLiang Chen <1 RK_PC6 RK_FUNC_GPIO &pcfg_input_high>, 91152e02d37SLiang Chen <1 RK_PD2 RK_FUNC_GPIO &pcfg_input_high>, 91252e02d37SLiang Chen <1 RK_PC7 RK_FUNC_GPIO &pcfg_input_high>, 91352e02d37SLiang Chen <1 RK_PD0 RK_FUNC_GPIO &pcfg_input_high>, 91452e02d37SLiang Chen <1 RK_PD1 RK_FUNC_GPIO &pcfg_input_high>; 91552e02d37SLiang Chen }; 91652e02d37SLiang Chen }; 91752e02d37SLiang Chen 91852e02d37SLiang Chen i2s2-1 { 91952e02d37SLiang Chen i2s2m1_mclk: i2s2m1-mclk { 92052e02d37SLiang Chen rockchip,pins = <1 RK_PC5 1 &pcfg_pull_none>; 92152e02d37SLiang Chen }; 92252e02d37SLiang Chen 92352e02d37SLiang Chen i2s2m1_sclk: i2s2m1-sclk { 92452e02d37SLiang Chen rockchip,pins = <3 RK_PA0 6 &pcfg_pull_none>; 92552e02d37SLiang Chen }; 92652e02d37SLiang Chen 92752e02d37SLiang Chen i2s2m1_lrckrx: i2sm1-lrckrx { 92852e02d37SLiang Chen rockchip,pins = <3 RK_PB0 6 &pcfg_pull_none>; 92952e02d37SLiang Chen }; 93052e02d37SLiang Chen 93152e02d37SLiang Chen i2s2m1_lrcktx: i2s2m1-lrcktx { 93252e02d37SLiang Chen rockchip,pins = <3 RK_PB0 4 &pcfg_pull_none>; 93352e02d37SLiang Chen }; 93452e02d37SLiang Chen 93552e02d37SLiang Chen i2s2m1_sdi: i2s2m1-sdi { 93652e02d37SLiang Chen rockchip,pins = <3 RK_PA2 6 &pcfg_pull_none>; 93752e02d37SLiang Chen }; 93852e02d37SLiang Chen 93952e02d37SLiang Chen i2s2m1_sdo: i2s2m1-sdo { 94052e02d37SLiang Chen rockchip,pins = <3 RK_PA1 6 &pcfg_pull_none>; 94152e02d37SLiang Chen }; 94252e02d37SLiang Chen 94352e02d37SLiang Chen i2s2m1_sleep: i2s2m1-sleep { 94452e02d37SLiang Chen rockchip,pins = 94552e02d37SLiang Chen <1 RK_PC5 RK_FUNC_GPIO &pcfg_input_high>, 94652e02d37SLiang Chen <3 RK_PA0 RK_FUNC_GPIO &pcfg_input_high>, 94752e02d37SLiang Chen <3 RK_PB0 RK_FUNC_GPIO &pcfg_input_high>, 94852e02d37SLiang Chen <3 RK_PA2 RK_FUNC_GPIO &pcfg_input_high>, 94952e02d37SLiang Chen <3 RK_PA1 RK_FUNC_GPIO &pcfg_input_high>; 95052e02d37SLiang Chen }; 95152e02d37SLiang Chen }; 95252e02d37SLiang Chen 95352e02d37SLiang Chen spdif-0 { 95452e02d37SLiang Chen spdifm0_tx: spdifm0-tx { 95552e02d37SLiang Chen rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>; 95652e02d37SLiang Chen }; 95752e02d37SLiang Chen }; 95852e02d37SLiang Chen 95952e02d37SLiang Chen spdif-1 { 96052e02d37SLiang Chen spdifm1_tx: spdifm1-tx { 96152e02d37SLiang Chen rockchip,pins = <2 RK_PC1 2 &pcfg_pull_none>; 96252e02d37SLiang Chen }; 96352e02d37SLiang Chen }; 96452e02d37SLiang Chen 96552e02d37SLiang Chen spdif-2 { 96652e02d37SLiang Chen spdifm2_tx: spdifm2-tx { 96752e02d37SLiang Chen rockchip,pins = <0 RK_PA2 2 &pcfg_pull_none>; 96852e02d37SLiang Chen }; 96952e02d37SLiang Chen }; 97052e02d37SLiang Chen 97152e02d37SLiang Chen sdmmc0-0 { 97252e02d37SLiang Chen sdmmc0m0_pwren: sdmmc0m0-pwren { 97352e02d37SLiang Chen rockchip,pins = <2 RK_PA7 1 &pcfg_pull_up_4ma>; 97452e02d37SLiang Chen }; 97552e02d37SLiang Chen 97652e02d37SLiang Chen sdmmc0m0_gpio: sdmmc0m0-gpio { 97752e02d37SLiang Chen rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 97852e02d37SLiang Chen }; 97952e02d37SLiang Chen }; 98052e02d37SLiang Chen 98152e02d37SLiang Chen sdmmc0-1 { 98252e02d37SLiang Chen sdmmc0m1_pwren: sdmmc0m1-pwren { 98352e02d37SLiang Chen rockchip,pins = <0 RK_PD6 3 &pcfg_pull_up_4ma>; 98452e02d37SLiang Chen }; 98552e02d37SLiang Chen 98652e02d37SLiang Chen sdmmc0m1_gpio: sdmmc0m1-gpio { 98752e02d37SLiang Chen rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 98852e02d37SLiang Chen }; 98952e02d37SLiang Chen }; 99052e02d37SLiang Chen 99152e02d37SLiang Chen sdmmc0 { 99252e02d37SLiang Chen sdmmc0_clk: sdmmc0-clk { 99352e02d37SLiang Chen rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none_4ma>; 99452e02d37SLiang Chen }; 99552e02d37SLiang Chen 99652e02d37SLiang Chen sdmmc0_cmd: sdmmc0-cmd { 99752e02d37SLiang Chen rockchip,pins = <1 RK_PA4 1 &pcfg_pull_up_4ma>; 99852e02d37SLiang Chen }; 99952e02d37SLiang Chen 100052e02d37SLiang Chen sdmmc0_dectn: sdmmc0-dectn { 100152e02d37SLiang Chen rockchip,pins = <1 RK_PA5 1 &pcfg_pull_up_4ma>; 100252e02d37SLiang Chen }; 100352e02d37SLiang Chen 100452e02d37SLiang Chen sdmmc0_wrprt: sdmmc0-wrprt { 100552e02d37SLiang Chen rockchip,pins = <1 RK_PA7 1 &pcfg_pull_up_4ma>; 100652e02d37SLiang Chen }; 100752e02d37SLiang Chen 100852e02d37SLiang Chen sdmmc0_bus1: sdmmc0-bus1 { 100952e02d37SLiang Chen rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_4ma>; 101052e02d37SLiang Chen }; 101152e02d37SLiang Chen 101252e02d37SLiang Chen sdmmc0_bus4: sdmmc0-bus4 { 101352e02d37SLiang Chen rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up_4ma>, 101452e02d37SLiang Chen <1 RK_PA1 1 &pcfg_pull_up_4ma>, 101552e02d37SLiang Chen <1 RK_PA2 1 &pcfg_pull_up_4ma>, 101652e02d37SLiang Chen <1 RK_PA3 1 &pcfg_pull_up_4ma>; 101752e02d37SLiang Chen }; 101852e02d37SLiang Chen 101952e02d37SLiang Chen sdmmc0_gpio: sdmmc0-gpio { 102052e02d37SLiang Chen rockchip,pins = 102152e02d37SLiang Chen <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 102252e02d37SLiang Chen <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 102352e02d37SLiang Chen <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 102452e02d37SLiang Chen <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 102552e02d37SLiang Chen <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 102652e02d37SLiang Chen <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 102752e02d37SLiang Chen <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 102852e02d37SLiang Chen <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 102952e02d37SLiang Chen }; 103052e02d37SLiang Chen }; 103152e02d37SLiang Chen 103252e02d37SLiang Chen sdmmc0ext { 103352e02d37SLiang Chen sdmmc0ext_clk: sdmmc0ext-clk { 103452e02d37SLiang Chen rockchip,pins = <3 RK_PA2 3 &pcfg_pull_none_4ma>; 103552e02d37SLiang Chen }; 103652e02d37SLiang Chen 103752e02d37SLiang Chen sdmmc0ext_cmd: sdmmc0ext-cmd { 103852e02d37SLiang Chen rockchip,pins = <3 RK_PA0 3 &pcfg_pull_up_4ma>; 103952e02d37SLiang Chen }; 104052e02d37SLiang Chen 104152e02d37SLiang Chen sdmmc0ext_wrprt: sdmmc0ext-wrprt { 104252e02d37SLiang Chen rockchip,pins = <3 RK_PA3 3 &pcfg_pull_up_4ma>; 104352e02d37SLiang Chen }; 104452e02d37SLiang Chen 104552e02d37SLiang Chen sdmmc0ext_dectn: sdmmc0ext-dectn { 104652e02d37SLiang Chen rockchip,pins = <3 RK_PA1 3 &pcfg_pull_up_4ma>; 104752e02d37SLiang Chen }; 104852e02d37SLiang Chen 104952e02d37SLiang Chen sdmmc0ext_bus1: sdmmc0ext-bus1 { 105052e02d37SLiang Chen rockchip,pins = <3 RK_PA4 3 &pcfg_pull_up_4ma>; 105152e02d37SLiang Chen }; 105252e02d37SLiang Chen 105352e02d37SLiang Chen sdmmc0ext_bus4: sdmmc0ext-bus4 { 105452e02d37SLiang Chen rockchip,pins = 105552e02d37SLiang Chen <3 RK_PA4 3 &pcfg_pull_up_4ma>, 105652e02d37SLiang Chen <3 RK_PA5 3 &pcfg_pull_up_4ma>, 105752e02d37SLiang Chen <3 RK_PA6 3 &pcfg_pull_up_4ma>, 105852e02d37SLiang Chen <3 RK_PA7 3 &pcfg_pull_up_4ma>; 105952e02d37SLiang Chen }; 106052e02d37SLiang Chen 106152e02d37SLiang Chen sdmmc0ext_gpio: sdmmc0ext-gpio { 106252e02d37SLiang Chen rockchip,pins = 106352e02d37SLiang Chen <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 106452e02d37SLiang Chen <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 106552e02d37SLiang Chen <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 106652e02d37SLiang Chen <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 106752e02d37SLiang Chen <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 106852e02d37SLiang Chen <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 106952e02d37SLiang Chen <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 107052e02d37SLiang Chen <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 107152e02d37SLiang Chen }; 107252e02d37SLiang Chen }; 107352e02d37SLiang Chen 107452e02d37SLiang Chen sdmmc1 { 107552e02d37SLiang Chen sdmmc1_clk: sdmmc1-clk { 107652e02d37SLiang Chen rockchip,pins = <1 RK_PB4 1 &pcfg_pull_none_8ma>; 107752e02d37SLiang Chen }; 107852e02d37SLiang Chen 107952e02d37SLiang Chen sdmmc1_cmd: sdmmc1-cmd { 108052e02d37SLiang Chen rockchip,pins = <1 RK_PB5 1 &pcfg_pull_up_8ma>; 108152e02d37SLiang Chen }; 108252e02d37SLiang Chen 108352e02d37SLiang Chen sdmmc1_pwren: sdmmc1-pwren { 108452e02d37SLiang Chen rockchip,pins = <1 RK_PC2 1 &pcfg_pull_up_8ma>; 108552e02d37SLiang Chen }; 108652e02d37SLiang Chen 108752e02d37SLiang Chen sdmmc1_wrprt: sdmmc1-wrprt { 108852e02d37SLiang Chen rockchip,pins = <1 RK_PC4 1 &pcfg_pull_up_8ma>; 108952e02d37SLiang Chen }; 109052e02d37SLiang Chen 109152e02d37SLiang Chen sdmmc1_dectn: sdmmc1-dectn { 109252e02d37SLiang Chen rockchip,pins = <1 RK_PC3 1 &pcfg_pull_up_8ma>; 109352e02d37SLiang Chen }; 109452e02d37SLiang Chen 109552e02d37SLiang Chen sdmmc1_bus1: sdmmc1-bus1 { 109652e02d37SLiang Chen rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>; 109752e02d37SLiang Chen }; 109852e02d37SLiang Chen 109952e02d37SLiang Chen sdmmc1_bus4: sdmmc1-bus4 { 110052e02d37SLiang Chen rockchip,pins = <1 RK_PB6 1 &pcfg_pull_up_8ma>, 110152e02d37SLiang Chen <1 RK_PB7 1 &pcfg_pull_up_8ma>, 110252e02d37SLiang Chen <1 RK_PC0 1 &pcfg_pull_up_8ma>, 110352e02d37SLiang Chen <1 RK_PC1 1 &pcfg_pull_up_8ma>; 110452e02d37SLiang Chen }; 110552e02d37SLiang Chen 110652e02d37SLiang Chen sdmmc1_gpio: sdmmc1-gpio { 110752e02d37SLiang Chen rockchip,pins = 110852e02d37SLiang Chen <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 110952e02d37SLiang Chen <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 111052e02d37SLiang Chen <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 111152e02d37SLiang Chen <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 111252e02d37SLiang Chen <1 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 111352e02d37SLiang Chen <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 111452e02d37SLiang Chen <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 111552e02d37SLiang Chen <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_up_4ma>, 111652e02d37SLiang Chen <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up_4ma>; 111752e02d37SLiang Chen }; 111852e02d37SLiang Chen }; 111952e02d37SLiang Chen 112052e02d37SLiang Chen emmc { 112152e02d37SLiang Chen emmc_clk: emmc-clk { 112252e02d37SLiang Chen rockchip,pins = <3 RK_PC5 2 &pcfg_pull_none_12ma>; 112352e02d37SLiang Chen }; 112452e02d37SLiang Chen 112552e02d37SLiang Chen emmc_cmd: emmc-cmd { 112652e02d37SLiang Chen rockchip,pins = <3 RK_PC3 2 &pcfg_pull_up_12ma>; 112752e02d37SLiang Chen }; 112852e02d37SLiang Chen 112952e02d37SLiang Chen emmc_pwren: emmc-pwren { 113052e02d37SLiang Chen rockchip,pins = <3 RK_PC6 2 &pcfg_pull_none>; 113152e02d37SLiang Chen }; 113252e02d37SLiang Chen 113352e02d37SLiang Chen emmc_rstnout: emmc-rstnout { 113452e02d37SLiang Chen rockchip,pins = <3 RK_PC4 2 &pcfg_pull_none>; 113552e02d37SLiang Chen }; 113652e02d37SLiang Chen 113752e02d37SLiang Chen emmc_bus1: emmc-bus1 { 113852e02d37SLiang Chen rockchip,pins = <0 RK_PA7 2 &pcfg_pull_up_12ma>; 113952e02d37SLiang Chen }; 114052e02d37SLiang Chen 114152e02d37SLiang Chen emmc_bus4: emmc-bus4 { 114252e02d37SLiang Chen rockchip,pins = 114352e02d37SLiang Chen <0 RK_PA7 2 &pcfg_pull_up_12ma>, 114452e02d37SLiang Chen <2 RK_PD4 2 &pcfg_pull_up_12ma>, 114552e02d37SLiang Chen <2 RK_PD5 2 &pcfg_pull_up_12ma>, 114652e02d37SLiang Chen <2 RK_PD6 2 &pcfg_pull_up_12ma>; 114752e02d37SLiang Chen }; 114852e02d37SLiang Chen 114952e02d37SLiang Chen emmc_bus8: emmc-bus8 { 115052e02d37SLiang Chen rockchip,pins = 115152e02d37SLiang Chen <0 RK_PA7 2 &pcfg_pull_up_12ma>, 115252e02d37SLiang Chen <2 RK_PD4 2 &pcfg_pull_up_12ma>, 115352e02d37SLiang Chen <2 RK_PD5 2 &pcfg_pull_up_12ma>, 115452e02d37SLiang Chen <2 RK_PD6 2 &pcfg_pull_up_12ma>, 115552e02d37SLiang Chen <2 RK_PD7 2 &pcfg_pull_up_12ma>, 115652e02d37SLiang Chen <3 RK_PC0 2 &pcfg_pull_up_12ma>, 115752e02d37SLiang Chen <3 RK_PC1 2 &pcfg_pull_up_12ma>, 115852e02d37SLiang Chen <3 RK_PC2 2 &pcfg_pull_up_12ma>; 115952e02d37SLiang Chen }; 116052e02d37SLiang Chen }; 116152e02d37SLiang Chen 116252e02d37SLiang Chen pwm0 { 116352e02d37SLiang Chen pwm0_pin: pwm0-pin { 116452e02d37SLiang Chen rockchip,pins = <2 RK_PA4 1 &pcfg_pull_none>; 116552e02d37SLiang Chen }; 116652e02d37SLiang Chen }; 116752e02d37SLiang Chen 116852e02d37SLiang Chen pwm1 { 116952e02d37SLiang Chen pwm1_pin: pwm1-pin { 117052e02d37SLiang Chen rockchip,pins = <2 RK_PA5 1 &pcfg_pull_none>; 117152e02d37SLiang Chen }; 117252e02d37SLiang Chen }; 117352e02d37SLiang Chen 117452e02d37SLiang Chen pwm2 { 117552e02d37SLiang Chen pwm2_pin: pwm2-pin { 117652e02d37SLiang Chen rockchip,pins = <2 RK_PA6 1 &pcfg_pull_none>; 117752e02d37SLiang Chen }; 117852e02d37SLiang Chen }; 117952e02d37SLiang Chen 118052e02d37SLiang Chen pwmir { 118152e02d37SLiang Chen pwmir_pin: pwmir-pin { 118252e02d37SLiang Chen rockchip,pins = <2 RK_PA2 1 &pcfg_pull_none>; 118352e02d37SLiang Chen }; 118452e02d37SLiang Chen }; 118552e02d37SLiang Chen 118652e02d37SLiang Chen gmac-1 { 118752e02d37SLiang Chen rgmiim1_pins: rgmiim1-pins { 118852e02d37SLiang Chen rockchip,pins = 118952e02d37SLiang Chen /* mac_txclk */ 119052e02d37SLiang Chen <1 RK_PB4 2 &pcfg_pull_none_12ma>, 119152e02d37SLiang Chen /* mac_rxclk */ 119252e02d37SLiang Chen <1 RK_PB5 2 &pcfg_pull_none_2ma>, 119352e02d37SLiang Chen /* mac_mdio */ 119452e02d37SLiang Chen <1 RK_PC3 2 &pcfg_pull_none_2ma>, 119552e02d37SLiang Chen /* mac_txen */ 119652e02d37SLiang Chen <1 RK_PD1 2 &pcfg_pull_none_12ma>, 119752e02d37SLiang Chen /* mac_clk */ 119852e02d37SLiang Chen <1 RK_PC5 2 &pcfg_pull_none_2ma>, 119952e02d37SLiang Chen /* mac_rxdv */ 120052e02d37SLiang Chen <1 RK_PC6 2 &pcfg_pull_none_2ma>, 120152e02d37SLiang Chen /* mac_mdc */ 120252e02d37SLiang Chen <1 RK_PC7 2 &pcfg_pull_none_2ma>, 120352e02d37SLiang Chen /* mac_rxd1 */ 120452e02d37SLiang Chen <1 RK_PB2 2 &pcfg_pull_none_2ma>, 120552e02d37SLiang Chen /* mac_rxd0 */ 120652e02d37SLiang Chen <1 RK_PB3 2 &pcfg_pull_none_2ma>, 120752e02d37SLiang Chen /* mac_txd1 */ 120852e02d37SLiang Chen <1 RK_PB0 2 &pcfg_pull_none_12ma>, 120952e02d37SLiang Chen /* mac_txd0 */ 121052e02d37SLiang Chen <1 RK_PB1 2 &pcfg_pull_none_12ma>, 121152e02d37SLiang Chen /* mac_rxd3 */ 121252e02d37SLiang Chen <1 RK_PB6 2 &pcfg_pull_none_2ma>, 121352e02d37SLiang Chen /* mac_rxd2 */ 121452e02d37SLiang Chen <1 RK_PB7 2 &pcfg_pull_none_2ma>, 121552e02d37SLiang Chen /* mac_txd3 */ 121652e02d37SLiang Chen <1 RK_PC0 2 &pcfg_pull_none_12ma>, 121752e02d37SLiang Chen /* mac_txd2 */ 121852e02d37SLiang Chen <1 RK_PC1 2 &pcfg_pull_none_12ma>, 121952e02d37SLiang Chen 122052e02d37SLiang Chen /* mac_txclk */ 122152e02d37SLiang Chen <0 RK_PB0 1 &pcfg_pull_none>, 122252e02d37SLiang Chen /* mac_txen */ 122352e02d37SLiang Chen <0 RK_PB4 1 &pcfg_pull_none>, 122452e02d37SLiang Chen /* mac_clk */ 122552e02d37SLiang Chen <0 RK_PD0 1 &pcfg_pull_none>, 122652e02d37SLiang Chen /* mac_txd1 */ 122752e02d37SLiang Chen <0 RK_PC0 1 &pcfg_pull_none>, 122852e02d37SLiang Chen /* mac_txd0 */ 122952e02d37SLiang Chen <0 RK_PC1 1 &pcfg_pull_none>, 123052e02d37SLiang Chen /* mac_txd3 */ 123152e02d37SLiang Chen <0 RK_PC7 1 &pcfg_pull_none>, 123252e02d37SLiang Chen /* mac_txd2 */ 123352e02d37SLiang Chen <0 RK_PC6 1 &pcfg_pull_none>; 123452e02d37SLiang Chen }; 123552e02d37SLiang Chen 123652e02d37SLiang Chen rmiim1_pins: rmiim1-pins { 123752e02d37SLiang Chen rockchip,pins = 123852e02d37SLiang Chen /* mac_mdio */ 123952e02d37SLiang Chen <1 RK_PC3 2 &pcfg_pull_none_2ma>, 124052e02d37SLiang Chen /* mac_txen */ 124152e02d37SLiang Chen <1 RK_PD1 2 &pcfg_pull_none_12ma>, 124252e02d37SLiang Chen /* mac_clk */ 124352e02d37SLiang Chen <1 RK_PC5 2 &pcfg_pull_none_2ma>, 124452e02d37SLiang Chen /* mac_rxer */ 124552e02d37SLiang Chen <1 RK_PD0 2 &pcfg_pull_none_2ma>, 124652e02d37SLiang Chen /* mac_rxdv */ 124752e02d37SLiang Chen <1 RK_PC6 2 &pcfg_pull_none_2ma>, 124852e02d37SLiang Chen /* mac_mdc */ 124952e02d37SLiang Chen <1 RK_PC7 2 &pcfg_pull_none_2ma>, 125052e02d37SLiang Chen /* mac_rxd1 */ 125152e02d37SLiang Chen <1 RK_PB2 2 &pcfg_pull_none_2ma>, 125252e02d37SLiang Chen /* mac_rxd0 */ 125352e02d37SLiang Chen <1 RK_PB3 2 &pcfg_pull_none_2ma>, 125452e02d37SLiang Chen /* mac_txd1 */ 125552e02d37SLiang Chen <1 RK_PB0 2 &pcfg_pull_none_12ma>, 125652e02d37SLiang Chen /* mac_txd0 */ 125752e02d37SLiang Chen <1 RK_PB1 2 &pcfg_pull_none_12ma>, 125852e02d37SLiang Chen 125952e02d37SLiang Chen /* mac_mdio */ 126052e02d37SLiang Chen <0 RK_PB3 1 &pcfg_pull_none>, 126152e02d37SLiang Chen /* mac_txen */ 126252e02d37SLiang Chen <0 RK_PB4 1 &pcfg_pull_none>, 126352e02d37SLiang Chen /* mac_clk */ 126452e02d37SLiang Chen <0 RK_PD0 1 &pcfg_pull_none>, 126552e02d37SLiang Chen /* mac_mdc */ 126652e02d37SLiang Chen <0 RK_PC3 1 &pcfg_pull_none>, 126752e02d37SLiang Chen /* mac_txd1 */ 126852e02d37SLiang Chen <0 RK_PC0 1 &pcfg_pull_none>, 126952e02d37SLiang Chen /* mac_txd0 */ 127052e02d37SLiang Chen <0 RK_PC1 1 &pcfg_pull_none>; 127152e02d37SLiang Chen }; 127252e02d37SLiang Chen }; 127352e02d37SLiang Chen 127452e02d37SLiang Chen gmac2phy { 127552e02d37SLiang Chen fephyled_speed100: fephyled-speed100 { 127652e02d37SLiang Chen rockchip,pins = <0 RK_PD7 1 &pcfg_pull_none>; 127752e02d37SLiang Chen }; 127852e02d37SLiang Chen 127952e02d37SLiang Chen fephyled_speed10: fephyled-speed10 { 128052e02d37SLiang Chen rockchip,pins = <0 RK_PD6 1 &pcfg_pull_none>; 128152e02d37SLiang Chen }; 128252e02d37SLiang Chen 128352e02d37SLiang Chen fephyled_duplex: fephyled-duplex { 128452e02d37SLiang Chen rockchip,pins = <0 RK_PD6 2 &pcfg_pull_none>; 128552e02d37SLiang Chen }; 128652e02d37SLiang Chen 128752e02d37SLiang Chen fephyled_rxm0: fephyled-rxm0 { 128852e02d37SLiang Chen rockchip,pins = <0 RK_PD5 1 &pcfg_pull_none>; 128952e02d37SLiang Chen }; 129052e02d37SLiang Chen 129152e02d37SLiang Chen fephyled_txm0: fephyled-txm0 { 129252e02d37SLiang Chen rockchip,pins = <0 RK_PD5 2 &pcfg_pull_none>; 129352e02d37SLiang Chen }; 129452e02d37SLiang Chen 129552e02d37SLiang Chen fephyled_linkm0: fephyled-linkm0 { 129652e02d37SLiang Chen rockchip,pins = <0 RK_PD4 1 &pcfg_pull_none>; 129752e02d37SLiang Chen }; 129852e02d37SLiang Chen 129952e02d37SLiang Chen fephyled_rxm1: fephyled-rxm1 { 130052e02d37SLiang Chen rockchip,pins = <2 RK_PD1 2 &pcfg_pull_none>; 130152e02d37SLiang Chen }; 130252e02d37SLiang Chen 130352e02d37SLiang Chen fephyled_txm1: fephyled-txm1 { 130452e02d37SLiang Chen rockchip,pins = <2 RK_PD1 3 &pcfg_pull_none>; 130552e02d37SLiang Chen }; 130652e02d37SLiang Chen 130752e02d37SLiang Chen fephyled_linkm1: fephyled-linkm1 { 130852e02d37SLiang Chen rockchip,pins = <2 RK_PD0 2 &pcfg_pull_none>; 130952e02d37SLiang Chen }; 131052e02d37SLiang Chen }; 131152e02d37SLiang Chen 131252e02d37SLiang Chen tsadc_pin { 131352e02d37SLiang Chen tsadc_int: tsadc-int { 131452e02d37SLiang Chen rockchip,pins = <2 RK_PB5 2 &pcfg_pull_none>; 131552e02d37SLiang Chen }; 131652e02d37SLiang Chen tsadc_gpio: tsadc-gpio { 131752e02d37SLiang Chen rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 131852e02d37SLiang Chen }; 131952e02d37SLiang Chen }; 132052e02d37SLiang Chen 132152e02d37SLiang Chen hdmi_pin { 132252e02d37SLiang Chen hdmi_cec: hdmi-cec { 132352e02d37SLiang Chen rockchip,pins = <0 RK_PA3 1 &pcfg_pull_none>; 132452e02d37SLiang Chen }; 132552e02d37SLiang Chen 132652e02d37SLiang Chen hdmi_hpd: hdmi-hpd { 132752e02d37SLiang Chen rockchip,pins = <0 RK_PA4 1 &pcfg_pull_down>; 132852e02d37SLiang Chen }; 132952e02d37SLiang Chen }; 133052e02d37SLiang Chen 133152e02d37SLiang Chen cif-0 { 133252e02d37SLiang Chen dvp_d2d9_m0:dvp-d2d9-m0 { 133352e02d37SLiang Chen rockchip,pins = 133452e02d37SLiang Chen /* cif_d0 */ 133552e02d37SLiang Chen <3 RK_PA4 2 &pcfg_pull_none>, 133652e02d37SLiang Chen /* cif_d1 */ 133752e02d37SLiang Chen <3 RK_PA5 2 &pcfg_pull_none>, 133852e02d37SLiang Chen /* cif_d2 */ 133952e02d37SLiang Chen <3 RK_PA6 2 &pcfg_pull_none>, 134052e02d37SLiang Chen /* cif_d3 */ 134152e02d37SLiang Chen <3 RK_PA7 2 &pcfg_pull_none>, 134252e02d37SLiang Chen /* cif_d4 */ 134352e02d37SLiang Chen <3 RK_PB0 2 &pcfg_pull_none>, 134452e02d37SLiang Chen /* cif_d5m0 */ 134552e02d37SLiang Chen <3 RK_PB1 2 &pcfg_pull_none>, 134652e02d37SLiang Chen /* cif_d6m0 */ 134752e02d37SLiang Chen <3 RK_PB2 2 &pcfg_pull_none>, 134852e02d37SLiang Chen /* cif_d7m0 */ 134952e02d37SLiang Chen <3 RK_PB3 2 &pcfg_pull_none>, 135052e02d37SLiang Chen /* cif_href */ 135152e02d37SLiang Chen <3 RK_PA1 2 &pcfg_pull_none>, 135252e02d37SLiang Chen /* cif_vsync */ 135352e02d37SLiang Chen <3 RK_PA0 2 &pcfg_pull_none>, 135452e02d37SLiang Chen /* cif_clkoutm0 */ 135552e02d37SLiang Chen <3 RK_PA3 2 &pcfg_pull_none>, 135652e02d37SLiang Chen /* cif_clkin */ 135752e02d37SLiang Chen <3 RK_PA2 2 &pcfg_pull_none>; 135852e02d37SLiang Chen }; 135952e02d37SLiang Chen }; 136052e02d37SLiang Chen 136152e02d37SLiang Chen cif-1 { 136252e02d37SLiang Chen dvp_d2d9_m1:dvp-d2d9-m1 { 136352e02d37SLiang Chen rockchip,pins = 136452e02d37SLiang Chen /* cif_d0 */ 136552e02d37SLiang Chen <3 RK_PA4 2 &pcfg_pull_none>, 136652e02d37SLiang Chen /* cif_d1 */ 136752e02d37SLiang Chen <3 RK_PA5 2 &pcfg_pull_none>, 136852e02d37SLiang Chen /* cif_d2 */ 136952e02d37SLiang Chen <3 RK_PA6 2 &pcfg_pull_none>, 137052e02d37SLiang Chen /* cif_d3 */ 137152e02d37SLiang Chen <3 RK_PA7 2 &pcfg_pull_none>, 137252e02d37SLiang Chen /* cif_d4 */ 137352e02d37SLiang Chen <3 RK_PB0 2 &pcfg_pull_none>, 137452e02d37SLiang Chen /* cif_d5m1 */ 137552e02d37SLiang Chen <2 RK_PC0 4 &pcfg_pull_none>, 137652e02d37SLiang Chen /* cif_d6m1 */ 137752e02d37SLiang Chen <2 RK_PC1 4 &pcfg_pull_none>, 137852e02d37SLiang Chen /* cif_d7m1 */ 137952e02d37SLiang Chen <2 RK_PC2 4 &pcfg_pull_none>, 138052e02d37SLiang Chen /* cif_href */ 138152e02d37SLiang Chen <3 RK_PA1 2 &pcfg_pull_none>, 138252e02d37SLiang Chen /* cif_vsync */ 138352e02d37SLiang Chen <3 RK_PA0 2 &pcfg_pull_none>, 138452e02d37SLiang Chen /* cif_clkoutm1 */ 138552e02d37SLiang Chen <2 RK_PB7 4 &pcfg_pull_none>, 138652e02d37SLiang Chen /* cif_clkin */ 138752e02d37SLiang Chen <3 RK_PA2 2 &pcfg_pull_none>; 138852e02d37SLiang Chen }; 138952e02d37SLiang Chen }; 139052e02d37SLiang Chen }; 139152e02d37SLiang Chen}; 1392