Module Name: src
Committed By: matt
Date: Mon Apr 20 01:33:22 UTC 2015
Modified Files:
src/sys/arch/arm/allwinner: awin_board.c awin_gpio.c awin_io.c
awin_var.h awin_wdt.c files.awin
src/sys/arch/evbarm/awin: awin_machdep.c
Removed Files:
src/sys/arch/arm/allwinner: awin_space.c
Log Message:
Switch to armv7_generic bus_space.
To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/arm/allwinner/awin_board.c \
src/sys/arch/arm/allwinner/awin_var.h
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/allwinner/awin_gpio.c
cvs rdiff -u -r1.42 -r1.43 src/sys/arch/arm/allwinner/awin_io.c
cvs rdiff -u -r1.4 -r0 src/sys/arch/arm/allwinner/awin_space.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/allwinner/awin_wdt.c
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/arm/allwinner/files.awin
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/evbarm/awin/awin_machdep.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/allwinner/awin_board.c
diff -u src/sys/arch/arm/allwinner/awin_board.c:1.34 src/sys/arch/arm/allwinner/awin_board.c:1.35
--- src/sys/arch/arm/allwinner/awin_board.c:1.34 Mon Dec 22 00:07:24 2014
+++ src/sys/arch/arm/allwinner/awin_board.c Mon Apr 20 01:33:22 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: awin_board.c,v 1.34 2014/12/22 00:07:24 jmcneill Exp $ */
+/* $NetBSD: awin_board.c,v 1.35 2015/04/20 01:33:22 matt Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -36,7 +36,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: awin_board.c,v 1.34 2014/12/22 00:07:24 jmcneill Exp $");
+__KERNEL_RCSID(1, "$NetBSD: awin_board.c,v 1.35 2015/04/20 01:33:22 matt Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -128,9 +128,10 @@ static void
awin_cpu_clk(void)
{
struct cpu_info * const ci = curcpu();
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
#if defined(ALLWINNER_A80)
- const uint32_t c0cpux = bus_space_read_4(&awin_bs_tag, awin_core_bsh,
+ const uint32_t c0cpux = bus_space_read_4(bst, awin_core_bsh,
AWIN_A80_CCU_OFFSET + AWIN_A80_CCU_PLL_C0CPUX_CTRL_REG);
const u_int p = (c0cpux & AWIN_A80_CCU_PLL_CxCPUX_OUT_EXT_DIVP) ? 4 : 1;
const u_int n = __SHIFTOUT(c0cpux, AWIN_A80_CCU_PLL_CxCPUX_FACTOR_N);
@@ -140,7 +141,7 @@ awin_cpu_clk(void)
u_int reg = awin_chip_id() == AWIN_CHIP_ID_A31 ?
AWIN_A31_CPU_AXI_CFG_REG :
AWIN_CPU_AHB_APB0_CFG_REG;
- const uint32_t cpu0_cfg = bus_space_read_4(&awin_bs_tag, awin_core_bsh,
+ const uint32_t cpu0_cfg = bus_space_read_4(bst, awin_core_bsh,
AWIN_CCM_OFFSET + reg);
const u_int cpu_clk_sel = __SHIFTIN(cpu0_cfg, AWIN_CPU_CLK_SRC_SEL);
switch (__SHIFTOUT(cpu_clk_sel, AWIN_CPU_CLK_SRC_SEL)) {
@@ -151,7 +152,7 @@ awin_cpu_clk(void)
ci->ci_data.cpu_cc_freq = AWIN_REF_FREQ;
break;
case AWIN_CPU_CLK_SRC_SEL_PLL1: {
- const uint32_t pll1_cfg = bus_space_read_4(&awin_bs_tag,
+ const uint32_t pll1_cfg = bus_space_read_4(bst,
awin_core_bsh, AWIN_CCM_OFFSET + AWIN_PLL1_CFG_REG);
u_int p, n, k, m;
if (awin_chip_id() == AWIN_CHIP_ID_A31) {
@@ -180,6 +181,7 @@ void
awin_bootstrap(vaddr_t iobase, vaddr_t uartbase)
{
int error;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
#ifdef AWIN_CONSOLE_EARLY
uart_base = (volatile uint32_t *)uartbase;
@@ -187,21 +189,21 @@ awin_bootstrap(vaddr_t iobase, vaddr_t u
printf("Early console started\n");
#endif
- error = bus_space_map(&awin_bs_tag, AWIN_CORE_PBASE,
- AWIN_CORE_SIZE, 0, &awin_core_bsh);
+ error = bus_space_map(bst, AWIN_CORE_PBASE, AWIN_CORE_SIZE,
+ 0, &awin_core_bsh);
if (error)
panic("%s: failed to map awin %s registers: %d",
__func__, "io", error);
KASSERT(awin_core_bsh == iobase);
#ifdef ALLWINNER_A80
- error = bus_space_map(&awin_bs_tag, AWIN_A80_CORE2_PBASE,
- AWIN_A80_CORE2_SIZE, 0, &awin_core2_bsh);
+ error = bus_space_map(bst, AWIN_A80_CORE2_PBASE, AWIN_A80_CORE2_SIZE,
+ 0, &awin_core2_bsh);
if (error)
panic("%s: failed to map awin %s registers: %d",
__func__, "core2", error);
- error = bus_space_map(&awin_bs_tag, AWIN_A80_RCPUS_PBASE,
- AWIN_A80_RCPUS_SIZE, 0, &awin_rcpus_bsh);
+ error = bus_space_map(bst, AWIN_A80_RCPUS_PBASE, AWIN_A80_RCPUS_SIZE,
+ 0, &awin_rcpus_bsh);
if (error)
panic("%s: failed to map awin %s registers: %d",
__func__, "rcpus", error);
@@ -228,16 +230,16 @@ awin_bootstrap(vaddr_t iobase, vaddr_t u
uint32_t s[4];
unsigned int cpuno;
for (cpuno = 0; cpuno < 4; cpuno++) {
- s[cpuno] = bus_space_read_4(&awin_bs_tag, awin_core_bsh,
+ s[cpuno] = bus_space_read_4(bst, awin_core_bsh,
AWIN_A31_CPUCFG_OFFSET +
AWIN_A31_CPUCFG_STATUS_REG(cpuno));
}
printf("%s: cpu status: 0=%#x 1=%#x 2=%#x 3=%#x\n", __func__,
s[0], s[1], s[2], s[3]);
} else if (awin_chip_id() == AWIN_CHIP_ID_A20) {
- uint32_t s0 = bus_space_read_4(&awin_bs_tag, awin_core_bsh,
+ uint32_t s0 = bus_space_read_4(bst, awin_core_bsh,
AWIN_CPUCFG_OFFSET + AWIN_CPUCFG_CPU0_STATUS_REG);
- uint32_t s1 = bus_space_read_4(&awin_bs_tag, awin_core_bsh,
+ uint32_t s1 = bus_space_read_4(bst, awin_core_bsh,
AWIN_CPUCFG_OFFSET + AWIN_CPUCFG_CPU1_STATUS_REG);
printf("%s: cpu status: 0=%#x 1=%#x\n", __func__, s0, s1);
}
@@ -287,7 +289,7 @@ awin_memprobe(void)
#endif
memsize = 0;
} else {
- const uint32_t dcr = bus_space_read_4(&awin_bs_tag,
+ const uint32_t dcr = bus_space_read_4(&armv7_generic_bs_tag,
awin_core_bsh,
AWIN_DRAM_OFFSET + AWIN_DRAM_DCR_REG);
@@ -306,6 +308,7 @@ awin_memprobe(void)
uint16_t
awin_chip_id(void)
{
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
#if defined(ALLWINNER_A80)
bus_space_handle_t bsh = awin_core2_bsh;
#else
@@ -315,12 +318,12 @@ awin_chip_id(void)
uint32_t ver;
if (!chip_id) {
- ver = bus_space_read_4(&awin_bs_tag, bsh,
+ ver = bus_space_read_4(bst, bsh,
AWIN_SRAM_OFFSET + AWIN_SRAM_VER_REG);
ver |= AWIN_SRAM_VER_R_EN;
- bus_space_write_4(&awin_bs_tag, bsh,
+ bus_space_write_4(bst, bsh,
AWIN_SRAM_OFFSET + AWIN_SRAM_VER_REG, ver);
- ver = bus_space_read_4(&awin_bs_tag, bsh,
+ ver = bus_space_read_4(bst, bsh,
AWIN_SRAM_OFFSET + AWIN_SRAM_VER_REG);
chip_id = __SHIFTOUT(ver, AWIN_SRAM_VER_KEY_FIELD);
@@ -348,7 +351,7 @@ awin_chip_name(void)
void
awin_pll6_enable(void)
{
- bus_space_tag_t bst = &awin_bs_tag;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
bus_space_handle_t bsh = awin_core_bsh;
KASSERT(awin_chip_id() != AWIN_CHIP_ID_A80);
@@ -400,7 +403,7 @@ awin_pll6_enable(void)
void
awin_pll2_enable(void)
{
- bus_space_tag_t bst = &awin_bs_tag;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
bus_space_handle_t bsh = awin_core_bsh;
/*
@@ -445,7 +448,7 @@ awin_pll2_enable(void)
void
awin_pll3_enable(void)
{
- bus_space_tag_t bst = &awin_bs_tag;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
bus_space_handle_t bsh = awin_core_bsh;
/*
@@ -483,7 +486,7 @@ awin_pll3_enable(void)
void
awin_pll7_enable(void)
{
- bus_space_tag_t bst = &awin_bs_tag;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
bus_space_handle_t bsh = awin_core_bsh;
/*
@@ -521,7 +524,7 @@ awin_pll7_enable(void)
void
awin_pll3_set_rate(uint32_t rate)
{
- bus_space_tag_t bst = &awin_bs_tag;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
bus_space_handle_t bsh = awin_core_bsh;
const uint32_t ocfg = bus_space_read_4(bst, bsh,
@@ -564,7 +567,7 @@ awin_pll3_set_rate(uint32_t rate)
uint32_t
awin_pll5x_get_rate(void)
{
- bus_space_tag_t bst = &awin_bs_tag;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
bus_space_handle_t bsh = awin_core_bsh;
unsigned int n, k, p;
@@ -584,7 +587,7 @@ awin_pll5x_get_rate(void)
uint32_t
awin_pll6_get_rate(void)
{
- bus_space_tag_t bst = &awin_bs_tag;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
bus_space_handle_t bsh = awin_core_bsh;
unsigned int n, k, m;
@@ -609,7 +612,7 @@ awin_pll6_get_rate(void)
uint32_t
awin_periph0_get_rate(void)
{
- bus_space_tag_t bst = &awin_bs_tag;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
bus_space_handle_t bsh = awin_core_bsh;
unsigned int n, idiv, odiv;
Index: src/sys/arch/arm/allwinner/awin_var.h
diff -u src/sys/arch/arm/allwinner/awin_var.h:1.34 src/sys/arch/arm/allwinner/awin_var.h:1.35
--- src/sys/arch/arm/allwinner/awin_var.h:1.34 Mon Dec 22 00:07:24 2014
+++ src/sys/arch/arm/allwinner/awin_var.h Mon Apr 20 01:33:22 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: awin_var.h,v 1.34 2014/12/22 00:07:24 jmcneill Exp $ */
+/* $NetBSD: awin_var.h,v 1.35 2015/04/20 01:33:22 matt Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -90,8 +90,8 @@ struct awin_gpio_pindata {
struct awin_dma_channel;
-extern struct bus_space awin_bs_tag;
-extern struct bus_space awin_a4x_bs_tag;
+extern struct bus_space armv7_generic_bs_tag;
+extern struct bus_space armv7_generic_a4x_bs_tag;
extern bus_space_handle_t awin_core_bsh;
#if defined(ALLWINNER_A80)
extern bus_space_handle_t awin_core2_bsh;
Index: src/sys/arch/arm/allwinner/awin_gpio.c
diff -u src/sys/arch/arm/allwinner/awin_gpio.c:1.17 src/sys/arch/arm/allwinner/awin_gpio.c:1.18
--- src/sys/arch/arm/allwinner/awin_gpio.c:1.17 Sun Mar 15 13:15:26 2015
+++ src/sys/arch/arm/allwinner/awin_gpio.c Mon Apr 20 01:33:22 2015
@@ -35,7 +35,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: awin_gpio.c,v 1.17 2015/03/15 13:15:26 jmcneill Exp $");
+__KERNEL_RCSID(1, "$NetBSD: awin_gpio.c,v 1.18 2015/04/20 01:33:22 matt Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -245,7 +245,7 @@ static struct awin_gpio_softc {
bus_space_tag_t sc_bst;
bus_space_handle_t sc_bsh;
} awin_gpio_sc = {
- .sc_bst = &awin_bs_tag,
+ .sc_bst = &armv7_generic_bs_tag,
};
CFATTACH_DECL_NEW(awin_gpio, sizeof(struct awin_gpio_softc),
@@ -660,7 +660,7 @@ awin_gpio_pinset_acquire(const struct aw
/*
* Now update any config register that changed.
*/
- awin_gpio_update_cfg_regs(&awin_bs_tag, grp, &ncfg);
+ awin_gpio_update_cfg_regs(&armv7_generic_bs_tag, grp, &ncfg);
/*
* Mark all these pins as in use.
@@ -754,7 +754,7 @@ awin_gpio_pin_ctl(void *cookie, int pin,
/*
* Now update any config register that changed.
*/
- awin_gpio_update_cfg_regs(&awin_bs_tag, grp, &ncfg);
+ awin_gpio_update_cfg_regs(&armv7_generic_bs_tag, grp, &ncfg);
}
bool
Index: src/sys/arch/arm/allwinner/awin_io.c
diff -u src/sys/arch/arm/allwinner/awin_io.c:1.42 src/sys/arch/arm/allwinner/awin_io.c:1.43
--- src/sys/arch/arm/allwinner/awin_io.c:1.42 Tue Dec 23 13:34:40 2014
+++ src/sys/arch/arm/allwinner/awin_io.c Mon Apr 20 01:33:22 2015
@@ -31,7 +31,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: awin_io.c,v 1.42 2014/12/23 13:34:40 jmcneill Exp $");
+__KERNEL_RCSID(1, "$NetBSD: awin_io.c,v 1.43 2015/04/20 01:33:22 matt Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -219,8 +219,8 @@ awinio_attach(device_t parent, device_t
sc->sc_dev = self;
- sc->sc_bst = &awin_bs_tag;
- sc->sc_a4x_bst = &awin_a4x_bs_tag;
+ sc->sc_bst = &armv7_generic_bs_tag;
+ sc->sc_a4x_bst = &armv7_generic_a4x_bs_tag;
sc->sc_bsh = awin_core_bsh;
sc->sc_dmat = &awin_dma_tag;
sc->sc_coherent_dmat = &awin_coherent_dma_tag;
Index: src/sys/arch/arm/allwinner/awin_wdt.c
diff -u src/sys/arch/arm/allwinner/awin_wdt.c:1.6 src/sys/arch/arm/allwinner/awin_wdt.c:1.7
--- src/sys/arch/arm/allwinner/awin_wdt.c:1.6 Fri Dec 5 11:53:43 2014
+++ src/sys/arch/arm/allwinner/awin_wdt.c Mon Apr 20 01:33:22 2015
@@ -33,7 +33,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: awin_wdt.c,v 1.6 2014/12/05 11:53:43 jmcneill Exp $");
+__KERNEL_RCSID(1, "$NetBSD: awin_wdt.c,v 1.7 2015/04/20 01:33:22 matt Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -109,7 +109,7 @@ static struct awin_wdt_softc {
bus_size_t sc_ctrl_reg;
bus_size_t sc_mode_reg;
} awin_wdt_sc = {
- .sc_bst = &awin_bs_tag,
+ .sc_bst = &armv7_generic_bs_tag,
.sc_wdog_period = AWIN_WDT_PERIOD_DEFAULT,
};
@@ -266,6 +266,7 @@ void
awin_wdog_reset(void)
{
bus_size_t off;
+ bus_space_tag_t bst = &armv7_generic_bs_tag;
cpsid(I32_bit|F32_bit);
@@ -274,16 +275,16 @@ awin_wdog_reset(void)
case AWIN_CHIP_ID_A80:
off = awin_chip_id() == AWIN_CHIP_ID_A80 ?
AWIN_A80_TIMER_OFFSET : AWIN_TMR_OFFSET;
- bus_space_write_4(&awin_bs_tag, awin_core_bsh,
+ bus_space_write_4(bst, awin_core_bsh,
off + AWIN_A31_WDOG1_CFG_REG,
__SHIFTIN(AWIN_A31_WDOG_CFG_CONFIG_SYS,
AWIN_A31_WDOG_CFG_CONFIG));
- bus_space_write_4(&awin_bs_tag, awin_core_bsh,
+ bus_space_write_4(bst, awin_core_bsh,
off + AWIN_A31_WDOG1_MODE_REG,
AWIN_A31_WDOG_MODE_EN);
break;
default:
- bus_space_write_4(&awin_bs_tag, awin_core_bsh,
+ bus_space_write_4(bst, awin_core_bsh,
AWIN_TMR_OFFSET + AWIN_WDOG_MODE_REG,
AWIN_WDOG_MODE_EN | AWIN_WDOG_MODE_RST_EN);
break;
Index: src/sys/arch/arm/allwinner/files.awin
diff -u src/sys/arch/arm/allwinner/files.awin:1.30 src/sys/arch/arm/allwinner/files.awin:1.31
--- src/sys/arch/arm/allwinner/files.awin:1.30 Sun Apr 19 21:25:19 2015
+++ src/sys/arch/arm/allwinner/files.awin Mon Apr 20 01:33:22 2015
@@ -1,4 +1,4 @@
-# $NetBSD: files.awin,v 1.30 2015/04/19 21:25:19 matt Exp $
+# $NetBSD: files.awin,v 1.31 2015/04/20 01:33:22 matt Exp $
#
# Configuration info for Allwinner ARM Peripherals
#
@@ -12,7 +12,7 @@ file arch/arm/arm32/arm32_reboot.c
file arch/arm/arm32/irq_dispatch.S
file arch/arm/allwinner/awin_board.c
-file arch/arm/allwinner/awin_space.c
+file arch/arm/arm32/armv7_generic_space.c
file arch/arm/arm/bus_space_a4x.S
# Console parameters
Index: src/sys/arch/evbarm/awin/awin_machdep.c
diff -u src/sys/arch/evbarm/awin/awin_machdep.c:1.39 src/sys/arch/evbarm/awin/awin_machdep.c:1.40
--- src/sys/arch/evbarm/awin/awin_machdep.c:1.39 Tue Jan 6 00:52:26 2015
+++ src/sys/arch/evbarm/awin/awin_machdep.c Mon Apr 20 01:33:22 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: awin_machdep.c,v 1.39 2015/01/06 00:52:26 jmcneill Exp $ */
+/* $NetBSD: awin_machdep.c,v 1.40 2015/04/20 01:33:22 matt Exp $ */
/*
* Machine dependent functions for kernel setup for TI OSK5912 board.
@@ -125,7 +125,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: awin_machdep.c,v 1.39 2015/01/06 00:52:26 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: awin_machdep.c,v 1.40 2015/04/20 01:33:22 matt Exp $");
#include "opt_machdep.h"
#include "opt_ddb.h"
@@ -540,7 +540,7 @@ static const int conmode = CONMODE;
void
consinit(void)
{
- bus_space_tag_t bst = &awin_a4x_bs_tag;
+ bus_space_tag_t bst = &armv7_generic_a4x_bs_tag;
#if NCOM > 0
bus_space_handle_t bh;
#endif
@@ -638,7 +638,7 @@ awin_device_register(device_t self, void
* bus space used for the armcore regisers (which armperiph uses).
*/
struct mainbus_attach_args * const mb = aux;
- mb->mb_iot = &awin_bs_tag;
+ mb->mb_iot = &armv7_generic_bs_tag;
return;
}