Module Name: src
Committed By: riastradh
Date: Tue Dec 11 19:18:56 UTC 2012
Modified Files:
src/sys/arch/arm/omap: omap2_obio.c
Log Message:
Make the interrupt controller and PRCM critical for the AM335x.
This adds some more crufty #ifdefs to a mess that needs to be
rototilled, but it'll do to make progress for now.
To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/omap/omap2_obio.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/omap/omap2_obio.c
diff -u src/sys/arch/arm/omap/omap2_obio.c:1.16 src/sys/arch/arm/omap/omap2_obio.c:1.17
--- src/sys/arch/arm/omap/omap2_obio.c:1.16 Tue Dec 11 01:54:42 2012
+++ src/sys/arch/arm/omap/omap2_obio.c Tue Dec 11 19:18:56 2012
@@ -1,7 +1,7 @@
-/* $Id: omap2_obio.c,v 1.16 2012/12/11 01:54:42 khorben Exp $ */
+/* $Id: omap2_obio.c,v 1.17 2012/12/11 19:18:56 riastradh Exp $ */
/* adapted from: */
-/* $NetBSD: omap2_obio.c,v 1.16 2012/12/11 01:54:42 khorben Exp $ */
+/* $NetBSD: omap2_obio.c,v 1.17 2012/12/11 19:18:56 riastradh Exp $ */
/*
@@ -103,7 +103,7 @@
#include "opt_omap.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: omap2_obio.c,v 1.16 2012/12/11 01:54:42 khorben Exp $");
+__KERNEL_RCSID(0, "$NetBSD: omap2_obio.c,v 1.17 2012/12/11 19:18:56 riastradh Exp $");
#include "locators.h"
#include "obio.h"
@@ -177,6 +177,11 @@ obio_match(device_t parent, cfdata_t mat
return 1;
#endif
+#ifdef TI_AM335X
+ if (obio_attached == 0)
+ return 1;
+#endif
+
return 0;
}
@@ -221,6 +226,9 @@ obio_attach(device_t parent, device_t se
else if (mb->mb_iobase == OMAP2_OBIO_3_BASE)
obio_attached |= 8;
#endif
+#ifdef TI_AM335X
+ obio_attached = 1;
+#endif
/*
* Attach critical devices first.
@@ -370,6 +378,10 @@ static const struct {
#if 0
{ .name = "dmac", .addr = DMAC_BASE, .required = true },
#endif
+#if defined(TI_AM335X)
+ { .name = "omapicu", .addr = 0x48200000, .required = true },
+ { .name = "prcm", .addr = 0x44e00000, .required = true },
+#endif
};
static void