1b6036bcdSMasahiro Yamadaconfig DM_I2C 2b6036bcdSMasahiro Yamada bool "Enable Driver Model for I2C drivers" 3b6036bcdSMasahiro Yamada depends on DM 4b6036bcdSMasahiro Yamada help 5705fcf4dSPrzemyslaw Marczak Enable driver model for I2C. The I2C uclass interface: probe, read, 6705fcf4dSPrzemyslaw Marczak write and speed, is implemented with the bus drivers operations, 7705fcf4dSPrzemyslaw Marczak which provide methods for bus setting and data transfer. Each chip 8705fcf4dSPrzemyslaw Marczak device (bus child) info is kept as parent platdata. The interface 9705fcf4dSPrzemyslaw Marczak is defined in include/i2c.h. When i2c bus driver supports the i2c 10705fcf4dSPrzemyslaw Marczak uclass, but the device drivers not, then DM_I2C_COMPAT config can 11705fcf4dSPrzemyslaw Marczak be used as compatibility layer. 1226f820f3SMasahiro Yamada 134bba9d3fSSimon Glassconfig DM_I2C_COMPAT 144bba9d3fSSimon Glass bool "Enable I2C compatibility layer" 154bba9d3fSSimon Glass depends on DM 164bba9d3fSSimon Glass help 174bba9d3fSSimon Glass Enable old-style I2C functions for compatibility with existing code. 184bba9d3fSSimon Glass This option can be enabled as a temporary measure to avoid needing 194bba9d3fSSimon Glass to convert all code for a board in a single commit. It should not 204bba9d3fSSimon Glass be enabled for any board in an official release. 214bba9d3fSSimon Glass 22c54473cbSPrzemyslaw Marczakconfig DM_I2C_GPIO 23c54473cbSPrzemyslaw Marczak bool "Enable Driver Model for software emulated I2C bus driver" 24c54473cbSPrzemyslaw Marczak depends on DM_I2C && DM_GPIO 25c54473cbSPrzemyslaw Marczak help 26c54473cbSPrzemyslaw Marczak Enable the i2c bus driver emulation by using the GPIOs. The bus GPIO 27c54473cbSPrzemyslaw Marczak configuration is given by the device tree. Kernel-style device tree 28c54473cbSPrzemyslaw Marczak bindings are supported. 29c54473cbSPrzemyslaw Marczak Binding info: doc/device-tree-bindings/i2c/i2c-gpio.txt 30c54473cbSPrzemyslaw Marczak 311174aadaSSimon Glassconfig SYS_I2C_SANDBOX 321174aadaSSimon Glass bool "Sandbox I2C driver" 331174aadaSSimon Glass depends on SANDBOX && DM_I2C 341174aadaSSimon Glass help 351174aadaSSimon Glass Enable I2C support for sandbox. This is an emulation of a real I2C 361174aadaSSimon Glass bus. Devices can be attached to the bus using the device tree 371174aadaSSimon Glass which specifies the driver to use. As an example, see this device 381174aadaSSimon Glass tree fragment from sandbox.dts. It shows that the I2C bus has a 391174aadaSSimon Glass single EEPROM at address 0x2c (7-bit address) which is emulated by 401174aadaSSimon Glass the driver for "sandbox,i2c-eeprom", which is in 411174aadaSSimon Glass drivers/misc/i2c_eeprom_emul.c. 421174aadaSSimon Glass 431174aadaSSimon Glass i2c@0 { 441174aadaSSimon Glass #address-cells = <1>; 451174aadaSSimon Glass #size-cells = <0>; 461174aadaSSimon Glass reg = <0>; 471174aadaSSimon Glass compatible = "sandbox,i2c"; 481174aadaSSimon Glass clock-frequency = <400000>; 491174aadaSSimon Glass eeprom@2c { 501174aadaSSimon Glass reg = <0x2c>; 511174aadaSSimon Glass compatible = "i2c-eeprom"; 521174aadaSSimon Glass emul { 531174aadaSSimon Glass compatible = "sandbox,i2c-eeprom"; 541174aadaSSimon Glass sandbox,filename = "i2c.bin"; 551174aadaSSimon Glass sandbox,size = <128>; 561174aadaSSimon Glass }; 571174aadaSSimon Glass }; 581174aadaSSimon Glass }; 591174aadaSSimon Glass 601174aadaSSimon Glass 6126f820f3SMasahiro Yamadaconfig SYS_I2C_UNIPHIER 6226f820f3SMasahiro Yamada bool "UniPhier I2C driver" 6326f820f3SMasahiro Yamada depends on ARCH_UNIPHIER && DM_I2C 6426f820f3SMasahiro Yamada default y 6526f820f3SMasahiro Yamada help 66*b6ef3a3fSMasahiro Yamada Support for UniPhier I2C controller driver. This I2C controller 67*b6ef3a3fSMasahiro Yamada is used on PH1-LD4, PH1-sLD8 or older UniPhier SoCs. 68238bd0b8SMasahiro Yamada 69238bd0b8SMasahiro Yamadaconfig SYS_I2C_UNIPHIER_F 70238bd0b8SMasahiro Yamada bool "UniPhier FIFO-builtin I2C driver" 71238bd0b8SMasahiro Yamada depends on ARCH_UNIPHIER && DM_I2C 72238bd0b8SMasahiro Yamada default y 73238bd0b8SMasahiro Yamada help 74*b6ef3a3fSMasahiro Yamada Support for UniPhier FIFO-builtin I2C controller driver. 75238bd0b8SMasahiro Yamada This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs. 76