PCF8591(4)

NAME
pcf8591 - driver for the PCF8591 8-bit A/D and D/A converter

SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file:

device pcf8591
device iicbus

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

    pcf8591_load="YES"

DESCRIPTION
The pcf8591 driver supports reading four inputs and setting one output over I2C. The hardware supports configuring the input lines as:

•   four single-ended inputs

•   three differential inputs (one input line is shared between all three inputs)

•   two single-ended inputs and one differential input

•   two differential inputs.

The pcf8591 driver reports data via sysctl(8) entries in the device's node in the sysctl(8) tree:

inputs.%d
    The input level of the corresponding input in steps between 0 and 255. Absolute voltage depends on an actual reference voltage.

On an FDT(4) based system the following properties must be set:

compatible
    Must be set to "nxp,pcf8591".

reg The I2C address of pcf8591. It should be in the range from 0x40 to 0x4f (7-bit).

The DTS part for a pcf8591 device usually looks like:

    / {
    	...
    	pcf8591adc {
    		compatible = "nxp,pcf8591";
    		reg = <0x48>;
    	};
    };

SEE ALSO
fdt(4), iicbus(4), sysctl(8)

HISTORY
The pcf8591 driver and this manual page was written by Andriy Gapon <avg@FreeBSD.org>.

BUGS
The pcf8591 driver does not support changing the input configuration. All input lines are configured as single-ended inputs.

The pcf8591 driver does not support setting the output. It is always disabled (tri-state).