1 /* 2 * This file and its contents are supplied under the terms of the 3 * Common Development and Distribution License ("CDDL"), version 1.0. 4 * You may only use this file in accordance with the terms of version 5 * 1.0 of the CDDL. 6 * 7 * A full copy of the text of the CDDL should have accompanied this 8 * source. A copy of the CDDL is also available via the Internet at 9 * http://www.illumos.org/license/CDDL. 10 */ 11 12 /* 13 * Copyright 2024 Oxide Computer Company 14 */ 15 16 #ifndef _SYS_NVME_SOLIDIGM_PS10X0_H 17 #define _SYS_NVME_SOLIDIGM_PS10X0_H 18 19 /* 20 * This header defines vendor-specific NVMe interfaces and is not a committed 21 * interface. Its contents and existence are subject to change. 22 * 23 * Vendor-specific definitions for the Solidigm (nee Intel) PS1010 and PS1030. 24 */ 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif 29 30 #define SOLIDIGM_PS10X0_DID 0x2B59 31 #define SOLIDIGM_PS1010_U2_SDID 0x0008 32 #define SOLIDIGM_PS1010_E3_SDID 0x0019 33 #define SOLIDIGM_PS1030_U2_SDID 0x0108 34 #define SOLIDIGM_PS1030_E3_SDID 0x0119 35 36 typedef enum { 37 SOLIDIGM_PS10x0_LOG_OCP_SMART = OCP_LOG_DSSD_SMART, 38 SOLIDIGM_PS10x0_LOG_OCP_ERRREC = OCP_LOG_DSSD_ERROR_REC, 39 SOLIDIGM_PS10x0_LOG_OCP_FWACT = OCP_LOG_DSSD_FWACT, 40 SOLIDIGM_PS10x0_LOG_OCP_LATENCY = OCP_LOG_DSSD_LATENCY, 41 SOLIDIGM_PS10x0_LOG_OCP_DEV_CAP = OCP_LOG_DSSD_DEV_CAP, 42 SOLIDIGM_PS10x0_LOG_OCP_UNSUP = OCP_LOG_DSSD_UNSUP_REQ, 43 /* 44 * Uses the solidigm_vul_smart_log_t. The maximum number of entries is 45 * always grabbed, but there may be holes. 46 */ 47 SOLIDIGM_PS10x0_LOG_SMART = 0xca, 48 /* 49 * Uses the solidigm_vul_temp_t. 50 */ 51 SOLIDIGM_PS10x0_LOG_TEMP = 0xd5 52 } solidigm_ps10x0_vul_t; 53 54 #ifdef __cplusplus 55 } 56 #endif 57 58 #endif /* _SYS_NVME_SOLIDIGM_PS10X0_H */ 59