Hello community,
here is the log from the commit of package i2c-tools for openSUSE:Factory checked in at 2014-02-24 06:52:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/i2c-tools (Old)
and /work/SRC/openSUSE:Factory/.i2c-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "i2c-tools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/i2c-tools/i2c-tools.changes 2013-04-19 09:46:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.i2c-tools.new/i2c-tools.changes 2014-02-24 06:52:06.000000000 +0100
@@ -1,0 +2,22 @@
+Sat Feb 22 22:40:32 CET 2014 - jdelvare@suse.de
+
+- Update to version 3.1.1:
+ * Includes 13 packports we already had
+ * Some additional fixes to decode-dimms
+ * New manual pages for decode-dimms, decode-vaio
+ * i2c-stub-from-dump tolerance on input dump format was improved
+- Removed obsolete i2c-tools-r6063-dont-choke-when-no-eeprom.diff,
+ i2c-tools-r6106-vendors-JEP106AG.diff,
+ i2c-tools-r6107-vendors-JEP106AJ.diff,
+ i2c-tools-r6108-remove-duplicate-ns.diff,
+ i2c-tools-r6109-fix-decoding-revision.diff,
+ i2c-tools-r6110-i2cdetect-clarify-probing.diff,
+ i2c-tools-r6121-typo-sprint.diff,
+ i2c-tools-r6122-more-DDR3-module-types.diff,
+ i2c-tools-r6151-space-before-MHz.diff,
+ i2c-tools-r6152-fix-DDR3-tRAS-decoding.diff,
+ i2c-tools-r6153-fix-DDR3-timings-rounding.diff,
+ i2c-tools-r6154-round-down-PC3-numbers.diff and
+ i2c-tools-r6157-vendors-JEP106AK.diff (upstream)
+
+-------------------------------------------------------------------
Old:
----
i2c-tools-3.1.0.tar.bz2
i2c-tools-3.1.0.tar.bz2.sig
i2c-tools-r6063-dont-choke-when-no-eeprom.diff
i2c-tools-r6106-vendors-JEP106AG.diff
i2c-tools-r6107-vendors-JEP106AJ.diff
i2c-tools-r6108-remove-duplicate-ns.diff
i2c-tools-r6109-fix-decoding-revision.diff
i2c-tools-r6110-i2cdetect-clarify-probing.diff
i2c-tools-r6121-typo-sprint.diff
i2c-tools-r6122-more-DDR3-module-types.diff
i2c-tools-r6151-space-before-MHz.diff
i2c-tools-r6152-fix-DDR3-tRAS-decoding.diff
i2c-tools-r6153-fix-DDR3-timings-rounding.diff
i2c-tools-r6154-round-down-PC3-numbers.diff
i2c-tools-r6157-vendors-JEP106AK.diff
New:
----
i2c-tools-3.1.1.tar.bz2
i2c-tools-3.1.1.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ i2c-tools.spec ++++++
--- /var/tmp/diff_new_pack.W69Py6/_old 2014-02-24 06:52:07.000000000 +0100
+++ /var/tmp/diff_new_pack.W69Py6/_new 2014-02-24 06:52:07.000000000 +0100
@@ -1,7 +1,7 @@
#
# 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
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
Name: i2c-tools
Url: http://www.lm-sensors.org/wiki/I2CTools
-Version: 3.1.0
+Version: 3.1.1
Release: 0
Summary: A heterogeneous set of I2C tools for Linux
License: GPL-2.0+
@@ -27,19 +27,6 @@
Recommends: modules
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
-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
Patch91: i2c-tools-hackweek-9-improve-DDR3-support.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -61,19 +48,6 @@
%prep
%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
%patch91 -p1
@@ -90,6 +64,7 @@
/usr/bin/*
/usr/sbin/*
/usr/include/linux/*
+%doc /usr/share/man/man1/*.1.gz
%doc /usr/share/man/man8/*.8.gz
%changelog
++++++ i2c-tools-3.1.0.tar.bz2 -> i2c-tools-3.1.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/CHANGES new/i2c-tools-3.1.1/CHANGES
--- old/i2c-tools-3.1.0/CHANGES 2011-12-04 18:33:54.000000000 +0100
+++ new/i2c-tools-3.1.1/CHANGES 2014-02-20 15:15:18.000000000 +0100
@@ -1,6 +1,29 @@
i2c-tools CHANGES
-----------------
+3.1.1 "Happy Birthday Pollux" (2014-02-20)
+ decode-dimms: Decode module configuration type of DDR2 SDRAM
+ Decode bus width extension of DDR3 SDRAM
+ Don't choke when no EEPROM is found
+ Update manufacturer IDs
+ Remove duplicate "ns" in SDR timings
+ Fix decoding of SDR SPD revision
+ Prevent hang on reserved DDR3 module type
+ Decode more DDR3 module types
+ Fix DDR3 tRAS decoding
+ Fix DDR3 core timings rounding
+ Round down PC3 numbers to comply with Jedec
+ Encode "degrees" to HTML degree symbol
+ Add a manual page
+ decode-vaio: Add a manual page
+ eeprog: Add a manual page
+ eeprom: Add a manual page
+ eepromer: Add a manual page
+ i2cdetect: Clarify the SMBus commands used for probing by default
+ i2c-dev.h: Minimize differences with kernel flavor
+ i2c-stub-from-dump: Be more tolerant on input dump format
+ py-smbus: Fix module level docs
+
3.1.0 (2011-12-04)
decode-dimms: Decode module configuration type of DDR SDRAM
Decode refresh rate of DDR SDRAM
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/Makefile new/i2c-tools-3.1.1/Makefile
--- old/i2c-tools-3.1.0/Makefile 2009-01-19 16:11:33.000000000 +0100
+++ new/i2c-tools-3.1.1/Makefile 2014-02-19 15:02:21.000000000 +0100
@@ -1,6 +1,6 @@
# I2C tools for Linux
#
-# Copyright (C) 2007 Jean Delvare
+# Copyright (C) 2007-2012 Jean Delvare
#
# 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eeprom/Module.mk new/i2c-tools-3.1.1/eeprom/Module.mk
--- old/i2c-tools-3.1.0/eeprom/Module.mk 2009-01-13 18:32:03.000000000 +0100
+++ new/i2c-tools-3.1.1/eeprom/Module.mk 2014-02-20 10:59:56.000000000 +0100
@@ -1,6 +1,6 @@
# EEPROM decoding scripts for the Linux eeprom driver
#
-# Copyright (C) 2007-2008 Jean Delvare
+# Copyright (C) 2007-2013 Jean Delvare
#
# 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
@@ -10,19 +10,24 @@
EEPROM_DIR := eeprom
EEPROM_TARGETS := decode-dimms decode-vaio ddcmon decode-edid
+EEPROM_MANPAGES := decode-dimms.1 decode-vaio.1
#
# Commands
#
install-eeprom: $(addprefix $(EEPROM_DIR)/,$(EEPROM_TARGETS))
- $(INSTALL_DIR) $(DESTDIR)$(bindir)
+ $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
for program in $(EEPROM_TARGETS) ; do \
$(INSTALL_PROGRAM) $(EEPROM_DIR)/$$program $(DESTDIR)$(bindir) ; done
+ for manual in $(EEPROM_MANPAGES) ; do \
+ $(INSTALL_DATA) $(EEPROM_DIR)/$$manual $(DESTDIR)$(mandir)/man1 ; done
uninstall-eeprom:
for program in $(EEPROM_TARGETS) ; do \
$(RM) $(DESTDIR)$(bindir)/$$program ; done
+ for manual in $(EEPROM_MANPAGES) ; do \
+ $(RM) $(DESTDIR)$(mandir)/$$manual ; done
install: install-eeprom
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eeprom/ddcmon new/i2c-tools-3.1.1/eeprom/ddcmon
--- old/i2c-tools-3.1.0/eeprom/ddcmon 2008-12-11 17:56:54.000000000 +0100
+++ new/i2c-tools-3.1.1/eeprom/ddcmon 2014-02-19 15:04:45.000000000 +0100
@@ -1,9 +1,9 @@
#!/usr/bin/perl -w
#
-# Copyright (C) 2004-2005 Jean Delvare
+# Copyright (C) 2004-2008 Jean Delvare
#
# Parts inspired from decode-edid.
-# Copyright (C) 2003-2004 Jean Delvare
+# Copyright (C) 2003-2004 Jean Delvare
#
# Parts inspired from the ddcmon driver and sensors' print_ddcmon function.
# Copyright (C) 1998-2004 Mark D. Studebaker
@@ -26,8 +26,6 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA.
#
-# Version 1.0 2005-01-04 Jean Delvare
-#
# This script is a replacement for the now deprecated ddcmon kernel driver.
# Instead of having a dedicated driver, it is better to reuse the standard
# eeprom driver and implement the EDID-specific code in user-space.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eeprom/decode-dimms new/i2c-tools-3.1.1/eeprom/decode-dimms
--- old/i2c-tools-3.1.0/eeprom/decode-dimms 2011-02-16 14:58:38.000000000 +0100
+++ new/i2c-tools-3.1.1/eeprom/decode-dimms 2014-02-20 10:54:34.000000000 +0100
@@ -5,7 +5,7 @@
# Copyright 1998, 1999 Philip Edelbrock
# modified by Christian Zuckschwerdt
# modified by Burkart Lingner
-# Copyright (C) 2005-2011 Jean Delvare
+# Copyright (C) 2005-2013 Jean Delvare
#
# 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
@@ -40,6 +40,7 @@
use strict;
use POSIX qw(ceil);
use Fcntl qw(:DEFAULT :seek);
+use File::Basename;
use vars qw($opt_html $opt_bodyonly $opt_side_by_side $opt_merge
$opt_igncheck $use_sysfs $use_hexdump $sbs_col_width
@vendors %decode_callback $revision @dimm $current %hexdump_cache);
@@ -47,7 +48,7 @@
use constant LITTLEENDIAN => "little-endian";
use constant BIGENDIAN => "big-endian";
-$revision = '$Revision: 5929 $ ($Date: 2011-02-16 14:58:38 +0100 (mer. 16 févr. 2011) $)';
+$revision = '$Revision: 6231 $ ($Date: 2014-02-20 10:54:34 +0100 (jeu. 20 févr. 2014) $)';
$revision =~ s/\$\w+: (.*?) \$/$1/g;
$revision =~ s/ \([^()]*\)//;
@@ -63,17 +64,17 @@
"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",
+ "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",
- "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 +84,7 @@
"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 +119,7 @@
"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 +129,7 @@
"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 +171,26 @@
"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 +221,7 @@
"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 +251,59 @@
"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",
+ "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.", "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';
@@ -355,6 +408,7 @@
my $text = shift;
$text =~ s/\</sg;
$text =~ s/>/\>/sg;
+ $text =~ s/ degrees C/\°C/sg;
$text =~ s/\n/<br>\n/sg;
return $text;
}
@@ -525,16 +579,21 @@
return ($_[0] < @levels) ? $levels[$_[0]] : "Undefined!";
}
-# Common to SDR and DDR SDRAM
+# Common to SDR, DDR and DDR2 SDRAM
sub sdram_module_configuration_type($)
{
- my @types = (
- "No Parity", # 0
- "Parity", # 1
- "ECC", # 2
- );
+ my $byte = $_[0] & 0x07;
+ my @edc;
- return ($_[0] < @types) ? $types[$_[0]] : "Undefined!";
+ return "No Parity" if $byte == 0;
+
+ # Data ECC includes Data Parity so don't print both
+ push @edc, "Data Parity" if ($byte & 0x03) == 0x01;
+ push @edc, "Data ECC" if ($byte & 0x02);
+ # New in DDR2 specification
+ push @edc, "Address/Command Parity" if ($byte & 0x04);
+
+ return join ", ", @edc;
}
# Parameter: EEPROM bytes 0-127 (using 3-62)
@@ -544,7 +603,9 @@
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
@@ -576,7 +637,7 @@
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",
@@ -673,7 +734,6 @@
else {
$temp += 15 if $temp < 4;
$temp += ($bytes->[23] & 0xf) * 0.1;
- $temp .= " ns";
}
$cycle_time .= "\n$temp ns at CAS ".$cas[$#cas-1];
@@ -682,7 +742,6 @@
else {
$temp += 15 if $temp < 4;
$temp += ($bytes->[24] & 0xf) * 0.1;
- $temp .= " ns";
}
$access_time .= "\n$temp ns at CAS ".$cas[$#cas-1];
}
@@ -692,7 +751,6 @@
if ($temp == 0) { $temp = "Undefined!"; }
else {
$temp += ($bytes->[25] & 0x3) * 0.25;
- $temp .= " ns";
}
$cycle_time .= "\n$temp ns at CAS ".$cas[$#cas-2];
@@ -700,7 +758,6 @@
if ($temp == 0) { $temp = "Undefined!"; }
else {
$temp += ($bytes->[26] & 0x3) * 0.25;
- $temp .= " ns";
}
$access_time .= "\n$temp ns at CAS ".$cas[$#cas-2];
}
@@ -797,7 +854,7 @@
$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;
@@ -986,7 +1043,7 @@
# 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;
@@ -1019,6 +1076,9 @@
printl("Voltage Interface Level",
sdram_voltage_interface_level($bytes->[8]));
+ printl("Module Configuration Type",
+ sdram_module_configuration_type($bytes->[11]));
+
printl("Refresh Rate", ddr2_refresh_rate($bytes->[12]));
my @burst;
@@ -1118,11 +1178,14 @@
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]] :
- sprint("Reserved (0x%.2X)", $bytes->[3]));
+ sprintf("Reserved (0x%.2X)", $bytes->[3]));
# speed
prints("Memory Characteristics");
@@ -1140,8 +1203,10 @@
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})");
+ printl("Maximum module speed", "$ddrclk MHz (PC3-${pcclk})");
# Size computation
@@ -1161,15 +1226,17 @@
printl("SDRAM Device Width", (1 << (($bytes->[7] & 7) + 2))." bits");
+ printl("Bus Width Extension", ($bytes->[8] & 24)." bits");
+
my $taa;
my $trcd;
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] >> 4) * 256 + $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));
@@ -1220,7 +1287,7 @@
printl("RZQ/6 supported?", ($bytes->[30] & 1) ? "Yes" : "No");
printl("RZQ/7 supported?", ($bytes->[30] & 2) ? "Yes" : "No");
printl("DLL-Off Mode supported?", ($bytes->[30] & 128) ? "Yes" : "No");
- printl("Operating temperature range", sprintf "0-%dC",
+ printl("Operating temperature range", sprintf "0-%d degrees C",
($bytes->[31] & 1) ? 95 : 85);
printl("Refresh Rate in extended temp range",
($bytes->[31] & 2) ? "2X" : "1X");
@@ -1446,9 +1513,9 @@
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);
@@ -1464,7 +1531,7 @@
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
@@ -1693,7 +1760,7 @@
exit;
}
- push @dimm, { eeprom => $_, file => $_ } if $use_hexdump;
+ push @dimm, { eeprom => basename($_), file => $_ } if $use_hexdump;
}
if ($opt_html && !$opt_bodyonly) {
@@ -1728,7 +1795,7 @@
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 +1805,7 @@
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 +1826,12 @@
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.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eeprom/decode-dimms.1 new/i2c-tools-3.1.1/eeprom/decode-dimms.1
--- old/i2c-tools-3.1.0/eeprom/decode-dimms.1 1970-01-01 01:00:00.000000000 +0100
+++ new/i2c-tools-3.1.1/eeprom/decode-dimms.1 2014-02-20 10:59:56.000000000 +0100
@@ -0,0 +1,67 @@
+.\"
+.\" decode-dimms.1 - manpage for the i2c-tools/decode-dimms utility
+.\" Copyright (C) 2013 Jaromir Capik
+.\"
+.\" 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
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.TH decode-dimms 1 "Oct 2013" "i2c-tools" "User Commands"
+.SH NAME
+decode-dimms \- decode the information found in memory module SPD EEPROMs
+.SH SYNOPSIS
+.B decode-dimms
+[-c] [-f [-b]] [-x|-X file [files..]]
+.br
+.B decode-dimms
+-h
+.SH DESCRIPTION
+
+The purpose of the
+.B decode-dimms
+tool is to decode the information found in memory module SPD EEPROMs.
+The SPD data is read either from the running system or dump files.
+In the former case, the tool requires either the eeprom kernel module
+or the at24 kernel module to be loaded.
+.SH PARAMETERS
+.TP
+.B \-f, --format
+Print nice html output
+.TP
+.B \-b, --bodyonly
+Don't print html header (useful for postprocessing the output)
+.TP
+.B \--side-by-side
+Display all DIMMs side-by-side if possible
+.TP
+.B \--merge-cells
+Merge neighbour cells with identical values (side-by-side output only, default)
+.TP
+.B \--no-merge-cells
+Don't merge neighbour cells with identical values (side-by-side output only)
+.TP
+.B \-c, --checksum
+Decode completely even if checksum fails
+.TP
+.B \-x
+Read data from hexdump files
+.TP
+.B \-X
+Same as -x except treat multibyte hex data as little endian
+.TP
+.B \-h, --help
+Display the usage summary
+.SH SEE ALSO
+.BR decode-vaio (1)
+.SH AUTHORS
+Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner, Jean Delvare
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eeprom/decode-edid new/i2c-tools-3.1.1/eeprom/decode-edid
--- old/i2c-tools-3.1.0/eeprom/decode-edid 2008-12-11 17:56:54.000000000 +0100
+++ new/i2c-tools-3.1.1/eeprom/decode-edid 2014-02-19 15:02:21.000000000 +0100
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
#
-# Copyright (C) 2003-2006 Jean Delvare
+# Copyright (C) 2003-2008 Jean Delvare
#
# 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
@@ -17,16 +17,6 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301 USA.
#
-# Version 0.1 2003-07-17 Jean Delvare
-# Version 0.2 2003-07-22 Jean Delvare
-# Use print instead of syswrite.
-# Version 0.3 2003-08-24 Jean Delvare
-# Fix data block length (128 bytes instead of 256).
-# Version 1.0 2004-02-08 Jean Delvare
-# Added support for Linux 2.5/2.6 (i.e. sysfs).
-# Version 1.1 2006-09-01 Jean Delvare
-# Append /usr/sbin or /usr/local/sbin to $PATH if needed.
-#
# EEPROM data decoding for EDID. EDID (Extended Display Identification
# Data) is a VESA standard which allows storing (on manufacturer's side)
# and retrieving (on user's side) of configuration information about
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eeprom/decode-vaio new/i2c-tools-3.1.1/eeprom/decode-vaio
--- old/i2c-tools-3.1.0/eeprom/decode-vaio 2008-12-11 17:56:54.000000000 +0100
+++ new/i2c-tools-3.1.1/eeprom/decode-vaio 2014-02-19 15:02:21.000000000 +0100
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
#
-# Copyright (C) 2002-2008 Jean Delvare
+# Copyright (C) 2002-2008 Jean Delvare
#
# 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
@@ -25,7 +25,7 @@
# Please note that this is a guess-only work. Sony support refused to help
# me, so if someone can provide information, please contact me.
# My knowledge is summarized on this page:
-# http://khali.linux-fr.org/vaio/eeprom.html
+# http://jdelvare.nerim.net/articles/vaio/eeprom.html
#
# It seems that if present, the EEPROM is always at 0x57.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eeprom/decode-vaio.1 new/i2c-tools-3.1.1/eeprom/decode-vaio.1
--- old/i2c-tools-3.1.0/eeprom/decode-vaio.1 1970-01-01 01:00:00.000000000 +0100
+++ new/i2c-tools-3.1.1/eeprom/decode-vaio.1 2014-02-20 10:59:56.000000000 +0100
@@ -0,0 +1,35 @@
+.\"
+.\" decode-vaio.1 - manpage for the i2c-tools/decode-vaio utility
+.\" Copyright (C) 2013 Jaromir Capik
+.\"
+.\" 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
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.TH decode-vaio 1 "Oct 2013" "i2c-tools" "User Commands"
+.SH NAME
+decode-vaio \- decode the information found in the Sony Vaio laptop
+identification EEPROMs
+.SH SYNOPSIS
+.B decode-vaio
+.SH DESCRIPTION
+
+The purpose of the
+.B decode-vaio
+tool is to decode the information found in the Sony Vaio laptop
+identification EEPROMs.
+The tool requires the eeprom kernel module to be loaded.
+.SH SEE ALSO
+.BR decode-dimms (1)
+.SH AUTHOR
+Jean Delvare
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eepromer/24cXX.c new/i2c-tools-3.1.1/eepromer/24cXX.c
--- old/i2c-tools-3.1.0/eepromer/24cXX.c 2006-11-10 10:22:12.000000000 +0100
+++ new/i2c-tools-3.1.1/eepromer/24cXX.c 2014-02-20 09:37:15.000000000 +0100
@@ -2,7 +2,7 @@
copyright : (C) by 2002-2003 Stefano Barbato
email : stefano@codesink.org
- $Id: 24cXX.c 4230 2006-11-10 09:22:12Z khali $
+ $Id: 24cXX.c 6228 2014-02-20 08:37:15Z khali $
***************************************************************************/
/***************************************************************************
@@ -18,6 +18,7 @@
#include
#include
#include
+#include
#include
#include
#include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eepromer/24cXX.h new/i2c-tools-3.1.1/eepromer/24cXX.h
--- old/i2c-tools-3.1.0/eepromer/24cXX.h 2007-06-27 14:57:50.000000000 +0200
+++ new/i2c-tools-3.1.1/eepromer/24cXX.h 2012-04-26 12:10:22.000000000 +0200
@@ -2,7 +2,7 @@
copyright : (C) by 2002-2003 Stefano Barbato
email : stefano@codesink.org
- $Id: 24cXX.h 4495 2007-06-27 12:57:50Z khali $
+ $Id: 24cXX.h 6048 2012-04-26 10:10:22Z khali $
***************************************************************************/
/***************************************************************************
@@ -15,7 +15,7 @@
***************************************************************************/
#ifndef _24CXX_H_
#define _24CXX_H_
-#include
+#include
#define EEPROM_TYPE_UNKNOWN 0
#define EEPROM_TYPE_8BIT_ADDR 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eepromer/eeprog.8 new/i2c-tools-3.1.1/eepromer/eeprog.8
--- old/i2c-tools-3.1.0/eepromer/eeprog.8 1970-01-01 01:00:00.000000000 +0100
+++ new/i2c-tools-3.1.1/eepromer/eeprog.8 2014-02-20 11:02:54.000000000 +0100
@@ -0,0 +1,103 @@
+.\"
+.\" eeprog.8 - manpage for the i2c-tools/eeprog utility
+.\" Copyright (C) 2013 Jaromir Capik
+.\"
+.\" 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
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.TH eeprog "8" "Jul 2013" "i2c-tools" "System Administration"
+.SH NAME
+eeprog \- reads and writes 24Cxx EEPROMs connected to I2C serial bus
+.SH SYNOPSIS
+.B eeprog
+[-fqxdh] [-16|-8] [-r addr[:count]|-w addr] <device> <i2c-addr>
+.SH DESCRIPTION
+.B eeprog
+uses the SMBus protocol used by most of the recent chipsets.
+.SH NOTE
+Don't forget to load your i2c chipset and the i2c-dev drivers.
+.P
+The following environment variables could be set instead of the command line arguments:
+.P
+ EEPROG_DEV device
+.br
+ EEPROG_I2C_ADDR i2c-addr
+.SH PARAMETERS
+.I Address modes
+.TP
+.B \-8
+Use 8bit address mode for 24c0x...24C16 [default]
+.TP
+.B \-16
+Use 16bit address mode for 24c32...24C256
+.TP
+.I Actions
+.TP
+.B \-r addr[:count]
+Read
+.B count
+(1 if omitted) bytes from
+.B addr
+and print them to the standard output
+.TP
+.B \-w addr
+Write input (stdin) at address
+.B addr
+of the EEPROM
+.TP
+.B \-h
+Print this help
+.TP
+.I Options
+.TP
+.B \-x
+Set hex output mode
+.TP
+.B \-d
+Dummy mode, display what *would* have been done
+.TP
+.B \-f
+Disable warnings and don't ask confirmation
+.TP
+.B \-q
+Quiet mode
+.TP
+.I Bus
+.TP
+.B device
+Device file representing the I2C bus (eg. /dev/i2c-0)
+.TP
+.B i2c-addr
+I2C bus address of the EEPROM (eg. 0x3A)
+.SH EXAMPLES
+Read 64 bytes from the EEPROM at address 0x54 on bus 0 starting at address 123 (decimal)
+.P
+.B eeprog
+/dev/i2c-0 0x54 -r 123:64
+.P
+Print the hex codes of the first 32 bytes read from bus 1 at address 0x22
+.P
+.B eeprog
+/dev/i2c-1 0x51 -x -r 0x22:0x20
+.P
+Write the current timestamp at address 0x200 of the EEPROM on bus 0 at address 0x33
+.P
+ date |
+.B eeprog
+/dev/i2c-0 0x33 -w 0x200
+.SH SEE ALSO
+.BR eeprom (8),
+.BR eepromer (8)
+.SH AUTHOR
+Stefano Barbato
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eepromer/eeprom.8 new/i2c-tools-3.1.1/eepromer/eeprom.8
--- old/i2c-tools-3.1.0/eepromer/eeprom.8 1970-01-01 01:00:00.000000000 +0100
+++ new/i2c-tools-3.1.1/eepromer/eeprom.8 2014-02-20 11:02:54.000000000 +0100
@@ -0,0 +1,64 @@
+.\"
+.\" eeprom.8 - manpage for the i2c-tools/eeprom utility
+.\" Copyright (C) 2013 Jaromir Capik
+.\"
+.\" 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
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.TH eeprom "8" "Jul 2013" "i2c-tools" "System Administration"
+.SH NAME
+eeprom \- reads and writes 24Cxx EEPROMs connected to I2C serial bus
+.SH SYNOPSIS
+.B eeprom
+[-d dev] [-a addr] [-p pgs] [-w] [-y] [-f file]
+.SH DESCRIPTION
+.B eeprom
+can be used for reading from / writing to I2C EEPROMs like the popular
+24C16, 24C08, 24C04, etc.
+In contrast to
+.B eeprommer
+which supports 24C256-type EEPROMs,
+this tool works with 1-byte addresses!
+.SH NOTES
+Don't forget to load your i2c chipset and the i2c-dev drivers.
+.P
+Pages/addresses:
+ EEPROMs with more than 256 bytes appear as if they
+ were several EEPROMs with consecutive addresses on the bus
+ so we might as well address several separate EEPROMs with
+ increasing addresses
+.SH PARAMETERS
+.TP
+.B dev
+device (default /dev/i2c-0)
+.TP
+.B addr
+base address of EEPROM (default 0xA0)
+.TP
+.B pgs
+number of pages to read (default 8)
+.TP
+.B \-w
+write to EEPROM (default is reading!)
+.TP
+.B \-y
+suppress warning when writing (default is to warn!)
+.TP
+.B \-f file
+copy EEPROM contents to/from file (default for read is test only; for write is all zeros)
+.SH SEE ALSO
+.BR eeprog (8),
+.BR eepromer (8)
+.SH AUTHOR
+Christian Vogel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eepromer/eeprom.c new/i2c-tools-3.1.1/eepromer/eeprom.c
--- old/i2c-tools-3.1.0/eepromer/eeprom.c 2008-12-07 16:30:12.000000000 +0100
+++ new/i2c-tools-3.1.1/eepromer/eeprom.c 2014-02-20 09:37:15.000000000 +0100
@@ -2,6 +2,7 @@
This program is hereby placed into the public domain.
Of course the program is provided without warranty of any kind.
*/
+#include
#include
#include
#include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eepromer/eepromer.8 new/i2c-tools-3.1.1/eepromer/eepromer.8
--- old/i2c-tools-3.1.0/eepromer/eepromer.8 1970-01-01 01:00:00.000000000 +0100
+++ new/i2c-tools-3.1.1/eepromer/eepromer.8 2014-02-20 11:02:54.000000000 +0100
@@ -0,0 +1,61 @@
+.\"
+.\" eeprom.8 - manpage for the i2c-tools/eeprom utility
+.\" Copyright (C) 2013 Jaromir Capik
+.\"
+.\" 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
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.TH eepromer "8" "Jul 2013" "i2c-tools" "System Administration"
+.SH NAME
+eepromer \- reads and writes 24Cxx EEPROMs connected to I2C serial bus
+.SH SYNOPSIS
+.B eepromer
+[-r|-w|-e|-p] -f <device> <i2c-addr>
+.SH DESCRIPTION
+The EEPROM must be a large EEPROM which uses a 2-byte address
+field (24C32 or larger). It will NOT WORK on small EEPROMs
+(24C01 - 24C16) such as those used on SDRAM DIMMs.
+.SH NOTES
+Don't forget to load your i2c chipset and the i2c-dev drivers.
+.P
+Tested only on 24C256.
+.P
+.SH PARAMETERS
+.TP
+.I Actions
+.TP
+.B \-r
+Read
+.TP
+.B \-w
+Write
+.TP
+.B \-e
+Erase
+.TP
+.B \-p
+Print header
+.TP
+.I Bus
+.TP
+.B \-f device
+Device file representing the I2C bus (eg. /dev/i2c-0)
+.TP
+.B i2c-addr
+I2C bus address of the EEPROM (eg. 0x3A)
+.SH SEE ALSO
+.BR eeprog (8),
+.BR eeprom (8)
+.SH AUTHOR
+Daniel Smolik
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/eepromer/eepromer.c new/i2c-tools-3.1.1/eepromer/eepromer.c
--- old/i2c-tools-3.1.0/eepromer/eepromer.c 2009-06-22 13:51:43.000000000 +0200
+++ new/i2c-tools-3.1.1/eepromer/eepromer.c 2014-02-20 09:37:15.000000000 +0100
@@ -1,3 +1,4 @@
+#include
#include
#include
#include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/include/Module.mk new/i2c-tools-3.1.1/include/Module.mk
--- old/i2c-tools-3.1.0/include/Module.mk 2009-01-13 18:07:57.000000000 +0100
+++ new/i2c-tools-3.1.1/include/Module.mk 2014-02-20 09:37:15.000000000 +0100
@@ -1,6 +1,6 @@
# Linux I2C header files
#
-# Copyright (C) 2007 Jean Delvare
+# Copyright (C) 2007 Jean Delvare
#
# 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/include/linux/i2c-dev.h new/i2c-tools-3.1.1/include/linux/i2c-dev.h
--- old/i2c-tools-3.1.0/include/linux/i2c-dev.h 2010-12-12 14:22:29.000000000 +0100
+++ new/i2c-tools-3.1.1/include/linux/i2c-dev.h 2014-02-20 10:47:23.000000000 +0100
@@ -20,13 +20,12 @@
MA 02110-1301 USA.
*/
-/* $Id: i2c-dev.h 5894 2010-12-12 13:22:29Z khali $ */
-
-#ifndef LIB_I2CDEV_H
-#define LIB_I2CDEV_H
+#ifndef _LINUX_I2C_DEV_H
+#define _LINUX_I2C_DEV_H
#include
#include
+#include
/* -- i2c.h -- */
@@ -37,7 +36,7 @@
*/
struct i2c_msg {
__u16 addr; /* slave address */
- unsigned short flags;
+ unsigned short flags;
#define I2C_M_TEN 0x10 /* we have a ten bit chip address */
#define I2C_M_RD 0x01
#define I2C_M_NOSTART 0x4000
@@ -55,16 +54,16 @@
#define I2C_FUNC_PROTOCOL_MANGLING 0x00000004 /* I2C_M_{REV_DIR_ADDR,NOSTART,..} */
#define I2C_FUNC_SMBUS_PEC 0x00000008
#define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 0x00008000 /* SMBus 2.0 */
-#define I2C_FUNC_SMBUS_QUICK 0x00010000
-#define I2C_FUNC_SMBUS_READ_BYTE 0x00020000
-#define I2C_FUNC_SMBUS_WRITE_BYTE 0x00040000
-#define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000
-#define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000
-#define I2C_FUNC_SMBUS_READ_WORD_DATA 0x00200000
-#define I2C_FUNC_SMBUS_WRITE_WORD_DATA 0x00400000
-#define I2C_FUNC_SMBUS_PROC_CALL 0x00800000
-#define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0x01000000
-#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000
+#define I2C_FUNC_SMBUS_QUICK 0x00010000
+#define I2C_FUNC_SMBUS_READ_BYTE 0x00020000
+#define I2C_FUNC_SMBUS_WRITE_BYTE 0x00040000
+#define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000
+#define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000
+#define I2C_FUNC_SMBUS_READ_WORD_DATA 0x00200000
+#define I2C_FUNC_SMBUS_WRITE_WORD_DATA 0x00400000
+#define I2C_FUNC_SMBUS_PROC_CALL 0x00800000
+#define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0x01000000
+#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000
#define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000 /* I2C-like block xfer */
#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000 /* w/ 1-byte reg. addr. */
@@ -82,10 +81,10 @@
/* Old name, for compatibility */
#define I2C_FUNC_SMBUS_HWPEC_CALC I2C_FUNC_SMBUS_PEC
-/*
- * Data for SMBus Messages
+/*
+ * Data for SMBus Messages
*/
-#define I2C_SMBUS_BLOCK_MAX 32 /* As specified in SMBus standard */
+#define I2C_SMBUS_BLOCK_MAX 32 /* As specified in SMBus standard */
#define I2C_SMBUS_I2C_BLOCK_MAX 32 /* Not specified but we use same structure */
union i2c_smbus_data {
__u8 byte;
@@ -98,11 +97,11 @@
#define I2C_SMBUS_READ 1
#define I2C_SMBUS_WRITE 0
-/* SMBus transaction types (size parameter in the above functions)
+/* SMBus transaction types (size parameter in the above functions)
Note: these no longer correspond to the (arbitrary) PIIX4 internal codes! */
#define I2C_SMBUS_QUICK 0
#define I2C_SMBUS_BYTE 1
-#define I2C_SMBUS_BYTE_DATA 2
+#define I2C_SMBUS_BYTE_DATA 2
#define I2C_SMBUS_WORD_DATA 3
#define I2C_SMBUS_PROC_CALL 4
#define I2C_SMBUS_BLOCK_DATA 5
@@ -111,54 +110,50 @@
#define I2C_SMBUS_I2C_BLOCK_DATA 8
-/* ----- commands for the ioctl like i2c_command call:
- * note that additional calls are defined in the algorithm and hw
- * dependent layers - these can be listed here, or see the
- * corresponding header files.
+/* /dev/i2c-X ioctl commands. The ioctl's parameter is always an
+ * unsigned long, except for:
+ * - I2C_FUNCS, takes pointer to an unsigned long
+ * - I2C_RDWR, takes pointer to struct i2c_rdwr_ioctl_data
+ * - I2C_SMBUS, takes pointer to struct i2c_smbus_ioctl_data
*/
- /* -> bit-adapter specific ioctls */
-#define I2C_RETRIES 0x0701 /* number of times a device address */
- /* should be polled when not */
- /* acknowledging */
-#define I2C_TIMEOUT 0x0702 /* set timeout - call with int */
-
-
-/* this is for i2c-dev.c */
-#define I2C_SLAVE 0x0703 /* Change slave address */
- /* Attn.: Slave address is 7 or 10 bits */
-#define I2C_SLAVE_FORCE 0x0706 /* Change slave address */
- /* Attn.: Slave address is 7 or 10 bits */
- /* This changes the address, even if it */
- /* is already taken! */
-#define I2C_TENBIT 0x0704 /* 0 for 7 bit addrs, != 0 for 10 bit */
-
-#define I2C_FUNCS 0x0705 /* Get the adapter functionality */
-#define I2C_RDWR 0x0707 /* Combined R/W transfer (one stop only)*/
-#define I2C_PEC 0x0708 /* != 0 for SMBus PEC */
+#define I2C_RETRIES 0x0701 /* number of times a device address should
+ be polled when not acknowledging */
+#define I2C_TIMEOUT 0x0702 /* set timeout in units of 10 ms */
-#define I2C_SMBUS 0x0720 /* SMBus-level access */
+/* NOTE: Slave address is 7 or 10 bits, but 10-bit addresses
+ * are NOT supported! (due to code brokenness)
+ */
+#define I2C_SLAVE 0x0703 /* Use this slave address */
+#define I2C_SLAVE_FORCE 0x0706 /* Use this slave address, even if it
+ is already in use by a driver! */
+#define I2C_TENBIT 0x0704 /* 0 for 7 bit addrs, != 0 for 10 bit */
-/* -- i2c.h -- */
+#define I2C_FUNCS 0x0705 /* Get the adapter functionality mask */
+#define I2C_RDWR 0x0707 /* Combined R/W transfer (one STOP only) */
+
+#define I2C_PEC 0x0708 /* != 0 to use PEC with SMBus */
+#define I2C_SMBUS 0x0720 /* SMBus transfer */
-/* Note: 10-bit addresses are NOT supported! */
/* This is the structure as used in the I2C_SMBUS ioctl call */
struct i2c_smbus_ioctl_data {
- char read_write;
+ __u8 read_write;
__u8 command;
- int size;
+ __u32 size;
union i2c_smbus_data *data;
};
/* This is the structure as used in the I2C_RDWR ioctl call */
struct i2c_rdwr_ioctl_data {
struct i2c_msg *msgs; /* pointers to i2c_msgs */
- int nmsgs; /* number of i2c_msgs */
+ __u32 nmsgs; /* number of i2c_msgs */
};
+#define I2C_RDRW_IOCTL_MAX_MSGS 42
+
-static inline __s32 i2c_smbus_access(int file, char read_write, __u8 command,
+static inline __s32 i2c_smbus_access(int file, char read_write, __u8 command,
int size, union i2c_smbus_data *data)
{
struct i2c_smbus_ioctl_data args;
@@ -175,7 +170,7 @@
{
return i2c_smbus_access(file,value,0,I2C_SMBUS_QUICK,NULL);
}
-
+
static inline __s32 i2c_smbus_read_byte(int file)
{
union i2c_smbus_data data;
@@ -201,7 +196,7 @@
return 0x0FF & data.byte;
}
-static inline __s32 i2c_smbus_write_byte_data(int file, __u8 command,
+static inline __s32 i2c_smbus_write_byte_data(int file, __u8 command,
__u8 value)
{
union i2c_smbus_data data;
@@ -220,7 +215,7 @@
return 0x0FFFF & data.word;
}
-static inline __s32 i2c_smbus_write_word_data(int file, __u8 command,
+static inline __s32 i2c_smbus_write_word_data(int file, __u8 command,
__u16 value)
{
union i2c_smbus_data data;
@@ -242,7 +237,7 @@
/* Returns the number of read bytes */
-static inline __s32 i2c_smbus_read_block_data(int file, __u8 command,
+static inline __s32 i2c_smbus_read_block_data(int file, __u8 command,
__u8 *values)
{
union i2c_smbus_data data;
@@ -257,7 +252,7 @@
}
}
-static inline __s32 i2c_smbus_write_block_data(int file, __u8 command,
+static inline __s32 i2c_smbus_write_block_data(int file, __u8 command,
__u8 length, const __u8 *values)
{
union i2c_smbus_data data;
@@ -332,4 +327,4 @@
}
-#endif /* LIB_I2CDEV_H */
+#endif /* _LINUX_I2C_DEV_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/py-smbus/smbusmodule.c new/i2c-tools-3.1.1/py-smbus/smbusmodule.c
--- old/i2c-tools-3.1.0/py-smbus/smbusmodule.c 2009-01-22 10:55:33.000000000 +0100
+++ new/i2c-tools-3.1.1/py-smbus/smbusmodule.c 2014-02-20 10:56:05.000000000 +0100
@@ -18,6 +18,7 @@
#include
#include "structmember.h"
+#include
#include
#include
#include
@@ -636,7 +637,7 @@
static PyTypeObject SMBus_type = {
PyObject_HEAD_INIT(NULL)
0, /* ob_size */
- "SMBus", /* tp_name */
+ "smbus.SMBus", /* tp_name */
sizeof(SMBus), /* tp_basicsize */
0, /* tp_itemsize */
(destructor)SMBus_dealloc, /* tp_dealloc */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/stub/Module.mk new/i2c-tools-3.1.1/stub/Module.mk
--- old/i2c-tools-3.1.0/stub/Module.mk 2009-01-13 18:07:57.000000000 +0100
+++ new/i2c-tools-3.1.1/stub/Module.mk 2014-02-19 15:02:21.000000000 +0100
@@ -1,6 +1,6 @@
# Helper for the Linux i2c-stub bus driver
#
-# Copyright (C) 2007-2008 Jean Delvare
+# Copyright (C) 2007-2009 Jean Delvare
#
# 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/stub/i2c-stub-from-dump new/i2c-tools-3.1.1/stub/i2c-stub-from-dump
--- old/i2c-tools-3.1.0/stub/i2c-stub-from-dump 2010-03-08 15:00:52.000000000 +0100
+++ new/i2c-tools-3.1.1/stub/i2c-stub-from-dump 2014-02-19 15:02:21.000000000 +0100
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
#
-# Copyright (C) 2007-2008 Jean Delvare
+# Copyright (C) 2007-2012 Jean Delvare
#
# 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
@@ -127,7 +127,7 @@
open(DUMP, $dump) || die "Can't open $dump: $!\n";
OUTER_LOOP:
while (<DUMP>) {
- if (m/^([0-9a-f]0):(( [0-9a-fX]{2}){16})/) {
+ if (m/^([0-9a-f]0) ?[:|](( [0-9a-fX]{2}){16})/i) {
# Byte dump
my $offset = hex($1);
my @values = split(/ /, $2);
@@ -142,7 +142,7 @@
}
$bytes++;
}
- } elsif (m/^([0-9a-f][08]):(( [0-9a-fX]{4}){8})/) {
+ } elsif (m/^([0-9a-f][08]) ?[:|](( [0-9a-fX]{4}){8})/i) {
# Word dump
my $offset = hex($1);
my @values = split(/ /, $2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/Module.mk new/i2c-tools-3.1.1/tools/Module.mk
--- old/i2c-tools-3.1.0/tools/Module.mk 2009-01-19 16:11:33.000000000 +0100
+++ new/i2c-tools-3.1.1/tools/Module.mk 2014-02-20 09:37:15.000000000 +0100
@@ -1,6 +1,6 @@
# I2C tools for Linux
#
-# Copyright (C) 2007 Jean Delvare
+# Copyright (C) 2007 Jean Delvare
#
# 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
@@ -35,16 +35,16 @@
# Objects
#
-$(TOOLS_DIR)/i2cdetect.o: $(TOOLS_DIR)/i2cdetect.c $(TOOLS_DIR)/i2cbusses.h $(INCLUDE_DIR)/linux/i2c-dev.h
+$(TOOLS_DIR)/i2cdetect.o: $(TOOLS_DIR)/i2cdetect.c $(TOOLS_DIR)/i2cbusses.h version.h $(INCLUDE_DIR)/linux/i2c-dev.h
$(CC) $(CFLAGS) $(TOOLS_CFLAGS) -c $< -o $@
-$(TOOLS_DIR)/i2cdump.o: $(TOOLS_DIR)/i2cdump.c $(TOOLS_DIR)/i2cbusses.h $(TOOLS_DIR)/util.h $(INCLUDE_DIR)/linux/i2c-dev.h
+$(TOOLS_DIR)/i2cdump.o: $(TOOLS_DIR)/i2cdump.c $(TOOLS_DIR)/i2cbusses.h $(TOOLS_DIR)/util.h version.h $(INCLUDE_DIR)/linux/i2c-dev.h
$(CC) $(CFLAGS) $(TOOLS_CFLAGS) -c $< -o $@
-$(TOOLS_DIR)/i2cset.o: $(TOOLS_DIR)/i2cset.c $(TOOLS_DIR)/i2cbusses.h $(TOOLS_DIR)/util.h $(INCLUDE_DIR)/linux/i2c-dev.h
+$(TOOLS_DIR)/i2cset.o: $(TOOLS_DIR)/i2cset.c $(TOOLS_DIR)/i2cbusses.h $(TOOLS_DIR)/util.h version.h $(INCLUDE_DIR)/linux/i2c-dev.h
$(CC) $(CFLAGS) $(TOOLS_CFLAGS) -c $< -o $@
-$(TOOLS_DIR)/i2cget.o: $(TOOLS_DIR)/i2cget.c $(TOOLS_DIR)/i2cbusses.h $(TOOLS_DIR)/util.h $(INCLUDE_DIR)/linux/i2c-dev.h
+$(TOOLS_DIR)/i2cget.o: $(TOOLS_DIR)/i2cget.c $(TOOLS_DIR)/i2cbusses.h $(TOOLS_DIR)/util.h version.h $(INCLUDE_DIR)/linux/i2c-dev.h
$(CC) $(CFLAGS) $(TOOLS_CFLAGS) -c $< -o $@
$(TOOLS_DIR)/i2cbusses.o: $(TOOLS_DIR)/i2cbusses.c $(TOOLS_DIR)/i2cbusses.h $(INCLUDE_DIR)/linux/i2c-dev.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/i2cbusses.c new/i2c-tools-3.1.1/tools/i2cbusses.c
--- old/i2c-tools-3.1.0/tools/i2cbusses.c 2010-11-26 11:25:32.000000000 +0100
+++ new/i2c-tools-3.1.1/tools/i2cbusses.c 2014-02-20 09:37:15.000000000 +0100
@@ -4,7 +4,7 @@
devices.
Copyright (c) 1999-2003 Frodo Looijaard and
Mark D. Studebaker
- Copyright (C) 2008-2010 Jean Delvare
+ Copyright (C) 2008-2012 Jean Delvare
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
@@ -28,6 +28,7 @@
#include
#include
#include /* for NAME_MAX */
+#include
#include
#include /* for strcasecmp() */
#include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/i2cbusses.h new/i2c-tools-3.1.1/tools/i2cbusses.h
--- old/i2c-tools-3.1.0/tools/i2cbusses.h 2010-11-26 11:25:32.000000000 +0100
+++ new/i2c-tools-3.1.1/tools/i2cbusses.h 2014-02-19 15:02:21.000000000 +0100
@@ -1,7 +1,7 @@
/*
i2cbusses.h - Part of the i2c-tools package
- Copyright (C) 2004-2010 Jean Delvare
+ Copyright (C) 2004-2010 Jean Delvare
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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/i2cdetect.8 new/i2c-tools-3.1.1/tools/i2cdetect.8
--- old/i2c-tools-3.1.0/tools/i2cdetect.8 2008-04-20 19:32:12.000000000 +0200
+++ new/i2c-tools-3.1.1/tools/i2cdetect.8 2012-12-21 17:46:31.000000000 +0100
@@ -28,6 +28,12 @@
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 @@
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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/i2cdetect.c new/i2c-tools-3.1.1/tools/i2cdetect.c
--- old/i2c-tools-3.1.0/tools/i2cdetect.c 2010-11-26 11:25:32.000000000 +0100
+++ new/i2c-tools-3.1.1/tools/i2cdetect.c 2014-02-20 09:37:15.000000000 +0100
@@ -2,7 +2,7 @@
i2cdetect.c - a user-space program to scan for I2C devices
Copyright (C) 1999-2004 Frodo Looijaard , and
Mark D. Studebaker
- Copyright (C) 2004-2010 Jean Delvare
+ Copyright (C) 2004-2012 Jean Delvare
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
@@ -20,6 +20,7 @@
MA 02110-1301 USA.
*/
+#include
#include
#include
#include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/i2cdump.c new/i2c-tools-3.1.1/tools/i2cdump.c
--- old/i2c-tools-3.1.0/tools/i2cdump.c 2010-11-26 11:25:32.000000000 +0100
+++ new/i2c-tools-3.1.1/tools/i2cdump.c 2014-02-20 09:37:15.000000000 +0100
@@ -2,7 +2,7 @@
i2cdump.c - a user-space program to dump I2C registers
Copyright (C) 2002-2003 Frodo Looijaard , and
Mark D. Studebaker
- Copyright (C) 2004-2010 Jean Delvare
+ Copyright (C) 2004-2012 Jean Delvare
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
@@ -20,6 +20,7 @@
MA 02110-1301 USA.
*/
+#include
#include
#include
#include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/i2cget.c new/i2c-tools-3.1.1/tools/i2cget.c
--- old/i2c-tools-3.1.0/tools/i2cget.c 2010-11-26 11:25:32.000000000 +0100
+++ new/i2c-tools-3.1.1/tools/i2cget.c 2014-02-20 09:37:15.000000000 +0100
@@ -1,11 +1,11 @@
/*
i2cget.c - A user-space program to read an I2C register.
- Copyright (C) 2005-2010 Jean Delvare
+ Copyright (C) 2005-2012 Jean Delvare
Based on i2cset.c:
Copyright (C) 2001-2003 Frodo Looijaard , and
Mark D. Studebaker
- Copyright (C) 2004-2005 Jean Delvare
+ Copyright (C) 2004-2005 Jean Delvare
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
@@ -23,6 +23,7 @@
MA 02110-1301 USA.
*/
+#include
#include
#include
#include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/i2cset.c new/i2c-tools-3.1.1/tools/i2cset.c
--- old/i2c-tools-3.1.0/tools/i2cset.c 2011-02-15 17:12:27.000000000 +0100
+++ new/i2c-tools-3.1.1/tools/i2cset.c 2014-02-20 09:37:15.000000000 +0100
@@ -2,7 +2,7 @@
i2cset.c - A user-space program to write an I2C register.
Copyright (C) 2001-2003 Frodo Looijaard , and
Mark D. Studebaker
- Copyright (C) 2004-2010 Jean Delvare
+ Copyright (C) 2004-2012 Jean Delvare
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
@@ -20,6 +20,7 @@
MA 02110-1301 USA.
*/
+#include
#include
#include
#include
@@ -35,7 +36,7 @@
static void help(void)
{
fprintf(stderr,
- "Usage: i2cset [-f] [-y] [-m MASK] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]\n"
+ "Usage: i2cset [-f] [-y] [-m MASK] [-r] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]\n"
" I2CBUS is an integer or an I2C bus name\n"
" ADDRESS is an integer (0x03 - 0x77)\n"
" MODE is one of:\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/util.c new/i2c-tools-3.1.1/tools/util.c
--- old/i2c-tools-3.1.0/tools/util.c 2009-01-13 18:46:47.000000000 +0100
+++ new/i2c-tools-3.1.1/tools/util.c 2014-02-19 15:02:21.000000000 +0100
@@ -1,6 +1,6 @@
/*
util.c - helper functions
- Copyright (C) 2006 Jean Delvare
+ Copyright (C) 2006-2009 Jean Delvare
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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/tools/util.h new/i2c-tools-3.1.1/tools/util.h
--- old/i2c-tools-3.1.0/tools/util.h 2009-01-13 18:46:47.000000000 +0100
+++ new/i2c-tools-3.1.1/tools/util.h 2014-02-19 15:02:21.000000000 +0100
@@ -1,6 +1,6 @@
/*
util - helper functions
- Copyright (C) 2006 Jean Delvare
+ Copyright (C) 2006-2009 Jean Delvare
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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/i2c-tools-3.1.0/version.h new/i2c-tools-3.1.1/version.h
--- old/i2c-tools-3.1.0/version.h 2011-12-04 18:33:54.000000000 +0100
+++ new/i2c-tools-3.1.1/version.h 2014-02-20 15:15:18.000000000 +0100
@@ -1 +1 @@
-#define VERSION "3.1.0"
+#define VERSION "3.1.1"
++++++ i2c-tools-hackweek-9-improve-DDR3-support.diff ++++++
--- /var/tmp/diff_new_pack.W69Py6/_old 2014-02-24 06:52:07.000000000 +0100
+++ /var/tmp/diff_new_pack.W69Py6/_new 2014-02-24 06:52:07.000000000 +0100
@@ -9,16 +9,7 @@
--- a/eeprom/decode-dimms
+++ b/eeprom/decode-dimms
-@@ -5,7 +5,7 @@
- # Copyright 1998, 1999 Philip Edelbrock
- # modified by Christian Zuckschwerdt
- # modified by Burkart Lingner
--# Copyright (C) 2005-2011 Jean Delvare
-+# Copyright (C) 2005-2013 Jean Delvare
- #
- # 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($)
+@@ -1186,36 +1186,137 @@ sub decode_ddr2_sdram($)
printl("PLL Relock Time", $bytes->[46] . " us") if ($bytes->[46]);
}
@@ -171,7 +162,7 @@
my $ddrclk = 2 * (1000 / $ctime);
my $tbits = 1 << (($bytes->[8] & 7) + 3);
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 $tras;
@@ -194,7 +185,7 @@
my $cas_sup = ($bytes->[15] << 8) + $bytes->[14];
for ($ii = 0; $ii < 15; $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));
@@ -234,7 +225,7 @@
printl("Minimum Recovery Delay (tRFC)",
tns3((($bytes->[25] << 8) + $bytes->[24]) * $mtb));
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");
printl("Partial Array Self-Refresh?",
($bytes->[31] & 128) ? "Yes" : "No");
@@ -245,6 +236,7 @@
- ($bytes->[33] & 128) ? sprintf($bytes->[33] & 127) :
- "Standard Monolithic");
- if ($bytes->[3] >= 1 && $bytes->[3] <= 6) {
+-
+ printl("Module Thermal Sensor",
+ ($bytes->[32] & 128) ? "Yes" : "No");
+ printl("SDRAM Device Type", ddr3_device_type($bytes->[33]));
@@ -252,7 +244,7 @@
+ # Following bytes are type-specific, so don't continue if type
+ # isn't known.
+ return if $bytes->[3] == 0 || $bytes->[3] > $#module_types;
-
++
+ if ($module_types[$bytes->[3]]->{family} == DDR3_UNBUFFERED ||
+ $module_types[$bytes->[3]]->{family} == DDR3_REGISTERED ||
+ $module_types[$bytes->[3]]->{family} == DDR3_CLOCKED ||
@@ -297,7 +289,7 @@
prints("Registered DIMM");
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",
(($bytes->[68] & 7) == 0) ? "SSTE32882" :
"Undefined");
@@ -314,7 +306,7 @@
+ printl_cond($bytes->[67] != 0xff,
+ "Register revision", ddr3_revision_number($bytes->[67]));
+ printl("Heat spreader", $bytes->[64] & 0x80 ? "Yes" : "No");
- }
++ }
+
+ if ($module_types[$bytes->[3]]->{family} == DDR3_LOAD_REDUCED) {
+ prints("Load Reduced DIMM");
@@ -330,12 +322,12 @@
+ printl_cond($bytes->[64] != 0xff,
+ "Buffer Revision", ddr3_revision_number($bytes->[64]));
+ printl("Heat spreader", $bytes->[63] & 0x80 ? "Yes" : "No");
-+ }
+ }
+
}
# 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",
manufacturer_ddr3($bytes->[117], $bytes->[118]));
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org