diff options
| author | hkenken <hkenken@NetBSD.org> | 2018-06-05 08:03:28 +0000 |
|---|---|---|
| committer | hkenken <hkenken@NetBSD.org> | 2018-06-05 08:03:28 +0000 |
| commit | 1849c043be8beecae5cc3ee7be7d6f5461bda6a7 (patch) | |
| tree | 9c00240742b3651c8716fde73a4bf9cb5358beb8 /sys | |
| parent | 586eea0a5a1db3d7008948a5faeaa25c2812ff7e (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.c | 6 | ||||
| -rw-r--r-- | sys/arch/arm/cortex/a9tmr.c | 35 | ||||
| -rw-r--r-- | sys/arch/arm/cortex/a9tmr_var.h | 9 | ||||
| -rw-r--r-- | sys/arch/arm/cortex/armperiph.c | 26 | ||||
| -rw-r--r-- | sys/arch/arm/cortex/files.cortex | 8 | ||||
| -rw-r--r-- | sys/arch/arm/fdt/a9tmr_fdt.c | 129 | ||||
| -rw-r--r-- | sys/arch/arm/fdt/files.fdt | 6 | ||||
| -rw-r--r-- | sys/arch/arm/zynq/zynq7000_board.c | 6 | ||||
| -rw-r--r-- | sys/arch/evbarm/amlogic/amlogic_machdep.c | 6 | ||||
| -rw-r--r-- | sys/arch/evbarm/beagle/beagle_machdep.c | 6 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/BCM5301X | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/BCM56340 | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/CUBOX-I | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/DUOVERO | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/GOLDENGATE | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/HUMMINGBOARD | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/NITROGEN6X | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/ODROID-C1 | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/PANDABOARD | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/PARALLELLA | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/ZEDBOARD | 4 | ||||
| -rw-r--r-- | sys/arch/evbarm/gumstix/gumstix_machdep.c | 4 | ||||
| -rw-r--r-- | sys/dev/DEVNAMES | 4 |
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 |
