Re: [U-Boot] Question regarding FPGA firmware load in u-boot
André, Dieter, On Fri, 2009-06-19 at 17:46 +0200, Dieter Kiermaier wrote: Hello List, I want to boot a (Lattice) FPGA from u-boot by using Slave Serial configuration on a Marvell Kirkwood device. Should be no problem as long as you'll have access to GPIO. I'm working on it :) But more likely I would have the SPI controller to do the serializing of the bitstream. But maybe this would be the second step. As seen there is an (Xilinx and Altera) FPGA loader driver allready available in u-boot. Please can somebody explain how I have to provide a FPGA bitstream image to u-boot? The easiest way is to reserve some unused flash sectors and use the first sector's start adress as arg for fpga load. I assume this will only work with NOR flash, right? If I'm using NAND flash I have to copy the image to ram first? It seems I have to create a image with mkimage? no - Lattice specififc bitstream can be stored in raw format. mkimage may be useful for update, but personally I prefer update via dedicated linux mtd partition. This image have to be loaded into ram and the address has to be provided to the load command? Usually an FPGA is *very* board specific. I'd suggest to use flash and create a corresponding mtd partition for linux, i.e. make it maintainable. Seems to be a good way. Is there a cmd in u-boot to read a file from a jffs2 filesystem inside a nand flash partition? Is there a maintainer for the FPGA code inside u-boot? I'm willing to contribute some extensions for Lattice FPGAs if I'm successful! excellent - all you'll need is the Lattice specific bit toggle sequence. submitting a proper patch will surely do. I'm trying to get an idea what place is the best to integrate the lattice architecture in to the fpga framework. If I have any further questions - can I ask you again? Regards, André Many thanks for helping, Dieter Thanks to all, Dieter ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot MATRIX VISION GmbH, Talstra�e 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch�ftsf�hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Question regarding FPGA firmware load in u-boot
Dieter, On Mon, 2009-06-22 at 08:19 +0200, Dieter Kiermaier wrote: André, Dieter, On Fri, 2009-06-19 at 17:46 +0200, Dieter Kiermaier wrote: Hello List, I want to boot a (Lattice) FPGA from u-boot by using Slave Serial configuration on a Marvell Kirkwood device. Should be no problem as long as you'll have access to GPIO. I'm working on it :) But more likely I would have the SPI controller to do the serializing of the bitstream. But maybe this would be the second step. Bitbanging is not critical and works pretty fast. You definitely have to control maximum frequency and observe errors during load. If you'll use SPI make sure to disconnect the bus from the FPGA and keep the config pins in a sane state. As seen there is an (Xilinx and Altera) FPGA loader driver allready available in u-boot. Please can somebody explain how I have to provide a FPGA bitstream image to u-boot? The easiest way is to reserve some unused flash sectors and use the first sector's start adress as arg for fpga load. I assume this will only work with NOR flash, right? I'm using NOR flash, but it will work with any adressable memory. If I'm using NAND flash I have to copy the image to ram first? yes. It seems I have to create a image with mkimage? you can store e.g. fpga.bin as a single file inside jffs, read it and load your fpga. no - Lattice specififc bitstream can be stored in raw format. mkimage may be useful for update, but personally I prefer update via dedicated linux mtd partition. This image have to be loaded into ram and the address has to be provided to the load command? Usually an FPGA is *very* board specific. I'd suggest to use flash and create a corresponding mtd partition for linux, i.e. make it maintainable. Seems to be a good way. yes - but not for jffs2 on NAND. You can use a plain binary file instead. Is there a cmd in u-boot to read a file from a jffs2 filesystem inside a nand flash partition? Have a look at the end of common/cmd_jffs2.c : fsload is the one for you. Is there a maintainer for the FPGA code inside u-boot? I'm willing to contribute some extensions for Lattice FPGAs if I'm successful! excellent - all you'll need is the Lattice specific bit toggle sequence. submitting a proper patch will surely do. I'm trying to get an idea what place is the best to integrate the lattice architecture in to the fpga framework. If I have any further questions - can I ask you again? of course, but since I'm a PowerPC user I can't tell anything specific to ARM ... Cheers, André Regards, André Many thanks for helping, Dieter Thanks to all, Dieter ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot MATRIX VISION GmbH, Talstrae 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschftsfhrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich MATRIX VISION GmbH, Talstra�e 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch�ftsf�hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Question regarding FPGA firmware load in u-boot
André, Dieter, On Mon, 2009-06-22 at 08:19 +0200, Dieter Kiermaier wrote: André, Dieter, On Fri, 2009-06-19 at 17:46 +0200, Dieter Kiermaier wrote: Hello List, I want to boot a (Lattice) FPGA from u-boot by using Slave Serial configuration on a Marvell Kirkwood device. Should be no problem as long as you'll have access to GPIO. I'm working on it :) But more likely I would have the SPI controller to do the serializing of the bitstream. But maybe this would be the second step. Bitbanging is not critical and works pretty fast. You definitely have to control maximum frequency and observe errors during load. If you'll use SPI make sure to disconnect the bus from the FPGA and keep the config pins in a sane state. Do you have some time values how long your FPGA needs to boot by using bitbanging? As seen there is an (Xilinx and Altera) FPGA loader driver allready available in u-boot. Please can somebody explain how I have to provide a FPGA bitstream image to u-boot? The easiest way is to reserve some unused flash sectors and use the first sector's start adress as arg for fpga load. I assume this will only work with NOR flash, right? I'm using NOR flash, but it will work with any adressable memory. If I'm using NAND flash I have to copy the image to ram first? yes. It seems I have to create a image with mkimage? you can store e.g. fpga.bin as a single file inside jffs, read it and load your fpga. no - Lattice specififc bitstream can be stored in raw format. mkimage may be useful for update, but personally I prefer update via dedicated linux mtd partition. This image have to be loaded into ram and the address has to be provided to the load command? Usually an FPGA is *very* board specific. I'd suggest to use flash and create a corresponding mtd partition for linux, i.e. make it maintainable. Seems to be a good way. yes - but not for jffs2 on NAND. You can use a plain binary file instead. Is there a cmd in u-boot to read a file from a jffs2 filesystem inside a nand flash partition? Have a look at the end of common/cmd_jffs2.c : fsload is the one for you. Thanks for that link :) Is there a maintainer for the FPGA code inside u-boot? I'm willing to contribute some extensions for Lattice FPGAs if I'm successful! excellent - all you'll need is the Lattice specific bit toggle sequence. submitting a proper patch will surely do. I'm trying to get an idea what place is the best to integrate the lattice architecture in to the fpga framework. If I have any further questions - can I ask you again? of course, but since I'm a PowerPC user I can't tell anything specific to ARM ... Thanks again! So I would try to bring it up and see what happens :) Dieter Cheers, André Regards, André Many thanks for helping, Dieter Thanks to all, Dieter ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot MATRIX VISION GmbH, Talstrae 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschftsfhrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich MATRIX VISION GmbH, Talstra�e 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch�ftsf�hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Question regarding FPGA firmware load in u-boot
On Mon, 2009-06-22 at 11:00 +0200, Dieter Kiermaier wrote: André, Dieter, On Mon, 2009-06-22 at 08:19 +0200, Dieter Kiermaier wrote: André, Dieter, On Fri, 2009-06-19 at 17:46 +0200, Dieter Kiermaier wrote: Hello List, I want to boot a (Lattice) FPGA from u-boot by using Slave Serial configuration on a Marvell Kirkwood device. Should be no problem as long as you'll have access to GPIO. I'm working on it :) But more likely I would have the SPI controller to do the serializing of the bitstream. But maybe this would be the second step. Bitbanging is not critical and works pretty fast. You definitely have to control maximum frequency and observe errors during load. If you'll use SPI make sure to disconnect the bus from the FPGA and keep the config pins in a sane state. Do you have some time values how long your FPGA needs to boot by using bitbanging? less than a second. As seen there is an (Xilinx and Altera) FPGA loader driver allready available in u-boot. Please can somebody explain how I have to provide a FPGA bitstream image to u-boot? The easiest way is to reserve some unused flash sectors and use the first sector's start adress as arg for fpga load. I assume this will only work with NOR flash, right? I'm using NOR flash, but it will work with any adressable memory. If I'm using NAND flash I have to copy the image to ram first? yes. It seems I have to create a image with mkimage? you can store e.g. fpga.bin as a single file inside jffs, read it and load your fpga. no - Lattice specififc bitstream can be stored in raw format. mkimage may be useful for update, but personally I prefer update via dedicated linux mtd partition. This image have to be loaded into ram and the address has to be provided to the load command? Usually an FPGA is *very* board specific. I'd suggest to use flash and create a corresponding mtd partition for linux, i.e. make it maintainable. Seems to be a good way. yes - but not for jffs2 on NAND. You can use a plain binary file instead. Is there a cmd in u-boot to read a file from a jffs2 filesystem inside a nand flash partition? Have a look at the end of common/cmd_jffs2.c : fsload is the one for you. Thanks for that link :) Is there a maintainer for the FPGA code inside u-boot? I'm willing to contribute some extensions for Lattice FPGAs if I'm successful! excellent - all you'll need is the Lattice specific bit toggle sequence. submitting a proper patch will surely do. I'm trying to get an idea what place is the best to integrate the lattice architecture in to the fpga framework. If I have any further questions - can I ask you again? of course, but since I'm a PowerPC user I can't tell anything specific to ARM ... Thanks again! So I would try to bring it up and see what happens :) yes - to get it done quickly I'd recommend to add a new Lattice device family. Please create e.g. drivers/fpga/lattice.c and lattice_ecp3.c (matching your device) according to the xilinx and altera templates. It will integrate into common/cmd_fpga.c smoothly. GPIO accessor functions have to be defined inside the board specific code. If you definitely want to use spi please do it there, i.e. *not* in the general code unless this is useful for all boards. You can have a look at board/matrix_vision/mvbc_p/fpga.c+h Regards, André Dieter Cheers, André Regards, André Many thanks for helping, Dieter Thanks to all, Dieter ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot MATRIX VISION GmbH, Talstrae 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschftsfhrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich MATRIX VISION GmbH, Talstrae 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschftsfhrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich MATRIX VISION GmbH, Talstra�e 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch�ftsf�hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Question regarding FPGA firmware load in u-boot
Prafulla, -Original Message- From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de] On Behalf Of Dieter Kiermaier Sent: Monday, June 22, 2009 2:30 PM To: André Schwarz Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] Question regarding FPGA firmware load in u-boot André, Dieter, On Mon, 2009-06-22 at 08:19 +0200, Dieter Kiermaier wrote: André, Dieter, On Fri, 2009-06-19 at 17:46 +0200, Dieter Kiermaier wrote: Hello List, I want to boot a (Lattice) FPGA from u-boot by using Slave Serial configuration on a Marvell Kirkwood device. Should be no problem as long as you'll have access to GPIO. I'm working on it :) But more likely I would have the SPI controller to do the serializing of the bitstream. But maybe this would be the second step. Hi Pls see my patch, hopefully this is useful for you http://lists.denx.de/pipermail/u-boot/2009-June/053605.html Thanks for pointing to it. But as I tried to explain, the common SPI driver is useless for my board due to the kirkwood pin multiplexing. Thats why I asked for a TDM module based SPI driver in the past. (Please see my comment on the openplug wiki from today morning for a more detailed explanation) Dieter Regards.. Prafulla . . ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Question regarding FPGA firmware load in u-boot
Am Montag 22 Juni 2009 11:17:34 schrieb André Schwarz: On Mon, 2009-06-22 at 11:00 +0200, Dieter Kiermaier wrote: André, Dieter, On Mon, 2009-06-22 at 08:19 +0200, Dieter Kiermaier wrote: André, Dieter, On Fri, 2009-06-19 at 17:46 +0200, Dieter Kiermaier wrote: Hello List, I want to boot a (Lattice) FPGA from u-boot by using Slave Serial configuration on a Marvell Kirkwood device. Should be no problem as long as you'll have access to GPIO. I'm working on it :) But more likely I would have the SPI controller to do the serializing of the bitstream. But maybe this would be the second step. Bitbanging is not critical and works pretty fast. You definitely have to control maximum frequency and observe errors during load. If you'll use SPI make sure to disconnect the bus from the FPGA and keep the config pins in a sane state. Do you have some time values how long your FPGA needs to boot by using bitbanging? less than a second. Thats fine! As seen there is an (Xilinx and Altera) FPGA loader driver allready available in u-boot. Please can somebody explain how I have to provide a FPGA bitstream image to u-boot? The easiest way is to reserve some unused flash sectors and use the first sector's start adress as arg for fpga load. I assume this will only work with NOR flash, right? I'm using NOR flash, but it will work with any adressable memory. If I'm using NAND flash I have to copy the image to ram first? yes. It seems I have to create a image with mkimage? you can store e.g. fpga.bin as a single file inside jffs, read it and load your fpga. no - Lattice specififc bitstream can be stored in raw format. mkimage may be useful for update, but personally I prefer update via dedicated linux mtd partition. This image have to be loaded into ram and the address has to be provided to the load command? Usually an FPGA is *very* board specific. I'd suggest to use flash and create a corresponding mtd partition for linux, i.e. make it maintainable. Seems to be a good way. yes - but not for jffs2 on NAND. You can use a plain binary file instead. Is there a cmd in u-boot to read a file from a jffs2 filesystem inside a nand flash partition? Have a look at the end of common/cmd_jffs2.c : fsload is the one for you. Thanks for that link :) Is there a maintainer for the FPGA code inside u-boot? I'm willing to contribute some extensions for Lattice FPGAs if I'm successful! excellent - all you'll need is the Lattice specific bit toggle sequence. submitting a proper patch will surely do. I'm trying to get an idea what place is the best to integrate the lattice architecture in to the fpga framework. If I have any further questions - can I ask you again? of course, but since I'm a PowerPC user I can't tell anything specific to ARM ... Thanks again! So I would try to bring it up and see what happens :) yes - to get it done quickly I'd recommend to add a new Lattice device family. Please create e.g. drivers/fpga/lattice.c and lattice_ecp3.c (matching your device) according to the xilinx and altera templates. It will integrate into common/cmd_fpga.c smoothly. GPIO accessor functions have to be defined inside the board specific code. If you definitely want to use spi please do it there, i.e. *not* in the general code unless this is useful for all boards. You can have a look at board/matrix_vision/mvbc_p/fpga.c+h Ahh, thats what I want to hear. This will save much time to figure it all out. Sorry, but I'm a newbie compared with all these experts here. So what is clear for everybody isn't clear for me (at least until now...) But hopefully this becomes better :) Many thanks! Cheers, Dieter Regards, André Dieter Cheers, André Regards, André Many thanks for helping, Dieter Thanks to all, Dieter ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot MATRIX VISION GmbH, Talstrae 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschftsfhrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich MATRIX VISION GmbH, Talstrae 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschftsfhrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich MATRIX VISION GmbH, Talstra�e 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch�ftsf�hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich ___ U-Boot
Re: [U-Boot] Question regarding FPGA firmware load in u-boot
Dieter, On Fri, 2009-06-19 at 17:46 +0200, Dieter Kiermaier wrote: Hello List, I want to boot a (Lattice) FPGA from u-boot by using Slave Serial configuration on a Marvell Kirkwood device. Should be no problem as long as you'll have access to GPIO. As seen there is an (Xilinx and Altera) FPGA loader driver allready available in u-boot. Please can somebody explain how I have to provide a FPGA bitstream image to u-boot? The easiest way is to reserve some unused flash sectors and use the first sector's start adress as arg for fpga load. It seems I have to create a image with mkimage? no - Lattice specififc bitstream can be stored in raw format. mkimage may be useful for update, but personally I prefer update via dedicated linux mtd partition. This image have to be loaded into ram and the address has to be provided to the load command? Usually an FPGA is *very* board specific. I'd suggest to use flash and create a corresponding mtd partition for linux, i.e. make it maintainable. Is there a maintainer for the FPGA code inside u-boot? I'm willing to contribute some extensions for Lattice FPGAs if I'm successful! excellent - all you'll need is the Lattice specific bit toggle sequence. submitting a proper patch will surely do. Regards, André Thanks to all, Dieter ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot MATRIX VISION GmbH, Talstra�e 16, DE-71570 Oppenweiler Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch�ftsf�hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Hans-Joachim Reich ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot