u-boot/drivers/i2c
Przemyslaw Marczak c54473cb25 dm: i2c: add i2c-gpio driver
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>
Acked-by: Simon Glass <sjg@chromium.org>
Added braces in i2c_gpio_xfer() to fix style nit:
Signed-off-by: Simon Glass <sjg@chromium.org>
2015-04-18 11:11:17 -06:00
..
adi_i2c.c dm: i2c: Make API accessible even without CONFIG_DM 2015-02-12 10:35:33 -07:00
davinci_i2c.c i2c, davinci: convert driver to new mutlibus/mutliadapter framework 2014-04-17 17:24:38 -04:00
davinci_i2c.h i2c, davinci: convert driver to new mutlibus/mutliadapter framework 2014-04-17 17:24:38 -04:00
designware_i2c.c i2c: designware: Convert driver to multibus/multiadapter framework 2014-10-29 08:56:23 +01:00
designware_i2c.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
fsl_i2c.c linux/kernel.h: sync min, max, min3, max3 macros with Linux 2014-11-23 06:48:30 -05:00
fti2c010.c i2c: fti2c010: fix compiler warning on paddr[] 2014-01-13 08:18:38 +01:00
fti2c010.h drivers/i2c: Update fti2c010.[ch], i2c_core.c to use SPDX identifiers 2013-07-25 08:51:42 -04:00
i2c-emul-uclass.c dm: i2c: Add I2C emulation driver for sandbox 2014-12-11 13:18:42 -07:00
i2c-gpio.c dm: i2c: add i2c-gpio driver 2015-04-18 11:11:17 -06:00
i2c-uclass-compat.c dm: i2c: Add two more I2C init functions to the compatibility layer 2015-01-29 17:10:01 -07:00
i2c-uclass.c dm: core: Add dev_get_uclass_priv() to access uclass private data 2015-04-16 19:27:42 -06:00
i2c-uniphier-f.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
i2c-uniphier.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
i2c_core.c i2c: Correct spelling error 2014-12-08 07:27:22 +01:00
ihs_i2c.c cosmetic: replace MIN, MAX with min, max 2014-09-24 18:30:29 -04:00
Kconfig dm: i2c: add i2c-gpio driver 2015-04-18 11:11:17 -06:00
kona_i2c.c dm: i2c: Make API accessible even without CONFIG_DM 2015-02-12 10:35:33 -07:00
lpc32xx_i2c.c lpc32xx: i2c: add LPC32xx I2C interface support 2015-04-10 14:23:07 +02:00
Makefile dm: i2c: add i2c-gpio driver 2015-04-18 11:11:17 -06:00
mv_i2c.c mv_i2c: fix warnings on 64-bit builds 2015-03-18 09:13:17 +01:00
mv_i2c.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mvtwsi.c i2c: mvtwsi: Support for up to 4 different controllers 2015-04-15 16:33:17 +02:00
mxc_i2c.c i2c:mxc fix array size of i2c_data 2015-01-08 11:00:45 -05:00
mxs_i2c.c i2c: mxs: Add support for I2C 1 on i.MX28 2014-10-29 08:56:07 +01:00
omap24xx_i2c.c i2c, omap24xx: add i2c deblock sequenz 2014-07-16 05:18:55 +02:00
omap24xx_i2c.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pca9564_i2c.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ppc4xx_i2c.c ppc4xx: Handle i2c stuck on combined xfer 2014-11-10 06:44:30 +01:00
rcar_i2c.c i2c: rcar_i2c: Fix order of restart and clear status 2014-11-10 06:47:37 +01:00
s3c24x0_i2c.c i2c: s3c24x0: reduce transmission status timeout 2015-02-12 10:35:29 -07:00
s3c24x0_i2c.h i2c: s3c24xx: add hsi2c controller support 2013-10-17 07:20:26 +02:00
sandbox_i2c.c dm: core: Add dev_get_uclass_priv() to access uclass private data 2015-04-16 19:27:42 -06:00
sh_i2c.c i2c: sh_i2c: bugfix: i2c probe command does not work 2014-04-14 17:41:48 +09:00
sh_sh7734_i2c.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
soft_i2c.c ARM: IXP: Remove the IXP architecture support 2014-02-06 02:51:52 +01:00
tegra_i2c.c dm: i2c: Move slave details to child platdata 2015-01-29 17:09:56 -07:00
tsi108_i2c.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
u8500_i2c.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
u8500_i2c.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
zynq_i2c.c i2c: zynq: Fixed compilation errors when using DEBUG 2014-05-08 07:03:37 +02:00