Commit 49ec283f15 for qemu.org
commit 49ec283f15868eae0094f94844db9c5a171c7592
Author: Emmanuel Blot <emmanuel.blot@free.fr>
Date: Thu Jul 9 17:23:16 2026 +0200
hw/arm: catalina: model PCA9555 IO expanders with their own type
The Catalina BMC device tree describes several IO expanders as nxp,pca9555.
These were previously instantiated as PCA9552 devices as no PCA9555 model
existed. Now that a dedicated PCA9555 device is available, use it so the
emulated IO expanders match the hardware.
Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20260709-catalina-upgrade-v1-24-82a63fead90c@free.fr
Signed-off-by: Cédric Le Goater <clg@redhat.com>
diff --git a/hw/arm/aspeed_ast2600_catalina.c b/hw/arm/aspeed_ast2600_catalina.c
index 65495a524e..f3b22e9aa9 100644
--- a/hw/arm/aspeed_ast2600_catalina.c
+++ b/hw/arm/aspeed_ast2600_catalina.c
@@ -533,7 +533,7 @@ static void catalina_bmc_i2c_init(AspeedMachineState *bmc)
TYPE_PCA9554, 0x27);
/* io_expander6 - pca9555@25 */
i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 6),
- TYPE_PCA9552, 0x25);
+ TYPE_PCA9555, 0x25);
/* eeprom@51 */
at24c_eeprom_init_rom(pca954x_i2c_get_bus(i2c_mux, 6), 0x51, 8 * KiB,
osfp_eeprom, osfp_eeprom_len);
@@ -547,11 +547,11 @@ static void catalina_bmc_i2c_init(AspeedMachineState *bmc)
/* &i2c2 */
/* io_expander0 - pca9555@20 */
- i2c_slave_create_simple(i2c[2], TYPE_PCA9552, 0x20);
+ i2c_slave_create_simple(i2c[2], TYPE_PCA9555, 0x20);
/* io_expander0 - pca9555@21 */
- i2c_slave_create_simple(i2c[2], TYPE_PCA9552, 0x21);
+ i2c_slave_create_simple(i2c[2], TYPE_PCA9555, 0x21);
/* io_expander0 - pca9555@27 */
- i2c_slave_create_simple(i2c[2], TYPE_PCA9552, 0x27);
+ i2c_slave_create_simple(i2c[2], TYPE_PCA9555, 0x27);
/* eeprom@50 */
at24c_eeprom_init(i2c[2], 0x50, 8 * KiB);
/* eeprom@51 */
@@ -572,13 +572,13 @@ static void catalina_bmc_i2c_init(AspeedMachineState *bmc)
/* &i2c6 */
/* io_expander3 - pca9555@21 */
- i2c_slave_create_simple(i2c[6], TYPE_PCA9552, 0x21);
+ i2c_slave_create_simple(i2c[6], TYPE_PCA9555, 0x21);
/* rtc@6f - nct3018y */
i2c_slave_create_simple(i2c[6], TYPE_DS1338, 0x6f);
/* &i2c9 */
/* io_expander4 - pca9555@4f */
- i2c_slave_create_simple(i2c[9], TYPE_PCA9552, 0x4f);
+ i2c_slave_create_simple(i2c[9], TYPE_PCA9555, 0x4f);
/* temperature-sensor@4b - tpm75 */
i2c_slave_create_simple(i2c[9], TYPE_TMP75, 0x4b);
/* eeprom@50 */
@@ -615,17 +615,17 @@ static void catalina_bmc_i2c_init(AspeedMachineState *bmc)
/* &i2c14 */
/* io_expander9 - pca9555@10 */
- i2c_slave_create_simple(i2c[14], TYPE_PCA9552, 0x10);
+ i2c_slave_create_simple(i2c[14], TYPE_PCA9555, 0x10);
/* io_expander10 - pca9555@11 */
- i2c_slave_create_simple(i2c[14], TYPE_PCA9552, 0x11);
+ i2c_slave_create_simple(i2c[14], TYPE_PCA9555, 0x11);
/* io_expander11 - pca9555@12 */
- i2c_slave_create_simple(i2c[14], TYPE_PCA9552, 0x12);
+ i2c_slave_create_simple(i2c[14], TYPE_PCA9555, 0x12);
/* io_expander12 - pca9555@13 */
- i2c_slave_create_simple(i2c[14], TYPE_PCA9552, 0x13);
+ i2c_slave_create_simple(i2c[14], TYPE_PCA9555, 0x13);
/* io_expander13 - pca9555@14 */
- i2c_slave_create_simple(i2c[14], TYPE_PCA9552, 0x14);
+ i2c_slave_create_simple(i2c[14], TYPE_PCA9555, 0x14);
/* io_expander14 - pca9555@15 */
- i2c_slave_create_simple(i2c[14], TYPE_PCA9552, 0x15);
+ i2c_slave_create_simple(i2c[14], TYPE_PCA9555, 0x15);
/* &i2c15 */
/* temperature-sensor@1f - tmp421 */