JEDEC_DIMM(4) | Device Drivers Manual | JEDEC_DIMM(4) |
jedec_dimm
—
report asset information and temperatures for JEDEC DDR3 /
DDR4 DIMMs
device jedec_dimm
device smbus
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
jedec_dimm_load="YES"
Addressing information must be manually specified in /boot/device.hints:
hint.jedec_dimm.0.at="smbus0"
hint.jedec_dimm.0.addr="0xa0"
hint.jedec_dimm.0.slotid="Silkscreen"
The jedec_dimm
driver reports asset
information (Part Number, Serial Number) encoded in the “Serial
Presence Detect” (SPD) data on JEDEC DDR3 and DDR4 DIMMs. It also
calculates and reports the memory capacity of the DIMM, in megabytes. If the
DIMM includes a “Thermal Sensor On DIMM” (TSOD), the
temperature is also reported.
The jedec_dimm
driver accesses the SPD and
TSOD over the smbus(4).
The data is reported via a sysctl(8) interface; all values are read-only:
These values are configurable for
jedec_dimm
via
device.hints(5):
If the DIMMs are on an I2C bus behind an iicbus(4) controller, then the iicsmb(4) bridge driver can be used to attach the smbus(4).
Consider two DDR4 DIMMs with the following hints:
hint.jedec_dimm.0.at="smbus0" hint.jedec_dimm.0.addr="0xa0" hint.jedec_dimm.0.slotid="A1" hint.jedec_dimm.6.at="smbus1" hint.jedec_dimm.6.addr="0xa8"
Their sysctl(8) output (sorted):
dev.jedec_dimm.0.%desc: DDR4 DIMM w/ Atmel TSOD (A1) dev.jedec_dimm.0.%driver: jedec_dimm dev.jedec_dimm.0.%location: addr=0xa0 dev.jedec_dimm.0.%parent: smbus0 dev.jedec_dimm.0.%pnpinfo: dev.jedec_dimm.0.capacity: 16384 dev.jedec_dimm.0.part: 36ASF2G72PZ-2G1A2 dev.jedec_dimm.0.serial: 0ea815de dev.jedec_dimm.0.slotid: A1 dev.jedec_dimm.0.temp: 32.7C dev.jedec_dimm.0.type: DDR4 dev.jedec_dimm.6.%desc: DDR4 DIMM w/ TSE2004av compliant TSOD dev.jedec_dimm.6.%driver: jedec_dimm dev.jedec_dimm.6.%location: addr=0xa8 dev.jedec_dimm.6.%parent: smbus1 dev.jedec_dimm.6.%pnpinfo: dev.jedec_dimm.6.capacity: 8192 dev.jedec_dimm.6.part: VRA9MR8B2H1603 dev.jedec_dimm.6.serial: 0c4c46ad dev.jedec_dimm.6.temp: 43.1C dev.jedec_dimm.6.type: DDR4
jedec_dimm
implements a superset of the
functionality of the now-deleted jedec_ts(4). Hints for
jedec_ts(4) can be mechanically converted for use with
jedec_dimm
. Two changes are required:
The following sed(1) script will perform the necessary changes:
sed -i ".old" -e 's/jedec_ts/jedec_dimm/' \ -e '/jedec_dimm/s/addr="0x3/addr="0xa/' /boot/device.hints
(DDR3 SPD) JEDEC, Standard 21-C, Annex K.
(DDR3 TSOD) JEDEC, Standard 21-C, TSE2002av.
(DDR4 SPD) JEDEC, Standard 21-C, Annex L.
(DDR4 TSOD) JEDEC, Standard 21-C, TSE2004av.
The jedec_dimm
driver first appeared in
FreeBSD 12.0.
The jedec_dimm
driver and this manual page
were written by Ravi Pokala
<rpokala@freebsd.org>.
They are both based in part on the now-deleted jedec_ts(4)
driver and manual page, written by Andriy Gapon
<avg@FreeBSD.org>.
July 31, 2018 | Debian |