ASPEED device tree updates for 5.8

New machines:
 
  - YADRO's ast2500 OpenPower P9 Nicole BMC
  - Facebook's ast2500 x86 Yosemite V2 BMC
 
 The AST2600 machines Rainier and Tacoma were fleshed out.
 
 Machines have started describing the GPIO names as userspace attempts
 to use the GPIO chardev API.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAl61DiEACgkQa3ZZB4FH
 cJ711A/8CMI7QvRESjBcnTGO0VaZrWtWGwT2A4joPpbbE94Iv47pDubYs/iUNzcX
 9prCEGTox4mQ7hpFG1SDdTV/hvJQngEiShqIdMKV+hfHe7lBltjwXDsP/9dkHp3e
 bCToBi+RI1ULfytXU5qubz6oDgD0vfRoBQsNhlvvno+H1u3/VxoX06XThCoi2Slc
 CUKg5KjgWfmtFp7KHODoNrFsgh5FQlRd7YmCX2BRLBtglugJt6Ale6UybPl/irRD
 tPxX+H8A0NwduLrR12D3tQ9OnOuNCb9fh2Y0WW54ZaJj7ep5DWEgUsRXZkNyEke0
 Pmg4xHedVEXhWw+8F/uNb6BEoVI8YSObZt3P3Tc5LGDum7s6HdtRqwhEb06NEDrb
 9X9SiHH/TRhy/00blLA0AsTKtQwvQdArt6D5IgYKMwXfhf7ISklgibhXXT1hGIlq
 qa2Vu6d4QznMFg0A69WR5jmxBkCVt4WAO88VKXiMq8Es6cW3AoPgVSTAVn82fwnF
 VvHbmDccfgqZh1adUQxoz/FQm2gYUeR3szLBFO3vd11b/C5zWZRgdd/+fTbv0J+g
 GRgo/vIMaun6T2oKhRN6r/oo7zZiqXu2sKRnomef1uoxiCPRsWQjWfxcgvwlP0nt
 FTyY4/qmNaTbSaKudswG064aHDZoqAE+1ddMKjEKFht20PsjcYc=
 =0Egh
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-5.8-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into arm/dt

ASPEED device tree updates for 5.8

New machines:

 - YADRO's ast2500 OpenPower P9 Nicole BMC
 - Facebook's ast2500 x86 Yosemite V2 BMC

The AST2600 machines Rainier and Tacoma were fleshed out.

Machines have started describing the GPIO names as userspace attempts
to use the GPIO chardev API.

* tag 'aspeed-5.8-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: (32 commits)
  ARM: dts: aspeed: Change KCS nodes to v2 binding
  ARM: dts: Aspeed: AST2600: Add XDMA PCI-E root control reset
  ARM: dts: aspeed: ast2600: Add XDMA Engine
  ARM: dts: aspeed: ast2500: Add XDMA Engine
  ARM: dts: aspeed: Adding Facebook Yosemite V2 BMC
  ARM: dts: aspeed: Add YADRO Nicole BMC
  ARM: dts: aspeed: mihawk: add aliases for i2c
  ARM: dts: aspeed: tacoma: Add TPM
  ARM: dts: aspeed: tacoma: Enable the second VUART
  ARM: dts: aspeed: tacoma: Add iio-hwmon nodes for IIO devices
  ARM: dts: aspeed: rainier: Add VGA reserved memory region
  ARM: dts: aspeed: rainier: Add gpio line names
  ARM: dts: aspeed: tacoma: Add gpio line names
  ARM: dts: aspeed: zaius: Add gpio line names
  ARM: dts: aspeed: romulus: Add gpio line names
  ARM: dts: aspeed: witherspoon: Add gpio line names
  ARM: dts: aspeed: ast2600: Set arch timer always-on
  ARM: dts: aspeed: tacoma: Add GPIOs for FSI
  ARM: dts: aspeed: mihawk: Change the name of leds
  ARM: dts: aspeed: rainier: Remove regulators
  ...

Link: https://lore.kernel.org/r/CACPK8Xd-=XFREvvS-mK_ECyn14y0GPAMyy5BpEEUYfaw4jAgsw@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2020-05-21 12:19:04 +02:00
commit 18e48cc0ba
14 changed files with 1378 additions and 110 deletions

View File

@ -1341,6 +1341,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-facebook-wedge40.dtb \ aspeed-bmc-facebook-wedge40.dtb \
aspeed-bmc-facebook-wedge100.dtb \ aspeed-bmc-facebook-wedge100.dtb \
aspeed-bmc-facebook-yamp.dtb \ aspeed-bmc-facebook-yamp.dtb \
aspeed-bmc-facebook-yosemitev2.dtb \
aspeed-bmc-ibm-rainier.dtb \ aspeed-bmc-ibm-rainier.dtb \
aspeed-bmc-intel-s2600wf.dtb \ aspeed-bmc-intel-s2600wf.dtb \
aspeed-bmc-inspur-fp5280g2.dtb \ aspeed-bmc-inspur-fp5280g2.dtb \
@ -1349,6 +1350,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-microsoft-olympus.dtb \ aspeed-bmc-microsoft-olympus.dtb \
aspeed-bmc-opp-lanyang.dtb \ aspeed-bmc-opp-lanyang.dtb \
aspeed-bmc-opp-mihawk.dtb \ aspeed-bmc-opp-mihawk.dtb \
aspeed-bmc-opp-nicole.dtb \
aspeed-bmc-opp-palmetto.dtb \ aspeed-bmc-opp-palmetto.dtb \
aspeed-bmc-opp-romulus.dtb \ aspeed-bmc-opp-romulus.dtb \
aspeed-bmc-opp-swift.dtb \ aspeed-bmc-opp-swift.dtb \

View File

@ -213,3 +213,7 @@
&i2c15 { &i2c15 {
status = "okay"; status = "okay";
}; };
&fsim0 {
status = "okay";
};

View File

