blob: b52a6b9d978c0e262fa0b1b76c60e005e4226737 [file]
# Copyright (c) 2025 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0
description: RX Renesas Capatitive Touch Sensing Unit
compatible: "renesas,rx-ctsu"
include: [base.yaml, pinctrl-device.yaml]
properties:
max-num-sensors:
type: int
required: true
description: Maximum number of sensors available in the CTSU
low-voltage-mode:
type: boolean
description: |
Enable low voltage mode
In this mode, the CTSU will work with lower voltage
This mode is useful when the system is working with low voltage
tscap-gpios:
type: phandle-array
required: true
description: |
CTSU TSCAP Pin
pinctrl-0:
required: true
pinctrl-names:
required: true
child-binding:
description: CTSU Sensor Component
properties:
component-type:
type: string
required: true
enum:
- "button"
- "slider"
- "wheel"
description: |
Type of component
ssdiv:
type: int
default: 1
description: |
Spectrum Diffusion Frequency Division Setting
- 0: 4.00 <= Base Clock Frequency fb (MHz)
- 1..14: 4.00/(ssdiv+1) <= fb < 4.00/(ssdiv)
- 15: fb < 0.27
so:
type: int
default: 0x074
description: |
Sensor Offset Adjustment (10 bits):
Current offset amount
snum:
type: int
default: 3
description: |
Set the number of measurements = snum + 1
sdpa:
type: int
default: 7
description: |
Base Clock Setting (5 bits)(0 - 31):
Operating clock divided by 2*(sdpa+1)
resolution:
type: int
default: 100
description: Resolution of wheel or slider
channels-num:
type: array
required: true
description: |
Channels number that are used by the component
In case of "slider" or "wheel", channels should be placed in order
as they are on the slider or wheel. (from the lowest value to the highest value)
In case of "button", there must be only 1 element in array.
Otherwise, CTSU will not working.
touch-count-threshold:
type: int
default: 1500
description: |
Count threshold to determine touching or not
In case of "slider" or "wheel",
this is the threshold to start the position calculation
threshold-range:
type: int
default: 500
description: |
Range of threshold: if count > threshold + range => touching
if count < threshold => untouch
zephyr,code:
type: int
required: true
description: Key code to emit.