blob: 48f2214631665102da66b6a00e4af5ce426d8abb [file] [log] [blame]
# 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.
allOf:
- $ref: /schemas/iio/iio.yaml#
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.
semtech,cs-idle-sleep:
description:
State of CS pins during sleep mode and idle time.
enum:
- hi-z
- gnd
- vdd
semtech,int-comp-resistor:
description:
Internal resistor setting for compensation.
enum:
- lowest
- low
- high
- highest
semtech,input-precharge-resistor-ohms:
default: 4000
multipleOf: 2000
minimum: 0
maximum: 30000
description:
Pre-charge input resistance in Ohm.
semtech,input-analog-gain:
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 0
maximum: 3
description: |
Defines the input antenna analog gain
0: x1.247
1: x1 (default)
2: x0.768
3: x0.552
required:
- compatible
- reg
- "#io-channel-cells"
unevaluatedProperties: 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>;
semtech,int-comp-resistor = "lowest";
semtech,input-precharge-resistor-ohms = <2000>;
semtech,cs-idle-sleep = "gnd";
};
};