[U-Boot-Users] Xilinx Spartan3 serial slave CRC error - bitswapping remove cause problems

w.wegner at astro-kom.de w.wegner at astro-kom.de
Wed Mar 26 13:45:14 CET 2008


Hi,

On 26 Mar 2008 at 9:08, Tales Toledo wrote:

> Hi,
> 
> as mentioned in an previous e-mail (### previous console printfs ###)
> I had a problem with Spartan3 serial slave when loading bitstream. I
> am using 1.3.0 version with Matthias improved supported patch for FPGA
> applied.
> After some tests I rollback the bitstream swapping to a previous
> version and voila .... everything is working now.
> I think that remove bitswapping at fpga_loadbitstream is not a good
> idea based on my tests for Spartan3.
> Any comments about some experience with Spartan3?

I do not use the internal programming algorithm for Spartan3 because
it is so slow (with an XC3S4000), but in my "block write function" I
shift out the data MSB first without bit swapping:

	for(bytecount = 0; bytecount < len; bytecount++) {
		val = *(data++);
		for(i = 8; i > 0; i--) {
			gpiop->pclrr_qspi = 0xFB;
			if (val & 0x80) {
				gpiop->ppd_qspi = 0x01;
			} else {
				gpiop->pclrr_qspi = 0xFE;
			}
			gpiop->ppd_qspi = 0x04;
			val <<= 1;
		}
	}

For me, this works for a regular .bit file. Does this help as an
answer?

Regards,
Wolfgang





More information about the U-Boot mailing list