mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Merge tag 'iio-for-6.13b' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next
Jonathan writes: IIO: 2nd set of new device support, features and cleanup for 6.13 Alongside new drivers and device support there are several large cleanups going on across the IIO tree and we see part of some of those in this pull request. Merged char-misc-next at point of 6.12-rc6 merge to avoid a conflict with a fix for the ad7380 merged earlier this cycle. Note that I previously messed this merge up and had to reconstruct it this morning so a coherent pull request was possible. The new stuff is all the same as has been in linux-next for some time with the exception of the kernel-doc related __private ordering fix that went in yesterday. New device support ================== adi,ad7380 - Support for adaq4370-4 and adaq4370 quad channel ADCs. adi,ad7606 - Various cleanups preceeding support of AD7607, AD7608 and AD7609 ADCs. adi,ad7779 - New driver supproting AD7770, AD7771 and AD7779 ADCs. allegro,als31300 - New driver for this 3D Linear Hall Effect sensor. bosch,bmi270 - Add support BMI260 which is similar but requires a different firmware image. bosch,smi240 - New driver for this IMU. ti,opt3001 - Add support opt3002 light sensor which has a wider spectral range than the opt3001. vishay,veml3235 - New driver for this ambient light sensor. Features ======== hid-sensors - Add support Human Proximity Range and Attention detection (requiring a new classification style channel type) adi,ad3552r - Add backend support and related platform driver to support use with an FPGA IP to allow QSPI + DDR bus operation and much higher data aquisition rates. (various rework preceeded this feature) adi,ad7606 - Various cleanup prior to enabling use with an IIO Backend and PWM trigger enabling much higher speed data capture. bosch,bme680 - Support control of preheat current - Support triggered buffer capture - Add SCALE and RAW channels (needed to enable the buffered capture). bosch,bmp280 - Enable sleeping to save power. - Add interrupt support for bmp3xx and bmp5xx devices. Also update bmp085 to new approach. - Enable data ready trigger. bosch,bmi270 - Add triggered buffer support - Add scale and sampling frequency control. vishay,veml6070 - Support integration time via DT binding for an external resistor value. Cleanup and minor fixes ======================= core - Fix a longstanding issue with event codes for differential channels. Note that not all drivers are yet fixed, but macros have been added to avoid potential repeats of this in future. - Tidy up handling in iio_read_acpi_mount matrix. - Mark iio_dev::priv with __private. Later move the marking before the field name to avoid a kernel-doc issue. treewide - Drop some pointless default n entries in Kconfig. - Add an iio_get_acpi_device_name_and_data() handler to replace some commonly repeated code. - simplify use of 'state' in write_event_config() callback as it is effectively a boolean. Once done make it a boolean (lots of drivers were updated to enable this) - some more use of devm_regulator_get_enable_read_voltage( to replace open coded versions. Where this enables it convert all of remove handling to devm based and drop the remove callback. - check returns from devm_mutex_init() accel drivers - Use aligned_s64 instead of s64 __aligned(8) adi,ad5791 - Add some missing GPIOs and power supplies that presumably were always hard wired on previous boards. - Refactor to use chip_info in device id tables. - Convert probe entirely to devm based simplify code and allowing remove() callback to be dropped. adi,ad7192 - Check return from spi_get_device_match_data() adi,ad74413r - Don't keep an unnecessary copy of the gpio after probe. - Use devm_regulator_get_enable_read_voltage() instead of open coding. - Apply cleanup.h approach to reduce complexity. adi,dac8460 - Fix a wrong compaitble ID due to a stray space. - Add an spi_device_id table. bosch,bmc150 - Drop some likely false ACPI IDs. - Drop left over unused ACPI specific code. bosch,bme680 - Add mising regmap.h include. - Reduce excessive sleep on startup. - Drop some cammelcase usage. - Use fsleep - Generalize read functions to allow for reuse. - Use s16 variable to avoid some incorrect casting bosch,bmg150 - Drop some likely false ACPI IDs. bosch,bmi270 - Drop unused FREQUENCY and SCALE attributes that always returned an error (they wil be back impelmented correctly). - Factor out the chip specific data into a structure to enable simple support for additional devices. isil,isl29018 - Drop ACPI_PTR() and CONFIG_ACPI guards as not worth the trouble for very minor saving. invensense,mpu6050 - Use much simpler test for ACPI firmware. kionix,kxcjk-1013 - Drop unnecessary ACPI entry in the i2c_device_id table. - Drop support KX022-1020 to fix a bug that was introduced with that change. Hopefully a fixed version will replace it soon. - Drop CONFIG guards for PM in favor of pm_ptr() and the compiler removing dead code. - Switch from enum to chip_info structure and add ODR times to that structure. - Deduplicate one of those ODR structures - Drop ACPI_PTR() and move ID table out of config guards. - Minor additional cleanup. liteon,ltr401 - Drop some likely false ACPI Ids and add LTER0303 which is know to be in use. microchip,pac1934 - Use much simpler test for ACPI firmware. vishay,veml6070 - Use unsigned int instead of just unsigned. - Use FIELD_PREP to make setting of field value explicit. Various other minor fixes to documentation * tag 'iio-for-6.13b' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (153 commits) 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 iio: chemical: bme680: Add support for preheat current iio: chemical: bme680: Add triggered buffer support iio: chemical: bme680: Add SCALE and RAW channels iio: chemical: bme680: refactorize set_mode() mode iio: events: make IIO_EVENT_CODE macro private iio: accel: mma9553: use specialized event code macros iio: dummy: use specialized event code macros iio: adc: ad7280a: use IIO_DIFF_EVENT_CODE macro helper iio: events.h: add event identifier macros for differential channel iio: magnetometer: add Allegro MicroSystems ALS31300 3-D Linear Hall Effect driver dt-bindings: iio: magnetometer: document the Allegro MicroSystems ALS31300 3-D Linear Hall Effect Sensor dt-bindings: vendor-prefixes: Add Allegro MicroSystems, Inc iio: light: apds9960: remove useless return iio: light: apds9960: convert als_int and pxs_int to bool ...
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.
|
||||
@@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -16,6 +16,9 @@ description: |
|
||||
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:
|
||||
@@ -28,6 +31,9 @@ properties:
|
||||
- adi,ad7606b
|
||||
- adi,ad7606c-16
|
||||
- adi,ad7606c-18
|
||||
- adi,ad7607
|
||||
- adi,ad7608
|
||||
- adi,ad7609
|
||||
- adi,ad7616
|
||||
|
||||
reg:
|
||||
@@ -39,6 +45,11 @@ properties:
|
||||
"#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
|
||||
@@ -124,6 +135,29 @@ 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
|
||||
@@ -168,15 +202,24 @@ patternProperties:
|
||||
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:
|
||||
@@ -213,11 +256,18 @@ 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
|
||||
|
||||
@@ -243,6 +293,29 @@ allOf:
|
||||
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>
|
||||
@@ -255,7 +328,6 @@ examples:
|
||||
reg = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
spi-cpol;
|
||||
spi-cpha;
|
||||
|
||||
avcc-supply = <&adc_vref>;
|
||||
vdrive-supply = <&vdd_supply>;
|
||||
@@ -288,7 +360,6 @@ examples:
|
||||
|
||||
spi-max-frequency = <1000000>;
|
||||
spi-cpol;
|
||||
spi-cpha;
|
||||
|
||||
avcc-supply = <&adc_vref>;
|
||||
vdrive-supply = <&vdd_supply>;
|
||||
|
||||
@@ -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>;
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -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>;
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
@@ -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)>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
@@ -18,7 +18,9 @@ description: |
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: bosch,bmi270
|
||||
enum:
|
||||
- bosch,bmi260
|
||||
- bosch,bmi270
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -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>;
|
||||
};
|
||||
};
|
||||
@@ -15,7 +15,9 @@ description: |
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ti,opt3001
|
||||
enum:
|
||||
- ti,opt3001
|
||||
- ti,opt3002
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
$id: http://devicetree.org/schemas/iio/light/vishay,veml6030.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: VEML6030, VEML6035 and VEML7700 Ambient Light Sensors (ALS)
|
||||
title: VEML3235, VEML6030, VEML6035 and VEML7700 Ambient Light Sensors (ALS)
|
||||
|
||||
maintainers:
|
||||
- Rishi Gupta <gupt21@gmail.com>
|
||||
@@ -20,6 +20,7 @@ description: |
|
||||
whenever configured threshold is crossed.
|
||||
|
||||
Specifications about the sensors can be found at:
|
||||
https://www.vishay.com/docs/80131/veml3235.pdf
|
||||
https://www.vishay.com/docs/84366/veml6030.pdf
|
||||
https://www.vishay.com/docs/84889/veml6035.pdf
|
||||
https://www.vishay.com/docs/84286/veml7700.pdf
|
||||
@@ -27,6 +28,7 @@ description: |
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- vishay,veml3235
|
||||
- vishay,veml6030
|
||||
- vishay,veml6035
|
||||
- vishay,veml7700
|
||||
@@ -76,6 +78,7 @@ allOf:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- vishay,veml3235
|
||||
- vishay,veml7700
|
||||
then:
|
||||
properties:
|
||||
|
||||
@@ -22,6 +22,13 @@ properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
vishay,rset-ohms:
|
||||
description:
|
||||
Resistor used to select the integration time.
|
||||
default: 270000
|
||||
minimum: 75000
|
||||
maximum: 1200000
|
||||
|
||||
vdd-supply: true
|
||||
|
||||
required:
|
||||
@@ -29,6 +36,17 @@ required:
|
||||
- reg
|
||||
- vdd-supply
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- vishay,veml6040
|
||||
- vishay,veml6075
|
||||
then:
|
||||
properties:
|
||||
vishay,rset-ohms: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/magnetometer/allegromicro,als31300.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Allegro MicroSystems ALS31300 3-D Linear Hall Effect sensor
|
||||
|
||||
maintainers:
|
||||
- Neil Armstrong <neil.armstrong@linaro.org>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: '^magnetometer@[0-9a-f]+$'
|
||||
|
||||
compatible:
|
||||
enum:
|
||||
- allegromicro,als31300-500 # Factory configured at 500 Gauss input range
|
||||
- allegromicro,als31300-1000 # Factory configured at 1000 Gauss input range
|
||||
- allegromicro,als31300-2000 # Factory configured at 2000 Gauss input range
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
vcc-supply:
|
||||
description: 5.5V supply
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
magnetometer@61 {
|
||||
compatible = "allegromicro,als31300-500";
|
||||
reg = <0x61>;
|
||||
vcc-supply = <&hall_vcc>;
|
||||
};
|
||||
};
|
||||
@@ -47,15 +47,33 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
description:
|
||||
interrupt mapping for IRQ (BMP085 only)
|
||||
maxItems: 1
|
||||
|
||||
drive-open-drain:
|
||||
description:
|
||||
set if the interrupt pin should be configured as open drain.
|
||||
If not set, defaults to push-pull configuration.
|
||||
type: boolean
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- vddd-supply
|
||||
- vdda-supply
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
not:
|
||||
contains:
|
||||
enum:
|
||||
- bosch,bmp085
|
||||
- bosch,bmp380
|
||||
- bosch,bmp580
|
||||
then:
|
||||
properties:
|
||||
interrupts: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
|
||||
@@ -83,6 +83,8 @@ patternProperties:
|
||||
description: ALFA Network Inc.
|
||||
"^allegro,.*":
|
||||
description: Allegro DVT
|
||||
"^allegromicro,.*":
|
||||
description: Allegro MicroSystems, Inc.
|
||||
"^alliedvision,.*":
|
||||
description: Allied Vision Technologies GmbH
|
||||
"^allo,.*":
|
||||
|
||||
@@ -27,6 +27,8 @@ The following chips are supported by this driver:
|
||||
* `AD7386-4 <https://www.analog.com/en/products/ad7386-4.html>`_
|
||||
* `AD7387-4 <https://www.analog.com/en/products/ad7387-4.html>`_
|
||||
* `AD7388-4 <https://www.analog.com/en/products/ad7388-4.html>`_
|
||||
* `ADAQ4370-4 <https://www.analog.com/en/products/adaq4370-4.html>`_
|
||||
* `ADAQ4380-4 <https://www.analog.com/en/products/adaq4380-4.html>`_
|
||||
|
||||
|
||||
Supported features
|
||||
@@ -47,6 +49,12 @@ ad7380-4
|
||||
ad7380-4 supports only an external reference voltage (2.5V to 3.3V). It must be
|
||||
declared in the device tree as ``refin-supply``.
|
||||
|
||||
ADAQ devices
|
||||
~~~~~~~~~~~~
|
||||
|
||||
adaq4370-4 and adaq4380-4 don't have an external reference, but use a 3.3V
|
||||
internal reference derived from one of its supplies (``refin-supply``)
|
||||
|
||||
All other devices from ad738x family
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -121,6 +129,14 @@ Example for AD7386/7/8 (2 channels parts):
|
||||
|
||||
When enabling sequencer mode, the effective sampling rate is divided by two.
|
||||
|
||||
Gain (ADAQ devices only)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
ADAQ devices have a pin selectable gain in front of each ADC. The appropriate
|
||||
gain is selectable from device tree using the ``adi,gain-milli`` property.
|
||||
Refer to the typical connection diagrams section of the datasheet for pin
|
||||
wiring.
|
||||
|
||||
Unimplemented features
|
||||
----------------------
|
||||
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
=============
|
||||
AD7606 driver
|
||||
=============
|
||||
|
||||
ADC driver for Analog Devices Inc. AD7606 and similar devices. The module name
|
||||
is ``ad7606``.
|
||||
|
||||
Supported devices
|
||||
=================
|
||||
|
||||
The following chips are supported by this driver:
|
||||
|
||||
* `AD7605 <https://www.analog.com/en/products/ad7605.html>`_
|
||||
* `AD7606 <https://www.analog.com/en/products/ad7606.html>`_
|
||||
* `AD7606B <https://www.analog.com/en/products/ad7606b.html>`_
|
||||
* `AD7616 <https://www.analog.com/en/products/ad7616.html>`_
|
||||
|
||||
Supported features
|
||||
==================
|
||||
|
||||
SPI wiring modes
|
||||
----------------
|
||||
|
||||
These ADCs can output data on several SDO lines (1/2/4/8). The driver
|
||||
currently supports only 1 SDO line.
|
||||
|
||||
Parallel wiring mode
|
||||
--------------------
|
||||
|
||||
There is also a parallel interface, with 16 lines (that can be reduced to 8 in
|
||||
byte mode). The parallel interface is selected by declaring the device as
|
||||
platform in the device tree (with no io-backends node defined, see below).
|
||||
|
||||
IIO-backend mode
|
||||
----------------
|
||||
|
||||
This mode allows to reach the best sample rates, but it requires an external
|
||||
hardware (eg HDL or APU) to handle the low level communication.
|
||||
The backend mode is enabled when through the definition of the "io-backends"
|
||||
property in the device tree.
|
||||
|
||||
The reference configuration for the current implementation of IIO-backend mode
|
||||
is the HDL reference provided by ADI:
|
||||
https://wiki.analog.com/resources/eval/user-guides/ad7606x-fmc/hdl
|
||||
|
||||
This implementation embeds an IIO-backend compatible IP (adi-axi-adc) and a PWM
|
||||
connected to the conversion trigger pin.
|
||||
|
||||
.. code-block::
|
||||
|
||||
+---+ +----------------------------
|
||||
| | +-------+ |AD76xx
|
||||
| A | controls | | |
|
||||
| D |-------------->| PWM |-------------->| cnvst
|
||||
| 7 | | | |
|
||||
| 6 | +-------+ |
|
||||
| 0 | controls +-----------+-----------+ |
|
||||
| 6 |---------->| | |<--| frstdata
|
||||
| | | Backend | Backend |<--| busy
|
||||
| D | | Driver | | |
|
||||
| R | | | |-->| clk
|
||||
| I | requests |+---------+| DMA | |
|
||||
| V |----------->| Buffer ||<---- |<=>| DATA
|
||||
| E | |+---------+| | |
|
||||
| R | +-----------+-----------+ |
|
||||
| |-------------------------------------->| reset/configuration gpios
|
||||
+---+ +-----------------------------
|
||||
|
||||
|
||||
Software and hardware modes
|
||||
---------------------------
|
||||
|
||||
While all the AD7606/AD7616 series parts can be configured using GPIOs, some of
|
||||
them can be configured using register.
|
||||
|
||||
The chips that support software mode have more values available for configuring
|
||||
the device, as well as more settings, and allow to control the range and
|
||||
calibration per channel.
|
||||
|
||||
The following settings are available per channel in software mode:
|
||||
- Scale
|
||||
|
||||
Also, there is a broader choice of oversampling ratios in software mode.
|
||||
|
||||
Conversion triggering
|
||||
---------------------
|
||||
|
||||
The conversion can be triggered by two distinct ways:
|
||||
|
||||
- A GPIO is connected to the conversion trigger pin, and this GPIO is controlled
|
||||
by the driver directly. In this configuration, the driver sets back the
|
||||
conversion trigger pin to high as soon as it has read all the conversions.
|
||||
|
||||
- An external source is connected to the conversion trigger pin. In the
|
||||
current implementation, it must be a PWM. In this configuration, the driver
|
||||
does not control directly the conversion trigger pin. Instead, it can
|
||||
control the PWM's frequency. This trigger is enabled only for iio-backend.
|
||||
|
||||
Reference voltage
|
||||
-----------------
|
||||
|
||||
2 possible reference voltage sources are supported:
|
||||
|
||||
- Internal reference (2.5V)
|
||||
- External reference (2.5V)
|
||||
|
||||
The source is determined by the device tree. If ``refin-supply`` is present,
|
||||
then the external reference is used, otherwise the internal reference is used.
|
||||
|
||||
Oversampling
|
||||
------------
|
||||
|
||||
This family supports oversampling to improve SNR.
|
||||
In software mode, the following ratios are available:
|
||||
1 (oversampling disabled)/2/4/8/16/32/64/128/256.
|
||||
|
||||
Unimplemented features
|
||||
----------------------
|
||||
|
||||
- 2/4/8 SDO lines
|
||||
- CRC indication
|
||||
- Calibration
|
||||
|
||||
Device buffers
|
||||
==============
|
||||
|
||||
IIO triggered buffer
|
||||
--------------------
|
||||
|
||||
This driver supports IIO triggered buffers, with a "built in" trigger, i.e the
|
||||
trigger is allocated and linked by the driver, and a new conversion is triggered
|
||||
as soon as the samples are transferred, and a timestamp channel is added to make
|
||||
up for the potential jitter induced by the delays in the interrupt handling.
|
||||
|
||||
IIO backend buffer
|
||||
------------------
|
||||
|
||||
When IIO backend is used, the trigger is not needed, and the sample rate is
|
||||
considered as stable. There is no timestamp channel. The communication is
|
||||
delegated to an external logic, called a backend, and the backend's driver
|
||||
handles the buffer. When this mode is enabled, the driver cannot control the
|
||||
conversion pin, because the busy pin is bound to the backend.
|
||||
@@ -21,6 +21,7 @@ Industrial I/O Kernel Drivers
|
||||
ad4000
|
||||
ad4695
|
||||
ad7380
|
||||
ad7606
|
||||
ad7625
|
||||
ad7944
|
||||
adis16475
|
||||
|
||||
+7
-1
@@ -1255,7 +1255,6 @@ M: Cosmin Tanislav <cosmin.tanislav@analog.com>
|
||||
L: linux-iio@vger.kernel.org
|
||||
S: Supported
|
||||
W: https://ez.analog.com/linux-software-drivers
|
||||
F: Documentation/ABI/testing/sysfs-bus-iio-adc-ad4130
|
||||
F: Documentation/devicetree/bindings/iio/adc/adi,ad4130.yaml
|
||||
F: drivers/iio/adc/ad4130.c
|
||||
|
||||
@@ -1565,6 +1564,7 @@ F: Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350
|
||||
F: Documentation/devicetree/bindings/iio/*/adi,*
|
||||
F: Documentation/devicetree/bindings/iio/adc/lltc,ltc2496.yaml
|
||||
F: Documentation/devicetree/bindings/iio/adc/lltc,ltc2497.yaml
|
||||
F: Documentation/iio/ad7606.rst
|
||||
F: drivers/iio/*/ad*
|
||||
F: drivers/iio/adc/ltc249*
|
||||
F: drivers/iio/amplifiers/hmc425a.c
|
||||
@@ -24652,6 +24652,12 @@ S: Maintained
|
||||
F: drivers/input/serio/userio.c
|
||||
F: include/uapi/linux/userio.h
|
||||
|
||||
VISHAY VEML3235 AMBIENT LIGHT SENSOR DRIVER
|
||||
M: Javier Carrasco <javier.carrasco.cruz@gmail.com>
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/iio/light/vishay,veml6030.yaml
|
||||
F: drivers/iio/light/veml3235.c
|
||||
|
||||
VISHAY VEML6030 AMBIENT LIGHT SENSOR DRIVER
|
||||
M: Javier Carrasco <javier.carrasco.cruz@gmail.com>
|
||||
S: Maintained
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user