svn commit: r261684 - head/sys/arm/at91
Warner Losh
imp at FreeBSD.org
Sun Feb 9 20:58:04 UTC 2014
Author: imp
Date: Sun Feb 9 20:58:03 2014
New Revision: 261684
URL: http://svnweb.freebsd.org/changeset/base/261684
Log:
Add FDT attachment.
Modified:
head/sys/arm/at91/at91_pmc.c
Modified: head/sys/arm/at91/at91_pmc.c
==============================================================================
--- head/sys/arm/at91/at91_pmc.c Sun Feb 9 20:57:26 2014 (r261683)
+++ head/sys/arm/at91/at91_pmc.c Sun Feb 9 20:58:03 2014 (r261684)
@@ -24,6 +24,8 @@
* SUCH DAMAGE.
*/
+#include "opt_platform.h"
+
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
@@ -49,6 +51,12 @@ __FBSDID("$FreeBSD$");
#include <arm/at91/at91_pmcreg.h>
#include <arm/at91/at91_pmcvar.h>
+#ifdef FDT
+#include <dev/fdt/fdt_common.h>
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
+#endif
+
static struct at91_pmc_softc {
bus_space_tag_t sc_st;
bus_space_handle_t sc_sh;
@@ -526,6 +534,8 @@ at91_pmc_init_clock(void)
uint32_t mckr;
uint32_t mdiv;
+ soc_info.soc_data->soc_clock_init();
+
main_clock = at91_pmc_sense_main_clock();
if (at91_is_sam9() || at91_is_sam9xe()) {
@@ -650,7 +660,10 @@ errout:
static int
at91_pmc_probe(device_t dev)
{
-
+#ifdef FDT
+ if (!ofw_bus_is_compatible(dev, "atmel,at91rm9200-pmc"))
+ return (ENXIO);
+#endif
device_set_desc(dev, "PMC");
return (0);
}
@@ -695,5 +708,10 @@ 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);
+#else
DRIVER_MODULE(at91_pmc, atmelarm, at91_pmc_driver, at91_pmc_devclass, NULL,
NULL);
+#endif
More information about the svn-src-head
mailing list