diff options
author | Jean Delvare <jdelvare@suse.de> | 2014-07-10 12:56:59 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2014-07-17 19:56:15 +0200 |
commit | 2408c17fce9236d929b15a975cbd8129de089d62 (patch) | |
tree | 1c2c69fbba6554fe59d8dbd947aa378892990f7a /Documentation/i2c/i2c-stub | |
parent | 1dff59831b2b78122a883f44269be6597b378afa (diff) | |
download | linux-2408c17fce9236d929b15a975cbd8129de089d62.tar.bz2 |
i2c: stub: Add support for banked register ranges
Some chips implement banked register ranges. This allows implementing
more registers than the limited 8-bit address space originally allows.
In order to access a register on these chips, you must first select
the proper bank. Add support for this mechanism to the i2c-stub driver
so that such chips can be emulated. All the bank settings are passed
as module parameters.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'Documentation/i2c/i2c-stub')
-rw-r--r-- | Documentation/i2c/i2c-stub | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Documentation/i2c/i2c-stub b/Documentation/i2c/i2c-stub index a0fe7a04a3bd..a16924fbd289 100644 --- a/Documentation/i2c/i2c-stub +++ b/Documentation/i2c/i2c-stub @@ -47,15 +47,18 @@ unsigned long functionality: value 0x1f0000 would only enable the quick, byte and byte data commands. +u8 bank_reg[10] +u8 bank_mask[10] +u8 bank_start[10] +u8 bank_end[10]: + Optional bank settings. They tell which bits in which register + select the active bank, as well as the range of banked registers. + CAVEATS: If your target driver polls some byte or word waiting for it to change, the stub could lock it up. Use i2cset to unlock it. -If the hardware for your driver has banked registers (e.g. Winbond sensors -chips) this module will not work well - although it could be extended to -support that pretty easily. - If you spam it hard enough, printk can be lossy. This module really wants something like relayfs. |