xref: /rk3399_rockchip-uboot/arch/arm/dts/sun5i-a10s.dtsi (revision c6b968da78ce3fa7224c0ddf15fe170c7c05b27e)
153ab4af3SHans de Goede/*
253ab4af3SHans de Goede * Copyright 2013 Maxime Ripard
353ab4af3SHans de Goede *
453ab4af3SHans de Goede * Maxime Ripard <maxime.ripard@free-electrons.com>
553ab4af3SHans de Goede *
653ab4af3SHans de Goede * This file is dual-licensed: you can use it either under the terms
753ab4af3SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual
853ab4af3SHans de Goede * licensing only applies to this file, and not this project as a
953ab4af3SHans de Goede * whole.
1053ab4af3SHans de Goede *
1153ab4af3SHans de Goede *  a) This library is free software; you can redistribute it and/or
1253ab4af3SHans de Goede *     modify it under the terms of the GNU General Public License as
1353ab4af3SHans de Goede *     published by the Free Software Foundation; either version 2 of the
1453ab4af3SHans de Goede *     License, or (at your option) any later version.
1553ab4af3SHans de Goede *
1653ab4af3SHans de Goede *     This library is distributed in the hope that it will be useful,
1753ab4af3SHans de Goede *     but WITHOUT ANY WARRANTY; without even the implied warranty of
1853ab4af3SHans de Goede *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1953ab4af3SHans de Goede *     GNU General Public License for more details.
2053ab4af3SHans de Goede *
2153ab4af3SHans de Goede * Or, alternatively,
2253ab4af3SHans de Goede *
2353ab4af3SHans de Goede *  b) Permission is hereby granted, free of charge, to any person
2453ab4af3SHans de Goede *     obtaining a copy of this software and associated documentation
2553ab4af3SHans de Goede *     files (the "Software"), to deal in the Software without
2653ab4af3SHans de Goede *     restriction, including without limitation the rights to use,
2753ab4af3SHans de Goede *     copy, modify, merge, publish, distribute, sublicense, and/or
2853ab4af3SHans de Goede *     sell copies of the Software, and to permit persons to whom the
2953ab4af3SHans de Goede *     Software is furnished to do so, subject to the following
3053ab4af3SHans de Goede *     conditions:
3153ab4af3SHans de Goede *
3253ab4af3SHans de Goede *     The above copyright notice and this permission notice shall be
3353ab4af3SHans de Goede *     included in all copies or substantial portions of the Software.
3453ab4af3SHans de Goede *
3553ab4af3SHans de Goede *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3653ab4af3SHans de Goede *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3753ab4af3SHans de Goede *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3853ab4af3SHans de Goede *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3953ab4af3SHans de Goede *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4053ab4af3SHans de Goede *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4153ab4af3SHans de Goede *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4253ab4af3SHans de Goede *     OTHER DEALINGS IN THE SOFTWARE.
4353ab4af3SHans de Goede */
4453ab4af3SHans de Goede
4553ab4af3SHans de Goede#include "skeleton.dtsi"
4653ab4af3SHans de Goede
4753ab4af3SHans de Goede#include "sun5i.dtsi"
4853ab4af3SHans de Goede
4953ab4af3SHans de Goede#include <dt-bindings/dma/sun4i-a10.h>
5053ab4af3SHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h>
5153ab4af3SHans de Goede
5253ab4af3SHans de Goede/ {
5353ab4af3SHans de Goede	interrupt-parent = <&intc>;
5453ab4af3SHans de Goede
5553ab4af3SHans de Goede	aliases {
5653ab4af3SHans de Goede		ethernet0 = &emac;
5753ab4af3SHans de Goede	};
5853ab4af3SHans de Goede
5953ab4af3SHans de Goede	chosen {
6053ab4af3SHans de Goede		#address-cells = <1>;
6153ab4af3SHans de Goede		#size-cells = <1>;
6253ab4af3SHans de Goede		ranges;
6353ab4af3SHans de Goede
6453ab4af3SHans de Goede		framebuffer@0 {
658b1ba941SHans de Goede			compatible = "allwinner,simple-framebuffer",
668b1ba941SHans de Goede				     "simple-framebuffer";
6753ab4af3SHans de Goede			allwinner,pipeline = "de_be0-lcd0-hdmi";
68*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll5 1>, <&ahb_gates 36>,
69*860fbdd4SHans de Goede				 <&ahb_gates 43>, <&ahb_gates 44>;
7053ab4af3SHans de Goede			status = "disabled";
7153ab4af3SHans de Goede		};
7253ab4af3SHans de Goede
7353ab4af3SHans de Goede		framebuffer@1 {
7453ab4af3SHans de Goede			compatible = "allwinner,simple-framebuffer",
7553ab4af3SHans de Goede				     "simple-framebuffer";
7653ab4af3SHans de Goede			allwinner,pipeline = "de_be0-lcd0";
77*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll5 1>, <&ahb_gates 36>,
78*860fbdd4SHans de Goede				 <&ahb_gates 44>;
7953ab4af3SHans de Goede			status = "disabled";
8053ab4af3SHans de Goede		};
81f0e8e8daSMaxime Ripard
82f0e8e8daSMaxime Ripard		framebuffer@2 {
83f0e8e8daSMaxime Ripard			compatible = "allwinner,simple-framebuffer",
84f0e8e8daSMaxime Ripard				     "simple-framebuffer";
85f0e8e8daSMaxime Ripard			allwinner,pipeline = "de_be0-lcd0-tve0";
86*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll5 1>, <&ahb_gates 34>,
87*860fbdd4SHans de Goede				 <&ahb_gates 36>, <&ahb_gates 44>;
88f0e8e8daSMaxime Ripard			status = "disabled";
89f0e8e8daSMaxime Ripard		};
9053ab4af3SHans de Goede	};
9153ab4af3SHans de Goede
9253ab4af3SHans de Goede	clocks {
9353ab4af3SHans de Goede		ahb_gates: clk@01c20060 {
9453ab4af3SHans de Goede			#clock-cells = <1>;
9553ab4af3SHans de Goede			compatible = "allwinner,sun5i-a10s-ahb-gates-clk";
9653ab4af3SHans de Goede			reg = <0x01c20060 0x8>;
9753ab4af3SHans de Goede			clocks = <&ahb>;
98f0e8e8daSMaxime Ripard			clock-indices = <0>, <1>,
99f0e8e8daSMaxime Ripard					<2>, <5>, <6>,
100f0e8e8daSMaxime Ripard					<7>, <8>, <9>,
101f0e8e8daSMaxime Ripard					<10>, <13>,
102f0e8e8daSMaxime Ripard					<14>, <17>, <18>,
103f0e8e8daSMaxime Ripard					<20>, <21>, <22>,
104f0e8e8daSMaxime Ripard					<26>, <28>, <32>,
105f0e8e8daSMaxime Ripard					<34>, <36>, <40>,
106f0e8e8daSMaxime Ripard					<43>, <44>,
107f0e8e8daSMaxime Ripard					<46>, <51>,
108f0e8e8daSMaxime Ripard					<52>;
1098b1ba941SHans de Goede			clock-output-names = "ahb_usbotg", "ahb_ehci",
1108b1ba941SHans de Goede					     "ahb_ohci", "ahb_ss", "ahb_dma",
1118b1ba941SHans de Goede					     "ahb_bist", "ahb_mmc0", "ahb_mmc1",
1128b1ba941SHans de Goede					     "ahb_mmc2", "ahb_nand",
1138b1ba941SHans de Goede					     "ahb_sdram", "ahb_emac", "ahb_ts",
1148b1ba941SHans de Goede					     "ahb_spi0", "ahb_spi1", "ahb_spi2",
1158b1ba941SHans de Goede					     "ahb_gps", "ahb_stimer", "ahb_ve",
1168b1ba941SHans de Goede					     "ahb_tve", "ahb_lcd", "ahb_csi",
1178b1ba941SHans de Goede					     "ahb_hdmi", "ahb_de_be",
1188b1ba941SHans de Goede					     "ahb_de_fe", "ahb_iep",
1198b1ba941SHans de Goede					     "ahb_mali400";
12053ab4af3SHans de Goede		};
12153ab4af3SHans de Goede
12253ab4af3SHans de Goede		apb0_gates: clk@01c20068 {
12353ab4af3SHans de Goede			#clock-cells = <1>;
12453ab4af3SHans de Goede			compatible = "allwinner,sun5i-a10s-apb0-gates-clk";
12553ab4af3SHans de Goede			reg = <0x01c20068 0x4>;
12653ab4af3SHans de Goede			clocks = <&apb0>;
127f0e8e8daSMaxime Ripard			clock-indices = <0>, <3>,
128f0e8e8daSMaxime Ripard					<5>, <6>,
129f0e8e8daSMaxime Ripard					<10>;
1308b1ba941SHans de Goede			clock-output-names = "apb0_codec", "apb0_iis",
1318b1ba941SHans de Goede					     "apb0_pio", "apb0_ir",
1328b1ba941SHans de Goede					     "apb0_keypad";
13353ab4af3SHans de Goede		};
13453ab4af3SHans de Goede
13553ab4af3SHans de Goede		apb1_gates: clk@01c2006c {
13653ab4af3SHans de Goede			#clock-cells = <1>;
13753ab4af3SHans de Goede			compatible = "allwinner,sun5i-a10s-apb1-gates-clk";
13853ab4af3SHans de Goede			reg = <0x01c2006c 0x4>;
13953ab4af3SHans de Goede			clocks = <&apb1>;
140f0e8e8daSMaxime Ripard			clock-indices = <0>, <1>,
141f0e8e8daSMaxime Ripard					<2>, <16>,
142f0e8e8daSMaxime Ripard					<17>, <18>,
143f0e8e8daSMaxime Ripard					<19>;
14453ab4af3SHans de Goede			clock-output-names = "apb1_i2c0", "apb1_i2c1",
145f0e8e8daSMaxime Ripard					     "apb1_i2c2", "apb1_uart0",
146f0e8e8daSMaxime Ripard					     "apb1_uart1", "apb1_uart2",
147f0e8e8daSMaxime Ripard					     "apb1_uart3";
14853ab4af3SHans de Goede		};
14953ab4af3SHans de Goede	};
15053ab4af3SHans de Goede
15153ab4af3SHans de Goede	soc@01c00000 {
15253ab4af3SHans de Goede		emac: ethernet@01c0b000 {
15353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-emac";
15453ab4af3SHans de Goede			reg = <0x01c0b000 0x1000>;
15553ab4af3SHans de Goede			interrupts = <55>;
15653ab4af3SHans de Goede			clocks = <&ahb_gates 17>;
1578b1ba941SHans de Goede			allwinner,sram = <&emac_sram 1>;
15853ab4af3SHans de Goede			status = "disabled";
15953ab4af3SHans de Goede		};
16053ab4af3SHans de Goede
16153ab4af3SHans de Goede		mdio: mdio@01c0b080 {
16253ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mdio";
16353ab4af3SHans de Goede			reg = <0x01c0b080 0x14>;
16453ab4af3SHans de Goede			status = "disabled";
16553ab4af3SHans de Goede			#address-cells = <1>;
16653ab4af3SHans de Goede			#size-cells = <0>;
16753ab4af3SHans de Goede		};
16853ab4af3SHans de Goede
169f0e8e8daSMaxime Ripard		pwm: pwm@01c20e00 {
170f0e8e8daSMaxime Ripard			compatible = "allwinner,sun5i-a10s-pwm";
171f0e8e8daSMaxime Ripard			reg = <0x01c20e00 0xc>;
172f0e8e8daSMaxime Ripard			clocks = <&osc24M>;
173f0e8e8daSMaxime Ripard			#pwm-cells = <3>;
174f0e8e8daSMaxime Ripard			status = "disabled";
175f0e8e8daSMaxime Ripard		};
176f0e8e8daSMaxime Ripard
17753ab4af3SHans de Goede		uart0: serial@01c28000 {
17853ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
17953ab4af3SHans de Goede			reg = <0x01c28000 0x400>;
18053ab4af3SHans de Goede			interrupts = <1>;
18153ab4af3SHans de Goede			reg-shift = <2>;
18253ab4af3SHans de Goede			reg-io-width = <4>;
18353ab4af3SHans de Goede			clocks = <&apb1_gates 16>;
18453ab4af3SHans de Goede			status = "disabled";
18553ab4af3SHans de Goede		};
18653ab4af3SHans de Goede
18753ab4af3SHans de Goede		uart2: serial@01c28800 {
18853ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
18953ab4af3SHans de Goede			reg = <0x01c28800 0x400>;
19053ab4af3SHans de Goede			interrupts = <3>;
19153ab4af3SHans de Goede			reg-shift = <2>;
19253ab4af3SHans de Goede			reg-io-width = <4>;
19353ab4af3SHans de Goede			clocks = <&apb1_gates 18>;
19453ab4af3SHans de Goede			status = "disabled";
19553ab4af3SHans de Goede		};
19653ab4af3SHans de Goede	};
19753ab4af3SHans de Goede};
19853ab4af3SHans de Goede
19953ab4af3SHans de Goede&pio {
20053ab4af3SHans de Goede	compatible = "allwinner,sun5i-a10s-pinctrl";
20153ab4af3SHans de Goede
20253ab4af3SHans de Goede	uart0_pins_a: uart0@0 {
20353ab4af3SHans de Goede		allwinner,pins = "PB19", "PB20";
20453ab4af3SHans de Goede		allwinner,function = "uart0";
20553ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
20653ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
20753ab4af3SHans de Goede	};
20853ab4af3SHans de Goede
20953ab4af3SHans de Goede	uart2_pins_a: uart2@0 {
21053ab4af3SHans de Goede		allwinner,pins = "PC18", "PC19";
21153ab4af3SHans de Goede		allwinner,function = "uart2";
21253ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
21353ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
21453ab4af3SHans de Goede	};
21553ab4af3SHans de Goede
21653ab4af3SHans de Goede	emac_pins_a: emac0@0 {
21753ab4af3SHans de Goede		allwinner,pins = "PA0", "PA1", "PA2",
21853ab4af3SHans de Goede				"PA3", "PA4", "PA5", "PA6",
21953ab4af3SHans de Goede				"PA7", "PA8", "PA9", "PA10",
22053ab4af3SHans de Goede				"PA11", "PA12", "PA13", "PA14",
22153ab4af3SHans de Goede				"PA15", "PA16";
22253ab4af3SHans de Goede		allwinner,function = "emac";
22353ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
22453ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
22553ab4af3SHans de Goede	};
22653ab4af3SHans de Goede
2272ad76bf2SJelle van der Waa	emac_pins_b: emac0@1 {
2282ad76bf2SJelle van der Waa		allwinner,pins = "PD6", "PD7", "PD10",
2292ad76bf2SJelle van der Waa				"PD11", "PD12", "PD13", "PD14",
2302ad76bf2SJelle van der Waa				"PD15", "PD18", "PD19", "PD20",
2312ad76bf2SJelle van der Waa				"PD21", "PD22", "PD23", "PD24",
2322ad76bf2SJelle van der Waa				"PD25", "PD26", "PD27";
2332ad76bf2SJelle van der Waa		allwinner,function = "emac";
2342ad76bf2SJelle van der Waa		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
2352ad76bf2SJelle van der Waa		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
2362ad76bf2SJelle van der Waa	};
2372ad76bf2SJelle van der Waa
23853ab4af3SHans de Goede	mmc1_pins_a: mmc1@0 {
2398b1ba941SHans de Goede		allwinner,pins = "PG3", "PG4", "PG5",
2408b1ba941SHans de Goede				 "PG6", "PG7", "PG8";
24153ab4af3SHans de Goede		allwinner,function = "mmc1";
24253ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_30_MA>;
24353ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
24453ab4af3SHans de Goede	};
245c1aa7d62SBoris Brezillon
246*860fbdd4SHans de Goede	spi2_pins_a: spi2@0 {
247*860fbdd4SHans de Goede		allwinner,pins = "PB12", "PB13", "PB14";
248*860fbdd4SHans de Goede		allwinner,function = "spi2";
249*860fbdd4SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
250*860fbdd4SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
251c1aa7d62SBoris Brezillon	};
252c1aa7d62SBoris Brezillon
253*860fbdd4SHans de Goede	spi2_cs0_pins_a: spi2_cs0@0 {
254*860fbdd4SHans de Goede		allwinner,pins = "PB11";
255*860fbdd4SHans de Goede		allwinner,function = "spi2";
256*860fbdd4SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
257*860fbdd4SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
258c1aa7d62SBoris Brezillon	};
25953ab4af3SHans de Goede};
2608b1ba941SHans de Goede
2618b1ba941SHans de Goede&sram_a {
2628b1ba941SHans de Goede	emac_sram: sram-section@8000 {
2638b1ba941SHans de Goede		compatible = "allwinner,sun4i-a10-sram-a3-a4";
2648b1ba941SHans de Goede		reg = <0x8000 0x4000>;
2658b1ba941SHans de Goede		status = "disabled";
2668b1ba941SHans de Goede	};
2678b1ba941SHans de Goede};
268