Rock64 USB3 booting actually works when using a microsd card for just U-Boot 2024.01, given no e.MMC present

From: Mark Millard <marklmi_at_yahoo.com>
Date: Thu, 15 Feb 2024 21:37:26 UTC
I discovered that using a microsd card for what holds the U-Boot
and not having an e.MMC at all allowed me to boot a stock aarch64
pkg base based USB3 media that I have around when plugged into
the USB3 port: no custom kernels or installation of materials in
odd places. U-Boot 2024.01 is what is on the microsd card. 

What had stopped my earlier attempts was the e.MMC speed handling
issue (lack of tuning/retuning support in FreeBSD's kernel) when
the e.MMC media was present.

I did not have to move the microsd/E.MMC jumper from where it has
been for years.

This, of course, means no use of the e.MMC media that I have around,
but, with USB3 and such working, I'm happy with that.

No more odd procedures for booting USB3 media after all these years.
What had been missing was just U-Boot being able to deal with the
USB3 media for its stage (and the FreeBSD loader stage that depends
on U-Boot's services).

Sorry for the earlier noise where I'd guessed that FreeBSD had not
tracked some Linux .dtb update. It turned out to be just the old
e.MMMC speed handling issue.


For reference:

# uname -apKU
FreeBSD aarch64-main-pkgs 15.0-CURRENT FreeBSD 15.0-CURRENT main-n268300-d79b6b8ec267 GENERIC-NODEBUG arm64 aarch64 1500014 1500014

# sysctl hw.fdt
hw.fdt.serial-number: 0000000000000000
hw.fdt.freebsd-version: 6.4
hw.fdt.compatible: pine64,rock64 rockchip,rk3328
hw.fdt.model: Pine64 Rock64

# df -m
Filesystem       1M-blocks  Used  Avail Capacity  Mounted on
/dev/ufs/rootfs     213682 21043 175543    11%    /
devfs                    0     0      0     0%    /dev
/dev/msdosfs/EFI        49    25     24    52%    /boot/efi

(Note: This media also boots RPi4B's and such, which is
why it has a /dev/msdosfs/EFI present --but unused on the
Rock64.)

# gpart show -pl
=>      40  62333872    mmcsd0  GPT  (30G)
        40     32728            - free -  (16M)
     32768    524288  mmcsd0p1  Rock64Empty  (256M)
    557056  61776856            - free -  (29G)

=>       40  468862048    da0  GPT  (224G)
         40      32728         - free -  (16M)
      32768     102400  da0p1  efi  (50M)
     135168  451809280  da0p2  rootfs  (215G)
  451944448   16916480  da0p3  (null)  (8.1G)
  468860928       1160         - free -  (580K)

Note: da0p3 is of type freebsd-swap .


===
Mark Millard
marklmi at yahoo.com