Allwinner Nezha

Jump to: navigation, search
Allwinner Nezha
Allwinner Nezha Front.jpg
Manufacturer Allwinner
Dimensions 85mm x 56mm x 15mm
Release Date April 2021
Website Product Page
SoC D1 @ 1.0Ghz
DRAM 512MiB/1GiB/2GiB DDR3 @ 792MHz, 2×H5TQ4G63EFR
Power DC 5V @ 2A (via OTG or dedicated USB Type-C connector)
Video HDMI (Type A - full), LVDS
Audio 3.5mm headphone plug, HDMI, microphone array board connector, I2S
Network WiFi 802.11 b/g/n (XRadioTech XR829), 10/100/1000Mbps Ethernet (Realtek RTL8211F)
Storage µSD, SPI NAND
USB 1 USB2.0 Host, 1 USB Type-C OTG

This page needs to be properly filled according to the New Device Howto and the New Device Page guide.

The Allwinner Nezha is one of the first D1 based boards made available to the general public. It was sold through an Indiegogo campaign by the distributor company Sipeed.

The indiegogo campaign page states that "Nezha is Open Source". But the hardware itself is not OSHW, and the open source SDK that that page refers to requires registering for an "Allwinner account". Seems like the Nezha is just as open source as all the other devices who are based on u-boot and the linux kernel, and who follow the basic premise of the GPL.

In fact, the disclaimer that Allwinner requires you to click through reads the following: "This deliverable may not be altered, copied, reversed, sold, distributed, or otherwise engaged in commercial activities without prior written permission of the company." And they seem to be using this disclaimer since at least 2018-11-21 according to the date on that disclaimer. This disclaimer is 100% at odds with the GPL license that Allwinners whole business depends on.


There are at least two known revisions of the board. The older version is silkscreened D1_DEV_DDR3_16X2_V1_0 on the top and does not have the AWDL logo. The newer version has the AWDL anagram silkscreened on the front and the identifier D1_DEV_DDR3_16X2_V1_2 on the back.

The front side of both PCB versions has a variant of the Nezha logo.

The back also has a sticker containing a QR code, with the board serial number below it. Scanning the QR code reveals the following URL:

General Notes

The device is are being shipped with an SD with Debian installed. Console logs:

Sunxi support

Current status

We are only now getting to grips with this RISC-V hardware, no finished/mainlined work is currently available.

The BSP U-Boot/kernel use a NAND layout which merges a pair of pages from consecutive blocks into a super-page. Mainline uses the physical layout as-is. So while SPI NAND contents are accessible from both mainline and BSP kernels, they are only usable by one driver or the other. There is a config option in the BSP kernel, CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE, which should make it compatible with mainline, but this has not been tested.

Manual build

You can build things for yourself by following our Manual build howto and by choosing from the configurations available below.


BSP U-Boot

U-Boot can be built from the SDK. By default, it will pass its internal (nonconformant) DTB to Linux, regardless of the argument passed to booti. That must be hacked out to run mainline Linux. The BSP U-boot will also enable T-HEAD ISA and MMU extensions, and leave them enabled when entering Linux.

Mainline U-Boot

No mainline U-Boot support exists yet for sunxi on the RISC-V architecture. Some code re-organization is needed before D1 SoC support can be added.

Use the MANUFACTURER_DEVICE build target.

Linux Kernel

Mainline kernel

A WIP branch is available at which supports enough hardware for headless use (Audio, Ethernet, MMC, NAND, USB). It relies on some MMU patches that may not get merged upstream.

Use the sun20i-d1-nezha.dtb device-tree binary.

Tips, Tricks, Caveats

Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.

FEL mode

The FEL button triggers FEL mode.

The xfel tool has support for the D1 chip. Currently sunxi-fel (from Sunxi-tools) lists the SoC as unknown.

Enabling U-Boot command line

The preinstalled version of U-Boot requires holding down "S" during boot to enter the command line. From a booted Linux system (like the Tina Linux preinstalled in the on-board NAND) run the following command to set a three second delay during which it's possible to enter the command line on the built-in serial port:

fw_setenv bootdelay 3

Note: With the Debian image being shipped - the fw_setenv and fw_printenv are not aligned to the saveenv location.

Debian GNU/Linux 11 RVBoards ttyS0
Linux RVBoards 5.4.61 #22 PREEMPT Wed Jun 16 07:27:49 UTC 2021 riscv64
# fw_printenv
Configuration file wrong or corrupted

Adding a serial port

Allwinner Nezha UART pads

The DEBUG header at the top-right corner of the board can be used as a serial port. See the UART howto for instructions about how to attach to it. The default baud rate is 115200.



Also known as

List rebadged devices here.

See also

Manufacturer images