08-09-2013 04:23 PM
We are developing a product based on Zynq SoC and I have a question on what software we will be able to distribute with it. As we did with our previous products that use Xilinx FPGA we expect that our users who will need FPGA development/modification will obtain tools (free or paid for) from Xilinx, but if they need just software development they can use only the free software without any proprietary tools. Looking through the documentation I found that there is a proprietary FSBL that is not in the ROM of the device and is needed to build image that can run in Zynq, and the FSBL can be generated only by Xilinx tools. That is OK as it can be done by us once for our custom hardware, but from the documentation and Internet search I could not understand the distribution license for the binary FSBL generated for the particular hardware - are we allowed to distribute it? Or any software at all (i.e. full bootable image with GNU/Linux and other software) that incorporates FSBL?
Solved! Go to Solution.
08-10-2013 12:56 PM
You should ask this of your local Xilinx distributor.
I do not want to say anything, as I am not connecting with the actual licensing of the tools (all the details).
Generally, the business model you have is not unusual at all (fairly common).
The fsbl is a tool contructed file with all of the intitial peripheral programming for all the processor peripherals (c code), along with the binary configuration image (bitstream) for the programmable logic. So, the 'code' generated has all the discalimers, and notices (who owns it). This is fairly obvious: the fsbl generated is only for use on Zynq parts (it wouldn't work with any other parts, anyway).
I know people have asked for the fsbl source code, but since there is none, that is a request that cannot be filled.
The fsbl is unique to all of the MIO pins you select, and the memories, and peripherals you choose to start up with, along with your bitstream.
08-10-2013 03:40 PM
Thank you for your reply. Yes, I understand the basics of what FSBL does and that it is unique for our hardware configuration. We would rather keep it to minimum - no PL bitstream that will be loaded later, no initialization of peripherals that can be done in u-boot or OS - just MIO and memory to be able to load and pass control to u-boot. I did generate the FSBL binary but was not able to find the license terms/references in the text strings in the body of the file.
I'm not asking about licensing of the Xilinx tools as we do not intend to distribute any with our hardware as it is done with some development kits - it is up to our users to obtain and license the tools from Xilinx (if they need them). My question is about distributing minimal software code (that as I understand has to include binary FSBL generated by us, manufacturers, using the tools we licensed from Xilinx, for our hardware) that will allow them to run the hardware products they receive from us.
Salt Lake City, Utah
10-14-2013 09:26 PM
I'm answering myself, but it may be useful for others who need to distribute their software for Zynq-based products without inconvenience of non-free components. Realizing that even the distribution of the binary blob (specifically generated for our custom hardware using Xilinx tools) may have non-obvious licensing issues, we developed an alternative software generator of the boot code that can be configured for user hardware, such as MIO pinout, DDR memories, clocks, etc. It is available under GNU GPLv3 license and does not require installation and use of any non-free programs to support software running on Zynq-based systems.
Salt Lake City, Utah