1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright (C) 2017 Xilinx, Inc. 4 * 5 * Michal Simek <michal.simek@xilinx.com> 6 */ 7 8#ifndef __SOC_ZYNQMP_FW_H__ 9#define __SOC_ZYNQMP_FW_H__ 10 11#include <linux/nvmem-consumer.h> 12 13enum { 14 ZYNQMP_SILICON_V1 = 0, 15 ZYNQMP_SILICON_V2, 16 ZYNQMP_SILICON_V3, 17 ZYNQMP_SILICON_V4, 18}; 19 20static inline char *zynqmp_nvmem_get_silicon_version(struct device *dev, 21 const char *cname) 22{ 23 struct nvmem_cell *cell; 24 ssize_t data; 25 char *ret; 26 27 cell = nvmem_cell_get(dev, cname); 28 if (IS_ERR(cell)) 29 return ERR_CAST(cell); 30 31 ret = nvmem_cell_read(cell, &data); 32 nvmem_cell_put(cell); 33 34 return ret; 35} 36 37#endif /* __SOC_ZYNQMP_FW_H__ */ 38