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 <m...@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);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to