xemu/hw
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
..
9pfs 9pfs: Fix divide by zero bug 2019-11-23 15:51:48 +01:00
acpi hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h 2019-11-05 23:33:12 +01:00
adc Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
alpha hw: Move MC146818 device from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:13:10 +02:00
arm virtio-blk: advertise F_WCE (F_FLUSH) if F_CONFIG_WCE is advertised 2019-12-13 11:22:06 +00:00
audio audio: remove audio_MIN, audio_MAX 2019-08-21 09:13:37 +02:00
block virtio-blk: advertise F_WCE (F_FLUSH) if F_CONFIG_WCE is advertised 2019-12-13 11:22:06 +00:00
bt Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
char virtio: basic packed virtqueue support 2019-10-25 07:46:22 -04:00
core virtio-blk: advertise F_WCE (F_FLUSH) if F_CONFIG_WCE is advertised 2019-12-13 11:22:06 +00:00
cpu hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
cris Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
display display: xlnx_dp: Provide sufficient bytes for silent audio channel 2019-11-21 07:12:28 +01:00
dma hw/dma/xilinx_axidma.c: Switch to transaction-based ptimer API 2019-10-24 17:16:29 +01:00
gpio hw/gpio: Fix property accessors of the AST2600 GPIO 1.8V model 2019-10-24 17:16:27 +01:00
hppa hw: Move MC146818 device from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:13:10 +02:00
hyperv Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
i2c aspeed/i2c: Add support for pool buffer transfers 2019-12-16 10:46:34 +00:00
i386 virtio-blk: advertise F_WCE (F_FLUSH) if F_CONFIG_WCE is advertised 2019-12-13 11:22:06 +00:00
ide bootdevice: Gather LCHS from all relevant devices 2019-10-31 11:47:29 -04:00
input virtio-input: fix memory leak on unrealize 2019-11-25 03:19:36 -05:00
intc exynos4210_gic: Suppress gcc9 format-truncation warnings 2019-12-16 10:46:34 +00:00
ipack Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
ipmi ipmi: Add an SMBus IPMI interface 2019-09-20 14:08:10 -05:00
isa hw/pci-host/piix: Extract PIIX3 functions to hw/isa/piix3.c 2019-11-05 23:33:12 +01:00
lm32 Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
m68k q800: fix I/O memory map 2019-11-05 18:52:29 +01:00
mem memory-device: simplify Makefile.objs conditions 2019-10-22 09:38:42 +02:00
microblaze microblaze: fix leak of fdevice tree blob 2019-10-04 18:49:16 +02:00
mips hw/mips/gt64xxx: Remove dynamic field width from trace events 2019-11-19 14:46:01 +01:00
misc mos6522: update counters when timer interrupts are off 2019-11-26 10:11:50 +11:00
moxie Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
net net/virtio: Fix failover error handling crash bugs 2019-12-02 16:14:38 +01:00
nios2 Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
nubus hw/m68k: add Nubus support 2019-10-28 19:06:47 +01:00
nvram Fix the fw_cfg reboot-timeout=-1 special value, add a test for it. 2019-11-05 20:17:11 +00:00
openrisc Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
pci pci: Use PCI aliases when determining device IOMMU address space 2019-11-05 04:04:21 -05:00
pci-bridge numa: move numa global variable nb_numa_nodes into MachineState 2019-09-03 11:26:55 -03:00
pci-host hw/pci-host/i440fx: Remove the last PIIX3 traces 2019-11-05 23:33:12 +01:00
pcmcia Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
ppc virtio-blk: advertise F_WCE (F_FLUSH) if F_CONFIG_WCE is advertised 2019-12-13 11:22:06 +00:00
rdma hw/rdma: Utilize ibv_reg_mr_iova for memory registration 2019-11-06 12:49:04 +02:00
riscv hw/riscv: Add optional symbol callback ptr to riscv_load_kernel() 2019-11-25 12:34:52 -08:00
rtc * microvm docs and fixes (Sergio, Liam) 2019-11-19 16:31:27 +00:00
s390x virtio-blk: advertise F_WCE (F_FLUSH) if F_CONFIG_WCE is advertised 2019-12-13 11:22:06 +00:00
scsi scsi: deprecate scsi-disk 2019-11-19 10:01:34 +01:00
sd hw/sd/sdhci: Add dummy Samsung SDHCI controller 2019-10-22 17:44:00 +01:00
semihosting Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
sh4 sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
smbios smbios:ipmi: Ignore IPMI devices with no fwinfo function 2019-09-20 14:08:10 -05:00
sparc hw: Move M48T59 device from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:20:45 +02:00
sparc64 hw: Move sun4v hypervisor RTC from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:23:15 +02:00
ssi ssi: xilinx_spips: Skip spi bus update for a few register writes 2019-11-19 13:20:27 +00:00
timer hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers 2019-11-05 23:33:12 +01:00
tpm Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
tricore Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
unicore32 Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
usb usb-host: add option to allow all resets. 2019-11-06 13:26:04 +01:00
vfio vfio/pci: Respond to KVM irqchip change notifier 2019-11-26 10:11:30 +11:00
virtio virtio-fs: fix MSI-X nvectors calculation 2019-12-13 10:53:57 +00:00
watchdog hw: wdt_aspeed: Add AST2600 support 2019-10-15 18:09:04 +01:00
xen xen-bus: only set the xen device frontend state if it is missing 2019-09-24 12:21:29 +01:00
xenpv Include sysemu/sysemu.h a lot less 2019-08-16 13:31:53 +02:00
xtensa hw/xtensa: add virt machine 2019-10-18 20:38:10 -07:00
Kconfig Add Macintosh Quadra 800 machine in hw/m68k 2019-10-29 16:27:48 +00:00
Makefile.objs Add Macintosh Quadra 800 machine in hw/m68k 2019-10-29 16:27:48 +00:00