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-all
mailing list