
Hi Luiz,
Luiz Neto wrote:
Hi David,
This is Luiz and I'm working with Robert in this project. Actually, I'm a hardware guy. I read your messages and it seems you're right. However, before introducing these changes on the board, we decided to verify all flash circuitry and we noticed the following:
CE# is OK! WE# is OK! OE# is OK!
We verified it using a scope and triggering CE# pin. After that, we tried to write to flash through BDI2000 using "mm" command. Again with a scope we checked each address line and apparently everything is fine with the address. We also checked the data being written, and it's ok too. After that, in order to validate the written, we read the same address we had just written. But we got a different value. Therefore we are not writing correctly to flash.
Ok, after all, we fixed our board following your tips. We connected LA[27:30] to A[3:0] and A[4:25] to LBA[26:5]. But we got the same bad result. I mean we read a wrong data.
After, we changed flash access time, decreasing it. And the problem persisted. We changed flash chip and nothing happened.
Actually I'm afraid because I can't see what else we can verify on hardware.
My opinion is we have mistakes on configuration file. I'm not sure if we are configuring all registers correctly.
Do you think it would be helpful if I send you our flash schematic and our configuration file?
Thanks in advance! Luiz.
I'm not sure if this has been mentioned or not. You should be able to read/write the flash from the BDI-2000, regardless of whether you connect the LA or LBA address bits. The difference comes into play when you want to boot from the flash chip. During the very early boot process, only the special LSbits toggle. On one spin of our board we missed this as well, and had to do some funny business with an I2C EEPROM to boot the board. Thankfully it was easy with our CPU (MPC8349) because it only involved programming a couple of configuration words and no UPM programming like Dave H. has suggested. It looks like it may not be as simple for you. :-(
If you're able to white-wire the LA bits, that's cool because ultimately you'll need that to boot the board. You're right that something else is screwy.
Have you tried asking Freescale for help through their website? I've found their tech support in these matters to be responsive and useful. You can send me your schematic & config if you want, although I can't guarantee to be of much use.
regards, Ben