Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

ADS1015 (I2C)

This device is a 12-bit A-D converter with 4 inputs.

The inputs can be used single ended or in certain differential combinations.

For configuration all possible combinations are mapped to 8 channels:
  0: Voltage over AIN0 and AIN1.
  1: Voltage over AIN0 and AIN3.
  2: Voltage over AIN1 and AIN3.
  3: Voltage over AIN2 and AIN3.
  4: Voltage over AIN0 and GND.
  5: Voltage over AIN1 and GND.
  6: Voltage over AIN2 and GND.
  7: Voltage over AIN3 and GND.

Each channel can be configured individually:
 - pga is the programmable gain amplifier (values are full scale)
    0: +/- 6.144 V
    1: +/- 4.096 V
    2: +/- 2.048 V (default)
    3: +/- 1.024 V
    4: +/- 0.512 V
    5: +/- 0.256 V
 - data_rate in samples per second
    0: 128
    1: 250
    2: 490
    3: 920
    4: 1600 (default)
    5: 2400
    6: 3300

1) The /ads1015 node

  Required properties:

   - compatible : must be "ti,ads1015"
   - reg : I2C bus address of the device
   - #address-cells : must be <1>
   - #size-cells : must be <0>

  The node contains child nodes for each channel that the platform uses.

  Example ADS1015 node:

    ads1015@49 {
	    compatible = "ti,ads1015";
	    reg = <0x49>;
	    #address-cells = <1>;
	    #size-cells = <0>;

	    [ child node definitions... ]
    }

2) channel nodes

  Required properties:

   - reg : the channel number

  Optional properties:

   - ti,gain : the programmable gain amplifier setting
   - ti,datarate : the converter data rate

  Example ADS1015 channel node:

    channel@4 {
	    reg = <4>;
	    ti,gain = <3>;
	    ti,datarate = <5>;
    };