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