1
0
Fork 0
nvme-cli/plugins/ocp/ocp-hardware-component-log.h
Daniel Baumann 0f2367f2fa
Merging upstream version 2.11.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-02-16 12:28:30 +01:00

64 lines
1.2 KiB
C

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (c) 2024
*/
#include "cmd.h"
#include "common.h"
#include "ocp-nvme.h"
#ifndef OCP_HARDWARE_COMPONENT_LOG_H
#define OCP_HARDWARE_COMPONENT_LOG_H
#define LID_HWCOMP 0xc6
#define HWCOMP_RSVD2_LEN 14
#define HWCOMP_SIZE_LEN 16
#define HWCOMP_RSVD48_LEN 16
struct __packed hwcomp_desc {
__le64 date_lot_size;
__le64 add_info_size;
__le32 id;
__le64 mfg;
__le64 rev;
__le64 mfg_code;
};
struct __packed hwcomp_log {
__le16 ver;
__u8 rsvd2[HWCOMP_RSVD2_LEN];
__u8 guid[GUID_LEN];
__u8 size[HWCOMP_SIZE_LEN];
__u8 rsvd48[HWCOMP_RSVD48_LEN];
struct hwcomp_desc *desc;
};
struct hwcomp_desc_entry {
struct hwcomp_desc *desc;
__u64 date_lot_size;
__u8 *date_lot_code;
__u64 add_info_size;
__u8 *add_info;
__u64 desc_size;
};
enum hwcomp_id {
HWCOMP_ID_RSVD,
HWCOMP_ID_ASIC,
HWCOMP_ID_NAND,
HWCOMP_ID_DRAM,
HWCOMP_ID_PMIC,
HWCOMP_ID_PCB,
HWCOMP_ID_CAP,
HWCOMP_ID_REG,
HWCOMP_ID_CASE,
HWCOMP_ID_SN,
HWCOMP_ID_COUNTRY,
HWCOMP_ID_HW_REV,
HWCOMP_ID_VENDOR = 0x8000,
HWCOMP_ID_MAX = 0xffff,
};
int ocp_hwcomp_log(int argc, char **argv, struct command *cmd, struct plugin *plugin);
const char *hwcomp_id_to_string(__u32 id);
#endif /* OCP_HARDWARE_COMPONENT_LOG_H */