[PATCH linux dev-6.1 v2 1/2] ARM: dts: aspeed: yosemite4: Add i2c-mux/eeprom/pmbus devices and fan controller config
Delphine CC Chiu
Delphine_CC_Chiu at wiwynn.com
Mon Sep 11 11:44:35 AEST 2023
Revise Yosemite 4 devicetree for i2c-mux and eeprom,
also add pmbus snesors config.
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu at wiwynn.com>
---
Changelog:
v2 - Add devicetree config for ina233 and max31790
v1 - Add imux configs for i2c-mux
- Add gpio and eeprom devices
- Add spi-gpio config for tpmdev
- Remove temperature-sensor 11-004a and 11-004b
- Change power-sensor ina230 to ina233
- Revise adc128d818 config for adc mode
- Add vendor prefix for max31790 and remove redundant config
---
.../dts/aspeed-bmc-facebook-yosemite4.dts | 560 ++++++++++++++++--
1 file changed, 522 insertions(+), 38 deletions(-)
diff --git a/arch/arm/boot/dts/aspeed-bmc-facebook-yosemite4.dts b/arch/arm/boot/dts/aspeed-bmc-facebook-yosemite4.dts
index 1ef3ff849ec1..6c0f4c4c8be0 100644
--- a/arch/arm/boot/dts/aspeed-bmc-facebook-yosemite4.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-facebook-yosemite4.dts
@@ -17,6 +17,25 @@ aliases {
serial6 = &uart7;
serial7 = &uart8;
serial8 = &uart9;
+
+ i2c16 = &imux16;
+ i2c17 = &imux17;
+ i2c18 = &imux18;
+ i2c19 = &imux19;
+ i2c20 = &imux20;
+ i2c21 = &imux21;
+ i2c22 = &imux22;
+ i2c23 = &imux23;
+ i2c24 = &imux24;
+ i2c25 = &imux25;
+ i2c26 = &imux26;
+ i2c27 = &imux27;
+ i2c28 = &imux28;
+ i2c29 = &imux29;
+ i2c30 = &imux30;
+ i2c31 = &imux31;
+ i2c32 = &imux32;
+ i2c33 = &imux33;
};
chosen {
@@ -34,6 +53,25 @@ iio-hwmon {
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 0>, <&adc1 1>;
};
+
+ spi_gpio: spi-gpio {
+ status = "okay";
+ compatible = "spi-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio-sck = <&gpio0 ASPEED_GPIO(X, 3) GPIO_ACTIVE_HIGH>;
+ gpio-mosi = <&gpio0 ASPEED_GPIO(X, 4) GPIO_ACTIVE_HIGH>;
+ gpio-miso = <&gpio0 ASPEED_GPIO(X, 5) GPIO_ACTIVE_HIGH>;
+ num-chipselects = <1>;
+ cs-gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>;
+
+ tpmdev at 0 {
+ compatible = "tcg,tpm_tis-spi";
+ spi-max-frequency = <33000000>;
+ reg = <0>;
+ };
+ };
};
&uart1 {
@@ -262,6 +300,186 @@ i2c-mux at 70 {
idle-state = <0>;
i2c-mux-idle-disconnect;
reg = <0x70>;
+
+ imux16: i2c at 0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
+
+ gpio at 49 {
+ compatible = "nxp,pca9537";
+ reg = <0x49>;
+ };
+
+ eeprom at 50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+
+ eeprom at 51 {
+ compatible = "atmel,24c128";
+ reg = <0x51>;
+ };
+
+ eeprom at 54 {
+ compatible = "atmel,24c128";
+ reg = <0x54>;
+ };
+ };
+
+ imux17: i2c at 1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
+
+ gpio at 49 {
+ compatible = "nxp,pca9537";
+ reg = <0x49>;
+ };
+
+ eeprom at 50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+
+ eeprom at 51 {
+ compatible = "atmel,24c128";
+ reg = <0x51>;
+ };
+
+ eeprom at 54 {
+ compatible = "atmel,24c128";
+ reg = <0x54>;
+ };
+ };
+
+ imux18: i2c at 2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
+
+ gpio at 49 {
+ compatible = "nxp,pca9537";
+ reg = <0x49>;
+ };
+
+ eeprom at 50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+
+ eeprom at 51 {
+ compatible = "atmel,24c128";
+ reg = <0x51>;
+ };
+
+ eeprom at 54 {
+ compatible = "atmel,24c128";
+ reg = <0x54>;
+ };
+ };
+
+ imux19: i2c at 3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <3>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
+
+ gpio at 49 {
+ compatible = "nxp,pca9537";
+ reg = <0x49>;
+ };
+
+ eeprom at 50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+
+ eeprom at 51 {
+ compatible = "atmel,24c128";
+ reg = <0x51>;
+ };
+
+ eeprom at 54 {
+ compatible = "atmel,24c128";
+ reg = <0x54>;
+ };
+ };
};
};
@@ -273,12 +491,234 @@ i2c-mux at 71 {
idle-state = <0>;
i2c-mux-idle-disconnect;
reg = <0x71>;
+
+ imux20: i2c at 0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
+
+ gpio at 49 {
+ compatible = "nxp,pca9537";
+ reg = <0x49>;
+ };
+
+ eeprom at 50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+
+ eeprom at 51 {
+ compatible = "atmel,24c128";
+ reg = <0x51>;
+ };
+
+ eeprom at 54 {
+ compatible = "atmel,24c128";
+ reg = <0x54>;
+ };
+ };
+
+ imux21: i2c at 1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
+
+ gpio at 49 {
+ compatible = "nxp,pca9537";
+ reg = <0x49>;
+ };
+
+ eeprom at 50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+
+ eeprom at 51 {
+ compatible = "atmel,24c128";
+ reg = <0x51>;
+ };
+
+ eeprom at 54 {
+ compatible = "atmel,24c128";
+ reg = <0x54>;
+ };
+ };
+
+ imux22: i2c at 2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
+
+ gpio at 49 {
+ compatible = "nxp,pca9537";
+ reg = <0x49>;
+ };
+
+ eeprom at 50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+
+ eeprom at 51 {
+ compatible = "atmel,24c128";
+ reg = <0x51>;
+ };
+
+ eeprom at 54 {
+ compatible = "atmel,24c128";
+ reg = <0x54>;
+ };
+ };
+
+ imux23: i2c at 3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <3>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
+
+ gpio at 49 {
+ compatible = "nxp,pca9537";
+ reg = <0x49>;
+ };
+
+ eeprom at 50 {
+ compatible = "atmel,24c128";
+ reg = <0x50>;
+ };
+
+ eeprom at 51 {
+ compatible = "atmel,24c128";
+ reg = <0x51>;
+ };
+
+ eeprom at 54 {
+ compatible = "atmel,24c128";
+ reg = <0x54>;
+ };
+ };
};
};
&i2c10 {
status = "okay";
bus-frequency = <400000>;
+ i2c-mux at 74 {
+ compatible = "nxp,pca9544";
+ idle-state = <0>;
+ i2c-mux-idle-disconnect;
+ reg = <0x74>;
+
+ imux28: i2c at 0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ };
+
+ imux29: i2c at 1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
+
+ gpio at 24 {
+ compatible = "nxp,pca9506";
+ reg = <0x24>;
+ };
+ };
+ };
};
&i2c11 {
@@ -331,16 +771,6 @@ temperature-sensor at 49 {
reg = <0x49>;
};
- temperature-sensor at 4a {
- compatible = "ti,tmp75";
- reg = <0x4a>;
- };
-
- temperature-sensor at 4b {
- compatible = "ti,tmp75";
- reg = <0x4b>;
- };
-
eeprom at 54 {
compatible = "atmel,24c256";
reg = <0x54>;
@@ -361,6 +791,11 @@ eeprom at 50 {
reg = <0x50>;
};
+ eeprom at 54 {
+ compatible = "atmel,24c64";
+ reg = <0x54>;
+ };
+
rtc at 6f {
compatible = "nuvoton,nct3018y";
reg = <0x6f>;
@@ -370,6 +805,25 @@ rtc at 6f {
&i2c13 {
status = "okay";
bus-frequency = <400000>;
+ gpio at 20 {
+ compatible = "nxp,pca9506";
+ reg = <0x20>;
+ };
+
+ gpio at 21 {
+ compatible = "nxp,pca9506";
+ reg = <0x21>;
+ };
+
+ gpio at 22 {
+ compatible = "nxp,pca9506";
+ reg = <0x22>;
+ };
+
+ gpio at 23 {
+ compatible = "nxp,pca9506";
+ reg = <0x23>;
+ };
};
&i2c14 {
@@ -378,44 +832,54 @@ &i2c14 {
adc at 1d {
compatible = "ti,adc128d818";
reg = <0x1d>;
- ti,mode = /bits/ 8 <2>;
+ ti,mode = /bits/ 8 <1>;
};
adc at 35 {
compatible = "ti,adc128d818";
reg = <0x35>;
- ti,mode = /bits/ 8 <2>;
+ ti,mode = /bits/ 8 <1>;
};
adc at 37 {
compatible = "ti,adc128d818";
reg = <0x37>;
- ti,mode = /bits/ 8 <2>;
+ ti,mode = /bits/ 8 <1>;
};
power-sensor at 40 {
- compatible = "ti,ina230";
+ compatible = "ti,ina233";
reg = <0x40>;
+ resistor-calibration = /bits/ 16 <0x0a00>;
+ current-lsb= /bits/ 16 <0x0001>;
};
power-sensor at 41 {
- compatible = "ti,ina230";
+ compatible = "ti,ina233";
reg = <0x41>;
+ resistor-calibration = /bits/ 16 <0x0a00>;
+ current-lsb= /bits/ 16 <0x0001>;
};
power-sensor at 42 {
- compatible = "ti,ina230";
+ compatible = "ti,ina233";
reg = <0x42>;
+ resistor-calibration = /bits/ 16 <0x0a00>;
+ current-lsb= /bits/ 16 <0x0001>;
};
power-sensor at 43 {
- compatible = "ti,ina230";
+ compatible = "ti,ina233";
reg = <0x43>;
+ resistor-calibration = /bits/ 16 <0x0a00>;
+ current-lsb= /bits/ 16 <0x0001>;
};
power-sensor at 44 {
- compatible = "ti,ina230";
+ compatible = "ti,ina233";
reg = <0x44>;
+ resistor-calibration = /bits/ 16 <0x0a00>;
+ current-lsb= /bits/ 16 <0x0001>;
};
temperature-sensor at 4e {
@@ -442,7 +906,7 @@ i2c-mux at 71 {
i2c-mux-idle-disconnect;
reg = <0x71>;
- i2c at 0 {
+ imux30: i2c at 0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
@@ -450,14 +914,13 @@ i2c at 0 {
adc at 1f {
compatible = "ti,adc128d818";
reg = <0x1f>;
- ti,mode = /bits/ 8 <2>;
+ ti,mode = /bits/ 8 <1>;
};
pwm at 20{
- compatible = "max31790";
+ compatible = "maxim,max31790";
+ pwm-as-tach = /bits/ 8 <4 5>;
reg = <0x20>;
- #address-cells = <1>;
- #size-cells = <0>;
};
gpio at 22{
@@ -466,10 +929,9 @@ gpio at 22{
};
pwm at 23{
- compatible = "max31790";
+ compatible = "maxim,max31790";
+ pwm-as-tach = /bits/ 8 <4 5>;
reg = <0x23>;
- #address-cells = <1>;
- #size-cells = <0>;
};
adc at 33 {
@@ -492,22 +954,21 @@ gpio at 61 {
};
};
- i2c at 1 {
+ imux31: i2c at 1 {
#address-cells = <1>;
#size-cells = <0>;
- reg = <0>;
+ reg = <1>;
adc at 1f {
compatible = "ti,adc128d818";
reg = <0x1f>;
- ti,mode = /bits/ 8 <2>;
+ ti,mode = /bits/ 8 <1>;
};
pwm at 20{
- compatible = "max31790";
+ compatible = "maxim,max31790";
+ pwm-as-tach = /bits/ 8 <4 5>;
reg = <0x20>;
- #address-cells = <1>;
- #size-cells = <0>;
};
gpio at 22{
@@ -516,10 +977,9 @@ gpio at 22{
};
pwm at 23{
- compatible = "max31790";
+ compatible = "maxim,max31790";
+ pwm-as-tach = /bits/ 8 <4 5>;
reg = <0x23>;
- #address-cells = <1>;
- #size-cells = <0>;
};
adc at 33 {
@@ -552,7 +1012,7 @@ i2c-mux at 73 {
i2c-mux-idle-disconnect;
reg = <0x73>;
- i2c at 0 {
+ imux32: i2c at 0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
@@ -563,10 +1023,10 @@ adc at 35 {
};
};
- i2c at 1 {
+ imux33: i2c at 1 {
#address-cells = <1>;
#size-cells = <0>;
- reg = <0>;
+ reg = <1>;
adc at 35 {
compatible = "maxim,max11617";
@@ -592,6 +1052,30 @@ i2c-mux at 72 {
idle-state = <0>;
i2c-mux-idle-disconnect;
reg = <0x72>;
+
+ imux24: i2c at 0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ };
+
+ imux25: i2c at 1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ };
+
+ imux26: i2c at 2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+ };
+
+ imux27: i2c at 3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <3>;
+ };
};
};
--
2.25.1
More information about the openbmc
mailing list