Skip to content
  • Przemyslaw Marczak's avatar
    dm: i2c: add i2c-gpio driver · c54473cb
    Przemyslaw Marczak authored
    
    
    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: default avatarPrzemyslaw Marczak <p.marczak@samsung.com>
    Acked-by: default avatarSimon Glass <sjg@chromium.org>
    Added braces in i2c_gpio_xfer() to fix style nit:
    Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
    c54473cb