]>
Commit | Line | Data |
---|---|---|
b6036bcd MY |
1 | config DM_I2C |
2 | bool "Enable Driver Model for I2C drivers" | |
3 | depends on DM | |
4 | help | |
705fcf4d PM |
5 | Enable driver model for I2C. The I2C uclass interface: probe, read, |
6 | write and speed, is implemented with the bus drivers operations, | |
7 | which provide methods for bus setting and data transfer. Each chip | |
8 | device (bus child) info is kept as parent platdata. The interface | |
9 | is defined in include/i2c.h. When i2c bus driver supports the i2c | |
10 | uclass, but the device drivers not, then DM_I2C_COMPAT config can | |
11 | be used as compatibility layer. | |
26f820f3 | 12 | |
4bba9d3f SG |
13 | config DM_I2C_COMPAT |
14 | bool "Enable I2C compatibility layer" | |
15 | depends on DM | |
16 | help | |
17 | Enable old-style I2C functions for compatibility with existing code. | |
18 | This option can be enabled as a temporary measure to avoid needing | |
19 | to convert all code for a board in a single commit. It should not | |
20 | be enabled for any board in an official release. | |
21 | ||
cc456bd7 SG |
22 | config I2C_CROS_EC_TUNNEL |
23 | tristate "Chrome OS EC tunnel I2C bus" | |
24 | depends on CROS_EC | |
25 | help | |
26 | This provides an I2C bus that will tunnel i2c commands through to | |
27 | the other side of the Chrome OS EC to the I2C bus connected there. | |
28 | This will work whatever the interface used to talk to the EC (SPI, | |
29 | I2C or LPC). Some Chromebooks use this when the hardware design | |
30 | does not allow direct access to the main PMIC from the AP. | |
31 | ||
32 | ||
c54473cb PM |
33 | config DM_I2C_GPIO |
34 | bool "Enable Driver Model for software emulated I2C bus driver" | |
35 | depends on DM_I2C && DM_GPIO | |
36 | help | |
37 | Enable the i2c bus driver emulation by using the GPIOs. The bus GPIO | |
38 | configuration is given by the device tree. Kernel-style device tree | |
39 | bindings are supported. | |
40 | Binding info: doc/device-tree-bindings/i2c/i2c-gpio.txt | |
41 | ||
1174aada SG |
42 | config SYS_I2C_SANDBOX |
43 | bool "Sandbox I2C driver" | |
44 | depends on SANDBOX && DM_I2C | |
45 | help | |
46 | Enable I2C support for sandbox. This is an emulation of a real I2C | |
47 | bus. Devices can be attached to the bus using the device tree | |
48 | which specifies the driver to use. As an example, see this device | |
49 | tree fragment from sandbox.dts. It shows that the I2C bus has a | |
50 | single EEPROM at address 0x2c (7-bit address) which is emulated by | |
51 | the driver for "sandbox,i2c-eeprom", which is in | |
52 | drivers/misc/i2c_eeprom_emul.c. | |
53 | ||
54 | i2c@0 { | |
55 | #address-cells = <1>; | |
56 | #size-cells = <0>; | |
57 | reg = <0>; | |
58 | compatible = "sandbox,i2c"; | |
59 | clock-frequency = <400000>; | |
60 | eeprom@2c { | |
61 | reg = <0x2c>; | |
62 | compatible = "i2c-eeprom"; | |
63 | emul { | |
64 | compatible = "sandbox,i2c-eeprom"; | |
65 | sandbox,filename = "i2c.bin"; | |
66 | sandbox,size = <128>; | |
67 | }; | |
68 | }; | |
69 | }; | |
70 | ||
71 | ||
26f820f3 MY |
72 | config SYS_I2C_UNIPHIER |
73 | bool "UniPhier I2C driver" | |
74 | depends on ARCH_UNIPHIER && DM_I2C | |
75 | default y | |
76 | help | |
b6ef3a3f MY |
77 | Support for UniPhier I2C controller driver. This I2C controller |
78 | is used on PH1-LD4, PH1-sLD8 or older UniPhier SoCs. | |
238bd0b8 MY |
79 | |
80 | config SYS_I2C_UNIPHIER_F | |
81 | bool "UniPhier FIFO-builtin I2C driver" | |
82 | depends on ARCH_UNIPHIER && DM_I2C | |
83 | default y | |
84 | help | |
b6ef3a3f | 85 | Support for UniPhier FIFO-builtin I2C controller driver. |
238bd0b8 | 86 | This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs. |
3d1957f0 SG |
87 | |
88 | source "drivers/i2c/muxes/Kconfig" |