257 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			257 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
What:		/sys/devices/platform/firmware\:zynqmp-firmware/ggs*
 | 
						|
Date:		March 2020
 | 
						|
KernelVersion:	5.6
 | 
						|
Contact:	"Jolly Shah" <jollys@xilinx.com>
 | 
						|
Description:
 | 
						|
		Read/Write PMU global general storage register value,
 | 
						|
		GLOBAL_GEN_STORAGE{0:3}.
 | 
						|
		Global general storage register that can be used
 | 
						|
		by system to pass information between masters.
 | 
						|
 | 
						|
		The register is reset during system or power-on
 | 
						|
		resets. Three registers are used by the FSBL and
 | 
						|
		other Xilinx software products: GLOBAL_GEN_STORAGE{4:6}.
 | 
						|
 | 
						|
		Usage::
 | 
						|
 | 
						|
		    # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
 | 
						|
		    # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
 | 
						|
 | 
						|
		Example::
 | 
						|
 | 
						|
		    # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
 | 
						|
		    # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0
 | 
						|
 | 
						|
Users:		Xilinx
 | 
						|
 | 
						|
What:		/sys/devices/platform/firmware\:zynqmp-firmware/pggs*
 | 
						|
Date:		March 2020
 | 
						|
KernelVersion:	5.6
 | 
						|
Contact:	"Jolly Shah" <jollys@xilinx.com>
 | 
						|
Description:
 | 
						|
		Read/Write PMU persistent global general storage register
 | 
						|
		value, PERS_GLOB_GEN_STORAGE{0:3}.
 | 
						|
		Persistent global general storage register that
 | 
						|
		can be used by system to pass information between
 | 
						|
		masters.
 | 
						|
 | 
						|
		This register is only reset by the power-on reset
 | 
						|
		and maintains its value through a system reset.
 | 
						|
		Four registers are used by the FSBL and other Xilinx
 | 
						|
		software products: PERS_GLOB_GEN_STORAGE{4:7}.
 | 
						|
		Register is reset only by a POR reset.
 | 
						|
 | 
						|
		Usage::
 | 
						|
 | 
						|
		    # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
 | 
						|
		    # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
 | 
						|
 | 
						|
		Example::
 | 
						|
 | 
						|
		    # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
 | 
						|
		    # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0
 | 
						|
 | 
						|
Users:		Xilinx
 | 
						|
 | 
						|
What:		/sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
 | 
						|
Date:		March 2020
 | 
						|
KernelVersion:	5.6
 | 
						|
Contact:	"Jolly Shah" <jollys@xilinx.com>
 | 
						|
Description:
 | 
						|
		This sysfs interface allows to set the shutdown scope for the
 | 
						|
		next shutdown request. When the next shutdown is performed, the
 | 
						|
		platform specific portion of PSCI-system_off can use the chosen
 | 
						|
		shutdown scope.
 | 
						|
 | 
						|
		Following are available shutdown scopes(subtypes):
 | 
						|
 | 
						|
		subsystem:
 | 
						|
				Only the APU along with all of its peripherals
 | 
						|
				not used by other processing units will be
 | 
						|
				shut down. This may result in the FPD power
 | 
						|
				domain being shut down provided that no other
 | 
						|
				processing unit uses FPD peripherals or DRAM.
 | 
						|
		ps_only:
 | 
						|
				The complete PS will be shut down, including the
 | 
						|
				RPU, PMU, etc.  Only the PL domain (FPGA)
 | 
						|
				remains untouched.
 | 
						|
		system:
 | 
						|
				The complete system/device is shut down.
 | 
						|
 | 
						|
		Usage::
 | 
						|
 | 
						|
		    # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
 | 
						|
		    # echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
 | 
						|
 | 
						|
		Example::
 | 
						|
 | 
						|
		    # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
 | 
						|
		    # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope
 | 
						|
 | 
						|
Users:		Xilinx
 | 
						|
 | 
						|
What:		/sys/devices/platform/firmware\:zynqmp-firmware/health_status
 | 
						|
Date:		March 2020
 | 
						|
KernelVersion:	5.6
 | 
						|
Contact:	"Jolly Shah" <jollys@xilinx.com>
 | 
						|
Description:
 | 
						|
		This sysfs interface allows to set the health status. If PMUFW
 | 
						|
		is compiled with CHECK_HEALTHY_BOOT, it will check the healthy
 | 
						|
		bit on FPD WDT expiration. If healthy bit is set by a user
 | 
						|
		application running in Linux, PMUFW will do APU only restart. If
 | 
						|
		healthy bit is not set during FPD WDT expiration, PMUFW will do
 | 
						|
		system restart.
 | 
						|
 | 
						|
		Usage:
 | 
						|
 | 
						|
		Set healthy bit::
 | 
						|
 | 
						|
		    # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status
 | 
						|
 | 
						|
		Unset healthy bit::
 | 
						|
 | 
						|
		    # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status
 | 
						|
 | 
						|
Users:		Xilinx
 | 
						|
 | 
						|
What:		/sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
Date:		Feb 2022
 | 
						|
KernelVersion:	5.18
 | 
						|
Contact:	"Ronak Jain" <ronak.jain@xilinx.com>
 | 
						|
