Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/20880
Change subject: sb/intel/i82801jx: Add romstage smbus and i2c block operations ......................................................................
sb/intel/i82801jx: Add romstage smbus and i2c block operations
Change-Id: I76bf1ed392d3d18059792106fc482d2259a3f084 Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/southbridge/intel/i82801jx/early_smbus.c M src/southbridge/intel/i82801jx/i82801jx.h 2 files changed, 21 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/80/20880/1
diff --git a/src/southbridge/intel/i82801jx/early_smbus.c b/src/southbridge/intel/i82801jx/early_smbus.c index a950992..16932e0 100644 --- a/src/southbridge/intel/i82801jx/early_smbus.c +++ b/src/southbridge/intel/i82801jx/early_smbus.c @@ -51,3 +51,19 @@ { 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 fd74d2a..fe55157 100644 --- a/src/southbridge/intel/i82801jx/i82801jx.h +++ b/src/southbridge/intel/i82801jx/i82801jx.h @@ -224,6 +224,11 @@ #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);