257 lines · plain
1What: /sys/devices/platform/firmware\:zynqmp-firmware/ggs*2Date: March 20203KernelVersion: 5.64Contact: "Jolly Shah" <jollys@xilinx.com>5Description:6 Read/Write PMU global general storage register value,7 GLOBAL_GEN_STORAGE{0:3}.8 Global general storage register that can be used9 by system to pass information between masters.10 11 The register is reset during system or power-on12 resets. Three registers are used by the FSBL and13 other Xilinx software products: GLOBAL_GEN_STORAGE{4:6}.14 15 Usage::16 17 # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs018 # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs019 20 Example::21 22 # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs023 # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs024 25Users: Xilinx26 27What: /sys/devices/platform/firmware\:zynqmp-firmware/pggs*28Date: March 202029KernelVersion: 5.630Contact: "Jolly Shah" <jollys@xilinx.com>31Description:32 Read/Write PMU persistent global general storage register33 value, PERS_GLOB_GEN_STORAGE{0:3}.34 Persistent global general storage register that35 can be used by system to pass information between36 masters.37 38 This register is only reset by the power-on reset39 and maintains its value through a system reset.40 Four registers are used by the FSBL and other Xilinx41 software products: PERS_GLOB_GEN_STORAGE{4:7}.42 Register is reset only by a POR reset.43 44 Usage::45 46 # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs047 # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs048 49 Example::50 51 # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs052 # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs053 54Users: Xilinx55 56What: /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope57Date: March 202058KernelVersion: 5.659Contact: "Jolly Shah" <jollys@xilinx.com>60Description:61 This sysfs interface allows to set the shutdown scope for the62 next shutdown request. When the next shutdown is performed, the63 platform specific portion of PSCI-system_off can use the chosen64 shutdown scope.65 66 Following are available shutdown scopes(subtypes):67 68 subsystem:69 Only the APU along with all of its peripherals70 not used by other processing units will be71 shut down. This may result in the FPD power72 domain being shut down provided that no other73 processing unit uses FPD peripherals or DRAM.74 ps_only:75 The complete PS will be shut down, including the76 RPU, PMU, etc. Only the PL domain (FPGA)77 remains untouched.78 system:79 The complete system/device is shut down.80 81 Usage::82 83 # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope84 # echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope85 86 Example::87 88 # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope89 # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope90 91Users: Xilinx92 93What: /sys/devices/platform/firmware\:zynqmp-firmware/health_status94Date: March 202095KernelVersion: 5.696Contact: "Jolly Shah" <jollys@xilinx.com>97Description:98 This sysfs interface allows to set the health status. If PMUFW99 is compiled with CHECK_HEALTHY_BOOT, it will check the healthy100 bit on FPD WDT expiration. If healthy bit is set by a user101 application running in Linux, PMUFW will do APU only restart. If102 healthy bit is not set during FPD WDT expiration, PMUFW will do103 system restart.104 105 Usage:106 107 Set healthy bit::108 109 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status110 111 Unset healthy bit::112 113 # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status114 115Users: Xilinx116 117What: /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id118Date: Feb 2022119KernelVersion: 5.18120Contact: "Ronak Jain" <ronak.jain@xilinx.com>121Description:122 This sysfs interface allows user to configure features at123 runtime. The user can enable or disable features running at124 firmware as well as the user can configure the parameters of125 the features at runtime. The supported features are over126 temperature and external watchdog. Here, the external watchdog127 is completely different than the /dev/watchdog as the external128 watchdog is running on the firmware and it is used to monitor129 the health of firmware not APU(Linux). Also, the external130 watchdog is interfaced outside of the zynqmp soc.131 132 The supported config ids are for the feature configuration is,133 1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or134 disable the over temperature feature.135 2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the136 over temperature limit in Degree Celsius.137 3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable138 the external watchdog feature.139 4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the140 external watchdog feature.141 142 Usage:143 144 Select over temperature config ID to enable/disable feature145 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id146 147 Check over temperature config ID is selected or not148 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id149 The expected result is 1.150 151 Select over temperature config ID to configure OT limit152 # echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id153 154 Check over temperature config ID is selected or not155 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id156 The expected result is 2.157 158 Select external watchdog config ID to enable/disable feature159 # echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id160 161 Check external watchdog config ID is selected or not162 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id163 The expected result is 3.164 165 Select external watchdog config ID to configure time interval166 # echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id167 168 Check external watchdog config ID is selected or not169 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id170 The expected result is 4.171 172Users: Xilinx173 174What: /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value175Date: Feb 2022176KernelVersion: 5.18177Contact: "Ronak Jain" <ronak.jain@xilinx.com>178Description:179 This sysfs interface allows to configure features at runtime.180 The user can enable or disable features running at firmware.181 Also, the user can configure the parameters of the features182 at runtime. The supported features are over temperature and183 external watchdog. Here, the external watchdog is completely184 different than the /dev/watchdog as the external watchdog is185 running on the firmware and it is used to monitor the health186 of firmware not APU(Linux). Also, the external watchdog is187 interfaced outside of the zynqmp soc.188 189 By default the features are disabled in the firmware. The user190 can enable features by querying appropriate config id of the191 features.192 193 The default limit for the over temperature is 90 Degree Celsius.194 The default timer interval for the external watchdog is 570ms.195 196 The supported config ids are for the feature configuration is,197 1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or198 disable the over temperature feature.199 2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the200 over temperature limit in Degree Celsius.201 3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable202 the external watchdog feature.203 4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the204 external watchdog feature.205 206 Usage:207 208 Enable over temperature feature209 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id210 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value211 212 Check whether the over temperature feature is enabled or not213 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value214 The expected result is 1.215 216 Disable over temperature feature217 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id218 # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value219 220 Check whether the over temperature feature is disabled or not221 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value222 The expected result is 0.223 224 Configure over temperature limit to 50 Degree Celsius225 # echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id226 # echo 50 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value227 228 Check whether the over temperature limit is configured or not229 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value230 The expected result is 50.231 232 Enable external watchdog feature233 # echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id234 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value235 236 Check whether the external watchdog feature is enabled or not237 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value238 The expected result is 1.239 240 Disable external watchdog feature241 # echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id242 # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value243 244 Check whether the external watchdog feature is disabled or not245 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value246 The expected result is 0.247 248 Configure external watchdog timer interval to 500ms249 # echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id250 # echo 500 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value251 252 Check whether the external watchdog timer interval is configured or not253 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value254 The expected result is 500.255 256Users: Xilinx257