
On 31 March 2015 at 21:18, Simon Glass sjg@chromium.org wrote:
On 31 March 2015 at 10:57, Przemyslaw Marczak p.marczak@samsung.com wrote:
This commit adds driver model support to software emulated i2c bus driver. This driver supports kernel-style device tree bindings. Fdt properties in use:
- compatible - "i2c-gpio"
- gpios - data and clock GPIO pin phandles
- delay-us - micro seconds delay between GPIOs toggle operations, which is 1/4 of I2C speed clock period.
Added:
- Config: CONFIG_DM_I2C_GPIO
- File: drivers/i2c/i2c-gpio.c
- File: doc/device-tree-bindings/i2c/i2c-gpio.txt
Driver base code is taken from: drivers/i2c/soft-i2c.c, changes:
- use "i2c-gpio" naming
- update comments style
- move preprocesor macros into functions
- add device tree support
- add driver model i2c support
- code cleanup,
- add Kconfig entry
Signed-off-by: Przemyslaw Marczak p.marczak@samsung.com CC: Masahiro Yamada yamada.masahiro@socionext.com Cc: Lukasz Majewski l.majewski@samsung.com Cc: Mike Frysinger vapier@gentoo.org Cc: Simon Glass sjg@chromium.org Cc: Heiko Schocher hs@denx.de
Changes V2:
- new file for software i2c driver: i2c-gpio.c
- update driver naming: use of "i2c-gpio"
- add full compatibility with the kernels device-tree "i2c-gpio" node
- fix Kconfig entry
Changes V3:
- fix Kconfig entry
- update file header
- remove field "speed" from struct i2c_gpio_bus
- move macros to functions
- move duplicated routines into functions
- update naming with prefix "i2c_gpio_"
doc/device-tree-bindings/i2c/i2c-gpio.txt | 37 ++++ drivers/i2c/Kconfig | 9 + drivers/i2c/Makefile | 1 + drivers/i2c/i2c-gpio.c | 345 ++++++++++++++++++++++++++++++ 4 files changed, 392 insertions(+) create mode 100644 doc/device-tree-bindings/i2c/i2c-gpio.txt create mode 100644 drivers/i2c/i2c-gpio.c
Acked-by: Simon Glass sjg@chromium.org
Applied to u-boot-dm/next, thanks!