Diff for /wikisrc/ports/evbarm/allwinner.mdwn between versions 1.4 and 1.89

version 1.4, 2014/10/20 10:54:53 version 1.89, 2018/05/10 00:12:47
Line 1 Line 1
 [[!meta title="NetBSD/evbarm on Allwinner Technology SoCs"]]  [[!meta title="NetBSD/evbarm on Allwinner Technology SoCs"]]
   
 # Supported boards  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.
  - BananaPi (BPI)  
  - Cubieboard, Cubieboard 2 (CUBIEBOARD)  <img src="https://pbs.twimg.com/media/DIRGmsOXcAEJu-j.jpg" width="300">
  - Cubietruck (CUBIETRUCK)  <img src="https://pbs.twimg.com/media/DJYA7SCXUAEvEQk.jpg" width="300">
  - Merrii Hummingbird A31 (HUMMINGBIRD_A31)  
   [[!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><a href="https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino/open-source-hardware">Olimex A13-OLinuXino</a>, <a href="https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino-MICRO/open-source-hardware">Olimex A13-OLinuXino-MICRO</a></td></tr>
       <tr><td>sun5i</td><td>GR8</td><td>8.99.5</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><a href="https://www.olimex.com/Products/OLinuXino/A33/A33-OLinuXino/open-source-hardware">Olimex A33-OLinuXino</a></td></tr>
       <tr><td>sun8i</td><td>R40</td><td>-</td><td><a href="http://www.banana-pi.org/m2u.html">Sinovoip Banana Pi BPI-M2U</a></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>sun8i</td><td>V3s</td><td>-</td><td><a href="https://www.indiegogo.com/projects/licheepi-zero-6-extensible-linux-module-on-finger-wifi-diy#/">Lichee Pi Zero</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></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, <a href="http://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=196">FriendlyARM NanoPi NEO Plus2</a></td><td></td></tr>
       <tr><td>sun50i</td><td>H6</td><td>8.99.14 and later</td><td><a href="http://www.orangepi.org/OrangePiOneplus/">Orange Pi One Plus</a>, <a href="https://www.pine64.org/?product_cat=pine-h64-boards">Pine H64</a></td></tr>
     </tbody>
   </table>
   
   
 # Supported hardware  # Supported hardware
  - SoCs  
    - Cortex-A8: A10  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.
    - Cortex-A7: A20, A31  
  - SD/MMC controller  <table>
  - DMA controller    <thead>
  - GPIO      <tr>
  - UART        <th>Device</th>
  - I2C        <th>Supported</th>
  - P2WI (A31)        <th>Notes</th>
  - PMU      </tr>
    - AXP209 (A20)    </thead>
    - AXP221 (A31)    <tbody>
  - Watchdog timer      <tr><td>Audio codec</td><td>Yes</td><td>Supported on sun4i, sun5i, sun6i, sun7i, sun8i-h2+, sun8i-h3, sun50i-h5, sun50i-a64</td></tr>
  - RTC      <tr><td>Crypto engine</td><td>-</td><td></td></tr>
  - Audio codec      <tr><td>CSI</td><td>-</td><td></td></tr>
  - USB      <tr><td>DMA</td><td>Yes</td><td></td></tr>
    - OHCI      <tr><td>Fast Ethernet (sun4i/sun5i/sun7i)</td><td>Yes</td><td></td></tr>
    - EHCI      <tr><td>Framebuffer</td><td>Yes</td><td>Uses simplefb configured by bootloader</td></tr>
    - MOTG (not yet working on A31)      <tr><td>Gigabit Ethernet (sun6i/sun7i/sun9i)</td><td>Yes</td><td></td></tr>
  - SATA (A10/A20)      <tr><td>Gigabit Ethernet (sun8i/sun50i)</td><td>Yes</td><td></td></tr>
  - Gigabit Ethernet (GMAC)      <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>Experimental</td><td></td></tr>
       <tr><td>IR transceiver</td><td>-</td><td></td></tr>
       <tr><td>NAND</td><td>Yes</td><td></td></tr>
       <tr><td>P2WI/RSB</td><td>Yes</td><td></td></tr>
       <tr><td>PCIe</td><td>-</td><td>H6</td></tr>
       <tr><td>PWM</td><td>Yes</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>32-bit only. Uses PSCI support in firmware</td></tr>
       <tr><td>SPDIF</td><td>-</td><td></td></tr>
       <tr><td>SPI</td><td>Yes</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 3.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  # Installation
   
 ## A10 / A20 based boards  - Download or build **armv7.img** (32-bit) or **arm64.img** (64-bit) 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**
   
   # Tips and tricks
   
 * Start with an ARMv7 image from *evbarm-earmv7hf/binary/gzimg/* such as *beaglebone.img*  ## Video overscan compensation
 * Download a U-Boot build for your board from the linux-sunxi web site <http://dl.linux-sunxi.org/nightly/u-boot-sunxi/u-boot-sunxi/u-boot-sunxi-latest/>  
 * Write the *u-boot-sunxi-with-spl.bin* loader to the base image:  
 [[!template  id=programlisting text="""  
 # dd if=u-boot-sunxi-with-spl.bin of=beaglebone.img bs=1k seek=8 conv=notrunc  
 """]]  
 * Write the image to an SD card.  
 * Copy the kernel (netbsd.ub) for your board to the root of the MSDOS partition.  
 * Create or edit uEnv.txt on the MSDOS partition:  
 [[!template  id=programlisting text="""  
 bootargs=root=ld0a  
 uenvcmd=mmc dev 0; mmc rescan; fatload mmc 0:1 82000000 netbsd.ub; bootm 82000000  
 """]]  
   
 ## A31 based boards  On some television models, the borders of the screen may be cut off. If your television doesn't have an option to disable overscan, you can enable overscan compensation by entering the following commands at the U-Boot prompt:
   
 TBD.      setenv video-mode sunxi:1280x720-24,overscan_x=32,overscan_y=20
       saveenv
       reset

Removed from v.1.4  
changed lines
  Added in v.1.89


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