| # 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. |