Back to home page

OSCL-LXR

 
 

    


0001 What:           /sys/devices/platform/firmware\:zynqmp-firmware/ggs*
0002 Date:           March 2020
0003 KernelVersion:  5.6
0004 Contact:        "Jolly Shah" <jollys@xilinx.com>
0005 Description:
0006                 Read/Write PMU global general storage register value,
0007                 GLOBAL_GEN_STORAGE{0:3}.
0008                 Global general storage register that can be used
0009                 by system to pass information between masters.
0010 
0011                 The register is reset during system or power-on
0012                 resets. Three registers are used by the FSBL and
0013                 other Xilinx software products: GLOBAL_GEN_STORAGE{4:6}.
0014 
0015                 Usage::
0016 
0017                     # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
0018                     # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
0019 
0020                 Example::
0021 
0022                     # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
0023                     # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
0024 
0025 Users:          Xilinx
0026 
0027 What:           /sys/devices/platform/firmware\:zynqmp-firmware/pggs*
0028 Date:           March 2020
0029 KernelVersion:  5.6
0030 Contact:        "Jolly Shah" <jollys@xilinx.com>
0031 Description:
0032                 Read/Write PMU persistent global general storage register
0033                 value, PERS_GLOB_GEN_STORAGE{0:3}.
0034                 Persistent global general storage register that
0035                 can be used by system to pass information between
0036                 masters.
0037 
0038                 This register is only reset by the power-on reset
0039                 and maintains its value through a system reset.
0040                 Four registers are used by the FSBL and other Xilinx
0041                 software products: PERS_GLOB_GEN_STORAGE{4:7}.
0042                 Register is reset only by a POR reset.
0043 
0044                 Usage::
0045 
0046                     # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
0047                     # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
0048 
0049                 Example::
0050 
0051                     # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
0052                     # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
0053 
0054 Users:          Xilinx
0055 
0056 What:           /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
0057 Date:           March 2020
0058 KernelVersion:  5.6
0059 Contact:        "Jolly Shah" <jollys@xilinx.com>
0060 Description:
0061                 This sysfs interface allows to set the shutdown scope for the
0062                 next shutdown request. When the next shutdown is performed, the
0063                 platform specific portion of PSCI-system_off can use the chosen
0064                 shutdown scope.
0065 
0066                 Following are available shutdown scopes(subtypes):
0067 
0068                 subsystem:
0069                                 Only the APU along with all of its peripherals
0070                                 not used by other processing units will be
0071                                 shut down. This may result in the FPD power
0072                                 domain being shut down provided that no other
0073                                 processing unit uses FPD peripherals or DRAM.
0074                 ps_only:
0075                                 The complete PS will be shut down, including the
0076                                 RPU, PMU, etc.  Only the PL domain (FPGA)
0077                                 remains untouched.
0078                 system:
0079                                 The complete system/device is shut down.
0080 
0081                 Usage::
0082 
0083                     # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
0084                     # echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
0085 
0086                 Example::
0087 
0088                     # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
0089                     # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
0090 
0091 Users:          Xilinx
0092 
0093 What:           /sys/devices/platform/firmware\:zynqmp-firmware/health_status
0094 Date:           March 2020
0095 KernelVersion:  5.6
0096 Contact:        "Jolly Shah" <jollys@xilinx.com>
0097 Description:
0098                 This sysfs interface allows to set the health status. If PMUFW
0099                 is compiled with CHECK_HEALTHY_BOOT, it will check the healthy
0100                 bit on FPD WDT expiration. If healthy bit is set by a user
0101                 application running in Linux, PMUFW will do APU only restart. If
0102                 healthy bit is not set during FPD WDT expiration, PMUFW will do
0103                 system restart.
0104 
0105                 Usage:
0106 
0107                 Set healthy bit::
0108 
0109                     # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status
0110 
0111                 Unset healthy bit::
0112 
0113                     # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status
0114 
0115 Users:          Xilinx
0116 
0117 What:           /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0118 Date:           Feb 2022
0119 KernelVersion:  5.18
0120 Contact:        "Ronak Jain" <ronak.jain@xilinx.com>
0121 Description:
0122                 This sysfs interface allows user to configure features at
0123                 runtime. The user can enable or disable features running at
0124                 firmware as well as the user can configure the parameters of
0125                 the features at runtime. The supported features are over
0126                 temperature and external watchdog. Here, the external watchdog
0127                 is completely different than the /dev/watchdog as the external
0128                 watchdog is running on the firmware and it is used to monitor
0129                 the health of firmware not APU(Linux). Also, the external
0130                 watchdog is interfaced outside of the zynqmp soc.
0131 
0132                 The supported config ids are for the feature configuration is,
0133                 1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
0134                 disable the over temperature feature.
0135                 2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
0136                 over temperature limit in Degree Celsius.
0137                 3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
0138                 the external watchdog feature.
0139                 4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
0140                 external watchdog feature.
0141 
0142                 Usage:
0143 
0144                 Select over temperature config ID to enable/disable feature
0145                 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0146 
0147                 Check over temperature config ID is selected or not
0148                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0149                 The expected result is 1.
0150 
0151                 Select over temperature config ID to configure OT limit
0152                 # echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0153 
0154                 Check over temperature config ID is selected or not
0155                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0156                 The expected result is 2.
0157 
0158                 Select external watchdog config ID to enable/disable feature
0159                 # echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0160 
0161                 Check external watchdog config ID is selected or not
0162                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0163                 The expected result is 3.
0164 
0165                 Select external watchdog config ID to configure time interval
0166                 # echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0167 
0168                 Check external watchdog config ID is selected or not
0169                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0170                 The expected result is 4.
0171 
0172 Users:          Xilinx
0173 
0174 What:           /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0175 Date:           Feb 2022
0176 KernelVersion:  5.18
0177 Contact:        "Ronak Jain" <ronak.jain@xilinx.com>
0178 Description:
0179                 This sysfs interface allows to configure features at runtime.
0180                 The user can enable or disable features running at firmware.
0181                 Also, the user can configure the parameters of the features
0182                 at runtime. The supported features are over temperature and
0183                 external watchdog. Here, the external watchdog is completely
0184                 different than the /dev/watchdog as the external watchdog is
0185                 running on the firmware and it is used to monitor the health
0186                 of firmware not APU(Linux). Also, the external watchdog is
0187                 interfaced outside of the zynqmp soc.
0188 
0189                 By default the features are disabled in the firmware. The user
0190                 can enable features by querying appropriate config id of the
0191                 features.
0192 
0193                 The default limit for the over temperature is 90 Degree Celsius.
0194                 The default timer interval for the external watchdog is 570ms.
0195 
0196                 The supported config ids are for the feature configuration is,
0197                 1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
0198                 disable the over temperature feature.
0199                 2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
0200                 over temperature limit in Degree Celsius.
0201                 3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
0202                 the external watchdog feature.
0203                 4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
0204                 external watchdog feature.
0205 
0206                 Usage:
0207 
0208                 Enable over temperature feature
0209                 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0210                 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0211 
0212                 Check whether the over temperature feature is enabled or not
0213                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0214                 The expected result is 1.
0215 
0216                 Disable over temperature feature
0217                 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0218                 # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0219 
0220                 Check whether the over temperature feature is disabled or not
0221                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0222                 The expected result is 0.
0223 
0224                 Configure over temperature limit to 50 Degree Celsius
0225                 # echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0226                 # echo 50 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0227 
0228                 Check whether the over temperature limit is configured or not
0229                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0230                 The expected result is 50.
0231 
0232                 Enable external watchdog feature
0233                 # echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0234                 # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0235 
0236                 Check whether the external watchdog feature is enabled or not
0237                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0238                 The expected result is 1.
0239 
0240                 Disable external watchdog feature
0241                 # echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0242                 # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0243 
0244                 Check whether the external watchdog feature is disabled or not
0245                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0246                 The expected result is 0.
0247 
0248                 Configure external watchdog timer interval to 500ms
0249                 # echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
0250                 # echo 500 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0251 
0252                 Check whether the external watchdog timer interval is configured or not
0253                 # cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
0254                 The expected result is 500.
0255 
0256 Users:          Xilinx