summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/omap3-overo-storm-gallop43.dts
diff options
context:
space:
mode:
authorJae Hyun Yoo <jae.hyun.yoo@intel.com>2019-06-12 01:07:08 +0300
committerJae Hyun Yoo <jae.hyun.yoo@linux.intel.com>2021-11-05 10:22:08 +0300
commit36b8d0f5c30ff7dea194ec18d32c5f07620202d6 (patch)
tree9504e1468653481dd19618a240b81b477fb8b8ec /arch/arm/boot/dts/omap3-overo-storm-gallop43.dts
parent11decb6bdc926d5a73a9a12b08ec5b5b630685e4 (diff)
downloadlinux-36b8d0f5c30ff7dea194ec18d32c5f07620202d6.tar.xz
i2c: aspeed: add buffer mode transfer support
Byte mode currently this driver uses makes lots of interrupt call which isn't good for performance and it makes the driver very timing sensitive. To improve performance of the driver, this commit adds buffer mode transfer support which uses I2C SRAM buffer instead of using a single byte buffer. AST2400: It has 2 KBytes (256 Bytes x 8 pages) of I2C SRAM buffer pool from 0x1e78a800 to 0x1e78afff that can be used for all busses with buffer pool manipulation. To simplify implementation for supporting both AST2400 and AST2500, it assigns each 128 Bytes per bus without using buffer pool manipulation so total 1792 Bytes of I2C SRAM buffer will be used. AST2500: It has 16 Bytes of individual I2C SRAM buffer per each bus and its range is from 0x1e78a200 to 0x1e78a2df, so it doesn't have 'buffer page selection' bit field in the Function control register, and neither 'base address pointer' bit field in the Pool buffer control register it has. To simplify implementation for supporting both AST2400 and AST2500, it writes zeros on those register bit fields but it's okay because it does nothing in AST2500. It provides buffer based master and slave data transfer. Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Diffstat (limited to 'arch/arm/boot/dts/omap3-overo-storm-gallop43.dts')
0 files changed, 0 insertions, 0 deletions