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