ARM: Allwinner sunxi SoC's and the community behind it FOSDEM2014 - - PowerPoint PPT Presentation

arm allwinner sunxi soc s
SMART_READER_LITE
LIVE PREVIEW

ARM: Allwinner sunxi SoC's and the community behind it FOSDEM2014 - - PowerPoint PPT Presentation

ARM: Allwinner sunxi SoC's and the community behind it FOSDEM2014 ULB K.1.105 2014-02-02 11:00 11:50 Olliver M. Schinagl <oliver@schinagl.nl> What is sunxi? FEX About me Hardware Allwinner history Allwinner


slide-1
SLIDE 1

ARM: Allwinner sunxi SoC's

and the community behind it

FOSDEM2014 ULB K.1.105 2014-02-02 11:00 – 11:50 Olliver M. Schinagl <oliver@schinagl.nl>

slide-2
SLIDE 2
  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-3
SLIDE 3

What is a sunxi?

slide-4
SLIDE 4

Sunxi is not sushi!

slide-5
SLIDE 5

What is sunxi?

slide-6
SLIDE 6

What is sunxi?

slide-7
SLIDE 7

What is sunxi?

A System on a Chip (SoC)

slide-8
SLIDE 8

The sun architectures

sun? sunii sun3i sun4i

slide-9
SLIDE 9

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-10
SLIDE 10

About me

  • Linux enthusiast, admin and user for 15+ years
  • Sunxi user/dev for 1 ½ years
  • Official DTV-Scan-files maintainer
  • Small time kernel contributer
  • Writing about sunxi (Packt Publishing) ~july
slide-11
SLIDE 11

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-12
SLIDE 12

AW History

slide-13
SLIDE 13

