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