blob: b0e61ccd4f04c1fde45084b5e66c01fca257cfd4 [file] [log] [blame]
Adriana Kobylaka1920242019-07-11 09:48:49 -05001From 886807887052b408717137acfeb6a8633748a210 Mon Sep 17 00:00:00 2001
Adriana Kobylak903fd352019-02-06 16:24:42 -06002From: Adriana Kobylak <anoo@us.ibm.com>
3Date: Thu, 7 Feb 2019 11:23:00 -0600
4Subject: [PATCH] ARM: dts: Aspeed: Witherspoon-128: Update BMC partitioning
5
6Create a Witherspoon-128 dts based off Witherspoon but with 128MB
7BMC flash chips.
8
9Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
10---
11 arch/arm/boot/dts/Makefile | 1 +
Adriana Kobylaka1920242019-07-11 09:48:49 -050012 .../boot/dts/aspeed-bmc-opp-witherspoon-128.dts | 708 +++++++++++++++++++++
13 2 files changed, 709 insertions(+)
Adriana Kobylak903fd352019-02-06 16:24:42 -060014 create mode 100644 arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts
15
16diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
Adriana Kobylaka1920242019-07-11 09:48:49 -050017index eb6de52..833c354 100644
Adriana Kobylak903fd352019-02-06 16:24:42 -060018--- a/arch/arm/boot/dts/Makefile
19+++ b/arch/arm/boot/dts/Makefile
Adriana Kobylaka1920242019-07-11 09:48:49 -050020@@ -1280,6 +1280,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
21 aspeed-bmc-opp-swift.dtb \
22 aspeed-bmc-opp-vesnin.dtb \
Adriana Kobylak903fd352019-02-06 16:24:42 -060023 aspeed-bmc-opp-witherspoon.dtb \
24+ aspeed-bmc-opp-witherspoon-128.dtb \
25 aspeed-bmc-opp-zaius.dtb \
26 aspeed-bmc-portwell-neptune.dtb \
27 aspeed-bmc-quanta-q71l.dtb
28diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts
29new file mode 100644
Adriana Kobylaka1920242019-07-11 09:48:49 -050030index 0000000..36b4749
Adriana Kobylak903fd352019-02-06 16:24:42 -060031--- /dev/null
32+++ b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts
Adriana Kobylaka1920242019-07-11 09:48:49 -050033@@ -0,0 +1,708 @@
Adriana Kobylak903fd352019-02-06 16:24:42 -060034+// SPDX-License-Identifier: GPL-2.0+
35+/dts-v1/;
36+#include "aspeed-g5.dtsi"
37+#include <dt-bindings/gpio/aspeed-gpio.h>
38+#include <dt-bindings/leds/leds-pca955x.h>
39+
40+/ {
41+ model = "Witherspoon BMC";
42+ compatible = "ibm,witherspoon-bmc", "aspeed,ast2500";
43+
44+ chosen {
45+ stdout-path = &uart5;
46+ bootargs = "console=ttyS4,115200 earlyprintk";
47+ };
48+
49+ memory@80000000 {
50+ reg = <0x80000000 0x20000000>;
51+ };
52+
53+ reserved-memory {
54+ #address-cells = <1>;
55+ #size-cells = <1>;
56+ ranges;
57+
58+ flash_memory: region@98000000 {
59+ no-map;
60+ reg = <0x98000000 0x04000000>; /* 64M */
61+ };
62+
63+ gfx_memory: framebuffer {
64+ size = <0x01000000>;
65+ alignment = <0x01000000>;
66+ compatible = "shared-dma-pool";
67+ reusable;
68+ };
69+
70+ video_engine_memory: jpegbuffer {
71+ size = <0x02000000>; /* 32MM */
72+ alignment = <0x01000000>;
73+ compatible = "shared-dma-pool";
74+ reusable;
75+ };
76+ };
77+
78+ gpio-keys {
79+ compatible = "gpio-keys";
80+
81+ air-water {
82+ label = "air-water";
83+ gpios = <&gpio ASPEED_GPIO(B, 5) GPIO_ACTIVE_LOW>;
84+ linux,code = <ASPEED_GPIO(B, 5)>;
85+ };
86+
87+ checkstop {
88+ label = "checkstop";
89+ gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
90+ linux,code = <ASPEED_GPIO(J, 2)>;
91+ };
92+
93+ ps0-presence {
94+ label = "ps0-presence";
95+ gpios = <&gpio ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
96+ linux,code = <ASPEED_GPIO(P, 7)>;
97+ };
98+
99+ ps1-presence {
100+ label = "ps1-presence";
101+ gpios = <&gpio ASPEED_GPIO(N, 0) GPIO_ACTIVE_LOW>;
102+ linux,code = <ASPEED_GPIO(N, 0)>;
103+ };
104+ };
105+
106+ iio-hwmon-battery {
107+ compatible = "iio-hwmon";
108+ io-channels = <&adc 12>;
109+ };
110+
111+ gpio-keys-polled {
112+ compatible = "gpio-keys-polled";
113+ #address-cells = <1>;
114+ #size-cells = <0>;
115+ poll-interval = <1000>;
116+
117+ fan0-presence {
118+ label = "fan0-presence";
119+ gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
120+ linux,code = <4>;
121+ };
122+
123+ fan1-presence {
124+ label = "fan1-presence";
125+ gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
126+ linux,code = <5>;
127+ };
128+
129+ fan2-presence {
130+ label = "fan2-presence";
131+ gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
132+ linux,code = <6>;
133+ };
134+
135+ fan3-presence {
136+ label = "fan3-presence";
137+ gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
138+ linux,code = <7>;
139+ };
140+ };
141+
142+ leds {
143+ compatible = "gpio-leds";
144+
145+ fan0 {
146+ retain-state-shutdown;
147+ default-state = "keep";
148+ gpios = <&pca0 0 GPIO_ACTIVE_LOW>;
149+ };
150+
151+ fan1 {
152+ retain-state-shutdown;
153+ default-state = "keep";
154+ gpios = <&pca0 1 GPIO_ACTIVE_LOW>;
155+ };
156+
157+ fan2 {
158+ retain-state-shutdown;
159+ default-state = "keep";
160+ gpios = <&pca0 2 GPIO_ACTIVE_LOW>;
161+ };
162+
163+ fan3 {
164+ retain-state-shutdown;
165+ default-state = "keep";
166+ gpios = <&pca0 3 GPIO_ACTIVE_LOW>;
167+ };
168+
169+ front-fault {
170+ retain-state-shutdown;
171+ default-state = "keep";
172+ gpios = <&pca0 13 GPIO_ACTIVE_LOW>;
173+ };
174+
175+ front-power {
176+ retain-state-shutdown;
177+ default-state = "keep";
178+ gpios = <&pca0 14 GPIO_ACTIVE_LOW>;
179+ };
180+
181+ front-id {
182+ retain-state-shutdown;
183+ default-state = "keep";
184+ gpios = <&pca0 15 GPIO_ACTIVE_LOW>;
185+ };
186+
187+ rear-fault {
188+ gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
189+ };
190+
191+ rear-id {
192+ gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_LOW>;
193+ };
194+
195+ rear-power {
196+ gpios = <&gpio ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>;
197+ };
198+
199+ power-button {
200+ gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
201+ };
202+ };
203+
204+ fsi: gpio-fsi {
205+ compatible = "fsi-master-gpio", "fsi-master";
206+ #address-cells = <2>;
207+ #size-cells = <0>;
208+ no-gpio-delays;
209+
210+ clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
211+ data-gpios = <&gpio ASPEED_GPIO(E, 0) GPIO_ACTIVE_HIGH>;
212+ mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
213+ enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
214+ trans-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
215+ };
216+
217+ iio-hwmon-dps310 {
218+ compatible = "iio-hwmon";
219+ io-channels = <&dps 0>;
220+ };
221+
222+ iio-hwmon-bmp280 {
223+ compatible = "iio-hwmon";
224+ io-channels = <&bmp 1>;
225+ };
226+
227+};
228+
229+&fmc {
230+ status = "okay";
231+
232+ flash@0 {
233+ status = "okay";
234+ label = "bmc";
235+ m25p,fast-read;
236+ spi-max-frequency = <100000000>;
237+ partitions {
238+ #address-cells = < 1 >;
239+ #size-cells = < 1 >;
240+ compatible = "fixed-partitions";
241+ u-boot@0 {
242+ reg = < 0 0x60000 >;
243+ label = "u-boot";
244+ };
245+ u-boot-env@60000 {
246+ reg = < 0x60000 0x20000 >;
247+ label = "u-boot-env";
248+ };
249+ obmc-ubi@80000 {
250+ reg = < 0x80000 0x7F80000>;
251+ label = "obmc-ubi";
252+ };
253+ };
254+ };
255+
256+ flash@1 {
257+ status = "okay";
258+ label = "alt-bmc";
259+ m25p,fast-read;
260+ spi-max-frequency = <100000000>;
261+ partitions {
262+ #address-cells = < 1 >;
263+ #size-cells = < 1 >;
264+ compatible = "fixed-partitions";
265+ u-boot@0 {
266+ reg = < 0 0x60000 >;
267+ label = "alt-u-boot";
268+ };
269+ u-boot-env@60000 {
270+ reg = < 0x60000 0x20000 >;
271+ label = "alt-u-boot-env";
272+ };
273+ obmc-ubi@80000 {
274+ reg = < 0x80000 0x7F80000>;
275+ label = "alt-obmc-ubi";
276+ };
277+ };
278+ };
279+};
280+
281+&spi1 {
282+ status = "okay";
283+ pinctrl-names = "default";
284+ pinctrl-0 = <&pinctrl_spi1_default>;
285+
286+ flash@0 {
287+ status = "okay";
288+ label = "pnor";
289+ m25p,fast-read;
290+ spi-max-frequency = <100000000>;
291+ };
292+};
293+
294+&uart1 {
295+ /* Rear RS-232 connector */
296+ status = "okay";
297+ pinctrl-names = "default";
298+ pinctrl-0 = <&pinctrl_txd1_default
299+ &pinctrl_rxd1_default
300+ &pinctrl_nrts1_default
301+ &pinctrl_ndtr1_default
302+ &pinctrl_ndsr1_default
303+ &pinctrl_ncts1_default
304+ &pinctrl_ndcd1_default
305+ &pinctrl_nri1_default>;
306+};
307+
308+&uart2 {
309+ /* APSS */
310+ status = "okay";
311+ pinctrl-names = "default";
312+ pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
313+};
314+
315+&uart5 {
316+ status = "okay";
317+};
318+
319+&lpc_ctrl {
320+ status = "okay";
321+ memory-region = <&flash_memory>;
322+ flash = <&spi1>;
323+};
324+
Adriana Kobylak903fd352019-02-06 16:24:42 -0600325+&mac0 {
326+ status = "okay";
327+ pinctrl-names = "default";
328+ pinctrl-0 = <&pinctrl_rmii1_default>;
329+ use-ncsi;
330+};
331+
332+&i2c2 {
333+ status = "okay";
334+
335+ /* MUX ->
336+ * Samtec 1
337+ * Samtec 2
338+ */
339+};
340+
341+&i2c3 {
342+ status = "okay";
343+
344+ bmp: bmp280@77 {
345+ compatible = "bosch,bmp280";
346+ reg = <0x77>;
347+ #io-channel-cells = <1>;
348+ };
349+
350+ max31785@52 {
351+ compatible = "maxim,max31785a";
352+ reg = <0x52>;
353+ #address-cells = <1>;
354+ #size-cells = <0>;
355+
356+ fan@0 {
357+ compatible = "pmbus-fan";
358+ reg = <0>;
359+ tach-pulses = <2>;
360+ maxim,fan-rotor-input = "tach";
361+ maxim,fan-pwm-freq = <25000>;
362+ maxim,fan-dual-tach;
363+ maxim,fan-no-watchdog;
364+ maxim,fan-no-fault-ramp;
365+ maxim,fan-ramp = <2>;
366+ maxim,fan-fault-pin-mon;
367+ };
368+
369+ fan@1 {
370+ compatible = "pmbus-fan";
371+ reg = <1>;
372+ tach-pulses = <2>;
373+ maxim,fan-rotor-input = "tach";
374+ maxim,fan-pwm-freq = <25000>;
375+ maxim,fan-dual-tach;
376+ maxim,fan-no-watchdog;
377+ maxim,fan-no-fault-ramp;
378+ maxim,fan-ramp = <2>;
379+ maxim,fan-fault-pin-mon;
380+ };
381+
382+ fan@2 {
383+ compatible = "pmbus-fan";
384+ reg = <2>;
385+ tach-pulses = <2>;
386+ maxim,fan-rotor-input = "tach";
387+ maxim,fan-pwm-freq = <25000>;
388+ maxim,fan-dual-tach;
389+ maxim,fan-no-watchdog;
390+ maxim,fan-no-fault-ramp;
391+ maxim,fan-ramp = <2>;
392+ maxim,fan-fault-pin-mon;
393+ };
394+
395+ fan@3 {
396+ compatible = "pmbus-fan";
397+ reg = <3>;
398+ tach-pulses = <2>;
399+ maxim,fan-rotor-input = "tach";
400+ maxim,fan-pwm-freq = <25000>;
401+ maxim,fan-dual-tach;
402+ maxim,fan-no-watchdog;
403+ maxim,fan-no-fault-ramp;
404+ maxim,fan-ramp = <2>;
405+ maxim,fan-fault-pin-mon;
406+ };
407+ };
408+
409+ dps: dps310@76 {
410+ compatible = "infineon,dps310";
411+ reg = <0x76>;
412+ #io-channel-cells = <0>;
413+ };
414+
415+ pca0: pca9552@60 {
416+ compatible = "nxp,pca9552";
417+ reg = <0x60>;
418+ #address-cells = <1>;
419+ #size-cells = <0>;
420+
421+ gpio-controller;
422+ #gpio-cells = <2>;
423+
424+ gpio@0 {
425+ reg = <0>;
426+ type = <PCA955X_TYPE_GPIO>;
427+ };
428+
429+ gpio@1 {
430+ reg = <1>;
431+ type = <PCA955X_TYPE_GPIO>;
432+ };
433+
434+ gpio@2 {
435+ reg = <2>;
436+ type = <PCA955X_TYPE_GPIO>;
437+ };
438+
439+ gpio@3 {
440+ reg = <3>;
441+ type = <PCA955X_TYPE_GPIO>;
442+ };
443+
444+ gpio@4 {
445+ reg = <4>;
446+ type = <PCA955X_TYPE_GPIO>;
447+ };
448+
449+ gpio@5 {
450+ reg = <5>;
451+ type = <PCA955X_TYPE_GPIO>;
452+ };
453+
454+ gpio@6 {
455+ reg = <6>;
456+ type = <PCA955X_TYPE_GPIO>;
457+ };
458+
459+ gpio@7 {
460+ reg = <7>;
461+ type = <PCA955X_TYPE_GPIO>;
462+ };
463+
464+ gpio@8 {
465+ reg = <8>;
466+ type = <PCA955X_TYPE_GPIO>;
467+ };
468+
469+ gpio@9 {
470+ reg = <9>;
471+ type = <PCA955X_TYPE_GPIO>;
472+ };
473+
474+ gpio@10 {
475+ reg = <10>;
476+ type = <PCA955X_TYPE_GPIO>;
477+ };
478+
479+ gpio@11 {
480+ reg = <11>;
481+ type = <PCA955X_TYPE_GPIO>;
482+ };
483+
484+ gpio@12 {
485+ reg = <12>;
486+ type = <PCA955X_TYPE_GPIO>;
487+ };
488+
489+ gpio@13 {
490+ reg = <13>;
491+ type = <PCA955X_TYPE_GPIO>;
492+ };
493+
494+ gpio@14 {
495+ reg = <14>;
496+ type = <PCA955X_TYPE_GPIO>;
497+ };
498+
499+ gpio@15 {
500+ reg = <15>;
501+ type = <PCA955X_TYPE_GPIO>;
502+ };
503+ };
504+
505+ power-supply@68 {
506+ compatible = "ibm,cffps1";
507+ reg = <0x68>;
508+ };
509+
510+ power-supply@69 {
511+ compatible = "ibm,cffps1";
512+ reg = <0x69>;
513+ };
514+};
515+
516+&i2c4 {
517+ status = "okay";
518+
519+ tmp423a@4c {
520+ compatible = "ti,tmp423";
521+ reg = <0x4c>;
522+ };
523+
524+ ir35221@70 {
525+ compatible = "infineon,ir35221";
526+ reg = <0x70>;
527+ };
528+
529+ ir35221@71 {
530+ compatible = "infineon,ir35221";
531+ reg = <0x71>;
532+ };
533+};
534+
535+
536+&i2c5 {
537+ status = "okay";
538+
539+ tmp423a@4c {
540+ compatible = "ti,tmp423";
541+ reg = <0x4c>;
542+ };
543+
544+ ir35221@70 {
545+ compatible = "infineon,ir35221";
546+ reg = <0x70>;
547+ };
548+
549+ ir35221@71 {
550+ compatible = "infineon,ir35221";
551+ reg = <0x71>;
552+ };
553+};
554+
555+&i2c9 {
556+ status = "okay";
557+
558+ tmp275@4a {
559+ compatible = "ti,tmp275";
560+ reg = <0x4a>;
561+ };
562+};
563+
564+&i2c10 {
565+ /* MUX
566+ * -> PCIe Slot 3
567+ * -> PCIe Slot 4
568+ */
569+ status = "okay";
570+};
571+
572+&i2c11 {
573+ status = "okay";
574+
575+ pca9552: pca9552@60 {
576+ compatible = "nxp,pca9552";
577+ reg = <0x60>;
578+ #address-cells = <1>;
579+ #size-cells = <0>;
580+ gpio-controller;
581+ #gpio-cells = <2>;
582+
583+ gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N",
584+ "GPU0_TH_OVERT_N_BUFF", "GPU1_TH_OVERT_N_BUFF",
585+ "GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF",
586+ "GPU4_TH_OVERT_N_BUFF", "GPU5_TH_OVERT_N_BUFF",
587+ "GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF",
588+ "GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF",
589+ "GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF",
590+ "12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N";
591+
592+ gpio@0 {
593+ reg = <0>;
594+ type = <PCA955X_TYPE_GPIO>;
595+ };
596+
597+ gpio@1 {
598+ reg = <1>;
599+ type = <PCA955X_TYPE_GPIO>;
600+ };
601+
602+ gpio@2 {
603+ reg = <2>;
604+ type = <PCA955X_TYPE_GPIO>;
605+ };
606+
607+ gpio@3 {
608+ reg = <3>;
609+ type = <PCA955X_TYPE_GPIO>;
610+ };
611+
612+ gpio@4 {
613+ reg = <4>;
614+ type = <PCA955X_TYPE_GPIO>;
615+ };
616+
617+ gpio@5 {
618+ reg = <5>;
619+ type = <PCA955X_TYPE_GPIO>;
620+ };
621+
622+ gpio@6 {
623+ reg = <6>;
624+ type = <PCA955X_TYPE_GPIO>;
625+ };
626+
627+ gpio@7 {
628+ reg = <7>;
629+ type = <PCA955X_TYPE_GPIO>;
630+ };
631+
632+ gpio@8 {
633+ reg = <8>;
634+ type = <PCA955X_TYPE_GPIO>;
635+ };
636+
637+ gpio@9 {
638+ reg = <9>;
639+ type = <PCA955X_TYPE_GPIO>;
640+ };
641+
642+ gpio@10 {
643+ reg = <10>;
644+ type = <PCA955X_TYPE_GPIO>;
645+ };
646+
647+ gpio@11 {
648+ reg = <11>;
649+ type = <PCA955X_TYPE_GPIO>;
650+ };
651+
652+ gpio@12 {
653+ reg = <12>;
654+ type = <PCA955X_TYPE_GPIO>;
655+ };
656+
657+ gpio@13 {
658+ reg = <13>;
659+ type = <PCA955X_TYPE_GPIO>;
660+ };
661+
662+ gpio@14 {
663+ reg = <14>;
664+ type = <PCA955X_TYPE_GPIO>;
665+ };
666+
667+ gpio@15 {
668+ reg = <15>;
669+ type = <PCA955X_TYPE_GPIO>;
670+ };
671+ };
672+
673+ rtc@32 {
674+ compatible = "epson,rx8900";
675+ reg = <0x32>;
676+ };
677+
678+ eeprom@51 {
679+ compatible = "atmel,24c64";
680+ reg = <0x51>;
681+ };
682+
683+ ucd90160@64 {
684+ compatible = "ti,ucd90160";
685+ reg = <0x64>;
686+ };
687+};
688+
689+&i2c12 {
690+ status = "okay";
691+};
692+
693+&i2c13 {
694+ status = "okay";
695+};
696+
697+&vuart {
698+ status = "okay";
699+};
700+
701+&gfx {
702+ status = "okay";
703+ memory-region = <&gfx_memory>;
704+};
705+
706+&pinctrl {
707+ aspeed,external-nodes = <&gfx &lhc>;
708+};
709+
710+&wdt1 {
711+ aspeed,reset-type = "none";
712+ aspeed,external-signal;
713+ aspeed,ext-push-pull;
714+ aspeed,ext-active-high;
715+
716+ pinctrl-names = "default";
717+ pinctrl-0 = <&pinctrl_wdtrst1_default>;
718+};
719+
720+&wdt2 {
721+ aspeed,alt-boot;
722+};
723+
724+&ibt {
725+ status = "okay";
726+};
727+
728+&adc {
729+ status = "okay";
730+};
731+
732+&vhub {
733+ status = "okay";
734+};
735+
736+&video {
737+ status = "okay";
738+ memory-region = <&video_engine_memory>;
739+};
740+
741+#include "ibm-power9-dual.dtsi"
742--
7431.8.3.1
744