Commit graph android_kernel_sony_sdm845/include/linux/i2c-pnx.h
Message SHA1
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>

Jingoo Han   authored and   Wolfram Sang   commited 2014-01-16 11:15:50 +01:00
d1ccc125f3
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>

Roland Stigge   authored and   Wolfram Sang   commited 2012-09-12 17:52:44 +02:00
c076ada4e4
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>

Roland Stigge   commited 2012-04-22 11:59:47 +02:00
b41a216daf
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>

Roland Stigge   commited 2012-04-22 11:59:47 +02:00
1451ba3a5f
ARM: PNX4008: move i2c_adapter structure inside the drivers private data
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Russell King   commited 2010-02-12 17:32:41 +00:00
9d7f73632c
ARM: PNX4008: kzalloc i2c drivers internal data
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Russell King   commited 2010-02-12 17:32:40 +00:00
44c5d73918
ARM: PNX4008: Make ioaddr 'void __iomem *' rather than 'u32'
This avoids unnecessary casting.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Russell King   commited 2010-02-12 17:32:40 +00:00
88d968b22f
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>

Russell King   commited 2010-02-12 17:32:39 +00:00
6fff3da998
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>

Russell King   commited 2010-02-12 17:32:39 +00:00
0321cb83e1
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>

Russell King   commited 2010-02-12 17:32:38 +00:00
a0dcf19f59
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>

Kevin Wells   authored and   Ben Dooks   commited 2009-11-20 00:25:42 +00:00
4ced24c897
[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>

Russell King   commited 2008-08-08 15:13:27 +01:00
2727f226a6
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>

Vitaly Wool   authored and   Jean Delvare   commited 2006-12-10 21:21:29 +01:00
41561f28e7