svn commit: r295808 - head/sys/arm/allwinner

Andrew Turner andrew at FreeBSD.org
Fri Feb 19 14:15:33 UTC 2016


Author: andrew
Date: Fri Feb 19 14:15:31 2016
New Revision: 295808
URL: https://svnweb.freebsd.org/changeset/base/295808

Log:
  Add initial support for the Allwinner A31i and A31s. This just adds the
  FDT platform code to detect when we are booting on one of these SoCs. The
  driver changes will be added shortly.
  
  Submitted by:	Emmanuel Vadot <manu at bidouilliste.com>
  Differential Revision:	https://reviews.freebsd.org/D5338

Modified:
  head/sys/arm/allwinner/allwinner_machdep.c
  head/sys/arm/allwinner/allwinner_machdep.h

Modified: head/sys/arm/allwinner/allwinner_machdep.c
==============================================================================
--- head/sys/arm/allwinner/allwinner_machdep.c	Fri Feb 19 14:05:28 2016	(r295807)
+++ head/sys/arm/allwinner/allwinner_machdep.c	Fri Feb 19 14:15:31 2016	(r295808)
@@ -75,6 +75,23 @@ a20_attach(platform_t plat)
 	return (0);
 }
 
+static int
+a31_attach(platform_t plat)
+{
+	soc_type = ALLWINNERSOC_A31;
+	soc_family = ALLWINNERSOC_SUN6I;
+
+	return (0);
+}
+
+static int
+a31s_attach(platform_t plat)
+{
+	soc_type = ALLWINNERSOC_A31S;
+	soc_family = ALLWINNERSOC_SUN6I;
+
+	return (0);
+}
 
 static vm_offset_t
 allwinner_lastaddr(platform_t plat)
@@ -138,6 +155,22 @@ static platform_method_t a20_methods[] =
 	PLATFORMMETHOD_END,
 };
 
+static platform_method_t a31_methods[] = {
+	PLATFORMMETHOD(platform_attach,         a31_attach),
+	PLATFORMMETHOD(platform_lastaddr,       allwinner_lastaddr),
+	PLATFORMMETHOD(platform_devmap_init,    allwinner_devmap_init),
+
+	PLATFORMMETHOD_END,
+};
+
+static platform_method_t a31s_methods[] = {
+	PLATFORMMETHOD(platform_attach,         a31s_attach),
+	PLATFORMMETHOD(platform_lastaddr,       allwinner_lastaddr),
+	PLATFORMMETHOD(platform_devmap_init,    allwinner_devmap_init),
+
+	PLATFORMMETHOD_END,
+};
+
 u_int
 allwinner_soc_type(void)
 {
@@ -152,3 +185,5 @@ allwinner_soc_family(void)
 
 FDT_PLATFORM_DEF(a10, "a10", 0, "allwinner,sun4i-a10");
 FDT_PLATFORM_DEF(a20, "a20", 0, "allwinner,sun7i-a20");
+FDT_PLATFORM_DEF(a31, "a31", 0, "allwinner,sun6i-a31");
+FDT_PLATFORM_DEF(a31s, "a31s", 0, "allwinner,sun6i-a31s");

Modified: head/sys/arm/allwinner/allwinner_machdep.h
==============================================================================
--- head/sys/arm/allwinner/allwinner_machdep.h	Fri Feb 19 14:05:28 2016	(r295807)
+++ head/sys/arm/allwinner/allwinner_machdep.h	Fri Feb 19 14:15:31 2016	(r295808)
@@ -34,9 +34,12 @@
 #define	ALLWINNERSOC_A13	0x13000000
 #define	ALLWINNERSOC_A10S	0x10000001
 #define	ALLWINNERSOC_A20	0x20000000
+#define	ALLWINNERSOC_A31	0x31000000
+#define	ALLWINNERSOC_A31S	0x31000001
 
 #define	ALLWINNERSOC_SUN4I	0x40000000
 #define	ALLWINNERSOC_SUN5I	0x50000000
+#define	ALLWINNERSOC_SUN6I	0x60000000
 #define	ALLWINNERSOC_SUN7I	0x70000000
 
 u_int allwinner_soc_type(void);


More information about the svn-src-head mailing list