~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/dtc/include-prefixes/arm/aspeed/aspeed-bmc-tyan-s8036.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0+
  2 /dts-v1/;
  3 
  4 #include "aspeed-g5.dtsi"
  5 #include <dt-bindings/gpio/aspeed-gpio.h>
  6 #include <dt-bindings/interrupt-controller/irq.h>
  7 
  8 / {
  9         model = "Tyan S8036 BMC";
 10         compatible = "tyan,s8036-bmc", "aspeed,ast2500";
 11 
 12         chosen {
 13                 stdout-path = &uart5;
 14                 bootargs = "console=ttyS4,115200 earlycon";
 15         };
 16 
 17         memory@80000000 {
 18                 device_type = "memory";
 19                 reg = <0x80000000 0x20000000>;
 20         };
 21 
 22         reserved-memory {
 23                 #address-cells = <1>;
 24                 #size-cells = <1>;
 25                 ranges;
 26 
 27                 p2a_memory: region@987f0000 {
 28                         no-map;
 29                         reg = <0x987f0000 0x00010000>; /* 64KB */
 30                 };
 31 
 32                 vga_memory: framebuffer@9f000000 {
 33                         no-map;
 34                         reg = <0x9f000000 0x01000000>; /* 16M */
 35                 };
 36 
 37                 gfx_memory: framebuffer {
 38                         size = <0x01000000>; /* 16M */
 39                         alignment = <0x01000000>;
 40                         compatible = "shared-dma-pool";
 41                         reusable;
 42                 };
 43         };
 44 
 45         leds {
 46                 compatible = "gpio-leds";
 47 
 48                 identify {
 49                         gpios = <&gpio ASPEED_GPIO(A, 2) GPIO_ACTIVE_LOW>;
 50                 };
 51 
 52                 heartbeat {
 53                         gpios = <&gpio ASPEED_GPIO(E, 7) GPIO_ACTIVE_LOW>;
 54                 };
 55         };
 56 
 57         iio-hwmon {
 58                 compatible = "iio-hwmon";
 59                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
 60                         <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
 61                         <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
 62                         <&adc 12>, <&adc 13>, <&adc 14>;
 63         };
 64 
 65         iio-hwmon-battery {
 66                 compatible = "iio-hwmon";
 67                 io-channels = <&adc 15>;
 68         };
 69 };
 70 
 71 &fmc {
 72         status = "okay";
 73         flash@0 {
 74                 label = "bmc";
 75                 status = "okay";
 76                 m25p,fast-read;
 77 #include "openbmc-flash-layout.dtsi"
 78         };
 79 };
 80 
 81 &spi1 {
 82         status = "okay";
 83         pinctrl-names = "default";
 84         pinctrl-0 = <&pinctrl_spi1_default>;
 85 
 86         flash@0 {
 87                 status = "okay";
 88                 label = "pnor";
 89                 m25p,fast-read;
 90         };
 91 };
 92 
 93 &uart1 {
 94         /* Rear RS-232 connector */
 95         status = "okay";
 96         pinctrl-names = "default";
 97         pinctrl-0 = <&pinctrl_txd1_default
 98                         &pinctrl_rxd1_default>;
 99 };
