What:		/sys/class/fpga_manager/<fpga>/name
Date:		August 2015
KernelVersion:	4.3
Contact:	Alan Tull <atull@opensource.altera.com>
Description:	Name of low level fpga manager driver.

What:		/sys/class/fpga_manager/<fpga>/state
Date:		August 2015
KernelVersion:	4.3
Contact:	Alan Tull <atull@opensource.altera.com>
Description:	Read fpga manager state as a string.
		The intent is to provide enough detail that if something goes
		wrong during FPGA programming (something that the driver can't
		fix) then userspace can know, i.e. if the firmware request
		fails, that could be due to not being able to find the firmware
		file.

		This is a superset of FPGA states and fpga manager driver
		states.  The fpga manager driver is walking through these steps
		to get the FPGA into a known operating state.  It's a sequence,
		though some steps may get skipped.  Valid FPGA states will vary
		by manufacturer; this is a superset.

		* unknown		= can't determine state
		* power off		= FPGA power is off
		* power up		= FPGA reports power is up
		* reset			= FPGA held in reset state
		* firmware request	= firmware class request in progress
		* firmware request error = firmware request failed
		* write init		= preparing FPGA for programming
		* write init error	= Error while preparing FPGA for
					  programming
		* write			= FPGA ready to receive image data
		* write error		= Error while programming
		* write complete	= Doing post programming steps
		* write complete error	= Error while doing post programming
		* operating		= FPGA is programmed and operating

What:		/sys/class/fpga_manager/<fpga>/status
Date:		June 2018
KernelVersion:	4.19
Contact:	Wu Hao <hao.wu@intel.com>
Description:	Read fpga manager status as a string.
		If FPGA programming operation fails, it could be caused by crc
		error or incompatible bitstream image. The intent of this
		interface is to provide more detailed information for FPGA
		programming errors to userspace. This is a list of strings for
		the supported status.

		* reconfig operation error 	- invalid operations detected by
						  reconfiguration hardware.
						  e.g. start reconfiguration
						  with errors not cleared
		* reconfig CRC error		- CRC error detected by
						  reconfiguration hardware.
		* reconfig incompatible image	- reconfiguration image is
						  incompatible with hardware
		* reconfig IP protocol error	- protocol errors detected by
						  reconfiguration hardware
		* reconfig fifo overflow error	- FIFO overflow detected by
						  reconfiguration hardware
