This commit: https://svnweb.freebsd.org/ports/head/sysutils/u-boot-beaglebone/Makefile?view=markup&pathrev=498603 replaced "am335x_boneblack_defconfig" with "am335x_evm_defconfig". The latter has an option which wasn't in the former: CONFIG_DM_MMC=y which brakes access to eMMC: .... sdhci_ti1-slot0: Controller timeout sdhci_ti1-slot0: ============== REGISTER DUMP ============== sdhci_ti1-slot0: Sys addr: 0x00000000 | Version: 0x00003101 sdhci_ti1-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci_ti1-slot0: Argument: 0x00000000 | Trn mode: 0x00000102 sdhci_ti1-slot0: Present: 0x01f70000 | Host ctl: 0x00000000 sdhci_ti1-slot0: Power: 0x00000000 | Blk gap: 0x00000000 sdhci_ti1-slot0: Wake-up: 0x00000000 | Clock: 0x00008007 sdhci_ti1-slot0: Timeout: 0x00000000 | Int stat: 0x00000000 sdhci_ti1-slot0: Int enab: 0x017f00fb | Sig enab: 0x017f00fb sdhci_ti1-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000 sdhci_ti1-slot0: Caps: 0x04e10080 | Caps2: 0x00000000 sdhci_ti1-slot0: Max curr: 0x00000000 | ADMA err: 0x00000000 sdhci_ti1-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000 sdhci_ti1-slot0: =========================================== .... The boot process is delayed, and the corresponding devices /dev/mmcsd1* are missing. Replacing that option with CONFIG_DM_MMC=n fixes the issue. I didn't dig deep enough to find the root cause.
Maintainer informed via mail
FYI this bug renders following images useless: FreeBSD-11.2-RELEASE-arm-armv6-BEAGLEBONE.img FreeBSD-11.3-RELEASE-arm-armv6-BEAGLEBONE.img FreeBSD-12.0-RELEASE-arm-armv7-BEAGLEBONE.img and therefore cause averse reaction in new people who like FreeBSD on big PCs and trying to get into FreeBSD+ARM world which already desperately lacking developers and users.
This issue still seems to be present in FreeBSD-12.1-PRERELEASE-arm-armv7-BEAGLEBONE-20190913-r352266.img.xz
This should have been fixed with https://svnweb.freebsd.org/ports?view=revision&revision=512180 Also this doesn't affect old release as the u-boot image was built back then and the release image do not change after being built.
Will this fix be merged in time for 12.1 ?
12.1 switched to quarterly packages when it was branched (20 september) but my commit to the ports tree is only in head. 2019Q4 will be created in a few days and 12.1 will then use it so it will be ok then.
I was wrong, 12.1 uses head for building the image so 12.1-BETA1 uses my latest u-boot patch and can boot from sd or eMMC and eMMC works in both cases.
I tried the FreeBSD-13.0-CURRENT-arm-armv7-BEAGLEBONE-20190927-r352778.img.xz snapshot, and that still has this bug ?
12.1-RC1 still has the bug.
I've just got new BeagleBoneBlack and verified FreeBSD-13.0-CURRENT-arm-armv7-BEAGLEBONE-20191011-r353427.img is still buggy w. r. t. eMMC detection. Freshly svn'upped ports tree, built sysutils/u-boot-beaglebone port and replacing files in FAT partition on uSD card brings no change. After playing with sysutils/u-boot-beaglebone port a bit I found simple solution for this problem - adding line CONFIG_DM_MMC=y into files/bbb_fragment file and rebuilding port gave me working eMMC and enabled me to install FreeBSD there.
(In reply to bsd from comment #10) I don't see how it can change something as CONFIG_DM_MMC is already set. manu@skull> pwd /home/manu/Work/freebsd/freebsd-ports/sysutils/u-boot-beaglebone manu@skull> make configure ... manu@skull> grep CONFIG_DM_MMC work/u-boot-2019.10/.config CONFIG_DM_MMC=y
It turns out the problems reported by comment 8 and the followups have the same symptom (sdhci_ti1 controller timeout) but a different cause. A new bug 241301 has been opened to track it.
(In reply to Emmanuel Vadot from comment #11) Sorry, this was copy-and-paste error, added line is CONFIG_DM_MMC=n