Messages in this thread | | | From | Julien Panis <> | Subject | [PATCH v4 0/3] ECAP support on TI AM62x SoC | Date | Wed, 10 Aug 2022 16:07:21 +0200 |
| |
The Enhanced Capture (ECAP) module can be used to timestamp events detected on signal input pin. It can be used for time measurements of pulse train signals.
ECAP module includes 4 timestamp capture registers. For all 4 sequenced timestamp capture events (1->2->3->4->1->...), edge polarity (falling/rising edge) can be selected.
This driver leverages counter subsystem to : - select edge polarity for all 4 capture events (event mode) - log timestamps for each capture event Event polarity, and CAP1/2/3/4 timestamps give all the information about the input pulse train. Further information can easily be computed : period and/or duty cycle if frequency is constant, elapsed time between pulses, etc...
Modifications since v3: - Migrate driver from IIO to Counter subsystem - Minor modification in yaml ($id) to match Counter subsystem - Add ABI documentation
Userspace commands : ### SIGNAL ### cd /sys/bus/counter/devices/counter0/signal0
# Get available polarities for each capture event cat polarity1_available cat polarity2_available cat polarity3_available cat polarity4_available
# Get polarity for each capture event cat polarity1 cat polarity2 cat polarity3 cat polarity4
# Set polarity for each capture event echo rising > polarity1 echo falling > polarity2 echo rising > polarity3 echo falling > polarity4
### COUNT ### cd /sys/bus/counter/devices/counter0/count0
# Run ECAP echo 1 > enable
# Get current timebase counter value cat count
# Get captured timestamps cat capture1 cat capture2 cat capture3 cat capture4
# Note that counter watches can also be used to get # data from userspace application # -> see tools/counter/counter_example.c
# Stop ECAP echo 0 > enable
Julien Panis (3): dt-binding: counter: add ti,am62-ecap-capture.yaml Documentation: ABI: add sysfs-bus-counter-ecap counter: capture-tiecap: capture driver support for ECAP
.../ABI/testing/sysfs-bus-counter-ecap | 64 ++ .../counter/ti,am62-ecap-capture.yaml | 61 ++ drivers/counter/Kconfig | 14 + drivers/counter/Makefile | 1 + drivers/counter/capture-tiecap.c | 634 ++++++++++++++++++ include/uapi/linux/counter.h | 2 + 6 files changed, 776 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-bus-counter-ecap create mode 100644 Documentation/devicetree/bindings/counter/ti,am62-ecap-capture.yaml create mode 100644 drivers/counter/capture-tiecap.c
-- 2.25.1
| |