1*f126890aSEmmanuel Vadot/* 2*f126890aSEmmanuel Vadot * Copyright 2012 Stefan Roese 3*f126890aSEmmanuel Vadot * Stefan Roese <sr@denx.de> 4*f126890aSEmmanuel Vadot * 5*f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms 6*f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual 7*f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a 8*f126890aSEmmanuel Vadot * whole. 9*f126890aSEmmanuel Vadot * 10*f126890aSEmmanuel Vadot * a) This library is free software; you can redistribute it and/or 11*f126890aSEmmanuel Vadot * modify it under the terms of the GNU General Public License as 12*f126890aSEmmanuel Vadot * published by the Free Software Foundation; either version 2 of the 13*f126890aSEmmanuel Vadot * License, or (at your option) any later version. 14*f126890aSEmmanuel Vadot * 15*f126890aSEmmanuel Vadot * This library is distributed in the hope that it will be useful, 16*f126890aSEmmanuel Vadot * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*f126890aSEmmanuel Vadot * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*f126890aSEmmanuel Vadot * GNU General Public License for more details. 19*f126890aSEmmanuel Vadot * 20*f126890aSEmmanuel Vadot * Or, alternatively, 21*f126890aSEmmanuel Vadot * 22*f126890aSEmmanuel Vadot * b) Permission is hereby granted, free of charge, to any person 23*f126890aSEmmanuel Vadot * obtaining a copy of this software and associated documentation 24*f126890aSEmmanuel Vadot * files (the "Software"), to deal in the Software without 25*f126890aSEmmanuel Vadot * restriction, including without limitation the rights to use, 26*f126890aSEmmanuel Vadot * copy, modify, merge, publish, distribute, sublicense, and/or 27*f126890aSEmmanuel Vadot * sell copies of the Software, and to permit persons to whom the 28*f126890aSEmmanuel Vadot * Software is furnished to do so, subject to the following 29*f126890aSEmmanuel Vadot * conditions: 30*f126890aSEmmanuel Vadot * 31*f126890aSEmmanuel Vadot * The above copyright notice and this permission notice shall be 32*f126890aSEmmanuel Vadot * included in all copies or substantial portions of the Software. 33*f126890aSEmmanuel Vadot * 34*f126890aSEmmanuel Vadot * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35*f126890aSEmmanuel Vadot * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36*f126890aSEmmanuel Vadot * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37*f126890aSEmmanuel Vadot * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38*f126890aSEmmanuel Vadot * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39*f126890aSEmmanuel Vadot * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40*f126890aSEmmanuel Vadot * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41*f126890aSEmmanuel Vadot * OTHER DEALINGS IN THE SOFTWARE. 42*f126890aSEmmanuel Vadot */ 43*f126890aSEmmanuel Vadot 44*f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 45*f126890aSEmmanuel Vadot#include <dt-bindings/dma/sun4i-a10.h> 46*f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun4i-a10-ccu.h> 47*f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun4i-a10-ccu.h> 48*f126890aSEmmanuel Vadot 49*f126890aSEmmanuel Vadot/ { 50*f126890aSEmmanuel Vadot #address-cells = <1>; 51*f126890aSEmmanuel Vadot #size-cells = <1>; 52*f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 53*f126890aSEmmanuel Vadot 54*f126890aSEmmanuel Vadot aliases { 55*f126890aSEmmanuel Vadot ethernet0 = &emac; 56*f126890aSEmmanuel Vadot }; 57*f126890aSEmmanuel Vadot 58*f126890aSEmmanuel Vadot chosen { 59*f126890aSEmmanuel Vadot #address-cells = <1>; 60*f126890aSEmmanuel Vadot #size-cells = <1>; 61*f126890aSEmmanuel Vadot ranges; 62*f126890aSEmmanuel Vadot 63*f126890aSEmmanuel Vadot framebuffer-lcd0-hdmi { 64*f126890aSEmmanuel Vadot compatible = "allwinner,simple-framebuffer", 65*f126890aSEmmanuel Vadot "simple-framebuffer"; 66*f126890aSEmmanuel Vadot allwinner,pipeline = "de_be0-lcd0-hdmi"; 67*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>, 68*f126890aSEmmanuel Vadot <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>, 69*f126890aSEmmanuel Vadot <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>; 70*f126890aSEmmanuel Vadot status = "disabled"; 71*f126890aSEmmanuel Vadot }; 72*f126890aSEmmanuel Vadot 73*f126890aSEmmanuel Vadot framebuffer-fe0-lcd0-hdmi { 74*f126890aSEmmanuel Vadot compatible = "allwinner,simple-framebuffer", 75*f126890aSEmmanuel Vadot "simple-framebuffer"; 76*f126890aSEmmanuel Vadot allwinner,pipeline = "de_fe0-de_be0-lcd0-hdmi"; 77*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>, 78*f126890aSEmmanuel Vadot <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>, 79*f126890aSEmmanuel Vadot <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>, 80*f126890aSEmmanuel Vadot <&ccu CLK_TCON0_CH1>, <&ccu CLK_HDMI>, 81*f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>; 82*f126890aSEmmanuel Vadot status = "disabled"; 83*f126890aSEmmanuel Vadot }; 84*f126890aSEmmanuel Vadot 85*f126890aSEmmanuel Vadot framebuffer-fe0-lcd0 { 86*f126890aSEmmanuel Vadot compatible = "allwinner,simple-framebuffer", 87*f126890aSEmmanuel Vadot "simple-framebuffer"; 88*f126890aSEmmanuel Vadot allwinner,pipeline = "de_fe0-de_be0-lcd0"; 89*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>, 90*f126890aSEmmanuel Vadot <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>, 91*f126890aSEmmanuel Vadot <&ccu CLK_DE_FE0>, <&ccu CLK_TCON0_CH0>, 92*f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>; 93*f126890aSEmmanuel Vadot status = "disabled"; 94*f126890aSEmmanuel Vadot }; 95*f126890aSEmmanuel Vadot 96*f126890aSEmmanuel Vadot framebuffer-fe0-lcd0-tve0 { 97*f126890aSEmmanuel Vadot compatible = "allwinner,simple-framebuffer", 98*f126890aSEmmanuel Vadot "simple-framebuffer"; 99*f126890aSEmmanuel Vadot allwinner,pipeline = "de_fe0-de_be0-lcd0-tve0"; 100*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>, 101*f126890aSEmmanuel Vadot <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>, 102*f126890aSEmmanuel Vadot <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>, 103*f126890aSEmmanuel Vadot <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_TVE0>, 104*f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>; 105*f126890aSEmmanuel Vadot status = "disabled"; 106*f126890aSEmmanuel Vadot }; 107*f126890aSEmmanuel Vadot }; 108*f126890aSEmmanuel Vadot 109*f126890aSEmmanuel Vadot cpus { 110*f126890aSEmmanuel Vadot #address-cells = <1>; 111*f126890aSEmmanuel Vadot #size-cells = <0>; 112*f126890aSEmmanuel Vadot cpu0: cpu@0 { 113*f126890aSEmmanuel Vadot device_type = "cpu"; 114*f126890aSEmmanuel Vadot compatible = "arm,cortex-a8"; 115*f126890aSEmmanuel Vadot reg = <0x0>; 116*f126890aSEmmanuel Vadot clocks = <&ccu CLK_CPU>; 117*f126890aSEmmanuel Vadot clock-latency = <244144>; /* 8 32k periods */ 118*f126890aSEmmanuel Vadot operating-points = 119*f126890aSEmmanuel Vadot /* kHz uV */ 120*f126890aSEmmanuel Vadot <1008000 1400000>, 121*f126890aSEmmanuel Vadot <912000 1350000>, 122*f126890aSEmmanuel Vadot <864000 1300000>, 123*f126890aSEmmanuel Vadot <624000 1250000>; 124*f126890aSEmmanuel Vadot #cooling-cells = <2>; 125*f126890aSEmmanuel Vadot }; 126*f126890aSEmmanuel Vadot }; 127*f126890aSEmmanuel Vadot 128*f126890aSEmmanuel Vadot thermal-zones { 129*f126890aSEmmanuel Vadot cpu-thermal { 130*f126890aSEmmanuel Vadot /* milliseconds */ 131*f126890aSEmmanuel Vadot polling-delay-passive = <250>; 132*f126890aSEmmanuel Vadot polling-delay = <1000>; 133*f126890aSEmmanuel Vadot thermal-sensors = <&rtp>; 134*f126890aSEmmanuel Vadot 135*f126890aSEmmanuel Vadot cooling-maps { 136*f126890aSEmmanuel Vadot map0 { 137*f126890aSEmmanuel Vadot trip = <&cpu_alert0>; 138*f126890aSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 139*f126890aSEmmanuel Vadot }; 140*f126890aSEmmanuel Vadot }; 141*f126890aSEmmanuel Vadot 142*f126890aSEmmanuel Vadot trips { 143*f126890aSEmmanuel Vadot cpu_alert0: cpu-alert0 { 144*f126890aSEmmanuel Vadot /* milliCelsius */ 145*f126890aSEmmanuel Vadot temperature = <85000>; 146*f126890aSEmmanuel Vadot hysteresis = <2000>; 147*f126890aSEmmanuel Vadot type = "passive"; 148*f126890aSEmmanuel Vadot }; 149*f126890aSEmmanuel Vadot 150*f126890aSEmmanuel Vadot cpu_crit: cpu-crit { 151*f126890aSEmmanuel Vadot /* milliCelsius */ 152*f126890aSEmmanuel Vadot temperature = <100000>; 153*f126890aSEmmanuel Vadot hysteresis = <2000>; 154*f126890aSEmmanuel Vadot type = "critical"; 155*f126890aSEmmanuel Vadot }; 156*f126890aSEmmanuel Vadot }; 157*f126890aSEmmanuel Vadot }; 158*f126890aSEmmanuel Vadot }; 159*f126890aSEmmanuel Vadot 160*f126890aSEmmanuel Vadot clocks { 161*f126890aSEmmanuel Vadot #address-cells = <1>; 162*f126890aSEmmanuel Vadot #size-cells = <1>; 163*f126890aSEmmanuel Vadot ranges; 164*f126890aSEmmanuel Vadot 165*f126890aSEmmanuel Vadot osc24M: clk-24M { 166*f126890aSEmmanuel Vadot #clock-cells = <0>; 167*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 168*f126890aSEmmanuel Vadot clock-frequency = <24000000>; 169*f126890aSEmmanuel Vadot clock-output-names = "osc24M"; 170*f126890aSEmmanuel Vadot }; 171*f126890aSEmmanuel Vadot 172*f126890aSEmmanuel Vadot osc32k: clk-32k { 173*f126890aSEmmanuel Vadot #clock-cells = <0>; 174*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 175*f126890aSEmmanuel Vadot clock-frequency = <32768>; 176*f126890aSEmmanuel Vadot clock-output-names = "osc32k"; 177*f126890aSEmmanuel Vadot }; 178*f126890aSEmmanuel Vadot }; 179*f126890aSEmmanuel Vadot 180*f126890aSEmmanuel Vadot de: display-engine { 181*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-display-engine"; 182*f126890aSEmmanuel Vadot allwinner,pipelines = <&fe0>, <&fe1>; 183*f126890aSEmmanuel Vadot status = "disabled"; 184*f126890aSEmmanuel Vadot }; 185*f126890aSEmmanuel Vadot 186*f126890aSEmmanuel Vadot pmu { 187*f126890aSEmmanuel Vadot compatible = "arm,cortex-a8-pmu"; 188*f126890aSEmmanuel Vadot interrupts = <3>; 189*f126890aSEmmanuel Vadot }; 190*f126890aSEmmanuel Vadot 191*f126890aSEmmanuel Vadot reserved-memory { 192*f126890aSEmmanuel Vadot #address-cells = <1>; 193*f126890aSEmmanuel Vadot #size-cells = <1>; 194*f126890aSEmmanuel Vadot ranges; 195*f126890aSEmmanuel Vadot 196*f126890aSEmmanuel Vadot /* Address must be kept in the lower 256 MiBs of DRAM for VE. */ 197*f126890aSEmmanuel Vadot default-pool { 198*f126890aSEmmanuel Vadot compatible = "shared-dma-pool"; 199*f126890aSEmmanuel Vadot size = <0x6000000>; 200*f126890aSEmmanuel Vadot alloc-ranges = <0x40000000 0x10000000>; 201*f126890aSEmmanuel Vadot reusable; 202*f126890aSEmmanuel Vadot linux,cma-default; 203*f126890aSEmmanuel Vadot }; 204*f126890aSEmmanuel Vadot }; 205*f126890aSEmmanuel Vadot 206*f126890aSEmmanuel Vadot soc { 207*f126890aSEmmanuel Vadot compatible = "simple-bus"; 208*f126890aSEmmanuel Vadot #address-cells = <1>; 209*f126890aSEmmanuel Vadot #size-cells = <1>; 210*f126890aSEmmanuel Vadot ranges; 211*f126890aSEmmanuel Vadot 212*f126890aSEmmanuel Vadot system-control@1c00000 { 213*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-system-control"; 214*f126890aSEmmanuel Vadot reg = <0x01c00000 0x30>; 215*f126890aSEmmanuel Vadot #address-cells = <1>; 216*f126890aSEmmanuel Vadot #size-cells = <1>; 217*f126890aSEmmanuel Vadot ranges; 218*f126890aSEmmanuel Vadot 219*f126890aSEmmanuel Vadot sram_a: sram@0 { 220*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 221*f126890aSEmmanuel Vadot reg = <0x00000000 0xc000>; 222*f126890aSEmmanuel Vadot #address-cells = <1>; 223*f126890aSEmmanuel Vadot #size-cells = <1>; 224*f126890aSEmmanuel Vadot ranges = <0 0x00000000 0xc000>; 225*f126890aSEmmanuel Vadot 226*f126890aSEmmanuel Vadot emac_sram: sram-section@8000 { 227*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-sram-a3-a4"; 228*f126890aSEmmanuel Vadot reg = <0x8000 0x4000>; 229*f126890aSEmmanuel Vadot status = "disabled"; 230*f126890aSEmmanuel Vadot }; 231*f126890aSEmmanuel Vadot }; 232*f126890aSEmmanuel Vadot 233*f126890aSEmmanuel Vadot sram_d: sram@10000 { 234*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 235*f126890aSEmmanuel Vadot reg = <0x00010000 0x1000>; 236*f126890aSEmmanuel Vadot #address-cells = <1>; 237*f126890aSEmmanuel Vadot #size-cells = <1>; 238*f126890aSEmmanuel Vadot ranges = <0 0x00010000 0x1000>; 239*f126890aSEmmanuel Vadot 240*f126890aSEmmanuel Vadot otg_sram: sram-section@0 { 241*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-sram-d"; 242*f126890aSEmmanuel Vadot reg = <0x0000 0x1000>; 243*f126890aSEmmanuel Vadot status = "disabled"; 244*f126890aSEmmanuel Vadot }; 245*f126890aSEmmanuel Vadot }; 246*f126890aSEmmanuel Vadot 247*f126890aSEmmanuel Vadot sram_c: sram@1d00000 { 248*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 249*f126890aSEmmanuel Vadot reg = <0x01d00000 0xd0000>; 250*f126890aSEmmanuel Vadot #address-cells = <1>; 251*f126890aSEmmanuel Vadot #size-cells = <1>; 252*f126890aSEmmanuel Vadot ranges = <0 0x01d00000 0xd0000>; 253*f126890aSEmmanuel Vadot 254*f126890aSEmmanuel Vadot ve_sram: sram-section@0 { 255*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-sram-c1"; 256*f126890aSEmmanuel Vadot reg = <0x000000 0x80000>; 257*f126890aSEmmanuel Vadot }; 258*f126890aSEmmanuel Vadot }; 259*f126890aSEmmanuel Vadot }; 260*f126890aSEmmanuel Vadot 261*f126890aSEmmanuel Vadot dma: dma-controller@1c02000 { 262*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-dma"; 263*f126890aSEmmanuel Vadot reg = <0x01c02000 0x1000>; 264*f126890aSEmmanuel Vadot interrupts = <27>; 265*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_DMA>; 266*f126890aSEmmanuel Vadot #dma-cells = <2>; 267*f126890aSEmmanuel Vadot }; 268*f126890aSEmmanuel Vadot 269*f126890aSEmmanuel Vadot nfc: nand-controller@1c03000 { 270*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-nand"; 271*f126890aSEmmanuel Vadot reg = <0x01c03000 0x1000>; 272*f126890aSEmmanuel Vadot interrupts = <37>; 273*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>; 274*f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 275*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_DEDICATED 3>; 276*f126890aSEmmanuel Vadot dma-names = "rxtx"; 277*f126890aSEmmanuel Vadot status = "disabled"; 278*f126890aSEmmanuel Vadot #address-cells = <1>; 279*f126890aSEmmanuel Vadot #size-cells = <0>; 280*f126890aSEmmanuel Vadot }; 281*f126890aSEmmanuel Vadot 282*f126890aSEmmanuel Vadot spi0: spi@1c05000 { 283*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-spi"; 284*f126890aSEmmanuel Vadot reg = <0x01c05000 0x1000>; 285*f126890aSEmmanuel Vadot interrupts = <10>; 286*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>; 287*f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 288*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_DEDICATED 27>, 289*f126890aSEmmanuel Vadot <&dma SUN4I_DMA_DEDICATED 26>; 290*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 291*f126890aSEmmanuel Vadot status = "disabled"; 292*f126890aSEmmanuel Vadot #address-cells = <1>; 293*f126890aSEmmanuel Vadot #size-cells = <0>; 294*f126890aSEmmanuel Vadot }; 295*f126890aSEmmanuel Vadot 296*f126890aSEmmanuel Vadot spi1: spi@1c06000 { 297*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-spi"; 298*f126890aSEmmanuel Vadot reg = <0x01c06000 0x1000>; 299*f126890aSEmmanuel Vadot interrupts = <11>; 300*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>; 301*f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 302*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_DEDICATED 9>, 303*f126890aSEmmanuel Vadot <&dma SUN4I_DMA_DEDICATED 8>; 304*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 305*f126890aSEmmanuel Vadot pinctrl-names = "default"; 306*f126890aSEmmanuel Vadot pinctrl-0 = <&spi1_pins>, <&spi1_cs0_pin>; 307*f126890aSEmmanuel Vadot status = "disabled"; 308*f126890aSEmmanuel Vadot #address-cells = <1>; 309*f126890aSEmmanuel Vadot #size-cells = <0>; 310*f126890aSEmmanuel Vadot }; 311*f126890aSEmmanuel Vadot 312*f126890aSEmmanuel Vadot emac: ethernet@1c0b000 { 313*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-emac"; 314*f126890aSEmmanuel Vadot reg = <0x01c0b000 0x1000>; 315*f126890aSEmmanuel Vadot interrupts = <55>; 316*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_EMAC>; 317*f126890aSEmmanuel Vadot allwinner,sram = <&emac_sram 1>; 318*f126890aSEmmanuel Vadot pinctrl-names = "default"; 319*f126890aSEmmanuel Vadot pinctrl-0 = <&emac_pins>; 320*f126890aSEmmanuel Vadot status = "disabled"; 321*f126890aSEmmanuel Vadot }; 322*f126890aSEmmanuel Vadot 323*f126890aSEmmanuel Vadot mdio: mdio@1c0b080 { 324*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-mdio"; 325*f126890aSEmmanuel Vadot reg = <0x01c0b080 0x14>; 326*f126890aSEmmanuel Vadot status = "disabled"; 327*f126890aSEmmanuel Vadot #address-cells = <1>; 328*f126890aSEmmanuel Vadot #size-cells = <0>; 329*f126890aSEmmanuel Vadot }; 330*f126890aSEmmanuel Vadot 331*f126890aSEmmanuel Vadot tcon0: lcd-controller@1c0c000 { 332*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-tcon"; 333*f126890aSEmmanuel Vadot reg = <0x01c0c000 0x1000>; 334*f126890aSEmmanuel Vadot interrupts = <44>; 335*f126890aSEmmanuel Vadot resets = <&ccu RST_TCON0>; 336*f126890aSEmmanuel Vadot reset-names = "lcd"; 337*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_LCD0>, 338*f126890aSEmmanuel Vadot <&ccu CLK_TCON0_CH0>, 339*f126890aSEmmanuel Vadot <&ccu CLK_TCON0_CH1>; 340*f126890aSEmmanuel Vadot clock-names = "ahb", 341*f126890aSEmmanuel Vadot "tcon-ch0", 342*f126890aSEmmanuel Vadot "tcon-ch1"; 343*f126890aSEmmanuel Vadot clock-output-names = "tcon0-pixel-clock"; 344*f126890aSEmmanuel Vadot #clock-cells = <0>; 345*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_DEDICATED 14>; 346*f126890aSEmmanuel Vadot 347*f126890aSEmmanuel Vadot ports { 348*f126890aSEmmanuel Vadot #address-cells = <1>; 349*f126890aSEmmanuel Vadot #size-cells = <0>; 350*f126890aSEmmanuel Vadot 351*f126890aSEmmanuel Vadot tcon0_in: port@0 { 352*f126890aSEmmanuel Vadot #address-cells = <1>; 353*f126890aSEmmanuel Vadot #size-cells = <0>; 354*f126890aSEmmanuel Vadot reg = <0>; 355*f126890aSEmmanuel Vadot 356*f126890aSEmmanuel Vadot tcon0_in_be0: endpoint@0 { 357*f126890aSEmmanuel Vadot reg = <0>; 358*f126890aSEmmanuel Vadot remote-endpoint = <&be0_out_tcon0>; 359*f126890aSEmmanuel Vadot }; 360*f126890aSEmmanuel Vadot 361*f126890aSEmmanuel Vadot tcon0_in_be1: endpoint@1 { 362*f126890aSEmmanuel Vadot reg = <1>; 363*f126890aSEmmanuel Vadot remote-endpoint = <&be1_out_tcon0>; 364*f126890aSEmmanuel Vadot }; 365*f126890aSEmmanuel Vadot }; 366*f126890aSEmmanuel Vadot 367*f126890aSEmmanuel Vadot tcon0_out: port@1 { 368*f126890aSEmmanuel Vadot #address-cells = <1>; 369*f126890aSEmmanuel Vadot #size-cells = <0>; 370*f126890aSEmmanuel Vadot reg = <1>; 371*f126890aSEmmanuel Vadot 372*f126890aSEmmanuel Vadot tcon0_out_hdmi: endpoint@1 { 373*f126890aSEmmanuel Vadot reg = <1>; 374*f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_in_tcon0>; 375*f126890aSEmmanuel Vadot allwinner,tcon-channel = <1>; 376*f126890aSEmmanuel Vadot }; 377*f126890aSEmmanuel Vadot }; 378*f126890aSEmmanuel Vadot }; 379*f126890aSEmmanuel Vadot }; 380*f126890aSEmmanuel Vadot 381*f126890aSEmmanuel Vadot tcon1: lcd-controller@1c0d000 { 382*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-tcon"; 383*f126890aSEmmanuel Vadot reg = <0x01c0d000 0x1000>; 384*f126890aSEmmanuel Vadot interrupts = <45>; 385*f126890aSEmmanuel Vadot resets = <&ccu RST_TCON1>; 386*f126890aSEmmanuel Vadot reset-names = "lcd"; 387*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_LCD1>, 388*f126890aSEmmanuel Vadot <&ccu CLK_TCON1_CH0>, 389*f126890aSEmmanuel Vadot <&ccu CLK_TCON1_CH1>; 390*f126890aSEmmanuel Vadot clock-names = "ahb", 391*f126890aSEmmanuel Vadot "tcon-ch0", 392*f126890aSEmmanuel Vadot "tcon-ch1"; 393*f126890aSEmmanuel Vadot clock-output-names = "tcon1-pixel-clock"; 394*f126890aSEmmanuel Vadot #clock-cells = <0>; 395*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_DEDICATED 15>; 396*f126890aSEmmanuel Vadot 397*f126890aSEmmanuel Vadot ports { 398*f126890aSEmmanuel Vadot #address-cells = <1>; 399*f126890aSEmmanuel Vadot #size-cells = <0>; 400*f126890aSEmmanuel Vadot 401*f126890aSEmmanuel Vadot tcon1_in: port@0 { 402*f126890aSEmmanuel Vadot #address-cells = <1>; 403*f126890aSEmmanuel Vadot #size-cells = <0>; 404*f126890aSEmmanuel Vadot reg = <0>; 405*f126890aSEmmanuel Vadot 406*f126890aSEmmanuel Vadot tcon1_in_be0: endpoint@0 { 407*f126890aSEmmanuel Vadot reg = <0>; 408*f126890aSEmmanuel Vadot remote-endpoint = <&be0_out_tcon1>; 409*f126890aSEmmanuel Vadot }; 410*f126890aSEmmanuel Vadot 411*f126890aSEmmanuel Vadot tcon1_in_be1: endpoint@1 { 412*f126890aSEmmanuel Vadot reg = <1>; 413*f126890aSEmmanuel Vadot remote-endpoint = <&be1_out_tcon1>; 414*f126890aSEmmanuel Vadot }; 415*f126890aSEmmanuel Vadot }; 416*f126890aSEmmanuel Vadot 417*f126890aSEmmanuel Vadot tcon1_out: port@1 { 418*f126890aSEmmanuel Vadot #address-cells = <1>; 419*f126890aSEmmanuel Vadot #size-cells = <0>; 420*f126890aSEmmanuel Vadot reg = <1>; 421*f126890aSEmmanuel Vadot 422*f126890aSEmmanuel Vadot tcon1_out_hdmi: endpoint@1 { 423*f126890aSEmmanuel Vadot reg = <1>; 424*f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_in_tcon1>; 425*f126890aSEmmanuel Vadot allwinner,tcon-channel = <1>; 426*f126890aSEmmanuel Vadot }; 427*f126890aSEmmanuel Vadot }; 428*f126890aSEmmanuel Vadot }; 429*f126890aSEmmanuel Vadot }; 430*f126890aSEmmanuel Vadot 431*f126890aSEmmanuel Vadot video-codec@1c0e000 { 432*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-video-engine"; 433*f126890aSEmmanuel Vadot reg = <0x01c0e000 0x1000>; 434*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>, 435*f126890aSEmmanuel Vadot <&ccu CLK_DRAM_VE>; 436*f126890aSEmmanuel Vadot clock-names = "ahb", "mod", "ram"; 437*f126890aSEmmanuel Vadot resets = <&ccu RST_VE>; 438*f126890aSEmmanuel Vadot interrupts = <53>; 439*f126890aSEmmanuel Vadot allwinner,sram = <&ve_sram 1>; 440*f126890aSEmmanuel Vadot }; 441*f126890aSEmmanuel Vadot 442*f126890aSEmmanuel Vadot mmc0: mmc@1c0f000 { 443*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-mmc"; 444*f126890aSEmmanuel Vadot reg = <0x01c0f000 0x1000>; 445*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>; 446*f126890aSEmmanuel Vadot clock-names = "ahb", "mmc"; 447*f126890aSEmmanuel Vadot interrupts = <32>; 448*f126890aSEmmanuel Vadot pinctrl-names = "default"; 449*f126890aSEmmanuel Vadot pinctrl-0 = <&mmc0_pins>; 450*f126890aSEmmanuel Vadot status = "disabled"; 451*f126890aSEmmanuel Vadot #address-cells = <1>; 452*f126890aSEmmanuel Vadot #size-cells = <0>; 453*f126890aSEmmanuel Vadot }; 454*f126890aSEmmanuel Vadot 455*f126890aSEmmanuel Vadot mmc1: mmc@1c10000 { 456*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-mmc"; 457*f126890aSEmmanuel Vadot reg = <0x01c10000 0x1000>; 458*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_MMC1>, <&ccu CLK_MMC1>; 459*f126890aSEmmanuel Vadot clock-names = "ahb", "mmc"; 460*f126890aSEmmanuel Vadot interrupts = <33>; 461*f126890aSEmmanuel Vadot status = "disabled"; 462*f126890aSEmmanuel Vadot #address-cells = <1>; 463*f126890aSEmmanuel Vadot #size-cells = <0>; 464*f126890aSEmmanuel Vadot }; 465*f126890aSEmmanuel Vadot 466*f126890aSEmmanuel Vadot mmc2: mmc@1c11000 { 467*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-mmc"; 468*f126890aSEmmanuel Vadot reg = <0x01c11000 0x1000>; 469*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_MMC2>, <&ccu CLK_MMC2>; 470*f126890aSEmmanuel Vadot clock-names = "ahb", "mmc"; 471*f126890aSEmmanuel Vadot interrupts = <34>; 472*f126890aSEmmanuel Vadot status = "disabled"; 473*f126890aSEmmanuel Vadot #address-cells = <1>; 474*f126890aSEmmanuel Vadot #size-cells = <0>; 475*f126890aSEmmanuel Vadot }; 476*f126890aSEmmanuel Vadot 477*f126890aSEmmanuel Vadot mmc3: mmc@1c12000 { 478*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-mmc"; 479*f126890aSEmmanuel Vadot reg = <0x01c12000 0x1000>; 480*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_MMC3>, <&ccu CLK_MMC3>; 481*f126890aSEmmanuel Vadot clock-names = "ahb", "mmc"; 482*f126890aSEmmanuel Vadot interrupts = <35>; 483*f126890aSEmmanuel Vadot status = "disabled"; 484*f126890aSEmmanuel Vadot #address-cells = <1>; 485*f126890aSEmmanuel Vadot #size-cells = <0>; 486*f126890aSEmmanuel Vadot }; 487*f126890aSEmmanuel Vadot 488*f126890aSEmmanuel Vadot usb_otg: usb@1c13000 { 489*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-musb"; 490*f126890aSEmmanuel Vadot reg = <0x01c13000 0x0400>; 491*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_OTG>; 492*f126890aSEmmanuel Vadot interrupts = <38>; 493*f126890aSEmmanuel Vadot interrupt-names = "mc"; 494*f126890aSEmmanuel Vadot phys = <&usbphy 0>; 495*f126890aSEmmanuel Vadot phy-names = "usb"; 496*f126890aSEmmanuel Vadot extcon = <&usbphy 0>; 497*f126890aSEmmanuel Vadot allwinner,sram = <&otg_sram 1>; 498*f126890aSEmmanuel Vadot dr_mode = "otg"; 499*f126890aSEmmanuel Vadot status = "disabled"; 500*f126890aSEmmanuel Vadot }; 501*f126890aSEmmanuel Vadot 502*f126890aSEmmanuel Vadot usbphy: phy@1c13400 { 503*f126890aSEmmanuel Vadot #phy-cells = <1>; 504*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-usb-phy"; 505*f126890aSEmmanuel Vadot reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>; 506*f126890aSEmmanuel Vadot reg-names = "phy_ctrl", "pmu1", "pmu2"; 507*f126890aSEmmanuel Vadot clocks = <&ccu CLK_USB_PHY>; 508*f126890aSEmmanuel Vadot clock-names = "usb_phy"; 509*f126890aSEmmanuel Vadot resets = <&ccu RST_USB_PHY0>, 510*f126890aSEmmanuel Vadot <&ccu RST_USB_PHY1>, 511*f126890aSEmmanuel Vadot <&ccu RST_USB_PHY2>; 512*f126890aSEmmanuel Vadot reset-names = "usb0_reset", "usb1_reset", "usb2_reset"; 513*f126890aSEmmanuel Vadot status = "disabled"; 514*f126890aSEmmanuel Vadot }; 515*f126890aSEmmanuel Vadot 516*f126890aSEmmanuel Vadot ehci0: usb@1c14000 { 517*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; 518*f126890aSEmmanuel Vadot reg = <0x01c14000 0x100>; 519*f126890aSEmmanuel Vadot interrupts = <39>; 520*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_EHCI0>; 521*f126890aSEmmanuel Vadot phys = <&usbphy 1>; 522*f126890aSEmmanuel Vadot phy-names = "usb"; 523*f126890aSEmmanuel Vadot status = "disabled"; 524*f126890aSEmmanuel Vadot }; 525*f126890aSEmmanuel Vadot 526*f126890aSEmmanuel Vadot ohci0: usb@1c14400 { 527*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ohci", "generic-ohci"; 528*f126890aSEmmanuel Vadot reg = <0x01c14400 0x100>; 529*f126890aSEmmanuel Vadot interrupts = <64>; 530*f126890aSEmmanuel Vadot clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>; 531*f126890aSEmmanuel Vadot phys = <&usbphy 1>; 532*f126890aSEmmanuel Vadot phy-names = "usb"; 533*f126890aSEmmanuel Vadot status = "disabled"; 534*f126890aSEmmanuel Vadot }; 535*f126890aSEmmanuel Vadot 536*f126890aSEmmanuel Vadot crypto: crypto-engine@1c15000 { 537*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-crypto"; 538*f126890aSEmmanuel Vadot reg = <0x01c15000 0x1000>; 539*f126890aSEmmanuel Vadot interrupts = <86>; 540*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>; 541*f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 542*f126890aSEmmanuel Vadot }; 543*f126890aSEmmanuel Vadot 544*f126890aSEmmanuel Vadot hdmi: hdmi@1c16000 { 545*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-hdmi"; 546*f126890aSEmmanuel Vadot reg = <0x01c16000 0x1000>; 547*f126890aSEmmanuel Vadot interrupts = <58>; 548*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>, 549*f126890aSEmmanuel Vadot <&ccu CLK_PLL_VIDEO0_2X>, 550*f126890aSEmmanuel Vadot <&ccu CLK_PLL_VIDEO1_2X>; 551*f126890aSEmmanuel Vadot clock-names = "ahb", "mod", "pll-0", "pll-1"; 552*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_NORMAL 16>, 553*f126890aSEmmanuel Vadot <&dma SUN4I_DMA_NORMAL 16>, 554*f126890aSEmmanuel Vadot <&dma SUN4I_DMA_DEDICATED 24>; 555*f126890aSEmmanuel Vadot dma-names = "ddc-tx", "ddc-rx", "audio-tx"; 556*f126890aSEmmanuel Vadot status = "disabled"; 557*f126890aSEmmanuel Vadot 558*f126890aSEmmanuel Vadot ports { 559*f126890aSEmmanuel Vadot #address-cells = <1>; 560*f126890aSEmmanuel Vadot #size-cells = <0>; 561*f126890aSEmmanuel Vadot 562*f126890aSEmmanuel Vadot hdmi_in: port@0 { 563*f126890aSEmmanuel Vadot #address-cells = <1>; 564*f126890aSEmmanuel Vadot #size-cells = <0>; 565*f126890aSEmmanuel Vadot reg = <0>; 566*f126890aSEmmanuel Vadot 567*f126890aSEmmanuel Vadot hdmi_in_tcon0: endpoint@0 { 568*f126890aSEmmanuel Vadot reg = <0>; 569*f126890aSEmmanuel Vadot remote-endpoint = <&tcon0_out_hdmi>; 570*f126890aSEmmanuel Vadot }; 571*f126890aSEmmanuel Vadot 572*f126890aSEmmanuel Vadot hdmi_in_tcon1: endpoint@1 { 573*f126890aSEmmanuel Vadot reg = <1>; 574*f126890aSEmmanuel Vadot remote-endpoint = <&tcon1_out_hdmi>; 575*f126890aSEmmanuel Vadot }; 576*f126890aSEmmanuel Vadot }; 577*f126890aSEmmanuel Vadot 578*f126890aSEmmanuel Vadot hdmi_out: port@1 { 579*f126890aSEmmanuel Vadot reg = <1>; 580*f126890aSEmmanuel Vadot }; 581*f126890aSEmmanuel Vadot }; 582*f126890aSEmmanuel Vadot }; 583*f126890aSEmmanuel Vadot 584*f126890aSEmmanuel Vadot spi2: spi@1c17000 { 585*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-spi"; 586*f126890aSEmmanuel Vadot reg = <0x01c17000 0x1000>; 587*f126890aSEmmanuel Vadot interrupts = <12>; 588*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>; 589*f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 590*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_DEDICATED 29>, 591*f126890aSEmmanuel Vadot <&dma SUN4I_DMA_DEDICATED 28>; 592*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 593*f126890aSEmmanuel Vadot status = "disabled"; 594*f126890aSEmmanuel Vadot #address-cells = <1>; 595*f126890aSEmmanuel Vadot #size-cells = <0>; 596*f126890aSEmmanuel Vadot }; 597*f126890aSEmmanuel Vadot 598*f126890aSEmmanuel Vadot ahci: sata@1c18000 { 599*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ahci"; 600*f126890aSEmmanuel Vadot reg = <0x01c18000 0x1000>; 601*f126890aSEmmanuel Vadot interrupts = <56>; 602*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>; 603*f126890aSEmmanuel Vadot status = "disabled"; 604*f126890aSEmmanuel Vadot }; 605*f126890aSEmmanuel Vadot 606*f126890aSEmmanuel Vadot ehci1: usb@1c1c000 { 607*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; 608*f126890aSEmmanuel Vadot reg = <0x01c1c000 0x100>; 609*f126890aSEmmanuel Vadot interrupts = <40>; 610*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_EHCI1>; 611*f126890aSEmmanuel Vadot phys = <&usbphy 2>; 612*f126890aSEmmanuel Vadot phy-names = "usb"; 613*f126890aSEmmanuel Vadot status = "disabled"; 614*f126890aSEmmanuel Vadot }; 615*f126890aSEmmanuel Vadot 616*f126890aSEmmanuel Vadot ohci1: usb@1c1c400 { 617*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ohci", "generic-ohci"; 618*f126890aSEmmanuel Vadot reg = <0x01c1c400 0x100>; 619*f126890aSEmmanuel Vadot interrupts = <65>; 620*f126890aSEmmanuel Vadot clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>; 621*f126890aSEmmanuel Vadot phys = <&usbphy 2>; 622*f126890aSEmmanuel Vadot phy-names = "usb"; 623*f126890aSEmmanuel Vadot status = "disabled"; 624*f126890aSEmmanuel Vadot }; 625*f126890aSEmmanuel Vadot 626*f126890aSEmmanuel Vadot csi1: csi@1c1d000 { 627*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-csi1"; 628*f126890aSEmmanuel Vadot reg = <0x01c1d000 0x1000>; 629*f126890aSEmmanuel Vadot interrupts = <43>; 630*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>; 631*f126890aSEmmanuel Vadot clock-names = "bus", "ram"; 632*f126890aSEmmanuel Vadot resets = <&ccu RST_CSI1>; 633*f126890aSEmmanuel Vadot status = "disabled"; 634*f126890aSEmmanuel Vadot }; 635*f126890aSEmmanuel Vadot 636*f126890aSEmmanuel Vadot spi3: spi@1c1f000 { 637*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-spi"; 638*f126890aSEmmanuel Vadot reg = <0x01c1f000 0x1000>; 639*f126890aSEmmanuel Vadot interrupts = <50>; 640*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>; 641*f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 642*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_DEDICATED 31>, 643*f126890aSEmmanuel Vadot <&dma SUN4I_DMA_DEDICATED 30>; 644*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 645*f126890aSEmmanuel Vadot status = "disabled"; 646*f126890aSEmmanuel Vadot #address-cells = <1>; 647*f126890aSEmmanuel Vadot #size-cells = <0>; 648*f126890aSEmmanuel Vadot }; 649*f126890aSEmmanuel Vadot 650*f126890aSEmmanuel Vadot ccu: clock@1c20000 { 651*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ccu"; 652*f126890aSEmmanuel Vadot reg = <0x01c20000 0x400>; 653*f126890aSEmmanuel Vadot clocks = <&osc24M>, <&osc32k>; 654*f126890aSEmmanuel Vadot clock-names = "hosc", "losc"; 655*f126890aSEmmanuel Vadot #clock-cells = <1>; 656*f126890aSEmmanuel Vadot #reset-cells = <1>; 657*f126890aSEmmanuel Vadot }; 658*f126890aSEmmanuel Vadot 659*f126890aSEmmanuel Vadot intc: interrupt-controller@1c20400 { 660*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ic"; 661*f126890aSEmmanuel Vadot reg = <0x01c20400 0x400>; 662*f126890aSEmmanuel Vadot interrupt-controller; 663*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 664*f126890aSEmmanuel Vadot }; 665*f126890aSEmmanuel Vadot 666*f126890aSEmmanuel Vadot pio: pinctrl@1c20800 { 667*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-pinctrl"; 668*f126890aSEmmanuel Vadot reg = <0x01c20800 0x400>; 669*f126890aSEmmanuel Vadot interrupts = <28>; 670*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; 671*f126890aSEmmanuel Vadot clock-names = "apb", "hosc", "losc"; 672*f126890aSEmmanuel Vadot gpio-controller; 673*f126890aSEmmanuel Vadot interrupt-controller; 674*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 675*f126890aSEmmanuel Vadot #gpio-cells = <3>; 676*f126890aSEmmanuel Vadot 677*f126890aSEmmanuel Vadot can0_ph_pins: can0-ph-pins { 678*f126890aSEmmanuel Vadot pins = "PH20", "PH21"; 679*f126890aSEmmanuel Vadot function = "can"; 680*f126890aSEmmanuel Vadot }; 681*f126890aSEmmanuel Vadot 682*f126890aSEmmanuel Vadot /omit-if-no-ref/ 683*f126890aSEmmanuel Vadot csi1_8bits_pg_pins: csi1-8bits-pg-pins { 684*f126890aSEmmanuel Vadot pins = "PG0", "PG2", "PG3", "PG4", "PG5", 685*f126890aSEmmanuel Vadot "PG6", "PG7", "PG8", "PG9", "PG10", 686*f126890aSEmmanuel Vadot "PG11"; 687*f126890aSEmmanuel Vadot function = "csi1"; 688*f126890aSEmmanuel Vadot }; 689*f126890aSEmmanuel Vadot 690*f126890aSEmmanuel Vadot /omit-if-no-ref/ 691*f126890aSEmmanuel Vadot csi1_24bits_ph_pins: csi1-24bits-ph-pins { 692*f126890aSEmmanuel Vadot pins = "PH0", "PH1", "PH2", "PH3", "PH4", 693*f126890aSEmmanuel Vadot "PH5", "PH6", "PH7", "PH8", "PH9", 694*f126890aSEmmanuel Vadot "PH10", "PH11", "PH12", "PH13", "PH14", 695*f126890aSEmmanuel Vadot "PH15", "PH16", "PH17", "PH18", "PH19", 696*f126890aSEmmanuel Vadot "PH20", "PH21", "PH22", "PH23", "PH24", 697*f126890aSEmmanuel Vadot "PH25", "PH26", "PH27"; 698*f126890aSEmmanuel Vadot function = "csi1"; 699*f126890aSEmmanuel Vadot }; 700*f126890aSEmmanuel Vadot 701*f126890aSEmmanuel Vadot /omit-if-no-ref/ 702*f126890aSEmmanuel Vadot csi1_clk_pg_pin: csi1-clk-pg-pin { 703*f126890aSEmmanuel Vadot pins = "PG1"; 704*f126890aSEmmanuel Vadot function = "csi1"; 705*f126890aSEmmanuel Vadot }; 706*f126890aSEmmanuel Vadot 707*f126890aSEmmanuel Vadot emac_pins: emac0-pins { 708*f126890aSEmmanuel Vadot pins = "PA0", "PA1", "PA2", 709*f126890aSEmmanuel Vadot "PA3", "PA4", "PA5", "PA6", 710*f126890aSEmmanuel Vadot "PA7", "PA8", "PA9", "PA10", 711*f126890aSEmmanuel Vadot "PA11", "PA12", "PA13", "PA14", 712*f126890aSEmmanuel Vadot "PA15", "PA16"; 713*f126890aSEmmanuel Vadot function = "emac"; 714*f126890aSEmmanuel Vadot }; 715*f126890aSEmmanuel Vadot 716*f126890aSEmmanuel Vadot i2c0_pins: i2c0-pins { 717*f126890aSEmmanuel Vadot pins = "PB0", "PB1"; 718*f126890aSEmmanuel Vadot function = "i2c0"; 719*f126890aSEmmanuel Vadot }; 720*f126890aSEmmanuel Vadot 721*f126890aSEmmanuel Vadot i2c1_pins: i2c1-pins { 722*f126890aSEmmanuel Vadot pins = "PB18", "PB19"; 723*f126890aSEmmanuel Vadot function = "i2c1"; 724*f126890aSEmmanuel Vadot }; 725*f126890aSEmmanuel Vadot 726*f126890aSEmmanuel Vadot i2c2_pins: i2c2-pins { 727*f126890aSEmmanuel Vadot pins = "PB20", "PB21"; 728*f126890aSEmmanuel Vadot function = "i2c2"; 729*f126890aSEmmanuel Vadot }; 730*f126890aSEmmanuel Vadot 731*f126890aSEmmanuel Vadot ir0_rx_pins: ir0-rx-pin { 732*f126890aSEmmanuel Vadot pins = "PB4"; 733*f126890aSEmmanuel Vadot function = "ir0"; 734*f126890aSEmmanuel Vadot }; 735*f126890aSEmmanuel Vadot 736*f126890aSEmmanuel Vadot ir0_tx_pins: ir0-tx-pin { 737*f126890aSEmmanuel Vadot pins = "PB3"; 738*f126890aSEmmanuel Vadot function = "ir0"; 739*f126890aSEmmanuel Vadot }; 740*f126890aSEmmanuel Vadot 741*f126890aSEmmanuel Vadot ir1_rx_pins: ir1-rx-pin { 742*f126890aSEmmanuel Vadot pins = "PB23"; 743*f126890aSEmmanuel Vadot function = "ir1"; 744*f126890aSEmmanuel Vadot }; 745*f126890aSEmmanuel Vadot 746*f126890aSEmmanuel Vadot ir1_tx_pins: ir1-tx-pin { 747*f126890aSEmmanuel Vadot pins = "PB22"; 748*f126890aSEmmanuel Vadot function = "ir1"; 749*f126890aSEmmanuel Vadot }; 750*f126890aSEmmanuel Vadot 751*f126890aSEmmanuel Vadot mmc0_pins: mmc0-pins { 752*f126890aSEmmanuel Vadot pins = "PF0", "PF1", "PF2", 753*f126890aSEmmanuel Vadot "PF3", "PF4", "PF5"; 754*f126890aSEmmanuel Vadot function = "mmc0"; 755*f126890aSEmmanuel Vadot drive-strength = <30>; 756*f126890aSEmmanuel Vadot bias-pull-up; 757*f126890aSEmmanuel Vadot }; 758*f126890aSEmmanuel Vadot 759*f126890aSEmmanuel Vadot ps2_ch0_pins: ps2-ch0-pins { 760*f126890aSEmmanuel Vadot pins = "PI20", "PI21"; 761*f126890aSEmmanuel Vadot function = "ps2"; 762*f126890aSEmmanuel Vadot }; 763*f126890aSEmmanuel Vadot 764*f126890aSEmmanuel Vadot ps2_ch1_ph_pins: ps2-ch1-ph-pins { 765*f126890aSEmmanuel Vadot pins = "PH12", "PH13"; 766*f126890aSEmmanuel Vadot function = "ps2"; 767*f126890aSEmmanuel Vadot }; 768*f126890aSEmmanuel Vadot 769*f126890aSEmmanuel Vadot pwm0_pin: pwm0-pin { 770*f126890aSEmmanuel Vadot pins = "PB2"; 771*f126890aSEmmanuel Vadot function = "pwm"; 772*f126890aSEmmanuel Vadot }; 773*f126890aSEmmanuel Vadot 774*f126890aSEmmanuel Vadot pwm1_pin: pwm1-pin { 775*f126890aSEmmanuel Vadot pins = "PI3"; 776*f126890aSEmmanuel Vadot function = "pwm"; 777*f126890aSEmmanuel Vadot }; 778*f126890aSEmmanuel Vadot 779*f126890aSEmmanuel Vadot spdif_tx_pin: spdif-tx-pin { 780*f126890aSEmmanuel Vadot pins = "PB13"; 781*f126890aSEmmanuel Vadot function = "spdif"; 782*f126890aSEmmanuel Vadot bias-pull-up; 783*f126890aSEmmanuel Vadot }; 784*f126890aSEmmanuel Vadot 785*f126890aSEmmanuel Vadot spi0_pi_pins: spi0-pi-pins { 786*f126890aSEmmanuel Vadot pins = "PI11", "PI12", "PI13"; 787*f126890aSEmmanuel Vadot function = "spi0"; 788*f126890aSEmmanuel Vadot }; 789*f126890aSEmmanuel Vadot 790*f126890aSEmmanuel Vadot spi0_cs0_pi_pin: spi0-cs0-pi-pin { 791*f126890aSEmmanuel Vadot pins = "PI10"; 792*f126890aSEmmanuel Vadot function = "spi0"; 793*f126890aSEmmanuel Vadot }; 794*f126890aSEmmanuel Vadot 795*f126890aSEmmanuel Vadot spi1_pins: spi1-pins { 796*f126890aSEmmanuel Vadot pins = "PI17", "PI18", "PI19"; 797*f126890aSEmmanuel Vadot function = "spi1"; 798*f126890aSEmmanuel Vadot }; 799*f126890aSEmmanuel Vadot 800*f126890aSEmmanuel Vadot spi1_cs0_pin: spi1-cs0-pin { 801*f126890aSEmmanuel Vadot pins = "PI16"; 802*f126890aSEmmanuel Vadot function = "spi1"; 803*f126890aSEmmanuel Vadot }; 804*f126890aSEmmanuel Vadot 805*f126890aSEmmanuel Vadot spi2_pb_pins: spi2-pb-pins { 806*f126890aSEmmanuel Vadot pins = "PB15", "PB16", "PB17"; 807*f126890aSEmmanuel Vadot function = "spi2"; 808*f126890aSEmmanuel Vadot }; 809*f126890aSEmmanuel Vadot 810*f126890aSEmmanuel Vadot spi2_pc_pins: spi2-pc-pins { 811*f126890aSEmmanuel Vadot pins = "PC20", "PC21", "PC22"; 812*f126890aSEmmanuel Vadot function = "spi2"; 813*f126890aSEmmanuel Vadot }; 814*f126890aSEmmanuel Vadot 815*f126890aSEmmanuel Vadot spi2_cs0_pb_pin: spi2-cs0-pb-pin { 816*f126890aSEmmanuel Vadot pins = "PB14"; 817*f126890aSEmmanuel Vadot function = "spi2"; 818*f126890aSEmmanuel Vadot }; 819*f126890aSEmmanuel Vadot 820*f126890aSEmmanuel Vadot spi2_cs0_pc_pins: spi2-cs0-pc-pin { 821*f126890aSEmmanuel Vadot pins = "PC19"; 822*f126890aSEmmanuel Vadot function = "spi2"; 823*f126890aSEmmanuel Vadot }; 824*f126890aSEmmanuel Vadot 825*f126890aSEmmanuel Vadot uart0_pb_pins: uart0-pb-pins { 826*f126890aSEmmanuel Vadot pins = "PB22", "PB23"; 827*f126890aSEmmanuel Vadot function = "uart0"; 828*f126890aSEmmanuel Vadot }; 829*f126890aSEmmanuel Vadot 830*f126890aSEmmanuel Vadot uart0_pf_pins: uart0-pf-pins { 831*f126890aSEmmanuel Vadot pins = "PF2", "PF4"; 832*f126890aSEmmanuel Vadot function = "uart0"; 833*f126890aSEmmanuel Vadot }; 834*f126890aSEmmanuel Vadot 835*f126890aSEmmanuel Vadot uart1_pins: uart1-pins { 836*f126890aSEmmanuel Vadot pins = "PA10", "PA11"; 837*f126890aSEmmanuel Vadot function = "uart1"; 838*f126890aSEmmanuel Vadot }; 839*f126890aSEmmanuel Vadot }; 840*f126890aSEmmanuel Vadot 841*f126890aSEmmanuel Vadot timer@1c20c00 { 842*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-timer"; 843*f126890aSEmmanuel Vadot reg = <0x01c20c00 0x90>; 844*f126890aSEmmanuel Vadot interrupts = <22>, 845*f126890aSEmmanuel Vadot <23>, 846*f126890aSEmmanuel Vadot <24>, 847*f126890aSEmmanuel Vadot <25>, 848*f126890aSEmmanuel Vadot <67>, 849*f126890aSEmmanuel Vadot <68>; 850*f126890aSEmmanuel Vadot clocks = <&osc24M>; 851*f126890aSEmmanuel Vadot }; 852*f126890aSEmmanuel Vadot 853*f126890aSEmmanuel Vadot wdt: watchdog@1c20c90 { 854*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-wdt"; 855*f126890aSEmmanuel Vadot reg = <0x01c20c90 0x10>; 856*f126890aSEmmanuel Vadot interrupts = <24>; 857*f126890aSEmmanuel Vadot clocks = <&osc24M>; 858*f126890aSEmmanuel Vadot }; 859*f126890aSEmmanuel Vadot 860*f126890aSEmmanuel Vadot rtc: rtc@1c20d00 { 861*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-rtc"; 862*f126890aSEmmanuel Vadot reg = <0x01c20d00 0x20>; 863*f126890aSEmmanuel Vadot interrupts = <24>; 864*f126890aSEmmanuel Vadot }; 865*f126890aSEmmanuel Vadot 866*f126890aSEmmanuel Vadot pwm: pwm@1c20e00 { 867*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-pwm"; 868*f126890aSEmmanuel Vadot reg = <0x01c20e00 0xc>; 869*f126890aSEmmanuel Vadot clocks = <&osc24M>; 870*f126890aSEmmanuel Vadot #pwm-cells = <3>; 871*f126890aSEmmanuel Vadot status = "disabled"; 872*f126890aSEmmanuel Vadot }; 873*f126890aSEmmanuel Vadot 874*f126890aSEmmanuel Vadot spdif: spdif@1c21000 { 875*f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 876*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-spdif"; 877*f126890aSEmmanuel Vadot reg = <0x01c21000 0x400>; 878*f126890aSEmmanuel Vadot interrupts = <13>; 879*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>; 880*f126890aSEmmanuel Vadot clock-names = "apb", "spdif"; 881*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_NORMAL 2>, 882*f126890aSEmmanuel Vadot <&dma SUN4I_DMA_NORMAL 2>; 883*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 884*f126890aSEmmanuel Vadot status = "disabled"; 885*f126890aSEmmanuel Vadot }; 886*f126890aSEmmanuel Vadot 887*f126890aSEmmanuel Vadot ir0: ir@1c21800 { 888*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ir"; 889*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>; 890*f126890aSEmmanuel Vadot clock-names = "apb", "ir"; 891*f126890aSEmmanuel Vadot interrupts = <5>; 892*f126890aSEmmanuel Vadot reg = <0x01c21800 0x40>; 893*f126890aSEmmanuel Vadot status = "disabled"; 894*f126890aSEmmanuel Vadot }; 895*f126890aSEmmanuel Vadot 896*f126890aSEmmanuel Vadot ir1: ir@1c21c00 { 897*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ir"; 898*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>; 899*f126890aSEmmanuel Vadot clock-names = "apb", "ir"; 900*f126890aSEmmanuel Vadot interrupts = <6>; 901*f126890aSEmmanuel Vadot reg = <0x01c21c00 0x40>; 902*f126890aSEmmanuel Vadot status = "disabled"; 903*f126890aSEmmanuel Vadot }; 904*f126890aSEmmanuel Vadot 905*f126890aSEmmanuel Vadot i2s0: i2s@1c22400 { 906*f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 907*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-i2s"; 908*f126890aSEmmanuel Vadot reg = <0x01c22400 0x400>; 909*f126890aSEmmanuel Vadot interrupts = <16>; 910*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>; 911*f126890aSEmmanuel Vadot clock-names = "apb", "mod"; 912*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_NORMAL 3>, 913*f126890aSEmmanuel Vadot <&dma SUN4I_DMA_NORMAL 3>; 914*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 915*f126890aSEmmanuel Vadot status = "disabled"; 916*f126890aSEmmanuel Vadot }; 917*f126890aSEmmanuel Vadot 918*f126890aSEmmanuel Vadot lradc: lradc@1c22800 { 919*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-lradc-keys"; 920*f126890aSEmmanuel Vadot reg = <0x01c22800 0x100>; 921*f126890aSEmmanuel Vadot interrupts = <31>; 922*f126890aSEmmanuel Vadot status = "disabled"; 923*f126890aSEmmanuel Vadot }; 924*f126890aSEmmanuel Vadot 925*f126890aSEmmanuel Vadot codec: codec@1c22c00 { 926*f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 927*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-codec"; 928*f126890aSEmmanuel Vadot reg = <0x01c22c00 0x40>; 929*f126890aSEmmanuel Vadot interrupts = <30>; 930*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>; 931*f126890aSEmmanuel Vadot clock-names = "apb", "codec"; 932*f126890aSEmmanuel Vadot dmas = <&dma SUN4I_DMA_NORMAL 19>, 933*f126890aSEmmanuel Vadot <&dma SUN4I_DMA_NORMAL 19>; 934*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 935*f126890aSEmmanuel Vadot status = "disabled"; 936*f126890aSEmmanuel Vadot }; 937*f126890aSEmmanuel Vadot 938*f126890aSEmmanuel Vadot sid: eeprom@1c23800 { 939*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-sid"; 940*f126890aSEmmanuel Vadot reg = <0x01c23800 0x10>; 941*f126890aSEmmanuel Vadot }; 942*f126890aSEmmanuel Vadot 943*f126890aSEmmanuel Vadot rtp: rtp@1c25000 { 944*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ts"; 945*f126890aSEmmanuel Vadot reg = <0x01c25000 0x100>; 946*f126890aSEmmanuel Vadot interrupts = <29>; 947*f126890aSEmmanuel Vadot #thermal-sensor-cells = <0>; 948*f126890aSEmmanuel Vadot }; 949*f126890aSEmmanuel Vadot 950*f126890aSEmmanuel Vadot uart0: serial@1c28000 { 951*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 952*f126890aSEmmanuel Vadot reg = <0x01c28000 0x400>; 953*f126890aSEmmanuel Vadot interrupts = <1>; 954*f126890aSEmmanuel Vadot reg-shift = <2>; 955*f126890aSEmmanuel Vadot reg-io-width = <4>; 956*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_UART0>; 957*f126890aSEmmanuel Vadot status = "disabled"; 958*f126890aSEmmanuel Vadot }; 959*f126890aSEmmanuel Vadot 960*f126890aSEmmanuel Vadot uart1: serial@1c28400 { 961*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 962*f126890aSEmmanuel Vadot reg = <0x01c28400 0x400>; 963*f126890aSEmmanuel Vadot interrupts = <2>; 964*f126890aSEmmanuel Vadot reg-shift = <2>; 965*f126890aSEmmanuel Vadot reg-io-width = <4>; 966*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_UART1>; 967*f126890aSEmmanuel Vadot status = "disabled"; 968*f126890aSEmmanuel Vadot }; 969*f126890aSEmmanuel Vadot 970*f126890aSEmmanuel Vadot uart2: serial@1c28800 { 971*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 972*f126890aSEmmanuel Vadot reg = <0x01c28800 0x400>; 973*f126890aSEmmanuel Vadot interrupts = <3>; 974*f126890aSEmmanuel Vadot reg-shift = <2>; 975*f126890aSEmmanuel Vadot reg-io-width = <4>; 976*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_UART2>; 977*f126890aSEmmanuel Vadot status = "disabled"; 978*f126890aSEmmanuel Vadot }; 979*f126890aSEmmanuel Vadot 980*f126890aSEmmanuel Vadot uart3: serial@1c28c00 { 981*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 982*f126890aSEmmanuel Vadot reg = <0x01c28c00 0x400>; 983*f126890aSEmmanuel Vadot interrupts = <4>; 984*f126890aSEmmanuel Vadot reg-shift = <2>; 985*f126890aSEmmanuel Vadot reg-io-width = <4>; 986*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_UART3>; 987*f126890aSEmmanuel Vadot status = "disabled"; 988*f126890aSEmmanuel Vadot }; 989*f126890aSEmmanuel Vadot 990*f126890aSEmmanuel Vadot uart4: serial@1c29000 { 991*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 992*f126890aSEmmanuel Vadot reg = <0x01c29000 0x400>; 993*f126890aSEmmanuel Vadot interrupts = <17>; 994*f126890aSEmmanuel Vadot reg-shift = <2>; 995*f126890aSEmmanuel Vadot reg-io-width = <4>; 996*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_UART4>; 997*f126890aSEmmanuel Vadot status = "disabled"; 998*f126890aSEmmanuel Vadot }; 999*f126890aSEmmanuel Vadot 1000*f126890aSEmmanuel Vadot uart5: serial@1c29400 { 1001*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 1002*f126890aSEmmanuel Vadot reg = <0x01c29400 0x400>; 1003*f126890aSEmmanuel Vadot interrupts = <18>; 1004*f126890aSEmmanuel Vadot reg-shift = <2>; 1005*f126890aSEmmanuel Vadot reg-io-width = <4>; 1006*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_UART5>; 1007*f126890aSEmmanuel Vadot status = "disabled"; 1008*f126890aSEmmanuel Vadot }; 1009*f126890aSEmmanuel Vadot 1010*f126890aSEmmanuel Vadot uart6: serial@1c29800 { 1011*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 1012*f126890aSEmmanuel Vadot reg = <0x01c29800 0x400>; 1013*f126890aSEmmanuel Vadot interrupts = <19>; 1014*f126890aSEmmanuel Vadot reg-shift = <2>; 1015*f126890aSEmmanuel Vadot reg-io-width = <4>; 1016*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_UART6>; 1017*f126890aSEmmanuel Vadot status = "disabled"; 1018*f126890aSEmmanuel Vadot }; 1019*f126890aSEmmanuel Vadot 1020*f126890aSEmmanuel Vadot uart7: serial@1c29c00 { 1021*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 1022*f126890aSEmmanuel Vadot reg = <0x01c29c00 0x400>; 1023*f126890aSEmmanuel Vadot interrupts = <20>; 1024*f126890aSEmmanuel Vadot reg-shift = <2>; 1025*f126890aSEmmanuel Vadot reg-io-width = <4>; 1026*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_UART7>; 1027*f126890aSEmmanuel Vadot status = "disabled"; 1028*f126890aSEmmanuel Vadot }; 1029*f126890aSEmmanuel Vadot 1030*f126890aSEmmanuel Vadot ps20: ps2@1c2a000 { 1031*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ps2"; 1032*f126890aSEmmanuel Vadot reg = <0x01c2a000 0x400>; 1033*f126890aSEmmanuel Vadot interrupts = <62>; 1034*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_PS20>; 1035*f126890aSEmmanuel Vadot status = "disabled"; 1036*f126890aSEmmanuel Vadot }; 1037*f126890aSEmmanuel Vadot 1038*f126890aSEmmanuel Vadot ps21: ps2@1c2a400 { 1039*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-ps2"; 1040*f126890aSEmmanuel Vadot reg = <0x01c2a400 0x400>; 1041*f126890aSEmmanuel Vadot interrupts = <63>; 1042*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_PS21>; 1043*f126890aSEmmanuel Vadot status = "disabled"; 1044*f126890aSEmmanuel Vadot }; 1045*f126890aSEmmanuel Vadot 1046*f126890aSEmmanuel Vadot i2c0: i2c@1c2ac00 { 1047*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-i2c"; 1048*f126890aSEmmanuel Vadot reg = <0x01c2ac00 0x400>; 1049*f126890aSEmmanuel Vadot interrupts = <7>; 1050*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_I2C0>; 1051*f126890aSEmmanuel Vadot pinctrl-names = "default"; 1052*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c0_pins>; 1053*f126890aSEmmanuel Vadot status = "disabled"; 1054*f126890aSEmmanuel Vadot #address-cells = <1>; 1055*f126890aSEmmanuel Vadot #size-cells = <0>; 1056*f126890aSEmmanuel Vadot }; 1057*f126890aSEmmanuel Vadot 1058*f126890aSEmmanuel Vadot i2c1: i2c@1c2b000 { 1059*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-i2c"; 1060*f126890aSEmmanuel Vadot reg = <0x01c2b000 0x400>; 1061*f126890aSEmmanuel Vadot interrupts = <8>; 1062*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_I2C1>; 1063*f126890aSEmmanuel Vadot pinctrl-names = "default"; 1064*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c1_pins>; 1065*f126890aSEmmanuel Vadot status = "disabled"; 1066*f126890aSEmmanuel Vadot #address-cells = <1>; 1067*f126890aSEmmanuel Vadot #size-cells = <0>; 1068*f126890aSEmmanuel Vadot }; 1069*f126890aSEmmanuel Vadot 1070*f126890aSEmmanuel Vadot i2c2: i2c@1c2b400 { 1071*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-i2c"; 1072*f126890aSEmmanuel Vadot reg = <0x01c2b400 0x400>; 1073*f126890aSEmmanuel Vadot interrupts = <9>; 1074*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_I2C2>; 1075*f126890aSEmmanuel Vadot pinctrl-names = "default"; 1076*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c2_pins>; 1077*f126890aSEmmanuel Vadot status = "disabled"; 1078*f126890aSEmmanuel Vadot #address-cells = <1>; 1079*f126890aSEmmanuel Vadot #size-cells = <0>; 1080*f126890aSEmmanuel Vadot }; 1081*f126890aSEmmanuel Vadot 1082*f126890aSEmmanuel Vadot can0: can@1c2bc00 { 1083*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-can"; 1084*f126890aSEmmanuel Vadot reg = <0x01c2bc00 0x400>; 1085*f126890aSEmmanuel Vadot interrupts = <26>; 1086*f126890aSEmmanuel Vadot clocks = <&ccu CLK_APB1_CAN>; 1087*f126890aSEmmanuel Vadot status = "disabled"; 1088*f126890aSEmmanuel Vadot }; 1089*f126890aSEmmanuel Vadot 1090*f126890aSEmmanuel Vadot mali: gpu@1c40000 { 1091*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-mali", "arm,mali-400"; 1092*f126890aSEmmanuel Vadot reg = <0x01c40000 0x10000>; 1093*f126890aSEmmanuel Vadot interrupts = <69>, 1094*f126890aSEmmanuel Vadot <70>, 1095*f126890aSEmmanuel Vadot <71>, 1096*f126890aSEmmanuel Vadot <72>, 1097*f126890aSEmmanuel Vadot <73>; 1098*f126890aSEmmanuel Vadot interrupt-names = "gp", 1099*f126890aSEmmanuel Vadot "gpmmu", 1100*f126890aSEmmanuel Vadot "pp0", 1101*f126890aSEmmanuel Vadot "ppmmu0", 1102*f126890aSEmmanuel Vadot "pmu"; 1103*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>; 1104*f126890aSEmmanuel Vadot clock-names = "bus", "core"; 1105*f126890aSEmmanuel Vadot resets = <&ccu RST_GPU>; 1106*f126890aSEmmanuel Vadot 1107*f126890aSEmmanuel Vadot assigned-clocks = <&ccu CLK_GPU>; 1108*f126890aSEmmanuel Vadot assigned-clock-rates = <384000000>; 1109*f126890aSEmmanuel Vadot }; 1110*f126890aSEmmanuel Vadot 1111*f126890aSEmmanuel Vadot fe0: display-frontend@1e00000 { 1112*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-display-frontend"; 1113*f126890aSEmmanuel Vadot reg = <0x01e00000 0x20000>; 1114*f126890aSEmmanuel Vadot interrupts = <47>; 1115*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>, 1116*f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_FE0>; 1117*f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1118*f126890aSEmmanuel Vadot "ram"; 1119*f126890aSEmmanuel Vadot resets = <&ccu RST_DE_FE0>; 1120*f126890aSEmmanuel Vadot 1121*f126890aSEmmanuel Vadot ports { 1122*f126890aSEmmanuel Vadot #address-cells = <1>; 1123*f126890aSEmmanuel Vadot #size-cells = <0>; 1124*f126890aSEmmanuel Vadot 1125*f126890aSEmmanuel Vadot fe0_out: port@1 { 1126*f126890aSEmmanuel Vadot #address-cells = <1>; 1127*f126890aSEmmanuel Vadot #size-cells = <0>; 1128*f126890aSEmmanuel Vadot reg = <1>; 1129*f126890aSEmmanuel Vadot 1130*f126890aSEmmanuel Vadot fe0_out_be0: endpoint@0 { 1131*f126890aSEmmanuel Vadot reg = <0>; 1132*f126890aSEmmanuel Vadot remote-endpoint = <&be0_in_fe0>; 1133*f126890aSEmmanuel Vadot }; 1134*f126890aSEmmanuel Vadot 1135*f126890aSEmmanuel Vadot fe0_out_be1: endpoint@1 { 1136*f126890aSEmmanuel Vadot reg = <1>; 1137*f126890aSEmmanuel Vadot remote-endpoint = <&be1_in_fe0>; 1138*f126890aSEmmanuel Vadot }; 1139*f126890aSEmmanuel Vadot }; 1140*f126890aSEmmanuel Vadot }; 1141*f126890aSEmmanuel Vadot }; 1142*f126890aSEmmanuel Vadot 1143*f126890aSEmmanuel Vadot fe1: display-frontend@1e20000 { 1144*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-display-frontend"; 1145*f126890aSEmmanuel Vadot reg = <0x01e20000 0x20000>; 1146*f126890aSEmmanuel Vadot interrupts = <48>; 1147*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_DE_FE1>, <&ccu CLK_DE_FE1>, 1148*f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_FE1>; 1149*f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1150*f126890aSEmmanuel Vadot "ram"; 1151*f126890aSEmmanuel Vadot resets = <&ccu RST_DE_FE1>; 1152*f126890aSEmmanuel Vadot 1153*f126890aSEmmanuel Vadot ports { 1154*f126890aSEmmanuel Vadot #address-cells = <1>; 1155*f126890aSEmmanuel Vadot #size-cells = <0>; 1156*f126890aSEmmanuel Vadot 1157*f126890aSEmmanuel Vadot fe1_out: port@1 { 1158*f126890aSEmmanuel Vadot #address-cells = <1>; 1159*f126890aSEmmanuel Vadot #size-cells = <0>; 1160*f126890aSEmmanuel Vadot reg = <1>; 1161*f126890aSEmmanuel Vadot 1162*f126890aSEmmanuel Vadot fe1_out_be0: endpoint@0 { 1163*f126890aSEmmanuel Vadot reg = <0>; 1164*f126890aSEmmanuel Vadot remote-endpoint = <&be0_in_fe1>; 1165*f126890aSEmmanuel Vadot }; 1166*f126890aSEmmanuel Vadot 1167*f126890aSEmmanuel Vadot fe1_out_be1: endpoint@1 { 1168*f126890aSEmmanuel Vadot reg = <1>; 1169*f126890aSEmmanuel Vadot remote-endpoint = <&be1_in_fe1>; 1170*f126890aSEmmanuel Vadot }; 1171*f126890aSEmmanuel Vadot }; 1172*f126890aSEmmanuel Vadot }; 1173*f126890aSEmmanuel Vadot }; 1174*f126890aSEmmanuel Vadot 1175*f126890aSEmmanuel Vadot be1: display-backend@1e40000 { 1176*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-display-backend"; 1177*f126890aSEmmanuel Vadot reg = <0x01e40000 0x10000>; 1178*f126890aSEmmanuel Vadot interrupts = <48>; 1179*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_DE_BE1>, <&ccu CLK_DE_BE1>, 1180*f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_BE1>; 1181*f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1182*f126890aSEmmanuel Vadot "ram"; 1183*f126890aSEmmanuel Vadot resets = <&ccu RST_DE_BE1>; 1184*f126890aSEmmanuel Vadot 1185*f126890aSEmmanuel Vadot ports { 1186*f126890aSEmmanuel Vadot #address-cells = <1>; 1187*f126890aSEmmanuel Vadot #size-cells = <0>; 1188*f126890aSEmmanuel Vadot 1189*f126890aSEmmanuel Vadot be1_in: port@0 { 1190*f126890aSEmmanuel Vadot #address-cells = <1>; 1191*f126890aSEmmanuel Vadot #size-cells = <0>; 1192*f126890aSEmmanuel Vadot reg = <0>; 1193*f126890aSEmmanuel Vadot 1194*f126890aSEmmanuel Vadot be1_in_fe0: endpoint@0 { 1195*f126890aSEmmanuel Vadot reg = <0>; 1196*f126890aSEmmanuel Vadot remote-endpoint = <&fe0_out_be1>; 1197*f126890aSEmmanuel Vadot }; 1198*f126890aSEmmanuel Vadot 1199*f126890aSEmmanuel Vadot be1_in_fe1: endpoint@1 { 1200*f126890aSEmmanuel Vadot reg = <1>; 1201*f126890aSEmmanuel Vadot remote-endpoint = <&fe1_out_be1>; 1202*f126890aSEmmanuel Vadot }; 1203*f126890aSEmmanuel Vadot }; 1204*f126890aSEmmanuel Vadot 1205*f126890aSEmmanuel Vadot be1_out: port@1 { 1206*f126890aSEmmanuel Vadot #address-cells = <1>; 1207*f126890aSEmmanuel Vadot #size-cells = <0>; 1208*f126890aSEmmanuel Vadot reg = <1>; 1209*f126890aSEmmanuel Vadot 1210*f126890aSEmmanuel Vadot be1_out_tcon0: endpoint@0 { 1211*f126890aSEmmanuel Vadot reg = <0>; 1212*f126890aSEmmanuel Vadot remote-endpoint = <&tcon0_in_be1>; 1213*f126890aSEmmanuel Vadot }; 1214*f126890aSEmmanuel Vadot 1215*f126890aSEmmanuel Vadot be1_out_tcon1: endpoint@1 { 1216*f126890aSEmmanuel Vadot reg = <1>; 1217*f126890aSEmmanuel Vadot remote-endpoint = <&tcon1_in_be1>; 1218*f126890aSEmmanuel Vadot }; 1219*f126890aSEmmanuel Vadot }; 1220*f126890aSEmmanuel Vadot }; 1221*f126890aSEmmanuel Vadot }; 1222*f126890aSEmmanuel Vadot 1223*f126890aSEmmanuel Vadot be0: display-backend@1e60000 { 1224*f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-display-backend"; 1225*f126890aSEmmanuel Vadot reg = <0x01e60000 0x10000>; 1226*f126890aSEmmanuel Vadot interrupts = <47>; 1227*f126890aSEmmanuel Vadot clocks = <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>, 1228*f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_BE0>; 1229*f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 1230*f126890aSEmmanuel Vadot "ram"; 1231*f126890aSEmmanuel Vadot resets = <&ccu RST_DE_BE0>; 1232*f126890aSEmmanuel Vadot 1233*f126890aSEmmanuel Vadot ports { 1234*f126890aSEmmanuel Vadot #address-cells = <1>; 1235*f126890aSEmmanuel Vadot #size-cells = <0>; 1236*f126890aSEmmanuel Vadot 1237*f126890aSEmmanuel Vadot be0_in: port@0 { 1238*f126890aSEmmanuel Vadot #address-cells = <1>; 1239*f126890aSEmmanuel Vadot #size-cells = <0>; 1240*f126890aSEmmanuel Vadot reg = <0>; 1241*f126890aSEmmanuel Vadot 1242*f126890aSEmmanuel Vadot be0_in_fe0: endpoint@0 { 1243*f126890aSEmmanuel Vadot reg = <0>; 1244*f126890aSEmmanuel Vadot remote-endpoint = <&fe0_out_be0>; 1245*f126890aSEmmanuel Vadot }; 1246*f126890aSEmmanuel Vadot 1247*f126890aSEmmanuel Vadot be0_in_fe1: endpoint@1 { 1248*f126890aSEmmanuel Vadot reg = <1>; 1249*f126890aSEmmanuel Vadot remote-endpoint = <&fe1_out_be0>; 1250*f126890aSEmmanuel Vadot }; 1251*f126890aSEmmanuel Vadot }; 1252*f126890aSEmmanuel Vadot 1253*f126890aSEmmanuel Vadot be0_out: port@1 { 1254*f126890aSEmmanuel Vadot #address-cells = <1>; 1255*f126890aSEmmanuel Vadot #size-cells = <0>; 1256*f126890aSEmmanuel Vadot reg = <1>; 1257*f126890aSEmmanuel Vadot 1258*f126890aSEmmanuel Vadot be0_out_tcon0: endpoint@0 { 1259*f126890aSEmmanuel Vadot reg = <0>; 1260*f126890aSEmmanuel Vadot remote-endpoint = <&tcon0_in_be0>; 1261*f126890aSEmmanuel Vadot }; 1262*f126890aSEmmanuel Vadot 1263*f126890aSEmmanuel Vadot be0_out_tcon1: endpoint@1 { 1264*f126890aSEmmanuel Vadot reg = <1>; 1265*f126890aSEmmanuel Vadot remote-endpoint = <&tcon1_in_be0>; 1266*f126890aSEmmanuel Vadot }; 1267*f126890aSEmmanuel Vadot }; 1268*f126890aSEmmanuel Vadot }; 1269*f126890aSEmmanuel Vadot }; 1270*f126890aSEmmanuel Vadot }; 1271*f126890aSEmmanuel Vadot}; 1272