blob: 521fcb0dd7efad50be5508483141b177bcf52149 [file] [log] [blame]
Angel Pons3bd1e3d2020-04-05 15:47:17 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Duncan Laurie0d8bb742016-05-10 15:31:22 -07002
3#include <device/device.h>
Kyösti Mälkki32d47eb2019-09-28 00:00:30 +03004#include <intelblocks/cfg.h>
Chris Chingb8dc63b2017-12-06 14:26:15 -07005#include <drivers/i2c/designware/dw_i2c.h>
Rizwan Qureshiae6a4b62017-04-26 21:06:35 +05306#include <soc/pci_devs.h>
Duncan Laurie4001f242016-06-07 16:40:19 -07007
Aaron Durbin9aee8192018-01-22 20:29:25 -07008int dw_i2c_soc_devfn_to_bus(unsigned int devfn)
Duncan Laurie4001f242016-06-07 16:40:19 -07009{
Rizwan Qureshiae6a4b62017-04-26 21:06:35 +053010 switch (devfn) {
Lijian Zhaoebd7c442017-11-01 10:40:02 -070011 case PCH_DEVFN_I2C0:
12 return 0;
13 case PCH_DEVFN_I2C1:
14 return 1;
15 case PCH_DEVFN_I2C2:
16 return 2;
17 case PCH_DEVFN_I2C3:
18 return 3;
19 case PCH_DEVFN_I2C4:
20 return 4;
21 case PCH_DEVFN_I2C5:
22 return 5;
Rizwan Qureshiae6a4b62017-04-26 21:06:35 +053023 }
24 return -1;
Duncan Laurie222381e2016-06-21 10:41:19 -070025}
26
Aaron Durbin9aee8192018-01-22 20:29:25 -070027int dw_i2c_soc_bus_to_devfn(unsigned int bus)
Duncan Laurie222381e2016-06-21 10:41:19 -070028{
Rizwan Qureshiae6a4b62017-04-26 21:06:35 +053029 switch (bus) {
Lijian Zhaoebd7c442017-11-01 10:40:02 -070030 case 0:
31 return PCH_DEVFN_I2C0;
32 case 1:
33 return PCH_DEVFN_I2C1;
34 case 2:
35 return PCH_DEVFN_I2C2;
36 case 3:
37 return PCH_DEVFN_I2C3;
38 case 4:
39 return PCH_DEVFN_I2C4;
40 case 5:
41 return PCH_DEVFN_I2C5;
Rizwan Qureshiae6a4b62017-04-26 21:06:35 +053042 }
43 return -1;
Duncan Laurie4001f242016-06-07 16:40:19 -070044}