diff options
author | Aaron Durbin <adurbin@chromium.org> | 2018-01-22 21:31:48 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2018-01-24 05:03:10 +0000 |
commit | b7d79cddf0287a2e925d2003ef8d0cde6bbbae2a (patch) | |
tree | d5c79a089bd5ea0d0d5fdc2830e93f8bc3d07108 /src/drivers/i2c/designware/dw_i2c.h | |
parent | 9aee8194c46f31eeda6ee7419e40cad2de47187e (diff) |
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 <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/23372
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Subrata Banik <subrata.banik@intel.com>
Diffstat (limited to 'src/drivers/i2c/designware/dw_i2c.h')
-rw-r--r-- | src/drivers/i2c/designware/dw_i2c.h | 25 |
1 files changed, 25 insertions, 0 deletions
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__ */ |