Linux Audio

Check our new training course

Linux kernel drivers training

Mar 31-Apr 9, 2025, special US time zones
Register
Loading...
v6.2
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * Copyright 2011-2012 Calxeda, Inc.
 
 
 
 
 
 
 
 
 
 
 
 
  4 */
  5
  6/ {
  7	chosen {
  8		bootargs = "console=ttyAMA0";
  9	};
 10
 11	psci {
 12		compatible = "arm,psci";
 13		method = "smc";
 14		cpu_suspend = <0x84000002>;
 15		cpu_off = <0x84000004>;
 16		cpu_on = <0x84000006>;
 17	};
 18
 19	soc {
 20		#address-cells = <1>;
 21		#size-cells = <1>;
 22		compatible = "simple-bus";
 23		interrupt-parent = <&intc>;
 24
 25		sata@ffe08000 {
 26			compatible = "calxeda,hb-ahci";
 27			reg = <0xffe08000 0x10000>;
 28			interrupts = <0 83 4>;
 29			dma-coherent;
 30			calxeda,port-phys = < &combophy5 0>, <&combophy0 0>,
 31					     <&combophy0 1>, <&combophy0 2>,
 32					     <&combophy0 3>;
 33			calxeda,sgpio-gpio =<&gpioh 5 1>, <&gpioh 6 1>,
 34					    <&gpioh 7 1>;
 35			calxeda,led-order = <4 0 1 2 3>;
 36		};
 37
 38		sdhci@ffe0e000 {
 39			compatible = "calxeda,hb-sdhci";
 40			reg = <0xffe0e000 0x1000>;
 41			interrupts = <0 90 4>;
 42			clocks = <&eclk>;
 43			status = "disabled";
 44		};
 45
 46		ipc@fff20000 {
 47			compatible = "arm,pl320", "arm,primecell";
 48			reg = <0xfff20000 0x1000>;
 49			interrupts = <0 7 4>;
 50			clocks = <&pclk>;
 51			clock-names = "apb_pclk";
 52		};
 53
 54		gpioe: gpio@fff30000 {
 55			#gpio-cells = <2>;
 56			compatible = "arm,pl061", "arm,primecell";
 57			gpio-controller;
 58			reg = <0xfff30000 0x1000>;
 59			interrupts = <0 14 4>;
 60			clocks = <&pclk>;
 61			clock-names = "apb_pclk";
 62			status = "disabled";
 63		};
 64
 65		gpiof: gpio@fff31000 {
 66			#gpio-cells = <2>;
 67			compatible = "arm,pl061", "arm,primecell";
 68			gpio-controller;
 69			reg = <0xfff31000 0x1000>;
 70			interrupts = <0 15 4>;
 71			clocks = <&pclk>;
 72			clock-names = "apb_pclk";
 73			status = "disabled";
 74		};
 75
 76		gpiog: gpio@fff32000 {
 77			#gpio-cells = <2>;
 78			compatible = "arm,pl061", "arm,primecell";
 79			gpio-controller;
 80			reg = <0xfff32000 0x1000>;
 81			interrupts = <0 16 4>;
 82			clocks = <&pclk>;
 83			clock-names = "apb_pclk";
 84			status = "disabled";
 85		};
 86
 87		gpioh: gpio@fff33000 {
 88			#gpio-cells = <2>;
 89			compatible = "arm,pl061", "arm,primecell";
 90			gpio-controller;
 91			reg = <0xfff33000 0x1000>;
 92			interrupts = <0 17 4>;
 93			clocks = <&pclk>;
 94			clock-names = "apb_pclk";
 95			status = "disabled";
 96		};
 97
 98		timer@fff34000 {
 99			compatible = "arm,sp804", "arm,primecell";
100			reg = <0xfff34000 0x1000>;
101			interrupts = <0 18 4>;
102			clocks = <&pclk>;
103			clock-names = "apb_pclk";
104		};
105
106		rtc@fff35000 {
107			compatible = "arm,pl031", "arm,primecell";
108			reg = <0xfff35000 0x1000>;
109			interrupts = <0 19 4>;
110			clocks = <&pclk>;
111			clock-names = "apb_pclk";
112		};
113
114		serial@fff36000 {
115			compatible = "arm,pl011", "arm,primecell";
116			reg = <0xfff36000 0x1000>;
117			interrupts = <0 20 4>;
118			clocks = <&pclk>, <&pclk>;
119			clock-names = "uartclk", "apb_pclk";
120		};
121
122		smic@fff3a000 {
123			compatible = "ipmi-smic";
124			device_type = "ipmi";
125			reg = <0xfff3a000 0x1000>;
126			interrupts = <0 24 4>;
127			reg-size = <4>;
128			reg-spacing = <4>;
129		};
130
131		sregs@fff3c000 {
132			compatible = "calxeda,hb-sregs";
133			reg = <0xfff3c000 0x1000>;
134
135			clocks {
136				#address-cells = <1>;
137				#size-cells = <0>;
138
139				osc: oscillator {
140					#clock-cells = <0>;
141					compatible = "fixed-clock";
142					clock-frequency = <33333000>;
143				};
144
145				ddrpll: ddrpll {
146					#clock-cells = <0>;
147					compatible = "calxeda,hb-pll-clock";
148					clocks = <&osc>;
149					reg = <0x108>;
150				};
151
152				a9pll: a9pll {
153					#clock-cells = <0>;
154					compatible = "calxeda,hb-pll-clock";
155					clocks = <&osc>;
156					reg = <0x100>;
157				};
158
159				a9periphclk: a9periphclk {
160					#clock-cells = <0>;
161					compatible = "calxeda,hb-a9periph-clock";
162					clocks = <&a9pll>;
163					reg = <0x104>;
164				};
165
166				a9bclk: a9bclk {
167					#clock-cells = <0>;
168					compatible = "calxeda,hb-a9bus-clock";
169					clocks = <&a9pll>;
170					reg = <0x104>;
171				};
172
173				emmcpll: emmcpll {
174					#clock-cells = <0>;
175					compatible = "calxeda,hb-pll-clock";
176					clocks = <&osc>;
177					reg = <0x10C>;
178				};
179
180				eclk: eclk {
181					#clock-cells = <0>;
182					compatible = "calxeda,hb-emmc-clock";
183					clocks = <&emmcpll>;
184					reg = <0x114>;
185				};
186
187				pclk: pclk {
188					#clock-cells = <0>;
189					compatible = "fixed-clock";
190					clock-frequency = <150000000>;
191				};
192			};
193		};
194
195		dma@fff3d000 {
196			compatible = "arm,pl330", "arm,primecell";
197			reg = <0xfff3d000 0x1000>;
198			interrupts = <0 92 4>;
199			clocks = <&pclk>;
200			clock-names = "apb_pclk";
201		};
202
203		ethernet@fff50000 {
204			compatible = "calxeda,hb-xgmac";
205			reg = <0xfff50000 0x1000>;
206			interrupts = <0 77 4>, <0 78 4>, <0 79 4>;
207			dma-coherent;
208		};
209
210		ethernet@fff51000 {
211			compatible = "calxeda,hb-xgmac";
212			reg = <0xfff51000 0x1000>;
213			interrupts = <0 80 4>, <0 81 4>, <0 82 4>;
214			dma-coherent;
215		};
216
217		combophy0: combo-phy@fff58000 {
218			compatible = "calxeda,hb-combophy";
219			#phy-cells = <1>;
220			reg = <0xfff58000 0x1000>;
221			phydev = <5>;
222		};
223
224		combophy5: combo-phy@fff5d000 {
225			compatible = "calxeda,hb-combophy";
226			#phy-cells = <1>;
227			reg = <0xfff5d000 0x1000>;
228			phydev = <31>;
229		};
230	};
231};
v4.6
 
  1/*
  2 * Copyright 2011-2012 Calxeda, Inc.
  3 *
  4 * This program is free software; you can redistribute it and/or modify it
  5 * under the terms and conditions of the GNU General Public License,
  6 * version 2, as published by the Free Software Foundation.
  7 *
  8 * This program is distributed in the hope it will be useful, but WITHOUT
  9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 10 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 11 * more details.
 12 *
 13 * You should have received a copy of the GNU General Public License along with
 14 * this program.  If not, see <http://www.gnu.org/licenses/>.
 15 */
 16
 17/ {
 18	chosen {
 19		bootargs = "console=ttyAMA0";
 20	};
 21
 22	psci {
 23		compatible	= "arm,psci";
 24		method		= "smc";
 25		cpu_suspend	= <0x84000002>;
 26		cpu_off		= <0x84000004>;
 27		cpu_on		= <0x84000006>;
 28	};
 29
 30	soc {
 31		#address-cells = <1>;
 32		#size-cells = <1>;
 33		compatible = "simple-bus";
 34		interrupt-parent = <&intc>;
 35
 36		sata@ffe08000 {
 37			compatible = "calxeda,hb-ahci";
 38			reg = <0xffe08000 0x10000>;
 39			interrupts = <0 83 4>;
 40			dma-coherent;
 41			calxeda,port-phys = <&combophy5 0 &combophy0 0
 42					     &combophy0 1 &combophy0 2
 43					     &combophy0 3>;
 44			calxeda,sgpio-gpio =<&gpioh 5 1 &gpioh 6 1 &gpioh 7 1>;
 
 45			calxeda,led-order = <4 0 1 2 3>;
 46		};
 47
 48		sdhci@ffe0e000 {
 49			compatible = "calxeda,hb-sdhci";
 50			reg = <0xffe0e000 0x1000>;
 51			interrupts = <0 90 4>;
 52			clocks = <&eclk>;
 53			status = "disabled";
 54		};
 55
 56		ipc@fff20000 {
 57			compatible = "arm,pl320", "arm,primecell";
 58			reg = <0xfff20000 0x1000>;
 59			interrupts = <0 7 4>;
 60			clocks = <&pclk>;
 61			clock-names = "apb_pclk";
 62		};
 63
 64		gpioe: gpio@fff30000 {
 65			#gpio-cells = <2>;
 66			compatible = "arm,pl061", "arm,primecell";
 67			gpio-controller;
 68			reg = <0xfff30000 0x1000>;
 69			interrupts = <0 14 4>;
 70			clocks = <&pclk>;
 71			clock-names = "apb_pclk";
 72			status = "disabled";
 73		};
 74
 75		gpiof: gpio@fff31000 {
 76			#gpio-cells = <2>;
 77			compatible = "arm,pl061", "arm,primecell";
 78			gpio-controller;
 79			reg = <0xfff31000 0x1000>;
 80			interrupts = <0 15 4>;
 81			clocks = <&pclk>;
 82			clock-names = "apb_pclk";
 83			status = "disabled";
 84		};
 85
 86		gpiog: gpio@fff32000 {
 87			#gpio-cells = <2>;
 88			compatible = "arm,pl061", "arm,primecell";
 89			gpio-controller;
 90			reg = <0xfff32000 0x1000>;
 91			interrupts = <0 16 4>;
 92			clocks = <&pclk>;
 93			clock-names = "apb_pclk";
 94			status = "disabled";
 95		};
 96
 97		gpioh: gpio@fff33000 {
 98			#gpio-cells = <2>;
 99			compatible = "arm,pl061", "arm,primecell";
100			gpio-controller;
101			reg = <0xfff33000 0x1000>;
102			interrupts = <0 17 4>;
103			clocks = <&pclk>;
104			clock-names = "apb_pclk";
105			status = "disabled";
106		};
107
108		timer@fff34000 {
109			compatible = "arm,sp804", "arm,primecell";
110			reg = <0xfff34000 0x1000>;
111			interrupts = <0 18 4>;
112			clocks = <&pclk>;
113			clock-names = "apb_pclk";
114		};
115
116		rtc@fff35000 {
117			compatible = "arm,pl031", "arm,primecell";
118			reg = <0xfff35000 0x1000>;
119			interrupts = <0 19 4>;
120			clocks = <&pclk>;
121			clock-names = "apb_pclk";
122		};
123
124		serial@fff36000 {
125			compatible = "arm,pl011", "arm,primecell";
126			reg = <0xfff36000 0x1000>;
127			interrupts = <0 20 4>;
128			clocks = <&pclk>;
129			clock-names = "apb_pclk";
130		};
131
132		smic@fff3a000 {
133			compatible = "ipmi-smic";
134			device_type = "ipmi";
135			reg = <0xfff3a000 0x1000>;
136			interrupts = <0 24 4>;
137			reg-size = <4>;
138			reg-spacing = <4>;
139		};
140
141		sregs@fff3c000 {
142			compatible = "calxeda,hb-sregs";
143			reg = <0xfff3c000 0x1000>;
144
145			clocks {
146				#address-cells = <1>;
147				#size-cells = <0>;
148
149				osc: oscillator {
150					#clock-cells = <0>;
151					compatible = "fixed-clock";
152					clock-frequency = <33333000>;
153				};
154
155				ddrpll: ddrpll {
156					#clock-cells = <0>;
157					compatible = "calxeda,hb-pll-clock";
158					clocks = <&osc>;
159					reg = <0x108>;
160				};
161
162				a9pll: a9pll {
163					#clock-cells = <0>;
164					compatible = "calxeda,hb-pll-clock";
165					clocks = <&osc>;
166					reg = <0x100>;
167				};
168
169				a9periphclk: a9periphclk {
170					#clock-cells = <0>;
171					compatible = "calxeda,hb-a9periph-clock";
172					clocks = <&a9pll>;
173					reg = <0x104>;
174				};
175
176				a9bclk: a9bclk {
177					#clock-cells = <0>;
178					compatible = "calxeda,hb-a9bus-clock";
179					clocks = <&a9pll>;
180					reg = <0x104>;
181				};
182
183				emmcpll: emmcpll {
184					#clock-cells = <0>;
185					compatible = "calxeda,hb-pll-clock";
186					clocks = <&osc>;
187					reg = <0x10C>;
188				};
189
190				eclk: eclk {
191					#clock-cells = <0>;
192					compatible = "calxeda,hb-emmc-clock";
193					clocks = <&emmcpll>;
194					reg = <0x114>;
195				};
196
197				pclk: pclk {
198					#clock-cells = <0>;
199					compatible = "fixed-clock";
200					clock-frequency = <150000000>;
201				};
202			};
203		};
204
205		dma@fff3d000 {
206			compatible = "arm,pl330", "arm,primecell";
207			reg = <0xfff3d000 0x1000>;
208			interrupts = <0 92 4>;
209			clocks = <&pclk>;
210			clock-names = "apb_pclk";
211		};
212
213		ethernet@fff50000 {
214			compatible = "calxeda,hb-xgmac";
215			reg = <0xfff50000 0x1000>;
216			interrupts = <0 77 4  0 78 4  0 79 4>;
217			dma-coherent;
218		};
219
220		ethernet@fff51000 {
221			compatible = "calxeda,hb-xgmac";
222			reg = <0xfff51000 0x1000>;
223			interrupts = <0 80 4  0 81 4  0 82 4>;
224			dma-coherent;
225		};
226
227		combophy0: combo-phy@fff58000 {
228			compatible = "calxeda,hb-combophy";
229			#phy-cells = <1>;
230			reg = <0xfff58000 0x1000>;
231			phydev = <5>;
232		};
233
234		combophy5: combo-phy@fff5d000 {
235			compatible = "calxeda,hb-combophy";
236			#phy-cells = <1>;
237			reg = <0xfff5d000 0x1000>;
238			phydev = <31>;
239		};
240	};
241};