@ -5,6 +5,7 @@
#include "aspeed-g5.dtsi" #include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h> #include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/i2c/i2c.h>
/ { / {
model = "Facebook TiogaPass BMC"; model = "Facebook TiogaPass BMC";
@ -112,13 +113,76 @@
&kcs2 { &kcs2 {
// BMC KCS channel 2 // BMC KCS channel 2
status = "okay"; status = "okay";
kcs_addr = <0xca8>; aspeed,lpc-io-reg = <0xca8>;
}; };
&kcs3 { &kcs3 {
// BMC KCS channel 3 // BMC KCS channel 3
status = "okay"; status = "okay";
kcs_addr = <0xca2>; aspeed,lpc-io-reg = <0xca2>;
};
&gpio {
status = "okay";
gpio-line-names =
/*A0-A7*/ "BMC_CPLD_FPGA_SEL","","","","","","","",
/*B0-B7*/ "","BMC_DEBUG_EN","","","","BMC_PPIN","PS_PWROK",
"IRQ_PVDDQ_GHJ_VRHOT_LVT3",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "BIOS_MRC_DEBUG_MSG_DIS","BOARD_REV_ID0","",
"BOARD_REV_ID1","IRQ_DIMM_SAVE_LVT3","BOARD_REV_ID2",
"CPU_ERR0_LVT3_BMC","CPU_ERR1_LVT3_BMC",
/*E0-E7*/ "RESET_BUTTON","RESET_OUT","POWER_BUTTON",
"POWER_OUT","NMI_BUTTON","","CPU0_PROCHOT_LVT3_ BMC",
"CPU1_PROCHOT_LVT3_ BMC",
/*F0-F7*/ "IRQ_PVDDQ_ABC_VRHOT_LVT3","",
"IRQ_PVCCIN_CPU0_VRHOT_LVC3",
"IRQ_PVCCIN_CPU1_VRHOT_LVC3",
"IRQ_PVDDQ_KLM_VRHOT_LVT3","","P3VBAT_BRIDGE_EN","",
/*G0-G7*/ "CPU_ERR2_LVT3","CPU_CATERR_LVT3","PCH_BMC_THERMTRIP",
"CPU0_SKTOCC_LVT3","","","","BIOS_SMI_ACTIVE",
/*H0-H7*/ "LED_POST_CODE_0","LED_POST_CODE_1","LED_POST_CODE_2",
"LED_POST_CODE_3","LED_POST_CODE_4","LED_POST_CODE_5",
"LED_POST_CODE_6","LED_POST_CODE_7",
/*I0-I7*/ "CPU0_FIVR_FAULT_LVT3","CPU1_FIVR_FAULT_LVT3",
"FORCE_ADR","UV_ADR_TRIGGER_EN","","","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "IRQ_UV_DETECT","IRQ_OC_DETECT","HSC_TIMER_EXP","",
"MEM_THERM_EVENT_PCH","PMBUS_ALERT_BUF_EN","","",
/*M0-M7*/ "CPU0_RC_ERROR","CPU1_RC_ERROR","","OC_DETECT_EN",
"CPU0_THERMTRIP_LATCH_LVT3",
"CPU1_THERMTRIP_LATCH_LVT3","","",
/*N0-N7*/ "","","","CPU_MSMI_LVT3","","BIOS_SPI_BMC_CTRL","","",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "BOARD_SKU_ID0","BOARD_SKU_ID1","BOARD_SKU_ID2",
"BOARD_SKU_ID3","BOARD_SKU_ID4","BMC_PREQ",
"BMC_PWR_DEBUG","RST_RSMRST",
/*Q0-Q7*/ "","","","","UARTSW_LSB","UARTSW_MSB",
"POST_CARD_PRES_BMC","PE_BMC_WAKE",
/*R0-R7*/ "","","BMC_TCK_MUX_SEL","BMC_PRDY",
"BMC_XDP_PRSNT_IN","RST_BMC_PLTRST_BUF","SLT_CFG0",
"SLT_CFG1",
/*S0-S7*/ "THROTTLE","BMC_READY","","HSC_SMBUS_SWITCH_EN","",
"","","",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","BMC_FAULT","","",
/*V0-V7*/ "","","","FAST_PROCHOT_EN","","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","GLOBAL_RST_WARN",
"CPU0_MEMABC_MEMHOT_LVT3_BMC",
"CPU0_MEMDEF_MEMHOT_LVT3_BMC",
"CPU1_MEMGHJ_MEMHOT_LVT3_BMC",
"CPU1_MEMKLM_MEMHOT_LVT3_BMC",
/*Y0-Y7*/ "SIO_S3","SIO_S5","BMC_JTAG_SEL","SIO_ONCONTROL","",
"","","",
/*Z0-Z7*/ "","SIO_POWER_GOOD","IRQ_PVDDQ_DEF_VRHOT_LVT3","",
"","","","",
/*AA0-AA7*/ "CPU1_SKTOCC_LVT3","IRQ_SML1_PMBUS_ALERT",
"SERVER_POWER_LED","","PECI_MUX_SELECT","UV_HIGH_SET",
"","POST_COMPLETE",
/*AB0-AB7*/ "IRQ_HSC_FAULT","OCP_MEZZA_PRES","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
}; };
&mac0 { &mac0 {
@ -368,6 +432,11 @@
&i2c4 { &i2c4 {
status = "okay"; status = "okay";
// BMC Debug Header // BMC Debug Header
ipmb0@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
}; };
&i2c5 { &i2c5 {
@ -449,6 +518,11 @@
&i2c9 { &i2c9 {
status = "okay"; status = "okay";
//USB Debug Connector //USB Debug Connector
ipmb0@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
}; };
&pwm_tacho { &pwm_tacho {

View File

@ -0,0 +1,231 @@
// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright (c) 2018 Facebook Inc.
/dts-v1/;
#include "aspeed-g5.dtsi"
#include <dt-bindings/i2c/i2c.h>
/ {
model = "Facebook Yosemitev2 BMC";
compatible = "facebook,yosemitev2-bmc", "aspeed,ast2500";
aliases {
serial4 = &uart5;
};
chosen {
stdout-path = &uart5;
};
memory@80000000 {
reg = <0x80000000 0x20000000>;
};
iio-hwmon {
// VOLATAGE SENSOR
compatible = "iio-hwmon";
io-channels = <&adc 0> , <&adc 1> , <&adc 2> , <&adc 3> ,
<&adc 4> , <&adc 5> , <&adc 6> , <&adc 7> ,
<&adc 8> , <&adc 9> , <&adc 10>, <&adc 11> ,
<&adc 12> , <&adc 13> , <&adc 14> , <&adc 15> ;
};
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
#include "openbmc-flash-layout.dtsi"
};
};
&spi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1_default>;
flash@0 {
status = "okay";
m25p,fast-read;
label = "pnor";
};
};
&uart1 {
// Host1 Console
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd1_default
&pinctrl_rxd1_default>;
};
&uart2 {
// Host2 Console
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd2_default
&pinctrl_rxd2_default>;
};
&uart3 {
// Host3 Console
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd3_default
&pinctrl_rxd3_default>;
};
&uart4 {
// Host4 Console
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd4_default
&pinctrl_rxd4_default>;
};
&uart5 {
// BMC Console
status = "okay";
};
&vuart {
// Virtual UART
status = "okay";
};
&mac0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii1_default>;
use-ncsi;
mlx,multi-host;
};
&adc {
status = "okay";
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
&pinctrl_adc8_default
&pinctrl_adc9_default
&pinctrl_adc10_default
&pinctrl_adc11_default
&pinctrl_adc12_default
&pinctrl_adc13_default
&pinctrl_adc14_default
&pinctrl_adc15_default>;
};
&i2c1 {
//Host1 IPMB bus
status = "okay";
multi-master;
ipmb1@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c3 {
//Host2 IPMB bus
status = "okay";
multi-master;
ipmb3@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c5 {
//Host3 IPMB bus
status = "okay";
multi-master;
ipmb5@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c7 {
//Host4 IPMB bus
status = "okay";
multi-master;
ipmb7@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c8 {
status = "okay";
//FRU EEPROM
eeprom@51 {
compatible = "atmel,24c64";
reg = <0x51>;
pagesize = <32>;
};
};
&i2c9 {
status = "okay";
tmp421@4e {
//INLET TEMP
compatible = "ti,tmp421";
reg = <0x4e>;
};
//OUTLET TEMP
tmp421@4f {
compatible = "ti,tmp421";
reg = <0x4f>;
};
};
&i2c10 {
status = "okay";
//HSC
adm1278@40 {
compatible = "adi,adm1278";
reg = <0x40>;
};
};
&i2c11 {
status = "okay";
//MEZZ_TEMP_SENSOR
tmp421@1f {
compatible = "ti,tmp421";
reg = <0x1f>;
};
};
&i2c12 {
status = "okay";
//MEZZ_FRU
eeprom@51 {
compatible = "atmel,24c64";
reg = <0x51>;
pagesize = <32>;
};
};
&pwm_tacho {
status = "okay";
//FSC
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>;
fan@0 {
reg = <0x00>;
aspeed,fan-tach-ch = /bits/ 8 <0x00>;
};
fan@1 {
reg = <0x01>;
aspeed,fan-tach-ch = /bits/ 8 <0x01>;
};
};

View File

@ -4,6 +4,7 @@
#include "aspeed-g6.dtsi" #include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h> #include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/leds/leds-pca955x.h>
/ { / {
model = "Rainier"; model = "Rainier";
@ -32,6 +33,11 @@
no-map; no-map;
reg = <0xB8000000 0x04000000>; /* 64M */ reg = <0xB8000000 0x04000000>; /* 64M */
}; };
vga_memory: region@bf000000 {
no-map;
reg = <0xbf000000 0x01000000>; /* 16M */
};
}; };
gpio-keys { gpio-keys {
@ -64,6 +70,40 @@
}; };
&gpio0 {
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "","","","","","","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "","","","","","","","",
/*E0-E7*/ "","","","","","","","",
/*F0-F7*/ "","","","","","","","",
/*G0-G7*/ "","","","","","","","",
/*H0-H7*/ "","","","","","","","",
/*I0-I7*/ "","","","","","","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "","","","","","","","",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "","","","","","","","",
/*Q0-Q7*/ "cfam-reset","","","","","","","",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "presence-ps0","presence-ps1","presence-ps2","presence-ps3",
"","","","",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","","","","","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","",
/*AA0-AA7*/ "","","","","","","","",
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
};
&emmc_controller { &emmc_controller {
status = "okay"; status = "okay";
}; };
@ -72,6 +112,88 @@
status = "okay"; status = "okay";
}; };
&fsim0 {
status = "okay";
#address-cells = <2>;
#size-cells = <0>;
cfam@0,0 {
reg = <0 0>;
#address-cells = <1>;
#size-cells = <1>;
chip-id = <0>;
scom@1000 {
compatible = "ibm,fsi2pib";
reg = <0x1000 0x400>;
};
sbefifo@2400 {
compatible = "ibm,p9-sbefifo";
reg = <0x2400 0x400>;
#address-cells = <1>;
#size-cells = <0>;
fsi_occ0: occ {
compatible = "ibm,p9-occ";
};
};
fsi_hub0: hub@3400 {
compatible = "fsi-master-hub";
reg = <0x3400 0x400>;
#address-cells = <2>;
#size-cells = <0>;
no-scan-on-init;
};
};
};
&fsi_hub0 {
cfam@1,0 {
reg = <1 0>;
#address-cells = <1>;
#size-cells = <1>;
chip-id = <1>;
scom@1000 {
compatible = "ibm,fsi2pib";
reg = <0x1000 0x400>;
};
sbefifo@2400 {
compatible = "ibm,p9-sbefifo";
reg = <0x2400 0x400>;
#address-cells = <1>;
#size-cells = <0>;
fsi_occ1: occ {
compatible = "ibm,p9-occ";
};
};
fsi_hub1: hub@3400 {
compatible = "fsi-master-hub";
reg = <0x3400 0x400>;
#address-cells = <2>;
#size-cells = <0>;
no-scan-on-init;
};
};
};
/* Legacy OCC numbering (to get rid of when userspace is fixed) */
&fsi_occ0 {
reg = <1>;
};
&fsi_occ1 {
reg = <2>;
};
&ibt { &ibt {
status = "okay"; status = "okay";
}; };
@ -269,66 +391,82 @@
gpio@0 { gpio@0 {
reg = <0>; reg = <0>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@1 { gpio@1 {
reg = <1>; reg = <1>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@2 { gpio@2 {
reg = <2>; reg = <2>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@3 { gpio@3 {
reg = <3>; reg = <3>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@4 { gpio@4 {
reg = <4>; reg = <4>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@5 { gpio@5 {
reg = <5>; reg = <5>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@6 { gpio@6 {
reg = <6>; reg = <6>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@7 { gpio@7 {
reg = <7>; reg = <7>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@8 { gpio@8 {
reg = <8>; reg = <8>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@9 { gpio@9 {
reg = <9>; reg = <9>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@10 { gpio@10 {
reg = <10>; reg = <10>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@11 { gpio@11 {
reg = <11>; reg = <11>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@12 { gpio@12 {
reg = <12>; reg = <12>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@13 { gpio@13 {
reg = <13>; reg = <13>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@14 { gpio@14 {
reg = <14>; reg = <14>;
type = <PCA955X_TYPE_GPIO>;
}; };
gpio@15 { gpio@15 {
reg = <15>; reg = <15>;
type = <PCA955X_TYPE_GPIO>;
}; };
}; };
@ -386,21 +524,6 @@
&i2c9 { &i2c9 {
status = "okay"; status = "okay";
ir35221@42 {
compatible = "infineon,ir35221";
reg = <0x42>;
};
ir35221@43 {
compatible = "infineon,ir35221";
reg = <0x43>;
};
ir35221@44 {
compatible = "infineon,ir35221";
reg = <0x44>;
};
tmp423a@4c { tmp423a@4c {
compatible = "ti,tmp423"; compatible = "ti,tmp423";
reg = <0x4c>; reg = <0x4c>;
@ -411,21 +534,6 @@
reg = <0x4d>; reg = <0x4d>;
}; };
ir35221@72 {
compatible = "infineon,ir35221";
reg = <0x72>;
};
ir35221@73 {
compatible = "infineon,ir35221";
reg = <0x73>;
};
ir35221@74 {
compatible = "infineon,ir35221";
reg = <0x74>;
};
eeprom@50 { eeprom@50 {
compatible = "atmel,24c128"; compatible = "atmel,24c128";
reg = <0x50>; reg = <0x50>;
@ -435,21 +543,6 @@
&i2c10 { &i2c10 {
status = "okay"; status = "okay";
ir35221@42 {
compatible = "infineon,ir35221";
reg = <0x42>;
};
ir35221@43 {
compatible = "infineon,ir35221";
reg = <0x43>;
};
ir35221@44 {
compatible = "infineon,ir35221";
reg = <0x44>;
};
tmp423a@4c { tmp423a@4c {
compatible = "ti,tmp423"; compatible = "ti,tmp423";
reg = <0x4c>; reg = <0x4c>;
@ -460,21 +553,6 @@
reg = <0x4d>; reg = <0x4d>;
}; };
ir35221@72 {
compatible = "infineon,ir35221";
reg = <0x72>;
};
ir35221@73 {
compatible = "infineon,ir35221";
reg = <0x73>;
};
ir35221@74 {
compatible = "infineon,ir35221";
reg = <0x74>;
};
eeprom@50 { eeprom@50 {
compatible = "atmel,24c128"; compatible = "atmel,24c128";
reg = <0x50>; reg = <0x50>;
@ -540,6 +618,10 @@
status = "okay"; status = "okay";
}; };
&vuart2 {
status = "okay";
};
&lpc_ctrl { &lpc_ctrl {
status = "okay"; status = "okay";
memory-region = <&flash_memory>; memory-region = <&flash_memory>;

View File

@ -8,6 +8,52 @@
model = "Mihawk BMC"; model = "Mihawk BMC";
compatible = "ibm,mihawk-bmc", "aspeed,ast2500"; compatible = "ibm,mihawk-bmc", "aspeed,ast2500";
aliases {
i2c215 = &bus6_mux215;
i2c216 = &bus6_mux216;
i2c217 = &bus6_mux217;
i2c218 = &bus6_mux218;
i2c219 = &bus6_mux219;
i2c220 = &bus6_mux220;
i2c221 = &bus6_mux221;
i2c222 = &bus6_mux222;
i2c223 = &bus7_mux223;
i2c224 = &bus7_mux224;
i2c225 = &bus7_mux225;
i2c226 = &bus7_mux226;
i2c227 = &bus7_mux227;
i2c228 = &bus7_mux228;
i2c229 = &bus7_mux229;
i2c230 = &bus7_mux230;
i2c231 = &bus9_mux231;
i2c232 = &bus9_mux232;
i2c233 = &bus9_mux233;
i2c234 = &bus9_mux234;
i2c235 = &bus9_mux235;
i2c236 = &bus9_mux236;
i2c237 = &bus9_mux237;
i2c238 = &bus9_mux238;
i2c239 = &bus10_mux239;
i2c240 = &bus10_mux240;
i2c241 = &bus10_mux241;
i2c242 = &bus10_mux242;
i2c243 = &bus10_mux243;
i2c244 = &bus10_mux244;
i2c245 = &bus10_mux245;
i2c246 = &bus10_mux246;
i2c247 = &bus12_mux247;
i2c248 = &bus12_mux248;
i2c249 = &bus12_mux249;
i2c250 = &bus12_mux250;
i2c251 = &bus13_mux251;
i2c252 = &bus13_mux252;
i2c253 = &bus13_mux253;
i2c254 = &bus13_mux254;
i2c255 = &bus13_mux255;
i2c256 = &bus13_mux256;
i2c257 = &bus13_mux257;
i2c258 = &bus13_mux258;
};
chosen { chosen {
stdout-path = &uart5; stdout-path = &uart5;
@ -120,35 +166,24 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
fault { front-fault {
retain-state-shutdown; retain-state-shutdown;
default-state = "keep"; default-state = "keep";
gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_LOW>; gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_LOW>;
}; };
power { power-button {
retain-state-shutdown; retain-state-shutdown;
default-state = "keep"; default-state = "keep";
gpios = <&gpio ASPEED_GPIO(AA, 1) GPIO_ACTIVE_LOW>; gpios = <&gpio ASPEED_GPIO(AA, 1) GPIO_ACTIVE_LOW>;
}; };
rear-id { front-id {
retain-state-shutdown; retain-state-shutdown;
default-state = "keep"; default-state = "keep";
gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_LOW>; gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_LOW>;
}; };
rear-g {
retain-state-shutdown;
default-state = "keep";
gpios = <&gpio ASPEED_GPIO(AA, 4) GPIO_ACTIVE_LOW>;
};
rear-ok {
retain-state-shutdown;
default-state = "keep";
gpios = <&gpio ASPEED_GPIO(Y, 0) GPIO_ACTIVE_LOW>;
};
fan0 { fan0 {
retain-state-shutdown; retain-state-shutdown;
@ -630,6 +665,54 @@
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reg = <0x70>; reg = <0x70>;
bus7_mux223: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
bus7_mux224: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
bus7_mux225: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
bus7_mux226: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
bus7_mux227: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
bus7_mux228: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
bus7_mux229: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
bus7_mux230: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
}; };
}; };
@ -644,6 +727,54 @@
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reg = <0x70>; reg = <0x70>;
bus6_mux215: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
bus6_mux216: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
bus6_mux217: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
bus6_mux218: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
bus6_mux219: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
bus6_mux220: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
bus6_mux221: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
bus6_mux222: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
}; };
}; };
@ -684,6 +815,30 @@
i2c-mux-idle-disconnect; i2c-mux-idle-disconnect;
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <2>;
bus9_mux231: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
bus9_mux232: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
bus9_mux233: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
bus9_mux234: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
}; };
pca9545@71 { pca9545@71 {
@ -695,6 +850,30 @@
i2c-mux-idle-disconnect; i2c-mux-idle-disconnect;
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <2>;
bus9_mux235: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
bus9_mux236: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
bus9_mux237: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
bus9_mux238: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
}; };
}; };
@ -725,6 +904,30 @@
i2c-mux-idle-disconnect; i2c-mux-idle-disconnect;
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <2>;
bus10_mux239: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
bus10_mux240: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
bus10_mux241: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
bus10_mux242: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
}; };
pca9545@71 { pca9545@71 {
@ -736,6 +939,30 @@
i2c-mux-idle-disconnect; i2c-mux-idle-disconnect;
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <2>;
bus10_mux243: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
bus10_mux244: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
bus10_mux245: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
bus10_mux246: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
}; };
}; };
@ -796,7 +1023,7 @@
interrupt-controller; interrupt-controller;
#interrupt-cells = <2>; #interrupt-cells = <2>;
i2c@0 { bus12_mux247: i2c@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reg = <0>; reg = <0>;
@ -807,7 +1034,7 @@
}; };
}; };
i2c@1 { bus12_mux248: i2c@1 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reg = <1>; reg = <1>;
@ -818,7 +1045,7 @@
}; };
}; };
i2c@2 { bus12_mux249: i2c@2 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reg = <2>; reg = <2>;
@ -829,7 +1056,7 @@
}; };
}; };
i2c@3 { bus12_mux250: i2c@3 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reg = <3>; reg = <3>;
@ -857,6 +1084,53 @@
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reg = <0x70>; reg = <0x70>;
bus13_mux251: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
bus13_mux252: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
bus13_mux253: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
bus13_mux254: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
bus13_mux255: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
bus13_mux256: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
bus13_mux257: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
bus13_mux258: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
}; };
}; };

View File

@ -0,0 +1,326 @@
// SPDX-License-Identifier: GPL-2.0+
// Copyright 2019 YADRO
/dts-v1/;
#include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
/ {
model = "Nicole BMC";
compatible = "yadro,nicole-bmc", "aspeed,ast2500";
chosen {
stdout-path = &uart5;
bootargs = "console=ttyS4,115200 earlyprintk";
};
memory@80000000 {
reg = <0x80000000 0x20000000>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
vga_memory: framebuffer@9f000000 {
no-map;
reg = <0x9f000000 0x01000000>; /* 16M */
};
flash_memory: region@98000000 {
no-map;
reg = <0x98000000 0x04000000>; /* 64M */
};
coldfire_memory: codefire_memory@9ef00000 {
reg = <0x9ef00000 0x00100000>;
no-map;
};
gfx_memory: framebuffer {
size = <0x01000000>;
alignment = <0x01000000>;
compatible = "shared-dma-pool";
reusable;
};
video_engine_memory: jpegbuffer {
size = <0x02000000>; /* 32M */
alignment = <0x01000000>;
compatible = "shared-dma-pool";
reusable;
};
};
leds {
compatible = "gpio-leds";
power {
label = "platform:green:power";
gpios = <&gpio ASPEED_GPIO(AA, 4) GPIO_ACTIVE_HIGH>;
};
identify {
label = "platform:blue:indicator";
gpios = <&gpio ASPEED_GPIO(AA, 7) GPIO_ACTIVE_HIGH>;
};
fault {
label = "platform:red:fault";
gpios = <&gpio ASPEED_GPIO(AA, 3) GPIO_ACTIVE_HIGH>;
};
attention {
label = "platform:yellow:alarm";
gpios = <&gpio ASPEED_GPIO(AA, 1) GPIO_ACTIVE_HIGH>;
};
};
fsi: gpio-fsi {
compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
#address-cells = <2>;
#size-cells = <0>;
no-gpio-delays;
memory-region = <&coldfire_memory>;
aspeed,sram = <&sram>;
aspeed,cvic = <&cvic>;
clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
data-gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_HIGH>;
mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
trans-gpios = <&gpio ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
};
gpio-keys {
compatible = "gpio-keys";
checkstop {
label = "checkstop";
gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(J, 2)>;
};
};
iio-hwmon-battery {
compatible = "iio-hwmon";
io-channels = <&adc 12>;
};
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout.dtsi"
};
};
&spi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1_default>;
flash@0 {
status = "okay";
m25p,fast-read;
label = "pnor";
spi-max-frequency = <100000000>;
};
};
&lpc_ctrl {
status = "okay";
memory-region = <&flash_memory>;
flash = <&spi1>;
};
&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>;
};
&uart5 {
status = "okay";
};
&mac0 {
status = "okay";
use-ncsi;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii1_default>;
clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
<&syscon ASPEED_CLK_MAC1RCLK>;
clock-names = "MACCLK", "RCLK";
};
&i2c0 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c256";
reg = <0x50>;
pagesize = <64>;
};
};
&i2c2 {
status = "okay";
/* CPU0 characterization connector */
};
&i2c3 {
status = "okay";
/* CLK GEN SI5338 */
};
&i2c4 {
status = "okay";
/* Voltage regulators for CPU0 */
};
&i2c5 {
status = "okay";
/* Voltage regulators for CPU1 */
};
&i2c6 {
status = "okay";
rtc@32 {
compatible = "epson,rx8900";
reg = <0x32>;
};
};
&i2c7 {
status = "okay";
/* CPLD */
};
&gpio {
gpio-line-names =
/*A0-A7*/ "","cfam-reset","","","","","fsi-mux","",
/*B0-B7*/ "","","","","","","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "fsi-enable","bmc_power_up","sys_pwrok_buf",
"func_mode0","func_mode1","func_mode2","","",
/*E0-E7*/ "","ncsi_cfg","","","","","","",
/*F0-F7*/ "","","","","","","","",
/*G0-G7*/ "","","","","","","","",
/*H0-H7*/ "","","","","","","","",
/*I0-I7*/ "","","","","","","","",
/*J0-J7*/ "","","checkstop","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "","","","","","","","",
/*O0-O7*/ "","","power-button","","","","","",
/*P0-P7*/ "","fsi-trans","pm_rtc_adc_en","","","","","",
/*Q0-Q7*/ "","","","","","","","id-button",
/*R0-R7*/ "","software_pwrgood","","","","","","",
/*S0-S7*/ "","","","","","","","seq_cont",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","","","","","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","",
/*AA0-AA7*/ "fsi-clock","led-attention","fsi-data","led-fault",
"led-power","","","led-identify",
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
func_mode0 {
gpio-hog;
gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
output-low;
};
func_mode1 {
gpio-hog;
gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
output-low;
};
func_mode2 {
gpio-hog;
gpios = <ASPEED_GPIO(D, 5) GPIO_ACTIVE_HIGH>;
output-low;
};
seq_cont {
gpio-hog;
gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
output-low;
};
ncsi_cfg {
gpio-hog;
input;
gpios = <ASPEED_GPIO(E, 1) GPIO_ACTIVE_HIGH>;
};
};
&vuart {
status = "okay";
};
&gfx {
status = "okay";
memory-region = <&gfx_memory>;
};
&pinctrl {
aspeed,external-nodes = <&gfx &lhc>;
};
&ibt {
status = "okay";
};
&vhub {
status = "okay";
};
&adc {
status = "okay";
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
&pinctrl_adc8_default
&pinctrl_adc9_default
&pinctrl_adc10_default
&pinctrl_adc11_default
&pinctrl_adc12_default
&pinctrl_adc13_default
&pinctrl_adc14_default
&pinctrl_adc15_default>;
};
&video {
status = "okay";
memory-region = <&video_engine_memory>;
};
#include "ibm-power9-dual.dtsi"

View File

@ -231,23 +231,52 @@
}; };
&gpio { &gpio {
gpio-line-names =
/*A0-A7*/ "","cfam-reset","","","","","fsi-mux","",
/*B0-B7*/ "","","","","","","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "fsi-enable","","","nic_func_mode0","nic_func_mode1","","","",
/*E0-E7*/ "","","","","","","","",
/*F0-F7*/ "","","","","","","","",
/*G0-G7*/ "","","","","","","","",
/*H0-H7*/ "","","","","","","","",
/*I0-I7*/ "","","","power-button","","","","",
/*J0-J7*/ "","","checkstop","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "","","led-fault","",
"led-identify","","","",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "","","","","","","","",
/*Q0-Q7*/ "","","","","","","","id-button",
/*R0-R7*/ "","","fsi-trans","","","led-power","","",
/*S0-S7*/ "","","","","","","","seq_cont",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","","","","","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","",
/*AA0-AA7*/ "fsi-clock","","fsi-data","","","","","",
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
nic_func_mode0 { nic_func_mode0 {
gpio-hog; gpio-hog;
gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>; gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
output-low; output-low;
line-name = "nic_func_mode0";
}; };
nic_func_mode1 { nic_func_mode1 {
gpio-hog; gpio-hog;
gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>; gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
output-low; output-low;
line-name = "nic_func_mode1";
}; };
seq_cont { seq_cont {
gpio-hog; gpio-hog;
gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>; gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
output-low; output-low;
line-name = "seq_cont";
}; };
}; };

View File

@ -31,6 +31,59 @@
}; };
}; };
gpio-keys {
compatible = "gpio-keys";
checkstop {
label = "checkstop";
gpios = <&gpio0 ASPEED_GPIO(E, 3) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(E, 3)>;
};
ps0-presence {
label = "ps0-presence";
gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(H, 3)>;
};
ps1-presence {
label = "ps1-presence";
gpios = <&gpio0 ASPEED_GPIO(E, 5) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(E, 5)>;
};
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <1000>;
fan0-presence {
label = "fan0-presence";
gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
linux,code = <4>;
};
fan1-presence {
label = "fan1-presence";
gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
linux,code = <5>;
};
fan2-presence {
label = "fan2-presence";
gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
linux,code = <6>;
};
fan3-presence {
label = "fan3-presence";
gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
linux,code = <7>;
};
};
gpio-keys { gpio-keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
@ -89,6 +142,49 @@
linux,code = <7>; linux,code = <7>;
}; };
}; };
iio-hwmon-dps310 {
compatible = "iio-hwmon";
io-channels = <&dps 0>;
};
iio-hwmon-bmp280 {
compatible = "iio-hwmon";
io-channels = <&bmp 1>;
};
};
&gpio0 {
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "fsi-mux","","","","","","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "","","","","","","","",
/*E0-E7*/ "power-button","","","checkstop","","presence-ps1","","led-rear-fault",
/*F0-F7*/ "","","","","","","","",
/*G0-G7*/ "","","","","","","","",
/*H0-H7*/ "","","","presence-ps0","","","","",
/*I0-I7*/ "","","","","","","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "","","","","","","","",
/*O0-O7*/ "led-rear-power","led-rear-id","","","","","","",
/*P0-P7*/ "","","","","","","","",
/*Q0-Q7*/ "cfam-reset","","","","","","","fsi-routing",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "","","","","","","","",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","","","","","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","",
/*AA0-AA7*/ "","","","","","","","",
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
}; };
&fmc { &fmc {
@ -132,6 +228,10 @@
use-ncsi; use-ncsi;
}; };
&emmc_controller {
status = "okay";
};
&emmc { &emmc {
status = "okay"; status = "okay";
}; };
@ -142,6 +242,9 @@
#address-cells = <2>; #address-cells = <2>;
#size-cells = <0>; #size-cells = <0>;
fsi-routing-gpios = <&gpio0 ASPEED_GPIO(Q, 7) GPIO_ACTIVE_HIGH>;
fsi-mux-gpios = <&gpio0 ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>;
cfam@0,0 { cfam@0,0 {
reg = <0 0>; reg = <0 0>;
#address-cells = <1>; #address-cells = <1>;
@ -394,6 +497,11 @@
&i2c1 { &i2c1 {
status = "okay"; status = "okay";
tpm: tpm@2e {
compatible = "tcg,tpm-tis-i2c";
reg = <0x2e>;
};
}; };
&i2c2 { &i2c2 {
@ -774,6 +882,10 @@
status = "okay"; status = "okay";
}; };
&vuart2 {
status = "okay";
};
&lpc_ctrl { &lpc_ctrl {
status = "okay"; status = "okay";
memory-region = <&flash_memory>; memory-region = <&flash_memory>;

View File

@ -191,6 +191,40 @@
}; };
&gpio {
gpio-line-names =
/*A0-A7*/ "","cfam-reset","","","","","fsi-mux","",
/*B0-B7*/ "","","","","","air-water","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "fsi-enable","","","","","","","",
/*E0-E7*/ "fsi-data","","","","","","","",
/*F0-F7*/ "","","","","","","","",
/*G0-G7*/ "","","","","","","","",
/*H0-H7*/ "","","","","","","","",
/*I0-I7*/ "","","","","","","","",
/*J0-J7*/ "","","checkstop","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "presence-ps1","","led-rear-fault","led-rear-power",
"led-rear-id","","","",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "","","","","","","","presence-ps0",
/*Q0-Q7*/ "","","","","","","","",
/*R0-R7*/ "","","fsi-trans","","","power-button","","",
/*S0-S7*/ "","","","","","","","",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","","","","","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","",
/*AA0-AA7*/ "fsi-clock","","","","","","","",
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
};
&fmc { &fmc {
status = "okay"; status = "okay";

View File

@ -478,32 +478,61 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpioh_unbiased>; pinctrl-0 = <&pinctrl_gpioh_unbiased>;
gpio-line-names =
/*A0-A7*/ "","cfam-reset","","","","","","",
/*B0-B7*/ "","","","","","","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "fsi-enable","","","","","led-sys-boot-status","led-attention",
"led-fault",
/*E0-E7*/ "","","","","","","","presence-pcie-e2b",
/*F0-F7*/ "","","","","","","","checkstop",
/*G0-G7*/ "fsi-clock","fsi-data","","","","","","",
/*H0-H7*/ "onewire0","onewire1","onewire2","onewire3","","","","",
/*I0-I7*/ "","","","power-button","","","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "","","","","","","","",
/*O0-O7*/ "","","","","iso_u164_en","","fsi-trans","",
/*P0-P7*/ "ncsi_mux_en_n","bmc_i2c2_sw_rst_n","","bmc_i2c5_sw_rst_n","",
"","fsi-mux","",
/*Q0-Q7*/ "","","","","","","","",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "","","","","","","","",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","","","","","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","",
/*AA0-AA7*/ "","","led-hdd-fault","","","","","",
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
line_iso_u146_en { line_iso_u146_en {
gpio-hog; gpio-hog;
gpios = <ASPEED_GPIO(O, 4) GPIO_ACTIVE_HIGH>; gpios = <ASPEED_GPIO(O, 4) GPIO_ACTIVE_HIGH>;
output-high; output-high;
line-name = "iso_u164_en";
}; };
ncsi_mux_en_n { ncsi_mux_en_n {
gpio-hog; gpio-hog;
gpios = <ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>; gpios = <ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
output-low; output-low;
line-name = "ncsi_mux_en_n";
}; };
line_bmc_i2c2_sw_rst_n { line_bmc_i2c2_sw_rst_n {
gpio-hog; gpio-hog;
gpios = <ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>; gpios = <ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
output-high; output-high;
line-name = "bmc_i2c2_sw_rst_n";
}; };
line_bmc_i2c5_sw_rst_n { line_bmc_i2c5_sw_rst_n {
gpio-hog; gpio-hog;
gpios = <ASPEED_GPIO(P, 3) GPIO_ACTIVE_HIGH>; gpios = <ASPEED_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
output-high; output-high;
line-name = "bmc_i2c5_sw_rst_n";
}; };
}; };

View File

@ -219,6 +219,16 @@
reg = <0x1e720000 0x8000>; // 32K reg = <0x1e720000 0x8000>; // 32K
}; };
video: video@1e700000 {
compatible = "aspeed,ast2400-video-engine";
reg = <0x1e700000 0x1000>;
clocks = <&syscon ASPEED_CLK_GATE_VCLK>,
<&syscon ASPEED_CLK_GATE_ECLK>;
clock-names = "vclk", "eclk";
interrupts = <7>;
status = "disabled";
};
sdmmc: sd-controller@1e740000 { sdmmc: sd-controller@1e740000 {
compatible = "aspeed,ast2400-sd-controller"; compatible = "aspeed,ast2400-sd-controller";
reg = <0x1e740000 0x100>; reg = <0x1e740000 0x100>;

View File

@ -224,6 +224,14 @@
#clock-cells = <1>; #clock-cells = <1>;
#reset-cells = <1>; #reset-cells = <1>;
scu_ic: interrupt-controller@18 {
#interrupt-cells = <1>;
compatible = "aspeed,ast2500-scu-ic";
reg = <0x18 0x4>;
interrupts = <21>;
interrupt-controller;
};
p2a: p2a-control@2c { p2a: p2a-control@2c {
compatible = "aspeed,ast2500-p2a-ctrl"; compatible = "aspeed,ast2500-p2a-ctrl";
reg = <0x2c 0x4>; reg = <0x2c 0x4>;
@ -254,6 +262,17 @@
interrupts = <0x19>; interrupts = <0x19>;
}; };
xdma: xdma@1e6e7000 {
compatible = "aspeed,ast2500-xdma";
reg = <0x1e6e7000 0x100>;
clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
resets = <&syscon ASPEED_RESET_XDMA>;
interrupts-extended = <&vic 6>, <&scu_ic 2>;
pcie-device = "bmc";
aspeed,scu = <&syscon>;
status = "disabled";
};
adc: adc@1e6e9000 { adc: adc@1e6e9000 {
compatible = "aspeed,ast2500-adc"; compatible = "aspeed,ast2500-adc";
reg = <0x1e6e9000 0xb0>; reg = <0x1e6e9000 0xb0>;
@ -426,22 +445,22 @@
#size-cells = <1>; #size-cells = <1>;
ranges = <0x0 0x0 0x80>; ranges = <0x0 0x0 0x80>;
kcs1: kcs1@0 { kcs1: kcs@24 {
compatible = "aspeed,ast2500-kcs-bmc"; compatible = "aspeed,ast2500-kcs-bmc-v2";
reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
interrupts = <8>; interrupts = <8>;
kcs_chan = <1>;
status = "disabled"; status = "disabled";
}; };
kcs2: kcs2@0 { kcs2: kcs@28 {
compatible = "aspeed,ast2500-kcs-bmc"; compatible = "aspeed,ast2500-kcs-bmc-v2";
reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
interrupts = <8>; interrupts = <8>;
kcs_chan = <2>;
status = "disabled"; status = "disabled";
}; };
kcs3: kcs3@0 { kcs3: kcs@2c {
compatible = "aspeed,ast2500-kcs-bmc"; compatible = "aspeed,ast2500-kcs-bmc-v2";
reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
interrupts = <8>; interrupts = <8>;
kcs_chan = <3>;
status = "disabled"; status = "disabled";
}; };
}; };
@ -455,10 +474,10 @@
#size-cells = <1>; #size-cells = <1>;
ranges = <0x0 0x80 0x1e0>; ranges = <0x0 0x80 0x1e0>;
kcs4: kcs4@0 { kcs4: kcs@94 {
compatible = "aspeed,ast2500-kcs-bmc"; compatible = "aspeed,ast2500-kcs-bmc-v2";
reg = <0x94 0x1>, <0x98 0x1>, <0x9c 0x1>;
interrupts = <8>; interrupts = <8>;
kcs_chan = <4>;
status = "disabled"; status = "disabled";
}; };

View File

@ -65,6 +65,7 @@
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
clocks = <&syscon ASPEED_CLK_HPLL>; clocks = <&syscon ASPEED_CLK_HPLL>;
arm,cpu-registers-not-fw-configured; arm,cpu-registers-not-fw-configured;
always-on;
}; };
ahb { ahb {
@ -313,6 +314,22 @@
compatible = "aspeed,ast2600-smpmem"; compatible = "aspeed,ast2600-smpmem";
reg = <0x180 0x40>; reg = <0x180 0x40>;
}; };
scu_ic0: interrupt-controller@560 {
#interrupt-cells = <1>;
compatible = "aspeed,ast2600-scu-ic0";
reg = <0x560 0x4>;
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
};
scu_ic1: interrupt-controller@570 {
#interrupt-cells = <1>;
compatible = "aspeed,ast2600-scu-ic1";
reg = <0x570 0x4>;
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
};
}; };
rng: hwrng@1e6e2524 { rng: hwrng@1e6e2524 {
@ -322,6 +339,29 @@
quality = <100>; quality = <100>;
}; };
xdma: xdma@1e6e7000 {
compatible = "aspeed,ast2600-xdma";
reg = <0x1e6e7000 0x100>;
clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
resets = <&syscon ASPEED_RESET_DEV_XDMA>, <&syscon ASPEED_RESET_RC_XDMA>;
reset-names = "device", "root-complex";
interrupts-extended = <&gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
<&scu_ic0 2>;
pcie-device = "bmc";
aspeed,scu = <&syscon>;
status = "disabled";
};
video: video@1e700000 {
compatible = "aspeed,ast2600-video-engine";
reg = <0x1e700000 0x1000>;
clocks = <&syscon ASPEED_CLK_GATE_VCLK>,
<&syscon ASPEED_CLK_GATE_ECLK>;
clock-names = "vclk", "eclk";
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
gpio0: gpio@1e780000 { gpio0: gpio@1e780000 {
#gpio-cells = <2>; #gpio-cells = <2>;
gpio-controller; gpio-controller;
@ -368,6 +408,7 @@
<&gic GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; <&gic GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&syscon ASPEED_CLK_APB1>; clocks = <&syscon ASPEED_CLK_APB1>;
clock-names = "PCLK"; clock-names = "PCLK";
status = "disabled";
}; };
uart1: serial@1e783000 { uart1: serial@1e783000 {
@ -433,22 +474,23 @@
#size-cells = <1>; #size-cells = <1>;
ranges = <0x0 0x0 0x80>; ranges = <0x0 0x0 0x80>;
kcs1: kcs1@0 { kcs1: kcs@24 {
compatible = "aspeed,ast2600-kcs-bmc"; compatible = "aspeed,ast2500-kcs-bmc-v2";
reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
kcs_chan = <1>; kcs_chan = <1>;
status = "disabled"; status = "disabled";
}; };
kcs2: kcs2@0 { kcs2: kcs@28 {
compatible = "aspeed,ast2600-kcs-bmc"; compatible = "aspeed,ast2500-kcs-bmc-v2";
reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
kcs_chan = <2>;
status = "disabled"; status = "disabled";
}; };
kcs3: kcs3@0 { kcs3: kcs@2c {
compatible = "aspeed,ast2600-kcs-bmc"; compatible = "aspeed,ast2500-kcs-bmc-v2";
reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
kcs_chan = <3>;
status = "disabled"; status = "disabled";
}; };
}; };
@ -462,10 +504,10 @@
#size-cells = <1>; #size-cells = <1>;
ranges = <0x0 0x80 0x1e0>; ranges = <0x0 0x80 0x1e0>;
kcs4: kcs4@0 { kcs4: kcs@94 {
compatible = "aspeed,ast2600-kcs-bmc"; compatible = "aspeed,ast2500-kcs-bmc-v2";
reg = <0x94 0x1>, <0x98 0x1>, <0x9c 0x1>;
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
kcs_chan = <4>;
status = "disabled"; status = "disabled";
}; };