- Update to version 3.1.1:

* Includes 13 packports we aleady had
  * Some additional fixes to decode-dimms
  * New manual pages for decode-dimms, decode-vaio and eeprog
  * i2c-stub-from-dump tolerance on input dump format was improved

OBS-URL: https://build.opensuse.org/package/show/Base:System/i2c-tools?expand=0&rev=29
This commit is contained in:
Jean Delvare 2014-02-20 16:39:31 +00:00 committed by Git OBS Bridge
parent fec73db6cf
commit 104d1bfd91
20 changed files with 25 additions and 579 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:960023f61de292c6dd757fcedec4bffa7dd036e8594e24b26a706094ca4c142a
size 66840

Binary file not shown.

3
i2c-tools-3.1.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:14d4d7d60d1c12e43f2befe239c682a5c44c27682f153d4b58c1e392d2db1700
size 71789

BIN
i2c-tools-3.1.1.tar.bz2.sig Normal file

Binary file not shown.

View File

@ -9,16 +9,7 @@ https://github.com/SUSE/hackweek/wiki/DDR3-SPD-Information-Decoding
--- a/eeprom/decode-dimms --- a/eeprom/decode-dimms
+++ b/eeprom/decode-dimms +++ b/eeprom/decode-dimms
@@ -5,7 +5,7 @@ @@ -1186,36 +1186,137 @@ sub decode_ddr2_sdram($)
# Copyright 1998, 1999 Philip Edelbrock <phil@netroedge.com>
# modified by Christian Zuckschwerdt <zany@triq.net>
# modified by Burkart Lingner <burkart@bollchen.de>
-# Copyright (C) 2005-2011 Jean Delvare <khali@linux-fr.org>
+# Copyright (C) 2005-2013 Jean Delvare <khali@linux-fr.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -1176,36 +1176,137 @@ sub decode_ddr2_sdram($)
printl("PLL Relock Time", $bytes->[46] . " us") if ($bytes->[46]); printl("PLL Relock Time", $bytes->[46] . " us") if ($bytes->[46]);
} }
@ -171,7 +162,7 @@ https://github.com/SUSE/hackweek/wiki/DDR3-SPD-Information-Decoding
my $ddrclk = 2 * (1000 / $ctime); my $ddrclk = 2 * (1000 / $ctime);
my $tbits = 1 << (($bytes->[8] & 7) + 3); my $tbits = 1 << (($bytes->[8] & 7) + 3);
my $pcclk = int ($ddrclk * $tbits / 8); my $pcclk = int ($ddrclk * $tbits / 8);
@@ -1237,17 +1338,16 @@ sub decode_ddr3_sdram($) @@ -1249,17 +1350,16 @@ sub decode_ddr3_sdram($)
my $trp; my $trp;
my $tras; my $tras;
@ -194,7 +185,7 @@ https://github.com/SUSE/hackweek/wiki/DDR3-SPD-Information-Decoding
my $cas_sup = ($bytes->[15] << 8) + $bytes->[14]; my $cas_sup = ($bytes->[15] << 8) + $bytes->[14];
for ($ii = 0; $ii < 15; $ii++) { for ($ii = 0; $ii < 15; $ii++) {
if ($cas_sup & (1 << $ii)) { if ($cas_sup & (1 << $ii)) {
@@ -1257,14 +1357,38 @@ sub decode_ddr3_sdram($) @@ -1269,14 +1369,38 @@ sub decode_ddr3_sdram($)
} }
printl("Supported CAS Latencies (tCL)", cas_latencies(keys %cas)); printl("Supported CAS Latencies (tCL)", cas_latencies(keys %cas));
@ -234,7 +225,7 @@ https://github.com/SUSE/hackweek/wiki/DDR3-SPD-Information-Decoding
printl("Minimum Recovery Delay (tRFC)", printl("Minimum Recovery Delay (tRFC)",
tns3((($bytes->[25] << 8) + $bytes->[24]) * $mtb)); tns3((($bytes->[25] << 8) + $bytes->[24]) * $mtb));
printl("Minimum Write to Read CMD Delay (tWTR)", printl("Minimum Write to Read CMD Delay (tWTR)",
@@ -1300,43 +1424,31 @@ sub decode_ddr3_sdram($) @@ -1312,43 +1436,31 @@ sub decode_ddr3_sdram($)
($bytes->[31] & 8) ? "Yes" : "No"); ($bytes->[31] & 8) ? "Yes" : "No");
printl("Partial Array Self-Refresh?", printl("Partial Array Self-Refresh?",
($bytes->[31] & 128) ? "Yes" : "No"); ($bytes->[31] & 128) ? "Yes" : "No");
@ -245,6 +236,7 @@ https://github.com/SUSE/hackweek/wiki/DDR3-SPD-Information-Decoding
- ($bytes->[33] & 128) ? sprintf($bytes->[33] & 127) : - ($bytes->[33] & 128) ? sprintf($bytes->[33] & 127) :
- "Standard Monolithic"); - "Standard Monolithic");
- if ($bytes->[3] >= 1 && $bytes->[3] <= 6) { - if ($bytes->[3] >= 1 && $bytes->[3] <= 6) {
-
+ printl("Module Thermal Sensor", + printl("Module Thermal Sensor",
+ ($bytes->[32] & 128) ? "Yes" : "No"); + ($bytes->[32] & 128) ? "Yes" : "No");
+ printl("SDRAM Device Type", ddr3_device_type($bytes->[33])); + printl("SDRAM Device Type", ddr3_device_type($bytes->[33]));
@ -252,7 +244,7 @@ https://github.com/SUSE/hackweek/wiki/DDR3-SPD-Information-Decoding
+ # Following bytes are type-specific, so don't continue if type + # Following bytes are type-specific, so don't continue if type
+ # isn't known. + # isn't known.
+ return if $bytes->[3] == 0 || $bytes->[3] > $#module_types; + return if $bytes->[3] == 0 || $bytes->[3] > $#module_types;
+
+ if ($module_types[$bytes->[3]]->{family} == DDR3_UNBUFFERED || + if ($module_types[$bytes->[3]]->{family} == DDR3_UNBUFFERED ||
+ $module_types[$bytes->[3]]->{family} == DDR3_REGISTERED || + $module_types[$bytes->[3]]->{family} == DDR3_REGISTERED ||
+ $module_types[$bytes->[3]]->{family} == DDR3_CLOCKED || + $module_types[$bytes->[3]]->{family} == DDR3_CLOCKED ||
@ -297,7 +289,7 @@ https://github.com/SUSE/hackweek/wiki/DDR3-SPD-Information-Decoding
prints("Registered DIMM"); prints("Registered DIMM");
my @rows = ("Undefined", 1, 2, 4); my @rows = ("Undefined", 1, 2, 4);
@@ -1347,17 +1459,27 @@ sub decode_ddr3_sdram($) @@ -1359,17 +1471,27 @@ sub decode_ddr3_sdram($)
printl("Register device type", printl("Register device type",
(($bytes->[68] & 7) == 0) ? "SSTE32882" : (($bytes->[68] & 7) == 0) ? "SSTE32882" :
"Undefined"); "Undefined");
@ -314,7 +306,7 @@ https://github.com/SUSE/hackweek/wiki/DDR3-SPD-Information-Decoding
+ printl_cond($bytes->[67] != 0xff, + printl_cond($bytes->[67] != 0xff,
+ "Register revision", ddr3_revision_number($bytes->[67])); + "Register revision", ddr3_revision_number($bytes->[67]));
+ printl("Heat spreader", $bytes->[64] & 0x80 ? "Yes" : "No"); + printl("Heat spreader", $bytes->[64] & 0x80 ? "Yes" : "No");
} + }
+ +
+ if ($module_types[$bytes->[3]]->{family} == DDR3_LOAD_REDUCED) { + if ($module_types[$bytes->[3]]->{family} == DDR3_LOAD_REDUCED) {
+ prints("Load Reduced DIMM"); + prints("Load Reduced DIMM");
@ -330,12 +322,12 @@ https://github.com/SUSE/hackweek/wiki/DDR3-SPD-Information-Decoding
+ printl_cond($bytes->[64] != 0xff, + printl_cond($bytes->[64] != 0xff,
+ "Buffer Revision", ddr3_revision_number($bytes->[64])); + "Buffer Revision", ddr3_revision_number($bytes->[64]));
+ printl("Heat spreader", $bytes->[63] & 0x80 ? "Yes" : "No"); + printl("Heat spreader", $bytes->[63] & 0x80 ? "Yes" : "No");
+ } }
+ +
} }
# Parameter: EEPROM bytes 0-127 (using 4-5) # Parameter: EEPROM bytes 0-127 (using 4-5)
@@ -1458,26 +1580,23 @@ sub decode_ddr3_mfg_data($) @@ -1470,26 +1592,23 @@ sub decode_ddr3_mfg_data($)
printl("Module Manufacturer", printl("Module Manufacturer",
manufacturer_ddr3($bytes->[117], $bytes->[118])); manufacturer_ddr3($bytes->[117], $bytes->[118]));

