FreeBSD on Allwinner (sunxi) systems

Support policies

Support for all the below is done on a volunteer basis. New devices are added all the time. However, from time to time certain older devices will be dropped unless new developers volunteer to maintain them.

Supported SoCs

FreeBSD supports the following Allwinner SoCs:

Name

Type

Cores

Width

Family

FreeBSD

Comments

Example Boards

Allwinner A10

sun4i

1

32

Cortex-A8

armv7

supported

Cubieboard

Allwinner A13/R8

sun5i

1

32

Cortex-A8

armv7

supported

OLinuXino

Allwinner A20

sun7i

2

32

Cortex-A7

armv7

supported

Banana Pi

Allwinner A31 & A31s

sun6i

4

32

Cortex-A7

armv7

supported

Banana Pi M2

Allwinner A64

sun50i

4

64

Cortex-A53

aarch64

supported

Pine64

Allwinner A83T

sun8i

8

32

Cortex-A7

armv7

supported

Banana Pi M3

Allwinner H3 & H2+

sun8i

4

32

Cortex-A7

armv7

supported

Orange Pi One

Allwinner H5

sun50i

4

64

Cortex-A53

aarch64

supported

NanoPI K1 Plus

Allwinner H6

sun50i

4

64

Cortex-A53

aarch64

supported

Pine H64

Supported boards

These SoCs are found in a large number of development boards and other devices. FreeBSD has support for some of these boards, including (but not limited to) the following:

A10 Supported Boards

Note: A10 support is now in an "only as needed" basis as of 20180620. It is reasonably similar to the more-popular A20, however.

A13 Supported Boards

Note: A13 support is now in an "only as needed" basis as of 20180620. It is reasonably similar to the more-popular A20, however.

A20 Supported Boards

Note: KyleEvans has agreed to take over A20 support, thus it is no longer being considered for deprecation as of 20180620.

A31/A31S Supported Boards

Note: A31 support is being considered for deprecation as of 20180612.

A83T Supported Boards

H5 Supported Boards

Boards known to boot FreeBSD:

H6 Supported Boards

Supported devices

Legend

Supported

Should work

Work in progress

Untested

Not working

Not supported

Not applicable

A10

A13

A20

A31

A31S

A64

A83T

H3

H5

H6

Audio (analog)

YES

YES

YES

Audio (HDMI)

YES

cpufreq / DVFS

YES

YES

YES

YES

YES

YES

crypto

YES

DMA

YES

YES

YES

Ethernet

r262710

YES

YES

YES

r305134

YES

YES

YES

YES

Framebuffer

YES

efifb

efifb

GPIO

r246342

YES

YES

YES

YES

r305134

YES

YES

YES

HDMI video

YES

I2C

r295626

YES

YES

YES

YES

r305134

YES

YES

IR (RX)

YES

YES

YES

SATA

285090

YES

SD/MMC

r283253

YES

YES

YES

YES

r305134

YES

YES

YES

YES

Thermal

YES

YES

YES

YES

YES

YES

YES

UART

YES

YES

YES

YES

YES

r305134

YES

YES

YES

YES

USB Host

r246057

YES

YES

YES

YES

r305134

YES

YES

YES

USB DRD

YES

YES

YES

YES

YES

YES

YES

Watchdog

YES

YES

YES

YES

YES

r305134

YES

YES

YES

SPI

YES

YES

YES

YES

YES

YES

YES

YES

YES

What still needs to be done

The following SoC interfaces are not yet supported by FreeBSD:

The following features are not directly related to Allwinner SoCs but are often implemented on Allwinner boards:

The Allwinner boot process

Most Allwinner systems use U-Boot as the boot program. Please see this page for details.

How to Build an Image

There are several different ways to build an image.

How to setup Xorg

Install the xorg and xf86-video-scfb packages, and add the following to /etc/X11/xorg.conf:

Section "InputDevice"
    Identifier  "Keyboard1"
    Driver      "kbd"
EndSection

Section "InputDevice"
    Identifier  "Mouse1"
    Driver      "mouse"
    Option      "Protocol"      "auto"
    Option      "Device"        "/dev/sysmouse"
EndSection

Section "Monitor"
    Identifier  "Monitor"
EndSection

Section "Device"
    Identifier  "Generic FB"
    Driver      "scfb"
EndSection

Section "Screen"
    Identifier  "Screen"
    Device      "Generic FB"
    Monitor     "Monitor"
    DefaultDepth 24
    SubSection "Display"
       Depth           24
    EndSubsection
EndSection

Section "ServerLayout"
    Identifier  "layout"
    Screen      0 "Screen" 0 0
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection

arm/Allwinner (last edited 2022-09-02T09:40:50+0000 by PeterJeremy)