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