[U-Boot] Question regarding FPGA firmware load in u-boot

André Schwarz andre.schwarz at matrix-vision.de
Mon Jun 22 11:17:34 CEST 2009


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 at 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


More information about the U-Boot mailing list