ARM: Allwinner sunxi SoC's and the community behind it

Similar documents
Supporting a new ARM platform: the Allwinner example

Supporting a new ARM platform: the Allwinner example

1 FOSDEM like real computers - Making distributions work on single board computers André Przywara 04/02/2018

Bringing display and 3D to the C.H.I.P computer

Bringing display and 3D to the C.H.I.P computer

Replicant Keynote. Paul Kocialkowski Saturday June 4 th 2016

The HiKey AOSP collaborative experience

How to decide Linux Kernel for Embedded Products. Tsugikazu SHIBATA NEC 20, Feb Embedded Linux Conference 2013 SAN FRANCISCO

A tour of the ARM architecture and its Linux support

Patrick Doyle Principal Software Engineer, irobot 2017 Embedded Linux Conference, Portland OR

Porting Linux to a new SoC

Introducing Poplar: First 96Boards TV Platform. Mark Gregotski, Director LHG Hermit Wang, SW Architect, Digital Media IC & Solutions HiSilicon

Xen on ARM. Stefano Stabellini

OP-TEE Using TrustZone to Protect Our Own Secrets

Getting Started with Cubieboard

Mainline on form-factor devices / Improving AOSP

What is new? Page 1. Peter Korsgaard, Maintainer ELCE 2013

Pushing The Limits Of Linux On ARM

QEMU for Xilinx ZynqMP. V Aug-20

MYD-SAMA5D3X Development Board

ARM64 + FPGA and more: Linux on the Xilinx ZynqMP

Linux Kernel on RISC-V: Where do we stand?

Porting U-Boot and Linux on new ARM boards: a step-by-step guide

MYD-IMX28X Development Board

Canonical, Ubuntu, FOSS and The Community. Hugh Blemings, Manager, Ubuntu Hardware Enablement Team Coscup Taipei, August 2009

Sony s Open Devices Project. Goals Achievements. What went right? What went wrong? Lessons learned

OP-TEE Using TrustZone to Protect Our Own Secrets

ECE 471 Embedded Systems Lecture 16

Keeping up with LTS Linux Kernel Functional Testing on Devices

MYC-C437X CPU Module

F28HS Hardware-Software Interface: Systems Programming

ECE 471 Embedded Systems Lecture 12

Free Electrons Company profile Kernel, drivers, embedded Linux and Android development, consulting, training and support

Digitalization of Kernel Diversion from the Upstream

Virtualisation: The KVM Way. Amit Shah

Ubuntu Development Primer

MYD-C437X-PRU Development Board

AOSP Devboard Update & Recent/Future Pain Points. John Stultz

U-Boot bootloader port done right 2017 edition

64 bit Bare Metal Programming on RPI-3. Tristan Gingold

MYD-IMX28X Development Board

Xenbedded: Xen-based client virtualization for phones and tablets

ARM support in the Linux kernel

Embest SOC8200 Single Board Computer

96Boards - TV Platform

IPL+UBI: Flexible and Reliable with Linux as the Bootloader

Android System Development Training 4-day session

KVM/ARM. Marc Zyngier LPC 12

AT-501 Cortex-A5 System On Module Product Brief

Xen Automotive Hypervisor Automotive Linux Summit 1-2 July, Tokyo

Managing build infrastructure of a Debian derivative

Linaro Year 6. BKK16 George Grey, Linaro CEO

Hardware Software Bring-Up Solutions for ARM v7/v8-based Designs. August 2015

ServerReady and Open Standards Accelerating Delivery

Automotive: new frontier for mobile Linux. Alison Chaiken

Porting bhyve on ARM. Mihai Carabas, Peter Grehan BSDCan 2016 University of Ottawa Ottawa, Canada June 10 11, 2016

Xen on ARM ARMv7 with virtualization extensions

Porting Graphical Stacks to RISC-V using QEMU and Yocto

SFO15-100: 96Boards & the course upstream

ARM support in the Linux kernel

Dynamic secure firmware configuration. Dan Handley (Arm)

Developing on DragonBoard

Contents. 1 Introduction Features Product Specifications Hardware Specification Software Specification...

U-Boot and Linux Kernel Debug using CCSv5

Introduction to SoC+FPGA

ECE 471 Embedded Systems Lecture 16

OK335x Products Guide. Contents

DevKit7000 Evaluation Kit

An overview of mobile and embedded platforms

Status of Embedded Linux Status of Embedded Linux October 2011

How I survived to a SoC with a terrible Linux BSP

Orange PI PC v1.2 : hardware, software & services specification

The Early System Start-Up Process. Group Presentation by: Tianyuan Liu, Caiwei He, Krishna Parasuram Srinivasan, Wenbin Xu

Methods to protect proprietary components in device drivers

Automotive: new frontier for mobile Linux. Alison Chaiken

Introduction to gem5. Nizamudheen Ahmed Texas Instruments

The Yocto Project. Chris Young S/W Specialist SILICA Europe. Harmonising Software Development across multiple Embedded ARM SOC targets

Upstreaming Hardware Enablement

Device Tree as a stable ABI: a fairy tale?

Introduction to the Raspberry Pi AND LINUX FOR DUMMIES

LotOS Framework. Getting Started Guide for Banana Pi. Copyright (C) 2015 ilbers GmbH Revision 1.1,

Status of Embedded Linux Status of Embedded Linux June 2012

Version History. V1.0 Original Version 1 / 13

Linux FastBoot. Reducing Embedded Linux Boot Times. Embedded World Conference 2012

Designing with ALTERA SoC Hardware

Docker for HPC? Yes, Singularity! Josef Hrabal

GRUB upstream and distros cooperation

Introduction to Standards based approach to Server

AIO-3128C All in one Board

G3399 Single Board Computer Introduction

MYD-SAM9X5 Development Board

Booting Linux Fast & Fancy. Embedded Linux Conference Europe Cambridge, Robert Schwebel

ECE 598 Advanced Operating Systems Lecture 2

The Embedded Linux Problem

CS197U: A Hands on Introduction to Unix

EMBEDDED LINUX ON ARM9 Weekend Workshop

Digging Into The Core of Boot

Transforming XenServer into a proper open-source project

Ice Cream Sandwich Rapid Bring Up

Embedded Android? Not so fast!

Transcription:

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 SoC's Community info Closed blobs Bootloader Demonstration Operating Systems How to contribute Distros Questions Kernels

What is a sunxi?

Sunxi is not sushi!

What is sunxi?

What is sunxi?

What is sunxi? A System on a Chip (SoC)

The sun architectures sun? sunii sun3i sun4i

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

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

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

AW History

AW Corporate History Founded in 2007 550 Employees 450+ Engineers (50% Master's) Zhuhai, Shenzhen, Hong Kong

AW 2013 Market Share

AW Product History Initially Power Management Units (PMU) 2007-2010 AXP152, AXP209 and many more

AW Product History F-series (sunii?, sun3i) (2010) A10 (2011) A13, A10s (2012) A20 (2013)

AW Marketing

AW Product History

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

Community History

Rhombus-Tech, early-days Community gathering around EOMA68 board ~2010 #arm-netbook @freenode, @lists.phcomp.co.uk

Sunxi-community Growing steadily! 600+ Mailing list users and ~130 IRC users ~20 active developers

Where to find us http://linux-sunxi.org #linux-sunxi @free-node dev@linux-sunxi.org

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

The Bootloader U-Boot (lichee) NAND-only (requires boot0/boot1) U-Boot (sunxi) MMC-only Barebox Coreboot (very early)

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

The OS Linux FreeBSD Tizen Firefox OS Minix

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

The Distro Fedora 18/19 Linaro (Arm Linux Internet Platform) Arch / Gentoo Mer / Kali Debian / (X)ubuntu (debootstrap) (Xen) and of course not Android

No Android? No community android Replicant/Cyanogen WiP AW SDK Android Violating blobs (touchscreen mostly) Violating bootloader (but not needed)

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

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

Sunxi-3.0 DEPRECIATED Possibly still needed touschreen blobs!

Sunxi-3.4 Mostly in 'maintenance state' Patches backported from lichee kernels and upstream Lots and lots and lots of bugfixes Minimal cleanups

Experimental-3.10 Long Term Support (LTS) Android 5.0 likely Actual mainline support Later patches backported Features! (KVM, CMA, etc)

Mainline All community work! Upstream sunxi-devel sunxi-next

Mainline support CPU Interrupt Controller (AW (sun4i/sun6i) / GIC (sun7i)) Timer RTC Watchdog Ethernet I2C

Mainline status http://linux-sunxi.org/mainlining_effort

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

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

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

Hardware Various development platforms (even OSHW!)

OSHW: Olimex Lime

OSHW: Olimex

Open Schematic HW: Cubietech

Could be OSHW: EOMA68

Hardware Various development platforms (even OSHW!) Gigantic number of consumer tablets/sticks!

Consumer hardware

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

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

SoC's Various generations now

That is sunxi! A10 sun4i A13 sun5i A10s sun5i A20 sun7i

SoC's Various generations now Open source drivers for most components Theoretically FSF endorsable

That is sunxi! A10 sun4i A13 sun5i A10s sun5i A20 sun7i

Uh-oh A10 sun4i A13 sun5i A10s sun5i A20 sun7i

PowerVR A31(s) / A80 sun6i / sun8i

SoC's Various generations now Open source drivers for most components Theoretically FSF endorsable But PowerVR No A31(s), A80 support

A23 status Only 1 dev with a tablet SDK without bootloader source No memory init Mali (Lima)

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

Closed blobs

Closed blobs Mali (GPU, 3D)

Limare

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

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)

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

DEMO Demonstration Time!

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

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!

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

Questions