OSDN Git Service

aspeed/i2c: Add support for DMA transfers
authorCédric Le Goater <clg@kaod.org>
Tue, 19 Nov 2019 14:11:58 +0000 (15:11 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 16 Dec 2019 10:46:34 +0000 (10:46 +0000)
commit545d6bef7097129040bddc86fe09326ee0a14aae
treec67e2474fd6a48e7373fe719d8147910b21d425a
parent95b56e173e20267778965a2bfd1afd517f7342c4
aspeed/i2c: Add support for DMA transfers

The I2C controller of the Aspeed AST2500 and AST2600 SoCs supports DMA
transfers to and from DRAM.

A pair of registers defines the buffer address and the length of the
DMA transfer. The address should be aligned on 4 bytes and the maximum
length should not exceed 4K. The receive or transmit DMA transfer can
then be initiated with specific bits in the Command/Status register of
the controller.

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-5-clg@kaod.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm/aspeed_ast2600.c
hw/arm/aspeed_soc.c
hw/i2c/aspeed_i2c.c
include/hw/i2c/aspeed_i2c.h