cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ad525x_dpot.rst (1681B)


      1.. SPDX-License-Identifier: GPL-2.0
      2
      3=============================
      4AD525x Digital Potentiometers
      5=============================
      6
      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
     13Files
     14=====
     15
     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
     28Example
     29=======
     30
     31Locate the device in your sysfs tree.  This is probably easiest by going into
     32the common i2c directory and locating the device by the i2c slave address::
     33
     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
     38address of 0x2f, we descend (unrelated sysfs entries have been trimmed)::
     39
     40	# ls /sys/bus/i2c/devices/0-002f/
     41	eeprom0 rdac0 tolerance0
     42
     43You can use simple reads/writes to access these files::
     44
     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