diff options
author | Kevin Hilman <khilman@linaro.org> | 2014-01-14 13:55:48 -0500 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2014-01-14 13:56:01 -0500 |
commit | d267aae2f30ec7739adce351f6d20cd7f4eb6448 (patch) | |
tree | 6911378e02841a3eb58f21d5c8344d46ba3ee73d /drivers/i2c | |
parent | 1588c51cf6d782e63a8719681d905ef0ac22ee62 (diff) | |
parent | f8b94beb7e6a374cb0de531b72377c49857b35ca (diff) |
Merge tag 'mvebu-fixes-3.13' of git://git.infradead.org/linux-mvebu into next/fixes-non-critical
From Jason Cooper:
mvebu late fixes for v3.13
- mvebu
- fix boot hang on Armada XP due to broken i2c offloading in A0 SoC revision
(specifically experienced on some early OpenBlocks AX3-4 boards)
* tag 'mvebu-fixes-3.13' of git://git.infradead.org/linux-mvebu:
i2c: mv64xxx: Document the newly introduced Armada XP A0 compatible
i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs
ARM: mvebu: Add quirk for i2c for the OpenBlocks AX3-4 board
ARM: mvebu: Add support to get the ID and the revision of a SoC
Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-mv64xxx.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c index 8be7e42aa4de..b8c5187b9ee0 100644 --- 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_i2c_of_match_table[] = { | |||
692 | { .compatible = "allwinner,sun4i-i2c", .data = &mv64xxx_i2c_regs_sun4i}, | 692 | { .compatible = "allwinner,sun4i-i2c", .data = &mv64xxx_i2c_regs_sun4i}, |
693 | { .compatible = "marvell,mv64xxx-i2c", .data = &mv64xxx_i2c_regs_mv64xxx}, | 693 | { .compatible = "marvell,mv64xxx-i2c", .data = &mv64xxx_i2c_regs_mv64xxx}, |
694 | { .compatible = "marvell,mv78230-i2c", .data = &mv64xxx_i2c_regs_mv64xxx}, | 694 | { .compatible = "marvell,mv78230-i2c", .data = &mv64xxx_i2c_regs_mv64xxx}, |
695 | { .compatible = "marvell,mv78230-a0-i2c", .data = &mv64xxx_i2c_regs_mv64xxx}, | ||
695 | {} | 696 | {} |
696 | }; | 697 | }; |
697 | MODULE_DEVICE_TABLE(of, mv64xxx_i2c_of_match_table); | 698 | MODULE_DEVICE_TABLE(of, mv64xxx_i2c_of_match_table); |
@@ -783,6 +784,10 @@ mv64xxx_of_config(struct mv64xxx_i2c_data *drv_data, | |||
783 | drv_data->errata_delay = true; | 784 | drv_data->errata_delay = true; |
784 | } | 785 | } |
785 | 786 | ||
787 | if (of_device_is_compatible(np, "marvell,mv78230-a0-i2c")) { | ||
788 | drv_data->offload_enabled = false; | ||
789 | drv_data->errata_delay = true; | ||
790 | } | ||
786 | out: | 791 | out: |
787 | return rc; | 792 | return rc; |
788 | #endif | 793 | #endif |