]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: mvebu: armada xp: Generalize use of i2c quirk
authorAndrew Lunn <andrew@lunn.ch>
Sat, 26 Jul 2014 17:20:37 +0000 (19:20 +0200)
committerJason Cooper <jason@lakedaemon.net>
Sat, 1 Nov 2014 22:07:44 +0000 (22:07 +0000)
commit7efb380264c81d208572d95b534b833e66930e04
tree4ae2de9fd078b11ebf59cc53600d722ffec24484
parent794664fc5e82534aa444b079f807e339c4d8d9b5
ARM: mvebu: armada xp: Generalize use of i2c quirk

A second product has come to light which makes use of the A0 stepping
of the Armada XP SoC. A0 stepping has a hardware bug in the i2c core
meaning that hardware offload does not work, resulting in the kernel
failing to boot. The quirk detects that the kernel is running on an A0
stepping SoC and disables the use of hardware offload.

Currently the quirk is only enabled for PlatHome Openblocks AX3. The
AX3 has been produced with both A0 and B0 stepping SoCs. The second
product is the Lenovo Iomega IX4-300d. It seems likely that this
device will also swap from A0 to B0 SoC sometime during its life.

If there are two products using A0, it seems likely there are more
products with A0. Also, since the number of A0 SoCs is limited, these
products are also likely to transition to B0. Hence detecting at run
time is the safest option. So enable the quirk for all Armada XP
boards.

Tested on an AX3 with A0 stepping.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: stable@vger.kernel.org # v3.12+
Fixes: f32cd86e85e7: ("i2c: mv64xxx: Add I2C Transaction Generator support")
Link: https://lkml.kernel.org/r/1406395238-29758-2-git-send-email-andrew@lunn.ch
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/mach-mvebu/board-v7.c