Merge tag 'aspeed-6.17-devicetree-1' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux into soc/dt

ASPEED devicetree updates for 6.17

Removed platforms:

- IBM's Swift BMC

New platforms:

- Meta's Santabarbara

  Santabarbara is a compute node with an accelerator module

- NVIDIA's GB200NVL BMC

  NVIDIA GB200 NVL72 connects 36 Grace CPUs and 72 Blackwell GPUs in an NVIDIA
  NVLink-connected, liquid-cooled, rack-scale design.

Updated BMC platforms:

- Bletchley (Meta): GPIO hog names, remove ethernet-phy node, USB PD negotiation
- Catalina (Meta): Various sensors added, MCTP support for NIC management
- Harma (Meta): Various sensors added
- System1 (IBM): IPMB and various GPIO-related updates
- Yosemite4 (Meta): GPIO names for UART mux select lines

The System1 series includes a devicetree binding patch for IPMI IPMB devices.

* tag 'aspeed-6.17-devicetree-1' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux: (34 commits)
  ARM: dts: aspeed: yosemite4: add gpio name for uart mux sel
  ARM: dts: aspeed: santabarbara: Add Meta Santabarbara BMC
  dt-bindings: arm: aspeed: add Meta Santabarbara board
  ARM: dts: aspeed: bletchley: enable USB PD negotiation
  ARM: dts: aspeed: lanyang: Fix 'lable' typo in LED nodes
  ARM: dts: aspeed: harma: add mmc health
  ARM: dts: aspeed: Harma: revise gpio bride pin for battery
  ARM: dts: aspeed: harma: add ADC128D818 for voltage monitoring
  ARM: dts: aspeed: harma: add fan board I/O expander
  ARM: dts: aspeed: harma: add E1.S power monitor
  ARM: dts: aspeed: catalina: Enable MCTP for frontend NIC management
  ARM: dts: aspeed: Add device tree for Nvidia's GB200NVL BMC
  dt-bindings: arm: aspeed: add Nvidia's GB200NVL BMC
  ARM: dts: aspeed: catalina: Enable MCTP support for NIC management
  ARM: dts: aspeed: catalina: Update CBC FRU EEPROM I2C bus and address
  ARM: dts: aspeed: catalina: Enable multi-master on additional I2C buses
  ARM: dts: aspeed: catalina: Remove INA238 and INA230 nodes
  ARM: dts: aspeed: catalina: Add second source HSC node support
  ARM: dts: aspeed: catalina: Add second source fan controller support
  ARM: dts: aspeed: catalina: Add fan controller support
  ...

Link: https://lore.kernel.org/r/36d50489cac1fbae01ec699b742f6c6c459a01cb.camel@codeconstruct.com.au
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann
2025-07-21 17:01:43 +02:00
26 changed files with 2685 additions and 1222 deletions

View File

@@ -87,6 +87,7 @@ properties:
- facebook,greatlakes-bmc
- facebook,harma-bmc
- facebook,minerva-cmc
- facebook,santabarbara-bmc
- facebook,yosemite4-bmc
- ibm,blueridge-bmc
- ibm,everest-bmc
@@ -98,6 +99,7 @@ properties:
- inventec,starscream-bmc
- inventec,transformer-bmc
- jabil,rbp-bmc
- nvidia,gb200nvl-bmc
- qcom,dc-scm-v1-bmc
- quanta,s6q-bmc
- ufispace,ncplite-bmc

View File

@@ -0,0 +1,56 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/ipmi/ipmb-dev.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: The Intelligent Platform Management Bus(IPMB) Device
description: |
The IPMB is an I2C bus which provides interconnection between a Baseboard
Management Controller(BMC) and chassis electronics. The BMC sends IPMI
requests to intelligent controllers like Satellite Management Controller(MC)
devices via IPMB and the device sends responses back to the BMC.
This device uses an I2C slave device to send and receive IPMB messages,
either on a BMC or other MC. A miscellaneous device provices a user space
program to communicate with the kernel and the backend device. Some IPMB
devices only support the I2C protocol and not the SMB protocol.
IPMB communications protocol Specification V1.0
https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmp-spec-v1.0.pdf
maintainers:
- Ninad Palsule <ninad@linux.ibm.com>
properties:
compatible:
enum:
- ipmb-dev
reg:
maxItems: 1
i2c-protocol:
description:
Use I2C block transfer instead of SMBUS block transfer.
type: boolean
required:
- compatible
- reg
additionalProperties: false
examples:
- |
#include <dt-bindings/i2c/i2c.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
ipmb-dev@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};

View File

@@ -27,6 +27,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-facebook-harma.dtb \
aspeed-bmc-facebook-minerva.dtb \
aspeed-bmc-facebook-minipack.dtb \
aspeed-bmc-facebook-santabarbara.dtb \
aspeed-bmc-facebook-tiogapass.dtb \
aspeed-bmc-facebook-wedge40.dtb \
aspeed-bmc-facebook-wedge100.dtb \
@@ -50,12 +51,12 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-lenovo-hr630.dtb \
aspeed-bmc-lenovo-hr855xg2.dtb \
aspeed-bmc-microsoft-olympus.dtb \
aspeed-bmc-nvidia-gb200nvl-bmc.dtb \
aspeed-bmc-opp-lanyang.dtb \
aspeed-bmc-opp-mowgli.dtb \
aspeed-bmc-opp-nicole.dtb \
aspeed-bmc-opp-palmetto.dtb \
aspeed-bmc-opp-romulus.dtb \
aspeed-bmc-opp-swift.dtb \
aspeed-bmc-opp-tacoma.dtb \
aspeed-bmc-opp-vesnin.dtb \
aspeed-bmc-opp-witherspoon.dtb \

View File

@@ -825,7 +825,7 @@ ocp-aux-pwren-hog {
line-name = "ocp-aux-pwren";
};
bmc-ready {
bmc-ready-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AC, 5) GPIO_ACTIVE_HIGH>;
output-high;

View File

