sb/intel/i82801gx: Implement smbus block r/w functions
Uses common hardware access functions to make smbus block read and write available in romstage. Those are needed to reconfigure the clockgen on smbus offset 0x69, which is sometimes needed for things like CPU C-states or analog display out to work properly. Change-Id: I0a06178d2474ce65972de157cb437b42f3354da0 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/19594 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Damien Zammit <damien@zamaudio.com> Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
parent
16fe79048f
commit
ad29ec351e
|
@ -59,3 +59,14 @@ 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);
|
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);
|
||||||
|
}
|
||||||
|
|
|
@ -52,6 +52,9 @@ void enable_smbus(void);
|
||||||
int smbus_read_byte(unsigned int device, unsigned int address);
|
int smbus_read_byte(unsigned int device, unsigned int address);
|
||||||
int i2c_block_read(unsigned int device, unsigned int cmd, unsigned int bytes,
|
int i2c_block_read(unsigned int device, unsigned int cmd, unsigned int bytes,
|
||||||
u8 *buf);
|
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);
|
||||||
int southbridge_detect_s3_resume(void);
|
int southbridge_detect_s3_resume(void);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue