[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 6/7] hw/arm: quanta-gbs-bmc add i2c devices
From: |
Hao Wu |
Subject: |
[PATCH 6/7] hw/arm: quanta-gbs-bmc add i2c devices |
Date: |
Fri, 13 Aug 2021 16:33:52 -0700 |
From: Patrick Venture <venture@google.com>
Adds supported i2c devices to the quanta-gbc-bmc board.
Signed-off-by: Patrick Venture <venture@google.com>
Reviewed-by: Hao Wu <wuhaotsh@google.com>
---
hw/arm/npcm7xx_boards.c | 79 +++++++++++++++++++++++------------------
1 file changed, 45 insertions(+), 34 deletions(-)
diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c
index e5a3243995..54cf9785ec 100644
--- a/hw/arm/npcm7xx_boards.c
+++ b/hw/arm/npcm7xx_boards.c
@@ -21,6 +21,7 @@
#include "hw/i2c/i2c_mux_pca954x.h"
#include "hw/i2c/smbus_eeprom.h"
#include "hw/loader.h"
+#include "hw/nvram/eeprom_at24c.h"
#include "hw/qdev-core.h"
#include "hw/qdev-properties.h"
#include "qapi/error.h"
@@ -252,11 +253,12 @@ static void quanta_gsj_fan_init(NPCM7xxMachine *machine,
NPCM7xxState *soc)
static void quanta_gbs_i2c_init(NPCM7xxState *soc)
{
- /*
- * i2c-0:
- * pca9546@71
- *
- * i2c-1:
+ I2CSlave *i2c_mux;
+
+ /* i2c-0: */
+ i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 0), TYPE_PCA9546, 0x71);
+
+ /* i2c-1:
* pca9535@24
* pca9535@20
* pca9535@21
@@ -264,47 +266,56 @@ static void quanta_gbs_i2c_init(NPCM7xxState *soc)
* pca9535@23
* pca9535@25
* pca9535@26
- *
- * i2c-2:
- * sbtsi@4c
- *
- * i2c-5:
- * atmel,24c64@50 mb_fru
- * pca9546@71
- * - channel 0: max31725@54
- * - channel 1: max31725@55
- * - channel 2: max31725@5d
- * atmel,24c64@51 fan_fru
- * - channel 3: atmel,24c64@52 hsbp_fru
- *
- * i2c-6:
+ */
+
+ /* i2c-2: sbtsi@4c */
+
+ /* i2c-5: */
+ /* mb_fru */
+ at24c_eeprom_init_one(npcm7xx_i2c_get_bus(soc, 5), 5, 0x50, 8192, 0);
+ i2c_mux = i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 5),
+ TYPE_PCA9546, 0x71);
+ /* max31725 is tmp105 compatible. */
+ i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 0), "tmp105", 0x54);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 1), "tmp105", 0x55);
+ i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 2), "tmp105", 0x5d);
+ /* fan_fru */
+ at24c_eeprom_init_one(pca954x_i2c_get_bus(i2c_mux, 2), 5, 0x51, 8192, 1);
+ /* hsbp_fru */
+ at24c_eeprom_init_one(pca954x_i2c_get_bus(i2c_mux, 3), 5, 0x52, 8192, 2);
+
+ /* i2c-6:
* pca9545@73
*
* i2c-7:
* pca9545@72
- *
- * i2c-8:
- * adi,adm1272@10
- *
- * i2c-9:
- * pca9546@71
- * - channel 0: isil,isl68137@60
+ */
+
+ /* i2c-8: */
+ i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 8), "adm1272", 0x10);
+
+ /* i2c-9: */
+ i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 9), TYPE_PCA9546, 0x71);
+ /* - channel 0: isil,isl68137@60
* - channel 1: isil,isl68137@61
* - channel 2: isil,isl68137@63
* - channel 3: isil,isl68137@45
- *
- * i2c-10:
+ */
+
+ /* i2c-10:
* pca9545@71
*
* i2c-11:
* pca9545@76
- *
- * i2c-12:
- * maxim,max34451@4e
- * isil,isl68137@5d
+ */
+
+ /* i2c-12: */
+ i2c_slave_create_simple(npcm7xx_i2c_get_bus(soc, 12), "max34451", 0x4e);
+ /* isil,isl68137@5d
* isil,isl68137@5e
- *
- * i2c-14:
+ */
+
+ /* i2c-14:
* pca9545@70
*/
}
--
2.33.0.rc1.237.g0d66db33f3-goog
- [PATCH 0/7] Misc NPCM7XX patches, Hao Wu, 2021/08/13
- [PATCH 1/7] hw/i2c: Clear ACK bit in NPCM7xx SMBus module, Hao Wu, 2021/08/13
- [PATCH 2/7] hw/i2c: Read FIFO during RXF_CTL change in NPCM7XX SMBus, Hao Wu, 2021/08/13
- [PATCH 3/7] hw/adc: Fix CONV bit in NPCM7XX ADC CON register, Hao Wu, 2021/08/13
- [PATCH 5/7] hw/nvram: Add a new auxiliary function to init at24c eeprom, Hao Wu, 2021/08/13
- [PATCH 6/7] hw/arm: quanta-gbs-bmc add i2c devices,
Hao Wu <=
- [PATCH 4/7] hw/adc: Make adci[*] R/W in NPCM7XX ADC, Hao Wu, 2021/08/13
- [PATCH 7/7] hw/arm: Use unit number in quanta-gsj eeprom files, Hao Wu, 2021/08/13
- Re: [PATCH 0/7] Misc NPCM7XX patches, Peter Maydell, 2021/08/19