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)
 };

Reply via email to