Tagged: OSD3358
Hello,
I’am working on OSD3358 mounted on a custom board. The board has two sd card slots. One is wired with the mmc0 (mci) interface and the other with the mmc1 interface. The sysboot configuration is [0100 0000 0001 1100] (MMC1>MMC0>UART9>USB0 24MHz). The operating system is linux based using u-boot as bootloader.
Now I’m facing the problem that the processor is not booting from sd card. The board powers up. Without an sd card “cc’s” are output via the serial debug console after switching on the board. When switching on the board with an sd card, there is no output on the debug console. On a similar board using an am3354 the operating system boots fine. But on our custom board with the OSD3358 even u-boot doesn’t seem to boot which I actually expected.
Is there anything special to consider when it comes to booting?
Best,
Marco
Marco,
Are you using an SD card which checks EEPROM ID when booting? Please see https://octavosystems.com/app_notes/osd335x-eeprom-during-boot/ for more details and procedure to boot with blank EEPROM.
As you are seeing “CC” in UART boot mode, you can assume that the board powers up just fine. You can probe(using an oscilloscope) the CLK and CMD lines of the SD card slot to see if the ROM code is selecting the boot mode for the SD card slot you selected.
Best,
Neeraj
Neeraj,
Is there a special command sequence that I can use to see if the bootloader selects the SD card’s boot mode?
I have probed the cmd and clk lines and recorded the communication between the bootloader and the sd card with an logic analyzer. See the attached text file.
When evaluating the recorded data, I noticed that the bootloader repeatedly sends command 41 to the SD card during the initialization phase. However, this seems to go wrong. Because the same error bits are always set in the response from the SD card (COM_CRC_ERROR, ILLEGAL_COMMAND, DEVICE_ECC_FAILED, CC_ERROR, ERROR). However, it is not clear to me what the cause of the error messages is. Is it the bootloader, the hardware, or both, or can I ignore the error messages? Do you have any ideas?
Best,
Marco
Marco,
It looks like the boot mode setting are correct and AM335x initiates an SD card boot. The log file you posted, while it has errors in the beginning shows data transfer in the later half, which means the ROM code is able to read the SD card.
Have you looked at the EEPROM app note linked above to see if your board needs and EEPROM ID for boot check? Please see https://www.ti.com/lit/ug/spruh73q/spruh73q.pdf Section 26.1.8.5.3 for more information on boot procedure for SD card. By default, SPL debug print is disabled by u-boot config. You can turn it on for build using https://github.com/ARM-software/u-boot/blob/master/common/spl/Kconfig#L145.
You can also use https://github.com/RobertCNelson/omap-image-builder/tree/master/octavo to build images for blank EEPROM or enabling debug messages in SPL and U-Boot.
Best,
Neeraj
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields