The I2C standard reserves addresses 0x03-0x07. Adapt our tools to that.

Signed-off-by: Wolfram Sang <wsa+rene...@sang-engineering.com>
---
 CHANGES             | 1 +
 tools/i2cbusses.c   | 2 +-
 tools/i2cdetect.8   | 2 +-
 tools/i2cdetect.c   | 2 +-
 tools/i2cdump.8     | 4 ++--
 tools/i2cdump.c     | 2 +-
 tools/i2cget.8      | 4 ++--
 tools/i2cget.c      | 2 +-
 tools/i2cset.8      | 4 ++--
 tools/i2cset.c      | 2 +-
 tools/i2ctransfer.8 | 4 ++--
 11 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/CHANGES b/CHANGES
index e9d46b5..e3ff3a0 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,7 @@ i2c-tools CHANGES
 
 master
   tools: Consistently use snprintf instead of sprintf
+         Restrict addresses 0x03-0x07, too (defined by I2C standard)
   decode-dimms: Print SPD revision for DDR3 too
                 Move SDR-specific code
   i2ctransfer: Mention '-a' everywhere in the manpage
diff --git a/tools/i2cbusses.c b/tools/i2cbusses.c
index 438f345..b4f00ae 100644
--- a/tools/i2cbusses.c
+++ b/tools/i2cbusses.c
@@ -381,7 +381,7 @@ int parse_i2c_address(const char *address_arg, int 
all_addrs)
 {
        long address;
        char *end;
-       long min_addr = 0x03;
+       long min_addr = 0x08;
        long max_addr = 0x77;
 
        address = strtol(address_arg, &end, 0);
diff --git a/tools/i2cdetect.8 b/tools/i2cdetect.8
index 81d0f97..14c1f18 100644
--- a/tools/i2cdetect.8
+++ b/tools/i2cdetect.8
@@ -26,7 +26,7 @@ outputs a table with the list of detected devices on the 
specified bus.
 \fIi2cbus\fR indicates the number or name of the I2C bus to be scanned, and
 should correspond to one of the busses listed by \fIi2cdetect -l\fR.
 The optional parameters \fIfirst\fR and \fIlast\fR restrict the scanning
-range (default: from 0x03 to 0x77).
+range (default: from 0x08 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
diff --git a/tools/i2cdetect.c b/tools/i2cdetect.c
index 1804f84..0b9af48 100644
--- a/tools/i2cdetect.c
+++ b/tools/i2cdetect.c
@@ -204,7 +204,7 @@ int main(int argc, char *argv[])
        char filename[20];
        unsigned long funcs;
        int mode = MODE_AUTO;
-       int first = 0x03, last = 0x77;
+       int first = 0x08, last = 0x77;
        int flags = 0;
        int yes = 0, version = 0, list = 0;
 
diff --git a/tools/i2cdump.8 b/tools/i2cdump.8
index 2240f3c..18bf600 100644
--- a/tools/i2cdump.8
+++ b/tools/i2cdump.8
@@ -43,12 +43,12 @@ will perform the operation directly. This is mainly meant 
to be used in
 scripts.
 .TP
 .B -a
-Allow using addresses between 0x00 - 0x02 and 0x78 - 0x7f. Not recommended.
+Allow using addresses between 0x00 - 0x07 and 0x78 - 0x7f. Not recommended.
 .PP
 At least two options must be provided to i2cdump. \fIi2cbus\fR indicates the
 number or name of the I2C bus to be scanned. This number should correspond to 
one
 of the busses listed by \fIi2cdetect -l\fR. \fIaddress\fR indicates the
-address to be scanned on that bus, and is an integer between 0x03 and 0x77.
+address to be scanned on that bus, and is an integer between 0x08 and 0x77.
 .PP
 The \fImode\fR parameter, if specified, is one of the letters \fBb\fP, \fBw\fP,
 \fBs\fP, or \fBi\fP, corresponding to a read size of a single byte, a 16-bit
diff --git a/tools/i2cdump.c b/tools/i2cdump.c
index 3bd2077..70cecb9 100644
--- a/tools/i2cdump.c
+++ b/tools/i2cdump.c
@@ -38,7 +38,7 @@ static void help(void)
        fprintf(stderr,
                "Usage: i2cdump [-f] [-y] [-r first-last] [-a] I2CBUS ADDRESS 
[MODE [BANK [BANKREG]]]\n"
                "  I2CBUS is an integer or an I2C bus name\n"
-               "  ADDRESS is an integer (0x03 - 0x77, or 0x00 - 0x7f if -a is 
given)\n"
+               "  ADDRESS is an integer (0x08 - 0x77, or 0x00 - 0x7f if -a is 
given)\n"
                "  MODE is one of:\n"
                "    b (byte, default)\n"
                "    w (word)\n"
diff --git a/tools/i2cget.8 b/tools/i2cget.8
index 8b48ad7..680279f 100644
--- a/tools/i2cget.8
+++ b/tools/i2cget.8
@@ -37,12 +37,12 @@ will perform the operation directly. This is mainly meant 
to be used in
 scripts. Use with caution.
 .TP
 .B -a
-Allow using addresses between 0x00 - 0x02 and 0x78 - 0x7f. Not recommended.
+Allow using addresses between 0x00 - 0x07 and 0x78 - 0x7f. Not recommended.
 .PP
 There are two required options to i2cget. \fIi2cbus\fR indicates the number
 or name of the I2C bus to be scanned.  This number should correspond to one of
 the busses listed by \fIi2cdetect -l\fR. \fIchip-address\fR specifies the
-address of the chip on that bus, and is an integer between 0x03 and 0x77.
+address of the chip on that bus, and is an integer between 0x08 and 0x77.
 .PP
 \fIdata-address\fR specifies the address on that chip to read from, and is
 an integer between 0x00 and 0xFF. If omitted, the currently active register
diff --git a/tools/i2cget.c b/tools/i2cget.c
index d2ed56a..1db4f39 100644
--- a/tools/i2cget.c
+++ b/tools/i2cget.c
@@ -43,7 +43,7 @@ static void help(void)
        fprintf(stderr,
                "Usage: i2cget [-f] [-y] [-a] I2CBUS CHIP-ADDRESS [DATA-ADDRESS 
[MODE]]\n"
                "  I2CBUS is an integer or an I2C bus name\n"
-               "  ADDRESS is an integer (0x03 - 0x77, or 0x00 - 0x7f if -a is 
given)\n"
+               "  ADDRESS is an integer (0x08 - 0x77, or 0x00 - 0x7f if -a is 
given)\n"
                "  MODE is one of:\n"
                "    b (read byte data, default)\n"
                "    w (read word data)\n"
