1*724ba675SRob Herring/* 2*724ba675SRob Herring * Copyright 2013 Maxime Ripard 3*724ba675SRob Herring * 4*724ba675SRob Herring * Maxime Ripard <maxime.ripard@free-electrons.com> 5*724ba675SRob Herring * 6*724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms 7*724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual 8*724ba675SRob Herring * licensing only applies to this file, and not this project as a 9*724ba675SRob Herring * whole. 10*724ba675SRob Herring * 11*724ba675SRob Herring * a) This file is free software; you can redistribute it and/or 12*724ba675SRob Herring * modify it under the terms of the GNU General Public License as 13*724ba675SRob Herring * published by the Free Software Foundation; either version 2 of the 14*724ba675SRob Herring * License, or (at your option) any later version. 15*724ba675SRob Herring * 16*724ba675SRob Herring * This file is distributed in the hope that it will be useful, 17*724ba675SRob Herring * but WITHOUT ANY WARRANTY; without even the implied warranty of 18*724ba675SRob Herring * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19*724ba675SRob Herring * GNU General Public License for more details. 20*724ba675SRob Herring * 21*724ba675SRob Herring * Or, alternatively, 22*724ba675SRob Herring * 23*724ba675SRob Herring * b) Permission is hereby granted, free of charge, to any person 24*724ba675SRob Herring * obtaining a copy of this software and associated documentation 25*724ba675SRob Herring * files (the "Software"), to deal in the Software without 26*724ba675SRob Herring * restriction, including without limitation the rights to use, 27*724ba675SRob Herring * copy, modify, merge, publish, distribute, sublicense, and/or 28*724ba675SRob Herring * sell copies of the Software, and to permit persons to whom the 29*724ba675SRob Herring * Software is furnished to do so, subject to the following 30*724ba675SRob Herring * conditions: 31*724ba675SRob Herring * 32*724ba675SRob Herring * The above copyright notice and this permission notice shall be 33*724ba675SRob Herring * included in all copies or substantial portions of the Software. 34*724ba675SRob Herring * 35*724ba675SRob Herring * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 36*724ba675SRob Herring * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37*724ba675SRob Herring * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38*724ba675SRob Herring * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39*724ba675SRob Herring * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40*724ba675SRob Herring * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41*724ba675SRob Herring * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42*724ba675SRob Herring * OTHER DEALINGS IN THE SOFTWARE. 43*724ba675SRob Herring */ 44*724ba675SRob Herring 45*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 46*724ba675SRob Herring#include <dt-bindings/thermal/thermal.h> 47*724ba675SRob Herring#include <dt-bindings/dma/sun4i-a10.h> 48*724ba675SRob Herring#include <dt-bindings/clock/sun7i-a20-ccu.h> 49*724ba675SRob Herring#include <dt-bindings/reset/sun4i-a10-ccu.h> 50*724ba675SRob Herring#include <dt-bindings/pinctrl/sun4i-a10.h> 51*724ba675SRob Herring 52*724ba675SRob Herring/ { 53*724ba675SRob Herring interrupt-parent = <&gic>; 54*724ba675SRob Herring #address-cells = <1>; 55*724ba675SRob Herring #size-cells = <1>; 56*724ba675SRob Herring 57*724ba675SRob Herring aliases { 58*724ba675SRob Herring ethernet0 = &gmac; 59*724ba675SRob Herring }; 60*724ba675SRob Herring 61*724ba675SRob Herring chosen { 62*724ba675SRob Herring #address-cells = <1>; 63*724ba675SRob Herring #size-cells = <1>; 64*724ba675SRob Herring ranges; 65*724ba675SRob Herring 66*724ba675SRob Herring framebuffer-lcd0-hdmi { 67*724ba675SRob Herring compatible = "allwinner,simple-framebuffer", 68*724ba675SRob Herring "simple-framebuffer"; 69*724ba675SRob Herring allwinner,pipeline = "de_be0-lcd0-hdmi"; 70*724ba675SRob Herring clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>, 71*724ba675SRob Herring <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>, 72*724ba675SRob Herring <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>, 73*724ba675SRob Herring <&ccu CLK_HDMI>; 74*724ba675SRob Herring status = "disabled"; 75*724ba675SRob Herring }; 76*724ba675SRob Herring 77*724ba675SRob Herring framebuffer-lcd0 { 78*724ba675SRob Herring compatible = "allwinner,simple-framebuffer", 79*724ba675SRob Herring "simple-framebuffer"; 80*724ba675SRob Herring allwinner,pipeline = "de_be0-lcd0"; 81*724ba675SRob Herring clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>, 82*724ba675SRob Herring <&ccu CLK_DE_BE0>, <&ccu CLK_TCON0_CH0>, 83*724ba675SRob Herring <&ccu CLK_DRAM_DE_BE0>; 84*724ba675SRob Herring status = "disabled"; 85*724ba675SRob Herring }; 86*724ba675SRob Herring 87*724ba675SRob Herring framebuffer-lcd0-tve0 { 88*724ba675SRob Herring compatible = "allwinner,simple-framebuffer", 89*724ba675SRob Herring "simple-framebuffer"; 90*724ba675SRob Herring allwinner,pipeline = "de_be0-lcd0-tve0"; 91*724ba675SRob Herring clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>, 92*724ba675SRob Herring <&ccu CLK_AHB_DE_BE0>, 93*724ba675SRob Herring <&ccu CLK_DE_BE0>, <&ccu CLK_TCON0_CH1>, 94*724ba675SRob Herring <&ccu CLK_DRAM_TVE0>, <&ccu CLK_DRAM_DE_BE0>; 95*724ba675SRob Herring status = "disabled"; 96*724ba675SRob Herring }; 97*724ba675SRob Herring }; 98*724ba675SRob Herring 99*724ba675SRob Herring cpus { 100*724ba675SRob Herring #address-cells = <1>; 101*724ba675SRob Herring #size-cells = <0>; 102*724ba675SRob Herring 103*724ba675SRob Herring cpu0: cpu@0 { 104*724ba675SRob Herring compatible = "arm,cortex-a7"; 105*724ba675SRob Herring device_type = "cpu"; 106*724ba675SRob Herring reg = <0>; 107*724ba675SRob Herring clocks = <&ccu CLK_CPU>; 108*724ba675SRob Herring clock-latency = <244144>; /* 8 32k periods */ 109*724ba675SRob Herring operating-points = 110*724ba675SRob Herring /* kHz uV */ 111*724ba675SRob Herring <960000 1400000>, 112*724ba675SRob Herring <912000 1400000>, 113*724ba675SRob Herring <864000 1300000>, 114*724ba675SRob Herring <720000 1200000>, 115*724ba675SRob Herring <528000 1100000>, 116*724ba675SRob Herring <312000 1000000>, 117*724ba675SRob Herring <144000 1000000>; 118*724ba675SRob Herring #cooling-cells = <2>; 119*724ba675SRob Herring }; 120*724ba675SRob Herring 121*724ba675SRob Herring cpu1: cpu@1 { 122*724ba675SRob Herring compatible = "arm,cortex-a7"; 123*724ba675SRob Herring device_type = "cpu"; 124*724ba675SRob Herring reg = <1>; 125*724ba675SRob Herring clocks = <&ccu CLK_CPU>; 126*724ba675SRob Herring clock-latency = <244144>; /* 8 32k periods */ 127*724ba675SRob Herring operating-points = 128*724ba675SRob Herring /* kHz uV */ 129*724ba675SRob Herring <960000 1400000>, 130*724ba675SRob Herring <912000 1400000>, 131*724ba675SRob Herring <864000 1300000>, 132*724ba675SRob Herring <720000 1200000>, 133*724ba675SRob Herring <528000 1100000>, 134*724ba675SRob Herring <312000 1000000>, 135*724ba675SRob Herring <144000 1000000>; 136*724ba675SRob Herring #cooling-cells = <2>; 137*724ba675SRob Herring }; 138*724ba675SRob Herring }; 139*724ba675SRob Herring 140*724ba675SRob Herring thermal-zones { 141*724ba675SRob Herring cpu-thermal { 142*724ba675SRob Herring /* milliseconds */ 143*724ba675SRob Herring polling-delay-passive = <250>; 144*724ba675SRob Herring polling-delay = <1000>; 145*724ba675SRob Herring thermal-sensors = <&rtp>; 146*724ba675SRob Herring 147*724ba675SRob Herring cooling-maps { 148*724ba675SRob Herring map0 { 149*724ba675SRob Herring trip = <&cpu_alert0>; 150*724ba675SRob Herring cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 151*724ba675SRob Herring <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 152*724ba675SRob Herring }; 153*724ba675SRob Herring }; 154*724ba675SRob Herring 155*724ba675SRob Herring trips { 156*724ba675SRob Herring cpu_alert0: cpu_alert0 { 157*724ba675SRob Herring /* milliCelsius */ 158*724ba675SRob Herring temperature = <75000>; 159*724ba675SRob Herring hysteresis = <2000>; 160*724ba675SRob Herring type = "passive"; 161*724ba675SRob Herring }; 162*724ba675SRob Herring 163*724ba675SRob Herring cpu_crit: cpu_crit { 164*724ba675SRob Herring /* milliCelsius */ 165*724ba675SRob Herring temperature = <100000>; 166*724ba675SRob Herring hysteresis = <2000>; 167*724ba675SRob Herring type = "critical"; 168*724ba675SRob Herring }; 169*724ba675SRob Herring }; 170*724ba675SRob Herring }; 171*724ba675SRob Herring }; 172*724ba675SRob Herring 173*724ba675SRob Herring reserved-memory { 174*724ba675SRob Herring #address-cells = <1>; 175*724ba675SRob Herring #size-cells = <1>; 176*724ba675SRob Herring ranges; 177*724ba675SRob Herring 178*724ba675SRob Herring /* Address must be kept in the lower 256 MiBs of DRAM for VE. */ 179*724ba675SRob Herring default-pool { 180*724ba675SRob Herring compatible = "shared-dma-pool"; 181*724ba675SRob Herring size = <0x6000000>; 182*724ba675SRob Herring alloc-ranges = <0x40000000 0x10000000>; 183*724ba675SRob Herring reusable; 184*724ba675SRob Herring linux,cma-default; 185*724ba675SRob Herring }; 186*724ba675SRob Herring }; 187*724ba675SRob Herring 188*724ba675SRob Herring timer { 189*724ba675SRob Herring compatible = "arm,armv7-timer"; 190*724ba675SRob Herring interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 191*724ba675SRob Herring <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 192*724ba675SRob Herring <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 193*724ba675SRob Herring <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 194*724ba675SRob Herring }; 195*724ba675SRob Herring 196*724ba675SRob Herring pmu { 197*724ba675SRob Herring compatible = "arm,cortex-a7-pmu"; 198*724ba675SRob Herring interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 199*724ba675SRob Herring <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 200*724ba675SRob Herring }; 201*724ba675SRob Herring 202*724ba675SRob Herring clocks { 203*724ba675SRob Herring #address-cells = <1>; 204*724ba675SRob Herring #size-cells = <1>; 205*724ba675SRob Herring ranges; 206*724ba675SRob Herring 207*724ba675SRob Herring osc24M: clk-24M { 208*724ba675SRob Herring #clock-cells = <0>; 209*724ba675SRob Herring compatible = "fixed-clock"; 210*724ba675SRob Herring clock-frequency = <24000000>; 211*724ba675SRob Herring clock-output-names = "osc24M"; 212*724ba675SRob Herring }; 213*724ba675SRob Herring 214*724ba675SRob Herring osc32k: clk-32k { 215*724ba675SRob Herring #clock-cells = <0>; 216*724ba675SRob Herring compatible = "fixed-clock"; 217*724ba675SRob Herring clock-frequency = <32768>; 218*724ba675SRob Herring clock-output-names = "osc32k"; 219*724ba675SRob Herring }; 220*724ba675SRob Herring 221*724ba675SRob Herring /* 222*724ba675SRob Herring * The following two are dummy clocks, placeholders 223*724ba675SRob Herring * used in the gmac_tx clock. The gmac driver will 224*724ba675SRob Herring * choose one parent depending on the PHY interface 225*724ba675SRob Herring * mode, using clk_set_rate auto-reparenting. 226*724ba675SRob Herring * 227*724ba675SRob Herring * The actual TX clock rate is not controlled by the 228*724ba675SRob Herring * gmac_tx clock. 229*724ba675SRob Herring */ 230*724ba675SRob Herring mii_phy_tx_clk: clk-mii-phy-tx { 231*724ba675SRob Herring #clock-cells = <0>; 232*724ba675SRob Herring compatible = "fixed-clock"; 233*724ba675SRob Herring clock-frequency = <25000000>; 234*724ba675SRob Herring clock-output-names = "mii_phy_tx"; 235*724ba675SRob Herring }; 236*724ba675SRob Herring 237*724ba675SRob Herring gmac_int_tx_clk: clk-gmac-int-tx { 238*724ba675SRob Herring #clock-cells = <0>; 239*724ba675SRob Herring compatible = "fixed-clock"; 240*724ba675SRob Herring clock-frequency = <125000000>; 241*724ba675SRob Herring clock-output-names = "gmac_int_tx"; 242*724ba675SRob Herring }; 243*724ba675SRob Herring 244*724ba675SRob Herring gmac_tx_clk: clk@1c20164 { 245*724ba675SRob Herring #clock-cells = <0>; 246*724ba675SRob Herring compatible = "allwinner,sun7i-a20-gmac-clk"; 247*724ba675SRob Herring reg = <0x01c20164 0x4>; 248*724ba675SRob Herring clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>; 249*724ba675SRob Herring clock-output-names = "gmac_tx"; 250*724ba675SRob Herring }; 251*724ba675SRob Herring }; 252*724ba675SRob Herring 253*724ba675SRob Herring 254*724ba675SRob Herring de: display-engine { 255*724ba675SRob Herring compatible = "allwinner,sun7i-a20-display-engine"; 256*724ba675SRob Herring allwinner,pipelines = <&fe0>, <&fe1>; 257*724ba675SRob Herring status = "disabled"; 258*724ba675SRob Herring }; 259*724ba675SRob Herring 260*724ba675SRob Herring soc { 261*724ba675SRob Herring compatible = "simple-bus"; 262*724ba675SRob Herring #address-cells = <1>; 263*724ba675SRob Herring #size-cells = <1>; 264*724ba675SRob Herring ranges; 265*724ba675SRob Herring 266*724ba675SRob Herring system-control@1c00000 { 267*724ba675SRob Herring compatible = "allwinner,sun7i-a20-system-control", 268*724ba675SRob Herring "allwinner,sun4i-a10-system-control"; 269*724ba675SRob Herring reg = <0x01c00000 0x30>; 270*724ba675SRob Herring #address-cells = <1>; 271*724ba675SRob Herring #size-cells = <1>; 272*724ba675SRob Herring ranges; 273*724ba675SRob Herring 274*724ba675SRob Herring sram_a: sram@0 { 275*724ba675SRob Herring compatible = "mmio-sram"; 276*724ba675SRob Herring reg = <0x00000000 0xc000>; 277*724ba675SRob Herring #address-cells = <1>; 278*724ba675SRob Herring #size-cells = <1>; 279*724ba675SRob Herring ranges = <0 0x00000000 0xc000>; 280*724ba675SRob Herring 281*724ba675SRob Herring emac_sram: sram-section@8000 { 282*724ba675SRob Herring compatible = "allwinner,sun7i-a20-sram-a3-a4", 283*724ba675SRob Herring "allwinner,sun4i-a10-sram-a3-a4"; 284*724ba675SRob Herring reg = <0x8000 0x4000>; 285*724ba675SRob Herring status = "disabled"; 286*724ba675SRob Herring }; 287*724ba675SRob Herring }; 288*724ba675SRob Herring 289*724ba675SRob Herring sram_d: sram@10000 { 290*724ba675SRob Herring compatible = "mmio-sram"; 291*724ba675SRob Herring reg = <0x00010000 0x1000>; 292*724ba675SRob Herring #address-cells = <1>; 293*724ba675SRob Herring #size-cells = <1>; 294*724ba675SRob Herring ranges = <0 0x00010000 0x1000>; 295*724ba675SRob Herring 296*724ba675SRob Herring otg_sram: sram-section@0 { 297*724ba675SRob Herring compatible = "allwinner,sun7i-a20-sram-d", 298*724ba675SRob Herring "allwinner,sun4i-a10-sram-d"; 299*724ba675SRob Herring reg = <0x0000 0x1000>; 300*724ba675SRob Herring status = "disabled"; 301*724ba675SRob Herring }; 302*724ba675SRob Herring }; 303*724ba675SRob Herring 304*724ba675SRob Herring sram_c: sram@1d00000 { 305*724ba675SRob Herring compatible = "mmio-sram"; 306*724ba675SRob Herring reg = <0x01d00000 0xd0000>; 307*724ba675SRob Herring #address-cells = <1>; 308*724ba675SRob Herring #size-cells = <1>; 309*724ba675SRob Herring ranges = <0 0x01d00000 0xd0000>; 310*724ba675SRob Herring 311*724ba675SRob Herring ve_sram: sram-section@0 { 312*724ba675SRob Herring compatible = "allwinner,sun7i-a20-sram-c1", 313*724ba675SRob Herring "allwinner,sun4i-a10-sram-c1"; 314*724ba675SRob Herring reg = <0x000000 0x80000>; 315*724ba675SRob Herring }; 316*724ba675SRob Herring }; 317*724ba675SRob Herring }; 318*724ba675SRob Herring 319*724ba675SRob Herring nmi_intc: interrupt-controller@1c00030 { 320*724ba675SRob Herring compatible = "allwinner,sun7i-a20-sc-nmi"; 321*724ba675SRob Herring interrupt-controller; 322*724ba675SRob Herring #interrupt-cells = <2>; 323*724ba675SRob Herring reg = <0x01c00030 0x0c>; 324*724ba675SRob Herring interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 325*724ba675SRob Herring }; 326*724ba675SRob Herring 327*724ba675SRob Herring dma: dma-controller@1c02000 { 328*724ba675SRob Herring compatible = "allwinner,sun4i-a10-dma"; 329*724ba675SRob Herring reg = <0x01c02000 0x1000>; 330*724ba675SRob Herring interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 331*724ba675SRob Herring clocks = <&ccu CLK_AHB_DMA>; 332*724ba675SRob Herring #dma-cells = <2>; 333*724ba675SRob Herring }; 334*724ba675SRob Herring 335*724ba675SRob Herring nfc: nand-controller@1c03000 { 336*724ba675SRob Herring compatible = "allwinner,sun4i-a10-nand"; 337*724ba675SRob Herring reg = <0x01c03000 0x1000>; 338*724ba675SRob Herring interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 339*724ba675SRob Herring clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>; 340*724ba675SRob Herring clock-names = "ahb", "mod"; 341*724ba675SRob Herring dmas = <&dma SUN4I_DMA_DEDICATED 3>; 342*724ba675SRob Herring dma-names = "rxtx"; 343*724ba675SRob Herring status = "disabled"; 344*724ba675SRob Herring #address-cells = <1>; 345*724ba675SRob Herring #size-cells = <0>; 346*724ba675SRob Herring }; 347*724ba675SRob Herring 348*724ba675SRob Herring spi0: spi@1c05000 { 349*724ba675SRob Herring compatible = "allwinner,sun4i-a10-spi"; 350*724ba675SRob Herring reg = <0x01c05000 0x1000>; 351*724ba675SRob Herring interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 352*724ba675SRob Herring clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>; 353*724ba675SRob Herring clock-names = "ahb", "mod"; 354*724ba675SRob Herring dmas = <&dma SUN4I_DMA_DEDICATED 27>, 355*724ba675SRob Herring <&dma SUN4I_DMA_DEDICATED 26>; 356*724ba675SRob Herring dma-names = "rx", "tx"; 357*724ba675SRob Herring status = "disabled"; 358*724ba675SRob Herring #address-cells = <1>; 359*724ba675SRob Herring #size-cells = <0>; 360*724ba675SRob Herring num-cs = <4>; 361*724ba675SRob Herring }; 362*724ba675SRob Herring 363*724ba675SRob Herring spi1: spi@1c06000 { 364*724ba675SRob Herring compatible = "allwinner,sun4i-a10-spi"; 365*724ba675SRob Herring reg = <0x01c06000 0x1000>; 366*724ba675SRob Herring interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 367*724ba675SRob Herring clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>; 368*724ba675SRob Herring clock-names = "ahb", "mod"; 369*724ba675SRob Herring dmas = <&dma SUN4I_DMA_DEDICATED 9>, 370*724ba675SRob Herring <&dma SUN4I_DMA_DEDICATED 8>; 371*724ba675SRob Herring dma-names = "rx", "tx"; 372*724ba675SRob Herring status = "disabled"; 373*724ba675SRob Herring #address-cells = <1>; 374*724ba675SRob Herring #size-cells = <0>; 375*724ba675SRob Herring num-cs = <1>; 376*724ba675SRob Herring }; 377*724ba675SRob Herring 378*724ba675SRob Herring csi0: csi@1c09000 { 379*724ba675SRob Herring compatible = "allwinner,sun7i-a20-csi0"; 380*724ba675SRob Herring reg = <0x01c09000 0x1000>; 381*724ba675SRob Herring interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 382*724ba675SRob Herring clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>; 383*724ba675SRob Herring clock-names = "bus", "isp", "ram"; 384*724ba675SRob Herring resets = <&ccu RST_CSI0>; 385*724ba675SRob Herring status = "disabled"; 386*724ba675SRob Herring }; 387*724ba675SRob Herring 388*724ba675SRob Herring emac: ethernet@1c0b000 { 389*724ba675SRob Herring compatible = "allwinner,sun4i-a10-emac"; 390*724ba675SRob Herring reg = <0x01c0b000 0x1000>; 391*724ba675SRob Herring interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 392*724ba675SRob Herring clocks = <&ccu CLK_AHB_EMAC>; 393*724ba675SRob Herring allwinner,sram = <&emac_sram 1>; 394*724ba675SRob Herring status = "disabled"; 395*724ba675SRob Herring }; 396*724ba675SRob Herring 397*724ba675SRob Herring mdio: mdio@1c0b080 { 398*724ba675SRob Herring compatible = "allwinner,sun4i-a10-mdio"; 399*724ba675SRob Herring reg = <0x01c0b080 0x14>; 400*724ba675SRob Herring status = "disabled"; 401*724ba675SRob Herring #address-cells = <1>; 402*724ba675SRob Herring #size-cells = <0>; 403*724ba675SRob Herring }; 404*724ba675SRob Herring 405*724ba675SRob Herring tcon0: lcd-controller@1c0c000 { 406*724ba675SRob Herring compatible = "allwinner,sun7i-a20-tcon0", 407*724ba675SRob Herring "allwinner,sun7i-a20-tcon"; 408*724ba675SRob Herring reg = <0x01c0c000 0x1000>; 409*724ba675SRob Herring interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 410*724ba675SRob Herring resets = <&ccu RST_TCON0>, <&ccu RST_LVDS>; 411*724ba675SRob Herring reset-names = "lcd", "lvds"; 412*724ba675SRob Herring clocks = <&ccu CLK_AHB_LCD0>, 413*724ba675SRob Herring <&ccu CLK_TCON0_CH0>, 414*724ba675SRob Herring <&ccu CLK_TCON0_CH1>; 415*724ba675SRob Herring clock-names = "ahb", 416*724ba675SRob Herring "tcon-ch0", 417*724ba675SRob Herring "tcon-ch1"; 418*724ba675SRob Herring clock-output-names = "tcon0-pixel-clock"; 419*724ba675SRob Herring #clock-cells = <0>; 420*724ba675SRob Herring dmas = <&dma SUN4I_DMA_DEDICATED 14>; 421*724ba675SRob Herring 422*724ba675SRob Herring ports { 423*724ba675SRob Herring #address-cells = <1>; 424*724ba675SRob Herring #size-cells = <0>; 425*724ba675SRob Herring 426*724ba675SRob Herring tcon0_in: port@0 { 427*724ba675SRob Herring #address-cells = <1>; 428*724ba675SRob Herring #size-cells = <0>; 429*724ba675SRob Herring reg = <0>; 430*724ba675SRob Herring 431*724ba675SRob Herring tcon0_in_be0: endpoint@0 { 432*724ba675SRob Herring reg = <0>; 433*724ba675SRob Herring remote-endpoint = <&be0_out_tcon0>; 434*724ba675SRob Herring }; 435*724ba675SRob Herring 436*724ba675SRob Herring tcon0_in_be1: endpoint@1 { 437*724ba675SRob Herring reg = <1>; 438*724ba675SRob Herring remote-endpoint = <&be1_out_tcon0>; 439*724ba675SRob Herring }; 440*724ba675SRob Herring }; 441*724ba675SRob Herring 442*724ba675SRob Herring tcon0_out: port@1 { 443*724ba675SRob Herring #address-cells = <1>; 444*724ba675SRob Herring #size-cells = <0>; 445*724ba675SRob Herring reg = <1>; 446*724ba675SRob Herring 447*724ba675SRob Herring tcon0_out_hdmi: endpoint@1 { 448*724ba675SRob Herring reg = <1>; 449*724ba675SRob Herring remote-endpoint = <&hdmi_in_tcon0>; 450*724ba675SRob Herring allwinner,tcon-channel = <1>; 451*724ba675SRob Herring }; 452*724ba675SRob Herring }; 453*724ba675SRob Herring }; 454*724ba675SRob Herring }; 455*724ba675SRob Herring 456*724ba675SRob Herring tcon1: lcd-controller@1c0d000 { 457*724ba675SRob Herring compatible = "allwinner,sun7i-a20-tcon1", 458*724ba675SRob Herring "allwinner,sun7i-a20-tcon"; 459*724ba675SRob Herring reg = <0x01c0d000 0x1000>; 460*724ba675SRob Herring interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 461*724ba675SRob Herring resets = <&ccu RST_TCON1>; 462*724ba675SRob Herring reset-names = "lcd"; 463*724ba675SRob Herring clocks = <&ccu CLK_AHB_LCD1>, 464*724ba675SRob Herring <&ccu CLK_TCON1_CH0>, 465*724ba675SRob Herring <&ccu CLK_TCON1_CH1>; 466*724ba675SRob Herring clock-names = "ahb", 467*724ba675SRob Herring "tcon-ch0", 468*724ba675SRob Herring "tcon-ch1"; 469*724ba675SRob Herring clock-output-names = "tcon1-pixel-clock"; 470*724ba675SRob Herring #clock-cells = <0>; 471*724ba675SRob Herring dmas = <&dma SUN4I_DMA_DEDICATED 15>; 472*724ba675SRob Herring 473*724ba675SRob Herring ports { 474*724ba675SRob Herring #address-cells = <1>; 475*724ba675SRob Herring #size-cells = <0>; 476*724ba675SRob Herring 477*724ba675SRob Herring tcon1_in: port@0 { 478*724ba675SRob Herring #address-cells = <1>; 479*724ba675SRob Herring #size-cells = <0>; 480*724ba675SRob Herring reg = <0>; 481*724ba675SRob Herring 482*724ba675SRob Herring tcon1_in_be0: endpoint@0 { 483*724ba675SRob Herring reg = <0>; 484*724ba675SRob Herring remote-endpoint = <&be0_out_tcon1>; 485*724ba675SRob Herring }; 486*724ba675SRob Herring 487*724ba675SRob Herring tcon1_in_be1: endpoint@1 { 488*724ba675SRob Herring reg = <1>; 489*724ba675SRob Herring remote-endpoint = <&be1_out_tcon1>; 490*724ba675SRob Herring }; 491*724ba675SRob Herring }; 492*724ba675SRob Herring 493*724ba675SRob Herring tcon1_out: port@1 { 494*724ba675SRob Herring #address-cells = <1>; 495*724ba675SRob Herring #size-cells = <0>; 496*724ba675SRob Herring reg = <1>; 497*724ba675SRob Herring 498*724ba675SRob Herring tcon1_out_hdmi: endpoint@1 { 499*724ba675SRob Herring reg = <1>; 500*724ba675SRob Herring remote-endpoint = <&hdmi_in_tcon1>; 501*724ba675SRob Herring allwinner,tcon-channel = <1>; 502*724ba675SRob Herring }; 503*724ba675SRob Herring }; 504*724ba675SRob Herring }; 505*724ba675SRob Herring }; 506*724ba675SRob Herring 507*724ba675SRob Herring video-codec@1c0e000 { 508*724ba675SRob Herring compatible = "allwinner,sun7i-a20-video-engine"; 509*724ba675SRob Herring reg = <0x01c0e000 0x1000>; 510*724ba675SRob Herring clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>, 511*724ba675SRob Herring <&ccu CLK_DRAM_VE>; 512*724ba675SRob Herring clock-names = "ahb", "mod", "ram"; 513*724ba675SRob Herring resets = <&ccu RST_VE>; 514*724ba675SRob Herring interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 515*724ba675SRob Herring allwinner,sram = <&ve_sram 1>; 516*724ba675SRob Herring }; 517*724ba675SRob Herring 518*724ba675SRob Herring mmc0: mmc@1c0f000 { 519*724ba675SRob Herring compatible = "allwinner,sun7i-a20-mmc"; 520*724ba675SRob Herring reg = <0x01c0f000 0x1000>; 521*724ba675SRob Herring clocks = <&ccu CLK_AHB_MMC0>, 522*724ba675SRob Herring <&ccu CLK_MMC0>, 523*724ba675SRob Herring <&ccu CLK_MMC0_OUTPUT>, 524*724ba675SRob Herring <&ccu CLK_MMC0_SAMPLE>; 525*724ba675SRob Herring clock-names = "ahb", 526*724ba675SRob Herring "mmc", 527*724ba675SRob Herring "output", 528*724ba675SRob Herring "sample"; 529*724ba675SRob Herring interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 530*724ba675SRob Herring pinctrl-names = "default"; 531*724ba675SRob Herring pinctrl-0 = <&mmc0_pins>; 532*724ba675SRob Herring status = "disabled"; 533*724ba675SRob Herring #address-cells = <1>; 534*724ba675SRob Herring #size-cells = <0>; 535*724ba675SRob Herring }; 536*724ba675SRob Herring 537*724ba675SRob Herring mmc1: mmc@1c10000 { 538*724ba675SRob Herring compatible = "allwinner,sun7i-a20-mmc"; 539*724ba675SRob Herring reg = <0x01c10000 0x1000>; 540*724ba675SRob Herring clocks = <&ccu CLK_AHB_MMC1>, 541*724ba675SRob Herring <&ccu CLK_MMC1>, 542*724ba675SRob Herring <&ccu CLK_MMC1_OUTPUT>, 543*724ba675SRob Herring <&ccu CLK_MMC1_SAMPLE>; 544*724ba675SRob Herring clock-names = "ahb", 545*724ba675SRob Herring "mmc", 546*724ba675SRob Herring "output", 547*724ba675SRob Herring "sample"; 548*724ba675SRob Herring interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 549*724ba675SRob Herring status = "disabled"; 550*724ba675SRob Herring #address-cells = <1>; 551*724ba675SRob Herring #size-cells = <0>; 552*724ba675SRob Herring }; 553*724ba675SRob Herring 554*724ba675SRob Herring mmc2: mmc@1c11000 { 555*724ba675SRob Herring compatible = "allwinner,sun7i-a20-mmc"; 556*724ba675SRob Herring reg = <0x01c11000 0x1000>; 557*724ba675SRob Herring clocks = <&ccu CLK_AHB_MMC2>, 558*724ba675SRob Herring <&ccu CLK_MMC2>, 559*724ba675SRob Herring <&ccu CLK_MMC2_OUTPUT>, 560*724ba675SRob Herring <&ccu CLK_MMC2_SAMPLE>; 561*724ba675SRob Herring clock-names = "ahb", 562*724ba675SRob Herring "mmc", 563*724ba675SRob Herring "output", 564*724ba675SRob Herring "sample"; 565*724ba675SRob Herring interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 566*724ba675SRob Herring pinctrl-names = "default"; 567*724ba675SRob Herring pinctrl-0 = <&mmc2_pins>; 568*724ba675SRob Herring status = "disabled"; 569*724ba675SRob Herring #address-cells = <1>; 570*724ba675SRob Herring #size-cells = <0>; 571*724ba675SRob Herring }; 572*724ba675SRob Herring 573*724ba675SRob Herring mmc3: mmc@1c12000 { 574*724ba675SRob Herring compatible = "allwinner,sun7i-a20-mmc"; 575*724ba675SRob Herring reg = <0x01c12000 0x1000>; 576*724ba675SRob Herring clocks = <&ccu CLK_AHB_MMC3>, 577*724ba675SRob Herring <&ccu CLK_MMC3>, 578*724ba675SRob Herring <&ccu CLK_MMC3_OUTPUT>, 579*724ba675SRob Herring <&ccu CLK_MMC3_SAMPLE>; 580*724ba675SRob Herring clock-names = "ahb", 581*724ba675SRob Herring "mmc", 582*724ba675SRob Herring "output", 583*724ba675SRob Herring "sample"; 584*724ba675SRob Herring interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 585*724ba675SRob Herring pinctrl-names = "default"; 586*724ba675SRob Herring pinctrl-0 = <&mmc3_pins>; 587*724ba675SRob Herring status = "disabled"; 588*724ba675SRob Herring #address-cells = <1>; 589*724ba675SRob Herring #size-cells = <0>; 590*724ba675SRob Herring }; 591*724ba675SRob Herring 592*724ba675SRob Herring usb_otg: usb@1c13000 { 593*724ba675SRob Herring compatible = "allwinner,sun4i-a10-musb"; 594*724ba675SRob Herring reg = <0x01c13000 0x0400>; 595*724ba675SRob Herring clocks = <&ccu CLK_AHB_OTG>; 596*724ba675SRob Herring interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 597*724ba675SRob Herring interrupt-names = "mc"; 598*724ba675SRob Herring phys = <&usbphy 0>; 599*724ba675SRob Herring phy-names = "usb"; 600*724ba675SRob Herring extcon = <&usbphy 0>; 601*724ba675SRob Herring allwinner,sram = <&otg_sram 1>; 602*724ba675SRob Herring dr_mode = "otg"; 603*724ba675SRob Herring status = "disabled"; 604*724ba675SRob Herring }; 605*724ba675SRob Herring 606*724ba675SRob Herring usbphy: phy@1c13400 { 607*724ba675SRob Herring #phy-cells = <1>; 608*724ba675SRob Herring compatible = "allwinner,sun7i-a20-usb-phy"; 609*724ba675SRob Herring reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>; 610*724ba675SRob Herring reg-names = "phy_ctrl", "pmu1", "pmu2"; 611*724ba675SRob Herring clocks = <&ccu CLK_USB_PHY>; 612*724ba675SRob Herring clock-names = "usb_phy"; 613*724ba675SRob Herring resets = <&ccu RST_USB_PHY0>, 614*724ba675SRob Herring <&ccu RST_USB_PHY1>, 615*724ba675SRob Herring <&ccu RST_USB_PHY2>; 616*724ba675SRob Herring reset-names = "usb0_reset", "usb1_reset", "usb2_reset"; 617*724ba675SRob Herring status = "disabled"; 618*724ba675SRob Herring }; 619*724ba675SRob Herring 620*724ba675SRob Herring ehci0: usb@1c14000 { 621*724ba675SRob Herring compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; 622*724ba675SRob Herring reg = <0x01c14000 0x100>; 623*724ba675SRob Herring interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 624*724ba675SRob Herring clocks = <&ccu CLK_AHB_EHCI0>; 625*724ba675SRob Herring phys = <&usbphy 1>; 626*724ba675SRob Herring phy-names = "usb"; 627*724ba675SRob Herring status = "disabled"; 628*724ba675SRob Herring }; 629*724ba675SRob Herring 630*724ba675SRob Herring ohci0: usb@1c14400 { 631*724ba675SRob Herring compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; 632*724ba675SRob Herring reg = <0x01c14400 0x100>; 633*724ba675SRob Herring interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 634*724ba675SRob Herring clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>; 635*724ba675SRob Herring phys = <&usbphy 1>; 636*724ba675SRob Herring phy-names = "usb"; 637*724ba675SRob Herring status = "disabled"; 638*724ba675SRob Herring }; 639*724ba675SRob Herring 640*724ba675SRob Herring crypto: crypto-engine@1c15000 { 641*724ba675SRob Herring compatible = "allwinner,sun7i-a20-crypto", 642*724ba675SRob Herring "allwinner,sun4i-a10-crypto"; 643*724ba675SRob Herring reg = <0x01c15000 0x1000>; 644*724ba675SRob Herring interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 645*724ba675SRob Herring clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>; 646*724ba675SRob Herring clock-names = "ahb", "mod"; 647*724ba675SRob Herring }; 648*724ba675SRob Herring 649*724ba675SRob Herring hdmi: hdmi@1c16000 { 650*724ba675SRob Herring compatible = "allwinner,sun7i-a20-hdmi", 651*724ba675SRob Herring "allwinner,sun5i-a10s-hdmi"; 652*724ba675SRob Herring reg = <0x01c16000 0x1000>; 653*724ba675SRob Herring interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 654*724ba675SRob Herring clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>, 655*724ba675SRob Herring <&ccu CLK_PLL_VIDEO0_2X>, 656*724ba675SRob Herring <&ccu CLK_PLL_VIDEO1_2X>; 657*724ba675SRob Herring clock-names = "ahb", "mod", "pll-0", "pll-1"; 658*724ba675SRob Herring dmas = <&dma SUN4I_DMA_NORMAL 16>, 659*724ba675SRob Herring <&dma SUN4I_DMA_NORMAL 16>, 660*724ba675SRob Herring <&dma SUN4I_DMA_DEDICATED 24>; 661*724ba675SRob Herring dma-names = "ddc-tx", "ddc-rx", "audio-tx"; 662*724ba675SRob Herring status = "disabled"; 663*724ba675SRob Herring 664*724ba675SRob Herring ports { 665*724ba675SRob Herring #address-cells = <1>; 666*724ba675SRob Herring #size-cells = <0>; 667*724ba675SRob Herring 668*724ba675SRob Herring hdmi_in: port@0 { 669*724ba675SRob Herring #address-cells = <1>; 670*724ba675SRob Herring #size-cells = <0>; 671*724ba675SRob Herring reg = <0>; 672*724ba675SRob Herring 673*724ba675SRob Herring hdmi_in_tcon0: endpoint@0 { 674*724ba675SRob Herring reg = <0>; 675*724ba675SRob Herring remote-endpoint = <&tcon0_out_hdmi>; 676*724ba675SRob Herring }; 677*724ba675SRob Herring 678*724ba675SRob Herring hdmi_in_tcon1: endpoint@1 { 679*724ba675SRob Herring reg = <1>; 680*724ba675SRob Herring remote-endpoint = <&tcon1_out_hdmi>; 681*724ba675SRob Herring }; 682*724ba675SRob Herring }; 683*724ba675SRob Herring 684*724ba675SRob Herring hdmi_out: port@1 { 685*724ba675SRob Herring reg = <1>; 686*724ba675SRob Herring }; 687*724ba675SRob Herring }; 688*724ba675SRob Herring }; 689*724ba675SRob Herring 690*724ba675SRob Herring spi2: spi@1c17000 { 691*724ba675SRob Herring compatible = "allwinner,sun4i-a10-spi"; 692*724ba675SRob Herring reg = <0x01c17000 0x1000>; 693*724ba675SRob Herring interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 694*724ba675SRob Herring clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>; 695*724ba675SRob Herring clock-names = "ahb", "mod"; 696*724ba675SRob Herring dmas = <&dma SUN4I_DMA_DEDICATED 29>, 697*724ba675SRob Herring <&dma SUN4I_DMA_DEDICATED 28>; 698*724ba675SRob Herring dma-names = "rx", "tx"; 699*724ba675SRob Herring status = "disabled"; 700*724ba675SRob Herring #address-cells = <1>; 701*724ba675SRob Herring #size-cells = <0>; 702*724ba675SRob Herring num-cs = <1>; 703*724ba675SRob Herring }; 704*724ba675SRob Herring 705*724ba675SRob Herring ahci: sata@1c18000 { 706*724ba675SRob Herring compatible = "allwinner,sun4i-a10-ahci"; 707*724ba675SRob Herring reg = <0x01c18000 0x1000>; 708*724ba675SRob Herring interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 709*724ba675SRob Herring clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>; 710*724ba675SRob Herring status = "disabled"; 711*724ba675SRob Herring }; 712*724ba675SRob Herring 713*724ba675SRob Herring ehci1: usb@1c1c000 { 714*724ba675SRob Herring compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; 715*724ba675SRob Herring reg = <0x01c1c000 0x100>; 716*724ba675SRob Herring interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 717*724ba675SRob Herring clocks = <&ccu CLK_AHB_EHCI1>; 718*724ba675SRob Herring phys = <&usbphy 2>; 719*724ba675SRob Herring phy-names = "usb"; 720*724ba675SRob Herring status = "disabled"; 721*724ba675SRob Herring }; 722*724ba675SRob Herring 723*724ba675SRob Herring ohci1: usb@1c1c400 { 724*724ba675SRob Herring compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; 725*724ba675SRob Herring reg = <0x01c1c400 0x100>; 726*724ba675SRob Herring interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 727*724ba675SRob Herring clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>; 728*724ba675SRob Herring phys = <&usbphy 2>; 729*724ba675SRob Herring phy-names = "usb"; 730*724ba675SRob Herring status = "disabled"; 731*724ba675SRob Herring }; 732*724ba675SRob Herring 733*724ba675SRob Herring csi1: csi@1c1d000 { 734*724ba675SRob Herring compatible = "allwinner,sun7i-a20-csi1", 735*724ba675SRob Herring "allwinner,sun4i-a10-csi1"; 736*724ba675SRob Herring reg = <0x01c1d000 0x1000>; 737*724ba675SRob Herring interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 738*724ba675SRob Herring clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>; 739*724ba675SRob Herring clock-names = "bus", "ram"; 740*724ba675SRob Herring resets = <&ccu RST_CSI1>; 741*724ba675SRob Herring status = "disabled"; 742*724ba675SRob Herring }; 743*724ba675SRob Herring 744*724ba675SRob Herring spi3: spi@1c1f000 { 745*724ba675SRob Herring compatible = "allwinner,sun4i-a10-spi"; 746*724ba675SRob Herring reg = <0x01c1f000 0x1000>; 747*724ba675SRob Herring interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 748*724ba675SRob Herring clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>; 749*724ba675SRob Herring clock-names = "ahb", "mod"; 750*724ba675SRob Herring dmas = <&dma SUN4I_DMA_DEDICATED 31>, 751*724ba675SRob Herring <&dma SUN4I_DMA_DEDICATED 30>; 752*724ba675SRob Herring dma-names = "rx", "tx"; 753*724ba675SRob Herring status = "disabled"; 754*724ba675SRob Herring #address-cells = <1>; 755*724ba675SRob Herring #size-cells = <0>; 756*724ba675SRob Herring num-cs = <1>; 757*724ba675SRob Herring }; 758*724ba675SRob Herring 759*724ba675SRob Herring ccu: clock@1c20000 { 760*724ba675SRob Herring compatible = "allwinner,sun7i-a20-ccu"; 761*724ba675SRob Herring reg = <0x01c20000 0x400>; 762*724ba675SRob Herring clocks = <&osc24M>, <&osc32k>; 763*724ba675SRob Herring clock-names = "hosc", "losc"; 764*724ba675SRob Herring #clock-cells = <1>; 765*724ba675SRob Herring #reset-cells = <1>; 766*724ba675SRob Herring }; 767*724ba675SRob Herring 768*724ba675SRob Herring pio: pinctrl@1c20800 { 769*724ba675SRob Herring compatible = "allwinner,sun7i-a20-pinctrl"; 770*724ba675SRob Herring reg = <0x01c20800 0x400>; 771*724ba675SRob Herring interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 772*724ba675SRob Herring clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; 773*724ba675SRob Herring clock-names = "apb", "hosc", "losc"; 774*724ba675SRob Herring gpio-controller; 775*724ba675SRob Herring interrupt-controller; 776*724ba675SRob Herring #interrupt-cells = <3>; 777*724ba675SRob Herring #gpio-cells = <3>; 778*724ba675SRob Herring 779*724ba675SRob Herring /omit-if-no-ref/ 780*724ba675SRob Herring can_pa_pins: can-pa-pins { 781*724ba675SRob Herring pins = "PA16", "PA17"; 782*724ba675SRob Herring function = "can"; 783*724ba675SRob Herring }; 784*724ba675SRob Herring 785*724ba675SRob Herring /omit-if-no-ref/ 786*724ba675SRob Herring can_ph_pins: can-ph-pins { 787*724ba675SRob Herring pins = "PH20", "PH21"; 788*724ba675SRob Herring function = "can"; 789*724ba675SRob Herring }; 790*724ba675SRob Herring 791*724ba675SRob Herring /omit-if-no-ref/ 792*724ba675SRob Herring clk_out_a_pin: clk-out-a-pin { 793*724ba675SRob Herring pins = "PI12"; 794*724ba675SRob Herring function = "clk_out_a"; 795*724ba675SRob Herring }; 796*724ba675SRob Herring 797*724ba675SRob Herring /omit-if-no-ref/ 798*724ba675SRob Herring clk_out_b_pin: clk-out-b-pin { 799*724ba675SRob Herring pins = "PI13"; 800*724ba675SRob Herring function = "clk_out_b"; 801*724ba675SRob Herring }; 802*724ba675SRob Herring 803*724ba675SRob Herring /omit-if-no-ref/ 804*724ba675SRob Herring csi0_8bits_pins: csi-8bits-pins { 805*724ba675SRob Herring pins = "PE0", "PE2", "PE3", "PE4", "PE5", 806*724ba675SRob Herring "PE6", "PE7", "PE8", "PE9", "PE10", 807*724ba675SRob Herring "PE11"; 808*724ba675SRob Herring function = "csi0"; 809*724ba675SRob Herring }; 810*724ba675SRob Herring 811*724ba675SRob Herring /omit-if-no-ref/ 812*724ba675SRob Herring csi0_clk_pin: csi-clk-pin { 813*724ba675SRob Herring pins = "PE1"; 814*724ba675SRob Herring function = "csi0"; 815*724ba675SRob Herring }; 816*724ba675SRob Herring 817*724ba675SRob Herring /omit-if-no-ref/ 818*724ba675SRob Herring csi1_8bits_pg_pins: csi1-8bits-pg-pins { 819*724ba675SRob Herring pins = "PG0", "PG2", "PG3", "PG4", "PG5", 820*724ba675SRob Herring "PG6", "PG7", "PG8", "PG9", "PG10", 821*724ba675SRob Herring "PG11"; 822*724ba675SRob Herring function = "csi1"; 823*724ba675SRob Herring }; 824*724ba675SRob Herring 825*724ba675SRob Herring /omit-if-no-ref/ 826*724ba675SRob Herring csi1_24bits_ph_pins: csi1-24bits-ph-pins { 827*724ba675SRob Herring pins = "PH0", "PH1", "PH2", "PH3", "PH4", 828*724ba675SRob Herring "PH5", "PH6", "PH7", "PH8", "PH9", 829*724ba675SRob Herring "PH10", "PH11", "PH12", "PH13", "PH14", 830*724ba675SRob Herring "PH15", "PH16", "PH17", "PH18", "PH19", 831*724ba675SRob Herring "PH20", "PH21", "PH22", "PH23", "PH24", 832*724ba675SRob Herring "PH25", "PH26", "PH27"; 833*724ba675SRob Herring function = "csi1"; 834*724ba675SRob Herring }; 835*724ba675SRob Herring 836*724ba675SRob Herring /omit-if-no-ref/ 837*724ba675SRob Herring csi1_clk_pg_pin: csi1-clk-pg-pin { 838*724ba675SRob Herring pins = "PG1"; 839*724ba675SRob Herring function = "csi1"; 840*724ba675SRob Herring }; 841*724ba675SRob Herring 842*724ba675SRob Herring /omit-if-no-ref/ 843*724ba675SRob Herring emac_pa_pins: emac-pa-pins { 844*724ba675SRob Herring pins = "PA0", "PA1", "PA2", 845*724ba675SRob Herring "PA3", "PA4", "PA5", "PA6", 846*724ba675SRob Herring "PA7", "PA8", "PA9", "PA10", 847*724ba675SRob Herring "PA11", "PA12", "PA13", "PA14", 848*724ba675SRob Herring "PA15", "PA16"; 849*724ba675SRob Herring function = "emac"; 850*724ba675SRob Herring }; 851*724ba675SRob Herring 852*724ba675SRob Herring /omit-if-no-ref/ 853*724ba675SRob Herring emac_ph_pins: emac-ph-pins { 854*724ba675SRob Herring pins = "PH8", "PH9", "PH10", "PH11", 855*724ba675SRob Herring "PH14", "PH15", "PH16", "PH17", 856*724ba675SRob Herring "PH18", "PH19", "PH20", "PH21", 857*724ba675SRob Herring "PH22", "PH23", "PH24", "PH25", 858*724ba675SRob Herring "PH26"; 859*724ba675SRob Herring function = "emac"; 860*724ba675SRob Herring }; 861*724ba675SRob Herring 862*724ba675SRob Herring /omit-if-no-ref/ 863*724ba675SRob Herring gmac_mii_pins: gmac-mii-pins { 864*724ba675SRob Herring pins = "PA0", "PA1", "PA2", 865*724ba675SRob Herring "PA3", "PA4", "PA5", "PA6", 866*724ba675SRob Herring "PA7", "PA8", "PA9", "PA10", 867*724ba675SRob Herring "PA11", "PA12", "PA13", "PA14", 868*724ba675SRob Herring "PA15", "PA16"; 869*724ba675SRob Herring function = "gmac"; 870*724ba675SRob Herring }; 871*724ba675SRob Herring 872*724ba675SRob Herring /omit-if-no-ref/ 873*724ba675SRob Herring gmac_rgmii_pins: gmac-rgmii-pins { 874*724ba675SRob Herring pins = "PA0", "PA1", "PA2", 875*724ba675SRob Herring "PA3", "PA4", "PA5", "PA6", 876*724ba675SRob Herring "PA7", "PA8", "PA10", 877*724ba675SRob Herring "PA11", "PA12", "PA13", 878*724ba675SRob Herring "PA15", "PA16"; 879*724ba675SRob Herring function = "gmac"; 880*724ba675SRob Herring /* 881*724ba675SRob Herring * data lines in RGMII mode use DDR mode 882*724ba675SRob Herring * and need a higher signal drive strength 883*724ba675SRob Herring */ 884*724ba675SRob Herring drive-strength = <40>; 885*724ba675SRob Herring }; 886*724ba675SRob Herring 887*724ba675SRob Herring /omit-if-no-ref/ 888*724ba675SRob Herring i2c0_pins: i2c0-pins { 889*724ba675SRob Herring pins = "PB0", "PB1"; 890*724ba675SRob Herring function = "i2c0"; 891*724ba675SRob Herring }; 892*724ba675SRob Herring 893*724ba675SRob Herring /omit-if-no-ref/ 894*724ba675SRob Herring i2c1_pins: i2c1-pins { 895*724ba675SRob Herring pins = "PB18", "PB19"; 896*724ba675SRob Herring function = "i2c1"; 897*724ba675SRob Herring }; 898*724ba675SRob Herring 899*724ba675SRob Herring /omit-if-no-ref/ 900*724ba675SRob Herring i2c2_pins: i2c2-pins { 901*724ba675SRob Herring pins = "PB20", "PB21"; 902*724ba675SRob Herring function = "i2c2"; 903*724ba675SRob Herring }; 904*724ba675SRob Herring 905*724ba675SRob Herring /omit-if-no-ref/ 906*724ba675SRob Herring i2c3_pins: i2c3-pins { 907*724ba675SRob Herring pins = "PI0", "PI1"; 908*724ba675SRob Herring function = "i2c3"; 909*724ba675SRob Herring }; 910*724ba675SRob Herring 911*724ba675SRob Herring /omit-if-no-ref/ 912*724ba675SRob Herring ir0_rx_pin: ir0-rx-pin { 913*724ba675SRob Herring pins = "PB4"; 914*724ba675SRob Herring function = "ir0"; 915*724ba675SRob Herring }; 916*724ba675SRob Herring 917*724ba675SRob Herring /omit-if-no-ref/ 918*724ba675SRob Herring ir0_tx_pin: ir0-tx-pin { 919*724ba675SRob Herring pins = "PB3"; 920*724ba675SRob Herring function = "ir0"; 921*724ba675SRob Herring }; 922*724ba675SRob Herring 923*724ba675SRob Herring /omit-if-no-ref/ 924*724ba675SRob Herring ir1_rx_pin: ir1-rx-pin { 925*724ba675SRob Herring pins = "PB23"; 926*724ba675SRob Herring function = "ir1"; 927*724ba675SRob Herring }; 928*724ba675SRob Herring 929*724ba675SRob Herring /omit-if-no-ref/ 930*724ba675SRob Herring ir1_tx_pin: ir1-tx-pin { 931*724ba675SRob Herring pins = "PB22"; 932*724ba675SRob Herring function = "ir1"; 933*724ba675SRob Herring }; 934*724ba675SRob Herring 935*724ba675SRob Herring /omit-if-no-ref/ 936*724ba675SRob Herring lcd_lvds0_pins: lcd-lvds0-pins { 937*724ba675SRob Herring pins = "PD0", "PD1", "PD2", "PD3", "PD4", 938*724ba675SRob Herring "PD5", "PD6", "PD7", "PD8", "PD9"; 939*724ba675SRob Herring function = "lvds0"; 940*724ba675SRob Herring }; 941*724ba675SRob Herring 942*724ba675SRob Herring /omit-if-no-ref/ 943*724ba675SRob Herring lcd_lvds1_pins: lcd-lvds1-pins { 944*724ba675SRob Herring pins = "PD10", "PD11", "PD12", "PD13", "PD14", 945*724ba675SRob Herring "PD15", "PD16", "PD17", "PD18", "PD19"; 946*724ba675SRob Herring function = "lvds1"; 947*724ba675SRob Herring }; 948*724ba675SRob Herring 949*724ba675SRob Herring /omit-if-no-ref/ 950*724ba675SRob Herring mmc0_pins: mmc0-pins { 951*724ba675SRob Herring pins = "PF0", "PF1", "PF2", 952*724ba675SRob Herring "PF3", "PF4", "PF5"; 953*724ba675SRob Herring function = "mmc0"; 954*724ba675SRob Herring drive-strength = <30>; 955*724ba675SRob Herring bias-pull-up; 956*724ba675SRob Herring }; 957*724ba675SRob Herring 958*724ba675SRob Herring /omit-if-no-ref/ 959*724ba675SRob Herring mmc2_pins: mmc2-pins { 960*724ba675SRob Herring pins = "PC6", "PC7", "PC8", 961*724ba675SRob Herring "PC9", "PC10", "PC11"; 962*724ba675SRob Herring function = "mmc2"; 963*724ba675SRob Herring drive-strength = <30>; 964*724ba675SRob Herring bias-pull-up; 965*724ba675SRob Herring }; 966*724ba675SRob Herring 967*724ba675SRob Herring /omit-if-no-ref/ 968*724ba675SRob Herring mmc3_pins: mmc3-pins { 969*724ba675SRob Herring pins = "PI4", "PI5", "PI6", 970*724ba675SRob Herring "PI7", "PI8", "PI9"; 971*724ba675SRob Herring function = "mmc3"; 972*724ba675SRob Herring drive-strength = <30>; 973*724ba675SRob Herring bias-pull-up; 974*724ba675SRob Herring }; 975*724ba675SRob Herring 976*724ba675SRob Herring /omit-if-no-ref/ 977*724ba675SRob Herring ps2_0_pins: ps2-0-pins { 978*724ba675SRob Herring pins = "PI20", "PI21"; 979*724ba675SRob Herring function = "ps2"; 980*724ba675SRob Herring }; 981*724ba675SRob Herring 982*724ba675SRob Herring /omit-if-no-ref/ 983*724ba675SRob Herring ps2_1_ph_pins: ps2-1-ph-pins { 984*724ba675SRob Herring pins = "PH12", "PH13"; 985*724ba675SRob Herring function = "ps2"; 986*724ba675SRob Herring }; 987*724ba675SRob Herring 988*724ba675SRob Herring /omit-if-no-ref/ 989*724ba675SRob Herring pwm0_pin: pwm0-pin { 990*724ba675SRob Herring pins = "PB2"; 991*724ba675SRob Herring function = "pwm"; 992*724ba675SRob Herring }; 993*724ba675SRob Herring 994*724ba675SRob Herring /omit-if-no-ref/ 995*724ba675SRob Herring pwm1_pin: pwm1-pin { 996*724ba675SRob Herring pins = "PI3"; 997*724ba675SRob Herring function = "pwm"; 998*724ba675SRob Herring }; 999*724ba675SRob Herring 1000*724ba675SRob Herring /omit-if-no-ref/ 1001*724ba675SRob Herring spdif_tx_pin: spdif-tx-pin { 1002*724ba675SRob Herring pins = "PB13"; 1003*724ba675SRob Herring function = "spdif"; 1004*724ba675SRob Herring bias-pull-up; 1005*724ba675SRob Herring }; 1006*724ba675SRob Herring 1007*724ba675SRob Herring /omit-if-no-ref/ 1008*724ba675SRob Herring spi0_pi_pins: spi0-pi-pins { 1009*724ba675SRob Herring pins = "PI11", "PI12", "PI13"; 1010*724ba675SRob Herring function = "spi0"; 1011*724ba675SRob Herring }; 1012*724ba675SRob Herring 1013*724ba675SRob Herring /omit-if-no-ref/ 1014*724ba675SRob Herring spi0_cs0_pi_pin: spi0-cs0-pi-pin { 1015*724ba675SRob Herring pins = "PI10"; 1016*724ba675SRob Herring function = "spi0"; 1017*724ba675SRob Herring }; 1018*724ba675SRob Herring 1019*724ba675SRob Herring /omit-if-no-ref/ 1020*724ba675SRob Herring spi0_cs1_pi_pin: spi0-cs1-pi-pin { 1021*724ba675SRob Herring pins = "PI14"; 1022*724ba675SRob Herring function = "spi0"; 1023*724ba675SRob Herring }; 1024*724ba675SRob Herring 1025*724ba675SRob Herring /omit-if-no-ref/ 1026*724ba675SRob Herring spi1_pi_pins: spi1-pi-pins { 1027*724ba675SRob Herring pins = "PI17", "PI18", "PI19"; 1028*724ba675SRob Herring function = "spi1"; 1029*724ba675SRob Herring }; 1030*724ba675SRob Herring 1031*724ba675SRob Herring /omit-if-no-ref/ 1032*724ba675SRob Herring spi1_cs0_pi_pin: spi1-cs0-pi-pin { 1033*724ba675SRob Herring pins = "PI16"; 1034*724ba675SRob Herring function = "spi1"; 1035*724ba675SRob Herring }; 1036*724ba675SRob Herring 1037*724ba675SRob Herring /omit-if-no-ref/ 1038*724ba675SRob Herring spi2_pb_pins: spi2-pb-pins { 1039*724ba675SRob Herring pins = "PB15", "PB16", "PB17"; 1040*724ba675SRob Herring function = "spi2"; 1041*724ba675SRob Herring }; 1042*724ba675SRob Herring 1043*724ba675SRob Herring /omit-if-no-ref/ 1044*724ba675SRob Herring spi2_cs0_pb_pin: spi2-cs0-pb-pin { 1045*724ba675SRob Herring pins = "PB14"; 1046*724ba675SRob Herring function = "spi2"; 1047*724ba675SRob Herring }; 1048*724ba675SRob Herring 1049*724ba675SRob Herring /omit-if-no-ref/ 1050*724ba675SRob Herring spi2_pc_pins: spi2-pc-pins { 1051*724ba675SRob Herring pins = "PC20", "PC21", "PC22"; 1052*724ba675SRob Herring function = "spi2"; 1053*724ba675SRob Herring }; 1054*724ba675SRob Herring 1055*724ba675SRob Herring /omit-if-no-ref/ 1056*724ba675SRob Herring spi2_cs0_pc_pin: spi2-cs0-pc-pin { 1057*724ba675SRob Herring pins = "PC19"; 1058*724ba675SRob Herring function = "spi2"; 1059*724ba675SRob Herring }; 1060*724ba675SRob Herring 1061*724ba675SRob Herring /omit-if-no-ref/ 1062*724ba675SRob Herring uart0_pb_pins: uart0-pb-pins { 1063*724ba675SRob Herring pins = "PB22", "PB23"; 1064*724ba675SRob Herring function = "uart0"; 1065*724ba675SRob Herring }; 1066*724ba675SRob Herring 1067*724ba675SRob Herring /omit-if-no-ref/ 1068*724ba675SRob Herring uart0_pf_pins: uart0-pf-pins { 1069*724ba675SRob Herring pins = "PF2", "PF4"; 1070*724ba675SRob Herring function = "uart0"; 1071*724ba675SRob Herring }; 1072*724ba675SRob Herring 1073*724ba675SRob Herring /omit-if-no-ref/ 1074*724ba675SRob Herring uart1_pa_pins: uart1-pa-pins { 1075*724ba675SRob Herring pins = "PA10", "PA11"; 1076*724ba675SRob Herring function = "uart1"; 1077*724ba675SRob Herring }; 1078*724ba675SRob Herring 1079*724ba675SRob Herring /omit-if-no-ref/ 1080*724ba675SRob Herring uart1_cts_rts_pa_pins: uart1-cts-rts-pa-pins { 1081*724ba675SRob Herring pins = "PA12", "PA13"; 1082*724ba675SRob Herring function = "uart1"; 1083*724ba675SRob Herring }; 1084*724ba675SRob Herring 1085*724ba675SRob Herring /omit-if-no-ref/ 1086*724ba675SRob Herring uart2_pa_pins: uart2-pa-pins { 1087*724ba675SRob Herring pins = "PA2", "PA3"; 1088*724ba675SRob Herring function = "uart2"; 1089*724ba675SRob Herring }; 1090*724ba675SRob Herring 1091*724ba675SRob Herring /omit-if-no-ref/ 1092*724ba675SRob Herring uart2_cts_rts_pa_pins: uart2-cts-rts-pa-pins { 1093*724ba675SRob Herring pins = "PA0", "PA1"; 1094*724ba675SRob Herring function = "uart2"; 1095*724ba675SRob Herring }; 1096*724ba675SRob Herring 1097*724ba675SRob Herring /omit-if-no-ref/ 1098*724ba675SRob Herring uart2_pi_pins: uart2-pi-pins { 1099*724ba675SRob Herring pins = "PI18", "PI19"; 1100*724ba675SRob Herring function = "uart2"; 1101*724ba675SRob Herring }; 1102*724ba675SRob Herring 1103*724ba675SRob Herring /omit-if-no-ref/ 1104*724ba675SRob Herring uart2_cts_rts_pi_pins: uart2-cts-rts-pi-pins { 1105*724ba675SRob Herring pins = "PI16", "PI17"; 1106*724ba675SRob Herring function = "uart2"; 1107*724ba675SRob Herring }; 1108*724ba675SRob Herring 1109*724ba675SRob Herring /omit-if-no-ref/ 1110*724ba675SRob Herring uart3_pg_pins: uart3-pg-pins { 1111*724ba675SRob Herring pins = "PG6", "PG7"; 1112*724ba675SRob Herring function = "uart3"; 1113*724ba675SRob Herring }; 1114*724ba675SRob Herring 1115*724ba675SRob Herring /omit-if-no-ref/ 1116*724ba675SRob Herring uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins { 1117*724ba675SRob Herring pins = "PG8", "PG9"; 1118*724ba675SRob Herring function = "uart3"; 1119*724ba675SRob Herring }; 1120*724ba675SRob Herring 1121*724ba675SRob Herring /omit-if-no-ref/ 1122*724ba675SRob Herring uart3_ph_pins: uart3-ph-pins { 1123*724ba675SRob Herring pins = "PH0", "PH1"; 1124*724ba675SRob Herring function = "uart3"; 1125*724ba675SRob Herring }; 1126*724ba675SRob Herring 1127*724ba675SRob Herring /omit-if-no-ref/ 1128*724ba675SRob Herring uart3_cts_rts_ph_pins: uart3-cts-rts-ph-pins { 1129*724ba675SRob Herring pins = "PH2", "PH3"; 1130*724ba675SRob Herring function = "uart3"; 1131*724ba675SRob Herring }; 1132*724ba675SRob Herring 1133*724ba675SRob Herring /omit-if-no-ref/ 1134*724ba675SRob Herring uart4_pg_pins: uart4-pg-pins { 1135*724ba675SRob Herring pins = "PG10", "PG11"; 1136*724ba675SRob Herring function = "uart4"; 1137*724ba675SRob Herring }; 1138*724ba675SRob Herring 1139*724ba675SRob Herring /omit-if-no-ref/ 1140*724ba675SRob Herring uart4_ph_pins: uart4-ph-pins { 1141*724ba675SRob Herring pins = "PH4", "PH5"; 1142*724ba675SRob Herring function = "uart4"; 1143*724ba675SRob Herring }; 1144*724ba675SRob Herring 1145*724ba675SRob Herring /omit-if-no-ref/ 1146*724ba675SRob Herring uart5_ph_pins: uart5-ph-pins { 1147*724ba675SRob Herring pins = "PH6", "PH7"; 1148*724ba675SRob Herring function = "uart5"; 1149*724ba675SRob Herring }; 1150*724ba675SRob Herring 1151*724ba675SRob Herring /omit-if-no-ref/ 1152*724ba675SRob Herring uart5_pi_pins: uart5-pi-pins { 1153*724ba675SRob Herring pins = "PI10", "PI11"; 1154*724ba675SRob Herring function = "uart5"; 1155*724ba675SRob Herring }; 1156*724ba675SRob Herring 1157*724ba675SRob Herring /omit-if-no-ref/ 1158*724ba675SRob Herring uart6_pa_pins: uart6-pa-pins { 1159*724ba675SRob Herring pins = "PA12", "PA13"; 1160*724ba675SRob Herring function = "uart6"; 1161*724ba675SRob Herring }; 1162*724ba675SRob Herring 1163*724ba675SRob Herring /omit-if-no-ref/ 1164*724ba675SRob Herring uart6_pi_pins: uart6-pi-pins { 1165*724ba675SRob Herring pins = "PI12", "PI13"; 1166*724ba675SRob Herring function = "uart6"; 1167*724ba675SRob Herring }; 1168*724ba675SRob Herring 1169*724ba675SRob Herring /omit-if-no-ref/ 1170*724ba675SRob Herring uart7_pa_pins: uart7-pa-pins { 1171*724ba675SRob Herring pins = "PA14", "PA15"; 1172*724ba675SRob Herring function = "uart7"; 1173*724ba675SRob Herring }; 1174*724ba675SRob Herring 1175*724ba675SRob Herring /omit-if-no-ref/ 1176*724ba675SRob Herring uart7_pi_pins: uart7-pi-pins { 1177*724ba675SRob Herring pins = "PI20", "PI21"; 1178*724ba675SRob Herring function = "uart7"; 1179*724ba675SRob Herring }; 1180*724ba675SRob Herring }; 1181*724ba675SRob Herring 1182*724ba675SRob Herring timer@1c20c00 { 1183*724ba675SRob Herring compatible = "allwinner,sun4i-a10-timer"; 1184*724ba675SRob Herring reg = <0x01c20c00 0x90>; 1185*724ba675SRob Herring interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 1186*724ba675SRob Herring <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, 1187*724ba675SRob Herring <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 1188*724ba675SRob Herring <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 1189*724ba675SRob Herring <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 1190*724ba675SRob Herring <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 1191*724ba675SRob Herring clocks = <&osc24M>; 1192*724ba675SRob Herring }; 1193*724ba675SRob Herring 1194*724ba675SRob Herring wdt: watchdog@1c20c90 { 1195*724ba675SRob Herring compatible = "allwinner,sun4i-a10-wdt"; 1196*724ba675SRob Herring reg = <0x01c20c90 0x10>; 1197*724ba675SRob Herring interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 1198*724ba675SRob Herring clocks = <&osc24M>; 1199*724ba675SRob Herring }; 1200*724ba675SRob Herring 1201*724ba675SRob Herring rtc: rtc@1c20d00 { 1202*724ba675SRob Herring compatible = "allwinner,sun7i-a20-rtc"; 1203*724ba675SRob Herring reg = <0x01c20d00 0x20>; 1204*724ba675SRob Herring interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 1205*724ba675SRob Herring }; 1206*724ba675SRob Herring 1207*724ba675SRob Herring pwm: pwm@1c20e00 { 1208*724ba675SRob Herring compatible = "allwinner,sun7i-a20-pwm"; 1209*724ba675SRob Herring reg = <0x01c20e00 0xc>; 1210*724ba675SRob Herring clocks = <&osc24M>; 1211*724ba675SRob Herring #pwm-cells = <3>; 1212*724ba675SRob Herring status = "disabled"; 1213*724ba675SRob Herring }; 1214*724ba675SRob Herring 1215*724ba675SRob Herring spdif: spdif@1c21000 { 1216*724ba675SRob Herring #sound-dai-cells = <0>; 1217*724ba675SRob Herring compatible = "allwinner,sun4i-a10-spdif"; 1218*724ba675SRob Herring reg = <0x01c21000 0x400>; 1219*724ba675SRob Herring interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1220*724ba675SRob Herring clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>; 1221*724ba675SRob Herring clock-names = "apb", "spdif"; 1222*724ba675SRob Herring dmas = <&dma SUN4I_DMA_NORMAL 2>, 1223*724ba675SRob Herring <&dma SUN4I_DMA_NORMAL 2>; 1224*724ba675SRob Herring dma-names = "rx", "tx"; 1225*724ba675SRob Herring status = "disabled"; 1226*724ba675SRob Herring }; 1227*724ba675SRob Herring 1228*724ba675SRob Herring ir0: ir@1c21800 { 1229*724ba675SRob Herring compatible = "allwinner,sun4i-a10-ir"; 1230*724ba675SRob Herring clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>; 1231*724ba675SRob Herring clock-names = "apb", "ir"; 1232*724ba675SRob Herring interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1233*724ba675SRob Herring reg = <0x01c21800 0x40>; 1234*724ba675SRob Herring status = "disabled"; 1235*724ba675SRob Herring }; 1236*724ba675SRob Herring 1237*724ba675SRob Herring ir1: ir@1c21c00 { 1238*724ba675SRob Herring compatible = "allwinner,sun4i-a10-ir"; 1239*724ba675SRob Herring clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>; 1240*724ba675SRob Herring clock-names = "apb", "ir"; 1241*724ba675SRob Herring interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1242*724ba675SRob Herring reg = <0x01c21c00 0x40>; 1243*724ba675SRob Herring status = "disabled"; 1244*724ba675SRob Herring }; 1245*724ba675SRob Herring 1246*724ba675SRob Herring i2s1: i2s@1c22000 { 1247*724ba675SRob Herring #sound-dai-cells = <0>; 1248*724ba675SRob Herring compatible = "allwinner,sun4i-a10-i2s"; 1249*724ba675SRob Herring reg = <0x01c22000 0x400>; 1250*724ba675SRob Herring interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 1251*724ba675SRob Herring clocks = <&ccu CLK_APB0_I2S1>, <&ccu CLK_I2S1>; 1252*724ba675SRob Herring clock-names = "apb", "mod"; 1253*724ba675SRob Herring dmas = <&dma SUN4I_DMA_NORMAL 4>, 1254*724ba675SRob Herring <&dma SUN4I_DMA_NORMAL 4>; 1255*724ba675SRob Herring dma-names = "rx", "tx"; 1256*724ba675SRob Herring status = "disabled"; 1257*724ba675SRob Herring }; 1258*724ba675SRob Herring 1259*724ba675SRob Herring i2s0: i2s@1c22400 { 1260*724ba675SRob Herring #sound-dai-cells = <0>; 1261*724ba675SRob Herring compatible = "allwinner,sun4i-a10-i2s"; 1262*724ba675SRob Herring reg = <0x01c22400 0x400>; 1263*724ba675SRob Herring interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 1264*724ba675SRob Herring clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>; 1265*724ba675SRob Herring clock-names = "apb", "mod"; 1266*724ba675SRob Herring dmas = <&dma SUN4I_DMA_NORMAL 3>, 1267*724ba675SRob Herring <&dma SUN4I_DMA_NORMAL 3>; 1268*724ba675SRob Herring dma-names = "rx", "tx"; 1269*724ba675SRob Herring status = "disabled"; 1270*724ba675SRob Herring }; 1271*724ba675SRob Herring 1272*724ba675SRob Herring lradc: lradc@1c22800 { 1273*724ba675SRob Herring compatible = "allwinner,sun4i-a10-lradc-keys"; 1274*724ba675SRob Herring reg = <0x01c22800 0x100>; 1275*724ba675SRob Herring interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 1276*724ba675SRob Herring status = "disabled"; 1277*724ba675SRob Herring }; 1278*724ba675SRob Herring 1279*724ba675SRob Herring codec: codec@1c22c00 { 1280*724ba675SRob Herring #sound-dai-cells = <0>; 1281*724ba675SRob Herring compatible = "allwinner,sun7i-a20-codec"; 1282*724ba675SRob Herring reg = <0x01c22c00 0x40>; 1283*724ba675SRob Herring interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 1284*724ba675SRob Herring clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>; 1285*724ba675SRob Herring clock-names = "apb", "codec"; 1286*724ba675SRob Herring dmas = <&dma SUN4I_DMA_NORMAL 19>, 1287*724ba675SRob Herring <&dma SUN4I_DMA_NORMAL 19>; 1288*724ba675SRob Herring dma-names = "rx", "tx"; 1289*724ba675SRob Herring status = "disabled"; 1290*724ba675SRob Herring }; 1291*724ba675SRob Herring 1292*724ba675SRob Herring sid: eeprom@1c23800 { 1293*724ba675SRob Herring compatible = "allwinner,sun7i-a20-sid"; 1294*724ba675SRob Herring reg = <0x01c23800 0x200>; 1295*724ba675SRob Herring }; 1296*724ba675SRob Herring 1297*724ba675SRob Herring i2s2: i2s@1c24400 { 1298*724ba675SRob Herring #sound-dai-cells = <0>; 1299*724ba675SRob Herring compatible = "allwinner,sun4i-a10-i2s"; 1300*724ba675SRob Herring reg = <0x01c24400 0x400>; 1301*724ba675SRob Herring interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 1302*724ba675SRob Herring clocks = <&ccu CLK_APB0_I2S2>, <&ccu CLK_I2S2>; 1303*724ba675SRob Herring clock-names = "apb", "mod"; 1304*724ba675SRob Herring dmas = <&dma SUN4I_DMA_NORMAL 6>, 1305*724ba675SRob Herring <&dma SUN4I_DMA_NORMAL 6>; 1306*724ba675SRob Herring dma-names = "rx", "tx"; 1307*724ba675SRob Herring status = "disabled"; 1308*724ba675SRob Herring }; 1309*724ba675SRob Herring 1310*724ba675SRob Herring rtp: rtp@1c25000 { 1311*724ba675SRob Herring compatible = "allwinner,sun5i-a13-ts"; 1312*724ba675SRob Herring reg = <0x01c25000 0x100>; 1313*724ba675SRob Herring interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 1314*724ba675SRob Herring #thermal-sensor-cells = <0>; 1315*724ba675SRob Herring }; 1316*724ba675SRob Herring 1317*724ba675SRob Herring uart0: serial@1c28000 { 1318*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 1319*724ba675SRob Herring reg = <0x01c28000 0x400>; 1320*724ba675SRob Herring interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 1321*724ba675SRob Herring reg-shift = <2>; 1322*724ba675SRob Herring reg-io-width = <4>; 1323*724ba675SRob Herring clocks = <&ccu CLK_APB1_UART0>; 1324*724ba675SRob Herring status = "disabled"; 1325*724ba675SRob Herring }; 1326*724ba675SRob Herring 1327*724ba675SRob Herring uart1: serial@1c28400 { 1328*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 1329*724ba675SRob Herring reg = <0x01c28400 0x400>; 1330*724ba675SRob Herring interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 1331*724ba675SRob Herring reg-shift = <2>; 1332*724ba675SRob Herring reg-io-width = <4>; 1333*724ba675SRob Herring clocks = <&ccu CLK_APB1_UART1>; 1334*724ba675SRob Herring status = "disabled"; 1335*724ba675SRob Herring }; 1336*724ba675SRob Herring 1337*724ba675SRob Herring uart2: serial@1c28800 { 1338*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 1339*724ba675SRob Herring reg = <0x01c28800 0x400>; 1340*724ba675SRob Herring interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 1341*724ba675SRob Herring reg-shift = <2>; 1342*724ba675SRob Herring reg-io-width = <4>; 1343*724ba675SRob Herring clocks = <&ccu CLK_APB1_UART2>; 1344*724ba675SRob Herring status = "disabled"; 1345*724ba675SRob Herring }; 1346*724ba675SRob Herring 1347*724ba675SRob Herring uart3: serial@1c28c00 { 1348*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 1349*724ba675SRob Herring reg = <0x01c28c00 0x400>; 1350*724ba675SRob Herring interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 1351*724ba675SRob Herring reg-shift = <2>; 1352*724ba675SRob Herring reg-io-width = <4>; 1353*724ba675SRob Herring clocks = <&ccu CLK_APB1_UART3>; 1354*724ba675SRob Herring status = "disabled"; 1355*724ba675SRob Herring }; 1356*724ba675SRob Herring 1357*724ba675SRob Herring uart4: serial@1c29000 { 1358*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 1359*724ba675SRob Herring reg = <0x01c29000 0x400>; 1360*724ba675SRob Herring interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 1361*724ba675SRob Herring reg-shift = <2>; 1362*724ba675SRob Herring reg-io-width = <4>; 1363*724ba675SRob Herring clocks = <&ccu CLK_APB1_UART4>; 1364*724ba675SRob Herring status = "disabled"; 1365*724ba675SRob Herring }; 1366*724ba675SRob Herring 1367*724ba675SRob Herring uart5: serial@1c29400 { 1368*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 1369*724ba675SRob Herring reg = <0x01c29400 0x400>; 1370*724ba675SRob Herring interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 1371*724ba675SRob Herring reg-shift = <2>; 1372*724ba675SRob Herring reg-io-width = <4>; 1373*724ba675SRob Herring clocks = <&ccu CLK_APB1_UART5>; 1374*724ba675SRob Herring status = "disabled"; 1375*724ba675SRob Herring }; 1376*724ba675SRob Herring 1377*724ba675SRob Herring uart6: serial@1c29800 { 1378*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 1379*724ba675SRob Herring reg = <0x01c29800 0x400>; 1380*724ba675SRob Herring interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 1381*724ba675SRob Herring reg-shift = <2>; 1382*724ba675SRob Herring reg-io-width = <4>; 1383*724ba675SRob Herring clocks = <&ccu CLK_APB1_UART6>; 1384*724ba675SRob Herring status = "disabled"; 1385*724ba675SRob Herring }; 1386*724ba675SRob Herring 1387*724ba675SRob Herring uart7: serial@1c29c00 { 1388*724ba675SRob Herring compatible = "snps,dw-apb-uart"; 1389*724ba675SRob Herring reg = <0x01c29c00 0x400>; 1390*724ba675SRob Herring interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 1391*724ba675SRob Herring reg-shift = <2>; 1392*724ba675SRob Herring reg-io-width = <4>; 1393*724ba675SRob Herring clocks = <&ccu CLK_APB1_UART7>; 1394*724ba675SRob Herring status = "disabled"; 1395*724ba675SRob Herring }; 1396*724ba675SRob Herring 1397*724ba675SRob Herring ps20: ps2@1c2a000 { 1398*724ba675SRob Herring compatible = "allwinner,sun4i-a10-ps2"; 1399*724ba675SRob Herring reg = <0x01c2a000 0x400>; 1400*724ba675SRob Herring interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 1401*724ba675SRob Herring clocks = <&ccu CLK_APB1_PS20>; 1402*724ba675SRob Herring status = "disabled"; 1403*724ba675SRob Herring }; 1404*724ba675SRob Herring 1405*724ba675SRob Herring ps21: ps2@1c2a400 { 1406*724ba675SRob Herring compatible = "allwinner,sun4i-a10-ps2"; 1407*724ba675SRob Herring reg = <0x01c2a400 0x400>; 1408*724ba675SRob Herring interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 1409*724ba675SRob Herring clocks = <&ccu CLK_APB1_PS21>; 1410*724ba675SRob Herring status = "disabled"; 1411*724ba675SRob Herring }; 1412*724ba675SRob Herring 1413*724ba675SRob Herring i2c0: i2c@1c2ac00 { 1414*724ba675SRob Herring compatible = "allwinner,sun7i-a20-i2c", 1415*724ba675SRob Herring "allwinner,sun4i-a10-i2c"; 1416*724ba675SRob Herring reg = <0x01c2ac00 0x400>; 1417*724ba675SRob Herring interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1418*724ba675SRob Herring clocks = <&ccu CLK_APB1_I2C0>; 1419*724ba675SRob Herring pinctrl-names = "default"; 1420*724ba675SRob Herring pinctrl-0 = <&i2c0_pins>; 1421*724ba675SRob Herring status = "disabled"; 1422*724ba675SRob Herring #address-cells = <1>; 1423*724ba675SRob Herring #size-cells = <0>; 1424*724ba675SRob Herring }; 1425*724ba675SRob Herring 1426*724ba675SRob Herring i2c1: i2c@1c2b000 { 1427*724ba675SRob Herring compatible = "allwinner,sun7i-a20-i2c", 1428*724ba675SRob Herring "allwinner,sun4i-a10-i2c"; 1429*724ba675SRob Herring reg = <0x01c2b000 0x400>; 1430*724ba675SRob Herring interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1431*724ba675SRob Herring clocks = <&ccu CLK_APB1_I2C1>; 1432*724ba675SRob Herring pinctrl-names = "default"; 1433*724ba675SRob Herring pinctrl-0 = <&i2c1_pins>; 1434*724ba675SRob Herring status = "disabled"; 1435*724ba675SRob Herring #address-cells = <1>; 1436*724ba675SRob Herring #size-cells = <0>; 1437*724ba675SRob Herring }; 1438*724ba675SRob Herring 1439*724ba675SRob Herring i2c2: i2c@1c2b400 { 1440*724ba675SRob Herring compatible = "allwinner,sun7i-a20-i2c", 1441*724ba675SRob Herring "allwinner,sun4i-a10-i2c"; 1442*724ba675SRob Herring reg = <0x01c2b400 0x400>; 1443*724ba675SRob Herring interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1444*724ba675SRob Herring clocks = <&ccu CLK_APB1_I2C2>; 1445*724ba675SRob Herring pinctrl-names = "default"; 1446*724ba675SRob Herring pinctrl-0 = <&i2c2_pins>; 1447*724ba675SRob Herring status = "disabled"; 1448*724ba675SRob Herring #address-cells = <1>; 1449*724ba675SRob Herring #size-cells = <0>; 1450*724ba675SRob Herring }; 1451*724ba675SRob Herring 1452*724ba675SRob Herring i2c3: i2c@1c2b800 { 1453*724ba675SRob Herring compatible = "allwinner,sun7i-a20-i2c", 1454*724ba675SRob Herring "allwinner,sun4i-a10-i2c"; 1455*724ba675SRob Herring reg = <0x01c2b800 0x400>; 1456*724ba675SRob Herring interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 1457*724ba675SRob Herring clocks = <&ccu CLK_APB1_I2C3>; 1458*724ba675SRob Herring pinctrl-names = "default"; 1459*724ba675SRob Herring pinctrl-0 = <&i2c3_pins>; 1460*724ba675SRob Herring status = "disabled"; 1461*724ba675SRob Herring #address-cells = <1>; 1462*724ba675SRob Herring #size-cells = <0>; 1463*724ba675SRob Herring }; 1464*724ba675SRob Herring 1465*724ba675SRob Herring can0: can@1c2bc00 { 1466*724ba675SRob Herring compatible = "allwinner,sun7i-a20-can", 1467*724ba675SRob Herring "allwinner,sun4i-a10-can"; 1468*724ba675SRob Herring reg = <0x01c2bc00 0x400>; 1469*724ba675SRob Herring interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 1470*724ba675SRob Herring clocks = <&ccu CLK_APB1_CAN>; 1471*724ba675SRob Herring status = "disabled"; 1472*724ba675SRob Herring }; 1473*724ba675SRob Herring 1474*724ba675SRob Herring i2c4: i2c@1c2c000 { 1475*724ba675SRob Herring compatible = "allwinner,sun7i-a20-i2c", 1476*724ba675SRob Herring "allwinner,sun4i-a10-i2c"; 1477*724ba675SRob Herring reg = <0x01c2c000 0x400>; 1478*724ba675SRob Herring interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 1479*724ba675SRob Herring clocks = <&ccu CLK_APB1_I2C4>; 1480*724ba675SRob Herring status = "disabled"; 1481*724ba675SRob Herring #address-cells = <1>; 1482*724ba675SRob Herring #size-cells = <0>; 1483*724ba675SRob Herring }; 1484*724ba675SRob Herring 1485*724ba675SRob Herring mali: gpu@1c40000 { 1486*724ba675SRob Herring compatible = "allwinner,sun7i-a20-mali", "arm,mali-400"; 1487*724ba675SRob Herring reg = <0x01c40000 0x10000>; 1488*724ba675SRob Herring interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 1489*724ba675SRob Herring <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 1490*724ba675SRob Herring <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, 1491*724ba675SRob Herring <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 1492*724ba675SRob Herring <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 1493*724ba675SRob Herring <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 1494*724ba675SRob Herring <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 1495*724ba675SRob Herring interrupt-names = "gp", 1496*724ba675SRob Herring "gpmmu", 1497*724ba675SRob Herring "pp0", 1498*724ba675SRob Herring "ppmmu0", 1499*724ba675SRob Herring "pp1", 1500*724ba675SRob Herring "ppmmu1", 1501*724ba675SRob Herring "pmu"; 1502*724ba675SRob Herring clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>; 1503*724ba675SRob Herring clock-names = "bus", "core"; 1504*724ba675SRob Herring resets = <&ccu RST_GPU>; 1505*724ba675SRob Herring 1506*724ba675SRob Herring assigned-clocks = <&ccu CLK_GPU>; 1507*724ba675SRob Herring assigned-clock-rates = <384000000>; 1508*724ba675SRob Herring }; 1509*724ba675SRob Herring 1510*724ba675SRob Herring gmac: ethernet@1c50000 { 1511*724ba675SRob Herring compatible = "allwinner,sun7i-a20-gmac"; 1512*724ba675SRob Herring reg = <0x01c50000 0x10000>; 1513*724ba675SRob Herring interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 1514*724ba675SRob Herring interrupt-names = "macirq"; 1515*724ba675SRob Herring clocks = <&ccu CLK_AHB_GMAC>, <&gmac_tx_clk>; 1516*724ba675SRob Herring clock-names = "stmmaceth", "allwinner_gmac_tx"; 1517*724ba675SRob Herring snps,pbl = <2>; 1518*724ba675SRob Herring snps,fixed-burst; 1519*724ba675SRob Herring snps,force_sf_dma_mode; 1520*724ba675SRob Herring status = "disabled"; 1521*724ba675SRob Herring 1522*724ba675SRob Herring gmac_mdio: mdio { 1523*724ba675SRob Herring compatible = "snps,dwmac-mdio"; 1524*724ba675SRob Herring #address-cells = <1>; 1525*724ba675SRob Herring #size-cells = <0>; 1526*724ba675SRob Herring }; 1527*724ba675SRob Herring }; 1528*724ba675SRob Herring 1529*724ba675SRob Herring hstimer@1c60000 { 1530*724ba675SRob Herring compatible = "allwinner,sun7i-a20-hstimer"; 1531*724ba675SRob Herring reg = <0x01c60000 0x1000>; 1532*724ba675SRob Herring interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>, 1533*724ba675SRob Herring <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>, 1534*724ba675SRob Herring <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>, 1535*724ba675SRob Herring <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 1536*724ba675SRob Herring clocks = <&ccu CLK_AHB_HSTIMER>; 1537*724ba675SRob Herring }; 1538*724ba675SRob Herring 1539*724ba675SRob Herring gic: interrupt-controller@1c81000 { 1540*724ba675SRob Herring compatible = "arm,gic-400"; 1541*724ba675SRob Herring reg = <0x01c81000 0x1000>, 1542*724ba675SRob Herring <0x01c82000 0x2000>, 1543*724ba675SRob Herring <0x01c84000 0x2000>, 1544*724ba675SRob Herring <0x01c86000 0x2000>; 1545*724ba675SRob Herring interrupt-controller; 1546*724ba675SRob Herring #interrupt-cells = <3>; 1547*724ba675SRob Herring interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1548*724ba675SRob Herring }; 1549*724ba675SRob Herring 1550*724ba675SRob Herring fe0: display-frontend@1e00000 { 1551*724ba675SRob Herring compatible = "allwinner,sun7i-a20-display-frontend"; 1552*724ba675SRob Herring reg = <0x01e00000 0x20000>; 1553*724ba675SRob Herring interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 1554*724ba675SRob Herring clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>, 1555*724ba675SRob Herring <&ccu CLK_DRAM_DE_FE0>; 1556*724ba675SRob Herring clock-names = "ahb", "mod", 1557*724ba675SRob Herring "ram"; 1558*724ba675SRob Herring resets = <&ccu RST_DE_FE0>; 1559*724ba675SRob Herring 1560*724ba675SRob Herring ports { 1561*724ba675SRob Herring #address-cells = <1>; 1562*724ba675SRob Herring #size-cells = <0>; 1563*724ba675SRob Herring 1564*724ba675SRob Herring fe0_out: port@1 { 1565*724ba675SRob Herring #address-cells = <1>; 1566*724ba675SRob Herring #size-cells = <0>; 1567*724ba675SRob Herring reg = <1>; 1568*724ba675SRob Herring 1569*724ba675SRob Herring fe0_out_be0: endpoint@0 { 1570*724ba675SRob Herring reg = <0>; 1571*724ba675SRob Herring remote-endpoint = <&be0_in_fe0>; 1572*724ba675SRob Herring }; 1573*724ba675SRob Herring 1574*724ba675SRob Herring fe0_out_be1: endpoint@1 { 1575*724ba675SRob Herring reg = <1>; 1576*724ba675SRob Herring remote-endpoint = <&be1_in_fe0>; 1577*724ba675SRob Herring }; 1578*724ba675SRob Herring }; 1579*724ba675SRob Herring }; 1580*724ba675SRob Herring }; 1581*724ba675SRob Herring 1582*724ba675SRob Herring fe1: display-frontend@1e20000 { 1583*724ba675SRob Herring compatible = "allwinner,sun7i-a20-display-frontend"; 1584*724ba675SRob Herring reg = <0x01e20000 0x20000>; 1585*724ba675SRob Herring interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 1586*724ba675SRob Herring clocks = <&ccu CLK_AHB_DE_FE1>, <&ccu CLK_DE_FE1>, 1587*724ba675SRob Herring <&ccu CLK_DRAM_DE_FE1>; 1588*724ba675SRob Herring clock-names = "ahb", "mod", 1589*724ba675SRob Herring "ram"; 1590*724ba675SRob Herring resets = <&ccu RST_DE_FE1>; 1591*724ba675SRob Herring 1592*724ba675SRob Herring ports { 1593*724ba675SRob Herring #address-cells = <1>; 1594*724ba675SRob Herring #size-cells = <0>; 1595*724ba675SRob Herring 1596*724ba675SRob Herring fe1_out: port@1 { 1597*724ba675SRob Herring #address-cells = <1>; 1598*724ba675SRob Herring #size-cells = <0>; 1599*724ba675SRob Herring reg = <1>; 1600*724ba675SRob Herring 1601*724ba675SRob Herring fe1_out_be0: endpoint@0 { 1602*724ba675SRob Herring reg = <0>; 1603*724ba675SRob Herring remote-endpoint = <&be0_in_fe1>; 1604*724ba675SRob Herring }; 1605*724ba675SRob Herring 1606*724ba675SRob Herring fe1_out_be1: endpoint@1 { 1607*724ba675SRob Herring reg = <1>; 1608*724ba675SRob Herring remote-endpoint = <&be1_in_fe1>; 1609*724ba675SRob Herring }; 1610*724ba675SRob Herring }; 1611*724ba675SRob Herring }; 1612*724ba675SRob Herring }; 1613*724ba675SRob Herring 1614*724ba675SRob Herring be1: display-backend@1e40000 { 1615*724ba675SRob Herring compatible = "allwinner,sun7i-a20-display-backend"; 1616*724ba675SRob Herring reg = <0x01e40000 0x10000>; 1617*724ba675SRob Herring interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 1618*724ba675SRob Herring clocks = <&ccu CLK_AHB_DE_BE1>, <&ccu CLK_DE_BE1>, 1619*724ba675SRob Herring <&ccu CLK_DRAM_DE_BE1>; 1620*724ba675SRob Herring clock-names = "ahb", "mod", 1621*724ba675SRob Herring "ram"; 1622*724ba675SRob Herring resets = <&ccu RST_DE_BE1>; 1623*724ba675SRob Herring 1624*724ba675SRob Herring ports { 1625*724ba675SRob Herring #address-cells = <1>; 1626*724ba675SRob Herring #size-cells = <0>; 1627*724ba675SRob Herring 1628*724ba675SRob Herring be1_in: port@0 { 1629*724ba675SRob Herring #address-cells = <1>; 1630*724ba675SRob Herring #size-cells = <0>; 1631*724ba675SRob Herring reg = <0>; 1632*724ba675SRob Herring 1633*724ba675SRob Herring be1_in_fe0: endpoint@0 { 1634*724ba675SRob Herring reg = <0>; 1635*724ba675SRob Herring remote-endpoint = <&fe0_out_be1>; 1636*724ba675SRob Herring }; 1637*724ba675SRob Herring 1638*724ba675SRob Herring be1_in_fe1: endpoint@1 { 1639*724ba675SRob Herring reg = <1>; 1640*724ba675SRob Herring remote-endpoint = <&fe1_out_be1>; 1641*724ba675SRob Herring }; 1642*724ba675SRob Herring }; 1643*724ba675SRob Herring 1644*724ba675SRob Herring be1_out: port@1 { 1645*724ba675SRob Herring #address-cells = <1>; 1646*724ba675SRob Herring #size-cells = <0>; 1647*724ba675SRob Herring reg = <1>; 1648*724ba675SRob Herring 1649*724ba675SRob Herring be1_out_tcon0: endpoint@0 { 1650*724ba675SRob Herring reg = <0>; 1651*724ba675SRob Herring remote-endpoint = <&tcon0_in_be1>; 1652*724ba675SRob Herring }; 1653*724ba675SRob Herring 1654*724ba675SRob Herring be1_out_tcon1: endpoint@1 { 1655*724ba675SRob Herring reg = <1>; 1656*724ba675SRob Herring remote-endpoint = <&tcon1_in_be1>; 1657*724ba675SRob Herring }; 1658*724ba675SRob Herring }; 1659*724ba675SRob Herring }; 1660*724ba675SRob Herring }; 1661*724ba675SRob Herring 1662*724ba675SRob Herring be0: display-backend@1e60000 { 1663*724ba675SRob Herring compatible = "allwinner,sun7i-a20-display-backend"; 1664*724ba675SRob Herring reg = <0x01e60000 0x10000>; 1665*724ba675SRob Herring interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 1666*724ba675SRob Herring clocks = <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>, 1667*724ba675SRob Herring <&ccu CLK_DRAM_DE_BE0>; 1668*724ba675SRob Herring clock-names = "ahb", "mod", 1669*724ba675SRob Herring "ram"; 1670*724ba675SRob Herring resets = <&ccu RST_DE_BE0>; 1671*724ba675SRob Herring 1672*724ba675SRob Herring ports { 1673*724ba675SRob Herring #address-cells = <1>; 1674*724ba675SRob Herring #size-cells = <0>; 1675*724ba675SRob Herring 1676*724ba675SRob Herring be0_in: port@0 { 1677*724ba675SRob Herring #address-cells = <1>; 1678*724ba675SRob Herring #size-cells = <0>; 1679*724ba675SRob Herring reg = <0>; 1680*724ba675SRob Herring 1681*724ba675SRob Herring be0_in_fe0: endpoint@0 { 1682*724ba675SRob Herring reg = <0>; 1683*724ba675SRob Herring remote-endpoint = <&fe0_out_be0>; 1684*724ba675SRob Herring }; 1685*724ba675SRob Herring 1686*724ba675SRob Herring be0_in_fe1: endpoint@1 { 1687*724ba675SRob Herring reg = <1>; 1688*724ba675SRob Herring remote-endpoint = <&fe1_out_be0>; 1689*724ba675SRob Herring }; 1690*724ba675SRob Herring }; 1691*724ba675SRob Herring 1692*724ba675SRob Herring be0_out: port@1 { 1693*724ba675SRob Herring #address-cells = <1>; 1694*724ba675SRob Herring #size-cells = <0>; 1695*724ba675SRob Herring reg = <1>; 1696*724ba675SRob Herring 1697*724ba675SRob Herring be0_out_tcon0: endpoint@0 { 1698*724ba675SRob Herring reg = <0>; 1699*724ba675SRob Herring remote-endpoint = <&tcon0_in_be0>; 1700*724ba675SRob Herring }; 1701*724ba675SRob Herring 1702*724ba675SRob Herring be0_out_tcon1: endpoint@1 { 1703*724ba675SRob Herring reg = <1>; 1704*724ba675SRob Herring remote-endpoint = <&tcon1_in_be0>; 1705*724ba675SRob Herring }; 1706*724ba675SRob Herring }; 1707*724ba675SRob Herring }; 1708*724ba675SRob Herring }; 1709*724ba675SRob Herring }; 1710*724ba675SRob Herring}; 1711