1*12dabefaSRobert Mustacchi /* 2*12dabefaSRobert Mustacchi * This file and its contents are supplied under the terms of the 3*12dabefaSRobert Mustacchi * Common Development and Distribution License ("CDDL"), version 1.0. 4*12dabefaSRobert Mustacchi * You may only use this file in accordance with the terms of version 5*12dabefaSRobert Mustacchi * 1.0 of the CDDL. 6*12dabefaSRobert Mustacchi * 7*12dabefaSRobert Mustacchi * A full copy of the text of the CDDL should have accompanied this 8*12dabefaSRobert Mustacchi * source. A copy of the CDDL is also available via the Internet at 9*12dabefaSRobert Mustacchi * http://www.illumos.org/license/CDDL. 10*12dabefaSRobert Mustacchi */ 11*12dabefaSRobert Mustacchi 12*12dabefaSRobert Mustacchi /* 13*12dabefaSRobert Mustacchi * Copyright 2025 Oxide Computer Company 14*12dabefaSRobert Mustacchi */ 15*12dabefaSRobert Mustacchi 16*12dabefaSRobert Mustacchi #ifndef _SYS_NVME_SAMSUNG_H 17*12dabefaSRobert Mustacchi #define _SYS_NVME_SAMSUNG_H 18*12dabefaSRobert Mustacchi 19*12dabefaSRobert Mustacchi /* 20*12dabefaSRobert Mustacchi * This header defines vendor-specific NVMe interfaces and is not a committed 21*12dabefaSRobert Mustacchi * interface. Its contents and existence are subject to change. 22*12dabefaSRobert Mustacchi * 23*12dabefaSRobert Mustacchi * This header contains all of the current vendor-specific entries for known 24*12dabefaSRobert Mustacchi * Phison devices as well as common structures and definitions that are shared 25*12dabefaSRobert Mustacchi * across multiple device families. 26*12dabefaSRobert Mustacchi */ 27*12dabefaSRobert Mustacchi 28*12dabefaSRobert Mustacchi #include <sys/nvme/ocp.h> 29*12dabefaSRobert Mustacchi 30*12dabefaSRobert Mustacchi #ifdef __cplusplus 31*12dabefaSRobert Mustacchi extern "C" { 32*12dabefaSRobert Mustacchi #endif 33*12dabefaSRobert Mustacchi 34*12dabefaSRobert Mustacchi #define SAMSUNG_PCI_VID 0x144d 35*12dabefaSRobert Mustacchi #define SAMSUNG_PM9D3_DID 0xa900 36*12dabefaSRobert Mustacchi 37*12dabefaSRobert Mustacchi typedef enum { 38*12dabefaSRobert Mustacchi SAMSUNG_PM9D3_LOG_OCP_SMART = OCP_LOG_DSSD_SMART, 39*12dabefaSRobert Mustacchi SAMSUNG_PM9D3_LOG_OCP_ERRREC = OCP_LOG_DSSD_ERROR_REC, 40*12dabefaSRobert Mustacchi SAMSUNG_PM9D3_LOG_OCP_FWACT = OCP_LOG_DSSD_FWACT, 41*12dabefaSRobert Mustacchi SAMSUNG_PM9D3_LOG_OCP_LATENCY = OCP_LOG_DSSD_LATENCY, 42*12dabefaSRobert Mustacchi SAMSUNG_PM9D3_LOG_OCP_DEV_CAP = OCP_LOG_DSSD_DEV_CAP, 43*12dabefaSRobert Mustacchi SAMSUNG_PM9D3_LOG_OCP_UNSUP = OCP_LOG_DSSD_UNSUP_REQ, 44*12dabefaSRobert Mustacchi SAMSUNG_PM9D3_LOG_OCP_TCG = OCP_LOG_DSSD_TCG, 45*12dabefaSRobert Mustacchi SAMSUNG_PM9D3_LOG_OCP_TELEMETRY = OCP_LOG_DSSD_TELEMETRY, 46*12dabefaSRobert Mustacchi } samsung_pm9d3_vul_t; 47*12dabefaSRobert Mustacchi 48*12dabefaSRobert Mustacchi #ifdef __cplusplus 49*12dabefaSRobert Mustacchi } 50*12dabefaSRobert Mustacchi #endif 51*12dabefaSRobert Mustacchi 52*12dabefaSRobert Mustacchi #endif /* _SYS_NVME_SAMSUNG_H */ 53