The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm/aspeed-bmc-tyan-s8036.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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 };
  368 
  369 /* Enable BMC VGA output to show an early (pre-BIOS) boot screen */
  370 &gfx {
  371         status = "okay";
  372         memory-region = <&gfx_memory>;
  373 };
  374 
  375 /* We're following the GPIO naming as defined at
  376  * https://github.com/openbmc/docs/blob/master/designs/device-tree-gpio-naming.md.
  377  *
  378  * Notes on led-identify and id-button:
  379  * - A physical button is connected to id-button which
  380  *   triggers the clock on a D flip-flop. The /Q output of the
  381  *   flip-flop drives its D input.
  382  * - The flip-flop's Q output drives led-identify which is
  383  *   connected to LEDs.
  384  * - With that, every button press toggles the LED between on and off.
  385  *
  386  * Notes on power-, reset- and nmi- button and control:
  387  * - The -button signals can be used to monitor physical buttons.
  388  * - The -control signals can be used to actuate the specific
  389  *   operation.
  390  * - In hardware, the -button signals are connected to the -control
  391  *   signals through drivers with the -control signals being
  392  *   protected through diodes.
  393  */
  394 &gpio {
  395         status = "okay";
  396         gpio-line-names =
  397         /*A0*/          "",
  398         /*A1*/          "",
  399         /*A2*/          "led-identify", /* in/out: BMC_CHASSIS_ID_LED_L */
  400         /*A3*/          "",
  401         /*A4*/          "",
  402         /*A5*/          "",
  403         /*A6*/          "",
  404         /*A7*/          "",
  405         /*B0-B7*/       "","","","","","","","",
  406         /*C0-C7*/       "","","","","","","","",
  407         /*D0*/          "",
  408         /*D1*/          "",
  409         /*D2*/          "power-chassis-good", /* in: PWR_GOOD_LED -- Check if this is Z3?*/
  410         /*D3*/          "platform-reset", /* in: RESET_LED_L */
  411         /*D4*/          "",
  412         /*D5*/          "",
  413         /*D6*/          "",
  414         /*D7*/          "",
  415         /*E0*/          "power-button", /* in: BMC_SYS_MON_PWR_BTN_L */
  416         /*E1*/          "power-chassis-control", /* out: BMC_ASSERT_PWR_BTN */
  417         /*E2*/          "reset-button", /* in: BMC_SYS_MOS_RST_BTN_L*/
  418         /*E3*/          "reset-control", /* out: BMC_ASSERT_RST_BTN */
  419         /*E4*/          "nmi-button", /* in: BMC_SYS_MON_NMI_BTN_L */
  420         /*E5*/          "nmi-control", /* out: BMC_ASSERT_NMI_BTN */
  421         /*E6*/          "TSI_RESERT",
  422         /*E7*/          "led-heartbeat", /* out: BMC_GPIOE7 */
  423         /*F0*/          "",
  424         /*F1*/          "clear-cmos-control", /* out: BMC_ASSERT_CLR_CMOS_L */
  425         /*F2*/          "",
  426         /*F3*/          "",
  427         /*F4*/          "led-fault", /* out: BMC_HWM_FAULT_LED_L */
  428         /*F5*/          "BMC_SYS_FAULT_LED_L",
  429         /*F6*/          "BMC_ASSERT_BIOS_WP_L",
  430         /*F7*/          "",
  431         /*G0-G7*/       "","","","","","","","",
  432         /*H0-H7*/       "","","","","","","","",
  433         /*I0-I7*/       "","","","","","","","",
  434         /*J0-J7*/       "","","","","","","","",
  435         /*K0-K7*/       "","","","","","","","",
  436         /*L0-L7*/       "","","","","","","","",
  437         /*M0-M7*/       "","","","","","","","",
  438         /*N0-N7*/       "","","","","","","","",
  439         /*O0-O7*/       "","","","","","","","",
  440         /*P0-P7*/       "","","","","","","","",
  441         /*Q0*/          "",
  442         /*Q1*/          "",
  443         /*Q2*/          "",
  444         /*Q3*/          "",
  445         /*Q4*/          "",
  446         /*Q5*/          "",
  447         /*Q6*/          "id-button", /* in: BMC_CHASSIS_ID_BTN_L */
  448         /*Q7*/          "",
  449         /*R0-R7*/       "","","","","","","","",
  450         /*S0-S7*/       "","","","","","","","",
  451         /*T0-T7*/       "","","","","","","","",
  452         /*U0-U7*/       "","","","","","","","",
  453         /*V0-V7*/       "","","","","","","","",
  454         /*W0-W7*/       "","","","","","","","",
  455         /*X0-X7*/       "","","","","","","","",
  456         /*Y0-Y7*/       "","","","","","","","",
  457         /*Z0-Z2*/       "","","",
  458         /*Z3*/          "post-complete", /* BMC_SYS_MON_PWROK */
  459         /*Z4-Z7*/       "","","","",
  460         /*AA0*/         "",
  461         /*AA1*/         "",
  462         /*AA2*/         "",
  463         /*AA3*/         "",
  464         /*AA4*/         "",
  465         /*AA5*/         "",
  466         /*AA6*/         "",
  467         /*AA7*/         "BMC_ASSERT_BMC_READY",
  468         /*AB0*/         "BMC_SPD_SEL",
  469         /*AB1-AB7*/     "","","","","","","";
  470 };

Cache object: 4749fcfe39de1b6efedb753ce69b66a7


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.