Commit 083f1015 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'aspeed-6.6-devicetree-2' of...

Merge tag 'aspeed-6.6-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into soc/dt

ASPEED device tree updates for 6.6

 - New machines

  * Inventec's Starscream AST2600 BMC, for a x86 server platform
  * Meta's Yossemite 4 AST2600 BMC, for a multi-node server platform

 - Big device tree rework for IBM's Power10 BMC platforms

 - Updates for wedge400 and Mt Mitchell

 - AST2600 I3C and VUART descriptions

* tag 'aspeed-6.6-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc:
  ARM: dts: aspeed: Add AST2600 I3C control pins
  ARM: dts: aspeed: everest: Move common devices up
  ARM: dts: aspeed: everest: Reorganise FSI description
  ARM: dts: aspeed: rainier: Reorganise FSI description
  ARM: dts: aspeed: bonnell: Reorganise FSI description
  ARM: dts: aspeed: Add P10 FSI descriptions
  ARM: dts: aspeed: yosemite4: add Facebook Yosemite 4 BMC
  dt-bindings: arm: aspeed: add Facebook Yosemite 4 board
  ARM: dts: aspeed: wedge400: Set eMMC max frequency
  ARM: dts: aspeed: wedge400: Enable more ADC channels
  ARM: dts: aspeed: Update spi alias in Facebook AST2500 Common dtsi
  ARM: dts: aspeed: rainier: Remove TPM device
  ARM: dts: aspeed: Add AST2600 VUARTs
  ARM: dts: aspeed: mtmitchell: Add MCTP
  ARM: dts: aspeed: mtmitchell: Update ADC sensors for Mt.Mitchell DVT systems
  ARM: dts: aspeed: mtmitchell: Enable the BMC UART8 and UART9
  ARM: dts: aspeed: Adding Inventec Starscream BMC
  dt-bindings: arm: aspeed: add Inventec starscream-bmc
  ARM: dts: aspeed: bonnell: Add DIMM SPD

