mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-04 04:04:19 +00:00
dt-bindings: iio: resolver: add devicetree bindings for ad2s1210
This adds new DeviceTree bindings for the Analog Devices, Inc. AD2S1210 resolver-to-digital converter. Co-developed-by: Apelete Seketeli <aseketeli@baylibre.com> Signed-off-by: Apelete Seketeli <aseketeli@baylibre.com> Signed-off-by: David Lechner <dlechner@baylibre.com> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230929-ad2s1210-mainline-v3-1-fa4364281745@baylibre.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
1731a0c492
commit
1c61848f53
177
Documentation/devicetree/bindings/iio/resolver/adi,ad2s1210.yaml
Normal file
177
Documentation/devicetree/bindings/iio/resolver/adi,ad2s1210.yaml
Normal file
@ -0,0 +1,177 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/resolver/adi,ad2s1210.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices AD2S1210 Resolver-to-Digital Converter
|
||||
|
||||
maintainers:
|
||||
- Michael Hennerich <michael.hennerich@analog.com>
|
||||
|
||||
description: |
|
||||
The AD2S1210 is a complete 10-bit to 16-bit resolution tracking
|
||||
resolver-to-digital converter, integrating an on-board programmable
|
||||
sinusoidal oscillator that provides sine wave excitation for
|
||||
resolvers.
|
||||
|
||||
The AD2S1210 allows the user to read the angular position or the
|
||||
angular velocity data directly from the parallel outputs or through
|
||||
the serial interface.
|
||||
|
||||
The mode of operation of the communication channel (parallel or serial) is
|
||||
selected by the A0 and A1 input pins. In normal mode, data is latched by
|
||||
toggling the SAMPLE line and can then be read directly. In configuration mode,
|
||||
data is read or written using a register access scheme (address byte with
|
||||
read/write flag and data byte).
|
||||
|
||||
A1 A0 Result
|
||||
0 0 Normal mode - position output
|
||||
0 1 Normal mode - velocity output
|
||||
1 0 Reserved
|
||||
1 1 Configuration mode
|
||||
|
||||
In normal mode, the resolution of the digital output is selected using
|
||||
the RES0 and RES1 input pins. In configuration mode, the resolution is
|
||||
selected by setting the RES0 and RES1 bits in the control register.
|
||||
|
||||
RES1 RES0 Resolution (Bits)
|
||||
0 0 10
|
||||
0 1 12
|
||||
1 0 14
|
||||
1 1 16
|
||||
|
||||
Note on SPI connections: The CS line on the AD2S1210 should hard-wired to
|
||||
logic low and the WR/FSYNC line on the AD2S1210 should be connected to the
|
||||
SPI CSn output of the SPI controller.
|
||||
|
||||
Datasheet:
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad2s1210.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: adi,ad2s1210
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 25000000
|
||||
|
||||
spi-cpha: true
|
||||
|
||||
avdd-supply:
|
||||
description:
|
||||
A 4.75 to 5.25 V regulator that powers the Analog Supply Voltage (AVDD)
|
||||
pin.
|
||||
|
||||
dvdd-supply:
|
||||
description:
|
||||
A 4.75 to 5.25 V regulator that powers the Digital Supply Voltage (DVDD)
|
||||
pin.
|
||||
|
||||
vdrive-supply:
|
||||
description:
|
||||
A 2.3 to 5.25 V regulator that powers the Logic Power Supply Input
|
||||
(VDrive) pin.
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
description: External oscillator clock (CLKIN).
|
||||
|
||||
reset-gpios:
|
||||
description:
|
||||
GPIO connected to the /RESET pin. As the line needs to be low for the
|
||||
reset to be active, it should be configured as GPIO_ACTIVE_LOW.
|
||||
maxItems: 1
|
||||
|
||||
sample-gpios:
|
||||
description:
|
||||
GPIO connected to the /SAMPLE pin. As the line needs to be low to trigger
|
||||
a sample, it should be configured as GPIO_ACTIVE_LOW.
|
||||
maxItems: 1
|
||||
|
||||
mode-gpios:
|
||||
description:
|
||||
GPIO lines connected to the A0 and A1 pins. These pins select the data
|
||||
transfer mode.
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
||||
resolution-gpios:
|
||||
description:
|
||||
GPIO lines connected to the RES0 and RES1 pins. These pins select the
|
||||
resolution of the digital output. If omitted, it is assumed that the
|
||||
RES0 and RES1 pins are hard-wired to match the assigned-resolution-bits
|
||||
property.
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
||||
fault-gpios:
|
||||
description:
|
||||
GPIO lines connected to the LOT and DOS pins. These pins combined indicate
|
||||
the type of fault present, if any. As these pins a pulled low to indicate
|
||||
a fault condition, they should be configured as GPIO_ACTIVE_LOW.
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
||||
adi,fixed-mode:
|
||||
description:
|
||||
This is used to indicate the selected mode if A0 and A1 are hard-wired
|
||||
instead of connected to GPIOS (i.e. mode-gpios is omitted).
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum: [config, velocity, position]
|
||||
|
||||
assigned-resolution-bits:
|
||||
description:
|
||||
Resolution of the digital output required by the application. This
|
||||
determines the precision of the angle and/or the maximum speed that can
|
||||
be measured. If resolution-gpios is omitted, it is assumed that RES0 and
|
||||
RES1 are hard-wired to match this value.
|
||||
enum: [10, 12, 14, 16]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- spi-cpha
|
||||
- avdd-supply
|
||||
- dvdd-supply
|
||||
- vdrive-supply
|
||||
- clocks
|
||||
- sample-gpios
|
||||
- assigned-resolution-bits
|
||||
|
||||
oneOf:
|
||||
- required:
|
||||
- mode-gpios
|
||||
- required:
|
||||
- adi,fixed-mode
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
resolver@0 {
|
||||
compatible = "adi,ad2s1210";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <20000000>;
|
||||
spi-cpha;
|
||||
avdd-supply = <&avdd_regulator>;
|
||||
dvdd-supply = <&dvdd_regulator>;
|
||||
vdrive-supply = <&vdrive_regulator>;
|
||||
clocks = <&ext_osc>;
|
||||
sample-gpios = <&gpio0 90 GPIO_ACTIVE_LOW>;
|
||||
mode-gpios = <&gpio0 86 0>, <&gpio0 87 0>;
|
||||
resolution-gpios = <&gpio0 88 0>, <&gpio0 89 0>;
|
||||
assigned-resolution-bits = <16>;
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue
Block a user