mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 22:02:28 +00:00
a2cc220a9a
Add sysfs interface to set boot health status from user space. Add API used by this interface to communicate with firmware. 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. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Link: https://lore.kernel.org/r/1587761887-4279-26-git-send-email-jolly.shah@xilinx.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
104 lines
3.6 KiB
Plaintext
104 lines
3.6 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
|