aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/i2c/designware/dw_i2c.h
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2018-01-22 21:31:48 -0700
committerAaron Durbin <adurbin@chromium.org>2018-01-24 05:03:10 +0000
commitb7d79cddf0287a2e925d2003ef8d0cde6bbbae2a (patch)
treed5c79a089bd5ea0d0d5fdc2830e93f8bc3d07108 /src/drivers/i2c/designware/dw_i2c.h
parent9aee8194c46f31eeda6ee7419e40cad2de47187e (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.h25
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__ */