aboutsummaryrefslogtreecommitdiff
path: root/include/linux/i2c-pnx.h
AgeCommit message (Collapse)Author
2012-09-12i2c: pnx: Fix read transactions of >= 2 bytesRoland Stigge
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>
2012-04-22i2c: Add device tree support to i2c-pnx.cRoland Stigge
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>
2012-04-22i2c-pnx.c: Use resources in platformsRoland Stigge
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>
2010-02-12ARM: PNX4008: move i2c_adapter structure inside the drivers private dataRussell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-02-12ARM: PNX4008: kzalloc i2c drivers internal dataRussell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-02-12ARM: PNX4008: Make ioaddr 'void __iomem *' rather than 'u32'Russell King
This avoids unnecessary casting. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-02-12ARM: PNX4008: get i2c clock rate from clk APIRussell King
Acked-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-02-12ARM: PNX4008: move i2c clock start/stop into driverRussell King
Acked-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-02-12ARM: PNX4008: move i2c suspend/resume callbacks into driverRussell King
Acked-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-11-20i2c: i2c-pnx: Made buf type unsigned to prevent sign extensionKevin Wells
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>
2008-08-08[ARM] fix pnx4008 build errorsRussell King
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>
2006-12-10i2c: New Philips PNX bus driverVitaly Wool
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>