[PATCH 3/3] sunxi: H616: Add OrangePi Zero 3 board support

Stephen Graf stephen.graf at gmail.com
Mon Nov 27 21:21:44 CET 2023


Yes I forgot about the zBIT patch. With this patch also included I built 
and retested u-boot loaded from SPI flash.  The two warning/error 
messages disappeared and the flash worked properly and booted from a USB 
device.

There was one message that I did not understand:
"Loading Environment from SPIFlash... SF: Detected zb25vq128 with page 
size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment"

I tried to follow the u-boot documentation on writing the SPI flash but 
had problems with the write command.  When issued it returned 
immediately. The erase command took about 5 sec to execute. I researched 
use of mtd commands and got a suggestion to use cat instead, which worked.

"root at orangepizero3:~# mtdinfo
Count of MTD devices:           1
Present MTD devices:            mtd0
Sysfs interface supported:      yes
root at orangepizero3:~# mtd_debug erase /dev/mtd0 0 0xf0000
Erased 983040 bytes from address 0x00000000 in flash
root at orangepizero3:~# mtd_debug write /dev/mtd0 0 0xf0000 
/home/sysadmin/u-boot-sunxi-with-spl.bin
file_to_flash: fread, size 0xf0000, n 0xf0000
fread(): Success
root at orangepizero3:~# cat /home/sysadmin/u-boot-sunxi-with-spl.bin > 
/dev/mtd0


Console log of boot:

U-Boot SPL 2024.01-rc3-00012-g1fcf078f54-dirty (Nov 27 2023 - 10:17:46 
-0800)
DRAM: 1024 MiB
Trying to boot from sunxi SPI
NOTICE:  BL31: v2.10.0  (debug):v2.10.0
NOTICE:  BL31: Built : 18:07:18, Nov 23 2023
NOTICE:  BL31: Detected Allwinner H616 SoC (1823)
NOTICE:  BL31: Found U-Boot DTB at 0x4a0b2798, model: OrangePi Zero3
INFO:    ARM GICv2 driver initialized
INFO:    Configuring SPC Controller
INFO:    PMIC: Probing AXP305 on RSB
ERROR:   RSB: set run-time address: 0x10003
INFO:    Could not init RSB: -65539
INFO:    BL31: Platform setup done
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a53: CPU workaround for erratum 855873 was applied
INFO:    BL31: cortex_a53: CPU workaround for erratum 1530924 was applied
INFO:    PSCI: Suspend is unavailable
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x4a000000
INFO:    SPSR = 0x3c9
INFO:    Changed devicetree.


U-Boot 2024.01-rc3-00012-g1fcf078f54-dirty (Nov 27 2023 - 10:17:46 
-0800) Allwinner Technology

CPU:   Allwinner H616 (SUN50I)
Model: OrangePi Zero3
DRAM:  1 GiB
Core:  57 devices, 25 uclasses, devicetree: separate
WDT:   Not starting watchdog at 30090a0
MMC:   mmc at 4020000: 0
Loading Environment from SPIFlash... SF: Detected zb25vq128 with page 
size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

Loading Environment from FAT... Card did not respond to voltage select! 
: -110
** Bad device specification mmc 0 **
In:    serial at 5000000
Out:   serial at 5000000
Err:   serial at 5000000
Allwinner mUSB OTG (Peripheral)
Net:   eth0: ethernet at 5020000using musb-hdrc, OUT ep1out IN ep1in STATUS 
ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
, eth1: usb_ether
starting USB...
Bus usb at 5200000: USB EHCI 1.00
Bus usb at 5200400: USB OHCI 1.0
scanning bus usb at 5200000 for devices... Device NOT ready
    Request Sense returned 02 3A 00
Device NOT ready
    Request Sense returned 02 3A 00
Device NOT ready
    Request Sense returned 02 3A 00
2 USB Device(s) found
scanning bus usb at 5200400 for devices... 1 USB Device(s) found
        scanning usb for storage devices... 1 Storage Device(s) found
Hit any key to stop autoboot:  0
Card did not respond to voltage select! : -110

Device 0: Vendor: Generic- Rev: 1.00 Prod: SD/MMC
             Type: Removable Hard Disk
             Capacity: 3828.0 MB = 3.7 GB (7839744 x 512)
... is now current device
Scanning usb 0:1...
Found U-Boot script /boot.scr
1575 bytes read in 1 ms (1.5 MiB/s)
## Executing script at 4fc00000
Mainline u-boot / new-style environment detected.
This installer medium does not contain a suitable device-tree file for
this system (allwinner/sun50i-h618-orangepi-zero3.dtb). Aborting boot 
process.
SCRIPT FAILED: continuing...
Found U-Boot script /boot/boot.scr
621 bytes read in 2 ms (302.7 KiB/s)
## Executing script at 4fc00000
19472 bytes read in 3 ms (6.2 MiB/s)
Working FDT set to 4fa00000
7088139 bytes read in 326 ms (20.7 MiB/s)
22491144 bytes read in 1031 ms (20.8 MiB/s)
Moving Image from 0x40080000 to 0x40200000, end=41800000
## Loading init Ramdisk from Legacy Image at 4ff00000 ...
    Image Name:   uInitrd
    Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
    Data Size:    7088075 Bytes = 6.8 MiB
    Load Address: 00000000
    Entry Point:  00000000
    Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
    Booting using the fdt blob at 0x4fa00000
Working FDT set to 4fa00000
    Loading Ramdisk to 4993d000, end 49fff7cb ... OK
    Loading Device Tree to 00000000498cf000, end 000000004993cfff ... OK
Working FDT set to 498cf000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.6.2 (orangepi at orangepizero3) (gcc (Debian 
12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP Sat Nov 
25 18:37:47 UTC 2023


On 2023-11-26 4:23 a.m., Andre Przywara wrote:
> On Sat, 25 Nov 2023 20:27:05 -0800
> Stephen Graf <stephen.graf at gmail.com> wrote:
> 
> Hi Stephen,
> 
>> I built u-boot with the additional parameter for usb and it works, I think.  There was one message that might be of concern "
>> Card did not respond to voltage select! : -110".
> 
> This is a normal, though admittedly confusing message if no SD card is
> inserted. The code tries to (unconditionally) access the SD card, and
> sees that no card is there, the missing respond to the voltage select
> command is just the first real proof of this.
> 
>> I am not sure of the details of the boot.cmd. The output below came from
>> the supplier image on an SD plugged into a USB card reader. The SD slot of the board was empty.
>>
>> I was able to install u-boot to the SPI flash memory and there is a warning message from that also: "
>> Loading Environment from SPIFlash... jedec_spi_nor flash at 0: unrecognized JEDEC id bytes: 5e, 40, 18
>> *** Warning - spi_flash_probe_bus_cs() failed, using default environment"
> 
> So for a start there is no environment on the SPI flash yet, so it
> wouldn't do anything. But the "unrecognised JEDEC id bytes" message
> doesn't sound right. Can you dig into this? Do you have patch 1/3
> applied, which tells U-Boot about 0x5e meaning zBIT?
> 


More information about the U-Boot mailing list