xref: /illumos-gate/usr/src/man/man3lib/libjedec.3lib (revision 8119dad84d6416f13557b0ba8e2aaf9064cbcfd3)
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.\" Copyright 2024 Oxide Computer Company
13.\"
14.Dd September 2, 2024
15.Dt LIBJEDEC 3JEDEC
16.Os
17.Sh NAME
18.Nm libjedec
19.Nd JEDEC support library
20.Sh LIBRARY
21.Lb libjedec
22.In libjedec.h
23.Sh DESCRIPTION
24The
25.Nm
26library provides consumers access to several different classes of
27functions that are related to various JEDEC standards including:
28.Bl -bullet -width Ds
29.It
30Parsing Serial Presence Data (SPD) commonly found in DIMM modules
31.It
32Translating JEDEC vendor IDs to a well-known vendor name
33.It
34Translating JEDEC temperature range names to their numeric range
35.El
36.Pp
37This library is an uncommitted interface and API or ABI stability is not
38guaranteed.
39.Ss SPD Parsing
40Most DDR DIMM modules embed information about them which describes the
41timing, size and orientation, and manufacturing information of the
42device.
43The encoding of this information changes with each generation of the DDR
44devices and has its own format.
45The library attempts to normalize information across generations where
46possible.
47.Pp
48The function
49.Xr libjedec_spd 3JEDEC
50provides an interface to parse a full data payload into a
51.Vt nvlist_t ,
52a name-value pair list usable with
53.Xr libnvpair 3LIB .
54.Pp
55Currently DDR3, DDR4, DDR5, LPDDR3, LPDDR4, LPDDR4X, LPDDR5, and LPDDR5X
56are supported.
57.Ss Vendor ID Translation
58JEDEC Vendor IDs come as a pair of a continuation number and an index
59into a block.
60These are then translated into well-known names by the JEDEC standard
61JEP106
62.Po
63.%T Standard Manufacturer's Identification Code
64.Pc .
65This vendor information can be found in different contexts such as SPD
66data, various SPI NOR and SPI NAND devices, SMBIOS, and more.
67.Pp
68The function
69.Xr libjedec_vendor_string 3JEDEC
70provides the ability to translate the IDs to a well known name.
71.Pp
72Currently the library implements JEP106BH from September 2023.
73.Ss Temperature Ranges
74Many JEDEC standards embed information about temperature ranges that
75components support for the case operating temperature, the ambient air
76temperature, and related.
77These ranges are in turn defined in JESD402-1A
78.Po
79.%T Temperature Range and Measurement Standards for Components and Modules
80.Pc .
81.Pp
82The function
83.Xr libjedec_temp_range 3JEDEC
84provides a way to translate these named ranges into the corresponding
85lower and upper bounds of the range.
86When other parts of the library parse data, they will emit the
87temperature range using the library's
88.Vt libjedec_temp_range_t
89type, which is defined in the aforementioned manual page.
90.Sh INTERFACE STABILITY
91.Sy Uncommitted
92.Pp
93The interfaces in this library are currently designed for use for
94software that is a part of illumos and are subject to change at any
95time.
96They are documented as an aid to developers and no API or ABI stability
97is currently intended, though it is not expected to change dramatically.
98.Sh MT-LEVEL
99.Sy MT-Safe
100.Pp
101While all functions in this library are currently
102.Sy MT-Safe ,
103there is no guarantee that this will apply to future functions.
104.Sh SEE ALSO
105.Xr libjedec_spd 3JEDEC ,
106.Xr libjedec_temp_range 3JEDEC ,
107.Xr libjedec_vendor_string 3JEDEC
108.Pp
109.Rs
110.%Q JEDEC Solid State Technology Association
111.%T Standard Manufacturer's Identification Code
112.%N JEP106BH
113.%D September 2023
114.Re
115.Rs
116.%Q JEDEC Solid State Technology Association
117.%T Temperature Range and Measurement Standards for Components and Modules
118.%N JESD402-1A
119.%D March 2022
120.Re
121.Rs
122.%Q JEDEC Solid State Technology Association
123.%T Serial Presence Detect (SPD), General Standard
124.%N 21-C
125.Re
126.Rs
127.%Q JEDEC Solid State Technology Association
128.%T DDR5 Serial Presence Detect (SPD) Contents
129.%N JESD400-5B Document Release 1.2
130.%D October 2023
131.Re
132.Rs
133.%Q JEDEC Solid State Technology Association
134.%T LPDDR5/5X Serial Presence Detect (SPD) Contents
135.%N JESD406-5 Document Release 1.0
136.%D June 2024
137.Re
138