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