Lines Matching +full:zynqmp +full:- +full:dma +full:- +full:1
1 // SPDX-License-Identifier: GPL-2.0+
4 * Copyright (C) 2022 - 2023, Advanced Micro Devices, Inc.
7 #include <linux/dma-mapping.h>
9 #include <linux/nvmem-provider.h>
12 #include <linux/firmware/xlnx-zynqmp.h>
40 * struct xilinx_efuse - the basic structure
44 * @flag: 0 - represents efuse read and 1- represents efuse write
45 * @pufuserfuse:0 - represents non-puf efuses, offset is used for read/write
46 * 1 - represents puf user fuse row number.
74 return -EOPNOTSUPP; in zynqmp_efuse_access()
79 return -EOPNOTSUPP; in zynqmp_efuse_access()
82 if (pufflag == 1 && flag == EFUSE_WRITE) { in zynqmp_efuse_access()
88 return -EOPNOTSUPP; in zynqmp_efuse_access()
94 return -EOPNOTSUPP; in zynqmp_efuse_access()
101 return -ENOMEM; in zynqmp_efuse_access()
106 ret = -ENOMEM; in zynqmp_efuse_access()
112 efuse->flag = EFUSE_WRITE; in zynqmp_efuse_access()
114 efuse->flag = EFUSE_READ; in zynqmp_efuse_access()
117 efuse->src = dma_buf; in zynqmp_efuse_access()
118 efuse->size = words; in zynqmp_efuse_access()
119 efuse->offset = offset; in zynqmp_efuse_access()
120 efuse->pufuserfuse = pufflag; in zynqmp_efuse_access()
126 ret = -EOPNOTSUPP; in zynqmp_efuse_access()
129 ret = -EPERM; in zynqmp_efuse_access()
155 pufflag = 1; in zynqmp_nvmem_read()
161 return -EOPNOTSUPP; in zynqmp_nvmem_read()
191 return -EOPNOTSUPP; in zynqmp_nvmem_write()
194 pufflag = 1; in zynqmp_nvmem_write()
201 { .compatible = "xlnx,zynqmp-nvmem-fw", },
208 struct device *dev = &pdev->dev; in zynqmp_nvmem_probe()
211 econfig.name = "zynqmp-nvmem"; in zynqmp_nvmem_probe()
213 econfig.word_size = 1; in zynqmp_nvmem_probe()
226 .name = "zynqmp-nvmem",
234 MODULE_DESCRIPTION("ZynqMP NVMEM driver");