mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
The ROHM BD79105 is a simple, 16-bit, 1-channel ADC with a 'CONVSTART' pin used to start the ADC conversion. Other than the 'CONVSTART', there are 3 supply pins (one used as a reference), analog inputs, ground and communication pins. It's worth noting that the pin somewhat confusingly labeled as 'DIN', is a pin which should be used as a chip-select. The IC does not have any writable registers. The device is designed so that the output pin can, in addition to outputting the data, be used as a 'data-ready'-IRQ. There are cases where the IRQ can't be used (because it is delivered via SPI data-line). Hence, some systems may use a GPIO for polling the data readiness. Add a compatible for the bd79105 and add the data-ready GPIO to the binding. Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://patch.msgid.link/3f70f68665225be3091f8a0412e74037b6a2a88e.1754901948.git.mazziesaccount@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
227 lines
5.1 KiB
YAML
227 lines
5.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
# Copyright 2019 Analog Devices Inc.
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/iio/adc/adi,ad7476.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: AD7476 and similar simple SPI ADCs from multiple manufacturers.
|
|
|
|
maintainers:
|
|
- Michael Hennerich <michael.hennerich@analog.com>
|
|
|
|
description: |
|
|
A lot of simple SPI ADCs have very straight forward interfaces.
|
|
They typically don't provide a MOSI pin, simply reading out data
|
|
on MISO when the clock toggles.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- adi,ad7091
|
|
- adi,ad7091r
|
|
- adi,ad7273
|
|
- adi,ad7274
|
|
- adi,ad7276
|
|
- adi,ad7277
|
|
- adi,ad7278
|
|
- adi,ad7466
|
|
- adi,ad7467
|
|
- adi,ad7468
|
|
- adi,ad7475
|
|
- adi,ad7476
|
|
- adi,ad7476a
|
|
- adi,ad7477
|
|
- adi,ad7477a
|
|
- adi,ad7478
|
|
- adi,ad7478a
|
|
- adi,ad7495
|
|
- adi,ad7910
|
|
- adi,ad7920
|
|
- adi,ad7940
|
|
- rohm,bd79105
|
|
- ti,adc081s
|
|
- ti,adc101s
|
|
- ti,adc121s
|
|
- ti,ads7866
|
|
- ti,ads7867
|
|
- ti,ads7868
|
|
- lltc,ltc2314-14
|
|
- items:
|
|
- const: rohm,bu79100g
|
|
- const: ti,ads7866
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
description:
|
|
The data-ready interrupt. Provided via DOUT pin.
|
|
maxItems: 1
|
|
|
|
vcc-supply:
|
|
description:
|
|
Main powersupply voltage for the chips, sometimes referred to as VDD on
|
|
datasheets. If there is no separate vref-supply, then this is needed
|
|
to establish channel scaling.
|
|
|
|
vdrive-supply:
|
|
description:
|
|
Some devices have separate supply for their digital control side.
|
|
|
|
vref-supply:
|
|
description:
|
|
Some devices have a specific reference voltage supplied on a different pin
|
|
to the other supplies. Needed to be able to establish channel scaling
|
|
unless there is also an internal reference available (e.g. ad7091r)
|
|
|
|
adi,conversion-start-gpios:
|
|
description: A GPIO used to trigger the start of a conversion
|
|
maxItems: 1
|
|
|
|
rdy-gpios:
|
|
description: A GPIO for detecting the data-ready.
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
allOf:
|
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
|
|
|
# Devices with an IRQ
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- rohm,bd79105
|
|
then:
|
|
properties:
|
|
interrupts: true
|
|
else:
|
|
properties:
|
|
interrupts: false
|
|
|
|
# Devices where reference is vcc
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- adi,ad7091
|
|
- adi,ad7276
|
|
- adi,ad7277
|
|
- adi,ad7278
|
|
- adi,ad7466
|
|
- adi,ad7467
|
|
- adi,ad7468
|
|
- adi,ad7940
|
|
- ti,adc081s
|
|
- ti,adc101s
|
|
- ti,adc121s
|
|
- ti,ads7866
|
|
- ti,ads7868
|
|
then:
|
|
required:
|
|
- vcc-supply
|
|
# Devices with a vref
|
|
- if:
|
|
not:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- adi,ad7091r
|
|
- adi,ad7273
|
|
- adi,ad7274
|
|
- adi,ad7475
|
|
- lltc,ltc2314-14
|
|
- rohm,bd79105
|
|
then:
|
|
properties:
|
|
vref-supply: false
|
|
# Devices with a vref where it is not optional
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- adi,ad7273
|
|
- adi,ad7274
|
|
- adi,ad7475
|
|
- lltc,ltc2314-14
|
|
- rohm,bd79105
|
|
then:
|
|
required:
|
|
- vref-supply
|
|
- if:
|
|
not:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- adi,ad7475
|
|
- adi,ad7495
|
|
- rohm,bd79105
|
|
then:
|
|
properties:
|
|
vdrive-supply: false
|
|
|
|
# Devices which support polling the data-ready via GPIO
|
|
- if:
|
|
not:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- rohm,bd79105
|
|
then:
|
|
properties:
|
|
rdy-gpios: false
|
|
|
|
- if:
|
|
not:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- adi,ad7091
|
|
- adi,ad7091r
|
|
- rohm,bd79105
|
|
then:
|
|
properties:
|
|
adi,conversion-start-gpios: false
|
|
|
|
# Devices with a convstart GPIO where it is not optional
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- rohm,bd79105
|
|
then:
|
|
required:
|
|
- adi,conversion-start-gpios
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
spi {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
adc@0 {
|
|
compatible = "adi,ad7091r";
|
|
reg = <0>;
|
|
spi-max-frequency = <5000000>;
|
|
vcc-supply = <&adc_vcc>;
|
|
vref-supply = <&adc_vref>;
|
|
};
|
|
};
|
|
...
|