linux/include/linux/soc/xilinx/zynqmp/fw.h
<<
>>
Prefs
   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