View File

@ -1,45 +0,0 @@
Subject: decode-dimms: Don't choke when no EEPROM is found
Upstream: yes, r6063
Don't choke when no SPD EEPROM is found while the eeprom or at24 driver
is loaded. This can happen, handle the case gracefully.
---
eeprom/decode-dimms | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
--- i2c-tools-3.1.0.orig/eeprom/decode-dimms
+++ i2c-tools-3.1.0/eeprom/decode-dimms
@@ -1728,7 +1728,7 @@ sub sysfs_device_attribute
sub get_dimm_list
{
- my (@dirs, $dir, $file, @files);
+ my (@dirs, $dir, $opened, $file, @files);
if ($use_sysfs) {
@dirs = ('/sys/bus/i2c/drivers/eeprom', '/sys/bus/i2c/drivers/at24');
@@ -1738,6 +1738,7 @@ sub get_dimm_list
foreach $dir (@dirs) {
next unless opendir(local *DIR, $dir);
+ $opened++;
while (defined($file = readdir(DIR))) {
if ($use_sysfs) {
# We look for I2C devices like 0-0050 or 2-0051
@@ -1758,12 +1759,12 @@ sub get_dimm_list
close(DIR);
}
- if (@files) {
- return sort { $a->{file} cmp $b->{file} } @files;
- } elsif (! -d '/sys/module/eeprom') {
- print "No EEPROM found, are you sure the eeprom module is loaded?\n";
+ if (!$opened) {
+ print STDERR "No EEPROM found, try loading the eeprom or at24 module\n";
exit;
}
+
+ return sort { $a->{file} cmp $b->{file} } @files;
}
# @dimm is a list of hashes. There's one hash for each EEPROM we found.

View File

@ -1,152 +0,0 @@
Subject: decode-dimms: Update vendor list
Upstream: yes, r6106, r6156
Update vendor list based on Jedec document JEP106AG. Contributed by
Thomas Gibson.
---
eeprom/decode-dimms | 69 ++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 56 insertions(+), 13 deletions(-)
--- i2c-tools-3.1.0.orig/eeprom/decode-dimms
+++ i2c-tools-3.1.0/eeprom/decode-dimms
@@ -63,17 +63,17 @@ $revision =~ s/ \([^()]*\)//;
"Lattice Semi.", "NCR", "Wafer Scale Integration", "IBM",
"Tristar", "Visic", "Intl. CMOS Technology", "SSSI",
"MicrochipTechnology", "Ricoh Ltd.", "VLSI", "Micron Technology",
- "Hyundai Electronics", "OKI Semiconductor", "ACTEL", "Sharp",
+ "Hynix Semiconductor Inc. (former Hyundai Electronics)", "OKI Semiconductor", "ACTEL", "Sharp",
"Catalyst", "Panasonic", "IDT", "Cypress",
"DEC", "LSI Logic", "Zarlink (former Plessey)", "UTMC",
"Thinking Machine", "Thomson CSF", "Integrated CMOS (Vertex)", "Honeywell",
- "Tektronix", "Sun Microsystems", "SST", "ProMos/Mosel Vitelic",
+ "Tektronix", "Oracle Corporation (former Sun Microsystems)", "Silicon Storage Technology", "ProMos/Mosel Vitelic",
"Infineon (former Siemens)", "Macronix", "Xerox", "Plus Logic",
"SunDisk", "Elan Circuit Tech.", "European Silicon Str.", "Apple Computer",
"Xilinx", "Compaq", "Protocol Engines", "SCI",
"Seiko Instruments", "Samsung", "I3 Design System", "Klic",
"Crosspoint Solutions", "Alliance Semiconductor", "Tandem", "Hewlett-Packard",
- "Intg. Silicon Solutions", "Brooktree", "New Media", "MHS Electronic",
+ "Integrated Silicon Solutions", "Brooktree", "New Media", "MHS Electronic",
"Performance Semi.", "Winbond Electronic", "Kawasaki Steel", "Bright Micro",
"TECMAR", "Exar", "PCMCIA", "LG Semi (former Goldstar)",
"Northern Telecom", "Sanyo", "Array Microsystems", "Crystal Semiconductor",
@@ -83,7 +83,7 @@ $revision =~ s/ \([^()]*\)//;
"Sony", "Cray Research", "AMS(Austria Micro)", "Vitesse",
"Aster Electronics", "Bay Networks (Synoptic)", "Zentrum or ZMD", "TRW",
"Thesys", "Solbourne Computer", "Allied-Signal", "Dialog",
- "Media Vision", "Level One Communication"],
+ "Media Vision", "Numonyx Corporation (former Level One Communication)"],
["Cirrus Logic", "National Instruments", "ILC Data Device", "Alcatel Mietec",
"Micro Linear", "Univ. of NC", "JTAG Technologies", "BAE Systems",
"Nchip", "Galileo Tech", "Bestlink Systems", "Graychip",
@@ -118,7 +118,7 @@ $revision =~ s/ \([^()]*\)//;
"Quadratics Superconductor", "3COM"],
["Camintonn Corporation", "ISOA Incorporated", "Agate Semiconductor", "ADMtek Incorporated",
"HYPERTEC", "Adhoc Technologies", "MOSAID Technologies", "Ardent Technologies",
- "Switchcore", "Cisco Systems, Inc.", "Allayer Technologies", "WorkX AG",
+ "Switchcore", "Cisco Systems, Inc.", "Allayer Technologies", "WorkX AG (Wichman)",
"Oasis Semiconductor", "Novanet Semiconductor", "E-M Solutions", "Power General",
"Advanced Hardware Arch.", "Inova Semiconductors GmbH", "Telocity", "Delkin Devices",
"Symagery Microsystems", "C-Port Corporation", "SiberCore Technologies", "Southland Microsystems",
@@ -128,7 +128,7 @@ $revision =~ s/ \([^()]*\)//;
"Chameleon Systems", "Aplus Flash Technology", "MIPS Technologies", "Chrysalis ITS",
"ADTEC Corporation", "Kentron Technologies", "Win Technologies", "Tachyon Semiconductor (former ASIC Designs Inc.)",
"Extreme Packet Devices", "RF Micro Devices", "Siemens AG", "Sarnoff Corporation",
- "Itautec Philco SA", "Radiata Inc.", "Benchmark Elect. (AVEX)", "Legend",
+ "Itautec SA (former Itautec Philco SA)", "Radiata Inc.", "Benchmark Elect. (AVEX)", "Legend",
"SpecTek Incorporated", "Hi/fn", "Enikia Incorporated", "SwitchOn Networks",
"AANetcom Incorporated", "Micro Memory Bank", "ESS Technology", "Virata Corporation",
"Excess Bandwidth", "West Bay Semiconductor", "DSP Group", "Newport Communications",
@@ -170,26 +170,26 @@ $revision =~ s/ \([^()]*\)//;
"PLX Technology", "Massana Design", "Intrinsity", "Valence Semiconductor",
"Terawave Communications", "IceFyre Semiconductor", "Primarion", "Picochip Designs Ltd",
"Silverback Systems", "Jade Star Technologies", "Pijnenburg Securealink",
- "TakeMS International AG", "Cambridge Silicon Radio",
+ "takeMS - Ultron AG (former Memorysolution GmbH)", "Cambridge Silicon Radio",
"Swissbit", "Nazomi Communications", "eWave System",
"Rockwell Collins", "Picocel Co., Ltd.", "Alphamosaic Ltd", "Sandburst",
"SiCon Video", "NanoAmp Solutions", "Ericsson Technology", "PrairieComm",
"Mitac International", "Layer N Networks", "MtekVision", "Allegro Networks",
"Marvell Semiconductors", "Netergy Microelectronic", "NVIDIA", "Internet Machines",
"Peak Electronics", "Litchfield Communication", "Accton Technology", "Teradiant Networks",
- "Europe Technologies", "Cortina Systems", "RAM Components", "Raqia Networks",
+ "Scaleo Chip (former Europe Technologies)", "Cortina Systems", "RAM Components", "Raqia Networks",
"ClearSpeed", "Matsushita Battery", "Xelerated", "SimpleTech",
"Utron Technology", "Astec International", "AVM gmbH", "Redux Communications",
"Dot Hill Systems", "TeraChip"],
["T-RAM Incorporated", "Innovics Wireless", "Teknovus", "KeyEye Communications",
"Runcom Technologies", "RedSwitch", "Dotcast", "Silicon Mountain Memory",
"Signia Technologies", "Pixim", "Galazar Networks", "White Electronic Designs",
- "Patriot Scientific", "Neoaxiom Corporation", "3Y Power Technology", "Europe Technologies",
+ "Patriot Scientific", "Neoaxiom Corporation", "3Y Power Technology", "Scaleo Chip (former Europe Technologies)",
"Potentia Power Systems", "C-guys Incorporated", "Digital Communications Technology Incorporated", "Silicon-Based Technology",
"Fulcrum Microsystems", "Positivo Informatica Ltd", "XIOtech Corporation", "PortalPlayer",
- "Zhiying Software", "Direct2Data", "Phonex Broadband", "Skyworks Solutions",
+ "Zhiying Software", "Parker Vision, Inc. (former Direct2Data)", "Phonex Broadband", "Skyworks Solutions",
"Entropic Communications", "Pacific Force Technology", "Zensys A/S", "Legend Silicon Corp.",
- "sci-worx GmbH", "SMSC (former Oasis Silicon Systems)", "Renesas Technology", "Raza Microelectronics",
+ "sci-worx GmbH", "SMSC (former Oasis Silicon Systems)", "Renesas Electronics (former Renesas Technology)", "Raza Microelectronics",
"Phyworks", "MediaTek", "Non-cents Productions", "US Modular",
"Wintegra Ltd", "Mathstar", "StarCore", "Oplus Technologies",
"Mindspeed", "Just Young Computer", "Radia Communications", "OCZ",
@@ -220,7 +220,7 @@ $revision =~ s/ \([^()]*\)//;
"g2 Microsystems", "PowerFlash Semiconductor", "P.A. Semi, Inc.", "NovaTech Solutions, S.A.",
"c2 Microsystems, Inc.", "Level5 Networks", "COS Memory AG", "Innovasic Semiconductor",
"02IC Co. Ltd", "Tabula, Inc.", "Crucial Technology", "Chelsio Communications",
- "Solarflare Communications", "Xambala Inc.", "EADS Astrium", "ATO Semicon Co. Ltd.",
+ "Solarflare Communications", "Xambala Inc.", "EADS Astrium", "Terra Semiconductor Inc. (former ATO Semicon Co. Ltd.)",
"Imaging Works, Inc.", "Astute Networks, Inc.", "Tzero", "Emulex",
"Power-One", "Pulse~LINK Inc.", "Hon Hai Precision Industry", "White Rock Networks Inc.",
"Telegent Systems USA, Inc.", "Atrua Technologies, Inc.", "Acbel Polytech Inc.",
@@ -250,7 +250,50 @@ $revision =~ s/ \([^()]*\)//;
"Tec-Hill", "Multigig, Inc.", "Amimon", "Euphonic Technologies, Inc.", "BRN Phoenix",
"InSilica", "Ember Corporation", "Avexir Technologies Corporation", "Echelon Corporation",
"Edgewater Computer Systems", "XMOS Semiconductor Ltd.", "GENUSION, Inc.", "Memory Corp NV",
- "SiliconBlue Technologies", "Rambus Inc."]);
+ "SiliconBlue Technologies", "Rambus Inc.", "Andes Technology Corporation", "Coronis Systems",
+ "Achronix Semiconductor", "Siano Mobile Silicon Ltd.", "Semtech Corporation", "Pixelworks Inc.",
+ "Gaisler Research AB", "Teranetics", "Toppan Printing Co. Ltd.", "Kingxcon",
+ "Silicon Integrated Systems", "I-O Data Device, Inc.", "NDS Americas Inc.", "Solomon Systech Limited",
+ "On Demand Microelectronics", "Amicus Wireless Inc.", "SMARDTV SNC", "Comsys Communication Ltd.",
+ "Movidia Ltd.", "Javad GNSS, Inc.", "Montage Technology Group", "Trident Microsystems", "Super Talent",
+ "Optichron, Inc.", "Future Waves UK Ltd.", "SiBEAM, Inc.", "Inicore, Inc.", "Virident Systems",
+ "M2000, Inc.", "ZeroG Wireless, Inc.", "Gingle Technology Co. Ltd.", "Space Micro Inc.", "Wilocity",
+ "Novafora, Inc.", "iKoa Corporation", "ASint Technology", "Ramtron", "Plato Networks Inc.",
+ "IPtronics AS", "Infinite-Memories", "Parade Technologies Inc.", "Dune Networks",
+ "GigaDevice Semiconductor", "Modu Ltd.", "CEITEC", "Northrop Grumman", "XRONET Corporation",
+ "Sicon Semiconductor AB", "Atla Electronics Co. Ltd.", "TOPRAM Technology", "Silego Technology Inc.",
+ "Kinglife", "Ability Industries Ltd.", "Silicon Power Computer & Communications",
+ "Augusta Technology, Inc.", "Nantronics Semiconductors", "Hilscher Gesellschaft", "Quixant Ltd.",
+ "Percello Ltd.", "NextIO Inc.", "Scanimetrics Inc.", "FS-Semi Company Ltd.", "Infinera Corporation",
+ "SandForce Inc.", "Lexar Media", "Teradyne Inc.", "Memory Exchange Corp.", "Suzhou Smartek Electronics",
+ "Avantium Corporation", "ATP Electronics Inc.", "Valens Semiconductor Ltd", "Agate Logic, Inc.",
+ "Netronome", "Zenverge, Inc.", "N-trig Ltd", "SanMax Technologies Inc.", "Contour Semiconductor Inc.",
+ "TwinMOS", "Silicon Systems, Inc.", "V-Color Technology Inc.", "Certicom Corporation", "JSC ICC Milandr",
+ "PhotoFast Global Inc.", "InnoDisk Corporation", "Muscle Power", "Energy Micro", "Innofidei",
+ "CopperGate Communications", "Holtek Semiconductor Inc.", "Myson Century, Inc.", "FIDELIX",
+ "Red Digital Cinema", "Densbits Technology", "Zempro", "MoSys", "Provigent", "Triad Semiconductor, Inc."],
+["Siklu Communication Ltd.", "A Force Manufacturing Ltd.", "Strontium", "Abilis Systems", "Siglead, Inc.",
+ "Ubicom, Inc.", "Unifosa Corporation", "Stretch, Inc.", "Lantiq Deutschland GmbH", "Visipro",
+ "EKMemory", "Microelectronics Institute ZTE", "Cognovo Ltd.", "Carry Technology Co. Ltd.", "Nokia",
+ "King Tiger Technology", "Sierra Wireless", "HT Micron", "Albatron Technology Co. Ltd.",
+ "Leica Geosystems AG", "BroadLight", "AEXEA", "ClariPhy Communications, Inc.", "Green Plug",
+ "Design Art Networks", "Mach Xtreme Technology Ltd.", "ATO Solutions Co. Ltd.", "Ramsta",
+ "Greenliant Systems, Ltd.", "Teikon", "Antec Hadron", "NavCom Technology, Inc.",
+ "Shanghai Fudan Microelectronics", "Calxeda, Inc.", "JSC EDC Electronics", "Kandit Technology Co. Ltd.",
+ "Ramos Technology", "Goldenmars Technology", "XeL Technology Inc.", "Newzone Corporation",
+ "ShenZhen MercyPower Tech", "Nanjing Yihuo Technology", "Nethra Imaging Inc.", "SiTel Semiconductor BV",
+ "SolidGear Corporation", "Topower Computer Ind Co Ltd.", "Wilocity", "Profichip GmbH",
+ "Gerad Technologies", "Ritek Corporation", "Gomos Technology Limited", "Memoright Corporation",
+ "D-Broad, Inc.", "HiSilicon Technologies", "Syndiant Inc.", "Enverv Inc.", "Cognex",
+ "Xinnova Technology Inc.", "Ultron AG", "Concord Idea Corporation", "AIM Corporation",
+ "Lifetime Memory Products", "Ramsway", "Recore Systems BV", "Haotian Jinshibo Science Tech",
+ "Being Advanced Memory", "Adesto Technologies", "Giantec Semiconductor, Inc.", "HMD Electronics AG",
+ "Gloway International (HK)", "Kingcore", "Anucell Technology Holding",
+ "Accord Software & Systems Pvt. Ltd.", "Active-Semi Inc.", "Denso Corporation", "TLSI Inc.",
+ "Shenzhen Daling Electronic Co. Ltd.", "Mustang", "Orca Systems", "Passif Semiconductor",
+ "GigaDevice Semiconductor (Beijing) Inc.", "Memphis Electronic", "Beckhoff Automation GmbH",
+ "Harmony Semiconductor Corp (former ProPlus Design Solutions)", "Air Computers SRL", "TMT Memory"]
+);
$use_sysfs = -d '/sys/bus';

