Hello all!
I have board, based on TMDSEVM6678LE Rev. 2A. I try to boot my board with value DEVSTAT = 0x0001080B but with no result; Boot mode is:
- Little Endian
- i2c master mode
- Boot from i2c EEPROM at i2c bus address 0x51.
- i2c speed ~20kHZ
I built IBL in this sequence:
1) source linux-c6x-project/setenv
2) projects/ibl/release.sh
After process will complete, I config IBL
3) projects/ibl/src/util/iblConfig/build/iblConfig.out input.txt
input.txt is:
file_name = ibl.bin
device = 6
offset = 0x500
ethBoot-doBootp = FALSE
ethBoot-bootFormat = ibl_BOOT_FORMAT_BBLOB
ethBoot-ipAddr = 192.168.0.197
ethBoot-serverIp = 192.168.0.121
ethBoot-gatewayIp = 192.168.0.1
ethBoot-netmask = 255.255.255.0
ethBoot-fileName = c6678-le.bin
cp ibl.bin i2crom_0x51_c6678_le.bin
4) After that I burn i2crom_0x51_c6678_le.bin via CCS to i2c EEPROM
eepromwriter_evm6678l.out eepromwriter_input.txt
eepromwriter_input.txt is:
file_name = i2crom_0x51_c6678_le.bin
bus_addr = 81
start_addr = 0
swap_data = 0
Burn complete successfully.
After power up my board on i2c lines: I2CCLK and I2CSDA i see signals. And they never not change their forms.
I suppose that my i2crom_0x51_c6678_le.bin is incorrect or I lost some operation during IBL config.
Please, tell me:
1) how I can properly prepare IBL boot image for i2c (if I rebuilt IBL for EVM it will boot fine). In case of my board IBL never call the main( ) from main/iblinit.c and the main( ) from main/iblmain.c.
2) I read all related documentation about booting process and look into ibl source code but don't clearly understand boot sequence. Can you explain me step by step how system bootint with ibl and what function's are calling.
If you need additional information I will provide it.
Thank you.