aboutsummaryrefslogtreecommitdiff
path: root/drivers/firmware
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2022-01-14 13:25:37 +0100
committerMichal Simek <michal.simek@xilinx.com>2022-01-19 15:14:29 +0100
commit11c07719d58d4627e21fc59f5ab58f85edd5c024 (patch)
treece0411cf32c6466f02ecffdd62bd51f80970a045 /drivers/firmware
parent12662e7034b4b6e070830e074f1cfab139dd21d6 (diff)
downloadu-boot-11c07719d58d4627e21fc59f5ab58f85edd5c024.zip
u-boot-11c07719d58d4627e21fc59f5ab58f85edd5c024.tar.gz
u-boot-11c07719d58d4627e21fc59f5ab58f85edd5c024.tar.bz2
firmware: zynqmp: Do not report error if node is already configured
Power domain driver sends PM fragment to PMUFW. It is sent for every node which is listed in DT. But some nodes could be already enabled but driver is not capable to find it out. That's why it blinly sents request for every listed IP. When PMUFW response by XST_PM_ALREADY_CONFIGURED error code there is no need to show any error message because node is already enabled. That's why cover this case with message when DEBUG is enabled. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Link: https://lore.kernel.org/r/8c15ef0b68cf191f693d3d010f70ac24cfd8171f.1642163135.git.michal.simek@xilinx.com
Diffstat (limited to 'drivers/firmware')
-rw-r--r--drivers/firmware/firmware-zynqmp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c
index 18a092c..839203e 100644
--- a/drivers/firmware/firmware-zynqmp.c
+++ b/drivers/firmware/firmware-zynqmp.c
@@ -20,6 +20,7 @@
#define PMUFW_PAYLOAD_ARG_CNT 8
#define XST_PM_NO_ACCESS 2002L
+#define XST_PM_ALREADY_CONFIGURED 2009L
struct zynqmp_power {
struct mbox_chan tx_chan;
@@ -110,6 +111,11 @@ void zynqmp_pmufw_load_config_object(const void *cfg_obj, size_t size)
return;
}
+ if (err == XST_PM_ALREADY_CONFIGURED) {
+ debug("PMUFW Node is already configured\n");
+ return;
+ }
+
if (err)
printf("Cannot load PMUFW configuration object (%d)\n", err);