Merge tag 'sunxi-core-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorArnd Bergmann <arnd@arndb.de>
Thu, 20 Nov 2014 16:23:57 +0000 (17:23 +0100)
committerArnd Bergmann <arnd@arndb.de>
Thu, 20 Nov 2014 16:23:57 +0000 (17:23 +0100)
Pull "Allwinner Core Additions for 3.19" from Maxime Ripard:

This has mostly been about introducing A80 support

* tag 'sunxi-core-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
  ARM: sunxi: make sun6i SMP ops static
  ARM: sunxi: Select ARCH_HAS_RESET_CONTROLLER and RESET_CONTROLLER for sun9i
  Documentation: sunxi: Add A80 datasheet link
  devicetree: bindings: Document supported Allwinner sunxi SoCs
  ARM: sunxi: Introduce Allwinner A80 support
  devicetree: bindings: Add vendor prefix for Merrii Technology Co., Ltd.
  ARM: sunxi: Add debug uart used by sun9i (Allwinner A80)
  Documentation: sunxi: Update Allwinner SoC documentation (A31/A31s/A23)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Documentation/arm/sunxi/README
Documentation/devicetree/bindings/arm/sunxi.txt [new file with mode: 0644]
Documentation/devicetree/bindings/vendor-prefixes.txt
arch/arm/Kconfig.debug
arch/arm/mach-sunxi/Kconfig
arch/arm/mach-sunxi/platsmp.c
arch/arm/mach-sunxi/sunxi.c

index 7945238453edb58444f09938bc251150a2e4a0aa..e68d163df33dbcd7ea96a503528d047f5ac7855c 100644 (file)
@@ -37,16 +37,26 @@ SunXi family
           http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf
 
       - Allwinner A23
-        + Not Supported
+        + Datasheet
+          http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf
+        + User Manual
+          http://dl.linux-sunxi.org/A23/A23%20User%20Manual%20V1.0%2020130830.pdf
 
     * Quad ARM Cortex-A7 based SoCs
       - Allwinner A31 (sun6i)
         + Datasheet
-          http://dl.linux-sunxi.org/A31/A31%20Datasheet%20-%20v1.00%20(2012-12-24).pdf
+          http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20datasheet%20V1.3%2020131106.pdf
+        + User Manual
+          http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20user%20manual%20V1.1%2020130630.pdf
 
       - Allwinner A31s (sun6i)
         + Not Supported
+        + Datasheet
+          http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20datasheet%20V1.3%2020131106.pdf
+        + User Manual
+          http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20User%20Manual%20%20V1.0%2020130322.pdf
 
     * Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs
       - Allwinner A80
-        + Not Supported
\ No newline at end of file
+        + Datasheet
+         http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf
diff --git a/Documentation/devicetree/bindings/arm/sunxi.txt b/Documentation/devicetree/bindings/arm/sunxi.txt
new file mode 100644 (file)
index 0000000..42941fd
--- /dev/null
@@ -0,0 +1,12 @@
+Allwinner sunXi Platforms Device Tree Bindings
+
+Each device tree must specify which Allwinner SoC it uses,
+using one of the following compatible strings:
+
+  allwinner,sun4i-a10
+  allwinner,sun5i-a10s
+  allwinner,sun5i-a13
+  allwinner,sun6i-a31
+  allwinner,sun7i-a20
+  allwinner,sun8i-a23
+  allwinner,sun9i-a80
index 723999d737445274728bedde163d3534ca62339c..3da78a14e6c764ca5038dbd3b47ed4e9cbaac01b 100644 (file)
@@ -90,6 +90,7 @@ lltc  Linear Technology Corporation
 marvell        Marvell Technology Group Ltd.
 maxim  Maxim Integrated Products
 mediatek       MediaTek Inc.
+merrii Merrii Technology Co., Ltd.
 micrel Micrel Inc.
 microchip      Microchip Technology Inc.
 mitsubishi     Mitsubishi Electric Corporation
index 08707ef1ad84f3748eab1e7dd10334293920cbc7..1c4889dbc7142bc53a34e565ac1a33577275e518 100644 (file)
@@ -750,6 +750,14 @@ choice
                  Say Y here if you want kernel low-level debugging support
                  on SOCFPGA based platforms.
 
+       config DEBUG_SUN9I_UART0
+               bool "Kernel low-level debugging messages via sun9i UART0"
+               depends on MACH_SUN9I
+               select DEBUG_UART_8250
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on Allwinner A80 based platforms on the UART0.
+
        config DEBUG_SUNXI_UART0
                bool "Kernel low-level debugging messages via sunXi UART0"
                depends on ARCH_SUNXI
@@ -1142,6 +1150,7 @@ config DEBUG_UART_PHYS
        default 0x02530c00 if DEBUG_KEYSTONE_UART0
        default 0x02531000 if DEBUG_KEYSTONE_UART1
        default 0x03010fe0 if ARCH_RPC
+       default 0x07000000 if DEBUG_SUN9I_UART0
        default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
                                DEBUG_VEXPRESS_UART0_CA9
        default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
@@ -1231,6 +1240,7 @@ config DEBUG_UART_VIRT
        default 0xf2100000 if DEBUG_PXA_UART1
        default 0xf4090000 if ARCH_LPC32XX
        default 0xf4200000 if ARCH_GEMINI
+       default 0xf7000000 if DEBUG_SUN9I_UART0
        default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
                                DEBUG_S3C2410_UART0)
        default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
index 1aaa1e15ef70193b93f8afa402980957ad83d3ad..a77604fbaf257acef8e2c546dd267a5e2ef501af 100644 (file)
@@ -42,4 +42,11 @@ config MACH_SUN8I
        select MFD_SUN6I_PRCM
        select RESET_CONTROLLER
 
+config MACH_SUN9I
+       bool "Allwinner (sun9i) SoCs support"
+       default ARCH_SUNXI
+       select ARCH_HAS_RESET_CONTROLLER
+       select ARM_GIC
+       select RESET_CONTROLLER
+
 endif
index c53077bb8c3fb3ff07c79f3c3bfeca781a5c3cb1..e44d028555a4978b134d4ee5c7199c120d5f2d57 100644 (file)
@@ -116,7 +116,7 @@ static int sun6i_smp_boot_secondary(unsigned int cpu,
        return 0;
 }
 
-struct smp_operations sun6i_smp_ops __initdata = {
+static struct smp_operations sun6i_smp_ops __initdata = {
        .smp_prepare_cpus       = sun6i_smp_prepare_cpus,
        .smp_boot_secondary     = sun6i_smp_boot_secondary,
 };
index d7598aeed803c149c9b5a8dda30fc5363e6c7190..1f986758784a1d0673ce2d4206bb1e57b97c75f4 100644 (file)
@@ -63,3 +63,12 @@ static const char * const sun8i_board_dt_compat[] = {
 DT_MACHINE_START(SUN8I_DT, "Allwinner sun8i (A23) Family")
        .dt_compat      = sun8i_board_dt_compat,
 MACHINE_END
+
+static const char * const sun9i_board_dt_compat[] = {
+       "allwinner,sun9i-a80",
+       NULL,
+};
+
+DT_MACHINE_START(SUN9I_DT, "Allwinner sun9i Family")
+       .dt_compat      = sun9i_board_dt_compat,
+MACHINE_END