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