About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / hwmon / pcf8591




Custom Search

Based on kernel version 3.13. Page generated on 2014-01-20 22:03 EST.

1	Kernel driver pcf8591
2	=====================
3	
4	Supported chips:
5	  * Philips/NXP PCF8591
6	    Prefix: 'pcf8591'
7	    Addresses scanned: none
8	    Datasheet: Publicly available at the NXP website
9	               http://www.nxp.com/pip/PCF8591_6.html
10	
11	Authors:
12	        Aurelien Jarno <aurelien@aurel32.net>
13	        valuable contributions by Jan M. Sendler <sendler@sendler.de>,
14	        Jean Delvare <khali@linux-fr.org>
15	
16	
17	Description
18	-----------
19	
20	The PCF8591 is an 8-bit A/D and D/A converter (4 analog inputs and one
21	analog output) for the I2C bus produced by Philips Semiconductors (now NXP).
22	It is designed to provide a byte I2C interface to up to 4 separate devices.
23	
24	The PCF8591 has 4 analog inputs programmable as single-ended or
25	differential inputs :
26	- mode 0 : four single ended inputs
27	        Pins AIN0 to AIN3 are single ended inputs for channels 0 to 3
28	
29	- mode 1 : three differential inputs
30	        Pins AIN3 is the common negative differential input
31	        Pins AIN0 to AIN2 are positive differential inputs for channels 0 to 2
32	
33	- mode 2 : single ended and differential mixed
34	        Pins AIN0 and AIN1 are single ended inputs for channels 0 and 1
35	        Pins AIN2 is the positive differential input for channel 3
36	        Pins AIN3 is the negative differential input for channel 3
37	
38	- mode 3 : two differential inputs
39	        Pins AIN0 is the positive differential input for channel 0
40	        Pins AIN1 is the negative differential input for channel 0
41	        Pins AIN2 is the positive differential input for channel 1
42	        Pins AIN3 is the negative differential input for channel 1
43	
44	See the datasheet for details.
45	
46	Module parameters
47	-----------------
48	
49	* input_mode int
50	
51	    Analog input mode:
52	         0 = four single ended inputs
53	         1 = three differential inputs
54	         2 = single ended and differential mixed
55	         3 = two differential inputs
56	
57	
58	Accessing PCF8591 via /sys interface
59	-------------------------------------
60	
61	The PCF8591 is plainly impossible to detect! Thus the driver won't even
62	try. You have to explicitly instantiate the device at the relevant
63	address (in the interval [0x48..0x4f]) either through platform data, or
64	using the sysfs interface. See Documentation/i2c/instantiating-devices
65	for details.
66	
67	Directories are being created for each instantiated PCF8591:
68	
69	/sys/bus/i2c/devices/<0>-<1>/
70	where <0> is the bus the chip is connected to (e. g. i2c-0)
71	and <1> the chip address ([48..4f])
72	
73	Inside these directories, there are such files:
74	in0_input, in1_input, in2_input, in3_input, out0_enable, out0_output, name
75	
76	Name contains chip name.
77	
78	The in0_input, in1_input, in2_input and in3_input files are RO. Reading gives
79	the value of the corresponding channel. Depending on the current analog inputs
80	configuration, files in2_input and in3_input may not exist. Values range
81	from 0 to 255 for single ended inputs and -128 to +127 for differential inputs
82	(8-bit ADC).
83	
84	The out0_enable file is RW. Reading gives "1" for analog output enabled and
85	"0" for analog output disabled. Writing accepts "0" and "1" accordingly.
86	
87	The out0_output file is RW. Writing a number between 0 and 255 (8-bit DAC), send
88	the value to the digital-to-analog converter. Note that a voltage will
89	only appears on AOUT pin if aout0_enable equals 1. Reading returns the last
90	value written.
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.