soc/intel/common/block/i2c: Scan bridge devices behind I2C controllers

Currently devices behind I2C controllers are scanned using scan_smbus.
This is done under the assumption that there are no bridge devices behind
I2C controllers. In order to support I2C multiplexers which act as
bridge devices and have devices behind them, scan the I2C controllers
using scan_static_bus.

BUG=b:169444894
TEST=Build and boot waddledee to OS. Ensure that all the bridge devices
behind I2C controller are scanned and enabled.

Change-Id: I9d8159a507683d8c56dd5e59d20c30ed7e4b2cab
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45949
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Karthikeyan Ramasubramanian 2020-10-02 00:35:14 -06:00 committed by Patrick Georgi
parent c59d4821e2
commit 7524b5e970
1 changed files with 1 additions and 1 deletions

View File

@ -166,7 +166,7 @@ static struct device_operations i2c_dev_ops = {
.read_resources = pci_dev_read_resources, .read_resources = pci_dev_read_resources,
.set_resources = pci_dev_set_resources, .set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources, .enable_resources = pci_dev_enable_resources,
.scan_bus = scan_smbus, .scan_bus = scan_static_bus,
.ops_i2c_bus = &dw_i2c_bus_ops, .ops_i2c_bus = &dw_i2c_bus_ops,
.ops_pci = &pci_dev_ops_pci, .ops_pci = &pci_dev_ops_pci,
.init = dw_i2c_device_init, .init = dw_i2c_device_init,