blob: 4d8d9c6f245d4172c684b9830a167da5e7460305 [file] [log] [blame]
# Copyright (c) 2020 arithmetics.io
# SPDX-License-Identifier: Apache-2.0
description: Texas Instruments FDC2X1X capacitive sensor
compatible: "ti,fdc2x1x"
include: [sensor-device.yaml, i2c-device.yaml]
properties:
sd-gpios:
type: phandle-array
description: |
The SD pin defaults to active high when consumed by the sensor.
The property value should ensure the flags properly describe
the signal that is presented to the driver.
intb-gpios:
type: phandle-array
description: |
The INTB pin defaults to active low when produced by the sensor.
The property value should ensure the flags properly describe
the signal that is presented to the driver.
fdc2x14:
type: boolean
description: |
Set to identify the sensor as FDC2114 or FDC2214 (4-channel version)
autoscan:
type: boolean
description: |
Set the Auto-Scan Mode.
false = Continuous conversion on the single channel selected by
"active-channel" (single channel mode).
true = Auto-Scan conversions as selected by "rr-sequence"
(multichannel mode).
fref:
type: int
required: true
description: |
Reference frequency of the used clock source in KHz.
The internal clock oscillates at around 43360 KHz (43.36 MHz)
at 20 degrees Celcius.
Recommended external clock source frequency is 40000 KHz (40 MHz).
rr-sequence:
type: int
default: 0
description: |
Auto-Scan Sequence Configuration.
The FDC will perform a single conversion on each channel
in the sequence selected, and then restart the sequence continuously.
The sensor performs conversion on Channel 0 to 1 by default after
power-on-reset. This setting only applies if autoscan=true
(multichannel mode).
0 = Ch0, Ch1
1 = Ch0, Ch1, Ch2 (FDC2114, FDC2214 only)
2 = Ch0, Ch1, Ch2, Ch3 (FDC2114, FDC2214 only)
enum:
- 0
- 1
- 2
active-channel:
type: int
default: 0
description: |
Selects channel for continuous conversions.
The sensor performs continuous conversion on Channel 0 by default after
power-on-reset. This setting only applies if autoscan=false
(single channel mode).
0 = Perform continuous conversions on Channel 0
1 = Perform continuous conversions on Channel 1
2 = Perform continuous conversions on Channel 2 (FDC2114, FDC2214 only)
3 = Perform continuous conversions on Channel 3 (FDC2114, FDC2214 only)
enum:
- 0
- 1
- 2
- 3
deglitch:
type: int
required: true
description: |
Input deglitch filter bandwidth. Select the lowest setting that exceeds
the oscillation tank oscillation frequency.
1 = 1MHz
4 = 3.3MHz
5 = 10MHz
7 = 33MHz
enum:
- 1
- 4
- 5
- 7
sensor-activate-sel:
type: string
default: "low-power"
description: |
Sensor Activation Mode Selection.
The sensor uses low-power activation mode by default after
power-on-reset.
full-current = the FDC will drive maximum
sensor current for a shorter sensor activation time.
low-power = the FDC uses the value programmed by "idrive" during
sensor activation to minimize power consumption.
enum:
- "full-current"
- "low-power"
ref-clk-src:
type: string
default: "internal"
description: |
Select Reference Frequency Source.
The sensor uses the internal clock by default after power-on-reset.
internal = Use Internal oscillator as reference frequency
external = Reference frequency is provided from CLKIN pin.
enum:
- "internal"
- "external"
current-drive:
type: string
default: "normal"
description: |
Select Current Sensor Drive.
The sensor uses normal current drive by default after power-on-reset.
High current drive is not supported if autoscan=false and will default
to normal.
normal = The FDC will drive all channels with normal sensor current
(1.5mA max).
high = The FDC will drive channel 0 with current >1.5mA.
enum:
- "normal"
- "high"
output-gain:
type: int
default: 0
description: |
Output gain control (FDC2112, FDC2114 only)
The default output gain is 0 after power-on-reset.
0 = Gain = 1 | Effective Resolution 12 bits | 100% full scale
1 = Gain = 4 | Effective Resolution 14 bits | 25% full scale
2 = Gain = 8 | Effective Resolution 15 bits | 12.5% full scale
3 = Gain = 16 | Effective Resolution 16 bits | 6.25% full scale
enum:
- 0
- 1
- 2
- 3
child-binding:
description: |
Settings for each channel 0-1 (FDC2112 and FDC2212) or
0-3 (FDC2114 and FDC2214)
properties:
rcount:
type: int
required: true
description: |
Channel X Reference Count Conversion Interval Time.
Valid range: 256 - 65535
offset:
type: int
default: 0
description: |
Channel X Conversion Offset (FDC2112 and FDC2212 only).
The default offset value after power-on-reset is 0.
Valid range: 0 - 65535
settlecount:
type: int
required: true
description: |
Channel X Conversion Settling.
The FDC will use this settling time to allow the LC sensor to
stabilize before initiation of a conversion on Channel X.
Valid range: 0 - 65535
fref-divider:
type: int
required: true
description: |
Channel X Reference Divider.
Sets the divider for Channel X reference.
Use this to scale the maximum conversion frequency.
Valid range: 1 - 1023
idrive:
type: int
required: true
description: |
Channel X Sensor drive current.
This field defines the Drive Current used during the settling +
conversion time of Channel X sensor clock.
Valid range: 0 - 31
fin-sel:
type: int
required: true
description: |
Channel X Sensor frequency select.
For differential sensor configuration:
1 = divide by 1. Choose for sensor frequencies between
0.01MHz and 8.75MHz
2 = divide by 2. Choose for sensor frequencies between 5MHz
and 10MHz
For single-ended sensor configuration:
2 = divide by 2. Choose for sensor frequencies between
0.01MHz and 10MHz
enum:
- 1 # Divide by 1
- 2 # Divide by 2
inductance:
type: int
required: true
description: |
Inductor value used on the PCB for the sensing network of the
specific channel, which is usually 18uH.