forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
204 lines
5.2 KiB
204 lines
5.2 KiB
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/iio/dac/adi,ad5592r.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: Analog Devices AD5592R/AD5593R DAC/ADC |
|
|
|
maintainers: |
|
- Michael Hennerich <[email protected]> |
|
|
|
properties: |
|
compatible: |
|
enum: |
|
- adi,ad5592r |
|
- adi,ad5593r |
|
|
|
reg: |
|
maxItems: 1 |
|
|
|
spi-max-frequency: |
|
maximum: 30000000 |
|
|
|
spi-cpol: true |
|
|
|
"#address-cells": |
|
const: 1 |
|
|
|
"#size-cells": |
|
const: 0 |
|
|
|
"#io-channel-cells": |
|
const: 1 |
|
|
|
vref-supply: |
|
description: If not set internal 2.5V reference used. |
|
|
|
reset-gpios: |
|
maxItems: 1 |
|
|
|
gpio-controller: |
|
description: Marks the device node as a GPIO controller. |
|
|
|
"#gpio-cells": |
|
const: 2 |
|
description: |
|
The first cell is the GPIO number and the second cell specifies |
|
GPIO flags, as defined in <dt-bindings/gpio/gpio.h>. |
|
|
|
required: |
|
- compatible |
|
- reg |
|
- "#address-cells" |
|
- "#size-cells" |
|
|
|
allOf: |
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
const: adi,ad5592r |
|
then: |
|
required: |
|
- spi-cpol |
|
else: |
|
properties: |
|
spi-cpol: false |
|
|
|
additionalProperties: false |
|
|
|
patternProperties: |
|
"^(channel@)[0-7]$": |
|
type: object |
|
description: Child node to describe a channel |
|
properties: |
|
reg: |
|
minimum: 0 |
|
maximum: 7 |
|
|
|
adi,mode: |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
enum: [0, 1, 2, 3, 8] |
|
description: | |
|
Mode or function of this channel. |
|
Macros specifying the valid values can be found in |
|
<dt-bindings/iio/adi,ad5592r.h>. |
|
|
|
The following values are currently supported: |
|
* CH_MODE_UNUSED (the pin is unused) |
|
* CH_MODE_ADC (the pin is ADC input) |
|
* CH_MODE_DAC (the pin is DAC output) |
|
* CH_MODE_DAC_AND_ADC (the pin is DAC output but can be monitored |
|
by an ADC, since there is no disadvantage this should be |
|
considered as the preferred DAC mode) |
|
* CH_MODE_GPIO (the pin is registered with GPIOLIB) |
|
|
|
adi,off-state: |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
enum: [0, 1, 2, 3] |
|
description: | |
|
State of this channel when unused or the device gets removed. |
|
Macros specifying the valid values can be found in |
|
<dt-bindings/iio/adi,ad5592r.h>. |
|
* CH_OFFSTATE_PULLDOWN (the pin is pulled down) |
|
* CH_OFFSTATE_OUT_LOW (the pin is output low) |
|
* CH_OFFSTATE_OUT_HIGH (the pin is output high) |
|
* CH_OFFSTATE_OUT_TRISTATE (the pin is tristated output) |
|
|
|
required: |
|
- reg |
|
- adi,mode |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/iio/adi,ad5592r.h> |
|
spi { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
addac@0 { |
|
compatible = "adi,ad5592r"; |
|
#size-cells = <0>; |
|
#address-cells = <1>; |
|
#gpio-cells = <2>; |
|
reg = <0>; |
|
|
|
spi-max-frequency = <1000000>; |
|
spi-cpol; |
|
|
|
vref-supply = <&vref>; |
|
reset-gpios = <&gpio0 86 0>; |
|
gpio-controller; |
|
|
|
channel@0 { |
|
reg = <0>; |
|
adi,mode = <CH_MODE_DAC>; |
|
}; |
|
channel@1 { |
|
reg = <1>; |
|
adi,mode = <CH_MODE_ADC>; |
|
}; |
|
channel@2 { |
|
reg = <2>; |
|
adi,mode = <CH_MODE_DAC_AND_ADC>; |
|
}; |
|
channel@3 { |
|
reg = <3>; |
|
adi,mode = <CH_MODE_DAC_AND_ADC>; |
|
adi,off-state = <CH_OFFSTATE_PULLDOWN>; |
|
}; |
|
channel@4 { |
|
reg = <4>; |
|
adi,mode = <CH_MODE_UNUSED>; |
|
adi,off-state = <CH_OFFSTATE_PULLDOWN>; |
|
}; |
|
channel@5 { |
|
reg = <5>; |
|
adi,mode = <CH_MODE_GPIO>; |
|
adi,off-state = <CH_OFFSTATE_PULLDOWN>; |
|
}; |
|
channel@6 { |
|
reg = <6>; |
|
adi,mode = <CH_MODE_GPIO>; |
|
adi,off-state = <CH_OFFSTATE_PULLDOWN>; |
|
}; |
|
channel@7 { |
|
reg = <7>; |
|
adi,mode = <CH_MODE_GPIO>; |
|
adi,off-state = <CH_OFFSTATE_PULLDOWN>; |
|
}; |
|
}; |
|
ad5593r@10 { |
|
compatible = "adi,ad5593r"; |
|
#size-cells = <0>; |
|
#address-cells = <1>; |
|
#gpio-cells = <2>; |
|
reg = <0x10>; |
|
gpio-controller; |
|
|
|
channel@0 { |
|
reg = <0>; |
|
adi,mode = <CH_MODE_DAC>; |
|
adi,off-state = <CH_OFFSTATE_PULLDOWN>; |
|
}; |
|
channel@1 { |
|
reg = <1>; |
|
adi,mode = <CH_MODE_ADC>; |
|
adi,off-state = <CH_OFFSTATE_PULLDOWN>; |
|
}; |
|
channel@2 { |
|
reg = <2>; |
|
adi,mode = <CH_MODE_DAC_AND_ADC>; |
|
adi,off-state = <CH_OFFSTATE_PULLDOWN>; |
|
}; |
|
channel@6 { |
|
reg = <6>; |
|
adi,mode = <CH_MODE_GPIO>; |
|
adi,off-state = <CH_OFFSTATE_PULLDOWN>; |
|
}; |
|
}; |
|
}; |
|
...
|
|
|