Top Banner
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 <[email protected]>
70

ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Sep 13, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

ARM: Allwinner sunxi SoC'sand the community behind it

FOSDEM2014ULB K.1.1052014-02-02

11:00 – 11:50

Olliver M. Schinagl<[email protected]>

Page 2: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

● 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

Page 3: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

What is a sunxi?

Page 4: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Sunxi is not sushi!

Page 5: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

What is sunxi?

Page 6: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

What is sunxi?

Page 7: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

What is sunxi?

A System on a Chip (SoC)

Page 8: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

The sun architectures

sun?

sunii

sun3i

sun4i

Page 9: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 10: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 11: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 12: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

AW History

Page 13: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

AW Corporate History

● Founded in 2007

● 550 Employees

● 450+ Engineers (50% Master's)

● Zhuhai, Shenzhen, Hong Kong

Page 14: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

AW 2013 Market Share

Page 15: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

AW Product History

● Initially Power Management Units (PMU) 2007 - 2010

● AXP152, AXP209 and many more

Page 16: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

AW Product History

● F-series (sunii?, sun3i) (2010)

● A10 (2011)

● A13, A10s (2012)

● A20 (2013)

Page 17: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

AW Marketing

Page 18: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

AW Product History

Page 19: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 20: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Community History

Page 21: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Rhombus-Tech, early-days

● Community gathering around EOMA68 board ~2010

● #arm-netbook @freenode, @lists.phcomp.co.uk

Page 22: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Sunxi-community

● Growing steadily!

● 600+ Mailing list users and ~130 IRC users

● ~20 active developers

Page 23: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Where to find us

http://linux-sunxi.org

#linux-sunxi @free-node

[email protected]

Page 24: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 25: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

The Bootloader

● U-Boot (lichee) NAND-only (requires boot0/boot1)

● U-Boot (sunxi) MMC-only

● Barebox

● Coreboot (very early)

Page 26: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 27: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

The OS

● Linux

● FreeBSD

● Tizen

● Firefox OS

● Minix

Page 28: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 29: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

The Distro

● Fedora 18/19

● Linaro (Arm Linux Internet Platform)

● Arch / Gentoo

● Mer / Kali

● Debian / (X)ubuntu (debootstrap)

● (Xen)

● and of course not Android

Page 30: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

No Android?

● No community android

● Replicant/Cyanogen WiP

● AW SDK Android

– Violating blobs (touchscreen mostly)

– Violating bootloader (but not needed)

Page 31: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 32: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 33: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Sunxi-3.0

● DEPRECIATED

● Possibly still needed – touschreen blobs!

Page 34: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Sunxi-3.4

● Mostly in 'maintenance state'

● Patches backported from lichee kernels and upstream

● Lots and lots and lots of bugfixes

● Minimal cleanups

Page 35: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Experimental-3.10

● Long Term Support (LTS)

● Android 5.0 likely

● Actual mainline support

● Later patches backported

● Features! (KVM, CMA, etc)

Page 36: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Mainline

● All community work!

● Upstream

● sunxi-devel

● sunxi-next

Page 37: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Mainline support

● CPU

● Interrupt Controller (AW (sun4i/sun6i) / GIC (sun7i))

● Timer

● RTC

● Watchdog

● Ethernet

● I2C

Page 38: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Mainline status

http://linux-sunxi.org/Mainlining_Effort

Page 39: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 40: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 41: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 42: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Hardware

● Various development platforms (even OSHW!)

Page 43: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

OSHW: Olimex Lime

Page 44: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

OSHW: Olimex

Page 45: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Open Schematic HW: Cubietech

Page 46: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Could be OSHW: EOMA68

Page 47: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Hardware

● Various development platforms (even OSHW!)

● Gigantic number of consumer tablets/sticks!

Page 48: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Consumer hardware

Page 49: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 50: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 51: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

SoC's

● Various generations now

Page 52: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

That is sunxi!

A20sun7i

A13sun5i

A10ssun5i

A10sun4i

Page 53: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

SoC's

● Various generations now

● Open source drivers for most components

● Theoretically FSF endorsable

Page 54: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

That is sunxi!

A20sun7i

A13sun5i

A10ssun5i

A10sun4i

Page 55: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Uh-oh

A20sun7i

A13sun5i

A10ssun5i

A10sun4i

Page 56: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

PowerVR

A31(s) / A80sun6i / sun8i

Page 57: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

SoC's

● Various generations now

● Open source drivers for most components

● Theoretically FSF endorsable

● But PowerVR → No A31(s), A80 support

Page 58: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

A23 status

● Only 1 dev with a tablet

● SDK without bootloader source

● No memory init

● Mali (Lima)

Page 59: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 60: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Closed blobs

Page 61: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Closed blobs

● Mali (GPU, 3D)

Page 62: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Limare

Page 63: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 64: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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)

Page 65: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 66: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

DEMO

Demonstration Time!

Page 67: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 68: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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!

Page 69: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

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

Page 70: ARM: Allwinner sunxi SoC's - Previous FOSDEM Editions · What is sunxi? About me Allwinner history Community info Bootloader Operating Systems Distros Kernels FEX Hardware Allwinner

Questions