mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge tag 'char-misc-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc/IIO/whatever driver subsystem updates from Greg KH:
"Here is the 'big and hairy' char/misc/iio and other small driver
subsystem updates for 6.13-rc1.
Loads of things in here, and even a fun merge conflict!
- rust misc driver bindings and other rust changes to make misc
drivers actually possible.
I think this is the tipping point, expect to see way more rust
drivers going forward now that these bindings are present. Next
merge window hopefully we will have pci and platform drivers
working, which will fully enable almost all driver subsystems to
start accepting (or at least getting) rust drivers.
This is the end result of a lot of work from a lot of people,
congrats to all of them for getting this far, you've proved many of
us wrong in the best way possible, working code :)
- IIO driver updates, too many to list individually, that subsystem
keeps growing and growing...
- Interconnect driver updates
- nvmem driver updates
- pwm driver updates
- platform_driver::remove() fixups, loads of them
- counter driver updates
- misc driver updates (keba?)
- binder driver updates and fixes
- loads of other small char/misc/etc driver updates and additions,
full details in the shortlog.
All of these have been in linux-next for a while, with no other
reported issues other than that merge conflict"
* tag 'char-misc-6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (401 commits)
mei: vsc: Fix typo "maintstepping" -> "mainstepping"
firmware: Switch back to struct platform_driver::remove()
misc: isl29020: Fix the wrong format specifier
scripts/tags.sh: Don't tag usages of DEFINE_MUTEX
fpga: Switch back to struct platform_driver::remove()
mei: vsc: Improve error logging in vsc_identify_silicon()
mei: vsc: Do not re-enable interrupt from vsc_tp_reset()
dt-bindings: spmi: qcom,x1e80100-spmi-pmic-arb: Add SAR2130P compatible
dt-bindings: spmi: spmi-mtk-pmif: Add compatible for MT8188
spmi: pmic-arb: fix return path in for_each_available_child_of_node()
iio: Move __private marking before struct element priv in struct iio_dev
docs: iio: ad7380: add adaq4370-4 and adaq4380-4
iio: adc: ad7380: add support for adaq4370-4 and adaq4380-4
iio: adc: ad7380: use local dev variable to shorten long lines
iio: adc: ad7380: fix oversampling formula
dt-bindings: iio: adc: ad7380: add adaq4370-4 and adaq4380-4 compatible parts
bus: mhi: host: pci_generic: Use pcim_iomap_region() to request and map MHI BAR
bus: mhi: host: Switch trace_mhi_gen_tre fields to native endian
misc: atmel-ssc: Use of_property_present() for non-boolean properties
misc: keba: Add hardware dependency
...
This commit is contained in:
@@ -2268,6 +2268,30 @@ Description:
|
||||
An example format is 16-bytes, 2-digits-per-byte, HEX-string
|
||||
representing the sensor unique ID number.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/filter_type_available
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_filter_mode_available
|
||||
KernelVersion: 6.1
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Reading returns a list with the possible filter modes. Options
|
||||
for the attribute:
|
||||
|
||||
* "sinc3" - The digital sinc3 filter. Moderate 1st
|
||||
conversion time. Good noise performance.
|
||||
* "sinc4" - Sinc 4. Excellent noise performance. Long
|
||||
1st conversion time.
|
||||
* "sinc5" - The digital sinc5 filter. Excellent noise
|
||||
performance
|
||||
* "sinc4+sinc1" - Sinc4 + averaging by 8. Low 1st conversion
|
||||
time.
|
||||
* "sinc3+rej60" - Sinc3 + 60Hz rejection.
|
||||
* "sinc3+sinc1" - Sinc3 + averaging by 8. Low 1st conversion
|
||||
time.
|
||||
* "sinc3+pf1" - Sinc3 + device specific Post Filter 1.
|
||||
* "sinc3+pf2" - Sinc3 + device specific Post Filter 2.
|
||||
* "sinc3+pf3" - Sinc3 + device specific Post Filter 3.
|
||||
* "sinc3+pf4" - Sinc3 + device specific Post Filter 4.
|
||||
|
||||
What: /sys/.../events/in_proximity_thresh_either_runningperiod
|
||||
KernelVersion: 6.6
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
@@ -2339,3 +2363,11 @@ KernelVersion: 6.10
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
The value of current sense resistor in Ohms.
|
||||
|
||||
What: /sys/.../iio:deviceX/in_attention_input
|
||||
KernelVersion: 6.13
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Value representing the user's attention to the system expressed
|
||||
in units as percentage. This usually means if the user is
|
||||
looking at the screen or not.
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_filter_mode_available
|
||||
KernelVersion: 6.2
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Reading returns a list with the possible filter modes.
|
||||
|
||||
* "sinc4" - Sinc 4. Excellent noise performance. Long
|
||||
1st conversion time. No natural 50/60Hz rejection.
|
||||
|
||||
* "sinc4+sinc1" - Sinc4 + averaging by 8. Low 1st conversion
|
||||
time.
|
||||
|
||||
* "sinc3" - Sinc3. Moderate 1st conversion time.
|
||||
Good noise performance.
|
||||
|
||||
* "sinc3+rej60" - Sinc3 + 60Hz rejection. At a sampling
|
||||
frequency of 50Hz, achieves simultaneous 50Hz and 60Hz
|
||||
rejection.
|
||||
|
||||
* "sinc3+sinc1" - Sinc3 + averaging by 8. Low 1st conversion
|
||||
time. Best used with a sampling frequency of at least
|
||||
216.19Hz.
|
||||
|
||||
* "sinc3+pf1" - Sinc3 + Post Filter 1. 53dB rejection @
|
||||
50Hz, 58dB rejection @ 60Hz.
|
||||
|
||||
* "sinc3+pf2" - Sinc3 + Post Filter 2. 70dB rejection @
|
||||
50Hz, 70dB rejection @ 60Hz.
|
||||
|
||||
* "sinc3+pf3" - Sinc3 + Post Filter 3. 99dB rejection @
|
||||
50Hz, 103dB rejection @ 60Hz.
|
||||
|
||||
* "sinc3+pf4" - Sinc3 + Post Filter 4. 103dB rejection @
|
||||
50Hz, 109dB rejection @ 60Hz.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_filter_mode
|
||||
KernelVersion: 6.2
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Set the filter mode of the differential channel. When the filter
|
||||
mode changes, the in_voltageY-voltageZ_sampling_frequency and
|
||||
in_voltageY-voltageZ_sampling_frequency_available attributes
|
||||
might also change to accommodate the new filter mode.
|
||||
If the current sampling frequency is out of range for the new
|
||||
filter mode, the sampling frequency will be changed to the
|
||||
closest valid one.
|
||||
@@ -37,6 +37,10 @@ properties:
|
||||
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.
|
||||
There are also some ADCs, where the differential channel has dedicated
|
||||
positive and negative inputs which can be used to measure differential
|
||||
voltage levels. For those setups, this property can be configured with
|
||||
the 'reg' property for both inputs (i.e. diff-channels = <reg reg>).
|
||||
|
||||
single-channel:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
@@ -28,6 +28,7 @@ description: |
|
||||
Datasheets for supported chips:
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4111.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4112.pdf
|
||||
<AD4113: not released yet>
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4114.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4115.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4116.pdf
|
||||
@@ -44,6 +45,7 @@ properties:
|
||||
enum:
|
||||
- adi,ad4111
|
||||
- adi,ad4112
|
||||
- adi,ad4113
|
||||
- adi,ad4114
|
||||
- adi,ad4115
|
||||
- adi,ad4116
|
||||
@@ -331,6 +333,7 @@ allOf:
|
||||
enum:
|
||||
- adi,ad4111
|
||||
- adi,ad4112
|
||||
- adi,ad4113
|
||||
- adi,ad4114
|
||||
- adi,ad4115
|
||||
- adi,ad4116
|
||||
|
||||
@@ -25,6 +25,8 @@ description: |
|
||||
* https://www.analog.com/en/products/ad7386-4.html
|
||||
* https://www.analog.com/en/products/ad7387-4.html
|
||||
* https://www.analog.com/en/products/ad7388-4.html
|
||||
* https://www.analog.com/en/products/adaq4370-4.html
|
||||
* https://www.analog.com/en/products/adaq4380-4.html
|
||||
|
||||
|
||||
$ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
@@ -46,6 +48,8 @@ properties:
|
||||
- adi,ad7386-4
|
||||
- adi,ad7387-4
|
||||
- adi,ad7388-4
|
||||
- adi,adaq4370-4
|
||||
- adi,adaq4380-4
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -70,6 +74,20 @@ properties:
|
||||
refin-supply:
|
||||
description:
|
||||
A 2.5V to 3.3V supply for external reference voltage, for ad7380-4 only.
|
||||
For adaq devices, a 5V supply voltage. A 3.3V internal reference is
|
||||
derived from it. Connect to vs-p-supply for normal operation.
|
||||
|
||||
vs-p-supply:
|
||||
description:
|
||||
Amplifiers positive supply.
|
||||
|
||||
vs-n-supply:
|
||||
description:
|
||||
Amplifiers negative supply.
|
||||
|
||||
ldo-supply:
|
||||
description:
|
||||
LDO supply. Connect to vs-p-supply or a 3.6 to 5.5 V supply.
|
||||
|
||||
aina-supply:
|
||||
description:
|
||||
@@ -97,12 +115,45 @@ properties:
|
||||
specify the ALERT interrupt.
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- vcc-supply
|
||||
- vlogic-supply
|
||||
|
||||
patternProperties:
|
||||
"^channel@[0-3]$":
|
||||
$ref: adc.yaml
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description:
|
||||
The channel number. From 0 to 3 corresponding to channels A,B,C,D
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
|
||||
adi,gain-milli:
|
||||
description:
|
||||
The hardware gain applied to the ADC input (in milli units).
|
||||
If not present, default to 1000 (no actual gain applied).
|
||||
Refer to the typical connection diagrams section of the datasheet for
|
||||
pin wiring.
|
||||
$ref: /schemas/types.yaml#/definitions/uint16
|
||||
enum: [300, 600, 1000, 1600]
|
||||
default: 1000
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
allOf:
|
||||
@@ -140,6 +191,7 @@ allOf:
|
||||
aind-supply: false
|
||||
|
||||
# ad7380-4 uses refin-supply as external reference.
|
||||
# adaq devices use internal reference only, derived from refin-supply
|
||||
# All other chips from ad738x family use refio as optional external reference.
|
||||
# When refio-supply is omitted, internal reference is used.
|
||||
- if:
|
||||
@@ -147,6 +199,8 @@ allOf:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad7380-4
|
||||
- adi,adaq4370-4
|
||||
- adi,adaq4380-4
|
||||
then:
|
||||
properties:
|
||||
refio-supply: false
|
||||
@@ -156,6 +210,27 @@ allOf:
|
||||
properties:
|
||||
refin-supply: false
|
||||
|
||||
# adaq devices need more supplies and using channel to declare gain property
|
||||
# only applies to adaq devices
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,adaq4370-4
|
||||
- adi,adaq4380-4
|
||||
then:
|
||||
required:
|
||||
- vs-p-supply
|
||||
- vs-n-supply
|
||||
- ldo-supply
|
||||
else:
|
||||
properties:
|
||||
vs-p-supply: false
|
||||
vs-n-supply: false
|
||||
ldo-supply: false
|
||||
patternProperties:
|
||||
"^channel@[0-3]$": false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
@@ -180,3 +255,48 @@ examples:
|
||||
refio-supply = <&supply_2_5V>;
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc@0 {
|
||||
compatible = "adi,adaq4380-4";
|
||||
reg = <0>;
|
||||
|
||||
spi-cpol;
|
||||
spi-cpha;
|
||||
spi-max-frequency = <80000000>;
|
||||
|
||||
interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
|
||||
vcc-supply = <&supply_3_3V>;
|
||||
vlogic-supply = <&supply_3_3V>;
|
||||
refin-supply = <&supply_5V>;
|
||||
vs-p-supply = <&supply_5V>;
|
||||
vs-n-supply = <&supply_0V>;
|
||||
ldo-supply = <&supply_5V>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
channel@0 {
|
||||
reg = <0>;
|
||||
adi,gain-milli = /bits/ 16 <300>;
|
||||
};
|
||||
|
||||
channel@2 {
|
||||
reg = <2>;
|
||||
adi,gain-milli = /bits/ 16 <600>;
|
||||
};
|
||||
|
||||
channel@3 {
|
||||
reg = <3>;
|
||||
adi,gain-milli = /bits/ 16 <1000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -14,6 +14,11 @@ description: |
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7605-4.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606_7606-6_7606-4.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7606B.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-16.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-18.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7607.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7608.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7609.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7616.pdf
|
||||
|
||||
properties:
|
||||
@@ -24,11 +29,27 @@ properties:
|
||||
- adi,ad7606-6
|
||||
- adi,ad7606-8 # Referred to as AD7606 (without -8) in the datasheet
|
||||
- adi,ad7606b
|
||||
- adi,ad7606c-16
|
||||
- adi,ad7606c-18
|
||||
- adi,ad7607
|
||||
- adi,ad7608
|
||||
- adi,ad7609
|
||||
- adi,ad7616
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
# According to the datasheet, "Data is clocked in from SDI on the falling
|
||||
# edge of SCLK, while data is clocked out on DOUTA on the rising edge of
|
||||
# SCLK". Also, even if not stated textually in the datasheet, it is made
|
||||
# clear on the diagrams that sclk idles at high. Subsequently, in case SPI
|
||||
# interface is used, the correct way is to only set spi-cpol.
|
||||
spi-cpha: true
|
||||
|
||||
spi-cpol: true
|
||||
@@ -114,18 +135,91 @@ properties:
|
||||
assumed that the pins are hardwired to VDD.
|
||||
type: boolean
|
||||
|
||||
pwms:
|
||||
description:
|
||||
In case the conversion is triggered by a PWM instead of a GPIO plugged to
|
||||
the CONVST pin, the PWM must be referenced.
|
||||
The first is the PWM connected to CONVST or CONVST1 for the chips with the
|
||||
2nd PWM connected to CONVST2, if CONVST2 is available and not shorted to
|
||||
CONVST1.
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
pwm-names:
|
||||
items:
|
||||
- const: convst1
|
||||
- const: convst2
|
||||
|
||||
io-backends:
|
||||
description:
|
||||
A reference to the iio-backend, which is responsible handling the BUSY
|
||||
pin's falling edge and communication.
|
||||
An example of backend can be found at
|
||||
http://analogdevicesinc.github.io/hdl/library/axi_ad7606x/index.html
|
||||
|
||||
|
||||
patternProperties:
|
||||
"^channel@[1-8]$":
|
||||
type: object
|
||||
$ref: adc.yaml
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description:
|
||||
The channel number, as specified in the datasheet (from 1 to 8).
|
||||
minimum: 1
|
||||
maximum: 8
|
||||
|
||||
diff-channels:
|
||||
description:
|
||||
Each channel can be configured as a bipolar differential channel.
|
||||
The ADC uses the same positive and negative inputs for this.
|
||||
This property must be specified as 'reg' (or the channel number) for
|
||||
both positive and negative inputs (i.e. diff-channels = <reg reg>).
|
||||
Since the configuration is bipolar differential, the 'bipolar'
|
||||
property is required.
|
||||
items:
|
||||
minimum: 1
|
||||
maximum: 8
|
||||
|
||||
bipolar:
|
||||
description:
|
||||
The ADC channels can be configured as
|
||||
* Bipolar single-ended
|
||||
* Unipolar single-ended
|
||||
* Bipolar differential
|
||||
Therefore in the DT, if no channel node is specified, it is considered
|
||||
'unipolar single-ended'. So for the other configurations the 'bipolar'
|
||||
property must be specified. If 'diff-channels' is specified, it is
|
||||
considered a bipolar differential channel. Otherwise it is bipolar
|
||||
single-ended.
|
||||
|
||||
required:
|
||||
- reg
|
||||
- bipolar
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- spi-cpha
|
||||
- avcc-supply
|
||||
- vdrive-supply
|
||||
- interrupts
|
||||
- adi,conversion-start-gpios
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
- oneOf:
|
||||
- required:
|
||||
- adi,conversion-start-gpios
|
||||
- required:
|
||||
- pwms
|
||||
|
||||
- oneOf:
|
||||
- required:
|
||||
- interrupts
|
||||
- required:
|
||||
- io-backends
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
@@ -162,17 +256,66 @@ allOf:
|
||||
- adi,ad7606-4
|
||||
- adi,ad7606-6
|
||||
- adi,ad7606-8
|
||||
- adi,ad7607
|
||||
- adi,ad7608
|
||||
- adi,ad7609
|
||||
then:
|
||||
properties:
|
||||
adi,sw-mode: false
|
||||
else:
|
||||
properties:
|
||||
pwms:
|
||||
maxItems: 1
|
||||
pwm-names:
|
||||
maxItems: 1
|
||||
adi,conversion-start-gpios:
|
||||
maxItems: 1
|
||||
|
||||
- if:
|
||||
not:
|
||||
required:
|
||||
- adi,sw-mode
|
||||
then:
|
||||
patternProperties:
|
||||
"^channel@[1-8]$": false
|
||||
|
||||
- if:
|
||||
not:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad7606c-16
|
||||
- adi,ad7606c-18
|
||||
then:
|
||||
patternProperties:
|
||||
"^channel@[1-8]$": false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
iio-backend {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
adi_adc@0 {
|
||||
compatible = "adi,ad7606b";
|
||||
reg = <0>;
|
||||
pwms = <&axi_pwm_gen 0 0>;
|
||||
|
||||
avcc-supply = <&adc_vref>;
|
||||
vdrive-supply = <&vdd_supply>;
|
||||
|
||||
reset-gpios = <&gpio0 91 GPIO_ACTIVE_HIGH>;
|
||||
standby-gpios = <&gpio0 90 GPIO_ACTIVE_LOW>;
|
||||
adi,range-gpios = <&gpio0 89 GPIO_ACTIVE_HIGH>;
|
||||
adi,oversampling-ratio-gpios = <&gpio0 88 GPIO_ACTIVE_HIGH
|
||||
&gpio0 87 GPIO_ACTIVE_HIGH
|
||||
&gpio0 86 GPIO_ACTIVE_HIGH>;
|
||||
io-backends = <&iio_backend>;
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
@@ -185,7 +328,6 @@ examples:
|
||||
reg = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
spi-cpol;
|
||||
spi-cpha;
|
||||
|
||||
avcc-supply = <&adc_vref>;
|
||||
vdrive-supply = <&vdd_supply>;
|
||||
@@ -202,4 +344,53 @@ examples:
|
||||
standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc@0 {
|
||||
compatible = "adi,ad7606c-18";
|
||||
reg = <0>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
spi-max-frequency = <1000000>;
|
||||
spi-cpol;
|
||||
|
||||
avcc-supply = <&adc_vref>;
|
||||
vdrive-supply = <&vdd_supply>;
|
||||
|
||||
interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-parent = <&gpio>;
|
||||
|
||||
adi,conversion-start-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
|
||||
adi,first-data-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
|
||||
standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
|
||||
|
||||
adi,sw-mode;
|
||||
|
||||
channel@1 {
|
||||
reg = <1>;
|
||||
diff-channels = <1 1>;
|
||||
bipolar;
|
||||
};
|
||||
|
||||
channel@3 {
|
||||
reg = <3>;
|
||||
bipolar;
|
||||
};
|
||||
|
||||
channel@8 {
|
||||
reg = <8>;
|
||||
diff-channels = <8 8>;
|
||||
bipolar;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
176
Documentation/devicetree/bindings/iio/adc/adi,ad7625.yaml
Normal file
176
Documentation/devicetree/bindings/iio/adc/adi,ad7625.yaml
Normal file
@@ -0,0 +1,176 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/adc/adi,ad7625.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices Fast PulSAR Analog to Digital Converters
|
||||
|
||||
maintainers:
|
||||
- Michael Hennerich <Michael.Hennerich@analog.com>
|
||||
- Nuno Sá <nuno.sa@analog.com>
|
||||
|
||||
description: |
|
||||
A family of single channel differential analog to digital converters.
|
||||
|
||||
* https://www.analog.com/en/products/ad7625.html
|
||||
* https://www.analog.com/en/products/ad7626.html
|
||||
* https://www.analog.com/en/products/ad7960.html
|
||||
* https://www.analog.com/en/products/ad7961.html
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad7625
|
||||
- adi,ad7626
|
||||
- adi,ad7960
|
||||
- adi,ad7961
|
||||
|
||||
vdd1-supply: true
|
||||
vdd2-supply: true
|
||||
vio-supply: true
|
||||
|
||||
ref-supply:
|
||||
description:
|
||||
Voltage regulator for the external reference voltage (REF).
|
||||
|
||||
refin-supply:
|
||||
description:
|
||||
Voltage regulator for the reference buffer input (REFIN).
|
||||
|
||||
clocks:
|
||||
description:
|
||||
The clock connected to the CLK pins, gated by the clk_gate PWM.
|
||||
maxItems: 1
|
||||
|
||||
pwms:
|
||||
items:
|
||||
- description: PWM connected to the CNV input on the ADC.
|
||||
- description: PWM that gates the clock connected to the ADC's CLK input.
|
||||
|
||||
pwm-names:
|
||||
items:
|
||||
- const: cnv
|
||||
- const: clk_gate
|
||||
|
||||
io-backends:
|
||||
description:
|
||||
The AXI ADC IP block connected to the D+/- and DCO+/- lines of the
|
||||
ADC. An example backend can be found at
|
||||
http://analogdevicesinc.github.io/hdl/projects/pulsar_lvds/index.html.
|
||||
maxItems: 1
|
||||
|
||||
adi,no-dco:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Indicates the wiring of the DCO+/- lines. If true, then they are
|
||||
grounded and the device is in self-clocked mode. If this is not
|
||||
present, then the device is in echoed clock mode.
|
||||
|
||||
adi,en0-always-on:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Indicates if EN0 is hard-wired to the high state. If neither this
|
||||
nor en0-gpios are present, then EN0 is hard-wired low.
|
||||
|
||||
adi,en1-always-on:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Indicates if EN1 is hard-wired to the high state. If neither this
|
||||
nor en1-gpios are present, then EN1 is hard-wired low.
|
||||
|
||||
adi,en2-always-on:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Indicates if EN2 is hard-wired to the high state. If neither this
|
||||
nor en2-gpios are present, then EN2 is hard-wired low.
|
||||
|
||||
adi,en3-always-on:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Indicates if EN3 is hard-wired to the high state. If neither this
|
||||
nor en3-gpios are present, then EN3 is hard-wired low.
|
||||
|
||||
en0-gpios:
|
||||
description:
|
||||
Configurable EN0 pin.
|
||||
|
||||
en1-gpios:
|
||||
description:
|
||||
Configurable EN1 pin.
|
||||
|
||||
en2-gpios:
|
||||
description:
|
||||
Configurable EN2 pin.
|
||||
|
||||
en3-gpios:
|
||||
description:
|
||||
Configurable EN3 pin.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- vdd1-supply
|
||||
- vdd2-supply
|
||||
- vio-supply
|
||||
- clocks
|
||||
- pwms
|
||||
- pwm-names
|
||||
- io-backends
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
required:
|
||||
- ref-supply
|
||||
then:
|
||||
properties:
|
||||
refin-supply: false
|
||||
- if:
|
||||
required:
|
||||
- refin-supply
|
||||
then:
|
||||
properties:
|
||||
ref-supply: false
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- adi,ad7625
|
||||
- adi,ad7626
|
||||
then:
|
||||
properties:
|
||||
en2-gpios: false
|
||||
en3-gpios: false
|
||||
adi,en2-always-on: false
|
||||
adi,en3-always-on: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- adi,ad7960
|
||||
- adi,ad7961
|
||||
then:
|
||||
# ad796x parts must have one of the two supplies
|
||||
oneOf:
|
||||
- required: [ref-supply]
|
||||
- required: [refin-supply]
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
adc {
|
||||
compatible = "adi,ad7625";
|
||||
vdd1-supply = <&supply_5V>;
|
||||
vdd2-supply = <&supply_2_5V>;
|
||||
vio-supply = <&supply_2_5V>;
|
||||
io-backends = <&axi_adc>;
|
||||
clocks = <&ref_clk>;
|
||||
pwms = <&axi_pwm_gen 0 0>, <&axi_pwm_gen 1 0>;
|
||||
pwm-names = "cnv", "clk_gate";
|
||||
en0-gpios = <&gpio0 86 GPIO_ACTIVE_HIGH>;
|
||||
en1-gpios = <&gpio0 87 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
110
Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
Normal file
110
Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
Normal file
@@ -0,0 +1,110 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/adc/adi,ad7779.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices AD777X family 8-Channel, 24-Bit, Simultaneous Sampling ADCs
|
||||
|
||||
maintainers:
|
||||
- Ramona Nechita <ramona.nechita@analog.com>
|
||||
|
||||
description: |
|
||||
The AD777X family consist of 8-channel, simultaneous sampling analog-to-
|
||||
digital converter (ADC). Eight full Σ-Δ ADCs are on-chip. The
|
||||
AD7771 provides an ultralow input current to allow direct sensor
|
||||
connection. Each input channel has a programmable gain stage
|
||||
allowing gains of 1, 2, 4, and 8 to map lower amplitude sensor
|
||||
outputs into the full-scale ADC input range, maximizing the
|
||||
dynamic range of the signal chain.
|
||||
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7770.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7771.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7779.pdf
|
||||
|
||||
$ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad7770
|
||||
- adi,ad7771
|
||||
- adi,ad7779
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
avdd1-supply:
|
||||
description: Front-End analog supply AVDD1. Can be used as conversion ref.
|
||||
|
||||
avdd2-supply:
|
||||
description: AVDD2 Analog Supply from 2.2 V to 3.6 V.
|
||||
|
||||
avdd4-supply:
|
||||
description: AVDD4 SAR Analog Supply and Reference Source.
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: |
|
||||
adc_rdy: Interrupt line for DRDY signal which indicates the end of
|
||||
conversion independently of the interface selected to read back the
|
||||
Σ-∆ conversion.
|
||||
- description: |
|
||||
Alert: The chip includes self diagnostic features to guarantee the
|
||||
correct operation. If an error is detected, the ALERT pin is pulled
|
||||
high to generate an external interruption to the controller.
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
items:
|
||||
enum:
|
||||
- adc_rdy
|
||||
- alert
|
||||
|
||||
start-gpios:
|
||||
description:
|
||||
Pin that controls start synchronization pulse.
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- interrupts
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc@0 {
|
||||
compatible = "adi,ad7779";
|
||||
reg = <0>;
|
||||
start-gpios = <&gpio0 87 GPIO_ACTIVE_LOW>;
|
||||
reset-gpios = <&gpio0 93 GPIO_ACTIVE_LOW>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "adc_rdy";
|
||||
clocks = <&adc_clk>;
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -98,6 +98,7 @@ allOf:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- amlogic,meson8-saradc
|
||||
- amlogic,meson8b-saradc
|
||||
- amlogic,meson8m2-saradc
|
||||
then:
|
||||
|
||||
86
Documentation/devicetree/bindings/iio/adc/gehc,pmc-adc.yaml
Normal file
86
Documentation/devicetree/bindings/iio/adc/gehc,pmc-adc.yaml
Normal file
@@ -0,0 +1,86 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/adc/gehc,pmc-adc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: GE HealthCare PMC Analog to Digital Converter (ADC)
|
||||
|
||||
maintainers:
|
||||
- Herve Codina <herve.codina@bootlin.com>
|
||||
|
||||
description:
|
||||
The GE HealthCare PMC ADC is a 16-Channel (voltage and current), 16-Bit ADC
|
||||
with an I2C Interface.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: gehc,pmc-adc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
vdd-supply:
|
||||
description:
|
||||
Regulator for the VDD power supply.
|
||||
|
||||
vdda-supply:
|
||||
description:
|
||||
Regulator for the VDD analog (VDDA) power supply.
|
||||
|
||||
vddio-supply:
|
||||
description:
|
||||
Regulator for the VDD IO (VDDIO) power supply.
|
||||
|
||||
vref-supply:
|
||||
description:
|
||||
Regulator for the voltage reference power supply.
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
description:
|
||||
The component uses an external oscillator (osc) if an external oscillator
|
||||
is connected to its clock pins. Otherwise, it uses an internal reference
|
||||
clock.
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: osc
|
||||
|
||||
"#io-channel-cells":
|
||||
const: 2
|
||||
description: |
|
||||
The first cell is the channel type (dt-bindings/iio/adc/gehc,pmc-adc.h
|
||||
defines these values):
|
||||
- 0: voltage
|
||||
- 1: current
|
||||
The second cell is the channel number from 0 to 15.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- vdd-supply
|
||||
- vdda-supply
|
||||
- vddio-supply
|
||||
- vref-supply
|
||||
- '#io-channel-cells'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc@14 {
|
||||
compatible = "gehc,pmc-adc";
|
||||
reg = <0x14>;
|
||||
vdd-supply = <®_vdd>;
|
||||
vdda-supply = <®_vdda>;
|
||||
vddio-supply = <®_vddio>;
|
||||
vref-supply = <®_vref>;
|
||||
#io-channel-cells = <2>;
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -30,7 +30,7 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 30000000
|
||||
maximum: 66000000
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
@@ -60,6 +60,12 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3]
|
||||
|
||||
io-backends:
|
||||
description: The iio backend reference.
|
||||
Device can be optionally connected to the "axi-ad3552r IP" fpga-based
|
||||
QSPI + DDR (Double Data Rate) controller to reach high speed transfers.
|
||||
maxItems: 1
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
@@ -128,6 +134,7 @@ patternProperties:
|
||||
- custom-output-range-config
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
||||
@@ -26,16 +26,47 @@ properties:
|
||||
vdd-supply: true
|
||||
vss-supply: true
|
||||
|
||||
vcc-supply:
|
||||
description:
|
||||
Supply that powers the chip.
|
||||
|
||||
iovcc-supply:
|
||||
description:
|
||||
Supply for the digital interface.
|
||||
|
||||
vrefp-supply:
|
||||
description:
|
||||
Positive referance input voltage range. From 5v to (vdd - 2.5)
|
||||
|
||||
vrefn-supply:
|
||||
description:
|
||||
Negative referance input voltage range. From (vss + 2.5) to 0.
|
||||
|
||||
adi,rbuf-gain2-en:
|
||||
description: Specify to allow an external amplifier to be connected in a
|
||||
gain of two configuration.
|
||||
type: boolean
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
clear-gpios:
|
||||
maxItems: 1
|
||||
|
||||
ldac-gpios:
|
||||
description:
|
||||
LDAC pin to be used as a hardware trigger to update the DAC channels.
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- vdd-supply
|
||||
- vss-supply
|
||||
- vcc-supply
|
||||
- iovcc-supply
|
||||
- vrefp-supply
|
||||
- vrefn-supply
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
@@ -44,6 +75,7 @@ unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -53,6 +85,13 @@ examples:
|
||||
reg = <0>;
|
||||
vss-supply = <&dac_vss>;
|
||||
vdd-supply = <&dac_vdd>;
|
||||
vcc-supply = <&dac_vcc>;
|
||||
iovcc-supply = <&dac_iovcc>;
|
||||
vrefp-supply = <&dac_vrefp>;
|
||||
vrefn-supply = <&dac_vrefn>;
|
||||
reset-gpios = <&gpio_bd 16 GPIO_ACTIVE_LOW>;
|
||||
clear-gpios = <&gpio_bd 17 GPIO_ACTIVE_LOW>;
|
||||
ldac-gpios = <&gpio_bd 18 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
164
Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml
Normal file
164
Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml
Normal file
@@ -0,0 +1,164 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
# Copyright 2024 Analog Devices Inc.
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/dac/adi,ad8460.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices AD8460 DAC
|
||||
|
||||
maintainers:
|
||||
- Mariel Tinaco <mariel.tinaco@analog.com>
|
||||
|
||||
description: |
|
||||
Analog Devices AD8460 110 V High Voltage, 1 A High Current,
|
||||
Arbitrary Waveform Generator with Integrated 14-Bit High Speed DAC
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad8460.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad8460
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
dmas:
|
||||
maxItems: 1
|
||||
|
||||
dma-names:
|
||||
items:
|
||||
- const: tx
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 20000000
|
||||
|
||||
hvcc-supply:
|
||||
description: Positive high voltage power supply line
|
||||
|
||||
hvee-supply:
|
||||
description: Negative high voltage power supply line
|
||||
|
||||
vcc-5v-supply:
|
||||
description: Low voltage power supply
|
||||
|
||||
vref-5v-supply:
|
||||
description: Reference voltage for analog low voltage
|
||||
|
||||
dvdd-3p3v-supply:
|
||||
description: Digital supply bypass
|
||||
|
||||
avdd-3p3v-supply:
|
||||
description: Analog supply bypass
|
||||
|
||||
refio-1p2v-supply:
|
||||
description: Drive voltage in the range of 1.2V maximum to as low as
|
||||
low as 0.12V through the REF_IO pin to adjust full scale output span
|
||||
|
||||
adi,external-resistor-ohms:
|
||||
description: Specify value of external resistor connected to FS_ADJ pin
|
||||
to establish internal HVDAC's reference current I_REF
|
||||
minimum: 2000
|
||||
maximum: 20000
|
||||
default: 2000
|
||||
|
||||
adi,range-microvolt:
|
||||
description: Voltage output range specified as <minimum, maximum>
|
||||
items:
|
||||
- minimum: -55000000
|
||||
maximum: 0
|
||||
default: 0
|
||||
- minimum: 0
|
||||
maximum: 55000000
|
||||
default: 0
|
||||
|
||||
adi,range-microamp:
|
||||
description: Current output range specified as <minimum, maximum>
|
||||
items:
|
||||
- minimum: -1000000
|
||||
maximum: 0
|
||||
default: 0
|
||||
- minimum: 0
|
||||
maximum: 1000000
|
||||
default: 0
|
||||
|
||||
adi,max-millicelsius:
|
||||
description: Overtemperature threshold
|
||||
minimum: 0
|
||||
maximum: 150000
|
||||
default: 0
|
||||
|
||||
shutdown-reset-gpios:
|
||||
description: Corresponds to SDN_RESET pin. To exit shutdown
|
||||
or sleep mode, pulse SDN_RESET HIGH, then leave LOW.
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description: Manual Power On Reset (POR). Pull this GPIO pin
|
||||
LOW and then HIGH to reset all digital registers to default
|
||||
maxItems: 1
|
||||
|
||||
shutdown-gpios:
|
||||
description: Corresponds to SDN_IO pin. Shutdown may be
|
||||
initiated by the user, by pulsing SDN_IO high. To exit shutdown,
|
||||
pulse SDN_IO low, then float.
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- hvcc-supply
|
||||
- hvee-supply
|
||||
- vcc-5v-supply
|
||||
- vref-5v-supply
|
||||
- dvdd-3p3v-supply
|
||||
- avdd-3p3v-supply
|
||||
- refio-1p2v-supply
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
dac@0 {
|
||||
compatible = "adi,ad8460";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <8000000>;
|
||||
|
||||
dmas = <&tx_dma 0>;
|
||||
dma-names = "tx";
|
||||
|
||||
shutdown-reset-gpios = <&gpio 86 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpio 91 GPIO_ACTIVE_LOW>;
|
||||
shutdown-gpios = <&gpio 88 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
clocks = <&sync_ext_clk>;
|
||||
|
||||
hvcc-supply = <&hvcc>;
|
||||
hvee-supply = <&hvee>;
|
||||
vcc-5v-supply = <&vcc_5>;
|
||||
vref-5v-supply = <&vref_5>;
|
||||
dvdd-3p3v-supply = <&dvdd_3_3>;
|
||||
avdd-3p3v-supply = <&avdd_3_3>;
|
||||
refio-1p2v-supply = <&refio_1_2>;
|
||||
|
||||
adi,external-resistor-ohms = <2000>;
|
||||
adi,range-microvolt = <(-40000000) 40000000>;
|
||||
adi,range-microamp = <0 50000>;
|
||||
adi,max-millicelsius = <50000>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -19,11 +19,13 @@ description: |
|
||||
memory via DMA into the DAC.
|
||||
|
||||
https://wiki.analog.com/resources/fpga/docs/axi_dac_ip
|
||||
https://analogdevicesinc.github.io/hdl/library/axi_ad3552r/index.html
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,axi-dac-9.1.b
|
||||
- adi,axi-ad3552r
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -36,7 +38,14 @@ properties:
|
||||
- const: tx
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: s_axi_aclk
|
||||
- const: dac_clk
|
||||
minItems: 1
|
||||
|
||||
'#io-backend-cells':
|
||||
const: 0
|
||||
@@ -47,7 +56,29 @@ required:
|
||||
- reg
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: adi,axi-ad3552r
|
||||
then:
|
||||
$ref: /schemas/spi/spi-controller.yaml#
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 2
|
||||
clock-names:
|
||||
minItems: 2
|
||||
required:
|
||||
- clock-names
|
||||
else:
|
||||
properties:
|
||||
clocks:
|
||||
maxItems: 1
|
||||
clock-names:
|
||||
maxItems: 1
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
@@ -57,6 +88,38 @@ examples:
|
||||
dmas = <&tx_dma 0>;
|
||||
dma-names = "tx";
|
||||
#io-backend-cells = <0>;
|
||||
clocks = <&axi_clk>;
|
||||
clocks = <&clkc 15>;
|
||||
clock-names = "s_axi_aclk";
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
axi_dac: spi@44a70000 {
|
||||
compatible = "adi,axi-ad3552r";
|
||||
reg = <0x44a70000 0x1000>;
|
||||
dmas = <&dac_tx_dma 0>;
|
||||
dma-names = "tx";
|
||||
#io-backend-cells = <0>;
|
||||
clocks = <&clkc 15>, <&ref_clk>;
|
||||
clock-names = "s_axi_aclk", "dac_clk";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
dac@0 {
|
||||
compatible = "adi,ad3552r";
|
||||
reg = <0>;
|
||||
reset-gpios = <&gpio0 92 GPIO_ACTIVE_HIGH>;
|
||||
io-backends = <&axi_dac>;
|
||||
spi-max-frequency = <20000000>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
channel@0 {
|
||||
reg = <0>;
|
||||
adi,output-range-microvolt = <(-10000000) (10000000)>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
79
Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml
Normal file
79
Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml
Normal file
@@ -0,0 +1,79 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/imu/bosch,bmi270.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Bosch BMI270 6-Axis IMU
|
||||
|
||||
maintainers:
|
||||
- Alex Lanzano <lanzano.alex@gmail.com>
|
||||
|
||||
description: |
|
||||
BMI270 is a 6-axis inertial measurement unit that can measure acceleration and
|
||||
angular velocity. The sensor also supports configurable interrupt events such
|
||||
as motion, step counter, and wrist motion gestures. The sensor can communicate
|
||||
I2C or SPI.
|
||||
https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- bosch,bmi260
|
||||
- bosch,bmi270
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
vdd-supply: true
|
||||
vddio-supply: true
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
items:
|
||||
enum:
|
||||
- INT1
|
||||
- INT2
|
||||
|
||||
drive-open-drain:
|
||||
description:
|
||||
set if the specified interrupt pins should be configured as
|
||||
open drain. If not set, defaults to push-pull.
|
||||
|
||||
mount-matrix:
|
||||
description:
|
||||
an optional 3x3 mounting rotation matrix.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- vdd-supply
|
||||
- vddio-supply
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
imu@68 {
|
||||
compatible = "bosch,bmi270";
|
||||
reg = <0x68>;
|
||||
vdd-supply = <&vdd>;
|
||||
vddio-supply = <&vddio>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <16 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "INT1";
|
||||
};
|
||||
};
|
||||
51
Documentation/devicetree/bindings/iio/imu/bosch,smi240.yaml
Normal file
51
Documentation/devicetree/bindings/iio/imu/bosch,smi240.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/imu/bosch,smi240.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Bosch smi240 imu
|
||||
|
||||
maintainers:
|
||||
- Jianping Shen <Jianping.Shen@de.bosch.com>
|
||||
|
||||
description:
|
||||
Inertial Measurement Unit with Accelerometer and Gyroscope
|
||||
with a measurement range of +/-300°/s and up to 16g.
|
||||
https://www.bosch-semiconductors.com/mems-sensors/highly-automated-driving/smi240/
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: bosch,smi240
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
vdd-supply: true
|
||||
vddio-supply: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- vdd-supply
|
||||
- vddio-supply
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
imu@0 {
|
||||
compatible = "bosch,smi240";
|
||||
reg = <0>;
|
||||
vdd-supply = <&vdd>;
|
||||
vddio-supply = <&vddio>;
|
||||
spi-max-frequency = <10000000>;
|
||||
};
|
||||
};
|
||||
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
title: InvenSense ICM-426xx Inertial Measurement Unit
|
||||
|
||||
maintainers:
|
||||
- Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
|
||||
- Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
|
||||
|
||||
description: |
|
||||
6-axis MotionTracking device that combines a 3-axis gyroscope and a 3-axis
|
||||
|
||||
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
title: InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device
|
||||
|
||||
maintainers:
|
||||
- Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
|
||||
- Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
|
||||
|
||||
description: |
|
||||
These devices support both I2C and SPI bus interfaces.
|
||||
@@ -36,6 +36,11 @@ properties:
|
||||
- items:
|
||||
- const: invensense,icm20608d
|
||||
- const: invensense,icm20608
|
||||
- items:
|
||||
- enum:
|
||||
- invensense,iam20680hp
|
||||
- invensense,iam20680ht
|
||||
- const: invensense,iam20680
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -15,7 +15,9 @@ description: |
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ti,opt3001
|
||||
enum:
|
||||
- ti,opt3001
|
||||
- ti,opt3002
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/light/veml6030.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: VEML6030 Ambient Light Sensor (ALS)
|
||||
|
||||
maintainers:
|
||||
- Rishi Gupta <gupt21@gmail.com>
|
||||
|
||||
description: |
|
||||
Bindings for the ambient light sensor veml6030 from Vishay
|
||||
Semiconductors over an i2c interface.
|
||||
|
||||
Irrespective of whether interrupt is used or not, application
|
||||
can get the ALS and White channel reading from IIO raw interface.
|
||||
|
||||
If the interrupts are used, application will receive an IIO event
|
||||
whenever configured threshold is crossed.
|
||||
|
||||
Specifications about the sensor can be found at:
|
||||
https://www.vishay.com/docs/84366/veml6030.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- vishay,veml6030
|
||||
|
||||
reg:
|
||||
description:
|
||||
I2C address of the device.
|
||||
enum:
|
||||
- 0x10 # ADDR pin pulled down
|
||||
- 0x48 # ADDR pin pulled up
|
||||
|
||||
interrupts:
|
||||
description:
|
||||
interrupt mapping for IRQ. Configure with IRQ_TYPE_LEVEL_LOW.
|
||||
Refer to interrupt-controller/interrupts.txt for generic
|
||||
interrupt client node bindings.
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
light-sensor@10 {
|
||||
compatible = "vishay,veml6030";
|
||||
reg = <0x10>;
|
||||
interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
...
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user