dt-bindings:iio:proximity: Add sx9324 binding
Similar to SX9310, add biddings to setup sx9324 hardware properties. SX9324 is a little different, introduce 4 phases to be configured in 2 pairs over 3 antennas. Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Link: https://lore.kernel.org/r/20220101203817.290512-5-gwendal@chromium.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
4c18a890df
commit
656f807086
|
@ -0,0 +1,161 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/iio/proximity/semtech,sx9324.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Semtech's SX9324 capacitive proximity sensor
|
||||
|
||||
maintainers:
|
||||
- Gwendal Grignou <gwendal@chromium.org>
|
||||
- Daniel Campello <campello@chromium.org>
|
||||
|
||||
description: |
|
||||
Semtech's SX9324 proximity sensor.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: semtech,sx9324
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
description:
|
||||
Generated by device to announce preceding read request has finished
|
||||
and data is available or that a close/far proximity event has happened.
|
||||
maxItems: 1
|
||||
|
||||
vdd-supply:
|
||||
description: Main power supply
|
||||
|
||||
svdd-supply:
|
||||
description: Host interface power supply
|
||||
|
||||
"#io-channel-cells":
|
||||
const: 1
|
||||
|
||||
semtech,ph0-pin:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: |
|
||||
Array of 3 entries. Index represent the id of the CS pin.
|
||||
Value indicates how each CS pin is used during phase 0.
|
||||
Each of the 3 pins have the following value -
|
||||
0 : unused (high impedance)
|
||||
1 : measured input
|
||||
2 : dynamic shield
|
||||
3 : grounded.
|
||||
For instance, CS0 measured, CS1 shield and CS2 ground is [1, 2, 3]
|
||||
items:
|
||||
enum: [ 0, 1, 2, 3 ]
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
semtech,ph1-pin:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: Same as ph0-pin for phase 1.
|
||||
items:
|
||||
enum: [ 0, 1, 2, 3 ]
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
semtech,ph2-pin:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: Same as ph0-pin for phase 2.
|
||||
items:
|
||||
enum: [ 0, 1, 2, 3 ]
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
semtech,ph3-pin:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description: Same as ph0-pin for phase 3.
|
||||
items:
|
||||
enum: [ 0, 1, 2, 3 ]
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
|
||||
semtech,ph01-resolution:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [8, 16, 32, 64, 128, 256, 512, 1024]
|
||||
description:
|
||||
Capacitance measurement resolution. For phase 0 and 1.
|
||||
Higher the number, higher the resolution.
|
||||
default: 128
|
||||
|
||||
semtech,ph23-resolution:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [8, 16, 32, 64, 128, 256, 512, 1024]
|
||||
description:
|
||||
Capacitance measurement resolution. For phase 2 and 3
|
||||
default: 128
|
||||
|
||||
semtech,startup-sensor:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3]
|
||||
default: 0
|
||||
description: |
|
||||
Phase used for start-up proximity detection.
|
||||
It is used when we enable a phase to remove static offset and measure
|
||||
only capacitance changes introduced by the user.
|
||||
|
||||
semtech,ph01-proxraw-strength:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
default: 1
|
||||
description:
|
||||
PROXRAW filter strength for phase 0 and 1. A value of 0 represents off,
|
||||
and other values represent 1-1/2^N.
|
||||
|
||||
semtech,ph23-proxraw-strength:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
default: 1
|
||||
description:
|
||||
Same as proxraw-strength01, for phase 2 and 3.
|
||||
|
||||
semtech,avg-pos-strength:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 16, 64, 128, 256, 512, 1024, 4294967295]
|
||||
default: 16
|
||||
description: |
|
||||
Average positive filter strength. A value of 0 represents off and
|
||||
UINT_MAX (4294967295) represents infinite. Other values
|
||||
represent 1-1/N.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#io-channel-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
proximity@28 {
|
||||
compatible = "semtech,sx9324";
|
||||
reg = <0x28>;
|
||||
interrupt-parent = <&pio>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_LOW 5>;
|
||||
vdd-supply = <&pp3300_a>;
|
||||
svdd-supply = <&pp1800_prox>;
|
||||
#io-channel-cells = <1>;
|
||||
semtech,ph0-pin = <1 2 3>;
|
||||
semtech,ph1-pin = <3 2 1>;
|
||||
semtech,ph2-pin = <1 2 3>;
|
||||
semtech,ph3-pin = <3 2 1>;
|
||||
semtech,ph01-resolution = <256>;
|
||||
semtech,ph23-resolution = <256>;
|
||||
semtech,startup-sensor = <1>;
|
||||
semtech,ph01-proxraw-strength = <2>;
|
||||
semtech,ph23-proxraw-strength = <2>;
|
||||
semtech,avg-pos-strength = <64>;
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue