diff options
author | raj <raj@FreeBSD.org> | 2010-06-13 13:28:53 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2010-06-13 13:28:53 +0000 |
commit | 48f2ce50e598284d7c79d1111c68cc0e0f7c281d (patch) | |
tree | 07c2d0d0d218db6ddf32a8764732a00acfd6ae59 /sys/arm/mv/ic.c | |
parent | 9195421e5e6821c80ae6593124db55737a827f21 (diff) | |
download | FreeBSD-src-48f2ce50e598284d7c79d1111c68cc0e0f7c281d.zip FreeBSD-src-48f2ce50e598284d7c79d1111c68cc0e0f7c281d.tar.gz |
Convert Marvell ARM platforms to FDT convention.
The following systems are involved:
- DB-88F5182
- DB-88F5281
- DB-88F6281
- DB-78100
- SheevaPlug
This overhaul covers the following major changes:
- All integrated peripherals drivers for Marvell ARM SoC, which are
currently in the FreeBSD source tree are reworked and adjusted so they
derive config data out of the device tree blob (instead of hard coded /
tabelarized values).
- Since the common FDT infrastrucutre (fdtbus, simplebus) is used we say
good by to obio / mbus drivers and numerous hard-coded config data.
Note that world needs to be built WITH_FDT for the affected platforms.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation.
Diffstat (limited to 'sys/arm/mv/ic.c')
-rw-r--r-- | sys/arm/mv/ic.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/arm/mv/ic.c b/sys/arm/mv/ic.c index 8861dc1..83d43a1 100644 --- a/sys/arm/mv/ic.c +++ b/sys/arm/mv/ic.c @@ -40,6 +40,9 @@ __FBSDID("$FreeBSD$"); #include <machine/bus.h> #include <machine/intr.h> +#include <dev/ofw/ofw_bus.h> +#include <dev/ofw/ofw_bus_subr.h> + #include <arm/mv/mvreg.h> #include <arm/mv/mvvar.h> @@ -76,6 +79,9 @@ static int mv_ic_probe(device_t dev) { + if (!ofw_bus_is_compatible(dev, "mrvl,pic")) + return (ENXIO); + device_set_desc(dev, "Marvell Integrated Interrupt Controller"); return (0); } @@ -134,7 +140,7 @@ static driver_t mv_ic_driver = { static devclass_t mv_ic_devclass; -DRIVER_MODULE(ic, mbus, mv_ic_driver, mv_ic_devclass, 0, 0); +DRIVER_MODULE(ic, simplebus, mv_ic_driver, mv_ic_devclass, 0, 0); int arm_get_next_irq(int last __unused) |