xref: /openbmc/u-boot/arch/arm/dts/sun5i-a10s.dtsi (revision c1aa7d62)
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";
6853ab4af3SHans de Goede			clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 43>,
6953ab4af3SHans de Goede				 <&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";
7753ab4af3SHans de Goede			clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 44>;
7853ab4af3SHans de Goede			status = "disabled";
7953ab4af3SHans de Goede		};
80f0e8e8daSMaxime Ripard
81f0e8e8daSMaxime Ripard		framebuffer@2 {
82f0e8e8daSMaxime Ripard			compatible = "allwinner,simple-framebuffer",
83f0e8e8daSMaxime Ripard				     "simple-framebuffer";
84f0e8e8daSMaxime Ripard			allwinner,pipeline = "de_be0-lcd0-tve0";
85f0e8e8daSMaxime Ripard			clocks = <&pll5 1>, <&ahb_gates 34>, <&ahb_gates 36>,
86f0e8e8daSMaxime Ripard				 <&ahb_gates 44>;
87f0e8e8daSMaxime Ripard			status = "disabled";
88f0e8e8daSMaxime Ripard		};
8953ab4af3SHans de Goede	};
9053ab4af3SHans de Goede
9153ab4af3SHans de Goede	clocks {
9253ab4af3SHans de Goede		ahb_gates: clk@01c20060 {
9353ab4af3SHans de Goede			#clock-cells = <1>;
9453ab4af3SHans de Goede			compatible = "allwinner,sun5i-a10s-ahb-gates-clk";
9553ab4af3SHans de Goede			reg = <0x01c20060 0x8>;
9653ab4af3SHans de Goede			clocks = <&ahb>;
97f0e8e8daSMaxime Ripard			clock-indices = <0>, <1>,
98f0e8e8daSMaxime Ripard					<2>, <5>, <6>,
99f0e8e8daSMaxime Ripard					<7>, <8>, <9>,
100f0e8e8daSMaxime Ripard					<10>, <13>,
101f0e8e8daSMaxime Ripard					<14>, <17>, <18>,
102f0e8e8daSMaxime Ripard					<20>, <21>, <22>,
103f0e8e8daSMaxime Ripard					<26>, <28>, <32>,
104f0e8e8daSMaxime Ripard					<34>, <36>, <40>,
105f0e8e8daSMaxime Ripard					<43>, <44>,
106f0e8e8daSMaxime Ripard					<46>, <51>,
107f0e8e8daSMaxime Ripard					<52>;
1088b1ba941SHans de Goede			clock-output-names = "ahb_usbotg", "ahb_ehci",
1098b1ba941SHans de Goede					     "ahb_ohci", "ahb_ss", "ahb_dma",
1108b1ba941SHans de Goede					     "ahb_bist", "ahb_mmc0", "ahb_mmc1",
1118b1ba941SHans de Goede					     "ahb_mmc2", "ahb_nand",
1128b1ba941SHans de Goede					     "ahb_sdram", "ahb_emac", "ahb_ts",
1138b1ba941SHans de Goede					     "ahb_spi0", "ahb_spi1", "ahb_spi2",
1148b1ba941SHans de Goede					     "ahb_gps", "ahb_stimer", "ahb_ve",
1158b1ba941SHans de Goede					     "ahb_tve", "ahb_lcd", "ahb_csi",
1168b1ba941SHans de Goede					     "ahb_hdmi", "ahb_de_be",
1178b1ba941SHans de Goede					     "ahb_de_fe", "ahb_iep",
1188b1ba941SHans de Goede					     "ahb_mali400";
11953ab4af3SHans de Goede		};
12053ab4af3SHans de Goede
12153ab4af3SHans de Goede		apb0_gates: clk@01c20068 {
12253ab4af3SHans de Goede			#clock-cells = <1>;
12353ab4af3SHans de Goede			compatible = "allwinner,sun5i-a10s-apb0-gates-clk";
12453ab4af3SHans de Goede			reg = <0x01c20068 0x4>;
12553ab4af3SHans de Goede			clocks = <&apb0>;
126f0e8e8daSMaxime Ripard			clock-indices = <0>, <3>,
127f0e8e8daSMaxime Ripard					<5>, <6>,
128f0e8e8daSMaxime Ripard					<10>;
1298b1ba941SHans de Goede			clock-output-names = "apb0_codec", "apb0_iis",
1308b1ba941SHans de Goede					     "apb0_pio", "apb0_ir",
1318b1ba941SHans de Goede					     "apb0_keypad";
13253ab4af3SHans de Goede		};
13353ab4af3SHans de Goede
13453ab4af3SHans de Goede		apb1_gates: clk@01c2006c {
13553ab4af3SHans de Goede			#clock-cells = <1>;
13653ab4af3SHans de Goede			compatible = "allwinner,sun5i-a10s-apb1-gates-clk";
13753ab4af3SHans de Goede			reg = <0x01c2006c 0x4>;
13853ab4af3SHans de Goede			clocks = <&apb1>;
139f0e8e8daSMaxime Ripard			clock-indices = <0>, <1>,
140f0e8e8daSMaxime Ripard					<2>, <16>,
141f0e8e8daSMaxime Ripard					<17>, <18>,
142f0e8e8daSMaxime Ripard					<19>;
14353ab4af3SHans de Goede			clock-output-names = "apb1_i2c0", "apb1_i2c1",
144f0e8e8daSMaxime Ripard					     "apb1_i2c2", "apb1_uart0",
145f0e8e8daSMaxime Ripard					     "apb1_uart1", "apb1_uart2",
146f0e8e8daSMaxime Ripard					     "apb1_uart3";
14753ab4af3SHans de Goede		};
14853ab4af3SHans de Goede	};
14953ab4af3SHans de Goede
15053ab4af3SHans de Goede	soc@01c00000 {
15153ab4af3SHans de Goede		emac: ethernet@01c0b000 {
15253ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-emac";
15353ab4af3SHans de Goede			reg = <0x01c0b000 0x1000>;
15453ab4af3SHans de Goede			interrupts = <55>;
15553ab4af3SHans de Goede			clocks = <&ahb_gates 17>;
1568b1ba941SHans de Goede			allwinner,sram = <&emac_sram 1>;
15753ab4af3SHans de Goede			status = "disabled";
15853ab4af3SHans de Goede		};
15953ab4af3SHans de Goede
16053ab4af3SHans de Goede		mdio: mdio@01c0b080 {
16153ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mdio";
16253ab4af3SHans de Goede			reg = <0x01c0b080 0x14>;
16353ab4af3SHans de Goede			status = "disabled";
16453ab4af3SHans de Goede			#address-cells = <1>;
16553ab4af3SHans de Goede			#size-cells = <0>;
16653ab4af3SHans de Goede		};
16753ab4af3SHans de Goede
168f0e8e8daSMaxime Ripard		pwm: pwm@01c20e00 {
169f0e8e8daSMaxime Ripard			compatible = "allwinner,sun5i-a10s-pwm";
170f0e8e8daSMaxime Ripard			reg = <0x01c20e00 0xc>;
171f0e8e8daSMaxime Ripard			clocks = <&osc24M>;
172f0e8e8daSMaxime Ripard			#pwm-cells = <3>;
173f0e8e8daSMaxime Ripard			status = "disabled";
174f0e8e8daSMaxime Ripard		};
175f0e8e8daSMaxime Ripard
17653ab4af3SHans de Goede		uart0: serial@01c28000 {
17753ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
17853ab4af3SHans de Goede			reg = <0x01c28000 0x400>;
17953ab4af3SHans de Goede			interrupts = <1>;
18053ab4af3SHans de Goede			reg-shift = <2>;
18153ab4af3SHans de Goede			reg-io-width = <4>;
18253ab4af3SHans de Goede			clocks = <&apb1_gates 16>;
18353ab4af3SHans de Goede			status = "disabled";
18453ab4af3SHans de Goede		};
18553ab4af3SHans de Goede
18653ab4af3SHans de Goede		uart2: serial@01c28800 {
18753ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
18853ab4af3SHans de Goede			reg = <0x01c28800 0x400>;
18953ab4af3SHans de Goede			interrupts = <3>;
19053ab4af3SHans de Goede			reg-shift = <2>;
19153ab4af3SHans de Goede			reg-io-width = <4>;
19253ab4af3SHans de Goede			clocks = <&apb1_gates 18>;
19353ab4af3SHans de Goede			status = "disabled";
19453ab4af3SHans de Goede		};
19553ab4af3SHans de Goede	};
19653ab4af3SHans de Goede};
19753ab4af3SHans de Goede
19853ab4af3SHans de Goede&pio {
19953ab4af3SHans de Goede	compatible = "allwinner,sun5i-a10s-pinctrl";
20053ab4af3SHans de Goede
20153ab4af3SHans de Goede	uart0_pins_a: uart0@0 {
20253ab4af3SHans de Goede		allwinner,pins = "PB19", "PB20";
20353ab4af3SHans de Goede		allwinner,function = "uart0";
20453ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
20553ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
20653ab4af3SHans de Goede	};
20753ab4af3SHans de Goede
20853ab4af3SHans de Goede	uart2_pins_a: uart2@0 {
20953ab4af3SHans de Goede		allwinner,pins = "PC18", "PC19";
21053ab4af3SHans de Goede		allwinner,function = "uart2";
21153ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
21253ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
21353ab4af3SHans de Goede	};
21453ab4af3SHans de Goede
21553ab4af3SHans de Goede	emac_pins_a: emac0@0 {
21653ab4af3SHans de Goede		allwinner,pins = "PA0", "PA1", "PA2",
21753ab4af3SHans de Goede				"PA3", "PA4", "PA5", "PA6",
21853ab4af3SHans de Goede				"PA7", "PA8", "PA9", "PA10",
21953ab4af3SHans de Goede				"PA11", "PA12", "PA13", "PA14",
22053ab4af3SHans de Goede				"PA15", "PA16";
22153ab4af3SHans de Goede		allwinner,function = "emac";
22253ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
22353ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
22453ab4af3SHans de Goede	};
22553ab4af3SHans de Goede
2262ad76bf2SJelle van der Waa	emac_pins_b: emac0@1 {
2272ad76bf2SJelle van der Waa		allwinner,pins = "PD6", "PD7", "PD10",
2282ad76bf2SJelle van der Waa				"PD11", "PD12", "PD13", "PD14",
2292ad76bf2SJelle van der Waa				"PD15", "PD18", "PD19", "PD20",
2302ad76bf2SJelle van der Waa				"PD21", "PD22", "PD23", "PD24",
2312ad76bf2SJelle van der Waa				"PD25", "PD26", "PD27";
2322ad76bf2SJelle van der Waa		allwinner,function = "emac";
2332ad76bf2SJelle van der Waa		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
2342ad76bf2SJelle van der Waa		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
2352ad76bf2SJelle van der Waa	};
2362ad76bf2SJelle van der Waa
23753ab4af3SHans de Goede	mmc1_pins_a: mmc1@0 {
2388b1ba941SHans de Goede		allwinner,pins = "PG3", "PG4", "PG5",
2398b1ba941SHans de Goede				 "PG6", "PG7", "PG8";
24053ab4af3SHans de Goede		allwinner,function = "mmc1";
24153ab4af3SHans de Goede		allwinner,drive = <SUN4I_PINCTRL_30_MA>;
24253ab4af3SHans de Goede		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
24353ab4af3SHans de Goede	};
244*c1aa7d62SBoris Brezillon
245*c1aa7d62SBoris Brezillon	nand_cs2_pins_a: nand_cs@2 {
246*c1aa7d62SBoris Brezillon		allwinner,pins = "PC17";
247*c1aa7d62SBoris Brezillon		allwinner,function = "nand0";
248*c1aa7d62SBoris Brezillon		allwinner,drive = <0>;
249*c1aa7d62SBoris Brezillon		allwinner,pull = <0>;
250*c1aa7d62SBoris Brezillon	};
251*c1aa7d62SBoris Brezillon
252*c1aa7d62SBoris Brezillon	nand_cs3_pins_a: nand_cs@3 {
253*c1aa7d62SBoris Brezillon		allwinner,pins = "PC18";
254*c1aa7d62SBoris Brezillon		allwinner,function = "nand0";
255*c1aa7d62SBoris Brezillon		allwinner,drive = <0>;
256*c1aa7d62SBoris Brezillon		allwinner,pull = <0>;
257*c1aa7d62SBoris Brezillon	};
25853ab4af3SHans de Goede};
2598b1ba941SHans de Goede
2608b1ba941SHans de Goede&sram_a {
2618b1ba941SHans de Goede	emac_sram: sram-section@8000 {
2628b1ba941SHans de Goede		compatible = "allwinner,sun4i-a10-sram-a3-a4";
2638b1ba941SHans de Goede		reg = <0x8000 0x4000>;
2648b1ba941SHans de Goede		status = "disabled";
2658b1ba941SHans de Goede	};
2668b1ba941SHans de Goede};
267