ad525x_dpot: new driver for AD525x digital potentiometers
This driver supports the non-volatile digital potentiometers via I2C: AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, and AD5255 It provides a sysfs interface to each device for reading/writing which is documented in Documentation/misc-devices/ad525x_dpot.txt. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Chris Verges <chrisv@cyberswitching.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
00b55864bb
commit
4eb174bee6
57
Documentation/misc-devices/ad525x_dpot.txt
Normal file
57
Documentation/misc-devices/ad525x_dpot.txt
Normal file
@@ -0,0 +1,57 @@
|
||||
---------------------------------
|
||||
AD525x Digital Potentiometers
|
||||
---------------------------------
|
||||
|
||||
The ad525x_dpot driver exports a simple sysfs interface. This allows you to
|
||||
work with the immediate resistance settings as well as update the saved startup
|
||||
settings. Access to the factory programmed tolerance is also provided, but
|
||||
interpretation of this settings is required by the end application according to
|
||||
the specific part in use.
|
||||
|
||||
---------
|
||||
Files
|
||||
---------
|
||||
|
||||
Each dpot device will have a set of eeprom, rdac, and tolerance files. How
|
||||
many depends on the actual part you have, as will the range of allowed values.
|
||||
|
||||
The eeprom files are used to program the startup value of the device.
|
||||
|
||||
The rdac files are used to program the immediate value of the device.
|
||||
|
||||
The tolerance files are the read-only factory programmed tolerance settings
|
||||
and may vary greatly on a part-by-part basis. For exact interpretation of
|
||||
this field, please consult the datasheet for your part. This is presented
|
||||
as a hex file for easier parsing.
|
||||
|
||||
-----------
|
||||
Example
|
||||
-----------
|
||||
|
||||
Locate the device in your sysfs tree. This is probably easiest by going into
|
||||
the common i2c directory and locating the device by the i2c slave address.
|
||||
|
||||
# ls /sys/bus/i2c/devices/
|
||||
0-0022 0-0027 0-002f
|
||||
|
||||
So assuming the device in question is on the first i2c bus and has the slave
|
||||
address of 0x2f, we descend (unrelated sysfs entries have been trimmed).
|
||||
|
||||
# ls /sys/bus/i2c/devices/0-002f/
|
||||
eeprom0 rdac0 tolerance0
|
||||
|
||||
You can use simple reads/writes to access these files:
|
||||
|
||||
# cd /sys/bus/i2c/devices/0-002f/
|
||||
|
||||
# cat eeprom0
|
||||
0
|
||||
# echo 10 > eeprom0
|
||||
# cat eeprom0
|
||||
10
|
||||
|
||||
# cat rdac0
|
||||
5
|
||||
# echo 3 > rdac0
|
||||
# cat rdac0
|
||||
3
|
Reference in New Issue
Block a user