[U-Boot-Users] Problem with SystemACE cmd_ace.c patch of 7 Aug 2005

Jeff Angielski
2006-04-06T17:26:08Z

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