qemu/include/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
..
allwinner-i2c.h hw: allwinner-i2c: Fix TWI_CNTR_INT_FLAG on SUN6i SoCs 2023-03-06 14:08:12 +00:00
arm_sbcon_i2c.h hw/i2c/versatile_i2c: Replace TYPE_VERSATILE_I2C -> TYPE_ARM_SBCON_I2C 2023-01-23 13:32:38 +00:00
aspeed_i2c.h hw/i2c/aspeed: Support discontinuous register memory region of I2C bus 2024-09-16 17:44:07 +02:00
bcm2835_i2c.h hw/i2c: Implement Broadcom Serial Controller (BSC) 2024-03-05 13:22:55 +00:00
bitbang_i2c.h hw/i2c/bitbang_i2c: Define TYPE_GPIO_I2C in public header 2023-01-23 13:32:38 +00:00
i2c.h hw/i2c: only schedule pending master when bus is idle 2023-03-02 13:57:50 +01:00
i2c_mux_pca954x.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
imx_i2c.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
microbit_i2c.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
npcm7xx_smbus.h hw/i2c: spelling fixes 2023-08-31 19:47:43 +02:00
pm_smbus.h Include exec/memory.h slightly less 2019-08-16 13:31:52 +02:00
pmbus_device.h hw/i2c: pmbus: add VCAP register 2023-11-07 13:08:49 +01:00
pnv_i2c_regs.h ppc/pnv: Test pnv i2c master and connected devices 2024-02-23 23:24:42 +10:00
ppc4xx_i2c.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
smbus_eeprom.h smbus: Fix spd_data_generate() error API violation 2020-04-29 08:01:52 +02:00
smbus_master.h i2c: Split smbus into parts 2019-02-27 21:06:08 -06:00
smbus_slave.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00