summaryrefslogtreecommitdiffstats
path: root/sys/arm/freescale
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-10-26 03:52:45 +0000
committerian <ian@FreeBSD.org>2014-10-26 03:52:45 +0000
commit839e78bb760f69a2429364064c3b8ebd4715c08f (patch)
treed2b9d0b3fe940305fc8d2c8a024e08664c3e607f /sys/arm/freescale
parent1ede59bf75201fe38de6e2eb3f949289e699f83b (diff)
downloadFreeBSD-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.imx61
-rw-r--r--sys/arm/freescale/imx/imx6_machdep.c13
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)
{
OpenPOWER on IntegriCloud