Good evening,
I'm developing on a custom AM3351-based board, and at this stage have SPL and U-boot running properly through my JTAG interface. I can also boot succesfully through UART0 interface. I'm now trying to get the SD card to work properly, but am running into trouble and am not able to find the correct device tree. Here's the output from my UART0 console when trying to boot from the SD card:
U-Boot SPL 2016.05-00230-g120a8a3-dirty (Oct 25 2016 - 09:46:05)
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus 0 are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus 0 are properly configured
Trying to boot from MMC2
reading args
spl_load_image_fat_os: error reading image args, err - -1
reading u-boot.img
reading u-boot.img
reading u-boot.img
No matching DT out of these options:
<NULL>
<NULL>
<NULL>
<NULL>
<NULL>
<NULL>
<NULL>
spl_load_image_fat: error reading image u-boot.img, err - -2
Failed to mount ext2 filesystem...
spl_load_image_ext_os: ext4fs mount err - 0
Failed to mount ext2 filesystem...
spl_load_image_ext: ext4fs mount err - 0
First question, how come it prints that I'm trying to boot from MMC2, when the SD card is located on mmc1 (and the boot sequence is MMC1->MMC0->UART0->USB0. Is it 1-based indexing for this print statement? Or is this an error?
Second, I compiled a custom dtb file "am335x-zc.dtb" for this board based on my pin mappings. I modified am335x_evm_defconfig to reference this file with the define
CONFIG_DEFAULT_DEVICE_TREE="am335x-zc"
I then followed the instructions for creating an SD card image (http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_create_SD_card_scriptand placed the dtb file in the /rootfs/boot/ directory on my SD card. Do I need to modify headers in any other locations to specify the dtb file location?
Next, I loaded SPL and u-boot through the JTAG interface and aborted the autoboot sequence. I then queried mmc devices but found the error message
=> mmc rescan
Card did not respond to voltage select!
=> mmc list
OMAP SD/MMC: 0
It also seems to be using MMC0 and not MMC1. Please let me know if you have any suggestions. Thank you so much for your support.
Best regards,
Chris
P.s. Here's the console output when loading SPL and u-boot through CCS debugging interface:
U-Boot SPL 2016.05-00230-g120a8a3-dirty (Oct 25 2016 - 09:46:05)
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus 0 are properly configured
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus 0 are properly configured
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
U-Boot 2016.05-00230-g120a8a3-dirty (Oct 25 2016 - 09:46:45 -0400)
I2C: ready
DRAM: 64 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
Card did not respond to voltage select!
** Bad device mmc 0 **
Using default environment
Timed out in wait_for_event: status=0000
Check if pads/pull-ups of bus 0 are properly configured
Could not get board ID.
<ethaddr> not set. Validating first E-fuse MAC
Net:
Warning: usb_ether MAC addresses don't match:
Address in SROM is de:ad:be:ef:00:01
Address in environment is a0:f6:fd:27:f2:11
eth0: usb_ether
Press SPACE to abort autoboot in 2 seconds
=> mmc rescan
Card did not respond to voltage select!
=> mmc list
OMAP SD/MMC: 0