aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/i2c-pnx.h
Commit message (Collapse)AuthorAge
* i2c: pnx: Fix read transactions of >= 2 bytesRoland Stigge2012-09-12
| | | | | | | | | | | | | | | | | | | | | | On transactions with n>=2 bytes, the controller actually wrongly clocks in n+1 bytes. This is caused by the (wrong) assumption that RFE in the Status Register is 1 iff there is no byte already ordered (via a dummy TX byte). This lead to the implementation of synchronized byte ordering, e.g.: Dummy-TX - RX - Dummy-TX - RX - ... But since RFE actually stays high after some Dummy-TX, it rather looks like: Dummy-TX - Dummy-TX - RX - Dummy-TX - RX - (RX) The last RX byte is clocked in by the bus controller, but ignored by the kernel when filling the userspace buffer. This patch fixes the issue by asking for RX via Dummy-TX asynchronously. Introducing a separate counter for TX bytes. Signed-off-by: Roland Stigge <stigge@antcom.de> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
* i2c: Add device tree support to i2c-pnx.cRoland Stigge2012-04-22
| | | | | | | | | | | | | | | | This patch adds device tree support to the pnx-i2c driver by using platform resources for memory region and irq and removing dependency on mach includes. The following platforms are affected: * PNX * LPC31xx (WIP) * LPC32xx The patch is based on a patch by Jon Smirl, working on lpc31xx integration Signed-off-by: Roland Stigge <stigge@antcom.de> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
* i2c-pnx.c: Use resources in platformsRoland Stigge2012-04-22
| | | | | | | | | As a precondition for device tree conversion, the platforms using i2c-pnx.c are converted to using mem and irq resources instead of platform data. Signed-off-by: Roland Stigge <stigge@antcom.de> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
* ARM: PNX4008: move i2c_adapter structure inside the drivers private dataRussell King2010-02-12
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM: PNX4008: kzalloc i2c drivers internal dataRussell King2010-02-12
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM: PNX4008: Make ioaddr 'void __iomem *' rather than 'u32'Russell King2010-02-12
| | | | | | This avoids unnecessary casting. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM: PNX4008: get i2c clock rate from clk APIRussell King2010-02-12
| | | | | Acked-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM: PNX4008: move i2c clock start/stop into driverRussell King2010-02-12
| | | | | Acked-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM: PNX4008: move i2c suspend/resume callbacks into driverRussell King2010-02-12
| | | | | Acked-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* i2c: i2c-pnx: Made buf type unsigned to prevent sign extensionKevin Wells2009-11-19
| | | | | | | Made buf type unsigned to prevent sign extension Signed-off-by: Kevin Wells <kevin.wells@nxp.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] fix pnx4008 build errorsRussell King2008-08-08
| | | | | | | | | include/linux/i2c-pnx.h was missed when moving the include files. Fix it now; it doesn't really need to include mach/i2c.h at all. Successfully build tested with pnx4008_defconfig, which had failed in linux-next. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* i2c: New Philips PNX bus driverVitaly Wool2006-12-10
New I2C bus driver for Philips ARM boards (Philips IP3204 I2C IP block). This I2C controller can be found on (at least) PNX010x, PNX52xx and PNX4008 Philips boards. Signed-off-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>