-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Gwendal Grignou
authored and
Jonathan Cameron
committed
Jan 23, 2022
1 parent
4c18a89
commit 656f807
Showing
1 changed file
with
161 additions
and
0 deletions.
There are no files selected for viewing
161 changes: 161 additions & 0 deletions
161
Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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>; | ||
}; | ||
}; |