Index: sys/arm/mv/mv_common.c =================================================================== --- sys/arm/mv/mv_common.c +++ sys/arm/mv/mv_common.c @@ -2630,10 +2630,25 @@ } } +static void +fdt_fixup_cache_controller(phandle_t root) +{ + phandle_t sb; + + /* + * Simply add arm,io-coherent property to cache-controller + */ + if((sb = ofw_bus_find_compatible(root, "arm,pl310-cache")) != 0) + if (OF_setprop(sb, "arm,io-coherent", NULL, 0) >= 0) + return; + panic("Can't fixup Armada380 cache-controller\n"); +} + struct fdt_fixup_entry fdt_fixup_table[] = { { "mrvl,DB-88F6281", &fdt_fixup_busfreq }, { "mrvl,DB-78460", &fdt_fixup_busfreq }, { "mrvl,DB-78460", &fdt_fixup_ranges }, + { "marvell,armada380", &fdt_fixup_cache_controller}, { NULL, NULL } };