162306a36Sopenharmony_ciWhat:		/sys/class/fpga_manager/<fpga>/name
262306a36Sopenharmony_ciDate:		August 2015
362306a36Sopenharmony_ciKernelVersion:	4.3
462306a36Sopenharmony_ciContact:	Alan Tull <atull@opensource.altera.com>
562306a36Sopenharmony_ciDescription:	Name of low level fpga manager driver.
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciWhat:		/sys/class/fpga_manager/<fpga>/state
862306a36Sopenharmony_ciDate:		August 2015
962306a36Sopenharmony_ciKernelVersion:	4.3
1062306a36Sopenharmony_ciContact:	Alan Tull <atull@opensource.altera.com>
1162306a36Sopenharmony_ciDescription:	Read fpga manager state as a string.
1262306a36Sopenharmony_ci		The intent is to provide enough detail that if something goes
1362306a36Sopenharmony_ci		wrong during FPGA programming (something that the driver can't
1462306a36Sopenharmony_ci		fix) then userspace can know, i.e. if the firmware request
1562306a36Sopenharmony_ci		fails, that could be due to not being able to find the firmware
1662306a36Sopenharmony_ci		file.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci		This is a superset of FPGA states and fpga manager driver
1962306a36Sopenharmony_ci		states.  The fpga manager driver is walking through these steps
2062306a36Sopenharmony_ci		to get the FPGA into a known operating state.  It's a sequence,
2162306a36Sopenharmony_ci		though some steps may get skipped.  Valid FPGA states will vary
2262306a36Sopenharmony_ci		by manufacturer; this is a superset.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci		* unknown		= can't determine state
2562306a36Sopenharmony_ci		* power off		= FPGA power is off
2662306a36Sopenharmony_ci		* power up		= FPGA reports power is up
2762306a36Sopenharmony_ci		* reset			= FPGA held in reset state
2862306a36Sopenharmony_ci		* firmware request	= firmware class request in progress
2962306a36Sopenharmony_ci		* firmware request error = firmware request failed
3062306a36Sopenharmony_ci		* write init		= preparing FPGA for programming
3162306a36Sopenharmony_ci		* write init error	= Error while preparing FPGA for programming
3262306a36Sopenharmony_ci		* write			= FPGA ready to receive image data
3362306a36Sopenharmony_ci		* write error		= Error while programming
3462306a36Sopenharmony_ci		* write complete	= Doing post programming steps
3562306a36Sopenharmony_ci		* write complete error	= Error while doing post programming
3662306a36Sopenharmony_ci		* operating		= FPGA is programmed and operating
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciWhat:		/sys/class/fpga_manager/<fpga>/status
3962306a36Sopenharmony_ciDate:		June 2018
4062306a36Sopenharmony_ciKernelVersion:	4.19
4162306a36Sopenharmony_ciContact:	Wu Hao <hao.wu@intel.com>
4262306a36Sopenharmony_ciDescription:	Read fpga manager status as a string.
4362306a36Sopenharmony_ci		If FPGA programming operation fails, it could be caused by crc
4462306a36Sopenharmony_ci		error or incompatible bitstream image. The intent of this
4562306a36Sopenharmony_ci		interface is to provide more detailed information for FPGA
4662306a36Sopenharmony_ci		programming errors to userspace. This is a list of strings for
4762306a36Sopenharmony_ci		the supported status.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci		* reconfig operation error	- invalid operations detected by
5062306a36Sopenharmony_ci						  reconfiguration hardware.
5162306a36Sopenharmony_ci						  e.g. start reconfiguration
5262306a36Sopenharmony_ci						  with errors not cleared
5362306a36Sopenharmony_ci		* reconfig CRC error		- CRC error detected by
5462306a36Sopenharmony_ci						  reconfiguration hardware.
5562306a36Sopenharmony_ci		* reconfig incompatible image	- reconfiguration image is
5662306a36Sopenharmony_ci						  incompatible with hardware
5762306a36Sopenharmony_ci		* reconfig IP protocol error	- protocol errors detected by
5862306a36Sopenharmony_ci						  reconfiguration hardware
5962306a36Sopenharmony_ci		* reconfig fifo overflow error	- FIFO overflow detected by
6062306a36Sopenharmony_ci						  reconfiguration hardware
61