AM3358 : eMMC is not detect in Linux on a custom board based on beaglebone black

Hi,

The custom board does not have Board ID EEPROM but we are setting the right variables in u-boot. I see that the eMMC is not being detected in kernel. Please check below :

arm login: debian
Password:
Last login: Tue Jun 29 02:19:08 UTC 2021 on ttyGS0

 

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
debian@arm:~$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0 29.8G  0 disk
└─mmcblk0p1 179:1    0  7.4G  0 part /
debian@arm:~$ sudo lsblk
[sudo] password for debian:
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0 29.8G  0 disk
└─mmcblk0p1 179:1    0  7.4G  0 part /
debian@arm:~$

The kernel is build using this guide : Debian: Getting Started with the BeagleBone Black

Kernel version is 4.14.108-ti-r127.

RFS is debian 10

What Device Tree did you boot with?

Regards,

Hi,

Please check the uEnv.txt config below :

debian@arm:/boot$ cat uEnv.txt
uname_r=4.14.108-ti-r127
#uuid=
#dtb=

###U-Boot Overlays###
###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
###Master Enable
enable_uboot_overlays=1
###
###Overide capes with eeprom
#uboot_overlay_addr0=/lib/firmware/<file0>.dtbo
#uboot_overlay_addr1=/lib/firmware/<file1>.dtbo
#uboot_overlay_addr2=/lib/firmware/<file2>.dtbo
#uboot_overlay_addr3=/lib/firmware/<file3>.dtbo
###
###Additional custom capes
#uboot_overlay_addr4=/lib/firmware/<file4>.dtbo
#uboot_overlay_addr5=/lib/firmware/<file5>.dtbo
#uboot_overlay_addr6=/lib/firmware/<file6>.dtbo
#uboot_overlay_addr7=/lib/firmware/<file7>.dtbo
###
###Custom Cape
#dtb_overlay=/lib/firmware/<file8>.dtbo
###
###Disable auto loading of virtual capes (emmc/video/wireless/adc)
#disable_uboot_overlay_emmc=1
disable_uboot_overlay_video=1
#disable_uboot_overlay_audio=1
#disable_uboot_overlay_wireless=1
#disable_uboot_overlay_adc=1
###
###PRUSS OPTIONS
###pru_rproc (4.4.x-ti kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-4-TI-00A0.dtbo
###pru_rproc (4.14.x-ti kernel)
uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo
###pru_rproc (4.19.x-ti kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-TI-00A0.dtbo
###pru_uio (4.4.x-ti, 4.14.x-ti, 4.19.x-ti & mainline/bone kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo
###
###Cape Universal Enable
enable_uboot_cape_universal=1
###
###Debug: disable uboot autoload of Cape
#disable_uboot_overlay_addr0=1
#disable_uboot_overlay_addr1=1
#disable_uboot_overlay_addr2=1
#disable_uboot_overlay_addr3=1
###
###U-Boot fdt tweaks... (60000 = 384KB)
#uboot_fdt_buffer=0x60000
###U-Boot Overlays###

cmdline=coherent_pool=1M net.ifnames=0 rng_core.default_quality=100 quiet

#In the event of edid real failures, uncomment this next line:
#cmdline=coherent_pool=1M net.ifnames=0 rng_core.default_quality=100 quiet video=HDMI-A-1:1024x768@60e

#Use an overlayfs on top of a read-only root filesystem:
#cmdline=coherent_pool=1M net.ifnames=0 rng_core.default_quality=100 quiet overlayroot=tmpfs

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

Also, i am posting the boot log

U-Boot SPL 2019.04-00006-g0dc256c-dirty (Apr 21 2021 - 17:20:49 +0530)
Trying to boot from MMC1
Loading Environment from EXT4... ** File not found /boot/uboot.env **

** Unable to read "/boot/uboot.env" from mmc0:1 **


U-Boot 2019.04-00006-g0dc256c-dirty (Apr 21 2021 - 17:20:49 +0530)

CPU  : AM335X-GP rev 2.1
I2C:   ready
DRAM:  512 MiB
No match for driver 'omap_hsmmc'
No match for driver 'omap_hsmmc'
Some drivers were not found
Reset Source: Global warm SW reset has occurred.
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: External.
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from EXT4... ** File not found /boot/uboot.env **

