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