summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorhkenken <hkenken@NetBSD.org>2018-06-05 08:03:28 +0000
committerhkenken <hkenken@NetBSD.org>2018-06-05 08:03:28 +0000
commit1849c043be8beecae5cc3ee7be7d6f5461bda6a7 (patch)
tree9c00240742b3651c8716fde73a4bf9cb5358beb8 /sys
parent586eea0a5a1db3d7008948a5faeaa25c2812ff7e (diff)
Rename ARM A9 Global Timer driver name to support fdt.
- Rename a9tmr to arma9tmr. - Add a9tmr_fdt.c based gtmr_fdt.c.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/arm/broadcom/bcm53xx_board.c6
-rw-r--r--sys/arch/arm/cortex/a9tmr.c35
-rw-r--r--sys/arch/arm/cortex/a9tmr_var.h9
-rw-r--r--sys/arch/arm/cortex/armperiph.c26
-rw-r--r--sys/arch/arm/cortex/files.cortex8
-rw-r--r--sys/arch/arm/fdt/a9tmr_fdt.c129
-rw-r--r--sys/arch/arm/fdt/files.fdt6
-rw-r--r--sys/arch/arm/zynq/zynq7000_board.c6
-rw-r--r--sys/arch/evbarm/amlogic/amlogic_machdep.c6
-rw-r--r--sys/arch/evbarm/beagle/beagle_machdep.c6
-rw-r--r--sys/arch/evbarm/conf/BCM5301X4
-rw-r--r--sys/arch/evbarm/conf/BCM563404
-rw-r--r--sys/arch/evbarm/conf/CUBOX-I4
-rw-r--r--sys/arch/evbarm/conf/DUOVERO4
-rw-r--r--sys/arch/evbarm/conf/GOLDENGATE4
-rw-r--r--sys/arch/evbarm/conf/HUMMINGBOARD4
-rw-r--r--sys/arch/evbarm/conf/NITROGEN6X4
-rw-r--r--sys/arch/evbarm/conf/ODROID-C14
-rw-r--r--sys/arch/evbarm/conf/PANDABOARD4
-rw-r--r--sys/arch/evbarm/conf/PARALLELLA4
-rw-r--r--sys/arch/evbarm/conf/ZEDBOARD4
-rw-r--r--sys/arch/evbarm/gumstix/gumstix_machdep.c4
-rw-r--r--sys/dev/DEVNAMES4
23 files changed, 218 insertions, 71 deletions
diff --git a/sys/arch/arm/broadcom/bcm53xx_board.c b/sys/arch/arm/broadcom/bcm53xx_board.c
index 98fb9bedf2b..ec721e7a30c 100644
--- a/sys/arch/arm/broadcom/bcm53xx_board.c
+++ b/sys/arch/arm/broadcom/bcm53xx_board.c
@@ -1,4 +1,4 @@
-/* $NetBSD: bcm53xx_board.c,v 1.23 2016/10/20 09:53:07 skrll Exp $ */
+/* $NetBSD: bcm53xx_board.c,v 1.24 2018/06/05 08:03:28 hkenken Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -35,7 +35,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: bcm53xx_board.c,v 1.23 2016/10/20 09:53:07 skrll Exp $");
+__KERNEL_RCSID(1, "$NetBSD: bcm53xx_board.c,v 1.24 2018/06/05 08:03:28 hkenken Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -615,7 +615,7 @@ bcm53xx_device_register(device_t self, void *aux)
* We need to tell the A9 Global/Watchdog Timer
* what frequency it runs at.
*/
- if (device_is_a(self, "a9tmr") || device_is_a(self, "a9wdt")) {
+ if (device_is_a(self, "arma9tmr") || device_is_a(self, "a9wdt")) {
/*
* This clock always runs at (arm_clk div 2) and only goes
* to timers that are part of the A9 MP core subsystem.
diff --git a/sys/arch/arm/cortex/a9tmr.c b/sys/arch/arm/cortex/a9tmr.c
index 3cc4f398547..1ad97c584cf 100644
--- a/sys/arch/arm/cortex/a9tmr.c
+++ b/sys/arch/arm/cortex/a9tmr.c
@@ -1,4 +1,4 @@
-/* $NetBSD: a9tmr.c,v 1.14 2015/07/24 05:20:01 ryo Exp $ */
+/* $NetBSD: a9tmr.c,v 1.15 2018/06/05 08:03:28 hkenken Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: a9tmr.c,v 1.14 2015/07/24 05:20:01 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: a9tmr.c,v 1.15 2018/06/05 08:03:28 hkenken Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -52,8 +52,6 @@ __KERNEL_RCSID(0, "$NetBSD: a9tmr.c,v 1.14 2015/07/24 05:20:01 ryo Exp $");
static int a9tmr_match(device_t, cfdata_t, void *);
static void a9tmr_attach(device_t, device_t, void *);
-static int clockhandler(void *);
-
static u_int a9tmr_get_timecount(struct timecounter *);
static struct a9tmr_softc a9tmr_sc;
@@ -69,7 +67,7 @@ static struct timecounter a9tmr_timecounter = {
.tc_next = NULL,
};
-CFATTACH_DECL_NEW(a9tmr, 0, a9tmr_match, a9tmr_attach, NULL, NULL);
+CFATTACH_DECL_NEW(arma9tmr, 0, a9tmr_match, a9tmr_attach, NULL, NULL);
static inline uint32_t
a9tmr_global_read(struct a9tmr_softc *sc, bus_size_t o)
@@ -126,7 +124,10 @@ a9tmr_attach(device_t parent, device_t self, void *aux)
* This runs at the ARM PERIPHCLOCK which should be 1/2 of the CPU clock.
* The MD code should have setup our frequency for us.
*/
- prop_dictionary_get_uint32(dict, "frequency", &sc->sc_freq);
+ if (!prop_dictionary_get_uint32(dict, "frequency", &sc->sc_freq)) {
+ dict = device_properties(parent);
+ prop_dictionary_get_uint32(dict, "frequency", &sc->sc_freq);
+ }
humanize_number(freqbuf, sizeof(freqbuf), sc->sc_freq, "Hz", 1000);
@@ -153,12 +154,14 @@ a9tmr_attach(device_t parent, device_t self, void *aux)
bus_space_subregion(sc->sc_memt, sc->sc_memh,
TMR_WDOG_BASE, TMR_WDOG_SIZE, &sc->sc_wdog_memh);
- sc->sc_global_ih = intr_establish(IRQ_A9TMR_PPI_GTIMER, IPL_CLOCK,
- IST_EDGE | IST_MPSAFE, clockhandler, NULL);
- if (sc->sc_global_ih == NULL)
- panic("%s: unable to register timer interrupt", __func__);
- aprint_normal_dev(sc->sc_dev, "interrupting on irq %d\n",
- IRQ_A9TMR_PPI_GTIMER);
+ if (mpcaa->mpcaa_irq != -1) {
+ sc->sc_global_ih = intr_establish(mpcaa->mpcaa_irq, IPL_CLOCK,
+ IST_EDGE | IST_MPSAFE, a9tmr_intr, NULL);
+ if (sc->sc_global_ih == NULL)
+ panic("%s: unable to register timer interrupt", __func__);
+ aprint_normal_dev(sc->sc_dev, "interrupting on irq %d\n",
+ mpcaa->mpcaa_irq);
+ }
}
static inline uint64_t
@@ -241,7 +244,7 @@ a9tmr_init_cpu_clock(struct cpu_info *ci)
}
void
-cpu_initclocks(void)
+a9tmr_cpu_initclocks(void)
{
struct a9tmr_softc * const sc = &a9tmr_sc;
@@ -312,12 +315,12 @@ a9tmr_delay(unsigned int n)
}
/*
- * clockhandler:
+ * a9tmr_intr:
*
* Handle the hardclock interrupt.
*/
-static int
-clockhandler(void *arg)
+int
+a9tmr_intr(void *arg)
{
struct clockframe * const cf = arg;
struct a9tmr_softc * const sc = &a9tmr_sc;
diff --git a/sys/arch/arm/cortex/a9tmr_var.h b/sys/arch/arm/cortex/a9tmr_var.h
index f7b9de2b5c3..55dec664bd8 100644
--- a/sys/arch/arm/cortex/a9tmr_var.h
+++ b/sys/arch/arm/cortex/a9tmr_var.h
@@ -1,4 +1,4 @@
-/* $NetBSD: a9tmr_var.h,v 1.4 2015/01/02 21:58:03 jmcneill Exp $ */
+/* $NetBSD: a9tmr_var.h,v 1.5 2018/06/05 08:03:28 hkenken Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -45,8 +45,15 @@ struct a9tmr_softc {
};
#ifdef _KERNEL
+#include "opt_arm_timer.h"
struct cpu_info;
void a9tmr_init_cpu_clock(struct cpu_info *);
+#ifdef __HAVE_GENERIC_CPU_INITCLOCKS
+void a9tmr_cpu_initclocks(void);
+#else
+#define a9tmr_cpu_initclocks cpu_initclocks
+#endif
+int a9tmr_intr(void *);
void a9tmr_update_freq(uint32_t);
void a9tmr_delay(unsigned int n);
#endif
diff --git a/sys/arch/arm/cortex/armperiph.c b/sys/arch/arm/cortex/armperiph.c
index 3b242ad4ced..2a1bfee79bf 100644
--- a/sys/arch/arm/cortex/armperiph.c
+++ b/sys/arch/arm/cortex/armperiph.c
@@ -31,7 +31,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: armperiph.c,v 1.12 2017/12/29 11:06:26 skrll Exp $");
+__KERNEL_RCSID(1, "$NetBSD: armperiph.c,v 1.13 2018/06/05 08:03:28 hkenken Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -62,11 +62,11 @@ struct armperiph_info {
#ifdef CPU_CORTEXA5
static const struct armperiph_info a5_devices[] = {
- { "armscu", 0x0000, 0 },
- { "armgic", 0x1000, 0x0100 },
- { "a9tmr", 0x0200, 0 },
- { "a9wdt", 0x0600, 0 },
- { "arml2cc", 0, 0 }, /* external; needs "offset" property */
+ { "armscu", 0x0000, 0 },
+ { "armgic", 0x1000, 0x0100 },
+ { "arma9tmr", 0x0200, 0 },
+ { "a9wdt", 0x0600, 0 },
+ { "arml2cc", 0, 0 }, /* external; needs "offset" property */
{ "", 0, 0 },
};
#endif
@@ -81,11 +81,11 @@ static const struct armperiph_info a7_devices[] = {
#ifdef CPU_CORTEXA9
static const struct armperiph_info a9_devices[] = {
- { "armscu", 0x0000, 0 },
- { "arml2cc", 0x2000, 0 },
- { "armgic", 0x1000, 0x0100 },
- { "a9tmr", 0x0200, 0 },
- { "a9wdt", 0x0600, 0 },
+ { "armscu", 0x0000, 0 },
+ { "arml2cc", 0x2000, 0 },
+ { "armgic", 0x1000, 0x0100 },
+ { "arma9tmr", 0x0200, 0 },
+ { "a9wdt", 0x0600, 0 },
{ "", 0, 0 },
};
#endif
@@ -229,6 +229,10 @@ armperiph_attach(device_t parent, device_t self, void *aux)
.mpcaa_off1 = cfg->cfg_devices[i].pi_off1,
.mpcaa_off2 = cfg->cfg_devices[i].pi_off2,
};
+#if defined(CPU_CORTEXA9)
+ if (strcmp(mpcaa.mpcaa_name, "arma9tmr") == 0)
+ mpcaa.mpcaa_irq = IRQ_A9TMR_PPI_GTIMER;
+#endif
#if defined(CPU_CORTEXA7) || defined(CPU_CORTEXA15) || defined(CPU_CORTEXA57)
if (strcmp(mpcaa.mpcaa_name, "armgtmr") == 0) {
mpcaa.mpcaa_irq = IRQ_GTMR_PPI_VTIMER;
diff --git a/sys/arch/arm/cortex/files.cortex b/sys/arch/arm/cortex/files.cortex
index 8e433e0b9da..231d08bf23d 100644
--- a/sys/arch/arm/cortex/files.cortex
+++ b/sys/arch/arm/cortex/files.cortex
@@ -1,4 +1,4 @@
-# $NetBSD: files.cortex,v 1.6 2017/05/28 00:32:46 jmcneill Exp $
+# $NetBSD: files.cortex,v 1.7 2018/06/05 08:03:28 hkenken Exp $
defflag opt_cpu_in_cksum.h NEON_IN_CKSUM
@@ -27,9 +27,9 @@ attach armgtmr at mpcorebus
file arch/arm/cortex/gtmr.c armgtmr
# A9 MPCore Global Timer
-device a9tmr
-attach a9tmr at mpcorebus
-file arch/arm/cortex/a9tmr.c a9tmr
+device arma9tmr
+attach arma9tmr at mpcorebus
+file arch/arm/cortex/a9tmr.c arma9tmr
# A9 MPcore Watchdog Timer
device a9wdt: sysmon_wdog
diff --git a/sys/arch/arm/fdt/a9tmr_fdt.c b/sys/arch/arm/fdt/a9tmr_fdt.c
new file mode 100644
index 00000000000..f4dc52442d6
--- /dev/null
+++ b/sys/arch/arm/fdt/a9tmr_fdt.c
@@ -0,0 +1,129 @@
+/* $NetBSD: a9tmr_fdt.c,v 1.1 2018/06/05 08:03:28 hkenken Exp $ */
+
+/*-
+ * Copyright (c) 2017 Jared McNeill <jmcneill@invisible.ca>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: a9tmr_fdt.c,v 1.1 2018/06/05 08:03:28 hkenken Exp $");
+
+#include <sys/param.h>
+#include <sys/bus.h>
+#include <sys/device.h>
+#include <sys/intr.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/kmem.h>
+
+#include <arm/cortex/a9tmr_intr.h>
+#include <arm/cortex/mpcore_var.h>
+#include <arm/cortex/a9tmr_var.h>
+
+#include <dev/fdt/fdtvar.h>
+#include <arm/fdt/arm_fdtvar.h>
+
+static int a9tmr_fdt_match(device_t, cfdata_t, void *);
+static void a9tmr_fdt_attach(device_t, device_t, void *);
+
+static void a9tmr_fdt_cpu_hatch(void *, struct cpu_info *);
+
+CFATTACH_DECL_NEW(a9tmr_fdt, 0, a9tmr_fdt_match, a9tmr_fdt_attach, NULL, NULL);
+
+static int
+a9tmr_fdt_match(device_t parent, cfdata_t cf, void *aux)
+{
+ const char * const compatible[] = {
+ "arm,cortex-a9-global-timer",
+ NULL
+ };
+ struct fdt_attach_args * const faa = aux;
+
+ return of_compatible(faa->faa_phandle, compatible) >= 0;
+}
+
+static void
+a9tmr_fdt_attach(device_t parent, device_t self, void *aux)
+{
+ struct fdt_attach_args * const faa = aux;
+ const int phandle = faa->faa_phandle;
+ bus_space_handle_t bsh;
+
+ struct clk *clk = fdtbus_clock_get_index(phandle, 0);
+ if (clk == NULL) {
+ aprint_error(": couldn't get clock\n");
+ return;
+ }
+ if (clk_enable(clk) != 0) {
+ aprint_error(": couldn't enable clock\n");
+ return;
+ }
+
+ uint32_t rate = clk_get_rate(clk);
+ prop_dictionary_t dict = device_properties(self);
+ prop_dictionary_set_uint32(dict, "frequency", rate);
+
+ char intrstr[128];
+ if (!fdtbus_intr_str(phandle, 0, intrstr, sizeof(intrstr))) {
+ aprint_error(": failed to decode interrupt\n");
+ return;
+ }
+
+ void *ih = fdtbus_intr_establish(phandle, 0, IPL_CLOCK,
+ FDT_INTR_MPSAFE, a9tmr_intr, NULL);
+ if (ih == NULL) {
+ aprint_error_dev(self, "couldn't install interrupt handler\n");
+ return;
+ }
+ aprint_normal_dev(self, "interrupting on %s\n", intrstr);
+
+ bus_addr_t addr;
+ bus_size_t size;
+ if (fdtbus_get_reg(phandle, 0, &addr, &size) != 0) {
+ aprint_error(": couldn't get distributor address\n");
+ return;
+ }
+ if (bus_space_map(faa->faa_bst, addr, size, 0, &bsh)) {
+ aprint_error(": couldn't map registers\n");
+ return;
+ }
+
+ struct mpcore_attach_args mpcaa = {
+ .mpcaa_name = "arma9tmr",
+ .mpcaa_memt = faa->faa_bst,
+ .mpcaa_memh = bsh,
+ .mpcaa_irq = -1,
+ };
+
+ config_found(self, &mpcaa, NULL);
+
+ arm_fdt_cpu_hatch_register(self, a9tmr_fdt_cpu_hatch);
+ arm_fdt_timer_register(a9tmr_cpu_initclocks);
+}
+
+static void
+a9tmr_fdt_cpu_hatch(void *priv, struct cpu_info *ci)
+{
+ a9tmr_init_cpu_clock(ci);
+}
diff --git a/sys/arch/arm/fdt/files.fdt b/sys/arch/arm/fdt/files.fdt
index 587ff42bcb0..1fba9a5c4a3 100644
--- a/sys/arch/arm/fdt/files.fdt
+++ b/sys/arch/arm/fdt/files.fdt
@@ -1,4 +1,4 @@
-# $NetBSD: files.fdt,v 1.15 2018/02/19 16:10:42 jmcneill Exp $
+# $NetBSD: files.fdt,v 1.16 2018/06/05 08:03:28 hkenken Exp $
include "dev/pckbport/files.pckbport"
@@ -13,6 +13,10 @@ device cpufreqdt
attach cpufreqdt at cpu with cpufreq_dt
file dev/fdt/cpufreq_dt.c cpufreq_dt
+device a9tmr: mpcorebus
+attach a9tmr at fdt with a9tmr_fdt
+file arch/arm/fdt/a9tmr_fdt.c a9tmr_fdt
+
device gtmr: mpcorebus
attach gtmr at fdt with gtmr_fdt
file arch/arm/fdt/gtmr_fdt.c gtmr_fdt
diff --git a/sys/arch/arm/zynq/zynq7000_board.c b/sys/arch/arm/zynq/zynq7000_board.c
index 6541f99d4ea..0a6a4c75ba8 100644
--- a/sys/arch/arm/zynq/zynq7000_board.c
+++ b/sys/arch/arm/zynq/zynq7000_board.c
@@ -1,4 +1,4 @@
-/* $NetBSD: zynq7000_board.c,v 1.2 2016/10/20 09:53:07 skrll Exp $ */
+/* $NetBSD: zynq7000_board.c,v 1.3 2018/06/05 08:03:28 hkenken Exp $ */
/*-
* Copyright (c) 2015 Genetec Corporation. All rights reserved.
* Written by Hashimoto Kenichi for Genetec Corporation.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: zynq7000_board.c,v 1.2 2016/10/20 09:53:07 skrll Exp $");
+__KERNEL_RCSID(1, "$NetBSD: zynq7000_board.c,v 1.3 2018/06/05 08:03:28 hkenken Exp $");
#include "opt_zynq.h"
#include "arml2cc.h"
@@ -124,7 +124,7 @@ zynq7000_device_register(device_t self, void *aux)
* We need to tell the A9 Global/Watchdog Timer
* what frequency it runs at.
*/
- if (device_is_a(self, "a9tmr") || device_is_a(self, "a9wdt")) {
+ if (device_is_a(self, "arma9tmr") || device_is_a(self, "a9wdt")) {
prop_dictionary_set_uint32(dict, "frequency",
666666666 / PERIPHCLK_N);
return;
diff --git a/sys/arch/evbarm/amlogic/amlogic_machdep.c b/sys/arch/evbarm/amlogic/amlogic_machdep.c
index 97dd7f7381f..c71e35a5c83 100644
--- a/sys/arch/evbarm/amlogic/amlogic_machdep.c
+++ b/sys/arch/evbarm/amlogic/amlogic_machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: amlogic_machdep.c,v 1.21 2015/08/08 13:54:05 jmcneill Exp $ */
+/* $NetBSD: amlogic_machdep.c,v 1.22 2018/06/05 08:03:28 hkenken Exp $ */
/*
* Machine dependent functions for kernel setup for TI OSK5912 board.
@@ -125,7 +125,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amlogic_machdep.c,v 1.21 2015/08/08 13:54:05 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amlogic_machdep.c,v 1.22 2018/06/05 08:03:28 hkenken Exp $");
#include "opt_machdep.h"
#include "opt_ddb.h"
@@ -525,7 +525,7 @@ amlogic_device_register(device_t self, void *aux)
* We need to tell the A9 Global/Watchdog Timer
* what frequency it runs at.
*/
- if (device_is_a(self, "a9tmr") || device_is_a(self, "a9wdt")) {
+ if (device_is_a(self, "arma9tmr") || device_is_a(self, "a9wdt")) {
prop_dictionary_set_uint32(dict, "frequency",
amlogic_get_rate_a9periph());
diff --git a/sys/arch/evbarm/beagle/beagle_machdep.c b/sys/arch/evbarm/beagle/beagle_machdep.c
index 80d2f306ac7..511d5f48058 100644
--- a/sys/arch/evbarm/beagle/beagle_machdep.c
+++ b/sys/arch/evbarm/beagle/beagle_machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: beagle_machdep.c,v 1.68 2016/10/20 09:53:08 skrll Exp $ */
+/* $NetBSD: beagle_machdep.c,v 1.69 2018/06/05 08:03:28 hkenken Exp $ */
/*
* Machine dependent functions for kernel setup for TI OSK5912 board.
@@ -125,7 +125,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: beagle_machdep.c,v 1.68 2016/10/20 09:53:08 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: beagle_machdep.c,v 1.69 2018/06/05 08:03:28 hkenken Exp $");
#include "opt_machdep.h"
#include "opt_ddb.h"
@@ -981,7 +981,7 @@ beagle_device_register(device_t self, void *aux)
* We need to tell the A9 Global/Watchdog Timer
* what frequency it runs at.
*/
- if (device_is_a(self, "a9tmr") || device_is_a(self, "a9wdt")) {
+ if (device_is_a(self, "arma9tmr") || device_is_a(self, "a9wdt")) {
/*
* This clock always runs at (arm_clk div 2) and only goes
* to timers that are part of the A9 MP core subsystem.
diff --git a/sys/arch/evbarm/conf/BCM5301X b/sys/arch/evbarm/conf/BCM5301X
index a682a4a4c02..96642e06c29 100644
--- a/sys/arch/evbarm/conf/BCM5301X
+++ b/sys/arch/evbarm/conf/BCM5301X
@@ -1,5 +1,5 @@
#
-# $NetBSD: BCM5301X,v 1.29 2017/09/14 07:58:40 mrg Exp $
+# $NetBSD: BCM5301X,v 1.30 2018/06/05 08:03:28 hkenken Exp $
#
# BCM5301X -- Broadcom BCM5301X Eval Board Kernel
#
@@ -171,7 +171,7 @@ cpu0 at mainbus?
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
-a9tmr0 at armperiph? # A9 Global Timer
+arma9tmr0 at armperiph? # A9 Global Timer
a9wdt0 at armperiph? flags 1 # A9 Watchdog Timer
# ChipCommonA Peripherals
diff --git a/sys/arch/evbarm/conf/BCM56340 b/sys/arch/evbarm/conf/BCM56340
index fbe81d8e99a..d374aae0c7f 100644
--- a/sys/arch/evbarm/conf/BCM56340
+++ b/sys/arch/evbarm/conf/BCM56340
@@ -1,5 +1,5 @@
#
-# $NetBSD: BCM56340,v 1.14 2017/09/14 07:58:40 mrg Exp $
+# $NetBSD: BCM56340,v 1.15 2018/06/05 08:03:28 hkenken Exp $
#
# BCM5301X -- Broadcom BCM5301X Eval Board Kernel
#
@@ -171,7 +171,7 @@ cpu0 at mainbus?
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
-a9tmr0 at armperiph? # A9 Global Timer
+arma9tmr0 at armperiph? # A9 Global Timer
a9wdt0 at armperiph? flags 1 # A9 Watchdog Timer
# ChipCommonA Peripherals
diff --git a/sys/arch/evbarm/conf/CUBOX-I b/sys/arch/evbarm/conf/CUBOX-I
index 8d4129956e9..d6647294d8c 100644
--- a/sys/arch/evbarm/conf/CUBOX-I
+++ b/sys/arch/evbarm/conf/CUBOX-I
@@ -1,4 +1,4 @@
-# $NetBSD: CUBOX-I,v 1.12 2017/11/09 05:57:23 hkenken Exp $
+# $NetBSD: CUBOX-I,v 1.13 2018/06/05 08:03:28 hkenken Exp $
#
# CuBox-i
# - http://www.solid-run.com/products/cubox-i-mini-computer/
@@ -198,7 +198,7 @@ cpu* at mainbus?
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
-a9tmr0 at armperiph? # A9 Global Timer
+arma9tmr0 at armperiph? # A9 Global Timer
#a9wdt0 at armperiph? flags 0 # A9 Watchdog Timer
axi0 at mainbus?
diff --git a/sys/arch/evbarm/conf/DUOVERO b/sys/arch/evbarm/conf/DUOVERO
index 5a1c447049d..c89d5b785b8 100644
--- a/sys/arch/evbarm/conf/DUOVERO
+++ b/sys/arch/evbarm/conf/DUOVERO
@@ -1,5 +1,5 @@
#
-# $NetBSD: DUOVERO,v 1.7 2018/03/13 06:21:59 ryo Exp $
+# $NetBSD: DUOVERO,v 1.8 2018/06/05 08:03:28 hkenken Exp $
#
# DUOOVERO -- Gumstix. Inc. DuoVero COMS platforms kernel
#
@@ -155,7 +155,7 @@ cpu* at mainbus?
armperiph0 at mainbus?
arml2cc0 at armperiph? # L2 Cache Controller
armgic0 at armperiph? # Interrupt Controller
-a9tmr0 at armperiph? # Global Timer
+arma9tmr0 at armperiph? # Global Timer
a9wdt0 at armperiph? # Watchdog
# L3 Interconnect
diff --git a/sys/arch/evbarm/conf/GOLDENGATE b/sys/arch/evbarm/conf/GOLDENGATE
index 8e311dada86..8f7ae5be530 100644
--- a/sys/arch/evbarm/conf/GOLDENGATE
+++ b/sys/arch/evbarm/conf/GOLDENGATE
@@ -1,5 +1,5 @@
#
-# $NetBSD: GOLDENGATE,v 1.16 2017/09/14 07:58:40 mrg Exp $
+# $NetBSD: GOLDENGATE,v 1.17 2018/06/05 08:03:28 hkenken Exp $
#
# GOLDENGATE -- Cortina GOLDENGATE Eval Board Kernel
#
@@ -167,7 +167,7 @@ cpu0 at mainbus?
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
-a9tmr0 at armperiph? # A9 Global Timer
+arma9tmr0 at armperiph? # A9 Global Timer
a9wdt0 at armperiph? flags 1 # A9 Watchdog Timer
# Peripherals
diff --git a/sys/arch/evbarm/conf/HUMMINGBOARD b/sys/arch/evbarm/conf/HUMMINGBOARD
index eeb9e0904ac..29267aff37b 100644
--- a/sys/arch/evbarm/conf/HUMMINGBOARD
+++ b/sys/arch/evbarm/conf/HUMMINGBOARD
@@ -1,5 +1,5 @@
#
-# $NetBSD: HUMMINGBOARD,v 1.3 2017/11/25 04:53:24 christos Exp $
+# $NetBSD: HUMMINGBOARD,v 1.4 2018/06/05 08:03:28 hkenken Exp $
#
# Hummingboard -- Freescale i.MX6 Eval Board Kernel
#
@@ -54,7 +54,7 @@ cpu* at mainbus?
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
-a9tmr0 at armperiph? # A9 Global Timer
+arma9tmr0 at armperiph? # A9 Global Timer
#a9wdt0 at armperiph? flags 0 # A9 Watchdog Timer
axi0 at mainbus?
diff --git a/sys/arch/evbarm/conf/NITROGEN6X b/sys/arch/evbarm/conf/NITROGEN6X
index ad734618f77..269605d3cb8 100644
--- a/sys/arch/evbarm/conf/NITROGEN6X
+++ b/sys/arch/evbarm/conf/NITROGEN6X
@@ -1,4 +1,4 @@
-# $NetBSD: NITROGEN6X,v 1.14 2017/11/09 05:57:23 hkenken Exp $
+# $NetBSD: NITROGEN6X,v 1.15 2018/06/05 08:03:28 hkenken Exp $
#
# Nitrogen6X
# - http://boundarydevices.com/products/nitrogen6x-board-imx6-arm-cortex-a9-sbc/
@@ -187,7 +187,7 @@ cpu* at mainbus?
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
-a9tmr0 at armperiph? # A9 Global Timer
+arma9tmr0 at armperiph? # A9 Global Timer
#a9wdt0 at armperiph? flags 0 # A9 Watchdog Timer
axi0 at mainbus?
diff --git a/sys/arch/evbarm/conf/ODROID-C1 b/sys/arch/evbarm/conf/ODROID-C1
index 776070eaea8..c3371b83e42 100644
--- a/sys/arch/evbarm/conf/ODROID-C1
+++ b/sys/arch/evbarm/conf/ODROID-C1
@@ -1,5 +1,5 @@
#
-# $NetBSD: ODROID-C1,v 1.22 2017/03/20 14:06:43 skrll Exp $
+# $NetBSD: ODROID-C1,v 1.23 2018/06/05 08:03:28 hkenken Exp $
#
# Hardkernel ODROID-C1 (Amlogic S805) based SBC (Single Board Computer)
#
@@ -24,7 +24,7 @@ cpu* at mainbus?
armperiph0 at mainbus?
arml2cc0 at armperiph? # L2 Cache Controller
armgic0 at armperiph? # Interrupt Controller
-a9tmr0 at armperiph? # Global Timer
+arma9tmr0 at armperiph? # Global Timer
a9wdt0 at armperiph? # Watchdog
# On-board I/O
diff --git a/sys/arch/evbarm/conf/PANDABOARD b/sys/arch/evbarm/conf/PANDABOARD
index 816406bddb9..a2f965ae3a2 100644
--- a/sys/arch/evbarm/conf/PANDABOARD
+++ b/sys/arch/evbarm/conf/PANDABOARD
@@ -1,5 +1,5 @@
#
-# $NetBSD: PANDABOARD,v 1.24 2017/09/14 07:58:40 mrg Exp $
+# $NetBSD: PANDABOARD,v 1.25 2018/06/05 08:03:28 hkenken Exp $
#
# PANDABOARD -- TI OMAP 4430 Eval Board Kernel
#
@@ -153,7 +153,7 @@ cpu0 at mainbus?
armperiph0 at mainbus?
arml2cc0 at armperiph? # L2 Cache Controller
armgic0 at armperiph? # Interrupt Controller
-a9tmr0 at armperiph? # Global Timer
+arma9tmr0 at armperiph? # Global Timer
a9wdt0 at armperiph? # Watchdog
# Specify the memory size in megabytes.
diff --git a/sys/arch/evbarm/conf/PARALLELLA b/sys/arch/evbarm/conf/PARALLELLA
index b06063664ce..3782e908353 100644
--- a/sys/arch/evbarm/conf/PARALLELLA
+++ b/sys/arch/evbarm/conf/PARALLELLA
@@ -1,5 +1,5 @@
#
-# $NetBSD: PARALLELLA,v 1.3 2017/11/25 04:53:24 christos Exp $
+# $NetBSD: PARALLELLA,v 1.4 2018/06/05 08:03:28 hkenken Exp $
#
# Parallella -- Xilinx Zynq Eval Board Kernel
#
@@ -58,7 +58,7 @@ cpu* at mainbus?
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
-a9tmr0 at armperiph? # A9 Global Timer
+arma9tmr0 at armperiph? # A9 Global Timer
#a9wdt0 at armperiph? flags 0 # A9 Watchdog Timer
axi0 at mainbus?
diff --git a/sys/arch/evbarm/conf/ZEDBOARD b/sys/arch/evbarm/conf/ZEDBOARD
index eb04592bd49..97ebcacf9f4 100644
--- a/sys/arch/evbarm/conf/ZEDBOARD
+++ b/sys/arch/evbarm/conf/ZEDBOARD
@@ -1,5 +1,5 @@
#
-# $NetBSD: ZEDBOARD,v 1.3 2017/11/25 04:53:24 christos Exp $
+# $NetBSD: ZEDBOARD,v 1.4 2018/06/05 08:03:28 hkenken Exp $
#
# ZedBoard -- Xilinx Zynq Eval Board Kernel
#
@@ -57,7 +57,7 @@ cpu* at mainbus?
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
-a9tmr0 at armperiph? # A9 Global Timer
+arma9tmr0 at armperiph? # A9 Global Timer
#a9wdt0 at armperiph? flags 0 # A9 Watchdog Timer
axi0 at mainbus?
diff --git a/sys/arch/evbarm/gumstix/gumstix_machdep.c b/sys/arch/evbarm/gumstix/gumstix_machdep.c
index 402d2db40ae..3afffa2a6d2 100644
--- a/sys/arch/evbarm/gumstix/gumstix_machdep.c
+++ b/sys/arch/evbarm/gumstix/gumstix_machdep.c
@@ -1,4 +1,4 @@
-/* $NetBSD: gumstix_machdep.c,v 1.58 2017/03/01 16:44:54 skrll Exp $ */
+/* $NetBSD: gumstix_machdep.c,v 1.59 2018/06/05 08:03:28 hkenken Exp $ */
/*
* Copyright (C) 2005, 2006, 2007 WIDE Project and SOUM Corporation.
* All rights reserved.
@@ -1051,7 +1051,7 @@ gumstix_device_register(device_t dev, void *aux)
{
prop_dictionary_t dict = device_properties(dev);
- if (device_is_a(dev, "a9tmr") ||
+ if (device_is_a(dev, "arma9tmr") ||
device_is_a(dev, "a9wdt")) {
/*
* We need to tell the A9 Global/Watchdog Timer
diff --git a/sys/dev/DEVNAMES b/sys/dev/DEVNAMES
index a46d54bf8ec..c5cd914f240 100644
--- a/sys/dev/DEVNAMES
+++ b/sys/dev/DEVNAMES
@@ -1,4 +1,4 @@
-# $NetBSD: DEVNAMES,v 1.310 2018/04/09 20:16:53 christos Exp $
+# $NetBSD: DEVNAMES,v 1.311 2018/06/05 08:03:29 hkenken Exp $
#
# This file contains all used device names and defined attributes in
# alphabetical order. New devices added to the system somewhere should first
@@ -13,7 +13,6 @@ a2kbbc amiga
a2kbbc amigappc
a34kbbc amiga
a34kbbc amigappc
-a9tmr arm
a9wdt arm
aac MI
abtn macppc
@@ -90,6 +89,7 @@ arbus evbmips
arc MI Attribute
arcmsr MI
aria MI
+arma9tmr arm
armgic arm
arml2cc arm
armperiph arm