[[!meta title="NetBSD/evbarm on Fuzhou RockChip SoCs"]]
NetBSD supports several boards based on RockChip SoCs. Starting with NetBSD 9.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/ENlmzo7UUAIfSM6.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>RK3328</td><td>Rock64</td><td>9.0</td><td><a href="https://www.pine64.org/devices/single-board-computers/rock64/">Pine64 Rock64</a><td></td></tr>
<tr><td>RK3399</td><td>Rock64</td><td>9.0</td><td><a href="https://www.pine64.org/rockpro64/">Pine64 RockPro64</a>, <a href="https://www.pine64.org/pinebook-pro/">Pine64 Pinebook Pro</a><td></td></tr>
</tbody>
</table>
Other systems may work, but they have not been tested.
# Supported hardware
Please refer to the [GENERIC64 (64-bit)](https://nxr.netbsd.org/xref/src/sys/arch/evbarm/conf/GENERIC64) kernel configs 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></td></tr>
<tr><td>Framebuffer</td><td>Yes</td><td>Uses simplefb configured by bootloader</td></tr>
<tr><td>Gigabit Ethernet</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>Experimental</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></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></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>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>Watchdog timer</td><td>Yes</td><td></td></tr>
</tbody>
</table>
# Installation
- Download or build **arm64.img** (64-bit) from NetBSD 9.0 or later
- Write the image to disk: **dd if=armv7.img of=/dev/rld0d bs=1m conv=sync**
- Install a board-specific U-Boot (2018.05 or later) from pkgsrc to the SD card
**dd if=/usr/pkg/share/u-boot/<boardname>/rkspi_loader.img of=/dev/rld0d seek=64 conv=sync**
If your SoC has a SATA controller and you would like to install on
an hard disk and use a SD card only for u-boot please give a look
to
[[NetBSD/evbarm install via sysinst(8) on a SATA hard disk, USB stick or (u)SD card|ports/evbarm/install_using_sysinst]].
# Tips and tricks
# Links
- [[NetBSD/evbarm install via sysinst(8) on a SATA hard disk, USB stick or (u)SD card|ports/evbarm/install_using_sysinst]]
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb