This is a note to let you know that I've just added the patch titled
i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs
to the 3.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
i2c-mv64xxx-fix-bus-hang-on-a0-version-of-the-armada-xp-socs.patch
and it can be found in the queue-3.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 6cf70ae928bae17077efc0d528dec49bc380438b Mon Sep 17 00:00:00 2001
From: Gregory CLEMENT <[email protected]>
Date: Tue, 31 Dec 2013 16:59:33 +0100
Subject: i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs
From: Gregory CLEMENT <[email protected]>
commit 6cf70ae928bae17077efc0d528dec49bc380438b upstream.
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 <[email protected]>
Reported-by: Andrew Lunn <[email protected]>
Acked-by: Wolfram Sang <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Fixes: 930ab3d403ae (i2c: mv64xxx: Add I2C Transaction Generator support)
Signed-off-by: Jason Cooper <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/i2c/busses/i2c-mv64xxx.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -692,6 +692,7 @@ static const struct of_device_id mv64xxx
{ .compatible = "allwinner,sun4i-i2c", .data = &mv64xxx_i2c_regs_sun4i},
{ .compatible = "marvell,mv64xxx-i2c", .data =
&mv64xxx_i2c_regs_mv64xxx},
{ .compatible = "marvell,mv78230-i2c", .data =
&mv64xxx_i2c_regs_mv64xxx},
+ { .compatible = "marvell,mv78230-a0-i2c", .data =
&mv64xxx_i2c_regs_mv64xxx},
{}
};
MODULE_DEVICE_TABLE(of, mv64xxx_i2c_of_match_table);
@@ -783,6 +784,10 @@ mv64xxx_of_config(struct mv64xxx_i2c_dat
drv_data->errata_delay = true;
}
+ if (of_device_is_compatible(np, "marvell,mv78230-a0-i2c")) {
+ drv_data->offload_enabled = false;
+ drv_data->errata_delay = true;
+ }
out:
return rc;
#endif
Patches currently in stable-queue which might be from
[email protected] are
queue-3.12/ata-sata_mv-fix-disk-hotplug-for-armada-370-xp-socs.patch
queue-3.12/ata-sata_mv-introduce-compatible-string-marvell-armada-370-sata.patch
queue-3.12/arm-mvebu-add-support-to-get-the-id-and-the-revision-of-a-soc.patch
queue-3.12/i2c-mv64xxx-document-the-newly-introduced-armada-xp-a0-compatible.patch
queue-3.12/arm-mvebu-update-the-sata-compatible-string-for-armada-370-xp.patch
queue-3.12/i2c-mv64xxx-fix-bus-hang-on-a0-version-of-the-armada-xp-socs.patch
queue-3.12/arm-mvebu-add-quirk-for-i2c-for-the-openblocks-ax3-4-board.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html