sysfs-driver-firmware-zynqmp 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. What: /sys/devices/platform/firmware\:zynqmp-firmware/ggs*
  2. Date: March 2020
  3. KernelVersion: 5.6
  4. Contact: "Jolly Shah" <[email protected]>
  5. Description:
  6. Read/Write PMU global general storage register value,
  7. GLOBAL_GEN_STORAGE{0:3}.
  8. Global general storage register that can be used
  9. by system to pass information between masters.
  10. The register is reset during system or power-on
  11. resets. Three registers are used by the FSBL and
  12. other Xilinx software products: GLOBAL_GEN_STORAGE{4:6}.
  13. Usage::
  14. # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
  15. # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
  16. Example::
  17. # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
  18. # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
  19. Users: Xilinx
  20. What: /sys/devices/platform/firmware\:zynqmp-firmware/pggs*
  21. Date: March 2020
  22. KernelVersion: 5.6
  23. Contact: "Jolly Shah" <[email protected]>
  24. Description:
  25. Read/Write PMU persistent global general storage register
  26. value, PERS_GLOB_GEN_STORAGE{0:3}.
  27. Persistent global general storage register that
  28. can be used by system to pass information between
  29. masters.
  30. This register is only reset by the power-on reset
  31. and maintains its value through a system reset.
  32. Four registers are used by the FSBL and other Xilinx
  33. software products: PERS_GLOB_GEN_STORAGE{4:7}.
  34. Register is reset only by a POR reset.
  35. Usage::
  36. # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
  37. # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
  38. Example::
  39. # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
  40. # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
  41. Users: Xilinx
  42. What: /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
  43. Date: March 2020
  44. KernelVersion: 5.6
  45. Contact: "Jolly Shah" <[email protected]>
  46. Description:
  47. This sysfs interface allows to set the shutdown scope for the
  48. next shutdown request. When the next shutdown is performed, the
  49. platform specific portion of PSCI-system_off can use the chosen
  50. shutdown scope.
  51. Following are available shutdown scopes(subtypes):
  52. subsystem:
  53. Only the APU along with all of its peripherals
  54. not used by other processing units will be
  55. shut down. This may result in the FPD power
  56. domain being shut down provided that no other
  57. processing unit uses FPD peripherals or DRAM.
  58. ps_only:
  59. The complete PS will be shut down, including the
  60. RPU, PMU, etc. Only the PL domain (FPGA)
  61. remains untouched.
  62. system:
  63. The complete system/device is shut down.
  64. Usage::
  65. # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
  66. # echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
  67. Example::
  68. # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
  69. # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
  70. Users: Xilinx
  71. What: /sys/devices/platform/firmware\:zynqmp-firmware/health_status
  72. Date: March 2020
  73. KernelVersion: 5.6
  74. Contact: "Jolly Shah" <[email protected]>
  75. Description:
  76. This sysfs interface allows to set the health status. If PMUFW
  77. is compiled with CHECK_HEALTHY_BOOT, it will check the healthy
  78. bit on FPD WDT expiration. If healthy bit is set by a user
  79. application running in Linux, PMUFW will do APU only restart. If
  80. healthy bit is not set during FPD WDT expiration, PMUFW will do
  81. system restart.
  82. Usage:
  83. Set healthy bit::
  84. # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status
  85. Unset healthy bit::
  86. # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status
  87. Users: Xilinx
  88. What: /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  89. Date: Feb 2022
  90. KernelVersion: 5.18
  91. Contact: "Ronak Jain" <[email protected]>
  92. Description:
  93. This sysfs interface allows user to configure features at
  94. runtime. The user can enable or disable features running at
  95. firmware as well as the user can configure the parameters of
  96. the features at runtime. The supported features are over
  97. temperature and external watchdog. Here, the external watchdog
  98. is completely different than the /dev/watchdog as the external
  99. watchdog is running on the firmware and it is used to monitor
  100. the health of firmware not APU(Linux). Also, the external
  101. watchdog is interfaced outside of the zynqmp soc.
  102. The supported config ids are for the feature configuration is,
  103. 1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
  104. disable the over temperature feature.
  105. 2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
  106. over temperature limit in Degree Celsius.
  107. 3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
  108. the external watchdog feature.
  109. 4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
  110. external watchdog feature.
  111. Usage:
  112. Select over temperature config ID to enable/disable feature
  113. # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  114. Check over temperature config ID is selected or not
  115. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  116. The expected result is 1.
  117. Select over temperature config ID to configure OT limit
  118. # echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  119. Check over temperature config ID is selected or not
  120. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  121. The expected result is 2.
  122. Select external watchdog config ID to enable/disable feature
  123. # echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  124. Check external watchdog config ID is selected or not
  125. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  126. The expected result is 3.
  127. Select external watchdog config ID to configure time interval
  128. # echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  129. Check external watchdog config ID is selected or not
  130. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  131. The expected result is 4.
  132. Users: Xilinx
  133. What: /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  134. Date: Feb 2022
  135. KernelVersion: 5.18
  136. Contact: "Ronak Jain" <[email protected]>
  137. Description:
  138. This sysfs interface allows to configure features at runtime.
  139. The user can enable or disable features running at firmware.
  140. Also, the user can configure the parameters of the features
  141. at runtime. The supported features are over temperature and
  142. external watchdog. Here, the external watchdog is completely
  143. different than the /dev/watchdog as the external watchdog is
  144. running on the firmware and it is used to monitor the health
  145. of firmware not APU(Linux). Also, the external watchdog is
  146. interfaced outside of the zynqmp soc.
  147. By default the features are disabled in the firmware. The user
  148. can enable features by querying appropriate config id of the
  149. features.
  150. The default limit for the over temperature is 90 Degree Celsius.
  151. The default timer interval for the external watchdog is 570ms.
  152. The supported config ids are for the feature configuration is,
  153. 1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
  154. disable the over temperature feature.
  155. 2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
  156. over temperature limit in Degree Celsius.
  157. 3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
  158. the external watchdog feature.
  159. 4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
  160. external watchdog feature.
  161. Usage:
  162. Enable over temperature feature
  163. # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  164. # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  165. Check whether the over temperature feature is enabled or not
  166. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  167. The expected result is 1.
  168. Disable over temperature feature
  169. # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  170. # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  171. Check whether the over temperature feature is disabled or not
  172. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  173. The expected result is 0.
  174. Configure over temperature limit to 50 Degree Celsius
  175. # echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  176. # echo 50 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  177. Check whether the over temperature limit is configured or not
  178. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  179. The expected result is 50.
  180. Enable external watchdog feature
  181. # echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  182. # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  183. Check whether the external watchdog feature is enabled or not
  184. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  185. The expected result is 1.
  186. Disable external watchdog feature
  187. # echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  188. # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  189. Check whether the external watchdog feature is disabled or not
  190. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  191. The expected result is 0.
  192. Configure external watchdog timer interval to 500ms
  193. # echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
  194. # echo 500 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  195. Check whether the external watchdog timer interval is configured or not
  196. # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
  197. The expected result is 500.
  198. Users: Xilinx