[meta-xilinx] Why no support for FSBL?

Andrey Filippov andrey at elphel.com
Thu Nov 30 15:01:28 PST 2017


Manju,

SDK is a freeware, but it is not free software. And even if the source is open it may still be not-free, like Xilinx unisims library for FPGA. Cost of the software for manufacturer is not a problem, but we provide our customers with the products they can modify as they want - all our code (software and HDL) is free software under GNU GPL. We can not tell customers that they only can look at our code, but to recompile it for the product they purchased they need to buy software that is more expensive, that the hardware they have. This is why we are limited to only those Xilinx devices that can be used with zero-cost software.

And that is not all. Our FPGA code is simulated with free software Icarus Verilog and the same simulator combined with Python Cocotb ( this post is about our use of it - https://blog.elphel.com/2016/07/i-will-not-have-to-learn-systemverilog/ ). And this code depends on Xilinx unisims. Non-free unisims license means that we can not distribute the code of the primitives that is needed to simulate our code. And it is not only the inconvenience for our users to obtain and install WebPack - the problem is that unisims library is not frozen, we can not reference particular versions of the primitives as in Git or other VCS. Some unisims modules are incompatible with Icarus Verilog so we have to provide patches to the users, and as unisims library is a moving target - we have to track changes and update our patches. It would be so much more convenient if Xilinx provided the already open-source modules in a way consistent with XXI century software development practices (like Git) and/or use any of the licenses that allow redistribution. Otherwise we have to re-write simulation modules, like described here: https://blog.elphel.com/2016/03/free-fpga-reimplement-the-primitives-models/

Andrey 


---- On Thu, 30 Nov 2017 14:05:00 -0800 Manjukumar Harthikote Matha <manjukumar.harthikote-matha at xilinx.com> wrote ---- 

Hi Andrey, 
 
On 11/30/2017 11:56 AM, Andrey Filippov wrote: 
> Manju, 
> 
> For 4 years we use Xilin Zynq with our hardware and never ever used FSBL 
> or SDK. When we started in 2013 
> (https://blog.elphel.com/2013/10/fpga-is-for-freedom/) we quickly 
> noticed that there is no way to distribute Zynq-based products and stay 
> compliant with U-boot GPLv2 license - that would require to distribute 
> binary that combines U-boot code with that of FSBL, so we had to develop 
> our GPL code. We also included more debug features to troubleshoot 
> bringing to life yet untested hardware. Later when U-boot SPL became 
> available we upgraded our code to use it (again - no dependence on SDK) 
> - 
> https://blog.elphel.com/2016/03/nand-flash-support-for-xilinx-zynq-in-u-boot-spl/ 
> 
> Later Xilinx fixed the legal incompatibility by licensing auto-generated 
> code under GNU GPL, so it is now possible to link FSBL and U-Boot code. 
> But it still has inconvenience of dependence on non-free SDK. 
> 
 
I am not aware of the history on Zynq platform, thanks for letting me know. 
 
I am under the assumption that SDK is free, 
https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html 
 
I agree that meta-xilinx-tools depends on SDK which is not lightweight, 
we are looking at different approaches to resolve the issue (including a 
standalone Yocto distribution). 
 
Any suggestions on how you all want to see the development flow is 
always appreciated, we will do our best to incorporate the changes. 
 
Thanks, 
Manju 
 
> Andrey 
> 
> 
> ---- On Thu, 30 Nov 2017 10:57:14 -0800 *Manjukumar Harthikote Matha 
> <manjukumar.harthikote-matha at xilinx.com>* wrote ---- 
> 
> Hi Mike, 
> 
> On 11/28/2017 01:09 AM, Mike Looijmans wrote: 
> > The "open source" way is to avoid the FSBL (and in fact, all of 
> > meta-xilinx-tools) and use u-boot SPL instead. All functionality 
> > provided by the fsbl/bootgen flow is provided by u-boot SPL already. 
> > 
> 
> "All functionality" would be a blanket statement, there are many driver 
> support that is officially tested by Xilinx in fsbl/bootgen flow, 
> including safety and security support 
> 
> Thanks, 
> Manju 
> 
> > 
> > On 20-11-17 22:08, Peter Smith wrote: 
> >> Hi, I’m aware of the meta-xilinx-tools layer, but this needs you to 
> >> have the Xilinx SDK installed (unless I’m mistaken), I was 
> wondering 
> >> ion there were any plans to create support in meta-xilinx for 
> building 
> >> the FSBL without the need for the SDK dependency. Peter 
> >> 
> >>> On 20 Nov 2017, at 21:05, Giordon Stark <kratsg at gmail.com 
> <mailto:kratsg at gmail.com> 
> >>> <mailto:kratsg at gmail.com <mailto:kratsg at gmail.com>>> wrote: 
> >>> 
> >>> Hi (resending from right address), 
> >>> 
> >>> You can indeed build the FSBL + boot.bin using the 
> meta-xilinx-tools 
> >>> layer: https://github.com/Xilinx/meta-xilinx-tools 
> >>> 
> >>> Giordon 
> >>> 
> >>> On Mon, Nov 20, 2017 at 3:03 PM Peter Smith <salerio at gmail.com 
> <mailto:salerio at gmail.com> 
> >>> <mailto:salerio at gmail.com <mailto:salerio at gmail.com>>> wrote: 
> >>> 
> >>>     A question, I was wondering why there is no support for 
> building 
> >>> FSBL in 
> >>>     a similar way to that provided by meta-xilinx for the PMU 
> >>> firmware, is 
> >>>     there a technical reason or is it just one of those things 
> that 
> >>> has not 
> >>>     yet been got around to? Thanks in advance Peter. 
> >>>     -- 
> > 
> > Kind regards, 
> > 
> > Mike Looijmans 
> > System Expert 
> > 
> > TOPIC Products 
> > Materiaalweg 4, NL-5681 RJ Best 
> > Postbus 440, NL-5680 AK Best 
> > Telefoon: +31 (0) 499 33 69 79 
> > E-mail: mike.looijmans at topicproducts.com 
> <mailto:mike.looijmans at topicproducts.com> 
> > Website: www.topicproducts.com 
> > 
> > Please consider the environment before printing this e-mail 
> > 
> > 
> > 
> > _______________________________________________ 
> >>>     meta-xilinx mailing list 
> >>> meta-xilinx at yoctoproject.org 
> <mailto:meta-xilinx at yoctoproject.org> 
> <mailto:meta-xilinx at yoctoproject.org 
> <mailto:meta-xilinx at yoctoproject.org>> 
> >>> https://lists.yoctoproject.org/listinfo/meta-xilinx 
> >>> 
> >> 
> >> 
> >> 
> > 
> -- 
> _______________________________________________ 
> meta-xilinx mailing list 
> meta-xilinx at yoctoproject.org <mailto:meta-xilinx at yoctoproject.org> 
> https://lists.yoctoproject.org/listinfo/meta-xilinx 
> 
> 
> 





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20171130/6d298752/attachment.html>


More information about the meta-xilinx mailing list