diff --git a/tools/i2cset.8 b/tools/i2cset.8
index cd53aba..8c73c60 100644
--- a/tools/i2cset.8
+++ b/tools/i2cset.8
@@ -57,12 +57,12 @@ value written. This used to be the default behavior. The 
same limitations
 apply as those of option \fB-m\fR.
 .TP
 .B -a
-Allow using addresses between 0x00 - 0x02 and 0x78 - 0x7f. Not recommended.
+Allow using addresses between 0x00 - 0x07 and 0x78 - 0x7f. Not recommended.
 .PP
 There are three required options to i2cset. \fIi2cbus\fR indicates the number
 or name of the I2C bus to be scanned.  This number should correspond to one of
 the busses listed by \fIi2cdetect -l\fR. \fIchip-address\fR specifies the
-address of the chip on that bus, and is an integer between 0x03 and 0x77.
+address of the chip on that bus, and is an integer between 0x08 and 0x77.
 \fIdata-address\fR specifies the address on that chip to write to, and is an
 integer between 0x00 and 0xFF.
 .PP
diff --git a/tools/i2cset.c b/tools/i2cset.c
index e82dc52..f0430f2 100644
--- a/tools/i2cset.c
+++ b/tools/i2cset.c
@@ -40,7 +40,7 @@ static void help(void)
        fprintf(stderr,
                "Usage: i2cset [-f] [-y] [-m MASK] [-r] [-a] I2CBUS 
CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]\n"
                "  I2CBUS is an integer or an I2C bus name\n"
-               "  ADDRESS is an integer (0x03 - 0x77, or 0x00 - 0x7f if -a is 
given)\n"
+               "  ADDRESS is an integer (0x08 - 0x77, or 0x00 - 0x7f if -a is 
given)\n"
                "  MODE is one of:\n"
                "    c (byte, no value)\n"
                "    b (byte data, default)\n"
diff --git a/tools/i2ctransfer.8 b/tools/i2ctransfer.8
index 1f8ed82..d16e34e 100644
--- a/tools/i2ctransfer.8
+++ b/tools/i2ctransfer.8
@@ -64,7 +64,7 @@ It will print infos about all messages sent, i.e. not only 
for read messages but
 Display the version and exit.
 .TP
 .B -a
-Allow using addresses between 0x00 - 0x02 and 0x78 - 0x7f. Not recommended.
+Allow using addresses between 0x00 - 0x07 and 0x78 - 0x7f. Not recommended.
 
 .SH ARGUMENTS
 .PP
@@ -95,7 +95,7 @@ It is parsed as an unsigned 16 bit integer, but note that the 
Linux Kernel appli
 .B [@address]
 specifies the 7-bit address of the chip to be accessed for this message, and 
is an integer.
 If omitted, reuse the previous address.
-Normally, addresses outside the range of 0x03-0x77 and addresses with a kernel 
driver attached to them will be blocked.
+Normally, addresses outside the range of 0x08-0x77 and addresses with a kernel 
driver attached to them will be blocked.
 This can be overridden with
 .I -a
 (all) or
-- 
2.11.0

Reply via email to