Linux Audio

Check our new training course

Loading...
v5.14.15
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2// Copyright 2019 IBM Corp.
  3/dts-v1/;
  4
  5#include "aspeed-g6.dtsi"
  6#include <dt-bindings/gpio/aspeed-gpio.h>
  7#include <dt-bindings/i2c/i2c.h>
  8#include <dt-bindings/leds/leds-pca955x.h>
  9
 10/ {
 11	model = "Tacoma";
 12	compatible = "ibm,tacoma-bmc", "aspeed,ast2600";
 13
 14	chosen {
 15		stdout-path = &uart5;
 16		bootargs = "console=ttyS4,115200n8 earlycon";
 17	};
 18
 19	memory@80000000 {
 20		device_type = "memory";
 21		reg = <0x80000000 0x40000000>;
 22	};
 23
 24	reserved-memory {
 25		#address-cells = <1>;
 26		#size-cells = <1>;
 27		ranges;
 28
 29		flash_memory: region@b8000000 {
 30			no-map;
 31			reg = <0xb8000000 0x4000000>; /* 64M */
 32		};
 33
 34		ramoops@bc000000 {
 35			compatible = "ramoops";
 36			reg = <0xbc000000 0x180000>; /* 16 * (3 * 0x8000) */
 37			record-size = <0x8000>;
 38			console-size = <0x8000>;
 39			pmsg-size = <0x8000>;
 40			max-reason = <3>; /* KMSG_DUMP_EMERG */
 41		};
 42
 43		vga_memory: region@bf000000 {
 44			no-map;
 45			compatible = "shared-dma-pool";
 46			reg = <0xbf000000 0x01000000>;	/* 16M */
 47		};
 48	};
 49
 50	gpio-keys {
 51		compatible = "gpio-keys";
 52
 53		ps0-presence {
 54			label = "ps0-presence";
 55			gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
 56			linux,code = <ASPEED_GPIO(H, 3)>;
 57		};
 58
 59		ps1-presence {
 60			label = "ps1-presence";
 61			gpios = <&gpio0 ASPEED_GPIO(E, 5) GPIO_ACTIVE_LOW>;
 62			linux,code = <ASPEED_GPIO(E, 5)>;
 63		};
 64	};
 65
 66	gpio-keys-polled {
 67		compatible = "gpio-keys-polled";
 68		#address-cells = <1>;
 69		#size-cells = <0>;
 70		poll-interval = <1000>;
 71
 72		fan0-presence {
 73			label = "fan0-presence";
 74			gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
 75			linux,code = <4>;
 76		};
 77
 78		fan1-presence {
 79			label = "fan1-presence";
 80			gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
 81			linux,code = <5>;
 82		};
 83
 84		fan2-presence {
 85			label = "fan2-presence";
 86			gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
 87			linux,code = <6>;
 88		};
 89
 90		fan3-presence {
 91			label = "fan3-presence";
 92			gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
 93			linux,code = <7>;
 94		};
 95	};
 96
 97	iio-hwmon-dps310 {
 98		compatible = "iio-hwmon";
 99		io-channels = <&dps 0>;
100	};
101
102	iio-hwmon-bmp280 {
103		compatible = "iio-hwmon";
104		io-channels = <&bmp 1>;
105	};
106};
107
108&ehci1 {
109	status = "okay";
110};
111
112&gpio0 {
113	gpio-line-names =
114	/*A0-A7*/	"","","","","","","","",
115	/*B0-B7*/	"fsi-mux","","","","","","","",
116	/*C0-C7*/	"","","","","","","","",
117	/*D0-D7*/	"","","","","","","","",
118	/*E0-E7*/	"power-button","","","checkstop","","presence-ps1","","led-rear-fault",
119	/*F0-F7*/	"","","","","","","","",
120	/*G0-G7*/	"","","","","","","","",
121	/*H0-H7*/	"","","","presence-ps0","","","","",
122	/*I0-I7*/	"","","","","","","","",
123	/*J0-J7*/	"","","","","","","","",
124	/*K0-K7*/	"","","","","","","","",
125	/*L0-L7*/	"","","","","","","","",
126	/*M0-M7*/	"","","","","","","","",
127	/*N0-N7*/	"","","","","","","","",
128	/*O0-O7*/	"led-rear-power","led-rear-id","","usb-power","","","","",
129	/*P0-P7*/	"","","","","","","","",
130	/*Q0-Q7*/	"cfam-reset","","","","","","","fsi-routing",
131	/*R0-R7*/	"","","","","","","","",
132	/*S0-S7*/	"","","","","","","","",
133	/*T0-T7*/	"","","","","","","","",
134	/*U0-U7*/	"","","","","","","","",
135	/*V0-V7*/	"","","","","","","","",
136	/*W0-W7*/	"","","","","","","","",
137	/*X0-X7*/	"","","","","","","","",
138	/*Y0-Y7*/	"","","","","","","","",
139	/*Z0-Z7*/	"","","","","","","","";
 
 
 
140};
141
142&fmc {
143	status = "okay";
144	flash@0 {
145		status = "okay";
146		m25p,fast-read;
147		label = "bmc";
148		spi-max-frequency = <50000000>;
149#include "openbmc-flash-layout-128.dtsi"
150	};
151
152	flash@1 {
153		status = "okay";
154		m25p,fast-read;
155		label = "alt-bmc";
156		spi-max-frequency = <50000000>;
157	};
158};
159
160&spi1 {
161	status = "okay";
162	pinctrl-names = "default";
163	pinctrl-0 = <&pinctrl_spi1_default>;
164
165	flash@0 {
166		status = "okay";
167		m25p,fast-read;
168		label = "pnor";
169		spi-max-frequency = <100000000>;
170	};
171};
172
173&mac2 {
174	status = "okay";
175	pinctrl-names = "default";
176	pinctrl-0 = <&pinctrl_rmii3_default>;
177	clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
178		 <&syscon ASPEED_CLK_MAC3RCLK>;
179	clock-names = "MACCLK", "RCLK";
180	use-ncsi;
181};
182
183&emmc_controller {
184	status = "okay";
185};
186
187&emmc {
188	status = "okay";
189	clk-phase-mmc-hs200 = <36>, <270>;
190};
191
192&fsim0 {
193	status = "okay";
194
195	#address-cells = <2>;
196	#size-cells = <0>;
197
198	fsi-routing-gpios = <&gpio0 ASPEED_GPIO(Q, 7) GPIO_ACTIVE_HIGH>;
199	fsi-mux-gpios = <&gpio0 ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>;
200	cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
201
202	cfam@0,0 {
203		reg = <0 0>;
204		#address-cells = <1>;
205		#size-cells = <1>;
206		chip-id = <0>;
207
208		scom@1000 {
209			compatible = "ibm,fsi2pib";
210			reg = <0x1000 0x400>;
211		};
212
213		i2c@1800 {
214			compatible = "ibm,fsi-i2c-master";
215			reg = <0x1800 0x400>;
216			#address-cells = <1>;
217			#size-cells = <0>;
218
219			cfam0_i2c0: i2c-bus@0 {
220				reg = <0>;
221			};
222
223			cfam0_i2c1: i2c-bus@1 {
224				reg = <1>;
225			};
226
227			cfam0_i2c2: i2c-bus@2 {
228				reg = <2>;
229			};
230
231			cfam0_i2c3: i2c-bus@3 {
232				reg = <3>;
233			};
234
235			cfam0_i2c4: i2c-bus@4 {
236				reg = <4>;
237			};
238
239			cfam0_i2c5: i2c-bus@5 {
240				reg = <5>;
241			};
242
243			cfam0_i2c6: i2c-bus@6 {
244				reg = <6>;
245			};
246
247			cfam0_i2c7: i2c-bus@7 {
248				reg = <7>;
249			};
250
251			cfam0_i2c8: i2c-bus@8 {
252				reg = <8>;
253			};
254
255			cfam0_i2c9: i2c-bus@9 {
256				reg = <9>;
257			};
258
259			cfam0_i2c10: i2c-bus@a {
260				reg = <10>;
261			};
262
263			cfam0_i2c11: i2c-bus@b {
264				reg = <11>;
265			};
266
267			cfam0_i2c12: i2c-bus@c {
268				reg = <12>;
269			};
270
271			cfam0_i2c13: i2c-bus@d {
272				reg = <13>;
273			};
274
275			cfam0_i2c14: i2c-bus@e {
276				reg = <14>;
277			};
278		};
279
280		sbefifo@2400 {
281			compatible = "ibm,p9-sbefifo";
282			reg = <0x2400 0x400>;
283			#address-cells = <1>;
284			#size-cells = <0>;
285
286			fsi_occ0: occ {
287				compatible = "ibm,p9-occ";
288			};
289		};
290
291		fsi_hub0: hub@3400 {
292			compatible = "fsi-master-hub";
293			reg = <0x3400 0x400>;
294			#address-cells = <2>;
295			#size-cells = <0>;
296
297			no-scan-on-init;
298		};
299	};
300};
301
302&fsi_hub0 {
303	cfam@1,0 {
304		reg = <1 0>;
305		#address-cells = <1>;
306		#size-cells = <1>;
307		chip-id = <1>;
308
309		scom@1000 {
310			compatible = "ibm,fsi2pib";
311			reg = <0x1000 0x400>;
312		};
313
314		i2c@1800 {
315			compatible = "ibm,fsi-i2c-master";
316			reg = <0x1800 0x400>;
317			#address-cells = <1>;
318			#size-cells = <0>;
319
320			cfam1_i2c0: i2c-bus@0 {
321				reg = <0>;
322			};
323
324			cfam1_i2c1: i2c-bus@1 {
325				reg = <1>;
326			};
327
328			cfam1_i2c2: i2c-bus@2 {
329				reg = <2>;
330			};
331
332			cfam1_i2c3: i2c-bus@3 {
333				reg = <3>;
334			};
335
336			cfam1_i2c4: i2c-bus@4 {
337				reg = <4>;
338			};
339
340			cfam1_i2c5: i2c-bus@5 {
341				reg = <5>;
342			};
343
344			cfam1_i2c6: i2c-bus@6 {
345				reg = <6>;
346			};
347
348			cfam1_i2c7: i2c-bus@7 {
349				reg = <7>;
350			};
351
352			cfam1_i2c8: i2c-bus@8 {
353				reg = <8>;
354			};
355
356			cfam1_i2c9: i2c-bus@9 {
357				reg = <9>;
358			};
359
360			cfam1_i2c10: i2c-bus@a {
361				reg = <10>;
362			};
363
364			cfam1_i2c11: i2c-bus@b {
365				reg = <11>;
366			};
367
368			cfam1_i2c12: i2c-bus@c {
369				reg = <12>;
370			};
371
372			cfam1_i2c13: i2c-bus@d {
373				reg = <13>;
374			};
375
376			cfam1_i2c14: i2c-bus@e {
377				reg = <14>;
378			};
379		};
380
381		sbefifo@2400 {
382			compatible = "ibm,p9-sbefifo";
383			reg = <0x2400 0x400>;
384			#address-cells = <1>;
385			#size-cells = <0>;
386
387			fsi_occ1: occ {
388				compatible = "ibm,p9-occ";
389			};
390		};
391
392		fsi_hub1: hub@3400 {
393			compatible = "fsi-master-hub";
394			reg = <0x3400 0x400>;
395			#address-cells = <2>;
396			#size-cells = <0>;
397
398			no-scan-on-init;
399		};
400	};
401};
402
403/* Legacy OCC numbering (to get rid of when userspace is fixed) */
404&fsi_occ0 {
405	reg = <1>;
406};
407
408&fsi_occ1 {
409	reg = <2>;
410};
411
412/ {
413	aliases {
414		i2c100 = &cfam0_i2c0;
415		i2c101 = &cfam0_i2c1;
416		i2c102 = &cfam0_i2c2;
417		i2c103 = &cfam0_i2c3;
418		i2c104 = &cfam0_i2c4;
419		i2c105 = &cfam0_i2c5;
420		i2c106 = &cfam0_i2c6;
421		i2c107 = &cfam0_i2c7;
422		i2c108 = &cfam0_i2c8;
423		i2c109 = &cfam0_i2c9;
424		i2c110 = &cfam0_i2c10;
425		i2c111 = &cfam0_i2c11;
426		i2c112 = &cfam0_i2c12;
427		i2c113 = &cfam0_i2c13;
428		i2c114 = &cfam0_i2c14;
429		i2c200 = &cfam1_i2c0;
430		i2c201 = &cfam1_i2c1;
431		i2c202 = &cfam1_i2c2;
432		i2c203 = &cfam1_i2c3;
433		i2c204 = &cfam1_i2c4;
434		i2c205 = &cfam1_i2c5;
435		i2c206 = &cfam1_i2c6;
436		i2c207 = &cfam1_i2c7;
437		i2c208 = &cfam1_i2c8;
438		i2c209 = &cfam1_i2c9;
439		i2c210 = &cfam1_i2c10;
440		i2c211 = &cfam1_i2c11;
441		i2c212 = &cfam1_i2c12;
442		i2c213 = &cfam1_i2c13;
443		i2c214 = &cfam1_i2c14;
444	};
445
446};
447
448&i2c0 {
449	multi-master;
450	status = "okay";
451
452	ibm-panel@62 {
453		compatible = "ibm,op-panel";
454		reg = <(0x62 | I2C_OWN_SLAVE_ADDRESS)>;
455	};
456};
457
458&i2c1 {
459	status = "okay";
460
461	tpm: tpm@2e {
462		compatible = "tcg,tpm-tis-i2c";
463		reg = <0x2e>;
464	};
465};
466
467&i2c2 {
468	status = "okay";
469};
470
471&i2c3 {
472	status = "okay";
473
474	bmp: bmp280@77 {
475		compatible = "bosch,bmp280";
476		reg = <0x77>;
477		#io-channel-cells = <1>;
478	};
479
480	max31785@52 {
481		compatible = "maxim,max31785a";
482		reg = <0x52>;
483		#address-cells = <1>;
484		#size-cells = <0>;
485
486		fan@0 {
487			compatible = "pmbus-fan";
488			reg = <0>;
489			tach-pulses = <2>;
490			maxim,fan-rotor-input = "tach";
491			maxim,fan-pwm-freq = <25000>;
492			maxim,fan-dual-tach;
493			maxim,fan-no-watchdog;
494			maxim,fan-no-fault-ramp;
495			maxim,fan-ramp = <2>;
496			maxim,fan-fault-pin-mon;
497		};
498
499		fan@1 {
500			compatible = "pmbus-fan";
501			reg = <1>;
502			tach-pulses = <2>;
503			maxim,fan-rotor-input = "tach";
504			maxim,fan-pwm-freq = <25000>;
505			maxim,fan-dual-tach;
506			maxim,fan-no-watchdog;
507			maxim,fan-no-fault-ramp;
508			maxim,fan-ramp = <2>;
509			maxim,fan-fault-pin-mon;
510		};
511
512		fan@2 {
513			compatible = "pmbus-fan";
514			reg = <2>;
515			tach-pulses = <2>;
516			maxim,fan-rotor-input = "tach";
517			maxim,fan-pwm-freq = <25000>;
518			maxim,fan-dual-tach;
519			maxim,fan-no-watchdog;
520			maxim,fan-no-fault-ramp;
521			maxim,fan-ramp = <2>;
522			maxim,fan-fault-pin-mon;
523		};
524
525		fan@3 {
526			compatible = "pmbus-fan";
527			reg = <3>;
528			tach-pulses = <2>;
529			maxim,fan-rotor-input = "tach";
530			maxim,fan-pwm-freq = <25000>;
531			maxim,fan-dual-tach;
532			maxim,fan-no-watchdog;
533			maxim,fan-no-fault-ramp;
534			maxim,fan-ramp = <2>;
535			maxim,fan-fault-pin-mon;
536		};
537	};
538
539	dps: dps310@76 {
540		compatible = "infineon,dps310";
541		reg = <0x76>;
542		#io-channel-cells = <0>;
543	};
544
545	pca0: pca9552@60 {
546		compatible = "nxp,pca9552";
547		reg = <0x60>;
548		#address-cells = <1>;
549		#size-cells = <0>;
550
551		gpio-controller;
552		#gpio-cells = <2>;
553
554		gpio@0 {
555			reg = <0>;
556			type = <PCA955X_TYPE_GPIO>;
557		};
558
559		gpio@1 {
560			reg = <1>;
561			type = <PCA955X_TYPE_GPIO>;
562		};
563
564		gpio@2 {
565			reg = <2>;
566			type = <PCA955X_TYPE_GPIO>;
567		};
568
569		gpio@3 {
570			reg = <3>;
571			type = <PCA955X_TYPE_GPIO>;
572		};
573
574		gpio@4 {
575			reg = <4>;
576			type = <PCA955X_TYPE_GPIO>;
577		};
578
579		gpio@5 {
580			reg = <5>;
581			type = <PCA955X_TYPE_GPIO>;
582		};
583
584		gpio@6 {
585			reg = <6>;
586			type = <PCA955X_TYPE_GPIO>;
587		};
588
589		gpio@7 {
590			reg = <7>;
591			type = <PCA955X_TYPE_GPIO>;
592		};
593
594		gpio@8 {
595			reg = <8>;
596			type = <PCA955X_TYPE_GPIO>;
597		};
598
599		gpio@9 {
600			reg = <9>;
601			type = <PCA955X_TYPE_GPIO>;
602		};
603
604		gpio@10 {
605			reg = <10>;
606			type = <PCA955X_TYPE_GPIO>;
607		};
608
609		gpio@11 {
610			reg = <11>;
611			type = <PCA955X_TYPE_GPIO>;
612		};
613
614		gpio@12 {
615			reg = <12>;
616			type = <PCA955X_TYPE_GPIO>;
617		};
618
619		gpio@13 {
620			reg = <13>;
621			type = <PCA955X_TYPE_GPIO>;
622		};
623
624		gpio@14 {
625			reg = <14>;
626			type = <PCA955X_TYPE_GPIO>;
627		};
628
629		gpio@15 {
630			reg = <15>;
631			type = <PCA955X_TYPE_GPIO>;
632		};
633	};
634
635	power-supply@68 {
636		compatible = "ibm,cffps1";
637		reg = <0x68>;
638	};
639
640	power-supply@69 {
641		compatible = "ibm,cffps1";
642		reg = <0x69>;
643	};
644};
645
646&i2c4 {
647	status = "okay";
648
649	tmp423a@4c {
650		compatible = "ti,tmp423";
651		reg = <0x4c>;
652	};
653
654	ir35221@70 {
655		compatible = "infineon,ir35221";
656		reg = <0x70>;
657	};
658
659	ir35221@71 {
660		compatible = "infineon,ir35221";
661		reg = <0x71>;
662	};
663};
664
665&i2c5 {
666	status = "okay";
667
668	tmp423a@4c {
669		compatible = "ti,tmp423";
670		reg = <0x4c>;
671	};
672
673	ir35221@70 {
674		compatible = "infineon,ir35221";
675		reg = <0x70>;
676	};
677
678	ir35221@71 {
679		compatible = "infineon,ir35221";
680		reg = <0x71>;
681	};
682};
683
684&i2c7 {
685	status = "okay";
686};
687
688&i2c9 {
689	status = "okay";
690
691	tmp275@4a {
692		compatible = "ti,tmp275";
693		reg = <0x4a>;
694	};
695};
696
697&i2c10 {
698	status = "okay";
699};
700
701&i2c11 {
702	status = "okay";
703
704	pca9552: pca9552@60 {
705		compatible = "nxp,pca9552";
706		reg = <0x60>;
707		#address-cells = <1>;
708		#size-cells = <0>;
709		gpio-controller;
710		#gpio-cells = <2>;
711
712		gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N",
713			"GPU0_TH_OVERT_N_BUFF",	"GPU1_TH_OVERT_N_BUFF",
714			"GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF",
715			"GPU4_TH_OVERT_N_BUFF",	"GPU5_TH_OVERT_N_BUFF",
716			"GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF",
717			"GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF",
718			"GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF",
719			"12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N";
720
721		gpio@0 {
722			reg = <0>;
723			type = <PCA955X_TYPE_GPIO>;
724		};
725
726		gpio@1 {
727			reg = <1>;
728			type = <PCA955X_TYPE_GPIO>;
729		};
730
731		gpio@2 {
732			reg = <2>;
733			type = <PCA955X_TYPE_GPIO>;
734		};
735
736		gpio@3 {
737			reg = <3>;
738			type = <PCA955X_TYPE_GPIO>;
739		};
740
741		gpio@4 {
742			reg = <4>;
743			type = <PCA955X_TYPE_GPIO>;
744		};
745
746		gpio@5 {
747			reg = <5>;
748			type = <PCA955X_TYPE_GPIO>;
749		};
750
751		gpio@6 {
752			reg = <6>;
753			type = <PCA955X_TYPE_GPIO>;
754		};
755
756		gpio@7 {
757			reg = <7>;
758			type = <PCA955X_TYPE_GPIO>;
759		};
760
761		gpio@8 {
762			reg = <8>;
763			type = <PCA955X_TYPE_GPIO>;
764		};
765
766		gpio@9 {
767			reg = <9>;
768			type = <PCA955X_TYPE_GPIO>;
769		};
770
771		gpio@10 {
772			reg = <10>;
773			type = <PCA955X_TYPE_GPIO>;
774		};
775
776		gpio@11 {
777			reg = <11>;
778			type = <PCA955X_TYPE_GPIO>;
779		};
780
781		gpio@12 {
782			reg = <12>;
783			type = <PCA955X_TYPE_GPIO>;
784		};
785
786		gpio@13 {
787			reg = <13>;
788			type = <PCA955X_TYPE_GPIO>;
789		};
790
791		gpio@14 {
792			reg = <14>;
793			type = <PCA955X_TYPE_GPIO>;
794		};
795
796		gpio@15 {
797			reg = <15>;
798			type = <PCA955X_TYPE_GPIO>;
799		};
800	};
801
802	rtc@32 {
803		compatible = "epson,rx8900";
804		reg = <0x32>;
805	};
806
807	eeprom@51 {
808		compatible = "atmel,24c64";
809		reg = <0x51>;
810	};
811
812	ucd90160@64 {
813		compatible = "ti,ucd90160";
814		reg = <0x64>;
815	};
816};
817
818&i2c12 {
819	status = "okay";
820};
821
822&i2c13 {
823	status = "okay";
824};
825
826&ibt {
827	status = "okay";
828};
829
830&uart1 {
831	status = "okay";
832	// Workaround for A0
833	compatible = "snps,dw-apb-uart";
834};
835
836&uart5 {
837	// Workaround for A0
838	compatible = "snps,dw-apb-uart";
839};
840
841&vuart1 {
842	status = "okay";
843};
844
845&vuart2 {
846	status = "okay";
847};
848
849&lpc_ctrl {
850	status = "okay";
851	memory-region = <&flash_memory>;
852	flash = <&spi1>;
853};
854
855&wdt1 {
856	aspeed,reset-type = "none";
857	aspeed,external-signal;
858	aspeed,ext-push-pull;
859	aspeed,ext-active-high;
860
861	pinctrl-names = "default";
862	pinctrl-0 = <&pinctrl_wdtrst1_default>;
863};
864
865&wdt2 {
866	status = "okay";
867};
868
869&pinctrl {
870	/* Hog these as no driver is probed for the entire LPC block */
871	pinctrl-names = "default";
872	pinctrl-0 = <&pinctrl_lpc_default>,
873		    <&pinctrl_lsirq_default>;
874};
875
876&xdma {
877	status = "okay";
878	memory-region = <&vga_memory>;
879};
v5.9
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2// Copyright 2019 IBM Corp.
  3/dts-v1/;
  4
  5#include "aspeed-g6.dtsi"
  6#include <dt-bindings/gpio/aspeed-gpio.h>
 
  7#include <dt-bindings/leds/leds-pca955x.h>
  8
  9/ {
 10	model = "Tacoma";
 11	compatible = "ibm,tacoma-bmc", "aspeed,ast2600";
 12
 13	chosen {
 14		stdout-path = &uart5;
 15		bootargs = "console=ttyS4,115200n8";
 16	};
 17
 18	memory@80000000 {
 19		device_type = "memory";
 20		reg = <0x80000000 0x40000000>;
 21	};
 22
 23	reserved-memory {
 24		#address-cells = <1>;
 25		#size-cells = <1>;
 26		ranges;
 27
 28		flash_memory: region@ba000000 {
 29			no-map;
 30			reg = <0xb8000000 0x4000000>; /* 64M */
 31		};
 32
 
 
 
 
 
 
 
 
 
 33		vga_memory: region@bf000000 {
 34			no-map;
 35			compatible = "shared-dma-pool";
 36			reg = <0xbf000000 0x01000000>;	/* 16M */
 37		};
 38	};
 39
 40	gpio-keys {
 41		compatible = "gpio-keys";
 42
 43		ps0-presence {
 44			label = "ps0-presence";
 45			gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
 46			linux,code = <ASPEED_GPIO(H, 3)>;
 47		};
 48
 49		ps1-presence {
 50			label = "ps1-presence";
 51			gpios = <&gpio0 ASPEED_GPIO(E, 5) GPIO_ACTIVE_LOW>;
 52			linux,code = <ASPEED_GPIO(E, 5)>;
 53		};
 54	};
 55
 56	gpio-keys-polled {
 57		compatible = "gpio-keys-polled";
 58		#address-cells = <1>;
 59		#size-cells = <0>;
 60		poll-interval = <1000>;
 61
 62		fan0-presence {
 63			label = "fan0-presence";
 64			gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
 65			linux,code = <4>;
 66		};
 67
 68		fan1-presence {
 69			label = "fan1-presence";
 70			gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
 71			linux,code = <5>;
 72		};
 73
 74		fan2-presence {
 75			label = "fan2-presence";
 76			gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
 77			linux,code = <6>;
 78		};
 79
 80		fan3-presence {
 81			label = "fan3-presence";
 82			gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
 83			linux,code = <7>;
 84		};
 85	};
 86
 87	iio-hwmon-dps310 {
 88		compatible = "iio-hwmon";
 89		io-channels = <&dps 0>;
 90	};
 91
 92	iio-hwmon-bmp280 {
 93		compatible = "iio-hwmon";
 94		io-channels = <&bmp 1>;
 95	};
 96};
 97
 98&ehci1 {
 99	status = "okay";
100};
101
102&gpio0 {
103	gpio-line-names =
104	/*A0-A7*/	"","","","","","","","",
105	/*B0-B7*/	"fsi-mux","","","","","","","",
106	/*C0-C7*/	"","","","","","","","",
107	/*D0-D7*/	"","","","","","","","",
108	/*E0-E7*/	"power-button","","","checkstop","","presence-ps1","","led-rear-fault",
109	/*F0-F7*/	"","","","","","","","",
110	/*G0-G7*/	"","","","","","","","",
111	/*H0-H7*/	"","","","presence-ps0","","","","",
112	/*I0-I7*/	"","","","","","","","",
113	/*J0-J7*/	"","","","","","","","",
114	/*K0-K7*/	"","","","","","","","",
115	/*L0-L7*/	"","","","","","","","",
116	/*M0-M7*/	"","","","","","","","",
117	/*N0-N7*/	"","","","","","","","",
118	/*O0-O7*/	"led-rear-power","led-rear-id","","usb-power","","","","",
119	/*P0-P7*/	"","","","","","","","",
120	/*Q0-Q7*/	"cfam-reset","","","","","","","fsi-routing",
121	/*R0-R7*/	"","","","","","","","",
122	/*S0-S7*/	"","","","","","","","",
123	/*T0-T7*/	"","","","","","","","",
124	/*U0-U7*/	"","","","","","","","",
125	/*V0-V7*/	"","","","","","","","",
126	/*W0-W7*/	"","","","","","","","",
127	/*X0-X7*/	"","","","","","","","",
128	/*Y0-Y7*/	"","","","","","","","",
129	/*Z0-Z7*/	"","","","","","","","",
130	/*AA0-AA7*/	"","","","","","","","",
131	/*AB0-AB7*/	"","","","","","","","",
132	/*AC0-AC7*/	"","","","","","","","";
133};
134
135&fmc {
136	status = "okay";
137	flash@0 {
138		status = "okay";
139		m25p,fast-read;
140		label = "bmc";
141		spi-max-frequency = <50000000>;
142#include "openbmc-flash-layout-128.dtsi"
143	};
144
145	flash@1 {
146		status = "okay";
147		m25p,fast-read;
148		label = "alt-bmc";
149		spi-max-frequency = <50000000>;
150	};
151};
152
153&spi1 {
154	status = "okay";
155	pinctrl-names = "default";
156	pinctrl-0 = <&pinctrl_spi1_default>;
157
158	flash@0 {
159		status = "okay";
160		m25p,fast-read;
161		label = "pnor";
162		spi-max-frequency = <100000000>;
163	};
164};
165
166&mac2 {
167	status = "okay";
168	pinctrl-names = "default";
169	pinctrl-0 = <&pinctrl_rmii3_default>;
170	clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
171		 <&syscon ASPEED_CLK_MAC3RCLK>;
172	clock-names = "MACCLK", "RCLK";
173	use-ncsi;
174};
175
176&emmc_controller {
177	status = "okay";
178};
179
180&emmc {
181	status = "okay";
 
182};
183
184&fsim0 {
185	status = "okay";
186
187	#address-cells = <2>;
188	#size-cells = <0>;
189
190	fsi-routing-gpios = <&gpio0 ASPEED_GPIO(Q, 7) GPIO_ACTIVE_HIGH>;
191	fsi-mux-gpios = <&gpio0 ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>;
192	cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
193
194	cfam@0,0 {
195		reg = <0 0>;
196		#address-cells = <1>;
197		#size-cells = <1>;
198		chip-id = <0>;
199
200		scom@1000 {
201			compatible = "ibm,fsi2pib";
202			reg = <0x1000 0x400>;
203		};
204
205		i2c@1800 {
206			compatible = "ibm,fsi-i2c-master";
207			reg = <0x1800 0x400>;
208			#address-cells = <1>;
209			#size-cells = <0>;
210
211			cfam0_i2c0: i2c-bus@0 {
212				reg = <0>;
213			};
214
215			cfam0_i2c1: i2c-bus@1 {
216				reg = <1>;
217			};
218
219			cfam0_i2c2: i2c-bus@2 {
220				reg = <2>;
221			};
222
223			cfam0_i2c3: i2c-bus@3 {
224				reg = <3>;
225			};
226
227			cfam0_i2c4: i2c-bus@4 {
228				reg = <4>;
229			};
230
231			cfam0_i2c5: i2c-bus@5 {
232				reg = <5>;
233			};
234
235			cfam0_i2c6: i2c-bus@6 {
236				reg = <6>;
237			};
238
239			cfam0_i2c7: i2c-bus@7 {
240				reg = <7>;
241			};
242
243			cfam0_i2c8: i2c-bus@8 {
244				reg = <8>;
245			};
246
247			cfam0_i2c9: i2c-bus@9 {
248				reg = <9>;
249			};
250
251			cfam0_i2c10: i2c-bus@a {
252				reg = <10>;
253			};
254
255			cfam0_i2c11: i2c-bus@b {
256				reg = <11>;
257			};
258
259			cfam0_i2c12: i2c-bus@c {
260				reg = <12>;
261			};
262
263			cfam0_i2c13: i2c-bus@d {
264				reg = <13>;
265			};
266
267			cfam0_i2c14: i2c-bus@e {
268				reg = <14>;
269			};
270		};
271
272		sbefifo@2400 {
273			compatible = "ibm,p9-sbefifo";
274			reg = <0x2400 0x400>;
275			#address-cells = <1>;
276			#size-cells = <0>;
277
278			fsi_occ0: occ {
279				compatible = "ibm,p9-occ";
280			};
281		};
282
283		fsi_hub0: hub@3400 {
284			compatible = "fsi-master-hub";
285			reg = <0x3400 0x400>;
286			#address-cells = <2>;
287			#size-cells = <0>;
288
289			no-scan-on-init;
290		};
291	};
292};
293
294&fsi_hub0 {
295	cfam@1,0 {
296		reg = <1 0>;
297		#address-cells = <1>;
298		#size-cells = <1>;
299		chip-id = <1>;
300
301		scom@1000 {
302			compatible = "ibm,fsi2pib";
303			reg = <0x1000 0x400>;
304		};
305
306		i2c@1800 {
307			compatible = "ibm,fsi-i2c-master";
308			reg = <0x1800 0x400>;
309			#address-cells = <1>;
310			#size-cells = <0>;
311
312			cfam1_i2c0: i2c-bus@0 {
313				reg = <0>;
314			};
315
316			cfam1_i2c1: i2c-bus@1 {
317				reg = <1>;
318			};
319
320			cfam1_i2c2: i2c-bus@2 {
321				reg = <2>;
322			};
323
324			cfam1_i2c3: i2c-bus@3 {
325				reg = <3>;
326			};
327
328			cfam1_i2c4: i2c-bus@4 {
329				reg = <4>;
330			};
331
332			cfam1_i2c5: i2c-bus@5 {
333				reg = <5>;
334			};
335
336			cfam1_i2c6: i2c-bus@6 {
337				reg = <6>;
338			};
339
340			cfam1_i2c7: i2c-bus@7 {
341				reg = <7>;
342			};
343
344			cfam1_i2c8: i2c-bus@8 {
345				reg = <8>;
346			};
347
348			cfam1_i2c9: i2c-bus@9 {
349				reg = <9>;
350			};
351
352			cfam1_i2c10: i2c-bus@a {
353				reg = <10>;
354			};
355
356			cfam1_i2c11: i2c-bus@b {
357				reg = <11>;
358			};
359
360			cfam1_i2c12: i2c-bus@c {
361				reg = <12>;
362			};
363
364			cfam1_i2c13: i2c-bus@d {
365				reg = <13>;
366			};
367
368			cfam1_i2c14: i2c-bus@e {
369				reg = <14>;
370			};
371		};
372
373		sbefifo@2400 {
374			compatible = "ibm,p9-sbefifo";
375			reg = <0x2400 0x400>;
376			#address-cells = <1>;
377			#size-cells = <0>;
378
379			fsi_occ1: occ {
380				compatible = "ibm,p9-occ";
381			};
382		};
383
384		fsi_hub1: hub@3400 {
385			compatible = "fsi-master-hub";
386			reg = <0x3400 0x400>;
387			#address-cells = <2>;
388			#size-cells = <0>;
389
390			no-scan-on-init;
391		};
392	};
393};
394
395/* Legacy OCC numbering (to get rid of when userspace is fixed) */
396&fsi_occ0 {
397	reg = <1>;
398};
399
400&fsi_occ1 {
401	reg = <2>;
402};
403
404/ {
405	aliases {
406		i2c100 = &cfam0_i2c0;
407		i2c101 = &cfam0_i2c1;
408		i2c102 = &cfam0_i2c2;
409		i2c103 = &cfam0_i2c3;
410		i2c104 = &cfam0_i2c4;
411		i2c105 = &cfam0_i2c5;
412		i2c106 = &cfam0_i2c6;
413		i2c107 = &cfam0_i2c7;
414		i2c108 = &cfam0_i2c8;
415		i2c109 = &cfam0_i2c9;
416		i2c110 = &cfam0_i2c10;
417		i2c111 = &cfam0_i2c11;
418		i2c112 = &cfam0_i2c12;
419		i2c113 = &cfam0_i2c13;
420		i2c114 = &cfam0_i2c14;
421		i2c200 = &cfam1_i2c0;
422		i2c201 = &cfam1_i2c1;
423		i2c202 = &cfam1_i2c2;
424		i2c203 = &cfam1_i2c3;
425		i2c204 = &cfam1_i2c4;
426		i2c205 = &cfam1_i2c5;
427		i2c206 = &cfam1_i2c6;
428		i2c207 = &cfam1_i2c7;
429		i2c208 = &cfam1_i2c8;
430		i2c209 = &cfam1_i2c9;
431		i2c210 = &cfam1_i2c10;
432		i2c211 = &cfam1_i2c11;
433		i2c212 = &cfam1_i2c12;
434		i2c213 = &cfam1_i2c13;
435		i2c214 = &cfam1_i2c14;
436	};
437
438};
439
440&i2c0 {
 
441	status = "okay";
 
 
 
 
 
442};
443
444&i2c1 {
445	status = "okay";
446
447	tpm: tpm@2e {
448		compatible = "tcg,tpm-tis-i2c";
449		reg = <0x2e>;
450	};
451};
452
453&i2c2 {
454	status = "okay";
455};
456
457&i2c3 {
458	status = "okay";
459
460	bmp: bmp280@77 {
461		compatible = "bosch,bmp280";
462		reg = <0x77>;
463		#io-channel-cells = <1>;
464	};
465
466	max31785@52 {
467		compatible = "maxim,max31785a";
468		reg = <0x52>;
469		#address-cells = <1>;
470		#size-cells = <0>;
471
472		fan@0 {
473			compatible = "pmbus-fan";
474			reg = <0>;
475			tach-pulses = <2>;
476			maxim,fan-rotor-input = "tach";
477			maxim,fan-pwm-freq = <25000>;
478			maxim,fan-dual-tach;
479			maxim,fan-no-watchdog;
480			maxim,fan-no-fault-ramp;
481			maxim,fan-ramp = <2>;
482			maxim,fan-fault-pin-mon;
483		};
484
485		fan@1 {
486			compatible = "pmbus-fan";
487			reg = <1>;
488			tach-pulses = <2>;
489			maxim,fan-rotor-input = "tach";
490			maxim,fan-pwm-freq = <25000>;
491			maxim,fan-dual-tach;
492			maxim,fan-no-watchdog;
493			maxim,fan-no-fault-ramp;
494			maxim,fan-ramp = <2>;
495			maxim,fan-fault-pin-mon;
496		};
497
498		fan@2 {
499			compatible = "pmbus-fan";
500			reg = <2>;
501			tach-pulses = <2>;
502			maxim,fan-rotor-input = "tach";
503			maxim,fan-pwm-freq = <25000>;
504			maxim,fan-dual-tach;
505			maxim,fan-no-watchdog;
506			maxim,fan-no-fault-ramp;
507			maxim,fan-ramp = <2>;
508			maxim,fan-fault-pin-mon;
509		};
510
511		fan@3 {
512			compatible = "pmbus-fan";
513			reg = <3>;
514			tach-pulses = <2>;
515			maxim,fan-rotor-input = "tach";
516			maxim,fan-pwm-freq = <25000>;
517			maxim,fan-dual-tach;
518			maxim,fan-no-watchdog;
519			maxim,fan-no-fault-ramp;
520			maxim,fan-ramp = <2>;
521			maxim,fan-fault-pin-mon;
522		};
523	};
524
525	dps: dps310@76 {
526		compatible = "infineon,dps310";
527		reg = <0x76>;
528		#io-channel-cells = <0>;
529	};
530
531	pca0: pca9552@60 {
532		compatible = "nxp,pca9552";
533		reg = <0x60>;
534		#address-cells = <1>;
535		#size-cells = <0>;
536
537		gpio-controller;
538		#gpio-cells = <2>;
539
540		gpio@0 {
541			reg = <0>;
542			type = <PCA955X_TYPE_GPIO>;
543		};
544
545		gpio@1 {
546			reg = <1>;
547			type = <PCA955X_TYPE_GPIO>;
548		};
549
550		gpio@2 {
551			reg = <2>;
552			type = <PCA955X_TYPE_GPIO>;
553		};
554
555		gpio@3 {
556			reg = <3>;
557			type = <PCA955X_TYPE_GPIO>;
558		};
559
560		gpio@4 {
561			reg = <4>;
562			type = <PCA955X_TYPE_GPIO>;
563		};
564
565		gpio@5 {
566			reg = <5>;
567			type = <PCA955X_TYPE_GPIO>;
568		};
569
570		gpio@6 {
571			reg = <6>;
572			type = <PCA955X_TYPE_GPIO>;
573		};
574
575		gpio@7 {
576			reg = <7>;
577			type = <PCA955X_TYPE_GPIO>;
578		};
579
580		gpio@8 {
581			reg = <8>;
582			type = <PCA955X_TYPE_GPIO>;
583		};
584
585		gpio@9 {
586			reg = <9>;
587			type = <PCA955X_TYPE_GPIO>;
588		};
589
590		gpio@10 {
591			reg = <10>;
592			type = <PCA955X_TYPE_GPIO>;
593		};
594
595		gpio@11 {
596			reg = <11>;
597			type = <PCA955X_TYPE_GPIO>;
598		};
599
600		gpio@12 {
601			reg = <12>;
602			type = <PCA955X_TYPE_GPIO>;
603		};
604
605		gpio@13 {
606			reg = <13>;
607			type = <PCA955X_TYPE_GPIO>;
608		};
609
610		gpio@14 {
611			reg = <14>;
612			type = <PCA955X_TYPE_GPIO>;
613		};
614
615		gpio@15 {
616			reg = <15>;
617			type = <PCA955X_TYPE_GPIO>;
618		};
619	};
620
621	power-supply@68 {
622		compatible = "ibm,cffps1";
623		reg = <0x68>;
624	};
625
626	power-supply@69 {
627		compatible = "ibm,cffps1";
628		reg = <0x69>;
629	};
630};
631
632&i2c4 {
633	status = "okay";
634
635	tmp423a@4c {
636		compatible = "ti,tmp423";
637		reg = <0x4c>;
638	};
639
640	ir35221@70 {
641		compatible = "infineon,ir35221";
642		reg = <0x70>;
643	};
644
645	ir35221@71 {
646		compatible = "infineon,ir35221";
647		reg = <0x71>;
648	};
649};
650
651&i2c5 {
652	status = "okay";
653
654	tmp423a@4c {
655		compatible = "ti,tmp423";
656		reg = <0x4c>;
657	};
658
659	ir35221@70 {
660		compatible = "infineon,ir35221";
661		reg = <0x70>;
662	};
663
664	ir35221@71 {
665		compatible = "infineon,ir35221";
666		reg = <0x71>;
667	};
668};
669
670&i2c7 {
671	status = "okay";
672};
673
674&i2c9 {
675	status = "okay";
676
677	tmp275@4a {
678		compatible = "ti,tmp275";
679		reg = <0x4a>;
680	};
681};
682
683&i2c10 {
684	status = "okay";
685};
686
687&i2c11 {
688	status = "okay";
689
690	pca9552: pca9552@60 {
691		compatible = "nxp,pca9552";
692		reg = <0x60>;
693		#address-cells = <1>;
694		#size-cells = <0>;
695		gpio-controller;
696		#gpio-cells = <2>;
697
698		gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N",
699			"GPU0_TH_OVERT_N_BUFF",	"GPU1_TH_OVERT_N_BUFF",
700			"GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF",
701			"GPU4_TH_OVERT_N_BUFF",	"GPU5_TH_OVERT_N_BUFF",
702			"GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF",
703			"GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF",
704			"GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF",
705			"12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N";
706
707		gpio@0 {
708			reg = <0>;
709			type = <PCA955X_TYPE_GPIO>;
710		};
711
712		gpio@1 {
713			reg = <1>;
714			type = <PCA955X_TYPE_GPIO>;
715		};
716
717		gpio@2 {
718			reg = <2>;
719			type = <PCA955X_TYPE_GPIO>;
720		};
721
722		gpio@3 {
723			reg = <3>;
724			type = <PCA955X_TYPE_GPIO>;
725		};
726
727		gpio@4 {
728			reg = <4>;
729			type = <PCA955X_TYPE_GPIO>;
730		};
731
732		gpio@5 {
733			reg = <5>;
734			type = <PCA955X_TYPE_GPIO>;
735		};
736
737		gpio@6 {
738			reg = <6>;
739			type = <PCA955X_TYPE_GPIO>;
740		};
741
742		gpio@7 {
743			reg = <7>;
744			type = <PCA955X_TYPE_GPIO>;
745		};
746
747		gpio@8 {
748			reg = <8>;
749			type = <PCA955X_TYPE_GPIO>;
750		};
751
752		gpio@9 {
753			reg = <9>;
754			type = <PCA955X_TYPE_GPIO>;
755		};
756
757		gpio@10 {
758			reg = <10>;
759			type = <PCA955X_TYPE_GPIO>;
760		};
761
762		gpio@11 {
763			reg = <11>;
764			type = <PCA955X_TYPE_GPIO>;
765		};
766
767		gpio@12 {
768			reg = <12>;
769			type = <PCA955X_TYPE_GPIO>;
770		};
771
772		gpio@13 {
773			reg = <13>;
774			type = <PCA955X_TYPE_GPIO>;
775		};
776
777		gpio@14 {
778			reg = <14>;
779			type = <PCA955X_TYPE_GPIO>;
780		};
781
782		gpio@15 {
783			reg = <15>;
784			type = <PCA955X_TYPE_GPIO>;
785		};
786	};
787
788	rtc@32 {
789		compatible = "epson,rx8900";
790		reg = <0x32>;
791	};
792
793	eeprom@51 {
794		compatible = "atmel,24c64";
795		reg = <0x51>;
796	};
797
798	ucd90160@64 {
799		compatible = "ti,ucd90160";
800		reg = <0x64>;
801	};
802};
803
804&i2c12 {
805	status = "okay";
806};
807
808&i2c13 {
809	status = "okay";
810};
811
812&ibt {
813	status = "okay";
814};
815
816&uart1 {
817	status = "okay";
818	// Workaround for A0
819	compatible = "snps,dw-apb-uart";
820};
821
822&uart5 {
823	// Workaround for A0
824	compatible = "snps,dw-apb-uart";
825};
826
827&vuart1 {
828	status = "okay";
829};
830
831&vuart2 {
832	status = "okay";
833};
834
835&lpc_ctrl {
836	status = "okay";
837	memory-region = <&flash_memory>;
838	flash = <&spi1>;
839};
840
841&wdt1 {
842	aspeed,reset-type = "none";
843	aspeed,external-signal;
844	aspeed,ext-push-pull;
845	aspeed,ext-active-high;
846
847	pinctrl-names = "default";
848	pinctrl-0 = <&pinctrl_wdtrst1_default>;
849};
850
851&wdt2 {
852	status = "okay";
853};
854
855&pinctrl {
856	/* Hog these as no driver is probed for the entire LPC block */
857	pinctrl-names = "default";
858	pinctrl-0 = <&pinctrl_lpc_default>,
859		    <&pinctrl_lsirq_default>;
860};
861
862&xdma {
863	status = "okay";
864	memory-region = <&vga_memory>;
865};