ARM Allwinner SoCs
==================

This document lists all the ARM Allwinner SoCs that are currently
supported in mainline by the Linux kernel. This document will also
provide links to documentation and/or datasheet for these SoCs.

SunXi family
------------
  Linux kernel mach directory: arch/arm/mach-sunxi

  Flavors:
    * ARM926 based SoCs
      - Allwinner F20 (sun3i)
        + Not Supported

    * ARM Cortex-A8 based SoCs
      - Allwinner A10 (sun4i)
        + Datasheet
	  http://dl.linux-sunxi.org/A10/A10%20Datasheet%20-%20v1.21%20%282012-04-06%29.pdf
	+ User Manual
	  http://dl.linux-sunxi.org/A10/A10%20User%20Manual%20-%20v1.20%20%282012-04-09%2c%20DECRYPTED%29.pdf

      - Allwinner A10s (sun5i)
        + Datasheet
          http://dl.linux-sunxi.org/A10s/A10s%20Datasheet%20-%20v1.20%20%282012-03-27%29.pdf

      - Allwinner A13 / R8 (sun5i)
        + Datasheet
	  http://dl.linux-sunxi.org/A13/A13%20Datasheet%20-%20v1.12%20%282012-03-29%29.pdf
        + User Manual
          http://dl.linux-sunxi.org/A13/A13%20User%20Manual%20-%20v1.2%20%282013-01-08%29.pdf

      - Next Thing Co GR8 (sun5i)

    * Dual ARM Cortex-A7 based SoCs
      - Allwinner A20 (sun7i)
        + User Manual
          http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf

      - Allwinner A23 (sun8i)
        + 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/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)
        + 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

      - Allwinner A33 (sun8i)
        + Datasheet
          http://dl.linux-sunxi.org/A33/A33%20Datasheet%20release%201.1.pdf
        + User Manual
          http://dl.linux-sunxi.org/A33/A33%20user%20manual%20release%201.1.pdf

      - Allwinner H3 (sun8i)
        + Datasheet
          http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf

    * Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs
      - Allwinner A80
        + Datasheet
	  http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf

    * Octa ARM Cortex-A7 based SoCs
      - Allwinner A83T
        + Datasheet
          https://github.com/allwinner-zh/documents/raw/master/A83T/A83T_Datasheet_v1.3_20150510.pdf
        + User Manual
          https://github.com/allwinner-zh/documents/raw/master/A83T/A83T_User_Manual_v1.5.1_20150513.pdf

    * Quad ARM Cortex-A53 based SoCs
      - Allwinner A64
        + Datasheet
          http://dl.linux-sunxi.org/A64/A64_Datasheet_V1.1.pdf
        + User Manual
          http://dl.linux-sunxi.org/A64/Allwinner%20A64%20User%20Manual%20v1.0.pdf
