Linux Audio

Check our new training course

Yocto / OpenEmbedded training

Feb 10-13, 2025
Register
Loading...
Note: File does not exist in v3.1.
  1// SPDX-License-Identifier: GPL-2.0+
  2/dts-v1/;
  3
  4#include "aspeed-g4.dtsi"
  5#include <dt-bindings/gpio/aspeed-gpio.h>
  6
  7#define EFUSE_OUTPUT(n)					\
  8	efuse##n {					\
  9		compatible = "regulator-output";	\
 10		vout-supply = <&efuse##n>;		\
 11	}
 12
 13#define __stringify(x) #x
 14
 15#define EFUSE(hexaddr, num)							\
 16	efuse@##hexaddr {							\
 17		compatible = "lm25066";						\
 18		reg = <0x##hexaddr>;						\
 19		shunt-resistor-micro-ohms = <675>;				\
 20		regulators {							\
 21			efuse##num: vout0 {					\
 22				regulator-name = __stringify(efuse##num##-reg);	\
 23			};							\
 24		};								\
 25	}
 26
 27/{
 28	model = "Delta Power AHE-50DC";
 29	compatible = "delta,ahe50dc-bmc", "aspeed,ast2400";
 30
 31	aliases {
 32		serial4 = &uart5;
 33
 34		/*
 35		 * pca9541-arbitrated logical i2c buses are numbered as the
 36		 * corresponding physical bus plus 20
 37		 */
 38		i2c20 = &i2carb0;
 39		i2c21 = &i2carb1;
 40		i2c22 = &i2carb2;
 41		i2c23 = &i2carb3;
 42		i2c24 = &i2carb4;
 43		i2c26 = &i2carb6;
 44		i2c27 = &i2carb7;
 45		i2c28 = &i2carb8;
 46		i2c32 = &i2carb12;
 47	};
 48
 49	chosen {
 50		stdout-path = &uart3;
 51		bootargs = "console=ttyS2,115200n8 earlycon";
 52	};
 53
 54	memory@40000000 {
 55		reg = <0x40000000 0x10000000>;
 56	};
 57
 58	leds {
 59		compatible = "gpio-leds";
 60
 61		heartbeat {
 62			gpios = <&gpio ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
 63			linux,default-trigger = "heartbeat";
 64		};
 65
 66		panic {
 67			gpios = <&gpio ASPEED_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
 68			linux,default-trigger = "panic";
 69		};
 70	};
 71
 72	iio-hwmon {
 73		compatible = "iio-hwmon";
 74		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>,
 75			<&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>, <&adc 9>;
 76	};
 77
 78	EFUSE_OUTPUT(01);
 79	EFUSE_OUTPUT(02);
 80	EFUSE_OUTPUT(03);
 81	EFUSE_OUTPUT(04);
 82	EFUSE_OUTPUT(05);
 83	EFUSE_OUTPUT(06);
 84	EFUSE_OUTPUT(07);
 85	EFUSE_OUTPUT(08);
 86	EFUSE_OUTPUT(09);
 87	EFUSE_OUTPUT(10);
 88	EFUSE_OUTPUT(11);
 89	EFUSE_OUTPUT(12);
 90	EFUSE_OUTPUT(13);
 91	EFUSE_OUTPUT(14);
 92	EFUSE_OUTPUT(15);
 93	EFUSE_OUTPUT(16);
 94	EFUSE_OUTPUT(17);
 95	EFUSE_OUTPUT(18);
 96	EFUSE_OUTPUT(19);
 97	EFUSE_OUTPUT(20);
 98	EFUSE_OUTPUT(21);
 99	EFUSE_OUTPUT(22);
100	EFUSE_OUTPUT(23);
101	EFUSE_OUTPUT(24);
102	EFUSE_OUTPUT(25);
103	EFUSE_OUTPUT(26);
104	EFUSE_OUTPUT(27);
105	EFUSE_OUTPUT(28);
106	EFUSE_OUTPUT(29);
107	EFUSE_OUTPUT(30);
108	EFUSE_OUTPUT(31);
109	EFUSE_OUTPUT(32);
110	EFUSE_OUTPUT(33);
111	EFUSE_OUTPUT(34);
112	EFUSE_OUTPUT(35);
113	EFUSE_OUTPUT(36);
114	EFUSE_OUTPUT(37);
115	EFUSE_OUTPUT(38);
116	EFUSE_OUTPUT(39);
117	EFUSE_OUTPUT(40);
118	EFUSE_OUTPUT(41);
119	EFUSE_OUTPUT(42);
120	EFUSE_OUTPUT(43);
121	EFUSE_OUTPUT(44);
122	EFUSE_OUTPUT(45);
123	EFUSE_OUTPUT(46);
124	EFUSE_OUTPUT(47);
125	EFUSE_OUTPUT(48);
126	EFUSE_OUTPUT(49);
127	EFUSE_OUTPUT(50);
128
129};
130
131&fmc {
132	status = "okay";
133
134	flash@0 {
135		status = "okay";
136		m25p,fast-read;
137		label = "flash0";
138		spi-max-frequency = <50000000>; // 50 MHz
139#include "openbmc-flash-layout.dtsi"
140	};
141};
142
143&uart3 {
144	status = "okay";
145};
146
147&mac1 {
148	status = "okay";
149	pinctrl-names = "default";
150	pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
151};
152
153&i2c0 {
154	status = "okay";
155	bus-frequency = <200000>;
156
157	pca9541@79 {
158		compatible = "nxp,pca9541";
159		reg = <0x79>;
160
161		i2carb0: i2c-arb {
162			#address-cells = <1>;
163			#size-cells = <0>;
164
165			/* lm25066 efuses @ 10-17, 40-47, 50-57 */
166			EFUSE(10, 03);
167			EFUSE(11, 04);
168			EFUSE(12, 01);
169			EFUSE(13, 02);
170			EFUSE(14, 13);
171			EFUSE(15, 14);
172			EFUSE(16, 15);
173			EFUSE(17, 16);
174			EFUSE(40, 12);
175			EFUSE(41, 11);
176			EFUSE(42, 10);
177			EFUSE(43, 09);
178			EFUSE(44, 08);
179			EFUSE(45, 07);
180			EFUSE(46, 05);
181			EFUSE(47, 06);
182			EFUSE(50, 17);
183			EFUSE(51, 18);
184			EFUSE(52, 20);
185			EFUSE(53, 19);
186			EFUSE(54, 22);
187			EFUSE(55, 21);
188			EFUSE(56, 24);
189			EFUSE(57, 23);
190		};
191	};
192};
193
194&i2c1 {
195	status = "okay";
196	bus-frequency = <200000>;
197
198	pca9541@72 {
199		compatible = "nxp,pca9541";
200		reg = <0x72>;
201
202		i2carb1: i2c-arb {
203			#address-cells = <1>;
204			#size-cells = <0>;
205		};
206	};
207};
208
209&i2c2 {
210	status = "okay";
211	bus-frequency = <200000>;
212
213	pca9541@73 {
214		compatible = "nxp,pca9541";
215		reg = <0x73>;
216
217		i2carb2: i2c-arb {
218			#address-cells = <1>;
219			#size-cells = <0>;
220		};
221	};
222};
223
224&i2c3 {
225	status = "okay";
226	bus-frequency = <200000>;
227
228	pca9541@74 {
229		compatible = "nxp,pca9541";
230		reg = <0x74>;
231
232		i2carb3: i2c-arb {
233			#address-cells = <1>;
234			#size-cells = <0>;
235		};
236	};
237};
238
239&i2c4 {
240	status = "okay";
241	bus-frequency = <200000>;
242
243	pca9541@7a {
244		compatible = "nxp,pca9541";
245		reg = <0x7a>;
246
247		i2carb4: i2c-arb {
248			#address-cells = <1>;
249			#size-cells = <0>;
250
251			gpio@20 {
252				compatible = "nxp,pca9534";
253				reg = <0x20>;
254				gpio-controller;
255				#gpio-cells = <2>;
256			};
257
258			/* lm25066 efuses @ 10-17, 40-47, 50-57, 59, 5a */
259			EFUSE(10, 27);
260			EFUSE(11, 28);
261			EFUSE(12, 25);
262			EFUSE(13, 26);
263			EFUSE(14, 37);
264			EFUSE(15, 38);
265			EFUSE(16, 39);
266			EFUSE(17, 40);
267			EFUSE(40, 36);
268			EFUSE(41, 35);
269			EFUSE(42, 34);
270			EFUSE(43, 33);
271			EFUSE(44, 32);
272			EFUSE(45, 31);
273			EFUSE(46, 29);
274			EFUSE(47, 30);
275			EFUSE(50, 41);
276			EFUSE(51, 42);
277			EFUSE(52, 44);
278			EFUSE(53, 43);
279			EFUSE(54, 46);
280			EFUSE(55, 45);
281			EFUSE(56, 48);
282			EFUSE(57, 47);
283			EFUSE(59, 49);
284			EFUSE(5a, 50);
285		};
286	};
287};
288
289&i2c6 {
290	status = "okay";
291	bus-frequency = <200000>;
292
293	pca9541@75 {
294		compatible = "nxp,pca9541";
295		reg = <0x75>;
296
297		i2carb6: i2c-arb {
298			#address-cells = <1>;
299			#size-cells = <0>;
300		};
301	};
302};
303
304&i2c7 {
305	status = "okay";
306	bus-frequency = <200000>;
307
308	pca9541@76 {
309		compatible = "nxp,pca9541";
310		reg = <0x76>;
311
312		i2carb7: i2c-arb {
313			#address-cells = <1>;
314			#size-cells = <0>;
315		};
316	};
317};
318
319&i2c8 {
320	status = "okay";
321	bus-frequency = <200000>;
322
323	pca9541@7c {
324		compatible = "nxp,pca9541";
325		reg = <0x7c>;
326
327		i2carb8: i2c-arb {
328			#address-cells = <1>;
329			#size-cells = <0>;
330
331			fancontrol@30 {
332				compatible = "delta,ahe50dc-fan";
333				reg = <0x30>;
334			};
335
336			/* Baseboard FRU eeprom */
337			eeprom@50 {
338				compatible = "atmel,24c02";
339				reg = <0x50>;
340			};
341		};
342	};
343};
344
345&i2c12 {
346	status = "okay";
347	bus-frequency = <200000>;
348
349	pca9541@71 {
350		compatible = "nxp,pca9541";
351		reg = <0x71>;
352
353		i2carb12: i2c-arb {
354			#address-cells = <1>;
355			#size-cells = <0>;
356		};
357	};
358};
359
360&gpio {
361	status = "okay";
362	gpio-line-names =
363		/*  A */ "", "", "", "", "", "", "", "",
364		/*  B */ "", "", "", "", "", "", "", "",
365		/*  C */ "RESET_PEER_N", "HEARTBEAT_OUT", "", "", "", "", "", "",
366		/*  D */ "", "", "", "", "", "", "", "",
367		/*  E */ "DOOM_N", "", "", "", "", "LED_PWR_BLUE", "", "",
368		/*  F */ "", "", "", "", "", "", "", "",
369		/*  G */ "", "", "", "", "", "", "", "",
370		/*  H */ "", "", "", "", "", "", "", "",
371		/*  I */ "", "", "", "", "", "", "", "",
372		/*  J */ "", "", "BMC_ID", "", "", "", "", "",
373		/*  K */ "", "", "", "", "", "", "", "",
374		/*  L */ "", "", "", "", "", "", "", "",
375		/*  M */ "", "", "", "", "", "", "", "",
376		/*  N */ "", "", "", "", "", "", "", "",
377		/*  O */ "", "", "", "", "", "", "", "",
378		/*  P */ "LED_GREEN", "", "LED_RED", "", "", "", "", "",
379		/*  Q */ "", "", "", "", "", "", "", "",
380		/*  R */ "", "", "", "", "", "", "", "",
381		/*  S */ "", "", "", "", "", "", "", "",
382		/*  T */ "", "", "", "", "", "", "", "",
383		/*  U */ "", "", "", "", "", "", "", "",
384		/*  V */ "", "", "", "", "", "", "", "",
385		/*  W */ "", "", "", "", "", "", "", "",
386		/*  X */ "", "", "", "", "", "", "", "",
387		/*  Y */ "HEARTBEAT_IN", "BOARDREV0", "BOARDREV1", "",
388		/*  Z */ "", "", "", "", "", "", "", "",
389		/* AA */ "", "", "", "", "", "", "", "",
390		/* AB */ "", "", "", "";
391
392	/*
393	 * I don't rightly know what this GPIO really *is*, but setting it to
394	 * zero causes the fans to run at full speed, after which setting it
395	 * back to one causes a power output glitch, so install a hog to keep
396	 * it at one as a failsafe to ensure nothing accidentally touches it.
397	 */
398	doom-guardrail {
399		gpio-hog;
400		gpios = <ASPEED_GPIO(E, 0) GPIO_ACTIVE_LOW>;
401		output-low;
402	};
403};
404
405&adc {
406	status = "okay";
407	pinctrl-names = "default";
408	pinctrl-0 = <&pinctrl_adc0_default
409		&pinctrl_adc1_default
410		&pinctrl_adc2_default
411		&pinctrl_adc3_default
412		&pinctrl_adc4_default
413		&pinctrl_adc5_default
414		&pinctrl_adc6_default
415		&pinctrl_adc7_default
416		&pinctrl_adc8_default
417		&pinctrl_adc9_default>;
418};