We have the MCIMX53-START-R dev board. We built our own board using the dev board’s reference design.
We are able to boot our board using the boot image that came with the dev board on an SD card and execute “run bootcmd_obds”.
I have observed the following behavior:
When executing “run bootcmd_obds” for the first time, the tools don’t actually run the diagnostic tests. The system appears to hang – I assume this is expected as the tools probably expected things setup for the dev board. Executing the above command however does program general purpose fuses
0x63F9887C = 0x0C and 0x63F98878 = 0x00.
When executing “run bootcmd_obds” for the second time, the tools still don’t run the diagnostic tests. Instead, the system appears to hang as before and the general purpose fuse is set: 0x63F98878 = 0x01.
When executing “run bootcmd_obds” for the third time, the tools actually run.
I need to find out what else the OBDS does to the fuse map when run for the first/second time on our board. I am happy to study the source code. This is where I need help.
What actually runs when the command “run bootcmd_obds” is executed?
Where do I find the source code for what runs?
Can anyone familiar with OBDS briefly summarize the fuse changes that take place when the above command is executed?
I don't know where this command comes from, and wasn't able to identify it in u-boot sources.
OBDS targets Freescale reference boards, and as part of the test procedure, it will typically blow the rev of the board in fuses.
As the test code is probably not totally adapted to your board, I rather suggest to download the IMX53_QSB_OBDS code for the Freescale web site, and make the necessary adjustment.