File:  [NetBSD Developer Wiki] / wikisrc / ports / evbarm / allwinner.mdwn
Revision 1.69: download - view: text, annotated - select for diffs
Wed Oct 11 10:55:19 2017 UTC (3 years, 4 months ago) by wiki
Branches: MAIN
CVS tags: HEAD
web commit by jmcneill: H5 is supported now

[[!meta title="NetBSD/evbarm on Allwinner Technology SoCs"]]

NetBSD supports many boards based on Allwinner SoCs. Starting with NetBSD 8.0, FDT is used to configure devices. As a result, a large number of boards and configurations can be supported with a single kernel.

<img src="https://pbs.twimg.com/media/DIRGmsOXcAEJu-j.jpg" width="300">
<img src="https://pbs.twimg.com/media/DJYA7SCXUAEvEQk.jpg" width="300">

[[!toc levels=2]]

# Supported SoCs

<table>
  <thead>
    <tr>
      <th>Family</th>
      <th>SoC</th>
      <th>NetBSD version</th>
      <th>Example boards</th>
      <th>Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr><td>sun4i</td><td>A10</td><td>8.99.3 and later</td><td><a href="https://www.olimex.com/Products/OLinuXino/A10/A10-OLinuXino-LIME/open-source-hardware">Olimex A10-OLinuXino-LIME</a><td></td></tr>
    <tr><td>sun5i</td><td>A10s</td><td>-</td><td></td></tr>
    <tr><td>sun5i</td><td>A13</td><td>8.99.2 and later</td><td></td></tr>
    <tr><td>sun5i</td><td>GR8</td><td>8.99.2 and later</td><td><a href="https://getchip.com/pages/chippro">C.H.I.P. Pro</a></td><td></td></tr>
    <tr><td>sun5i</td><td>R8</td><td>8.99.2 and later</td><td><a href="https://getchip.com/pages/chip">C.H.I.P.</a>, <a href="https://getchip.com/pages/pocketchip">Pocket C.H.I.P.</a></td><td></td></tr>
    <tr><td>sun6i</td><td>A31</td><td>7.0 and later</td><td><a href="http://linux-sunxi.org/Merrii_Hummingbird_A31">Merrii Hummingbird A31</a></td><td></td></tr>
    <tr><td>sun6i</td><td>A31s</td><td>-</td><td></td><td></td></tr>
    <tr><td>sun7i</td><td>A20</td><td>7.0 and later</td><td><a href="https://linux-sunxi.org/Cubietech_Cubieboard2">Cubietech Cubieboard 2</a>, <a href="https://linux-sunxi.org/Cubietruck">Cubietech Cubietruck</a>, <a href="http://linux-sunxi.org/LeMaker_Banana_Pi">LeMaker Banana Pi</a></td><td></td></tr>
    <tr><td>sun8i</td><td>A23</td><td>-</td><td></td></tr>
    <tr><td>sun8i</td><td>A33</td><td>-</td><td></td></tr>
    <tr><td>sun8i</td><td>A83T</td><td>8.0 and later</td><td><a href="http://www.banana-pi.org/m3.html">Sinovoip Banana Pi BPI-M3</a></td><td></td></tr>
    <tr><td>sun8i</td><td>H2+</td><td>8.0 and later</td><td><a href="http://www.orangepi.org/orangepizero/">Xunlong Orange Pi Zero</a></td><td></td></tr>
    <tr><td>sun8i</td><td>H3</td><td>8.0 and later</td><td><a href="http://nanopi.io/nanopi-neo.html">FriendlyARM NanoPi NEO</a>, <a href="http://www.orangepi.org/orangepiplus2e/">Xunlong Orange Pi Plus 2E</a></td><td></td></tr>
    <tr><td>sun9i</td><td>A80</td><td>8.0 and later</td><td><a href="http://linux-sunxi.org/Cubietech_Cubieboard4">Cubietech Cubieboard 4</a></td><td></td></tr>
    <tr><td>sun50i</td><td>A64</td><td>8.99.2 and later</td><td><a href="https://www.pine64.org/?page_id=1194">Pine64</a>, <a href="https://www.pine64.org/?page_id=3707">Pinebook</a></td><td>aarch32 mode</td></tr>
    <tr><td>sun50i</td><td>H5</td><td>8.99.4 and later</td><td><a href="http://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=180">FriendlyARM NanoPi NEO2</td><td>aarch32 mode</td></tr>
    <tr><td>sun50i</td><td>H6</td><td>-</td><td></td></tr>
  </tbody>
</table>


# Supported hardware

Please refer to the [SUNXI kernel config](https://nxr.netbsd.org/xref/src/sys/arch/evbarm/conf/SUNXI) for the most up-to-date list of supported hardware.

<table>
  <thead>
    <tr>
      <th>Device</th>
      <th>Supported</th>
      <th>Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr><td>Audio codec</td><td>Yes</td><td>Supported on sun4i, sun5i, sun6i, sun8i-h2+, sun8i-h3</td></tr>
    <tr><td>Crypto engine</td><td>-</td><td></td></tr>
    <tr><td>CSI</td><td>-</td><td></td></tr>
    <tr><td>DMA</td><td>Yes</td><td></td></tr>
    <tr><td>Fast Ethernet (sun4i/sun7i)</td><td>-</td><td></td></tr>
    <tr><td>Framebuffer</td><td>Yes</td><td>Uses simplefb configured by bootloader</td></tr>
    <tr><td>Gigabit Ethernet (sun6i/sun7i/sun9i)</td><td>Yes</td><td></td></tr>
    <tr><td>Gigabit Ethernet (sun8i/sun50i)</td><td>Yes</td><td></td></tr>
    <tr><td>GPIO</td><td>Yes</td><td></td></tr>
    <tr><td>GPU</td><td>-</td><td></td></tr>
    <tr><td>I2C</td><td>Yes</td><td></td></tr>
    <tr><td>I2S/PCM</td><td>-</td><td></td></tr>
    <tr><td>IR transceiver</td><td>-</td><td></td></tr>
    <tr><td>NAND</td><td>-</td><td></td></tr>
    <tr><td>P2WI/RSB</td><td>Yes</td><td></td></tr>
    <tr><td>PWM</td><td>-</td><td></td></tr>
    <tr><td>RTC</td><td>Yes</td><td></td></tr>
    <tr><td>SATA</td><td>Yes</td><td></td></tr>
    <tr><td>SD/MMC</td><td>Yes</td><td></td></tr>
    <tr><td>SMP</td><td>Yes</td><td>Uses PSCI support in firmware</td></tr>
    <tr><td>SPDIF</td><td>-</td><td></td></tr>
    <tr><td>SPI</td><td>-</td><td></td></tr>
    <tr><td>Thermal sensors</td><td>Yes</td><td></td></tr>
    <tr><td>Touch screen</td><td>Yes</td><td></td></tr>
    <tr><td>UART</td><td>Yes</td><td></td></tr>
    <tr><td>USB 2.0</td><td>Yes</td><td></td></tr>
    <tr><td>USB OTG</td><td>Experimental</td><td></td></tr>
    <tr><td>Watchdog timer</td><td>Yes</td><td></td></tr>
  </tbody>
</table>

# Installation

- Download or build **armv7.img** from NetBSD -current
- Write the image to disk: **dd if=armv7.img of=/dev/rld0d bs=1m conv=sync**
- Install a board-specific U-Boot (2017.07 or later) from pkgsrc to the SD card: **dd if=/usr/pkg/share/u-boot/&lt;boardname&gt;/u-boot-sunxi-with-spl.bin of=/dev/rld0d bs=1k seek=8 conv=sync**

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb