History log of /include/linux/i2c-pnx.h
Revision Date Author Comments
d1ccc125f348ff31dd7954ae718e73ba1c884da9 14-Jan-2014 Jingoo Han <jg1.han@samsung.com> i2c: pnx: Use devm_*() functions

Use devm_*() functions to make cleanup paths simpler,
and remove redundant return value check of platform_get_resource()
because the value is checked by devm_ioremap_resource().

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
c076ada4e4aaf45e1a31ad6de7c6cce36081e045 08-Aug-2012 Roland Stigge <stigge@antcom.de> i2c: pnx: Fix read transactions of >= 2 bytes

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>
a092de11bb4a96ac43ede0352e09bdf7e06280e8 20-Apr-2012 Roland Stigge <stigge@antcom.de> i2c: pnx: add device tree support

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>
77701a8bab89fb0f87271674e57b2ecf636fbc5f 04-Apr-2012 Roland Stigge <stigge@antcom.de> i2c-pnx.c: Use resources in platforms

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>
b41a216dafe4dd23c95cb4203de288f773a097a6 22-Apr-2012 Roland Stigge <stigge@antcom.de> i2c: Add device tree support to i2c-pnx.c

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>
1451ba3a5fa52d874e03a3380d053f3e6a5fcae4 22-Apr-2012 Roland Stigge <stigge@antcom.de> i2c-pnx.c: Use resources in platforms

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>
9d7f73632c87ef1b6187eb539d1efd63c3cf0e36 21-Nov-2009 Russell King <rmk+kernel@arm.linux.org.uk> ARM: PNX4008: move i2c_adapter structure inside the drivers private data

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
44c5d739181886cff8e3903dfa38cd704f3d9640 21-Nov-2009 Russell King <rmk+kernel@arm.linux.org.uk> ARM: PNX4008: kzalloc i2c drivers internal data

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
88d968b22fa26d5e3a8cab46fc7c3a21c89a91d3 21-Nov-2009 Russell King <rmk+kernel@arm.linux.org.uk> ARM: PNX4008: Make ioaddr 'void __iomem *' rather than 'u32'

This avoids unnecessary casting.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
6fff3da998ac3cc9ed8a84bf4f19911bd63c8c32 20-Nov-2009 Russell King <rmk+kernel@arm.linux.org.uk> ARM: PNX4008: get i2c clock rate from clk API

Acked-by: Vitaly Wool <vitalywool@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
0321cb83e1c3f3a4282bd620c6cec78c5b80b572 20-Nov-2009 Russell King <rmk+kernel@arm.linux.org.uk> ARM: PNX4008: move i2c clock start/stop into driver

Acked-by: Vitaly Wool <vitalywool@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
a0dcf19f59d4f37150a6b7e115925d72aca15293 20-Nov-2009 Russell King <rmk+kernel@arm.linux.org.uk> ARM: PNX4008: move i2c suspend/resume callbacks into driver

Acked-by: Vitaly Wool <vitalywool@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
4ced24c8973f79113444d1e00ee8bd9e74fbf43e 12-Nov-2009 Kevin Wells <kevin.wells@nxp.com> i2c: i2c-pnx: Made buf type unsigned to prevent sign extension

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>
2727f226a65e034f93846def7fab314dee430df3 08-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] fix pnx4008 build errors

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>
41561f28e76a47dc6de0a954da85d0b5c42874eb 10-Dec-2006 Vitaly Wool <vitalywool@gmail.com> i2c: New Philips PNX bus driver

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>