We have designed a custom board based on i.MX6Q. Our aim is to bring up the board.
Boot scheme uses GPIO over rides to determine boot device. We are struggling with bootrom code and situation is as follows:
All voltage rails on the board seem to be fine including the ones CPU generates such as ARM_CAP, SOC_CAP
CPU is out of reset and reset sequence seems to be ok
The critical hardware our custom board have and the one SABRE Lite has, are similar. Although pin connections on CPU side are different and interfaces of CPU differrs.
Our critical hardware is as follows:
RAM: 64 bit 1GByte DDR3L consisting of 4xMicron MT41K128M16JT-125 AIT:K chips
SPI Flash: Numonyx M25P128 (128Mbit SPI-NOR Flash)
Sabre Lite hardware as follows:
RAM: 64 bit 1GByte DDR3 consisting of 4xMicron MT41J128M16HA-15E chips
SPI Flash: Microchip SST 25VF016B (16 Mbit SPI-NOR Flash)
Our boot device is SPI-NOR and GPIO settings determine the boot device correctly. Freescale Mfg tool seems to write the boot data correctly. We have verified this by monitoring SPI signals by using osciloscope during boot time and checking some of the content of boot data read by CPU. Therefore, CPU accesses correct boot device during boot up.The same QNX and u-boot bootrom code which works with sabre lite doesnt seem to be working with our custom board. The QNX -IPL(Initial program loader) is kind of light weight version of u-boot which initializes only AIPS, Clocks and Pin multiplexing for uart console. Before these initializations we add small code which lights up some leds over CPU GPIO pins.However, we cant reach to the point where the leds light up and the bootrom-code seems not to be running but we oberserve that the current consumption of the board increases after the CPU boots up (approximately 1 Watt increase).
Furthermore, we were able to access CPU via JTAG and could light up some leds by writing some internal CPU registers.
We also plan to verify our ddr ram access running ddr stress tool.
Considering the case mentioned above, what steps should we take to overcome the boot problem. What could be the reason why the bootrom code which works for sabre lite doesnt work in our custom board?