xemu/hw/i2c
Jamin Lin 94500e83ea hw/i2c/aspeed: Support discontinuous register memory region of I2C bus
It only support continuous register memory region for all I2C bus.
However, the register address of all I2c bus are discontinuous
for AST2700.

Ex: the register address of I2C bus for ast2700 as following.
0x100 - 0x17F: Device 0
0x200 - 0x27F: Device 1
0x300 - 0x37F: Device 2
0x400 - 0x47F: Device 3
0x500 - 0x57F: Device 4
0x600 - 0x67F: Device 5
0x700 - 0x77F: Device 6
0x800 - 0x87F: Device 7
0x900 - 0x97F: Device 8
0xA00 - 0xA7F: Device 9
0xB00 - 0xB7F: Device 10
0xC00 - 0xC7F: Device 11
0xD00 - 0xD7F: Device 12
0xE00 - 0xE7F: Device 13
0xF00 – 0xF7F: Device 14
0x1000 – 0x107F: Device 15

Introduce a new class attribute to make user set each I2C bus gap size.
Update formula to create all I2C bus register memory regions.

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
2024-09-16 17:44:07 +02:00
..
Kconfig hw/i2c: Implement Broadcom Serial Controller (BSC) 2024-03-05 13:22:55 +00:00
allwinner-i2c.c hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
arm_sbcon_i2c.c hw/i2c/versatile_i2c: Rename versatile_i2c -> arm_sbcon_i2c 2023-01-23 13:32:38 +00:00
aspeed_i2c.c hw/i2c/aspeed: Support discontinuous register memory region of I2C bus 2024-09-16 17:44:07 +02:00
bcm2835_i2c.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
bitbang_i2c.c hw/i2c: Fix bitbang_i2c_data trace event 2023-08-07 13:52:59 +03:00
core.c hw/i2c: Constify VMState 2023-12-29 11:17:30 +11:00
exynos4210_i2c.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
i2c_mux_pca954x.c hw/i2c: Enable an id for the pca954x devices 2023-06-13 11:28:58 +02:00
imx_i2c.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
meson.build hw/i2c: Implement Broadcom Serial Controller (BSC) 2024-03-05 13:22:55 +00:00
microbit_i2c.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
mpc_i2c.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
npcm7xx_smbus.c hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
omap_i2c.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
pm_smbus.c hw/i2c: Constify VMState 2023-12-29 11:17:30 +11:00
pmbus_device.c hw/i2c: Constify VMState 2023-12-29 11:17:30 +11:00
ppc4xx_i2c.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
smbus_eeprom.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
smbus_ich9.c hw/i2c: Constify VMState 2023-12-29 11:17:30 +11:00
smbus_master.c hw/i2c: Introduce i2c_start_recv() and i2c_start_send() 2021-07-08 14:15:01 -05:00
smbus_slave.c hw/i2c/smbus_slave: Add object path on error prints 2024-02-22 12:47:40 +01:00
trace-events hw/i2c/pm_smbus: Convert DPRINTF to trace events 2023-11-02 13:36:45 +00:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00