I was trapped in this situation for one week. When I plug in my micro SD card, UART log out "mmc0: error -110 whilst initialising SD card", and BB-AI can't recognize my sd card. When I am trying to boot debian from SD card, UART log out "mmc0: error -110 whilst initialising SD card", and booting failed.
Finally, I found out that the key of the problem is the device tree(.dtb). I didn't study very deep into the .dts files provided by official website, because there is too many files.
So, I converted the am5729-beagleboneai.dtb to xx.dts using "dtc". Then, I found out mmc1 node (mmc@4809c000), and modify some places as follows:
1. compatible = "ti,dra7-sdhci"; >>>>> compatible = "ti,dra7-sdhci", "ti,omap4-hsmmc";
2. add: vmmc_aux-supply = <0xd0>; (same node with vqmmc-supply)
3. max-frequency = <0xb71b000>; >>>>> max-frequency = <0x16e3600>; (to lower the frequency of mmc)
Save and exit, then convert the .dts file to am5729-beagleboneai.dtb, replace the old one.
Then, I booted debian from my SD card successfully! And, when I booted debian form emmc(modify the .dts inside as listed above), there was no error log "mmc0: error -110 whilst initialising SD card" when plug in sd card, and I can see my sd card using "lsblk", and also can mount it successfully.
However, some error log still there as follows when poweron.
U-Boot 2019.07-rc4-00001-g607b5b738b (Jul 06 2019 - 21:01:15 -0500), Build: jenkins-github_Bootloader-Builder-127
CPU : DRA752-GP ES2.0
Model: BeagleBoard.org BeagleBone AI
Board: BeagleBone AI REV A
DRAM: 1 GiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
CTRL_CORE_PAD_I2C1_SDA: 0x00060000
CTRL_CORE_PAD_I2C1_SCL: 0x00060000
CTRL_CORE_PAD_GPMC_A0: 0x00060007
CTRL_CORE_PAD_GPMC_A1: 0x00060007
CTRL_CORE_PAD_VIN2A_D4: 0x0005000f
CTRL_CORE_PAD_VIN2A_D5: 0x0005000f
CM_L4PER_GPIO7_CLKCTRL: 0x00000001
CM_L4PER_I2C1_CLKCTRL: 0x00000002
CM_L4PER_I2C4_CLKCTRL: 0x00000002
CM_L4PER_L4_PER1_CLKCTRL 0x00000001
PM_L4PER_I2C1_WKDEP 0x0000b000
RM_L4PER_I2C1_CONTEXT 0x00000002
PM_L4PER_I2C4_WKDEP 0x0000b000
RM_L4PER_I2C4_CONTEXT 0x00000001
BeagleBone: cape eeprom: i2c_probe: 0x54
Checking (ret 1 bus works) I2C1 bus. ret 1
Checking (ret 1 bus works) I2C4 bus. ret 1
BeagleBone: cape eeprom: i2c_probe: 0x55
Checking (ret 1 bus works) I2C1 bus. ret 1
Checking (ret 1 bus works) I2C4 bus. ret 1
BeagleBone: cape eeprom: i2c_probe: 0x56
Checking (ret 1 bus works) I2C1 bus. ret 1
Checking (ret 1 bus works) I2C4 bus. ret 1
BeagleBone: cape eeprom: i2c_probe: 0x57
Checking (ret 1 bus works) I2C1 bus. ret 1
Checking (ret 1 bus works) I2C4 bus. ret 1
Net:
Warning: ethernet@48484000 using MAC address from ROM
eth0: ethernet@48484000
Press SPACE to abort autoboot in 1 seconds
usb_boot is currently disabled
scsi_boot is currently disabled
switch to partitions #0, OK
mmc0 is current device
Partition Map for MMC device 0 -- Partition Type: DOS
Part Start Sector Num Sectors UUID Type
1 8192 7364608 f7146e7c-01 83 Boot
Scanning mmc device 0
Checking for: /uEnv.txt ...
Checking for: /boot/uEnv.txt ...
657 bytes read in 2 ms (320.3 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt ...
debug: [uname_r=4.14.108-ti-r113] ...
loading /boot/vmlinuz-4.14.108-ti-r113 ...
9929216 bytes read in 864 ms (11 MiB/s)
loading /boot/dtbs/4.14.108-ti-r113/am5729-beagleboneai.dtb ...
103182 bytes read in 11 ms (8.9 MiB/s)
uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable...
loading /boot/initrd.img-4.14.108-ti-r113 ...
4642997 bytes read in 406 ms (10.9 MiB/s)
debug: [console=ttyS0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 rng_core.default_quality=100 quiet] ...
debug: [bootz 0x82000000 0x88080000:46d8b5 0x88000000] ...
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Ramdisk to 8fb92000, end 8ffff8b5 ... OK
Loading Device Tree to 8fb75000, end 8fb9130d ... OK
Starting kernel ...
[ 0.002420] /cpus/cpu@0 missing clock-frequency property
[ 0.002444] /cpus/cpu@1 missing clock-frequency property
[ 0.560313] omap-mailbox 4a0f4000.mailbox: no available mbox devices found
[ 0.560383] omap-mailbox 4883a000.mailbox: no available mbox devices found
[ 0.560448] omap-mailbox 4883c000.mailbox: no available mbox devices found
[ 0.560511] omap-mailbox 4883e000.mailbox: no available mbox devices found
[ 0.561155] omap-mailbox 48844000.mailbox: no available mbox devices found
[ 0.561224] omap-mailbox 48846000.mailbox: no available mbox devices found
[ 0.561288] omap-mailbox 4885e000.mailbox: no available mbox devices found
[ 0.561353] omap-mailbox 48860000.mailbox: no available mbox devices found
[ 0.561416] omap-mailbox 48862000.mailbox: no available mbox devices found
[ 0.561478] omap-mailbox 48864000.mailbox: no available mbox devices found
[ 0.561540] omap-mailbox 48802000.mailbox: no available mbox devices found
[ 1.008948] tpd12s015 encoder@0: failed to find video source
[ 1.014950] connector-hdmi connector@0: failed to find video source
[ 1.137172] dwc3 488d0000.usb: failed to initialize core
[ 1.158946] sdhci-omap 4809c000.mmc: failed to set system capabilities
[ 1.166177] sdhci-omap 480b4000.mmc: failed to set system capabilities
[ 1.189399] omap_voltage_late_init: Voltage driver support not added
[ 25.420732] cpu cpu0: _get_optimal_vdd_voltage: Failed optimized voltage match for 860000
Debian GNU/Linux 9 beaglebone ttyS0
BeagleBoard.org Debian Image 2019-08-03
Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
default username:password is [debian:temppwd]
beaglebone login: