162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/adc/ti,ads1015.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: TI ADS1015/ADS1115 4 channel I2C analog to digital converter
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Daniel Baluta <daniel.baluta@nxp.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  Datasheet at: https://www.ti.com/lit/gpn/ads1015
1462306a36Sopenharmony_ci  Supports both single ended and differential channels.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciproperties:
1762306a36Sopenharmony_ci  compatible:
1862306a36Sopenharmony_ci    enum:
1962306a36Sopenharmony_ci      - ti,ads1015
2062306a36Sopenharmony_ci      - ti,ads1115
2162306a36Sopenharmony_ci      - ti,tla2024
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  reg:
2462306a36Sopenharmony_ci    maxItems: 1
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  "#address-cells":
2762306a36Sopenharmony_ci    const: 1
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  "#size-cells":
3062306a36Sopenharmony_ci    const: 0
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  "#io-channel-cells":
3362306a36Sopenharmony_ci    const: 1
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_cirequired:
3662306a36Sopenharmony_ci  - compatible
3762306a36Sopenharmony_ci  - reg
3862306a36Sopenharmony_ci  - "#address-cells"
3962306a36Sopenharmony_ci  - "#size-cells"
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciadditionalProperties: false
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cipatternProperties:
4462306a36Sopenharmony_ci  "^channel@[0-7]+$":
4562306a36Sopenharmony_ci    type: object
4662306a36Sopenharmony_ci    additionalProperties: false
4762306a36Sopenharmony_ci    description:
4862306a36Sopenharmony_ci      Child nodes needed for each channel that the platform uses.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci    properties:
5162306a36Sopenharmony_ci      reg:
5262306a36Sopenharmony_ci        description: |
5362306a36Sopenharmony_ci          0: Voltage over AIN0 and AIN1.
5462306a36Sopenharmony_ci          1: Voltage over AIN0 and AIN3.
5562306a36Sopenharmony_ci          2: Voltage over AIN1 and AIN3.
5662306a36Sopenharmony_ci          3: Voltage over AIN2 and AIN3.
5762306a36Sopenharmony_ci          4: Voltage over AIN0 and GND.
5862306a36Sopenharmony_ci          5: Voltage over AIN1 and GND.
5962306a36Sopenharmony_ci          6: Voltage over AIN2 and GND.
6062306a36Sopenharmony_ci          7: Voltage over AIN3 and GND.
6162306a36Sopenharmony_ci        items:
6262306a36Sopenharmony_ci          - minimum: 0
6362306a36Sopenharmony_ci            maximum: 7
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci      ti,gain:
6662306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
6762306a36Sopenharmony_ci        minimum: 0
6862306a36Sopenharmony_ci        maximum: 5
6962306a36Sopenharmony_ci        description: |
7062306a36Sopenharmony_ci          pga is the programmable gain amplifier (values are full scale)
7162306a36Sopenharmony_ci          0: +/- 6.144 V
7262306a36Sopenharmony_ci          1: +/- 4.096 V
7362306a36Sopenharmony_ci          2: +/- 2.048 V (default)
7462306a36Sopenharmony_ci          3: +/- 1.024 V
7562306a36Sopenharmony_ci          4: +/- 0.512 V
7662306a36Sopenharmony_ci          5: +/- 0.256 V
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci      ti,datarate:
7962306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
8062306a36Sopenharmony_ci        minimum: 0
8162306a36Sopenharmony_ci        maximum: 7
8262306a36Sopenharmony_ci        description: |
8362306a36Sopenharmony_ci          Data acquisition rate in samples per second for ADS1015, TLA2024
8462306a36Sopenharmony_ci          0: 128
8562306a36Sopenharmony_ci          1: 250
8662306a36Sopenharmony_ci          2: 490
8762306a36Sopenharmony_ci          3: 920
8862306a36Sopenharmony_ci          4: 1600 (default)
8962306a36Sopenharmony_ci          5: 2400
9062306a36Sopenharmony_ci          6: 3300
9162306a36Sopenharmony_ci          7: 3300
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci          Data acquisition rate in samples per second for ADS1115
9462306a36Sopenharmony_ci          0: 8
9562306a36Sopenharmony_ci          1: 16
9662306a36Sopenharmony_ci          2: 32
9762306a36Sopenharmony_ci          3: 64
9862306a36Sopenharmony_ci          4: 128 (default)
9962306a36Sopenharmony_ci          5: 250
10062306a36Sopenharmony_ci          6: 475
10162306a36Sopenharmony_ci          7: 860
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci    required:
10462306a36Sopenharmony_ci      - reg
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ciexamples:
10762306a36Sopenharmony_ci  - |
10862306a36Sopenharmony_ci    i2c {
10962306a36Sopenharmony_ci        #address-cells = <1>;
11062306a36Sopenharmony_ci        #size-cells = <0>;
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci        adc@49 {
11362306a36Sopenharmony_ci            compatible = "ti,ads1015";
11462306a36Sopenharmony_ci            reg = <0x49>;
11562306a36Sopenharmony_ci            #address-cells = <1>;
11662306a36Sopenharmony_ci            #size-cells = <0>;
11762306a36Sopenharmony_ci            channel@0 {
11862306a36Sopenharmony_ci                reg = <0>;
11962306a36Sopenharmony_ci            };
12062306a36Sopenharmony_ci            channel@4 {
12162306a36Sopenharmony_ci                reg = <4>;
12262306a36Sopenharmony_ci                ti,gain = <3>;
12362306a36Sopenharmony_ci                ti,datarate = <5>;
12462306a36Sopenharmony_ci            };
12562306a36Sopenharmony_ci        };
12662306a36Sopenharmony_ci    };
12762306a36Sopenharmony_ci...
128