mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-17 20:54:10 +00:00
Staging / IIO driver patches for 5.11-rc1
Here is the big staging and IIO driver pull request for 5.11-rc1 Lots of different things in here: - loads of driver updates - so many coding style cleanups - new IIO drivers - Android ION code is finally removed from the tree - wimax drivers are moved to staging on their way out of the kernel Nothing really exciting, just the constant grind of kernel development :) All have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCX9iCdw8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+yn44QCguVCsIkhxYmnuTAkrPQP74CbJoJwAoLVoPM5K LJRbMYjGfRc4gZehlrIV =clR4 -----END PGP SIGNATURE----- Merge tag 'staging-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging / IIO driver updates from Greg KH: "Here is the big staging and IIO driver pull request for 5.11-rc1 Lots of different things in here: - loads of driver updates - so many coding style cleanups - new IIO drivers - Android ION code is finally removed from the tree - wimax drivers are moved to staging on their way out of the kernel Nothing really exciting, just the constant grind of kernel development :) All have been in linux-next for a while with no reported issues" * tag 'staging-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (341 commits) staging: olpc_dcon: Do not call platform_device_unregister() in dcon_probe() staging: most: Fix spelling mistake "tranceiver" -> "transceiver" staging: qlge: remove duplicate word in comment staging: comedi: mf6x4: Fix AI end-of-conversion detection staging: greybus: Add TODO item about modernizing the pwm code pinctrl: ralink: add a pinctrl driver for the rt2880 family dt-bindings: pinctrl: rt2880: add binding document staging: rtl8723bs: remove ELEMENT_ID enum staging: rtl8723bs: remove unused macros staging: rtl8723bs: replace EID_EXTCapability staging: rtl8723bs: replace EID_BSSIntolerantChlReport staging: rtl8723bs: replace EID_BSSCoexistence staging: rtl8723bs: replace _MME_IE_ staging: rtl8723bs: replace _WAPI_IE_ staging: rtl8723bs: replace _EXT_SUPPORTEDRATES_IE_ staging: rtl8723bs: replace _ERPINFO_IE_ staging: rtl8723bs: replace _CHLGETXT_IE_ staging: rtl8723bs: replace _COUNTRY_IE_ staging: rtl8723bs: replace _IBSS_PARA_IE_ staging: rtl8723bs: replace _TIM_IE_ ...
This commit is contained in:
commit
3db1a3fa98
434 changed files with 10179 additions and 10877 deletions
|
@ -1743,6 +1743,16 @@ Description:
|
||||||
|
|
||||||
Raw counter device counters direction for channel Y.
|
Raw counter device counters direction for channel Y.
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_label
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_label
|
||||||
|
KernelVersion: 5.8
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Optional symbolic label to a device channel.
|
||||||
|
If a label is defined for this channel add that to the channel
|
||||||
|
specific attributes. This is useful for userspace to be able to
|
||||||
|
better identify an individual channel.
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
|
What: /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
|
||||||
KernelVersion: 4.18
|
KernelVersion: 4.18
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
|
78
Documentation/ABI/testing/sysfs-bus-iio-adc-mt6360
Normal file
78
Documentation/ABI/testing/sysfs-bus-iio-adc-mt6360
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage0_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 USBID ADC which connected to connector ID pin.
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage1_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VBUS ADC with lower accuracy(+-75mA)
|
||||||
|
higher measure range(1~22mV)
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage2_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VBUS ADC with higher accuracy(+-30mA)
|
||||||
|
lower measure range(1~9.76V)
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage3_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VSYS ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage4_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VBAT ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_current5_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 IBUS ADC
|
||||||
|
Calculating with scale and offset returns voltage in uA
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_current6_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 IBAT ADC
|
||||||
|
Calculating with scale and offset returns voltage in uA
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_current7_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 CHG_VDDP ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_temp8_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 IC junction temperature
|
||||||
|
Calculating with scale and offset returns temperature in degree
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage9_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 VREF_TS ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_voltage10_raw
|
||||||
|
KernelVersion: 5.8.0
|
||||||
|
Contact: gene_chen@richtek.com
|
||||||
|
Description:
|
||||||
|
Indicated MT6360 TS ADC
|
||||||
|
Calculating with scale and offset returns voltage in uV
|
|
@ -1,35 +0,0 @@
|
||||||
* Bosch BMA023 / BMA150/ BMA180 / BMA25x / SMB380 triaxial acceleration sensor
|
|
||||||
|
|
||||||
https://media.digikey.com/pdf/Data%20Sheets/Bosch/BMA150.pdf
|
|
||||||
http://omapworld.com/BMA180_111_1002839.pdf
|
|
||||||
http://ae-bst.resource.bosch.com/media/products/dokumente/bma250/bst-bma250-ds002-05.pdf
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : should be one of:
|
|
||||||
"bosch,bma023"
|
|
||||||
"bosch,bma150"
|
|
||||||
"bosch,bma180"
|
|
||||||
"bosch,bma250"
|
|
||||||
"bosch,bma254"
|
|
||||||
"bosch,smb380"
|
|
||||||
- reg : the I2C address of the sensor
|
|
||||||
- vdd-supply : regulator phandle connected to the VDD pin
|
|
||||||
- vddio-supply : regulator phandle connected to the VDDIO pin
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- interrupts : interrupt mapping for GPIO IRQ, it should by configured with
|
|
||||||
flags IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING
|
|
||||||
For the bma250 the first interrupt listed must be the one
|
|
||||||
connected to the INT1 pin, the second (optional) interrupt
|
|
||||||
listed must be the one connected to the INT2 pin.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
bma180@40 {
|
|
||||||
compatible = "bosch,bma180";
|
|
||||||
reg = <0x40>;
|
|
||||||
interrupt-parent = <&gpio6>;
|
|
||||||
interrupts = <18 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
|
|
||||||
};
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/accel/bosch,bma180.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Bosch BMA023 / BMA150/ BMA180 / BMA25x / SMB380 triaxial accelerometers
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Cameron <jic23@kernel.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
https://media.digikey.com/pdf/Data%20Sheets/Bosch/BMA150.pdf
|
||||||
|
http://omapworld.com/BMA180_111_1002839.pdf
|
||||||
|
http://ae-bst.resource.bosch.com/media/products/dokumente/bma250/bst-bma250-ds002-05.pdf
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- bosch,bma023
|
||||||
|
- bosch,bma150
|
||||||
|
- bosch,bma180
|
||||||
|
- bosch,bma250
|
||||||
|
- bosch,bma254
|
||||||
|
- bosch,smb380
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vdd-supply: true
|
||||||
|
|
||||||
|
vddio-supply: true
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
description: |
|
||||||
|
Type should be either IRQ_TYPE_LEVEL_HIGH or IRQ_TYPE_EDGE_RISING.
|
||||||
|
For the bma250 the first interrupt listed must be the one
|
||||||
|
connected to the INT1 pin, the second (optional) interrupt
|
||||||
|
listed must be the one connected to the INT2 pin.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
accel@40 {
|
||||||
|
compatible = "bosch,bma180";
|
||||||
|
reg = <0x40>;
|
||||||
|
interrupt-parent = <&gpio6>;
|
||||||
|
interrupts = <18 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -0,0 +1,73 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/accel/bosch,bma255.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Bosch BMA255 and Similar Accelerometers
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Linus Walleij <linus.walleij@linaro.org>
|
||||||
|
|
||||||
|
description:
|
||||||
|
3 axis accelerometers with varying range and I2C or SPI
|
||||||
|
4-wire interface.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- bosch,bmc150
|
||||||
|
- bosch,bmi055
|
||||||
|
- bosch,bma255
|
||||||
|
- bosch,bma250e
|
||||||
|
- bosch,bma222
|
||||||
|
- bosch,bma222e
|
||||||
|
- bosch,bma280
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vdd-supply: true
|
||||||
|
vddio-supply: true
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
mount-matrix:
|
||||||
|
description: an optional 3x3 mounting rotation matrix.
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
maximum: 10000000
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
accelerometer@8 {
|
||||||
|
compatible = "bosch,bma222";
|
||||||
|
reg = <0x08>;
|
||||||
|
vddio-supply = <&vddio>;
|
||||||
|
vdd-supply = <&vdd>;
|
||||||
|
interrupts = <57 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
- |
|
||||||
|
# include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
accel@0 {
|
||||||
|
compatible = "bosch,bma222";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <10000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,19 +0,0 @@
|
||||||
Device tree bindings for Domintech DMARD05, DMARD06, DMARD07 accelerometers
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Should be "domintech,dmard05"
|
|
||||||
or "domintech,dmard06"
|
|
||||||
or "domintech,dmard07"
|
|
||||||
- reg : I2C address of the chip. Should be 0x1c
|
|
||||||
|
|
||||||
Example:
|
|
||||||
&i2c1 {
|
|
||||||
/* ... */
|
|
||||||
|
|
||||||
accelerometer@1c {
|
|
||||||
compatible = "domintech,dmard06";
|
|
||||||
reg = <0x1c>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ... */
|
|
||||||
};
|
|
65
Documentation/devicetree/bindings/iio/accel/fsl,mma8452.yaml
Normal file
65
Documentation/devicetree/bindings/iio/accel/fsl,mma8452.yaml
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/accel/fsl,mma8452.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title:
|
||||||
|
Freescale MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC or FXLS8471Q
|
||||||
|
triaxial accelerometer
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Martin Kepplinger <martin.kepplinger@theobroma-systems.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- fsl,mma8451
|
||||||
|
- fsl,mma8452
|
||||||
|
- fsl,mma8453
|
||||||
|
- fsl,mma8652
|
||||||
|
- fsl,mma8653
|
||||||
|
- fsl,fxls8471
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
description:
|
||||||
|
2 highly configurable interrupt lines exist.
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
description: Specify which interrupt line is in use.
|
||||||
|
items:
|
||||||
|
enum:
|
||||||
|
- INT1
|
||||||
|
- INT2
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
vdd-supply: true
|
||||||
|
vddio-supply: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
accel@1d {
|
||||||
|
compatible = "fsl,mma8453";
|
||||||
|
reg = <0x1d>;
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <5 0>;
|
||||||
|
interrupt-names = "INT2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,24 +0,0 @@
|
||||||
Kionix KXCJK-1013 Accelerometer device tree bindings
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: Must be one of:
|
|
||||||
"kionix,kxcjk1013"
|
|
||||||
"kionix,kxcj91008"
|
|
||||||
"kionix,kxtj21009"
|
|
||||||
"kionix,kxtf9"
|
|
||||||
- reg: i2c slave address
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- mount-matrix: an optional 3x3 mounting rotation matrix
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
kxtf9@f {
|
|
||||||
compatible = "kionix,kxtf9";
|
|
||||||
reg = <0x0F>;
|
|
||||||
mount-matrix = "0", "1", "0",
|
|
||||||
"1", "0", "0",
|
|
||||||
"0", "0", "1";
|
|
||||||
};
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/accel/kionix,kxcjk1013.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Kionix KXCJK-1013 Accelerometer
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Robert Yang <decatf@gmail.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- kionix,kxcjk1013
|
||||||
|
- kionix,kxcj91008
|
||||||
|
- kionix,kxtj21009
|
||||||
|
- kionix,kxtf9
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
mount-matrix:
|
||||||
|
description: an optional 3x3 mounting rotation matrix.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
accel@f {
|
||||||
|
compatible = "kionix,kxtf9";
|
||||||
|
reg = <0x0F>;
|
||||||
|
mount-matrix = "0", "1", "0",
|
||||||
|
"1", "0", "0",
|
||||||
|
"0", "0", "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,35 +0,0 @@
|
||||||
Freescale MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC or FXLS8471Q
|
|
||||||
triaxial accelerometer
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: should contain one of
|
|
||||||
* "fsl,mma8451"
|
|
||||||
* "fsl,mma8452"
|
|
||||||
* "fsl,mma8453"
|
|
||||||
* "fsl,mma8652"
|
|
||||||
* "fsl,mma8653"
|
|
||||||
* "fsl,fxls8471"
|
|
||||||
|
|
||||||
- reg: the I2C address of the chip
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- interrupts: interrupt mapping for GPIO IRQ
|
|
||||||
|
|
||||||
- interrupt-names: should contain "INT1" and/or "INT2", the accelerometer's
|
|
||||||
interrupt line in use.
|
|
||||||
|
|
||||||
- vdd-supply: phandle to the regulator that provides vdd power to the accelerometer.
|
|
||||||
|
|
||||||
- vddio-supply: phandle to the regulator that provides vddio power to the accelerometer.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
mma8453fc@1d {
|
|
||||||
compatible = "fsl,mma8453";
|
|
||||||
reg = <0x1d>;
|
|
||||||
interrupt-parent = <&gpio1>;
|
|
||||||
interrupts = <5 0>;
|
|
||||||
interrupt-names = "INT2";
|
|
||||||
};
|
|
|
@ -1,23 +0,0 @@
|
||||||
Common ADCs properties
|
|
||||||
|
|
||||||
Optional properties for child nodes:
|
|
||||||
- bipolar : Boolean, if set the channel is used in bipolar mode.
|
|
||||||
- diff-channels : Differential channels muxed for this ADC. The first value
|
|
||||||
specifies the positive input pin, the second value the negative
|
|
||||||
input pin.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
adc@0 {
|
|
||||||
compatible = "some,adc";
|
|
||||||
...
|
|
||||||
channel@0 {
|
|
||||||
bipolar;
|
|
||||||
diff-channels = <0 1>;
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
channel@1 {
|
|
||||||
diff-channels = <2 3>;
|
|
||||||
...
|
|
||||||
};
|
|
||||||
};
|
|
42
Documentation/devicetree/bindings/iio/adc/adc.yaml
Normal file
42
Documentation/devicetree/bindings/iio/adc/adc.yaml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/adc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Generic IIO bindings for ADC channels
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Cameron <jic23@kernel.org>
|
||||||
|
|
||||||
|
description:
|
||||||
|
A few properties are defined in a common way ADC channels.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^channel(@[0-9a-f]+)?$"
|
||||||
|
description:
|
||||||
|
A channel index should match reg.
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
label:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description: Unique name to identify which channel this is.
|
||||||
|
|
||||||
|
bipolar:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: If provided, the channel is to be used in bipolar mode.
|
||||||
|
|
||||||
|
diff-channels:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
maxItems: 2
|
||||||
|
minItems: 2
|
||||||
|
description:
|
||||||
|
Many ADCs have dual Muxes to allow different input pins to be routed
|
||||||
|
to both the positive and negative inputs of a differential ADC.
|
||||||
|
The first value specifies the positive input pin, the second
|
||||||
|
specifies the negative input pin.
|
||||||
|
|
||||||
|
additionalProperties: true
|
|
@ -63,10 +63,10 @@ required:
|
||||||
|
|
||||||
patternProperties:
|
patternProperties:
|
||||||
"^channel@([0-9]|1[0-5])$":
|
"^channel@([0-9]|1[0-5])$":
|
||||||
|
$ref: "adc.yaml"
|
||||||
type: object
|
type: object
|
||||||
description: |
|
description: |
|
||||||
Represents the external channels which are connected to the ADC.
|
Represents the external channels which are connected to the ADC.
|
||||||
See Documentation/devicetree/bindings/iio/adc/adc.txt.
|
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
reg:
|
reg:
|
||||||
|
@ -88,15 +88,9 @@ patternProperties:
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
enum: [0, 1, 3]
|
enum: [0, 1, 3]
|
||||||
|
|
||||||
diff-channels:
|
diff-channels: true
|
||||||
description: see Documentation/devicetree/bindings/iio/adc/adc.txt
|
|
||||||
items:
|
|
||||||
minimum: 0
|
|
||||||
maximum: 15
|
|
||||||
|
|
||||||
bipolar:
|
bipolar: true
|
||||||
description: see Documentation/devicetree/bindings/iio/adc/adc.txt
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
adi,buffered-positive:
|
adi,buffered-positive:
|
||||||
description: Enable buffered mode for positive input.
|
description: Enable buffered mode for positive input.
|
||||||
|
@ -110,6 +104,8 @@ patternProperties:
|
||||||
- reg
|
- reg
|
||||||
- diff-channels
|
- diff-channels
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
|
|
|
@ -45,10 +45,10 @@ required:
|
||||||
|
|
||||||
patternProperties:
|
patternProperties:
|
||||||
"^channel@[0-7]$":
|
"^channel@[0-7]$":
|
||||||
|
$ref: "adc.yaml"
|
||||||
type: object
|
type: object
|
||||||
description: |
|
description: |
|
||||||
Represents the external channels which are connected to the ADC.
|
Represents the external channels which are connected to the ADC.
|
||||||
See Documentation/devicetree/bindings/iio/adc/adc.txt.
|
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
reg:
|
reg:
|
||||||
|
@ -58,13 +58,13 @@ patternProperties:
|
||||||
- minimum: 0
|
- minimum: 0
|
||||||
maximum: 7
|
maximum: 7
|
||||||
|
|
||||||
diff-channels:
|
diff-channels: true
|
||||||
description: see Documentation/devicetree/bindings/iio/adc/adc.txt
|
|
||||||
maxItems: 1
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- reg
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: true
|
||||||
|
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
|
|
|
@ -29,6 +29,12 @@ properties:
|
||||||
interrupts:
|
interrupts:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
'#address-cells':
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
'#size-cells':
|
||||||
|
const: 0
|
||||||
|
|
||||||
vref-supply:
|
vref-supply:
|
||||||
description:
|
description:
|
||||||
ADC reference voltage supply
|
ADC reference voltage supply
|
||||||
|
@ -62,6 +68,24 @@ required:
|
||||||
- spi-cpha
|
- spi-cpha
|
||||||
- adi,sync-in-gpios
|
- adi,sync-in-gpios
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^channel@([0-9]|1[0-5])$":
|
||||||
|
type: object
|
||||||
|
description: |
|
||||||
|
Represents the external channels which are connected to the device.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
description: |
|
||||||
|
The channel number.
|
||||||
|
|
||||||
|
label:
|
||||||
|
description: |
|
||||||
|
Unique name to identify which channel this is.
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
|
@ -85,6 +109,14 @@ examples:
|
||||||
reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
|
reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
|
||||||
clocks = <&ad7768_mclk>;
|
clocks = <&ad7768_mclk>;
|
||||||
clock-names = "mclk";
|
clock-names = "mclk";
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
channel@0 {
|
||||||
|
reg = <0>;
|
||||||
|
label = "channel_0";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
...
|
...
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
* AT91 SAMA5D2 Analog to Digital Converter (ADC)
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be "atmel,sama5d2-adc" or "microchip,sam9x60-adc".
|
|
||||||
- reg: Should contain ADC registers location and length.
|
|
||||||
- interrupts: Should contain the IRQ line for the ADC.
|
|
||||||
- clocks: phandle to device clock.
|
|
||||||
- clock-names: Must be "adc_clk".
|
|
||||||
- vref-supply: Supply used as reference for conversions.
|
|
||||||
- vddana-supply: Supply for the adc device.
|
|
||||||
- atmel,min-sample-rate-hz: Minimum sampling rate, it depends on SoC.
|
|
||||||
- atmel,max-sample-rate-hz: Maximum sampling rate, it depends on SoC.
|
|
||||||
- atmel,startup-time-ms: Startup time expressed in ms, it depends on SoC.
|
|
||||||
- atmel,trigger-edge-type: One of possible edge types for the ADTRG hardware
|
|
||||||
trigger pin. When the specific edge type is detected, the conversion will
|
|
||||||
start. Possible values are rising, falling, or both.
|
|
||||||
This property uses the IRQ edge types values: IRQ_TYPE_EDGE_RISING ,
|
|
||||||
IRQ_TYPE_EDGE_FALLING or IRQ_TYPE_EDGE_BOTH
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- dmas: Phandle to dma channel for the ADC.
|
|
||||||
- dma-names: Must be "rx" when dmas property is being used.
|
|
||||||
See ../../dma/dma.txt for details.
|
|
||||||
- #io-channel-cells: in case consumer drivers are attached, this must be 1.
|
|
||||||
See <Documentation/devicetree/bindings/iio/iio-bindings.txt> for details.
|
|
||||||
|
|
||||||
Properties for consumer drivers:
|
|
||||||
- Consumer drivers can be connected to this producer device, as specified
|
|
||||||
in <Documentation/devicetree/bindings/iio/iio-bindings.txt>
|
|
||||||
- Channels exposed are specified in:
|
|
||||||
<dt-bindings/iio/adc/at91-sama5d2_adc.txt>
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
adc: adc@fc030000 {
|
|
||||||
compatible = "atmel,sama5d2-adc";
|
|
||||||
reg = <0xfc030000 0x100>;
|
|
||||||
interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>;
|
|
||||||
clocks = <&adc_clk>;
|
|
||||||
clock-names = "adc_clk";
|
|
||||||
atmel,min-sample-rate-hz = <200000>;
|
|
||||||
atmel,max-sample-rate-hz = <20000000>;
|
|
||||||
atmel,startup-time-ms = <4>;
|
|
||||||
vddana-supply = <&vdd_3v3_lp_reg>;
|
|
||||||
vref-supply = <&vdd_3v3_lp_reg>;
|
|
||||||
atmel,trigger-edge-type = <IRQ_TYPE_EDGE_BOTH>;
|
|
||||||
dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
|
|
||||||
dma-names = "rx";
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
}
|
|
|
@ -1,83 +0,0 @@
|
||||||
* AT91's Analog to Digital Converter (ADC)
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be "atmel,<chip>-adc"
|
|
||||||
<chip> can be "at91sam9260", "at91sam9g45" or "at91sam9x5"
|
|
||||||
- reg: Should contain ADC registers location and length
|
|
||||||
- interrupts: Should contain the IRQ line for the ADC
|
|
||||||
- clock-names: tuple listing input clock names.
|
|
||||||
Required elements: "adc_clk", "adc_op_clk".
|
|
||||||
- clocks: phandles to input clocks.
|
|
||||||
- atmel,adc-channels-used: Bitmask of the channels muxed and enabled for this
|
|
||||||
device
|
|
||||||
- atmel,adc-startup-time: Startup Time of the ADC in microseconds as
|
|
||||||
defined in the datasheet
|
|
||||||
- atmel,adc-vref: Reference voltage in millivolts for the conversions
|
|
||||||
- atmel,adc-res: List of resolutions in bits supported by the ADC. List size
|
|
||||||
must be two at least.
|
|
||||||
- atmel,adc-res-names: Contains one identifier string for each resolution
|
|
||||||
in atmel,adc-res property. "lowres" and "highres"
|
|
||||||
identifiers are required.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- atmel,adc-use-external-triggers: Boolean to enable the external triggers
|
|
||||||
- atmel,adc-use-res: String corresponding to an identifier from
|
|
||||||
atmel,adc-res-names property. If not specified, the highest
|
|
||||||
resolution will be used.
|
|
||||||
- atmel,adc-sleep-mode: Boolean to enable sleep mode when no conversion
|
|
||||||
- atmel,adc-sample-hold-time: Sample and Hold Time in microseconds
|
|
||||||
- atmel,adc-ts-wires: Number of touchscreen wires. Should be 4 or 5. If this
|
|
||||||
value is set, then the adc driver will enable touchscreen
|
|
||||||
support.
|
|
||||||
NOTE: when adc touchscreen is enabled, the adc hardware trigger will be
|
|
||||||
disabled. Since touchscreen will occupy the trigger register.
|
|
||||||
- atmel,adc-ts-pressure-threshold: a pressure threshold for touchscreen. It
|
|
||||||
makes touch detection more precise.
|
|
||||||
|
|
||||||
Optional trigger Nodes:
|
|
||||||
- Required properties:
|
|
||||||
* trigger-name: Name of the trigger exposed to the user
|
|
||||||
* trigger-value: Value to put in the Trigger register
|
|
||||||
to activate this trigger
|
|
||||||
- Optional properties:
|
|
||||||
* trigger-external: Is the trigger an external trigger?
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
adc0: adc@fffb0000 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
compatible = "atmel,at91sam9260-adc";
|
|
||||||
reg = <0xfffb0000 0x100>;
|
|
||||||
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
||||||
clocks = <&adc_clk>, <&adc_op_clk>;
|
|
||||||
clock-names = "adc_clk", "adc_op_clk";
|
|
||||||
atmel,adc-channels-used = <0xff>;
|
|
||||||
atmel,adc-startup-time = <40>;
|
|
||||||
atmel,adc-use-external-triggers;
|
|
||||||
atmel,adc-vref = <3300>;
|
|
||||||
atmel,adc-res = <8 10>;
|
|
||||||
atmel,adc-res-names = "lowres", "highres";
|
|
||||||
atmel,adc-use-res = "lowres";
|
|
||||||
|
|
||||||
trigger0 {
|
|
||||||
trigger-name = "external-rising";
|
|
||||||
trigger-value = <0x1>;
|
|
||||||
trigger-external;
|
|
||||||
};
|
|
||||||
trigger1 {
|
|
||||||
trigger-name = "external-falling";
|
|
||||||
trigger-value = <0x2>;
|
|
||||||
trigger-external;
|
|
||||||
};
|
|
||||||
|
|
||||||
trigger2 {
|
|
||||||
trigger-name = "external-any";
|
|
||||||
trigger-value = <0x3>;
|
|
||||||
trigger-external;
|
|
||||||
};
|
|
||||||
|
|
||||||
trigger3 {
|
|
||||||
trigger-name = "continuous";
|
|
||||||
trigger-value = <0x6>;
|
|
||||||
};
|
|
||||||
};
|
|
101
Documentation/devicetree/bindings/iio/adc/atmel,sama5d2-adc.yaml
Normal file
101
Documentation/devicetree/bindings/iio/adc/atmel,sama5d2-adc.yaml
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/atmel,sama5d2-adc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: AT91 SAMA5D2 Analog to Digital Converter (ADC)
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ludovic Desroches <ludovic.desroches@atmel.com>
|
||||||
|
- Eugen Hristev <eugen.hristev@microchip.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- atmel,sama5d2-adc
|
||||||
|
- microchip,sam9x60-adc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: adc_clk
|
||||||
|
|
||||||
|
vref-supply: true
|
||||||
|
vddana-supply: true
|
||||||
|
|
||||||
|
atmel,min-sample-rate-hz:
|
||||||
|
description: Minimum sampling rate, it depends on SoC.
|
||||||
|
|
||||||
|
atmel,max-sample-rate-hz:
|
||||||
|
description: Maximum sampling rate, it depends on SoC.
|
||||||
|
|
||||||
|
atmel,startup-time-ms:
|
||||||
|
description: Startup time expressed in ms, it depends on SoC.
|
||||||
|
|
||||||
|
atmel,trigger-edge-type:
|
||||||
|
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||||
|
description:
|
||||||
|
One of possible edge types for the ADTRG hardware trigger pin.
|
||||||
|
When the specific edge type is detected, the conversion will
|
||||||
|
start. Should be one of IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING
|
||||||
|
or IRQ_TYPE_EDGE_BOTH.
|
||||||
|
enum: [1, 2, 3]
|
||||||
|
|
||||||
|
dmas:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
dma-names:
|
||||||
|
const: rx
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- vref-supply
|
||||||
|
- vddana-supply
|
||||||
|
- atmel,min-sample-rate-hz
|
||||||
|
- atmel,max-sample-rate-hz
|
||||||
|
- atmel,startup-time-ms
|
||||||
|
- atmel,trigger-edge-type
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/dma/at91.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
soc {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
adc@fc030000 {
|
||||||
|
compatible = "atmel,sama5d2-adc";
|
||||||
|
reg = <0xfc030000 0x100>;
|
||||||
|
interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||||
|
clocks = <&adc_clk>;
|
||||||
|
clock-names = "adc_clk";
|
||||||
|
atmel,min-sample-rate-hz = <200000>;
|
||||||
|
atmel,max-sample-rate-hz = <20000000>;
|
||||||
|
atmel,startup-time-ms = <4>;
|
||||||
|
vddana-supply = <&vdd_3v3_lp_reg>;
|
||||||
|
vref-supply = <&vdd_3v3_lp_reg>;
|
||||||
|
atmel,trigger-edge-type = <IRQ_TYPE_EDGE_BOTH>;
|
||||||
|
dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
|
||||||
|
dma-names = "rx";
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -0,0 +1,121 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/atmel,sama9260-adc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: AT91 sama9260 and similar Analog to Digital Converter (ADC)
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- atmel,at91sam9260-adc
|
||||||
|
- atmel,at91sam9rl-adc
|
||||||
|
- atmel,at91sam9g45-adc
|
||||||
|
- atmel,at91sam9x5-adc
|
||||||
|
- atmel,at91sama5d3-adc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 2
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: adc_clk
|
||||||
|
- const: adc_op_clk
|
||||||
|
|
||||||
|
atmel,adc-channels-used:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Bitmask of the channels muxed and enabled for this device
|
||||||
|
|
||||||
|
atmel,adc-startup-time:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
Startup Time of the ADC in microseconds as defined in the datasheet
|
||||||
|
|
||||||
|
atmel,adc-vref:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Reference voltage in millivolts for the conversions
|
||||||
|
|
||||||
|
atmel,adc-use-external-triggers:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enable the external triggers
|
||||||
|
|
||||||
|
atmel,adc-use-res:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
description:
|
||||||
|
String corresponding to an identifier from atmel,adc-res-names property.
|
||||||
|
If not specified, the highest resolution will be used.
|
||||||
|
enum:
|
||||||
|
- "lowres"
|
||||||
|
- "highres"
|
||||||
|
|
||||||
|
atmel,adc-sleep-mode:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enable sleep mode when no conversion
|
||||||
|
|
||||||
|
atmel,adc-sample-hold-time:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Sample and Hold Time in microseconds
|
||||||
|
|
||||||
|
atmel,adc-ts-wires:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
Number of touchscreen wires. Must be set to enable touchscreen.
|
||||||
|
NOTE: when adc touchscreen is enabled, the adc hardware trigger will be
|
||||||
|
disabled. Since touchscreen will occupy the trigger register.
|
||||||
|
enum:
|
||||||
|
- 4
|
||||||
|
- 5
|
||||||
|
|
||||||
|
atmel,adc-ts-pressure-threshold:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
Pressure threshold for touchscreen.
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- atmel,adc-channels-used
|
||||||
|
- atmel,adc-startup-time
|
||||||
|
- atmel,adc-vref
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/dma/at91.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
soc {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
adc@fffb0000 {
|
||||||
|
compatible = "atmel,at91sam9260-adc";
|
||||||
|
reg = <0xfffb0000 0x100>;
|
||||||
|
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
|
clocks = <&adc_clk>, <&adc_op_clk>;
|
||||||
|
clock-names = "adc_clk", "adc_op_clk";
|
||||||
|
atmel,adc-channels-used = <0xff>;
|
||||||
|
atmel,adc-startup-time = <40>;
|
||||||
|
atmel,adc-use-external-triggers;
|
||||||
|
atmel,adc-vref = <3300>;
|
||||||
|
atmel,adc-use-res = "lowres";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,48 +0,0 @@
|
||||||
* X-Powers AXP ADC bindings
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: should be one of:
|
|
||||||
- "x-powers,axp209-adc",
|
|
||||||
- "x-powers,axp221-adc",
|
|
||||||
- "x-powers,axp813-adc",
|
|
||||||
- #io-channel-cells: should be 1,
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&axp22x {
|
|
||||||
adc {
|
|
||||||
compatible = "x-powers,axp221-adc";
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ADC channels and their indexes per variant:
|
|
||||||
|
|
||||||
AXP209
|
|
||||||
------
|
|
||||||
0 | acin_v
|
|
||||||
1 | acin_i
|
|
||||||
2 | vbus_v
|
|
||||||
3 | vbus_i
|
|
||||||
4 | pmic_temp
|
|
||||||
5 | gpio0_v
|
|
||||||
6 | gpio1_v
|
|
||||||
7 | ipsout_v
|
|
||||||
8 | batt_v
|
|
||||||
9 | batt_chrg_i
|
|
||||||
10 | batt_dischrg_i
|
|
||||||
|
|
||||||
AXP22x
|
|
||||||
------
|
|
||||||
0 | pmic_temp
|
|
||||||
1 | batt_v
|
|
||||||
2 | batt_chrg_i
|
|
||||||
3 | batt_dischrg_i
|
|
||||||
|
|
||||||
AXP813
|
|
||||||
------
|
|
||||||
0 | pmic_temp
|
|
||||||
1 | gpio0_v
|
|
||||||
2 | batt_v
|
|
||||||
3 | batt_chrg_i
|
|
||||||
4 | batt_dischrg_i
|
|
|
@ -1,40 +0,0 @@
|
||||||
* Broadcom's IPROC Static ADC controller
|
|
||||||
|
|
||||||
Broadcom iProc ADC controller has 8 channels 10bit ADC.
|
|
||||||
Allows user to convert analog input voltage values to digital.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: Must be "brcm,iproc-static-adc"
|
|
||||||
|
|
||||||
- adc-syscon: Handler of syscon node defining physical base address of the
|
|
||||||
controller and length of memory mapped region.
|
|
||||||
|
|
||||||
- #io-channel-cells = <1>; As ADC has multiple outputs
|
|
||||||
refer to Documentation/devicetree/bindings/iio/iio-bindings.txt for details.
|
|
||||||
|
|
||||||
- io-channel-ranges:
|
|
||||||
refer to Documentation/devicetree/bindings/iio/iio-bindings.txt for details.
|
|
||||||
|
|
||||||
- clocks: Clock used for this block.
|
|
||||||
|
|
||||||
- clock-names: Clock name should be given as tsc_clk.
|
|
||||||
|
|
||||||
- interrupts: interrupt line number.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
ts_adc_syscon: ts_adc_syscon@180a6000 {
|
|
||||||
compatible = "brcm,iproc-ts-adc-syscon","syscon";
|
|
||||||
reg = <0x180a6000 0xc30>;
|
|
||||||
};
|
|
||||||
|
|
||||||
adc: adc@180a6000 {
|
|
||||||
compatible = "brcm,iproc-static-adc";
|
|
||||||
adc-syscon = <&ts_adc_syscon>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
io-channel-ranges;
|
|
||||||
clocks = <&asiu_clks BCM_CYGNUS_ASIU_ADC_CLK>;
|
|
||||||
clock-names = "tsc_clk";
|
|
||||||
interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
};
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/brcm,iproc-static-adc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Broadcom's IPROC Static ADC controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Broadcom iProc ADC controller has 8 10bit channels
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: brcm,iproc-static-adc
|
||||||
|
|
||||||
|
adc-syscon:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
syscon node defining physical base address of the controller and length
|
||||||
|
of memory mapped region.
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: tsc_clk
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- adc-syscon
|
||||||
|
- "#io-channel-cells"
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/bcm-cygnus.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
soc {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
ts_adc_syscon: ts_adc_syscon@180a6000 {
|
||||||
|
compatible = "brcm,iproc-ts-adc-syscon","syscon";
|
||||||
|
reg = <0x180a6000 0xc30>;
|
||||||
|
};
|
||||||
|
|
||||||
|
adc {
|
||||||
|
compatible = "brcm,iproc-static-adc";
|
||||||
|
adc-syscon = <&ts_adc_syscon>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
clocks = <&asiu_clks BCM_CYGNUS_ASIU_ADC_CLK>;
|
||||||
|
clock-names = "tsc_clk";
|
||||||
|
interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,54 +0,0 @@
|
||||||
Bindings for ADC envelope detector using a DAC and a comparator
|
|
||||||
|
|
||||||
The DAC is used to find the peak level of an alternating voltage input
|
|
||||||
signal by a binary search using the output of a comparator wired to
|
|
||||||
an interrupt pin. Like so:
|
|
||||||
_
|
|
||||||
| \
|
|
||||||
input +------>-------|+ \
|
|
||||||
| \
|
|
||||||
.-------. | }---.
|
|
||||||
| | | / |
|
|
||||||
| dac|-->--|- / |
|
|
||||||
| | |_/ |
|
|
||||||
| | |
|
|
||||||
| | |
|
|
||||||
| irq|------<-------'
|
|
||||||
| |
|
|
||||||
'-------'
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be "axentia,tse850-envelope-detector"
|
|
||||||
- io-channels: Channel node of the dac to be used for comparator input.
|
|
||||||
- io-channel-names: Should be "dac".
|
|
||||||
- interrupt specification for one client interrupt,
|
|
||||||
see ../../interrupt-controller/interrupts.txt for details.
|
|
||||||
- interrupt-names: Should be "comp".
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
dpot: mcp4651-104@28 {
|
|
||||||
compatible = "microchip,mcp4651-104";
|
|
||||||
reg = <0x28>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
dac: dac {
|
|
||||||
compatible = "dpot-dac";
|
|
||||||
vref-supply = <®_3v3>;
|
|
||||||
io-channels = <&dpot 0>;
|
|
||||||
io-channel-names = "dpot";
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
envelope-detector {
|
|
||||||
compatible = "axentia,tse850-envelope-detector";
|
|
||||||
io-channels = <&dac 0>;
|
|
||||||
io-channel-names = "dac";
|
|
||||||
|
|
||||||
interrupt-parent = <&gpio>;
|
|
||||||
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
|
||||||
interrupt-names = "comp";
|
|
||||||
};
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/envelope-detector.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: ADC envelope detector using a DAC and a comparator
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Peter Rosin <peda@axentia.se>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The DAC is used to find the peak level of an alternating voltage input
|
||||||
|
signal by a binary search using the output of a comparator wired to
|
||||||
|
an interrupt pin. Like so:
|
||||||
|
_
|
||||||
|
| \
|
||||||
|
input +------>-------|+ \
|
||||||
|
| \
|
||||||
|
.-------. | }---.
|
||||||
|
| | | / |
|
||||||
|
| dac|-->--|- / |
|
||||||
|
| | |_/ |
|
||||||
|
| | |
|
||||||
|
| | |
|
||||||
|
| irq|------<-------'
|
||||||
|
| |
|
||||||
|
'-------'
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: axentia,tse850-envelope-detector
|
||||||
|
|
||||||
|
io-channels:
|
||||||
|
maxItems: 1
|
||||||
|
description: Channel node of the dac to be used for comparator input.
|
||||||
|
|
||||||
|
io-channel-names:
|
||||||
|
const: dac
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
const: comp
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- io-channels
|
||||||
|
- io-channel-names
|
||||||
|
- interrupts
|
||||||
|
- interrupt-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
dpot: dpot@28 {
|
||||||
|
compatible = "microchip,mcp4651-104";
|
||||||
|
reg = <0x28>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
dac: dac {
|
||||||
|
compatible = "dpot-dac";
|
||||||
|
vref-supply = <®_3v3>;
|
||||||
|
io-channels = <&dpot 0>;
|
||||||
|
io-channel-names = "dpot";
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
envelope-detector {
|
||||||
|
compatible = "axentia,tse850-envelope-detector";
|
||||||
|
io-channels = <&dac 0>;
|
||||||
|
io-channel-names = "dac";
|
||||||
|
|
||||||
|
interrupt-parent = <&gpio>;
|
||||||
|
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
interrupt-names = "comp";
|
||||||
|
};
|
||||||
|
...
|
65
Documentation/devicetree/bindings/iio/adc/maxim,max1027.yaml
Normal file
65
Documentation/devicetree/bindings/iio/adc/maxim,max1027.yaml
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/maxim,max1027.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim MAX1027 and similar ADCs
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Miquel Raynal <miquel.raynal@bootlin.com>
|
||||||
|
- Philippe Reynes <tremyfr@yahoo.fr>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
300ks/s SPI ADCs with temperature sensors.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
# 10-bit 8 channels
|
||||||
|
- maxim,max1027
|
||||||
|
# 10-bit 12 channels
|
||||||
|
- maxim,max1029
|
||||||
|
# 10-bit 16 channels
|
||||||
|
- maxim,max1031
|
||||||
|
# 12-bit 8 channels
|
||||||
|
- maxim,max1227
|
||||||
|
# 12-bit 12 channels
|
||||||
|
- maxim,max1229
|
||||||
|
# 12-bit 16 channels
|
||||||
|
- maxim,max1231
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
maximum: 10000000
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
maxadc: adc@0 {
|
||||||
|
compatible = "maxim,max1027";
|
||||||
|
reg = <0>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
interrupt-parent = <&gpio5>;
|
||||||
|
interrupts = <15 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
spi-max-frequency = <1000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -0,0 +1,77 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/mediatek,mt2701-auxadc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Mediatek AUXADC - ADC on Mediatek mobile SoC (mt65xx/mt81xx/mt27xx)
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Zhiyong Tao <zhiyong.tao@mediatek.com>
|
||||||
|
- Matthias Brugger <matthias.bgg@gmail.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Auxiliary Analog/Digital Converter (AUXADC) is an ADC found
|
||||||
|
in some Mediatek SoCs which among other things measures the temperatures
|
||||||
|
in the SoC. It can be used directly with register accesses, but it is also
|
||||||
|
used by thermal controller which reads the temperatures from the AUXADC
|
||||||
|
directly via its own bus interface. See mediatek-thermal bindings
|
||||||
|
for the Thermal Controller which holds a phandle to the AUXADC.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- enum:
|
||||||
|
- mediatek,mt2701-auxadc
|
||||||
|
- mediatek,mt2712-auxadc
|
||||||
|
- mediatek,mt6765-auxadc
|
||||||
|
- mediatek,mt7622-auxadc
|
||||||
|
- mediatek,mt8173-auxadc
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- mediatek,mt7623-auxadc
|
||||||
|
- const: mediatek,mt2701-auxadc
|
||||||
|
- items:
|
||||||
|
- enum:
|
||||||
|
- mediatek,mt8183-auxadc
|
||||||
|
- mediatek,mt8516-auxadc
|
||||||
|
- const: mediatek,mt8173-auxadc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: main
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- "#io-channel-cells"
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/mt8183-clk.h>
|
||||||
|
soc {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
adc@11001000 {
|
||||||
|
compatible = "mediatek,mt8183-auxadc",
|
||||||
|
"mediatek,mt8173-auxadc";
|
||||||
|
reg = <0 0x11001000 0 0x1000>;
|
||||||
|
clocks = <&infracfg CLK_INFRA_AUXADC>;
|
||||||
|
clock-names = "main";
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -0,0 +1,31 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/mediatek,mt6360-adc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Mediatek MT6360 and similar ADCs
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Gene Chen <gene_chen@richtek.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: mediatek,mt6360-adc
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- "#io-channel-cells"
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
adc {
|
||||||
|
compatible = "mediatek,mt6360-adc";
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,33 +0,0 @@
|
||||||
* Mediatek AUXADC - Analog to Digital Converter on Mediatek mobile soc (mt65xx/mt81xx/mt27xx)
|
|
||||||
===============
|
|
||||||
|
|
||||||
The Auxiliary Analog/Digital Converter (AUXADC) is an ADC found
|
|
||||||
in some Mediatek SoCs which among other things measures the temperatures
|
|
||||||
in the SoC. It can be used directly with register accesses, but it is also
|
|
||||||
used by thermal controller which reads the temperatures from the AUXADC
|
|
||||||
directly via its own bus interface. See
|
|
||||||
Documentation/devicetree/bindings/thermal/mediatek-thermal.txt
|
|
||||||
for the Thermal Controller which holds a phandle to the AUXADC.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be one of:
|
|
||||||
- "mediatek,mt2701-auxadc": For MT2701 family of SoCs
|
|
||||||
- "mediatek,mt2712-auxadc": For MT2712 family of SoCs
|
|
||||||
- "mediatek,mt6765-auxadc": For MT6765 family of SoCs
|
|
||||||
- "mediatek,mt7622-auxadc": For MT7622 family of SoCs
|
|
||||||
- "mediatek,mt8173-auxadc": For MT8173 family of SoCs
|
|
||||||
- "mediatek,mt8183-auxadc", "mediatek,mt8173-auxadc": For MT8183 family of SoCs
|
|
||||||
- reg: Address range of the AUXADC unit.
|
|
||||||
- clocks: Should contain a clock specifier for each entry in clock-names
|
|
||||||
- clock-names: Should contain "main".
|
|
||||||
- #io-channel-cells: Should be 1, see ../iio-bindings.txt
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
auxadc: adc@11001000 {
|
|
||||||
compatible = "mediatek,mt2701-auxadc";
|
|
||||||
reg = <0 0x11001000 0 0x1000>;
|
|
||||||
clocks = <&pericfg CLK_PERI_AUXADC>;
|
|
||||||
clock-names = "main";
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
};
|
|
|
@ -1,48 +0,0 @@
|
||||||
* Palmas general purpose ADC IP block devicetree bindings
|
|
||||||
|
|
||||||
Channels list:
|
|
||||||
0 battery type
|
|
||||||
1 battery temp NTC (optional current source)
|
|
||||||
2 GP
|
|
||||||
3 temp (with ext. diode, optional current source)
|
|
||||||
4 GP
|
|
||||||
5 GP
|
|
||||||
6 VBAT_SENSE
|
|
||||||
7 VCC_SENSE
|
|
||||||
8 Backup Battery voltage
|
|
||||||
9 external charger (VCHG)
|
|
||||||
10 VBUS
|
|
||||||
11 DC-DC current probe (how does this work?)
|
|
||||||
12 internal die temp
|
|
||||||
13 internal die temp
|
|
||||||
14 USB ID pin voltage
|
|
||||||
15 test network
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Must be "ti,palmas-gpadc".
|
|
||||||
- #io-channel-cells: Should be set to <1>.
|
|
||||||
|
|
||||||
Optional sub-nodes:
|
|
||||||
ti,channel0-current-microamp: Channel 0 current in uA.
|
|
||||||
Values are rounded to derive 0uA, 5uA, 15uA, 20uA.
|
|
||||||
ti,channel3-current-microamp: Channel 3 current in uA.
|
|
||||||
Values are rounded to derive 0uA, 10uA, 400uA, 800uA.
|
|
||||||
ti,enable-extended-delay: Enable extended delay.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
pmic {
|
|
||||||
compatible = "ti,twl6035-pmic", "ti,palmas-pmic";
|
|
||||||
...
|
|
||||||
gpadc {
|
|
||||||
compatible = "ti,palmas-gpadc";
|
|
||||||
interrupts = <18 0
|
|
||||||
16 0
|
|
||||||
17 0>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
ti,channel0-current-microamp = <5>;
|
|
||||||
ti,channel3-current-microamp = <10>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
...
|
|
||||||
};
|
|
166
Documentation/devicetree/bindings/iio/adc/qcom,pm8018-adc.yaml
Normal file
166
Documentation/devicetree/bindings/iio/adc/qcom,pm8018-adc.yaml
Normal file
|
@ -0,0 +1,166 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/qcom,pm8018-adc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Qualcomm's PM8xxx voltage XOADC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Linus Walleij <linus.walleij@linaro.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The Qualcomm PM8xxx PMICs contain a HK/XO ADC (Housekeeping/Crystal
|
||||||
|
oscillator ADC) encompassing PM8018, PM8038, PM8058 and PM8921.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- qcom,pm8018-adc
|
||||||
|
- qcom,pm8038-adc
|
||||||
|
- qcom,pm8058-adc
|
||||||
|
- qcom,pm8921-adc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
ADC base address in the PMIC, typically 0x197.
|
||||||
|
|
||||||
|
xoadc-ref-supply:
|
||||||
|
description:
|
||||||
|
The reference voltage may vary with PMIC variant but is typically
|
||||||
|
something like 2.2 or 1.8V.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#address-cells":
|
||||||
|
const: 2
|
||||||
|
description:
|
||||||
|
The first cell is the prescaler (on PM8058) or premux (on PM8921)
|
||||||
|
with two valid bits so legal values are 0x00, 0x01 or 0x02.
|
||||||
|
The second cell is the main analog mux setting (0x00..0x0f).
|
||||||
|
The combination of prescaler/premux and analog mux uniquely addresses
|
||||||
|
a hardware channel on all systems.
|
||||||
|
|
||||||
|
"#size-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 2
|
||||||
|
description:
|
||||||
|
The cells are precaler or premux followed by the analog muxing line.
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- "#io-channel-cells"
|
||||||
|
- "#address-cells"
|
||||||
|
- "#size-cells"
|
||||||
|
- adc-channel@c
|
||||||
|
- adc-channel@d
|
||||||
|
- adc-channel@f
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^(adc-channel@)[0-9a-f]$":
|
||||||
|
type: object
|
||||||
|
description: |
|
||||||
|
ADC channel specific configuration.
|
||||||
|
Note that channels c, d and f must be present for calibration.
|
||||||
|
These three nodes are used for absolute and ratiometric calibration
|
||||||
|
and only need to have these reg values: they are by hardware definition
|
||||||
|
1:1 ratio converters that sample 625, 1250 and 0 milliV and create
|
||||||
|
an interpolation calibration for all other ADCs.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
qcom,decimation:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
This parameter is used to decrease the ADC sampling rate.
|
||||||
|
Quicker measurements can be made by reducing the decimation ratio.
|
||||||
|
Valid values are 512, 1024, 2048, 4096.
|
||||||
|
If the property is not found, a default value of 512 will be used.
|
||||||
|
|
||||||
|
qcom,ratiometric:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
Channel calibration type. If this property is specified
|
||||||
|
VADC will use a special voltage references for channel
|
||||||
|
calibration. The available references are specified in the
|
||||||
|
as a u32 value setting (see below) and it is compulsory
|
||||||
|
to also specify this reference if ratiometric calibration
|
||||||
|
is selected.
|
||||||
|
|
||||||
|
If the property is not found, the channel will be
|
||||||
|
calibrated with the 0.625V and 1.25V reference channels, also
|
||||||
|
known as an absolute calibration.
|
||||||
|
|
||||||
|
The reference voltage pairs when using ratiometric calibration:
|
||||||
|
0 = XO_IN/XOADC_GND
|
||||||
|
1 = PMIC_IN/XOADC_GND
|
||||||
|
2 = PMIC_IN/BMS_CSP
|
||||||
|
3 (invalid)
|
||||||
|
4 = XOADC_GND/XOADC_GND
|
||||||
|
5 = XOADC_VREF/XOADC_GND
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
pmic {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
adc@197 {
|
||||||
|
compatible = "qcom,pm8058-adc";
|
||||||
|
reg = <0x197>;
|
||||||
|
interrupts-extended = <&pm8058 76 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
#io-channel-cells = <2>;
|
||||||
|
|
||||||
|
vcoin: adc-channel@0 {
|
||||||
|
reg = <0x00 0x00>;
|
||||||
|
};
|
||||||
|
vbat: adc-channel@1 {
|
||||||
|
reg = <0x00 0x01>;
|
||||||
|
};
|
||||||
|
dcin: adc-channel@2 {
|
||||||
|
reg = <0x00 0x02>;
|
||||||
|
};
|
||||||
|
ichg: adc-channel@3 {
|
||||||
|
reg = <0x00 0x03>;
|
||||||
|
};
|
||||||
|
vph_pwr: adc-channel@4 {
|
||||||
|
reg = <0x00 0x04>;
|
||||||
|
};
|
||||||
|
usb_vbus: adc-channel@a {
|
||||||
|
reg = <0x00 0x0a>;
|
||||||
|
};
|
||||||
|
die_temp: adc-channel@b {
|
||||||
|
reg = <0x00 0x0b>;
|
||||||
|
};
|
||||||
|
ref_625mv: adc-channel@c {
|
||||||
|
reg = <0x00 0x0c>;
|
||||||
|
};
|
||||||
|
ref_1250mv: adc-channel@d {
|
||||||
|
reg = <0x00 0x0d>;
|
||||||
|
};
|
||||||
|
ref_325mv: adc-channel@e {
|
||||||
|
reg = <0x00 0x0e>;
|
||||||
|
};
|
||||||
|
ref_muxoff: adc-channel@f {
|
||||||
|
reg = <0x00 0x0f>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,157 +0,0 @@
|
||||||
Qualcomm's PM8xxx voltage XOADC
|
|
||||||
|
|
||||||
The Qualcomm PM8xxx PMICs contain a HK/XO ADC (Housekeeping/Crystal
|
|
||||||
oscillator ADC) encompassing PM8018, PM8038, PM8058 and PM8921.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: should be one of:
|
|
||||||
"qcom,pm8018-adc"
|
|
||||||
"qcom,pm8038-adc"
|
|
||||||
"qcom,pm8058-adc"
|
|
||||||
"qcom,pm8921-adc"
|
|
||||||
|
|
||||||
- reg: should contain the ADC base address in the PMIC, typically
|
|
||||||
0x197.
|
|
||||||
|
|
||||||
- xoadc-ref-supply: should reference a regulator that can supply
|
|
||||||
a reference voltage on demand. The reference voltage may vary
|
|
||||||
with PMIC variant but is typically something like 2.2 or 1.8V.
|
|
||||||
|
|
||||||
The following required properties are standard for IO channels, see
|
|
||||||
iio-bindings.txt for more details, but notice that this particular
|
|
||||||
ADC has a special addressing scheme that require two cells for
|
|
||||||
identifying each ADC channel:
|
|
||||||
|
|
||||||
- #address-cells: should be set to <2>, the first cell is the
|
|
||||||
prescaler (on PM8058) or premux (on PM8921) with two valid bits
|
|
||||||
so legal values are 0x00, 0x01 or 0x02. The second cell
|
|
||||||
is the main analog mux setting (0x00..0x0f). The combination
|
|
||||||
of prescaler/premux and analog mux uniquely addresses a hardware
|
|
||||||
channel on all systems.
|
|
||||||
|
|
||||||
- #size-cells: should be set to <0>
|
|
||||||
|
|
||||||
- #io-channel-cells: should be set to <2>, again the cells are
|
|
||||||
precaler or premux followed by the analog muxing line.
|
|
||||||
|
|
||||||
- interrupts: should refer to the parent PMIC interrupt controller
|
|
||||||
and reference the proper ADC interrupt.
|
|
||||||
|
|
||||||
Required subnodes:
|
|
||||||
|
|
||||||
The ADC channels are configured as subnodes of the ADC.
|
|
||||||
|
|
||||||
Since some of them are used for calibrating the ADC, these nodes are
|
|
||||||
compulsory:
|
|
||||||
|
|
||||||
adc-channel@c {
|
|
||||||
reg = <0x00 0x0c>;
|
|
||||||
};
|
|
||||||
|
|
||||||
adc-channel@d {
|
|
||||||
reg = <0x00 0x0d>;
|
|
||||||
};
|
|
||||||
|
|
||||||
adc-channel@f {
|
|
||||||
reg = <0x00 0x0f>;
|
|
||||||
};
|
|
||||||
|
|
||||||
These three nodes are used for absolute and ratiometric calibration
|
|
||||||
and only need to have these reg values: they are by hardware definition
|
|
||||||
1:1 ratio converters that sample 625, 1250 and 0 milliV and create
|
|
||||||
an interpolation calibration for all other ADCs.
|
|
||||||
|
|
||||||
Optional subnodes: any channels other than channels [0x00 0x0c],
|
|
||||||
[0x00 0x0d] and [0x00 0x0f] are optional.
|
|
||||||
|
|
||||||
Required channel node properties:
|
|
||||||
|
|
||||||
- reg: should contain the hardware channel number in the range
|
|
||||||
0 .. 0xff (8 bits).
|
|
||||||
|
|
||||||
Optional channel node properties:
|
|
||||||
|
|
||||||
- qcom,decimation:
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: This parameter is used to decrease the ADC sampling rate.
|
|
||||||
Quicker measurements can be made by reducing the decimation ratio.
|
|
||||||
Valid values are 512, 1024, 2048, 4096.
|
|
||||||
If the property is not found, a default value of 512 will be used.
|
|
||||||
|
|
||||||
- qcom,ratiometric:
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Channel calibration type. If this property is specified
|
|
||||||
VADC will use a special voltage references for channel
|
|
||||||
calibration. The available references are specified in the
|
|
||||||
as a u32 value setting (see below) and it is compulsory
|
|
||||||
to also specify this reference if ratiometric calibration
|
|
||||||
is selected.
|
|
||||||
|
|
||||||
If the property is not found, the channel will be
|
|
||||||
calibrated with the 0.625V and 1.25V reference channels, also
|
|
||||||
known as an absolute calibration.
|
|
||||||
The reference voltage pairs when using ratiometric calibration:
|
|
||||||
0 = XO_IN/XOADC_GND
|
|
||||||
1 = PMIC_IN/XOADC_GND
|
|
||||||
2 = PMIC_IN/BMS_CSP
|
|
||||||
3 (invalid)
|
|
||||||
4 = XOADC_GND/XOADC_GND
|
|
||||||
5 = XOADC_VREF/XOADC_GND
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
xoadc: xoadc@197 {
|
|
||||||
compatible = "qcom,pm8058-adc";
|
|
||||||
reg = <0x197>;
|
|
||||||
interrupts-extended = <&pm8058 76 IRQ_TYPE_EDGE_RISING>;
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
#io-channel-cells = <2>;
|
|
||||||
|
|
||||||
vcoin: adc-channel@0 {
|
|
||||||
reg = <0x00 0x00>;
|
|
||||||
};
|
|
||||||
vbat: adc-channel@1 {
|
|
||||||
reg = <0x00 0x01>;
|
|
||||||
};
|
|
||||||
dcin: adc-channel@2 {
|
|
||||||
reg = <0x00 0x02>;
|
|
||||||
};
|
|
||||||
ichg: adc-channel@3 {
|
|
||||||
reg = <0x00 0x03>;
|
|
||||||
};
|
|
||||||
vph_pwr: adc-channel@4 {
|
|
||||||
reg = <0x00 0x04>;
|
|
||||||
};
|
|
||||||
usb_vbus: adc-channel@a {
|
|
||||||
reg = <0x00 0x0a>;
|
|
||||||
};
|
|
||||||
die_temp: adc-channel@b {
|
|
||||||
reg = <0x00 0x0b>;
|
|
||||||
};
|
|
||||||
ref_625mv: adc-channel@c {
|
|
||||||
reg = <0x00 0x0c>;
|
|
||||||
};
|
|
||||||
ref_1250mv: adc-channel@d {
|
|
||||||
reg = <0x00 0x0d>;
|
|
||||||
};
|
|
||||||
ref_325mv: adc-channel@e {
|
|
||||||
reg = <0x00 0x0e>;
|
|
||||||
};
|
|
||||||
ref_muxoff: adc-channel@f {
|
|
||||||
reg = <0x00 0x0f>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/* IIO client node */
|
|
||||||
iio-hwmon {
|
|
||||||
compatible = "iio-hwmon";
|
|
||||||
io-channels = <&xoadc 0x00 0x01>, /* Battery */
|
|
||||||
<&xoadc 0x00 0x02>, /* DC in (charger) */
|
|
||||||
<&xoadc 0x00 0x04>, /* VPH the main system voltage */
|
|
||||||
<&xoadc 0x00 0x0b>, /* Die temperature */
|
|
||||||
<&xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
|
|
||||||
<&xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
|
|
||||||
<&xoadc 0x00 0x0e>; /* Reference voltage 0.325V */
|
|
||||||
};
|
|
|
@ -1,46 +0,0 @@
|
||||||
Qualcomm's SPMI PMIC current ADC
|
|
||||||
|
|
||||||
QPNP PMIC current ADC (IADC) provides interface to clients to read current.
|
|
||||||
A 16 bit ADC is used for current measurements. IADC can measure the current
|
|
||||||
through an external resistor (channel 1) or internal (built-in) resistor
|
|
||||||
(channel 0). When using an external resistor it is to be described by
|
|
||||||
qcom,external-resistor-micro-ohms property.
|
|
||||||
|
|
||||||
IADC node:
|
|
||||||
|
|
||||||
- compatible:
|
|
||||||
Usage: required
|
|
||||||
Value type: <string>
|
|
||||||
Definition: Should contain "qcom,spmi-iadc".
|
|
||||||
|
|
||||||
- reg:
|
|
||||||
Usage: required
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: IADC base address and length in the SPMI PMIC register map
|
|
||||||
|
|
||||||
- interrupts:
|
|
||||||
Usage: optional
|
|
||||||
Value type: <prop-encoded-array>
|
|
||||||
Definition: End of ADC conversion.
|
|
||||||
|
|
||||||
- qcom,external-resistor-micro-ohms:
|
|
||||||
Usage: optional
|
|
||||||
Value type: <u32>
|
|
||||||
Definition: Sense resister value in micro Ohm.
|
|
||||||
If not defined value of 10000 micro Ohms will be used.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
/* IADC node */
|
|
||||||
pmic_iadc: iadc@3600 {
|
|
||||||
compatible = "qcom,spmi-iadc";
|
|
||||||
reg = <0x3600 0x100>;
|
|
||||||
interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>;
|
|
||||||
qcom,external-resistor-micro-ohms = <10000>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* IIO client node */
|
|
||||||
bat {
|
|
||||||
io-channels = <&pmic_iadc 0>;
|
|
||||||
io-channel-names = "iadc";
|
|
||||||
};
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/qcom,spmi-iadc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Qualcomm's SPMI PMIC current ADC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Cameron <jic23@kernel.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
QPNP PMIC current ADC (IADC) provides interface to clients to read current.
|
||||||
|
A 16 bit ADC is used for current measurements. IADC can measure the current
|
||||||
|
through an external resistor (channel 1) or internal (built-in) resistor
|
||||||
|
(channel 0). When using an external resistor it is to be described by
|
||||||
|
qcom,external-resistor-micro-ohms property.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: qcom,spmi-iadc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
description: IADC base address and length in the SPMI PMIC register map
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
qcom,external-resistor-micro-ohms:
|
||||||
|
description:
|
||||||
|
Sensor resistor value. If not defined value of 10000 micro Ohms
|
||||||
|
will be used.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
End of conversion interrupt.
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
spmi_bus {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
pmic_iadc: adc@3600 {
|
||||||
|
compatible = "qcom,spmi-iadc";
|
||||||
|
reg = <0x3600 0x100>;
|
||||||
|
interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
qcom,external-resistor-micro-ohms = <10000>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -48,8 +48,6 @@ properties:
|
||||||
description:
|
description:
|
||||||
End of conversion interrupt.
|
End of conversion interrupt.
|
||||||
|
|
||||||
io-channel-ranges: true
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
@ -249,7 +247,6 @@ examples:
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
#io-channel-cells = <1>;
|
#io-channel-cells = <1>;
|
||||||
io-channel-ranges;
|
|
||||||
|
|
||||||
/* Channel node */
|
/* Channel node */
|
||||||
adc-chan@39 {
|
adc-chan@39 {
|
||||||
|
|
|
@ -1,98 +0,0 @@
|
||||||
* Renesas R-Car GyroADC device driver
|
|
||||||
|
|
||||||
The GyroADC block is a reduced SPI block with up to 8 chipselect lines,
|
|
||||||
which supports the SPI protocol of a selected few SPI ADCs. The SPI ADCs
|
|
||||||
are sampled by the GyroADC block in a round-robin fashion and the result
|
|
||||||
presented in the GyroADC registers.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be "<soc-specific>", "renesas,rcar-gyroadc".
|
|
||||||
The <soc-specific> should be one of:
|
|
||||||
renesas,r8a7791-gyroadc - for the GyroADC block present
|
|
||||||
in r8a7791 SoC
|
|
||||||
renesas,r8a7792-gyroadc - for the GyroADC with interrupt
|
|
||||||
block present in r8a7792 SoC
|
|
||||||
- reg: Address and length of the register set for the device
|
|
||||||
- clocks: References to all the clocks specified in the clock-names
|
|
||||||
property as specified in
|
|
||||||
Documentation/devicetree/bindings/clock/clock-bindings.txt.
|
|
||||||
- clock-names: Shall contain "fck". The "fck" is the GyroADC block clock.
|
|
||||||
- power-domains: Must contain a reference to the PM domain, if available.
|
|
||||||
- #address-cells: Should be <1> (setting for the subnodes) for all ADCs
|
|
||||||
except for "fujitsu,mb88101a". Should be <0> (setting for
|
|
||||||
only subnode) for "fujitsu,mb88101a".
|
|
||||||
- #size-cells: Should be <0> (setting for the subnodes)
|
|
||||||
|
|
||||||
Sub-nodes:
|
|
||||||
You must define subnode(s) which select the connected ADC type and reference
|
|
||||||
voltage for the GyroADC channels.
|
|
||||||
|
|
||||||
Required properties for subnodes:
|
|
||||||
- compatible: Should be either of:
|
|
||||||
"fujitsu,mb88101a"
|
|
||||||
- Fujitsu MB88101A compatible mode,
|
|
||||||
12bit sampling, up to 4 channels can be sampled in
|
|
||||||
round-robin fashion. One Fujitsu chip supplies four
|
|
||||||
GyroADC channels with data as it contains four ADCs
|
|
||||||
on the chip and thus for 4-channel operation, single
|
|
||||||
MB88101A is required. The Cx chipselect lines of the
|
|
||||||
MB88101A connect directly to two CHS lines of the
|
|
||||||
GyroADC, no demuxer is required. The data out line
|
|
||||||
of each MB88101A connects to a shared input pin of
|
|
||||||
the GyroADC.
|
|
||||||
"ti,adcs7476" or "ti,adc121" or "adi,ad7476"
|
|
||||||
- TI ADCS7476 / TI ADC121 / ADI AD7476 compatible mode,
|
|
||||||
15bit sampling, up to 8 channels can be sampled in
|
|
||||||
round-robin fashion. One TI/ADI chip supplies single
|
|
||||||
ADC channel with data, thus for 8-channel operation,
|
|
||||||
8 chips are required. A 3:8 chipselect demuxer is
|
|
||||||
required to connect the nCS line of the TI/ADI chips
|
|
||||||
to the GyroADC, while MISO line of each TI/ADI ADC
|
|
||||||
connects to a shared input pin of the GyroADC.
|
|
||||||
"maxim,max1162" or "maxim,max11100"
|
|
||||||
- Maxim MAX1162 / Maxim MAX11100 compatible mode,
|
|
||||||
16bit sampling, up to 8 channels can be sampled in
|
|
||||||
round-robin fashion. One Maxim chip supplies single
|
|
||||||
ADC channel with data, thus for 8-channel operation,
|
|
||||||
8 chips are required. A 3:8 chipselect demuxer is
|
|
||||||
required to connect the nCS line of the MAX chips
|
|
||||||
to the GyroADC, while MISO line of each Maxim ADC
|
|
||||||
connects to a shared input pin of the GyroADC.
|
|
||||||
- reg: Should be the number of the analog input. Should be present
|
|
||||||
for all ADCs except "fujitsu,mb88101a".
|
|
||||||
- vref-supply: Reference to the channel reference voltage regulator.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
vref_max1162: regulator-vref-max1162 {
|
|
||||||
compatible = "regulator-fixed";
|
|
||||||
|
|
||||||
regulator-name = "MAX1162 Vref";
|
|
||||||
regulator-min-microvolt = <4096000>;
|
|
||||||
regulator-max-microvolt = <4096000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
adc@e6e54000 {
|
|
||||||
compatible = "renesas,r8a7791-gyroadc", "renesas,rcar-gyroadc";
|
|
||||||
reg = <0 0xe6e54000 0 64>;
|
|
||||||
clocks = <&mstp9_clks R8A7791_CLK_GYROADC>;
|
|
||||||
clock-names = "fck";
|
|
||||||
power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
|
|
||||||
|
|
||||||
pinctrl-0 = <&adc_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
adc@0 {
|
|
||||||
reg = <0>;
|
|
||||||
compatible = "maxim,max1162";
|
|
||||||
vref-supply = <&vref_max1162>;
|
|
||||||
};
|
|
||||||
|
|
||||||
adc@1 {
|
|
||||||
reg = <1>;
|
|
||||||
compatible = "maxim,max1162";
|
|
||||||
vref-supply = <&vref_max1162>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -0,0 +1,143 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/renesas,rcar-gyroadc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Renesas R-Car GyroADC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Marek Vasut <marek.vasut+renesas@gmail.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The GyroADC block is a reduced SPI block with up to 8 chipselect lines,
|
||||||
|
which supports the SPI protocol of a selected few SPI ADCs. The SPI ADCs
|
||||||
|
are sampled by the GyroADC block in a round-robin fashion and the result
|
||||||
|
presented in the GyroADC registers.
|
||||||
|
The ADC bindings should match with that of the devices connected to a
|
||||||
|
full featured SPI bus.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- renesas,r8a7791-gyroadc
|
||||||
|
- renesas,r8a7792-gyroadc
|
||||||
|
- const: renesas,rcar-gyroadc
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: fck
|
||||||
|
|
||||||
|
power-domains: true
|
||||||
|
|
||||||
|
resets: true
|
||||||
|
|
||||||
|
"#address-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
"#size-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- "#address-cells"
|
||||||
|
- "#size-cells"
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"@[0-7]$":
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
description: |
|
||||||
|
fujitsu,mb88101a
|
||||||
|
- Fujitsu MB88101A compatible mode,
|
||||||
|
12bit sampling, up to 4 channels can be sampled in round-robin
|
||||||
|
fashion. One Fujitsu chip supplies four GyroADC channels with
|
||||||
|
data as it contains four ADCs on the chip and thus for 4-channel
|
||||||
|
operation, single MB88101A is required. The Cx chipselect lines
|
||||||
|
of the MB88101A connect directly to two CHS lines of the GyroADC,
|
||||||
|
no demuxer is required. The data out line of each MB88101A
|
||||||
|
connects to a shared input pin of the GyroADC.
|
||||||
|
ti,adcs7476 or ti,adc121 or adi,ad7476
|
||||||
|
- TI ADCS7476 / TI ADC121 / ADI AD7476 compatible mode, 15bit
|
||||||
|
sampling, up to 8 channels can be sampled in round-robin
|
||||||
|
fashion. One TI/ADI chip supplies single ADC channel with data,
|
||||||
|
thus for 8-channel operation, 8 chips are required.
|
||||||
|
A 3:8 chipselect demuxer is required to connect the nCS line
|
||||||
|
of the TI/ADI chips to the GyroADC, while MISO line of each
|
||||||
|
TI/ADI ADC connects to a shared input pin of the GyroADC.
|
||||||
|
maxim,max1162 or maxim,max11100
|
||||||
|
- Maxim MAX1162 / Maxim MAX11100 compatible mode, 16bit sampling,
|
||||||
|
up to 8 channels can be sampled in round-robin fashion. One
|
||||||
|
Maxim chip supplies single ADC channel with data, thus for
|
||||||
|
8-channel operation, 8 chips are required.
|
||||||
|
A 3:8 chipselect demuxer is required to connect the nCS line
|
||||||
|
of the MAX chips to the GyroADC, while MISO line of each Maxim
|
||||||
|
ADC connects to a shared input pin of the GyroADC.
|
||||||
|
enum:
|
||||||
|
- adi,7476
|
||||||
|
- fujitsu,mb88101a
|
||||||
|
- maxim,max1162
|
||||||
|
- maxim,max11100
|
||||||
|
- ti,adcs7476
|
||||||
|
- ti,adc121
|
||||||
|
|
||||||
|
reg:
|
||||||
|
minimum: 0
|
||||||
|
maximum: 7
|
||||||
|
|
||||||
|
vref-supply: true
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- vref-supply
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/r8a7791-clock.h>
|
||||||
|
#include <dt-bindings/power/r8a7791-sysc.h>
|
||||||
|
soc {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
adc@e6e54000 {
|
||||||
|
compatible = "renesas,r8a7791-gyroadc", "renesas,rcar-gyroadc";
|
||||||
|
reg = <0 0xe6e54000 0 64>;
|
||||||
|
clocks = <&mstp9_clks R8A7791_CLK_GYROADC>;
|
||||||
|
clock-names = "fck";
|
||||||
|
power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
|
||||||
|
|
||||||
|
pinctrl-0 = <&adc_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
adc@0 {
|
||||||
|
reg = <0>;
|
||||||
|
compatible = "maxim,max1162";
|
||||||
|
vref-supply = <&vref_max1162>;
|
||||||
|
};
|
||||||
|
|
||||||
|
adc@1 {
|
||||||
|
reg = <1>;
|
||||||
|
compatible = "maxim,max1162";
|
||||||
|
vref-supply = <&vref_max1162>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -49,8 +49,6 @@ properties:
|
||||||
"#io-channel-cells":
|
"#io-channel-cells":
|
||||||
const: 1
|
const: 1
|
||||||
|
|
||||||
io-channel-ranges: true
|
|
||||||
|
|
||||||
vdd-supply: true
|
vdd-supply: true
|
||||||
|
|
||||||
samsung,syscon-phandle:
|
samsung,syscon-phandle:
|
||||||
|
@ -130,7 +128,6 @@ examples:
|
||||||
reg = <0x12d10000 0x100>;
|
reg = <0x12d10000 0x100>;
|
||||||
interrupts = <0 106 0>;
|
interrupts = <0 106 0>;
|
||||||
#io-channel-cells = <1>;
|
#io-channel-cells = <1>;
|
||||||
io-channel-ranges;
|
|
||||||
|
|
||||||
clocks = <&clock 303>;
|
clocks = <&clock 303>;
|
||||||
clock-names = "adc";
|
clock-names = "adc";
|
||||||
|
@ -156,7 +153,6 @@ examples:
|
||||||
reg = <0x126C0000 0x100>;
|
reg = <0x126C0000 0x100>;
|
||||||
interrupts = <0 137 0>;
|
interrupts = <0 137 0>;
|
||||||
#io-channel-cells = <1>;
|
#io-channel-cells = <1>;
|
||||||
io-channel-ranges;
|
|
||||||
|
|
||||||
clocks = <&cmu CLK_TSADC>,
|
clocks = <&cmu CLK_TSADC>,
|
||||||
<&cmu CLK_SCLK_TSADC>;
|
<&cmu CLK_SCLK_TSADC>;
|
||||||
|
|
58
Documentation/devicetree/bindings/iio/adc/ti,adc084s021.yaml
Normal file
58
Documentation/devicetree/bindings/iio/adc/ti,adc084s021.yaml
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/ti,adc084s021.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments ADC084S021 ADC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Mårten Lindahl <martenli@axis.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
8 bit ADC with 4 channels
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: ti,adc084s021
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency: true
|
||||||
|
|
||||||
|
vref-supply:
|
||||||
|
description: External reference, needed to establish input scaling
|
||||||
|
|
||||||
|
spi-cpol: true
|
||||||
|
spi-cpha: true
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- vref-supply
|
||||||
|
- spi-cpol
|
||||||
|
- spi-cpha
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
adc@0 {
|
||||||
|
compatible = "ti,adc084s021";
|
||||||
|
reg = <0>;
|
||||||
|
vref-supply = <&adc_vref>;
|
||||||
|
spi-cpol;
|
||||||
|
spi-cpha;
|
||||||
|
spi-max-frequency = <16000000>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
52
Documentation/devicetree/bindings/iio/adc/ti,ads124s08.yaml
Normal file
52
Documentation/devicetree/bindings/iio/adc/ti,ads124s08.yaml
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/ti,ads124s08.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments' ads124s08 and ads124s06 ADC chip
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Dan Murphy <dmurphy@ti.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ti,ads124s06
|
||||||
|
- ti,ads124s08
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency: true
|
||||||
|
|
||||||
|
spi-cpha: true
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
adc@0 {
|
||||||
|
compatible = "ti,ads124s08";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <1000000>;
|
||||||
|
spi-cpha;
|
||||||
|
reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -0,0 +1,87 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/ti,palmas-gpadc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Palmas general purpose ADC IP block devicetree bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Tony Lindgren <tony@atomide.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This ADC is often used to provide channels via the io-channels
|
||||||
|
consumer framework.
|
||||||
|
Channels list:
|
||||||
|
0 battery type
|
||||||
|
1 battery temp NTC (optional current source)
|
||||||
|
2 GP
|
||||||
|
3 temp (with ext. diode, optional current source)
|
||||||
|
4 GP
|
||||||
|
5 GP
|
||||||
|
6 VBAT_SENSE
|
||||||
|
7 VCC_SENSE
|
||||||
|
8 Backup Battery voltage
|
||||||
|
9 external charger (VCHG)
|
||||||
|
10 VBUS
|
||||||
|
11 DC-DC current probe (how does this work?)
|
||||||
|
12 internal die temp
|
||||||
|
13 internal die temp
|
||||||
|
14 USB ID pin voltage
|
||||||
|
15 test network
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: ti,palmas-gpadc
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 3
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
ti,channel0-current-microamp:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Channel 0 current in uA.
|
||||||
|
enum:
|
||||||
|
- 0
|
||||||
|
- 5
|
||||||
|
- 15
|
||||||
|
- 20
|
||||||
|
|
||||||
|
ti,channel3-current-microamp:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Channel 3 current in uA.
|
||||||
|
enum:
|
||||||
|
- 0
|
||||||
|
- 10
|
||||||
|
- 400
|
||||||
|
- 800
|
||||||
|
|
||||||
|
ti,enable-extended-delay:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enable extended delay.
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- "#io-channel-cells"
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/mt8183-clk.h>
|
||||||
|
pmic {
|
||||||
|
compatible = "ti,twl6035-pmic", "ti,palmas-pmic";
|
||||||
|
adc {
|
||||||
|
compatible = "ti,palmas-gpadc";
|
||||||
|
interrupts = <18 0
|
||||||
|
16 0
|
||||||
|
17 0>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
ti,channel0-current-microamp = <5>;
|
||||||
|
ti,channel3-current-microamp = <10>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,19 +0,0 @@
|
||||||
* Texas Instruments' ADC084S021
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Must be "ti,adc084s021"
|
|
||||||
- reg : SPI chip select number for the device
|
|
||||||
- vref-supply : The regulator supply for ADC reference voltage
|
|
||||||
- spi-cpol : Per spi-bus bindings
|
|
||||||
- spi-cpha : Per spi-bus bindings
|
|
||||||
- spi-max-frequency : Per spi-bus bindings
|
|
||||||
|
|
||||||
Example:
|
|
||||||
adc@0 {
|
|
||||||
compatible = "ti,adc084s021";
|
|
||||||
reg = <0>;
|
|
||||||
vref-supply = <&adc_vref>;
|
|
||||||
spi-cpol;
|
|
||||||
spi-cpha;
|
|
||||||
spi-max-frequency = <16000000>;
|
|
||||||
};
|
|
|
@ -1,25 +0,0 @@
|
||||||
* Texas Instruments' ads124s08 and ads124s06 ADC chip
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible :
|
|
||||||
"ti,ads124s08"
|
|
||||||
"ti,ads124s06"
|
|
||||||
- reg : spi chip select number for the device
|
|
||||||
|
|
||||||
Recommended properties:
|
|
||||||
- spi-max-frequency : Definition as per
|
|
||||||
Documentation/devicetree/bindings/spi/spi-bus.txt
|
|
||||||
- spi-cpha : Definition as per
|
|
||||||
Documentation/devicetree/bindings/spi/spi-bus.txt
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reset-gpios : GPIO pin used to reset the device.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
adc@0 {
|
|
||||||
compatible = "ti,ads124s08";
|
|
||||||
reg = <0>;
|
|
||||||
spi-max-frequency = <1000000>;
|
|
||||||
spi-cpha;
|
|
||||||
reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/adc/x-powers,axp209-adc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: X-Powers AXP ADC bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Chen-Yu Tsai <wens@csie.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
ADC is frequently used as a provider to consumers of the ADC channels.
|
||||||
|
Device is a child of an axp209 multifunction device
|
||||||
|
ADC channels and their indexes per variant:
|
||||||
|
|
||||||
|
AXP209
|
||||||
|
------
|
||||||
|
0 | acin_v
|
||||||
|
1 | acin_i
|
||||||
|
2 | vbus_v
|
||||||
|
3 | vbus_i
|
||||||
|
4 | pmic_temp
|
||||||
|
5 | gpio0_v
|
||||||
|
6 | gpio1_v
|
||||||
|
7 | ipsout_v
|
||||||
|
8 | batt_v
|
||||||
|
9 | batt_chrg_i
|
||||||
|
10 | batt_dischrg_i
|
||||||
|
|
||||||
|
AXP22x
|
||||||
|
------
|
||||||
|
0 | pmic_temp
|
||||||
|
1 | batt_v
|
||||||
|
2 | batt_chrg_i
|
||||||
|
3 | batt_dischrg_i
|
||||||
|
|
||||||
|
AXP813
|
||||||
|
------
|
||||||
|
0 | pmic_temp
|
||||||
|
1 | gpio0_v
|
||||||
|
2 | batt_v
|
||||||
|
3 | batt_chrg_i
|
||||||
|
4 | batt_dischrg_i
|
||||||
|
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- x-powers,axp209-adc
|
||||||
|
- x-powers,axp221-adc
|
||||||
|
- x-powers,axp813-adc
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
axp221 {
|
||||||
|
adc {
|
||||||
|
compatible = "x-powers,axp221-adc";
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,26 +0,0 @@
|
||||||
Current Sense Amplifier
|
|
||||||
=======================
|
|
||||||
|
|
||||||
When an io-channel measures the output voltage from a current sense
|
|
||||||
amplifier, the interesting measurement is almost always the current
|
|
||||||
through the sense resistor, not the voltage output. This binding
|
|
||||||
describes such a current sense circuit.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : "current-sense-amplifier"
|
|
||||||
- io-channels : Channel node of a voltage io-channel.
|
|
||||||
- sense-resistor-micro-ohms : The sense resistance in microohms.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- sense-gain-mult: Amplifier gain multiplier. The default is <1>.
|
|
||||||
- sense-gain-div: Amplifier gain divider. The default is <1>.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
sysi {
|
|
||||||
compatible = "current-sense-amplifier";
|
|
||||||
io-channels = <&tiadc 0>;
|
|
||||||
|
|
||||||
sense-resistor-micro-ohms = <20000>;
|
|
||||||
sense-gain-mul = <50>;
|
|
||||||
};
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/afe/current-sense-amplifier.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Current Sense Amplifier
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Peter Rosin <peda@axentia.se>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
When an io-channel measures the output voltage from a current sense
|
||||||
|
amplifier, the interesting measurement is almost always the current
|
||||||
|
through the sense resistor, not the voltage output. This binding
|
||||||
|
describes such a current sense circuit.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: current-sense-amplifier
|
||||||
|
|
||||||
|
io-channels:
|
||||||
|
maxItems: 1
|
||||||
|
description: |
|
||||||
|
Channel node of a voltage io-channel.
|
||||||
|
|
||||||
|
sense-resistor-micro-ohms:
|
||||||
|
description: The sense resistance.
|
||||||
|
|
||||||
|
sense-gain-mult:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Amplifier gain multiplier. The default is <1>.
|
||||||
|
|
||||||
|
sense-gain-div:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Amplifier gain divider. The default is <1>.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- io-channels
|
||||||
|
- sense-resistor-micro-ohms
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
sysi {
|
||||||
|
compatible = "current-sense-amplifier";
|
||||||
|
io-channels = <&tiadc 0>;
|
||||||
|
|
||||||
|
sense-resistor-micro-ohms = <20000>;
|
||||||
|
sense-gain-mult = <50>;
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,41 +0,0 @@
|
||||||
Current Sense Shunt
|
|
||||||
===================
|
|
||||||
|
|
||||||
When an io-channel measures the voltage over a current sense shunt,
|
|
||||||
the interesting measurement is almost always the current through the
|
|
||||||
shunt, not the voltage over it. This binding describes such a current
|
|
||||||
sense circuit.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : "current-sense-shunt"
|
|
||||||
- io-channels : Channel node of a voltage io-channel.
|
|
||||||
- shunt-resistor-micro-ohms : The shunt resistance in microohms.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
The system current is measured by measuring the voltage over a
|
|
||||||
3.3 ohms shunt resistor.
|
|
||||||
|
|
||||||
sysi {
|
|
||||||
compatible = "current-sense-shunt";
|
|
||||||
io-channels = <&tiadc 0>;
|
|
||||||
|
|
||||||
/* Divide the voltage by 3300000/1000000 (or 3.3) for the current. */
|
|
||||||
shunt-resistor-micro-ohms = <3300000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
tiadc: adc@48 {
|
|
||||||
compatible = "ti,ads1015";
|
|
||||||
reg = <0x48>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
channel@0 { /* IN0,IN1 differential */
|
|
||||||
reg = <0>;
|
|
||||||
ti,gain = <1>;
|
|
||||||
ti,datarate = <4>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/afe/current-sense-shunt.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Current Sense Shunt
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Peter Rosin <peda@axentia.se>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
When an io-channel measures the voltage over a current sense shunt,
|
||||||
|
the interesting measurement is almost always the current through the
|
||||||
|
shunt, not the voltage over it. This binding describes such a current
|
||||||
|
sense circuit.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: current-sense-shunt
|
||||||
|
|
||||||
|
io-channels:
|
||||||
|
maxItems: 1
|
||||||
|
description: |
|
||||||
|
Channel node of a voltage io-channel.
|
||||||
|
|
||||||
|
shunt-resistor-micro-ohms:
|
||||||
|
description: The shunt resistance.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- io-channels
|
||||||
|
- shunt-resistor-micro-ohms
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
tiadc: adc@48 {
|
||||||
|
compatible = "ti,ads1015";
|
||||||
|
reg = <0x48>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
channel@0 { /* IN0,IN1 differential */
|
||||||
|
reg = <0>;
|
||||||
|
ti,gain = <1>;
|
||||||
|
ti,datarate = <4>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sysi {
|
||||||
|
compatible = "current-sense-shunt";
|
||||||
|
io-channels = <&tiadc 0>;
|
||||||
|
|
||||||
|
/* Divide the voltage by 3300000/1000000 (or 3.3) for the current. */
|
||||||
|
shunt-resistor-micro-ohms = <3300000>;
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,53 +0,0 @@
|
||||||
Voltage divider
|
|
||||||
===============
|
|
||||||
|
|
||||||
When an io-channel measures the midpoint of a voltage divider, the
|
|
||||||
interesting voltage is often the voltage over the full resistance
|
|
||||||
of the divider. This binding describes the voltage divider in such
|
|
||||||
a curcuit.
|
|
||||||
|
|
||||||
Vin ----.
|
|
||||||
|
|
|
||||||
.-----.
|
|
||||||
| R |
|
|
||||||
'-----'
|
|
||||||
|
|
|
||||||
+---- Vout
|
|
||||||
|
|
|
||||||
.-----.
|
|
||||||
| Rout|
|
|
||||||
'-----'
|
|
||||||
|
|
|
||||||
GND
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : "voltage-divider"
|
|
||||||
- io-channels : Channel node of a voltage io-channel measuring Vout.
|
|
||||||
- output-ohms : Resistance Rout over which the output voltage is measured.
|
|
||||||
See full-ohms.
|
|
||||||
- full-ohms : Resistance R + Rout for the full divider. The io-channel
|
|
||||||
is scaled by the Rout / (R + Rout) quotient.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
The system voltage is circa 12V, but divided down with a 22/222
|
|
||||||
voltage divider (R = 200 Ohms, Rout = 22 Ohms) and fed to an ADC.
|
|
||||||
|
|
||||||
sysv {
|
|
||||||
compatible = "voltage-divider";
|
|
||||||
io-channels = <&maxadc 1>;
|
|
||||||
|
|
||||||
/* Scale the system voltage by 22/222 to fit the ADC range. */
|
|
||||||
output-ohms = <22>;
|
|
||||||
full-ohms = <222>; /* 200 + 22 */
|
|
||||||
};
|
|
||||||
|
|
||||||
&spi {
|
|
||||||
maxadc: adc@0 {
|
|
||||||
compatible = "maxim,max1027";
|
|
||||||
reg = <0>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
interrupt-parent = <&gpio5>;
|
|
||||||
interrupts = <15 IRQ_TYPE_EDGE_RISING>;
|
|
||||||
spi-max-frequency = <1000000>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/afe/voltage-divider.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Voltage divider
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Peter Rosin <peda@axentia.se>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
When an io-channel measures the midpoint of a voltage divider, the
|
||||||
|
interesting voltage is often the voltage over the full resistance
|
||||||
|
of the divider. This binding describes the voltage divider in such
|
||||||
|
a curcuit.
|
||||||
|
|
||||||
|
Vin ----.
|
||||||
|
|
|
||||||
|
.-----.
|
||||||
|
| R |
|
||||||
|
'-----'
|
||||||
|
|
|
||||||
|
+---- Vout
|
||||||
|
|
|
||||||
|
.-----.
|
||||||
|
| Rout|
|
||||||
|
'-----'
|
||||||
|
|
|
||||||
|
GND
|
||||||
|
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: voltage-divider
|
||||||
|
|
||||||
|
io-channels:
|
||||||
|
maxItems: 1
|
||||||
|
description: |
|
||||||
|
Channel node of a voltage io-channel.
|
||||||
|
|
||||||
|
output-ohms:
|
||||||
|
description:
|
||||||
|
Resistance Rout over which the output voltage is measured. See full-ohms.
|
||||||
|
|
||||||
|
full-ohms:
|
||||||
|
description:
|
||||||
|
Resistance R + Rout for the full divider. The io-channel is scaled by
|
||||||
|
the Rout / (R + Rout) quotient.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- io-channels
|
||||||
|
- output-ohms
|
||||||
|
- full-ohms
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
/*
|
||||||
|
* The system voltage is circa 12V, but divided down with a 22/222
|
||||||
|
* voltage divider (R = 200 Ohms, Rout = 22 Ohms) and fed to an ADC.
|
||||||
|
*/
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
maxadc: adc@0 {
|
||||||
|
compatible = "maxim,max1027";
|
||||||
|
reg = <0>;
|
||||||
|
#io-channel-cells = <1>;
|
||||||
|
interrupt-parent = <&gpio5>;
|
||||||
|
interrupts = <15 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
spi-max-frequency = <1000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sysv {
|
||||||
|
compatible = "voltage-divider";
|
||||||
|
io-channels = <&maxadc 1>;
|
||||||
|
|
||||||
|
/* Scale the system voltage by 22/222 to fit the ADC range. */
|
||||||
|
output-ohms = <22>;
|
||||||
|
full-ohms = <222>; /* 200 + 22 */
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,11 +0,0 @@
|
||||||
Bosch Sensortec BME680 pressure/temperature/humidity/voc sensors
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: must be "bosch,bme680"
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
bme680@76 {
|
|
||||||
compatible = "bosch,bme680";
|
|
||||||
reg = <0x76>;
|
|
||||||
};
|
|
|
@ -1,15 +0,0 @@
|
||||||
* Sensirion SGP30/SGPC3 multi-pixel Gas Sensor
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: must be one of
|
|
||||||
"sensirion,sgp30"
|
|
||||||
"sensirion,sgpc3"
|
|
||||||
- reg: the I2C address of the sensor
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
gas@58 {
|
|
||||||
compatible = "sensirion,sgp30";
|
|
||||||
reg = <0x58>;
|
|
||||||
};
|
|
|
@ -1,155 +0,0 @@
|
||||||
Analog Devices AD5592R/AD5593R DAC/ADC device driver
|
|
||||||
|
|
||||||
Required properties for the AD5592R:
|
|
||||||
- compatible: Must be "adi,ad5592r"
|
|
||||||
- reg: SPI chip select number for the device
|
|
||||||
- spi-max-frequency: Max SPI frequency to use (< 30000000)
|
|
||||||
- spi-cpol: The AD5592R requires inverse clock polarity (CPOL) mode
|
|
||||||
|
|
||||||
Required properties for the AD5593R:
|
|
||||||
- compatible: Must be "adi,ad5593r"
|
|
||||||
- reg: I2C address of the device
|
|
||||||
|
|
||||||
Required properties for all supported chips:
|
|
||||||
- #address-cells: Should be 1.
|
|
||||||
- #size-cells: Should be 0.
|
|
||||||
- channel nodes:
|
|
||||||
Each child node represents one channel and has the following
|
|
||||||
Required properties:
|
|
||||||
* reg: Pin on which this channel is connected to.
|
|
||||||
* adi,mode: 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
|
|
||||||
this should be considered as the
|
|
||||||
preferred DAC mode)
|
|
||||||
* CH_MODE_GPIO (the pin is registered
|
|
||||||
with GPIOLIB)
|
|
||||||
Optional properties:
|
|
||||||
* adi,off-state: 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)
|
|
||||||
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- vref-supply: Phandle to the external reference voltage supply. This should
|
|
||||||
only be set if there is an external reference voltage connected to the VREF
|
|
||||||
pin. If the property is not set the internal 2.5V reference is used.
|
|
||||||
- reset-gpios : GPIO spec for the RESET pin. If specified, it will be
|
|
||||||
asserted during driver probe.
|
|
||||||
- gpio-controller: Marks the device node as a GPIO controller.
|
|
||||||
- #gpio-cells: Should be 2. The first cell is the GPIO number and the second
|
|
||||||
cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
|
|
||||||
|
|
||||||
AD5592R Example:
|
|
||||||
|
|
||||||
#include <dt-bindings/iio/adi,ad5592r.h>
|
|
||||||
|
|
||||||
vref: regulator-vref {
|
|
||||||
compatible = "regulator-fixed";
|
|
||||||
regulator-name = "vref-ad559x";
|
|
||||||
regulator-min-microvolt = <3300000>;
|
|
||||||
regulator-max-microvolt = <3300000>;
|
|
||||||
regulator-always-on;
|
|
||||||
};
|
|
||||||
|
|
||||||
ad5592r@0 {
|
|
||||||
#size-cells = <0>;
|
|
||||||
#address-cells = <1>;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
compatible = "adi,ad5592r";
|
|
||||||
reg = <0>;
|
|
||||||
|
|
||||||
spi-max-frequency = <1000000>;
|
|
||||||
spi-cpol;
|
|
||||||
|
|
||||||
vref-supply = <&vref>; /* optional */
|
|
||||||
reset-gpios = <&gpio0 86 0>; /* optional */
|
|
||||||
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 Example:
|
|
||||||
|
|
||||||
#include <dt-bindings/iio/adi,ad5592r.h>
|
|
||||||
|
|
||||||
ad5593r@10 {
|
|
||||||
#size-cells = <0>;
|
|
||||||
#address-cells = <1>;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
compatible = "adi,ad5593r";
|
|
||||||
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>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,83 +0,0 @@
|
||||||
Analog Devices AD5758 DAC device driver
|
|
||||||
|
|
||||||
Required properties for the AD5758:
|
|
||||||
- compatible: Must be "adi,ad5758"
|
|
||||||
- reg: SPI chip select number for the device
|
|
||||||
- spi-max-frequency: Max SPI frequency to use (< 50000000)
|
|
||||||
- spi-cpha: is the only mode that is supported
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- adi,dc-dc-mode: Mode of operation of the dc-to-dc converter
|
|
||||||
Dynamic Power Control (DPC)
|
|
||||||
In this mode, the AD5758 circuitry senses the output
|
|
||||||
voltage and dynamically regulates the supply voltage,
|
|
||||||
VDPC+, to meet compliance requirements plus an optimized
|
|
||||||
headroom voltage for the output buffer.
|
|
||||||
|
|
||||||
Programmable Power Control (PPC)
|
|
||||||
In this mode, the VDPC+ voltage is user-programmable to
|
|
||||||
a fixed level that needs to accommodate the maximum output
|
|
||||||
load required.
|
|
||||||
|
|
||||||
The output of the DAC core is either converted to a
|
|
||||||
current or voltage output at the VIOUT pin. Only one mode
|
|
||||||
can be enabled at any one time.
|
|
||||||
|
|
||||||
The following values are currently supported:
|
|
||||||
* 1: DPC current mode
|
|
||||||
* 2: DPC voltage mode
|
|
||||||
* 3: PPC current mode
|
|
||||||
|
|
||||||
Depending on the selected output mode (voltage or current) one of the
|
|
||||||
two properties must
|
|
||||||
be present:
|
|
||||||
|
|
||||||
- adi,range-microvolt: Voltage output range
|
|
||||||
The array of voltage output ranges must contain two fields:
|
|
||||||
* <0 5000000>: 0 V to 5 V voltage range
|
|
||||||
* <0 10000000>: 0 V to 10 V voltage range
|
|
||||||
* <(-5000000) 5000000>: ±5 V voltage range
|
|
||||||
* <(-10000000) 10000000>: ±10 V voltage range
|
|
||||||
- adi,range-microamp: Current output range
|
|
||||||
The array of current output ranges must contain two fields:
|
|
||||||
* <0 20000>: 0 mA to 20 mA current range
|
|
||||||
* <0 24000>: 0 mA to 24 mA current range
|
|
||||||
* <4 24000>: 4 mA to 20 mA current range
|
|
||||||
* <(-20000) 20000>: ±20 mA current range
|
|
||||||
* <(-24000) 24000>: ±24 mA current range
|
|
||||||
* <(-1000) 22000>: −1 mA to +22 mA current range
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- reset-gpios : GPIO spec for the RESET pin. If specified, it will be
|
|
||||||
asserted during driver probe.
|
|
||||||
|
|
||||||
- adi,dc-dc-ilim-microamp: The dc-to-dc converter current limit
|
|
||||||
The following values are currently supported [uA]:
|
|
||||||
* 150000
|
|
||||||
* 200000
|
|
||||||
* 250000
|
|
||||||
* 300000
|
|
||||||
* 350000
|
|
||||||
* 400000
|
|
||||||
|
|
||||||
- adi,slew-time-us: The time it takes for the output to reach the
|
|
||||||
full scale [uS]
|
|
||||||
The supported range is between 133us up to 1023984375us
|
|
||||||
|
|
||||||
AD5758 Example:
|
|
||||||
|
|
||||||
dac@0 {
|
|
||||||
compatible = "adi,ad5758";
|
|
||||||
reg = <0>;
|
|
||||||
spi-max-frequency = <1000000>;
|
|
||||||
spi-cpha;
|
|
||||||
|
|
||||||
reset-gpios = <&gpio 22 0>;
|
|
||||||
|
|
||||||
adi,dc-dc-mode = <2>;
|
|
||||||
adi,range-microvolt = <0 10000000>;
|
|
||||||
adi,dc-dc-ilim-microamp = <200000>;
|
|
||||||
adi,slew-time-us = <125000>;
|
|
||||||
};
|
|
|
@ -1,23 +0,0 @@
|
||||||
Analog Devices AD7303 DAC device driver
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Must be "adi,ad7303"
|
|
||||||
- reg: SPI chip select number for the device
|
|
||||||
- spi-max-frequency: Max SPI frequency to use (< 30000000)
|
|
||||||
- Vdd-supply: Phandle to the Vdd power supply
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- REF-supply: Phandle to the external reference voltage supply. This should
|
|
||||||
only be set if there is an external reference voltage connected to the REF
|
|
||||||
pin. If the property is not set Vdd/2 is used as the reference voltage.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
ad7303@4 {
|
|
||||||
compatible = "adi,ad7303";
|
|
||||||
reg = <4>;
|
|
||||||
spi-max-frequency = <10000000>;
|
|
||||||
Vdd-supply = <&vdd_supply>;
|
|
||||||
adi,use-external-reference;
|
|
||||||
REF-supply = <&vref_supply>;
|
|
||||||
};
|
|
204
Documentation/devicetree/bindings/iio/dac/adi,ad5592r.yaml
Normal file
204
Documentation/devicetree/bindings/iio/dac/adi,ad5592r.yaml
Normal file
|
@ -0,0 +1,204 @@
|
||||||
|
# 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 <michael.hennerich@analog.com>
|
||||||
|
|
||||||
|
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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
57
Documentation/devicetree/bindings/iio/dac/adi,ad5686.yaml
Normal file
57
Documentation/devicetree/bindings/iio/dac/adi,ad5686.yaml
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/adi,ad5686.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Analog Devices AD5686 and similar multi-channel DACs
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Michael Auchter <michael.auchter@ni.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Binding for Analog Devices AD5686 and similar multi-channel DACs
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- adi,ad5311r
|
||||||
|
- adi,ad5338r
|
||||||
|
- adi,ad5671r
|
||||||
|
- adi,ad5675r
|
||||||
|
- adi,ad5691r
|
||||||
|
- adi,ad5692r
|
||||||
|
- adi,ad5693
|
||||||
|
- adi,ad5693r
|
||||||
|
- adi,ad5694
|
||||||
|
- adi,ad5694r
|
||||||
|
- adi,ad5695r
|
||||||
|
- adi,ad5696
|
||||||
|
- adi,ad5696r
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vcc-supply:
|
||||||
|
description: |
|
||||||
|
The regulator supply for DAC reference voltage.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
ad5686: dac@0 {
|
||||||
|
compatible = "adi,ad5686";
|
||||||
|
reg = <0>;
|
||||||
|
vcc-supply = <&dac_vref>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
129
Documentation/devicetree/bindings/iio/dac/adi,ad5758.yaml
Normal file
129
Documentation/devicetree/bindings/iio/dac/adi,ad5758.yaml
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/adi,ad5758.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Analog Devices AD5758 DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Michael Hennerich <Michael.Hennerich@analog.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: adi,ad5758
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency: true
|
||||||
|
spi-cpha: true
|
||||||
|
|
||||||
|
adi,dc-dc-mode:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [1, 2, 3]
|
||||||
|
description: |
|
||||||
|
Mode of operation of the dc-to-dc converter
|
||||||
|
Dynamic Power Control (DPC)
|
||||||
|
In this mode, the AD5758 circuitry senses the output voltage and
|
||||||
|
dynamically regulates the supply voltage, VDPC+, to meet compliance
|
||||||
|
requirements plus an optimized headroom voltage for the output buffer.
|
||||||
|
|
||||||
|
Programmable Power Control (PPC)
|
||||||
|
In this mode, the VDPC+ voltage is user-programmable to a fixed level
|
||||||
|
that needs to accommodate the maximum output load required.
|
||||||
|
|
||||||
|
The output of the DAC core is either converted to a current or
|
||||||
|
voltage output at the VIOUT pin. Only one mode can be enabled at
|
||||||
|
any one time.
|
||||||
|
|
||||||
|
The following values are currently supported:
|
||||||
|
* 1: DPC current mode
|
||||||
|
* 2: DPC voltage mode
|
||||||
|
* 3: PPC current mode
|
||||||
|
|
||||||
|
Depending on the selected output mode (voltage or current) one of the
|
||||||
|
two properties must be present:
|
||||||
|
|
||||||
|
adi,range-microvolt:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/int32-array
|
||||||
|
description: |
|
||||||
|
Voltage output range specified as <minimum, maximum>
|
||||||
|
enum:
|
||||||
|
- [[0, 5000000]]
|
||||||
|
- [[0, 10000000]]
|
||||||
|
- [[-5000000, 5000000]]
|
||||||
|
- [[-10000000, 10000000]]
|
||||||
|
|
||||||
|
adi,range-microamp:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/int32-array
|
||||||
|
description: |
|
||||||
|
Current output range specified as <minimum, maximum>
|
||||||
|
enum:
|
||||||
|
- [[0, 20000]]
|
||||||
|
- [[0, 24000]]
|
||||||
|
- [[4, 24000]]
|
||||||
|
- [[-20000, 20000]]
|
||||||
|
- [[-24000, 24000]]
|
||||||
|
- [[-1000, 22000]]
|
||||||
|
|
||||||
|
reset-gpios: true
|
||||||
|
|
||||||
|
adi,dc-dc-ilim-microamp:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [150000, 200000, 250000, 300000, 350000, 400000]
|
||||||
|
description: |
|
||||||
|
The dc-to-dc converter current limit.
|
||||||
|
|
||||||
|
adi,slew-time-us:
|
||||||
|
description: |
|
||||||
|
The time it takes for the output to reach the full scale [uS]
|
||||||
|
minimum: 133
|
||||||
|
maximum: 1023984375
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- spi-cpha
|
||||||
|
- adi,dc-dc-mode
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
adi,dc-dc-mode:
|
||||||
|
contains:
|
||||||
|
enum: [1, 3]
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
adi,range-microvolt: false
|
||||||
|
required:
|
||||||
|
- adi,range-microamp
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
adi,range-microamp: false
|
||||||
|
required:
|
||||||
|
- adi,range-microvolt
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dac@0 {
|
||||||
|
compatible = "adi,ad5758";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <1000000>;
|
||||||
|
spi-cpha;
|
||||||
|
|
||||||
|
reset-gpios = <&gpio 22 0>;
|
||||||
|
|
||||||
|
adi,dc-dc-mode = <2>;
|
||||||
|
adi,range-microvolt = <0 10000000>;
|
||||||
|
adi,dc-dc-ilim-microamp = <200000>;
|
||||||
|
adi,slew-time-us = <125000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
50
Documentation/devicetree/bindings/iio/dac/adi,ad7303.yaml
Normal file
50
Documentation/devicetree/bindings/iio/dac/adi,ad7303.yaml
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/adi,ad7303.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Analog Devices AD7303 DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Lars-Peter Clausen <lars@metafoo.de>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: adi,ad7303
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
Vdd-supply:
|
||||||
|
description:
|
||||||
|
Used to calculate output channel scalling if REF-supply not specified.
|
||||||
|
REF-supply:
|
||||||
|
description:
|
||||||
|
If not provided, Vdd/2 is used as the reference voltage.
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
maximum: 30000000
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- Vdd-supply
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dac@4 {
|
||||||
|
compatible = "adi,ad7303";
|
||||||
|
reg = <4>;
|
||||||
|
spi-max-frequency = <10000000>;
|
||||||
|
Vdd-supply = <&vdd_supply>;
|
||||||
|
REF-supply = <&vref_supply>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,41 +0,0 @@
|
||||||
Bindings for DAC emulation using a digital potentiometer
|
|
||||||
|
|
||||||
It is assumed that the dpot is used as a voltage divider between the
|
|
||||||
current dpot wiper setting and the maximum resistance of the dpot. The
|
|
||||||
divided voltage is provided by a vref regulator.
|
|
||||||
|
|
||||||
.------.
|
|
||||||
.-----------. | |
|
|
||||||
| vref |--' .---.
|
|
||||||
| regulator |--. | |
|
|
||||||
'-----------' | | d |
|
|
||||||
| | p |
|
|
||||||
| | o | wiper
|
|
||||||
| | t |<---------+
|
|
||||||
| | |
|
|
||||||
| '---' dac output voltage
|
|
||||||
| |
|
|
||||||
'------+------------+
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be "dpot-dac"
|
|
||||||
- vref-supply: The regulator supplying the voltage divider.
|
|
||||||
- io-channels: Channel node of the dpot to be used for the voltage division.
|
|
||||||
- io-channel-names: Should be "dpot".
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&i2c {
|
|
||||||
dpot: mcp4651-503@28 {
|
|
||||||
compatible = "microchip,mcp4651-503";
|
|
||||||
reg = <0x28>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
dac {
|
|
||||||
compatible = "dpot-dac";
|
|
||||||
vref-supply = <®_3v3>;
|
|
||||||
io-channels = <&dpot 0>;
|
|
||||||
io-channel-names = "dpot";
|
|
||||||
};
|
|
64
Documentation/devicetree/bindings/iio/dac/dpot-dac.yaml
Normal file
64
Documentation/devicetree/bindings/iio/dac/dpot-dac.yaml
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/dpot-dac.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: DAC emulation using a digital potentiometer
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Peter Rosin <peda@axentia.se>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
It is assumed that the dpot is used as a voltage divider between the
|
||||||
|
current dpot wiper setting and the maximum resistance of the dpot. The
|
||||||
|
divided voltage is provided by a vref regulator.
|
||||||
|
|
||||||
|
.------.
|
||||||
|
.-----------. | |
|
||||||
|
| vref |--' .---.
|
||||||
|
| regulator |--. | |
|
||||||
|
'-----------' | | d |
|
||||||
|
| | p |
|
||||||
|
| | o | wiper
|
||||||
|
| | t |<---------+
|
||||||
|
| | |
|
||||||
|
| '---' dac output voltage
|
||||||
|
| |
|
||||||
|
'------+------------+
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: dpot-dac
|
||||||
|
|
||||||
|
vref-supply:
|
||||||
|
description: Regulator supplying the voltage divider.
|
||||||
|
|
||||||
|
io-channels:
|
||||||
|
maxItems: 1
|
||||||
|
description: |
|
||||||
|
Channel node of the dpot to be used for the voltage division.
|
||||||
|
|
||||||
|
io-channel-names:
|
||||||
|
const: dpot
|
||||||
|
|
||||||
|
"#io-channel-cells":
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- vref-supply
|
||||||
|
- io-channels
|
||||||
|
- io-channel-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
dac {
|
||||||
|
compatible = "dpot-dac";
|
||||||
|
vref-supply = <®_3v3>;
|
||||||
|
io-channels = <&dpot 0>;
|
||||||
|
io-channel-names = "dpot";
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,20 +0,0 @@
|
||||||
Maxim Integrated DS4422/DS4424 7-bit Sink/Source Current DAC Device Driver
|
|
||||||
|
|
||||||
Datasheet publicly available at:
|
|
||||||
https://datasheets.maximintegrated.com/en/ds/DS4422-DS4424.pdf
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be one of
|
|
||||||
maxim,ds4422
|
|
||||||
maxim,ds4424
|
|
||||||
- reg: Should contain the DAC I2C address
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- vcc-supply: Power supply is optional. If not defined, driver will ignore it.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
ds4224@10 {
|
|
||||||
compatible = "maxim,ds4424";
|
|
||||||
reg = <0x10>; /* When A0, A1 pins are ground */
|
|
||||||
vcc-supply = <&vcc_3v3>;
|
|
||||||
};
|
|
55
Documentation/devicetree/bindings/iio/dac/fsl,vf610-dac.yaml
Normal file
55
Documentation/devicetree/bindings/iio/dac/fsl,vf610-dac.yaml
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/fsl,vf610-dac.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Freescale vf610 Digital to Analog Converter
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Sanchayan Maity <maitysanchayan@gmail.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: fsl,vf610-dac
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: dac
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
#include <dt-bindings/clock/vf610-clock.h>
|
||||||
|
bus@40000000 {
|
||||||
|
compatible = "fsl,aips-bus", "simple-bus";
|
||||||
|
reg = <0x40000000 0x00070000>;
|
||||||
|
ranges;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
dac@400cc000 {
|
||||||
|
compatible = "fsl,vf610-dac";
|
||||||
|
reg = <0x400cc000 0x1000>;
|
||||||
|
interrupts = <55 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clock-names = "dac";
|
||||||
|
clocks = <&clks VF610_CLK_DAC0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,19 +0,0 @@
|
||||||
NXP LPC1850 DAC bindings
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be "nxp,lpc1850-dac"
|
|
||||||
- reg: Offset and length of the register set for the ADC device
|
|
||||||
- interrupts: The interrupt number for the ADC device
|
|
||||||
- clocks: The root clock of the ADC controller
|
|
||||||
- vref-supply: The regulator supply ADC reference voltage
|
|
||||||
- resets: phandle to reset controller and line specifier
|
|
||||||
|
|
||||||
Example:
|
|
||||||
dac: dac@400e1000 {
|
|
||||||
compatible = "nxp,lpc1850-dac";
|
|
||||||
reg = <0x400e1000 0x1000>;
|
|
||||||
interrupts = <0>;
|
|
||||||
clocks = <&ccu1 CLK_APB3_DAC>;
|
|
||||||
vref-supply = <®_vdda>;
|
|
||||||
resets = <&rgu 42>;
|
|
||||||
};
|
|
|
@ -1,14 +0,0 @@
|
||||||
Maxim max5821 DAC device driver
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Must be "maxim,max5821"
|
|
||||||
- reg: Should contain the DAC I2C address
|
|
||||||
- vref-supply: Phandle to the vref power supply
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
max5821@38 {
|
|
||||||
compatible = "maxim,max5821";
|
|
||||||
reg = <0x38>;
|
|
||||||
vref-supply = <®_max5821>;
|
|
||||||
};
|
|
45
Documentation/devicetree/bindings/iio/dac/maxim,ds4424.yaml
Normal file
45
Documentation/devicetree/bindings/iio/dac/maxim,ds4424.yaml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/maxim,ds4424.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim Integrated DS4422/DS4424 7-bit Sink/Source Current DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ismail Kose <ihkose@gmail.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Datasheet publicly available at:
|
||||||
|
https://datasheets.maximintegrated.com/en/ds/DS4422-DS4424.pdf
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- maxim,ds4422
|
||||||
|
- maxim,ds4424
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vcc-supply: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dac@10 {
|
||||||
|
compatible = "maxim,ds4424";
|
||||||
|
reg = <0x10>; /* When A0, A1 pins are ground */
|
||||||
|
vcc-supply = <&vcc_3v3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
44
Documentation/devicetree/bindings/iio/dac/maxim,max5821.yaml
Normal file
44
Documentation/devicetree/bindings/iio/dac/maxim,max5821.yaml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/maxim,max5821.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim max5821 dual 10-bit DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Philippe Reynes <tremyfr@yahoo.fr>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Datasheet publicly available at:
|
||||||
|
https://datasheets.maximintegrated.com/en/ds/MAX5821.pdf
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: maxim,max5821
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vref-supply: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- vref-supply
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dac@38 {
|
||||||
|
compatible = "maxim,max5821";
|
||||||
|
reg = <0x38>;
|
||||||
|
vref-supply = <®_max5821>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,35 +0,0 @@
|
||||||
Microchip mcp4725 and mcp4726 DAC device driver
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Must be "microchip,mcp4725" or "microchip,mcp4726"
|
|
||||||
- reg: Should contain the DAC I2C address
|
|
||||||
- vdd-supply: Phandle to the Vdd power supply. This supply is used as a
|
|
||||||
voltage reference on mcp4725. It is used as a voltage reference on
|
|
||||||
mcp4726 if there is no vref-supply specified.
|
|
||||||
|
|
||||||
Optional properties (valid only for mcp4726):
|
|
||||||
- vref-supply: Optional phandle to the Vref power supply. Vref pin is
|
|
||||||
used as a voltage reference when this supply is specified.
|
|
||||||
- microchip,vref-buffered: Boolean to enable buffering of the external
|
|
||||||
Vref pin. This boolean is not valid without the vref-supply. Quoting
|
|
||||||
the datasheet: This is offered in cases where the reference voltage
|
|
||||||
does not have the current capability not to drop its voltage when
|
|
||||||
connected to the internal resistor ladder circuit.
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
|
|
||||||
/* simple mcp4725 */
|
|
||||||
mcp4725@60 {
|
|
||||||
compatible = "microchip,mcp4725";
|
|
||||||
reg = <0x60>;
|
|
||||||
vdd-supply = <&vdac_vdd>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* mcp4726 with the buffered external reference voltage */
|
|
||||||
mcp4726@60 {
|
|
||||||
compatible = "microchip,mcp4726";
|
|
||||||
reg = <0x60>;
|
|
||||||
vdd-supply = <&vdac_vdd>;
|
|
||||||
vref-supply = <&vdac_vref>;
|
|
||||||
microchip,vref-buffered;
|
|
||||||
};
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/microchip,mcp4725.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Microchip mcp4725 and mcp4726 DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Tomas Novotny <tomas@novotny.cz>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- microchip,mcp4725
|
||||||
|
- microchip,mcp4726
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vdd-supply:
|
||||||
|
description: |
|
||||||
|
Provides both power and acts as the reference supply on the mcp4725.
|
||||||
|
For the mcp4726 it will be used as the reference voltage if vref-supply
|
||||||
|
is not provided.
|
||||||
|
|
||||||
|
vref-supply:
|
||||||
|
description:
|
||||||
|
Vref pin is used as a voltage reference when this supply is specified.
|
||||||
|
|
||||||
|
microchip,vref-buffered:
|
||||||
|
type: boolean
|
||||||
|
description: |
|
||||||
|
Enable buffering of the external Vref pin. This boolean is not valid
|
||||||
|
without the vref-supply. Quoting the datasheet: This is offered in
|
||||||
|
cases where the reference voltage does not have the current
|
||||||
|
capability not to drop its voltage when connected to the internal
|
||||||
|
resistor ladder circuit.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
not:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: microchip,mcp4726
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
vref-supply: false
|
||||||
|
microchip,vref-buffered: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- vdd-supply
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
mcp4725@60 {
|
||||||
|
compatible = "microchip,mcp4725";
|
||||||
|
reg = <0x60>;
|
||||||
|
vdd-supply = <&vdac_vdd>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -0,0 +1,58 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/nxp,lpc1850-dac.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NXP LPC1850 DAC bindings
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Cameron <jic23@kernel.org>
|
||||||
|
|
||||||
|
description:
|
||||||
|
Supports the DAC found on the LPC1850 SoC.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: nxp,lpc1850-dac
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vref-supply: true
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- clocks
|
||||||
|
- vref-supply
|
||||||
|
- resets
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/lpc18xx-ccu.h>
|
||||||
|
soc {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
dac: dac@400e1000 {
|
||||||
|
compatible = "nxp,lpc1850-dac";
|
||||||
|
reg = <0x400e1000 0x1000>;
|
||||||
|
interrupts = <0>;
|
||||||
|
clocks = <&ccu1 CLK_APB3_DAC>;
|
||||||
|
vref-supply = <®_vdda>;
|
||||||
|
resets = <&rgu 42>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,24 +0,0 @@
|
||||||
* Texas Instruments DAC5571 Family
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should contain
|
|
||||||
"ti,dac5571"
|
|
||||||
"ti,dac6571"
|
|
||||||
"ti,dac7571"
|
|
||||||
"ti,dac5574"
|
|
||||||
"ti,dac6574"
|
|
||||||
"ti,dac7574"
|
|
||||||
"ti,dac5573"
|
|
||||||
"ti,dac6573"
|
|
||||||
"ti,dac7573"
|
|
||||||
- reg: Should contain the DAC I2C address
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- vref-supply: The regulator supply for DAC reference voltage
|
|
||||||
|
|
||||||
Example:
|
|
||||||
dac@0 {
|
|
||||||
compatible = "ti,dac5571";
|
|
||||||
reg = <0x4C>;
|
|
||||||
vref-supply = <&vdd_supply>;
|
|
||||||
};
|
|
52
Documentation/devicetree/bindings/iio/dac/ti,dac5571.yaml
Normal file
52
Documentation/devicetree/bindings/iio/dac/ti,dac5571.yaml
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/ti,dac5571.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments DAC5571 Family
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Sean Nyekjaer <sean@geanix.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ti,dac5571
|
||||||
|
- ti,dac6571
|
||||||
|
- ti,dac7571
|
||||||
|
- ti,dac5574
|
||||||
|
- ti,dac6574
|
||||||
|
- ti,dac7574
|
||||||
|
- ti,dac5573
|
||||||
|
- ti,dac6573
|
||||||
|
- ti,dac7573
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vref-supply:
|
||||||
|
description:
|
||||||
|
Reference voltage must be supplied to establish the scaling of the
|
||||||
|
output voltage.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- vref-supply
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dac@4c {
|
||||||
|
compatible = "ti,dac5571";
|
||||||
|
reg = <0x4C>;
|
||||||
|
vref-supply = <&vdd_supply>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,23 +0,0 @@
|
||||||
TI DAC7311 device tree bindings
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: must be set to:
|
|
||||||
* "ti,dac7311"
|
|
||||||
* "ti,dac6311"
|
|
||||||
* "ti,dac5311"
|
|
||||||
- reg: spi chip select number for the device
|
|
||||||
- vref-supply: The regulator supply for ADC reference voltage
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- spi-max-frequency: Max SPI frequency to use
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
spi_master {
|
|
||||||
dac@0 {
|
|
||||||
compatible = "ti,dac7311";
|
|
||||||
reg = <0>; /* CS0 */
|
|
||||||
spi-max-frequency = <1000000>;
|
|
||||||
vref-supply = <&vdd_supply>;
|
|
||||||
};
|
|
||||||
};
|
|
49
Documentation/devicetree/bindings/iio/dac/ti,dac7311.yaml
Normal file
49
Documentation/devicetree/bindings/iio/dac/ti,dac7311.yaml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/ti,dac7311.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments DAC5311 and similar SPI DACs
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Charles-Antoine Couret <charles-antoine.couret@essensium.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ti,dac7311
|
||||||
|
- ti,dac6311
|
||||||
|
- ti,dac5311
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vref-supply:
|
||||||
|
description:
|
||||||
|
Reference voltage must be supplied to establish the scaling of the
|
||||||
|
output voltage.
|
||||||
|
|
||||||
|
spi-max-frequency: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- vref-supply
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dac@0 {
|
||||||
|
compatible = "ti,dac7311";
|
||||||
|
reg = <0>; /* CS0 */
|
||||||
|
spi-max-frequency = <1000000>;
|
||||||
|
vref-supply = <&vdd_supply>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,20 +0,0 @@
|
||||||
TI DAC7512 DEVICETREE BINDINGS
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- "compatible" Must be set to "ti,dac7512"
|
|
||||||
|
|
||||||
Property rules described in Documentation/devicetree/bindings/spi/spi-bus.txt
|
|
||||||
apply. In particular, "reg" and "spi-max-frequency" properties must be given.
|
|
||||||
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
spi_master {
|
|
||||||
dac7512: dac7512@0 {
|
|
||||||
compatible = "ti,dac7512";
|
|
||||||
reg = <0>; /* CS0 */
|
|
||||||
spi-max-frequency = <1000000>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
42
Documentation/devicetree/bindings/iio/dac/ti,dac7512.yaml
Normal file
42
Documentation/devicetree/bindings/iio/dac/ti,dac7512.yaml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/ti,dac7512.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments DAC7512 DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Cameron <jic23@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: ti,dac7512
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
description:
|
||||||
|
Maximum frequency is reduced for supply voltage of less than 3.6V
|
||||||
|
maximum: 30000000
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dac@0 {
|
||||||
|
compatible = "ti,dac7512";
|
||||||
|
reg = <0>; /* CS0 */
|
||||||
|
spi-max-frequency = <1000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,28 +0,0 @@
|
||||||
* Texas Instruments Dual, 12-Bit Serial Input Digital-to-Analog Converter
|
|
||||||
|
|
||||||
The DAC7612 is a dual, 12-bit digital-to-analog converter (DAC) with guaranteed
|
|
||||||
12-bit monotonicity performance over the industrial temperature range.
|
|
||||||
Is is programmable through an SPI interface.
|
|
||||||
|
|
||||||
The internal DACs are loaded when the LOADDACS pin is pulled down.
|
|
||||||
|
|
||||||
https://www.ti.com/lit/ds/sbas106/sbas106.pdf
|
|
||||||
|
|
||||||
Required Properties:
|
|
||||||
- compatible: Should be one of:
|
|
||||||
"ti,dac7612"
|
|
||||||
"ti,dac7612u"
|
|
||||||
"ti,dac7612ub"
|
|
||||||
- reg: Definition as per Documentation/devicetree/bindings/spi/spi-bus.txt
|
|
||||||
|
|
||||||
Optional Properties:
|
|
||||||
- ti,loaddacs-gpios: GPIO descriptor for the LOADDACS pin.
|
|
||||||
- spi-*: Definition as per Documentation/devicetree/bindings/spi/spi-bus.txt
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
dac@1 {
|
|
||||||
compatible = "ti,dac7612";
|
|
||||||
reg = <0x1>;
|
|
||||||
ti,loaddacs-gpios = <&msmgpio 25 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
53
Documentation/devicetree/bindings/iio/dac/ti,dac7612.yaml
Normal file
53
Documentation/devicetree/bindings/iio/dac/ti,dac7612.yaml
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/ti,dac7612.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments DAC7612 family of DACs
|
||||||
|
|
||||||
|
description:
|
||||||
|
The DAC7612 is a dual, 12-bit digital-to-analog converter (DAC) with
|
||||||
|
guaranteed 12-bit monotonicity performance over the industrial temperature
|
||||||
|
range. Is is programmable through an SPI interface.
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ricardo Ribalda Delgado <ricardo@ribalda.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ti,dac7612
|
||||||
|
- ti,dac7612u
|
||||||
|
- ti,dac7612ub
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
ti,loaddacs-gpios:
|
||||||
|
description:
|
||||||
|
DACs are loaded when the pin connected to this GPIO is pulled low.
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dac@1 {
|
||||||
|
compatible = "ti,dac7612";
|
||||||
|
reg = <0x1>;
|
||||||
|
ti,loaddacs-gpios = <&msmgpio 25 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,20 +0,0 @@
|
||||||
Freescale vf610 Digital to Analog Converter bindings
|
|
||||||
|
|
||||||
The devicetree bindings are for the new DAC driver written for
|
|
||||||
vf610 SoCs from Freescale.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should contain "fsl,vf610-dac"
|
|
||||||
- reg: Offset and length of the register set for the device
|
|
||||||
- interrupts: Should contain the interrupt for the device
|
|
||||||
- clocks: The clock is needed by the DAC controller
|
|
||||||
- clock-names: Must contain "dac" matching entry in the clocks property.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
dac0: dac@400cc000 {
|
|
||||||
compatible = "fsl,vf610-dac";
|
|
||||||
reg = <0x400cc000 0x1000>;
|
|
||||||
interrupts = <55 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
clock-names = "dac";
|
|
||||||
clocks = <&clks VF610_CLK_DAC0>;
|
|
||||||
};
|
|
|
@ -1,86 +0,0 @@
|
||||||
Analog Devices ADF4350/ADF4351 device driver
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be one of
|
|
||||||
* "adi,adf4350": When using the ADF4350 device
|
|
||||||
* "adi,adf4351": When using the ADF4351 device
|
|
||||||
- reg: SPI chip select numbert for the device
|
|
||||||
- spi-max-frequency: Max SPI frequency to use (< 20000000)
|
|
||||||
- clocks: From common clock binding. Clock is phandle to clock for
|
|
||||||
ADF435x Reference Clock (CLKIN).
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- gpios: GPIO Lock detect - If set with a valid phandle and GPIO number,
|
|
||||||
pll lock state is tested upon read.
|
|
||||||
- adi,channel-spacing: Channel spacing in Hz (influences MODULUS).
|
|
||||||
- adi,power-up-frequency: If set in Hz the PLL tunes to
|
|
||||||
the desired frequency on probe.
|
|
||||||
- adi,reference-div-factor: If set the driver skips dynamic calculation
|
|
||||||
and uses this default value instead.
|
|
||||||
- adi,reference-doubler-enable: Enables reference doubler.
|
|
||||||
- adi,reference-div2-enable: Enables reference divider.
|
|
||||||
- adi,phase-detector-polarity-positive-enable: Enables positive phase
|
|
||||||
detector polarity. Default = negative.
|
|
||||||
- adi,lock-detect-precision-6ns-enable: Enables 6ns lock detect precision.
|
|
||||||
Default = 10ns.
|
|
||||||
- adi,lock-detect-function-integer-n-enable: Enables lock detect
|
|
||||||
for integer-N mode. Default = factional-N mode.
|
|
||||||
- adi,charge-pump-current: Charge pump current in mA.
|
|
||||||
Default = 2500mA.
|
|
||||||
- adi,muxout-select: On chip multiplexer output selection.
|
|
||||||
Valid values for the multiplexer output are:
|
|
||||||
0: Three-State Output (default)
|
|
||||||
1: DVDD
|
|
||||||
2: DGND
|
|
||||||
3: R-Counter output
|
|
||||||
4: N-Divider output
|
|
||||||
5: Analog lock detect
|
|
||||||
6: Digital lock detect
|
|
||||||
- adi,low-spur-mode-enable: Enables low spur mode.
|
|
||||||
Default = Low noise mode.
|
|
||||||
- adi,cycle-slip-reduction-enable: Enables cycle slip reduction.
|
|
||||||
- adi,charge-cancellation-enable: Enabled charge pump
|
|
||||||
charge cancellation for integer-N modes.
|
|
||||||
- adi,anti-backlash-3ns-enable: Enables 3ns antibacklash pulse width
|
|
||||||
for integer-N modes.
|
|
||||||
- adi,band-select-clock-mode-high-enable: Enables faster band
|
|
||||||
selection logic.
|
|
||||||
- adi,12bit-clk-divider: Clock divider value used when
|
|
||||||
adi,12bit-clkdiv-mode != 0
|
|
||||||
- adi,clk-divider-mode:
|
|
||||||
Valid values for the clkdiv mode are:
|
|
||||||
0: Clock divider off (default)
|
|
||||||
1: Fast lock enable
|
|
||||||
2: Phase resync enable
|
|
||||||
- adi,aux-output-enable: Enables auxiliary RF output.
|
|
||||||
- adi,aux-output-fundamental-enable: Selects fundamental VCO output on
|
|
||||||
the auxiliary RF output. Default = Output of RF dividers.
|
|
||||||
- adi,mute-till-lock-enable: Enables Mute-Till-Lock-Detect function.
|
|
||||||
- adi,output-power: Output power selection.
|
|
||||||
Valid values for the power mode are:
|
|
||||||
0: -4dBm (default)
|
|
||||||
1: -1dBm
|
|
||||||
2: +2dBm
|
|
||||||
3: +5dBm
|
|
||||||
- adi,aux-output-power: Auxiliary output power selection.
|
|
||||||
Valid values for the power mode are:
|
|
||||||
0: -4dBm (default)
|
|
||||||
1: -1dBm
|
|
||||||
2: +2dBm
|
|
||||||
3: +5dBm
|
|
||||||
|
|
||||||
|
|
||||||
Example:
|
|
||||||
lo_pll0_rx_adf4351: adf4351-rx-lpc@4 {
|
|
||||||
compatible = "adi,adf4351";
|
|
||||||
reg = <4>;
|
|
||||||
spi-max-frequency = <10000000>;
|
|
||||||
clocks = <&clk0_ad9523 9>;
|
|
||||||
clock-names = "clkin";
|
|
||||||
adi,channel-spacing = <10000>;
|
|
||||||
adi,power-up-frequency = <2400000000>;
|
|
||||||
adi,phase-detector-polarity-positive-enable;
|
|
||||||
adi,charge-pump-current = <2500>;
|
|
||||||
adi,output-power = <3>;
|
|
||||||
adi,mute-till-lock-enable;
|
|
||||||
};
|
|
190
Documentation/devicetree/bindings/iio/frequency/adi,adf4350.yaml
Normal file
190
Documentation/devicetree/bindings/iio/frequency/adi,adf4350.yaml
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/frequency/adi,adf4350.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Analog Devices ADF4350/ADF4351 wideband synthesizer
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Michael Hennerich <michael.hennerich@analog.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- adi,adf4350
|
||||||
|
- adi,adf4351
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
maximum: 20000000
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
description: Clock to provide CLKIN reference clock signal.
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
const: clkin
|
||||||
|
|
||||||
|
gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description: Lock detect GPIO.
|
||||||
|
|
||||||
|
adi,channel-spacing:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
Channel spacing in Hz (influences MODULUS).
|
||||||
|
|
||||||
|
adi,power-up-frequency:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
If set the PLL tunes to this frequency (in Hz) on driver probe.
|
||||||
|
|
||||||
|
adi,reference-div-factor:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
If set the driver skips dynamic calculation and uses this default
|
||||||
|
value instead.
|
||||||
|
|
||||||
|
adi,reference-doubler-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enables reference doubler.
|
||||||
|
|
||||||
|
adi,reference-div2-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enables reference divider.
|
||||||
|
|
||||||
|
adi,phase-detector-polarity-positive-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enables positive phase detector polarity. Default negative.
|
||||||
|
|
||||||
|
adi,lock-detect-precision-6ns-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enables 6ns lock detect precision. Default = 10ns.
|
||||||
|
|
||||||
|
adi,lock-detect-function-integer-n-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
Enables lock detect for integer-N mode. Default = factional-N mode.
|
||||||
|
|
||||||
|
adi,charge-pump-current:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: Charge pump current in mA. Default = 2500mA.
|
||||||
|
|
||||||
|
adi,muxout-select:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
minimum: 0
|
||||||
|
maximum: 6
|
||||||
|
description: |
|
||||||
|
On chip multiplexer output selection.
|
||||||
|
Valid values for the multiplexer output are:
|
||||||
|
0: Three-State Output (default)
|
||||||
|
1: DVDD
|
||||||
|
2: DGND
|
||||||
|
3: R-Counter output
|
||||||
|
4: N-Divider output
|
||||||
|
5: Analog lock detect
|
||||||
|
6: Digital lock detect
|
||||||
|
|
||||||
|
adi,low-spur-mode-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enables low spur mode. Default = Low noise mode.
|
||||||
|
|
||||||
|
adi,cycle-slip-reduction-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enables cycle slip reduction.
|
||||||
|
|
||||||
|
adi,charge-cancellation-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
Enabled charge pump charge cancellation for integer-N modes.
|
||||||
|
|
||||||
|
adi,anti-backlash-3ns-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
Enables 3ns antibacklash pulse width for integer-N modes.
|
||||||
|
|
||||||
|
adi,band-select-clock-mode-high-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enables faster band selection logic.
|
||||||
|
|
||||||
|
adi,12bit-clk-divider:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
Clock divider value used when adi,12bit-clkdiv-mode != 0
|
||||||
|
|
||||||
|
adi,clk-divider-mode:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1, 2]
|
||||||
|
description: |
|
||||||
|
Valid values for the clkdiv mode are:
|
||||||
|
0: Clock divider off (default)
|
||||||
|
1: Fast lock enable
|
||||||
|
2: Phase resync enable
|
||||||
|
|
||||||
|
adi,aux-output-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enables auxiliary RF output.
|
||||||
|
|
||||||
|
adi,aux-output-fundamental-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: |
|
||||||
|
Selects fundamental VCO output on the auxiliary RF output.
|
||||||
|
Default = Output of RF dividers.
|
||||||
|
|
||||||
|
adi,mute-till-lock-enable:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Enables Mute-Till-Lock-Detect function.
|
||||||
|
|
||||||
|
adi,output-power:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1, 2, 3]
|
||||||
|
description: |
|
||||||
|
Output power selection.
|
||||||
|
Valid values for the power mode are:
|
||||||
|
0: -4dBm (default)
|
||||||
|
1: -1dBm
|
||||||
|
2: +2dBm
|
||||||
|
3: +5dBm
|
||||||
|
|
||||||
|
adi,aux-output-power:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [0, 1, 2, 3]
|
||||||
|
description: |
|
||||||
|
Auxiliary output power selection.
|
||||||
|
Valid values for the power mode are:
|
||||||
|
0: -4dBm (default)
|
||||||
|
1: -1dBm
|
||||||
|
2: +2dBm
|
||||||
|
3: +5dBm
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
pll@4 {
|
||||||
|
compatible = "adi,adf4351";
|
||||||
|
reg = <4>;
|
||||||
|
spi-max-frequency = <10000000>;
|
||||||
|
clocks = <&clk0_ad9523 9>;
|
||||||
|
clock-names = "clkin";
|
||||||
|
adi,channel-spacing = <10000>;
|
||||||
|
adi,power-up-frequency = <2400000000>;
|
||||||
|
adi,phase-detector-polarity-positive-enable;
|
||||||
|
adi,charge-pump-current = <2500>;
|
||||||
|
adi,output-power = <3>;
|
||||||
|
adi,mute-till-lock-enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,20 +0,0 @@
|
||||||
* Bosch BMG160 triaxial rotation sensor (gyroscope)
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : should be "bosch,bmg160", "bosch,bmi055_gyro" or "bosch,bmi088_gyro"
|
|
||||||
- reg : the I2C address of the sensor (0x69)
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- interrupts : interrupt mapping for GPIO IRQ, it should by configured with
|
|
||||||
flags IRQ_TYPE_EDGE_RISING
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
bmg160@69 {
|
|
||||||
compatible = "bosch,bmg160";
|
|
||||||
reg = <0x69>;
|
|
||||||
interrupt-parent = <&gpio6>;
|
|
||||||
interrupts = <18 (IRQ_TYPE_EDGE_RISING)>;
|
|
||||||
};
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/gyroscope/bosch,bmg160.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Bosch BMG160 triaxial rotation sensor (gyroscope)
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- H. Nikolaus Schaller <hns@goldelico.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- bosch,bmg160
|
||||||
|
- bosch,bmi055_gyro
|
||||||
|
- bosch,bmi088_gyro
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
minItems: 1
|
||||||
|
description:
|
||||||
|
Should be configured with type IRQ_TYPE_EDGE_RISING.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
gyroscope@69 {
|
||||||
|
compatible = "bosch,bmg160";
|
||||||
|
reg = <0x69>;
|
||||||
|
interrupt-parent = <&gpio6>;
|
||||||
|
interrupts = <18 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,31 +0,0 @@
|
||||||
* NXP FXAS21002C Gyroscope device tree bindings
|
|
||||||
|
|
||||||
http://www.nxp.com/products/sensors/gyroscopes/3-axis-digital-gyroscope:FXAS21002C
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : should be "nxp,fxas21002c"
|
|
||||||
- reg : the I2C address of the sensor or SPI chip select number for the
|
|
||||||
device.
|
|
||||||
- vdd-supply: phandle to the regulator that provides power to the sensor.
|
|
||||||
- vddio-supply: phandle to the regulator that provides power to the bus.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reset-gpios : gpio used to reset the device, see gpio/gpio.txt
|
|
||||||
- interrupts : device support 2 interrupts, INT1 and INT2,
|
|
||||||
the interrupts can be triggered on rising or falling edges.
|
|
||||||
See interrupt-controller/interrupts.txt
|
|
||||||
- interrupt-names: should contain "INT1" or "INT2", the gyroscope interrupt
|
|
||||||
line in use.
|
|
||||||
- drive-open-drain: the interrupt/data ready line will be configured
|
|
||||||
as open drain, which is useful if several sensors share
|
|
||||||
the same interrupt line. This is a boolean property.
|
|
||||||
(This binding is taken from pinctrl/pinctrl-bindings.txt)
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
gyroscope@20 {
|
|
||||||
compatible = "nxp,fxas21002c";
|
|
||||||
reg = <0x20>;
|
|
||||||
vdd-supply = <®_peri_3p15v>;
|
|
||||||
vddio-supply = <®_peri_3p15v>;
|
|
||||||
};
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/gyroscope/nxp,fxas21002c.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NXP FXAS21002C Gyroscope
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Rui Miguel Silva <rmfrfs@gmail.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
3 axis digital gyroscope device with an I2C and SPI interface.
|
||||||
|
http://www.nxp.com/products/sensors/gyroscopes/3-axis-digital-gyroscope:FXAS21002C
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: nxp,fxas21002c
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
vdd-supply:
|
||||||
|
description: Regulator that provides power to the sensor
|
||||||
|
|
||||||
|
vddio-supply:
|
||||||
|
description: Regulator that provides power to the bus
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description: GPIO connected to reset
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
description: Either interrupt may be triggered on rising or falling edges.
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
items:
|
||||||
|
enum:
|
||||||
|
- INT1
|
||||||
|
- INT2
|
||||||
|
|
||||||
|
drive-open-drain:
|
||||||
|
type: boolean
|
||||||
|
description: the interrupt/data ready line will be configured as open drain,
|
||||||
|
which is useful if several sensors share the same interrupt
|
||||||
|
line.
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
maximum: 2000000
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
i2c0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
gyroscope@20 {
|
||||||
|
compatible = "nxp,fxas21002c";
|
||||||
|
reg = <0x20>;
|
||||||
|
|
||||||
|
vdd-supply = <®_peri_3p15v>;
|
||||||
|
vddio-supply = <®_peri_3p15v>;
|
||||||
|
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <7 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
interrupt-names = "INT1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
spi0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
gyroscope@0 {
|
||||||
|
compatible = "nxp,fxas2102c";
|
||||||
|
reg = <0x0>;
|
||||||
|
|
||||||
|
spi-max-frequency = <2000000>;
|
||||||
|
|
||||||
|
interrupt-parent = <&gpio2>;
|
||||||
|
interrupts = <7 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
interrupt-names = "INT2";
|
||||||
|
};
|
||||||
|
};
|
|
@ -1,33 +0,0 @@
|
||||||
Texas Instruments AFE4403 Heart rate and Pulse Oximeter
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Should be "ti,afe4403".
|
|
||||||
- reg : SPI chip select address of device.
|
|
||||||
- tx-supply : Regulator supply to transmitting LEDs.
|
|
||||||
- interrupts : The interrupt line the device ADC_RDY pin is
|
|
||||||
connected to. For details refer to,
|
|
||||||
../../interrupt-controller/interrupts.txt.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reset-gpios : GPIO used to reset the device.
|
|
||||||
For details refer to, ../../gpio/gpio.txt.
|
|
||||||
|
|
||||||
For other required and optional properties of SPI slave nodes
|
|
||||||
please refer to ../../spi/spi-bus.txt.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&spi0 {
|
|
||||||
heart_mon@0 {
|
|
||||||
compatible = "ti,afe4403";
|
|
||||||
reg = <0>;
|
|
||||||
spi-max-frequency = <10000000>;
|
|
||||||
|
|
||||||
tx-supply = <&vbat>;
|
|
||||||
|
|
||||||
interrupt-parent = <&gpio1>;
|
|
||||||
interrupts = <28 IRQ_TYPE_EDGE_RISING>;
|
|
||||||
|
|
||||||
reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,29 +0,0 @@
|
||||||
Texas Instruments AFE4404 Heart rate and Pulse Oximeter
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Should be "ti,afe4404".
|
|
||||||
- reg : I2C address of the device.
|
|
||||||
- tx-supply : Regulator supply to transmitting LEDs.
|
|
||||||
- interrupts : The interrupt line the device ADC_RDY pin is
|
|
||||||
connected to. For details refer to,
|
|
||||||
../interrupt-controller/interrupts.txt.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reset-gpios : GPIO used to reset the device.
|
|
||||||
For details refer to, ../gpio/gpio.txt.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
&i2c2 {
|
|
||||||
heart_mon@58 {
|
|
||||||
compatible = "ti,afe4404";
|
|
||||||
reg = <0x58>;
|
|
||||||
|
|
||||||
tx-supply = <&vbat>;
|
|
||||||
|
|
||||||
interrupt-parent = <&gpio1>;
|
|
||||||
interrupts = <28 IRQ_TYPE_EDGE_RISING>;
|
|
||||||
|
|
||||||
reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -1,28 +0,0 @@
|
||||||
Maxim MAX30100 heart rate and pulse oximeter sensor
|
|
||||||
|
|
||||||
* https://datasheets.maximintegrated.com/en/ds/MAX30100.pdf
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: must be "maxim,max30100"
|
|
||||||
- reg: the I2C address of the sensor
|
|
||||||
- interrupts: the sole interrupt generated by the device
|
|
||||||
|
|
||||||
Refer to interrupt-controller/interrupts.txt for generic
|
|
||||||
interrupt client node bindings.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- maxim,led-current-microamp: configuration for LED current in microamperes
|
|
||||||
while the engine is running. First indexed value is the configuration for
|
|
||||||
the RED LED, and second value is for the IR LED.
|
|
||||||
|
|
||||||
Refer to the datasheet for the allowed current values.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
max30100@57 {
|
|
||||||
compatible = "maxim,max30100";
|
|
||||||
reg = <0x57>;
|
|
||||||
maxim,led-current-microamp = <24000 50000>;
|
|
||||||
interrupt-parent = <&gpio1>;
|
|
||||||
interrupts = <16 2>;
|
|
||||||
};
|
|
|
@ -1,33 +0,0 @@
|
||||||
Maxim MAX30102 heart rate and pulse oximeter sensor
|
|
||||||
Maxim MAX30105 optical particle-sensing module
|
|
||||||
|
|
||||||
* https://datasheets.maximintegrated.com/en/ds/MAX30102.pdf
|
|
||||||
* https://datasheets.maximintegrated.com/en/ds/MAX30105.pdf
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: must be "maxim,max30102" or "maxim,max30105"
|
|
||||||
- reg: the I2C address of the sensor
|
|
||||||
- interrupts: the sole interrupt generated by the device
|
|
||||||
|
|
||||||
Refer to interrupt-controller/interrupts.txt for generic
|
|
||||||
interrupt client node bindings.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- maxim,red-led-current-microamp: configuration for red LED current
|
|
||||||
- maxim,ir-led-current-microamp: configuration for IR LED current
|
|
||||||
- maxim,green-led-current-microamp: configuration for green LED current
|
|
||||||
(max30105 only)
|
|
||||||
|
|
||||||
Note that each step is approximately 200 microamps, ranging from 0 uA to
|
|
||||||
50800 uA.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
max30102@57 {
|
|
||||||
compatible = "maxim,max30102";
|
|
||||||
reg = <0x57>;
|
|
||||||
maxim,red-led-current-microamp = <7000>;
|
|
||||||
maxim,ir-led-current-microamp = <7000>;
|
|
||||||
interrupt-parent = <&gpio1>;
|
|
||||||
interrupts = <16 2>;
|
|
||||||
};
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/health/maxim,max30100.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim MAX30100 heart rate and pulse oximeter sensor
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Matt Ranostay <matt.ranostay@konsulko.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: maxim,max30100
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
description: Connected to ADC_RDY pin.
|
||||||
|
|
||||||
|
maxim,led-current-microamp:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
minItems: 2
|
||||||
|
maxItems: 2
|
||||||
|
description: |
|
||||||
|
LED current whilst the engine is running. First indexed value is
|
||||||
|
the configuration for the RED LED, and second value is for the IR LED.
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
heart-rate@57 {
|
||||||
|
compatible = "maxim,max30100";
|
||||||
|
reg = <0x57>;
|
||||||
|
maxim,led-current-microamp = <24000 50000>;
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <16 2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -0,0 +1,72 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/health/maxim,max30102.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Maxim MAX30102 heart rate and pulse oximeter and MAX30105 particle-sensor
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Matt Ranostay <matt.ranostay@konsulko.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- maxim,max30102
|
||||||
|
- maxim,max30105
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
description: Connected to ADC_RDY pin.
|
||||||
|
|
||||||
|
maxim,red-led-current-microamp:
|
||||||
|
description: RED LED current. Each step is approximately 200 microamps.
|
||||||
|
minimum: 0
|
||||||
|
maximum: 50800
|
||||||
|
|
||||||
|
maxim,ir-led-current-microamp:
|
||||||
|
description: IR LED current. Each step is approximately 200 microamps.
|
||||||
|
minimum: 0
|
||||||
|
maximum: 50800
|
||||||
|
|
||||||
|
maxim,green-led-current-microamp:
|
||||||
|
description: Green LED current. Each step is approximately 200 microamps.
|
||||||
|
minimum: 0
|
||||||
|
maximum: 50800
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: maxim,max30100
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
maxim,green-led-current-microamp: false
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
heart-rate@57 {
|
||||||
|
compatible = "maxim,max30102";
|
||||||
|
reg = <0x57>;
|
||||||
|
maxim,red-led-current-microamp = <7000>;
|
||||||
|
maxim,ir-led-current-microamp = <7000>;
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <16 2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
54
Documentation/devicetree/bindings/iio/health/ti,afe4403.yaml
Normal file
54
Documentation/devicetree/bindings/iio/health/ti,afe4403.yaml
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/health/ti,afe4403.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments AFE4403 Heart rate and Pulse Oximeter
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Cameron <jic23@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: ti,afe4403
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
tx-supply:
|
||||||
|
description: Supply to transmitting LEDs.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
description: Connected to ADC_RDY pin.
|
||||||
|
|
||||||
|
reset-gpios: true
|
||||||
|
|
||||||
|
spi-max-frequency: true
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
heart_mon@0 {
|
||||||
|
compatible = "ti,afe4403";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <10000000>;
|
||||||
|
tx-supply = <&vbat>;
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <28 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
51
Documentation/devicetree/bindings/iio/health/ti,afe4404.yaml
Normal file
51
Documentation/devicetree/bindings/iio/health/ti,afe4404.yaml
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/health/ti,afe4404.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Texas Instruments AFE4404 Heart rate and Pulse Oximeter
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jonathan Cameron <jic23@kernel.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: ti,afe4403
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
tx-supply:
|
||||||
|
description: Supply to transmitting LEDs.
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
description: Connected to ADC_RDY pin.
|
||||||
|
|
||||||
|
reset-gpios: true
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
heart_mon@58 {
|
||||||
|
compatible = "ti,afe4404";
|
||||||
|
reg = <0x58>;
|
||||||
|
tx-supply = <&vbat>;
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <28 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,14 +0,0 @@
|
||||||
* DHT11 humidity/temperature sensor (and compatibles like DHT22)
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be "dht11"
|
|
||||||
- gpios: Should specify the GPIO connected to the sensor's data
|
|
||||||
line, see "gpios property" in
|
|
||||||
Documentation/devicetree/bindings/gpio/gpio.txt.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
humidity_sensor {
|
|
||||||
compatible = "dht11";
|
|
||||||
gpios = <&gpio0 6 0>;
|
|
||||||
}
|
|
41
Documentation/devicetree/bindings/iio/humidity/dht11.yaml
Normal file
41
Documentation/devicetree/bindings/iio/humidity/dht11.yaml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/humidity/dht11.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: DHT11 humidity + temperature sensor
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Harald Geyer <harald@ccbib.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
A simple and low cost module providing a non standard single GPIO based
|
||||||
|
interface. It is believed the part is made by aosong but don't have
|
||||||
|
absolute confirmation of this, or what the aosong part number is.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: dht11
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
gpios:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
Single, interrupt capable, GPIO used to communicate with the device.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- gpios
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
humidity_sensor {
|
||||||
|
compatible = "dht11";
|
||||||
|
gpios = <&gpio0 6 0>;
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,17 +0,0 @@
|
||||||
* HDC100x temperature + humidity sensors
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should contain one of the following:
|
|
||||||
ti,hdc1000
|
|
||||||
ti,hdc1008
|
|
||||||
ti,hdc1010
|
|
||||||
ti,hdc1050
|
|
||||||
ti,hdc1080
|
|
||||||
- reg: i2c address of the sensor
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
hdc100x@40 {
|
|
||||||
compatible = "ti,hdc1000";
|
|
||||||
reg = <0x40>;
|
|
||||||
};
|
|
|
@ -1,30 +0,0 @@
|
||||||
* HTS221 STM humidity + temperature sensor
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: should be "st,hts221"
|
|
||||||
- reg: i2c address of the sensor / spi cs line
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- drive-open-drain: the interrupt/data ready line will be configured
|
|
||||||
as open drain, which is useful if several sensors share the same
|
|
||||||
interrupt line. This is a boolean property.
|
|
||||||
If the requested interrupt is configured as IRQ_TYPE_LEVEL_HIGH or
|
|
||||||
IRQ_TYPE_EDGE_RISING a pull-down resistor is needed to drive the line
|
|
||||||
when it is not active, whereas a pull-up one is needed when interrupt
|
|
||||||
line is configured as IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_EDGE_FALLING.
|
|
||||||
Refer to pinctrl/pinctrl-bindings.txt for the property description.
|
|
||||||
- interrupts: interrupt mapping for IRQ. It should be configured with
|
|
||||||
flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
|
|
||||||
IRQ_TYPE_EDGE_FALLING.
|
|
||||||
|
|
||||||
Refer to interrupt-controller/interrupts.txt for generic interrupt
|
|
||||||
client node bindings.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
hts221@5f {
|
|
||||||
compatible = "st,hts221";
|
|
||||||
reg = <0x5f>;
|
|
||||||
interrupt-parent = <&gpio0>;
|
|
||||||
interrupts = <0 IRQ_TYPE_EDGE_RISING>;
|
|
||||||
};
|
|
|
@ -1,13 +0,0 @@
|
||||||
*HTU21 - Measurement-Specialties htu21 temperature & humidity sensor and humidity part of MS8607 sensor
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible: should be "meas,htu21" or "meas,ms8607-humidity"
|
|
||||||
- reg: I2C address of the sensor
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
htu21@40 {
|
|
||||||
compatible = "meas,htu21";
|
|
||||||
reg = <0x40>;
|
|
||||||
};
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/humidity/st,hts221.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: HTS221 STM humidity + temperature sensor
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Lorenzo Bianconi <lorenzo@kernel.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Humidity and temperature sensor with I2C interface and data ready
|
||||||
|
interrupt.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: st,hts221
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
drive-open-drain:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
The interrupt/data ready line will be configured as open drain, which
|
||||||
|
is useful if several sensors share the same interrupt line.
|
||||||
|
|
||||||
|
vdd-supply: true
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
hts221@5f {
|
||||||
|
compatible = "st,hts221";
|
||||||
|
reg = <0x5f>;
|
||||||
|
interrupt-parent = <&gpio0>;
|
||||||
|
interrupts = <0 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -1,102 +0,0 @@
|
||||||
This binding is derived from clock bindings, and based on suggestions
|
|
||||||
from Lars-Peter Clausen [1].
|
|
||||||
|
|
||||||
Sources of IIO channels can be represented by any node in the device
|
|
||||||
tree. Those nodes are designated as IIO providers. IIO consumer
|
|
||||||
nodes use a phandle and IIO specifier pair to connect IIO provider
|
|
||||||
outputs to IIO inputs. Similar to the gpio specifiers, an IIO
|
|
||||||
specifier is an array of one or more cells identifying the IIO
|
|
||||||
output on a device. The length of an IIO specifier is defined by the
|
|
||||||
value of a #io-channel-cells property in the IIO provider node.
|
|
||||||
|
|
||||||
[1] https://marc.info/?l=linux-iio&m=135902119507483&w=2
|
|
||||||
|
|
||||||
==IIO providers==
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
#io-channel-cells: Number of cells in an IIO specifier; Typically 0 for nodes
|
|
||||||
with a single IIO output and 1 for nodes with multiple
|
|
||||||
IIO outputs.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
label: A symbolic name for the device.
|
|
||||||
|
|
||||||
|
|
||||||
Example for a simple configuration with no trigger:
|
|
||||||
|
|
||||||
adc: voltage-sensor@35 {
|
|
||||||
compatible = "maxim,max1139";
|
|
||||||
reg = <0x35>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
label = "voltage_feedback_group1";
|
|
||||||
};
|
|
||||||
|
|
||||||
Example for a configuration with trigger:
|
|
||||||
|
|
||||||
adc@35 {
|
|
||||||
compatible = "some-vendor,some-adc";
|
|
||||||
reg = <0x35>;
|
|
||||||
|
|
||||||
adc1: iio-device@0 {
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
/* other properties */
|
|
||||||
};
|
|
||||||
adc2: iio-device@1 {
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
/* other properties */
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
==IIO consumers==
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
io-channels: List of phandle and IIO specifier pairs, one pair
|
|
||||||
for each IIO input to the device. Note: if the
|
|
||||||
IIO provider specifies '0' for #io-channel-cells,
|
|
||||||
then only the phandle portion of the pair will appear.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
io-channel-names:
|
|
||||||
List of IIO input name strings sorted in the same
|
|
||||||
order as the io-channels property. Consumers drivers
|
|
||||||
will use io-channel-names to match IIO input names
|
|
||||||
with IIO specifiers.
|
|
||||||
io-channel-ranges:
|
|
||||||
Empty property indicating that child nodes can inherit named
|
|
||||||
IIO channels from this node. Useful for bus nodes to provide
|
|
||||||
and IIO channel to their children.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
device {
|
|
||||||
io-channels = <&adc 1>, <&ref 0>;
|
|
||||||
io-channel-names = "vcc", "vdd";
|
|
||||||
};
|
|
||||||
|
|
||||||
This represents a device with two IIO inputs, named "vcc" and "vdd".
|
|
||||||
The vcc channel is connected to output 1 of the &adc device, and the
|
|
||||||
vdd channel is connected to output 0 of the &ref device.
|
|
||||||
|
|
||||||
==Example==
|
|
||||||
|
|
||||||
adc: max1139@35 {
|
|
||||||
compatible = "maxim,max1139";
|
|
||||||
reg = <0x35>;
|
|
||||||
#io-channel-cells = <1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
...
|
|
||||||
|
|
||||||
iio-hwmon {
|
|
||||||
compatible = "iio-hwmon";
|
|
||||||
io-channels = <&adc 0>, <&adc 1>, <&adc 2>,
|
|
||||||
<&adc 3>, <&adc 4>, <&adc 5>,
|
|
||||||
<&adc 6>, <&adc 7>, <&adc 8>,
|
|
||||||
<&adc 9>;
|
|
||||||
};
|
|
||||||
|
|
||||||
some_consumer {
|
|
||||||
compatible = "some-consumer";
|
|
||||||
io-channels = <&adc 10>, <&adc 11>;
|
|
||||||
io-channel-names = "adc1", "adc2";
|
|
||||||
};
|
|
|
@ -1,26 +0,0 @@
|
||||||
Analog Devices AD5933/AD5934 Impedance Converter, Network Analyzer
|
|
||||||
|
|
||||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD5933.pdf
|
|
||||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD5934.pdf
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : should be one of
|
|
||||||
"adi,ad5933"
|
|
||||||
"adi,ad5934"
|
|
||||||
- reg : the I2C address.
|
|
||||||
- vdd-supply : The regulator supply for DVDD, AVDD1 and AVDD2 when they
|
|
||||||
are connected together.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- clocks : external clock reference.
|
|
||||||
- clock-names : must be "mclk" if clocks is set.
|
|
||||||
|
|
||||||
Example for a I2C device node:
|
|
||||||
|
|
||||||
impedance-analyzer@0d {
|
|
||||||
compatible = "adi,adxl345";
|
|
||||||
reg = <0x0d>;
|
|
||||||
vdd-supply = <&vdd_supply>;
|
|
||||||
clocks = <&ref_clk>;
|
|
||||||
clock-names = "mclk";
|
|
||||||
};
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue