Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Feb 2016 14:15:32 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r295808 - head/sys/arm/allwinner
Message-ID:  <201602191415.u1JEFWQv012751@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602191415.u1JEFWQv012751>