mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-26 12:26:11 +00:00
dt-bindings: iio: adc: adding MCP3564 ADC
This is the device tree schema for iio driver for Microchip family of 153.6 ksps, Low-Noise 16/24-Bit Delta-Sigma ADCs with an SPI interface (Microchip's MCP3461, MCP3462, MCP3464, MCP3461R, MCP3462R, MCP3464R, MCP3561, MCP3562, MCP3564, MCP3561R, MCP3562R and MCP3564R analog to digital converters). Signed-off-by: Marius Cristea <marius.cristea@microchip.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20230829154133.40716-2-marius.cristea@microchip.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
733e0fed9c
commit
df2ece7aec
1 changed files with 205 additions and 0 deletions
205
Documentation/devicetree/bindings/iio/adc/microchip,mcp3564.yaml
Normal file
205
Documentation/devicetree/bindings/iio/adc/microchip,mcp3564.yaml
Normal file
|
@ -0,0 +1,205 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/adc/microchip,mcp3564.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip MCP346X and MCP356X ADC Family
|
||||
|
||||
maintainers:
|
||||
- Marius Cristea <marius.cristea@microchip.com>
|
||||
|
||||
description: |
|
||||
Bindings for the Microchip family of 153.6 ksps, Low-Noise 16/24-Bit
|
||||
Delta-Sigma ADCs with an SPI interface. Datasheet can be found here:
|
||||
Datasheet for MCP3561, MCP3562, MCP3564 can be found here:
|
||||
https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/DataSheets/MCP3561-2-4-Family-Data-Sheet-DS20006181C.pdf
|
||||
Datasheet for MCP3561R, MCP3562R, MCP3564R can be found here:
|
||||
https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP3561_2_4R-Data-Sheet-DS200006391C.pdf
|
||||
Datasheet for MCP3461, MCP3462, MCP3464 can be found here:
|
||||
https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP3461-2-4-Two-Four-Eight-Channel-153.6-ksps-Low-Noise-16-Bit-Delta-Sigma-ADC-Data-Sheet-20006180D.pdf
|
||||
Datasheet for MCP3461R, MCP3462R, MCP3464R can be found here:
|
||||
https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP3461-2-4R-Family-Data-Sheet-DS20006404C.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- microchip,mcp3461
|
||||
- microchip,mcp3462
|
||||
- microchip,mcp3464
|
||||
- microchip,mcp3461r
|
||||
- microchip,mcp3462r
|
||||
- microchip,mcp3464r
|
||||
- microchip,mcp3561
|
||||
- microchip,mcp3562
|
||||
- microchip,mcp3564
|
||||
- microchip,mcp3561r
|
||||
- microchip,mcp3562r
|
||||
- microchip,mcp3564r
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 20000000
|
||||
|
||||
spi-cpha: true
|
||||
|
||||
spi-cpol: true
|
||||
|
||||
vdd-supply: true
|
||||
|
||||
avdd-supply: true
|
||||
|
||||
clocks:
|
||||
description:
|
||||
Phandle and clock identifier for external sampling clock.
|
||||
If not specified, the internal crystal oscillator will be used.
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
description: IRQ line of the ADC
|
||||
maxItems: 1
|
||||
|
||||
drive-open-drain:
|
||||
description:
|
||||
Whether to drive the IRQ signal as push-pull (default) or open-drain. Note
|
||||
that the device requires this pin to become "high", otherwise it will stop
|
||||
converting.
|
||||
type: boolean
|
||||
|
||||
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. mcp3564r). In
|
||||
case of "r" devices (e. g. mcp3564r), if it does not exists the internal
|
||||
reference will be used.
|
||||
|
||||
microchip,hw-device-address:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
description:
|
||||
The address is set on a per-device basis by fuses in the factory,
|
||||
configured on request. If not requested, the fuses are set for 0x1.
|
||||
The device address is part of the device markings to avoid
|
||||
potential confusion. This address is coded on two bits, so four possible
|
||||
addresses are available when multiple devices are present on the same
|
||||
SPI bus with only one Chip Select line for all devices.
|
||||
Each device communication starts by a CS falling edge, followed by the
|
||||
clocking of the device address (BITS[7:6] - top two bits of COMMAND BYTE
|
||||
which is first one on the wire).
|
||||
|
||||
"#io-channel-cells":
|
||||
const: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^channel@([0-9]|([1-7][0-9]))$":
|
||||
$ref: adc.yaml
|
||||
type: object
|
||||
unevaluatedProperties: false
|
||||
description: Represents the external channels which are connected to the ADC.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description: The channel number in single-ended and differential mode.
|
||||
minimum: 0
|
||||
maximum: 79
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
dependencies:
|
||||
spi-cpol: [ spi-cpha ]
|
||||
spi-cpha: [ spi-cpol ]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- microchip,hw-device-address
|
||||
- spi-max-frequency
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
- # External vref, no internal reference
|
||||
if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- microchip,mcp3461
|
||||
- microchip,mcp3462
|
||||
- microchip,mcp3464
|
||||
- microchip,mcp3561
|
||||
- microchip,mcp3562
|
||||
- microchip,mcp3564
|
||||
then:
|
||||
required:
|
||||
- vref-supply
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc@0 {
|
||||
compatible = "microchip,mcp3564r";
|
||||
reg = <0>;
|
||||
vref-supply = <&vref_reg>;
|
||||
spi-cpha;
|
||||
spi-cpol;
|
||||
spi-max-frequency = <10000000>;
|
||||
microchip,hw-device-address = <1>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
channel@0 {
|
||||
/* CH0 to AGND */
|
||||
reg = <0>;
|
||||
label = "CH0";
|
||||
};
|
||||
|
||||
channel@1 {
|
||||
/* CH1 to AGND */
|
||||
reg = <1>;
|
||||
label = "CH1";
|
||||
};
|
||||
|
||||
/* diff-channels */
|
||||
channel@11 {
|
||||
reg = <11>;
|
||||
|
||||
/* CN0, CN1 */
|
||||
diff-channels = <0 1>;
|
||||
label = "CH0_CH1";
|
||||
};
|
||||
|
||||
channel@22 {
|
||||
reg = <0x22>;
|
||||
|
||||
/* CN1, CN2 */
|
||||
diff-channels = <1 2>;
|
||||
label = "CH1_CH3";
|
||||
};
|
||||
|
||||
channel@23 {
|
||||
reg = <0x23>;
|
||||
|
||||
/* CN1, CN3 */
|
||||
diff-channels = <1 3>;
|
||||
label = "CH1_CH3";
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
Loading…
Reference in a new issue