summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Suvorov <oleksandr.suvorov@foundries.io>2022-07-22 17:16:05 +0300
committerMichal Simek <michal.simek@amd.com>2022-07-26 09:34:21 +0200
commit24307b06b71a3c9b4aa556eefdad1f8fcca116bd (patch)
tree4e2b4943a6ad58a6870169d5a03a5a9976c142af
parentd7fcbfc19b4e83930a90c834046d4bf7dc3adefe (diff)
fpga: zynqmp: add str2flags call
Add a call to convert FPGA "compatible" string to a binary flag. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Tested-by: Ricardo Salveti <ricardo@foundries.io> Tested-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com> Link: https://lore.kernel.org/r/20220722141614.297383-5-oleksandr.suvorov@foundries.io Signed-off-by: Michal Simek <michal.simek@amd.com>
-rw-r--r--drivers/fpga/zynqmppl.c11
-rw-r--r--include/xilinx.h3
2 files changed, 13 insertions, 1 deletions
diff --git a/drivers/fpga/zynqmppl.c b/drivers/fpga/zynqmppl.c
index 8ff12bf50a..19d079c9d9 100644
--- a/drivers/fpga/zynqmppl.c
+++ b/drivers/fpga/zynqmppl.c
@@ -304,10 +304,19 @@ static int zynqmp_pcap_info(xilinx_desc *desc)
return ret;
}
+static int __maybe_unused zynqmp_str2flag(xilinx_desc *desc, const char *str)
+{
+ if (!strncmp(str, "u-boot,fpga-legacy", 18))
+ return FPGA_LEGACY;
+
+ return 0;
+}
+
struct xilinx_fpga_op zynqmp_op = {
.load = zynqmp_load,
+ .info = zynqmp_pcap_info,
#if CONFIG_IS_ENABLED(FPGA_LOAD_SECURE)
.loads = zynqmp_loads,
+ .str2flag = zynqmp_str2flag,
#endif
- .info = zynqmp_pcap_info,
};
diff --git a/include/xilinx.h b/include/xilinx.h
index d9e4b8da96..ff5486d98a 100644
--- a/include/xilinx.h
+++ b/include/xilinx.h
@@ -60,6 +60,9 @@ struct xilinx_fpga_op {
struct fpga_secure_info *fpga_sec_info);
int (*dump)(xilinx_desc *desc, const void *buf, size_t bsize);
int (*info)(xilinx_desc *desc);
+#if CONFIG_IS_ENABLED(FPGA_LOAD_SECURE)
+ int (*str2flag)(xilinx_desc *desc, const char *string);
+#endif
};
/* Generic Xilinx Functions