@@ -201,13 +201,13 @@ &gfx {
};
&gpio {
pin_gpio_c7 {
pin-gpio-c7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(C, 7) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "BIOS_SPI_MUX_S";
};
pin_gpio_d1 {
pin-gpio-d1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(D, 1) GPIO_ACTIVE_HIGH>;
output-high;

View File

@@ -182,7 +182,7 @@ &gpio {
"CK_33M_BMC", "LFRAME", "SERIRQ", "S_PLTRST";
/* Assert BMC_READY so BIOS doesn't sit around waiting for it */
bmc-ready {
bmc-ready-hog {
gpio-hog;
gpios = <ASPEED_GPIO(J, 0) GPIO_ACTIVE_LOW>;
output-high;

View File

@@ -915,14 +915,14 @@ fan@5 {
};
&gpio {
pin_gpio_i3 {
pin-gpio-i3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(I, 3) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "NCSI_BMC_R_SEL";
};
pin_gpio_b6 {
pin-gpio-b6-hog {
gpio-hog;
gpios = <ASPEED_GPIO(B, 6) GPIO_ACTIVE_HIGH>;
output-low;

View File

@@ -395,7 +395,7 @@ &gpio {
* back to one causes a power output glitch, so install a hog to keep
* it at one as a failsafe to ensure nothing accidentally touches it.
*/
doom-guardrail {
doom-guardrail-hog {
gpio-hog;
gpios = <ASPEED_GPIO(E, 0) GPIO_ACTIVE_LOW>;
output-low;

View File

@@ -52,10 +52,6 @@ tpm@0 {
};
};
switchphy: ethernet-phy@0 {
// Fixed link
};
front_gpio_leds {
compatible = "gpio-leds";
sys_log_id {
@@ -285,7 +281,6 @@ vbus_sled6: vbus_sled6 {
&mac2 {
status = "okay";
phy-mode = "rgmii";
phy-handle = <&switchphy>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii3_default>;
@@ -398,10 +393,13 @@ sled1_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
label = "USB-C";
power-role = "source";
data-role = "host";
pd-disable;
typec-power-opmode = "default";
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
try-power-role = "sink";
data-role = "dual";
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
op-sink-microwatt = <10000000>;
};
};
@@ -484,10 +482,13 @@ sled2_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
label = "USB-C";
power-role = "source";
data-role = "host";
pd-disable;
typec-power-opmode = "default";
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
try-power-role = "sink";
data-role = "dual";
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
op-sink-microwatt = <10000000>;
};
};
@@ -570,10 +571,13 @@ sled3_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
label = "USB-C";
power-role = "source";
data-role = "host";
pd-disable;
typec-power-opmode = "default";
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
try-power-role = "sink";
data-role = "dual";
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
op-sink-microwatt = <10000000>;
};
};
@@ -656,10 +660,13 @@ sled4_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
label = "USB-C";
power-role = "source";
data-role = "host";
pd-disable;
typec-power-opmode = "default";
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
try-power-role = "sink";
data-role = "dual";
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
op-sink-microwatt = <10000000>;
};
};
@@ -742,10 +749,13 @@ sled5_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
label = "USB-C";
power-role = "source";
data-role = "host";
pd-disable;
typec-power-opmode = "default";
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
try-power-role = "sink";
data-role = "dual";
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
op-sink-microwatt = <10000000>;
};
};
@@ -828,10 +838,13 @@ sled6_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
label = "USB-C";
power-role = "source";
data-role = "host";
pd-disable;
typec-power-opmode = "default";
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
try-power-role = "sink";
data-role = "dual";
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
op-sink-microwatt = <10000000>;
};
};

View File

@@ -186,18 +186,29 @@ flash@1 {
&i2c0 {
status = "okay";
multi-master;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
i2c-mux@71 {
compatible = "nxp,pca9546";
reg = <0x71>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c0mux0ch0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mctp-controller;
// IOB0 NIC0 TEMP
temperature-sensor@1f {
compatible = "ti,tmp421";
reg = <0x1f>;
};
};
i2c0mux0ch1: i2c@1 {
#address-cells = <1>;
@@ -208,6 +219,13 @@ i2c0mux0ch2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
mctp-controller;
// IOB0 NIC1 TEMP
temperature-sensor@1f {
compatible = "ti,tmp421";
reg = <0x1f>;
};
};
i2c0mux0ch3: i2c@3 {
#address-cells = <1>;
@@ -293,12 +311,18 @@ i2c-mux@75 {
reg = <0x75>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c0mux3ch0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mctp-controller;
// IOB1 NIC0 TEMP
temperature-sensor@1f {
compatible = "ti,tmp421";
reg = <0x1f>;
};
};
i2c0mux3ch1: i2c@1 {
#address-cells = <1>;
@@ -309,6 +333,13 @@ i2c0mux3ch2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
mctp-controller;
// IOB1 NIC1 TEMP
temperature-sensor@1f {
compatible = "ti,tmp421";
reg = <0x1f>;
};
};
i2c0mux3ch3: i2c@3 {
#address-cells = <1>;
@@ -404,40 +435,105 @@ i2c1mux0ch0: i2c@0 {
#size-cells = <0>;
reg = <0x0>;
power-sensor@41 {
compatible = "ti,ina238";
reg = <0x41>;
shunt-resistor = <500>;
};
power-sensor@42 {
compatible = "ti,ina238";
reg = <0x42>;
shunt-resistor = <500>;
};
power-sensor@44 {
compatible = "ti,ina238";
reg = <0x44>;
shunt-resistor = <500>;
power-sensor@22 {
compatible = "mps,mp5990";
reg = <0x22>;
};
};
i2c1mux0ch1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x1>;
power-sensor@41 {
compatible = "ti,ina238";
reg = <0x41>;
};
power-sensor@43 {
compatible = "ti,ina238";
reg = <0x43>;
};
};
i2c1mux0ch2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x2>;
fanctl2: fan-controller@1 {
compatible = "nuvoton,nct7363";
reg = <0x01>;
#pwm-cells = <2>;
fan-9 {
pwms = <&fanctl2 0 40000>;
tach-ch = /bits/ 8 <0x09>;
};
fan-11 {
pwms = <&fanctl2 0 40000>;
tach-ch = /bits/ 8 <0x0b>;
};
fan-10 {
pwms = <&fanctl2 4 40000>;
tach-ch = /bits/ 8 <0x0a>;
};
fan-13 {
pwms = <&fanctl2 4 40000>;
tach-ch = /bits/ 8 <0x0d>;
};
fan-15 {
pwms = <&fanctl2 6 40000>;
tach-ch = /bits/ 8 <0x0f>;
};
fan-1 {
pwms = <&fanctl2 6 40000>;
tach-ch = /bits/ 8 <0x01>;
};
fan-0 {
pwms = <&fanctl2 10 40000>;
tach-ch = /bits/ 8 <0x00>;
};
fan-3 {
pwms = <&fanctl2 10 40000>;
tach-ch = /bits/ 8 <0x03>;
};
};
fanctl3: fan-controller@2 {
compatible = "nuvoton,nct7363";
reg = <0x02>;
#pwm-cells = <2>;
fan-9 {
pwms = <&fanctl3 0 40000>;
tach-ch = /bits/ 8 <0x09>;
};
fan-11 {
pwms = <&fanctl3 0 40000>;
tach-ch = /bits/ 8 <0x0b>;
};
fan-10 {
pwms = <&fanctl3 4 40000>;
tach-ch = /bits/ 8 <0x0a>;
};
fan-13 {
pwms = <&fanctl3 4 40000>;
tach-ch = /bits/ 8 <0x0d>;
};
fan-15 {
pwms = <&fanctl3 6 40000>;
tach-ch = /bits/ 8 <0x0f>;
};
fan-1 {
pwms = <&fanctl3 6 40000>;
tach-ch = /bits/ 8 <0x01>;
};
fan-0 {
pwms = <&fanctl3 10 40000>;
tach-ch = /bits/ 8 <0x00>;
};
fan-3 {
pwms = <&fanctl3 10 40000>;
tach-ch = /bits/ 8 <0x03>;
};
};
fanctl0: fan-controller@21{
compatible = "maxim,max31790";
reg = <0x21>;
};
fanctl1: fan-controller@27{
compatible = "maxim,max31790";
reg = <0x27>;
};
};
i2c1mux0ch3: i2c@3 {
#address-cells = <1>;
@@ -449,6 +545,14 @@ i2c1mux0ch4: i2c@4 {
#size-cells = <0>;
reg = <0x4>;
power-monitor@13 {
compatible = "infineon,xdp710";
reg = <0x13>;
};
power-monitor@1c {
compatible = "infineon,xdp710";
reg = <0x1c>;
};
power-monitor@42 {
compatible = "lltc,ltc4287";
reg = <0x42>;
@@ -520,6 +624,12 @@ temperature-sensor@4b {
compatible = "ti,tmp75";
reg = <0x4b>;
};
// FIO REMOTE TEMP SENSOR
temperature-sensor@4f {
compatible = "ti,tmp75";
reg = <0x4f>;
};
};
};
};
@@ -626,27 +736,6 @@ i2c5mux0ch7: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
power-sensor@40 {
compatible = "ti,ina230";
reg = <0x40>;
shunt-resistor = <2000>;
};
power-sensor@41 {
compatible = "ti,ina230";
reg = <0x41>;
shunt-resistor = <2000>;
};
power-sensor@44 {
compatible = "ti,ina230";
reg = <0x44>;
shunt-resistor = <2000>;
};
power-sensor@45 {
compatible = "ti,ina230";
reg = <0x45>;
shunt-resistor = <2000>;
};
};
};
};
@@ -708,6 +797,12 @@ eeprom@56 {
&i2c10 {
status = "okay";
multi-master;
mctp-controller;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
// OCP NIC0 TEMP
temperature-sensor@1f {
@@ -733,16 +828,24 @@ ssif-bmc@10 {
&i2c12 {
status = "okay";
multi-master;
// Module 1 FRU EEPROM
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
// Secondary CBC FRU EEPROM
eeprom@54 {
compatible = "atmel,24c02";
reg = <0x54>;
};
};
&i2c13 {
status = "okay";
multi-master;
// Module 0 FRU EEPROM
eeprom@50 {
@@ -750,18 +853,12 @@ eeprom@50 {
reg = <0x50>;
};
// Left CBC FRU EEPROM
// Primary CBC FRU EEPROM
eeprom@54 {
compatible = "atmel,24c02";
reg = <0x54>;
};
// Right CBC FRU EEPROM
eeprom@55 {
compatible = "atmel,24c02";
reg = <0x55>;
};
// HMC FRU EEPROM
eeprom@57 {
compatible = "atmel,24c02";
@@ -835,6 +932,12 @@ io_expander14: gpio@15 {
&i2c15 {
status = "okay";
multi-master;
mctp-controller;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
// OCP NIC1 TEMP
temperature-sensor@1f {

View File

@@ -218,6 +218,25 @@ temperature-sensor@4b {
compatible = "ti,tmp75";
reg = <0x4b>;
};
gpio@12 {
compatible = "nxp,pca9555";
reg = <0x12>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&sgpiom0>;
interrupts = <116 IRQ_TYPE_LEVEL_LOW>;
gpio-line-names =
"","",
"","",
"","",
"","",
"","",
"","",
"","fcb1-activate",
"","";
};
};
&i2c1 {
@@ -273,6 +292,25 @@ temperature-sensor@4b {
compatible = "ti,tmp75";
reg = <0x4b>;
};
gpio@12 {
compatible = "nxp,pca9555";
reg = <0x12>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&sgpiom0>;
interrupts = <114 IRQ_TYPE_LEVEL_LOW>;
gpio-line-names =
"","",
"","",
"","",
"","",
"","",
"","",
"","fcb0-activate",
"","";
};
};
&i2c3 {
@@ -354,11 +392,22 @@ imux22: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
power-monitor@45 {
compatible = "ti,ina230";
reg = <0x45>;
};
};
imux23: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
power-monitor@45 {
compatible = "ti,ina230";
reg = <0x45>;
};
};
};
};
@@ -405,6 +454,25 @@ eeprom@52 {
&i2c11 {
status = "okay";
gpio@13 {
compatible = "nxp,pca9555";
reg = <0x13>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&sgpiom0>;
interrupts = <222 IRQ_TYPE_LEVEL_LOW>;
gpio-line-names =
"","",
"","",
"","",
"","health-mmc",
"","",
"","",
"","",
"","";
};
gpio@30 {
compatible = "nxp,pca9555";
reg = <0x30>;
@@ -480,6 +548,19 @@ eeprom@54 {
compatible = "atmel,24c64";
reg = <0x54>;
};
adc@1d {
compatible = "ti,adc128d818";
reg = <0x1d>;
ti,mode = /bits/ 8 <1>;
};
adc@1f {
compatible = "ti,adc128d818";
reg = <0x1f>;
ti,mode = /bits/ 8 <1>;
};
};
imux30: i2c@2 {
#address-cells = <1>;
@@ -581,7 +662,7 @@ &gpio0 {
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","led-identify-gate","",
/*V0-V7*/ "","","","",
"rtc-battery-voltage-read-enable","",
"","",
"","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","","","","",
@@ -666,7 +747,7 @@ &sgpiom0 {
"presence-cmm","ac-control-n",
/*G0-G3 line 96-103*/
"FM_CPU_CORETYPE2","",
"FM_CPU_CORETYPE1","",
"FM_CPU_CORETYPE1","rtc-battery-voltage-read-enable",
"FM_CPU_CORETYPE0","",
"FM_BOARD_REV_ID5","",
/*G4-G7 line 104-111*/

View File

@@ -0,0 +1,982 @@
// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright 2025 Facebook Inc.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/i2c/i2c.h>
/ {
model = "Facebook Santabarbara BMC";
compatible = "facebook,santabarbara-bmc", "aspeed,ast2600";
aliases {
serial0 = &uart1;
serial2 = &uart3;
serial3 = &uart4;
serial4 = &uart5;
i2c16 = &i2c4mux0ch0;
i2c17 = &i2c4mux0ch1;
i2c18 = &i2c4mux0ch2;
i2c19 = &i2c4mux0ch3;
i2c20 = &i2c4mux0ch4;
i2c21 = &i2c4mux0ch5;
i2c22 = &i2c4mux0ch6;
i2c23 = &i2c4mux0ch7;
i2c24 = &i2c5mux0ch0;
i2c25 = &i2c5mux0ch1;
i2c26 = &i2c5mux0ch2;
i2c27 = &i2c5mux0ch3;
i2c28 = &i2c5mux1ch0;
i2c29 = &i2c5mux1ch1;
i2c30 = &i2c5mux1ch2;
i2c31 = &i2c5mux1ch3;
i2c32 = &i2c12mux0ch0;
i2c33 = &i2c12mux0ch1;
i2c34 = &i2c12mux0ch2;
i2c35 = &i2c12mux0ch3;
i2c36 = &i2c12mux0ch4;
i2c37 = &i2c12mux0ch5;
i2c38 = &i2c12mux0ch6;
i2c39 = &i2c12mux0ch7;
};
chosen {
stdout-path = "serial4:57600n8";
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 2>;
};
leds {
compatible = "gpio-leds";
led-0 {
label = "bmc_heartbeat_amber";
gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
};
led-1 {
label = "fp_id_amber";
default-state = "off";
gpios = <&gpio0 ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
};
led-2 {
label = "power_blue";
default-state = "off";
gpios = <&gpio0 ASPEED_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
};
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x80000000>;
};
p3v3_bmc_aux: regulator-p3v3-bmc-aux {
compatible = "regulator-fixed";
regulator-name = "p3v3_bmc_aux";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
spi_gpio: spi {
compatible = "spi-gpio";
#address-cells = <1>;
#size-cells = <0>;
sck-gpios = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
mosi-gpios = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
miso-gpios = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
status = "okay";
tpm@0 {
compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
spi-max-frequency = <33000000>;
reg = <0>;
};
};
};
&adc0 {
aspeed,int-vref-microvolt = <2500000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
&pinctrl_adc2_default &pinctrl_adc3_default
&pinctrl_adc4_default &pinctrl_adc5_default
&pinctrl_adc6_default &pinctrl_adc7_default>;
status = "okay";
};
&adc1 {
aspeed,int-vref-microvolt = <2500000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc10_default>;
status = "okay";
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-128.dtsi"
};
flash@1 {
status = "okay";
m25p,fast-read;
label = "alt-bmc";
spi-max-frequency = <50000000>;
};
};
&gpio0 {
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "rtc-battery-voltage-read-enable","","","BMC_READY",
"","led-identify","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "","","","","","","","",
/*E0-E7*/ "","","","","","","","",
/*F0-F7*/ "","","","","","","","",
/*G0-G7*/ "FM_MUX1_SEL_R","","","","","","","",
/*H0-H7*/ "","","","","","","","",
/*I0-I7*/ "","","","","","","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "led-postcode-0","led-postcode-1",
"led-postcode-2","led-postcode-3",
"led-postcode-4","led-postcode-5",
"led-postcode-6","led-postcode-7",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "power-button","","reset-button","",
"led-power","","","",
/*Q0-Q7*/ "","","","","","","","",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "","","power-host-control","","","","","",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","","","","","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","";
};
&gpio1 {
gpio-line-names =
/*18A0-18A7*/ "","","","","","","","",
/*18B0-18B7*/ "","","","",
"FM_BOARD_BMC_REV_ID0","FM_BOARD_BMC_REV_ID1",
"FM_BOARD_BMC_REV_ID2","",
/*18C0-18C7*/ "SPI_BMC_BIOS_ROM_IRQ0_R_N","","","","","","","",
/*18D0-18D7*/ "","","","","","","","",
/*18E0-18E3*/ "FM_BMC_PROT_LS_EN","AC_PWR_BMC_BTN_R_N","","";
};
&i2c0 {
status = "okay";
// MB FRU
eeprom@53 {
compatible = "atmel,24c128";
reg = <0x53>;
};
rtc@68 {
compatible = "dallas,ds1339";
reg = <0x68>;
};
};
&i2c1 {
status = "okay";
gpio@20 {
compatible = "nxp,pca9555";
reg = <0x20>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&sgpiom0>;
interrupts = <112 IRQ_TYPE_LEVEL_LOW>;
gpio-line-names =
"FM_NIC_PPS_IN_OE_N","FM_NIC_PPS_OUT_OE_N",
"FM_CPU0_TRIGGERTSC_OE_N","FM_NIC_PPS_IN_MUX_OE_N",
"FM_CPU0_CORETYPE0","FM_CPU0_CORETYPE1",
"FM_CPU0_CORETYPE2","FM_NIC_PPS_OUT_MUX_OE",
"CLKMUX_INPUT_LOSS_U45_R_N","FM_CPU0_SP7R1",
"FM_CPU0_SP7R2","FM_CPU0_SP7R3",
"FM_CPU0_SP7R4","",
"FM_NIC_PPS_IN_S0_R","FM_NIC_PPS_IN_S1_R";
};
fan-controller@21{
compatible = "maxim,max31790";
reg = <0x21>;
};
gpio@22 {
compatible = "nxp,pca9555";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&sgpiom0>;
interrupts = <116 IRQ_TYPE_LEVEL_LOW>;
gpio-line-names =
"FM_CBL_PRSNT_0A_N","FM_CBL_PRSNT_0B_N",
"FM_CBL_PRSNT_1A_N","FM_CBL_PRSNT_1B_N",
"FM_MODULE_PWRGD_0A","FM_MODULE_PWRGD_0B",
"CLKMUX_INPUT_LOSS_U88_R_N","FM_MODULE_PWRGD_1B",
"","",
"CLKMUX_INPUT_LOSS_U83_R_N","CLKMUX_INPUT_LOSS_U84_R_N",
"FM_P3V3_E1S_0_FAULT_R_N","FM_P3V3_E1S_1_FAULT_R_N",
"E1S_0_P12V_ADC_R_ALERT","E1S_1_P12V_ADC_R_ALERT";
};
gpio@24 {
compatible = "nxp,pca9555";
reg = <0x24>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&sgpiom0>;
interrupts = <114 IRQ_TYPE_LEVEL_LOW>;
gpio-line-names =
"FM_CBL_PRSNT_2A_N","FM_CBL_PRSNT_2B_N",
"FM_CBL_PRSNT_3A_N","FM_CBL_PRSNT_3B_N",
"FM_CBL_PRSNT_4A_N","FM_CBL_PRSNT_4B_N",
"FM_P3V3_NIC_400G_FAULT_R_N","FM_MODULE_PWRGD_2B",
"OCP_SFF_P12V_ADC_R_ALERT","FM_MODULE_PWRGD_3B",
"FM_THERMAL_ALERT_R_N","FM_MODULE_PWRGD_4B",
"FM_CBL_PRSNT_OSFP_A_N","FM_CBL_PRSNT_OSFP_B_N",
"FM_JTAG_MCIO_MUX_S0","FM_JTAG_MCIO_MUX_S1";
};
gpio@26 {
compatible = "nxp,pca9555";
reg = <0x26>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&sgpiom0>;
interrupts = <118 IRQ_TYPE_LEVEL_LOW>;
gpio-line-names =
"FAN_0_PRSNT_R1_N","FAN_1_PRSNT_R1_N",
"FAN_2_PRSNT_R1_N","FAN_3_PRSNT_R1_N",
"P12V_FAN_0_ADC_ALERT","P12V_FAN_1_ADC_ALERT",
"P12V_FAN_2_ADC_ALERT","P12V_FAN_3_ADC_ALERT",
"P12V_FAN0_PWRGD_R","P12V_FAN1_PWRGD_R",
"P12V_FAN2_PWRGD_R","P12V_FAN3_PWRGD_R",
"","","","";
};
};
&i2c4 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9548";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c4mux0ch0: i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
// HPM Board ID EEPROM
eeprom@51 {
compatible = "atmel,24c128";
reg = <0x51>;
};
// SCM Board ID EEPROM
eeprom@53 {
compatible = "atmel,24c128";
reg = <0x53>;
};
};
i2c4mux0ch1: i2c@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c4mux0ch2: i2c@2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c4mux0ch3: i2c@3 {
reg = <3>;
#address-cells = <1>;
#size-cells = <0>;
power-monitor@40 {
compatible = "ti,ina230";
reg = <0x40>;
shunt-resistor = <2000>;
};
power-monitor@42 {
compatible = "ti,ina230";
reg = <0x42>;
shunt-resistor = <2000>;
};
power-monitor@44 {
compatible = "ti,ina230";
reg = <0x44>;
shunt-resistor = <2000>;
};
power-monitor@46 {
compatible = "ti,ina230";
reg = <0x46>;
shunt-resistor = <2000>;
};
voltage-sensor@48 {
compatible = "ti,ads7830";
reg = <0x48>;
vref-supply = <&p3v3_bmc_aux>;
};
voltage-sensor@4a {
compatible = "ti,ads7830";
reg = <0x4a>;
vref-supply = <&p3v3_bmc_aux>;
};
temperature-sensor@4c {
compatible = "ti,tmp75";
reg = <0x4c>;
};
temperature-sensor@4e {
compatible = "ti,tmp75";
reg = <0x4e>;
};
};
i2c4mux0ch4: i2c@4 {
reg = <4>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c4mux0ch5: i2c@5 {
reg = <5>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c4mux0ch6: i2c@6 {
reg = <6>;
#address-cells = <1>;
#size-cells = <0>;
power-monitor@40 {
compatible = "ti,ina230";
reg = <0x40>;
shunt-resistor = <2000>;
};
power-monitor@42 {
compatible = "ti,ina230";
reg = <0x42>;
shunt-resistor = <2000>;
};
power-monitor@44 {
compatible = "ti,ina230";
reg = <0x44>;
shunt-resistor = <2000>;
};
power-monitor@46 {
compatible = "ti,ina230";
reg = <0x46>;
shunt-resistor = <2000>;
};
voltage-sensor@48 {
compatible = "ti,ads7830";
reg = <0x48>;
};
};
i2c4mux0ch7: i2c@7 {
reg = <7>;
#address-cells = <1>;
#size-cells = <0>;
temperature-sensor@4b {
compatible = "ti,tmp75";
reg = <0x4b>;
};
temperature-sensor@4f {
compatible = "ti,tmp75";
reg = <0x4f>;
};
// FIO FRU
eeprom@53 {
compatible = "atmel,24c512";
reg = <0x53>;
};
};
};
};
&i2c5 {
status = "okay";
// E1S BP FRU
eeprom@52 {
compatible = "atmel,24c64";
reg = <0x52>;
};
i2c-mux@71 {
compatible = "nxp,pca9546";
reg = <0x71>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c5mux0ch0: i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c5mux0ch1: i2c@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c5mux0ch2: i2c@2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c5mux0ch3: i2c@3 {
reg = <3>;
#address-cells = <1>;
#size-cells = <0>;
};
};
i2c-mux@72 {
compatible = "nxp,pca9546";
reg = <0x72>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c5mux1ch0: i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
voltage-sensor@48 {
compatible = "ti,ads7830";
reg = <0x48>;
};
};
i2c5mux1ch1: i2c@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
temperature-sensor@48 {
compatible = "ti,tmp75";
reg = <0x48>;
};
};
i2c5mux1ch2: i2c@2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
power-monitor@40 {
compatible = "ti,ina230";
reg = <0x40>;
shunt-resistor = <2000>;
};
power-monitor@41 {
compatible = "ti,ina230";
reg = <0x41>;
shunt-resistor = <2000>;
};
power-monitor@44 {
compatible = "ti,ina230";
reg = <0x44>;
shunt-resistor = <2000>;
};
power-monitor@45 {
compatible = "ti,ina230";
reg = <0x45>;
shunt-resistor = <2000>;
};
};
i2c5mux1ch3: i2c@3 {
reg = <3>;
#address-cells = <1>;
#size-cells = <0>;
gpio@74 {
compatible = "nxp,pca9539";
reg = <0x74>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
"P12V_E1S_ADC_ALERT","BUFF0_100M_LOSB_PLD",
"E1S_BP_SKU_ID0","E1S_BP_SKU_ID1",
"E1S_BP_SKU_ID2","E1S_BP_REV_ID0",
"E1S_BP_REV_ID1","E1S_BP_REV_ID2",
"P3V3_E1S_1_FAULT_R_N","P3V3_E1S_2_FAULT_R_N",
"P3V3_E1S_3_FAULT_R_N","P3V3_E1S_4_FAULT_R_N",
"P12V_E1S_1_FAULT_R_N","P12V_E1S_2_FAULT_R_N",
"P12V_E1S_3_FAULT_R_N","P12V_E1S_4_FAULT_R_N";
};
};
};
};
&i2c6 {
status = "okay";
// Rainbow0 FRU
eeprom@52 {
compatible = "atmel,24c256";
reg = <0x52>;
};
};
&i2c7 {
status = "okay";
};
&i2c8 {
status = "okay";
// Rainbow2 FRU
eeprom@52 {
compatible = "atmel,24c256";
reg = <0x52>;
};
};
&i2c9 {
status = "okay";
temperature-sensor@4b {
compatible = "ti,tmp75";
reg = <0x4b>;
};
// SCM FRU
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
// BSM FRU
eeprom@56 {
compatible = "atmel,24c64";
reg = <0x56>;
};
};
&i2c10 {
status = "okay";
// Rainbow3 FRU
eeprom@52 {
compatible = "atmel,24c256";
reg = <0x52>;
};
};
&i2c11 {
status = "okay";
// OCP NIC TEMP
temperature-sensor@1f {
compatible = "ti,tmp421";
reg = <0x1f>;
};
// OCP NIC FRU
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
};
&i2c12 {
status = "okay";
// SWB FRU
eeprom@52 {
compatible = "atmel,24c64";
reg = <0x52>;
};
i2c-mux@72 {
compatible = "nxp,pca9548";
reg = <0x72>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c12mux0ch0: i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
temperature-sensor@48 {
compatible = "ti,tmp75";
reg = <0x48>;
};
};
i2c12mux0ch1: i2c@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
power-monitor@42 {
compatible = "mps,mp2971";
reg = <0x42>;
};
power-monitor@43 {
compatible = "mps,mp2971";
reg = <0x43>;
};
};
i2c12mux0ch2: i2c@2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
power-monitor@40 {
compatible = "ti,ina230";
reg = <0x40>;
shunt-resistor = <2000>;
};
power-monitor@41 {
compatible = "ti,ina230";
reg = <0x41>;
shunt-resistor = <2000>;
};
};
i2c12mux0ch3: i2c@3 {
reg = <3>;
#address-cells = <1>;
#size-cells = <0>;
power-monitor@44 {
compatible = "ti,ina230";
reg = <0x44>;
shunt-resistor = <2000>;
};
power-monitor@45 {
compatible = "ti,ina230";
reg = <0x45>;
shunt-resistor = <2000>;
};
};
i2c12mux0ch4: i2c@4 {
reg = <4>;
#address-cells = <1>;
#size-cells = <0>;
voltage-sensor@49 {
compatible = "ti,ads7830";
reg = <0x49>;
};
};
i2c12mux0ch5: i2c@5 {
reg = <5>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c12mux0ch6: i2c@6 {
reg = <6>;
#address-cells = <1>;
#size-cells = <0>;
};
i2c12mux0ch7: i2c@7 {
reg = <7>;
#address-cells = <1>;
#size-cells = <0>;
};
};
};
&i2c13 {
status = "okay";
// Rainbow1 FRU
eeprom@52 {
compatible = "atmel,24c256";
reg = <0x52>;
};
};
&i2c14 {
status = "okay";
};
&i2c15 {
status = "okay";
};
&kcs2 {
aspeed,lpc-io-reg = <0xca8>;
status = "okay";
};
&kcs3 {
aspeed,lpc-io-reg = <0xca2>;
status = "okay";
};
&mac2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii3_default>;
use-ncsi;
status = "okay";
};
&mac3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii4_default>;
use-ncsi;
status = "okay";
};
&sgpiom0 {
ngpios = <128>;
bus-frequency = <2000000>;
gpio-line-names =
/*in - out - in - out */
/*A0-A3 line 0-7*/
"PDB1_HSC_PWR_OK","power-chassis-control",
"PDB2_HSC_PWR_OK","FM_MODULE_PWRGD_0A_OUT",
"PWRGD_P12V_MEM","FM_MODULE_PWRGD_0B_OUT",
"PWRGD_P12V_SCM","FM_MODULE_PWRGD_1B_OUT",
/*A4-A7 line 8-15*/
"PWRGD_P12V_FAN","FM_MODULE_PWRGD_2B_OUT",
"PWRGD_P5V_AUX","FM_MODULE_PWRGD_3B_OUT",
"power-chassis-good","FM_MODULE_PWRGD_4B_OUT",
"PWRGD_P1V8_LDO","FM_CBL_PRSNT_0A_N_OUT",
/*B0-B3 line 16-23*/
"PWRGD_P1V_LDO","FM_CBL_PRSNT_0B_N_OUT",
"PWRGD_PVDD33_S5","FM_CBL_PRSNT_1A_N_OUT",
"PWRGD_PVDD18_S5_P0","FM_CBL_PRSNT_1B_N_OUT",
"CPU0_SLP_S5_N","FM_CBL_PRSNT_2A_N_OUT",
/*B4-B7 line 24-31*/
"PWRGD_PVDDIO_MEM_S3_P0","FM_CBL_PRSNT_2B_N_OUT",
"CPU0_SLP_S3_N","FM_CBL_PRSNT_3A_N_OUT",
"FM_MODULE_PWRGD_1B","FM_CBL_PRSNT_3B_N_OUT",
"FM_MODULE_PWRGD_2B","FM_CBL_PRSNT_4A_N_OUT",
/*C0-C3 line 32-39*/
"FM_MODULE_PWRGD_3B","FM_CBL_PRSNT_4B_N_OUT",
"FM_MODULE_PWRGD_4B","P12V_FAN0_PWRGD_OUT",
"FM_MODULE_PWRGD_0B","P12V_FAN1_PWRGD_OUT",
"PWRGD_PVDDIO_P0","P12V_FAN2_PWRGD_OUT",
/*C4-C7 line 40-47*/
"PWRGD_PVDDCR_SOC_P0","P12V_FAN3_PWRGD_OUT",
"PWRGD_PVDDCR_CPU0_P0","P12V_FAN4_PWRGD_OUT",
"PWRGD_PVDDCR_CPU1_P0","P12V_FAN5_PWRGD_OUT",
"FM_CPU0_PWR_GOOD","P12V_FAN6_PWRGD_OUT",
/*D0-D3 line 48-55*/
"host0-ready","P12V_FAN7_PWRGD_OUT",
"FM_PWRGD_CPU0_PWROK","FAN_0_PRSNT_R1_N_OUT",
"FM_RST_CPU0_RESETL_N","FAN_1_PRSNT_R1_N_OUT",
"RST_CPU0_PERST0_R_N","FAN_2_PRSNT_R1_N_OUT",
/*D4-D7 line 56-63*/
"RST_CPU0_PERST1_R_N","FAN_3_PRSNT_R1_N_OUT",
"BIOS_POST_CMPLT","FAN_4_PRSNT_R1_N_OUT",
"","FAN_5_PRSNT_R1_N_OUT",
"","FAN_6_PRSNT_R1_N_OUT",
/*E0-E3 line 64-71*/
"FM_PWRGD_CHAD_CPU0","FAN_7_PRSNT_R1_N_OUT",
"FM_PWRGD_CHEH_CPU0","TRAY_SLOT_ID0_OUT",
"FM_PWRGD_CHIL_CPU0","TRAY_SLOT_ID1_OUT",
"FM_PWRGD_CHMP_CPU0","TRAY_SLOT_ID2_OUT",
/*E4-E7 line 72-79*/
"P12V_E1S_0_PWRGD","TRAY_SLOT_ID3_OUT",
"P12V_E1S_1_PWRGD","TRAY_SLOT_ID4_OUT",
"P3V3_E1S_0_PWRGD","SCM_JTAG_MUX_S0_R",
"P3V3_E1S_1_PWRGD","SCM_JTAG_MUX_S1_R",
/*F0-F3 line 80-87*/
"FM_MODULE_PWRGD_0A","BMC_SGPIO_READY",
"OCP_V3_1_P3V3_PLD_R_PWRGD","CPU0_SYS_RESET_N",
"P12V_OCP_V3_1_PLD_PWRGD","RST_CPU0_KBRST_N",
"PWRGD_OCP_SFF_PWR_GOOD","BIOS_DEBUG_MODE",
/*F4-F7 line 88-95*/
"","CLR_CMOS",
"","I3C_SPD_MUX_FORCE_SEL",
"","FM_JTAG_HOST_SEL",
"","TRAY_PRESENT_N",
/*G0-G3 line 96-103*/
"MB_REV_ID_0","UART_BMC_SEL0",
"MB_REV_ID_1","UART_BMC_SEL1",
"MB_REV_ID_2","SCM_USB_SEL",
"MB_SKU_ID_0","FORCE_ALL_PWRON",
/*G4-G7 line 104-111*/
"MB_SKU_ID_1","PASSWORD_CLEAR",
"MB_SKU_ID_2","",
"MB_SKU_ID_3","",
"","BIOS_DEBUG_MODE",
/*H0-H3 line 112-119*/
"FM_IOEXP_U538_INT_N","",
"FM_IOEXP_U539_INT_N","",
"FM_IOEXP_U540_INT_N","",
"FM_IOEXP_U541_INT_N","",
/*H4-H7 line 120-127*/
"FM_IOEXP_PDB2_U1003_INT_N","",
"","","","","","",
/*I0-I3 line 128-135*/
"","","","",
"PDB_IRQ_PMBUS_ALERT_ISO_R_N","",
"PDB_UV_ALERT_ISO_R_N","",
/*I4-I7 line 136-143*/
"P12V_SCM_ADC_ALERT","",
"CPU0_REGS_I2C_ALERT_N","",
"FM_RTC_ALERT_N","",
"APML_CPU0_ALERT_R_N","",
/*J0-J3 line 144-151*/
"SMB_RJ45_FIO_TMP_ALERT","",
"FM_SMB_ALERT_MCIO_0A_N","",
"I3C_MCIO_0B_ALERT_ISO_R_N","",
"FM_SMB_ALERT_MCIO_1A_N","",
/*J4-J7 line 152-159*/
"I3C_MCIO_1B_ALERT_ISO_R_N","",
"FM_SMB_ALERT_MCIO_2A_N","",
"I3C_MCIO_2B_ALERT_ISO_R_N","",
"FM_SMB_ALERT_MCIO_3A_N","",
/*K0-K3 line 160-167*/
"I3C_MCIO_3B_ALERT_ISO_R_N","",
"FM_SMB_ALERT_MCIO_4A_N","",
"I3C_MCIO_4B_ALERT_ISO_R_N","",
"","",
/*K4-K7 line 168-175*/
"","","","","","","","",
/*L0-L3 line 176-183*/
"FM_CPU0_THERMTRIP_N","",
"FM_CPU0_PROCHOT_N","",
"FM_CPU0_SMERR_N","",
"FM_PVDDCR_CPU0_P0_OCP_N","",
/*L4-L7 line 184-191*/
"FM_PVDDCR_CPU1_P0_OCP_N","",
"FM_PVDDCR_SOC_P0_OCP_N","",
"FM_OCP_PWRBRK_R_N","",
"PMIC_ERROR_N","",
/*M0-M3 line 192-199*/
"","","","","","","","",
/*M4-M7 line 200-207*/
"","","","","","","","",
/*N0-N3 line 208-215*/
"FM_PRSNT_CPU0_N","",
"OCP_SFF_PRSNT_N","",
"E1S_0_PRSNT_R_N","",
"E1S_BP_0_PRSNT_R_N","",
/*N4-N7 line 216-223*/
"E1S_BP_1_PRSNT_R_N","",
"E1S_BP_2_PRSNT_R_N","",
"E1S_BP_3_PRSNT_R_N","",
"PDB_PRSNT_J311_N","",
/*O0-O3 line 224-231*/
"PDB_PRSNT_J312_N","",
"PDB_PRSNT_J313_N","",
"PDB_PRSNT_J314_N","",
"PRSNT_RJ45_FIO_N_R","",
/*O4-O7 line 232-239*/
"PRSNT_LEAK_CABLE_1_R_N","",
"PRSNT_LEAK_CABLE_2_R_N","",
"PRSNT_HDT_N","",
"","",
/*P0-P3 line 240-247*/
"","","","","","","","",
/*P4-P7 line 248-255*/
"","","","","","","","";
status = "okay";
};
// BIOS Flash
&spi2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi2_default>;
status = "okay";
flash@0 {
m25p,fast-read;
label = "pnor";
spi-max-frequency = <12000000>;
spi-tx-bus-width = <2>;
spi-rx-bus-width = <2>;
status = "okay";
};
};
// HOST BIOS Debug
&uart1 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "okay";
};
// BMC Debug Console
&uart5 {
status = "okay";
};
&uart_routing {
status = "okay";
};
&wdt1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdtrst1_default>;
aspeed,reset-type = "soc";
aspeed,external-signal;
aspeed,ext-push-pull;
aspeed,ext-active-high;
aspeed,ext-pulse-duration = <256>;
status = "okay";
};

View File

@@ -189,6 +189,11 @@ gpio@22 {
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "SLOT1_UART_SEL0","SLOT1_UART_SEL1",
"SLOT1_UART_SEL2","","","","","",
"","","","","","","","",
"","","","","","","","",
"","","","","","","","";
};
gpio@23 {
@@ -235,6 +240,11 @@ gpio@22 {
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "SLOT2_UART_SEL0","SLOT2_UART_SEL1",
"SLOT2_UART_SEL2","","","","","",
"","","","","","","","",
"","","","","","","","",
"","","","","","","","";
};
gpio@23 {
@@ -281,6 +291,11 @@ gpio@22 {
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "SLOT3_UART_SEL0","SLOT3_UART_SEL1",
"SLOT3_UART_SEL2","","","","","",
"","","","","","","","",
"","","","","","","","",
"","","","","","","","";
};
gpio@23 {
@@ -327,6 +342,11 @@ gpio@22 {
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "SLOT4_UART_SEL0","SLOT4_UART_SEL1",
"SLOT4_UART_SEL2","","","","","",
"","","","","","","","",
"","","","","","","","",
"","","","","","","","";
};
gpio@23 {
@@ -373,6 +393,11 @@ gpio@22 {
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "SLOT5_UART_SEL0","SLOT5_UART_SEL1",
"SLOT5_UART_SEL2","","","","","",
"","","","","","","","",
"","","","","","","","",
"","","","","","","","";
};
gpio@23 {
@@ -419,6 +444,11 @@ gpio@22 {
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "SLOT6_UART_SEL0","SLOT6_UART_SEL1",
"SLOT6_UART_SEL2","","","","","",
"","","","","","","","",
"","","","","","","","",
"","","","","","","","";
};
gpio@23 {
@@ -465,6 +495,11 @@ gpio@22 {
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "SLOT7_UART_SEL0","SLOT7_UART_SEL1",
"SLOT7_UART_SEL2","","","","","",
"","","","","","","","",
"","","","","","","","",
"","","","","","","","";
};
gpio@23 {
@@ -511,6 +546,11 @@ gpio@22 {
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "SLOT8_UART_SEL0","SLOT8_UART_SEL1",
"SLOT8_UART_SEL2","","","","","",
"","","","","","","","",
"","","","","","","","",
"","","","","","","","";
};
gpio@23 {

View File

@@ -155,7 +155,7 @@ &gpio0 {
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","";
usb_power {
usb-power-hog {
gpio-hog;
gpios = <ASPEED_GPIO(O, 3) GPIO_ACTIVE_LOW>;
output-high;

View File

@@ -312,7 +312,7 @@ &gpio0 {
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","";
usb_power {
usb-power-hog {
gpio-hog;
gpios = <ASPEED_GPIO(O, 3) GPIO_ACTIVE_LOW>;
output-high;

View File

@@ -224,14 +224,14 @@ &gpio0 {
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","";
i2c3_mux_oe_n {
i2c3-mux-oe-n-hog {
gpio-hog;
gpios = <ASPEED_GPIO(G, 6) GPIO_ACTIVE_LOW>;
output-high;
line-name = "I2C3_MUX_OE_N";
};
usb_power {
usb-power-hog {
gpio-hog;
gpios = <ASPEED_GPIO(O, 3) GPIO_ACTIVE_LOW>;
output-high;

View File

@@ -116,63 +116,63 @@ vga_memory: region@bf000000 {
leds {
compatible = "gpio-leds";
led-0 {
led-bmc-ready {
gpios = <&gpio0 ASPEED_GPIO(L, 7) GPIO_ACTIVE_HIGH>;
};
led-1 {
led-bmc-hb {
gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_HIGH>;
};
led-2 {
led-rear-enc-fault0 {
gpios = <&gpio0 ASPEED_GPIO(S, 6) GPIO_ACTIVE_HIGH>;
};
led-3 {
led-rear-enc-id0 {
gpios = <&gpio0 ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
};
led-4 {
led-fan0-fault {
gpios = <&pca3 5 GPIO_ACTIVE_LOW>;
};
led-5 {
led-fan1-fault {
gpios = <&pca3 6 GPIO_ACTIVE_LOW>;
};
led-6 {
led-fan2-fault {
gpios = <&pca3 7 GPIO_ACTIVE_LOW>;
};
led-7 {
led-fan3-fault {
gpios = <&pca3 8 GPIO_ACTIVE_LOW>;
};
led-8 {
led-fan4-fault {
gpios = <&pca3 9 GPIO_ACTIVE_LOW>;
};
led-9 {
led-fan5-fault {
gpios = <&pca3 10 GPIO_ACTIVE_LOW>;
};
led-a {
led-fan6-fault {
gpios = <&pca3 11 GPIO_ACTIVE_LOW>;
};
led-b {
led-nvmed0-fault {
gpios = <&pca4 4 GPIO_ACTIVE_HIGH>;
};
led-c {
led-nvmed1-fault {
gpios = <&pca4 5 GPIO_ACTIVE_HIGH>;
};
led-d {
led-nvmed2-fault {
gpios = <&pca4 6 GPIO_ACTIVE_HIGH>;
};
led-e {
led-nvmed3-fault {
gpios = <&pca4 7 GPIO_ACTIVE_HIGH>;
};
};
@@ -355,7 +355,35 @@ &uhci {
status = "okay";
};
&pinctrl {
pinctrl_gpiol4_unbiased: gpiol4 {
pins = "C15";
bias-disable;
};
pinctrl_gpiol5_unbiased: gpiol5 {
pins = "F15";
bias-disable;
};
pinctrl_gpiol6_unbiased: gpiol6 {
pins = "B14";
bias-disable;
};
pinctrl_gpiol7_unbiased: gpiol7 {
pins = "C14";
bias-disable;
};
};
&gpio0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpiol4_unbiased
&pinctrl_gpiol5_unbiased
&pinctrl_gpiol6_unbiased
&pinctrl_gpiol7_unbiased>;
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "","","","","bmc-tpm-reset","","","",
@@ -368,14 +396,14 @@ &gpio0 {
/*I0-I7*/ "","","","","","","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","bmc-ready",
/*L0-L7*/ "","","","","","","","led-bmc-ready",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "fpga-debug-enable","","","","","","","",
/*N0-N7*/ "pch-reset","","","","","flash-write-override","","",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "","","","","","","","bmc-hb",
/*P0-P7*/ "","","","","","","","led-bmc-hb",
/*Q0-Q7*/ "","","","","","","pch-ready","",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "","","","","","","rear-enc-fault0","rear-enc-id0",
/*S0-S7*/ "","","","","","","led-rear-enc-fault0","led-rear-enc-id0",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","rtc-battery-voltage-read-enable","","power-chassis-control","","","","",
@@ -383,6 +411,34 @@ &gpio0 {
/*X0-X7*/ "fpga-pgood","power-chassis-good","pch-pgood","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","";
pin-gpio-hog-0 {
gpio-hog;
gpios = <ASPEED_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
input;
line-name = "RST_RTCRST_N";
};
pin-gpio-hog-1 {
gpio-hog;
gpios = <ASPEED_GPIO(L, 5) GPIO_ACTIVE_HIGH>;
input;
line-name = "RST_SRTCRST_N";
};
pin-gpio-hog-2 {
gpio-hog;
gpios = <ASPEED_GPIO(L, 6) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_FAN_E3_SVC_PEX_INT_N";
};
pin-gpio-hog-3 {
gpio-hog;
gpios = <ASPEED_GPIO(O, 6) GPIO_ACTIVE_LOW>;
output-low;
line-name = "isolate_errs_cpu1";
};
};
&emmc_controller {
@@ -401,7 +457,7 @@ &emmc {
&sgpiom0 {
status = "okay";
ngpios = <128>;
bus-frequency = <1000000>;
bus-frequency = <500000>;
};
&ibt {
@@ -486,23 +542,6 @@ eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
regulator@60 {
compatible = "maxim,max8952";
reg = <0x60>;
max8952,default-mode = <0>;
max8952,dvs-mode-microvolt = <1250000>, <1200000>,
<1050000>, <950000>;
max8952,sync-freq = <0>;
max8952,ramp-speed = <0>;
regulator-name = "VR_v77_1v4";
regulator-min-microvolt = <770000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
};
&i2c1 {
@@ -763,6 +802,15 @@ i2c3mux0chn7: i2c@7 {
&i2c4 {
status = "okay";
multi-master;
bus-frequency = <1000000>;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c5 {
@@ -1189,23 +1237,6 @@ eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
regulator@60 {
compatible = "maxim,max8952";
reg = <0x60>;
max8952,default-mode = <0>;
max8952,dvs-mode-microvolt = <1250000>, <1200000>,
<1050000>, <950000>;
max8952,sync-freq = <0>;
max8952,ramp-speed = <0>;
regulator-name = "VR_v77_1v4";
regulator-min-microvolt = <770000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
};
&i2c11 {

View File

@@ -405,161 +405,161 @@ fan@13 {
&gpio {
pin_gpio_b5 {
pin-gpio-b5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "IRQ_BMC_PCH_SMI_LPC_N";
};
pin_gpio_f0 {
pin-gpio-f0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 0) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "IRQ_BMC_PCH_NMI_R";
};
pin_gpio_f3 {
pin-gpio-f3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "I2C_BUS0_RST_OUT_N";
};
pin_gpio_f4 {
pin-gpio-f4-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "FM_SKT0_FAULT_LED";
};
pin_gpio_f5 {
pin-gpio-f5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 5) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "FM_SKT1_FAULT_LED";
};
pin_gpio_g4 {
pin-gpio-g4-hog {
gpio-hog;
gpios = <ASPEED_GPIO(G, 4) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "FAN_PWR_CTL_N";
};
pin_gpio_g7 {
pin-gpio-g7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(G, 7) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "RST_BMC_PCIE_I2CMUX_N";
};
pin_gpio_h2 {
pin-gpio-h2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "PSU1_FFS_N_R";
};
pin_gpio_h3 {
pin-gpio-h3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "PSU2_FFS_N_R";
};
pin_gpio_i3 {
pin-gpio-i3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(I, 3) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_INTRUDED_COVER";
};
pin_gpio_j2 {
pin-gpio-j2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(J, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_BIOS_UPDATE_N";
};
pin_gpio_j3 {
pin-gpio-j3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(J, 3) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "RST_BMC_HDD_I2CMUX_N";
};
pin_gpio_s2 {
pin-gpio-s2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_VGA_SW";
};
pin_gpio_s4 {
pin-gpio-s4-hog {
gpio-hog;
gpios = <ASPEED_GPIO(S, 4) GPIO_ACTIVE_HIGH>;
output;
line-name = "VBAT_EN_N";
};
pin_gpio_s6 {
pin-gpio-s6-hog {
gpio-hog;
gpios = <ASPEED_GPIO(S, 6) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "PU_BMC_GPIOS6";
};
pin_gpio_y0 {
pin-gpio-y0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(Y, 0) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "BMC_NCSI_MUX_CTL_S0";
};
pin_gpio_y1 {
pin-gpio-y1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(Y, 1) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "BMC_NCSI_MUX_CTL_S1";
};
pin_gpio_z0 {
pin-gpio-z0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(Z, 0) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "I2C_RISER2_INT_N";
};
pin_gpio_z2 {
pin-gpio-z2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(Z, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "I2C_RISER2_RESET_N";
};
pin_gpio_z3 {
pin-gpio-z3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "FM_BMC_PCH_SCI_LPC_N";
};
pin_gpio_z7 {
pin-gpio-z7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(Z, 7) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "BMC_POST_CMPLT_N";
};
pin_gpio_aa0 {
pin-gpio-aa0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "HOST_BMC_USB_SEL";
};
pin_gpio_aa5 {
pin-gpio-aa5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AA, 5) GPIO_ACTIVE_HIGH>;
output-high;

View File

@@ -425,238 +425,238 @@ fan@16 {
&gpio {
pin_gpio_a1 {
pin-gpio-a1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(A, 1) GPIO_ACTIVE_LOW>;
output-high;
line-name = "BMC_EMMC_RST_N";
};
pin_gpio_a3 {
pin-gpio-a3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(A, 3) GPIO_ACTIVE_LOW>;
output-high;
line-name = "PCH_PWROK_BMC_FPGA";
};
pin_gpio_b5 {
pin-gpio-b5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "IRQ_BMC_PCH_SMI_LPC_N";
};
pin_gpio_b7 {
pin-gpio-b7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(B, 7) GPIO_ACTIVE_LOW>;
output-low;
line-name = "CPU_SM_WP";
};
pin_gpio_e0 {
pin-gpio-e0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(E, 0) GPIO_ACTIVE_HIGH>;
input;
line-name = "PDB_PSU_SEL";
};
pin_gpio_e2 {
pin-gpio-e2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(E, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "LOCATOR_LED_N";
};
pin_gpio_e5 {
pin-gpio-e5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(E, 5) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "FM_BMC_DBP_PRESENT_R1_N";
};
pin_gpio_e6 {
pin-gpio-e6-hog {
gpio-hog;
gpios = <ASPEED_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_ME_SECURITY_OVERRIDE_N";
};
pin_gpio_f0 {
pin-gpio-f0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 0) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "IRQ_BMC_PCH_NMI_R";
};
pin_gpio_f1 {
pin-gpio-f1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 1) GPIO_ACTIVE_HIGH>;
input;
line-name = "CPU2_PROCDIS_BMC_N";
};
pin_gpio_f2 {
pin-gpio-f2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "RM_THROTTLE_EN_N";
};
pin_gpio_f3 {
pin-gpio-f3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 3) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "FM_PMBUS_ALERT_B_EN";
};
pin_gpio_f4 {
pin-gpio-f4-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_FORCE_NM_THROTTLE_N";
};
pin_gpio_f6 {
pin-gpio-f6-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 6) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "FM_BMC_CPU_PWR_DEBUG_N";
};
pin_gpio_g7 {
pin-gpio-g7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(G, 7) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_PCIE_I2C_MUX_RST_N";
};
pin_gpio_h6 {
pin-gpio-h6-hog {
gpio-hog;
gpios = <ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "FM_BMC_DBP_PRESENT_R2_N";
};
pin_gpio_i3 {
pin-gpio-i3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(I, 3) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "SPI_BMC_BIOS_WP_N";
};
pin_gpio_j1 {
pin-gpio-j1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(J, 1) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_USB_SEL";
};
pin_gpio_j2 {
pin-gpio-j2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(J, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "PDB_SMB_RST_N";
};
pin_gpio_j3 {
pin-gpio-j3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(J, 3) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "SPI_BMC_BIOS_HOLD_N";
};
pin_gpio_l0 {
pin-gpio-l0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(L, 0) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "PDB_FAN_TACH_SEL";
};
pin_gpio_l1 {
pin-gpio-l1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(L, 1) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "SYS_RESET_BMC_FPGA_N";
};
pin_gpio_l4 {
pin-gpio-l4-hog {
gpio-hog;
gpios = <ASPEED_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "FM_EFUSE_FAN_G1_EN";
};
pin_gpio_l5 {
pin-gpio-l5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(L, 5) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "FM_EFUSE_FAN_G2_EN";
};
pin_gpio_r6 {
pin-gpio-r6-hog {
gpio-hog;
gpios = <ASPEED_GPIO(R, 6) GPIO_ACTIVE_HIGH>;
input;
line-name = "CPU3_PROCDIS_BMC_N";
};
pin_gpio_r7 {
pin-gpio-r7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
input;
line-name = "CPU4_PROCDIS_BMC_N";
};
pin_gpio_s1 {
pin-gpio-s1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(S, 1) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "DBP_SYSPWROK_BMC";
};
pin_gpio_s2 {
pin-gpio-s2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "PCH_RST_RSMRST_N";
};
pin_gpio_s6 {
pin-gpio-s6-hog {
gpio-hog;
gpios = <ASPEED_GPIO(S, 6) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_HW_STRAP_5";
};
pin_gpio_z3 {
pin-gpio-z3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "FM_BMC_PCH_SCI_LPC_N";
};
pin_gpio_aa0 {
pin-gpio-aa0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "FW_PSU_ALERT_EN_N";
};
pin_gpio_aa4 {
pin-gpio-aa4-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AA, 4) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "DBP_CPU_PREQ_N";
};
pin_gpio_ab3 {
pin-gpio-ab3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AB, 3) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "BMC_WDTRST";
};
pin_gpio_ac6 {
pin-gpio-ac6-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AC, 6) GPIO_ACTIVE_HIGH>;
output-high;

File diff suppressed because it is too large Load Diff

View File

@@ -52,12 +52,12 @@ hdd_fault {
gpios = <&gpio ASPEED_GPIO(B, 3) GPIO_ACTIVE_HIGH>;
};
bmc_err {
lable = "BMC_fault";
label = "BMC_fault";
gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>;
};
sys_err {
lable = "Sys_fault";
label = "Sys_fault";
gpios = <&gpio ASPEED_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
};
};
@@ -264,49 +264,49 @@ &gfx {
};
&gpio {
pin_gpio_b0 {
pin-gpio-b0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_HDD1_PWR_EN";
};
pin_gpio_b5 {
pin-gpio-b5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
input;
line-name = "BMC_USB1_OCI2";
};
pin_gpio_h5 {
pin-gpio-h5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(H, 5) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_CP0_PERST_ENABLE_R";
};
pin_gpio_z2 {
pin-gpio-z2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(Z, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "RST_PCA9546_U177_N";
};
pin_gpio_aa6 {
pin-gpio-aa6-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AA, 6) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_CP0_RESET_N";
};
pin_gpio_aa7 {
pin-gpio-aa7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AA, 7) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_TPM_RESET_N";
};
pin_gpio_ab0 {
pin-gpio-ab0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(AB, 0) GPIO_ACTIVE_LOW>;
output-high;

View File

@@ -248,27 +248,27 @@ &gpio {
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
func_mode0 {
func-mode0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
output-low;
};
func_mode1 {
func-mode1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
output-low;
};
func_mode2 {
func-mode2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(D, 5) GPIO_ACTIVE_HIGH>;
output-low;
};
seq_cont {
seq-cont-hog {
gpio-hog;
gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
output-low;
};
ncsi_cfg {
ncsi-cfg-hog {
gpio-hog;
input;
gpios = <ASPEED_GPIO(E, 1) GPIO_ACTIVE_HIGH>;

View File

@@ -209,140 +209,140 @@ &lpc_ctrl {
};
&gpio {
pin_func_mode0 {
pin-func-mode0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(C, 4) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "func_mode0";
};
pin_func_mode1 {
pin-func-mode1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(C, 5) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "func_mode1";
};
pin_func_mode2 {
pin-func-mode2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
output-low;
line-name = "func_mode2";
};
pin_gpio_a0 {
pin-gpio-a0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(A, 0) GPIO_ACTIVE_HIGH>;
input;
line-name = "BMC_FAN_RESERVED_N";
};
pin_gpio_a1 {
pin-gpio-a1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "APSS_WDT_N";
};
pin_gpio_b1 {
pin-gpio-b1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(B, 1) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "APSS_BOOT_MODE";
};
pin_gpio_b2 {
pin-gpio-b2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(B, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "APSS_RESET_N";
};
pin_gpio_b7 {
pin-gpio-b7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(B, 7) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "SPIVID_STBY_RESET_N";
};
pin_gpio_d1 {
pin-gpio-d1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(D, 1) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_POWER_UP";
};
pin_gpio_f1 {
pin-gpio-f1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 1) GPIO_ACTIVE_HIGH>;
input;
line-name = "BMC_BATTERY_TEST";
};
pin_gpio_f4 {
pin-gpio-f4-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>;
input;
line-name = "AST_HW_FAULT_N";
};
pin_gpio_f5 {
pin-gpio-f5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 5) GPIO_ACTIVE_HIGH>;
input;
line-name = "AST_SYS_FAULT_N";
};
pin_gpio_f7 {
pin-gpio-f7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(F, 7) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_FULL_SPEED_N";
};
pin_gpio_g3 {
pin-gpio-g3-hog {
gpio-hog;
gpios = <ASPEED_GPIO(G, 3) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "BMC_FAN_ERROR_N";
};
pin_gpio_g4 {
pin-gpio-g4-hog {
gpio-hog;
gpios = <ASPEED_GPIO(G, 4) GPIO_ACTIVE_HIGH>;
input;
line-name = "BMC_WDT_RST1_P";
};
pin_gpio_g5 {
pin-gpio-g5-hog {
gpio-hog;
gpios = <ASPEED_GPIO(G, 5) GPIO_ACTIVE_HIGH>;
input;
line-name = "BMC_WDT_RST2_P";
};
pin_gpio_h0 {
pin-gpio-h0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(H, 0) GPIO_ACTIVE_HIGH>;
input;
line-name = "PE_SLOT_TEST_EN_N";
};
pin_gpio_h1 {
pin-gpio-h1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
input;
line-name = "BMC_RTCRST_N";
};
pin_gpio_h2 {
pin-gpio-h2-hog {
gpio-hog;
gpios = <ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
output-high;
line-name = "SYS_PWROK_BMC";
};
pin_gpio_h7 {
pin-gpio-h7-hog {
gpio-hog;
gpios = <ASPEED_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
output-high;

View File

@@ -263,17 +263,17 @@ &gpio {
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
nic_func_mode0 {
nic-func-mode0-hog {
gpio-hog;
gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
output-low;
};
nic_func_mode1 {
nic-func-mode1-hog {
gpio-hog;
gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
output-low;
};
seq_cont {
seq-cont-hog {
gpio-hog;
gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
output-low;

View File

@@ -1,974 +0,0 @@
// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;
#include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/leds/leds-pca955x.h>
/ {
model = "Swift BMC";
compatible = "ibm,swift-bmc", "aspeed,ast2500";
chosen {
stdout-path = &uart5;
bootargs = "console=ttyS4,115200 earlycon";
};
memory@80000000 {
reg = <0x80000000 0x20000000>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
flash_memory: region@98000000 {
no-map;
reg = <0x98000000 0x04000000>; /* 64M */
};
gfx_memory: framebuffer {
size = <0x01000000>;
alignment = <0x01000000>;
compatible = "shared-dma-pool";
reusable;
};
};
gpio-keys {
compatible = "gpio-keys";
event-air-water {
label = "air-water";
gpios = <&gpio ASPEED_GPIO(B, 5) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(B, 5)>;
};
event-checkstop {
label = "checkstop";
gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(J, 2)>;
};
event-ps0-presence {
label = "ps0-presence";
gpios = <&gpio ASPEED_GPIO(R, 7) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(R, 7)>;
};
event-ps1-presence {
label = "ps1-presence";
gpios = <&gpio ASPEED_GPIO(N, 0) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(N, 0)>;
};
event-oppanel-presence {
label = "oppanel-presence";
gpios = <&gpio ASPEED_GPIO(A, 7) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(A, 7)>;
};
event-opencapi-riser-presence {
label = "opencapi-riser-presence";
gpios = <&gpio ASPEED_GPIO(I, 0) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(I, 0)>;
};
};
iio-hwmon-battery {
compatible = "iio-hwmon";
io-channels = <&adc 12>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
poll-interval = <1000>;
event-scm0-presence {
label = "scm0-presence";
gpios = <&pca9552 6 GPIO_ACTIVE_LOW>;
linux,code = <6>;
};
event-scm1-presence {
label = "scm1-presence";
gpios = <&pca9552 7 GPIO_ACTIVE_LOW>;
linux,code = <7>;
};
event-cpu0vrm-presence {
label = "cpu0vrm-presence";
gpios = <&pca9552 12 GPIO_ACTIVE_LOW>;
linux,code = <12>;
};
event-cpu1vrm-presence {
label = "cpu1vrm-presence";
gpios = <&pca9552 13 GPIO_ACTIVE_LOW>;
linux,code = <13>;
};
event-fan0-presence {
label = "fan0-presence";
gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
linux,code = <5>;
};
event-fan1-presence {
label = "fan1-presence";
gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
linux,code = <6>;
};
event-fan2-presence {
label = "fan2-presence";
gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
linux,code = <7>;
};
event-fan3-presence {
label = "fan3-presence";
gpios = <&pca0 8 GPIO_ACTIVE_LOW>;
linux,code = <8>;
};
event-fanboost-presence {
label = "fanboost-presence";
gpios = <&pca0 9 GPIO_ACTIVE_LOW>;
linux,code = <9>;
};
};
leds {
compatible = "gpio-leds";
fan0 {
retain-state-shutdown;
default-state = "keep";
gpios = <&pca0 0 GPIO_ACTIVE_LOW>;
};
fan1 {
retain-state-shutdown;
default-state = "keep";
gpios = <&pca0 1 GPIO_ACTIVE_LOW>;
};
fan2 {
retain-state-shutdown;
default-state = "keep";
gpios = <&pca0 2 GPIO_ACTIVE_LOW>;
};
fan3 {
retain-state-shutdown;
default-state = "keep";
gpios = <&pca0 3 GPIO_ACTIVE_LOW>;
};
fanboost {
retain-state-shutdown;
default-state = "keep";
gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
};
front-fault {
retain-state-shutdown;
default-state = "keep";
gpios = <&pca1 2 GPIO_ACTIVE_LOW>;
};
front-power {
retain-state-shutdown;
default-state = "keep";
gpios = <&pca1 3 GPIO_ACTIVE_LOW>;
};
front-id {
retain-state-shutdown;
default-state = "keep";
gpios = <&pca1 0 GPIO_ACTIVE_LOW>;
};
rear-fault {
gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
};
rear-id {
gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_LOW>;
};
};
fsi: gpio-fsi {
compatible = "fsi-master-gpio", "fsi-master";
#address-cells = <2>;
#size-cells = <0>;
no-gpio-delays;
clock-gpios = <&gpio ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
data-gpios = <&gpio ASPEED_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
mux-gpios = <&gpio ASPEED_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
enable-gpios = <&gpio ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
trans-gpios = <&gpio ASPEED_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
};
iio-hwmon-dps310 {
compatible = "iio-hwmon";
io-channels = <&dps 0>;
};
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
label = "bmc";
m25p,fast-read;
spi-max-frequency = <100000000>;
partitions {
#address-cells = < 1 >;
#size-cells = < 1 >;
compatible = "fixed-partitions";
u-boot@0 {
reg = < 0 0x60000 >;
label = "u-boot";
};
u-boot-env@60000 {
reg = < 0x60000 0x20000 >;
label = "u-boot-env";
};
obmc-ubi@80000 {
reg = < 0x80000 0x7F80000>;
label = "obmc-ubi";
};
};
};
flash@1 {
status = "okay";
label = "alt-bmc";
m25p,fast-read;
spi-max-frequency = <100000000>;
partitions {
#address-cells = < 1 >;
#size-cells = < 1 >;
compatible = "fixed-partitions";
u-boot@0 {
reg = < 0 0x60000 >;
label = "alt-u-boot";
};
u-boot-env@60000 {
reg = < 0x60000 0x20000 >;
label = "alt-u-boot-env";
};
obmc-ubi@80000 {
reg = < 0x80000 0x7F80000>;
label = "alt-obmc-ubi";
};
};
};
};
&spi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1_default>;
flash@0 {
status = "okay";
label = "pnor";
m25p,fast-read;
spi-max-frequency = <100000000>;
};
};
&uart1 {
/* Rear RS-232 connector */
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd1_default
&pinctrl_rxd1_default
&pinctrl_nrts1_default
&pinctrl_ndtr1_default
&pinctrl_ndsr1_default
&pinctrl_ncts1_default
&pinctrl_ndcd1_default
&pinctrl_nri1_default>;
};
&uart2 {
/* APSS */
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
};
&uart5 {
status = "okay";
};
&lpc_ctrl {
status = "okay";
memory-region = <&flash_memory>;
flash = <&spi1>;
};
&mac0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii1_default>;
use-ncsi;
clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
<&syscon ASPEED_CLK_MAC1RCLK>;
clock-names = "MACCLK", "RCLK";
};
&i2c2 {
status = "okay";
/* MUX ->
* Samtec 1
* Samtec 2
*/
};
&i2c3 {
status = "okay";
max31785@52 {
compatible = "maxim,max31785a";
reg = <0x52>;
#address-cells = <1>;
#size-cells = <0>;
fan@0 {
compatible = "pmbus-fan";
reg = <0>;
tach-pulses = <2>;
maxim,fan-rotor-input = "tach";
maxim,fan-pwm-freq = <25000>;
maxim,fan-no-watchdog;
maxim,fan-no-fault-ramp;
maxim,fan-ramp = <2>;
maxim,fan-fault-pin-mon;
};
fan@1 {
compatible = "pmbus-fan";
reg = <1>;
tach-pulses = <2>;
maxim,fan-rotor-input = "tach";
maxim,fan-pwm-freq = <25000>;
maxim,fan-no-watchdog;
maxim,fan-no-fault-ramp;
maxim,fan-ramp = <2>;
maxim,fan-fault-pin-mon;
};
fan@2 {
compatible = "pmbus-fan";
reg = <2>;
tach-pulses = <2>;
maxim,fan-rotor-input = "tach";
maxim,fan-pwm-freq = <25000>;
maxim,fan-no-watchdog;
maxim,fan-no-fault-ramp;
maxim,fan-ramp = <2>;
maxim,fan-fault-pin-mon;
};
fan@3 {
compatible = "pmbus-fan";
reg = <3>;
tach-pulses = <2>;
maxim,fan-rotor-input = "tach";
maxim,fan-pwm-freq = <25000>;
maxim,fan-no-watchdog;
maxim,fan-no-fault-ramp;
maxim,fan-ramp = <2>;
maxim,fan-fault-pin-mon;
};
fan@4 {
compatible = "pmbus-fan";
reg = <4>;
tach-pulses = <2>;
maxim,fan-rotor-input = "tach";
maxim,fan-pwm-freq = <25000>;
maxim,fan-no-watchdog;
maxim,fan-no-fault-ramp;
maxim,fan-ramp = <2>;
maxim,fan-fault-pin-mon;
};
};
pca0: pca9552@60 {
compatible = "nxp,pca9552";
reg = <0x60>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio@0 {
reg = <0>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@1 {
reg = <1>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@2 {
reg = <2>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@3 {
reg = <3>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@4 {
reg = <4>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@5 {
reg = <5>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@6 {
reg = <6>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@7 {
reg = <7>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@8 {
reg = <8>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@9 {
reg = <9>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@10 {
reg = <10>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@11 {
reg = <11>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@12 {
reg = <12>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@13 {
reg = <13>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@14 {
reg = <14>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@15 {
reg = <15>;
type = <PCA955X_TYPE_GPIO>;
};
};
power-supply@68 {
compatible = "ibm,cffps2";
reg = <0x68>;
};
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
power-supply@69 {
compatible = "ibm,cffps2";
reg = <0x69>;
};
eeprom@51 {
compatible = "atmel,24c64";
reg = <0x51>;
};
};
&i2c7 {
status = "okay";
dps: dps310@76 {
compatible = "infineon,dps310";
reg = <0x76>;
#io-channel-cells = <0>;
};
tmp275@48 {
compatible = "ti,tmp275";
reg = <0x48>;
};
si7021a20@20 {
compatible = "si,si7021a20";
reg = <0x20>;
};
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
pca1: pca9551@60 {
compatible = "nxp,pca9551";
reg = <0x60>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio@0 {
reg = <0>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@1 {
reg = <1>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@2 {
reg = <2>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@3 {
reg = <3>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@4 {
reg = <4>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@5 {
reg = <5>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@6 {
reg = <6>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@7 {
reg = <7>;
type = <PCA955X_TYPE_GPIO>;
};
};
};
&i2c8 {
status = "okay";
pca9552: pca9552@60 {
compatible = "nxp,pca9552";
reg = <0x60>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N",
"GPU0_TH_OVERT_N_BUFF", "GPU1_TH_OVERT_N_BUFF",
"GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF",
"P9_SCM0_PRES", "P9_SCM1_PRES",
"GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF",
"GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF",
"PRESENT_VRM_CP0_N", "PRESENT_VRM_CP1_N",
"12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N";
gpio@0 {
reg = <0>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@1 {
reg = <1>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@2 {
reg = <2>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@3 {
reg = <3>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@4 {
reg = <4>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@5 {
reg = <5>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@6 {
reg = <6>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@7 {
reg = <7>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@8 {
reg = <8>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@9 {
reg = <9>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@10 {
reg = <10>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@11 {
reg = <11>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@12 {
reg = <12>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@13 {
reg = <13>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@14 {
reg = <14>;
type = <PCA955X_TYPE_GPIO>;
};
gpio@15 {
reg = <15>;
type = <PCA955X_TYPE_GPIO>;
};
};
rtc@32 {
compatible = "epson,rx8900";
reg = <0x32>;
};
eeprom@51 {
compatible = "atmel,24c64";
reg = <0x51>;
};
ucd90160@64 {
compatible = "ti,ucd90160";
reg = <0x64>;
};
};
&i2c9 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
tmp423a@4c {
compatible = "ti,tmp423";
reg = <0x4c>;
};
ir35221@71 {
compatible = "infineon,ir35221";
reg = <0x71>;
};
ir35221@72 {
compatible = "infineon,ir35221";
reg = <0x72>;
};
pca2: pca9539@74 {
compatible = "nxp,pca9539";
reg = <0x74>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio@0 {
reg = <0>;
};
gpio@1 {
reg = <1>;
};
gpio@2 {
reg = <2>;
};
gpio@3 {
reg = <3>;
};
gpio@4 {
reg = <4>;
};
gpio@5 {
reg = <5>;
};
gpio@6 {
reg = <6>;
};
gpio@7 {
reg = <7>;
};
gpio@8 {
reg = <8>;
};
gpio@9 {
reg = <9>;
};
gpio@10 {
reg = <10>;
};
gpio@11 {
reg = <11>;
};
gpio@12 {
reg = <12>;
};
gpio@13 {
reg = <13>;
};
gpio@14 {
reg = <14>;
};
gpio@15 {
reg = <15>;
};
};
};
&i2c10 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
tmp423a@4c {
compatible = "ti,tmp423";
reg = <0x4c>;
};
ir35221@71 {
compatible = "infineon,ir35221";
reg = <0x71>;
};
ir35221@72 {
compatible = "infineon,ir35221";
reg = <0x72>;
};
pca3: pca9539@74 {
compatible = "nxp,pca9539";
reg = <0x74>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio@0 {
reg = <0>;
};
gpio@1 {
reg = <1>;
};
gpio@2 {
reg = <2>;
};
gpio@3 {
reg = <3>;
};
gpio@4 {
reg = <4>;
};
gpio@5 {
reg = <5>;
};
gpio@6 {
reg = <6>;
};
gpio@7 {
reg = <7>;
};
gpio@8 {
reg = <8>;
};
gpio@9 {
reg = <9>;
};
gpio@10 {
reg = <10>;
};
gpio@11 {
reg = <11>;
};
gpio@12 {
reg = <12>;
};
gpio@13 {
reg = <13>;
};
gpio@14 {
reg = <14>;
};
gpio@15 {
reg = <15>;
};
};
};
&i2c11 {
/* MUX
* -> PCIe Slot 0
* -> PCIe Slot 1
* -> PCIe Slot 2
* -> PCIe Slot 3
*/
status = "okay";
};
&i2c12 {
status = "okay";
tmp275@48 {
compatible = "ti,tmp275";
reg = <0x48>;
};
tmp275@4a {
compatible = "ti,tmp275";
reg = <0x4a>;
};
};
&i2c13 {
status = "okay";
};
&vuart {
status = "okay";
};
&gfx {
status = "okay";
memory-region = <&gfx_memory>;
};
&wdt1 {
aspeed,reset-type = "none";
aspeed,external-signal;
aspeed,ext-push-pull;
aspeed,ext-active-high;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdtrst1_default>;
};
&wdt2 {
aspeed,alt-boot;
};
&ibt {
status = "okay";
};
&adc {
status = "okay";
};
&sdmmc {
status = "okay";
};
&sdhci1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sd2_default>;
};
#include "ibm-power9-dual.dtsi"

View File

@@ -509,25 +509,25 @@ &gpio {
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
line_iso_u146_en {
line-iso-u146-en-hog {
gpio-hog;
gpios = <ASPEED_GPIO(O, 4) GPIO_ACTIVE_HIGH>;
output-high;
};
ncsi_mux_en_n {
ncsi-mux-en-n-hog {
gpio-hog;
gpios = <ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
output-low;
};
line_bmc_i2c2_sw_rst_n {
line-bmc-i2c2-sw-rst-n-hog {
gpio-hog;
gpios = <ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
output-high;
};
line_bmc_i2c5_sw_rst_n {
line-bmc-i2c5-sw-rst-n-hog {
gpio-hog;
gpios = <ASPEED_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
output-high;