upstream allwinner arm soc (sunxi) support

23
Upstream Allwinner ARM SoC Support Chen-Yu Tsai (wens) s licensed under a Creative Commons Attribution-ShareAlike 3.0 Unpor inal Talk by Hans de Goede: s://archive.fosdem.org/2015/schedule/event/allwinner_upstream/

Upload: chen-yu-tsai

Post on 18-Aug-2015

1.139 views

Category:

Software


6 download

TRANSCRIPT

Page 1: Upstream Allwinner ARM SoC (sunxi) Support

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/

Page 2: Upstream Allwinner ARM SoC (sunxi) Support

Topics• Allwinner SoCs• U-boot Status• Kernel Status• U-boot Roadmap• Kernel Roadmap

Page 3: Upstream Allwinner ARM SoC (sunxi) Support

Allwinner SoCs

Page 4: Upstream Allwinner ARM SoC (sunxi) Support

Allwinner SoCsA10 A10s/

A13/R8A20 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

Page 5: Upstream Allwinner ARM SoC (sunxi) Support

Upstream?• 3.4 kernel is very old• Deprecated• No support for new SoCs• Probably no bugfixes

• Upstream has more features• Less maintenance work

Page 6: Upstream Allwinner ARM SoC (sunxi) Support

U-boot Statushttp://linux-sunxi.org/Mainline_U-Boot

Page 7: Upstream Allwinner ARM SoC (sunxi) Support

U-boot StatusFeb 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

Page 8: Upstream Allwinner ARM SoC (sunxi) Support

Upstream Kernel Status

http://linux-sunxi.org/Linux_mainlining_effort

Page 9: Upstream Allwinner ARM SoC (sunxi) Support

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

Page 10: Upstream Allwinner ARM SoC (sunxi) Support

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

Page 11: Upstream Allwinner ARM SoC (sunxi) Support

Linux v4.2 (Late Aug)A10 A13 A20 A31 A23 A33 A80

Boot Yes Yes Yes Yes Yes Yes YesSMP N/A N/A Yes (PSCI) Yes (PSCI) Yes (PSCI) Yes (PSCI) NoI2C Yes Yes Yes Yes Yes Yes YesSPI Yes Yes Yes Yes No (**) No (**) No (**)USB Host Yes Yes Yes Yes No No YesSATA Yes N/A Yes N/A N/A N/A N/AEthernet Yes Yes Yes No N/A N/A NoMMC Yes Yes Yes Yes Yes Yes YesDMA No No No Yes Yes Yes NoSimpleFB Yes Yes Yes Yes Yes Yes NoCpufreq Yes Yes Yes Yes No No No

Page 12: Upstream Allwinner ARM SoC (sunxi) Support

Linux v4.3 (planned)A10 A13 A20 A31 A23 A33 A80

Boot Yes Yes Yes Yes Yes Yes YesSMP N/A N/A Yes (PSCI) Yes (PSCI) Yes (PSCI) Yes (PSCI) NoI2C Yes Yes Yes Yes Yes Yes YesSPI Yes Yes Yes Yes No (**) No (**) No (**)USB Host Yes Yes Yes Yes Yes Yes YesSATA Yes N/A Yes N/A N/A N/A N/AEthernet Yes Yes Yes No N/A N/A NoMMC Yes Yes Yes Yes Yes Yes YesDMA No No No Yes Yes Yes NoSimpleFB Yes Yes Yes Yes Yes Yes NoCpufreq Yes Yes Yes Yes No No NoCrypto Yes Yes Yes Yes N/A No NoUSB OTG Yes Yes Yes Yes Yes Yes No

Page 13: Upstream Allwinner ARM SoC (sunxi) Support

U-boot Roadmap

Page 14: Upstream Allwinner ARM SoC (sunxi) Support

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.

Page 15: Upstream Allwinner ARM SoC (sunxi) Support

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

Page 16: Upstream Allwinner ARM SoC (sunxi) Support

Kernel roadmap

Page 17: Upstream Allwinner ARM SoC (sunxi) Support

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

Page 18: Upstream Allwinner ARM SoC (sunxi) Support

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

Page 19: Upstream Allwinner ARM SoC (sunxi) Support

Powered by Allwinner R8

Page 20: Upstream Allwinner ARM SoC (sunxi) Support

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

Page 21: Upstream Allwinner ARM SoC (sunxi) Support

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…

Page 22: Upstream Allwinner ARM SoC (sunxi) Support

Questions?

Page 23: Upstream Allwinner ARM SoC (sunxi) Support

Thank You!Check out http://linux-sunxi.org/ for more!