- Oct 23, 2015
-
-
Gao Pan authored
Implement bus recovery methods for i2c-imx so we can recover from situations where SCL/SDA are stuck low. Once i2c bus SCL/SDA are stuck low during transfer, config the i2c pinctrl to gpio mode by calling pinctrl sleep set function, and then use GPIO to emulate the i2c protocol to send nine dummy clock to recover i2c device. After recovery, set i2c pinctrl to default group setting. Signed-off-by:
Fugang Duan <B38611@freescale.com> Signed-off-by:
Gao Pan <b54642@freescale.com> Signed-off-by:
Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Masahiro Yamada authored
Add support for on-chip I2C controller used on newer UniPhier SoCs such as PH1-Pro4, PH1-Pro5, etc. This adapter is equipped with 8-depth TX/RX FIFOs. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Masahiro Yamada authored
Add support for on-chip I2C controller used on old UniPhier SoCs such as PH1-LD4, PH1-sLD8, etc. This adapter is so simple that it has no FIFO in it. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Oct 20, 2015
-
-
Wolfram Sang authored
Enable the I2C core for this SoC. It is compitable to Gen2 SoCs, so reuse the settings. Signed-off-by:
Wolfram Sang <wsa+renesas@sang-engineering.com> Tested-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Wolfram Sang authored
Enable the I2C core for this SoC. I add a new type because this version has new features (e.g. DMA) which will be added somewhen later. Signed-off-by:
Wolfram Sang <wsa+renesas@sang-engineering.com> Tested-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Alexander Sverdlin authored
According to "KeyStone Architecture Inter-IC Control Bus User Guide", fixed additive part of frequency divisors (referred as "d" in the code and datasheet) always equals to 6, independent of module clock prescaler. module clock frequency master clock frequency = ---------------------- (ICCL + 6) + (ICCH + 6) It was not the case with original Davinci IP. Introduce new compatible property "ti,keystone-i2c", which triggers special handling in the driver. Without this change Keystone-based systems (having 204.8MHz input clock) choose prescaler 29 (PSC=28). Using d=5 in this case leads to bus bitrate ~353kHz instead of requested 400kHz. After correction, assuming d=6 bus rate is ~392kHz. This gives ~11% transfer rate increase. Signed-off-by:
Alexander Sverdlin <alexander.sverdlin@nokia.com> Reviewed-by:
Grygorii Strashko <grygorii.strashko@ti.com> Tested-by:
Hemanth Guruva Reddy <hemanth.guruva_reddy@nokia.com> Tested-by:
Lukasz Gemborowski <lukasz.gemborowski@nokia.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Aug 26, 2015
-
-
Dmitry Torokhov authored
Instead of having each i2c driver individually parse device tree data in case it or platform supports separate wakeup interrupt, and handle enabling and disabling wakeup interrupts in their power management routines, let's have i2c core do that for us. Platforms wishing to specify separate wakeup interrupt for the device should use named interrupt syntax in their DTSes: interrupt-parent = <&intc1>; interrupts = <5 0>, <6 0>; interrupt-names = "irq", "wakeup"; This patch is inspired by work done by Vignesh R <vigneshr@ti.com> for pixcir_i2c_ts driver. Note that the original code tried to preserve any existing wakeup settings from userspace but was not quite right in that regard: it would preserve wakeup flag set by userspace upon driver rebinding; but it would re-arm the wakeup flag if it was disabled by userspace. We think that resetting the flag upon re-binding the driver is proper behavior as the driver is responsible for setting up and handling wakeups. Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com> Tested-by:
Vignesh R <vigneshr@ti.com> [wsa: updated the commit message] Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Aug 24, 2015
-
-
Joachim Eastwood authored
Add support for the I2C controller found on several NXP devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx. The controller is implemented as a state machine and the driver act upon the state changes when the bus is accessed. The I2C controller supports master/slave operation, bus arbitration, programmable clock rate, and speeds up to 1 Mbit/s. Signed-off-by:
Joachim Eastwood <manabian@gmail.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
York Sun authored
Based on i2c-mux-gpio driver, similarly the register-based mux switch from one bus to another by setting a single register. The register can be on PCIe bus, local bus, or any memory-mapped address. The endianness of such register can be specified in device tree if used, or in platform data. Signed-off-by:
York Sun <yorksun@freescale.com> Acked-by:
Alexander Sverdlin <alexander.sverdlin@nokia.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Wolfram Sang authored
Start a new file which describes the generic bindings used for I2C with device tree. So we have a central place to look for them, increase visibility of them, and hopefully reduce the amount of custom properties introduced. Signed-off-by:
Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by:
Vaibhav Hiremath <vaibhav.hiremath@linaro.org> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Aug 10, 2015
-
-
Wolfram Sang authored
The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de> Acked-by:
Guenter Roeck <linux@roeck-us.net>
-
Wolfram Sang authored
The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de> Acked-by:
Guenter Roeck <linux@roeck-us.net>
-
Wolfram Sang authored
The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de> Acked-by:
Guenter Roeck <linux@roeck-us.net>
-
Wolfram Sang authored
The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by:
Wolfram Sang <wsa@the-dreams.de> Acked-by:
Pavel Machek <pavel@denx.de>
-
Denis Carikli authored
This adds devicetree documentation for the bindings of the ads7828 driver. Signed-off-by:
Denis Carikli <denis@eukrea.com> Acked-by:
Guenter Roeck <linux@roeck-us.net> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Anurag Kumar Vulisha authored
Cadence 1.0 version has bugs which have been fixed in the cadence 1.4 version. This patch removes the quirks present in the driver for cadence 1.4 version. Signed-off-by:
Anurag Kumar Vulisha <anuragku@xilinx.com> [wsa: fixed indentation issues in r1p10_i2c_def] Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Wolfram Sang authored
Add a basic driver for the Renesas EMEV2 SoC. Based on the driver from the BSP which was first worked on by Ian, and made ready for upstream by me. Signed-off-by:
Ian Molton <ian.molton@codethink.co.uk> Reviewed-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Jun 10, 2015
-
-
Kamal Dasu authored
Adding support for i2c controller driver for Broadcom settop SoCs. Signed-off-by:
Kamal Dasu <kdasu.kdev@gmail.com> [wsa: removed superfluous owner in platform_driver] Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Cyrille Pitchen authored
add a new value "atmel,sama5d2-i2c" for the "compatible" property. add a new optional property "atmel,fifo-size" to enable FIFO support when available. add missing optional properties "dmas" and "dma-names". Signed-off-by:
Cyrille Pitchen <cyrille.pitchen@atmel.com> Acked-by:
Ludovic Desroches <ludovic.desroches@atmel.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- May 31, 2015
-
-
Xudong Chen authored
The mediatek SoCs have I2C controller that handle I2C transfer. This patch include common I2C bus driver. This driver is compatible with I2C controller on mt65xx/mt81xx. Signed-off-by:
Xudong Chen <xudong.chen@mediatek.com> Signed-off-by:
Liguo Zhang <liguo.zhang@mediatek.com> Signed-off-by:
Eddie Huang <eddie.huang@mediatek.com> Acked-by:
Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- May 21, 2015
-
-
Laurent Pinchart authored
DT nodes should use the more specific adi,adxl345 and adi,adxl346 compatible values instead. As the ADXL346 is backward-compatible with the ADXL345, ADXL346 nodes must list both adi,adxl346 and adi,adxl345, in that order. Signed-off-by:
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by:
Wolfram Sang <wsa@the-dreams.de> Signed-off-by:
Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com>
-
- May 12, 2015
-
-
Feng Kan authored
Add SLIMpro I2C device driver on APM X-Gene platform. This I2C device driver use the SLIMpro Mailbox driver to tunnel message to the SLIMpro coprocessor to do the work of accessing I2C components. Signed-off-by:
Feng Kan <fkan@apm.com> Signed-off-by:
Hieu Le <hnle@apm.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Apr 10, 2015
-
-
Subhendu Sekhar Behera authored
Add an I2C bus driver i2c-xlp9xx.c to support the I2C block in the XLP9xx/XLP5xx MIPS SoC. Update Kconfig and Makefile to add the CONFIG_I2C_XLP9XX option. Signed-off-by:
Subhendu Sekhar Behera <sbehera@broadcom.com> Signed-off-by:
Jayachandran C <jchandra@broadcom.com> Reviewed-by:
Ray Jui <rjui@broadcom.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Grygorii Strashko authored
Having a board where the I2C bus locks up occasionally made it clear that the bus recovery in the i2c-davinci driver will only work on some boards, because on regular boards, this will only toggle GPIO lines that aren't muxed to the actual pins. The I2C controller on SoCs like da850 (and da830), Keystone 2 has the built-in capability to bit-bang its lines by using the ICPFUNC registers of the i2c controller. Implement the suggested procedure by toggling SCL and checking SDA using the ICPFUNC registers of the I2C controller when present. Allow platforms to indicate the presence of the ICPFUNC registers with a has_pfunc platform data flag and add optional DT property "ti,has-pfunc" to indicate the same in DT. Reviewed-by:
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by:
Alexander Sverdlin <alexander.sverdlin@nokia.com> Tested-by:
Michael Lawnick <michael.lawnick@nokia.com> Signed-off-by:
Ben Gardiner <bengardiner@nanometrics.ca> Signed-off-by:
Mike Looijmans <milo-software@users.sourceforge.net> [grygorii.strashko@ti.com: combined patches from Ben Gardiner and Mike Looijmans and reimplemented ICPFUNC bus recovery using I2C bus recovery infrastructure] Signed-off-by:
Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Apr 03, 2015
-
-
Zubair Lutfullah Kakakhel authored
Adds the i2c bus controller driver for the Ingenic JZ4780 SoC. Signed-off-by:
Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Mar 26, 2015
-
-
Scott Branden authored
This patchset attempts to standardize the naming of dt-bindings documents based on the Broadcom vendor prefix of brcm. Although there are no guidelines currently present for how to name the dt-bindings document the "vendor,binding.txt" style is in use by some of the other vendors. Acked-by:
Lee Jones <lee@kernel.org> Acked-by:
Florian Fainelli <f.fainelli@gmail.com> Acked-by:
Gregory Fong <gregory.0xf0@gmail.com> Acked-by:
Stephen Warren <swarren@wwwdotorg.org> Signed-off-by:
Scott Branden <sbranden@broadcom.com> Signed-off-by:
Rob Herring <robh@kernel.org>
-
- Mar 22, 2015
-
-
Baruch Siach authored
The CX92755 is an SoC in the Conexant Digicolor series. The devicetree binding document describes the I2C controller on the CX92755 SoC, that is also shared by some other SoCs in the Digicolor series. The driver adds support. Signed-off-by:
Baruch Siach <baruch@tkos.co.il> [wsa: fixed spaces around operators] Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Mar 12, 2015
-
-
Gyungoh Yoo authored
Signed-off-by:
Gyungoh Yoo <jack.yoo@skyworksinc.com> Signed-off-by:
Lee Jones <lee.jones@linaro.org>
-
- Mar 07, 2015
-
-
Matt Porter authored
A clock specifier is required for i.MX I2C and is provided in all DTS implementations. Add this to the list of required properties in the binding. Signed-off-by:
Matt Porter <mporter@konsulko.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Feb 27, 2015
-
-
Ulrich Hecht authored
Signed-off-by:
Ulrich Hecht <ulrich.hecht+renesas@gmail.com> Acked-by:
Wolfram Sang <wsa@the-dreams.de> Signed-off-by:
Simon Horman <horms+renesas@verge.net.au>
-
- Feb 17, 2015
-
-
Ray Jui authored
Add initial support to the Broadcom iProc I2C controller found in the iProc family of SoCs. The iProc I2C controller has separate internal TX and RX FIFOs, each has a size of 64 bytes. The iProc I2C controller supports two bus speeds including standard mode (100kHz) and fast mode (400kHz) Signed-off-by:
Ray Jui <rjui@broadcom.com> Reviewed-by:
Scott Branden <sbranden@broadcom.com> Reviewed-by:
Kevin Cernekee <cernekee@chromium.org> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Feb 14, 2015
-
-
Arnaud Ebalard authored
This patch adds support for Abracon AB-RTCMC-32.768kHz-B5ZE-S3 RTC/Calendar module w/ I2C interface. This support includes RTC time reading and setting, Alarm (1 minute accuracy) reading and setting, and battery low detection. The device also supports frequency adjustment and two timers but those features are currently not implemented in this driver. Due to alarm accuracy limitation (and current lack of timer support in the driver), UIE mode is not supported. Signed-off-by:
Arnaud Ebalard <arno@natisbad.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Peter Huewe <peter.huewe@infineon.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Thierry Reding <treding@nvidia.com> Cc: Mark Brown <broonie@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Rob Herring <robherring2@gmail.com> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: Grant Likely <grant.likely@linaro.org> Cc: Rob Landley <rob@landley.net> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Cc: Kumar Gala <galak@codeaurora.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Feb 05, 2015
-
-
Max Filippov authored
Allow bus clock specification as a common clock handle. This makes this controller easier to use in a setup based on common clock framework. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
Max Filippov authored
clock-frequency property is meant to control the bus frequency for i2c bus drivers, but it was incorrectly used to specify i2c controller input clock frequency. Introduce new attribute, opencores,ip-clock-frequency, that specifies i2c controller clock frequency and make clock-frequency attribute compatible with other i2c drivers. Maintain backwards compatibility in case opencores,ip-clock-frequency attribute is missing. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Feb 04, 2015
-
-
Paul Walmsley authored
Align compatible strings for several IP blocks present on Tegra chips with the latest doctrine from the DT maintainers: http://marc.info/?l=devicetree&m=142255654213019&w=2 The primary objective here is to avoid checkpatch warnings, per: http://marc.info/?l=linux-tegra&m=142201349727836&w=2 DT binding text files have been updated for the following IP blocks: - PCIe - SOR - SoC timers - AHB "gizmo" - APB_MISC - pinmux control - UART - PWM - I2C - SPI - RTC - PMC - eFuse - AHCI - HDA - XUSB_PADCTRL - SDHCI - SOC_THERM - AHUB - I2S - EHCI - USB PHY N.B. The nvidia,tegra20-timer compatible string is removed from the nvidia,tegra30-timer.txt documentation file because it's already mentioned in the nvidia,tegra20-timer.txt documentation file. This second version takes into account the following requests from Rob Herring <robherring2@gmail.com>: - Per-IP block patches have been combined into a single patch - Explicit documentation about which compatible strings are actually matched by the driver has been removed. In its place is implicit documentation that loosely follows Rob's prescribed format: "Must contain '"nvidia,<chip>-pcie", "nvidia,tegra20-pcie"' where <chip> is tegra30, tegra132, ..." [...] "You should attempt to document known values of <chip> if you use it" Signed-off-by:
Paul Walmsley <paul@pwsan.com> Cc: Alexandre Courbot <gnurou@gmail.com> Cc: Dylan Reid <dgreid@chromium.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: Jingchang Lu <jingchang.lu@freescale.com> Cc: John Crispin <blogic@openwrt.org> Cc: Kumar Gala <galak@codeaurora.org> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Mikko Perttunen <mperttunen@nvidia.com> Cc: Murali Karicheri <m-karicheri2@ti.com> Cc: Paul Walmsley <pwalmsley@nvidia.com> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Peter De Schrijver <pdeschrijver@nvidia.com> Cc: Peter Hurley <peter@hurleysoftware.com> Cc: Sean Paul <seanpaul@chromium.org> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Takashi Iwai <tiwai@suse.de> Cc: Tejun Heo <tj@kernel.org> Cc: "Terje Bergström" <tbergstrom@nvidia.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Tuomas Tynkkynen <ttynkkynen@nvidia.com> Cc: Wolfram Sang <wsa@the-dreams.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: dri-devel@lists.freedesktop.org Cc: linux-i2c@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-pci@vger.kernel.org Cc: linux-pm@vger.kernel.org Cc: linux-pwm@vger.kernel.org Cc: linux-tegra@vger.kernel.org Acked-by:
Eduardo Valentin <edubezval@gmail.com> Signed-off-by:
Rob Herring <robh@kernel.org>
-
- Jan 27, 2015
-
-
Kevin Tsai authored
CM3232 is an advanced ambient light sensor with I2C protocol interface. The I2C slave address is internally hardwired as 0x10 (7-bit). Writing to configure register is byte mode, but reading ALS register requests to use word mode for 16-bit resolution. Signed-off-by:
Kevin Tsai <ktsai@capellamicro.com> Signed-off-by:
Jonathan Cameron <jic23@kernel.org>
-
- Jan 24, 2015
-
-
Lee Jones authored
CLK_S_ICN_REG_0 hasn't existed for a while now. This was renamed over a few commits, then finally removed in commit 5aa02b90 (ARM: STi: DT: STiH415: Remove unused CLK_S_ICN_REG_0 fixed clock). Signed-off-by:
Lee Jones <lee.jones@linaro.org> Acked-by:
Maxime Coquelin <maxime.coquelin@st.com> Acked-by:
Peter Griffin <peter.griffin@linaro.org> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Jan 23, 2015
-
-
Alexander Sverdlin authored
Add i2c-mux-idle-disconnect device tree property to PCA954x mux driver. The new property forces the multiplexer to disconnect child buses in idle state. This is used, for example, when there are several multiplexers on the same bus and the devices on the underlying buses might have same I2C addresses. Signed-off-by:
Alexander Sverdlin <alexander.sverdlin@nsn.com> [wsa: added a newline] Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Jan 15, 2015
-
-
Geert Uytterhoeven authored
This allows checkpatch to validate more DTSes. Signed-off-by:
Geert Uytterhoeven <geert+renesas@glider.be> Acked-by:
Steve Twiss <stwiss.opensource@diasemi.com> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-
- Jan 13, 2015
-
-
Arnaud Ebalard authored
This patch fixes I2C trivial-devices.txt DT documentation file to reference isil (NASDAQ symbol and the most used prefix inside the kernel) for Intersil. It reverts 7c75c1d5 ("dt-bindings: Document deprecated device vendor name to fix related warning"). Signed-off-by:
Arnaud Ebalard <arno@natisbad.org> Signed-off-by:
Wolfram Sang <wsa@the-dreams.de>
-