From 2408c17fce9236d929b15a975cbd8129de089d62 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Thu, 10 Jul 2014 12:56:59 +0200 Subject: 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 Tested-by: Guenter Roeck Signed-off-by: Wolfram Sang --- Documentation/i2c/i2c-stub | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'Documentation/i2c') 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. -- cgit v1.2.1