xref: /freebsd/sys/contrib/device-tree/src/arm/cirrus/ep93xx.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*b2d2a78aSEmmanuel Vadot/*
3*b2d2a78aSEmmanuel Vadot * Device Tree file for Cirrus Logic systems EP93XX SoC
4*b2d2a78aSEmmanuel Vadot */
5*b2d2a78aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
6*b2d2a78aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
7*b2d2a78aSEmmanuel Vadot#include <dt-bindings/input/input.h>
8*b2d2a78aSEmmanuel Vadot#include <dt-bindings/clock/cirrus,ep9301-syscon.h>
9*b2d2a78aSEmmanuel Vadot/ {
10*b2d2a78aSEmmanuel Vadot	soc: soc {
11*b2d2a78aSEmmanuel Vadot		compatible = "simple-bus";
12*b2d2a78aSEmmanuel Vadot		ranges;
13*b2d2a78aSEmmanuel Vadot		#address-cells = <1>;
14*b2d2a78aSEmmanuel Vadot		#size-cells = <1>;
15*b2d2a78aSEmmanuel Vadot
16*b2d2a78aSEmmanuel Vadot		syscon: syscon@80930000 {
17*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-syscon", "syscon";
18*b2d2a78aSEmmanuel Vadot			reg = <0x80930000 0x1000>;
19*b2d2a78aSEmmanuel Vadot
20*b2d2a78aSEmmanuel Vadot			#clock-cells = <1>;
21*b2d2a78aSEmmanuel Vadot			clocks = <&xtali>;
22*b2d2a78aSEmmanuel Vadot
23*b2d2a78aSEmmanuel Vadot			spi_default_pins: pins-spi {
24*b2d2a78aSEmmanuel Vadot				function = "spi";
25*b2d2a78aSEmmanuel Vadot				groups = "ssp";
26*b2d2a78aSEmmanuel Vadot			};
27*b2d2a78aSEmmanuel Vadot
28*b2d2a78aSEmmanuel Vadot			ac97_default_pins: pins-ac97 {
29*b2d2a78aSEmmanuel Vadot				function = "ac97";
30*b2d2a78aSEmmanuel Vadot				groups = "ac97";
31*b2d2a78aSEmmanuel Vadot			};
32*b2d2a78aSEmmanuel Vadot
33*b2d2a78aSEmmanuel Vadot			i2s_on_ssp_pins: pins-i2sonssp {
34*b2d2a78aSEmmanuel Vadot				function = "i2s";
35*b2d2a78aSEmmanuel Vadot				groups = "i2s_on_ssp";
36*b2d2a78aSEmmanuel Vadot			};
37*b2d2a78aSEmmanuel Vadot
38*b2d2a78aSEmmanuel Vadot			i2s_on_ac97_pins: pins-i2sonac97 {
39*b2d2a78aSEmmanuel Vadot				function = "i2s";
40*b2d2a78aSEmmanuel Vadot				groups = "i2s_on_ac97";
41*b2d2a78aSEmmanuel Vadot			};
42*b2d2a78aSEmmanuel Vadot
43*b2d2a78aSEmmanuel Vadot			gpio1_default_pins: pins-gpio1 {
44*b2d2a78aSEmmanuel Vadot				function = "gpio";
45*b2d2a78aSEmmanuel Vadot				groups = "gpio1agrp";
46*b2d2a78aSEmmanuel Vadot			};
47*b2d2a78aSEmmanuel Vadot
48*b2d2a78aSEmmanuel Vadot			pwm1_default_pins: pins-pwm1 {
49*b2d2a78aSEmmanuel Vadot				function = "pwm";
50*b2d2a78aSEmmanuel Vadot				groups = "pwm1";
51*b2d2a78aSEmmanuel Vadot			};
52*b2d2a78aSEmmanuel Vadot
53*b2d2a78aSEmmanuel Vadot			gpio2_default_pins: pins-gpio2 {
54*b2d2a78aSEmmanuel Vadot				function = "gpio";
55*b2d2a78aSEmmanuel Vadot				groups = "gpio2agrp";
56*b2d2a78aSEmmanuel Vadot			};
57*b2d2a78aSEmmanuel Vadot
58*b2d2a78aSEmmanuel Vadot			gpio3_default_pins: pins-gpio3 {
59*b2d2a78aSEmmanuel Vadot				function = "gpio";
60*b2d2a78aSEmmanuel Vadot				groups = "gpio3agrp";
61*b2d2a78aSEmmanuel Vadot			};
62*b2d2a78aSEmmanuel Vadot
63*b2d2a78aSEmmanuel Vadot			keypad_default_pins: pins-keypad {
64*b2d2a78aSEmmanuel Vadot				function = "keypad";
65*b2d2a78aSEmmanuel Vadot				groups = "keypadgrp";
66*b2d2a78aSEmmanuel Vadot			};
67*b2d2a78aSEmmanuel Vadot
68*b2d2a78aSEmmanuel Vadot			gpio4_default_pins: pins-gpio4 {
69*b2d2a78aSEmmanuel Vadot				function = "gpio";
70*b2d2a78aSEmmanuel Vadot				groups = "gpio4agrp";
71*b2d2a78aSEmmanuel Vadot			};
72*b2d2a78aSEmmanuel Vadot
73*b2d2a78aSEmmanuel Vadot			gpio6_default_pins: pins-gpio6 {
74*b2d2a78aSEmmanuel Vadot				function = "gpio";
75*b2d2a78aSEmmanuel Vadot				groups = "gpio6agrp";
76*b2d2a78aSEmmanuel Vadot			};
77*b2d2a78aSEmmanuel Vadot
78*b2d2a78aSEmmanuel Vadot			gpio7_default_pins: pins-gpio7 {
79*b2d2a78aSEmmanuel Vadot				function = "gpio";
80*b2d2a78aSEmmanuel Vadot				groups = "gpio7agrp";
81*b2d2a78aSEmmanuel Vadot			};
82*b2d2a78aSEmmanuel Vadot
83*b2d2a78aSEmmanuel Vadot			ide_default_pins: pins-ide {
84*b2d2a78aSEmmanuel Vadot				function = "pata";
85*b2d2a78aSEmmanuel Vadot				groups = "idegrp";
86*b2d2a78aSEmmanuel Vadot			};
87*b2d2a78aSEmmanuel Vadot
88*b2d2a78aSEmmanuel Vadot			lcd_on_dram0_pins: pins-rasteronsdram0 {
89*b2d2a78aSEmmanuel Vadot				function = "lcd";
90*b2d2a78aSEmmanuel Vadot				groups = "rasteronsdram0grp";
91*b2d2a78aSEmmanuel Vadot			};
92*b2d2a78aSEmmanuel Vadot
93*b2d2a78aSEmmanuel Vadot			lcd_on_dram3_pins: pins-rasteronsdram3 {
94*b2d2a78aSEmmanuel Vadot				function = "lcd";
95*b2d2a78aSEmmanuel Vadot				groups = "rasteronsdram3grp";
96*b2d2a78aSEmmanuel Vadot			};
97*b2d2a78aSEmmanuel Vadot		};
98*b2d2a78aSEmmanuel Vadot
99*b2d2a78aSEmmanuel Vadot		adc: adc@80900000 {
100*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-adc";
101*b2d2a78aSEmmanuel Vadot			reg = <0x80900000 0x28>;
102*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_ADC>;
103*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic0>;
104*b2d2a78aSEmmanuel Vadot			interrupts = <30>;
105*b2d2a78aSEmmanuel Vadot			status = "disabled";
106*b2d2a78aSEmmanuel Vadot		};
107*b2d2a78aSEmmanuel Vadot
108*b2d2a78aSEmmanuel Vadot		/*
109*b2d2a78aSEmmanuel Vadot		 * The EP93XX expansion bus is a set of up to 7 each up to 16MB
110*b2d2a78aSEmmanuel Vadot		 * windows in the 256MB space from 0x50000000 to 0x5fffffff.
111*b2d2a78aSEmmanuel Vadot		 * But since we don't require to setup it in any way, we can
112*b2d2a78aSEmmanuel Vadot		 * represent it as a simple-bus.
113*b2d2a78aSEmmanuel Vadot		 */
114*b2d2a78aSEmmanuel Vadot		ebi: bus@80080000 {
115*b2d2a78aSEmmanuel Vadot			compatible = "simple-bus";
116*b2d2a78aSEmmanuel Vadot			reg = <0x80080000 0x20>;
117*b2d2a78aSEmmanuel Vadot			native-endian;
118*b2d2a78aSEmmanuel Vadot			#address-cells = <1>;
119*b2d2a78aSEmmanuel Vadot			#size-cells = <1>;
120*b2d2a78aSEmmanuel Vadot			ranges;
121*b2d2a78aSEmmanuel Vadot		};
122*b2d2a78aSEmmanuel Vadot
123*b2d2a78aSEmmanuel Vadot		dma0: dma-controller@80000000 {
124*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-dma-m2p";
125*b2d2a78aSEmmanuel Vadot			reg = <0x80000000 0x0040>,
126*b2d2a78aSEmmanuel Vadot			      <0x80000040 0x0040>,
127*b2d2a78aSEmmanuel Vadot			      <0x80000080 0x0040>,
128*b2d2a78aSEmmanuel Vadot			      <0x800000c0 0x0040>,
129*b2d2a78aSEmmanuel Vadot			      <0x80000240 0x0040>,
130*b2d2a78aSEmmanuel Vadot			      <0x80000200 0x0040>,
131*b2d2a78aSEmmanuel Vadot			      <0x800002c0 0x0040>,
132*b2d2a78aSEmmanuel Vadot			      <0x80000280 0x0040>,
133*b2d2a78aSEmmanuel Vadot			      <0x80000340 0x0040>,
134*b2d2a78aSEmmanuel Vadot			      <0x80000300 0x0040>;
135*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_M2P0>,
136*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2P1>,
137*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2P2>,
138*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2P3>,
139*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2P4>,
140*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2P5>,
141*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2P6>,
142*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2P7>,
143*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2P8>,
144*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2P9>;
145*b2d2a78aSEmmanuel Vadot			clock-names = "m2p0", "m2p1",
146*b2d2a78aSEmmanuel Vadot				      "m2p2", "m2p3",
147*b2d2a78aSEmmanuel Vadot				      "m2p4", "m2p5",
148*b2d2a78aSEmmanuel Vadot				      "m2p6", "m2p7",
149*b2d2a78aSEmmanuel Vadot				      "m2p8", "m2p9";
150*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic0>;
151*b2d2a78aSEmmanuel Vadot			interrupts = <7>, <8>, <9>, <10>, <11>,
152*b2d2a78aSEmmanuel Vadot				<12>, <13>, <14>, <15>, <16>;
153*b2d2a78aSEmmanuel Vadot			#dma-cells = <2>;
154*b2d2a78aSEmmanuel Vadot		};
155*b2d2a78aSEmmanuel Vadot
156*b2d2a78aSEmmanuel Vadot		dma1: dma-controller@80000100 {
157*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-dma-m2m";
158*b2d2a78aSEmmanuel Vadot			reg = <0x80000100 0x0040>,
159*b2d2a78aSEmmanuel Vadot			      <0x80000140 0x0040>;
160*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_M2M0>,
161*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_M2M1>;
162*b2d2a78aSEmmanuel Vadot			clock-names = "m2m0", "m2m1";
163*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic0>;
164*b2d2a78aSEmmanuel Vadot			interrupts = <17>, <18>;
165*b2d2a78aSEmmanuel Vadot			#dma-cells = <2>;
166*b2d2a78aSEmmanuel Vadot		};
167*b2d2a78aSEmmanuel Vadot
168*b2d2a78aSEmmanuel Vadot		eth0: ethernet@80010000 {
169*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-eth";
170*b2d2a78aSEmmanuel Vadot			reg = <0x80010000 0x10000>;
171*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
172*b2d2a78aSEmmanuel Vadot			interrupts = <7>;
173*b2d2a78aSEmmanuel Vadot			mdio0: mdio {
174*b2d2a78aSEmmanuel Vadot				#address-cells = <1>;
175*b2d2a78aSEmmanuel Vadot				#size-cells = <0>;
176*b2d2a78aSEmmanuel Vadot			};
177*b2d2a78aSEmmanuel Vadot		};
178*b2d2a78aSEmmanuel Vadot
179*b2d2a78aSEmmanuel Vadot		gpio0: gpio@80840000 {
180*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-gpio";
181*b2d2a78aSEmmanuel Vadot			reg = <0x80840000 0x04>,
182*b2d2a78aSEmmanuel Vadot			      <0x80840010 0x04>,
183*b2d2a78aSEmmanuel Vadot			      <0x80840090 0x1c>;
184*b2d2a78aSEmmanuel Vadot			reg-names = "data", "dir", "intr";
185*b2d2a78aSEmmanuel Vadot			gpio-controller;
186*b2d2a78aSEmmanuel Vadot			#gpio-cells = <2>;
187*b2d2a78aSEmmanuel Vadot			interrupt-controller;
188*b2d2a78aSEmmanuel Vadot			#interrupt-cells = <2>;
189*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
190*b2d2a78aSEmmanuel Vadot			interrupts = <27>;
191*b2d2a78aSEmmanuel Vadot		};
192*b2d2a78aSEmmanuel Vadot
193*b2d2a78aSEmmanuel Vadot		gpio1: gpio@80840004 {
194*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-gpio";
195*b2d2a78aSEmmanuel Vadot			reg = <0x80840004 0x04>,
196*b2d2a78aSEmmanuel Vadot			      <0x80840014 0x04>,
197*b2d2a78aSEmmanuel Vadot			      <0x808400ac 0x1c>;
198*b2d2a78aSEmmanuel Vadot			reg-names = "data", "dir", "intr";
199*b2d2a78aSEmmanuel Vadot			gpio-controller;
200*b2d2a78aSEmmanuel Vadot			#gpio-cells = <2>;
201*b2d2a78aSEmmanuel Vadot			interrupt-controller;
202*b2d2a78aSEmmanuel Vadot			#interrupt-cells = <2>;
203*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
204*b2d2a78aSEmmanuel Vadot			interrupts = <27>;
205*b2d2a78aSEmmanuel Vadot		};
206*b2d2a78aSEmmanuel Vadot
207*b2d2a78aSEmmanuel Vadot		gpio2: gpio@80840008 {
208*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-gpio";
209*b2d2a78aSEmmanuel Vadot			reg = <0x80840008 0x04>,
210*b2d2a78aSEmmanuel Vadot			      <0x80840018 0x04>;
211*b2d2a78aSEmmanuel Vadot			reg-names = "data", "dir";
212*b2d2a78aSEmmanuel Vadot			gpio-controller;
213*b2d2a78aSEmmanuel Vadot			#gpio-cells = <2>;
214*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
215*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&gpio2_default_pins>;
216*b2d2a78aSEmmanuel Vadot		};
217*b2d2a78aSEmmanuel Vadot
218*b2d2a78aSEmmanuel Vadot		gpio3: gpio@8084000c {
219*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-gpio";
220*b2d2a78aSEmmanuel Vadot			reg = <0x8084000c 0x04>,
221*b2d2a78aSEmmanuel Vadot			      <0x8084001c 0x04>;
222*b2d2a78aSEmmanuel Vadot			reg-names = "data", "dir";
223*b2d2a78aSEmmanuel Vadot			gpio-controller;
224*b2d2a78aSEmmanuel Vadot			#gpio-cells = <2>;
225*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
226*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&gpio3_default_pins>;
227*b2d2a78aSEmmanuel Vadot		};
228*b2d2a78aSEmmanuel Vadot
229*b2d2a78aSEmmanuel Vadot		gpio4: gpio@80840020 {
230*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-gpio";
231*b2d2a78aSEmmanuel Vadot			reg = <0x80840020 0x04>,
232*b2d2a78aSEmmanuel Vadot			      <0x80840024 0x04>;
233*b2d2a78aSEmmanuel Vadot			reg-names = "data", "dir";
234*b2d2a78aSEmmanuel Vadot			gpio-controller;
235*b2d2a78aSEmmanuel Vadot			#gpio-cells = <2>;
236*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
237*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&gpio4_default_pins>;
238*b2d2a78aSEmmanuel Vadot		};
239*b2d2a78aSEmmanuel Vadot
240*b2d2a78aSEmmanuel Vadot		gpio5: gpio@80840030 {
241*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-gpio";
242*b2d2a78aSEmmanuel Vadot			reg = <0x80840030 0x04>,
243*b2d2a78aSEmmanuel Vadot			      <0x80840034 0x04>,
244*b2d2a78aSEmmanuel Vadot			      <0x8084004c 0x1c>;
245*b2d2a78aSEmmanuel Vadot			reg-names = "data", "dir", "intr";
246*b2d2a78aSEmmanuel Vadot			gpio-controller;
247*b2d2a78aSEmmanuel Vadot			#gpio-cells = <2>;
248*b2d2a78aSEmmanuel Vadot			interrupt-controller;
249*b2d2a78aSEmmanuel Vadot			#interrupt-cells = <2>;
250*b2d2a78aSEmmanuel Vadot			interrupts-extended = <&vic0 19>, <&vic0 20>,
251*b2d2a78aSEmmanuel Vadot					      <&vic0 21>, <&vic0 22>,
252*b2d2a78aSEmmanuel Vadot					      <&vic1 15>, <&vic1 16>,
253*b2d2a78aSEmmanuel Vadot					      <&vic1 17>, <&vic1 18>;
254*b2d2a78aSEmmanuel Vadot		};
255*b2d2a78aSEmmanuel Vadot
256*b2d2a78aSEmmanuel Vadot		gpio6: gpio@80840038 {
257*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-gpio";
258*b2d2a78aSEmmanuel Vadot			reg = <0x80840038 0x04>,
259*b2d2a78aSEmmanuel Vadot			      <0x8084003c 0x04>;
260*b2d2a78aSEmmanuel Vadot			reg-names = "data", "dir";
261*b2d2a78aSEmmanuel Vadot			gpio-controller;
262*b2d2a78aSEmmanuel Vadot			#gpio-cells = <2>;
263*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
264*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&gpio6_default_pins>;
265*b2d2a78aSEmmanuel Vadot		};
266*b2d2a78aSEmmanuel Vadot
267*b2d2a78aSEmmanuel Vadot		gpio7: gpio@80840040 {
268*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-gpio";
269*b2d2a78aSEmmanuel Vadot			reg = <0x80840040 0x04>,
270*b2d2a78aSEmmanuel Vadot			      <0x80840044 0x04>;
271*b2d2a78aSEmmanuel Vadot			reg-names = "data", "dir";
272*b2d2a78aSEmmanuel Vadot			gpio-controller;
273*b2d2a78aSEmmanuel Vadot			#gpio-cells = <2>;
274*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
275*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&gpio7_default_pins>;
276*b2d2a78aSEmmanuel Vadot		};
277*b2d2a78aSEmmanuel Vadot
278*b2d2a78aSEmmanuel Vadot		i2s: i2s@80820000 {
279*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-i2s";
280*b2d2a78aSEmmanuel Vadot			reg = <0x80820000 0x100>;
281*b2d2a78aSEmmanuel Vadot			#sound-dai-cells = <0>;
282*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
283*b2d2a78aSEmmanuel Vadot			interrupts = <28>;
284*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_I2S_MCLK>,
285*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_I2S_SCLK>,
286*b2d2a78aSEmmanuel Vadot				 <&syscon EP93XX_CLK_I2S_LRCLK>;
287*b2d2a78aSEmmanuel Vadot			clock-names = "mclk", "sclk", "lrclk";
288*b2d2a78aSEmmanuel Vadot			dmas = <&dma0 0 1>, <&dma0 0 2>;
289*b2d2a78aSEmmanuel Vadot			dma-names = "tx", "rx";
290*b2d2a78aSEmmanuel Vadot			status = "disabled";
291*b2d2a78aSEmmanuel Vadot		};
292*b2d2a78aSEmmanuel Vadot
293*b2d2a78aSEmmanuel Vadot		ide: ide@800a0000 {
294*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9312-pata";
295*b2d2a78aSEmmanuel Vadot			reg = <0x800a0000 0x38>;
296*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
297*b2d2a78aSEmmanuel Vadot			interrupts = <8>;
298*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
299*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&ide_default_pins>;
300*b2d2a78aSEmmanuel Vadot			status = "disabled";
301*b2d2a78aSEmmanuel Vadot		};
302*b2d2a78aSEmmanuel Vadot
303*b2d2a78aSEmmanuel Vadot		vic0: interrupt-controller@800b0000 {
304*b2d2a78aSEmmanuel Vadot			compatible = "arm,pl192-vic";
305*b2d2a78aSEmmanuel Vadot			reg = <0x800b0000 0x1000>;
306*b2d2a78aSEmmanuel Vadot			interrupt-controller;
307*b2d2a78aSEmmanuel Vadot			#interrupt-cells = <1>;
308*b2d2a78aSEmmanuel Vadot			valid-mask = <0x7ffffffc>;
309*b2d2a78aSEmmanuel Vadot			valid-wakeup-mask = <0x0>;
310*b2d2a78aSEmmanuel Vadot		};
311*b2d2a78aSEmmanuel Vadot
312*b2d2a78aSEmmanuel Vadot		vic1: interrupt-controller@800c0000 {
313*b2d2a78aSEmmanuel Vadot			compatible = "arm,pl192-vic";
314*b2d2a78aSEmmanuel Vadot			reg = <0x800c0000 0x1000>;
315*b2d2a78aSEmmanuel Vadot			interrupt-controller;
316*b2d2a78aSEmmanuel Vadot			#interrupt-cells = <1>;
317*b2d2a78aSEmmanuel Vadot			valid-mask = <0x1fffffff>;
318*b2d2a78aSEmmanuel Vadot			valid-wakeup-mask = <0x0>;
319*b2d2a78aSEmmanuel Vadot		};
320*b2d2a78aSEmmanuel Vadot
321*b2d2a78aSEmmanuel Vadot		keypad: keypad@800f0000 {
322*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9307-keypad";
323*b2d2a78aSEmmanuel Vadot			reg = <0x800f0000 0x0c>;
324*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic0>;
325*b2d2a78aSEmmanuel Vadot			interrupts = <29>;
326*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_KEYPAD>;
327*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
328*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&keypad_default_pins>;
329*b2d2a78aSEmmanuel Vadot			linux,keymap =	<KEY_UP>,
330*b2d2a78aSEmmanuel Vadot					<KEY_DOWN>,
331*b2d2a78aSEmmanuel Vadot					<KEY_VOLUMEDOWN>,
332*b2d2a78aSEmmanuel Vadot					<KEY_HOME>,
333*b2d2a78aSEmmanuel Vadot					<KEY_RIGHT>,
334*b2d2a78aSEmmanuel Vadot					<KEY_LEFT>,
335*b2d2a78aSEmmanuel Vadot					<KEY_ENTER>,
336*b2d2a78aSEmmanuel Vadot					<KEY_VOLUMEUP>,
337*b2d2a78aSEmmanuel Vadot					<KEY_F6>,
338*b2d2a78aSEmmanuel Vadot					<KEY_F8>,
339*b2d2a78aSEmmanuel Vadot					<KEY_F9>,
340*b2d2a78aSEmmanuel Vadot					<KEY_F10>,
341*b2d2a78aSEmmanuel Vadot					<KEY_F1>,
342*b2d2a78aSEmmanuel Vadot					<KEY_F2>,
343*b2d2a78aSEmmanuel Vadot					<KEY_F3>,
344*b2d2a78aSEmmanuel Vadot					<KEY_POWER>;
345*b2d2a78aSEmmanuel Vadot		};
346*b2d2a78aSEmmanuel Vadot
347*b2d2a78aSEmmanuel Vadot		pwm0: pwm@80910000 {
348*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-pwm";
349*b2d2a78aSEmmanuel Vadot			reg = <0x80910000 0x10>;
350*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_PWM>;
351*b2d2a78aSEmmanuel Vadot			#pwm-cells = <3>;
352*b2d2a78aSEmmanuel Vadot			status = "disabled";
353*b2d2a78aSEmmanuel Vadot		};
354*b2d2a78aSEmmanuel Vadot
355*b2d2a78aSEmmanuel Vadot		pwm1: pwm@80910020 {
356*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-pwm";
357*b2d2a78aSEmmanuel Vadot			reg = <0x80910020 0x10>;
358*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_PWM>;
359*b2d2a78aSEmmanuel Vadot			#pwm-cells = <3>;
360*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
361*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&pwm1_default_pins>;
362*b2d2a78aSEmmanuel Vadot			status = "disabled";
363*b2d2a78aSEmmanuel Vadot		};
364*b2d2a78aSEmmanuel Vadot
365*b2d2a78aSEmmanuel Vadot		rtc0: rtc@80920000 {
366*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-rtc";
367*b2d2a78aSEmmanuel Vadot			reg = <0x80920000 0x100>;
368*b2d2a78aSEmmanuel Vadot		};
369*b2d2a78aSEmmanuel Vadot
370*b2d2a78aSEmmanuel Vadot		spi0: spi@808a0000 {
371*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-spi";
372*b2d2a78aSEmmanuel Vadot			reg = <0x808a0000 0x18>;
373*b2d2a78aSEmmanuel Vadot			#address-cells = <1>;
374*b2d2a78aSEmmanuel Vadot			#size-cells = <0>;
375*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
376*b2d2a78aSEmmanuel Vadot			interrupts = <21>;
377*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_SPI>;
378*b2d2a78aSEmmanuel Vadot			pinctrl-names = "default";
379*b2d2a78aSEmmanuel Vadot			pinctrl-0 = <&spi_default_pins>;
380*b2d2a78aSEmmanuel Vadot			status = "disabled";
381*b2d2a78aSEmmanuel Vadot		};
382*b2d2a78aSEmmanuel Vadot
383*b2d2a78aSEmmanuel Vadot		timer: timer@80810000 {
384*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-timer";
385*b2d2a78aSEmmanuel Vadot			reg = <0x80810000 0x100>;
386*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
387*b2d2a78aSEmmanuel Vadot			interrupts = <19>;
388*b2d2a78aSEmmanuel Vadot		};
389*b2d2a78aSEmmanuel Vadot
390*b2d2a78aSEmmanuel Vadot		uart0: serial@808c0000 {
391*b2d2a78aSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
392*b2d2a78aSEmmanuel Vadot			reg = <0x808c0000 0x1000>;
393*b2d2a78aSEmmanuel Vadot			arm,primecell-periphid = <0x00041010>;
394*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_UART1>, <&syscon EP93XX_CLK_UART>;
395*b2d2a78aSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
396*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
397*b2d2a78aSEmmanuel Vadot			interrupts = <20>;
398*b2d2a78aSEmmanuel Vadot			status = "disabled";
399*b2d2a78aSEmmanuel Vadot		};
400*b2d2a78aSEmmanuel Vadot
401*b2d2a78aSEmmanuel Vadot		uart1: uart@808d0000 {
402*b2d2a78aSEmmanuel Vadot			compatible = "arm,primecell";
403*b2d2a78aSEmmanuel Vadot			reg = <0x808d0000 0x1000>;
404*b2d2a78aSEmmanuel Vadot			arm,primecell-periphid = <0x00041010>;
405*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_UART2>, <&syscon EP93XX_CLK_UART>;
406*b2d2a78aSEmmanuel Vadot			clock-names = "apb:uart2", "apb_pclk";
407*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
408*b2d2a78aSEmmanuel Vadot			interrupts = <22>;
409*b2d2a78aSEmmanuel Vadot			status = "disabled";
410*b2d2a78aSEmmanuel Vadot		};
411*b2d2a78aSEmmanuel Vadot
412*b2d2a78aSEmmanuel Vadot		uart2: uart@808b0000 {
413*b2d2a78aSEmmanuel Vadot			compatible = "arm,primecell";
414*b2d2a78aSEmmanuel Vadot			reg = <0x808b0000 0x1000>;
415*b2d2a78aSEmmanuel Vadot			arm,primecell-periphid = <0x00041010>;
416*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_UART3>, <&syscon EP93XX_CLK_UART>;
417*b2d2a78aSEmmanuel Vadot			clock-names = "apb:uart3", "apb_pclk";
418*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
419*b2d2a78aSEmmanuel Vadot			interrupts = <23>;
420*b2d2a78aSEmmanuel Vadot			status = "disabled";
421*b2d2a78aSEmmanuel Vadot		};
422*b2d2a78aSEmmanuel Vadot
423*b2d2a78aSEmmanuel Vadot		usb0: usb@80020000 {
424*b2d2a78aSEmmanuel Vadot			compatible = "generic-ohci";
425*b2d2a78aSEmmanuel Vadot			reg = <0x80020000 0x10000>;
426*b2d2a78aSEmmanuel Vadot			interrupt-parent = <&vic1>;
427*b2d2a78aSEmmanuel Vadot			interrupts = <24>;
428*b2d2a78aSEmmanuel Vadot			clocks = <&syscon EP93XX_CLK_USB>;
429*b2d2a78aSEmmanuel Vadot			status = "disabled";
430*b2d2a78aSEmmanuel Vadot		};
431*b2d2a78aSEmmanuel Vadot
432*b2d2a78aSEmmanuel Vadot		watchdog0: watchdog@80940000 {
433*b2d2a78aSEmmanuel Vadot			compatible = "cirrus,ep9301-wdt";
434*b2d2a78aSEmmanuel Vadot			reg = <0x80940000 0x08>;
435*b2d2a78aSEmmanuel Vadot		};
436*b2d2a78aSEmmanuel Vadot	};
437*b2d2a78aSEmmanuel Vadot
438*b2d2a78aSEmmanuel Vadot	xtali: oscillator {
439*b2d2a78aSEmmanuel Vadot		compatible = "fixed-clock";
440*b2d2a78aSEmmanuel Vadot		#clock-cells = <0>;
441*b2d2a78aSEmmanuel Vadot		clock-frequency = <14745600>;
442*b2d2a78aSEmmanuel Vadot		clock-output-names = "xtali";
443*b2d2a78aSEmmanuel Vadot	};
444*b2d2a78aSEmmanuel Vadot};
445