coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
i2c.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 /*
4  * This file is created based on Intel Alder Lake Processor PCH Datasheet
5  * Document number: 621483
6  * Chapter number: 13
7  */
8 
9 #include <device/device.h>
11 #include <soc/pci_devs.h>
12 
13 int dw_i2c_soc_devfn_to_bus(unsigned int devfn)
14 {
15  switch (devfn) {
16  case PCH_DEVFN_I2C0:
17  return 0;
18  case PCH_DEVFN_I2C1:
19  return 1;
20  case PCH_DEVFN_I2C2:
21  return 2;
22  case PCH_DEVFN_I2C3:
23  return 3;
24  case PCH_DEVFN_I2C4:
25  return 4;
26  case PCH_DEVFN_I2C5:
27  return 5;
28  case PCH_DEVFN_I2C6:
29  return 6;
30  case PCH_DEVFN_I2C7:
31  return 7;
32  }
33  return -1;
34 }
35 
36 int dw_i2c_soc_bus_to_devfn(unsigned int bus)
37 {
38  switch (bus) {
39  case 0:
40  return PCH_DEVFN_I2C0;
41  case 1:
42  return PCH_DEVFN_I2C1;
43  case 2:
44  return PCH_DEVFN_I2C2;
45  case 3:
46  return PCH_DEVFN_I2C3;
47  case 4:
48  return PCH_DEVFN_I2C4;
49  case 5:
50  return PCH_DEVFN_I2C5;
51  case 6:
52  return PCH_DEVFN_I2C6;
53  case 7:
54  return PCH_DEVFN_I2C7;
55  }
56  return -1;
57 }
int dw_i2c_soc_bus_to_devfn(unsigned int bus)
Definition: i2c.c:36
int dw_i2c_soc_devfn_to_bus(unsigned int devfn)
Definition: i2c.c:13
#define PCH_DEVFN_I2C7
Definition: pci_devs.h:87
#define PCH_DEVFN_I2C5
Definition: pci_devs.h:163
#define PCH_DEVFN_I2C6
Definition: pci_devs.h:86
#define PCH_DEVFN_I2C0
Definition: pci_devs.h:134
#define PCH_DEVFN_I2C3
Definition: pci_devs.h:137
#define PCH_DEVFN_I2C4
Definition: pci_devs.h:162
#define PCH_DEVFN_I2C2
Definition: pci_devs.h:136
#define PCH_DEVFN_I2C1
Definition: pci_devs.h:135
Definition: device.h:76