blob: 6483ec254520769287c0a46553e08eb5ec63959b [file] [log] [blame]
Mauro Carvalho Chehab8a05eb82020-06-15 08:50:13 +02001.. SPDX-License-Identifier: GPL-2.0
2
3=============================
4AD525x Digital Potentiometers
5=============================
Michael Hennerich4eb174b2009-12-14 18:00:15 -08006
7The ad525x_dpot driver exports a simple sysfs interface. This allows you to
8work with the immediate resistance settings as well as update the saved startup
9settings. Access to the factory programmed tolerance is also provided, but
10interpretation of this settings is required by the end application according to
11the specific part in use.
12
Mauro Carvalho Chehab8a05eb82020-06-15 08:50:13 +020013Files
14=====
Michael Hennerich4eb174b2009-12-14 18:00:15 -080015
16Each dpot device will have a set of eeprom, rdac, and tolerance files. How
17many depends on the actual part you have, as will the range of allowed values.
18
19The eeprom files are used to program the startup value of the device.
20
21The rdac files are used to program the immediate value of the device.
22
23The tolerance files are the read-only factory programmed tolerance settings
24and may vary greatly on a part-by-part basis. For exact interpretation of
25this field, please consult the datasheet for your part. This is presented
26as a hex file for easier parsing.
27
Mauro Carvalho Chehab8a05eb82020-06-15 08:50:13 +020028Example
29=======
Michael Hennerich4eb174b2009-12-14 18:00:15 -080030
31Locate the device in your sysfs tree. This is probably easiest by going into
Mauro Carvalho Chehab8a05eb82020-06-15 08:50:13 +020032the common i2c directory and locating the device by the i2c slave address::
Michael Hennerich4eb174b2009-12-14 18:00:15 -080033
34 # ls /sys/bus/i2c/devices/
35 0-0022 0-0027 0-002f
36
37So assuming the device in question is on the first i2c bus and has the slave
Mauro Carvalho Chehab8a05eb82020-06-15 08:50:13 +020038address of 0x2f, we descend (unrelated sysfs entries have been trimmed)::
Michael Hennerich4eb174b2009-12-14 18:00:15 -080039
40 # ls /sys/bus/i2c/devices/0-002f/
41 eeprom0 rdac0 tolerance0
42
Mauro Carvalho Chehab8a05eb82020-06-15 08:50:13 +020043You can use simple reads/writes to access these files::
Michael Hennerich4eb174b2009-12-14 18:00:15 -080044
45 # cd /sys/bus/i2c/devices/0-002f/
46
47 # cat eeprom0
48 0
49 # echo 10 > eeprom0
50 # cat eeprom0
51 10
52
53 # cat rdac0
54 5
55 # echo 3 > rdac0
56 # cat rdac0
57 3