AW Corporate History

  • Founded in 2007
  • 550 Employees
  • 450+ Engineers (50% Master's)
  • Zhuhai, Shenzhen, Hong Kong
slide-14
SLIDE 14

AW 2013 Market Share

slide-15
SLIDE 15

AW Product History

  • Initially Power Management Units (PMU) 2007 - 2010
  • AXP152, AXP209 and many more
slide-16
SLIDE 16

AW Product History

  • F-series (sunii?, sun3i) (2010)
  • A10 (2011)
  • A13, A10s (2012)
  • A20 (2013)
slide-17
SLIDE 17

AW Marketing

slide-18
SLIDE 18

AW Product History

slide-19
SLIDE 19

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-20
SLIDE 20

Community History

slide-21
SLIDE 21

Rhombus-Tech, early-days

  • Community gathering around EOMA68 board ~2010
  • #arm-netbook @freenode, @lists.phcomp.co.uk
slide-22
SLIDE 22

Sunxi-community

  • Growing steadily!
  • 600+ Mailing list users and ~130 IRC users
  • ~20 active developers
slide-23
SLIDE 23

Where to find us

http://linux-sunxi.org #linux-sunxi @free-node dev@linux-sunxi.org

slide-24
SLIDE 24

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-25
SLIDE 25

The Bootloader

  • U-Boot (lichee) NAND-only (requires boot0/boot1)
  • U-Boot (sunxi) MMC-only
  • Barebox
  • Coreboot (very early)
slide-26
SLIDE 26

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-27
SLIDE 27

The OS

  • Linux
  • FreeBSD
  • Tizen
  • Firefox OS
  • Minix
slide-28
SLIDE 28

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-29
SLIDE 29

The Distro

  • Fedora 18/19
  • Linaro (Arm Linux Internet Platform)
  • Arch / Gentoo
  • Mer / Kali
  • Debian / (X)ubuntu (debootstrap)
  • (Xen)
  • and of course not Android
slide-30
SLIDE 30

No Android?

  • No community android
  • Replicant/Cyanogen WiP
  • AW SDK Android

– Violating blobs (touchscreen mostly) – Violating bootloader (but not needed)

slide-31
SLIDE 31

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-32
SLIDE 32

The Kernel

  • Lichee

– 3.0 – 3.3 – 3.4 with a sprinkle of 3.8

  • Sunxi

– (stage)-3.0 – (stage)-3.4 – experimental-3.10 – mainline

slide-33
SLIDE 33

Sunxi-3.0

  • DEPRECIATED
  • Possibly still needed – touschreen blobs!
slide-34
SLIDE 34

Sunxi-3.4

  • Mostly in 'maintenance state'
  • Patches backported from lichee kernels and upstream
  • Lots and lots and lots of bugfixes
  • Minimal cleanups
slide-35
SLIDE 35

Experimental-3.10

  • Long Term Support (LTS)
  • Android 5.0 likely
  • Actual mainline support
  • Later patches backported
  • Features! (KVM, CMA, etc)
slide-36
SLIDE 36

Mainline

  • All community work!
  • Upstream
  • sunxi-devel
  • sunxi-next
slide-37
SLIDE 37

Mainline support

  • CPU
  • Interrupt Controller (AW (sun4i/sun6i) / GIC (sun7i))
  • Timer
  • RTC
  • Watchdog
  • Ethernet
  • I2C
slide-38
SLIDE 38

Mainline status

http://linux-sunxi.org/Mainlining_Effort

slide-39
SLIDE 39

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-40
SLIDE 40

FEX

  • ini-style config
  • driver parses ini to configure itself
  • No Magic!
  • Might predate device tree
  • Origins in Melis, AW's OS before Linux
  • Still important
  • Replaced by DT in mainline
  • A happy couple in experimental-3.10
slide-41
SLIDE 41

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-42
SLIDE 42

Hardware

  • Various development platforms (even OSHW!)
slide-43
SLIDE 43

OSHW: Olimex Lime

slide-44
SLIDE 44

OSHW: Olimex

slide-45
SLIDE 45

Open Schematic HW: Cubietech

slide-46
SLIDE 46

Could be OSHW: EOMA68

slide-47
SLIDE 47

Hardware

  • Various development platforms (even OSHW!)
  • Gigantic number of consumer tablets/sticks!
slide-48
SLIDE 48

Consumer hardware

slide-49
SLIDE 49

Hardware

  • Various development platforms (even OSHW!)
  • Gigantic number of consumer tablets/sticks!
  • Very easy to hack on, always unbrickable!

– Always boots from MMC first – 'FEL'-mode can inject over USB

slide-50
SLIDE 50

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-51
SLIDE 51

SoC's

  • Various generations now
slide-52
SLIDE 52

That is sunxi!

A20

sun7i

A13

sun5i

A10s

sun5i

A10

sun4i

slide-53
SLIDE 53

SoC's

  • Various generations now
  • Open source drivers for most components
  • Theoretically FSF endorsable
slide-54
SLIDE 54

That is sunxi!

A20

sun7i

A13

sun5i

A10s

sun5i

A10

sun4i

slide-55
SLIDE 55

Uh-oh

A20

sun7i

A13

sun5i

A10s

sun5i

A10

sun4i

slide-56
SLIDE 56

PowerVR

A31(s) / A80

sun6i / sun8i

slide-57
SLIDE 57

SoC's

  • Various generations now
  • Open source drivers for most components
  • Theoretically FSF endorsable
  • But PowerVR → No A31(s), A80 support
slide-58
SLIDE 58

A23 status

  • Only 1 dev with a tablet
  • SDK without bootloader source
  • No memory init
  • Mali (Lima)
slide-59
SLIDE 59

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-60
SLIDE 60

Closed blobs

slide-61
SLIDE 61

Closed blobs

  • Mali (GPU, 3D)
slide-62
SLIDE 62

Limare

slide-63
SLIDE 63

Closed blobs

  • Mali (GPU, 3D)

– Lima: Luc, Graphics dev room H.1301; 15:00 – 15:50 – Shadercompiler: Connor, /\, 16:00 – 16:50 – sunxi-KMS: Luc, /\, 17:00 – 17:20

slide-64
SLIDE 64

Closed blobs

  • Mali (GPU, 3D)

– Lima: Luc, Graphics dev room H.1301; 15:00 – 15:50 – Shadercompiler: Connor, /\, 16:00 – 16:50 – sunxi-KMS: Luc, /\, 17:00 – 17:20

  • GPS (but debugging symbols in the KO)
  • Not the touchscreen! Resistive internal one is mainlined
  • Boot ROM (BROM)
  • CedarX (APU/VPU)
slide-65
SLIDE 65

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-66
SLIDE 66

DEMO

Demonstration Time!

slide-67
SLIDE 67

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-68
SLIDE 68

How to contribute

  • Documentation! (Wiki mostly)
  • New Device How to
  • (Help) porting OS's and bring it to the community

– AOSP – Cyanogen / Replicant – Firefox OS – Ubuntu Touch

  • Kernel patches! 3.4, 3.10 and mainline!
slide-69
SLIDE 69

Overview

  • What is sunxi?
  • About me
  • Allwinner history
  • Community info
  • Bootloader
  • Operating Systems
  • Distros
  • Kernels
  • FEX
  • Hardware
  • Allwinner SoC's
  • Closed blobs
  • Demonstration
  • How to contribute
  • Questions
slide-70
SLIDE 70

Questions