diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2017-08-04 14:39:26 +0200 |
---|---|---|
committer | Arthur Heymans <arthur@aheymans.xyz> | 2017-08-07 06:59:09 +0000 |
commit | d4ce1ded0174c2f2866e57023a68c6854f78e8a1 (patch) | |
tree | 26e409ef6d89c429211a94fbd7346d1de7a271b7 /src/southbridge | |
parent | ad29ec351e52b9d326d50c558c3af4b54a2e61d4 (diff) |
sb/intel/i82801jx: Add romstage smbus and i2c block operations
Change-Id: I76bf1ed392d3d18059792106fc482d2259a3f084
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/20880
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Diffstat (limited to 'src/southbridge')
-rw-r--r-- | src/southbridge/intel/i82801jx/early_smbus.c | 16 | ||||
-rw-r--r-- | src/southbridge/intel/i82801jx/i82801jx.h | 5 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/southbridge/intel/i82801jx/early_smbus.c b/src/southbridge/intel/i82801jx/early_smbus.c index a95099298f..16932e0e51 100644 --- a/src/southbridge/intel/i82801jx/early_smbus.c +++ b/src/southbridge/intel/i82801jx/early_smbus.c @@ -51,3 +51,19 @@ int smbus_read_byte(unsigned device, unsigned address) { return do_smbus_read_byte(SMBUS_IO_BASE, device, address); } + +int i2c_block_read(unsigned int device, unsigned int offset, u32 bytes, u8 *buf) +{ + return do_i2c_block_read(SMBUS_IO_BASE, device, offset, bytes, buf); +} + +int smbus_block_read(unsigned int device, unsigned int cmd, u8 bytes, u8 *buf) +{ + return do_smbus_block_read(SMBUS_IO_BASE, device, cmd, bytes, buf); +} + +int smbus_block_write(unsigned int device, unsigned int cmd, u8 bytes, + const u8 *buf) +{ + return do_smbus_block_write(SMBUS_IO_BASE, device, cmd, bytes, buf); +} diff --git a/src/southbridge/intel/i82801jx/i82801jx.h b/src/southbridge/intel/i82801jx/i82801jx.h index fd74d2a02f..fe55157850 100644 --- a/src/southbridge/intel/i82801jx/i82801jx.h +++ b/src/southbridge/intel/i82801jx/i82801jx.h @@ -224,6 +224,11 @@ static inline int lpc_is_mobile(const u16 devid) #if defined(__PRE_RAM__) void enable_smbus(void); int smbus_read_byte(unsigned device, unsigned address); +int i2c_block_read(unsigned int device, unsigned int cmd, unsigned int bytes, + u8 *buf); +int smbus_block_read(unsigned int device, unsigned int cmd, u8 bytes, u8 *buf); +int smbus_block_write(unsigned int device, unsigned int cmd, u8 bytes, + const u8 *buf); void i82801jx_early_init(void); void i82801jx_dmi_setup(void); void i82801jx_dmi_poll_vc1(void); |