xref: /freebsd-src/sys/contrib/device-tree/src/arm/allwinner/sun5i-a10s.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot/*
2*f126890aSEmmanuel Vadot * Copyright 2013 Maxime Ripard
3*f126890aSEmmanuel Vadot *
4*f126890aSEmmanuel Vadot * Maxime Ripard <maxime.ripard@free-electrons.com>
5*f126890aSEmmanuel Vadot *
6*f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms
7*f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual
8*f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a
9*f126890aSEmmanuel Vadot * whole.
10*f126890aSEmmanuel Vadot *
11*f126890aSEmmanuel Vadot *  a) This library is free software; you can redistribute it and/or
12*f126890aSEmmanuel Vadot *     modify it under the terms of the GNU General Public License as
13*f126890aSEmmanuel Vadot *     published by the Free Software Foundation; either version 2 of the
14*f126890aSEmmanuel Vadot *     License, or (at your option) any later version.
15*f126890aSEmmanuel Vadot *
16*f126890aSEmmanuel Vadot *     This library is distributed in the hope that it will be useful,
17*f126890aSEmmanuel Vadot *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18*f126890aSEmmanuel Vadot *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19*f126890aSEmmanuel Vadot *     GNU General Public License for more details.
20*f126890aSEmmanuel Vadot *
21*f126890aSEmmanuel Vadot * Or, alternatively,
22*f126890aSEmmanuel Vadot *
23*f126890aSEmmanuel Vadot *  b) Permission is hereby granted, free of charge, to any person
24*f126890aSEmmanuel Vadot *     obtaining a copy of this software and associated documentation
25*f126890aSEmmanuel Vadot *     files (the "Software"), to deal in the Software without
26*f126890aSEmmanuel Vadot *     restriction, including without limitation the rights to use,
27*f126890aSEmmanuel Vadot *     copy, modify, merge, publish, distribute, sublicense, and/or
28*f126890aSEmmanuel Vadot *     sell copies of the Software, and to permit persons to whom the
29*f126890aSEmmanuel Vadot *     Software is furnished to do so, subject to the following
30*f126890aSEmmanuel Vadot *     conditions:
31*f126890aSEmmanuel Vadot *
32*f126890aSEmmanuel Vadot *     The above copyright notice and this permission notice shall be
33*f126890aSEmmanuel Vadot *     included in all copies or substantial portions of the Software.
34*f126890aSEmmanuel Vadot *
35*f126890aSEmmanuel Vadot *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36*f126890aSEmmanuel Vadot *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37*f126890aSEmmanuel Vadot *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38*f126890aSEmmanuel Vadot *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39*f126890aSEmmanuel Vadot *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40*f126890aSEmmanuel Vadot *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41*f126890aSEmmanuel Vadot *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42*f126890aSEmmanuel Vadot *     OTHER DEALINGS IN THE SOFTWARE.
43*f126890aSEmmanuel Vadot */
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot#include "sun5i.dtsi"
46*f126890aSEmmanuel Vadot
47*f126890aSEmmanuel Vadot#include <dt-bindings/dma/sun4i-a10.h>
48*f126890aSEmmanuel Vadot
49*f126890aSEmmanuel Vadot/ {
50*f126890aSEmmanuel Vadot	aliases {
51*f126890aSEmmanuel Vadot		ethernet0 = &emac;
52*f126890aSEmmanuel Vadot	};
53*f126890aSEmmanuel Vadot
54*f126890aSEmmanuel Vadot	chosen {
55*f126890aSEmmanuel Vadot		#address-cells = <1>;
56*f126890aSEmmanuel Vadot		#size-cells = <1>;
57*f126890aSEmmanuel Vadot		ranges;
58*f126890aSEmmanuel Vadot
59*f126890aSEmmanuel Vadot		framebuffer-lcd0-hdmi {
60*f126890aSEmmanuel Vadot			compatible = "allwinner,simple-framebuffer",
61*f126890aSEmmanuel Vadot				     "simple-framebuffer";
62*f126890aSEmmanuel Vadot			allwinner,pipeline = "de_be0-lcd0-hdmi";
63*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_LCD>, <&ccu CLK_AHB_HDMI>,
64*f126890aSEmmanuel Vadot				 <&ccu CLK_AHB_DE_BE>, <&ccu CLK_DRAM_DE_BE>,
65*f126890aSEmmanuel Vadot				 <&ccu CLK_DE_BE>, <&ccu CLK_HDMI>;
66*f126890aSEmmanuel Vadot			status = "disabled";
67*f126890aSEmmanuel Vadot		};
68*f126890aSEmmanuel Vadot	};
69*f126890aSEmmanuel Vadot
70*f126890aSEmmanuel Vadot	display-engine {
71*f126890aSEmmanuel Vadot		compatible = "allwinner,sun5i-a10s-display-engine";
72*f126890aSEmmanuel Vadot		allwinner,pipelines = <&fe0>;
73*f126890aSEmmanuel Vadot	};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot	soc {
76*f126890aSEmmanuel Vadot		hdmi: hdmi@1c16000 {
77*f126890aSEmmanuel Vadot			compatible = "allwinner,sun5i-a10s-hdmi";
78*f126890aSEmmanuel Vadot			reg = <0x01c16000 0x1000>;
79*f126890aSEmmanuel Vadot			interrupts = <58>;
80*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_HDMI>, <&ccu CLK_HDMI>,
81*f126890aSEmmanuel Vadot				 <&ccu CLK_PLL_VIDEO0_2X>,
82*f126890aSEmmanuel Vadot				 <&ccu CLK_PLL_VIDEO1_2X>;
83*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod", "pll-0", "pll-1";
84*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_NORMAL 16>,
85*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_NORMAL 16>,
86*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_DEDICATED 24>;
87*f126890aSEmmanuel Vadot			dma-names = "ddc-tx", "ddc-rx", "audio-tx";
88*f126890aSEmmanuel Vadot			status = "disabled";
89*f126890aSEmmanuel Vadot
90*f126890aSEmmanuel Vadot			ports {
91*f126890aSEmmanuel Vadot				#address-cells = <1>;
92*f126890aSEmmanuel Vadot				#size-cells = <0>;
93*f126890aSEmmanuel Vadot
94*f126890aSEmmanuel Vadot				hdmi_in: port@0 {
95*f126890aSEmmanuel Vadot					reg = <0>;
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot					hdmi_in_tcon0: endpoint {
98*f126890aSEmmanuel Vadot						remote-endpoint = <&tcon0_out_hdmi>;
99*f126890aSEmmanuel Vadot					};
100*f126890aSEmmanuel Vadot				};
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot				hdmi_out: port@1 {
103*f126890aSEmmanuel Vadot					reg = <1>;
104*f126890aSEmmanuel Vadot				};
105*f126890aSEmmanuel Vadot			};
106*f126890aSEmmanuel Vadot		};
107*f126890aSEmmanuel Vadot
108*f126890aSEmmanuel Vadot		pwm: pwm@1c20e00 {
109*f126890aSEmmanuel Vadot			compatible = "allwinner,sun5i-a10s-pwm";
110*f126890aSEmmanuel Vadot			reg = <0x01c20e00 0xc>;
111*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_HOSC>;
112*f126890aSEmmanuel Vadot			#pwm-cells = <3>;
113*f126890aSEmmanuel Vadot			status = "disabled";
114*f126890aSEmmanuel Vadot		};
115*f126890aSEmmanuel Vadot	};
116*f126890aSEmmanuel Vadot};
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot&ccu {
119*f126890aSEmmanuel Vadot	compatible = "allwinner,sun5i-a10s-ccu";
120*f126890aSEmmanuel Vadot};
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot&mmc1 {
123*f126890aSEmmanuel Vadot	pinctrl-names = "default";
124*f126890aSEmmanuel Vadot	pinctrl-0 = <&mmc1_pins>;
125*f126890aSEmmanuel Vadot};
126*f126890aSEmmanuel Vadot
127*f126890aSEmmanuel Vadot&pio {
128*f126890aSEmmanuel Vadot	compatible = "allwinner,sun5i-a10s-pinctrl";
129*f126890aSEmmanuel Vadot
130*f126890aSEmmanuel Vadot	uart0_pb_pins: uart0-pb-pins {
131*f126890aSEmmanuel Vadot		pins = "PB19", "PB20";
132*f126890aSEmmanuel Vadot		function = "uart0";
133*f126890aSEmmanuel Vadot	};
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot	uart2_pc_pins: uart2-pc-pins {
136*f126890aSEmmanuel Vadot		pins = "PC18", "PC19";
137*f126890aSEmmanuel Vadot		function = "uart2";
138*f126890aSEmmanuel Vadot	};
139*f126890aSEmmanuel Vadot
140*f126890aSEmmanuel Vadot	emac_pa_pins: emac-pa-pins {
141*f126890aSEmmanuel Vadot		pins = "PA0", "PA1", "PA2",
142*f126890aSEmmanuel Vadot				"PA3", "PA4", "PA5", "PA6",
143*f126890aSEmmanuel Vadot				"PA7", "PA8", "PA9", "PA10",
144*f126890aSEmmanuel Vadot				"PA11", "PA12", "PA13", "PA14",
145*f126890aSEmmanuel Vadot				"PA15", "PA16";
146*f126890aSEmmanuel Vadot		function = "emac";
147*f126890aSEmmanuel Vadot	};
148*f126890aSEmmanuel Vadot
149*f126890aSEmmanuel Vadot	mmc1_pins: mmc1-pins {
150*f126890aSEmmanuel Vadot		pins = "PG3", "PG4", "PG5",
151*f126890aSEmmanuel Vadot				 "PG6", "PG7", "PG8";
152*f126890aSEmmanuel Vadot		function = "mmc1";
153*f126890aSEmmanuel Vadot		drive-strength = <30>;
154*f126890aSEmmanuel Vadot	};
155*f126890aSEmmanuel Vadot
156*f126890aSEmmanuel Vadot	spi2_pb_pins: spi2-pb-pins {
157*f126890aSEmmanuel Vadot		pins = "PB12", "PB13", "PB14";
158*f126890aSEmmanuel Vadot		function = "spi2";
159*f126890aSEmmanuel Vadot	};
160*f126890aSEmmanuel Vadot
161*f126890aSEmmanuel Vadot	spi2_cs0_pb_pin: spi2-cs0-pb-pin {
162*f126890aSEmmanuel Vadot		pins = "PB11";
163*f126890aSEmmanuel Vadot		function = "spi2";
164*f126890aSEmmanuel Vadot	};
165*f126890aSEmmanuel Vadot};
166*f126890aSEmmanuel Vadot
167*f126890aSEmmanuel Vadot&tcon0_out {
168*f126890aSEmmanuel Vadot	tcon0_out_hdmi: endpoint@2 {
169*f126890aSEmmanuel Vadot		reg = <2>;
170*f126890aSEmmanuel Vadot		remote-endpoint = <&hdmi_in_tcon0>;
171*f126890aSEmmanuel Vadot		allwinner,tcon-channel = <1>;
172*f126890aSEmmanuel Vadot	};
173*f126890aSEmmanuel Vadot};
174