
On Fri, 2006-10-20 at 13:19 -0400, Lei Sun wrote:
Hi Ben: Thanks for the tips! We didn't use local bus interface to flash, but used 60x bus instead. I looked at the schematic and did found some difference between SDK (PQ2FADS-VR) and our board. We used JS28T256P30N95 flash, and connect all address pins to CPU's ADD pins, but the SDK use BADDR[27-29] to connect to flash's A[2] - A[0]. According to the mpc82xx manul, that should be the right way. That's so weird, because i was able to read the correct content out of the flash, after manually initialized the BR/OR register through JTAG. It shouldn't be working at all if the flash connection was wrong somehow.
We made the same mistake on our first board, which is why I'm familiar with the topic. Luckily, as you've noticed, your wiring will work for general purpose flash access, just not the reading of RCW values. From what I've read, things are done this way because at initialization the CPU doesn't know the flash chip's data bus width so it does some tricks to get the data from any width device. If you look at the first several words of your U-boot image, you'll see that each byte of your RCW is repeated 8 times.
Anyway, hopefully you can either white-wire or load your RCW from another source. In our case, we were lucky enough to have an I2C EEPROM device at the right address. Your CPU manual probably mentions several options.
regards, Ben