i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs
authorGregory CLEMENT <gregory.clement@free-electrons.com>
Tue, 31 Dec 2013 15:59:33 +0000 (16:59 +0100)
committerJason Cooper <jason@lakedaemon.net>
Tue, 14 Jan 2014 02:01:09 +0000 (02:01 +0000)
commit6cf70ae928bae17077efc0d528dec49bc380438b
treed795960abeeda498b8ae075163c0b7355d32c2a5
parent85e618a1be2b2092318178d1d66bdad49cbbeeeb
i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs

The first variants of Armada XP SoCs (A0 stepping) have issues related
to the i2c controller which prevent to use the offload mechanism and
lead to a kernel hang during boot.

The commit introduces a new the compatible string
marvell,mv78230-a0-i2c for the i2c controller. When this compatible
string is used the driver disables the offload mechanism and the
kernel no more hangs on these SoCs.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Reported-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: stable@vger.kernel.org # v3.12+: af8d1c63afcb: ARM: mvebu: Add support to get the ID and the revision of a SoC
Cc: stable@vger.kernel.org # v3.12+: 85e618a1be2b: ARM: mvebu: Add quirk for i2c for the OpenBlocks AX3-4 board
Cc: stable@vger.kernel.org # v3.12+
Fixes: 930ab3d403ae (i2c: mv64xxx: Add I2C Transaction Generator support)
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/i2c/busses/i2c-mv64xxx.c