==============================================================================
Linux Driver Source for Xilinx FPGA firmware download
==============================================================================


TABLE OF CONTENTS.

1.  SUMMARY
2.  BACKGROUND
3.  DESIGN
4.  HOW TO USE
5.  REFERENCE

1. SUMMARY

	- Download Xilinx FPGA firmware
	- This module downloads Xilinx FPGA firmware using gpio pins.

2. BACKGROUND

	An FPGA (Field Programmable Gate Array) is a programmable hardware that is
	used in various applications. Hardware design needs to programmed through
	a dedicated device or CPU assisted way (serial or parallel).
	This driver provides a way to download FPGA firmware.

3. DESIGN

	- load Xilinx FPGA bitstream format[1] firmware image file using
	  kernel firmware framework, request_firmware()
	- program the Xilinx FPGA using SelectMAP (parallel) mode [2]
	- FPGA prgram is done by gpio based bit-banging, as an example
	- platform independent file: gs_fpgaboot.c
	- platform dependent file: io.c

4. HOW TO USE

	$ insmod gs_fpga.ko file="xlinx_fpga_top_bitstream.bit"
	$ rmmod gs_fpga

5. USE CASE (from a mailing list discussion with Greg)

	a. As an FPGA development support tool,
	During FPGA firmware development, you need to download a new FPGA
	image frequently.
	You would do that with a dedicated JTAG, which usually a limited
	resource in the lab.
	However, if you use my driver, you don't have to have a dedicated JTAG.
	This is a real gain :)

	b. For the FPGA that runs without config after the download, which
	doesn't talk to any of Linux interfaces (such as PCIE).

	We download FPGA firmware from user triggered or some other way, and that's it.
	Since that FPGA runs on its own, it doesn't require a linux driver
	after the download.

	c. For the FPGA that requires config after the download, which talk to
	any of linux interfaces (such as PCIE)

	Then, this type of FPGA config can be put into device tree and have a
	separate driver (pcie or others), then THAT driver calls my driver to
	download FPGA firmware during the Linux boot, the take over the device
	through the interface.

6. REFERENCE

	1. Xilinx APP NOTE XAPP583:
	  https://www.xilinx.com/support/documentation/application_notes/xapp583-fpga-configuration.pdf
	2. bitstream file info:
	  http://home.earthlink.net/~davesullins/software/bitinfo.html
