summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/arm/arm/pl310.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/arm/arm/pl310.c b/sys/arm/arm/pl310.c
index 76ad17b..b354bf8 100644
--- a/sys/arm/arm/pl310.c
+++ b/sys/arm/arm/pl310.c
@@ -84,6 +84,12 @@ static uint32_t g_ways_assoc;
static struct pl310_softc *pl310_softc;
+static struct ofw_compat_data compat_data[] = {
+ {"arm,pl310", true}, /* Non-standard, FreeBSD. */
+ {"arm,pl310-cache", true},
+ {NULL, false}
+};
+
void
pl310_print_config(struct pl310_softc *sc)
{
@@ -422,8 +428,7 @@ pl310_probe(device_t dev)
if (!ofw_bus_status_okay(dev))
return (ENXIO);
-
- if (!ofw_bus_is_compatible(dev, "arm,pl310"))
+ if (!ofw_bus_search_compatible(dev, compat_data)->ocd_data)
return (ENXIO);
device_set_desc(dev, "PL310 L2 cache controller");
return (0);
OpenPOWER on IntegriCloud