Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upstream Allwinner
ARM SoC Support
Chen-Yu Tsai (wens)
This work is licensed under a Creative Commons Attribution-ShareAli...
Topics
• Allwinner SoCs
• U-boot Status
• Kernel Status
• U-boot Roadmap
• Kernel Roadmap
Allwinner SoCs
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...
Upstream?
• 3.4 kernel is very old
• Deprecated
• No support for new SoCs
• Probably no bugfixes
• Upstream has more featu...
U-boot Status
http://linux-sunxi.org/Mainline_U-Boot
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...
Upstream Kernel Status
http://linux-sunxi.org/Linux_mainlining_effort
Upstream kernel status
• Last year we had only basic support for old SoCs
• A10/A10s/A13/A20/A31
• Clocks, interrupts, uar...
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 Y...
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 (...
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 (P...
U-boot Roadmap
U-boot Roadmap
• New SoC support comes in 3 steps:
1. Get u-boot.bin going, this requires uart & mmc
support. This uses Al...
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 ...
Kernel roadmap
Kernel roadmap
• Real soon now (4.3)
• Hardware crypto engine
• USB OTG
• WIP
• A10 / A13 / A20 Audio codec support
• Raw ...
Kernel roadmap
• Planned
• KMS driver (Boris Brezillon)
• A80 companion ICs (AXP806/AXP809/AC100)
• Open tasks
• http://li...
Powered by Allwinner R8
Things to look forward to
• Next Thing Co. pledges Mainline support
• https://www.kickstarter.com/projects/1598272670/chip...
Past Sunxi Talks
• FOSDEM 2014 by Olliver Schinagl
• https://archive.fosdem.org/2014/schedule/event/arm_allwinner_sunxi_so...
Questions?
Thank You!
Check out http://linux-sunxi.org/ for more!
Upcoming SlideShare
Loading in …5
×

Upstream Allwinner ARM SoC (sunxi) Support

2,005 views

Published on

This is an update on Allwinner ARM SoC (sunxi) support in upstream Linux kernel and U-boot

Published in: Software
  • Be the first to comment

Upstream Allwinner ARM SoC (sunxi) Support

  1. 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/
  2. 2. Topics • Allwinner SoCs • U-boot Status • Kernel Status • U-boot Roadmap • Kernel Roadmap
  3. 3. Allwinner SoCs
  4. 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. 5. Upstream? • 3.4 kernel is very old • Deprecated • No support for new SoCs • Probably no bugfixes • Upstream has more features • Less maintenance work
  6. 6. U-boot Status http://linux-sunxi.org/Mainline_U-Boot
  7. 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
  8. 8. Upstream Kernel Status http://linux-sunxi.org/Linux_mainlining_effort
  9. 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. 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. 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. 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
  13. 13. U-boot Roadmap
  14. 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. 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
  16. 16. Kernel roadmap
  17. 17. Kernel roadmap • Real soon now (4.3) • Hardware crypto engine • USB OTG • WIP • A10 / A13 / A20 Audio codec support • Raw NAND support • RSB (Reduced Serial Bus) support • A80 SMP • H3 Bring-up • I2S • S/PDIF
  18. 18. Kernel roadmap • Planned • KMS driver (Boris Brezillon) • A80 companion ICs (AXP806/AXP809/AC100) • Open tasks • http://linux-sunxi.org/Mainlining_Effort#Left_to_be_done • Support your board
  19. 19. Powered by Allwinner R8
  20. 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. 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…
  22. 22. Questions?
  23. 23. Thank You! Check out http://linux-sunxi.org/ for more!

×