diff options
author | ian <ian@FreeBSD.org> | 2014-10-26 03:52:45 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2014-10-26 03:52:45 +0000 |
commit | 839e78bb760f69a2429364064c3b8ebd4715c08f (patch) | |
tree | d2b9d0b3fe940305fc8d2c8a024e08664c3e607f /sys/arm/freescale | |
parent | 1ede59bf75201fe38de6e2eb3f949289e699f83b (diff) | |
download | FreeBSD-src-839e78bb760f69a2429364064c3b8ebd4715c08f.zip FreeBSD-src-839e78bb760f69a2429364064c3b8ebd4715c08f.tar.gz |
MFC r271595, r271601, r271607, r271630:
Add compat strings for all the flavors of GIC this driver should support.
Also allow the driver to attach to ofwbus as well as simplebus, some FDT
data puts the root interrupt controller on the root bus.
Add a common routine for parsing FDT data describing an ARM GIC interrupt.
Use gic_decode_fdt() rather than a local routine to parse fdt interrupt
properties. Move fdt_pic_table and fdt_fixup_table into imx6_machdep.c,
which means imx6 doesn't need imx_common.c anymore.
The private peripheral interrupts start at offset 16, not 0. Also, use
names rather than inline mystery constants for these offsets.
Diffstat (limited to 'sys/arm/freescale')
-rw-r--r-- | sys/arm/freescale/imx/files.imx6 | 1 | ||||
-rw-r--r-- | sys/arm/freescale/imx/imx6_machdep.c | 13 |
2 files changed, 13 insertions, 1 deletions
diff --git a/sys/arm/freescale/imx/files.imx6 b/sys/arm/freescale/imx/files.imx6 index 03c2f7e..351da22 100644 --- a/sys/arm/freescale/imx/files.imx6 +++ b/sys/arm/freescale/imx/files.imx6 @@ -23,7 +23,6 @@ arm/freescale/imx/imx6_ccm.c standard arm/freescale/imx/imx6_machdep.c standard arm/freescale/imx/imx6_mp.c optional smp arm/freescale/imx/imx6_pl310.c standard -arm/freescale/imx/imx_common.c standard arm/freescale/imx/imx_iomux.c standard arm/freescale/imx/imx_machdep.c standard arm/freescale/imx/imx_gpt.c standard diff --git a/sys/arm/freescale/imx/imx6_machdep.c b/sys/arm/freescale/imx/imx6_machdep.c index 3a01cd8..be0ae67 100644 --- a/sys/arm/freescale/imx/imx6_machdep.c +++ b/sys/arm/freescale/imx/imx6_machdep.c @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include <machine/bus.h> #include <machine/devmap.h> +#include <machine/intr.h> #include <machine/machdep.h> #include <arm/arm/mpcore_timervar.h> @@ -45,6 +46,18 @@ __FBSDID("$FreeBSD$"); #include <arm/freescale/imx/imx6_anatopvar.h> #include <arm/freescale/imx/imx_machdep.h> +#include <dev/fdt/fdt_common.h> +#include <dev/ofw/openfirm.h> + +struct fdt_fixup_entry fdt_fixup_table[] = { + { NULL, NULL } +}; + +fdt_pic_decode_t fdt_pic_table[] = { + &gic_decode_fdt, + NULL +}; + vm_offset_t initarm_lastaddr(void) { |