- 05 12月, 2014 1 次提交
-
-
由 Wolfram Sang 提交于
We can simply pass the pointer to the private structure to the irq routine instead of passing the platform device and looking up its driver_data. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 26 11月, 2014 2 次提交
-
-
由 Petr Cvek 提交于
Add support for SCCB by implementing I2C_M_IGNORE_NAK and I2C_M_STOP flags and advertising functionality flag I2C_FUNC_PROTOCOL_MANGLING. Also fixed missing functionality flag I2C_FUNC_NOSTART. Signed-off-by: NPetr Cvek <petr.cvek@tul.cz> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Alexander Kochetkov 提交于
Commit 0f5768bf ("i2c: omap: implement workaround for handling invalid BB-bit values") introduce the error result in boot test fault on OMAP3530 boards. The patch fix the error (disable i2c bus test for OMAP3530). Reported-by: NKevin Hilman <khilman@kernel.org> Signed-off-by: NAlexander Kochetkov <al.kochet@gmail.com> Fixes: 0f5768bf ("i2c: omap: implement workaround for handling invalid BB-bit values") Tested-by: NTony Lindgren <tony@atomide.com> Tested-by: NKevin Hilman <khilman@linaro.org> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 24 11月, 2014 8 次提交
-
-
由 Pankaj Dubey 提交于
Let's handle i2c interrupt re-configuration in i2c driver. This will help us in removing some soc specific checks from machine files and will help in removing static iomapping of SYS register in exynos.c Also handle saving and restoring of SYS_I2C_CFG register during suspend and resume of i2c driver. Signed-off-by: NPankaj Dubey <pankaj.dubey@samsung.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Max Schwarz 提交于
Now that we are using the clk notifier framework we get compile errors without COMMON_CLK. But the driver fails to probe without COMMON_CLK anyways, so just add that as a Kconfig dependency. Signed-off-by: NMax Schwarz <max.schwarz@online.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Alexander Kochetkov 提交于
No functional changes. Signed-off-by: NAlexander Kochetkov <al.kochet@gmail.com> Reviewed-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Alexander Kochetkov 提交于
Arbitration Lost is an expected situation in a multimaster environment. I2C controller (IP) correctly detect and report AL. The only one visible reason for resetting IP in the AL case is to avoid advisory 1.94 (omap3) and errata i595 (omap4): "I2C: After an Arbitration is Lost the Module Incorrectly Starts the Next Transfer". Errata workaround states: "The MST and STT bits inside I2C_CON should be set to 1 at the same moment (avoid setting the MST bit to 1 while STT = 0)." The driver never set MST and STT bits separately and doesn't create condition for errata. So the reset is not necessary. Also corrected return value for AL to -EAGAIN. Tested on Beagleboard XM C. Tested on BBB and AM437x Starter Kit by Felipe Balbi. Signed-off-by: NAlexander Kochetkov <al.kochet@gmail.com> Tested-by: NFelipe Balbi <balbi@ti.com> Reviewed-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Alexander Kochetkov 提交于
In a multimaster environment, after IP software reset, BB-bit value doesn't correspond to the current bus state. It may happen what BB-bit will be 0, while the bus is busy due to another I2C master activity. Any transfer started when BB=0 and bus is busy wouldn't be completed by IP and results in controller timeout. More over, in some cases IP could interrupt another master's transfer and corrupt data on wire. The commit implement method allowing to prevent IP from entering into "controller timeout" state and from "data corruption" state. The one drawback is the need to wait for 10ms before the first transfer. Tested on Beagleboard XM C. Tested on BBB and AM437x Starter Kit by Felipe Balbi. Signed-off-by: NAlexander Kochetkov <al.kochet@gmail.com> Tested-by: NFelipe Balbi <balbi@ti.com> Reviewed-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Alexander Kochetkov 提交于
Delete STAT_AD0 mask as unrelated to current IP (omap1?). Delete DEBUG conditional around SYSTEST masks group. Add SYSTEST functional mode masks for SCL and SDA. Add STAT_BF mask. Signed-off-by: NAlexander Kochetkov <al.kochet@gmail.com> Tested-by: NFelipe Balbi <balbi@ti.com> Reviewed-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Max Schwarz 提交于
The i2c input clock can change dynamically, e.g. on the RK3066 where pclk_i2c0 and pclk_i2c1 are connected to the armclk, which changes rate on cpu frequency scaling. Until now, we incorrectly called clk_get_rate() while holding the i2c->lock in rk3x_i2c_xfer() to adapt to clock rate changes. Thanks to Huang Tao for reporting this issue. Do it properly now using the clk notifier framework. The callback logic was taken from i2c-cadence.c. Also rename all misleading "i2c_rate" variables to "clk_rate", as they describe the *input* clk rate. Signed-off-by: NMax Schwarz <max.schwarz@online.de> Tested-by: Doug Anderson <dianders@chromium.org> on RK3288 Reviewed-by: NDoug Anderson <dianders@chromium.org> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Ludovic Desroches 提交于
If dma controller is not probed, defer i2c probe. Signed-off-by: NLudovic Desroches <ludovic.desroches@atmel.com> Reviewed-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 22 11月, 2014 1 次提交
-
-
由 Arnd Bergmann 提交于
Since at91sam9g45 is now DT-only, all DMA capable users of this driver are using the DT case, and the legacy support can be removed. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NLudovic Desroches <ludovic.desroches@atmel.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 19 11月, 2014 5 次提交
-
-
由 Geert Uytterhoeven 提交于
This allows checkpatch to validate more DTSes. Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Geert Uytterhoeven 提交于
This allows checkpatch to validate more DTSes. Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wolfram Sang 提交于
It should be the DMA device, not the platform device. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wolfram Sang 提交于
Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Acked-by: NYao Yuan <yao.yuan@freescale.com>
-
由 Andrew Bresticker 提交于
The SCB is present on IMG SoCs other than the META-based TZ1090, such as the MIPS-based Pistachio SoC. Relax the Kconfig dependency so that it can be built on any MIPS or META machine. Signed-off-by: NAndrew Bresticker <abrestic@chromium.org> Acked-by: NJames Hogan <james.hogan@imgtec.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 18 11月, 2014 11 次提交
-
-
由 Beniamino Galvani 提交于
This is a driver for the I2C controller found in Amlogic Meson SoCs. Signed-off-by: NBeniamino Galvani <b.galvani@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Gerlando Falauto 提交于
This makes the topology clearer. For instance, by adding a pca9547 device with address 0x70 to bus i2c-0, you get: /sys/class/i2c-dev/i2c-0/device/0-0070/channel-0 -> i2c-1 ... /sys/class/i2c-dev/i2c-0/device/0-0070/channel-7 -> i2c-8 Signed-off-by: NGerlando Falauto <gerlando.falauto@keymile.com> [wsa: simplified sysfs-usage and fixed format string usage] Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Acked-by: NMartin Belanger <martin.belanger@cyaninc.com> Acked-by: NDanielle Costantino <danielle.costantino@gmail.com>
-
由 Wolfram Sang 提交于
The current implementation creates muxed i2c-<n> busses as immediate children of their i2c-<n> parent bus. In case of multiple muxes on one bus, it is impossible to determine which muxed bus comes from which mux. It could be argued that the parent device should be changed from the parent adapter to the mux device. This has pros and cons. To improve the topology, simply add a "mux_device" symlink pointing to the actual muxing device, so we can distinguish muxed busses. Doing it this way, we don't break the ABI. Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Tested-by: NGuenter Roeck <linux@roeck-us.net>
-
由 Wolfram Sang 提交于
No need to initialize 'ret' if it gets assigned directly after that. Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com>
-
由 Yao Yuan 提交于
Add dma support for i2c. This function depend on DMA driver. You can turn on it by write both the dmas and dma-name properties in dts node. DMA is optional, even DMA request unsuccessfully, i2c can also work well. Signed-off-by: NYuan Yao <yao.yuan@freescale.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Yao Yuan 提交于
If the inlcude headers aren't sorted alphabetically, then the logical choice is to append new ones, however that creates a lot of potential for conflicts or duplicates because every change will then add new includes in the same location. Signed-off-by: NYuan Yao <yao.yuan@freescale.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Geert Uytterhoeven 提交于
Since commit 2fd36c55 ("i2c: core: Map OF IRQ at probe time"), i2c slaves without interrupts (e.g. da9210 and at24 on r8a7791/koelsch) fail to probe: at24: probe of 2-0050 failed with error -22 da9210: probe of 6-0068 failed with error -22 This happens because the call to of_irq_get() in i2c_device_probe() returns -EINVAL. If a device node does not have an "interrupts" property, of_irq_parse_one() fails. Unlike irq_of_parse_and_map(), of_irq_get() does not ignore errors from of_irq_parse_one(), but forwards them. Make i2c_device_probe() ignore all errors but -EPROBE_DEFER to fix this, just like platform_get_irq() and platform_get_irq_byname() already do. Fixes: 2fd36c55 ("i2c: core: Map OF IRQ at probe time") Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Tested-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 James Hogan 提交于
Add support for the IMG I2C Serial Control Bus (SCB) found on the Pistachio and TZ1090 SoCs. Reviewed-by: NAndrew Bresticker <abrestic@chromium.org> Signed-off-by: NJames Hogan <james.hogan@imgtec.com> [Ezequiel: code cleaning and rebasing] Signed-off-by: NEzequiel Garcia <ezequiel.garcia@imgtec.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 James Hogan 提交于
Introduce a devicetree binding for Imagination Technologies I2C SCB controller. Reviewed-by: NAndrew Bresticker <abrestic@chromium.org> Signed-off-by: NJames Hogan <james.hogan@imgtec.com> Signed-off-by: NEzequiel Garcia <ezequiel.garcia@imgtec.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Thomas Gessler 提交于
The driver tried to access device registers with the (little-endian) iowrite/ioread functions. While this worked on little-endian machines (e.g. Microblaze with AXI bus), it made the driver unusable on big-endian machines (e.g. PPC405 with PLB). During the probe function, the driver tried to write a 32-bit reset mask into the reset register. This caused an error interrupt on big-endian systems, because the device detected an invalid (byte-swapped) reset mask. The result was an Oops. The patch implements an endianness detection similar to the one used in other Xilinx drivers like drivers/spi/spi-xilinx.c. It was tested on a PPC405/PLB system. Signed-off-by: NThomas Gessler <Thomas.Gessler@exp2.physik.uni-giessen.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Christian Gmeiner 提交于
I have a at24 EEPROM connected via i2c bus provided by ISCH i2c bus driver. This bus driver does not support I2C_FUNC_SMBUS_WRITE_I2C_BLOCK and so I was looking for a way to be able to write the eeprom. This patch adds support for I2C_SMBUS_BYTE_DATA writing via i2c_smbus_write_byte_data. It is quite slow, but it works. Signed-off-by: NChristian Gmeiner <christian.gmeiner@gmail.com> [wsa: s/use_smbuse_write/use_smbus_write/] Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 13 11月, 2014 3 次提交
-
-
由 Devin Ryles 提交于
Signed-off-by: NDevin Ryles <devin.ryles@intel.com> Reviewed-by: NJean Delvare <jdelvare@suse.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wolfram Sang 提交于
No user needs magic hex values, makes this debug output. Add DMA info. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wolfram Sang 提交于
Make it possible to transfer i2c message buffers via DMA. Start/Stop/Sending_Slave_Address is still handled using the old state machine, it is sending the actual data that is done via DMA. This is least intrusive and allows us to work with the message buffers directly instead of preparing a custom buffer which involves copying the data around. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> [wsa: fixed an uninitialized var problem] Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 12 11月, 2014 7 次提交
-
-
由 Wolfram Sang 提交于
Improves readability and reduces chances of duplicates. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wenyou Yang 提交于
Amend the at91 i2c pin controller to set the state of the pins to: - "default" on resume. - "sleep" on suspend(). This should make it possible to optimize energy usage for the pins both for the suspend/resume cycle Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Danielle Costantino 提交于
This patch enforces correct I2C error returned codes from Freescale's MPC i2c bus driver, allowing for proper user-space/kernel error handling. Signed-off-by: NDanielle Costantino <danielle.costantino@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Jean Delvare 提交于
Don't log the host status register value in i801_isr(), it has very little value and fills up the log when debugging is enabled. Signed-off-by: NJean Delvare <jdelvare@suse.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Jean Delvare 提交于
There is a control bit in the PCI configuration space which disables interrupts. If this bit is set, the driver should not try to make use of interrupts, it won't receive any. Signed-off-by: NJean Delvare <jdelvare@suse.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Jean Delvare 提交于
The i2c-i801 driver can work without interrupts, so there is no reason to make a request_irq failure fatal. Instead we can simply fallback to polling. Signed-off-by: NJean Delvare <jdelvare@suse.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Jean Delvare 提交于
Some systems have been reported to have trouble with interrupts. Use wait_event_timeout() instead of wait_event() so we don't get stuck in that case, and log the problem. Signed-off-by: NJean Delvare <jdelvare@suse.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 10 11月, 2014 2 次提交
-
-
由 addy ke 提交于
As show in I2C specification: - Standard-mode: the minimum HIGH period of the scl clock is 4.0us the minimum LOW period of the scl clock is 4.7us - Fast-mode: the minimum HIGH period of the scl clock is 0.6us the minimum LOW period of the scl clock is 1.3us I have measured i2c SCL waveforms in fast-mode by oscilloscope on rk3288-pinky board. the LOW period of the scl clock is 1.3us. It is so critical that we must adjust LOW division to increase the LOW period of the scl clock. Thanks Doug for the suggestion about division formulas. Signed-off-by: NAddy Ke <addy.ke@rock-chips.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Reviewed-by: NDoug Anderson <dianders@chromium.org> Reviewed-by: NMax Schwarz <max.schwarz@online.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Mike Looijmans 提交于
When a signal is caught while the i2c-davinci bus driver is transferring, the driver just "abandons" the transfer and leaves the controller to fend for itself. The next I2C transaction will find the controller in an undefined state and often results in a stream of "initiating i2c bus recovery" messages until the controller arrives in a defined state. This behaviour also sends out "half" or possibly even mixed messages to I2C client devices which may put them in an undesired state as well. So, let's get simply uninterruptible. Signed-off-by: NMike Looijmans <mike.looijmans@topic.nl> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-