View File

@ -1,32 +0,0 @@
Subject: decode-dimms: Update vendor list
Upstream: yes, r6107
Add manufacturer names from Jedec document JEP106AJ.
---
eeprom/decode-dimms | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
--- i2c-tools-3.1.0.orig/eeprom/decode-dimms
+++ i2c-tools-3.1.0/eeprom/decode-dimms
@@ -63,7 +63,7 @@ $revision =~ s/ \([^()]*\)//;
"Lattice Semi.", "NCR", "Wafer Scale Integration", "IBM",
"Tristar", "Visic", "Intl. CMOS Technology", "SSSI",
"MicrochipTechnology", "Ricoh Ltd.", "VLSI", "Micron Technology",
- "Hynix Semiconductor Inc. (former Hyundai Electronics)", "OKI Semiconductor", "ACTEL", "Sharp",
+ "SK Hynix (former Hyundai Electronics)", "OKI Semiconductor", "ACTEL", "Sharp",
"Catalyst", "Panasonic", "IDT", "Cypress",
"DEC", "LSI Logic", "Zarlink (former Plessey)", "UTMC",
"Thinking Machine", "Thomson CSF", "Integrated CMOS (Vertex)", "Honeywell",
@@ -292,7 +292,11 @@ $revision =~ s/ \([^()]*\)//;
"Accord Software & Systems Pvt. Ltd.", "Active-Semi Inc.", "Denso Corporation", "TLSI Inc.",
"Shenzhen Daling Electronic Co. Ltd.", "Mustang", "Orca Systems", "Passif Semiconductor",
"GigaDevice Semiconductor (Beijing) Inc.", "Memphis Electronic", "Beckhoff Automation GmbH",
- "Harmony Semiconductor Corp (former ProPlus Design Solutions)", "Air Computers SRL", "TMT Memory"]
+ "Harmony Semiconductor Corp (former ProPlus Design Solutions)", "Air Computers SRL", "TMT Memory",
+ "Eorex Corporation", "Xingtera", "Netsol", "Bestdon Technology Co. Ltd.", "Baysand Inc.",
+ "Uroad Technology Co. Ltd. (former Triple Grow Industrial Ltd.)", "Wilk Elektronik S.A.",
+ "AAI", "Harman", "Berg Microelectronics Inc.", "ASSIA, Inc.", "Visiontek Products LLC",
+ "OCMEMORY", "Welink Solution Inc."]
);
$use_sysfs = -d '/sys/bus';

