xref: /illumos-gate/usr/src/man/man3lib/libjedec.3lib (revision b3783300)
1*b3783300SRobert Mustacchi.\"
2*b3783300SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
3*b3783300SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
4*b3783300SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
5*b3783300SRobert Mustacchi.\" 1.0 of the CDDL.
6*b3783300SRobert Mustacchi.\"
7*b3783300SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
8*b3783300SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
9*b3783300SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
10*b3783300SRobert Mustacchi.\"
11*b3783300SRobert Mustacchi.\"
12*b3783300SRobert Mustacchi.\" Copyright 2023 Oxide Computer Company
13*b3783300SRobert Mustacchi.\"
14*b3783300SRobert Mustacchi.Dd September 18, 2023
15*b3783300SRobert Mustacchi.Dt LIBJEDEC 3JEDEC
16*b3783300SRobert Mustacchi.Os
17*b3783300SRobert Mustacchi.Sh NAME
18*b3783300SRobert Mustacchi.Nm libjedec
19*b3783300SRobert Mustacchi.Nd JEDEC support library
20*b3783300SRobert Mustacchi.Sh LIBRARY
21*b3783300SRobert Mustacchi.Lb libjedec
22*b3783300SRobert Mustacchi.In libjedec.h
23*b3783300SRobert Mustacchi.Sh DESCRIPTION
24*b3783300SRobert MustacchiThe
25*b3783300SRobert Mustacchi.Nm
26*b3783300SRobert Mustacchilibrary provides consumers access to several different classes of
27*b3783300SRobert Mustacchifunctions that are related to various JEDEC standards including:
28*b3783300SRobert Mustacchi.Bl -bullet -width Ds
29*b3783300SRobert Mustacchi.It
30*b3783300SRobert MustacchiParsing Serial Presence Data (SPD) commonly found in DIMM modules
31*b3783300SRobert Mustacchi.It
32*b3783300SRobert MustacchiTranslating JEDEC vendor IDs to a well-known vendor name
33*b3783300SRobert Mustacchi.It
34*b3783300SRobert MustacchiTranslating JEDEC temperature range names to their numeric range
35*b3783300SRobert Mustacchi.El
36*b3783300SRobert Mustacchi.Pp
37*b3783300SRobert MustacchiThis library is an uncommitted interface and API or ABI stability is not
38*b3783300SRobert Mustacchiguaranteed.
39*b3783300SRobert Mustacchi.Ss SPD Parsing
40*b3783300SRobert MustacchiMost DDR DIMM modules embed information about them which describes the
41*b3783300SRobert Mustacchitiming, size and orientation, and manufacturing information of the
42*b3783300SRobert Mustacchidevice.
43*b3783300SRobert MustacchiThe encoding of this information changes with each generation of the DDR
44*b3783300SRobert Mustacchidevices and has its own format.
45*b3783300SRobert MustacchiThe library attempts to normalize information across generations where
46*b3783300SRobert Mustacchipossible.
47*b3783300SRobert Mustacchi.Pp
48*b3783300SRobert MustacchiThe function
49*b3783300SRobert Mustacchi.Xr libjedec_spd 3JEDEC
50*b3783300SRobert Mustacchiprovides an interface to parse a full data payload into a
51*b3783300SRobert Mustacchi.Vt nvlist_t ,
52*b3783300SRobert Mustacchia name-value pair list usable with
53*b3783300SRobert Mustacchi.Xr libnvpair 3LIB .
54*b3783300SRobert Mustacchi.Ss Vendor ID Translation
55*b3783300SRobert MustacchiJEDEC Vendor IDs come as a pair of a continuation number and an index
56*b3783300SRobert Mustacchiinto a block.
57*b3783300SRobert MustacchiThese are then translated into well-known names by the JEDEC standard
58*b3783300SRobert MustacchiJEP106
59*b3783300SRobert Mustacchi.Po
60*b3783300SRobert Mustacchi.%T Standard Manufacturer's Identification Code
61*b3783300SRobert Mustacchi.Pc .
62*b3783300SRobert MustacchiThis vendor information can be found in different contexts such as SPD
63*b3783300SRobert Mustacchidata, various SPI NOR and SPI NAND devices, SMBIOS, and more.
64*b3783300SRobert Mustacchi.Pp
65*b3783300SRobert MustacchiThe function
66*b3783300SRobert Mustacchi.Xr libjedec_vendor_string 3JEDEC
67*b3783300SRobert Mustacchiprovides the ability to translate the IDs to a well known name.
68*b3783300SRobert Mustacchi.Pp
69*b3783300SRobert MustacchiCurrently the library implements JEP106BH from September 2023.
70*b3783300SRobert Mustacchi.Ss Temperature Ranges
71*b3783300SRobert MustacchiMany JEDEC standards embed information about temperature ranges that
72*b3783300SRobert Mustacchicomponents support for the case operating temperature, the ambient air
73*b3783300SRobert Mustacchitemperature, and related.
74*b3783300SRobert MustacchiThese ranges are in turn defined in JESD402-1A
75*b3783300SRobert Mustacchi.Po
76*b3783300SRobert Mustacchi.%T Temperature Range and Measurement Standards for Components and Modules
77*b3783300SRobert Mustacchi.Pc .
78*b3783300SRobert Mustacchi.Pp
79*b3783300SRobert MustacchiThe function
80*b3783300SRobert Mustacchi.Xr libejdec_temp_range 3JEDEC
81*b3783300SRobert Mustacchiprovides a way to translate these named ranges into the corresponding
82*b3783300SRobert Mustacchilower and upper bounds of the range.
83*b3783300SRobert MustacchiWhen other parts of the library parse data, they will emit the
84*b3783300SRobert Mustacchitemperature range using the library's
85*b3783300SRobert Mustacchi.Vt libjedec_temp_range_t
86*b3783300SRobert Mustacchitype, which is defined in the aforementioned manual page.
87*b3783300SRobert Mustacchi.Sh INTERFACE STABILITY
88*b3783300SRobert Mustacchi.Sy Uncommitted
89*b3783300SRobert Mustacchi.Pp
90*b3783300SRobert MustacchiThe interfaces in this library are currently designed for use for
91*b3783300SRobert Mustacchisoftware that is a part of illumos and are subject to change at any
92*b3783300SRobert Mustacchitime.
93*b3783300SRobert MustacchiThey are documented as an aid to developers and no API or ABI stability
94*b3783300SRobert Mustacchiis currently intended, though it is not expected to change dramatically.
95*b3783300SRobert Mustacchi.Sh MT-LEVEL
96*b3783300SRobert Mustacchi.Sy MT-Safe
97*b3783300SRobert Mustacchi.Pp
98*b3783300SRobert MustacchiWhile all functions in this library are currently
99*b3783300SRobert Mustacchi.Sy MT-Safe ,
100*b3783300SRobert Mustacchithere is no guarantee that this will apply to future functions.
101*b3783300SRobert Mustacchi.Sh SEE ALSO
102*b3783300SRobert Mustacchi.Xr libjedec_spd 3JEDEC ,
103*b3783300SRobert Mustacchi.Xr libjedec_temp_range 3JEDEC ,
104*b3783300SRobert Mustacchi.Xr libjedev_vendor_string 3JEDEC
105*b3783300SRobert Mustacchi.Pp
106*b3783300SRobert Mustacchi.Rs
107*b3783300SRobert Mustacchi.%Q JEDEC Solid State Technology Association
108*b3783300SRobert Mustacchi.%T Standard Manufacturer's Identification Code
109*b3783300SRobert Mustacchi.%N JEP106BH
110*b3783300SRobert Mustacchi.%D September 2023
111*b3783300SRobert Mustacchi.Re
112*b3783300SRobert Mustacchi.Rs
113*b3783300SRobert Mustacchi.%Q JEDEC Solid State Technology Association
114*b3783300SRobert Mustacchi.%T Temperature Range and Measurement Standards for Components and Modules
115*b3783300SRobert Mustacchi.%N JESD402-1A
116*b3783300SRobert Mustacchi.%D March 2022
117*b3783300SRobert Mustacchi.Re
118*b3783300SRobert Mustacchi.Rs
119*b3783300SRobert Mustacchi.%Q JEDEC Solid State Technology Association
120*b3783300SRobert Mustacchi.%T Serial Presence Detect (SPD), General Standard
121*b3783300SRobert Mustacchi.%N 21-C
122*b3783300SRobert Mustacchi.Re
123*b3783300SRobert Mustacchi.Rs
124*b3783300SRobert Mustacchi.%Q JEDEC Solid State Technology Association
125*b3783300SRobert Mustacchi.%T DDR5 Serial Presence Detect (SPD) Contents
126*b3783300SRobert Mustacchi.%N JESD400-5A.01
127*b3783300SRobert Mustacchi.%D January 2023
128*b3783300SRobert Mustacchi.Re
129