Other Parts Discussed in Thread: DLP2010
Hi Kyle,
As you pointed out, my flash data signals were flipped, so I corrected them. As before, I toggled the PROJ_ON signal every few seconds and watched the SPI bus as the 3470 attempts to boot. Since I never saw PROJ_IRQ drop (signaling the completion of booting), I probed the four SPI signals (CS, DI, DO and CLK) with a deep memory scope and downloaded the data into a PC. I then wrote some software to process the collected data to convert the signals into SPI commands and data.
I see the 3470 issue a series of 4 fast read commands (0xb) followed by 24-bit addresses: 0, 0x1000, 0 and 0x2A0A0. I collected the read data and discovered that there was an extra 0x00 byte proceeding what is correct data from the master file you sent me (dlpc347x_7.0.1.s37). In other words, if I remove one bytes of 0x00 from the Flash ROM's output that I captured it matches the master file. I've reviewed the SPI signals in this region to verify that the software isn't lying to me. I figured this extra byte of zero is the cause of the 3470 not booting. I can't explain why the zero is present. The SPI signals look very good (nice 3.3V and 0V levels).
I removed the Flash chip and replaced it with another I'd programmed from the master file. I also downloaded the content of the removed Flash ROM and compared it to the master. It was an exact match except of course for the unprogrammed locations (e.g. the master file doesn't contain all 32 MB of data). The data was perfectly intact.
With the Flash ROM replaced on the board, I see the chip select signal looks the same as it did with the original Flash ROM and IRQ never drops signaling the end of booting. I have verified that IRQ isn't shorted because I can toggle it as an output from the CX3 (mipi controller) to which it is attached.
We have a second set of boards I will modify and try.
Thanks for your help,
Scott