1*b790c2caSHeiko Stübner/* 2*b790c2caSHeiko Stübner * Copyright (c) 2015 Heiko Stuebner <heiko@sntech.de> 3*b790c2caSHeiko Stübner * 4*b790c2caSHeiko Stübner * This file is dual-licensed: you can use it either under the terms 5*b790c2caSHeiko Stübner * of the GPL or the X11 license, at your option. Note that this dual 6*b790c2caSHeiko Stübner * licensing only applies to this file, and not this project as a 7*b790c2caSHeiko Stübner * whole. 8*b790c2caSHeiko Stübner * 9*b790c2caSHeiko Stübner * a) This library is free software; you can redistribute it and/or 10*b790c2caSHeiko Stübner * modify it under the terms of the GNU General Public License as 11*b790c2caSHeiko Stübner * published by the Free Software Foundation; either version 2 of the 12*b790c2caSHeiko Stübner * License, or (at your option) any later version. 13*b790c2caSHeiko Stübner * 14*b790c2caSHeiko Stübner * This library is distributed in the hope that it will be useful, 15*b790c2caSHeiko Stübner * but WITHOUT ANY WARRANTY; without even the implied warranty of 16*b790c2caSHeiko Stübner * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*b790c2caSHeiko Stübner * GNU General Public License for more details. 18*b790c2caSHeiko Stübner * 19*b790c2caSHeiko Stübner * Or, alternatively, 20*b790c2caSHeiko Stübner * 21*b790c2caSHeiko Stübner * b) Permission is hereby granted, free of charge, to any person 22*b790c2caSHeiko Stübner * obtaining a copy of this software and associated documentation 23*b790c2caSHeiko Stübner * files (the "Software"), to deal in the Software without 24*b790c2caSHeiko Stübner * restriction, including without limitation the rights to use, 25*b790c2caSHeiko Stübner * copy, modify, merge, publish, distribute, sublicense, and/or 26*b790c2caSHeiko Stübner * sell copies of the Software, and to permit persons to whom the 27*b790c2caSHeiko Stübner * Software is furnished to do so, subject to the following 28*b790c2caSHeiko Stübner * conditions: 29*b790c2caSHeiko Stübner * 30*b790c2caSHeiko Stübner * The above copyright notice and this permission notice shall be 31*b790c2caSHeiko Stübner * included in all copies or substantial portions of the Software. 32*b790c2caSHeiko Stübner * 33*b790c2caSHeiko Stübner * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34*b790c2caSHeiko Stübner * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35*b790c2caSHeiko Stübner * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36*b790c2caSHeiko Stübner * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37*b790c2caSHeiko Stübner * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38*b790c2caSHeiko Stübner * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39*b790c2caSHeiko Stübner * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40*b790c2caSHeiko Stübner * OTHER DEALINGS IN THE SOFTWARE. 41*b790c2caSHeiko Stübner */ 42*b790c2caSHeiko Stübner 43*b790c2caSHeiko Stübner#include <dt-bindings/clock/rk3368-cru.h> 44*b790c2caSHeiko Stübner#include <dt-bindings/gpio/gpio.h> 45*b790c2caSHeiko Stübner#include <dt-bindings/interrupt-controller/irq.h> 46*b790c2caSHeiko Stübner#include <dt-bindings/interrupt-controller/arm-gic.h> 47*b790c2caSHeiko Stübner#include <dt-bindings/pinctrl/rockchip.h> 48*b790c2caSHeiko Stübner 49*b790c2caSHeiko Stübner/ { 50*b790c2caSHeiko Stübner compatible = "rockchip,rk3368"; 51*b790c2caSHeiko Stübner interrupt-parent = <&gic>; 52*b790c2caSHeiko Stübner #address-cells = <2>; 53*b790c2caSHeiko Stübner #size-cells = <2>; 54*b790c2caSHeiko Stübner 55*b790c2caSHeiko Stübner aliases { 56*b790c2caSHeiko Stübner i2c0 = &i2c0; 57*b790c2caSHeiko Stübner i2c1 = &i2c1; 58*b790c2caSHeiko Stübner i2c2 = &i2c2; 59*b790c2caSHeiko Stübner i2c3 = &i2c3; 60*b790c2caSHeiko Stübner i2c4 = &i2c4; 61*b790c2caSHeiko Stübner i2c5 = &i2c5; 62*b790c2caSHeiko Stübner serial0 = &uart0; 63*b790c2caSHeiko Stübner serial1 = &uart1; 64*b790c2caSHeiko Stübner serial2 = &uart2; 65*b790c2caSHeiko Stübner serial3 = &uart3; 66*b790c2caSHeiko Stübner serial4 = &uart4; 67*b790c2caSHeiko Stübner spi0 = &spi0; 68*b790c2caSHeiko Stübner spi1 = &spi1; 69*b790c2caSHeiko Stübner spi2 = &spi2; 70*b790c2caSHeiko Stübner }; 71*b790c2caSHeiko Stübner 72*b790c2caSHeiko Stübner cpus { 73*b790c2caSHeiko Stübner #address-cells = <0x2>; 74*b790c2caSHeiko Stübner #size-cells = <0x0>; 75*b790c2caSHeiko Stübner 76*b790c2caSHeiko Stübner cpu-map { 77*b790c2caSHeiko Stübner cluster0 { 78*b790c2caSHeiko Stübner core0 { 79*b790c2caSHeiko Stübner cpu = <&cpu_b0>; 80*b790c2caSHeiko Stübner }; 81*b790c2caSHeiko Stübner core1 { 82*b790c2caSHeiko Stübner cpu = <&cpu_b1>; 83*b790c2caSHeiko Stübner }; 84*b790c2caSHeiko Stübner core2 { 85*b790c2caSHeiko Stübner cpu = <&cpu_b2>; 86*b790c2caSHeiko Stübner }; 87*b790c2caSHeiko Stübner core3 { 88*b790c2caSHeiko Stübner cpu = <&cpu_b3>; 89*b790c2caSHeiko Stübner }; 90*b790c2caSHeiko Stübner }; 91*b790c2caSHeiko Stübner 92*b790c2caSHeiko Stübner cluster1 { 93*b790c2caSHeiko Stübner core0 { 94*b790c2caSHeiko Stübner cpu = <&cpu_l0>; 95*b790c2caSHeiko Stübner }; 96*b790c2caSHeiko Stübner core1 { 97*b790c2caSHeiko Stübner cpu = <&cpu_l1>; 98*b790c2caSHeiko Stübner }; 99*b790c2caSHeiko Stübner core2 { 100*b790c2caSHeiko Stübner cpu = <&cpu_l2>; 101*b790c2caSHeiko Stübner }; 102*b790c2caSHeiko Stübner core3 { 103*b790c2caSHeiko Stübner cpu = <&cpu_l3>; 104*b790c2caSHeiko Stübner }; 105*b790c2caSHeiko Stübner }; 106*b790c2caSHeiko Stübner }; 107*b790c2caSHeiko Stübner 108*b790c2caSHeiko Stübner idle-states { 109*b790c2caSHeiko Stübner entry-method = "arm,psci"; 110*b790c2caSHeiko Stübner 111*b790c2caSHeiko Stübner cpu_sleep: cpu-sleep-0 { 112*b790c2caSHeiko Stübner compatible = "arm,idle-state"; 113*b790c2caSHeiko Stübner arm,psci-suspend-param = <0x1010000>; 114*b790c2caSHeiko Stübner entry-latency-us = <0x3fffffff>; 115*b790c2caSHeiko Stübner exit-latency-us = <0x40000000>; 116*b790c2caSHeiko Stübner min-residency-us = <0xffffffff>; 117*b790c2caSHeiko Stübner }; 118*b790c2caSHeiko Stübner }; 119*b790c2caSHeiko Stübner 120*b790c2caSHeiko Stübner cpu_l0: cpu@0 { 121*b790c2caSHeiko Stübner device_type = "cpu"; 122*b790c2caSHeiko Stübner compatible = "arm,cortex-a53", "arm,armv8"; 123*b790c2caSHeiko Stübner reg = <0x0 0x0>; 124*b790c2caSHeiko Stübner cpu-idle-states = <&cpu_sleep>; 125*b790c2caSHeiko Stübner enable-method = "psci"; 126*b790c2caSHeiko Stübner }; 127*b790c2caSHeiko Stübner 128*b790c2caSHeiko Stübner cpu_l1: cpu@1 { 129*b790c2caSHeiko Stübner device_type = "cpu"; 130*b790c2caSHeiko Stübner compatible = "arm,cortex-a53", "arm,armv8"; 131*b790c2caSHeiko Stübner reg = <0x0 0x1>; 132*b790c2caSHeiko Stübner cpu-idle-states = <&cpu_sleep>; 133*b790c2caSHeiko Stübner enable-method = "psci"; 134*b790c2caSHeiko Stübner }; 135*b790c2caSHeiko Stübner 136*b790c2caSHeiko Stübner cpu_l2: cpu@2 { 137*b790c2caSHeiko Stübner device_type = "cpu"; 138*b790c2caSHeiko Stübner compatible = "arm,cortex-a53", "arm,armv8"; 139*b790c2caSHeiko Stübner reg = <0x0 0x2>; 140*b790c2caSHeiko Stübner cpu-idle-states = <&cpu_sleep>; 141*b790c2caSHeiko Stübner enable-method = "psci"; 142*b790c2caSHeiko Stübner }; 143*b790c2caSHeiko Stübner 144*b790c2caSHeiko Stübner cpu_l3: cpu@3 { 145*b790c2caSHeiko Stübner device_type = "cpu"; 146*b790c2caSHeiko Stübner compatible = "arm,cortex-a53", "arm,armv8"; 147*b790c2caSHeiko Stübner reg = <0x0 0x3>; 148*b790c2caSHeiko Stübner cpu-idle-states = <&cpu_sleep>; 149*b790c2caSHeiko Stübner enable-method = "psci"; 150*b790c2caSHeiko Stübner }; 151*b790c2caSHeiko Stübner 152*b790c2caSHeiko Stübner cpu_b0: cpu@100 { 153*b790c2caSHeiko Stübner device_type = "cpu"; 154*b790c2caSHeiko Stübner compatible = "arm,cortex-a53", "arm,armv8"; 155*b790c2caSHeiko Stübner reg = <0x0 0x100>; 156*b790c2caSHeiko Stübner cpu-idle-states = <&cpu_sleep>; 157*b790c2caSHeiko Stübner enable-method = "psci"; 158*b790c2caSHeiko Stübner }; 159*b790c2caSHeiko Stübner 160*b790c2caSHeiko Stübner cpu_b1: cpu@101 { 161*b790c2caSHeiko Stübner device_type = "cpu"; 162*b790c2caSHeiko Stübner compatible = "arm,cortex-a53", "arm,armv8"; 163*b790c2caSHeiko Stübner reg = <0x0 0x101>; 164*b790c2caSHeiko Stübner cpu-idle-states = <&cpu_sleep>; 165*b790c2caSHeiko Stübner enable-method = "psci"; 166*b790c2caSHeiko Stübner }; 167*b790c2caSHeiko Stübner 168*b790c2caSHeiko Stübner cpu_b2: cpu@102 { 169*b790c2caSHeiko Stübner device_type = "cpu"; 170*b790c2caSHeiko Stübner compatible = "arm,cortex-a53", "arm,armv8"; 171*b790c2caSHeiko Stübner reg = <0x0 0x102>; 172*b790c2caSHeiko Stübner cpu-idle-states = <&cpu_sleep>; 173*b790c2caSHeiko Stübner enable-method = "psci"; 174*b790c2caSHeiko Stübner }; 175*b790c2caSHeiko Stübner 176*b790c2caSHeiko Stübner cpu_b3: cpu@103 { 177*b790c2caSHeiko Stübner device_type = "cpu"; 178*b790c2caSHeiko Stübner compatible = "arm,cortex-a53", "arm,armv8"; 179*b790c2caSHeiko Stübner reg = <0x0 0x103>; 180*b790c2caSHeiko Stübner cpu-idle-states = <&cpu_sleep>; 181*b790c2caSHeiko Stübner enable-method = "psci"; 182*b790c2caSHeiko Stübner }; 183*b790c2caSHeiko Stübner }; 184*b790c2caSHeiko Stübner 185*b790c2caSHeiko Stübner arm-pmu { 186*b790c2caSHeiko Stübner compatible = "arm,armv8-pmuv3"; 187*b790c2caSHeiko Stübner interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 188*b790c2caSHeiko Stübner <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 189*b790c2caSHeiko Stübner <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 190*b790c2caSHeiko Stübner <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 191*b790c2caSHeiko Stübner <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 192*b790c2caSHeiko Stübner <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 193*b790c2caSHeiko Stübner <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 194*b790c2caSHeiko Stübner <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 195*b790c2caSHeiko Stübner interrupt-affinity = <&cpu_l0>, <&cpu_l1>, <&cpu_l2>, 196*b790c2caSHeiko Stübner <&cpu_l3>, <&cpu_b0>, <&cpu_b1>, 197*b790c2caSHeiko Stübner <&cpu_b2>, <&cpu_b3>; 198*b790c2caSHeiko Stübner }; 199*b790c2caSHeiko Stübner 200*b790c2caSHeiko Stübner psci { 201*b790c2caSHeiko Stübner compatible = "arm,psci-0.2"; 202*b790c2caSHeiko Stübner method = "smc"; 203*b790c2caSHeiko Stübner }; 204*b790c2caSHeiko Stübner 205*b790c2caSHeiko Stübner timer { 206*b790c2caSHeiko Stübner compatible = "arm,armv8-timer"; 207*b790c2caSHeiko Stübner interrupts = <GIC_PPI 13 208*b790c2caSHeiko Stübner (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>, 209*b790c2caSHeiko Stübner <GIC_PPI 14 210*b790c2caSHeiko Stübner (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>, 211*b790c2caSHeiko Stübner <GIC_PPI 11 212*b790c2caSHeiko Stübner (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>, 213*b790c2caSHeiko Stübner <GIC_PPI 10 214*b790c2caSHeiko Stübner (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 215*b790c2caSHeiko Stübner }; 216*b790c2caSHeiko Stübner 217*b790c2caSHeiko Stübner xin24m: oscillator { 218*b790c2caSHeiko Stübner compatible = "fixed-clock"; 219*b790c2caSHeiko Stübner clock-frequency = <24000000>; 220*b790c2caSHeiko Stübner clock-output-names = "xin24m"; 221*b790c2caSHeiko Stübner #clock-cells = <0>; 222*b790c2caSHeiko Stübner }; 223*b790c2caSHeiko Stübner 224*b790c2caSHeiko Stübner sdmmc: dwmmc@ff0c0000 { 225*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc"; 226*b790c2caSHeiko Stübner reg = <0x0 0xff0c0000 0x0 0x4000>; 227*b790c2caSHeiko Stübner clock-freq-min-max = <400000 150000000>; 228*b790c2caSHeiko Stübner clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>; 229*b790c2caSHeiko Stübner clock-names = "biu", "ciu"; 230*b790c2caSHeiko Stübner fifo-depth = <0x100>; 231*b790c2caSHeiko Stübner interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 232*b790c2caSHeiko Stübner status = "disabled"; 233*b790c2caSHeiko Stübner }; 234*b790c2caSHeiko Stübner 235*b790c2caSHeiko Stübner sdio0: dwmmc@ff0d0000 { 236*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc"; 237*b790c2caSHeiko Stübner reg = <0x0 0xff0d0000 0x0 0x4000>; 238*b790c2caSHeiko Stübner clock-freq-min-max = <400000 150000000>; 239*b790c2caSHeiko Stübner clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>, 240*b790c2caSHeiko Stübner <&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>; 241*b790c2caSHeiko Stübner clock-names = "biu", "ciu", "ciu_drv", "ciu_sample"; 242*b790c2caSHeiko Stübner fifo-depth = <0x100>; 243*b790c2caSHeiko Stübner interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 244*b790c2caSHeiko Stübner status = "disabled"; 245*b790c2caSHeiko Stübner }; 246*b790c2caSHeiko Stübner 247*b790c2caSHeiko Stübner emmc: dwmmc@ff0f0000 { 248*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc"; 249*b790c2caSHeiko Stübner reg = <0x0 0xff0f0000 0x0 0x4000>; 250*b790c2caSHeiko Stübner clock-freq-min-max = <400000 150000000>; 251*b790c2caSHeiko Stübner clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>; 252*b790c2caSHeiko Stübner clock-names = "biu", "ciu"; 253*b790c2caSHeiko Stübner fifo-depth = <0x100>; 254*b790c2caSHeiko Stübner interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 255*b790c2caSHeiko Stübner status = "disabled"; 256*b790c2caSHeiko Stübner }; 257*b790c2caSHeiko Stübner 258*b790c2caSHeiko Stübner saradc: saradc@ff100000 { 259*b790c2caSHeiko Stübner compatible = "rockchip,saradc"; 260*b790c2caSHeiko Stübner reg = <0x0 0xff100000 0x0 0x100>; 261*b790c2caSHeiko Stübner interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 262*b790c2caSHeiko Stübner #io-channel-cells = <1>; 263*b790c2caSHeiko Stübner clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 264*b790c2caSHeiko Stübner clock-names = "saradc", "apb_pclk"; 265*b790c2caSHeiko Stübner status = "disabled"; 266*b790c2caSHeiko Stübner }; 267*b790c2caSHeiko Stübner 268*b790c2caSHeiko Stübner spi0: spi@ff110000 { 269*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-spi", "rockchip,rk3066-spi"; 270*b790c2caSHeiko Stübner reg = <0x0 0xff110000 0x0 0x1000>; 271*b790c2caSHeiko Stübner clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; 272*b790c2caSHeiko Stübner clock-names = "spiclk", "apb_pclk"; 273*b790c2caSHeiko Stübner interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 274*b790c2caSHeiko Stübner pinctrl-names = "default"; 275*b790c2caSHeiko Stübner pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>; 276*b790c2caSHeiko Stübner #address-cells = <1>; 277*b790c2caSHeiko Stübner #size-cells = <0>; 278*b790c2caSHeiko Stübner status = "disabled"; 279*b790c2caSHeiko Stübner }; 280*b790c2caSHeiko Stübner 281*b790c2caSHeiko Stübner spi1: spi@ff120000 { 282*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-spi", "rockchip,rk3066-spi"; 283*b790c2caSHeiko Stübner reg = <0x0 0xff120000 0x0 0x1000>; 284*b790c2caSHeiko Stübner clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>; 285*b790c2caSHeiko Stübner clock-names = "spiclk", "apb_pclk"; 286*b790c2caSHeiko Stübner interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 287*b790c2caSHeiko Stübner pinctrl-names = "default"; 288*b790c2caSHeiko Stübner pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>; 289*b790c2caSHeiko Stübner #address-cells = <1>; 290*b790c2caSHeiko Stübner #size-cells = <0>; 291*b790c2caSHeiko Stübner status = "disabled"; 292*b790c2caSHeiko Stübner }; 293*b790c2caSHeiko Stübner 294*b790c2caSHeiko Stübner spi2: spi@ff130000 { 295*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-spi", "rockchip,rk3066-spi"; 296*b790c2caSHeiko Stübner reg = <0x0 0xff130000 0x0 0x1000>; 297*b790c2caSHeiko Stübner clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>; 298*b790c2caSHeiko Stübner clock-names = "spiclk", "apb_pclk"; 299*b790c2caSHeiko Stübner interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 300*b790c2caSHeiko Stübner pinctrl-names = "default"; 301*b790c2caSHeiko Stübner pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>; 302*b790c2caSHeiko Stübner #address-cells = <1>; 303*b790c2caSHeiko Stübner #size-cells = <0>; 304*b790c2caSHeiko Stübner status = "disabled"; 305*b790c2caSHeiko Stübner }; 306*b790c2caSHeiko Stübner 307*b790c2caSHeiko Stübner i2c1: i2c@ff140000 { 308*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c"; 309*b790c2caSHeiko Stübner reg = <0x0 0xff140000 0x0 0x1000>; 310*b790c2caSHeiko Stübner interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 311*b790c2caSHeiko Stübner #address-cells = <1>; 312*b790c2caSHeiko Stübner #size-cells = <0>; 313*b790c2caSHeiko Stübner clock-names = "i2c"; 314*b790c2caSHeiko Stübner clocks = <&cru PCLK_I2C1>; 315*b790c2caSHeiko Stübner pinctrl-names = "default"; 316*b790c2caSHeiko Stübner pinctrl-0 = <&i2c1_xfer>; 317*b790c2caSHeiko Stübner status = "disabled"; 318*b790c2caSHeiko Stübner }; 319*b790c2caSHeiko Stübner 320*b790c2caSHeiko Stübner i2c3: i2c@ff150000 { 321*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c"; 322*b790c2caSHeiko Stübner reg = <0x0 0xff150000 0x0 0x1000>; 323*b790c2caSHeiko Stübner interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 324*b790c2caSHeiko Stübner #address-cells = <1>; 325*b790c2caSHeiko Stübner #size-cells = <0>; 326*b790c2caSHeiko Stübner clock-names = "i2c"; 327*b790c2caSHeiko Stübner clocks = <&cru PCLK_I2C3>; 328*b790c2caSHeiko Stübner pinctrl-names = "default"; 329*b790c2caSHeiko Stübner pinctrl-0 = <&i2c3_xfer>; 330*b790c2caSHeiko Stübner status = "disabled"; 331*b790c2caSHeiko Stübner }; 332*b790c2caSHeiko Stübner 333*b790c2caSHeiko Stübner i2c4: i2c@ff160000 { 334*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c"; 335*b790c2caSHeiko Stübner reg = <0x0 0xff160000 0x0 0x1000>; 336*b790c2caSHeiko Stübner interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 337*b790c2caSHeiko Stübner #address-cells = <1>; 338*b790c2caSHeiko Stübner #size-cells = <0>; 339*b790c2caSHeiko Stübner clock-names = "i2c"; 340*b790c2caSHeiko Stübner clocks = <&cru PCLK_I2C4>; 341*b790c2caSHeiko Stübner pinctrl-names = "default"; 342*b790c2caSHeiko Stübner pinctrl-0 = <&i2c4_xfer>; 343*b790c2caSHeiko Stübner status = "disabled"; 344*b790c2caSHeiko Stübner }; 345*b790c2caSHeiko Stübner 346*b790c2caSHeiko Stübner i2c5: i2c@ff170000 { 347*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c"; 348*b790c2caSHeiko Stübner reg = <0x0 0xff170000 0x0 0x1000>; 349*b790c2caSHeiko Stübner interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 350*b790c2caSHeiko Stübner #address-cells = <1>; 351*b790c2caSHeiko Stübner #size-cells = <0>; 352*b790c2caSHeiko Stübner clock-names = "i2c"; 353*b790c2caSHeiko Stübner clocks = <&cru PCLK_I2C5>; 354*b790c2caSHeiko Stübner pinctrl-names = "default"; 355*b790c2caSHeiko Stübner pinctrl-0 = <&i2c5_xfer>; 356*b790c2caSHeiko Stübner status = "disabled"; 357*b790c2caSHeiko Stübner }; 358*b790c2caSHeiko Stübner 359*b790c2caSHeiko Stübner uart0: serial@ff180000 { 360*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart"; 361*b790c2caSHeiko Stübner reg = <0x0 0xff180000 0x0 0x100>; 362*b790c2caSHeiko Stübner clock-frequency = <24000000>; 363*b790c2caSHeiko Stübner clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 364*b790c2caSHeiko Stübner clock-names = "baudclk", "apb_pclk"; 365*b790c2caSHeiko Stübner interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 366*b790c2caSHeiko Stübner reg-shift = <2>; 367*b790c2caSHeiko Stübner reg-io-width = <4>; 368*b790c2caSHeiko Stübner status = "disabled"; 369*b790c2caSHeiko Stübner }; 370*b790c2caSHeiko Stübner 371*b790c2caSHeiko Stübner uart1: serial@ff190000 { 372*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart"; 373*b790c2caSHeiko Stübner reg = <0x0 0xff190000 0x0 0x100>; 374*b790c2caSHeiko Stübner clock-frequency = <24000000>; 375*b790c2caSHeiko Stübner clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 376*b790c2caSHeiko Stübner clock-names = "baudclk", "apb_pclk"; 377*b790c2caSHeiko Stübner interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 378*b790c2caSHeiko Stübner reg-shift = <2>; 379*b790c2caSHeiko Stübner reg-io-width = <4>; 380*b790c2caSHeiko Stübner status = "disabled"; 381*b790c2caSHeiko Stübner }; 382*b790c2caSHeiko Stübner 383*b790c2caSHeiko Stübner uart3: serial@ff1b0000 { 384*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart"; 385*b790c2caSHeiko Stübner reg = <0x0 0xff1b0000 0x0 0x100>; 386*b790c2caSHeiko Stübner clock-frequency = <24000000>; 387*b790c2caSHeiko Stübner clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 388*b790c2caSHeiko Stübner clock-names = "baudclk", "apb_pclk"; 389*b790c2caSHeiko Stübner interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 390*b790c2caSHeiko Stübner reg-shift = <2>; 391*b790c2caSHeiko Stübner reg-io-width = <4>; 392*b790c2caSHeiko Stübner status = "disabled"; 393*b790c2caSHeiko Stübner }; 394*b790c2caSHeiko Stübner 395*b790c2caSHeiko Stübner uart4: serial@ff1c0000 { 396*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart"; 397*b790c2caSHeiko Stübner reg = <0x0 0xff1c0000 0x0 0x100>; 398*b790c2caSHeiko Stübner clock-frequency = <24000000>; 399*b790c2caSHeiko Stübner clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 400*b790c2caSHeiko Stübner clock-names = "baudclk", "apb_pclk"; 401*b790c2caSHeiko Stübner interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 402*b790c2caSHeiko Stübner reg-shift = <2>; 403*b790c2caSHeiko Stübner reg-io-width = <4>; 404*b790c2caSHeiko Stübner status = "disabled"; 405*b790c2caSHeiko Stübner }; 406*b790c2caSHeiko Stübner 407*b790c2caSHeiko Stübner gmac: ethernet@ff290000 { 408*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-gmac"; 409*b790c2caSHeiko Stübner reg = <0x0 0xff290000 0x0 0x10000>; 410*b790c2caSHeiko Stübner interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 411*b790c2caSHeiko Stübner interrupt-names = "macirq"; 412*b790c2caSHeiko Stübner rockchip,grf = <&grf>; 413*b790c2caSHeiko Stübner clocks = <&cru SCLK_MAC>, 414*b790c2caSHeiko Stübner <&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>, 415*b790c2caSHeiko Stübner <&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>, 416*b790c2caSHeiko Stübner <&cru ACLK_GMAC>, <&cru PCLK_GMAC>; 417*b790c2caSHeiko Stübner clock-names = "stmmaceth", 418*b790c2caSHeiko Stübner "mac_clk_rx", "mac_clk_tx", 419*b790c2caSHeiko Stübner "clk_mac_ref", "clk_mac_refout", 420*b790c2caSHeiko Stübner "aclk_mac", "pclk_mac"; 421*b790c2caSHeiko Stübner status = "disabled"; 422*b790c2caSHeiko Stübner }; 423*b790c2caSHeiko Stübner 424*b790c2caSHeiko Stübner usb_host0_ehci: usb@ff500000 { 425*b790c2caSHeiko Stübner compatible = "generic-ehci"; 426*b790c2caSHeiko Stübner reg = <0x0 0xff500000 0x0 0x100>; 427*b790c2caSHeiko Stübner interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 428*b790c2caSHeiko Stübner clocks = <&cru HCLK_HOST0>; 429*b790c2caSHeiko Stübner clock-names = "usbhost"; 430*b790c2caSHeiko Stübner status = "disabled"; 431*b790c2caSHeiko Stübner }; 432*b790c2caSHeiko Stübner 433*b790c2caSHeiko Stübner usb_otg: usb@ff580000 { 434*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-usb", "rockchip,rk3066-usb", 435*b790c2caSHeiko Stübner "snps,dwc2"; 436*b790c2caSHeiko Stübner reg = <0x0 0xff580000 0x0 0x40000>; 437*b790c2caSHeiko Stübner interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 438*b790c2caSHeiko Stübner clocks = <&cru HCLK_OTG0>; 439*b790c2caSHeiko Stübner clock-names = "otg"; 440*b790c2caSHeiko Stübner dr_mode = "otg"; 441*b790c2caSHeiko Stübner g-np-tx-fifo-size = <16>; 442*b790c2caSHeiko Stübner g-rx-fifo-size = <275>; 443*b790c2caSHeiko Stübner g-tx-fifo-size = <256 128 128 64 64 32>; 444*b790c2caSHeiko Stübner g-use-dma; 445*b790c2caSHeiko Stübner status = "disabled"; 446*b790c2caSHeiko Stübner }; 447*b790c2caSHeiko Stübner 448*b790c2caSHeiko Stübner i2c0: i2c@ff650000 { 449*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c"; 450*b790c2caSHeiko Stübner reg = <0x0 0xff650000 0x0 0x1000>; 451*b790c2caSHeiko Stübner clocks = <&cru PCLK_I2C0>; 452*b790c2caSHeiko Stübner clock-names = "i2c"; 453*b790c2caSHeiko Stübner interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 454*b790c2caSHeiko Stübner pinctrl-names = "default"; 455*b790c2caSHeiko Stübner pinctrl-0 = <&i2c0_xfer>; 456*b790c2caSHeiko Stübner #address-cells = <1>; 457*b790c2caSHeiko Stübner #size-cells = <0>; 458*b790c2caSHeiko Stübner status = "disabled"; 459*b790c2caSHeiko Stübner }; 460*b790c2caSHeiko Stübner 461*b790c2caSHeiko Stübner i2c2: i2c@ff660000 { 462*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c"; 463*b790c2caSHeiko Stübner reg = <0x0 0xff660000 0x0 0x1000>; 464*b790c2caSHeiko Stübner interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 465*b790c2caSHeiko Stübner #address-cells = <1>; 466*b790c2caSHeiko Stübner #size-cells = <0>; 467*b790c2caSHeiko Stübner clock-names = "i2c"; 468*b790c2caSHeiko Stübner clocks = <&cru PCLK_I2C2>; 469*b790c2caSHeiko Stübner pinctrl-names = "default"; 470*b790c2caSHeiko Stübner pinctrl-0 = <&i2c2_xfer>; 471*b790c2caSHeiko Stübner status = "disabled"; 472*b790c2caSHeiko Stübner }; 473*b790c2caSHeiko Stübner 474*b790c2caSHeiko Stübner uart2: serial@ff690000 { 475*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-uart", "snps,dw-apb-uart"; 476*b790c2caSHeiko Stübner reg = <0x0 0xff690000 0x0 0x100>; 477*b790c2caSHeiko Stübner clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 478*b790c2caSHeiko Stübner clock-names = "baudclk", "apb_pclk"; 479*b790c2caSHeiko Stübner interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 480*b790c2caSHeiko Stübner pinctrl-names = "default"; 481*b790c2caSHeiko Stübner pinctrl-0 = <&uart2_xfer>; 482*b790c2caSHeiko Stübner reg-shift = <2>; 483*b790c2caSHeiko Stübner reg-io-width = <4>; 484*b790c2caSHeiko Stübner status = "disabled"; 485*b790c2caSHeiko Stübner }; 486*b790c2caSHeiko Stübner 487*b790c2caSHeiko Stübner pmugrf: syscon@ff738000 { 488*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-pmugrf", "syscon"; 489*b790c2caSHeiko Stübner reg = <0x0 0xff738000 0x0 0x1000>; 490*b790c2caSHeiko Stübner }; 491*b790c2caSHeiko Stübner 492*b790c2caSHeiko Stübner cru: clock-controller@ff760000 { 493*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-cru"; 494*b790c2caSHeiko Stübner reg = <0x0 0xff760000 0x0 0x1000>; 495*b790c2caSHeiko Stübner rockchip,grf = <&grf>; 496*b790c2caSHeiko Stübner #clock-cells = <1>; 497*b790c2caSHeiko Stübner #reset-cells = <1>; 498*b790c2caSHeiko Stübner }; 499*b790c2caSHeiko Stübner 500*b790c2caSHeiko Stübner grf: syscon@ff770000 { 501*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-grf", "syscon"; 502*b790c2caSHeiko Stübner reg = <0x0 0xff770000 0x0 0x1000>; 503*b790c2caSHeiko Stübner }; 504*b790c2caSHeiko Stübner 505*b790c2caSHeiko Stübner wdt: watchdog@ff800000 { 506*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-wdt", "snps,dw-wdt"; 507*b790c2caSHeiko Stübner reg = <0x0 0xff800000 0x0 0x100>; 508*b790c2caSHeiko Stübner clocks = <&cru PCLK_WDT>; 509*b790c2caSHeiko Stübner interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 510*b790c2caSHeiko Stübner status = "disabled"; 511*b790c2caSHeiko Stübner }; 512*b790c2caSHeiko Stübner 513*b790c2caSHeiko Stübner gic: interrupt-controller@ffb71000 { 514*b790c2caSHeiko Stübner compatible = "arm,gic-400"; 515*b790c2caSHeiko Stübner interrupt-controller; 516*b790c2caSHeiko Stübner #interrupt-cells = <3>; 517*b790c2caSHeiko Stübner #address-cells = <0>; 518*b790c2caSHeiko Stübner 519*b790c2caSHeiko Stübner reg = <0x0 0xffb71000 0x0 0x1000>, 520*b790c2caSHeiko Stübner <0x0 0xffb72000 0x0 0x1000>, 521*b790c2caSHeiko Stübner <0x0 0xffb74000 0x0 0x2000>, 522*b790c2caSHeiko Stübner <0x0 0xffb76000 0x0 0x2000>; 523*b790c2caSHeiko Stübner interrupts = <GIC_PPI 9 524*b790c2caSHeiko Stübner (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 525*b790c2caSHeiko Stübner }; 526*b790c2caSHeiko Stübner 527*b790c2caSHeiko Stübner pinctrl: pinctrl { 528*b790c2caSHeiko Stübner compatible = "rockchip,rk3368-pinctrl"; 529*b790c2caSHeiko Stübner rockchip,grf = <&grf>; 530*b790c2caSHeiko Stübner rockchip,pmu = <&pmugrf>; 531*b790c2caSHeiko Stübner #address-cells = <0x2>; 532*b790c2caSHeiko Stübner #size-cells = <0x2>; 533*b790c2caSHeiko Stübner ranges; 534*b790c2caSHeiko Stübner 535*b790c2caSHeiko Stübner gpio0: gpio0@ff750000 { 536*b790c2caSHeiko Stübner compatible = "rockchip,gpio-bank"; 537*b790c2caSHeiko Stübner reg = <0x0 0xff750000 0x0 0x100>; 538*b790c2caSHeiko Stübner clocks = <&cru PCLK_GPIO0>; 539*b790c2caSHeiko Stübner interrupts = <GIC_SPI 0x51 IRQ_TYPE_LEVEL_HIGH>; 540*b790c2caSHeiko Stübner 541*b790c2caSHeiko Stübner gpio-controller; 542*b790c2caSHeiko Stübner #gpio-cells = <0x2>; 543*b790c2caSHeiko Stübner 544*b790c2caSHeiko Stübner interrupt-controller; 545*b790c2caSHeiko Stübner #interrupt-cells = <0x2>; 546*b790c2caSHeiko Stübner }; 547*b790c2caSHeiko Stübner 548*b790c2caSHeiko Stübner gpio1: gpio1@ff780000 { 549*b790c2caSHeiko Stübner compatible = "rockchip,gpio-bank"; 550*b790c2caSHeiko Stübner reg = <0x0 0xff780000 0x0 0x100>; 551*b790c2caSHeiko Stübner clocks = <&cru PCLK_GPIO1>; 552*b790c2caSHeiko Stübner interrupts = <GIC_SPI 0x52 IRQ_TYPE_LEVEL_HIGH>; 553*b790c2caSHeiko Stübner 554*b790c2caSHeiko Stübner gpio-controller; 555*b790c2caSHeiko Stübner #gpio-cells = <0x2>; 556*b790c2caSHeiko Stübner 557*b790c2caSHeiko Stübner interrupt-controller; 558*b790c2caSHeiko Stübner #interrupt-cells = <0x2>; 559*b790c2caSHeiko Stübner }; 560*b790c2caSHeiko Stübner 561*b790c2caSHeiko Stübner gpio2: gpio2@ff790000 { 562*b790c2caSHeiko Stübner compatible = "rockchip,gpio-bank"; 563*b790c2caSHeiko Stübner reg = <0x0 0xff790000 0x0 0x100>; 564*b790c2caSHeiko Stübner clocks = <&cru PCLK_GPIO2>; 565*b790c2caSHeiko Stübner interrupts = <GIC_SPI 0x53 IRQ_TYPE_LEVEL_HIGH>; 566*b790c2caSHeiko Stübner 567*b790c2caSHeiko Stübner gpio-controller; 568*b790c2caSHeiko Stübner #gpio-cells = <0x2>; 569*b790c2caSHeiko Stübner 570*b790c2caSHeiko Stübner interrupt-controller; 571*b790c2caSHeiko Stübner #interrupt-cells = <0x2>; 572*b790c2caSHeiko Stübner }; 573*b790c2caSHeiko Stübner 574*b790c2caSHeiko Stübner gpio3: gpio3@ff7a0000 { 575*b790c2caSHeiko Stübner compatible = "rockchip,gpio-bank"; 576*b790c2caSHeiko Stübner reg = <0x0 0xff7a0000 0x0 0x100>; 577*b790c2caSHeiko Stübner clocks = <&cru PCLK_GPIO3>; 578*b790c2caSHeiko Stübner interrupts = <GIC_SPI 0x54 IRQ_TYPE_LEVEL_HIGH>; 579*b790c2caSHeiko Stübner 580*b790c2caSHeiko Stübner gpio-controller; 581*b790c2caSHeiko Stübner #gpio-cells = <0x2>; 582*b790c2caSHeiko Stübner 583*b790c2caSHeiko Stübner interrupt-controller; 584*b790c2caSHeiko Stübner #interrupt-cells = <0x2>; 585*b790c2caSHeiko Stübner }; 586*b790c2caSHeiko Stübner 587*b790c2caSHeiko Stübner pcfg_pull_up: pcfg-pull-up { 588*b790c2caSHeiko Stübner bias-pull-up; 589*b790c2caSHeiko Stübner }; 590*b790c2caSHeiko Stübner 591*b790c2caSHeiko Stübner pcfg_pull_down: pcfg-pull-down { 592*b790c2caSHeiko Stübner bias-pull-down; 593*b790c2caSHeiko Stübner }; 594*b790c2caSHeiko Stübner 595*b790c2caSHeiko Stübner pcfg_pull_none: pcfg-pull-none { 596*b790c2caSHeiko Stübner bias-disable; 597*b790c2caSHeiko Stübner }; 598*b790c2caSHeiko Stübner 599*b790c2caSHeiko Stübner pcfg_pull_none_12ma: pcfg-pull-none-12ma { 600*b790c2caSHeiko Stübner bias-disable; 601*b790c2caSHeiko Stübner drive-strength = <12>; 602*b790c2caSHeiko Stübner }; 603*b790c2caSHeiko Stübner 604*b790c2caSHeiko Stübner emmc { 605*b790c2caSHeiko Stübner emmc_clk: emmc-clk { 606*b790c2caSHeiko Stübner rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none>; 607*b790c2caSHeiko Stübner }; 608*b790c2caSHeiko Stübner 609*b790c2caSHeiko Stübner emmc_cmd: emmc-cmd { 610*b790c2caSHeiko Stübner rockchip,pins = <1 26 RK_FUNC_2 &pcfg_pull_up>; 611*b790c2caSHeiko Stübner }; 612*b790c2caSHeiko Stübner 613*b790c2caSHeiko Stübner emmc_pwr: emmc-pwr { 614*b790c2caSHeiko Stübner rockchip,pins = <1 27 RK_FUNC_2 &pcfg_pull_up>; 615*b790c2caSHeiko Stübner }; 616*b790c2caSHeiko Stübner 617*b790c2caSHeiko Stübner emmc_bus1: emmc-bus1 { 618*b790c2caSHeiko Stübner rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up>; 619*b790c2caSHeiko Stübner }; 620*b790c2caSHeiko Stübner 621*b790c2caSHeiko Stübner emmc_bus4: emmc-bus4 { 622*b790c2caSHeiko Stübner rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up>, 623*b790c2caSHeiko Stübner <1 19 RK_FUNC_2 &pcfg_pull_up>, 624*b790c2caSHeiko Stübner <1 20 RK_FUNC_2 &pcfg_pull_up>, 625*b790c2caSHeiko Stübner <1 21 RK_FUNC_2 &pcfg_pull_up>; 626*b790c2caSHeiko Stübner }; 627*b790c2caSHeiko Stübner 628*b790c2caSHeiko Stübner emmc_bus8: emmc-bus8 { 629*b790c2caSHeiko Stübner rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up>, 630*b790c2caSHeiko Stübner <1 19 RK_FUNC_2 &pcfg_pull_up>, 631*b790c2caSHeiko Stübner <1 20 RK_FUNC_2 &pcfg_pull_up>, 632*b790c2caSHeiko Stübner <1 21 RK_FUNC_2 &pcfg_pull_up>, 633*b790c2caSHeiko Stübner <1 22 RK_FUNC_2 &pcfg_pull_up>, 634*b790c2caSHeiko Stübner <1 23 RK_FUNC_2 &pcfg_pull_up>, 635*b790c2caSHeiko Stübner <1 24 RK_FUNC_2 &pcfg_pull_up>, 636*b790c2caSHeiko Stübner <1 25 RK_FUNC_2 &pcfg_pull_up>; 637*b790c2caSHeiko Stübner }; 638*b790c2caSHeiko Stübner }; 639*b790c2caSHeiko Stübner 640*b790c2caSHeiko Stübner gmac { 641*b790c2caSHeiko Stübner rgmii_pins: rgmii-pins { 642*b790c2caSHeiko Stübner rockchip,pins = <3 22 RK_FUNC_1 &pcfg_pull_none>, 643*b790c2caSHeiko Stübner <3 24 RK_FUNC_1 &pcfg_pull_none>, 644*b790c2caSHeiko Stübner <3 19 RK_FUNC_1 &pcfg_pull_none>, 645*b790c2caSHeiko Stübner <3 8 RK_FUNC_1 &pcfg_pull_none_12ma>, 646*b790c2caSHeiko Stübner <3 9 RK_FUNC_1 &pcfg_pull_none_12ma>, 647*b790c2caSHeiko Stübner <3 10 RK_FUNC_1 &pcfg_pull_none_12ma>, 648*b790c2caSHeiko Stübner <3 14 RK_FUNC_1 &pcfg_pull_none_12ma>, 649*b790c2caSHeiko Stübner <3 28 RK_FUNC_1 &pcfg_pull_none_12ma>, 650*b790c2caSHeiko Stübner <3 13 RK_FUNC_1 &pcfg_pull_none_12ma>, 651*b790c2caSHeiko Stübner <3 15 RK_FUNC_1 &pcfg_pull_none>, 652*b790c2caSHeiko Stübner <3 16 RK_FUNC_1 &pcfg_pull_none>, 653*b790c2caSHeiko Stübner <3 17 RK_FUNC_1 &pcfg_pull_none>, 654*b790c2caSHeiko Stübner <3 18 RK_FUNC_1 &pcfg_pull_none>, 655*b790c2caSHeiko Stübner <3 25 RK_FUNC_1 &pcfg_pull_none>, 656*b790c2caSHeiko Stübner <3 20 RK_FUNC_1 &pcfg_pull_none>; 657*b790c2caSHeiko Stübner }; 658*b790c2caSHeiko Stübner 659*b790c2caSHeiko Stübner rmii_pins: rmii-pins { 660*b790c2caSHeiko Stübner rockchip,pins = <3 22 RK_FUNC_1 &pcfg_pull_none>, 661*b790c2caSHeiko Stübner <3 24 RK_FUNC_1 &pcfg_pull_none>, 662*b790c2caSHeiko Stübner <3 19 RK_FUNC_1 &pcfg_pull_none>, 663*b790c2caSHeiko Stübner <3 8 RK_FUNC_1 &pcfg_pull_none_12ma>, 664*b790c2caSHeiko Stübner <3 9 RK_FUNC_1 &pcfg_pull_none_12ma>, 665*b790c2caSHeiko Stübner <3 13 RK_FUNC_1 &pcfg_pull_none_12ma>, 666*b790c2caSHeiko Stübner <3 15 RK_FUNC_1 &pcfg_pull_none>, 667*b790c2caSHeiko Stübner <3 16 RK_FUNC_1 &pcfg_pull_none>, 668*b790c2caSHeiko Stübner <3 20 RK_FUNC_1 &pcfg_pull_none>, 669*b790c2caSHeiko Stübner <3 21 RK_FUNC_1 &pcfg_pull_none>; 670*b790c2caSHeiko Stübner }; 671*b790c2caSHeiko Stübner }; 672*b790c2caSHeiko Stübner 673*b790c2caSHeiko Stübner i2c0 { 674*b790c2caSHeiko Stübner i2c0_xfer: i2c0-xfer { 675*b790c2caSHeiko Stübner rockchip,pins = <0 6 RK_FUNC_1 &pcfg_pull_none>, 676*b790c2caSHeiko Stübner <0 7 RK_FUNC_1 &pcfg_pull_none>; 677*b790c2caSHeiko Stübner }; 678*b790c2caSHeiko Stübner }; 679*b790c2caSHeiko Stübner 680*b790c2caSHeiko Stübner i2c1 { 681*b790c2caSHeiko Stübner i2c1_xfer: i2c1-xfer { 682*b790c2caSHeiko Stübner rockchip,pins = <2 21 RK_FUNC_1 &pcfg_pull_none>, 683*b790c2caSHeiko Stübner <2 22 RK_FUNC_1 &pcfg_pull_none>; 684*b790c2caSHeiko Stübner }; 685*b790c2caSHeiko Stübner }; 686*b790c2caSHeiko Stübner 687*b790c2caSHeiko Stübner i2c2 { 688*b790c2caSHeiko Stübner i2c2_xfer: i2c2-xfer { 689*b790c2caSHeiko Stübner rockchip,pins = <0 9 RK_FUNC_2 &pcfg_pull_none>, 690*b790c2caSHeiko Stübner <3 31 RK_FUNC_2 &pcfg_pull_none>; 691*b790c2caSHeiko Stübner }; 692*b790c2caSHeiko Stübner }; 693*b790c2caSHeiko Stübner 694*b790c2caSHeiko Stübner i2c3 { 695*b790c2caSHeiko Stübner i2c3_xfer: i2c3-xfer { 696*b790c2caSHeiko Stübner rockchip,pins = <1 16 RK_FUNC_1 &pcfg_pull_none>, 697*b790c2caSHeiko Stübner <1 17 RK_FUNC_1 &pcfg_pull_none>; 698*b790c2caSHeiko Stübner }; 699*b790c2caSHeiko Stübner }; 700*b790c2caSHeiko Stübner 701*b790c2caSHeiko Stübner i2c4 { 702*b790c2caSHeiko Stübner i2c4_xfer: i2c4-xfer { 703*b790c2caSHeiko Stübner rockchip,pins = <3 24 RK_FUNC_2 &pcfg_pull_none>, 704*b790c2caSHeiko Stübner <3 25 RK_FUNC_2 &pcfg_pull_none>; 705*b790c2caSHeiko Stübner }; 706*b790c2caSHeiko Stübner }; 707*b790c2caSHeiko Stübner 708*b790c2caSHeiko Stübner i2c5 { 709*b790c2caSHeiko Stübner i2c5_xfer: i2c5-xfer { 710*b790c2caSHeiko Stübner rockchip,pins = <3 26 RK_FUNC_2 &pcfg_pull_none>, 711*b790c2caSHeiko Stübner <3 27 RK_FUNC_2 &pcfg_pull_none>; 712*b790c2caSHeiko Stübner }; 713*b790c2caSHeiko Stübner }; 714*b790c2caSHeiko Stübner 715*b790c2caSHeiko Stübner sdio0 { 716*b790c2caSHeiko Stübner sdio0_bus1: sdio0-bus1 { 717*b790c2caSHeiko Stübner rockchip,pins = <2 28 RK_FUNC_1 &pcfg_pull_up>; 718*b790c2caSHeiko Stübner }; 719*b790c2caSHeiko Stübner 720*b790c2caSHeiko Stübner sdio0_bus4: sdio0-bus4 { 721*b790c2caSHeiko Stübner rockchip,pins = <2 28 RK_FUNC_1 &pcfg_pull_up>, 722*b790c2caSHeiko Stübner <2 29 RK_FUNC_1 &pcfg_pull_up>, 723*b790c2caSHeiko Stübner <2 30 RK_FUNC_1 &pcfg_pull_up>, 724*b790c2caSHeiko Stübner <2 31 RK_FUNC_1 &pcfg_pull_up>; 725*b790c2caSHeiko Stübner }; 726*b790c2caSHeiko Stübner 727*b790c2caSHeiko Stübner sdio0_cmd: sdio0-cmd { 728*b790c2caSHeiko Stübner rockchip,pins = <3 0 RK_FUNC_1 &pcfg_pull_up>; 729*b790c2caSHeiko Stübner }; 730*b790c2caSHeiko Stübner 731*b790c2caSHeiko Stübner sdio0_clk: sdio0-clk { 732*b790c2caSHeiko Stübner rockchip,pins = <3 1 RK_FUNC_1 &pcfg_pull_none>; 733*b790c2caSHeiko Stübner }; 734*b790c2caSHeiko Stübner 735*b790c2caSHeiko Stübner sdio0_cd: sdio0-cd { 736*b790c2caSHeiko Stübner rockchip,pins = <3 2 RK_FUNC_1 &pcfg_pull_up>; 737*b790c2caSHeiko Stübner }; 738*b790c2caSHeiko Stübner 739*b790c2caSHeiko Stübner sdio0_wp: sdio0-wp { 740*b790c2caSHeiko Stübner rockchip,pins = <3 3 RK_FUNC_1 &pcfg_pull_up>; 741*b790c2caSHeiko Stübner }; 742*b790c2caSHeiko Stübner 743*b790c2caSHeiko Stübner sdio0_pwr: sdio0-pwr { 744*b790c2caSHeiko Stübner rockchip,pins = <3 4 RK_FUNC_1 &pcfg_pull_up>; 745*b790c2caSHeiko Stübner }; 746*b790c2caSHeiko Stübner 747*b790c2caSHeiko Stübner sdio0_bkpwr: sdio0-bkpwr { 748*b790c2caSHeiko Stübner rockchip,pins = <3 5 RK_FUNC_1 &pcfg_pull_up>; 749*b790c2caSHeiko Stübner }; 750*b790c2caSHeiko Stübner 751*b790c2caSHeiko Stübner sdio0_int: sdio0-int { 752*b790c2caSHeiko Stübner rockchip,pins = <3 6 RK_FUNC_1 &pcfg_pull_up>; 753*b790c2caSHeiko Stübner }; 754*b790c2caSHeiko Stübner }; 755*b790c2caSHeiko Stübner 756*b790c2caSHeiko Stübner sdmmc { 757*b790c2caSHeiko Stübner sdmmc_clk: sdmmc-clk { 758*b790c2caSHeiko Stübner rockchip,pins = <2 9 RK_FUNC_1 &pcfg_pull_none>; 759*b790c2caSHeiko Stübner }; 760*b790c2caSHeiko Stübner 761*b790c2caSHeiko Stübner sdmmc_cmd: sdmmc-cmd { 762*b790c2caSHeiko Stübner rockchip,pins = <2 10 RK_FUNC_1 &pcfg_pull_up>; 763*b790c2caSHeiko Stübner }; 764*b790c2caSHeiko Stübner 765*b790c2caSHeiko Stübner sdmmc_cd: sdmcc-cd { 766*b790c2caSHeiko Stübner rockchip,pins = <2 11 RK_FUNC_1 &pcfg_pull_up>; 767*b790c2caSHeiko Stübner }; 768*b790c2caSHeiko Stübner 769*b790c2caSHeiko Stübner sdmmc_bus1: sdmmc-bus1 { 770*b790c2caSHeiko Stübner rockchip,pins = <2 5 RK_FUNC_1 &pcfg_pull_up>; 771*b790c2caSHeiko Stübner }; 772*b790c2caSHeiko Stübner 773*b790c2caSHeiko Stübner sdmmc_bus4: sdmmc-bus4 { 774*b790c2caSHeiko Stübner rockchip,pins = <2 5 RK_FUNC_1 &pcfg_pull_up>, 775*b790c2caSHeiko Stübner <2 6 RK_FUNC_1 &pcfg_pull_up>, 776*b790c2caSHeiko Stübner <2 7 RK_FUNC_1 &pcfg_pull_up>, 777*b790c2caSHeiko Stübner <2 8 RK_FUNC_1 &pcfg_pull_up>; 778*b790c2caSHeiko Stübner }; 779*b790c2caSHeiko Stübner }; 780*b790c2caSHeiko Stübner 781*b790c2caSHeiko Stübner spi0 { 782*b790c2caSHeiko Stübner spi0_clk: spi0-clk { 783*b790c2caSHeiko Stübner rockchip,pins = <1 29 RK_FUNC_2 &pcfg_pull_up>; 784*b790c2caSHeiko Stübner }; 785*b790c2caSHeiko Stübner spi0_cs0: spi0-cs0 { 786*b790c2caSHeiko Stübner rockchip,pins = <1 24 RK_FUNC_3 &pcfg_pull_up>; 787*b790c2caSHeiko Stübner }; 788*b790c2caSHeiko Stübner spi0_cs1: spi0-cs1 { 789*b790c2caSHeiko Stübner rockchip,pins = <1 25 RK_FUNC_3 &pcfg_pull_up>; 790*b790c2caSHeiko Stübner }; 791*b790c2caSHeiko Stübner spi0_tx: spi0-tx { 792*b790c2caSHeiko Stübner rockchip,pins = <1 23 RK_FUNC_3 &pcfg_pull_up>; 793*b790c2caSHeiko Stübner }; 794*b790c2caSHeiko Stübner spi0_rx: spi0-rx { 795*b790c2caSHeiko Stübner rockchip,pins = <1 22 RK_FUNC_3 &pcfg_pull_up>; 796*b790c2caSHeiko Stübner }; 797*b790c2caSHeiko Stübner }; 798*b790c2caSHeiko Stübner 799*b790c2caSHeiko Stübner spi1 { 800*b790c2caSHeiko Stübner spi1_clk: spi1-clk { 801*b790c2caSHeiko Stübner rockchip,pins = <1 14 RK_FUNC_2 &pcfg_pull_up>; 802*b790c2caSHeiko Stübner }; 803*b790c2caSHeiko Stübner spi1_cs0: spi1-cs0 { 804*b790c2caSHeiko Stübner rockchip,pins = <1 15 RK_FUNC_2 &pcfg_pull_up>; 805*b790c2caSHeiko Stübner }; 806*b790c2caSHeiko Stübner spi1_cs1: spi1-cs1 { 807*b790c2caSHeiko Stübner rockchip,pins = <3 28 RK_FUNC_2 &pcfg_pull_up>; 808*b790c2caSHeiko Stübner }; 809*b790c2caSHeiko Stübner spi1_rx: spi1-rx { 810*b790c2caSHeiko Stübner rockchip,pins = <1 16 RK_FUNC_2 &pcfg_pull_up>; 811*b790c2caSHeiko Stübner }; 812*b790c2caSHeiko Stübner spi1_tx: spi1-tx { 813*b790c2caSHeiko Stübner rockchip,pins = <1 17 RK_FUNC_2 &pcfg_pull_up>; 814*b790c2caSHeiko Stübner }; 815*b790c2caSHeiko Stübner }; 816*b790c2caSHeiko Stübner 817*b790c2caSHeiko Stübner spi2 { 818*b790c2caSHeiko Stübner spi2_clk: spi2-clk { 819*b790c2caSHeiko Stübner rockchip,pins = <0 12 RK_FUNC_2 &pcfg_pull_up>; 820*b790c2caSHeiko Stübner }; 821*b790c2caSHeiko Stübner spi2_cs0: spi2-cs0 { 822*b790c2caSHeiko Stübner rockchip,pins = <0 13 RK_FUNC_2 &pcfg_pull_up>; 823*b790c2caSHeiko Stübner }; 824*b790c2caSHeiko Stübner spi2_rx: spi2-rx { 825*b790c2caSHeiko Stübner rockchip,pins = <0 10 RK_FUNC_2 &pcfg_pull_up>; 826*b790c2caSHeiko Stübner }; 827*b790c2caSHeiko Stübner spi2_tx: spi2-tx { 828*b790c2caSHeiko Stübner rockchip,pins = <0 11 RK_FUNC_2 &pcfg_pull_up>; 829*b790c2caSHeiko Stübner }; 830*b790c2caSHeiko Stübner }; 831*b790c2caSHeiko Stübner 832*b790c2caSHeiko Stübner uart0 { 833*b790c2caSHeiko Stübner uart0_xfer: uart0-xfer { 834*b790c2caSHeiko Stübner rockchip,pins = <2 24 RK_FUNC_1 &pcfg_pull_up>, 835*b790c2caSHeiko Stübner <2 25 RK_FUNC_1 &pcfg_pull_none>; 836*b790c2caSHeiko Stübner }; 837*b790c2caSHeiko Stübner 838*b790c2caSHeiko Stübner uart0_cts: uart0-cts { 839*b790c2caSHeiko Stübner rockchip,pins = <2 26 RK_FUNC_1 &pcfg_pull_none>; 840*b790c2caSHeiko Stübner }; 841*b790c2caSHeiko Stübner 842*b790c2caSHeiko Stübner uart0_rts: uart0-rts { 843*b790c2caSHeiko Stübner rockchip,pins = <2 27 RK_FUNC_1 &pcfg_pull_none>; 844*b790c2caSHeiko Stübner }; 845*b790c2caSHeiko Stübner }; 846*b790c2caSHeiko Stübner 847*b790c2caSHeiko Stübner uart1 { 848*b790c2caSHeiko Stübner uart1_xfer: uart1-xfer { 849*b790c2caSHeiko Stübner rockchip,pins = <0 20 RK_FUNC_3 &pcfg_pull_up>, 850*b790c2caSHeiko Stübner <0 21 RK_FUNC_3 &pcfg_pull_none>; 851*b790c2caSHeiko Stübner }; 852*b790c2caSHeiko Stübner 853*b790c2caSHeiko Stübner uart1_cts: uart1-cts { 854*b790c2caSHeiko Stübner rockchip,pins = <0 22 RK_FUNC_3 &pcfg_pull_none>; 855*b790c2caSHeiko Stübner }; 856*b790c2caSHeiko Stübner 857*b790c2caSHeiko Stübner uart1_rts: uart1-rts { 858*b790c2caSHeiko Stübner rockchip,pins = <0 23 RK_FUNC_3 &pcfg_pull_none>; 859*b790c2caSHeiko Stübner }; 860*b790c2caSHeiko Stübner }; 861*b790c2caSHeiko Stübner 862*b790c2caSHeiko Stübner uart2 { 863*b790c2caSHeiko Stübner uart2_xfer: uart2-xfer { 864*b790c2caSHeiko Stübner rockchip,pins = <2 6 RK_FUNC_2 &pcfg_pull_up>, 865*b790c2caSHeiko Stübner <2 5 RK_FUNC_2 &pcfg_pull_none>; 866*b790c2caSHeiko Stübner }; 867*b790c2caSHeiko Stübner /* no rts / cts for uart2 */ 868*b790c2caSHeiko Stübner }; 869*b790c2caSHeiko Stübner 870*b790c2caSHeiko Stübner uart3 { 871*b790c2caSHeiko Stübner uart3_xfer: uart3-xfer { 872*b790c2caSHeiko Stübner rockchip,pins = <3 29 RK_FUNC_2 &pcfg_pull_up>, 873*b790c2caSHeiko Stübner <3 30 RK_FUNC_3 &pcfg_pull_none>; 874*b790c2caSHeiko Stübner }; 875*b790c2caSHeiko Stübner 876*b790c2caSHeiko Stübner uart3_cts: uart3-cts { 877*b790c2caSHeiko Stübner rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_none>; 878*b790c2caSHeiko Stübner }; 879*b790c2caSHeiko Stübner 880*b790c2caSHeiko Stübner uart3_rts: uart3-rts { 881*b790c2caSHeiko Stübner rockchip,pins = <3 17 RK_FUNC_2 &pcfg_pull_none>; 882*b790c2caSHeiko Stübner }; 883*b790c2caSHeiko Stübner }; 884*b790c2caSHeiko Stübner 885*b790c2caSHeiko Stübner uart4 { 886*b790c2caSHeiko Stübner uart4_xfer: uart4-xfer { 887*b790c2caSHeiko Stübner rockchip,pins = <0 27 RK_FUNC_3 &pcfg_pull_up>, 888*b790c2caSHeiko Stübner <0 26 RK_FUNC_3 &pcfg_pull_none>; 889*b790c2caSHeiko Stübner }; 890*b790c2caSHeiko Stübner 891*b790c2caSHeiko Stübner uart4_cts: uart4-cts { 892*b790c2caSHeiko Stübner rockchip,pins = <0 24 RK_FUNC_3 &pcfg_pull_none>; 893*b790c2caSHeiko Stübner }; 894*b790c2caSHeiko Stübner 895*b790c2caSHeiko Stübner uart4_rts: uart4-rts { 896*b790c2caSHeiko Stübner rockchip,pins = <0 25 RK_FUNC_3 &pcfg_pull_none>; 897*b790c2caSHeiko Stübner }; 898*b790c2caSHeiko Stübner }; 899*b790c2caSHeiko Stübner }; 900*b790c2caSHeiko Stübner}; 901