[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 9/9] hw/arm/aspeed: firework: add I2C MUXes for VR channels
From: |
Jae Hyun Yoo |
Subject: |
[PATCH 9/9] hw/arm/aspeed: firework: add I2C MUXes for VR channels |
Date: |
Wed, 22 Jun 2022 10:28:30 -0700 |
Add 2-level cascaded I2C MUXes for SOC VR channels into the Firework
machine.
Signed-off-by: Jae Hyun Yoo <quic_jaehyoo@quicinc.com>
---
hw/arm/aspeed.c | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)
diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index 526f3b651a9f..866a60cf7b4e 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -1038,7 +1038,7 @@ static void qcom_firework_fru_init(I2CBus *bus, uint8_t
addr, uint32_t rsize)
static void qcom_dc_scm_firework_i2c_init(AspeedMachineState *bmc)
{
AspeedSoCState *soc = &bmc->soc;
- I2CSlave *mux;
+ I2CSlave *therm_mux, *cpuvr_mux;
/* Create the generic DC-SCM hardware */
qcom_dc_scm_bmc_i2c_init(bmc);
@@ -1048,16 +1048,24 @@ static void
qcom_dc_scm_firework_i2c_init(AspeedMachineState *bmc)
/* I2C4 */
qcom_firework_fru_init(aspeed_i2c_get_bus(&soc->i2c, 4), 0x50, 128 * 1024);
- /* I2C - 8 Thermal Diodes*/
- mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), "pca9548",
- 0x70);
- i2c_slave_create_simple(pca954x_i2c_get_bus(mux, 0), TYPE_LM75, 0x4C);
- i2c_slave_create_simple(pca954x_i2c_get_bus(mux, 1), TYPE_LM75, 0x4C);
- i2c_slave_create_simple(pca954x_i2c_get_bus(mux, 2), TYPE_TMP75, 0x48);
- i2c_slave_create_simple(pca954x_i2c_get_bus(mux, 3), TYPE_TMP75, 0x48);
- i2c_slave_create_simple(pca954x_i2c_get_bus(mux, 4), TYPE_TMP75, 0x48);
-
- /* I2C-9 Fan Controller (MAX31785) */
+ /* I2C7 CPUVR MUX */
+ cpuvr_mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 7),
+ "pca9546", 0x70);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 0), "pca9548",
0x72);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 1), "pca9548",
0x72);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 2), "pca9548",
0x72);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(cpuvr_mux, 3), "pca9548",
0x72);
+
+ /* I2C8 Thermal Diodes*/
+ therm_mux = i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8),
+ "pca9548", 0x70);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 0), TYPE_LM75,
0x4C);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 1), TYPE_LM75,
0x4C);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 2), TYPE_LM75,
0x48);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 3), TYPE_LM75,
0x48);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(therm_mux, 4), TYPE_LM75,
0x48);
+
+ /* I2C9 Fan Controller (MAX31785) */
i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "max31785",
0x52);
i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 9), "max31785",
0x54);
}
--
2.25.1
- Re: [PATCH 4/9] hw/arm/aspeed: add Qualcomm Firework machine and FRU device, (continued)
[PATCH 2/9] hw/arm/aspeed: add support for the Qualcomm DC-SCM v1 board, Jae Hyun Yoo, 2022/06/22
[PATCH 7/9] hw/arm/aspeed: firework: Add MAX31785 Fan controllers, Jae Hyun Yoo, 2022/06/22
[PATCH 5/9] hw/i2c: pmbus: Page #255 is valid page for read requests., Jae Hyun Yoo, 2022/06/22
[PATCH 1/9] hw/arm/aspeed: add support for the Qualcomm EVB proto board, Jae Hyun Yoo, 2022/06/22
[PATCH 8/9] hw/arm/aspeed: firework: Add Thermal Diodes, Jae Hyun Yoo, 2022/06/22
[PATCH 9/9] hw/arm/aspeed: firework: add I2C MUXes for VR channels,
Jae Hyun Yoo <=
[PATCH 6/9] hw/sensor: add Maxim MAX31785 device, Jae Hyun Yoo, 2022/06/22
[PATCH 3/9] hw/arm/aspeed: qcom-dc-scm-v1: add block backed FRU device, Jae Hyun Yoo, 2022/06/22