^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) What: /sys/class/fpga_manager/<fpga>/name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Date: August 2015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) KernelVersion: 4.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Contact: Alan Tull <atull@opensource.altera.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Description: Name of low level fpga manager driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) What: /sys/class/fpga_manager/<fpga>/state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) Date: August 2015
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) KernelVersion: 4.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Contact: Alan Tull <atull@opensource.altera.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Description: Read fpga manager state as a string.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) The intent is to provide enough detail that if something goes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) wrong during FPGA programming (something that the driver can't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) fix) then userspace can know, i.e. if the firmware request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) fails, that could be due to not being able to find the firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) This is a superset of FPGA states and fpga manager driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) states. The fpga manager driver is walking through these steps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) to get the FPGA into a known operating state. It's a sequence,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) though some steps may get skipped. Valid FPGA states will vary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) by manufacturer; this is a superset.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) * unknown = can't determine state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) * power off = FPGA power is off
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) * power up = FPGA reports power is up
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) * reset = FPGA held in reset state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) * firmware request = firmware class request in progress
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) * firmware request error = firmware request failed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) * write init = preparing FPGA for programming
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) * write init error = Error while preparing FPGA for programming
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) * write = FPGA ready to receive image data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) * write error = Error while programming
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) * write complete = Doing post programming steps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) * write complete error = Error while doing post programming
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) * operating = FPGA is programmed and operating
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) What: /sys/class/fpga_manager/<fpga>/status
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) Date: June 2018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) KernelVersion: 4.19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Contact: Wu Hao <hao.wu@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Description: Read fpga manager status as a string.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) If FPGA programming operation fails, it could be caused by crc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) error or incompatible bitstream image. The intent of this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) interface is to provide more detailed information for FPGA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) programming errors to userspace. This is a list of strings for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) the supported status.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) * reconfig operation error - invalid operations detected by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) reconfiguration hardware.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) e.g. start reconfiguration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) with errors not cleared
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) * reconfig CRC error - CRC error detected by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) reconfiguration hardware.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) * reconfig incompatible image - reconfiguration image is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) incompatible with hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) * reconfig IP protocol error - protocol errors detected by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) reconfiguration hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) * reconfig fifo overflow error - FIFO overflow detected by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) reconfiguration hardware