Description:
 | 
						|
		This sysfs interface allows user to configure features at
 | 
						|
		runtime. The user can enable or disable features running at
 | 
						|
		firmware as well as the user can configure the parameters of
 | 
						|
		the features at runtime. The supported features are over
 | 
						|
		temperature and external watchdog. Here, the external watchdog
 | 
						|
		is completely different than the /dev/watchdog as the external
 | 
						|
		watchdog is running on the firmware and it is used to monitor
 | 
						|
		the health of firmware not APU(Linux). Also, the external
 | 
						|
		watchdog is interfaced outside of the zynqmp soc.
 | 
						|
 | 
						|
		The supported config ids are for the feature configuration is,
 | 
						|
		1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
 | 
						|
		disable the over temperature feature.
 | 
						|
		2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
 | 
						|
		over temperature limit in Degree Celsius.
 | 
						|
		3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
 | 
						|
		the external watchdog feature.
 | 
						|
		4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
 | 
						|
		external watchdog feature.
 | 
						|
 | 
						|
		Usage:
 | 
						|
 | 
						|
		Select over temperature config ID to enable/disable feature
 | 
						|
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
 | 
						|
		Check over temperature config ID is selected or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		The expected result is 1.
 | 
						|
 | 
						|
		Select over temperature config ID to configure OT limit
 | 
						|
		# echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
 | 
						|
		Check over temperature config ID is selected or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		The expected result is 2.
 | 
						|
 | 
						|
		Select external watchdog config ID to enable/disable feature
 | 
						|
		# echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
 | 
						|
		Check external watchdog config ID is selected or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		The expected result is 3.
 | 
						|
 | 
						|
		Select external watchdog config ID to configure time interval
 | 
						|
		# echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
 | 
						|
		Check external watchdog config ID is selected or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		The expected result is 4.
 | 
						|
 | 
						|
Users:		Xilinx
 | 
						|
 | 
						|
What:		/sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
Date:		Feb 2022
 | 
						|
KernelVersion:	5.18
 | 
						|
Contact:	"Ronak Jain" <ronak.jain@xilinx.com>
 | 
						|
Description:
 | 
						|
		This sysfs interface allows to configure features at runtime.
 | 
						|
		The user can enable or disable features running at firmware.
 | 
						|
		Also, the user can configure the parameters of the features
 | 
						|
		at runtime. The supported features are over temperature and
 | 
						|
		external watchdog. Here, the external watchdog is completely
 | 
						|
		different than the /dev/watchdog as the external watchdog is
 | 
						|
		running on the firmware and it is used to monitor the health
 | 
						|
		of firmware not APU(Linux). Also, the external watchdog is
 | 
						|
		interfaced outside of the zynqmp soc.
 | 
						|
 | 
						|
		By default the features are disabled in the firmware. The user
 | 
						|
		can enable features by querying appropriate config id of the
 | 
						|
		features.
 | 
						|
 | 
						|
		The default limit for the over temperature is 90 Degree Celsius.
 | 
						|
		The default timer interval for the external watchdog is 570ms.
 | 
						|
 | 
						|
		The supported config ids are for the feature configuration is,
 | 
						|
		1. PM_FEATURE_OVERTEMP_STATUS = 1, the user can enable or
 | 
						|
		disable the over temperature feature.
 | 
						|
		2. PM_FEATURE_OVERTEMP_VALUE = 2, the user can configure the
 | 
						|
		over temperature limit in Degree Celsius.
 | 
						|
		3. PM_FEATURE_EXTWDT_STATUS = 3, the user can enable or disable
 | 
						|
		the external watchdog feature.
 | 
						|
		4. PM_FEATURE_EXTWDT_VALUE = 4, the user can configure the
 | 
						|
		external watchdog feature.
 | 
						|
 | 
						|
		Usage:
 | 
						|
 | 
						|
		Enable over temperature feature
 | 
						|
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
 | 
						|
		Check whether the over temperature feature is enabled or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
		The expected result is 1.
 | 
						|
 | 
						|
		Disable over temperature feature
 | 
						|
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		# echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
 | 
						|
		Check whether the over temperature feature is disabled or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
		The expected result is 0.
 | 
						|
 | 
						|
		Configure over temperature limit to 50 Degree Celsius
 | 
						|
		# echo 2 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		# echo 50 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
 | 
						|
		Check whether the over temperature limit is configured or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
		The expected result is 50.
 | 
						|
 | 
						|
		Enable external watchdog feature
 | 
						|
		# echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		# echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
 | 
						|
		Check whether the external watchdog feature is enabled or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
		The expected result is 1.
 | 
						|
 | 
						|
		Disable external watchdog feature
 | 
						|
		# echo 3 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		# echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
 | 
						|
		Check whether the external watchdog feature is disabled or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
		The expected result is 0.
 | 
						|
 | 
						|
		Configure external watchdog timer interval to 500ms
 | 
						|
		# echo 4 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_id
 | 
						|
		# echo 500 > /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
 | 
						|
		Check whether the external watchdog timer interval is configured or not
 | 
						|
		# cat /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_value
 | 
						|
		The expected result is 500.
 | 
						|
 | 
						|
Users:		Xilinx
 |