Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== 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 [[https://lists.freebsd.org/pipermail/freebsd-arm/2018-June/017983.html|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 ^ | [[arm/Allwinner/A10|Allwinner A10]] | sun4i | 1 | 32 | [[https://en.wikipedia.org/wiki/ARM_Cortex-A8|Cortex-A8]] | armv7 | supported | Cubieboard | | [[arm/Allwinner/A13|Allwinner A13/R8]] | sun5i | 1 | 32 | [[https://en.wikipedia.org/wiki/ARM_Cortex-A8|Cortex-A8]] | armv7 | supported | %%OLinuXino%% | | [[arm/Allwinner/A20|Allwinner A20]] | sun7i | 2 | 32 | [[https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]] | armv7 | supported | Banana Pi | | [[arm/Allwinner/A31|Allwinner A31 & A31s]] | sun6i | 4 | 32 | [[https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]] | armv7 | supported | Banana Pi M2 | | [[arm/Allwinner/A64|Allwinner A64]] | sun50i | 4 | 64 | [[https://en.wikipedia.org/wiki/ARM_Cortex-A53|Cortex-A53]] | aarch64 | supported | [[arm/pine64|Pine64]] | | [[arm/Allwinner/A83T|Allwinner A83T]] | sun8i | 8 | 32 | [[https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]] | armv7 | supported | Banana Pi M3 | | [[arm/Allwinner/H3|Allwinner H3 & H2+]] | sun8i | 4 | 32 | [[https://en.wikipedia.org/wiki/ARM_Cortex-A7|Cortex-A7]] | armv7 | supported | Orange Pi One | | [[arm/Allwinner/H5|Allwinner H5]] | sun50i | 4 | 64 | [[https://en.wikipedia.org/wiki/ARM_Cortex-A53|Cortex-A53]] | aarch64 | supported | %%NanoPI%% K1 Plus | | [[arm/Allwinner/H6|Allwinner H6]] | sun50i | 4 | 64 | [[https://en.wikipedia.org/wiki/ARM_Cortex-A53|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: {{page>arm/Allwinner/A10&nofooter&noeditbtn}} {{page>arm/Allwinner/A13&nofooter&noeditbtn}} {{page>arm/Allwinner/A20&nofooter&noeditbtn}} {{page>arm/Allwinner/A31&nofooter&noeditbtn}} {{page>arm/Allwinner/A64&nofooter&noeditbtn}} {{page>arm/Allwinner/A83T&nofooter&noeditbtn}} {{page>arm/Allwinner/H3&nofooter&noeditbtn}} {{page>arm/Allwinner/H5&nofooter&noeditbtn}} {{page>arm/Allwinner/H6&nofooter&noeditbtn}} ===== Supported devices ===== **Legend** | Supported | | Should work | | Work in progress | | Untested | | Not working | | Not supported | | Not applicable | | | | | [[arm/Allwinner/A10|A10]] | [[arm/Allwinner/A13|A13]] | [[arm/Allwinner/A20|A20]] | [[arm/Allwinner/A31|A31]] | [[arm/Allwinner/A31|A31S]] | [[arm/Allwinner/A64|A64]] | [[arm/Allwinner/A83T|A83T]] | [[arm/Allwinner/H3|H3]] | [[arm/Allwinner/H5|H5]] | [[arm/Allwinner/H6|H6]] | | Audio (analog) | | YES | YES | | | | | YES | | | | Audio (HDMI) | | | YES | | | | | | | | | cpufreq / DVFS | YES | | YES | | | YES | YES | YES | YES | | | crypto | | | | | | | | | | YES | | DMA | | YES | YES | | | | | YES | | | | Ethernet | [[https://svnweb.freebsd.org/base?view=revision&revision=262710|r262710]] | | YES | YES | YES | [[https://svnweb.freebsd.org/base?view=revision&revision=305134|r305134]] | YES | YES | YES | YES | | Framebuffer | | | YES | | | efifb | | | efifb | | | GPIO | [[https://svnweb.freebsd.org/base?view=revision&revision=246342|r246342]] | YES | YES | YES | YES | [[https://svnweb.freebsd.org/base?view=revision&revision=305134|r305134]] | YES | YES | YES | | | HDMI video | | | YES | | | | | | | | | I2C | [[https://svnweb.freebsd.org/base?view=revision&revision=295626|r295626]] | YES | YES | YES | YES | [[https://svnweb.freebsd.org/base?view=revision&revision=305134|r305134]] | YES | | YES | | | IR (RX) | | | YES | | | | | YES | YES | | | SATA | [[https://svnweb.freebsd.org/base?view=revision&revision=285090|285090]] | | YES | | | | | | | | | SD/MMC | [[https://svnweb.freebsd.org/base?view=revision&revision=283253|r283253]] | YES | YES | YES | YES | [[https://svnweb.freebsd.org/base?view=revision&revision=305134|r305134]] | YES | YES | YES | YES | | Thermal | YES | YES | YES | | | YES | YES | YES | YES | | | UART | YES | YES | YES | YES | YES | [[https://svnweb.freebsd.org/base?view=revision&revision=305134|r305134]] | YES | YES | YES | YES | | USB Host | [[https://svnweb.freebsd.org/base?view=revision&revision=246057|r246057]] | YES | YES | YES | YES | [[https://svnweb.freebsd.org/base?view=revision&revision=305134|r305134]] | YES | YES | YES | | | USB DRD | | | YES | YES | YES | YES | YES | YES | YES | | | Watchdog | YES | YES | YES | YES | YES | [[https://svnweb.freebsd.org/base?view=revision&revision=305134|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%%: * Crypto engine * Display Engine 2.0 (sun8i/sun50i) * KEYADC * I2S/TDM * OWA * NAND * Smart card reader * Transport stream controller The following features are not directly related to Allwinner %%SoCs%% but are often implemented on Allwinner boards: * Bluetooth UART (ng_h4) * SDIO wifi support ===== The Allwinner boot process ===== Most Allwinner systems use U-Boot as the boot program. Please see [[arm/Allwinner/booting|this page]] for details. ===== How to Build an Image ===== There are several different ways to build an image. * [[https://www.freebsd.org/doc/en_US.ISO8859-1/articles/freebsd-releng/index.html|FreeBSD Release Engineering]] uses the [[https://svnweb.freebsd.org/base/head/release/release.sh|release.sh]] script to build releases for various [[https://svnweb.freebsd.org/base/head/release/arm/|32-bit]] and [[https://svnweb.freebsd.org/base/head/release/arm64/|64-bit]] arm targets. * The [[https://github.com/freebsd/crochet|Crochet build tool]] (deprecated) supports boards including the Cubieboard 1, Cubieboard 2, Banana Pi, and Banana Pi M3. * Work is ongoing to support building images via the **poudriere image** command. * A GENERIDSD image is available for arm32, you just need to add u-boot on it and write it to an sdcard (See [[arm/Allwinner/booting|this page]] for how to add u-boot) ===== How to setup Xorg ===== Install the //xorg// and //xf86-video-scfb// packages, and add the following to ''%%/etc/X11/xorg.conf%%'': <code> 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 </code> arm/allwinner.txt Last modified: 2022/09/02 09:40by PeterJeremy