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

Stephen Graf stephen.graf at gmail.com
Mon Nov 27 23:31:19 CET 2023


Since the last test I rebuilt u-boot without the
"CONFIG_DRAM_CLK=792" in the defconfig and got the wrong DRAM size 
problem (showing 2G instead of 1G). I had to do a power down/up to see this.
Are you planning to add this parameter to your patch?

U-Boot 2024.01-rc3-00012-g1fcf078f54-dirty (Nov 27 2023 - 12:25:33 
-0800) Allwin                                                      ner 
Technology

CPU:   Allwinner H616 (SUN50I)
Model: OrangePi Zero3
DRAM:  2 GiB


On 2023-11-27 12:21 p.m., Stephen Graf wrote:
> 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