1643ad899SSimon Glass/* 2643ad899SSimon Glass * Copyright 2013 Maxime Ripard 3643ad899SSimon Glass * 4643ad899SSimon Glass * Maxime Ripard <maxime.ripard@free-electrons.com> 5643ad899SSimon Glass * 653ab4af3SHans de Goede * This file is dual-licensed: you can use it either under the terms 753ab4af3SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual 853ab4af3SHans de Goede * licensing only applies to this file, and not this project as a 953ab4af3SHans de Goede * whole. 10643ad899SSimon Glass * 1153ab4af3SHans de Goede * a) This file is free software; you can redistribute it and/or 1253ab4af3SHans de Goede * modify it under the terms of the GNU General Public License as 1353ab4af3SHans de Goede * published by the Free Software Foundation; either version 2 of the 1453ab4af3SHans de Goede * License, or (at your option) any later version. 1553ab4af3SHans de Goede * 1653ab4af3SHans de Goede * This file is distributed in the hope that it will be useful, 1753ab4af3SHans de Goede * but WITHOUT ANY WARRANTY; without even the implied warranty of 1853ab4af3SHans de Goede * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1953ab4af3SHans de Goede * GNU General Public License for more details. 2053ab4af3SHans de Goede * 2153ab4af3SHans de Goede * Or, alternatively, 2253ab4af3SHans de Goede * 2353ab4af3SHans de Goede * b) Permission is hereby granted, free of charge, to any person 2453ab4af3SHans de Goede * obtaining a copy of this software and associated documentation 2553ab4af3SHans de Goede * files (the "Software"), to deal in the Software without 2653ab4af3SHans de Goede * restriction, including without limitation the rights to use, 2753ab4af3SHans de Goede * copy, modify, merge, publish, distribute, sublicense, and/or 2853ab4af3SHans de Goede * sell copies of the Software, and to permit persons to whom the 2953ab4af3SHans de Goede * Software is furnished to do so, subject to the following 3053ab4af3SHans de Goede * conditions: 3153ab4af3SHans de Goede * 3253ab4af3SHans de Goede * The above copyright notice and this permission notice shall be 3353ab4af3SHans de Goede * included in all copies or substantial portions of the Software. 3453ab4af3SHans de Goede * 3553ab4af3SHans de Goede * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3653ab4af3SHans de Goede * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3753ab4af3SHans de Goede * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3853ab4af3SHans de Goede * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3953ab4af3SHans de Goede * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 4053ab4af3SHans de Goede * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 4153ab4af3SHans de Goede * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4253ab4af3SHans de Goede * OTHER DEALINGS IN THE SOFTWARE. 43643ad899SSimon Glass */ 44643ad899SSimon Glass 4553ab4af3SHans de Goede#include "skeleton.dtsi" 4653ab4af3SHans de Goede 4753ab4af3SHans de Goede#include <dt-bindings/interrupt-controller/arm-gic.h> 4853ab4af3SHans de Goede#include <dt-bindings/thermal/thermal.h> 4953ab4af3SHans de Goede 5080e5f83cSHans de Goede#include <dt-bindings/clock/sun4i-a10-pll2.h> 5153ab4af3SHans de Goede#include <dt-bindings/dma/sun4i-a10.h> 5253ab4af3SHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h> 53643ad899SSimon Glass 54643ad899SSimon Glass/ { 55643ad899SSimon Glass interrupt-parent = <&gic>; 56643ad899SSimon Glass 57643ad899SSimon Glass aliases { 58643ad899SSimon Glass ethernet0 = &gmac; 5953ab4af3SHans de Goede }; 6053ab4af3SHans de Goede 6153ab4af3SHans de Goede chosen { 6253ab4af3SHans de Goede #address-cells = <1>; 6353ab4af3SHans de Goede #size-cells = <1>; 6453ab4af3SHans de Goede ranges; 6553ab4af3SHans de Goede 6653ab4af3SHans de Goede framebuffer@0 { 678b1ba941SHans de Goede compatible = "allwinner,simple-framebuffer", 688b1ba941SHans de Goede "simple-framebuffer"; 6953ab4af3SHans de Goede allwinner,pipeline = "de_be0-lcd0-hdmi"; 70*860fbdd4SHans de Goede clocks = <&ahb_gates 36>, <&ahb_gates 43>, 71*860fbdd4SHans de Goede <&ahb_gates 44>, <&de_be0_clk>, 72*860fbdd4SHans de Goede <&tcon0_ch1_clk>, <&dram_gates 26>; 7353ab4af3SHans de Goede status = "disabled"; 7453ab4af3SHans de Goede }; 7553ab4af3SHans de Goede 7653ab4af3SHans de Goede framebuffer@1 { 7753ab4af3SHans de Goede compatible = "allwinner,simple-framebuffer", 7853ab4af3SHans de Goede "simple-framebuffer"; 7953ab4af3SHans de Goede allwinner,pipeline = "de_be0-lcd0"; 80*860fbdd4SHans de Goede clocks = <&ahb_gates 36>, <&ahb_gates 44>, 81*860fbdd4SHans de Goede <&de_be0_clk>, <&tcon0_ch0_clk>, 8280e5f83cSHans de Goede <&dram_gates 26>; 8353ab4af3SHans de Goede status = "disabled"; 8453ab4af3SHans de Goede }; 8553ab4af3SHans de Goede 8653ab4af3SHans de Goede framebuffer@2 { 8753ab4af3SHans de Goede compatible = "allwinner,simple-framebuffer", 8853ab4af3SHans de Goede "simple-framebuffer"; 8953ab4af3SHans de Goede allwinner,pipeline = "de_be0-lcd0-tve0"; 90*860fbdd4SHans de Goede clocks = <&ahb_gates 34>, <&ahb_gates 36>, 91*860fbdd4SHans de Goede <&ahb_gates 44>, 92*860fbdd4SHans de Goede <&de_be0_clk>, <&tcon0_ch1_clk>, 93*860fbdd4SHans de Goede <&dram_gates 5>, <&dram_gates 26>; 9453ab4af3SHans de Goede status = "disabled"; 9553ab4af3SHans de Goede }; 96643ad899SSimon Glass }; 97643ad899SSimon Glass 98643ad899SSimon Glass cpus { 99643ad899SSimon Glass #address-cells = <1>; 100643ad899SSimon Glass #size-cells = <0>; 101643ad899SSimon Glass 10253ab4af3SHans de Goede cpu0: cpu@0 { 103643ad899SSimon Glass compatible = "arm,cortex-a7"; 104643ad899SSimon Glass device_type = "cpu"; 105643ad899SSimon Glass reg = <0>; 10653ab4af3SHans de Goede clocks = <&cpu>; 10753ab4af3SHans de Goede clock-latency = <244144>; /* 8 32k periods */ 10853ab4af3SHans de Goede operating-points = < 10953ab4af3SHans de Goede /* kHz uV */ 11053ab4af3SHans de Goede 960000 1400000 11153ab4af3SHans de Goede 912000 1400000 11253ab4af3SHans de Goede 864000 1300000 11353ab4af3SHans de Goede 720000 1200000 11453ab4af3SHans de Goede 528000 1100000 11553ab4af3SHans de Goede 312000 1000000 11680e5f83cSHans de Goede 144000 1000000 11753ab4af3SHans de Goede >; 11853ab4af3SHans de Goede #cooling-cells = <2>; 11953ab4af3SHans de Goede cooling-min-level = <0>; 12053ab4af3SHans de Goede cooling-max-level = <6>; 121643ad899SSimon Glass }; 122643ad899SSimon Glass 123643ad899SSimon Glass cpu@1 { 124643ad899SSimon Glass compatible = "arm,cortex-a7"; 125643ad899SSimon Glass device_type = "cpu"; 126643ad899SSimon Glass reg = <1>; 127643ad899SSimon Glass }; 128643ad899SSimon Glass }; 129643ad899SSimon Glass 13053ab4af3SHans de Goede thermal-zones { 13153ab4af3SHans de Goede cpu_thermal { 13253ab4af3SHans de Goede /* milliseconds */ 13353ab4af3SHans de Goede polling-delay-passive = <250>; 13453ab4af3SHans de Goede polling-delay = <1000>; 13553ab4af3SHans de Goede thermal-sensors = <&rtp>; 13653ab4af3SHans de Goede 13753ab4af3SHans de Goede cooling-maps { 13853ab4af3SHans de Goede map0 { 13953ab4af3SHans de Goede trip = <&cpu_alert0>; 14053ab4af3SHans de Goede cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 14153ab4af3SHans de Goede }; 14253ab4af3SHans de Goede }; 14353ab4af3SHans de Goede 14453ab4af3SHans de Goede trips { 14553ab4af3SHans de Goede cpu_alert0: cpu_alert0 { 14653ab4af3SHans de Goede /* milliCelsius */ 14753ab4af3SHans de Goede temperature = <75000>; 14853ab4af3SHans de Goede hysteresis = <2000>; 14953ab4af3SHans de Goede type = "passive"; 15053ab4af3SHans de Goede }; 15153ab4af3SHans de Goede 15253ab4af3SHans de Goede cpu_crit: cpu_crit { 15353ab4af3SHans de Goede /* milliCelsius */ 15453ab4af3SHans de Goede temperature = <100000>; 15553ab4af3SHans de Goede hysteresis = <2000>; 15653ab4af3SHans de Goede type = "critical"; 15753ab4af3SHans de Goede }; 15853ab4af3SHans de Goede }; 15953ab4af3SHans de Goede }; 16053ab4af3SHans de Goede }; 16153ab4af3SHans de Goede 162643ad899SSimon Glass memory { 163643ad899SSimon Glass reg = <0x40000000 0x80000000>; 164643ad899SSimon Glass }; 165643ad899SSimon Glass 166643ad899SSimon Glass timer { 167643ad899SSimon Glass compatible = "arm,armv7-timer"; 16853ab4af3SHans de Goede interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 16953ab4af3SHans de Goede <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 17053ab4af3SHans de Goede <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 17153ab4af3SHans de Goede <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 172643ad899SSimon Glass }; 173643ad899SSimon Glass 174643ad899SSimon Glass pmu { 175643ad899SSimon Glass compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; 17653ab4af3SHans de Goede interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 17753ab4af3SHans de Goede <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 178643ad899SSimon Glass }; 179643ad899SSimon Glass 180643ad899SSimon Glass clocks { 181643ad899SSimon Glass #address-cells = <1>; 182643ad899SSimon Glass #size-cells = <1>; 183643ad899SSimon Glass ranges; 184643ad899SSimon Glass 185643ad899SSimon Glass osc24M: clk@01c20050 { 186643ad899SSimon Glass #clock-cells = <0>; 187643ad899SSimon Glass compatible = "allwinner,sun4i-a10-osc-clk"; 188643ad899SSimon Glass reg = <0x01c20050 0x4>; 189643ad899SSimon Glass clock-frequency = <24000000>; 190643ad899SSimon Glass clock-output-names = "osc24M"; 191643ad899SSimon Glass }; 192643ad899SSimon Glass 193*860fbdd4SHans de Goede osc3M: osc3M_clk { 194*860fbdd4SHans de Goede #clock-cells = <0>; 195*860fbdd4SHans de Goede compatible = "fixed-factor-clock"; 196*860fbdd4SHans de Goede clock-div = <8>; 197*860fbdd4SHans de Goede clock-mult = <1>; 198*860fbdd4SHans de Goede clocks = <&osc24M>; 199*860fbdd4SHans de Goede clock-output-names = "osc3M"; 200*860fbdd4SHans de Goede }; 201*860fbdd4SHans de Goede 202643ad899SSimon Glass osc32k: clk@0 { 203643ad899SSimon Glass #clock-cells = <0>; 204643ad899SSimon Glass compatible = "fixed-clock"; 205643ad899SSimon Glass clock-frequency = <32768>; 206643ad899SSimon Glass clock-output-names = "osc32k"; 207643ad899SSimon Glass }; 208643ad899SSimon Glass 209643ad899SSimon Glass pll1: clk@01c20000 { 210643ad899SSimon Glass #clock-cells = <0>; 211643ad899SSimon Glass compatible = "allwinner,sun4i-a10-pll1-clk"; 212643ad899SSimon Glass reg = <0x01c20000 0x4>; 213643ad899SSimon Glass clocks = <&osc24M>; 214643ad899SSimon Glass clock-output-names = "pll1"; 215643ad899SSimon Glass }; 216643ad899SSimon Glass 21780e5f83cSHans de Goede pll2: clk@01c20008 { 21880e5f83cSHans de Goede #clock-cells = <1>; 21980e5f83cSHans de Goede compatible = "allwinner,sun4i-a10-pll2-clk"; 22080e5f83cSHans de Goede reg = <0x01c20008 0x8>; 22180e5f83cSHans de Goede clocks = <&osc24M>; 22280e5f83cSHans de Goede clock-output-names = "pll2-1x", "pll2-2x", 22380e5f83cSHans de Goede "pll2-4x", "pll2-8x"; 22480e5f83cSHans de Goede }; 22580e5f83cSHans de Goede 226*860fbdd4SHans de Goede pll3: clk@01c20010 { 227*860fbdd4SHans de Goede #clock-cells = <0>; 228*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-pll3-clk"; 229*860fbdd4SHans de Goede reg = <0x01c20010 0x4>; 230*860fbdd4SHans de Goede clocks = <&osc3M>; 231*860fbdd4SHans de Goede clock-output-names = "pll3"; 232*860fbdd4SHans de Goede }; 233*860fbdd4SHans de Goede 234*860fbdd4SHans de Goede pll3x2: pll3x2_clk { 235*860fbdd4SHans de Goede #clock-cells = <0>; 236*860fbdd4SHans de Goede compatible = "fixed-factor-clock"; 237*860fbdd4SHans de Goede clocks = <&pll3>; 238*860fbdd4SHans de Goede clock-div = <1>; 239*860fbdd4SHans de Goede clock-mult = <2>; 240*860fbdd4SHans de Goede clock-output-names = "pll3-2x"; 241*860fbdd4SHans de Goede }; 242*860fbdd4SHans de Goede 243643ad899SSimon Glass pll4: clk@01c20018 { 244643ad899SSimon Glass #clock-cells = <0>; 245643ad899SSimon Glass compatible = "allwinner,sun7i-a20-pll4-clk"; 246643ad899SSimon Glass reg = <0x01c20018 0x4>; 247643ad899SSimon Glass clocks = <&osc24M>; 248643ad899SSimon Glass clock-output-names = "pll4"; 249643ad899SSimon Glass }; 250643ad899SSimon Glass 251643ad899SSimon Glass pll5: clk@01c20020 { 252643ad899SSimon Glass #clock-cells = <1>; 253643ad899SSimon Glass compatible = "allwinner,sun4i-a10-pll5-clk"; 254643ad899SSimon Glass reg = <0x01c20020 0x4>; 255643ad899SSimon Glass clocks = <&osc24M>; 256643ad899SSimon Glass clock-output-names = "pll5_ddr", "pll5_other"; 257643ad899SSimon Glass }; 258643ad899SSimon Glass 259643ad899SSimon Glass pll6: clk@01c20028 { 260643ad899SSimon Glass #clock-cells = <1>; 261643ad899SSimon Glass compatible = "allwinner,sun4i-a10-pll6-clk"; 262643ad899SSimon Glass reg = <0x01c20028 0x4>; 263643ad899SSimon Glass clocks = <&osc24M>; 2648b1ba941SHans de Goede clock-output-names = "pll6_sata", "pll6_other", "pll6", 2658b1ba941SHans de Goede "pll6_div_4"; 266643ad899SSimon Glass }; 267643ad899SSimon Glass 268*860fbdd4SHans de Goede pll7: clk@01c20030 { 269*860fbdd4SHans de Goede #clock-cells = <0>; 270*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-pll3-clk"; 271*860fbdd4SHans de Goede reg = <0x01c20030 0x4>; 272*860fbdd4SHans de Goede clocks = <&osc3M>; 273*860fbdd4SHans de Goede clock-output-names = "pll7"; 274*860fbdd4SHans de Goede }; 275*860fbdd4SHans de Goede 276*860fbdd4SHans de Goede pll7x2: pll7x2_clk { 277*860fbdd4SHans de Goede #clock-cells = <0>; 278*860fbdd4SHans de Goede compatible = "fixed-factor-clock"; 279*860fbdd4SHans de Goede clocks = <&pll7>; 280*860fbdd4SHans de Goede clock-div = <1>; 281*860fbdd4SHans de Goede clock-mult = <2>; 282*860fbdd4SHans de Goede clock-output-names = "pll7-2x"; 283*860fbdd4SHans de Goede }; 284*860fbdd4SHans de Goede 285643ad899SSimon Glass pll8: clk@01c20040 { 286643ad899SSimon Glass #clock-cells = <0>; 287643ad899SSimon Glass compatible = "allwinner,sun7i-a20-pll4-clk"; 288643ad899SSimon Glass reg = <0x01c20040 0x4>; 289643ad899SSimon Glass clocks = <&osc24M>; 290643ad899SSimon Glass clock-output-names = "pll8"; 291643ad899SSimon Glass }; 292643ad899SSimon Glass 293643ad899SSimon Glass cpu: cpu@01c20054 { 294643ad899SSimon Glass #clock-cells = <0>; 295643ad899SSimon Glass compatible = "allwinner,sun4i-a10-cpu-clk"; 296643ad899SSimon Glass reg = <0x01c20054 0x4>; 297643ad899SSimon Glass clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll6 1>; 298643ad899SSimon Glass clock-output-names = "cpu"; 299643ad899SSimon Glass }; 300643ad899SSimon Glass 301643ad899SSimon Glass axi: axi@01c20054 { 302643ad899SSimon Glass #clock-cells = <0>; 303643ad899SSimon Glass compatible = "allwinner,sun4i-a10-axi-clk"; 304643ad899SSimon Glass reg = <0x01c20054 0x4>; 305643ad899SSimon Glass clocks = <&cpu>; 306643ad899SSimon Glass clock-output-names = "axi"; 307643ad899SSimon Glass }; 308643ad899SSimon Glass 309643ad899SSimon Glass ahb: ahb@01c20054 { 310643ad899SSimon Glass #clock-cells = <0>; 3118b1ba941SHans de Goede compatible = "allwinner,sun5i-a13-ahb-clk"; 312643ad899SSimon Glass reg = <0x01c20054 0x4>; 3138b1ba941SHans de Goede clocks = <&axi>, <&pll6 3>, <&pll6 1>; 314643ad899SSimon Glass clock-output-names = "ahb"; 3158b1ba941SHans de Goede /* 3168b1ba941SHans de Goede * Use PLL6 as parent, instead of CPU/AXI 3178b1ba941SHans de Goede * which has rate changes due to cpufreq 3188b1ba941SHans de Goede */ 3198b1ba941SHans de Goede assigned-clocks = <&ahb>; 3208b1ba941SHans de Goede assigned-clock-parents = <&pll6 3>; 321643ad899SSimon Glass }; 322643ad899SSimon Glass 323643ad899SSimon Glass ahb_gates: clk@01c20060 { 324643ad899SSimon Glass #clock-cells = <1>; 325643ad899SSimon Glass compatible = "allwinner,sun7i-a20-ahb-gates-clk"; 326643ad899SSimon Glass reg = <0x01c20060 0x8>; 327643ad899SSimon Glass clocks = <&ahb>; 32880e5f83cSHans de Goede clock-indices = <0>, <1>, 32980e5f83cSHans de Goede <2>, <3>, <4>, 33080e5f83cSHans de Goede <5>, <6>, <7>, <8>, 33180e5f83cSHans de Goede <9>, <10>, <11>, <12>, 33280e5f83cSHans de Goede <13>, <14>, <16>, 33380e5f83cSHans de Goede <17>, <18>, <20>, <21>, 33480e5f83cSHans de Goede <22>, <23>, <25>, 33580e5f83cSHans de Goede <28>, <32>, <33>, <34>, 33680e5f83cSHans de Goede <35>, <36>, <37>, <40>, 33780e5f83cSHans de Goede <41>, <42>, <43>, 33880e5f83cSHans de Goede <44>, <45>, <46>, 33980e5f83cSHans de Goede <47>, <49>, <50>, 34080e5f83cSHans de Goede <52>; 341643ad899SSimon Glass clock-output-names = "ahb_usb0", "ahb_ehci0", 342643ad899SSimon Glass "ahb_ohci0", "ahb_ehci1", "ahb_ohci1", 343643ad899SSimon Glass "ahb_ss", "ahb_dma", "ahb_bist", "ahb_mmc0", 344643ad899SSimon Glass "ahb_mmc1", "ahb_mmc2", "ahb_mmc3", "ahb_ms", 345643ad899SSimon Glass "ahb_nand", "ahb_sdram", "ahb_ace", 346643ad899SSimon Glass "ahb_emac", "ahb_ts", "ahb_spi0", "ahb_spi1", 347643ad899SSimon Glass "ahb_spi2", "ahb_spi3", "ahb_sata", 348643ad899SSimon Glass "ahb_hstimer", "ahb_ve", "ahb_tvd", "ahb_tve0", 349643ad899SSimon Glass "ahb_tve1", "ahb_lcd0", "ahb_lcd1", "ahb_csi0", 350643ad899SSimon Glass "ahb_csi1", "ahb_hdmi1", "ahb_hdmi0", 351643ad899SSimon Glass "ahb_de_be0", "ahb_de_be1", "ahb_de_fe0", 352643ad899SSimon Glass "ahb_de_fe1", "ahb_gmac", "ahb_mp", 353643ad899SSimon Glass "ahb_mali"; 354643ad899SSimon Glass }; 355643ad899SSimon Glass 356643ad899SSimon Glass apb0: apb0@01c20054 { 357643ad899SSimon Glass #clock-cells = <0>; 358643ad899SSimon Glass compatible = "allwinner,sun4i-a10-apb0-clk"; 359643ad899SSimon Glass reg = <0x01c20054 0x4>; 360643ad899SSimon Glass clocks = <&ahb>; 361643ad899SSimon Glass clock-output-names = "apb0"; 362643ad899SSimon Glass }; 363643ad899SSimon Glass 364643ad899SSimon Glass apb0_gates: clk@01c20068 { 365643ad899SSimon Glass #clock-cells = <1>; 366643ad899SSimon Glass compatible = "allwinner,sun7i-a20-apb0-gates-clk"; 367643ad899SSimon Glass reg = <0x01c20068 0x4>; 368643ad899SSimon Glass clocks = <&apb0>; 36980e5f83cSHans de Goede clock-indices = <0>, <1>, 37080e5f83cSHans de Goede <2>, <3>, <4>, 37180e5f83cSHans de Goede <5>, <6>, <7>, 37280e5f83cSHans de Goede <8>, <10>; 373643ad899SSimon Glass clock-output-names = "apb0_codec", "apb0_spdif", 374*860fbdd4SHans de Goede "apb0_ac97", "apb0_i2s0", "apb0_i2s1", 375643ad899SSimon Glass "apb0_pio", "apb0_ir0", "apb0_ir1", 376*860fbdd4SHans de Goede "apb0_i2s2", "apb0_keypad"; 377643ad899SSimon Glass }; 378643ad899SSimon Glass 37953ab4af3SHans de Goede apb1: clk@01c20058 { 380643ad899SSimon Glass #clock-cells = <0>; 381643ad899SSimon Glass compatible = "allwinner,sun4i-a10-apb1-clk"; 382643ad899SSimon Glass reg = <0x01c20058 0x4>; 38353ab4af3SHans de Goede clocks = <&osc24M>, <&pll6 1>, <&osc32k>; 384643ad899SSimon Glass clock-output-names = "apb1"; 385643ad899SSimon Glass }; 386643ad899SSimon Glass 387643ad899SSimon Glass apb1_gates: clk@01c2006c { 388643ad899SSimon Glass #clock-cells = <1>; 389643ad899SSimon Glass compatible = "allwinner,sun7i-a20-apb1-gates-clk"; 390643ad899SSimon Glass reg = <0x01c2006c 0x4>; 391643ad899SSimon Glass clocks = <&apb1>; 39280e5f83cSHans de Goede clock-indices = <0>, <1>, 39380e5f83cSHans de Goede <2>, <3>, <4>, 39480e5f83cSHans de Goede <5>, <6>, <7>, 39580e5f83cSHans de Goede <15>, <16>, <17>, 39680e5f83cSHans de Goede <18>, <19>, <20>, 39780e5f83cSHans de Goede <21>, <22>, <23>; 398643ad899SSimon Glass clock-output-names = "apb1_i2c0", "apb1_i2c1", 399643ad899SSimon Glass "apb1_i2c2", "apb1_i2c3", "apb1_can", 400643ad899SSimon Glass "apb1_scr", "apb1_ps20", "apb1_ps21", 401643ad899SSimon Glass "apb1_i2c4", "apb1_uart0", "apb1_uart1", 402643ad899SSimon Glass "apb1_uart2", "apb1_uart3", "apb1_uart4", 403643ad899SSimon Glass "apb1_uart5", "apb1_uart6", "apb1_uart7"; 404643ad899SSimon Glass }; 405643ad899SSimon Glass 406643ad899SSimon Glass nand_clk: clk@01c20080 { 407643ad899SSimon Glass #clock-cells = <0>; 408643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 409643ad899SSimon Glass reg = <0x01c20080 0x4>; 410643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 411643ad899SSimon Glass clock-output-names = "nand"; 412643ad899SSimon Glass }; 413643ad899SSimon Glass 414643ad899SSimon Glass ms_clk: clk@01c20084 { 415643ad899SSimon Glass #clock-cells = <0>; 416643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 417643ad899SSimon Glass reg = <0x01c20084 0x4>; 418643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 419643ad899SSimon Glass clock-output-names = "ms"; 420643ad899SSimon Glass }; 421643ad899SSimon Glass 422643ad899SSimon Glass mmc0_clk: clk@01c20088 { 42353ab4af3SHans de Goede #clock-cells = <1>; 42453ab4af3SHans de Goede compatible = "allwinner,sun4i-a10-mmc-clk"; 425643ad899SSimon Glass reg = <0x01c20088 0x4>; 426643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 42753ab4af3SHans de Goede clock-output-names = "mmc0", 42853ab4af3SHans de Goede "mmc0_output", 42953ab4af3SHans de Goede "mmc0_sample"; 430643ad899SSimon Glass }; 431643ad899SSimon Glass 432643ad899SSimon Glass mmc1_clk: clk@01c2008c { 43353ab4af3SHans de Goede #clock-cells = <1>; 43453ab4af3SHans de Goede compatible = "allwinner,sun4i-a10-mmc-clk"; 435643ad899SSimon Glass reg = <0x01c2008c 0x4>; 436643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 43753ab4af3SHans de Goede clock-output-names = "mmc1", 43853ab4af3SHans de Goede "mmc1_output", 43953ab4af3SHans de Goede "mmc1_sample"; 440643ad899SSimon Glass }; 441643ad899SSimon Glass 442643ad899SSimon Glass mmc2_clk: clk@01c20090 { 44353ab4af3SHans de Goede #clock-cells = <1>; 44453ab4af3SHans de Goede compatible = "allwinner,sun4i-a10-mmc-clk"; 445643ad899SSimon Glass reg = <0x01c20090 0x4>; 446643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 44753ab4af3SHans de Goede clock-output-names = "mmc2", 44853ab4af3SHans de Goede "mmc2_output", 44953ab4af3SHans de Goede "mmc2_sample"; 450643ad899SSimon Glass }; 451643ad899SSimon Glass 452643ad899SSimon Glass mmc3_clk: clk@01c20094 { 45353ab4af3SHans de Goede #clock-cells = <1>; 45453ab4af3SHans de Goede compatible = "allwinner,sun4i-a10-mmc-clk"; 455643ad899SSimon Glass reg = <0x01c20094 0x4>; 456643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 45753ab4af3SHans de Goede clock-output-names = "mmc3", 45853ab4af3SHans de Goede "mmc3_output", 45953ab4af3SHans de Goede "mmc3_sample"; 460643ad899SSimon Glass }; 461643ad899SSimon Glass 462643ad899SSimon Glass ts_clk: clk@01c20098 { 463643ad899SSimon Glass #clock-cells = <0>; 464643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 465643ad899SSimon Glass reg = <0x01c20098 0x4>; 466643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 467643ad899SSimon Glass clock-output-names = "ts"; 468643ad899SSimon Glass }; 469643ad899SSimon Glass 470643ad899SSimon Glass ss_clk: clk@01c2009c { 471643ad899SSimon Glass #clock-cells = <0>; 472643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 473643ad899SSimon Glass reg = <0x01c2009c 0x4>; 474643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 475643ad899SSimon Glass clock-output-names = "ss"; 476643ad899SSimon Glass }; 477643ad899SSimon Glass 478643ad899SSimon Glass spi0_clk: clk@01c200a0 { 479643ad899SSimon Glass #clock-cells = <0>; 480643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 481643ad899SSimon Glass reg = <0x01c200a0 0x4>; 482643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 483643ad899SSimon Glass clock-output-names = "spi0"; 484643ad899SSimon Glass }; 485643ad899SSimon Glass 486643ad899SSimon Glass spi1_clk: clk@01c200a4 { 487643ad899SSimon Glass #clock-cells = <0>; 488643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 489643ad899SSimon Glass reg = <0x01c200a4 0x4>; 490643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 491643ad899SSimon Glass clock-output-names = "spi1"; 492643ad899SSimon Glass }; 493643ad899SSimon Glass 494643ad899SSimon Glass spi2_clk: clk@01c200a8 { 495643ad899SSimon Glass #clock-cells = <0>; 496643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 497643ad899SSimon Glass reg = <0x01c200a8 0x4>; 498643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 499643ad899SSimon Glass clock-output-names = "spi2"; 500643ad899SSimon Glass }; 501643ad899SSimon Glass 502643ad899SSimon Glass pata_clk: clk@01c200ac { 503643ad899SSimon Glass #clock-cells = <0>; 504643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 505643ad899SSimon Glass reg = <0x01c200ac 0x4>; 506643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 507643ad899SSimon Glass clock-output-names = "pata"; 508643ad899SSimon Glass }; 509643ad899SSimon Glass 510643ad899SSimon Glass ir0_clk: clk@01c200b0 { 511643ad899SSimon Glass #clock-cells = <0>; 512643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 513643ad899SSimon Glass reg = <0x01c200b0 0x4>; 514643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 515643ad899SSimon Glass clock-output-names = "ir0"; 516643ad899SSimon Glass }; 517643ad899SSimon Glass 518643ad899SSimon Glass ir1_clk: clk@01c200b4 { 519643ad899SSimon Glass #clock-cells = <0>; 520643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 521643ad899SSimon Glass reg = <0x01c200b4 0x4>; 522643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 523643ad899SSimon Glass clock-output-names = "ir1"; 524643ad899SSimon Glass }; 525643ad899SSimon Glass 526*860fbdd4SHans de Goede i2s0_clk: clk@01c200b8 { 527*860fbdd4SHans de Goede #clock-cells = <0>; 528*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-mod1-clk"; 529*860fbdd4SHans de Goede reg = <0x01c200b8 0x4>; 530*860fbdd4SHans de Goede clocks = <&pll2 SUN4I_A10_PLL2_8X>, 531*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_4X>, 532*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_2X>, 533*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_1X>; 534*860fbdd4SHans de Goede clock-output-names = "i2s0"; 535*860fbdd4SHans de Goede }; 536*860fbdd4SHans de Goede 537*860fbdd4SHans de Goede ac97_clk: clk@01c200bc { 538*860fbdd4SHans de Goede #clock-cells = <0>; 539*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-mod1-clk"; 540*860fbdd4SHans de Goede reg = <0x01c200bc 0x4>; 541*860fbdd4SHans de Goede clocks = <&pll2 SUN4I_A10_PLL2_8X>, 542*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_4X>, 543*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_2X>, 544*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_1X>; 545*860fbdd4SHans de Goede clock-output-names = "ac97"; 546*860fbdd4SHans de Goede }; 547*860fbdd4SHans de Goede 548*860fbdd4SHans de Goede spdif_clk: clk@01c200c0 { 549*860fbdd4SHans de Goede #clock-cells = <0>; 550*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-mod1-clk"; 551*860fbdd4SHans de Goede reg = <0x01c200c0 0x4>; 552*860fbdd4SHans de Goede clocks = <&pll2 SUN4I_A10_PLL2_8X>, 553*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_4X>, 554*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_2X>, 555*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_1X>; 556*860fbdd4SHans de Goede clock-output-names = "spdif"; 557*860fbdd4SHans de Goede }; 558*860fbdd4SHans de Goede 55980e5f83cSHans de Goede keypad_clk: clk@01c200c4 { 56080e5f83cSHans de Goede #clock-cells = <0>; 56180e5f83cSHans de Goede compatible = "allwinner,sun4i-a10-mod0-clk"; 56280e5f83cSHans de Goede reg = <0x01c200c4 0x4>; 56380e5f83cSHans de Goede clocks = <&osc24M>; 56480e5f83cSHans de Goede clock-output-names = "keypad"; 56580e5f83cSHans de Goede }; 56680e5f83cSHans de Goede 567643ad899SSimon Glass usb_clk: clk@01c200cc { 568643ad899SSimon Glass #clock-cells = <1>; 569643ad899SSimon Glass #reset-cells = <1>; 570643ad899SSimon Glass compatible = "allwinner,sun4i-a10-usb-clk"; 571643ad899SSimon Glass reg = <0x01c200cc 0x4>; 572643ad899SSimon Glass clocks = <&pll6 1>; 5738b1ba941SHans de Goede clock-output-names = "usb_ohci0", "usb_ohci1", 5748b1ba941SHans de Goede "usb_phy"; 575643ad899SSimon Glass }; 576643ad899SSimon Glass 577643ad899SSimon Glass spi3_clk: clk@01c200d4 { 578643ad899SSimon Glass #clock-cells = <0>; 579643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mod0-clk"; 580643ad899SSimon Glass reg = <0x01c200d4 0x4>; 581643ad899SSimon Glass clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; 582643ad899SSimon Glass clock-output-names = "spi3"; 583643ad899SSimon Glass }; 584643ad899SSimon Glass 585*860fbdd4SHans de Goede i2s1_clk: clk@01c200d8 { 586*860fbdd4SHans de Goede #clock-cells = <0>; 587*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-mod1-clk"; 588*860fbdd4SHans de Goede reg = <0x01c200d8 0x4>; 589*860fbdd4SHans de Goede clocks = <&pll2 SUN4I_A10_PLL2_8X>, 590*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_4X>, 591*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_2X>, 592*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_1X>; 593*860fbdd4SHans de Goede clock-output-names = "i2s1"; 594*860fbdd4SHans de Goede }; 595*860fbdd4SHans de Goede 596*860fbdd4SHans de Goede i2s2_clk: clk@01c200dc { 597*860fbdd4SHans de Goede #clock-cells = <0>; 598*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-mod1-clk"; 599*860fbdd4SHans de Goede reg = <0x01c200dc 0x4>; 600*860fbdd4SHans de Goede clocks = <&pll2 SUN4I_A10_PLL2_8X>, 601*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_4X>, 602*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_2X>, 603*860fbdd4SHans de Goede <&pll2 SUN4I_A10_PLL2_1X>; 604*860fbdd4SHans de Goede clock-output-names = "i2s2"; 605*860fbdd4SHans de Goede }; 606*860fbdd4SHans de Goede 60780e5f83cSHans de Goede dram_gates: clk@01c20100 { 60880e5f83cSHans de Goede #clock-cells = <1>; 60980e5f83cSHans de Goede compatible = "allwinner,sun4i-a10-dram-gates-clk"; 61080e5f83cSHans de Goede reg = <0x01c20100 0x4>; 61180e5f83cSHans de Goede clocks = <&pll5 0>; 61280e5f83cSHans de Goede clock-indices = <0>, 61380e5f83cSHans de Goede <1>, <2>, 61480e5f83cSHans de Goede <3>, 61580e5f83cSHans de Goede <4>, 61680e5f83cSHans de Goede <5>, <6>, 61780e5f83cSHans de Goede <15>, 61880e5f83cSHans de Goede <24>, <25>, 61980e5f83cSHans de Goede <26>, <27>, 62080e5f83cSHans de Goede <28>, <29>; 62180e5f83cSHans de Goede clock-output-names = "dram_ve", 62280e5f83cSHans de Goede "dram_csi0", "dram_csi1", 62380e5f83cSHans de Goede "dram_ts", 62480e5f83cSHans de Goede "dram_tvd", 62580e5f83cSHans de Goede "dram_tve0", "dram_tve1", 62680e5f83cSHans de Goede "dram_output", 62780e5f83cSHans de Goede "dram_de_fe1", "dram_de_fe0", 62880e5f83cSHans de Goede "dram_de_be0", "dram_de_be1", 62980e5f83cSHans de Goede "dram_de_mp", "dram_ace"; 63080e5f83cSHans de Goede }; 63180e5f83cSHans de Goede 632*860fbdd4SHans de Goede de_be0_clk: clk@01c20104 { 633*860fbdd4SHans de Goede #clock-cells = <0>; 634*860fbdd4SHans de Goede #reset-cells = <0>; 635*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-display-clk"; 636*860fbdd4SHans de Goede reg = <0x01c20104 0x4>; 637*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll5 1>; 638*860fbdd4SHans de Goede clock-output-names = "de-be0"; 639*860fbdd4SHans de Goede }; 640*860fbdd4SHans de Goede 641*860fbdd4SHans de Goede de_be1_clk: clk@01c20108 { 642*860fbdd4SHans de Goede #clock-cells = <0>; 643*860fbdd4SHans de Goede #reset-cells = <0>; 644*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-display-clk"; 645*860fbdd4SHans de Goede reg = <0x01c20108 0x4>; 646*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll5 1>; 647*860fbdd4SHans de Goede clock-output-names = "de-be1"; 648*860fbdd4SHans de Goede }; 649*860fbdd4SHans de Goede 650*860fbdd4SHans de Goede de_fe0_clk: clk@01c2010c { 651*860fbdd4SHans de Goede #clock-cells = <0>; 652*860fbdd4SHans de Goede #reset-cells = <0>; 653*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-display-clk"; 654*860fbdd4SHans de Goede reg = <0x01c2010c 0x4>; 655*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll5 1>; 656*860fbdd4SHans de Goede clock-output-names = "de-fe0"; 657*860fbdd4SHans de Goede }; 658*860fbdd4SHans de Goede 659*860fbdd4SHans de Goede de_fe1_clk: clk@01c20110 { 660*860fbdd4SHans de Goede #clock-cells = <0>; 661*860fbdd4SHans de Goede #reset-cells = <0>; 662*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-display-clk"; 663*860fbdd4SHans de Goede reg = <0x01c20110 0x4>; 664*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll5 1>; 665*860fbdd4SHans de Goede clock-output-names = "de-fe1"; 666*860fbdd4SHans de Goede }; 667*860fbdd4SHans de Goede 668*860fbdd4SHans de Goede tcon0_ch0_clk: clk@01c20118 { 669*860fbdd4SHans de Goede #clock-cells = <0>; 670*860fbdd4SHans de Goede #reset-cells = <1>; 671*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-tcon-ch0-clk"; 672*860fbdd4SHans de Goede reg = <0x01c20118 0x4>; 673*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>; 674*860fbdd4SHans de Goede clock-output-names = "tcon0-ch0-sclk"; 675*860fbdd4SHans de Goede 676*860fbdd4SHans de Goede }; 677*860fbdd4SHans de Goede 678*860fbdd4SHans de Goede tcon1_ch0_clk: clk@01c2011c { 679*860fbdd4SHans de Goede #clock-cells = <0>; 680*860fbdd4SHans de Goede #reset-cells = <1>; 681*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-tcon-ch1-clk"; 682*860fbdd4SHans de Goede reg = <0x01c2011c 0x4>; 683*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>; 684*860fbdd4SHans de Goede clock-output-names = "tcon1-ch0-sclk"; 685*860fbdd4SHans de Goede 686*860fbdd4SHans de Goede }; 687*860fbdd4SHans de Goede 688*860fbdd4SHans de Goede tcon0_ch1_clk: clk@01c2012c { 689*860fbdd4SHans de Goede #clock-cells = <0>; 690*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-tcon-ch0-clk"; 691*860fbdd4SHans de Goede reg = <0x01c2012c 0x4>; 692*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>; 693*860fbdd4SHans de Goede clock-output-names = "tcon0-ch1-sclk"; 694*860fbdd4SHans de Goede 695*860fbdd4SHans de Goede }; 696*860fbdd4SHans de Goede 697*860fbdd4SHans de Goede tcon1_ch1_clk: clk@01c20130 { 698*860fbdd4SHans de Goede #clock-cells = <0>; 699*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-tcon-ch1-clk"; 700*860fbdd4SHans de Goede reg = <0x01c20130 0x4>; 701*860fbdd4SHans de Goede clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>; 702*860fbdd4SHans de Goede clock-output-names = "tcon1-ch1-sclk"; 703*860fbdd4SHans de Goede 704*860fbdd4SHans de Goede }; 705*860fbdd4SHans de Goede 70680e5f83cSHans de Goede ve_clk: clk@01c2013c { 70780e5f83cSHans de Goede #clock-cells = <0>; 70880e5f83cSHans de Goede #reset-cells = <0>; 70980e5f83cSHans de Goede compatible = "allwinner,sun4i-a10-ve-clk"; 71080e5f83cSHans de Goede reg = <0x01c2013c 0x4>; 71180e5f83cSHans de Goede clocks = <&pll4>; 71280e5f83cSHans de Goede clock-output-names = "ve"; 71380e5f83cSHans de Goede }; 71480e5f83cSHans de Goede 71580e5f83cSHans de Goede codec_clk: clk@01c20140 { 71680e5f83cSHans de Goede #clock-cells = <0>; 71780e5f83cSHans de Goede compatible = "allwinner,sun4i-a10-codec-clk"; 71880e5f83cSHans de Goede reg = <0x01c20140 0x4>; 71980e5f83cSHans de Goede clocks = <&pll2 SUN4I_A10_PLL2_1X>; 72080e5f83cSHans de Goede clock-output-names = "codec"; 72180e5f83cSHans de Goede }; 72280e5f83cSHans de Goede 723643ad899SSimon Glass mbus_clk: clk@01c2015c { 724643ad899SSimon Glass #clock-cells = <0>; 72553ab4af3SHans de Goede compatible = "allwinner,sun5i-a13-mbus-clk"; 726643ad899SSimon Glass reg = <0x01c2015c 0x4>; 727643ad899SSimon Glass clocks = <&osc24M>, <&pll6 2>, <&pll5 1>; 728643ad899SSimon Glass clock-output-names = "mbus"; 729643ad899SSimon Glass }; 730643ad899SSimon Glass 731643ad899SSimon Glass /* 7328b1ba941SHans de Goede * The following two are dummy clocks, placeholders 7338b1ba941SHans de Goede * used in the gmac_tx clock. The gmac driver will 7348b1ba941SHans de Goede * choose one parent depending on the PHY interface 7358b1ba941SHans de Goede * mode, using clk_set_rate auto-reparenting. 7368b1ba941SHans de Goede * 7378b1ba941SHans de Goede * The actual TX clock rate is not controlled by the 7388b1ba941SHans de Goede * gmac_tx clock. 739643ad899SSimon Glass */ 740643ad899SSimon Glass mii_phy_tx_clk: clk@2 { 741643ad899SSimon Glass #clock-cells = <0>; 742643ad899SSimon Glass compatible = "fixed-clock"; 743643ad899SSimon Glass clock-frequency = <25000000>; 744643ad899SSimon Glass clock-output-names = "mii_phy_tx"; 745643ad899SSimon Glass }; 746643ad899SSimon Glass 747643ad899SSimon Glass gmac_int_tx_clk: clk@3 { 748643ad899SSimon Glass #clock-cells = <0>; 749643ad899SSimon Glass compatible = "fixed-clock"; 750643ad899SSimon Glass clock-frequency = <125000000>; 751643ad899SSimon Glass clock-output-names = "gmac_int_tx"; 752643ad899SSimon Glass }; 753643ad899SSimon Glass 754643ad899SSimon Glass gmac_tx_clk: clk@01c20164 { 755643ad899SSimon Glass #clock-cells = <0>; 756643ad899SSimon Glass compatible = "allwinner,sun7i-a20-gmac-clk"; 757643ad899SSimon Glass reg = <0x01c20164 0x4>; 758643ad899SSimon Glass clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>; 759643ad899SSimon Glass clock-output-names = "gmac_tx"; 760643ad899SSimon Glass }; 761643ad899SSimon Glass 762643ad899SSimon Glass /* 763643ad899SSimon Glass * Dummy clock used by output clocks 764643ad899SSimon Glass */ 765643ad899SSimon Glass osc24M_32k: clk@1 { 766643ad899SSimon Glass #clock-cells = <0>; 767643ad899SSimon Glass compatible = "fixed-factor-clock"; 768643ad899SSimon Glass clock-div = <750>; 769643ad899SSimon Glass clock-mult = <1>; 770643ad899SSimon Glass clocks = <&osc24M>; 771643ad899SSimon Glass clock-output-names = "osc24M_32k"; 772643ad899SSimon Glass }; 773643ad899SSimon Glass 774643ad899SSimon Glass clk_out_a: clk@01c201f0 { 775643ad899SSimon Glass #clock-cells = <0>; 776643ad899SSimon Glass compatible = "allwinner,sun7i-a20-out-clk"; 777643ad899SSimon Glass reg = <0x01c201f0 0x4>; 778643ad899SSimon Glass clocks = <&osc24M_32k>, <&osc32k>, <&osc24M>; 779643ad899SSimon Glass clock-output-names = "clk_out_a"; 780643ad899SSimon Glass }; 781643ad899SSimon Glass 782643ad899SSimon Glass clk_out_b: clk@01c201f4 { 783643ad899SSimon Glass #clock-cells = <0>; 784643ad899SSimon Glass compatible = "allwinner,sun7i-a20-out-clk"; 785643ad899SSimon Glass reg = <0x01c201f4 0x4>; 786643ad899SSimon Glass clocks = <&osc24M_32k>, <&osc32k>, <&osc24M>; 787643ad899SSimon Glass clock-output-names = "clk_out_b"; 788643ad899SSimon Glass }; 789643ad899SSimon Glass }; 790643ad899SSimon Glass 791643ad899SSimon Glass soc@01c00000 { 792643ad899SSimon Glass compatible = "simple-bus"; 793643ad899SSimon Glass #address-cells = <1>; 794643ad899SSimon Glass #size-cells = <1>; 795643ad899SSimon Glass ranges; 796643ad899SSimon Glass 79753ab4af3SHans de Goede sram-controller@01c00000 { 79853ab4af3SHans de Goede compatible = "allwinner,sun4i-a10-sram-controller"; 79953ab4af3SHans de Goede reg = <0x01c00000 0x30>; 8008b1ba941SHans de Goede #address-cells = <1>; 8018b1ba941SHans de Goede #size-cells = <1>; 8028b1ba941SHans de Goede ranges; 8038b1ba941SHans de Goede 8048b1ba941SHans de Goede sram_a: sram@00000000 { 8058b1ba941SHans de Goede compatible = "mmio-sram"; 8068b1ba941SHans de Goede reg = <0x00000000 0xc000>; 8078b1ba941SHans de Goede #address-cells = <1>; 8088b1ba941SHans de Goede #size-cells = <1>; 8098b1ba941SHans de Goede ranges = <0 0x00000000 0xc000>; 8108b1ba941SHans de Goede 8118b1ba941SHans de Goede emac_sram: sram-section@8000 { 8128b1ba941SHans de Goede compatible = "allwinner,sun4i-a10-sram-a3-a4"; 8138b1ba941SHans de Goede reg = <0x8000 0x4000>; 8148b1ba941SHans de Goede status = "disabled"; 8158b1ba941SHans de Goede }; 8168b1ba941SHans de Goede }; 8178b1ba941SHans de Goede 8188b1ba941SHans de Goede sram_d: sram@00010000 { 8198b1ba941SHans de Goede compatible = "mmio-sram"; 8208b1ba941SHans de Goede reg = <0x00010000 0x1000>; 8218b1ba941SHans de Goede #address-cells = <1>; 8228b1ba941SHans de Goede #size-cells = <1>; 8238b1ba941SHans de Goede ranges = <0 0x00010000 0x1000>; 8248b1ba941SHans de Goede 8258b1ba941SHans de Goede otg_sram: sram-section@0000 { 8268b1ba941SHans de Goede compatible = "allwinner,sun4i-a10-sram-d"; 8278b1ba941SHans de Goede reg = <0x0000 0x1000>; 8288b1ba941SHans de Goede status = "disabled"; 8298b1ba941SHans de Goede }; 8308b1ba941SHans de Goede }; 83153ab4af3SHans de Goede }; 83253ab4af3SHans de Goede 833643ad899SSimon Glass nmi_intc: interrupt-controller@01c00030 { 834643ad899SSimon Glass compatible = "allwinner,sun7i-a20-sc-nmi"; 835643ad899SSimon Glass interrupt-controller; 836643ad899SSimon Glass #interrupt-cells = <2>; 837643ad899SSimon Glass reg = <0x01c00030 0x0c>; 83853ab4af3SHans de Goede interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 83953ab4af3SHans de Goede }; 84053ab4af3SHans de Goede 84153ab4af3SHans de Goede dma: dma-controller@01c02000 { 84253ab4af3SHans de Goede compatible = "allwinner,sun4i-a10-dma"; 84353ab4af3SHans de Goede reg = <0x01c02000 0x1000>; 84453ab4af3SHans de Goede interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 84553ab4af3SHans de Goede clocks = <&ahb_gates 6>; 84653ab4af3SHans de Goede #dma-cells = <2>; 847643ad899SSimon Glass }; 848643ad899SSimon Glass 849*860fbdd4SHans de Goede nfc: nand@01c03000 { 850*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-nand"; 851*860fbdd4SHans de Goede reg = <0x01c03000 0x1000>; 852*860fbdd4SHans de Goede interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 853*860fbdd4SHans de Goede clocks = <&ahb_gates 13>, <&nand_clk>; 854*860fbdd4SHans de Goede clock-names = "ahb", "mod"; 855*860fbdd4SHans de Goede dmas = <&dma SUN4I_DMA_DEDICATED 3>; 856*860fbdd4SHans de Goede dma-names = "rxtx"; 857*860fbdd4SHans de Goede status = "disabled"; 858*860fbdd4SHans de Goede #address-cells = <1>; 859*860fbdd4SHans de Goede #size-cells = <0>; 860*860fbdd4SHans de Goede }; 861*860fbdd4SHans de Goede 862643ad899SSimon Glass spi0: spi@01c05000 { 863643ad899SSimon Glass compatible = "allwinner,sun4i-a10-spi"; 864643ad899SSimon Glass reg = <0x01c05000 0x1000>; 86553ab4af3SHans de Goede interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 866643ad899SSimon Glass clocks = <&ahb_gates 20>, <&spi0_clk>; 867643ad899SSimon Glass clock-names = "ahb", "mod"; 86853ab4af3SHans de Goede dmas = <&dma SUN4I_DMA_DEDICATED 27>, 86953ab4af3SHans de Goede <&dma SUN4I_DMA_DEDICATED 26>; 87053ab4af3SHans de Goede dma-names = "rx", "tx"; 871643ad899SSimon Glass status = "disabled"; 872643ad899SSimon Glass #address-cells = <1>; 873643ad899SSimon Glass #size-cells = <0>; 874643ad899SSimon Glass }; 875643ad899SSimon Glass 876643ad899SSimon Glass spi1: spi@01c06000 { 877643ad899SSimon Glass compatible = "allwinner,sun4i-a10-spi"; 878643ad899SSimon Glass reg = <0x01c06000 0x1000>; 87953ab4af3SHans de Goede interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 880643ad899SSimon Glass clocks = <&ahb_gates 21>, <&spi1_clk>; 881643ad899SSimon Glass clock-names = "ahb", "mod"; 88253ab4af3SHans de Goede dmas = <&dma SUN4I_DMA_DEDICATED 9>, 88353ab4af3SHans de Goede <&dma SUN4I_DMA_DEDICATED 8>; 88453ab4af3SHans de Goede dma-names = "rx", "tx"; 885643ad899SSimon Glass status = "disabled"; 886643ad899SSimon Glass #address-cells = <1>; 887643ad899SSimon Glass #size-cells = <0>; 888643ad899SSimon Glass }; 889643ad899SSimon Glass 890643ad899SSimon Glass emac: ethernet@01c0b000 { 891643ad899SSimon Glass compatible = "allwinner,sun4i-a10-emac"; 892643ad899SSimon Glass reg = <0x01c0b000 0x1000>; 89353ab4af3SHans de Goede interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 894643ad899SSimon Glass clocks = <&ahb_gates 17>; 8958b1ba941SHans de Goede allwinner,sram = <&emac_sram 1>; 896643ad899SSimon Glass status = "disabled"; 897643ad899SSimon Glass }; 898643ad899SSimon Glass 89953ab4af3SHans de Goede mdio: mdio@01c0b080 { 900643ad899SSimon Glass compatible = "allwinner,sun4i-a10-mdio"; 901643ad899SSimon Glass reg = <0x01c0b080 0x14>; 902643ad899SSimon Glass status = "disabled"; 903643ad899SSimon Glass #address-cells = <1>; 904643ad899SSimon Glass #size-cells = <0>; 905643ad899SSimon Glass }; 906643ad899SSimon Glass 907643ad899SSimon Glass mmc0: mmc@01c0f000 { 908*860fbdd4SHans de Goede compatible = "allwinner,sun7i-a20-mmc", 909*860fbdd4SHans de Goede "allwinner,sun5i-a13-mmc"; 910643ad899SSimon Glass reg = <0x01c0f000 0x1000>; 91153ab4af3SHans de Goede clocks = <&ahb_gates 8>, 91253ab4af3SHans de Goede <&mmc0_clk 0>, 91353ab4af3SHans de Goede <&mmc0_clk 1>, 91453ab4af3SHans de Goede <&mmc0_clk 2>; 91553ab4af3SHans de Goede clock-names = "ahb", 91653ab4af3SHans de Goede "mmc", 91753ab4af3SHans de Goede "output", 91853ab4af3SHans de Goede "sample"; 91953ab4af3SHans de Goede interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 920643ad899SSimon Glass status = "disabled"; 92153ab4af3SHans de Goede #address-cells = <1>; 92253ab4af3SHans de Goede #size-cells = <0>; 923643ad899SSimon Glass }; 924643ad899SSimon Glass 925643ad899SSimon Glass mmc1: mmc@01c10000 { 926*860fbdd4SHans de Goede compatible = "allwinner,sun7i-a20-mmc", 927*860fbdd4SHans de Goede "allwinner,sun5i-a13-mmc"; 928643ad899SSimon Glass reg = <0x01c10000 0x1000>; 92953ab4af3SHans de Goede clocks = <&ahb_gates 9>, 93053ab4af3SHans de Goede <&mmc1_clk 0>, 93153ab4af3SHans de Goede <&mmc1_clk 1>, 93253ab4af3SHans de Goede <&mmc1_clk 2>; 93353ab4af3SHans de Goede clock-names = "ahb", 93453ab4af3SHans de Goede "mmc", 93553ab4af3SHans de Goede "output", 93653ab4af3SHans de Goede "sample"; 93753ab4af3SHans de Goede interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 938643ad899SSimon Glass status = "disabled"; 93953ab4af3SHans de Goede #address-cells = <1>; 94053ab4af3SHans de Goede #size-cells = <0>; 941643ad899SSimon Glass }; 942643ad899SSimon Glass 943643ad899SSimon Glass mmc2: mmc@01c11000 { 944*860fbdd4SHans de Goede compatible = "allwinner,sun7i-a20-mmc", 945*860fbdd4SHans de Goede "allwinner,sun5i-a13-mmc"; 946643ad899SSimon Glass reg = <0x01c11000 0x1000>; 94753ab4af3SHans de Goede clocks = <&ahb_gates 10>, 94853ab4af3SHans de Goede <&mmc2_clk 0>, 94953ab4af3SHans de Goede <&mmc2_clk 1>, 95053ab4af3SHans de Goede <&mmc2_clk 2>; 95153ab4af3SHans de Goede clock-names = "ahb", 95253ab4af3SHans de Goede "mmc", 95353ab4af3SHans de Goede "output", 95453ab4af3SHans de Goede "sample"; 95553ab4af3SHans de Goede interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 956643ad899SSimon Glass status = "disabled"; 95753ab4af3SHans de Goede #address-cells = <1>; 95853ab4af3SHans de Goede #size-cells = <0>; 959643ad899SSimon Glass }; 960643ad899SSimon Glass 961643ad899SSimon Glass mmc3: mmc@01c12000 { 962*860fbdd4SHans de Goede compatible = "allwinner,sun7i-a20-mmc", 963*860fbdd4SHans de Goede "allwinner,sun5i-a13-mmc"; 964643ad899SSimon Glass reg = <0x01c12000 0x1000>; 96553ab4af3SHans de Goede clocks = <&ahb_gates 11>, 96653ab4af3SHans de Goede <&mmc3_clk 0>, 96753ab4af3SHans de Goede <&mmc3_clk 1>, 96853ab4af3SHans de Goede <&mmc3_clk 2>; 96953ab4af3SHans de Goede clock-names = "ahb", 97053ab4af3SHans de Goede "mmc", 97153ab4af3SHans de Goede "output", 97253ab4af3SHans de Goede "sample"; 97353ab4af3SHans de Goede interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 974643ad899SSimon Glass status = "disabled"; 97553ab4af3SHans de Goede #address-cells = <1>; 97653ab4af3SHans de Goede #size-cells = <0>; 977643ad899SSimon Glass }; 978643ad899SSimon Glass 979da52a4a3SHans de Goede usb_otg: usb@01c13000 { 980da52a4a3SHans de Goede compatible = "allwinner,sun4i-a10-musb"; 981da52a4a3SHans de Goede reg = <0x01c13000 0x0400>; 982da52a4a3SHans de Goede clocks = <&ahb_gates 0>; 983da52a4a3SHans de Goede interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 984da52a4a3SHans de Goede interrupt-names = "mc"; 985da52a4a3SHans de Goede phys = <&usbphy 0>; 986da52a4a3SHans de Goede phy-names = "usb"; 987da52a4a3SHans de Goede extcon = <&usbphy 0>; 988da52a4a3SHans de Goede allwinner,sram = <&otg_sram 1>; 989da52a4a3SHans de Goede status = "disabled"; 990da52a4a3SHans de Goede }; 991da52a4a3SHans de Goede 992643ad899SSimon Glass usbphy: phy@01c13400 { 993643ad899SSimon Glass #phy-cells = <1>; 994643ad899SSimon Glass compatible = "allwinner,sun7i-a20-usb-phy"; 995643ad899SSimon Glass reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; 996643ad899SSimon Glass reg-names = "phy_ctrl", "pmu1", "pmu2"; 997643ad899SSimon Glass clocks = <&usb_clk 8>; 998643ad899SSimon Glass clock-names = "usb_phy"; 99953ab4af3SHans de Goede resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>; 100053ab4af3SHans de Goede reset-names = "usb0_reset", "usb1_reset", "usb2_reset"; 1001643ad899SSimon Glass status = "disabled"; 1002643ad899SSimon Glass }; 1003643ad899SSimon Glass 1004643ad899SSimon Glass ehci0: usb@01c14000 { 1005643ad899SSimon Glass compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; 1006643ad899SSimon Glass reg = <0x01c14000 0x100>; 100753ab4af3SHans de Goede interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 1008643ad899SSimon Glass clocks = <&ahb_gates 1>; 1009643ad899SSimon Glass phys = <&usbphy 1>; 1010643ad899SSimon Glass phy-names = "usb"; 1011643ad899SSimon Glass status = "disabled"; 1012643ad899SSimon Glass }; 1013643ad899SSimon Glass 1014643ad899SSimon Glass ohci0: usb@01c14400 { 1015643ad899SSimon Glass compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; 1016643ad899SSimon Glass reg = <0x01c14400 0x100>; 101753ab4af3SHans de Goede interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 1018643ad899SSimon Glass clocks = <&usb_clk 6>, <&ahb_gates 2>; 1019643ad899SSimon Glass phys = <&usbphy 1>; 1020643ad899SSimon Glass phy-names = "usb"; 1021643ad899SSimon Glass status = "disabled"; 1022643ad899SSimon Glass }; 1023643ad899SSimon Glass 102480e5f83cSHans de Goede crypto: crypto-engine@01c15000 { 102580e5f83cSHans de Goede compatible = "allwinner,sun4i-a10-crypto"; 102680e5f83cSHans de Goede reg = <0x01c15000 0x1000>; 102780e5f83cSHans de Goede interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 102880e5f83cSHans de Goede clocks = <&ahb_gates 5>, <&ss_clk>; 102980e5f83cSHans de Goede clock-names = "ahb", "mod"; 103080e5f83cSHans de Goede }; 103180e5f83cSHans de Goede 1032643ad899SSimon Glass spi2: spi@01c17000 { 1033643ad899SSimon Glass compatible = "allwinner,sun4i-a10-spi"; 1034643ad899SSimon Glass reg = <0x01c17000 0x1000>; 103553ab4af3SHans de Goede interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1036643ad899SSimon Glass clocks = <&ahb_gates 22>, <&spi2_clk>; 1037643ad899SSimon Glass clock-names = "ahb", "mod"; 103853ab4af3SHans de Goede dmas = <&dma SUN4I_DMA_DEDICATED 29>, 103953ab4af3SHans de Goede <&dma SUN4I_DMA_DEDICATED 28>; 104053ab4af3SHans de Goede dma-names = "rx", "tx"; 1041643ad899SSimon Glass status = "disabled"; 1042643ad899SSimon Glass #address-cells = <1>; 1043643ad899SSimon Glass #size-cells = <0>; 1044643ad899SSimon Glass }; 1045643ad899SSimon Glass 1046643ad899SSimon Glass ahci: sata@01c18000 { 1047643ad899SSimon Glass compatible = "allwinner,sun4i-a10-ahci"; 1048643ad899SSimon Glass reg = <0x01c18000 0x1000>; 104953ab4af3SHans de Goede interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 1050643ad899SSimon Glass clocks = <&pll6 0>, <&ahb_gates 25>; 1051643ad899SSimon Glass status = "disabled"; 1052643ad899SSimon Glass }; 1053643ad899SSimon Glass 1054643ad899SSimon Glass ehci1: usb@01c1c000 { 1055643ad899SSimon Glass compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; 1056643ad899SSimon Glass reg = <0x01c1c000 0x100>; 105753ab4af3SHans de Goede interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 1058643ad899SSimon Glass clocks = <&ahb_gates 3>; 1059643ad899SSimon Glass phys = <&usbphy 2>; 1060643ad899SSimon Glass phy-names = "usb"; 1061643ad899SSimon Glass status = "disabled"; 1062643ad899SSimon Glass }; 1063643ad899SSimon Glass 1064643ad899SSimon Glass ohci1: usb@01c1c400 { 1065643ad899SSimon Glass compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; 1066643ad899SSimon Glass reg = <0x01c1c400 0x100>; 106753ab4af3SHans de Goede interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 1068643ad899SSimon Glass clocks = <&usb_clk 7>, <&ahb_gates 4>; 1069643ad899SSimon Glass phys = <&usbphy 2>; 1070643ad899SSimon Glass phy-names = "usb"; 1071643ad899SSimon Glass status = "disabled"; 1072643ad899SSimon Glass }; 1073643ad899SSimon Glass 1074643ad899SSimon Glass spi3: spi@01c1f000 { 1075643ad899SSimon Glass compatible = "allwinner,sun4i-a10-spi"; 1076643ad899SSimon Glass reg = <0x01c1f000 0x1000>; 107753ab4af3SHans de Goede interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 1078643ad899SSimon Glass clocks = <&ahb_gates 23>, <&spi3_clk>; 1079643ad899SSimon Glass clock-names = "ahb", "mod"; 108053ab4af3SHans de Goede dmas = <&dma SUN4I_DMA_DEDICATED 31>, 108153ab4af3SHans de Goede <&dma SUN4I_DMA_DEDICATED 30>; 108253ab4af3SHans de Goede dma-names = "rx", "tx"; 1083643ad899SSimon Glass status = "disabled"; 1084643ad899SSimon Glass #address-cells = <1>; 1085643ad899SSimon Glass #size-cells = <0>; 1086643ad899SSimon Glass }; 1087643ad899SSimon Glass 1088643ad899SSimon Glass pio: pinctrl@01c20800 { 1089643ad899SSimon Glass compatible = "allwinner,sun7i-a20-pinctrl"; 1090643ad899SSimon Glass reg = <0x01c20800 0x400>; 109153ab4af3SHans de Goede interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 1092643ad899SSimon Glass clocks = <&apb0_gates 5>; 1093643ad899SSimon Glass gpio-controller; 1094643ad899SSimon Glass interrupt-controller; 1095da52a4a3SHans de Goede #interrupt-cells = <3>; 1096643ad899SSimon Glass #gpio-cells = <3>; 1097643ad899SSimon Glass 1098*860fbdd4SHans de Goede clk_out_a_pins_a: clk_out_a@0 { 1099*860fbdd4SHans de Goede allwinner,pins = "PI12"; 1100*860fbdd4SHans de Goede allwinner,function = "clk_out_a"; 1101*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1102*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1103*860fbdd4SHans de Goede }; 1104*860fbdd4SHans de Goede 1105*860fbdd4SHans de Goede clk_out_b_pins_a: clk_out_b@0 { 1106*860fbdd4SHans de Goede allwinner,pins = "PI13"; 1107*860fbdd4SHans de Goede allwinner,function = "clk_out_b"; 1108*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1109*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1110*860fbdd4SHans de Goede }; 1111*860fbdd4SHans de Goede 1112*860fbdd4SHans de Goede emac_pins_a: emac0@0 { 1113*860fbdd4SHans de Goede allwinner,pins = "PA0", "PA1", "PA2", 1114*860fbdd4SHans de Goede "PA3", "PA4", "PA5", "PA6", 1115*860fbdd4SHans de Goede "PA7", "PA8", "PA9", "PA10", 1116*860fbdd4SHans de Goede "PA11", "PA12", "PA13", "PA14", 1117*860fbdd4SHans de Goede "PA15", "PA16"; 1118*860fbdd4SHans de Goede allwinner,function = "emac"; 1119*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1120*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1121*860fbdd4SHans de Goede }; 1122*860fbdd4SHans de Goede 1123*860fbdd4SHans de Goede gmac_pins_mii_a: gmac_mii@0 { 1124*860fbdd4SHans de Goede allwinner,pins = "PA0", "PA1", "PA2", 1125*860fbdd4SHans de Goede "PA3", "PA4", "PA5", "PA6", 1126*860fbdd4SHans de Goede "PA7", "PA8", "PA9", "PA10", 1127*860fbdd4SHans de Goede "PA11", "PA12", "PA13", "PA14", 1128*860fbdd4SHans de Goede "PA15", "PA16"; 1129*860fbdd4SHans de Goede allwinner,function = "gmac"; 1130*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1131*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1132*860fbdd4SHans de Goede }; 1133*860fbdd4SHans de Goede 1134*860fbdd4SHans de Goede gmac_pins_rgmii_a: gmac_rgmii@0 { 1135*860fbdd4SHans de Goede allwinner,pins = "PA0", "PA1", "PA2", 1136*860fbdd4SHans de Goede "PA3", "PA4", "PA5", "PA6", 1137*860fbdd4SHans de Goede "PA7", "PA8", "PA10", 1138*860fbdd4SHans de Goede "PA11", "PA12", "PA13", 1139*860fbdd4SHans de Goede "PA15", "PA16"; 1140*860fbdd4SHans de Goede allwinner,function = "gmac"; 1141*860fbdd4SHans de Goede /* 1142*860fbdd4SHans de Goede * data lines in RGMII mode use DDR mode 1143*860fbdd4SHans de Goede * and need a higher signal drive strength 1144*860fbdd4SHans de Goede */ 1145*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_40_MA>; 1146*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1147*860fbdd4SHans de Goede }; 1148*860fbdd4SHans de Goede 1149*860fbdd4SHans de Goede i2c0_pins_a: i2c0@0 { 1150*860fbdd4SHans de Goede allwinner,pins = "PB0", "PB1"; 1151*860fbdd4SHans de Goede allwinner,function = "i2c0"; 1152*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1153*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1154*860fbdd4SHans de Goede }; 1155*860fbdd4SHans de Goede 1156*860fbdd4SHans de Goede i2c1_pins_a: i2c1@0 { 1157*860fbdd4SHans de Goede allwinner,pins = "PB18", "PB19"; 1158*860fbdd4SHans de Goede allwinner,function = "i2c1"; 1159*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1160*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1161*860fbdd4SHans de Goede }; 1162*860fbdd4SHans de Goede 1163*860fbdd4SHans de Goede i2c2_pins_a: i2c2@0 { 1164*860fbdd4SHans de Goede allwinner,pins = "PB20", "PB21"; 1165*860fbdd4SHans de Goede allwinner,function = "i2c2"; 1166*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1167*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1168*860fbdd4SHans de Goede }; 1169*860fbdd4SHans de Goede 1170*860fbdd4SHans de Goede i2c3_pins_a: i2c3@0 { 1171*860fbdd4SHans de Goede allwinner,pins = "PI0", "PI1"; 1172*860fbdd4SHans de Goede allwinner,function = "i2c3"; 1173*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1174*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1175*860fbdd4SHans de Goede }; 1176*860fbdd4SHans de Goede 1177*860fbdd4SHans de Goede ir0_rx_pins_a: ir0@0 { 1178*860fbdd4SHans de Goede allwinner,pins = "PB4"; 1179*860fbdd4SHans de Goede allwinner,function = "ir0"; 1180*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1181*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1182*860fbdd4SHans de Goede }; 1183*860fbdd4SHans de Goede 1184*860fbdd4SHans de Goede ir0_tx_pins_a: ir0@1 { 1185*860fbdd4SHans de Goede allwinner,pins = "PB3"; 1186*860fbdd4SHans de Goede allwinner,function = "ir0"; 1187*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1188*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1189*860fbdd4SHans de Goede }; 1190*860fbdd4SHans de Goede 1191*860fbdd4SHans de Goede ir1_rx_pins_a: ir1@0 { 1192*860fbdd4SHans de Goede allwinner,pins = "PB23"; 1193*860fbdd4SHans de Goede allwinner,function = "ir1"; 1194*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1195*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1196*860fbdd4SHans de Goede }; 1197*860fbdd4SHans de Goede 1198*860fbdd4SHans de Goede ir1_tx_pins_a: ir1@1 { 1199*860fbdd4SHans de Goede allwinner,pins = "PB22"; 1200*860fbdd4SHans de Goede allwinner,function = "ir1"; 1201*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1202*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1203*860fbdd4SHans de Goede }; 1204*860fbdd4SHans de Goede 1205*860fbdd4SHans de Goede mmc0_pins_a: mmc0@0 { 1206*860fbdd4SHans de Goede allwinner,pins = "PF0", "PF1", "PF2", 1207*860fbdd4SHans de Goede "PF3", "PF4", "PF5"; 1208*860fbdd4SHans de Goede allwinner,function = "mmc0"; 1209*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_30_MA>; 1210*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1211*860fbdd4SHans de Goede }; 1212*860fbdd4SHans de Goede 1213*860fbdd4SHans de Goede mmc0_cd_pin_reference_design: mmc0_cd_pin@0 { 1214*860fbdd4SHans de Goede allwinner,pins = "PH1"; 1215*860fbdd4SHans de Goede allwinner,function = "gpio_in"; 1216*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1217*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; 1218*860fbdd4SHans de Goede }; 1219*860fbdd4SHans de Goede 1220*860fbdd4SHans de Goede mmc2_pins_a: mmc2@0 { 1221*860fbdd4SHans de Goede allwinner,pins = "PC6", "PC7", "PC8", 1222*860fbdd4SHans de Goede "PC9", "PC10", "PC11"; 1223*860fbdd4SHans de Goede allwinner,function = "mmc2"; 1224*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_30_MA>; 1225*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; 1226*860fbdd4SHans de Goede }; 1227*860fbdd4SHans de Goede 1228*860fbdd4SHans de Goede mmc3_pins_a: mmc3@0 { 1229*860fbdd4SHans de Goede allwinner,pins = "PI4", "PI5", "PI6", 1230*860fbdd4SHans de Goede "PI7", "PI8", "PI9"; 1231*860fbdd4SHans de Goede allwinner,function = "mmc3"; 1232*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_30_MA>; 1233*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1234*860fbdd4SHans de Goede }; 1235*860fbdd4SHans de Goede 1236*860fbdd4SHans de Goede ps20_pins_a: ps20@0 { 1237*860fbdd4SHans de Goede allwinner,pins = "PI20", "PI21"; 1238*860fbdd4SHans de Goede allwinner,function = "ps2"; 1239*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1240*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1241*860fbdd4SHans de Goede }; 1242*860fbdd4SHans de Goede 1243*860fbdd4SHans de Goede ps21_pins_a: ps21@0 { 1244*860fbdd4SHans de Goede allwinner,pins = "PH12", "PH13"; 1245*860fbdd4SHans de Goede allwinner,function = "ps2"; 1246*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1247*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1248*860fbdd4SHans de Goede }; 1249*860fbdd4SHans de Goede 1250643ad899SSimon Glass pwm0_pins_a: pwm0@0 { 1251643ad899SSimon Glass allwinner,pins = "PB2"; 1252643ad899SSimon Glass allwinner,function = "pwm"; 125353ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 125453ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1255643ad899SSimon Glass }; 1256643ad899SSimon Glass 1257643ad899SSimon Glass pwm1_pins_a: pwm1@0 { 1258643ad899SSimon Glass allwinner,pins = "PI3"; 1259643ad899SSimon Glass allwinner,function = "pwm"; 126053ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 126153ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1262643ad899SSimon Glass }; 1263643ad899SSimon Glass 1264*860fbdd4SHans de Goede spdif_tx_pins_a: spdif@0 { 1265*860fbdd4SHans de Goede allwinner,pins = "PB13"; 1266*860fbdd4SHans de Goede allwinner,function = "spdif"; 1267*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1268*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; 1269*860fbdd4SHans de Goede }; 1270*860fbdd4SHans de Goede 1271*860fbdd4SHans de Goede spi0_pins_a: spi0@0 { 1272*860fbdd4SHans de Goede allwinner,pins = "PI11", "PI12", "PI13"; 1273*860fbdd4SHans de Goede allwinner,function = "spi0"; 1274*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1275*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1276*860fbdd4SHans de Goede }; 1277*860fbdd4SHans de Goede 1278*860fbdd4SHans de Goede spi0_cs0_pins_a: spi0_cs0@0 { 1279*860fbdd4SHans de Goede allwinner,pins = "PI10"; 1280*860fbdd4SHans de Goede allwinner,function = "spi0"; 1281*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1282*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1283*860fbdd4SHans de Goede }; 1284*860fbdd4SHans de Goede 1285*860fbdd4SHans de Goede spi0_cs1_pins_a: spi0_cs1@0 { 1286*860fbdd4SHans de Goede allwinner,pins = "PI14"; 1287*860fbdd4SHans de Goede allwinner,function = "spi0"; 1288*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1289*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1290*860fbdd4SHans de Goede }; 1291*860fbdd4SHans de Goede 1292*860fbdd4SHans de Goede spi1_pins_a: spi1@0 { 1293*860fbdd4SHans de Goede allwinner,pins = "PI17", "PI18", "PI19"; 1294*860fbdd4SHans de Goede allwinner,function = "spi1"; 1295*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1296*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1297*860fbdd4SHans de Goede }; 1298*860fbdd4SHans de Goede 1299*860fbdd4SHans de Goede spi1_cs0_pins_a: spi1_cs0@0 { 1300*860fbdd4SHans de Goede allwinner,pins = "PI16"; 1301*860fbdd4SHans de Goede allwinner,function = "spi1"; 1302*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1303*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1304*860fbdd4SHans de Goede }; 1305*860fbdd4SHans de Goede 1306*860fbdd4SHans de Goede spi2_pins_a: spi2@0 { 1307*860fbdd4SHans de Goede allwinner,pins = "PC20", "PC21", "PC22"; 1308*860fbdd4SHans de Goede allwinner,function = "spi2"; 1309*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1310*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1311*860fbdd4SHans de Goede }; 1312*860fbdd4SHans de Goede 1313*860fbdd4SHans de Goede spi2_pins_b: spi2@1 { 1314*860fbdd4SHans de Goede allwinner,pins = "PB15", "PB16", "PB17"; 1315*860fbdd4SHans de Goede allwinner,function = "spi2"; 1316*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1317*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1318*860fbdd4SHans de Goede }; 1319*860fbdd4SHans de Goede 1320*860fbdd4SHans de Goede spi2_cs0_pins_a: spi2_cs0@0 { 1321*860fbdd4SHans de Goede allwinner,pins = "PC19"; 1322*860fbdd4SHans de Goede allwinner,function = "spi2"; 1323*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1324*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1325*860fbdd4SHans de Goede }; 1326*860fbdd4SHans de Goede 1327*860fbdd4SHans de Goede spi2_cs0_pins_b: spi2_cs0@1 { 1328*860fbdd4SHans de Goede allwinner,pins = "PB14"; 1329*860fbdd4SHans de Goede allwinner,function = "spi2"; 1330*860fbdd4SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 1331*860fbdd4SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1332*860fbdd4SHans de Goede }; 1333*860fbdd4SHans de Goede 1334643ad899SSimon Glass uart0_pins_a: uart0@0 { 1335643ad899SSimon Glass allwinner,pins = "PB22", "PB23"; 1336643ad899SSimon Glass allwinner,function = "uart0"; 133753ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 133853ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1339643ad899SSimon Glass }; 1340643ad899SSimon Glass 1341643ad899SSimon Glass uart2_pins_a: uart2@0 { 1342643ad899SSimon Glass allwinner,pins = "PI16", "PI17", "PI18", "PI19"; 1343643ad899SSimon Glass allwinner,function = "uart2"; 134453ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 134553ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 134653ab4af3SHans de Goede }; 134753ab4af3SHans de Goede 134853ab4af3SHans de Goede uart3_pins_a: uart3@0 { 134953ab4af3SHans de Goede allwinner,pins = "PG6", "PG7", "PG8", "PG9"; 135053ab4af3SHans de Goede allwinner,function = "uart3"; 135153ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 135253ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 135353ab4af3SHans de Goede }; 135453ab4af3SHans de Goede 135553ab4af3SHans de Goede uart3_pins_b: uart3@1 { 135653ab4af3SHans de Goede allwinner,pins = "PH0", "PH1"; 135753ab4af3SHans de Goede allwinner,function = "uart3"; 135853ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 135953ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 136053ab4af3SHans de Goede }; 136153ab4af3SHans de Goede 136253ab4af3SHans de Goede uart4_pins_a: uart4@0 { 136353ab4af3SHans de Goede allwinner,pins = "PG10", "PG11"; 136453ab4af3SHans de Goede allwinner,function = "uart4"; 136553ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 136653ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 136753ab4af3SHans de Goede }; 136853ab4af3SHans de Goede 13698b1ba941SHans de Goede uart4_pins_b: uart4@1 { 13708b1ba941SHans de Goede allwinner,pins = "PH4", "PH5"; 13718b1ba941SHans de Goede allwinner,function = "uart4"; 13728b1ba941SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 13738b1ba941SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 13748b1ba941SHans de Goede }; 13758b1ba941SHans de Goede 137653ab4af3SHans de Goede uart5_pins_a: uart5@0 { 137753ab4af3SHans de Goede allwinner,pins = "PI10", "PI11"; 137853ab4af3SHans de Goede allwinner,function = "uart5"; 137953ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 138053ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1381643ad899SSimon Glass }; 1382643ad899SSimon Glass 1383643ad899SSimon Glass uart6_pins_a: uart6@0 { 1384643ad899SSimon Glass allwinner,pins = "PI12", "PI13"; 1385643ad899SSimon Glass allwinner,function = "uart6"; 138653ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 138753ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1388643ad899SSimon Glass }; 1389643ad899SSimon Glass 1390643ad899SSimon Glass uart7_pins_a: uart7@0 { 1391643ad899SSimon Glass allwinner,pins = "PI20", "PI21"; 1392643ad899SSimon Glass allwinner,function = "uart7"; 139353ab4af3SHans de Goede allwinner,drive = <SUN4I_PINCTRL_10_MA>; 139453ab4af3SHans de Goede allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 1395643ad899SSimon Glass }; 1396643ad899SSimon Glass }; 1397643ad899SSimon Glass 1398643ad899SSimon Glass timer@01c20c00 { 1399643ad899SSimon Glass compatible = "allwinner,sun4i-a10-timer"; 1400643ad899SSimon Glass reg = <0x01c20c00 0x90>; 140153ab4af3SHans de Goede interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 140253ab4af3SHans de Goede <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, 140353ab4af3SHans de Goede <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 140453ab4af3SHans de Goede <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 140553ab4af3SHans de Goede <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 140653ab4af3SHans de Goede <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 1407643ad899SSimon Glass clocks = <&osc24M>; 1408643ad899SSimon Glass }; 1409643ad899SSimon Glass 1410643ad899SSimon Glass wdt: watchdog@01c20c90 { 1411643ad899SSimon Glass compatible = "allwinner,sun4i-a10-wdt"; 1412643ad899SSimon Glass reg = <0x01c20c90 0x10>; 1413643ad899SSimon Glass }; 1414643ad899SSimon Glass 1415643ad899SSimon Glass rtc: rtc@01c20d00 { 1416643ad899SSimon Glass compatible = "allwinner,sun7i-a20-rtc"; 1417643ad899SSimon Glass reg = <0x01c20d00 0x20>; 141853ab4af3SHans de Goede interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 1419643ad899SSimon Glass }; 1420643ad899SSimon Glass 1421643ad899SSimon Glass pwm: pwm@01c20e00 { 1422643ad899SSimon Glass compatible = "allwinner,sun7i-a20-pwm"; 1423643ad899SSimon Glass reg = <0x01c20e00 0xc>; 1424643ad899SSimon Glass clocks = <&osc24M>; 1425643ad899SSimon Glass #pwm-cells = <3>; 1426643ad899SSimon Glass status = "disabled"; 1427643ad899SSimon Glass }; 1428643ad899SSimon Glass 1429*860fbdd4SHans de Goede spdif: spdif@01c21000 { 1430*860fbdd4SHans de Goede #sound-dai-cells = <0>; 1431*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-spdif"; 1432*860fbdd4SHans de Goede reg = <0x01c21000 0x400>; 1433*860fbdd4SHans de Goede interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1434*860fbdd4SHans de Goede clocks = <&apb0_gates 1>, <&spdif_clk>; 1435*860fbdd4SHans de Goede clock-names = "apb", "spdif"; 1436*860fbdd4SHans de Goede dmas = <&dma SUN4I_DMA_NORMAL 2>, 1437*860fbdd4SHans de Goede <&dma SUN4I_DMA_NORMAL 2>; 1438*860fbdd4SHans de Goede dma-names = "rx", "tx"; 1439*860fbdd4SHans de Goede status = "disabled"; 1440*860fbdd4SHans de Goede }; 1441*860fbdd4SHans de Goede 1442643ad899SSimon Glass ir0: ir@01c21800 { 1443643ad899SSimon Glass compatible = "allwinner,sun4i-a10-ir"; 1444643ad899SSimon Glass clocks = <&apb0_gates 6>, <&ir0_clk>; 1445643ad899SSimon Glass clock-names = "apb", "ir"; 144653ab4af3SHans de Goede interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1447643ad899SSimon Glass reg = <0x01c21800 0x40>; 1448643ad899SSimon Glass status = "disabled"; 1449643ad899SSimon Glass }; 1450643ad899SSimon Glass 1451643ad899SSimon Glass ir1: ir@01c21c00 { 1452643ad899SSimon Glass compatible = "allwinner,sun4i-a10-ir"; 1453643ad899SSimon Glass clocks = <&apb0_gates 7>, <&ir1_clk>; 1454643ad899SSimon Glass clock-names = "apb", "ir"; 145553ab4af3SHans de Goede interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1456643ad899SSimon Glass reg = <0x01c21c00 0x40>; 1457643ad899SSimon Glass status = "disabled"; 1458643ad899SSimon Glass }; 1459643ad899SSimon Glass 1460*860fbdd4SHans de Goede i2s1: i2s@01c22000 { 1461*860fbdd4SHans de Goede #sound-dai-cells = <0>; 1462*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-i2s"; 1463*860fbdd4SHans de Goede reg = <0x01c22000 0x400>; 1464*860fbdd4SHans de Goede interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 1465*860fbdd4SHans de Goede clocks = <&apb0_gates 4>, <&i2s1_clk>; 1466*860fbdd4SHans de Goede clock-names = "apb", "mod"; 1467*860fbdd4SHans de Goede dmas = <&dma SUN4I_DMA_NORMAL 4>, 1468*860fbdd4SHans de Goede <&dma SUN4I_DMA_NORMAL 4>; 1469*860fbdd4SHans de Goede dma-names = "rx", "tx"; 1470*860fbdd4SHans de Goede status = "disabled"; 1471*860fbdd4SHans de Goede }; 1472*860fbdd4SHans de Goede 1473*860fbdd4SHans de Goede i2s0: i2s@01c22400 { 1474*860fbdd4SHans de Goede #sound-dai-cells = <0>; 1475*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-i2s"; 1476*860fbdd4SHans de Goede reg = <0x01c22400 0x400>; 1477*860fbdd4SHans de Goede interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 1478*860fbdd4SHans de Goede clocks = <&apb0_gates 3>, <&i2s0_clk>; 1479*860fbdd4SHans de Goede clock-names = "apb", "mod"; 1480*860fbdd4SHans de Goede dmas = <&dma SUN4I_DMA_NORMAL 3>, 1481*860fbdd4SHans de Goede <&dma SUN4I_DMA_NORMAL 3>; 1482*860fbdd4SHans de Goede dma-names = "rx", "tx"; 1483*860fbdd4SHans de Goede status = "disabled"; 1484*860fbdd4SHans de Goede }; 1485*860fbdd4SHans de Goede 148653ab4af3SHans de Goede lradc: lradc@01c22800 { 148753ab4af3SHans de Goede compatible = "allwinner,sun4i-a10-lradc-keys"; 148853ab4af3SHans de Goede reg = <0x01c22800 0x100>; 148953ab4af3SHans de Goede interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 149053ab4af3SHans de Goede status = "disabled"; 149153ab4af3SHans de Goede }; 149253ab4af3SHans de Goede 149380e5f83cSHans de Goede codec: codec@01c22c00 { 149480e5f83cSHans de Goede #sound-dai-cells = <0>; 149580e5f83cSHans de Goede compatible = "allwinner,sun7i-a20-codec"; 149680e5f83cSHans de Goede reg = <0x01c22c00 0x40>; 149780e5f83cSHans de Goede interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 149880e5f83cSHans de Goede clocks = <&apb0_gates 0>, <&codec_clk>; 149980e5f83cSHans de Goede clock-names = "apb", "codec"; 150080e5f83cSHans de Goede dmas = <&dma SUN4I_DMA_NORMAL 19>, 150180e5f83cSHans de Goede <&dma SUN4I_DMA_NORMAL 19>; 150280e5f83cSHans de Goede dma-names = "rx", "tx"; 150380e5f83cSHans de Goede status = "disabled"; 150480e5f83cSHans de Goede }; 150580e5f83cSHans de Goede 1506643ad899SSimon Glass sid: eeprom@01c23800 { 1507643ad899SSimon Glass compatible = "allwinner,sun7i-a20-sid"; 1508643ad899SSimon Glass reg = <0x01c23800 0x200>; 1509643ad899SSimon Glass }; 1510643ad899SSimon Glass 1511*860fbdd4SHans de Goede i2s2: i2s@01c24400 { 1512*860fbdd4SHans de Goede #sound-dai-cells = <0>; 1513*860fbdd4SHans de Goede compatible = "allwinner,sun4i-a10-i2s"; 1514*860fbdd4SHans de Goede reg = <0x01c24400 0x400>; 1515*860fbdd4SHans de Goede interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 1516*860fbdd4SHans de Goede clocks = <&apb0_gates 8>, <&i2s2_clk>; 1517*860fbdd4SHans de Goede clock-names = "apb", "mod"; 1518*860fbdd4SHans de Goede dmas = <&dma SUN4I_DMA_NORMAL 6>, 1519*860fbdd4SHans de Goede <&dma SUN4I_DMA_NORMAL 6>; 1520*860fbdd4SHans de Goede dma-names = "rx", "tx"; 1521*860fbdd4SHans de Goede status = "disabled"; 1522*860fbdd4SHans de Goede }; 1523*860fbdd4SHans de Goede 1524643ad899SSimon Glass rtp: rtp@01c25000 { 152553ab4af3SHans de Goede compatible = "allwinner,sun5i-a13-ts"; 1526643ad899SSimon Glass reg = <0x01c25000 0x100>; 152753ab4af3SHans de Goede interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 152853ab4af3SHans de Goede #thermal-sensor-cells = <0>; 1529643ad899SSimon Glass }; 1530643ad899SSimon Glass 1531643ad899SSimon Glass uart0: serial@01c28000 { 1532643ad899SSimon Glass compatible = "snps,dw-apb-uart"; 1533643ad899SSimon Glass reg = <0x01c28000 0x400>; 153453ab4af3SHans de Goede interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 1535643ad899SSimon Glass reg-shift = <2>; 1536643ad899SSimon Glass reg-io-width = <4>; 1537643ad899SSimon Glass clocks = <&apb1_gates 16>; 1538643ad899SSimon Glass status = "disabled"; 1539643ad899SSimon Glass }; 1540643ad899SSimon Glass 1541643ad899SSimon Glass uart1: serial@01c28400 { 1542643ad899SSimon Glass compatible = "snps,dw-apb-uart"; 1543643ad899SSimon Glass reg = <0x01c28400 0x400>; 154453ab4af3SHans de Goede interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 1545643ad899SSimon Glass reg-shift = <2>; 1546643ad899SSimon Glass reg-io-width = <4>; 1547643ad899SSimon Glass clocks = <&apb1_gates 17>; 1548643ad899SSimon Glass status = "disabled"; 1549643ad899SSimon Glass }; 1550643ad899SSimon Glass 1551643ad899SSimon Glass uart2: serial@01c28800 { 1552643ad899SSimon Glass compatible = "snps,dw-apb-uart"; 1553643ad899SSimon Glass reg = <0x01c28800 0x400>; 155453ab4af3SHans de Goede interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 1555643ad899SSimon Glass reg-shift = <2>; 1556643ad899SSimon Glass reg-io-width = <4>; 1557643ad899SSimon Glass clocks = <&apb1_gates 18>; 1558643ad899SSimon Glass status = "disabled"; 1559643ad899SSimon Glass }; 1560643ad899SSimon Glass 1561643ad899SSimon Glass uart3: serial@01c28c00 { 1562643ad899SSimon Glass compatible = "snps,dw-apb-uart"; 1563643ad899SSimon Glass reg = <0x01c28c00 0x400>; 156453ab4af3SHans de Goede interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 1565643ad899SSimon Glass reg-shift = <2>; 1566643ad899SSimon Glass reg-io-width = <4>; 1567643ad899SSimon Glass clocks = <&apb1_gates 19>; 1568643ad899SSimon Glass status = "disabled"; 1569643ad899SSimon Glass }; 1570643ad899SSimon Glass 1571643ad899SSimon Glass uart4: serial@01c29000 { 1572643ad899SSimon Glass compatible = "snps,dw-apb-uart"; 1573643ad899SSimon Glass reg = <0x01c29000 0x400>; 157453ab4af3SHans de Goede interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 1575643ad899SSimon Glass reg-shift = <2>; 1576643ad899SSimon Glass reg-io-width = <4>; 1577643ad899SSimon Glass clocks = <&apb1_gates 20>; 1578643ad899SSimon Glass status = "disabled"; 1579643ad899SSimon Glass }; 1580643ad899SSimon Glass 1581643ad899SSimon Glass uart5: serial@01c29400 { 1582643ad899SSimon Glass compatible = "snps,dw-apb-uart"; 1583643ad899SSimon Glass reg = <0x01c29400 0x400>; 158453ab4af3SHans de Goede interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 1585643ad899SSimon Glass reg-shift = <2>; 1586643ad899SSimon Glass reg-io-width = <4>; 1587643ad899SSimon Glass clocks = <&apb1_gates 21>; 1588643ad899SSimon Glass status = "disabled"; 1589643ad899SSimon Glass }; 1590643ad899SSimon Glass 1591643ad899SSimon Glass uart6: serial@01c29800 { 1592643ad899SSimon Glass compatible = "snps,dw-apb-uart"; 1593643ad899SSimon Glass reg = <0x01c29800 0x400>; 159453ab4af3SHans de Goede interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 1595643ad899SSimon Glass reg-shift = <2>; 1596643ad899SSimon Glass reg-io-width = <4>; 1597643ad899SSimon Glass clocks = <&apb1_gates 22>; 1598643ad899SSimon Glass status = "disabled"; 1599643ad899SSimon Glass }; 1600643ad899SSimon Glass 1601643ad899SSimon Glass uart7: serial@01c29c00 { 1602643ad899SSimon Glass compatible = "snps,dw-apb-uart"; 1603643ad899SSimon Glass reg = <0x01c29c00 0x400>; 160453ab4af3SHans de Goede interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 1605643ad899SSimon Glass reg-shift = <2>; 1606643ad899SSimon Glass reg-io-width = <4>; 1607643ad899SSimon Glass clocks = <&apb1_gates 23>; 1608643ad899SSimon Glass status = "disabled"; 1609643ad899SSimon Glass }; 1610643ad899SSimon Glass 1611643ad899SSimon Glass i2c0: i2c@01c2ac00 { 16128b1ba941SHans de Goede compatible = "allwinner,sun7i-a20-i2c", 16138b1ba941SHans de Goede "allwinner,sun4i-a10-i2c"; 1614643ad899SSimon Glass reg = <0x01c2ac00 0x400>; 161553ab4af3SHans de Goede interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1616643ad899SSimon Glass clocks = <&apb1_gates 0>; 1617643ad899SSimon Glass status = "disabled"; 1618643ad899SSimon Glass #address-cells = <1>; 1619643ad899SSimon Glass #size-cells = <0>; 1620643ad899SSimon Glass }; 1621643ad899SSimon Glass 1622643ad899SSimon Glass i2c1: i2c@01c2b000 { 16238b1ba941SHans de Goede compatible = "allwinner,sun7i-a20-i2c", 16248b1ba941SHans de Goede "allwinner,sun4i-a10-i2c"; 1625643ad899SSimon Glass reg = <0x01c2b000 0x400>; 162653ab4af3SHans de Goede interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1627643ad899SSimon Glass clocks = <&apb1_gates 1>; 1628643ad899SSimon Glass status = "disabled"; 1629643ad899SSimon Glass #address-cells = <1>; 1630643ad899SSimon Glass #size-cells = <0>; 1631643ad899SSimon Glass }; 1632643ad899SSimon Glass 1633643ad899SSimon Glass i2c2: i2c@01c2b400 { 16348b1ba941SHans de Goede compatible = "allwinner,sun7i-a20-i2c", 16358b1ba941SHans de Goede "allwinner,sun4i-a10-i2c"; 1636643ad899SSimon Glass reg = <0x01c2b400 0x400>; 163753ab4af3SHans de Goede interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1638643ad899SSimon Glass clocks = <&apb1_gates 2>; 1639643ad899SSimon Glass status = "disabled"; 1640643ad899SSimon Glass #address-cells = <1>; 1641643ad899SSimon Glass #size-cells = <0>; 1642643ad899SSimon Glass }; 1643643ad899SSimon Glass 1644643ad899SSimon Glass i2c3: i2c@01c2b800 { 16458b1ba941SHans de Goede compatible = "allwinner,sun7i-a20-i2c", 16468b1ba941SHans de Goede "allwinner,sun4i-a10-i2c"; 1647643ad899SSimon Glass reg = <0x01c2b800 0x400>; 164853ab4af3SHans de Goede interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 1649643ad899SSimon Glass clocks = <&apb1_gates 3>; 1650643ad899SSimon Glass status = "disabled"; 1651643ad899SSimon Glass #address-cells = <1>; 1652643ad899SSimon Glass #size-cells = <0>; 1653643ad899SSimon Glass }; 1654643ad899SSimon Glass 1655643ad899SSimon Glass i2c4: i2c@01c2c000 { 16568b1ba941SHans de Goede compatible = "allwinner,sun7i-a20-i2c", 16578b1ba941SHans de Goede "allwinner,sun4i-a10-i2c"; 1658643ad899SSimon Glass reg = <0x01c2c000 0x400>; 165953ab4af3SHans de Goede interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 1660643ad899SSimon Glass clocks = <&apb1_gates 15>; 1661643ad899SSimon Glass status = "disabled"; 1662643ad899SSimon Glass #address-cells = <1>; 1663643ad899SSimon Glass #size-cells = <0>; 1664643ad899SSimon Glass }; 1665643ad899SSimon Glass 1666643ad899SSimon Glass gmac: ethernet@01c50000 { 1667643ad899SSimon Glass compatible = "allwinner,sun7i-a20-gmac"; 1668643ad899SSimon Glass reg = <0x01c50000 0x10000>; 166953ab4af3SHans de Goede interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 1670643ad899SSimon Glass interrupt-names = "macirq"; 1671643ad899SSimon Glass clocks = <&ahb_gates 49>, <&gmac_tx_clk>; 1672643ad899SSimon Glass clock-names = "stmmaceth", "allwinner_gmac_tx"; 1673643ad899SSimon Glass snps,pbl = <2>; 1674643ad899SSimon Glass snps,fixed-burst; 1675643ad899SSimon Glass snps,force_sf_dma_mode; 1676643ad899SSimon Glass status = "disabled"; 1677643ad899SSimon Glass #address-cells = <1>; 1678643ad899SSimon Glass #size-cells = <0>; 1679643ad899SSimon Glass }; 1680643ad899SSimon Glass 1681643ad899SSimon Glass hstimer@01c60000 { 1682643ad899SSimon Glass compatible = "allwinner,sun7i-a20-hstimer"; 1683643ad899SSimon Glass reg = <0x01c60000 0x1000>; 168453ab4af3SHans de Goede interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>, 168553ab4af3SHans de Goede <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>, 168653ab4af3SHans de Goede <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>, 168753ab4af3SHans de Goede <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 1688643ad899SSimon Glass clocks = <&ahb_gates 28>; 1689643ad899SSimon Glass }; 1690643ad899SSimon Glass 1691643ad899SSimon Glass gic: interrupt-controller@01c81000 { 1692643ad899SSimon Glass compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; 1693643ad899SSimon Glass reg = <0x01c81000 0x1000>, 1694643ad899SSimon Glass <0x01c82000 0x1000>, 1695643ad899SSimon Glass <0x01c84000 0x2000>, 1696643ad899SSimon Glass <0x01c86000 0x2000>; 1697643ad899SSimon Glass interrupt-controller; 1698643ad899SSimon Glass #interrupt-cells = <3>; 169953ab4af3SHans de Goede interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 170053ab4af3SHans de Goede }; 170153ab4af3SHans de Goede 170253ab4af3SHans de Goede ps20: ps2@01c2a000 { 170353ab4af3SHans de Goede compatible = "allwinner,sun4i-a10-ps2"; 170453ab4af3SHans de Goede reg = <0x01c2a000 0x400>; 170553ab4af3SHans de Goede interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 170653ab4af3SHans de Goede clocks = <&apb1_gates 6>; 170753ab4af3SHans de Goede status = "disabled"; 170853ab4af3SHans de Goede }; 170953ab4af3SHans de Goede 171053ab4af3SHans de Goede ps21: ps2@01c2a400 { 171153ab4af3SHans de Goede compatible = "allwinner,sun4i-a10-ps2"; 171253ab4af3SHans de Goede reg = <0x01c2a400 0x400>; 171353ab4af3SHans de Goede interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 171453ab4af3SHans de Goede clocks = <&apb1_gates 7>; 171553ab4af3SHans de Goede status = "disabled"; 1716643ad899SSimon Glass }; 1717643ad899SSimon Glass }; 1718643ad899SSimon Glass}; 1719