| Michael Hennerich | 4eb174b | 2009-12-14 18:00:15 -0800 | [diff] [blame] | 1 | --------------------------------- | 
 | 2 |   AD525x Digital Potentiometers | 
 | 3 | --------------------------------- | 
 | 4 |  | 
 | 5 | The ad525x_dpot driver exports a simple sysfs interface.  This allows you to | 
 | 6 | work with the immediate resistance settings as well as update the saved startup | 
 | 7 | settings.  Access to the factory programmed tolerance is also provided, but | 
 | 8 | interpretation of this settings is required by the end application according to | 
 | 9 | the specific part in use. | 
 | 10 |  | 
 | 11 | --------- | 
 | 12 |   Files | 
 | 13 | --------- | 
 | 14 |  | 
 | 15 | Each dpot device will have a set of eeprom, rdac, and tolerance files.  How | 
 | 16 | many depends on the actual part you have, as will the range of allowed values. | 
 | 17 |  | 
 | 18 | The eeprom files are used to program the startup value of the device. | 
 | 19 |  | 
 | 20 | The rdac files are used to program the immediate value of the device. | 
 | 21 |  | 
 | 22 | The tolerance files are the read-only factory programmed tolerance settings | 
 | 23 | and may vary greatly on a part-by-part basis.  For exact interpretation of | 
 | 24 | this field, please consult the datasheet for your part.  This is presented | 
 | 25 | as a hex file for easier parsing. | 
 | 26 |  | 
 | 27 | ----------- | 
 | 28 |   Example | 
 | 29 | ----------- | 
 | 30 |  | 
 | 31 | Locate the device in your sysfs tree.  This is probably easiest by going into | 
 | 32 | the 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 |  | 
 | 37 | So assuming the device in question is on the first i2c bus and has the slave | 
 | 38 | address of 0x2f, we descend (unrelated sysfs entries have been trimmed). | 
 | 39 |  | 
 | 40 | 	# ls /sys/bus/i2c/devices/0-002f/ | 
 | 41 | 	eeprom0 rdac0 tolerance0 | 
 | 42 |  | 
 | 43 | You 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 |