xref: /illumos-gate/usr/src/lib/libnvme/common/libnvme_phison.c (revision 915b01506f3f3c1e5c947b41a979e15bb1acc449)
1*915b0150SRobert Mustacchi /*
2*915b0150SRobert Mustacchi  * This file and its contents are supplied under the terms of the
3*915b0150SRobert Mustacchi  * Common Development and Distribution License ("CDDL"), version 1.0.
4*915b0150SRobert Mustacchi  * You may only use this file in accordance with the terms of version
5*915b0150SRobert Mustacchi  * 1.0 of the CDDL.
6*915b0150SRobert Mustacchi  *
7*915b0150SRobert Mustacchi  * A full copy of the text of the CDDL should have accompanied this
8*915b0150SRobert Mustacchi  * source.  A copy of the CDDL is also available via the Internet at
9*915b0150SRobert Mustacchi  * http://www.illumos.org/license/CDDL.
10*915b0150SRobert Mustacchi  */
11*915b0150SRobert Mustacchi 
12*915b0150SRobert Mustacchi /*
13*915b0150SRobert Mustacchi  * Copyright 2025 Oxide Computer Company
14*915b0150SRobert Mustacchi  */
15*915b0150SRobert Mustacchi 
16*915b0150SRobert Mustacchi /*
17*915b0150SRobert Mustacchi  * libnvme logic specific to Phison devices. This currently supports the Phison
18*915b0150SRobert Mustacchi  * X200.
19*915b0150SRobert Mustacchi  */
20*915b0150SRobert Mustacchi 
21*915b0150SRobert Mustacchi #include <sys/sysmacros.h>
22*915b0150SRobert Mustacchi #include <sys/nvme/phison.h>
23*915b0150SRobert Mustacchi 
24*915b0150SRobert Mustacchi #include "libnvme_impl.h"
25*915b0150SRobert Mustacchi 
26*915b0150SRobert Mustacchi static const nvme_vsd_ident_t phison_x200_idents[] = {
27*915b0150SRobert Mustacchi 	{
28*915b0150SRobert Mustacchi 		.nvdi_vid = PHISON_PCI_VID,
29*915b0150SRobert Mustacchi 		.nvdi_did = PHISON_X200_DID,
30*915b0150SRobert Mustacchi 		.nvdi_human = "Phison X200"
31*915b0150SRobert Mustacchi 	}
32*915b0150SRobert Mustacchi };
33*915b0150SRobert Mustacchi 
34*915b0150SRobert Mustacchi static const nvme_log_page_info_t *phison_x200_log_pages[] = {
35*915b0150SRobert Mustacchi 	&ocp_log_smart, &ocp_log_errrec, &ocp_log_fwact, &ocp_log_lat,
36*915b0150SRobert Mustacchi 	&ocp_log_devcap, &ocp_log_unsup
37*915b0150SRobert Mustacchi };
38*915b0150SRobert Mustacchi 
39*915b0150SRobert Mustacchi const nvme_vsd_t phison_x200 = {
40*915b0150SRobert Mustacchi 	.nvd_ident = phison_x200_idents,
41*915b0150SRobert Mustacchi 	.nvd_nident = ARRAY_SIZE(phison_x200_idents),
42*915b0150SRobert Mustacchi 	.nvd_logs = phison_x200_log_pages,
43*915b0150SRobert Mustacchi 	.nvd_nlogs = ARRAY_SIZE(phison_x200_log_pages)
44*915b0150SRobert Mustacchi };
45