As I understand it, initial support for the Odroid C4 (OC4) has been added to u-boot and is included in 2020.10-rc2. I have been able to successfully boot my OC4 using u-boot 2020.10-rc2 from the SD card. Yay! Thank you.
Unfortunately, I cannot boot from the eMMC. U-boot is unable to reliably communicate with the eMMC--it encounters random, sporadic errors (more often errors than success). Note that once Linux (kernel version 5.8) is booted (using u-boot on the SD card), Linux has no problems communicating with the eMMC. In fact all Linux file systems reside on the eMMC. (The only files on the SD card are boot.scr, the Linux kernel image, initramfs image, and the dtb.) Below is a log of an interactive u-boot session that shows that the same commands accessing the eMMC both succeeding and failing. You will note that the u-boot version includes "-dirty." This is because I changed EXTRAVERSION in the toplevel Makefile to be "-rc2" (it was still set to "-rc1" in commit 554e551, tagged as 2020.10-rc2). Is eMMC support supposed to be working at this point? If so, does anyone have any ideas about what I need to do to get it working? Thank you, Garrick P.S. Please CC me, as I am not subscribed to the list. U-Boot 2020.10-rc2-dirty (Aug 12 2020 - 15:08:40 -0700) odroid-c4 Model: Hardkernel ODROID-C4 SoC: Amlogic Meson SM1 (Unknown) Revision 2b:c (10:2) DRAM: 3.8 GiB MMC: sd@ffe05000: 0, mmc@ffe07000: 1 In: serial Out: serial Err: serial Net: eth0: ethernet@ff3f0000 Hit any key to stop autoboot: 0 Card did not respond to voltage select! switch to partitions #0, OK mmc1(part 0) is current device Scanning mmc 1:1... ** Unrecognized filesystem type ** ** No partition table - mmc 1 ** ** No partition table - mmc 1 ** ** No partition table - mmc 1 ** ** No partition table - mmc 1 ** ** No partition table - mmc 1 ** ** No partition table - mmc 1 ** ** No partition table - mmc 1 ** MMC Device 2 not found no mmc device at slot 2 starting USB... Bus usb@ff500000: Register 3000140 NbrPorts 3 Starting the controller USB XHCI 1.10 scanning bus usb@ff500000 for devices... 3 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Device 0: unknown device Speed: 1000, full duplex BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 BOOTP broadcast 4 Abort missing environment variable: pxeuuid missing environment variable: bootfile Retrieving file: pxelinux.cfg/01-00-1e-06-48-0b-c7 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/00000000 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0000000 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/000000 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/00000 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0000 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/000 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/00 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/0 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-meson-odroid-n2 Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-meson Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm Speed: 1000, full duplex *** ERROR: `serverip' not set missing environment variable: bootfile Retrieving file: pxelinux.cfg/default Speed: 1000, full duplex *** ERROR: `serverip' not set Config file not found => mmc list sd@ffe05000: 0 mmc@ffe07000: 1 (eMMC) => mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device => fatls mmc 1:1 ** No partition table - mmc 1 ** => mmc dev 0 Card did not respond to voltage select! => mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device => mmc part ## Unknown partition table type 0 => mmc part ## Unknown partition table type 0 => mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device => mmc part Partition Map for MMC device 1 -- Partition Type: DOS Part Start Sector Num Sectors UUID Type 1 32768 2097152 03823826-01 0c Boot 2 2129920 57540608 03823826-02 83 3 59670528 57540608 03823826-03 83 4 117211136 4931584 03823826-04 83 => fatls mmc 1:1 5912348 Image.gz 46307 meson-sm1-odroid-c4.dtb 4741 new.scr 4741 old.scr 4748 sd.scr 8889884 uInitrd 4733 current.scr 7 file(s), 0 dir(s) => fatls mmc 1:1 5912348 Image.gz 46307 meson-sm1-odroid-c4.dtb 4741 new.scr 4741 old.scr 4748 sd.scr 8889884 uInitrd 4733 current.scr 7 file(s), 0 dir(s) => fatls mmc 1:1 5912348 Image.gz 46307 meson-sm1-odroid-c4.dtb 4741 new.scr 4741 old.scr 4748 sd.scr 8889884 uInitrd 4733 current.scr 7 file(s), 0 dir(s) => mmc part Partition Map for MMC device 1 -- Partition Type: DOS Part Start Sector Num Sectors UUID Type 1 32768 2097152 03823826-01 0c Boot 2 2129920 57540608 03823826-02 83 3 59670528 57540608 03823826-03 83 4 117211136 4931584 03823826-04 83 => fatls mmc 1:1 0 file(s), 0 dir(s)