summaryrefslogtreecommitdiff
path: root/drivers/i2c/Makefile
AgeCommit message (Collapse)Author
2017-05-08aspeed: Add I2C Driver[email protected]
Add Device Model based I2C driver for ast2500/ast2400 SoCs. The driver is very limited, it only supports master mode and synchronous byte-by-byte reads/writes, no DMA or Pool Buffers. Signed-off-by: Maxim Sloyko <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2017-04-05Blackfin: RemoveTom Rini
The architecture is currently unmaintained, remove. Cc: Benjamin Matthews <[email protected]> Cc: Chong Huang <[email protected]> Cc: Dimitar Penev <[email protected]> Cc: Haitao Zhang <[email protected]> Cc: I-SYST Micromodule <[email protected]> Cc: M.Hasewinkel (MHA) <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Martin Strubel <[email protected]> Cc: Peter Meerwald <[email protected]> Cc: Sonic Zhang <[email protected]> Cc: Valentin Yakovenkov <[email protected]> Cc: Wojtek Skulski <[email protected]> Cc: Wojtek Skulski <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2017-03-17i2c: lpi2c: add lpi2c driver for i.MX7ULPPeng Fan
Add lpi2c driver for i.MX7ULP. Need to enable the two options to use this driver: CONFIG_DM_I2C=y CONFIG_SYS_I2C_IMX_LPI2C=y Signed-off-by: Peng Fan <[email protected]> Acked-by: Heiko Schocher <[email protected]> Cc: Stefano Babic <[email protected]>
2016-12-05samsung: i2c: Split the high-speed I2C code into a new driverSimon Glass
Now that driver model is used for I2C on all boards, we can split the high-speed code into its own driver. There is virtually no common code, and this significantly reduces confusion. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2016-08-15Merge branch 'master' of git://git.denx.de/u-boot-atmelTom Rini
2016-08-15i2c: atmel: add i2c driverSongjun Wu
Add i2c driver. Signed-off-by: Songjun Wu <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2016-08-15i2c: add Tegra186 BPMP driverStephen Warren
On Tegra186, some I2C controllers are directly controlled by the main CPU, whereas others are controlled by the BPMP, and can only be accessed by the main CPU via IPC requests to the BPMP. This driver covers the latter case. Signed-off-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2016-04-13dm: i2c: Add driver for Cadence I2C IPMoritz Fischer
This is a possible drop in replacement for drivers/i2c/zynq-i2c.c Since this is cadence IP it has been renamed to cdns-i2c, to make sense with the compatible string. Signed-off-by: Moritz Fischer <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2016-01-24x86: i2c: Add a stub driver for Intel I2C/SMbusSimon Glass
This is used on most Intel platforms. We don't have a driver for it yet, but add a stub to handle the init. For now this targets ivybridge so we may want to add a device tree binding and generalise it when other platforms are supported. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-01-21dm: i2c: Allow muxes to be enabled for SPL separatelySimon Glass
Since I2C muxes are seldom needed in SPL, and the code for this increases the size somewhat, add a separate option to enable I2C muxes for SPL. Signed-off-by: Simon Glass <[email protected]>
2015-11-23i2c, avr32: fix compiler warning "input is not relaxable"Heiko Schocher
compiling U-Boot for avr32 boards shows since commit 3d1957f0ea01 "dm: i2c: Add support for multiplexed I2C buses" this warning: Building current source for 4 boards (4 threads, 8 jobs per thread) avr32: + atstk1002 +(atstk1002) drivers/i2c/built-in.o: warning: input is not relaxable avr32: + grasshopper +(grasshopper) drivers/i2c/built-in.o: warning: input is not relaxable avr32: + atngw100 +(atngw100) drivers/i2c/built-in.o: warning: input is not relaxable avr32: + atngw100mkii +(atngw100mkii) drivers/i2c/built-in.o: warning: input is not relaxable 0 4 0 /4 0:00:16 : atngw100mkii Fix it. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Roger Meier <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Andreas Bießmann <[email protected]>
2015-09-15arm: Remove unused ST-Ericsson u8500 archStefan Roese
This arch does not seem to be supported / used at all in the current U-Boot mainline source tree any more. So lets remove the core u8500 code and code that was only referenced by this platform. Please note that this patch also removes these config options: - CONFIG_PL011_SERIAL_RLCR - CONFIG_PL011_SERIAL_FLUSH_ON_INIT As they only seem to be referenced by u8500 based boards. Without any such board in the current code, these config option don't make sense any more. Lets remove them as well. If someone still wants to use this platform, then please send patches to re-enable support by adding at least one board that references this code. Signed-off-by: Stefan Roese <[email protected]> Cc: Mathieu Poirier <[email protected]> Cc: John Rigby <[email protected]> Cc: Simon Glass <[email protected]> Cc: Masahiro Yamada <[email protected]> Cc: Tom Rini <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Albert Aribaud <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-09-02rockchip: Add I2C driverSimon Glass
Add an I2C driver for the Rockchip RK3288, using driver model. It should work for other Rockchip SoCs also. Signed-off-by: Simon Glass <[email protected]>
2015-08-05cros_ec: Support the LDO access method used by springSimon Glass
Add a driver to support the special LDO access used by spring. This is a custom method in the cros_ec protocol - it does not use an I2C pass-through. There are two implementation choices: 1. Write a special LDO driver which can talk across the EC. Duplicate all the logic from TPS65090 for retrying when the LDO fails to come up. 2. Write a special I2C bus driver which pretends to be a TPS65090 and transfers reads and writes using the LDO message. Either is distasteful. The latter method is chosen since it results in less code duplication and a fairly simple (30-line) implementation of the core logic. The crosec 'ldo' subcommand could be removed (since i2c md/mw will work instead) but is retained as a convenience. Signed-off-by: Simon Glass <[email protected]>
2015-08-05dm: cros_ec: Convert the I2C tunnel code to use driver modelSimon Glass
The Chrome OS EC supports tunnelling through to an I2C bus on the EC. This currently uses a copy of the I2C command code and a special 'crosec' sub-command. With driver model we can define an I2C bus which tunnels through to the EC, and use the normal 'i2c' command to access it. This simplifies the code and removes some duplication. Add an I2C driver which tunnels through to the EC. Adjust the EC code to support binding child devices so that it can be set up. Adjust the existing I2C xfer function to fit driver model better. For now the old code remains to allow things to still work. It will be removed in a later patch once the new flow is fully enabled. Signed-off-by: Simon Glass <[email protected]>
2015-08-05dm: i2c: Add support for multiplexed I2C busesSimon Glass
Add a new I2C_MUX uclass. Devices in this class can multiplex between several I2C buses, selecting them one at a time for use by the system. The multiplexing mechanism is left to the driver to decide - it may be controlled by GPIOs, for example. The uclass supports only two methods: select() and deselect(). The current mux state is expected to be stored in the mux itself since it is the only thing that knows how to make things work. The mux can record the current state and then avoid switching unless it is necessary. So select() can be skipped if the mux is already in the correct state. Also deselect() can be made a nop if required. Signed-off-by: Simon Glass <[email protected]>
2015-04-18dm: i2c: add i2c-gpio driverPrzemyslaw Marczak
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 <[email protected]> Acked-by: Simon Glass <[email protected]> Added braces in i2c_gpio_xfer() to fix style nit: Signed-off-by: Simon Glass <[email protected]>
2015-04-10lpc32xx: i2c: add LPC32xx I2C interface supportAlbert ARIBAUD \(3ADEV\)
Signed-off-by: Albert ARIBAUD (3ADEV) <[email protected]>
2015-01-29dm: i2c: Add a compatbility layerSimon Glass
For boards which use multiple I2C devices, or for SOCs which support multiple boards, we might want to convert these to driver model at different times. At present this is difficult because we need to either use CONFIG_DM_I2C for a board or not. Add a compatibility layer which implements the old API, thus allowing a board to move to driver model for I2C without requiring that everything it uses is moved in the same commit. Signed-off-by: Simon Glass <[email protected]>
2015-01-29i2c: UniPhier: add driver for UniPhier FIFO-builtin i2c controllerMasahiro Yamada
This commit adds on-chip I2C driver used on newer SoCs of Panasonic UniPhier platform. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2015-01-29i2c: UniPhier: add driver for UniPhier i2c controllerMasahiro Yamada
This commit adds on-chip I2C driver used on some old Panasonic UniPhier SoCs. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2014-12-11dm: i2c: Add a sandbox I2C driverSimon Glass
This driver includes some test features such as only supporting certain bus speeds. It passes its I2C traffic through to an emulator. Acked-by: Heiko Schocher <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2014-12-11dm: i2c: Add I2C emulation driver for sandboxSimon Glass
In order to test I2C we need some sort of emulation interface. Add hooks to allow a driver to emulate an I2C device for sandbox. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heiko Schocher <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2014-12-11dm: i2c: Add a uclass for I2CSimon Glass
The uclass implements the same operations as the current I2C framework but makes some changes to make it fit driver model better: - Remove the chip address from API calls - Remove the address length from API calls - Remove concept of 'current' I2C bus - Drop all existing init functions Acked-by: Heiko Schocher <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-11-17blackfin: rename bfin-twi_i2c driver to adi_i2cScott Jiang
Signed-off-by: Scott Jiang <[email protected]>
2014-10-29i2c: designware: Convert driver to multibus/multiadapter frameworkStefan Roese
In preparation for the SoCFPGA support of the designware I2C driver, convert this driver to the common CONFIG_SYS_I2C framework. This patch converts all users of this driver, this is: - ST spearxxx boards - AXS101 (ARC700 platform) I couldn't test this patch on those boards. Only compile tested for all spear boards. And tested on SoCFPGA. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Acked-by: Alexey Brodkin <[email protected]> Tested-by: Alexey Brodkin <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Vipin Kumar <[email protected]> Cc: Jeroen Hofstee <[email protected]>
2014-10-29i2c: mxs: Add basic support for i2c frameworkMarek Vasut
This patch just converts the function prototypes used throughout this driver to match those of the i2c framework. There is so far no functional change. This patch does not do the deeper integration of the framework bits. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Heiko Schocher <[email protected]>
2014-07-28Merge branch 'u-boot-sunxi/master' into 'u-boot-arm/master'Albert ARIBAUD
2014-07-16mvtwsi: convert to CONFIG_SYS_I2C frameworkHans de Goede
Note this has only been tested on Allwinner sunxi devices (support for which gets introduced by a later patch). The kirkwood changes have been compile tested using the wireless_space board config, the orion5x changes have been compile tested using the edminiv2 board config. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2014-07-07i2c: IHS I2C master driverDirk Eibach
IHS I2C master support was merely a hack in the osd driver. Now it is a proper u-boot I2C framework driver, supporting the v2.00 master features. Signed-off-by: Dirk Eibach <[email protected]>
2014-04-17i2c, davinci: convert driver to new mutlibus/mutliadapter frameworkVitaly Andrianov
- add davinci driver to new multibus/multiadpater support - adapted all config files, which uses this driver Signed-off-by: Vitaly Andrianov <[email protected]> Signed-off-by: Murali Karicheri <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2014-02-22i2c: kona: Add Kona I2C driverDarwin Rambo
Add support for the Kona I2C controller found on Broadcom mobile SoCs. Signed-off-by: Darwin Rambo <[email protected]> Reviewed-by: Steve Rae <[email protected]> Reviewed-by: Tim Kryger <[email protected]>
2013-12-05driver:i2c:s3c24x0: adapt driver to new i2cPiotr Wilczek
This patch adapts the s3c24x0 driver to the new i2c framework. Config file is modified for all the boards that use the driver. Signed-off-by: Piotr Wilczek <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> CC: Minkyu Kang <[email protected]> CC: Heiko Schocher <[email protected]> CC: Inderpal Singh <[email protected]> CC: David Müller <[email protected]> CC: Chander Kashyap <[email protected]> CC: Lukasz Majewski <[email protected]> Tested-by: Naveen Krishna Chatradhi <[email protected]> Reviewed-by: Naveen Krishna Chatradhi <[email protected]>
2013-11-13i2c, omap1510: remove i2c driverHeiko Schocher
remove omap1510 i2c driver, as there is no board which uses it Signed-off-by: Heiko Schocher <[email protected]> Cc: Tom Rini <[email protected]> Cc: Jian Zhang <[email protected]>
2013-11-13i2c, zynq: convert zynq i2c driver to new multibus/multiadapter frameworkHeiko Schocher
- add zync i2c driver to new multibus/multiadpater support - adapted all config files, which uses this driver Signed-off-by: Heiko Schocher <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Michal Simek <[email protected]>
2013-11-13i2c, omap24xx: convert driver to new mutlibus/mutliadapter frameworkHeiko Schocher
- add omap24xx driver to new multibus/multiadpater support - adapted all config files, which uses this driver Tested on the am335x based siemens boards rut, dxr2 and pxm2 posted here: http://patchwork.ozlabs.org/patch/263211/ Signed-off-by: Heiko Schocher <[email protected]> Tested-by: Tom Rini <[email protected]> Cc: Lars Poeschel <[email protected]> Cc: Steve Sakoman <[email protected]> Cc: Thomas Weber <[email protected]> Cc: Tom Rix <[email protected]> Cc: Grazvydas Ignotas <[email protected]> Cc: Enric Balletbo i Serra <[email protected]> Cc: Luca Ceresoli <[email protected]> Cc: Igor Grinberg <[email protected]> Cc: Ilya Yanok <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Nishanth Menon <[email protected]> Cc: Pali Rohár <[email protected]> Cc: Peter Barada <[email protected]> Cc: Nagendra T S <[email protected]> Cc: Michael Jones <[email protected]> Cc: Raphael Assenat <[email protected]> Acked-by: Igor Grinberg <[email protected]> Acked-by: Stefano Babic <[email protected]>
2013-11-13i2c: sh_i2c: Update to new CONFIG_SYS_I2C frameworkNobuhiro Iwamatsu
This updates to new I2C framwwork on sh_i2c. And this also updates boards(kzm9g and ecovec) that using sh_i2c. Signed-off-by: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
2013-10-31drivers: convert makefiles to Kbuild styleMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2013-10-17i2c: Add support for Renesas rcarNobuhiro Iwamatsu
This supports i2c controller for Renesas rcar. Signed-off-by: Hisashi Nakamura <[email protected]> Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
2013-10-17i2c: mxc: move to new subsystemtrem
Signed-off-by: Philippe Reynes <[email protected]>
2013-09-19drivers: s3c44b0_i2c: delete an unused driverMasahiro Yamada
Since commit 5dc5f36 removed B2 board support, there are no boards enabling s3c44b0_i2c. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Andrea Scian <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2013-07-24Merge branch 'master' of git://git.denx.de/u-boot-i2cTom Rini
The sandburst-specific i2c drivers have been deleted, conflict was just over the SPDX conversion. Conflicts: board/sandburst/common/ppc440gx_i2c.c board/sandburst/common/ppc440gx_i2c.h Signed-off-by: Tom Rini <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-07-23i2c: add Faraday FTI2C010 I2C controller supportKuo-Jung Su
Faraday FTI2C010 is a multi-function I2C controller which supports both master and slave mode. This patch simplily implements the master mode only. Signed-off-by: Kuo-Jung Su <[email protected]> CC: Heiko Schocher <[email protected]>
2013-07-23i2c, ppc4xx_i2c: switch to new multibus/multiadapter supportDirk Eibach
Signed-off-by: Dirk Eibach <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Stefan Roese <[email protected]> Tested-by: Stefan Roese <[email protected]>
2013-07-23tegra: i2c: Enable new CONFIG_SYS_I2C frameworkSimon Glass
This enables CONFIG_SYS_I2C on Tegra, updating existing boards and the Tegra i2c driver to support this. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Heiko Schocher <[email protected]>
2013-07-23i2c, fsl_i2c: switch to new multibus/multiadapter supportHeiko Schocher
- added to fsl_i2c driver new multibus/multiadpater support - adapted all config files, which uses this driver Signed-off-by: Heiko Schocher <[email protected]> Cc: Simon Glass <[email protected]> Cc: Stephen Warren <[email protected]>
2013-07-23i2c, soft-i2c: switch to new multibus/multiadapter supportHeiko Schocher
- added to soft_i2c driver new multibus/multiadpater support - adapted all config files, which uses this driver Signed-off-by: Heiko Schocher <[email protected]> Cc: Simon Glass <[email protected]> Cc: Stephen Warren <[email protected]>
2013-07-23i2c: add i2c_core and prepare for new multibus supportHeiko Schocher
This Patch introduce the new i2c_core file, which holds the I2C core functions, for the rework of the multibus/ multiadapter support. Also adds changes in i2c.h for the new I2C multibus/multiadapter support. This new support can be activated with the CONFIG_SYS_I2C define. Signed-off-by: Heiko Schocher <[email protected]> Signed-off-by: Simon Glass <[email protected]> Cc: Mike Frysinger <[email protected]> Cc: Stephen Warren <[email protected]>
2013-04-30i2c: zynq: Add support for Xilinx ZynqMichal Simek
Support Xilinx Zynq i2c controller. Signed-off-by: Joe Hershberger <[email protected]> Signed-off-by: Michal Simek <[email protected]> Acked-by: Heiko Schocher <[email protected]> Reviewed-by: Tom Rini <[email protected]>