View File

@ -1,51 +0,0 @@
Subject: decode-dimms: Remove duplicate "ns" in SDR timings
Upstream: yes, r6108
Remove duplicate "ns" in SDR timings.
---
eeprom/decode-dimms | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
--- i2c-tools-3.1.0.orig/eeprom/decode-dimms
+++ i2c-tools-3.1.0/eeprom/decode-dimms
@@ -623,7 +623,7 @@ sub decode_sdr_sdram($)
my $ctime = ($bytes->[9] >> 4) + ($bytes->[9] & 0xf) * 0.1;
$trcd = $bytes->[29];
- $trp = $bytes->[27];;
+ $trp = $bytes->[27];
$tras = $bytes->[30];
printl("tCL-tRCD-tRP-tRAS",
@@ -720,7 +720,6 @@ sub decode_sdr_sdram($)
else {
$temp += 15 if $temp < 4;
$temp += ($bytes->[23] & 0xf) * 0.1;
- $temp .= " ns";
}
$cycle_time .= "\n$temp ns at CAS ".$cas[$#cas-1];
@@ -729,7 +728,6 @@ sub decode_sdr_sdram($)
else {
$temp += 15 if $temp < 4;
$temp += ($bytes->[24] & 0xf) * 0.1;
- $temp .= " ns";
}
$access_time .= "\n$temp ns at CAS ".$cas[$#cas-1];
}
@@ -739,7 +737,6 @@ sub decode_sdr_sdram($)
if ($temp == 0) { $temp = "Undefined!"; }
else {
$temp += ($bytes->[25] & 0x3) * 0.25;
- $temp .= " ns";
}
$cycle_time .= "\n$temp ns at CAS ".$cas[$#cas-2];
@@ -747,7 +744,6 @@ sub decode_sdr_sdram($)
if ($temp == 0) { $temp = "Undefined!"; }
else {
$temp += ($bytes->[26] & 0x3) * 0.25;
- $temp .= " ns";
}
$access_time .= "\n$temp ns at CAS ".$cas[$#cas-2];
}

View File

@ -1,22 +0,0 @@
Subject: decode-dimms: Fix decoding of SDR SPD revision
Upstream: yes, r6109
Fix decoding of SDR SPD revision. The encoding changed with
revision 1.2.
---
eeprom/decode-dimms | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- i2c-tools-3.1.0.orig/eeprom/decode-dimms
+++ i2c-tools-3.1.0/eeprom/decode-dimms
@@ -591,7 +591,9 @@ sub decode_sdr_sdram($)
my $temp;
# SPD revision
- printl("SPD Revision", $bytes->[62]);
+ # Starting with SPD revision 1.2, this byte is encoded in BCD
+ printl("SPD Revision", $bytes->[62] < 0x12 ? $bytes->[62] :
+ ($bytes->[62] >> 4) . "." . ($bytes->[62] & 0xf));
#size computation

View File

@ -1,40 +0,0 @@
Subject: i2cdetect: Clarify the SMBus commands used for probing by default
Upstream: yes, r6110
Clarify the SMBus commands used for probing by default.
---
tools/i2cdetect.8 | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
--- i2c-tools-3.1.0.orig/tools/i2cdetect.8
+++ i2c-tools-3.1.0/tools/i2cdetect.8
@@ -28,6 +28,12 @@ should correspond to one of the busses l
The optional parameters \fIfirst\fR and \fIlast\fR restrict the scanning
range (default: from 0x03 to 0x77).
.PP
+As there is no standard I2C detection command, i2cdetect uses arbitrary
+SMBus commands (namely SMBus quick write and SMBus receive byte) to probe
+for devices. By default, the command used is the one believed to be the
+safest for each address. See options \fI-q\fR and \fI-r\fR to change this
+behavior.
+.PP
i2cdetect can also be used to query the functionalities of an I2C bus
(see option \fB-F\fP.)
@@ -57,14 +63,12 @@ scripts.
Force scanning of non-regular addresses. Not recommended.
.TP
.B "\-q"
-Use SMBus "quick write" commands for probing (by default, the command
-used is the one believed to be the safest for each address).
+Use SMBus "quick write" command for probing.
Not recommended. This is known to corrupt the Atmel AT24RF08 EEPROM
found on many IBM Thinkpad laptops.
.TP
.B "\-r"
-Use SMBus "read byte" commands for probing (by default, the command
-used is the one believed to be the safest for each address).
+Use SMBus "receive byte" command for probing.
Not recommended. This is known to lock SMBus on various write-only
chips (most notably clock chips at address 0x69).
.TP

View File

@ -1,20 +0,0 @@
Subject: decode-dimms: Prevent hang on reserved DDR3 module type
Upstream: yes, r6121
Prevent hang on reserved DDR3 module type. Function sprint doesn't
exist, sprintf was intended.
---
eeprom/decode-dimms | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- i2c-tools-3.1.0.orig/eeprom/decode-dimms
+++ i2c-tools-3.1.0/eeprom/decode-dimms
@@ -1167,7 +1167,7 @@ sub decode_ddr3_sdram($)
printl("Module Type", ($bytes->[3] <= $#module_types) ?
$module_types[$bytes->[3]] :
- sprint("Reserved (0x%.2X)", $bytes->[3]));
+ sprintf("Reserved (0x%.2X)", $bytes->[3]));
# speed
prints("Memory Characteristics");

View File

@ -1,22 +0,0 @@
Subject: decode-dimms: Decode more DDR3 module types
Upstream: yes, r6122
Decode more DDR3 module types.
---
eeprom/decode-dimms | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- i2c-tools-3.1.0.orig/eeprom/decode-dimms
+++ i2c-tools-3.1.0/eeprom/decode-dimms
@@ -1163,7 +1163,10 @@ sub decode_ddr3_sdram($)
my $ctime;
my @module_types = ("Undefined", "RDIMM", "UDIMM", "SO-DIMM",
- "Micro-DIMM", "Mini-RDIMM", "Mini-UDIMM");
+ "Micro-DIMM", "Mini-RDIMM", "Mini-UDIMM",
+ "Mini-CDIMM", "72b-SO-UDIMM", "72b-SO-RDIMM",
+ "72b-SO-CDIMM", "LRDIMM", "16b-SO-DIMM",
+ "32b-SO-DIMM");
printl("Module Type", ($bytes->[3] <= $#module_types) ?
$module_types[$bytes->[3]] :

View File

@ -1,59 +0,0 @@
Subject: decode-dimms: Print a space before "MHz" to improve readability
Upstream: yes, r6151
Print a space before "MHz" to improve readability.
---
eeprom/decode-dimms | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
--- a/eeprom/decode-dimms
+++ b/eeprom/decode-dimms
@@ -842,7 +842,7 @@ sub decode_ddr_sdram($)
$pcclk += 100 if ($pcclk % 100) >= 50; # Round properly
$pcclk = $pcclk - ($pcclk % 100);
$ddrclk = int ($ddrclk);
- printl("Maximum module speed", "${ddrclk}MHz (PC${pcclk})");
+ printl("Maximum module speed", "$ddrclk MHz (PC${pcclk})");
#size computation
my $k = 0;
@@ -1031,7 +1031,7 @@ sub decode_ddr2_sdram($)
# Round down to comply with Jedec
$pcclk = $pcclk - ($pcclk % 100);
$ddrclk = int ($ddrclk);
- printl("Maximum module speed", "${ddrclk}MHz (PC2-${pcclk})");
+ printl("Maximum module speed", "$ddrclk MHz (PC2-${pcclk})");
#size computation
my $k = 0;
@@ -1189,7 +1189,7 @@ sub decode_ddr3_sdram($)
my $tbits = 1 << (($bytes->[8] & 7) + 3);
my $pcclk = int ($ddrclk * $tbits / 8);
$ddrclk = int ($ddrclk);
- printl("Maximum module speed", "${ddrclk}MHz (PC3-${pcclk})");
+ printl("Maximum module speed", "$ddrclk MHz (PC3-${pcclk})");
# Size computation
@@ -1494,9 +1494,9 @@ sub decode_intel_spec_freq($)
prints("Intel Specification");
- if ($bytes->[126] == 0x66) { $temp = "66MHz"; }
- elsif ($bytes->[126] == 100) { $temp = "100MHz or 133MHz"; }
- elsif ($bytes->[126] == 133) { $temp = "133MHz"; }
+ if ($bytes->[126] == 0x66) { $temp = "66 MHz"; }
+ elsif ($bytes->[126] == 100) { $temp = "100 MHz or 133 MHz"; }
+ elsif ($bytes->[126] == 133) { $temp = "133 MHz"; }
else { $temp = "Undefined!"; }
printl("Frequency", $temp);
@@ -1512,7 +1512,7 @@ sub decode_intel_spec_freq($)
if ($bytes->[127] & 128) { $temp .= "CLK 0 Connected\n"; }
if (($bytes->[127] & 192) == 192) { $temp .= "Double-sided DIMM\n"; }
elsif (($bytes->[127] & 192) != 0) { $temp .= "Single-sided DIMM\n"; }
- printl("Details for 100MHz Support", $temp);
+ printl("Details for 100 MHz Support", $temp);
}
# Read various hex dump style formats: hexdump, hexdump -C, i2cdump, eeprog

View File

@ -1,19 +0,0 @@
Subject: decode-dimms: Fix DDR3 tRAS decoding
Upstream: yes, r6152
DDR3: Use the right nibble from byte 21 as the MSB of tRAS.
---
eeprom/decode-dimms | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/eeprom/decode-dimms
+++ b/eeprom/decode-dimms
@@ -1217,7 +1217,7 @@ sub decode_ddr3_sdram($)
$taa = int($bytes->[16] / $bytes->[12]);
$trcd = int($bytes->[18] / $bytes->[12]);
$trp = int($bytes->[20] / $bytes->[12]);
- $tras = int((($bytes->[21] >> 4) * 256 + $bytes->[22]) / $bytes->[12]);
+ $tras = int(((($bytes->[21] & 0x0f) << 8) + $bytes->[22]) / $bytes->[12]);
printl("tCL-tRCD-tRP-tRAS", join("-", $taa, $trcd, $trp, $tras));

View File

@ -1,25 +0,0 @@
Subject: decode-dimms: Fix DDR3 core timings rounding
Upstream: yes, r6153
DDR3: Round core timings up, not down.
---
eeprom/decode-dimms | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--- a/eeprom/decode-dimms
+++ b/eeprom/decode-dimms
@@ -1214,10 +1214,10 @@ sub decode_ddr3_sdram($)
my $trp;
my $tras;
- $taa = int($bytes->[16] / $bytes->[12]);
- $trcd = int($bytes->[18] / $bytes->[12]);
- $trp = int($bytes->[20] / $bytes->[12]);
- $tras = int(((($bytes->[21] & 0x0f) << 8) + $bytes->[22]) / $bytes->[12]);
+ $taa = ceil($bytes->[16] / $bytes->[12]);
+ $trcd = ceil($bytes->[18] / $bytes->[12]);
+ $trp = ceil($bytes->[20] / $bytes->[12]);
+ $tras = ceil(((($bytes->[21] & 0x0f) << 8) + $bytes->[22]) / $bytes->[12]);
printl("tCL-tRCD-tRP-tRAS", join("-", $taa, $trcd, $trp, $tras));

View File

@ -1,19 +0,0 @@
Subject: decode-dimms: Round down PC3 numbers to comply with Jedec
Upstream: yes, r6154
DDR3: Round down PC3 numbers to comply with Jedec.
---
eeprom/decode-dimms | 2 ++
1 file changed, 2 insertions(+)
--- a/eeprom/decode-dimms
+++ b/eeprom/decode-dimms
@@ -1188,6 +1188,8 @@ sub decode_ddr3_sdram($)
my $ddrclk = 2 * (1000 / $ctime);
my $tbits = 1 << (($bytes->[8] & 7) + 3);
my $pcclk = int ($ddrclk * $tbits / 8);
+ # Round down to comply with Jedec
+ $pcclk = $pcclk - ($pcclk % 100);
$ddrclk = int ($ddrclk);
printl("Maximum module speed", "$ddrclk MHz (PC3-${pcclk})");

View File

@ -1,24 +0,0 @@
Subject: decode-dimms: Update vendor list
Upstream: yes, r6157, r6160
Add manufacturer names from Jedec document JEP106AK.
---
eeprom/decode-dimms | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
--- a/eeprom/decode-dimms
+++ b/eeprom/decode-dimms
@@ -296,7 +296,12 @@ $revision =~ s/ \([^()]*\)//;
"Eorex Corporation", "Xingtera", "Netsol", "Bestdon Technology Co. Ltd.", "Baysand Inc.",
"Uroad Technology Co. Ltd. (former Triple Grow Industrial Ltd.)", "Wilk Elektronik S.A.",
"AAI", "Harman", "Berg Microelectronics Inc.", "ASSIA, Inc.", "Visiontek Products LLC",
- "OCMEMORY", "Welink Solution Inc."]
+ "OCMEMORY", "Welink Solution Inc.", "Shark Gaming", "Avalanche Technology",
+ "R&D Center ELVEES OJSC", "KingboMars Technology Co. Ltd.",
+ "High Bridge Solutions Industria Eletronica", "Transcend Technology Co. Ltd.",
+ "Everspin Technologies", "Hon-Hai Precision", "Smart Storage Systems", "Toumaz Group",
+ "Zentel Electronics Corporation", "Panram International Corporation",
+ "Silicon Space Technology"]
);
$use_sysfs = -d '/sys/bus';

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Thu Feb 20 17:34:10 CET 2014 - jdelvare@suse.de
- Update to version 3.1.1:
* Includes 13 packports we aleady had
* Some additional fixes to decode-dimms
* New manual pages for decode-dimms, decode-vaio and eeprog
* i2c-stub-from-dump tolerance on input dump format was improved
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Apr 18 10:01:03 CEST 2013 - jdelvare@suse.de Thu Apr 18 10:01:03 CEST 2013 - jdelvare@suse.de

