1. Upstream Allwinner
ARM SoC Support
Chen-Yu Tsai (wens)
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License
Original Talk by Hans de Goede:
https://archive.fosdem.org/2015/schedule/event/allwinner_upstream/
4. Allwinner SoCs
A10 A10s/
A13/R8
A20 A23 A31 A33 A80 A83
CPU A8 A8 2x A7 2x A7 4x A7 4x A7 4x A7 +
4x A15
8x A7
GPU Mali400 Mali400 Mali400 Mali400 PowerVR
SGX544
Mali400 PowerVR
G6320
PowerVR
SGX544
SATA Yes No Yes No No No No No
Eth Yes Yes (*) Yes No Yes No Yes Yes
HDMI Yes Yes (*) Yes No Yes No Yes Yes
* A10s only
5. Upstream?
• 3.4 kernel is very old
• Deprecated
• No support for new SoCs
• Probably no bugfixes
• Upstream has more features
• Less maintenance work
7. U-boot Status
Feb 2014 u-boot-sunxi Aug 2015 upstream u-boot
Upstream No (fork) Yes
A10/A13/A20 Yes Yes
A23/A31/A33 No Yes
A80 No WIP
PSCI (hyp / kvm) No A20/A23/A31/A33
Video output No HDMI, LCD, VGA & Composite
USB No Host & OTG
SATA No Yes
Eth Yes Yes
MMC Yes Yes
NAND No SPL
9. Upstream kernel status
• Last year we had only basic support for old SoCs
• A10/A10s/A13/A20/A31
• Clocks, interrupts, uart, ethernet
• Now we support (4.2)
• USB host (OHCI/EHCI), SATA
• A23/A33/A31s/A80 SoC, IR, tablet keys
• resistive touchscreens, CPUfreq
• MMC, proper rootfs
• Simplefb, using framebuffer setup by U-boot
10. Linux v3.16 (Aug 2014)
A10 A10s/A13 A20 A31
Basic (*) Yes Yes Yes Yes
SMP N/A N/A Yes (PSCI) Yes
I2C Yes Yes Yes Yes
SPI Yes Yes Yes Yes
USB Host Yes Yes Yes Yes
SATA Yes N/A Yes N/A
Ethernet Yes Yes Yes No
MMC Yes Yes Yes Yes
DMA No No No Yes
11. Linux v4.2 (Late Aug)
A10 A13 A20 A31 A23 A33 A80
Boot Yes Yes Yes Yes Yes Yes Yes
SMP N/A N/A Yes (PSCI) Yes (PSCI) Yes (PSCI) Yes (PSCI) No
I2C Yes Yes Yes Yes Yes Yes Yes
SPI Yes Yes Yes Yes No (**) No (**) No (**)
USB Host Yes Yes Yes Yes No No Yes
SATA Yes N/A Yes N/A N/A N/A N/A
Ethernet Yes Yes Yes No N/A N/A No
MMC Yes Yes Yes Yes Yes Yes Yes
DMA No No No Yes Yes Yes No
SimpleFB Yes Yes Yes Yes Yes Yes No
Cpufreq Yes Yes Yes Yes No No No
12. Linux v4.3 (planned)
A10 A13 A20 A31 A23 A33 A80
Boot Yes Yes Yes Yes Yes Yes Yes
SMP N/A N/A Yes (PSCI) Yes (PSCI) Yes (PSCI) Yes (PSCI) No
I2C Yes Yes Yes Yes Yes Yes Yes
SPI Yes Yes Yes Yes No (**) No (**) No (**)
USB Host Yes Yes Yes Yes Yes Yes Yes
SATA Yes N/A Yes N/A N/A N/A N/A
Ethernet Yes Yes Yes No N/A N/A No
MMC Yes Yes Yes Yes Yes Yes Yes
DMA No No No Yes Yes Yes No
SimpleFB Yes Yes Yes Yes Yes Yes No
Cpufreq Yes Yes Yes Yes No No No
Crypto Yes Yes Yes Yes N/A No No
USB OTG Yes Yes Yes Yes Yes Yes No
14. U-boot Roadmap
• New SoC support comes in 3 steps:
1. Get u-boot.bin going, this requires uart & mmc
support. This uses Allwinner's boot0 binary to
initialize DRAM and then load u-boot.bin
2. Figure out clock and PMIC initialization, reverse
engineer DRAM init (no docs), replace boot0 with SPL
3. Add support for Ethernet, USB, video out, etc.
15. U-boot Roadmap
• A80 support
• Step 1 is complete
• Can talk to the PMIC, but there are 2 of them and it is
not clear yet which voltage is hooked up to what
• DRAM controller looks significantly different from
previous models :|
• A83 support
• Docs & Hardware exist
• No one has started work on it
• H3 support WIP
20. Things to look forward to
• Next Thing Co. pledges Mainline support
• https://www.kickstarter.com/projects/1598272670/chip
-the-worlds-first-9-computer/posts/1247188
• Partnering with Free Electrons (*)
• More or less feature complete kernel by next year
• Display, Audio, Storage, Network
• No 3D, hardware decoding or fancy display
21. Past Sunxi Talks
• FOSDEM 2014 by Olliver Schinagl
• https://archive.fosdem.org/2014/schedule/event/arm_allwinner_sunxi_socs/
• FOSDEM 2014 by Luc Verhaegen
• https://archive.fosdem.org/2014/schedule/event/sunxi_kms/
• ELC 2014 by Maxime Ripard
• https://lwn.net/Articles/597916/
• OSDC 2014 Lightning Talk by me
• http://www.slideshare.net/wens213/osdc-lightning-talk-sunxi
• FOSDEM 2015 by Hans de Goede
• https://archive.fosdem.org/2015/schedule/event/allwinner_upstream/
• Maybe more…