summaryrefslogtreecommitdiff
path: root/drivers/firmware
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2022-01-14 13:25:38 +0100
committerMichal Simek <michal.simek@xilinx.com>2022-02-15 13:04:03 +0100
commitfac46bc446e0ca2e5bd8fa4d28f243ee4a1d8995 (patch)
tree0998e9391c6dc3cc45d90fda53f5ed662b91d4a9 /drivers/firmware
parentc750c6dbb29535efa01464d46afc6ccf999cf7c5 (diff)
arm64: zynqmp: Add command for disabling loading other overlays
Add command "zynqmp pmufw node close" to disable permission to load additional pmufw config overlays. This command will make sure that any other sw will ask for changing permission. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Link: https://lore.kernel.org/r/cfa5cc7909eb8deb23eb0f11c26954cbaddeb861.1642163135.git.michal.simek@xilinx.com
Diffstat (limited to 'drivers/firmware')
-rw-r--r--drivers/firmware/firmware-zynqmp.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c
index 05628da9b0..8d8492d99f 100644
--- a/drivers/firmware/firmware-zynqmp.c
+++ b/drivers/firmware/firmware-zynqmp.c
@@ -49,6 +49,25 @@ static unsigned int xpm_configobject[] = {
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */
};
+static unsigned int xpm_configobject_close[] = {
+ /**********************************************************************/
+ /* HEADER */
+ 2, /* Number of remaining words in the header */
+ 1, /* Number of sections included in config object */
+ PM_CONFIG_OBJECT_TYPE_OVERLAY, /* Type of Config object as overlay */
+ /**********************************************************************/
+ /* SET CONFIG SECTION */
+ PM_CONFIG_SET_CONFIG_SECTION_ID,
+ 0U, /* Loading permission to Overlay config object */
+};
+
+int zynqmp_pmufw_config_close(void)
+{
+ zynqmp_pmufw_load_config_object(xpm_configobject_close,
+ sizeof(xpm_configobject_close));
+ return 0;
+}
+
int zynqmp_pmufw_node(u32 id)
{
/* Record power domain id */