Remove bit swapping in Xilinx Spartan bitfile loading
PATCH RESEND 5/5 Remove bit swapping in Xilinx Spartan bitfile loading
This patch removes the unnecessary bit swapping when booting .bit files with the 'fpga loadb' command.
Signed-off-by Matthias Fuchs <[email protected]>
--- common/cmd_fpga.c | 37 +------------------------------------ 1 files changed, 1 insertions(+), 36 deletions(-)
common/cmd_fpga.c +1 -36
@@ -60,12 +60,9 @@ int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size) {#if defined(CONFIG_FPGA_XILINX )unsigned int length; -unsigned char * swapdata;unsigned int swapsize;char buffer[80 ]; -unsigned char *ptr;unsigned char *dataptr; -unsigned char data;unsigned int i;int rc;
@@ -143,39 +140,7 @@ int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size) dataptr+=4 ;printf (" bytes in bitstream = %d\n" , swapsize); -/* check consistency of length obtained */ -if (swapsize >= size) { -printf ("%s: Could not find right length of data in bitstream\n" , - __FUNCTION__); -return FPGA_FAIL ; - } - -/* allocate memory */ - swapdata = (unsigned char *)malloc (swapsize); -if (swapdata ==NULL ) { -printf ("%s: Could not allocate %d bytes memory !\n" , - __FUNCTION__, swapsize); -return FPGA_FAIL ; - } - -/* read data into memory and swap bits */ - ptr = swapdata; -for (i =0 ; i < swapsize; i++) { - data =0x00 ; - data |= (*dataptr &0x01 ) <<7 ; - data |= (*dataptr &0x02 ) <<5 ; - data |= (*dataptr &0x04 ) <<3 ; - data |= (*dataptr &0x08 ) <<1 ; - data |= (*dataptr &0x10 ) >>1 ; - data |= (*dataptr &0x20 ) >>3 ; - data |= (*dataptr &0x40 ) >>5 ; - data |= (*dataptr &0x80 ) >>7 ; - *ptr++ = data; - dataptr++; - } - - rc =fpga_load (dev, swapdata, swapsize); -free (swapdata); + rc =fpga_load (dev, dataptr, swapsize);return rc;#else printf ("Bitstream support only for Xilinx devices\n" );
Signature · 1 line
1.5.3
Wolfgang Denk
AppliedPATCH RESEND 5/5 Remove bit swapping in Xilinx Spartan bitfile loading
Quoted 4 lines · In message <[email protected]> you wrote:
This patch removes the unnecessary bit swapping when booting .bit files with the 'fpga loadb' command.
Signed-off-by Matthias Fuchs <[email protected]>
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 5 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de About the use of language: it is impossible to sharpen a pencil with a blunt ax. It is equally vain to try to do it with ten blunt axes instead. -- Edsger Dijkstra