Hi David/Ben/Clemens,<br><br>First of all, thanks for helping us!!! You are amazing guys!<br><br>Yes, we want to boot from flash. But firstly, we want to validate our hardware :)<br><br>So, let me see if I understood you synchronizing some points:
<br><br>1- In order to validate my flash circuitry, I don't need LA pins. I'm able to validate it using just simple FCI commands. Am I right?<br><br>I'm not familiar with these command. Probably Robert knows it. But he is out of the office until tuesday. Can you please give some examples?
<br><br>2- LA pins are necessary just in case I want to boot from flash. Is it?<br><br>3- Our flash is a S29GL01GP MirrorBit. I'm send you our flash schematic and datasheet. There you can see that WP# is tied high, BYTE# is tied high, RESET# is high (a FPGA controls this pin) and that there is no address pin floating.
<br><br>Thanks in advance!<br>Luiz<br><br><br><div><span class="gmail_quote">2007/9/6, David Hawkins <<a href="mailto:dwh@ovro.caltech.edu">dwh@ovro.caltech.edu</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Luiz,<br><br>> This is Luiz and I'm working with Robert in this project.<br><br>Glad to hear he's got someone to grow grey hairs<br>with ... if it hasn't fallen out yet.<br><br>> Actually, I'm a hardware guy.
<br><br>So am I ... this week :)<br><br>> I read your messages and it seems you're right. However,<br>> before introducing these changes on the board, we decided<br>> to verify all flash circuitry and we noticed the following:
<br>><br>> CE# is OK!<br>> WE# is OK!<br>> OE# is OK!<br>><br>> We verified it using a scope and triggering CE# pin. After that, we<br>> tried to write to flash through BDI2000 using "mm" command. Again with a
<br>> scope we checked each address line and apparently everything is fine<br>> with the address.<br><br>I think that after the processor boots LAD[0:31] activate<br>for each address access, its only during boot that LAD[27:31]
<br>do not toggle, and you have to use LA[27:31]. So its<br>that confirmation of the address toggles in this case just<br>confirms that the LAD[27:31] bits toggle.<br><br>On the bright-side, it sounds like you have the bit
<br>ordering correct ([27:30])... just not the right bits<br>(LAD vs LA).<br><br>> We also checked the data being written, and it's ok<br>> too. After that, in order to validate the written, we read the same<br>
> address we had just written. But we got a different value. Therefore we<br>> are not writing correctly to flash.<br><br>Have you tried using simple CFI flash commands;<br>read the manufacturer ID, read the device ID,
<br>read the sector protection? Don't bother with<br>BDI Flash commands just yet, just use memory<br>read/write commands.<br><br>> Ok, after all, we fixed our board following your tips.<br>> We connected LA[27:30] to A[3:0] and A[4:25] to LBA[26:5].
<br>> But we got the same bad result. I mean we read a wrong data.<br>><br>> After, we changed flash access time, decreasing it. And the<br>> problem persisted. We changed flash chip and nothing happened.<br>>
<br>> Actually I'm afraid because I can't see what else we can verify<br>> on hardware.<br>><br>> My opinion is we have mistakes on configuration file. I'm not sure if we<br>> are configuring all registers correctly.
<br>><br>> Do you think it would be helpful if I send you our flash schematic and<br>> our configuration file?<br><br>Sure, no guarantees, you can send me a copy, or send<br>a link to the group. I'm not too knowledgeable on BDI
<br>config files yet, as I don't have my custom hardware.<br>However, I have looked at a few hardware designs, so<br>perhaps I'll spot something on the schematic. The<br>peripherals seem to be pretty similar between the
<br>PowerQUICCs, so I'll dig up a working configuration<br>file, and look at the difference in register settings.<br><br>What is your Flash? Eg. if its say a Spansion device,<br>do you have WP# tied high, BYTE# tied low/high, etc?
<br>Are there any address pins left floating?<br><br>Do you have a logic analyzer available? If you did,<br>you'd be able to look at the flash controls and write-data<br>and convince yourself that your Flash programming
<br>sequence was correct.<br><br>The best advice at the moment, is to access your Flash<br>configuration using manual read/write sequences.<br><br>Cheers,<br>Dave<br><br><br><br><br><br><br></blockquote></div><br>