diff options
author | Warner Losh <imp@FreeBSD.org> | 2014-08-14 04:21:25 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2014-08-14 04:21:25 +0000 |
commit | 9a6e86e109b4ca6e296be9d3c6398d5162dc7911 (patch) | |
tree | df985bc88c4b2655df19b7e9832cbdee38cee4bc | |
parent | 66f2388712c5cbe5cc4bc26e28b2b74d4d158708 (diff) | |
download | src-9a6e86e109b4ca6e296be9d3c6398d5162dc7911.tar.gz src-9a6e86e109b4ca6e296be9d3c6398d5162dc7911.zip |
Add support for multipass to Atmel, for both FDT and !FDT cases.
Notes
Notes:
svn path=/head/; revision=269959
-rw-r--r-- | sys/arm/arm/nexus.c | 1 | ||||
-rw-r--r-- | sys/arm/at91/at91_aic.c | 12 | ||||
-rw-r--r-- | sys/arm/at91/at91_pit.c | 8 | ||||
-rw-r--r-- | sys/arm/at91/at91_pmc.c | 8 | ||||
-rw-r--r-- | sys/arm/at91/std.atmel | 2 |
5 files changed, 14 insertions, 17 deletions
diff --git a/sys/arm/arm/nexus.c b/sys/arm/arm/nexus.c index a66fc3e0135b..c38848628318 100644 --- a/sys/arm/arm/nexus.c +++ b/sys/arm/arm/nexus.c @@ -362,4 +362,3 @@ nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, return (interrupt); } #endif - diff --git a/sys/arm/at91/at91_aic.c b/sys/arm/at91/at91_aic.c index 0f1556c6fe57..f7489de2c4b4 100644 --- a/sys/arm/at91/at91_aic.c +++ b/sys/arm/at91/at91_aic.c @@ -176,13 +176,9 @@ static driver_t at91_aic_driver = { static devclass_t at91_aic_devclass; #ifdef FDT -DRIVER_MODULE(at91_aic, simplebus, at91_aic_driver, at91_aic_devclass, NULL, - NULL); -#else -DRIVER_MODULE(at91_aic, atmelarm, at91_aic_driver, at91_aic_devclass, NULL, - NULL); -#endif -/* not yet EARLY_DRIVER_MODULE(at91_aic, simplebus, at91_aic_driver, at91_aic_devclass, NULL, NULL, BUS_PASS_INTERRUPT); -*/ +#else +EARLY_DRIVER_MODULE(at91_aic, atmelarm, at91_aic_driver, at91_aic_devclass, + NULL, NULL, BUS_PASS_INTERRUPT); +#endif diff --git a/sys/arm/at91/at91_pit.c b/sys/arm/at91/at91_pit.c index 944c75ea2f9a..a4b58ebc3295 100644 --- a/sys/arm/at91/at91_pit.c +++ b/sys/arm/at91/at91_pit.c @@ -214,9 +214,9 @@ static driver_t at91_pit_driver = { static devclass_t at91_pit_devclass; #ifdef FDT -DRIVER_MODULE(at91_pit, simplebus, at91_pit_driver, at91_pit_devclass, NULL, - NULL); +EARLY_DRIVER_MODULE(at91_pit, simplebus, at91_pit_driver, at91_pit_devclass, + NULL, NULL, BUS_PASS_TIMER); #else -DRIVER_MODULE(at91_pit, atmelarm, at91_pit_driver, at91_pit_devclass, NULL, - NULL); +EARLY_DRIVER_MODULE(at91_pit, atmelarm, at91_pit_driver, at91_pit_devclass, + NULL, NULL, BUS_PASS_TIMER); #endif diff --git a/sys/arm/at91/at91_pmc.c b/sys/arm/at91/at91_pmc.c index 904709b36dbc..13d5ff7f7479 100644 --- a/sys/arm/at91/at91_pmc.c +++ b/sys/arm/at91/at91_pmc.c @@ -709,9 +709,9 @@ static driver_t at91_pmc_driver = { static devclass_t at91_pmc_devclass; #ifdef FDT -DRIVER_MODULE(at91_pmc, simplebus, at91_pmc_driver, at91_pmc_devclass, NULL, - NULL); +EARLY_DRIVER_MODULE(at91_pmc, simplebus, at91_pmc_driver, at91_pmc_devclass, + NULL, NULL, BUS_PASS_CPU); #else -DRIVER_MODULE(at91_pmc, atmelarm, at91_pmc_driver, at91_pmc_devclass, NULL, - NULL); +EARLY_DRIVER_MODULE(at91_pmc, atmelarm, at91_pmc_driver, at91_pmc_devclass, + NULL, NULL, BUS_PASS_CPU); #endif diff --git a/sys/arm/at91/std.atmel b/sys/arm/at91/std.atmel index 108cf545aced..fc1e968387c1 100644 --- a/sys/arm/at91/std.atmel +++ b/sys/arm/at91/std.atmel @@ -11,3 +11,5 @@ device at91sam9x5 # bring in the sam specific timers and such device at91sam9 + +options ARM_DEVICE_MULTIPASS |