xref: /freebsd-src/sys/contrib/device-tree/src/arm/calxeda/ecx-common.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright 2011-2012 Calxeda, Inc.
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/ {
7*f126890aSEmmanuel Vadot	chosen {
8*f126890aSEmmanuel Vadot		bootargs = "console=ttyAMA0";
9*f126890aSEmmanuel Vadot	};
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot	psci {
12*f126890aSEmmanuel Vadot		compatible = "arm,psci";
13*f126890aSEmmanuel Vadot		method = "smc";
14*f126890aSEmmanuel Vadot		cpu_suspend = <0x84000002>;
15*f126890aSEmmanuel Vadot		cpu_off = <0x84000004>;
16*f126890aSEmmanuel Vadot		cpu_on = <0x84000006>;
17*f126890aSEmmanuel Vadot	};
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot	soc {
20*f126890aSEmmanuel Vadot		#address-cells = <1>;
21*f126890aSEmmanuel Vadot		#size-cells = <1>;
22*f126890aSEmmanuel Vadot		compatible = "simple-bus";
23*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
24*f126890aSEmmanuel Vadot
25*f126890aSEmmanuel Vadot		sata@ffe08000 {
26*f126890aSEmmanuel Vadot			compatible = "calxeda,hb-ahci";
27*f126890aSEmmanuel Vadot			reg = <0xffe08000 0x10000>;
28*f126890aSEmmanuel Vadot			interrupts = <0 83 4>;
29*f126890aSEmmanuel Vadot			dma-coherent;
30*f126890aSEmmanuel Vadot			calxeda,port-phys = < &combophy5 0>, <&combophy0 0>,
31*f126890aSEmmanuel Vadot					     <&combophy0 1>, <&combophy0 2>,
32*f126890aSEmmanuel Vadot					     <&combophy0 3>;
33*f126890aSEmmanuel Vadot			calxeda,sgpio-gpio =<&gpioh 5 1>, <&gpioh 6 1>,
34*f126890aSEmmanuel Vadot					    <&gpioh 7 1>;
35*f126890aSEmmanuel Vadot			calxeda,led-order = <4 0 1 2 3>;
36*f126890aSEmmanuel Vadot		};
37*f126890aSEmmanuel Vadot
38*f126890aSEmmanuel Vadot		sdhci@ffe0e000 {
39*f126890aSEmmanuel Vadot			compatible = "calxeda,hb-sdhci";
40*f126890aSEmmanuel Vadot			reg = <0xffe0e000 0x1000>;
41*f126890aSEmmanuel Vadot			interrupts = <0 90 4>;
42*f126890aSEmmanuel Vadot			clocks = <&eclk>;
43*f126890aSEmmanuel Vadot			status = "disabled";
44*f126890aSEmmanuel Vadot		};
45*f126890aSEmmanuel Vadot
46*f126890aSEmmanuel Vadot		ipc@fff20000 {
47*f126890aSEmmanuel Vadot			compatible = "arm,pl320", "arm,primecell";
48*f126890aSEmmanuel Vadot			reg = <0xfff20000 0x1000>;
49*f126890aSEmmanuel Vadot			interrupts = <0 7 4>;
50*f126890aSEmmanuel Vadot			clocks = <&pclk>;
51*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
52*f126890aSEmmanuel Vadot		};
53*f126890aSEmmanuel Vadot
54*f126890aSEmmanuel Vadot		gpioe: gpio@fff30000 {
55*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
56*f126890aSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
57*f126890aSEmmanuel Vadot			gpio-controller;
58*f126890aSEmmanuel Vadot			reg = <0xfff30000 0x1000>;
59*f126890aSEmmanuel Vadot			interrupts = <0 14 4>;
60*f126890aSEmmanuel Vadot			clocks = <&pclk>;
61*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
62*f126890aSEmmanuel Vadot			status = "disabled";
63*f126890aSEmmanuel Vadot		};
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot		gpiof: gpio@fff31000 {
66*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
67*f126890aSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
68*f126890aSEmmanuel Vadot			gpio-controller;
69*f126890aSEmmanuel Vadot			reg = <0xfff31000 0x1000>;
70*f126890aSEmmanuel Vadot			interrupts = <0 15 4>;
71*f126890aSEmmanuel Vadot			clocks = <&pclk>;
72*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
73*f126890aSEmmanuel Vadot			status = "disabled";
74*f126890aSEmmanuel Vadot		};
75*f126890aSEmmanuel Vadot
76*f126890aSEmmanuel Vadot		gpiog: gpio@fff32000 {
77*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
78*f126890aSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
79*f126890aSEmmanuel Vadot			gpio-controller;
80*f126890aSEmmanuel Vadot			reg = <0xfff32000 0x1000>;
81*f126890aSEmmanuel Vadot			interrupts = <0 16 4>;
82*f126890aSEmmanuel Vadot			clocks = <&pclk>;
83*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
84*f126890aSEmmanuel Vadot			status = "disabled";
85*f126890aSEmmanuel Vadot		};
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot		gpioh: gpio@fff33000 {
88*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
89*f126890aSEmmanuel Vadot			compatible = "arm,pl061", "arm,primecell";
90*f126890aSEmmanuel Vadot			gpio-controller;
91*f126890aSEmmanuel Vadot			reg = <0xfff33000 0x1000>;
92*f126890aSEmmanuel Vadot			interrupts = <0 17 4>;
93*f126890aSEmmanuel Vadot			clocks = <&pclk>;
94*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
95*f126890aSEmmanuel Vadot			status = "disabled";
96*f126890aSEmmanuel Vadot		};
97*f126890aSEmmanuel Vadot
98*f126890aSEmmanuel Vadot		timer@fff34000 {
99*f126890aSEmmanuel Vadot			compatible = "arm,sp804", "arm,primecell";
100*f126890aSEmmanuel Vadot			reg = <0xfff34000 0x1000>;
101*f126890aSEmmanuel Vadot			interrupts = <0 18 4>;
102*f126890aSEmmanuel Vadot			clocks = <&pclk>;
103*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
104*f126890aSEmmanuel Vadot		};
105*f126890aSEmmanuel Vadot
106*f126890aSEmmanuel Vadot		rtc@fff35000 {
107*f126890aSEmmanuel Vadot			compatible = "arm,pl031", "arm,primecell";
108*f126890aSEmmanuel Vadot			reg = <0xfff35000 0x1000>;
109*f126890aSEmmanuel Vadot			interrupts = <0 19 4>;
110*f126890aSEmmanuel Vadot			clocks = <&pclk>;
111*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
112*f126890aSEmmanuel Vadot		};
113*f126890aSEmmanuel Vadot
114*f126890aSEmmanuel Vadot		serial@fff36000 {
115*f126890aSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
116*f126890aSEmmanuel Vadot			reg = <0xfff36000 0x1000>;
117*f126890aSEmmanuel Vadot			interrupts = <0 20 4>;
118*f126890aSEmmanuel Vadot			clocks = <&pclk>, <&pclk>;
119*f126890aSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
120*f126890aSEmmanuel Vadot		};
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot		smic@fff3a000 {
123*f126890aSEmmanuel Vadot			compatible = "ipmi-smic";
124*f126890aSEmmanuel Vadot			device_type = "ipmi";
125*f126890aSEmmanuel Vadot			reg = <0xfff3a000 0x1000>;
126*f126890aSEmmanuel Vadot			interrupts = <0 24 4>;
127*f126890aSEmmanuel Vadot			reg-size = <4>;
128*f126890aSEmmanuel Vadot			reg-spacing = <4>;
129*f126890aSEmmanuel Vadot		};
130*f126890aSEmmanuel Vadot
131*f126890aSEmmanuel Vadot		sregs@fff3c000 {
132*f126890aSEmmanuel Vadot			compatible = "calxeda,hb-sregs";
133*f126890aSEmmanuel Vadot			reg = <0xfff3c000 0x1000>;
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot			clocks {
136*f126890aSEmmanuel Vadot				#address-cells = <1>;
137*f126890aSEmmanuel Vadot				#size-cells = <0>;
138*f126890aSEmmanuel Vadot
139*f126890aSEmmanuel Vadot				osc: oscillator {
140*f126890aSEmmanuel Vadot					#clock-cells = <0>;
141*f126890aSEmmanuel Vadot					compatible = "fixed-clock";
142*f126890aSEmmanuel Vadot					clock-frequency = <33333000>;
143*f126890aSEmmanuel Vadot				};
144*f126890aSEmmanuel Vadot
145*f126890aSEmmanuel Vadot				ddrpll: ddrpll {
146*f126890aSEmmanuel Vadot					#clock-cells = <0>;
147*f126890aSEmmanuel Vadot					compatible = "calxeda,hb-pll-clock";
148*f126890aSEmmanuel Vadot					clocks = <&osc>;
149*f126890aSEmmanuel Vadot					reg = <0x108>;
150*f126890aSEmmanuel Vadot				};
151*f126890aSEmmanuel Vadot
152*f126890aSEmmanuel Vadot				a9pll: a9pll {
153*f126890aSEmmanuel Vadot					#clock-cells = <0>;
154*f126890aSEmmanuel Vadot					compatible = "calxeda,hb-pll-clock";
155*f126890aSEmmanuel Vadot					clocks = <&osc>;
156*f126890aSEmmanuel Vadot					reg = <0x100>;
157*f126890aSEmmanuel Vadot				};
158*f126890aSEmmanuel Vadot
159*f126890aSEmmanuel Vadot				a9periphclk: a9periphclk {
160*f126890aSEmmanuel Vadot					#clock-cells = <0>;
161*f126890aSEmmanuel Vadot					compatible = "calxeda,hb-a9periph-clock";
162*f126890aSEmmanuel Vadot					clocks = <&a9pll>;
163*f126890aSEmmanuel Vadot					reg = <0x104>;
164*f126890aSEmmanuel Vadot				};
165*f126890aSEmmanuel Vadot
166*f126890aSEmmanuel Vadot				a9bclk: a9bclk {
167*f126890aSEmmanuel Vadot					#clock-cells = <0>;
168*f126890aSEmmanuel Vadot					compatible = "calxeda,hb-a9bus-clock";
169*f126890aSEmmanuel Vadot					clocks = <&a9pll>;
170*f126890aSEmmanuel Vadot					reg = <0x104>;
171*f126890aSEmmanuel Vadot				};
172*f126890aSEmmanuel Vadot
173*f126890aSEmmanuel Vadot				emmcpll: emmcpll {
174*f126890aSEmmanuel Vadot					#clock-cells = <0>;
175*f126890aSEmmanuel Vadot					compatible = "calxeda,hb-pll-clock";
176*f126890aSEmmanuel Vadot					clocks = <&osc>;
177*f126890aSEmmanuel Vadot					reg = <0x10C>;
178*f126890aSEmmanuel Vadot				};
179*f126890aSEmmanuel Vadot
180*f126890aSEmmanuel Vadot				eclk: eclk {
181*f126890aSEmmanuel Vadot					#clock-cells = <0>;
182*f126890aSEmmanuel Vadot					compatible = "calxeda,hb-emmc-clock";
183*f126890aSEmmanuel Vadot					clocks = <&emmcpll>;
184*f126890aSEmmanuel Vadot					reg = <0x114>;
185*f126890aSEmmanuel Vadot				};
186*f126890aSEmmanuel Vadot
187*f126890aSEmmanuel Vadot				pclk: pclk {
188*f126890aSEmmanuel Vadot					#clock-cells = <0>;
189*f126890aSEmmanuel Vadot					compatible = "fixed-clock";
190*f126890aSEmmanuel Vadot					clock-frequency = <150000000>;
191*f126890aSEmmanuel Vadot				};
192*f126890aSEmmanuel Vadot			};
193*f126890aSEmmanuel Vadot		};
194*f126890aSEmmanuel Vadot
195*f126890aSEmmanuel Vadot		dma@fff3d000 {
196*f126890aSEmmanuel Vadot			compatible = "arm,pl330", "arm,primecell";
197*f126890aSEmmanuel Vadot			reg = <0xfff3d000 0x1000>;
198*f126890aSEmmanuel Vadot			interrupts = <0 92 4>;
199*f126890aSEmmanuel Vadot			clocks = <&pclk>;
200*f126890aSEmmanuel Vadot			clock-names = "apb_pclk";
201*f126890aSEmmanuel Vadot		};
202*f126890aSEmmanuel Vadot
203*f126890aSEmmanuel Vadot		ethernet@fff50000 {
204*f126890aSEmmanuel Vadot			compatible = "calxeda,hb-xgmac";
205*f126890aSEmmanuel Vadot			reg = <0xfff50000 0x1000>;
206*f126890aSEmmanuel Vadot			interrupts = <0 77 4>, <0 78 4>, <0 79 4>;
207*f126890aSEmmanuel Vadot			dma-coherent;
208*f126890aSEmmanuel Vadot		};
209*f126890aSEmmanuel Vadot
210*f126890aSEmmanuel Vadot		ethernet@fff51000 {
211*f126890aSEmmanuel Vadot			compatible = "calxeda,hb-xgmac";
212*f126890aSEmmanuel Vadot			reg = <0xfff51000 0x1000>;
213*f126890aSEmmanuel Vadot			interrupts = <0 80 4>, <0 81 4>, <0 82 4>;
214*f126890aSEmmanuel Vadot			dma-coherent;
215*f126890aSEmmanuel Vadot		};
216*f126890aSEmmanuel Vadot
217*f126890aSEmmanuel Vadot		combophy0: combo-phy@fff58000 {
218*f126890aSEmmanuel Vadot			compatible = "calxeda,hb-combophy";
219*f126890aSEmmanuel Vadot			#phy-cells = <1>;
220*f126890aSEmmanuel Vadot			reg = <0xfff58000 0x1000>;
221*f126890aSEmmanuel Vadot			phydev = <5>;
222*f126890aSEmmanuel Vadot		};
223*f126890aSEmmanuel Vadot
224*f126890aSEmmanuel Vadot		combophy5: combo-phy@fff5d000 {
225*f126890aSEmmanuel Vadot			compatible = "calxeda,hb-combophy";
226*f126890aSEmmanuel Vadot			#phy-cells = <1>;
227*f126890aSEmmanuel Vadot			reg = <0xfff5d000 0x1000>;
228*f126890aSEmmanuel Vadot			phydev = <31>;
229*f126890aSEmmanuel Vadot		};
230*f126890aSEmmanuel Vadot	};
231*f126890aSEmmanuel Vadot};
232