[U-Boot-Users] RFC: Xilinx Spartan3 relocation code
Matthias Fuchs
matthias.fuchs at esd-electronics.com
Tue Aug 21 10:52:25 CEST 2007
Bruce,
what kind of bitstream file do you download to your FPGA?
A .bit File? In this case we should put the bit mirroring into the
wdata() callback or the *_sp_load() function, because the serial slave
download is fine without mirroring. Any way there is not need to malloc
a very huge amount of memory an do the mirroring on a buffer. This
can be done on-the-fly during download.
Matthias
On Monday 20 August 2007 19:46, Bruce_Leonard at selinc.com wrote:
> Stefan,
>
> > > > I fixed and added some things for the generic FPGA boot. Patches
> will be
> > > > posted with the new board patch.
>
> Sorry for the late reply, had a big BBQ this weekend for my anniversary
> and haven't checked my e-mail in three or four days. Could you please let
> me know what your patches are going to look like? I don't want to push up
> any patches that will cover/conflict things you've got in your queue.
>
> > > trouble getting the FPGA to program. We're currently assuming that
> our
> > > interface to the FPGA is broken, but if there's known issues in the
> > > generic code that would be nice to know :).
>
> I finally figured out what stupid thing I was doing. Both the FPGA and
> the PPC are big endian, however if the processor is little endian the data
> needs to be bit-swapped before going to the FPGA over SelectMap. When I
> was commenting out the code to do the bit-swapping (which we don't need to
> do) I got over zealous by one line and wasn't initializing a pointer. So
> I was sending nothing but 0x24 to the FPGA. Wonder why it didn't program?
> :0
>
> I'm going to try and come up with a clean way (probably a config option)
> of doing or not doing the bit-swap thing in code. If you're running a bit
> endian system you really don't need or want to do it. Little endian
> systems, unless you're very carefull with your HW design, you want to do
> it. I'll have a patch for it in a couple of days. I was thinking
> something along the lines of "#define CFG_NO_SELECTMAP_BITSWAP". If it's
> not defined the code does the bit-swap, which is the way everything
> currently works. Or should it be a CONFIG instead?
>
> Bruce
>
>
More information about the U-Boot
mailing list