qemu-patch-raspberry4/include/hw/i2c
Cédric Le Goater 6054fc73e8 aspeed/i2c: Add support for pool buffer transfers
The Aspeed I2C controller can operate in different transfer modes :

  - Byte Buffer mode, using a dedicated register to transfer a
    byte. This is what the model supports today.

  - Pool Buffer mode, using an internal SRAM to transfer multiple
    bytes in the same command sequence.

Each SoC has different SRAM characteristics. On the AST2400, 2048
bytes of SRAM are available at offset 0x800 of the controller AHB
window. The pool buffer can be configured from 1 to 256 bytes per bus.

On the AST2500, the SRAM is at offset 0x200 and the pool buffer is of
16 bytes per bus.

On the AST2600, the SRAM is at offset 0xC00 and the pool buffer is of
32 bytes per bus. It can be splitted in two for TX and RX but the
current model does not add support for it as it it unused by known
drivers.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Tested-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-id: 20191119141211.25716-2-clg@kaod.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-16 10:46:34 +00:00
..
aspeed_i2c.h aspeed/i2c: Add support for pool buffer transfers 2019-12-16 10:46:34 +00:00
bitbang_i2c.h hw/i2c/bitbang_i2c: Use in-place rather than malloc'd bitbang_i2c_interface struct 2019-07-03 10:51:35 +02:00
i2c.h Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
imx_i2c.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
microbit_i2c.h arm: Stub out NRF51 TWI magnetometer/accelerometer detection 2019-01-29 11:46:03 +00:00
pm_smbus.h Include exec/memory.h slightly less 2019-08-16 13:31:52 +02:00
ppc4xx_i2c.h hw/i2c/bitbang_i2c: Use in-place rather than malloc'd bitbang_i2c_interface struct 2019-07-03 10:51:35 +02:00
smbus_eeprom.h Include exec/memory.h slightly less 2019-08-16 13:31:52 +02:00
smbus_master.h i2c: Split smbus into parts 2019-02-27 21:06:08 -06:00
smbus_slave.h i2c:smbus_slave: Add an SMBus vmstate structure 2019-02-27 21:06:08 -06:00