View File

@ -1,7 +1,7 @@
# #
# spec file for package i2c-tools # spec file for package i2c-tools
# #
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,7 +18,7 @@
Name: i2c-tools Name: i2c-tools
Url: http://www.lm-sensors.org/wiki/I2CTools Url: http://www.lm-sensors.org/wiki/I2CTools
Version: 3.1.0 Version: 3.1.1
Release: 0 Release: 0
Summary: A heterogeneous set of I2C tools for Linux Summary: A heterogeneous set of I2C tools for Linux
License: GPL-2.0+ License: GPL-2.0+
@ -27,19 +27,6 @@ Requires: udev
Recommends: modules Recommends: modules
Source0: http://dl.lm-sensors.org/%{name}/releases/%{name}-%{version}.tar.bz2 Source0: http://dl.lm-sensors.org/%{name}/releases/%{name}-%{version}.tar.bz2
Source1: http://dl.lm-sensors.org/%{name}/releases/%{name}-%{version}.tar.bz2.sig Source1: http://dl.lm-sensors.org/%{name}/releases/%{name}-%{version}.tar.bz2.sig
Patch1: i2c-tools-r6063-dont-choke-when-no-eeprom.diff
Patch2: i2c-tools-r6106-vendors-JEP106AG.diff
Patch3: i2c-tools-r6107-vendors-JEP106AJ.diff
Patch4: i2c-tools-r6108-remove-duplicate-ns.diff
Patch5: i2c-tools-r6109-fix-decoding-revision.diff
Patch6: i2c-tools-r6110-i2cdetect-clarify-probing.diff
Patch7: i2c-tools-r6121-typo-sprint.diff
Patch8: i2c-tools-r6122-more-DDR3-module-types.diff
Patch9: i2c-tools-r6151-space-before-MHz.diff
Patch10: i2c-tools-r6152-fix-DDR3-tRAS-decoding.diff
Patch11: i2c-tools-r6153-fix-DDR3-timings-rounding.diff
Patch12: i2c-tools-r6154-round-down-PC3-numbers.diff
Patch13: i2c-tools-r6157-vendors-JEP106AK.diff
Patch90: i2c-tools-hackweek-9-dependencies.diff Patch90: i2c-tools-hackweek-9-dependencies.diff
Patch91: i2c-tools-hackweek-9-improve-DDR3-support.diff Patch91: i2c-tools-hackweek-9-improve-DDR3-support.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -61,19 +48,6 @@ Authors:
%prep %prep
%setup -q %setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch90 -p1 %patch90 -p1
%patch91 -p1 %patch91 -p1
@ -90,6 +64,7 @@ rm -f $RPM_BUILD_ROOT/usr/bin/decode-edid
/usr/bin/* /usr/bin/*
/usr/sbin/* /usr/sbin/*
/usr/include/linux/* /usr/include/linux/*
%doc /usr/share/man/man1/*.1.gz
%doc /usr/share/man/man8/*.8.gz %doc /usr/share/man/man8/*.8.gz
%changelog %changelog