]> Pileus Git - ~andy/linux/blobdiff - drivers/i2c/busses/i2c-mv64xxx.c
i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs
[~andy/linux] / drivers / i2c / busses / i2c-mv64xxx.c
index 8be7e42aa4de88ba3f00ef2275455b27fa5cdf96..b8c5187b9ee0da912b3a872b828705891a0146a4 100644 (file)
@@ -692,6 +692,7 @@ static const struct of_device_id mv64xxx_i2c_of_match_table[] = {
        { .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_data *drv_data,
                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