xref: /freebsd-src/sys/contrib/device-tree/src/arm/cirrus/ep7209.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*f126890aSEmmanuel Vadot
3*f126890aSEmmanuel Vadot/dts-v1/;
4*f126890aSEmmanuel Vadot
5*f126890aSEmmanuel Vadot#include <dt-bindings/clock/clps711x-clock.h>
6*f126890aSEmmanuel Vadot
7*f126890aSEmmanuel Vadot/ {
8*f126890aSEmmanuel Vadot	#address-cells = <1>;
9*f126890aSEmmanuel Vadot	#size-cells = <1>;
10*f126890aSEmmanuel Vadot	model = "Cirrus Logic EP7209";
11*f126890aSEmmanuel Vadot	compatible = "cirrus,ep7209";
12*f126890aSEmmanuel Vadot
13*f126890aSEmmanuel Vadot	chosen { };
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot	aliases {
16*f126890aSEmmanuel Vadot		gpio0 = &porta;
17*f126890aSEmmanuel Vadot		gpio1 = &portb;
18*f126890aSEmmanuel Vadot		gpio3 = &portd;
19*f126890aSEmmanuel Vadot		gpio4 = &porte;
20*f126890aSEmmanuel Vadot		serial0 = &uart1;
21*f126890aSEmmanuel Vadot		serial1 = &uart2;
22*f126890aSEmmanuel Vadot		spi0 = &spi;
23*f126890aSEmmanuel Vadot		timer0 = &timer1;
24*f126890aSEmmanuel Vadot		timer1 = &timer2;
25*f126890aSEmmanuel Vadot	};
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot	cpus {
28*f126890aSEmmanuel Vadot		#address-cells = <0>;
29*f126890aSEmmanuel Vadot		#size-cells = <0>;
30*f126890aSEmmanuel Vadot
31*f126890aSEmmanuel Vadot		cpu {
32*f126890aSEmmanuel Vadot			device_type = "cpu";
33*f126890aSEmmanuel Vadot			compatible = "arm,arm720t";
34*f126890aSEmmanuel Vadot		};
35*f126890aSEmmanuel Vadot	};
36*f126890aSEmmanuel Vadot
37*f126890aSEmmanuel Vadot	soc {
38*f126890aSEmmanuel Vadot		#address-cells = <1>;
39*f126890aSEmmanuel Vadot		#size-cells = <1>;
40*f126890aSEmmanuel Vadot		compatible = "simple-bus";
41*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
42*f126890aSEmmanuel Vadot		ranges;
43*f126890aSEmmanuel Vadot
44*f126890aSEmmanuel Vadot		clks: clks@80000000 {
45*f126890aSEmmanuel Vadot			#clock-cells = <1>;
46*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-clk";
47*f126890aSEmmanuel Vadot			reg = <0x80000000 0xc000>;
48*f126890aSEmmanuel Vadot			startup-frequency = <73728000>;
49*f126890aSEmmanuel Vadot		};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot		intc: intc@80000000 {
52*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-intc";
53*f126890aSEmmanuel Vadot			reg = <0x80000000 0x4000>;
54*f126890aSEmmanuel Vadot			interrupt-controller;
55*f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
56*f126890aSEmmanuel Vadot		};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot		porta: gpio@80000000 {
59*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-gpio";
60*f126890aSEmmanuel Vadot			reg = <0x80000000 0x1 0x80000040 0x1>;
61*f126890aSEmmanuel Vadot			gpio-controller;
62*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
63*f126890aSEmmanuel Vadot		};
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot		portb: gpio@80000001 {
66*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-gpio";
67*f126890aSEmmanuel Vadot			reg = <0x80000001 0x1 0x80000041 0x1>;
68*f126890aSEmmanuel Vadot			gpio-controller;
69*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
70*f126890aSEmmanuel Vadot		};
71*f126890aSEmmanuel Vadot
72*f126890aSEmmanuel Vadot		portd: gpio@80000003 {
73*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-gpio";
74*f126890aSEmmanuel Vadot			reg = <0x80000003 0x1 0x80000043 0x1>;
75*f126890aSEmmanuel Vadot			gpio-controller;
76*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
77*f126890aSEmmanuel Vadot		};
78*f126890aSEmmanuel Vadot
79*f126890aSEmmanuel Vadot		porte: gpio@80000083 {
80*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-gpio";
81*f126890aSEmmanuel Vadot			reg = <0x80000083 0x1 0x800000c3 0x1>;
82*f126890aSEmmanuel Vadot			gpio-controller;
83*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
84*f126890aSEmmanuel Vadot		};
85*f126890aSEmmanuel Vadot
86*f126890aSEmmanuel Vadot		syscon1: syscon@80000100 {
87*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-syscon1", "syscon";
88*f126890aSEmmanuel Vadot			reg = <0x80000100 0x80>;
89*f126890aSEmmanuel Vadot		};
90*f126890aSEmmanuel Vadot
91*f126890aSEmmanuel Vadot		bus: bus@80000180 {
92*f126890aSEmmanuel Vadot			#address-cells = <2>;
93*f126890aSEmmanuel Vadot			#size-cells = <1>;
94*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-bus", "simple-bus";
95*f126890aSEmmanuel Vadot			clocks = <&clks CLPS711X_CLK_BUS>;
96*f126890aSEmmanuel Vadot			reg = <0x80000180 0x80>;
97*f126890aSEmmanuel Vadot			ranges = <
98*f126890aSEmmanuel Vadot				0 0 0x00000000 0x10000000
99*f126890aSEmmanuel Vadot				1 0 0x10000000 0x10000000
100*f126890aSEmmanuel Vadot				2 0 0x20000000 0x10000000
101*f126890aSEmmanuel Vadot				3 0 0x30000000 0x10000000
102*f126890aSEmmanuel Vadot				4 0 0x40000000 0x10000000
103*f126890aSEmmanuel Vadot				5 0 0x50000000 0x10000000
104*f126890aSEmmanuel Vadot				6 0 0x60000000 0x0000c000
105*f126890aSEmmanuel Vadot				7 0 0x70000000 0x00000080
106*f126890aSEmmanuel Vadot			>;
107*f126890aSEmmanuel Vadot		};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot		fb: fb@800002c0 {
110*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-fb";
111*f126890aSEmmanuel Vadot			reg = <0x800002c0 0xd44>, <0x60000000 0xc000>;
112*f126890aSEmmanuel Vadot			clocks = <&clks CLPS711X_CLK_BUS>;
113*f126890aSEmmanuel Vadot			syscon = <&syscon1>;
114*f126890aSEmmanuel Vadot			status = "disabled";
115*f126890aSEmmanuel Vadot		};
116*f126890aSEmmanuel Vadot
117*f126890aSEmmanuel Vadot		timer1: timer@80000300 {
118*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-timer";
119*f126890aSEmmanuel Vadot			reg = <0x80000300 0x4>;
120*f126890aSEmmanuel Vadot			clocks = <&clks CLPS711X_CLK_TIMER1>;
121*f126890aSEmmanuel Vadot			interrupts = <8>;
122*f126890aSEmmanuel Vadot		};
123*f126890aSEmmanuel Vadot
124*f126890aSEmmanuel Vadot		timer2: timer@80000340 {
125*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-timer";
126*f126890aSEmmanuel Vadot			reg = <0x80000340 0x4>;
127*f126890aSEmmanuel Vadot			clocks = <&clks CLPS711X_CLK_TIMER2>;
128*f126890aSEmmanuel Vadot			interrupts = <9>;
129*f126890aSEmmanuel Vadot		};
130*f126890aSEmmanuel Vadot
131*f126890aSEmmanuel Vadot		pwm: pwm@80000400 {
132*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-pwm";
133*f126890aSEmmanuel Vadot			reg = <0x80000400 0x4>;
134*f126890aSEmmanuel Vadot			clocks = <&clks CLPS711X_CLK_PWM>;
135*f126890aSEmmanuel Vadot			#pwm-cells = <1>;
136*f126890aSEmmanuel Vadot		};
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot		uart1: serial@80000480 {
139*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-uart";
140*f126890aSEmmanuel Vadot			reg = <0x80000480 0x80>;
141*f126890aSEmmanuel Vadot			interrupts = <12 13>;
142*f126890aSEmmanuel Vadot			clocks = <&clks CLPS711X_CLK_UART>;
143*f126890aSEmmanuel Vadot			syscon = <&syscon1>;
144*f126890aSEmmanuel Vadot		};
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot		spi: spi@80000500 {
147*f126890aSEmmanuel Vadot			#address-cells = <1>;
148*f126890aSEmmanuel Vadot			#size-cells = <0>;
149*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-spi";
150*f126890aSEmmanuel Vadot			reg = <0x80000500 0x4>;
151*f126890aSEmmanuel Vadot			interrupts = <15>;
152*f126890aSEmmanuel Vadot			clocks = <&clks CLPS711X_CLK_SPI>;
153*f126890aSEmmanuel Vadot			syscon = <&syscon3>;
154*f126890aSEmmanuel Vadot			status = "disabled";
155*f126890aSEmmanuel Vadot		};
156*f126890aSEmmanuel Vadot
157*f126890aSEmmanuel Vadot		syscon2: syscon@80001100 {
158*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-syscon2", "syscon";
159*f126890aSEmmanuel Vadot			reg = <0x80001100 0x80>;
160*f126890aSEmmanuel Vadot		};
161*f126890aSEmmanuel Vadot
162*f126890aSEmmanuel Vadot		uart2: serial@80001480 {
163*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-uart";
164*f126890aSEmmanuel Vadot			reg = <0x80001480 0x80>;
165*f126890aSEmmanuel Vadot			interrupts = <28 29>;
166*f126890aSEmmanuel Vadot			clocks = <&clks CLPS711X_CLK_UART>;
167*f126890aSEmmanuel Vadot			syscon = <&syscon2>;
168*f126890aSEmmanuel Vadot		};
169*f126890aSEmmanuel Vadot
170*f126890aSEmmanuel Vadot		dai: dai@80002000 {
171*f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
172*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-dai";
173*f126890aSEmmanuel Vadot			reg = <0x80002000 0x604>;
174*f126890aSEmmanuel Vadot			clocks = <&clks CLPS711X_CLK_PLL>;
175*f126890aSEmmanuel Vadot			clock-names = "pll";
176*f126890aSEmmanuel Vadot			interrupts = <32>;
177*f126890aSEmmanuel Vadot			syscon = <&syscon3>;
178*f126890aSEmmanuel Vadot			status = "disabled";
179*f126890aSEmmanuel Vadot		};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot		syscon3: syscon@80002200 {
182*f126890aSEmmanuel Vadot			compatible = "cirrus,ep7209-syscon3", "syscon";
183*f126890aSEmmanuel Vadot			reg = <0x80002200 0x40>;
184*f126890aSEmmanuel Vadot		};
185*f126890aSEmmanuel Vadot	};
186*f126890aSEmmanuel Vadot
187*f126890aSEmmanuel Vadot	keypad: keypad {
188*f126890aSEmmanuel Vadot		compatible = "cirrus,ep7209-keypad";
189*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
190*f126890aSEmmanuel Vadot		interrupts = <16>;
191*f126890aSEmmanuel Vadot		syscon = <&syscon1>;
192*f126890aSEmmanuel Vadot		status = "disabled";
193*f126890aSEmmanuel Vadot	};
194*f126890aSEmmanuel Vadot
195*f126890aSEmmanuel Vadot	mctrl: mctrl {
196*f126890aSEmmanuel Vadot		compatible = "cirrus,ep7209-mctrl-gpio";
197*f126890aSEmmanuel Vadot		gpio,syscon-dev = <&syscon1 0 0>;
198*f126890aSEmmanuel Vadot		gpio-controller;
199*f126890aSEmmanuel Vadot		#gpio-cells = <2>;
200*f126890aSEmmanuel Vadot	};
201*f126890aSEmmanuel Vadot};
202