Link: https://lore.kernel.org/r/CACPK8Xc76O5kLEAXRtbFXZcP=ObrKR0Kpez_er+zV2vZffZe7A@mail.gmail.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 064a805c 32b73432
......@@ -79,9 +79,11 @@ properties:
- facebook,elbert-bmc
- facebook,fuji-bmc
- facebook,greatlakes-bmc
- facebook,yosemite4-bmc
- ibm,everest-bmc
- ibm,rainier-bmc
- ibm,tacoma-bmc
- inventec,starscream-bmc
- inventec,transformer-bmc
- jabil,rbp-bmc
- qcom,dc-scm-v1-bmc
......
......@@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-facebook-wedge400.dtb \
aspeed-bmc-facebook-yamp.dtb \
aspeed-bmc-facebook-yosemitev2.dtb \
aspeed-bmc-facebook-yosemite4.dtb \
aspeed-bmc-ibm-bonnell.dtb \
aspeed-bmc-ibm-everest.dtb \
aspeed-bmc-ibm-rainier.dtb \
......@@ -53,6 +54,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-quanta-q71l.dtb \
aspeed-bmc-quanta-s6q.dtb \
aspeed-bmc-supermicro-x11spi.dtb \
aspeed-bmc-inventec-starscream.dtb \
aspeed-bmc-inventec-transformers.dtb \
aspeed-bmc-tyan-s7106.dtb \
aspeed-bmc-tyan-s8036.dtb \
......
......@@ -4,12 +4,18 @@
/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/aspeed-gpio.h>
/ {
model = "Ampere Mt.Mitchell BMC";
compatible = "ampere,mtmitchell-bmc", "aspeed,ast2600";
aliases {
serial7 = &uart8;
serial8 = &uart9;
};
chosen {
stdout-path = &uart5;
};
......@@ -61,174 +67,192 @@ gpioI5mux: mux-controller {
adc0mux: adc0mux {
compatible = "io-channel-mux";
io-channels = <&adc0 0>;
io-channels = <&adc_i2c_0 0>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc1mux: adc1mux {
compatible = "io-channel-mux";
io-channels = <&adc0 1>;
io-channels = <&adc_i2c_0 1>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc2mux: adc2mux {
compatible = "io-channel-mux";
io-channels = <&adc0 2>;
io-channels = <&adc_i2c_0 2>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc3mux: adc3mux {
compatible = "io-channel-mux";
io-channels = <&adc0 3>;
io-channels = <&adc_i2c_0 3>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc4mux: adc4mux {
compatible = "io-channel-mux";
io-channels = <&adc0 4>;
io-channels = <&adc_i2c_0 4>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc5mux: adc5mux {
compatible = "io-channel-mux";
io-channels = <&adc0 5>;
io-channels = <&adc_i2c_0 5>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc6mux: adc6mux {
compatible = "io-channel-mux";
io-channels = <&adc0 6>;
io-channels = <&adc_i2c_0 6>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc7mux: adc7mux {
compatible = "io-channel-mux";
io-channels = <&adc0 7>;
io-channels = <&adc_i2c_0 7>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc8mux: adc8mux {
compatible = "io-channel-mux";
io-channels = <&adc1 0>;
io-channels = <&adc_i2c_0 8>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc9mux: adc9mux {
compatible = "io-channel-mux";
io-channels = <&adc1 1>;
io-channels = <&adc_i2c_0 9>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc10mux: adc10mux {
compatible = "io-channel-mux";
io-channels = <&adc1 2>;
io-channels = <&adc_i2c_0 10>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc11mux: adc11mux {
compatible = "io-channel-mux";
io-channels = <&adc1 3>;
io-channels = <&adc_i2c_0 11>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc12mux: adc12mux {
compatible = "io-channel-mux";
io-channels = <&adc1 4>;
io-channels = <&adc_i2c_0 12>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc13mux: adc13mux {
compatible = "io-channel-mux";
io-channels = <&adc1 5>;
io-channels = <&adc_i2c_0 13>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc14mux: adc14mux {
compatible = "io-channel-mux";
io-channels = <&adc1 6>;
io-channels = <&adc_i2c_0 14>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
adc15mux: adc15mux {
compatible = "io-channel-mux";
io-channels = <&adc1 7>;
io-channels = <&adc_i2c_0 15>;
#io-channel-cells = <1>;
io-channel-names = "parent";
mux-controls = <&gpioI5mux>;
settle-time-us = <10000>;
channels = "s0", "s1";
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0mux 0>, <&adc0mux 1>,
<&adc1mux 0>, <&adc1mux 1>,
<&adc2mux 0>, <&adc2mux 1>,
<&adc3mux 0>, <&adc3mux 1>,
<&adc4mux 0>, <&adc4mux 1>,
<&adc5mux 0>, <&adc5mux 1>,
<&adc6mux 0>, <&adc6mux 1>,
<&adc7mux 0>, <&adc7mux 1>,
<&adc8mux 0>, <&adc8mux 1>,
<&adc9mux 0>, <&adc9mux 1>,
<&adc10mux 0>, <&adc10mux 1>,
<&adc11mux 0>, <&adc11mux 1>,
<&adc12mux 0>, <&adc12mux 1>,
<&adc13mux 0>, <&adc13mux 1>,
<&adc14mux 0>, <&adc14mux 1>,
<&adc15mux 0>, <&adc15mux 1>,
<&adc_i2c 0>, <&adc_i2c 1>,
<&adc_i2c 2>, <&adc_i2c 3>,
<&adc_i2c 4>, <&adc_i2c 5>,
<&adc_i2c 6>, <&adc_i2c 7>,
<&adc_i2c 8>, <&adc_i2c 9>,
<&adc_i2c 10>, <&adc_i2c 11>,
<&adc_i2c 12>, <&adc_i2c 13>,
<&adc_i2c 14>, <&adc_i2c 15>;
io-channels = <&adc0mux 0>, <&adc0mux 1>,
<&adc1mux 0>, <&adc1mux 1>,
<&adc2mux 0>, <&adc2mux 1>,
<&adc3mux 0>, <&adc3mux 1>,
<&adc4mux 0>, <&adc4mux 1>,
<&adc5mux 0>, <&adc5mux 1>,
<&adc6mux 0>, <&adc6mux 1>,
<&adc7mux 0>, <&adc7mux 1>,
<&adc8mux 0>, <&adc8mux 1>,
<&adc9mux 0>, <&adc9mux 1>,
<&adc10mux 0>, <&adc10mux 1>,
<&adc11mux 0>, <&adc11mux 1>,
<&adc12mux 0>, <&adc12mux 1>,
<&adc13mux 0>, <&adc13mux 1>,
<&adc14mux 0>, <&adc14mux 1>,
<&adc15mux 0>, <&adc15mux 1>,
<&adc_i2c_1 0>, <&adc_i2c_1 1>,
<&adc_i2c_1 2>, <&adc_i2c_1 3>,
<&adc_i2c_1 4>, <&adc_i2c_1 5>,
<&adc_i2c_1 6>, <&adc_i2c_1 7>,
<&adc_i2c_1 8>, <&adc_i2c_1 9>,
<&adc_i2c_1 10>, <&adc_i2c_1 11>,
<&adc_i2c_1 12>, <&adc_i2c_1 13>,
<&adc_i2c_1 14>, <&adc_i2c_1 15>,
<&adc0 0>, <&adc0 1>,
<&adc0 2>;
};
};
......@@ -307,6 +331,14 @@ &uart4 {
status = "okay";
};
&uart8 {
status = "okay";
};
&uart9 {
status = "okay";
};
&i2c0 {
status = "okay";
......@@ -336,12 +368,27 @@ psu@59 {
&i2c3 {
status = "okay";
bus-frequency = <1000000>;
multi-master;
mctp-controller;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
};
&i2c4 {
status = "okay";
adc_i2c: adc@16 {
adc_i2c_0: adc@14 {
compatible = "lltc,ltc2497";
reg = <0x14>;
vref-supply = <&voltage_mon_reg>;
#io-channel-cells = <1>;
};
adc_i2c_1: adc@16 {
compatible = "lltc,ltc2497";
reg = <0x16>;
vref-supply = <&voltage_mon_reg>;
......
......@@ -59,7 +59,8 @@ chosen {
ast-adc-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>;
io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>,
<&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>;
};
/*
......@@ -366,6 +367,7 @@ &uhci {
};
&sdhci1 {
max-frequency = <25000000>;
/*
* DMA mode needs to be disabled to avoid conflicts with UHCI
* Controller in AST2500 SoC.
......
// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright 2022 Facebook Inc.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/leds/leds-pca955x.h>
#include <dt-bindings/i2c/i2c.h>
/ {
model = "Facebook Yosemite 4 BMC";
compatible = "facebook,yosemite4-bmc", "aspeed,ast2600";
aliases {
serial4 = &uart5;
serial5 = &uart6;
serial6 = &uart7;
serial7 = &uart8;
serial8 = &uart9;
};
chosen {
stdout-path = "serial4:57600n8";
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x80000000>;
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 0>, <&adc1 1>;
};
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "okay";
};
&uart5 {
status = "okay";
};
&uart6 {
status = "okay";
};
&uart7 {
status = "okay";
};
&uart8 {
status = "okay";
};
&uart9 {
status = "okay";
};
&wdt1 {
status = "okay";
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>;
};
&mac2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii3_default>;
use-ncsi;
mlx,multi-host;
};
&mac3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii4_default>;
use-ncsi;
mlx,multi-host;
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-rx-bus-width = <4>;
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-64.dtsi"
};
flash@1 {
status = "okay";
m25p,fast-read;
label = "bmc2";
spi-rx-bus-width = <4>;
spi-max-frequency = <50000000>;
};
};
&i2c0 {
status = "okay";
mctp-controller;
bus-frequency = <400000>;
multi-master;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
power-sensor@40 {
compatible = "adi,adm1278";
reg = <0x40>;
};
};
&i2c1 {
status = "okay";
mctp-controller;
bus-frequency = <400000>;
multi-master;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
power-sensor@40 {
compatible = "adi,adm1278";
reg = <0x40>;
};
};
&i2c2 {
status = "okay";
mctp-controller;
bus-frequency = <400000>;
multi-master;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
power-sensor@40 {
compatible = "adi,adm1278";
reg = <0x40>;
};
};
&i2c3 {
status = "okay";
mctp-controller;
bus-frequency = <400000>;
multi-master;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
power-sensor@40 {
compatible = "adi,adm1278";
reg = <0x40>;
};
};
&i2c4 {
status = "okay";
mctp-controller;
bus-frequency = <400000>;
multi-master;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
power-sensor@40 {
compatible = "adi,adm1278";
reg = <0x40>;
};
};
&i2c5 {
status = "okay";
mctp-controller;
bus-frequency = <400000>;
multi-master;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
power-sensor@40 {
compatible = "adi,adm1278";
reg = <0x40>;
};
};
&i2c6 {
status = "okay";
mctp-controller;
bus-frequency = <400000>;
multi-master;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
power-sensor@40 {
compatible = "adi,adm1278";
reg = <0x40>;
};
};
&i2c7 {
status = "okay";
mctp-controller;
bus-frequency = <400000>;
multi-master;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
power-sensor@40 {
compatible = "adi,adm1278";
reg = <0x40>;
};
};
&i2c8 {
status = "okay";
bus-frequency = <400000>;
i2c-mux@70 {
compatible = "nxp,pca9544";
idle-state = <0>;
i2c-mux-idle-disconnect;
reg = <0x70>;
};
};
&i2c9 {
status = "okay";
bus-frequency = <400000>;
i2c-mux@71 {
compatible = "nxp,pca9544";
idle-state = <0>;
i2c-mux-idle-disconnect;
reg = <0x71>;
};
};
&i2c10 {
status = "okay";
bus-frequency = <400000>;
};
&i2c11 {
status = "okay";
power-sensor@10 {
compatible = "adi, adm1272";
reg = <0x10>;
};
power-sensor@12 {
compatible = "adi, adm1272";
reg = <0x12>;
};
gpio@20 {
compatible = "nxp,pca9555";
reg = <0x20>;
gpio-controller;
#gpio-cells = <2>;
};
gpio@21 {
compatible = "nxp,pca9555";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
};
gpio@22 {
compatible = "nxp,pca9555";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
};
gpio@23 {
compatible = "nxp,pca9555";
reg = <0x23>;
gpio-controller;
#gpio-cells = <2>;
};
temperature-sensor@48 {
compatible = "ti,tmp75";
reg = <0x48>;
};
temperature-sensor@49 {
compatible = "ti,tmp75";
reg = <0x49>;
};
temperature-sensor@4a {
compatible = "ti,tmp75";
reg = <0x4a>;
};
temperature-sensor@4b {
compatible = "ti,tmp75";
reg = <0x4b>;
};
eeprom@54 {
compatible = "atmel,24c256";
reg = <0x54>;
};
};
&i2c12 {
status = "okay";
bus-frequency = <400000>;
temperature-sensor@48 {
compatible = "ti,tmp75";
reg = <0x48>;
};
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
rtc@6f {
compatible = "nuvoton,nct3018y";
reg = <0x6f>;
};
};
&i2c13 {
status = "okay";
bus-frequency = <400000>;
};
&i2c14 {
status = "okay";
bus-frequency = <400000>;
adc@1d {
compatible = "ti,adc128d818";
reg = <0x1d>;
ti,mode = /bits/ 8 <2>;
};
adc@35 {
compatible = "ti,adc128d818";
reg = <0x35>;
ti,mode = /bits/ 8 <2>;
};
adc@37 {
compatible = "ti,adc128d818";
reg = <0x37>;
ti,mode = /bits/ 8 <2>;
};
power-sensor@40 {
compatible = "ti,ina230";
reg = <0x40>;
};
power-sensor@41 {
compatible = "ti,ina230";
reg = <0x41>;
};
power-sensor@42 {
compatible = "ti,ina230";
reg = <0x42>;
};
power-sensor@43 {
compatible = "ti,ina230";
reg = <0x43>;
};
power-sensor@44 {
compatible = "ti,ina230";
reg = <0x44>;
};
temperature-sensor@4e {
compatible = "ti,tmp75";
reg = <0x4e>;
};
temperature-sensor@4f {
compatible = "ti,tmp75";
reg = <0x4f>;
};
eeprom@51 {
compatible = "atmel,24c128";
reg = <0x51>;
};
i2c-mux@71 {
compatible = "nxp,pca9846";
#address-cells = <1>;
#size-cells = <0>;
idle-state = <0>;
i2c-mux-idle-disconnect;
reg = <0x71>;
i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
adc@1f {
compatible = "ti,adc128d818";
reg = <0x1f>;
ti,mode = /bits/ 8 <2>;
};
pwm@20{
compatible = "max31790";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
};
gpio@22{
compatible = "ti,tca6424";
reg = <0x22>;
};
pwm@23{
compatible = "max31790";
reg = <0x23>;
#address-cells = <1>;
#size-cells = <0>;
};
adc@33 {
compatible = "maxim,max11615";
reg = <0x33>;
};
eeprom@52 {
compatible = "atmel,24c128";
reg = <0x52>;
};
gpio@61 {
compatible = "nxp,pca9552";
reg = <0x61>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
};
};
i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
adc@1f {
compatible = "ti,adc128d818";
reg = <0x1f>;
ti,mode = /bits/ 8 <2>;
};
pwm@20{
compatible = "max31790";
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
};
gpio@22{
compatible = "ti,tca6424";
reg = <0x22>;
};
pwm@23{
compatible = "max31790";
reg = <0x23>;
#address-cells = <1>;
#size-cells = <0>;
};
adc@33 {
compatible = "maxim,max11615";
reg = <0x33>;
};
eeprom@52 {
compatible = "atmel,24c128";
reg = <0x52>;
};
gpio@61 {
compatible = "nxp,pca9552";
reg = <0x61>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
};
};
};
i2c-mux@73 {
compatible = "nxp,pca9544";
#address-cells = <1>;
#size-cells = <0>;
idle-state = <0>;
i2c-mux-idle-disconnect;
reg = <0x73>;
i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
adc@35 {
compatible = "maxim,max11617";
reg = <0x35>;
};
};
i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
adc@35 {
compatible = "maxim,max11617";
reg = <0x35>;
};
};
};
};
&i2c15 {
status = "okay";
mctp-controller;
multi-master;
bus-frequency = <400000>;
mctp@10 {
compatible = "mctp-i2c-controller";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
};
i2c-mux@72 {
compatible = "nxp,pca9544";
idle-state = <0>;
i2c-mux-idle-disconnect;
reg = <0x72>;
};
};
&adc0 {
ref_voltage = <2500>;
status = "okay";
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>;
};
&adc1 {
ref_voltage = <2500>;
status = "okay";
pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default>;
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&uhci {
status = "okay";
};
......@@ -12,38 +12,11 @@ / {
compatible = "ibm,bonnell-bmc", "aspeed,ast2600";
aliases {
i2c100 = &cfam0_i2c0;
i2c101 = &cfam0_i2c1;
i2c110 = &cfam0_i2c10;
i2c111 = &cfam0_i2c11;
i2c112 = &cfam0_i2c12;
i2c113 = &cfam0_i2c13;
i2c114 = &cfam0_i2c14;
i2c115 = &cfam0_i2c15;
i2c202 = &cfam1_i2c2;
i2c203 = &cfam1_i2c3;
i2c210 = &cfam1_i2c10;
i2c211 = &cfam1_i2c11;
i2c214 = &cfam1_i2c14;
i2c215 = &cfam1_i2c15;
i2c216 = &cfam1_i2c16;
i2c217 = &cfam1_i2c17;
serial4 = &uart5;
i2c16 = &i2c11mux0chn0;
i2c17 = &i2c11mux0chn1;
i2c18 = &i2c11mux0chn2;
i2c19 = &i2c11mux0chn3;
spi10 = &cfam0_spi0;
spi11 = &cfam0_spi1;
spi12 = &cfam0_spi2;
spi13 = &cfam0_spi3;
spi20 = &cfam1_spi0;
spi21 = &cfam1_spi1;
spi22 = &cfam1_spi2;
spi23 = &cfam1_spi3;
};
chosen {
......@@ -197,313 +170,6 @@ &emmc {
clk-phase-mmc-hs200 = <180>, <180>;
};
&fsim0 {
status = "okay";
#address-cells = <2>;
#size-cells = <0>;
cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_HIGH>;
cfam@0,0 {
reg = <0 0>;
#address-cells = <1>;
#size-cells = <1>;
chip-id = <0>;
scom@1000 {
compatible = "ibm,fsi2pib";
reg = <0x1000 0x400>;
};
i2c@1800 {
compatible = "ibm,fsi-i2c-master";
reg = <0x1800 0x400>;
#address-cells = <1>;
#size-cells = <0>;
cfam0_i2c0: i2c-bus@0 {
reg = <0>; /* OMI01 */
};
cfam0_i2c1: i2c-bus@1 {
reg = <1>; /* OMI23 */
};
cfam0_i2c10: i2c-bus@a {
reg = <10>; /* OP3A */
};
cfam0_i2c11: i2c-bus@b {
reg = <11>; /* OP3B */
};
cfam0_i2c12: i2c-bus@c {
reg = <12>; /* OP4A */
};
cfam0_i2c13: i2c-bus@d {
reg = <13>; /* OP4B */
};
cfam0_i2c14: i2c-bus@e {
reg = <14>; /* OP5A */
};
cfam0_i2c15: i2c-bus@f {
reg = <15>; /* OP5B */
};
};
fsi2spi@1c00 {
compatible = "ibm,fsi2spi";
reg = <0x1c00 0x400>;
#address-cells = <1>;
#size-cells = <0>;
cfam0_spi0: spi@0 {
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
at25,byte-len = <0x80000>;
at25,addr-mode = <4>;
at25,page-size = <256>;
compatible = "atmel,at25";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
cfam0_spi1: spi@20 {
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
at25,byte-len = <0x80000>;
at25,addr-mode = <4>;
at25,page-size = <256>;
compatible = "atmel,at25";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
cfam0_spi2: spi@40 {
reg = <0x40>;
compatible = "ibm,fsi2spi-restricted";
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
at25,byte-len = <0x80000>;
at25,addr-mode = <4>;
at25,page-size = <256>;
compatible = "atmel,at25";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
cfam0_spi3: spi@60 {
reg = <0x60>;
compatible = "ibm,fsi2spi-restricted";
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
at25,byte-len = <0x80000>;
at25,addr-mode = <4>;
at25,page-size = <256>;
compatible = "atmel,at25";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
};
sbefifo@2400 {
compatible = "ibm,p9-sbefifo";
reg = <0x2400 0x400>;
#address-cells = <1>;
#size-cells = <0>;
fsi_occ0: occ {
compatible = "ibm,p10-occ";
occ-hwmon {
compatible = "ibm,p10-occ-hwmon";
ibm,no-poll-on-init;
};
};
};
fsi_hub0: hub@3400 {
compatible = "fsi-master-hub";
reg = <0x3400 0x400>;
#address-cells = <2>;
#size-cells = <0>;
};
};
};
&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>;
};
i2c@1800 {
compatible = "ibm,fsi-i2c-master";
reg = <0x1800 0x400>;
#address-cells = <1>;
#size-cells = <0>;
cfam1_i2c2: i2c-bus@2 {
reg = <2>; /* OMI45 */
};
cfam1_i2c3: i2c-bus@3 {
reg = <3>; /* OMI67 */
};
cfam1_i2c10: i2c-bus@a {
reg = <10>; /* OP3A */
};
cfam1_i2c11: i2c-bus@b {
reg = <11>; /* OP3B */
};
cfam1_i2c14: i2c-bus@e {
reg = <14>; /* OP5A */
};
cfam1_i2c15: i2c-bus@f {
reg = <15>; /* OP5B */
};
cfam1_i2c16: i2c-bus@10 {
reg = <16>; /* OP6A */
};
cfam1_i2c17: i2c-bus@11 {
reg = <17>; /* OP6B */
};
};
fsi2spi@1c00 {
compatible = "ibm,fsi2spi";
reg = <0x1c00 0x400>;
#address-cells = <1>;
#size-cells = <0>;
cfam1_spi0: spi@0 {
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
at25,byte-len = <0x80000>;
at25,addr-mode = <4>;
at25,page-size = <256>;
compatible = "atmel,at25";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
cfam1_spi1: spi@20 {
reg = <0x20>;
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
at25,byte-len = <0x80000>;
at25,addr-mode = <4>;
at25,page-size = <256>;
compatible = "atmel,at25";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
cfam1_spi2: spi@40 {
reg = <0x40>;
compatible = "ibm,fsi2spi-restricted";
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
at25,byte-len = <0x80000>;
at25,addr-mode = <4>;
at25,page-size = <256>;
compatible = "atmel,at25";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
cfam1_spi3: spi@60 {
reg = <0x60>;
compatible = "ibm,fsi2spi-restricted";
#address-cells = <1>;
#size-cells = <0>;
eeprom@0 {
at25,byte-len = <0x80000>;
at25,addr-mode = <4>;
at25,page-size = <256>;
compatible = "atmel,at25";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
};
sbefifo@2400 {
compatible = "ibm,p9-sbefifo";
reg = <0x2400 0x400>;
#address-cells = <1>;
#size-cells = <0>;
fsi_occ1: occ {
compatible = "ibm,p10-occ";
occ-hwmon {
compatible = "ibm,p10-occ-hwmon";
ibm,no-poll-on-init;
};
};
};
fsi_hub1: hub@3400 {
compatible = "fsi-master-hub";
reg = <0x3400 0x400>;
#address-cells = <2>;
#size-cells = <0>;
no-scan-on-init;
};
};
};
&ibt {
status = "okay";
};
......@@ -913,3 +579,33 @@ &kcs3 {
aspeed,lpc-io-reg = <0xca2>;
aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
};
#include "ibm-power10-dual.dtsi"
&cfam0_i2c10 {
eeprom@50 {
compatible = "atmel,at30tse004a";
reg = <0x50>;
};
};
&cfam0_i2c11 {
eeprom@50 {
compatible = "atmel,at30tse004a";
reg = <0x50>;
};
};
&cfam0_i2c12 {
eeprom@50 {
compatible = "atmel,at30tse004a";
reg = <0x50>;
};
};
&cfam0_i2c13 {
eeprom@50 {
compatible = "atmel,at30tse004a";
reg = <0x50>;
};
};
// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright 2023 Inventec Corp.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include "aspeed-g6-pinctrl.dtsi"
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/aspeed-gpio.h>
/ {
model = "STARSCREAM BMC";
compatible = "inventec,starscream-bmc", "aspeed,ast2600";
aliases {
serial4 = &uart5;
};
chosen {
stdout-path = &uart5;
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x80000000>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
video_engine_memory: video {
size = <0x04000000>;
alignment = <0x01000000>;
compatible = "shared-dma-pool";
reusable;
};
};
leds {
compatible = "gpio-leds";
led-uid {
label = "UID_LED";
gpios = <&gpio0 186 GPIO_ACTIVE_LOW>;
};
led-heartbeat {
label = "HB_LED";
gpios = <&gpio0 127 GPIO_ACTIVE_LOW>;
};
};
};
&mdio0 {
status = "okay";
ethphy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
};
&mac2 {
status = "okay";
pinctrl-names = "default";
phy-mode = "rmii";
pinctrl-0 = <&pinctrl_rmii3_default>;
use-ncsi;
};
&mac3 {
status = "okay";
phy-mode = "rgmii";
phy-handle = <&ethphy0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii4_default>;
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
#include "openbmc-flash-layout.dtsi"
};
flash@1 {
status = "okay";
m25p,fast-read;
label = "bmc2";
spi-max-frequency = <50000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
};
};
&spi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1_default>;
flash@0 {
status = "okay";
m25p,fast-read;
label = "bios";
spi-max-frequency = <50000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
};
};
&vuart1 {
status = "okay";
};
&uart1 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart5 {
status = "okay";
};
&kcs3 {
aspeed,lpc-io-reg = <0xca2>;
status = "okay";
};
&uart_routing {
status = "okay";
};
&i2c0 {
status = "okay";
};
&i2c1 {
status = "okay";
};
&i2c2 {
status = "okay";
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
// I2C EXPANDER
i2c-mux@71 {
compatible = "nxp,pca9546";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x71>;
i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
// AMD SB-TSI CPU1
sbtsi@4c {
compatible = "amd,sbtsi";
reg = <0x4c>;
};
};
i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
// AMD SB-TSI CPU2
sbtsi@48 {
compatible = "amd,sbtsi";
reg = <0x48>;
};
};
};
};
&i2c5 {
status = "okay";
// I2C EXPANDER U153
i2c-mux@70 {
compatible = "nxp,pca9546";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
usb_hub: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
riser1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
riser2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
};
&i2c6 {
status = "okay";
// Motherboard Temp_U89
temperature-sensor@4e {
compatible = "ti,tmp421";
reg = <0x4e>;
};
// RunBMC Temp_U6
temperature-sensor@49 {
compatible = "ti,tmp75";
reg = <0x49>;
};
};
&i2c7 {
status = "okay";
// I2C EXPANDER U40
i2c-mux@70 {
compatible = "nxp,pca9545";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
};
&i2c8 {
status = "okay";
// FRU RunBMC
eeprom@51 {
compatible = "atmel,24c512";
reg = <0x51>;
pagesize = <128>;
};
};
&i2c9 {
status = "okay";
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
};
&i2c12 {
status = "okay";
// FRU SCM
eeprom@51 {
compatible = "atmel,24c512";
reg = <0x51>;
pagesize = <128>;
};
// SCM Temp_U17
temperature-sensor@4f {
compatible = "ti,tmp75";
reg = <0x4f>;
};
};
&gpio0 {
status = "okay";
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "alert-psu0-smb-r-n","bmc-ready","","assert-cpu0-prochot-r-n",
"","","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "","","","","","","","",
/*E0-E7*/ "","","","","","","","",
/*F0-F7*/ "","","","","reset-sgpio-r-n","","","",
/*G0-G7*/ "","","scm-jtag-mux-select","","","","","",
/*H0-H7*/ "","","","","reset-out","power-out","","",
/*I0-I7*/ "","","","","","","irq-bmc-cpu0-buf-nmi-n","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "","","ncsi-ocp-clk-en-n","","","","","",
/*O0-O7*/ "","","","","","","cpu1-thermal-trip-n","",
/*P0-P7*/ "","","","","","","","",
/*Q0-Q7*/ "cpu0-prochot-n","","cpu1-prochot-n","","cpu0-pe-rst0","","","",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "","","","",
"","PCH_SLP_S4_BMC_N","cpu0-thermtrip-n","alert-psu1-smb-r-n",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "bios-recovery-buf-n","","assert-cpu1-prochot-r-n","",
"power-chassis-good","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","platform-type","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","cpld-power-break-n","","","","","","",
/*AA0-AA7*/ "","","","","","","","",
/*AB0-AB7*/ "","","","","","","","",
/*AC0-AC7*/ "","","","","","","","";
};
&sgpiom0 {
status = "okay";
ngpios = <64>;
bus-frequency = <1000000>;
};
&lpc_snoop {
status = "okay";
snoop-ports = <0x80>;
};
&emmc_controller {
status = "okay";
};
&emmc {
status = "okay";
non-removable;
max-frequency = <52000000>;
bus-width = <8>;
};
&video {
status = "okay";
memory-region = <&video_engine_memory>;
};
&vhub {
status = "okay";
aspeed,vhub-downstream-ports = <7>;
aspeed,vhub-generic-endpoints = <21>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb2ad_default>;
};
&rtc {
status = "okay";
};
......@@ -297,6 +297,16 @@ pinctrl_i2c9_default: i2c9_default {
groups = "I2C9";
};
pinctrl_i3c1_default: i3c1_default {
function = "I3C1";
groups = "I3C1";
};
pinctrl_i3c2_default: i3c2_default {
function = "I3C2";
groups = "I3C2";
};
pinctrl_i3c3_default: i3c3_default {
function = "I3C3";
groups = "I3C3";
......
......@@ -729,6 +729,16 @@ vuart1: serial@1e787000 {
status = "disabled";
};
vuart3: serial@1e787800 {
compatible = "aspeed,ast2500-vuart";
reg = <0x1e787800 0x40>;
reg-shift = <2>;
interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&syscon ASPEED_CLK_APB2>;
no-loopback-test;
status = "disabled";
};
vuart2: serial@1e788000 {
compatible = "aspeed,ast2500-vuart";
reg = <0x1e788000 0x40>;
......@@ -739,6 +749,16 @@ vuart2: serial@1e788000 {
status = "disabled";
};
vuart4: serial@1e788800 {
compatible = "aspeed,ast2500-vuart";
reg = <0x1e788800 0x40>;
reg-shift = <2>;
interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&syscon ASPEED_CLK_APB2>;
no-loopback-test;
status = "disabled";
};
uart2: serial@1e78d000 {
compatible = "ns16550a";
reg = <0x1e78d000 0x20>;
......
......@@ -4,6 +4,10 @@
#include "aspeed-g5.dtsi"
/ {
aliases {
spi0 = &fmc;
};
memory@80000000 {
reg = <0x80000000 0x40000000>;
};
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment