Adds support for runtime feature configuration by using the IOCTL
calls. The user can enable or disable as well as can configure the
runtime features. The support is added for the over temperature and
external watchdog. The user can configure the over temperature limit
and external watchdog timer interval at runtime by using PM_IOCTL
calls.
Also, added support for sysfs interface for runtime feature
configuration for the over temperature and external watchdog features.
Ronak Jain (3):
firmware: xilinx: Add support for runtime features
firmware: zynqmp: Add sysfs entry for runtime features
firmware: xilinx: Add sysfs support for feature config
.../ABI/stable/sysfs-driver-firmware-zynqmp | 84 ++++++++++++++++
drivers/firmware/xilinx/zynqmp.c | 98 +++++++++++++++++++
include/linux/firmware/xlnx-zynqmp.h | 25 +++++
3 files changed, 207 insertions(+)
--
2.32.0.93.g670b81a
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
This patch adds support for sysfs interface for runtime features
configuration. The user can configure the features at runtime. First
the user need to select the config id of the supported features and
then the user can configure the parameters of the feature based on
the config id. So far the support is added for the over temperature
and external watchdog features.
Signed-off-by: Ronak Jain <redacted>
---
drivers/firmware/xilinx/zynqmp.c | 71 ++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
2.32.0.93.g670b81a
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Add support for runtime features by using an IOCTL call. The features
can be enabled or disabled on the firmware as well as the features
can configure at runtime by querying IOCTL_SET_FEATURE_CONFIG id.
Similarly, the user can get the configured values of features by
querying IOCTL_GET_FEATURE_CONFIG id. Here, we have added support for
the over temperature and external watchdog features only.
Signed-off-by: Ronak Jain <redacted>
---
drivers/firmware/xilinx/zynqmp.c | 27 +++++++++++++++++++++++++++
include/linux/firmware/xlnx-zynqmp.h | 25 +++++++++++++++++++++++++
2 files changed, 52 insertions(+)
2.32.0.93.g670b81a
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Create sysfs entry for runtime feature configuration. Here the support
is added for an over temperature and external watchdog feature.
The below listed path is used for runtime features configuration:
/sys/devices/platform/firmware\:zynqmp-firmware/*
Here there are two files to configure features at runtime.
1. feature_config_id
2. feature_config_value
In order to configure an over temperature or external watchdog
features, first the user need to select the valid config id and then
the user can configure the value for selected feature config id.
Signed-off-by: Ronak Jain <redacted>
---
.../ABI/stable/sysfs-driver-firmware-zynqmp | 84 +++++++++++++++++++
1 file changed, 84 insertions(+)
@@ -113,3 +113,87 @@ Description: # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status Users: Xilinx++What: /sys/devices/platform/firmware\:zynqmp-firmware/feature_config_*+Date: Aug 2021+KernelVersion: 5.14+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--
2.32.0.93.g670b81a
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Michael Tretter <m.tretter@pengutronix.de> Date: 2021-08-18 06:43:55
Hi Ronak,
On Tue, 17 Aug 2021 06:05:50 -0700, Ronak Jain wrote:
Adds support for runtime feature configuration by using the IOCTL
calls. The user can enable or disable as well as can configure the
runtime features. The support is added for the over temperature and
external watchdog. The user can configure the over temperature limit
and external watchdog timer interval at runtime by using PM_IOCTL
calls.
Also, added support for sysfs interface for runtime feature
configuration for the over temperature and external watchdog features.
Can we have proper kernel drivers instead of the sysfs interface?
Michael
Ronak Jain (3):
firmware: xilinx: Add support for runtime features
firmware: zynqmp: Add sysfs entry for runtime features
firmware: xilinx: Add sysfs support for feature config
.../ABI/stable/sysfs-driver-firmware-zynqmp | 84 ++++++++++++++++
drivers/firmware/xilinx/zynqmp.c | 98 +++++++++++++++++++
include/linux/firmware/xlnx-zynqmp.h | 25 +++++
3 files changed, 207 insertions(+)
--
2.32.0.93.g670b81a
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
On Tue, Aug 17, 2021 at 06:05:50AM -0700, Ronak Jain wrote:
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
This footer means that this has to be ignored and can not be used for
kernel development at all.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Hi Greg KH,
Thanks for reviewing.
I will fix footer and submit new version.
Thanks,
Ronak
-----Original Message-----
From: Greg KH <gregkh@linuxfoundation.org>
Sent: Wednesday, August 18, 2021 1:38 PM
To: Ronak Jain <redacted>
Cc: Michal Simek <redacted>; linux-kernel@vger.kernel.org; Rajan
Vaja [off-list ref]; corbet@lwn.net; linux-arm-
kernel@lists.infradead.org; arnd@arndb.de; Sai Krishna Potthuri
[off-list ref]
Subject: Re: [PATCH 0/3] Add support for runtime features
On Tue, Aug 17, 2021 at 06:05:50AM -0700, Ronak Jain wrote:
quoted
This email and any attachments are intended for the sole use of the named
recipient(s) and contain(s) confidential information that may be proprietary,
privileged or copyrighted under applicable law. If you are not the intended
recipient, do not read, copy, or forward this email message or any attachments.
Delete this email message and any attachments immediately.
This footer means that this has to be ignored and can not be used for kernel
development at all.