Module Name: src Committed By: jmcneill Date: Tue Sep 9 13:56:30 UTC 2014
Modified Files: src/sys/arch/arm/allwinner: awin_io.c awin_var.h Log Message: initial A31 support To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/allwinner/awin_io.c cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/allwinner/awin_var.h 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_io.c diff -u src/sys/arch/arm/allwinner/awin_io.c:1.12 src/sys/arch/arm/allwinner/awin_io.c:1.13 --- src/sys/arch/arm/allwinner/awin_io.c:1.12 Sun Sep 7 22:22:35 2014 +++ src/sys/arch/arm/allwinner/awin_io.c Tue Sep 9 13:56:30 2014 @@ -31,7 +31,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(1, "$NetBSD: awin_io.c,v 1.12 2014/09/07 22:22:35 jmcneill Exp $"); +__KERNEL_RCSID(1, "$NetBSD: awin_io.c,v 1.13 2014/09/09 13:56:30 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -88,6 +88,7 @@ awinio_print(void *aux, const char *pnp) #define AANY 0 #define A10 AWINIO_ONLY_A10 #define A20 AWINIO_ONLY_A20 +#define A31 AWINIO_ONLY_A31 #define REQ AWINIO_REQUIRED static const struct awin_locators awin_locators[] = { @@ -123,7 +124,7 @@ static const struct awin_locators awin_l { "spi", OFFANDSIZE(SPI2), 1, AWIN_IRQ_SPI2, AANY }, { "spi", OFFANDSIZE(SPI3), 3, AWIN_IRQ_SPI3, AANY }, { "awe", OFFANDSIZE(EMAC), NOPORT, AWIN_IRQ_EMAC, AANY }, - { "awge", AWIN_GMAC_OFFSET, AWIN_GMAC_SIZE, NOPORT, AWIN_IRQ_GMAC, A20 }, + { "awge", OFFANDSIZE(GMAC), NOPORT, AWIN_IRQ_GMAC, A20|A31 }, { "awincrypto", OFFANDSIZE(SS), NOPORT, AWIN_IRQ_SS, AANY }, { "awinac", OFFANDSIZE(AC), NOPORT, AWIN_IRQ_AC, AANY }, }; @@ -150,6 +151,7 @@ awinio_attach(device_t parent, device_t const char *chip_name = awin_chip_name(); const bool a10_p = chip_id == AWIN_CHIP_ID_A10; const bool a20_p = chip_id == AWIN_CHIP_ID_A20; + const bool a31_p = chip_id == AWIN_CHIP_ID_A31; prop_dictionary_t dict = device_properties(self); sc->sc_dev = self; @@ -186,6 +188,8 @@ awinio_attach(device_t parent, device_t continue; if (a20_p && !(loc->loc_flags & AWINIO_ONLY_A20)) continue; + if (a31_p && !(loc->loc_flags & AWINIO_ONLY_A31)) + continue; } struct awinio_attach_args aio = { Index: src/sys/arch/arm/allwinner/awin_var.h diff -u src/sys/arch/arm/allwinner/awin_var.h:1.14 src/sys/arch/arm/allwinner/awin_var.h:1.15 --- src/sys/arch/arm/allwinner/awin_var.h:1.14 Sun Sep 7 22:21:36 2014 +++ src/sys/arch/arm/allwinner/awin_var.h Tue Sep 9 13:56:30 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: awin_var.h,v 1.14 2014/09/07 22:21:36 jmcneill Exp $ */ +/* $NetBSD: awin_var.h,v 1.15 2014/09/09 13:56:30 jmcneill Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. @@ -47,6 +47,7 @@ struct awin_locators { int loc_flags; #define AWINIO_REQUIRED __BIT(8) #define AWINIO_ONLY __BITS(7,0) +#define AWINIO_ONLY_A31 __BIT(2) #define AWINIO_ONLY_A20 __BIT(1) #define AWINIO_ONLY_A10 __BIT(0) };