From b7d79cddf0287a2e925d2003ef8d0cde6bbbae2a Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Mon, 22 Jan 2018 21:31:48 -0700 Subject: drives/i2c/designware: incorporate device_operations support In ramstage the device_operations are needed for the i2c designware host controller. Move the intel/common/block/i2c implementation into the generic driver so other platforms can take advantage of it. BUG=b:72121803 Change-Id: Id249933fadcc016bfba00e7a6d65f56dfc220724 Signed-off-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/23372 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth Reviewed-by: Furquan Shaikh Reviewed-by: Subrata Banik --- src/drivers/i2c/designware/dw_i2c.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/drivers/i2c/designware/dw_i2c.h') diff --git a/src/drivers/i2c/designware/dw_i2c.h b/src/drivers/i2c/designware/dw_i2c.h index 83e0e6d5e6..c97ed7785f 100644 --- a/src/drivers/i2c/designware/dw_i2c.h +++ b/src/drivers/i2c/designware/dw_i2c.h @@ -137,4 +137,29 @@ int dw_i2c_transfer(unsigned int bus, const struct i2c_msg *segments, size_t count); +/* + * Map an i2c host controller device to a logical bus number. + * Return value: + * -1 = failure + * >=0 = logical bus number + */ +int dw_i2c_soc_dev_to_bus(struct device *dev); + +/* + * Common device_operations implementation to initialize the i2c host + * controller. + */ +void dw_i2c_dev_init(struct device *dev); + +/* + * Common device_operations implementation to fill ACPI SSDT table for i2c + * host controller. + */ +void dw_i2c_acpi_fill_ssdt(struct device *dev); + +/* + * Common device_operations implementation for i2c host controller ops. + */ +extern const struct i2c_bus_operations dw_i2c_bus_ops; + #endif /* __DRIVERS_I2C_DESIGNWARE_I2C_H__ */ -- cgit v1.2.3