162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * Copyright 2013 Maxime Ripard 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Maxime Ripard <maxime.ripard@free-electrons.com> 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * This file is dual-licensed: you can use it either under the terms 762306a36Sopenharmony_ci * of the GPL or the X11 license, at your option. Note that this dual 862306a36Sopenharmony_ci * licensing only applies to this file, and not this project as a 962306a36Sopenharmony_ci * whole. 1062306a36Sopenharmony_ci * 1162306a36Sopenharmony_ci * a) This file is free software; you can redistribute it and/or 1262306a36Sopenharmony_ci * modify it under the terms of the GNU General Public License as 1362306a36Sopenharmony_ci * published by the Free Software Foundation; either version 2 of the 1462306a36Sopenharmony_ci * License, or (at your option) any later version. 1562306a36Sopenharmony_ci * 1662306a36Sopenharmony_ci * This file is distributed in the hope that it will be useful, 1762306a36Sopenharmony_ci * but WITHOUT ANY WARRANTY; without even the implied warranty of 1862306a36Sopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1962306a36Sopenharmony_ci * GNU General Public License for more details. 2062306a36Sopenharmony_ci * 2162306a36Sopenharmony_ci * Or, alternatively, 2262306a36Sopenharmony_ci * 2362306a36Sopenharmony_ci * b) Permission is hereby granted, free of charge, to any person 2462306a36Sopenharmony_ci * obtaining a copy of this software and associated documentation 2562306a36Sopenharmony_ci * files (the "Software"), to deal in the Software without 2662306a36Sopenharmony_ci * restriction, including without limitation the rights to use, 2762306a36Sopenharmony_ci * copy, modify, merge, publish, distribute, sublicense, and/or 2862306a36Sopenharmony_ci * sell copies of the Software, and to permit persons to whom the 2962306a36Sopenharmony_ci * Software is furnished to do so, subject to the following 3062306a36Sopenharmony_ci * conditions: 3162306a36Sopenharmony_ci * 3262306a36Sopenharmony_ci * The above copyright notice and this permission notice shall be 3362306a36Sopenharmony_ci * included in all copies or substantial portions of the Software. 3462306a36Sopenharmony_ci * 3562306a36Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3662306a36Sopenharmony_ci * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3762306a36Sopenharmony_ci * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3862306a36Sopenharmony_ci * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3962306a36Sopenharmony_ci * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 4062306a36Sopenharmony_ci * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 4162306a36Sopenharmony_ci * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4262306a36Sopenharmony_ci * OTHER DEALINGS IN THE SOFTWARE. 4362306a36Sopenharmony_ci */ 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 4662306a36Sopenharmony_ci#include <dt-bindings/thermal/thermal.h> 4762306a36Sopenharmony_ci#include <dt-bindings/dma/sun4i-a10.h> 4862306a36Sopenharmony_ci#include <dt-bindings/clock/sun7i-a20-ccu.h> 4962306a36Sopenharmony_ci#include <dt-bindings/reset/sun4i-a10-ccu.h> 5062306a36Sopenharmony_ci#include <dt-bindings/pinctrl/sun4i-a10.h> 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci/ { 5362306a36Sopenharmony_ci interrupt-parent = <&gic>; 5462306a36Sopenharmony_ci #address-cells = <1>; 5562306a36Sopenharmony_ci #size-cells = <1>; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci aliases { 5862306a36Sopenharmony_ci ethernet0 = &gmac; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci chosen { 6262306a36Sopenharmony_ci #address-cells = <1>; 6362306a36Sopenharmony_ci #size-cells = <1>; 6462306a36Sopenharmony_ci ranges; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci framebuffer-lcd0-hdmi { 6762306a36Sopenharmony_ci compatible = "allwinner,simple-framebuffer", 6862306a36Sopenharmony_ci "simple-framebuffer"; 6962306a36Sopenharmony_ci allwinner,pipeline = "de_be0-lcd0-hdmi"; 7062306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>, 7162306a36Sopenharmony_ci <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>, 7262306a36Sopenharmony_ci <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>, 7362306a36Sopenharmony_ci <&ccu CLK_HDMI>; 7462306a36Sopenharmony_ci status = "disabled"; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci framebuffer-lcd0 { 7862306a36Sopenharmony_ci compatible = "allwinner,simple-framebuffer", 7962306a36Sopenharmony_ci "simple-framebuffer"; 8062306a36Sopenharmony_ci allwinner,pipeline = "de_be0-lcd0"; 8162306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>, 8262306a36Sopenharmony_ci <&ccu CLK_DE_BE0>, <&ccu CLK_TCON0_CH0>, 8362306a36Sopenharmony_ci <&ccu CLK_DRAM_DE_BE0>; 8462306a36Sopenharmony_ci status = "disabled"; 8562306a36Sopenharmony_ci }; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci framebuffer-lcd0-tve0 { 8862306a36Sopenharmony_ci compatible = "allwinner,simple-framebuffer", 8962306a36Sopenharmony_ci "simple-framebuffer"; 9062306a36Sopenharmony_ci allwinner,pipeline = "de_be0-lcd0-tve0"; 9162306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>, 9262306a36Sopenharmony_ci <&ccu CLK_AHB_DE_BE0>, 9362306a36Sopenharmony_ci <&ccu CLK_DE_BE0>, <&ccu CLK_TCON0_CH1>, 9462306a36Sopenharmony_ci <&ccu CLK_DRAM_TVE0>, <&ccu CLK_DRAM_DE_BE0>; 9562306a36Sopenharmony_ci status = "disabled"; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci }; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci cpus { 10062306a36Sopenharmony_ci #address-cells = <1>; 10162306a36Sopenharmony_ci #size-cells = <0>; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci cpu0: cpu@0 { 10462306a36Sopenharmony_ci compatible = "arm,cortex-a7"; 10562306a36Sopenharmony_ci device_type = "cpu"; 10662306a36Sopenharmony_ci reg = <0>; 10762306a36Sopenharmony_ci clocks = <&ccu CLK_CPU>; 10862306a36Sopenharmony_ci clock-latency = <244144>; /* 8 32k periods */ 10962306a36Sopenharmony_ci operating-points = 11062306a36Sopenharmony_ci /* kHz uV */ 11162306a36Sopenharmony_ci <960000 1400000>, 11262306a36Sopenharmony_ci <912000 1400000>, 11362306a36Sopenharmony_ci <864000 1300000>, 11462306a36Sopenharmony_ci <720000 1200000>, 11562306a36Sopenharmony_ci <528000 1100000>, 11662306a36Sopenharmony_ci <312000 1000000>, 11762306a36Sopenharmony_ci <144000 1000000>; 11862306a36Sopenharmony_ci #cooling-cells = <2>; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci cpu1: cpu@1 { 12262306a36Sopenharmony_ci compatible = "arm,cortex-a7"; 12362306a36Sopenharmony_ci device_type = "cpu"; 12462306a36Sopenharmony_ci reg = <1>; 12562306a36Sopenharmony_ci clocks = <&ccu CLK_CPU>; 12662306a36Sopenharmony_ci clock-latency = <244144>; /* 8 32k periods */ 12762306a36Sopenharmony_ci operating-points = 12862306a36Sopenharmony_ci /* kHz uV */ 12962306a36Sopenharmony_ci <960000 1400000>, 13062306a36Sopenharmony_ci <912000 1400000>, 13162306a36Sopenharmony_ci <864000 1300000>, 13262306a36Sopenharmony_ci <720000 1200000>, 13362306a36Sopenharmony_ci <528000 1100000>, 13462306a36Sopenharmony_ci <312000 1000000>, 13562306a36Sopenharmony_ci <144000 1000000>; 13662306a36Sopenharmony_ci #cooling-cells = <2>; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci thermal-zones { 14162306a36Sopenharmony_ci cpu-thermal { 14262306a36Sopenharmony_ci /* milliseconds */ 14362306a36Sopenharmony_ci polling-delay-passive = <250>; 14462306a36Sopenharmony_ci polling-delay = <1000>; 14562306a36Sopenharmony_ci thermal-sensors = <&rtp>; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci cooling-maps { 14862306a36Sopenharmony_ci map0 { 14962306a36Sopenharmony_ci trip = <&cpu_alert0>; 15062306a36Sopenharmony_ci cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 15162306a36Sopenharmony_ci <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci trips { 15662306a36Sopenharmony_ci cpu_alert0: cpu_alert0 { 15762306a36Sopenharmony_ci /* milliCelsius */ 15862306a36Sopenharmony_ci temperature = <75000>; 15962306a36Sopenharmony_ci hysteresis = <2000>; 16062306a36Sopenharmony_ci type = "passive"; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci cpu_crit: cpu_crit { 16462306a36Sopenharmony_ci /* milliCelsius */ 16562306a36Sopenharmony_ci temperature = <100000>; 16662306a36Sopenharmony_ci hysteresis = <2000>; 16762306a36Sopenharmony_ci type = "critical"; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci reserved-memory { 17462306a36Sopenharmony_ci #address-cells = <1>; 17562306a36Sopenharmony_ci #size-cells = <1>; 17662306a36Sopenharmony_ci ranges; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci /* Address must be kept in the lower 256 MiBs of DRAM for VE. */ 17962306a36Sopenharmony_ci default-pool { 18062306a36Sopenharmony_ci compatible = "shared-dma-pool"; 18162306a36Sopenharmony_ci size = <0x6000000>; 18262306a36Sopenharmony_ci alloc-ranges = <0x40000000 0x10000000>; 18362306a36Sopenharmony_ci reusable; 18462306a36Sopenharmony_ci linux,cma-default; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci timer { 18962306a36Sopenharmony_ci compatible = "arm,armv7-timer"; 19062306a36Sopenharmony_ci interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 19162306a36Sopenharmony_ci <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 19262306a36Sopenharmony_ci <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 19362306a36Sopenharmony_ci <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 19462306a36Sopenharmony_ci }; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci pmu { 19762306a36Sopenharmony_ci compatible = "arm,cortex-a7-pmu"; 19862306a36Sopenharmony_ci interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 19962306a36Sopenharmony_ci <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 20062306a36Sopenharmony_ci }; 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci clocks { 20362306a36Sopenharmony_ci #address-cells = <1>; 20462306a36Sopenharmony_ci #size-cells = <1>; 20562306a36Sopenharmony_ci ranges; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci osc24M: clk-24M { 20862306a36Sopenharmony_ci #clock-cells = <0>; 20962306a36Sopenharmony_ci compatible = "fixed-clock"; 21062306a36Sopenharmony_ci clock-frequency = <24000000>; 21162306a36Sopenharmony_ci clock-output-names = "osc24M"; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci osc32k: clk-32k { 21562306a36Sopenharmony_ci #clock-cells = <0>; 21662306a36Sopenharmony_ci compatible = "fixed-clock"; 21762306a36Sopenharmony_ci clock-frequency = <32768>; 21862306a36Sopenharmony_ci clock-output-names = "osc32k"; 21962306a36Sopenharmony_ci }; 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci /* 22262306a36Sopenharmony_ci * The following two are dummy clocks, placeholders 22362306a36Sopenharmony_ci * used in the gmac_tx clock. The gmac driver will 22462306a36Sopenharmony_ci * choose one parent depending on the PHY interface 22562306a36Sopenharmony_ci * mode, using clk_set_rate auto-reparenting. 22662306a36Sopenharmony_ci * 22762306a36Sopenharmony_ci * The actual TX clock rate is not controlled by the 22862306a36Sopenharmony_ci * gmac_tx clock. 22962306a36Sopenharmony_ci */ 23062306a36Sopenharmony_ci mii_phy_tx_clk: clk-mii-phy-tx { 23162306a36Sopenharmony_ci #clock-cells = <0>; 23262306a36Sopenharmony_ci compatible = "fixed-clock"; 23362306a36Sopenharmony_ci clock-frequency = <25000000>; 23462306a36Sopenharmony_ci clock-output-names = "mii_phy_tx"; 23562306a36Sopenharmony_ci }; 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci gmac_int_tx_clk: clk-gmac-int-tx { 23862306a36Sopenharmony_ci #clock-cells = <0>; 23962306a36Sopenharmony_ci compatible = "fixed-clock"; 24062306a36Sopenharmony_ci clock-frequency = <125000000>; 24162306a36Sopenharmony_ci clock-output-names = "gmac_int_tx"; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci gmac_tx_clk: clk@1c20164 { 24562306a36Sopenharmony_ci #clock-cells = <0>; 24662306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-gmac-clk"; 24762306a36Sopenharmony_ci reg = <0x01c20164 0x4>; 24862306a36Sopenharmony_ci clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>; 24962306a36Sopenharmony_ci clock-output-names = "gmac_tx"; 25062306a36Sopenharmony_ci }; 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci de: display-engine { 25562306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-display-engine"; 25662306a36Sopenharmony_ci allwinner,pipelines = <&fe0>, <&fe1>; 25762306a36Sopenharmony_ci status = "disabled"; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci soc { 26162306a36Sopenharmony_ci compatible = "simple-bus"; 26262306a36Sopenharmony_ci #address-cells = <1>; 26362306a36Sopenharmony_ci #size-cells = <1>; 26462306a36Sopenharmony_ci ranges; 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci system-control@1c00000 { 26762306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-system-control", 26862306a36Sopenharmony_ci "allwinner,sun4i-a10-system-control"; 26962306a36Sopenharmony_ci reg = <0x01c00000 0x30>; 27062306a36Sopenharmony_ci #address-cells = <1>; 27162306a36Sopenharmony_ci #size-cells = <1>; 27262306a36Sopenharmony_ci ranges; 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci sram_a: sram@0 { 27562306a36Sopenharmony_ci compatible = "mmio-sram"; 27662306a36Sopenharmony_ci reg = <0x00000000 0xc000>; 27762306a36Sopenharmony_ci #address-cells = <1>; 27862306a36Sopenharmony_ci #size-cells = <1>; 27962306a36Sopenharmony_ci ranges = <0 0x00000000 0xc000>; 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ci emac_sram: sram-section@8000 { 28262306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-sram-a3-a4", 28362306a36Sopenharmony_ci "allwinner,sun4i-a10-sram-a3-a4"; 28462306a36Sopenharmony_ci reg = <0x8000 0x4000>; 28562306a36Sopenharmony_ci status = "disabled"; 28662306a36Sopenharmony_ci }; 28762306a36Sopenharmony_ci }; 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ci sram_d: sram@10000 { 29062306a36Sopenharmony_ci compatible = "mmio-sram"; 29162306a36Sopenharmony_ci reg = <0x00010000 0x1000>; 29262306a36Sopenharmony_ci #address-cells = <1>; 29362306a36Sopenharmony_ci #size-cells = <1>; 29462306a36Sopenharmony_ci ranges = <0 0x00010000 0x1000>; 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ci otg_sram: sram-section@0 { 29762306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-sram-d", 29862306a36Sopenharmony_ci "allwinner,sun4i-a10-sram-d"; 29962306a36Sopenharmony_ci reg = <0x0000 0x1000>; 30062306a36Sopenharmony_ci status = "disabled"; 30162306a36Sopenharmony_ci }; 30262306a36Sopenharmony_ci }; 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci sram_c: sram@1d00000 { 30562306a36Sopenharmony_ci compatible = "mmio-sram"; 30662306a36Sopenharmony_ci reg = <0x01d00000 0xd0000>; 30762306a36Sopenharmony_ci #address-cells = <1>; 30862306a36Sopenharmony_ci #size-cells = <1>; 30962306a36Sopenharmony_ci ranges = <0 0x01d00000 0xd0000>; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci ve_sram: sram-section@0 { 31262306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-sram-c1", 31362306a36Sopenharmony_ci "allwinner,sun4i-a10-sram-c1"; 31462306a36Sopenharmony_ci reg = <0x000000 0x80000>; 31562306a36Sopenharmony_ci }; 31662306a36Sopenharmony_ci }; 31762306a36Sopenharmony_ci }; 31862306a36Sopenharmony_ci 31962306a36Sopenharmony_ci nmi_intc: interrupt-controller@1c00030 { 32062306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-sc-nmi"; 32162306a36Sopenharmony_ci interrupt-controller; 32262306a36Sopenharmony_ci #interrupt-cells = <2>; 32362306a36Sopenharmony_ci reg = <0x01c00030 0x0c>; 32462306a36Sopenharmony_ci interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 32562306a36Sopenharmony_ci }; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci dma: dma-controller@1c02000 { 32862306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-dma"; 32962306a36Sopenharmony_ci reg = <0x01c02000 0x1000>; 33062306a36Sopenharmony_ci interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 33162306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_DMA>; 33262306a36Sopenharmony_ci #dma-cells = <2>; 33362306a36Sopenharmony_ci }; 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ci nfc: nand-controller@1c03000 { 33662306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-nand"; 33762306a36Sopenharmony_ci reg = <0x01c03000 0x1000>; 33862306a36Sopenharmony_ci interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 33962306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>; 34062306a36Sopenharmony_ci clock-names = "ahb", "mod"; 34162306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_DEDICATED 3>; 34262306a36Sopenharmony_ci dma-names = "rxtx"; 34362306a36Sopenharmony_ci status = "disabled"; 34462306a36Sopenharmony_ci #address-cells = <1>; 34562306a36Sopenharmony_ci #size-cells = <0>; 34662306a36Sopenharmony_ci }; 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ci spi0: spi@1c05000 { 34962306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-spi"; 35062306a36Sopenharmony_ci reg = <0x01c05000 0x1000>; 35162306a36Sopenharmony_ci interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 35262306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>; 35362306a36Sopenharmony_ci clock-names = "ahb", "mod"; 35462306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_DEDICATED 27>, 35562306a36Sopenharmony_ci <&dma SUN4I_DMA_DEDICATED 26>; 35662306a36Sopenharmony_ci dma-names = "rx", "tx"; 35762306a36Sopenharmony_ci status = "disabled"; 35862306a36Sopenharmony_ci #address-cells = <1>; 35962306a36Sopenharmony_ci #size-cells = <0>; 36062306a36Sopenharmony_ci num-cs = <4>; 36162306a36Sopenharmony_ci }; 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_ci spi1: spi@1c06000 { 36462306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-spi"; 36562306a36Sopenharmony_ci reg = <0x01c06000 0x1000>; 36662306a36Sopenharmony_ci interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 36762306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>; 36862306a36Sopenharmony_ci clock-names = "ahb", "mod"; 36962306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_DEDICATED 9>, 37062306a36Sopenharmony_ci <&dma SUN4I_DMA_DEDICATED 8>; 37162306a36Sopenharmony_ci dma-names = "rx", "tx"; 37262306a36Sopenharmony_ci status = "disabled"; 37362306a36Sopenharmony_ci #address-cells = <1>; 37462306a36Sopenharmony_ci #size-cells = <0>; 37562306a36Sopenharmony_ci num-cs = <1>; 37662306a36Sopenharmony_ci }; 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ci csi0: csi@1c09000 { 37962306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-csi0"; 38062306a36Sopenharmony_ci reg = <0x01c09000 0x1000>; 38162306a36Sopenharmony_ci interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 38262306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>; 38362306a36Sopenharmony_ci clock-names = "bus", "isp", "ram"; 38462306a36Sopenharmony_ci resets = <&ccu RST_CSI0>; 38562306a36Sopenharmony_ci status = "disabled"; 38662306a36Sopenharmony_ci }; 38762306a36Sopenharmony_ci 38862306a36Sopenharmony_ci emac: ethernet@1c0b000 { 38962306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-emac"; 39062306a36Sopenharmony_ci reg = <0x01c0b000 0x1000>; 39162306a36Sopenharmony_ci interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 39262306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_EMAC>; 39362306a36Sopenharmony_ci allwinner,sram = <&emac_sram 1>; 39462306a36Sopenharmony_ci status = "disabled"; 39562306a36Sopenharmony_ci }; 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ci mdio: mdio@1c0b080 { 39862306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-mdio"; 39962306a36Sopenharmony_ci reg = <0x01c0b080 0x14>; 40062306a36Sopenharmony_ci status = "disabled"; 40162306a36Sopenharmony_ci #address-cells = <1>; 40262306a36Sopenharmony_ci #size-cells = <0>; 40362306a36Sopenharmony_ci }; 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ci tcon0: lcd-controller@1c0c000 { 40662306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-tcon0", 40762306a36Sopenharmony_ci "allwinner,sun7i-a20-tcon"; 40862306a36Sopenharmony_ci reg = <0x01c0c000 0x1000>; 40962306a36Sopenharmony_ci interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 41062306a36Sopenharmony_ci resets = <&ccu RST_TCON0>, <&ccu RST_LVDS>; 41162306a36Sopenharmony_ci reset-names = "lcd", "lvds"; 41262306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_LCD0>, 41362306a36Sopenharmony_ci <&ccu CLK_TCON0_CH0>, 41462306a36Sopenharmony_ci <&ccu CLK_TCON0_CH1>; 41562306a36Sopenharmony_ci clock-names = "ahb", 41662306a36Sopenharmony_ci "tcon-ch0", 41762306a36Sopenharmony_ci "tcon-ch1"; 41862306a36Sopenharmony_ci clock-output-names = "tcon0-pixel-clock"; 41962306a36Sopenharmony_ci #clock-cells = <0>; 42062306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_DEDICATED 14>; 42162306a36Sopenharmony_ci 42262306a36Sopenharmony_ci ports { 42362306a36Sopenharmony_ci #address-cells = <1>; 42462306a36Sopenharmony_ci #size-cells = <0>; 42562306a36Sopenharmony_ci 42662306a36Sopenharmony_ci tcon0_in: port@0 { 42762306a36Sopenharmony_ci #address-cells = <1>; 42862306a36Sopenharmony_ci #size-cells = <0>; 42962306a36Sopenharmony_ci reg = <0>; 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ci tcon0_in_be0: endpoint@0 { 43262306a36Sopenharmony_ci reg = <0>; 43362306a36Sopenharmony_ci remote-endpoint = <&be0_out_tcon0>; 43462306a36Sopenharmony_ci }; 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ci tcon0_in_be1: endpoint@1 { 43762306a36Sopenharmony_ci reg = <1>; 43862306a36Sopenharmony_ci remote-endpoint = <&be1_out_tcon0>; 43962306a36Sopenharmony_ci }; 44062306a36Sopenharmony_ci }; 44162306a36Sopenharmony_ci 44262306a36Sopenharmony_ci tcon0_out: port@1 { 44362306a36Sopenharmony_ci #address-cells = <1>; 44462306a36Sopenharmony_ci #size-cells = <0>; 44562306a36Sopenharmony_ci reg = <1>; 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ci tcon0_out_hdmi: endpoint@1 { 44862306a36Sopenharmony_ci reg = <1>; 44962306a36Sopenharmony_ci remote-endpoint = <&hdmi_in_tcon0>; 45062306a36Sopenharmony_ci allwinner,tcon-channel = <1>; 45162306a36Sopenharmony_ci }; 45262306a36Sopenharmony_ci }; 45362306a36Sopenharmony_ci }; 45462306a36Sopenharmony_ci }; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci tcon1: lcd-controller@1c0d000 { 45762306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-tcon1", 45862306a36Sopenharmony_ci "allwinner,sun7i-a20-tcon"; 45962306a36Sopenharmony_ci reg = <0x01c0d000 0x1000>; 46062306a36Sopenharmony_ci interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 46162306a36Sopenharmony_ci resets = <&ccu RST_TCON1>; 46262306a36Sopenharmony_ci reset-names = "lcd"; 46362306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_LCD1>, 46462306a36Sopenharmony_ci <&ccu CLK_TCON1_CH0>, 46562306a36Sopenharmony_ci <&ccu CLK_TCON1_CH1>; 46662306a36Sopenharmony_ci clock-names = "ahb", 46762306a36Sopenharmony_ci "tcon-ch0", 46862306a36Sopenharmony_ci "tcon-ch1"; 46962306a36Sopenharmony_ci clock-output-names = "tcon1-pixel-clock"; 47062306a36Sopenharmony_ci #clock-cells = <0>; 47162306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_DEDICATED 15>; 47262306a36Sopenharmony_ci 47362306a36Sopenharmony_ci ports { 47462306a36Sopenharmony_ci #address-cells = <1>; 47562306a36Sopenharmony_ci #size-cells = <0>; 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ci tcon1_in: port@0 { 47862306a36Sopenharmony_ci #address-cells = <1>; 47962306a36Sopenharmony_ci #size-cells = <0>; 48062306a36Sopenharmony_ci reg = <0>; 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_ci tcon1_in_be0: endpoint@0 { 48362306a36Sopenharmony_ci reg = <0>; 48462306a36Sopenharmony_ci remote-endpoint = <&be0_out_tcon1>; 48562306a36Sopenharmony_ci }; 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci tcon1_in_be1: endpoint@1 { 48862306a36Sopenharmony_ci reg = <1>; 48962306a36Sopenharmony_ci remote-endpoint = <&be1_out_tcon1>; 49062306a36Sopenharmony_ci }; 49162306a36Sopenharmony_ci }; 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ci tcon1_out: port@1 { 49462306a36Sopenharmony_ci #address-cells = <1>; 49562306a36Sopenharmony_ci #size-cells = <0>; 49662306a36Sopenharmony_ci reg = <1>; 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_ci tcon1_out_hdmi: endpoint@1 { 49962306a36Sopenharmony_ci reg = <1>; 50062306a36Sopenharmony_ci remote-endpoint = <&hdmi_in_tcon1>; 50162306a36Sopenharmony_ci allwinner,tcon-channel = <1>; 50262306a36Sopenharmony_ci }; 50362306a36Sopenharmony_ci }; 50462306a36Sopenharmony_ci }; 50562306a36Sopenharmony_ci }; 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_ci video-codec@1c0e000 { 50862306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-video-engine"; 50962306a36Sopenharmony_ci reg = <0x01c0e000 0x1000>; 51062306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>, 51162306a36Sopenharmony_ci <&ccu CLK_DRAM_VE>; 51262306a36Sopenharmony_ci clock-names = "ahb", "mod", "ram"; 51362306a36Sopenharmony_ci resets = <&ccu RST_VE>; 51462306a36Sopenharmony_ci interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 51562306a36Sopenharmony_ci allwinner,sram = <&ve_sram 1>; 51662306a36Sopenharmony_ci }; 51762306a36Sopenharmony_ci 51862306a36Sopenharmony_ci mmc0: mmc@1c0f000 { 51962306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-mmc"; 52062306a36Sopenharmony_ci reg = <0x01c0f000 0x1000>; 52162306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_MMC0>, 52262306a36Sopenharmony_ci <&ccu CLK_MMC0>, 52362306a36Sopenharmony_ci <&ccu CLK_MMC0_OUTPUT>, 52462306a36Sopenharmony_ci <&ccu CLK_MMC0_SAMPLE>; 52562306a36Sopenharmony_ci clock-names = "ahb", 52662306a36Sopenharmony_ci "mmc", 52762306a36Sopenharmony_ci "output", 52862306a36Sopenharmony_ci "sample"; 52962306a36Sopenharmony_ci interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 53062306a36Sopenharmony_ci pinctrl-names = "default"; 53162306a36Sopenharmony_ci pinctrl-0 = <&mmc0_pins>; 53262306a36Sopenharmony_ci status = "disabled"; 53362306a36Sopenharmony_ci #address-cells = <1>; 53462306a36Sopenharmony_ci #size-cells = <0>; 53562306a36Sopenharmony_ci }; 53662306a36Sopenharmony_ci 53762306a36Sopenharmony_ci mmc1: mmc@1c10000 { 53862306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-mmc"; 53962306a36Sopenharmony_ci reg = <0x01c10000 0x1000>; 54062306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_MMC1>, 54162306a36Sopenharmony_ci <&ccu CLK_MMC1>, 54262306a36Sopenharmony_ci <&ccu CLK_MMC1_OUTPUT>, 54362306a36Sopenharmony_ci <&ccu CLK_MMC1_SAMPLE>; 54462306a36Sopenharmony_ci clock-names = "ahb", 54562306a36Sopenharmony_ci "mmc", 54662306a36Sopenharmony_ci "output", 54762306a36Sopenharmony_ci "sample"; 54862306a36Sopenharmony_ci interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 54962306a36Sopenharmony_ci status = "disabled"; 55062306a36Sopenharmony_ci #address-cells = <1>; 55162306a36Sopenharmony_ci #size-cells = <0>; 55262306a36Sopenharmony_ci }; 55362306a36Sopenharmony_ci 55462306a36Sopenharmony_ci mmc2: mmc@1c11000 { 55562306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-mmc"; 55662306a36Sopenharmony_ci reg = <0x01c11000 0x1000>; 55762306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_MMC2>, 55862306a36Sopenharmony_ci <&ccu CLK_MMC2>, 55962306a36Sopenharmony_ci <&ccu CLK_MMC2_OUTPUT>, 56062306a36Sopenharmony_ci <&ccu CLK_MMC2_SAMPLE>; 56162306a36Sopenharmony_ci clock-names = "ahb", 56262306a36Sopenharmony_ci "mmc", 56362306a36Sopenharmony_ci "output", 56462306a36Sopenharmony_ci "sample"; 56562306a36Sopenharmony_ci interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 56662306a36Sopenharmony_ci pinctrl-names = "default"; 56762306a36Sopenharmony_ci pinctrl-0 = <&mmc2_pins>; 56862306a36Sopenharmony_ci status = "disabled"; 56962306a36Sopenharmony_ci #address-cells = <1>; 57062306a36Sopenharmony_ci #size-cells = <0>; 57162306a36Sopenharmony_ci }; 57262306a36Sopenharmony_ci 57362306a36Sopenharmony_ci mmc3: mmc@1c12000 { 57462306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-mmc"; 57562306a36Sopenharmony_ci reg = <0x01c12000 0x1000>; 57662306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_MMC3>, 57762306a36Sopenharmony_ci <&ccu CLK_MMC3>, 57862306a36Sopenharmony_ci <&ccu CLK_MMC3_OUTPUT>, 57962306a36Sopenharmony_ci <&ccu CLK_MMC3_SAMPLE>; 58062306a36Sopenharmony_ci clock-names = "ahb", 58162306a36Sopenharmony_ci "mmc", 58262306a36Sopenharmony_ci "output", 58362306a36Sopenharmony_ci "sample"; 58462306a36Sopenharmony_ci interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 58562306a36Sopenharmony_ci pinctrl-names = "default"; 58662306a36Sopenharmony_ci pinctrl-0 = <&mmc3_pins>; 58762306a36Sopenharmony_ci status = "disabled"; 58862306a36Sopenharmony_ci #address-cells = <1>; 58962306a36Sopenharmony_ci #size-cells = <0>; 59062306a36Sopenharmony_ci }; 59162306a36Sopenharmony_ci 59262306a36Sopenharmony_ci usb_otg: usb@1c13000 { 59362306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-musb"; 59462306a36Sopenharmony_ci reg = <0x01c13000 0x0400>; 59562306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_OTG>; 59662306a36Sopenharmony_ci interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 59762306a36Sopenharmony_ci interrupt-names = "mc"; 59862306a36Sopenharmony_ci phys = <&usbphy 0>; 59962306a36Sopenharmony_ci phy-names = "usb"; 60062306a36Sopenharmony_ci extcon = <&usbphy 0>; 60162306a36Sopenharmony_ci allwinner,sram = <&otg_sram 1>; 60262306a36Sopenharmony_ci dr_mode = "otg"; 60362306a36Sopenharmony_ci status = "disabled"; 60462306a36Sopenharmony_ci }; 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ci usbphy: phy@1c13400 { 60762306a36Sopenharmony_ci #phy-cells = <1>; 60862306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-usb-phy"; 60962306a36Sopenharmony_ci reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>; 61062306a36Sopenharmony_ci reg-names = "phy_ctrl", "pmu1", "pmu2"; 61162306a36Sopenharmony_ci clocks = <&ccu CLK_USB_PHY>; 61262306a36Sopenharmony_ci clock-names = "usb_phy"; 61362306a36Sopenharmony_ci resets = <&ccu RST_USB_PHY0>, 61462306a36Sopenharmony_ci <&ccu RST_USB_PHY1>, 61562306a36Sopenharmony_ci <&ccu RST_USB_PHY2>; 61662306a36Sopenharmony_ci reset-names = "usb0_reset", "usb1_reset", "usb2_reset"; 61762306a36Sopenharmony_ci status = "disabled"; 61862306a36Sopenharmony_ci }; 61962306a36Sopenharmony_ci 62062306a36Sopenharmony_ci ehci0: usb@1c14000 { 62162306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; 62262306a36Sopenharmony_ci reg = <0x01c14000 0x100>; 62362306a36Sopenharmony_ci interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 62462306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_EHCI0>; 62562306a36Sopenharmony_ci phys = <&usbphy 1>; 62662306a36Sopenharmony_ci phy-names = "usb"; 62762306a36Sopenharmony_ci status = "disabled"; 62862306a36Sopenharmony_ci }; 62962306a36Sopenharmony_ci 63062306a36Sopenharmony_ci ohci0: usb@1c14400 { 63162306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; 63262306a36Sopenharmony_ci reg = <0x01c14400 0x100>; 63362306a36Sopenharmony_ci interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 63462306a36Sopenharmony_ci clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>; 63562306a36Sopenharmony_ci phys = <&usbphy 1>; 63662306a36Sopenharmony_ci phy-names = "usb"; 63762306a36Sopenharmony_ci status = "disabled"; 63862306a36Sopenharmony_ci }; 63962306a36Sopenharmony_ci 64062306a36Sopenharmony_ci crypto: crypto-engine@1c15000 { 64162306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-crypto", 64262306a36Sopenharmony_ci "allwinner,sun4i-a10-crypto"; 64362306a36Sopenharmony_ci reg = <0x01c15000 0x1000>; 64462306a36Sopenharmony_ci interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 64562306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>; 64662306a36Sopenharmony_ci clock-names = "ahb", "mod"; 64762306a36Sopenharmony_ci }; 64862306a36Sopenharmony_ci 64962306a36Sopenharmony_ci hdmi: hdmi@1c16000 { 65062306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-hdmi", 65162306a36Sopenharmony_ci "allwinner,sun5i-a10s-hdmi"; 65262306a36Sopenharmony_ci reg = <0x01c16000 0x1000>; 65362306a36Sopenharmony_ci interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 65462306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>, 65562306a36Sopenharmony_ci <&ccu CLK_PLL_VIDEO0_2X>, 65662306a36Sopenharmony_ci <&ccu CLK_PLL_VIDEO1_2X>; 65762306a36Sopenharmony_ci clock-names = "ahb", "mod", "pll-0", "pll-1"; 65862306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_NORMAL 16>, 65962306a36Sopenharmony_ci <&dma SUN4I_DMA_NORMAL 16>, 66062306a36Sopenharmony_ci <&dma SUN4I_DMA_DEDICATED 24>; 66162306a36Sopenharmony_ci dma-names = "ddc-tx", "ddc-rx", "audio-tx"; 66262306a36Sopenharmony_ci status = "disabled"; 66362306a36Sopenharmony_ci 66462306a36Sopenharmony_ci ports { 66562306a36Sopenharmony_ci #address-cells = <1>; 66662306a36Sopenharmony_ci #size-cells = <0>; 66762306a36Sopenharmony_ci 66862306a36Sopenharmony_ci hdmi_in: port@0 { 66962306a36Sopenharmony_ci #address-cells = <1>; 67062306a36Sopenharmony_ci #size-cells = <0>; 67162306a36Sopenharmony_ci reg = <0>; 67262306a36Sopenharmony_ci 67362306a36Sopenharmony_ci hdmi_in_tcon0: endpoint@0 { 67462306a36Sopenharmony_ci reg = <0>; 67562306a36Sopenharmony_ci remote-endpoint = <&tcon0_out_hdmi>; 67662306a36Sopenharmony_ci }; 67762306a36Sopenharmony_ci 67862306a36Sopenharmony_ci hdmi_in_tcon1: endpoint@1 { 67962306a36Sopenharmony_ci reg = <1>; 68062306a36Sopenharmony_ci remote-endpoint = <&tcon1_out_hdmi>; 68162306a36Sopenharmony_ci }; 68262306a36Sopenharmony_ci }; 68362306a36Sopenharmony_ci 68462306a36Sopenharmony_ci hdmi_out: port@1 { 68562306a36Sopenharmony_ci reg = <1>; 68662306a36Sopenharmony_ci }; 68762306a36Sopenharmony_ci }; 68862306a36Sopenharmony_ci }; 68962306a36Sopenharmony_ci 69062306a36Sopenharmony_ci spi2: spi@1c17000 { 69162306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-spi"; 69262306a36Sopenharmony_ci reg = <0x01c17000 0x1000>; 69362306a36Sopenharmony_ci interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 69462306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>; 69562306a36Sopenharmony_ci clock-names = "ahb", "mod"; 69662306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_DEDICATED 29>, 69762306a36Sopenharmony_ci <&dma SUN4I_DMA_DEDICATED 28>; 69862306a36Sopenharmony_ci dma-names = "rx", "tx"; 69962306a36Sopenharmony_ci status = "disabled"; 70062306a36Sopenharmony_ci #address-cells = <1>; 70162306a36Sopenharmony_ci #size-cells = <0>; 70262306a36Sopenharmony_ci num-cs = <1>; 70362306a36Sopenharmony_ci }; 70462306a36Sopenharmony_ci 70562306a36Sopenharmony_ci ahci: sata@1c18000 { 70662306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-ahci"; 70762306a36Sopenharmony_ci reg = <0x01c18000 0x1000>; 70862306a36Sopenharmony_ci interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 70962306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>; 71062306a36Sopenharmony_ci status = "disabled"; 71162306a36Sopenharmony_ci }; 71262306a36Sopenharmony_ci 71362306a36Sopenharmony_ci ehci1: usb@1c1c000 { 71462306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; 71562306a36Sopenharmony_ci reg = <0x01c1c000 0x100>; 71662306a36Sopenharmony_ci interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 71762306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_EHCI1>; 71862306a36Sopenharmony_ci phys = <&usbphy 2>; 71962306a36Sopenharmony_ci phy-names = "usb"; 72062306a36Sopenharmony_ci status = "disabled"; 72162306a36Sopenharmony_ci }; 72262306a36Sopenharmony_ci 72362306a36Sopenharmony_ci ohci1: usb@1c1c400 { 72462306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; 72562306a36Sopenharmony_ci reg = <0x01c1c400 0x100>; 72662306a36Sopenharmony_ci interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 72762306a36Sopenharmony_ci clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>; 72862306a36Sopenharmony_ci phys = <&usbphy 2>; 72962306a36Sopenharmony_ci phy-names = "usb"; 73062306a36Sopenharmony_ci status = "disabled"; 73162306a36Sopenharmony_ci }; 73262306a36Sopenharmony_ci 73362306a36Sopenharmony_ci csi1: csi@1c1d000 { 73462306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-csi1", 73562306a36Sopenharmony_ci "allwinner,sun4i-a10-csi1"; 73662306a36Sopenharmony_ci reg = <0x01c1d000 0x1000>; 73762306a36Sopenharmony_ci interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 73862306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>; 73962306a36Sopenharmony_ci clock-names = "bus", "ram"; 74062306a36Sopenharmony_ci resets = <&ccu RST_CSI1>; 74162306a36Sopenharmony_ci status = "disabled"; 74262306a36Sopenharmony_ci }; 74362306a36Sopenharmony_ci 74462306a36Sopenharmony_ci spi3: spi@1c1f000 { 74562306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-spi"; 74662306a36Sopenharmony_ci reg = <0x01c1f000 0x1000>; 74762306a36Sopenharmony_ci interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 74862306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>; 74962306a36Sopenharmony_ci clock-names = "ahb", "mod"; 75062306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_DEDICATED 31>, 75162306a36Sopenharmony_ci <&dma SUN4I_DMA_DEDICATED 30>; 75262306a36Sopenharmony_ci dma-names = "rx", "tx"; 75362306a36Sopenharmony_ci status = "disabled"; 75462306a36Sopenharmony_ci #address-cells = <1>; 75562306a36Sopenharmony_ci #size-cells = <0>; 75662306a36Sopenharmony_ci num-cs = <1>; 75762306a36Sopenharmony_ci }; 75862306a36Sopenharmony_ci 75962306a36Sopenharmony_ci ccu: clock@1c20000 { 76062306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-ccu"; 76162306a36Sopenharmony_ci reg = <0x01c20000 0x400>; 76262306a36Sopenharmony_ci clocks = <&osc24M>, <&osc32k>; 76362306a36Sopenharmony_ci clock-names = "hosc", "losc"; 76462306a36Sopenharmony_ci #clock-cells = <1>; 76562306a36Sopenharmony_ci #reset-cells = <1>; 76662306a36Sopenharmony_ci }; 76762306a36Sopenharmony_ci 76862306a36Sopenharmony_ci pio: pinctrl@1c20800 { 76962306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-pinctrl"; 77062306a36Sopenharmony_ci reg = <0x01c20800 0x400>; 77162306a36Sopenharmony_ci interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 77262306a36Sopenharmony_ci clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; 77362306a36Sopenharmony_ci clock-names = "apb", "hosc", "losc"; 77462306a36Sopenharmony_ci gpio-controller; 77562306a36Sopenharmony_ci interrupt-controller; 77662306a36Sopenharmony_ci #interrupt-cells = <3>; 77762306a36Sopenharmony_ci #gpio-cells = <3>; 77862306a36Sopenharmony_ci 77962306a36Sopenharmony_ci /omit-if-no-ref/ 78062306a36Sopenharmony_ci can_pa_pins: can-pa-pins { 78162306a36Sopenharmony_ci pins = "PA16", "PA17"; 78262306a36Sopenharmony_ci function = "can"; 78362306a36Sopenharmony_ci }; 78462306a36Sopenharmony_ci 78562306a36Sopenharmony_ci /omit-if-no-ref/ 78662306a36Sopenharmony_ci can_ph_pins: can-ph-pins { 78762306a36Sopenharmony_ci pins = "PH20", "PH21"; 78862306a36Sopenharmony_ci function = "can"; 78962306a36Sopenharmony_ci }; 79062306a36Sopenharmony_ci 79162306a36Sopenharmony_ci /omit-if-no-ref/ 79262306a36Sopenharmony_ci clk_out_a_pin: clk-out-a-pin { 79362306a36Sopenharmony_ci pins = "PI12"; 79462306a36Sopenharmony_ci function = "clk_out_a"; 79562306a36Sopenharmony_ci }; 79662306a36Sopenharmony_ci 79762306a36Sopenharmony_ci /omit-if-no-ref/ 79862306a36Sopenharmony_ci clk_out_b_pin: clk-out-b-pin { 79962306a36Sopenharmony_ci pins = "PI13"; 80062306a36Sopenharmony_ci function = "clk_out_b"; 80162306a36Sopenharmony_ci }; 80262306a36Sopenharmony_ci 80362306a36Sopenharmony_ci /omit-if-no-ref/ 80462306a36Sopenharmony_ci csi0_8bits_pins: csi-8bits-pins { 80562306a36Sopenharmony_ci pins = "PE0", "PE2", "PE3", "PE4", "PE5", 80662306a36Sopenharmony_ci "PE6", "PE7", "PE8", "PE9", "PE10", 80762306a36Sopenharmony_ci "PE11"; 80862306a36Sopenharmony_ci function = "csi0"; 80962306a36Sopenharmony_ci }; 81062306a36Sopenharmony_ci 81162306a36Sopenharmony_ci /omit-if-no-ref/ 81262306a36Sopenharmony_ci csi0_clk_pin: csi-clk-pin { 81362306a36Sopenharmony_ci pins = "PE1"; 81462306a36Sopenharmony_ci function = "csi0"; 81562306a36Sopenharmony_ci }; 81662306a36Sopenharmony_ci 81762306a36Sopenharmony_ci /omit-if-no-ref/ 81862306a36Sopenharmony_ci csi1_8bits_pg_pins: csi1-8bits-pg-pins { 81962306a36Sopenharmony_ci pins = "PG0", "PG2", "PG3", "PG4", "PG5", 82062306a36Sopenharmony_ci "PG6", "PG7", "PG8", "PG9", "PG10", 82162306a36Sopenharmony_ci "PG11"; 82262306a36Sopenharmony_ci function = "csi1"; 82362306a36Sopenharmony_ci }; 82462306a36Sopenharmony_ci 82562306a36Sopenharmony_ci /omit-if-no-ref/ 82662306a36Sopenharmony_ci csi1_24bits_ph_pins: csi1-24bits-ph-pins { 82762306a36Sopenharmony_ci pins = "PH0", "PH1", "PH2", "PH3", "PH4", 82862306a36Sopenharmony_ci "PH5", "PH6", "PH7", "PH8", "PH9", 82962306a36Sopenharmony_ci "PH10", "PH11", "PH12", "PH13", "PH14", 83062306a36Sopenharmony_ci "PH15", "PH16", "PH17", "PH18", "PH19", 83162306a36Sopenharmony_ci "PH20", "PH21", "PH22", "PH23", "PH24", 83262306a36Sopenharmony_ci "PH25", "PH26", "PH27"; 83362306a36Sopenharmony_ci function = "csi1"; 83462306a36Sopenharmony_ci }; 83562306a36Sopenharmony_ci 83662306a36Sopenharmony_ci /omit-if-no-ref/ 83762306a36Sopenharmony_ci csi1_clk_pg_pin: csi1-clk-pg-pin { 83862306a36Sopenharmony_ci pins = "PG1"; 83962306a36Sopenharmony_ci function = "csi1"; 84062306a36Sopenharmony_ci }; 84162306a36Sopenharmony_ci 84262306a36Sopenharmony_ci /omit-if-no-ref/ 84362306a36Sopenharmony_ci emac_pa_pins: emac-pa-pins { 84462306a36Sopenharmony_ci pins = "PA0", "PA1", "PA2", 84562306a36Sopenharmony_ci "PA3", "PA4", "PA5", "PA6", 84662306a36Sopenharmony_ci "PA7", "PA8", "PA9", "PA10", 84762306a36Sopenharmony_ci "PA11", "PA12", "PA13", "PA14", 84862306a36Sopenharmony_ci "PA15", "PA16"; 84962306a36Sopenharmony_ci function = "emac"; 85062306a36Sopenharmony_ci }; 85162306a36Sopenharmony_ci 85262306a36Sopenharmony_ci /omit-if-no-ref/ 85362306a36Sopenharmony_ci emac_ph_pins: emac-ph-pins { 85462306a36Sopenharmony_ci pins = "PH8", "PH9", "PH10", "PH11", 85562306a36Sopenharmony_ci "PH14", "PH15", "PH16", "PH17", 85662306a36Sopenharmony_ci "PH18", "PH19", "PH20", "PH21", 85762306a36Sopenharmony_ci "PH22", "PH23", "PH24", "PH25", 85862306a36Sopenharmony_ci "PH26"; 85962306a36Sopenharmony_ci function = "emac"; 86062306a36Sopenharmony_ci }; 86162306a36Sopenharmony_ci 86262306a36Sopenharmony_ci /omit-if-no-ref/ 86362306a36Sopenharmony_ci gmac_mii_pins: gmac-mii-pins { 86462306a36Sopenharmony_ci pins = "PA0", "PA1", "PA2", 86562306a36Sopenharmony_ci "PA3", "PA4", "PA5", "PA6", 86662306a36Sopenharmony_ci "PA7", "PA8", "PA9", "PA10", 86762306a36Sopenharmony_ci "PA11", "PA12", "PA13", "PA14", 86862306a36Sopenharmony_ci "PA15", "PA16"; 86962306a36Sopenharmony_ci function = "gmac"; 87062306a36Sopenharmony_ci }; 87162306a36Sopenharmony_ci 87262306a36Sopenharmony_ci /omit-if-no-ref/ 87362306a36Sopenharmony_ci gmac_rgmii_pins: gmac-rgmii-pins { 87462306a36Sopenharmony_ci pins = "PA0", "PA1", "PA2", 87562306a36Sopenharmony_ci "PA3", "PA4", "PA5", "PA6", 87662306a36Sopenharmony_ci "PA7", "PA8", "PA10", 87762306a36Sopenharmony_ci "PA11", "PA12", "PA13", 87862306a36Sopenharmony_ci "PA15", "PA16"; 87962306a36Sopenharmony_ci function = "gmac"; 88062306a36Sopenharmony_ci /* 88162306a36Sopenharmony_ci * data lines in RGMII mode use DDR mode 88262306a36Sopenharmony_ci * and need a higher signal drive strength 88362306a36Sopenharmony_ci */ 88462306a36Sopenharmony_ci drive-strength = <40>; 88562306a36Sopenharmony_ci }; 88662306a36Sopenharmony_ci 88762306a36Sopenharmony_ci /omit-if-no-ref/ 88862306a36Sopenharmony_ci i2c0_pins: i2c0-pins { 88962306a36Sopenharmony_ci pins = "PB0", "PB1"; 89062306a36Sopenharmony_ci function = "i2c0"; 89162306a36Sopenharmony_ci }; 89262306a36Sopenharmony_ci 89362306a36Sopenharmony_ci /omit-if-no-ref/ 89462306a36Sopenharmony_ci i2c1_pins: i2c1-pins { 89562306a36Sopenharmony_ci pins = "PB18", "PB19"; 89662306a36Sopenharmony_ci function = "i2c1"; 89762306a36Sopenharmony_ci }; 89862306a36Sopenharmony_ci 89962306a36Sopenharmony_ci /omit-if-no-ref/ 90062306a36Sopenharmony_ci i2c2_pins: i2c2-pins { 90162306a36Sopenharmony_ci pins = "PB20", "PB21"; 90262306a36Sopenharmony_ci function = "i2c2"; 90362306a36Sopenharmony_ci }; 90462306a36Sopenharmony_ci 90562306a36Sopenharmony_ci /omit-if-no-ref/ 90662306a36Sopenharmony_ci i2c3_pins: i2c3-pins { 90762306a36Sopenharmony_ci pins = "PI0", "PI1"; 90862306a36Sopenharmony_ci function = "i2c3"; 90962306a36Sopenharmony_ci }; 91062306a36Sopenharmony_ci 91162306a36Sopenharmony_ci /omit-if-no-ref/ 91262306a36Sopenharmony_ci ir0_rx_pin: ir0-rx-pin { 91362306a36Sopenharmony_ci pins = "PB4"; 91462306a36Sopenharmony_ci function = "ir0"; 91562306a36Sopenharmony_ci }; 91662306a36Sopenharmony_ci 91762306a36Sopenharmony_ci /omit-if-no-ref/ 91862306a36Sopenharmony_ci ir0_tx_pin: ir0-tx-pin { 91962306a36Sopenharmony_ci pins = "PB3"; 92062306a36Sopenharmony_ci function = "ir0"; 92162306a36Sopenharmony_ci }; 92262306a36Sopenharmony_ci 92362306a36Sopenharmony_ci /omit-if-no-ref/ 92462306a36Sopenharmony_ci ir1_rx_pin: ir1-rx-pin { 92562306a36Sopenharmony_ci pins = "PB23"; 92662306a36Sopenharmony_ci function = "ir1"; 92762306a36Sopenharmony_ci }; 92862306a36Sopenharmony_ci 92962306a36Sopenharmony_ci /omit-if-no-ref/ 93062306a36Sopenharmony_ci ir1_tx_pin: ir1-tx-pin { 93162306a36Sopenharmony_ci pins = "PB22"; 93262306a36Sopenharmony_ci function = "ir1"; 93362306a36Sopenharmony_ci }; 93462306a36Sopenharmony_ci 93562306a36Sopenharmony_ci /omit-if-no-ref/ 93662306a36Sopenharmony_ci lcd_lvds0_pins: lcd-lvds0-pins { 93762306a36Sopenharmony_ci pins = "PD0", "PD1", "PD2", "PD3", "PD4", 93862306a36Sopenharmony_ci "PD5", "PD6", "PD7", "PD8", "PD9"; 93962306a36Sopenharmony_ci function = "lvds0"; 94062306a36Sopenharmony_ci }; 94162306a36Sopenharmony_ci 94262306a36Sopenharmony_ci /omit-if-no-ref/ 94362306a36Sopenharmony_ci lcd_lvds1_pins: lcd-lvds1-pins { 94462306a36Sopenharmony_ci pins = "PD10", "PD11", "PD12", "PD13", "PD14", 94562306a36Sopenharmony_ci "PD15", "PD16", "PD17", "PD18", "PD19"; 94662306a36Sopenharmony_ci function = "lvds1"; 94762306a36Sopenharmony_ci }; 94862306a36Sopenharmony_ci 94962306a36Sopenharmony_ci /omit-if-no-ref/ 95062306a36Sopenharmony_ci mmc0_pins: mmc0-pins { 95162306a36Sopenharmony_ci pins = "PF0", "PF1", "PF2", 95262306a36Sopenharmony_ci "PF3", "PF4", "PF5"; 95362306a36Sopenharmony_ci function = "mmc0"; 95462306a36Sopenharmony_ci drive-strength = <30>; 95562306a36Sopenharmony_ci bias-pull-up; 95662306a36Sopenharmony_ci }; 95762306a36Sopenharmony_ci 95862306a36Sopenharmony_ci /omit-if-no-ref/ 95962306a36Sopenharmony_ci mmc2_pins: mmc2-pins { 96062306a36Sopenharmony_ci pins = "PC6", "PC7", "PC8", 96162306a36Sopenharmony_ci "PC9", "PC10", "PC11"; 96262306a36Sopenharmony_ci function = "mmc2"; 96362306a36Sopenharmony_ci drive-strength = <30>; 96462306a36Sopenharmony_ci bias-pull-up; 96562306a36Sopenharmony_ci }; 96662306a36Sopenharmony_ci 96762306a36Sopenharmony_ci /omit-if-no-ref/ 96862306a36Sopenharmony_ci mmc3_pins: mmc3-pins { 96962306a36Sopenharmony_ci pins = "PI4", "PI5", "PI6", 97062306a36Sopenharmony_ci "PI7", "PI8", "PI9"; 97162306a36Sopenharmony_ci function = "mmc3"; 97262306a36Sopenharmony_ci drive-strength = <30>; 97362306a36Sopenharmony_ci bias-pull-up; 97462306a36Sopenharmony_ci }; 97562306a36Sopenharmony_ci 97662306a36Sopenharmony_ci /omit-if-no-ref/ 97762306a36Sopenharmony_ci ps2_0_pins: ps2-0-pins { 97862306a36Sopenharmony_ci pins = "PI20", "PI21"; 97962306a36Sopenharmony_ci function = "ps2"; 98062306a36Sopenharmony_ci }; 98162306a36Sopenharmony_ci 98262306a36Sopenharmony_ci /omit-if-no-ref/ 98362306a36Sopenharmony_ci ps2_1_ph_pins: ps2-1-ph-pins { 98462306a36Sopenharmony_ci pins = "PH12", "PH13"; 98562306a36Sopenharmony_ci function = "ps2"; 98662306a36Sopenharmony_ci }; 98762306a36Sopenharmony_ci 98862306a36Sopenharmony_ci /omit-if-no-ref/ 98962306a36Sopenharmony_ci pwm0_pin: pwm0-pin { 99062306a36Sopenharmony_ci pins = "PB2"; 99162306a36Sopenharmony_ci function = "pwm"; 99262306a36Sopenharmony_ci }; 99362306a36Sopenharmony_ci 99462306a36Sopenharmony_ci /omit-if-no-ref/ 99562306a36Sopenharmony_ci pwm1_pin: pwm1-pin { 99662306a36Sopenharmony_ci pins = "PI3"; 99762306a36Sopenharmony_ci function = "pwm"; 99862306a36Sopenharmony_ci }; 99962306a36Sopenharmony_ci 100062306a36Sopenharmony_ci /omit-if-no-ref/ 100162306a36Sopenharmony_ci spdif_tx_pin: spdif-tx-pin { 100262306a36Sopenharmony_ci pins = "PB13"; 100362306a36Sopenharmony_ci function = "spdif"; 100462306a36Sopenharmony_ci bias-pull-up; 100562306a36Sopenharmony_ci }; 100662306a36Sopenharmony_ci 100762306a36Sopenharmony_ci /omit-if-no-ref/ 100862306a36Sopenharmony_ci spi0_pi_pins: spi0-pi-pins { 100962306a36Sopenharmony_ci pins = "PI11", "PI12", "PI13"; 101062306a36Sopenharmony_ci function = "spi0"; 101162306a36Sopenharmony_ci }; 101262306a36Sopenharmony_ci 101362306a36Sopenharmony_ci /omit-if-no-ref/ 101462306a36Sopenharmony_ci spi0_cs0_pi_pin: spi0-cs0-pi-pin { 101562306a36Sopenharmony_ci pins = "PI10"; 101662306a36Sopenharmony_ci function = "spi0"; 101762306a36Sopenharmony_ci }; 101862306a36Sopenharmony_ci 101962306a36Sopenharmony_ci /omit-if-no-ref/ 102062306a36Sopenharmony_ci spi0_cs1_pi_pin: spi0-cs1-pi-pin { 102162306a36Sopenharmony_ci pins = "PI14"; 102262306a36Sopenharmony_ci function = "spi0"; 102362306a36Sopenharmony_ci }; 102462306a36Sopenharmony_ci 102562306a36Sopenharmony_ci /omit-if-no-ref/ 102662306a36Sopenharmony_ci spi1_pi_pins: spi1-pi-pins { 102762306a36Sopenharmony_ci pins = "PI17", "PI18", "PI19"; 102862306a36Sopenharmony_ci function = "spi1"; 102962306a36Sopenharmony_ci }; 103062306a36Sopenharmony_ci 103162306a36Sopenharmony_ci /omit-if-no-ref/ 103262306a36Sopenharmony_ci spi1_cs0_pi_pin: spi1-cs0-pi-pin { 103362306a36Sopenharmony_ci pins = "PI16"; 103462306a36Sopenharmony_ci function = "spi1"; 103562306a36Sopenharmony_ci }; 103662306a36Sopenharmony_ci 103762306a36Sopenharmony_ci /omit-if-no-ref/ 103862306a36Sopenharmony_ci spi2_pb_pins: spi2-pb-pins { 103962306a36Sopenharmony_ci pins = "PB15", "PB16", "PB17"; 104062306a36Sopenharmony_ci function = "spi2"; 104162306a36Sopenharmony_ci }; 104262306a36Sopenharmony_ci 104362306a36Sopenharmony_ci /omit-if-no-ref/ 104462306a36Sopenharmony_ci spi2_cs0_pb_pin: spi2-cs0-pb-pin { 104562306a36Sopenharmony_ci pins = "PB14"; 104662306a36Sopenharmony_ci function = "spi2"; 104762306a36Sopenharmony_ci }; 104862306a36Sopenharmony_ci 104962306a36Sopenharmony_ci /omit-if-no-ref/ 105062306a36Sopenharmony_ci spi2_pc_pins: spi2-pc-pins { 105162306a36Sopenharmony_ci pins = "PC20", "PC21", "PC22"; 105262306a36Sopenharmony_ci function = "spi2"; 105362306a36Sopenharmony_ci }; 105462306a36Sopenharmony_ci 105562306a36Sopenharmony_ci /omit-if-no-ref/ 105662306a36Sopenharmony_ci spi2_cs0_pc_pin: spi2-cs0-pc-pin { 105762306a36Sopenharmony_ci pins = "PC19"; 105862306a36Sopenharmony_ci function = "spi2"; 105962306a36Sopenharmony_ci }; 106062306a36Sopenharmony_ci 106162306a36Sopenharmony_ci /omit-if-no-ref/ 106262306a36Sopenharmony_ci uart0_pb_pins: uart0-pb-pins { 106362306a36Sopenharmony_ci pins = "PB22", "PB23"; 106462306a36Sopenharmony_ci function = "uart0"; 106562306a36Sopenharmony_ci }; 106662306a36Sopenharmony_ci 106762306a36Sopenharmony_ci /omit-if-no-ref/ 106862306a36Sopenharmony_ci uart0_pf_pins: uart0-pf-pins { 106962306a36Sopenharmony_ci pins = "PF2", "PF4"; 107062306a36Sopenharmony_ci function = "uart0"; 107162306a36Sopenharmony_ci }; 107262306a36Sopenharmony_ci 107362306a36Sopenharmony_ci /omit-if-no-ref/ 107462306a36Sopenharmony_ci uart1_pa_pins: uart1-pa-pins { 107562306a36Sopenharmony_ci pins = "PA10", "PA11"; 107662306a36Sopenharmony_ci function = "uart1"; 107762306a36Sopenharmony_ci }; 107862306a36Sopenharmony_ci 107962306a36Sopenharmony_ci /omit-if-no-ref/ 108062306a36Sopenharmony_ci uart1_cts_rts_pa_pins: uart1-cts-rts-pa-pins { 108162306a36Sopenharmony_ci pins = "PA12", "PA13"; 108262306a36Sopenharmony_ci function = "uart1"; 108362306a36Sopenharmony_ci }; 108462306a36Sopenharmony_ci 108562306a36Sopenharmony_ci /omit-if-no-ref/ 108662306a36Sopenharmony_ci uart2_pa_pins: uart2-pa-pins { 108762306a36Sopenharmony_ci pins = "PA2", "PA3"; 108862306a36Sopenharmony_ci function = "uart2"; 108962306a36Sopenharmony_ci }; 109062306a36Sopenharmony_ci 109162306a36Sopenharmony_ci /omit-if-no-ref/ 109262306a36Sopenharmony_ci uart2_cts_rts_pa_pins: uart2-cts-rts-pa-pins { 109362306a36Sopenharmony_ci pins = "PA0", "PA1"; 109462306a36Sopenharmony_ci function = "uart2"; 109562306a36Sopenharmony_ci }; 109662306a36Sopenharmony_ci 109762306a36Sopenharmony_ci /omit-if-no-ref/ 109862306a36Sopenharmony_ci uart2_pi_pins: uart2-pi-pins { 109962306a36Sopenharmony_ci pins = "PI18", "PI19"; 110062306a36Sopenharmony_ci function = "uart2"; 110162306a36Sopenharmony_ci }; 110262306a36Sopenharmony_ci 110362306a36Sopenharmony_ci /omit-if-no-ref/ 110462306a36Sopenharmony_ci uart2_cts_rts_pi_pins: uart2-cts-rts-pi-pins { 110562306a36Sopenharmony_ci pins = "PI16", "PI17"; 110662306a36Sopenharmony_ci function = "uart2"; 110762306a36Sopenharmony_ci }; 110862306a36Sopenharmony_ci 110962306a36Sopenharmony_ci /omit-if-no-ref/ 111062306a36Sopenharmony_ci uart3_pg_pins: uart3-pg-pins { 111162306a36Sopenharmony_ci pins = "PG6", "PG7"; 111262306a36Sopenharmony_ci function = "uart3"; 111362306a36Sopenharmony_ci }; 111462306a36Sopenharmony_ci 111562306a36Sopenharmony_ci /omit-if-no-ref/ 111662306a36Sopenharmony_ci uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins { 111762306a36Sopenharmony_ci pins = "PG8", "PG9"; 111862306a36Sopenharmony_ci function = "uart3"; 111962306a36Sopenharmony_ci }; 112062306a36Sopenharmony_ci 112162306a36Sopenharmony_ci /omit-if-no-ref/ 112262306a36Sopenharmony_ci uart3_ph_pins: uart3-ph-pins { 112362306a36Sopenharmony_ci pins = "PH0", "PH1"; 112462306a36Sopenharmony_ci function = "uart3"; 112562306a36Sopenharmony_ci }; 112662306a36Sopenharmony_ci 112762306a36Sopenharmony_ci /omit-if-no-ref/ 112862306a36Sopenharmony_ci uart3_cts_rts_ph_pins: uart3-cts-rts-ph-pins { 112962306a36Sopenharmony_ci pins = "PH2", "PH3"; 113062306a36Sopenharmony_ci function = "uart3"; 113162306a36Sopenharmony_ci }; 113262306a36Sopenharmony_ci 113362306a36Sopenharmony_ci /omit-if-no-ref/ 113462306a36Sopenharmony_ci uart4_pg_pins: uart4-pg-pins { 113562306a36Sopenharmony_ci pins = "PG10", "PG11"; 113662306a36Sopenharmony_ci function = "uart4"; 113762306a36Sopenharmony_ci }; 113862306a36Sopenharmony_ci 113962306a36Sopenharmony_ci /omit-if-no-ref/ 114062306a36Sopenharmony_ci uart4_ph_pins: uart4-ph-pins { 114162306a36Sopenharmony_ci pins = "PH4", "PH5"; 114262306a36Sopenharmony_ci function = "uart4"; 114362306a36Sopenharmony_ci }; 114462306a36Sopenharmony_ci 114562306a36Sopenharmony_ci /omit-if-no-ref/ 114662306a36Sopenharmony_ci uart5_ph_pins: uart5-ph-pins { 114762306a36Sopenharmony_ci pins = "PH6", "PH7"; 114862306a36Sopenharmony_ci function = "uart5"; 114962306a36Sopenharmony_ci }; 115062306a36Sopenharmony_ci 115162306a36Sopenharmony_ci /omit-if-no-ref/ 115262306a36Sopenharmony_ci uart5_pi_pins: uart5-pi-pins { 115362306a36Sopenharmony_ci pins = "PI10", "PI11"; 115462306a36Sopenharmony_ci function = "uart5"; 115562306a36Sopenharmony_ci }; 115662306a36Sopenharmony_ci 115762306a36Sopenharmony_ci /omit-if-no-ref/ 115862306a36Sopenharmony_ci uart6_pa_pins: uart6-pa-pins { 115962306a36Sopenharmony_ci pins = "PA12", "PA13"; 116062306a36Sopenharmony_ci function = "uart6"; 116162306a36Sopenharmony_ci }; 116262306a36Sopenharmony_ci 116362306a36Sopenharmony_ci /omit-if-no-ref/ 116462306a36Sopenharmony_ci uart6_pi_pins: uart6-pi-pins { 116562306a36Sopenharmony_ci pins = "PI12", "PI13"; 116662306a36Sopenharmony_ci function = "uart6"; 116762306a36Sopenharmony_ci }; 116862306a36Sopenharmony_ci 116962306a36Sopenharmony_ci /omit-if-no-ref/ 117062306a36Sopenharmony_ci uart7_pa_pins: uart7-pa-pins { 117162306a36Sopenharmony_ci pins = "PA14", "PA15"; 117262306a36Sopenharmony_ci function = "uart7"; 117362306a36Sopenharmony_ci }; 117462306a36Sopenharmony_ci 117562306a36Sopenharmony_ci /omit-if-no-ref/ 117662306a36Sopenharmony_ci uart7_pi_pins: uart7-pi-pins { 117762306a36Sopenharmony_ci pins = "PI20", "PI21"; 117862306a36Sopenharmony_ci function = "uart7"; 117962306a36Sopenharmony_ci }; 118062306a36Sopenharmony_ci }; 118162306a36Sopenharmony_ci 118262306a36Sopenharmony_ci timer@1c20c00 { 118362306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-timer"; 118462306a36Sopenharmony_ci reg = <0x01c20c00 0x90>; 118562306a36Sopenharmony_ci interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 118662306a36Sopenharmony_ci <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, 118762306a36Sopenharmony_ci <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 118862306a36Sopenharmony_ci <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 118962306a36Sopenharmony_ci <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 119062306a36Sopenharmony_ci <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 119162306a36Sopenharmony_ci clocks = <&osc24M>; 119262306a36Sopenharmony_ci }; 119362306a36Sopenharmony_ci 119462306a36Sopenharmony_ci wdt: watchdog@1c20c90 { 119562306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-wdt"; 119662306a36Sopenharmony_ci reg = <0x01c20c90 0x10>; 119762306a36Sopenharmony_ci interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 119862306a36Sopenharmony_ci clocks = <&osc24M>; 119962306a36Sopenharmony_ci }; 120062306a36Sopenharmony_ci 120162306a36Sopenharmony_ci rtc: rtc@1c20d00 { 120262306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-rtc"; 120362306a36Sopenharmony_ci reg = <0x01c20d00 0x20>; 120462306a36Sopenharmony_ci interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 120562306a36Sopenharmony_ci }; 120662306a36Sopenharmony_ci 120762306a36Sopenharmony_ci pwm: pwm@1c20e00 { 120862306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-pwm"; 120962306a36Sopenharmony_ci reg = <0x01c20e00 0xc>; 121062306a36Sopenharmony_ci clocks = <&osc24M>; 121162306a36Sopenharmony_ci #pwm-cells = <3>; 121262306a36Sopenharmony_ci status = "disabled"; 121362306a36Sopenharmony_ci }; 121462306a36Sopenharmony_ci 121562306a36Sopenharmony_ci spdif: spdif@1c21000 { 121662306a36Sopenharmony_ci #sound-dai-cells = <0>; 121762306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-spdif"; 121862306a36Sopenharmony_ci reg = <0x01c21000 0x400>; 121962306a36Sopenharmony_ci interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 122062306a36Sopenharmony_ci clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>; 122162306a36Sopenharmony_ci clock-names = "apb", "spdif"; 122262306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_NORMAL 2>, 122362306a36Sopenharmony_ci <&dma SUN4I_DMA_NORMAL 2>; 122462306a36Sopenharmony_ci dma-names = "rx", "tx"; 122562306a36Sopenharmony_ci status = "disabled"; 122662306a36Sopenharmony_ci }; 122762306a36Sopenharmony_ci 122862306a36Sopenharmony_ci ir0: ir@1c21800 { 122962306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-ir"; 123062306a36Sopenharmony_ci clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>; 123162306a36Sopenharmony_ci clock-names = "apb", "ir"; 123262306a36Sopenharmony_ci interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 123362306a36Sopenharmony_ci reg = <0x01c21800 0x40>; 123462306a36Sopenharmony_ci status = "disabled"; 123562306a36Sopenharmony_ci }; 123662306a36Sopenharmony_ci 123762306a36Sopenharmony_ci ir1: ir@1c21c00 { 123862306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-ir"; 123962306a36Sopenharmony_ci clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>; 124062306a36Sopenharmony_ci clock-names = "apb", "ir"; 124162306a36Sopenharmony_ci interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 124262306a36Sopenharmony_ci reg = <0x01c21c00 0x40>; 124362306a36Sopenharmony_ci status = "disabled"; 124462306a36Sopenharmony_ci }; 124562306a36Sopenharmony_ci 124662306a36Sopenharmony_ci i2s1: i2s@1c22000 { 124762306a36Sopenharmony_ci #sound-dai-cells = <0>; 124862306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-i2s"; 124962306a36Sopenharmony_ci reg = <0x01c22000 0x400>; 125062306a36Sopenharmony_ci interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 125162306a36Sopenharmony_ci clocks = <&ccu CLK_APB0_I2S1>, <&ccu CLK_I2S1>; 125262306a36Sopenharmony_ci clock-names = "apb", "mod"; 125362306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_NORMAL 4>, 125462306a36Sopenharmony_ci <&dma SUN4I_DMA_NORMAL 4>; 125562306a36Sopenharmony_ci dma-names = "rx", "tx"; 125662306a36Sopenharmony_ci status = "disabled"; 125762306a36Sopenharmony_ci }; 125862306a36Sopenharmony_ci 125962306a36Sopenharmony_ci i2s0: i2s@1c22400 { 126062306a36Sopenharmony_ci #sound-dai-cells = <0>; 126162306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-i2s"; 126262306a36Sopenharmony_ci reg = <0x01c22400 0x400>; 126362306a36Sopenharmony_ci interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 126462306a36Sopenharmony_ci clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>; 126562306a36Sopenharmony_ci clock-names = "apb", "mod"; 126662306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_NORMAL 3>, 126762306a36Sopenharmony_ci <&dma SUN4I_DMA_NORMAL 3>; 126862306a36Sopenharmony_ci dma-names = "rx", "tx"; 126962306a36Sopenharmony_ci status = "disabled"; 127062306a36Sopenharmony_ci }; 127162306a36Sopenharmony_ci 127262306a36Sopenharmony_ci lradc: lradc@1c22800 { 127362306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-lradc-keys"; 127462306a36Sopenharmony_ci reg = <0x01c22800 0x100>; 127562306a36Sopenharmony_ci interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 127662306a36Sopenharmony_ci status = "disabled"; 127762306a36Sopenharmony_ci }; 127862306a36Sopenharmony_ci 127962306a36Sopenharmony_ci codec: codec@1c22c00 { 128062306a36Sopenharmony_ci #sound-dai-cells = <0>; 128162306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-codec"; 128262306a36Sopenharmony_ci reg = <0x01c22c00 0x40>; 128362306a36Sopenharmony_ci interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 128462306a36Sopenharmony_ci clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>; 128562306a36Sopenharmony_ci clock-names = "apb", "codec"; 128662306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_NORMAL 19>, 128762306a36Sopenharmony_ci <&dma SUN4I_DMA_NORMAL 19>; 128862306a36Sopenharmony_ci dma-names = "rx", "tx"; 128962306a36Sopenharmony_ci status = "disabled"; 129062306a36Sopenharmony_ci }; 129162306a36Sopenharmony_ci 129262306a36Sopenharmony_ci sid: eeprom@1c23800 { 129362306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-sid"; 129462306a36Sopenharmony_ci reg = <0x01c23800 0x200>; 129562306a36Sopenharmony_ci }; 129662306a36Sopenharmony_ci 129762306a36Sopenharmony_ci i2s2: i2s@1c24400 { 129862306a36Sopenharmony_ci #sound-dai-cells = <0>; 129962306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-i2s"; 130062306a36Sopenharmony_ci reg = <0x01c24400 0x400>; 130162306a36Sopenharmony_ci interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 130262306a36Sopenharmony_ci clocks = <&ccu CLK_APB0_I2S2>, <&ccu CLK_I2S2>; 130362306a36Sopenharmony_ci clock-names = "apb", "mod"; 130462306a36Sopenharmony_ci dmas = <&dma SUN4I_DMA_NORMAL 6>, 130562306a36Sopenharmony_ci <&dma SUN4I_DMA_NORMAL 6>; 130662306a36Sopenharmony_ci dma-names = "rx", "tx"; 130762306a36Sopenharmony_ci status = "disabled"; 130862306a36Sopenharmony_ci }; 130962306a36Sopenharmony_ci 131062306a36Sopenharmony_ci rtp: rtp@1c25000 { 131162306a36Sopenharmony_ci compatible = "allwinner,sun5i-a13-ts"; 131262306a36Sopenharmony_ci reg = <0x01c25000 0x100>; 131362306a36Sopenharmony_ci interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 131462306a36Sopenharmony_ci #thermal-sensor-cells = <0>; 131562306a36Sopenharmony_ci }; 131662306a36Sopenharmony_ci 131762306a36Sopenharmony_ci uart0: serial@1c28000 { 131862306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 131962306a36Sopenharmony_ci reg = <0x01c28000 0x400>; 132062306a36Sopenharmony_ci interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 132162306a36Sopenharmony_ci reg-shift = <2>; 132262306a36Sopenharmony_ci reg-io-width = <4>; 132362306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_UART0>; 132462306a36Sopenharmony_ci status = "disabled"; 132562306a36Sopenharmony_ci }; 132662306a36Sopenharmony_ci 132762306a36Sopenharmony_ci uart1: serial@1c28400 { 132862306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 132962306a36Sopenharmony_ci reg = <0x01c28400 0x400>; 133062306a36Sopenharmony_ci interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 133162306a36Sopenharmony_ci reg-shift = <2>; 133262306a36Sopenharmony_ci reg-io-width = <4>; 133362306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_UART1>; 133462306a36Sopenharmony_ci status = "disabled"; 133562306a36Sopenharmony_ci }; 133662306a36Sopenharmony_ci 133762306a36Sopenharmony_ci uart2: serial@1c28800 { 133862306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 133962306a36Sopenharmony_ci reg = <0x01c28800 0x400>; 134062306a36Sopenharmony_ci interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 134162306a36Sopenharmony_ci reg-shift = <2>; 134262306a36Sopenharmony_ci reg-io-width = <4>; 134362306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_UART2>; 134462306a36Sopenharmony_ci status = "disabled"; 134562306a36Sopenharmony_ci }; 134662306a36Sopenharmony_ci 134762306a36Sopenharmony_ci uart3: serial@1c28c00 { 134862306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 134962306a36Sopenharmony_ci reg = <0x01c28c00 0x400>; 135062306a36Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 135162306a36Sopenharmony_ci reg-shift = <2>; 135262306a36Sopenharmony_ci reg-io-width = <4>; 135362306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_UART3>; 135462306a36Sopenharmony_ci status = "disabled"; 135562306a36Sopenharmony_ci }; 135662306a36Sopenharmony_ci 135762306a36Sopenharmony_ci uart4: serial@1c29000 { 135862306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 135962306a36Sopenharmony_ci reg = <0x01c29000 0x400>; 136062306a36Sopenharmony_ci interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 136162306a36Sopenharmony_ci reg-shift = <2>; 136262306a36Sopenharmony_ci reg-io-width = <4>; 136362306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_UART4>; 136462306a36Sopenharmony_ci status = "disabled"; 136562306a36Sopenharmony_ci }; 136662306a36Sopenharmony_ci 136762306a36Sopenharmony_ci uart5: serial@1c29400 { 136862306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 136962306a36Sopenharmony_ci reg = <0x01c29400 0x400>; 137062306a36Sopenharmony_ci interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 137162306a36Sopenharmony_ci reg-shift = <2>; 137262306a36Sopenharmony_ci reg-io-width = <4>; 137362306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_UART5>; 137462306a36Sopenharmony_ci status = "disabled"; 137562306a36Sopenharmony_ci }; 137662306a36Sopenharmony_ci 137762306a36Sopenharmony_ci uart6: serial@1c29800 { 137862306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 137962306a36Sopenharmony_ci reg = <0x01c29800 0x400>; 138062306a36Sopenharmony_ci interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 138162306a36Sopenharmony_ci reg-shift = <2>; 138262306a36Sopenharmony_ci reg-io-width = <4>; 138362306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_UART6>; 138462306a36Sopenharmony_ci status = "disabled"; 138562306a36Sopenharmony_ci }; 138662306a36Sopenharmony_ci 138762306a36Sopenharmony_ci uart7: serial@1c29c00 { 138862306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 138962306a36Sopenharmony_ci reg = <0x01c29c00 0x400>; 139062306a36Sopenharmony_ci interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 139162306a36Sopenharmony_ci reg-shift = <2>; 139262306a36Sopenharmony_ci reg-io-width = <4>; 139362306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_UART7>; 139462306a36Sopenharmony_ci status = "disabled"; 139562306a36Sopenharmony_ci }; 139662306a36Sopenharmony_ci 139762306a36Sopenharmony_ci ps20: ps2@1c2a000 { 139862306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-ps2"; 139962306a36Sopenharmony_ci reg = <0x01c2a000 0x400>; 140062306a36Sopenharmony_ci interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 140162306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_PS20>; 140262306a36Sopenharmony_ci status = "disabled"; 140362306a36Sopenharmony_ci }; 140462306a36Sopenharmony_ci 140562306a36Sopenharmony_ci ps21: ps2@1c2a400 { 140662306a36Sopenharmony_ci compatible = "allwinner,sun4i-a10-ps2"; 140762306a36Sopenharmony_ci reg = <0x01c2a400 0x400>; 140862306a36Sopenharmony_ci interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 140962306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_PS21>; 141062306a36Sopenharmony_ci status = "disabled"; 141162306a36Sopenharmony_ci }; 141262306a36Sopenharmony_ci 141362306a36Sopenharmony_ci i2c0: i2c@1c2ac00 { 141462306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-i2c", 141562306a36Sopenharmony_ci "allwinner,sun4i-a10-i2c"; 141662306a36Sopenharmony_ci reg = <0x01c2ac00 0x400>; 141762306a36Sopenharmony_ci interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 141862306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_I2C0>; 141962306a36Sopenharmony_ci pinctrl-names = "default"; 142062306a36Sopenharmony_ci pinctrl-0 = <&i2c0_pins>; 142162306a36Sopenharmony_ci status = "disabled"; 142262306a36Sopenharmony_ci #address-cells = <1>; 142362306a36Sopenharmony_ci #size-cells = <0>; 142462306a36Sopenharmony_ci }; 142562306a36Sopenharmony_ci 142662306a36Sopenharmony_ci i2c1: i2c@1c2b000 { 142762306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-i2c", 142862306a36Sopenharmony_ci "allwinner,sun4i-a10-i2c"; 142962306a36Sopenharmony_ci reg = <0x01c2b000 0x400>; 143062306a36Sopenharmony_ci interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 143162306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_I2C1>; 143262306a36Sopenharmony_ci pinctrl-names = "default"; 143362306a36Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 143462306a36Sopenharmony_ci status = "disabled"; 143562306a36Sopenharmony_ci #address-cells = <1>; 143662306a36Sopenharmony_ci #size-cells = <0>; 143762306a36Sopenharmony_ci }; 143862306a36Sopenharmony_ci 143962306a36Sopenharmony_ci i2c2: i2c@1c2b400 { 144062306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-i2c", 144162306a36Sopenharmony_ci "allwinner,sun4i-a10-i2c"; 144262306a36Sopenharmony_ci reg = <0x01c2b400 0x400>; 144362306a36Sopenharmony_ci interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 144462306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_I2C2>; 144562306a36Sopenharmony_ci pinctrl-names = "default"; 144662306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 144762306a36Sopenharmony_ci status = "disabled"; 144862306a36Sopenharmony_ci #address-cells = <1>; 144962306a36Sopenharmony_ci #size-cells = <0>; 145062306a36Sopenharmony_ci }; 145162306a36Sopenharmony_ci 145262306a36Sopenharmony_ci i2c3: i2c@1c2b800 { 145362306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-i2c", 145462306a36Sopenharmony_ci "allwinner,sun4i-a10-i2c"; 145562306a36Sopenharmony_ci reg = <0x01c2b800 0x400>; 145662306a36Sopenharmony_ci interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 145762306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_I2C3>; 145862306a36Sopenharmony_ci pinctrl-names = "default"; 145962306a36Sopenharmony_ci pinctrl-0 = <&i2c3_pins>; 146062306a36Sopenharmony_ci status = "disabled"; 146162306a36Sopenharmony_ci #address-cells = <1>; 146262306a36Sopenharmony_ci #size-cells = <0>; 146362306a36Sopenharmony_ci }; 146462306a36Sopenharmony_ci 146562306a36Sopenharmony_ci can0: can@1c2bc00 { 146662306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-can", 146762306a36Sopenharmony_ci "allwinner,sun4i-a10-can"; 146862306a36Sopenharmony_ci reg = <0x01c2bc00 0x400>; 146962306a36Sopenharmony_ci interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 147062306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_CAN>; 147162306a36Sopenharmony_ci status = "disabled"; 147262306a36Sopenharmony_ci }; 147362306a36Sopenharmony_ci 147462306a36Sopenharmony_ci i2c4: i2c@1c2c000 { 147562306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-i2c", 147662306a36Sopenharmony_ci "allwinner,sun4i-a10-i2c"; 147762306a36Sopenharmony_ci reg = <0x01c2c000 0x400>; 147862306a36Sopenharmony_ci interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 147962306a36Sopenharmony_ci clocks = <&ccu CLK_APB1_I2C4>; 148062306a36Sopenharmony_ci status = "disabled"; 148162306a36Sopenharmony_ci #address-cells = <1>; 148262306a36Sopenharmony_ci #size-cells = <0>; 148362306a36Sopenharmony_ci }; 148462306a36Sopenharmony_ci 148562306a36Sopenharmony_ci mali: gpu@1c40000 { 148662306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-mali", "arm,mali-400"; 148762306a36Sopenharmony_ci reg = <0x01c40000 0x10000>; 148862306a36Sopenharmony_ci interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 148962306a36Sopenharmony_ci <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 149062306a36Sopenharmony_ci <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, 149162306a36Sopenharmony_ci <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 149262306a36Sopenharmony_ci <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 149362306a36Sopenharmony_ci <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 149462306a36Sopenharmony_ci <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 149562306a36Sopenharmony_ci interrupt-names = "gp", 149662306a36Sopenharmony_ci "gpmmu", 149762306a36Sopenharmony_ci "pp0", 149862306a36Sopenharmony_ci "ppmmu0", 149962306a36Sopenharmony_ci "pp1", 150062306a36Sopenharmony_ci "ppmmu1", 150162306a36Sopenharmony_ci "pmu"; 150262306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>; 150362306a36Sopenharmony_ci clock-names = "bus", "core"; 150462306a36Sopenharmony_ci resets = <&ccu RST_GPU>; 150562306a36Sopenharmony_ci 150662306a36Sopenharmony_ci assigned-clocks = <&ccu CLK_GPU>; 150762306a36Sopenharmony_ci assigned-clock-rates = <384000000>; 150862306a36Sopenharmony_ci }; 150962306a36Sopenharmony_ci 151062306a36Sopenharmony_ci gmac: ethernet@1c50000 { 151162306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-gmac"; 151262306a36Sopenharmony_ci reg = <0x01c50000 0x10000>; 151362306a36Sopenharmony_ci interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 151462306a36Sopenharmony_ci interrupt-names = "macirq"; 151562306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_GMAC>, <&gmac_tx_clk>; 151662306a36Sopenharmony_ci clock-names = "stmmaceth", "allwinner_gmac_tx"; 151762306a36Sopenharmony_ci snps,pbl = <2>; 151862306a36Sopenharmony_ci snps,fixed-burst; 151962306a36Sopenharmony_ci snps,force_sf_dma_mode; 152062306a36Sopenharmony_ci status = "disabled"; 152162306a36Sopenharmony_ci 152262306a36Sopenharmony_ci gmac_mdio: mdio { 152362306a36Sopenharmony_ci compatible = "snps,dwmac-mdio"; 152462306a36Sopenharmony_ci #address-cells = <1>; 152562306a36Sopenharmony_ci #size-cells = <0>; 152662306a36Sopenharmony_ci }; 152762306a36Sopenharmony_ci }; 152862306a36Sopenharmony_ci 152962306a36Sopenharmony_ci hstimer@1c60000 { 153062306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-hstimer"; 153162306a36Sopenharmony_ci reg = <0x01c60000 0x1000>; 153262306a36Sopenharmony_ci interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>, 153362306a36Sopenharmony_ci <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>, 153462306a36Sopenharmony_ci <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>, 153562306a36Sopenharmony_ci <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 153662306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_HSTIMER>; 153762306a36Sopenharmony_ci }; 153862306a36Sopenharmony_ci 153962306a36Sopenharmony_ci gic: interrupt-controller@1c81000 { 154062306a36Sopenharmony_ci compatible = "arm,gic-400"; 154162306a36Sopenharmony_ci reg = <0x01c81000 0x1000>, 154262306a36Sopenharmony_ci <0x01c82000 0x2000>, 154362306a36Sopenharmony_ci <0x01c84000 0x2000>, 154462306a36Sopenharmony_ci <0x01c86000 0x2000>; 154562306a36Sopenharmony_ci interrupt-controller; 154662306a36Sopenharmony_ci #interrupt-cells = <3>; 154762306a36Sopenharmony_ci interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 154862306a36Sopenharmony_ci }; 154962306a36Sopenharmony_ci 155062306a36Sopenharmony_ci fe0: display-frontend@1e00000 { 155162306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-display-frontend"; 155262306a36Sopenharmony_ci reg = <0x01e00000 0x20000>; 155362306a36Sopenharmony_ci interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 155462306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>, 155562306a36Sopenharmony_ci <&ccu CLK_DRAM_DE_FE0>; 155662306a36Sopenharmony_ci clock-names = "ahb", "mod", 155762306a36Sopenharmony_ci "ram"; 155862306a36Sopenharmony_ci resets = <&ccu RST_DE_FE0>; 155962306a36Sopenharmony_ci 156062306a36Sopenharmony_ci ports { 156162306a36Sopenharmony_ci #address-cells = <1>; 156262306a36Sopenharmony_ci #size-cells = <0>; 156362306a36Sopenharmony_ci 156462306a36Sopenharmony_ci fe0_out: port@1 { 156562306a36Sopenharmony_ci #address-cells = <1>; 156662306a36Sopenharmony_ci #size-cells = <0>; 156762306a36Sopenharmony_ci reg = <1>; 156862306a36Sopenharmony_ci 156962306a36Sopenharmony_ci fe0_out_be0: endpoint@0 { 157062306a36Sopenharmony_ci reg = <0>; 157162306a36Sopenharmony_ci remote-endpoint = <&be0_in_fe0>; 157262306a36Sopenharmony_ci }; 157362306a36Sopenharmony_ci 157462306a36Sopenharmony_ci fe0_out_be1: endpoint@1 { 157562306a36Sopenharmony_ci reg = <1>; 157662306a36Sopenharmony_ci remote-endpoint = <&be1_in_fe0>; 157762306a36Sopenharmony_ci }; 157862306a36Sopenharmony_ci }; 157962306a36Sopenharmony_ci }; 158062306a36Sopenharmony_ci }; 158162306a36Sopenharmony_ci 158262306a36Sopenharmony_ci fe1: display-frontend@1e20000 { 158362306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-display-frontend"; 158462306a36Sopenharmony_ci reg = <0x01e20000 0x20000>; 158562306a36Sopenharmony_ci interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 158662306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_DE_FE1>, <&ccu CLK_DE_FE1>, 158762306a36Sopenharmony_ci <&ccu CLK_DRAM_DE_FE1>; 158862306a36Sopenharmony_ci clock-names = "ahb", "mod", 158962306a36Sopenharmony_ci "ram"; 159062306a36Sopenharmony_ci resets = <&ccu RST_DE_FE1>; 159162306a36Sopenharmony_ci 159262306a36Sopenharmony_ci ports { 159362306a36Sopenharmony_ci #address-cells = <1>; 159462306a36Sopenharmony_ci #size-cells = <0>; 159562306a36Sopenharmony_ci 159662306a36Sopenharmony_ci fe1_out: port@1 { 159762306a36Sopenharmony_ci #address-cells = <1>; 159862306a36Sopenharmony_ci #size-cells = <0>; 159962306a36Sopenharmony_ci reg = <1>; 160062306a36Sopenharmony_ci 160162306a36Sopenharmony_ci fe1_out_be0: endpoint@0 { 160262306a36Sopenharmony_ci reg = <0>; 160362306a36Sopenharmony_ci remote-endpoint = <&be0_in_fe1>; 160462306a36Sopenharmony_ci }; 160562306a36Sopenharmony_ci 160662306a36Sopenharmony_ci fe1_out_be1: endpoint@1 { 160762306a36Sopenharmony_ci reg = <1>; 160862306a36Sopenharmony_ci remote-endpoint = <&be1_in_fe1>; 160962306a36Sopenharmony_ci }; 161062306a36Sopenharmony_ci }; 161162306a36Sopenharmony_ci }; 161262306a36Sopenharmony_ci }; 161362306a36Sopenharmony_ci 161462306a36Sopenharmony_ci be1: display-backend@1e40000 { 161562306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-display-backend"; 161662306a36Sopenharmony_ci reg = <0x01e40000 0x10000>; 161762306a36Sopenharmony_ci interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 161862306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_DE_BE1>, <&ccu CLK_DE_BE1>, 161962306a36Sopenharmony_ci <&ccu CLK_DRAM_DE_BE1>; 162062306a36Sopenharmony_ci clock-names = "ahb", "mod", 162162306a36Sopenharmony_ci "ram"; 162262306a36Sopenharmony_ci resets = <&ccu RST_DE_BE1>; 162362306a36Sopenharmony_ci 162462306a36Sopenharmony_ci ports { 162562306a36Sopenharmony_ci #address-cells = <1>; 162662306a36Sopenharmony_ci #size-cells = <0>; 162762306a36Sopenharmony_ci 162862306a36Sopenharmony_ci be1_in: port@0 { 162962306a36Sopenharmony_ci #address-cells = <1>; 163062306a36Sopenharmony_ci #size-cells = <0>; 163162306a36Sopenharmony_ci reg = <0>; 163262306a36Sopenharmony_ci 163362306a36Sopenharmony_ci be1_in_fe0: endpoint@0 { 163462306a36Sopenharmony_ci reg = <0>; 163562306a36Sopenharmony_ci remote-endpoint = <&fe0_out_be1>; 163662306a36Sopenharmony_ci }; 163762306a36Sopenharmony_ci 163862306a36Sopenharmony_ci be1_in_fe1: endpoint@1 { 163962306a36Sopenharmony_ci reg = <1>; 164062306a36Sopenharmony_ci remote-endpoint = <&fe1_out_be1>; 164162306a36Sopenharmony_ci }; 164262306a36Sopenharmony_ci }; 164362306a36Sopenharmony_ci 164462306a36Sopenharmony_ci be1_out: port@1 { 164562306a36Sopenharmony_ci #address-cells = <1>; 164662306a36Sopenharmony_ci #size-cells = <0>; 164762306a36Sopenharmony_ci reg = <1>; 164862306a36Sopenharmony_ci 164962306a36Sopenharmony_ci be1_out_tcon0: endpoint@0 { 165062306a36Sopenharmony_ci reg = <0>; 165162306a36Sopenharmony_ci remote-endpoint = <&tcon0_in_be1>; 165262306a36Sopenharmony_ci }; 165362306a36Sopenharmony_ci 165462306a36Sopenharmony_ci be1_out_tcon1: endpoint@1 { 165562306a36Sopenharmony_ci reg = <1>; 165662306a36Sopenharmony_ci remote-endpoint = <&tcon1_in_be1>; 165762306a36Sopenharmony_ci }; 165862306a36Sopenharmony_ci }; 165962306a36Sopenharmony_ci }; 166062306a36Sopenharmony_ci }; 166162306a36Sopenharmony_ci 166262306a36Sopenharmony_ci be0: display-backend@1e60000 { 166362306a36Sopenharmony_ci compatible = "allwinner,sun7i-a20-display-backend"; 166462306a36Sopenharmony_ci reg = <0x01e60000 0x10000>; 166562306a36Sopenharmony_ci interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 166662306a36Sopenharmony_ci clocks = <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>, 166762306a36Sopenharmony_ci <&ccu CLK_DRAM_DE_BE0>; 166862306a36Sopenharmony_ci clock-names = "ahb", "mod", 166962306a36Sopenharmony_ci "ram"; 167062306a36Sopenharmony_ci resets = <&ccu RST_DE_BE0>; 167162306a36Sopenharmony_ci 167262306a36Sopenharmony_ci ports { 167362306a36Sopenharmony_ci #address-cells = <1>; 167462306a36Sopenharmony_ci #size-cells = <0>; 167562306a36Sopenharmony_ci 167662306a36Sopenharmony_ci be0_in: port@0 { 167762306a36Sopenharmony_ci #address-cells = <1>; 167862306a36Sopenharmony_ci #size-cells = <0>; 167962306a36Sopenharmony_ci reg = <0>; 168062306a36Sopenharmony_ci 168162306a36Sopenharmony_ci be0_in_fe0: endpoint@0 { 168262306a36Sopenharmony_ci reg = <0>; 168362306a36Sopenharmony_ci remote-endpoint = <&fe0_out_be0>; 168462306a36Sopenharmony_ci }; 168562306a36Sopenharmony_ci 168662306a36Sopenharmony_ci be0_in_fe1: endpoint@1 { 168762306a36Sopenharmony_ci reg = <1>; 168862306a36Sopenharmony_ci remote-endpoint = <&fe1_out_be0>; 168962306a36Sopenharmony_ci }; 169062306a36Sopenharmony_ci }; 169162306a36Sopenharmony_ci 169262306a36Sopenharmony_ci be0_out: port@1 { 169362306a36Sopenharmony_ci #address-cells = <1>; 169462306a36Sopenharmony_ci #size-cells = <0>; 169562306a36Sopenharmony_ci reg = <1>; 169662306a36Sopenharmony_ci 169762306a36Sopenharmony_ci be0_out_tcon0: endpoint@0 { 169862306a36Sopenharmony_ci reg = <0>; 169962306a36Sopenharmony_ci remote-endpoint = <&tcon0_in_be0>; 170062306a36Sopenharmony_ci }; 170162306a36Sopenharmony_ci 170262306a36Sopenharmony_ci be0_out_tcon1: endpoint@1 { 170362306a36Sopenharmony_ci reg = <1>; 170462306a36Sopenharmony_ci remote-endpoint = <&tcon1_in_be0>; 170562306a36Sopenharmony_ci }; 170662306a36Sopenharmony_ci }; 170762306a36Sopenharmony_ci }; 170862306a36Sopenharmony_ci }; 170962306a36Sopenharmony_ci }; 171062306a36Sopenharmony_ci}; 1711