** Unable to read "/boot/uboot.env" from mmc0:1 **
Board: BeagleBone Black
<ethaddr> not set. Validating first E-fuse MAC
BeagleBone Black:
Timed out in wait_for_bb: status=1000
Timed out in wait_for_bb: status=1000
Timed out in wait_for_bb: status=1000
BeagleBone Cape EEPROM: no EEPROM at address: 0x54
Timed out in wait_for_bb: status=1000
BeagleBone Cape EEPROM: no EEPROM at address: 0x55
Timed out in wait_for_bb: status=1000
BeagleBone Cape EEPROM: no EEPROM at address: 0x56
Timed out in wait_for_bb: status=1000
BeagleBone Cape EEPROM: no EEPROM at address: 0x57
Net:   eth0: MII MODE
Could not get PHY for cpsw: addr 0
cpsw, usb_ether
Press SPACE to abort autoboot in 5 seconds
board_name=[A335BNLT] ...
board_rev=[00C0] ...
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
gpio: pin 55 (gpio 55) value is 1
2228 bytes read in 18 ms (120.1 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt...
gpio: pin 56 (gpio 56) value is 1
Running uname_boot ...
loading /boot/vmlinuz-4.14.108-ti-r127 ...
10043904 bytes read in 651 ms (14.7 MiB/s)
debug: [enable_uboot_overlays=1] ...
debug: [enable_uboot_cape_universal=1] ...
debug: [uboot_base_dtb_univ=am335x-boneblack-uboot-univ.dtb] ...
uboot_overlays: [uboot_base_dtb=am335x-boneblack-uboot-univ.dtb] ...
uboot_overlays: Switching too: dtb=am335x-boneblack-uboot-univ.dtb ...
loading /boot/dtbs/4.14.108-ti-r127/am335x-boneblack-uboot-univ.dtb ...
163345 bytes read in 61 ms (2.6 MiB/s)
uboot_overlays: [fdt_buffer=0x60000] ...
uboot_overlays: unable to find [mmc 0:1 BB-BONE-eMMC1-01-00A0.dtbo]...
uboot_overlays: uboot loading of [BB-HDMI-TDA998x-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_video=1]...
uboot_overlays: loading /lib/firmware/BB-ADC-00A0.dtbo ...
867 bytes read in 535 ms (1000 Bytes/s)
uboot_overlays: loading /lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo ...
3645 bytes read in 456 ms (6.8 KiB/s)
debug: [console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 rng_core.default_quality=100 quiet] ...
debug: [bootz 0x82000000 - 88000000] ...
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8ff74000, end 8fffffff ... OK

Starting kernel ...

[    0.002089] timer_probe: no matching timers found
[    0.708713] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[    0.730364] omap8250 481a8000.serial: unable to register 8250 port
[    0.737393] omap8250 481aa000.serial: unable to register 8250 port
[    1.027069] omap_voltage_late_init: Voltage driver support not added
[    1.034513] PM: Cannot get wkup_m3_ipc handle
[    1.537019] musb-hdrc musb-hdrc.1: VBUS_ERROR in a_wait_vrise (80, <SessEnd), retry #3, port1 0008010c
[   10.645174] libphy: PHY 4a101000.mdio:00 not found
[   10.673779] net eth0: phy "4a101000.mdio:00" not found on slave 0, err -19
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
[  OK  ] Started Helper to synchronize boot up for ifupdown.
         Starting Raise network interfaces...
[ TIME ] Timed out waiting for device /dev/ttyGS0.
[DEPEND] Dependency failed for Serial Getty on ttyGS0.
[  OK  ] Started Raise network interfaces.
[  OK  ] Reached target Network.
         Starting A high performanc… and a reverse proxy server...
         Starting Permit User Sessions...
         Starting Generic Board Startup...
         Starting OpenBSD Secure Shell server...
[  OK  ] Started Permit User Sessions.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyS0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started OpenBSD Secure Shell server.
[  OK  ] Started A high performance…er and a reverse proxy server.
         Starting dnsmasq - A light…DHCP and caching DNS server...
[  OK  ] Started dnsmasq - A lightw…t DHCP and caching DNS server.
[  OK  ] Reached target Host and Network Name Lookups.
[  OK  ] Started Serial Getty on ttyGS0.
[  OK  ] Started Generic Board Startup.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.

Debian GNU/Linux 10 arm ttyS0

default username:password is [debian:temppwd]

arm login: debian
Password:
Last login: Fri Jul  2 09:14:15 UTC 2021 on ttyS0

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
debian@arm:~$

Regards

That would cause the issue…

Regards,

Hi,

Actually i was not able to find that dtbo. I used this guide for building Linux : Debian: Getting Started with the BeagleBone Black

Is it not included in the default build process?

Regards,

It “was”… So you have these 2 files: BB-ADC-00A0.dtbo and AM335X-PRU-RPROC-4-14-TI-00A0.dtbo, both of which are included in the same debian package as BB-BONE-eMMC1-01-00A0.dtbo… So you must have deleted it…

uboot_overlays: unable to find [mmc 0:1 BB-BONE-eMMC1-01-00A0.dtbo]...
uboot_overlays: uboot loading of [BB-HDMI-TDA998x-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_video=1]...
uboot_overlays: loading /lib/firmware/BB-ADC-00A0.dtbo ...
867 bytes read in 535 ms (1000 Bytes/s)
uboot_overlays: loading /lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo ...
3645 bytes read in 456 ms (6.8 KiB/s)

Anywho…

sudo apt update
sudo apt install bb-cape-overlays --reinstall

Would correct it…

Regards,

Hi,

I tried this. But its not working. I have the same error.

uboot_overlays: unable to find [mmc 0:1 BB-BONE-eMMC1-01-00A0.dtbo]...
uboot_overlays: uboot loading of [BB-HDMI-TDA998x-00A0.dtbo] disabled by /boot/uEnv.txt [disable_uboot_overlay_video=1]...
uboot_overlays: loading /lib/firmware/BB-ADC-00A0.dtbo ...
867 bytes read in 535 ms (1000 Bytes/s)
uboot_overlays: loading /lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo ...
3645 bytes read in 456 ms (6.8 KiB/s)

Regards,

Since bb-cape-overlays provides that package, I’m not sure what you did.

Regards,