
On Wed, 2006-04-05 at 19:04 -0700, Stephen Williams wrote:
I have a problem with some changes you (Jeff) did in u-boot related to compact flash. Can you help me understand why you put this:
/* Reset the configruation controller */
val = ace_readw(0x18);
val|=0x0080;
ace_writew(val, 0x18);
This is directly from the the Xilinx SystemACE Manual, "Reading Sector Data from Compact Flash Control Flow Porcess". In my manual the flow diagram is Figure 23.
into the systemace_read function? This is causing me grief, with the linux SystemACE indicating an error:
JTAG controller couldn't read configuration from the CompactFlash
while booting Linux with a ext3 partition on the SystemACE CF. When I comment those lines out of cmd_ace.c, my boot starts to work again.
I suspect this "reset" of the config portion of the systemace is causing the SystemACE to start trying again to configure when the reset is released at the end of a block read. I would so like to remove that little snippet of code, but if you had a positive reason why it should be there, we need to negotiate.
Like I said, this is taken directly from the Xilinx documentation.
Furthermore, Xilinx tech support also instructed me to include these steps when I was troubleshooting some earlier issues with our board design. Here is a snippet from the conversation with the Xilinx staff:
<begin snippet>
"The ERRLED sometimes sporadically goes active when the MPU interface is used to read/write sectors from/to the CompactFlash device,respectively. The problem is due to the fact that the configuration engine receives spurious interrupts that are not handled correctly. There are couple of workarounds for this problem":
1)The work-around is to hold the configuration engine in reset(CFGRESET=1)while accessing the CF device via the MPU interface. 2)Safely ignore the error led and proceed with the process.
We are aware of the problem and there is nothing much we will be able to do on this issue, the reason for the Error LED going high is because of the fact that the compactflash is an ASIC and there are issues interfacing with the Flash card.
<end snippet>
Jeff Angielski The PTR Group