100 
101 &uart2 {
102         /* RS-232 connector on header */
103         status = "okay";
104         pinctrl-names = "default";
105         pinctrl-0 = <&pinctrl_txd2_default
106                         &pinctrl_rxd2_default>;
107 };
108 
109 &uart3 {
110         /* Alternative to vuart to internally connect (route) to uart1
111          * when vuart cannot be used due to BIOS limitations.
112          */
113         status = "okay";
114 };
115 
116 &uart4 {
117         /* Alternative to vuart to internally connect (route) to the
118          * external port usually used by uart1 when vuart cannot be
119          * used due to BIOS limitations.
120          */
121         status = "okay";
122 };
123 
124 &uart5 {
125         /* BMC "debug" (console) UART; connected to RS-232 connector
126          * on header; selectable via jumpers as alternative to uart2
127          */
128         status = "okay";
129 };
130 
131 &uart_routing {
132         status = "okay";
133 };
134 
135 &vuart {
136         status = "okay";
137 
138         /* We enable the VUART here, but leave it in a state that does
139          * not interfere with the SuperIO. The goal is to have both the
140          * VUART and the SuperIO available and decide at runtime whether
141          * the VUART should actually be used. For that reason, configure
142          * an "invalid" IO address and an IRQ that is not used by the
143          * BMC.
144          */
145         aspeed,lpc-io-reg = <0xffff>;
146         aspeed,lpc-interrupts = <15 IRQ_TYPE_LEVEL_HIGH>;
147 };
148 
149 &lpc_ctrl {
150         status = "okay";
151 };
152 
153 &p2a {
154         status = "okay";
155         memory-region = <&p2a_memory>;
156 };
157 
158 &lpc_snoop {
159         status = "okay";
160         snoop-ports = <0x80>;
161 };
162 
163 &adc {
164         status = "okay";
165 };
166 
167 &vhub {
168         status = "okay";
169 };
170 
171 &pwm_tacho {
172         status = "okay";
173         pinctrl-names = "default";
174         pinctrl-0 = <&pinctrl_pwm0_default
175                         &pinctrl_pwm1_default
176                         &pinctrl_pwm3_default
177                         &pinctrl_pwm4_default>;
178 
179         /* CPU fan */
180         fan@0 {
181                 reg = <0x00>;
182                 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
183         };
184 
185         /* PWM group for chassis fans #1, #2, #3 and #4 */
186         fan@2 {
187                 reg = <0x03>;
188                 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
189         };
190 
191         fan@3 {
192                 reg = <0x03>;
193                 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
194         };
195 
196         fan@4 {
197                 reg = <0x03>;
198                 aspeed,fan-tach-ch = /bits/ 8 <0x04>;
199         };
200 
201         fan@5 {
202                 reg = <0x03>;
203                 aspeed,fan-tach-ch = /bits/ 8 <0x05>;
204         };
205 
206         /* PWM group for chassis fans #5 and #6  */
207         fan@6 {
208                 reg = <0x04>;
209                 aspeed,fan-tach-ch = /bits/ 8 <0x06>;
210         };
211 
212         fan@7 {
213                 reg = <0x04>;
214                 aspeed,fan-tach-ch = /bits/ 8 <0x07>;
215         };
216 };
217 
218 &i2c0 {
219         /* Directly connected to Sideband-Temperature Sensor Interface (APML) */
220         status = "okay";
221 };
222 
223 &i2c1 {
224         /* Directly connected to IPMB HDR. */
225         status = "okay";
226 };
227 
228 &i2c2 {
229         status = "okay";
230 
231         /* BMC EEPROM, incl. mainboard FRU */
232         eeprom@50 {
233                 compatible = "atmel,24c256";
234                 reg = <0x50>;
235         };
236         /* Also connected to:
237          * - BCM5720
238          * - FPGA
239          * - FAN HDR
240          * - FPIO HDR
241          */
242 };
243 
244 &i2c3 {
245         status = "okay";
246 
247         /* PSU1 FRU @ 0xA0 */
248         eeprom@50 {
249                 compatible = "atmel,24c02";
250                 reg = <0x50>;
251         };
252 
253         /* PSU2 FRU @ 0xA2 */
254         eeprom@51 {
255                 compatible = "atmel,24c02";
256                 reg = <0x51>;
257         };
258 
259         /* PSU1 @ 0xB0 */
260         power-supply@58 {
261                 compatible = "pmbus";
262                 reg = <0x58>;
263         };
264 
265         /* PSU2 @ 0xB2 */
266         power-supply@59 {
267                 compatible = "pmbus";
268                 reg = <0x59>;
269         };
270 
271 };
272 
273 &i2c4 {
274         status = "okay";
275 };
276 
277 &i2c5 {
278         status = "okay";
279         /* Hardware monitor with temperature sensors */
280         nct7802@28 {
281                 compatible = "nuvoton,nct7802";
282                 reg = <0x28>;
283                 #address-cells = <1>;
284                 #size-cells = <0>;
285 
286                 channel@0 { /* LTD */
287                         reg = <0>;
288                         status = "okay";
289                 };
290 
291                 channel@1 { /* RTD1 */
292                         reg = <1>;
293                         status = "okay";
294                         sensor-type = "temperature";
295                         temperature-mode = "thermistor";
296                 };
297 
298                 channel@2 { /* RTD2 */
299                         reg = <2>;
300                         status = "okay";
301                         sensor-type = "temperature";
302                         temperature-mode = "thermistor";
303                 };
304 
305                 channel@3 { /* RTD3 */
306                         reg = <3>;
307                         status = "okay";
308                         sensor-type = "temperature";
309                 };
310         };
311 
312         /* Also connected to:
313          * - PCA9544
314          * - CLK BUFF
315          * - OCP FRU
316          */
317 };
318 
319 &i2c6 {
320         status = "okay";
321         /* Connected to:
322          * - PCA9548 @0xE0
323          * - PCA9548 @0xE2
324          * - PCA9544 @0xE4
325          */
326 };
327 
328 &i2c7 {
329         status = "okay";
330 
331         /* Connected to:
332          * - PCH SMBUS #4
333          */
334 };
335 
336 &i2c8 {
337         status = "okay";
338 
339         /* Not connected */
340 };
341 
342 &mac0 {
343         status = "okay";
344         use-ncsi;
345         pinctrl-names = "default";
346         pinctrl-0 = <&pinctrl_rmii1_default>;
347 };
348 
349 &mac1 {
350         status = "okay";
351         pinctrl-names = "default";
352         pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
353 };
354 
355 &ibt {
356         status = "okay";
357 };
358 
359 &kcs1 {
360         status = "okay";
361         aspeed,lpc-io-reg = <0xca8>;
362 };
363 
364 &kcs3 {
365         status = "okay";
366         aspeed,lpc-io-reg = <0xca2>;
367         aspeed,lpc-interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
368 };
369 
370 /* Enable BMC VGA output to show an early (pre-BIOS) boot screen */
371 &gfx {
372         status = "okay";
373         memory-region = <&gfx_memory>;
374 };
375 
376 /* We're following the GPIO naming as defined at
377  * https://github.com/openbmc/docs/blob/master/designs/device-tree-gpio-naming.md.
378  *
379  * Notes on led-identify and id-button:
380  * - A physical button is connected to id-button which
381  *   triggers the clock on a D flip-flop. The /Q output of the
382  *   flip-flop drives its D input.
383  * - The flip-flop's Q output drives led-identify which is
384  *   connected to LEDs.
385  * - With that, every button press toggles the LED between on and off.
386  *
387  * Notes on power-, reset- and nmi- button and control:
388  * - The -button signals can be used to monitor physical buttons.
389  * - The -control signals can be used to actuate the specific
390  *   operation.
391  * - In hardware, the -button signals are connected to the -control
392  *   signals through drivers with the -control signals being
393  *   protected through diodes.
394  */
395 &gpio {
396         status = "okay";
397         gpio-line-names =
398         /*A0*/          "",
399         /*A1*/          "",
400         /*A2*/          "led-identify", /* in/out: BMC_CHASSIS_ID_LED_L */
401         /*A3*/          "",
402         /*A4*/          "",
403         /*A5*/          "",
404         /*A6*/          "",
405         /*A7*/          "",
406         /*B0-B7*/       "","","","","","","","",
407         /*C0-C7*/       "","","","","","","","",
408         /*D0*/          "",
409         /*D1*/          "",
410         /*D2*/          "power-chassis-good", /* in: PWR_GOOD_LED -- Check if this is Z3?*/
411         /*D3*/          "platform-reset", /* in: RESET_LED_L */
412         /*D4*/          "",
413         /*D5*/          "",
414         /*D6*/          "",
415         /*D7*/          "",
416         /*E0*/          "power-button", /* in: BMC_SYS_MON_PWR_BTN_L */
417         /*E1*/          "power-chassis-control", /* out: BMC_ASSERT_PWR_BTN */
418         /*E2*/          "reset-button", /* in: BMC_SYS_MOS_RST_BTN_L*/
419         /*E3*/          "reset-control", /* out: BMC_ASSERT_RST_BTN */
420         /*E4*/          "nmi-button", /* in: BMC_SYS_MON_NMI_BTN_L */
421         /*E5*/          "nmi-control", /* out: BMC_ASSERT_NMI_BTN */
422         /*E6*/          "TSI_RESERT",
423         /*E7*/          "led-heartbeat", /* out: BMC_GPIOE7 */
424         /*F0*/          "",
425         /*F1*/          "clear-cmos-control", /* out: BMC_ASSERT_CLR_CMOS_L */
426         /*F2*/          "",
427         /*F3*/          "",
428         /*F4*/          "led-fault", /* out: BMC_HWM_FAULT_LED_L */
429         /*F5*/          "BMC_SYS_FAULT_LED_L",
430         /*F6*/          "BMC_ASSERT_BIOS_WP_L",
431         /*F7*/          "",
432         /*G0-G7*/       "","","","","","","","",
433         /*H0-H7*/       "","","","","","","","",
434         /*I0-I7*/       "","","","","","","","",
435         /*J0-J7*/       "","","","","","","","",
436         /*K0-K7*/       "","","","","","","","",
437         /*L0-L7*/       "","","","","","","","",
438         /*M0-M7*/       "","","","","","","","",
439         /*N0-N7*/       "","","","","","","","",
440         /*O0-O7*/       "","","","","","","","",
441         /*P0-P7*/       "","","","","","","","",
442         /*Q0*/          "",
443         /*Q1*/          "",
444         /*Q2*/          "",
445         /*Q3*/          "",
446         /*Q4*/          "",
447         /*Q5*/          "",
448         /*Q6*/          "id-button", /* in: BMC_CHASSIS_ID_BTN_L */
449         /*Q7*/          "",
450         /*R0-R7*/       "","","","","","","","",
451         /*S0-S7*/       "","","","","","","","",
452         /*T0-T7*/       "","","","","","","","",
453         /*U0-U7*/       "","","","","","","","",
454         /*V0-V7*/       "","","","","","","","",
455         /*W0-W7*/       "","","","","","","","",
456         /*X0-X7*/       "","","","","","","","",
457         /*Y0-Y7*/       "","","","","","","","",
458         /*Z0-Z2*/       "","","",
459         /*Z3*/          "post-complete", /* BMC_SYS_MON_PWROK */
460         /*Z4-Z7*/       "","","","",
461         /*AA0*/         "",
462         /*AA1*/         "",
463         /*AA2*/         "",
464         /*AA3*/         "",
465         /*AA4*/         "",
466         /*AA5*/         "",
467         /*AA6*/         "",
468         /*AA7*/         "BMC_ASSERT_BMC_READY",
469         /*AB0*/         "BMC_SPD_SEL",
470         /*AB1-AB7*/     "","","","","","","";
471 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php