201 lines
5.2 KiB
YAML
201 lines
5.2 KiB
YAML
|
# 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.
|
||
|
|
||
|
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"
|
||
|
|
||
|
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>;
|
||
|
semtech,int-comp-resistor = "lowest";
|
||
|
semtech,input-precharge-resistor-ohms = <2000>;
|
||
|
semtech,cs-idle-sleep = "gnd";
|
||
|
};
|
||
|
};
|