nxp,tpm-qdec

Vendor: NXP Semiconductors

Note

An implementation of a driver matching this compatible is available in drivers/sensor/nxp/qdec_tpm/qdec_nxp_tpm.c.

Description

NXP Timer/PWM Module (TPM) Quadrature Decoder Mode driver.
This driver uses tpm_chn0 (phase A) and tpm_chn1 (phase B) input signals to control the
TPM counter increment and decrement. The Zephyr Sensor API exposes the rotational position as
SENSOR_CHAN_ROTATION by dividing the counter by counts-per revolution definition.

To use the NXP TPM module you've to override the compatible string to use the QDEC mode driver
with 'nxp,tpm-qdec'

&tpm4 {
      compatible = "nxp,tpm-qdec";
      status = "okay";
      pinctrl-0 = <&tpm4_pwm2_pwm3>;
      pinctrl-names = "default";
      micro-ticks-per-rev = <685440000>;
 };

When inherting from an existing TPM instance you might want to remove the prescaler property
Since the QDEC mode doesn't use the prescaler, you do this using:
/delete-property/ prescaler;

Properties

Properties not inherited from the base binding file.

Name

Type

Details

micro-ticks-per-rev

int

This is a number that is used to determine how many revolutions * 1000000
were done based on the current counter's value.

This property is required.

pinctrl-0

phandles

Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.

This property is required.

pinctrl-1

phandles

Pin configuration/s for the second state. See pinctrl-0.

pinctrl-2

phandles

Pin configuration/s for the third state. See pinctrl-0.

pinctrl-3

phandles

Pin configuration/s for the fourth state. See pinctrl-0.

pinctrl-4

phandles

Pin configuration/s for the fifth state. See pinctrl-0.

pinctrl-names

string-array

Names for the provided states. The number of names needs to match the
number of states.

friendly-name

string

Human readable string describing the sensor. It can be used to
distinguish multiple instances of the same model (e.g., lid accelerometer
vs. base accelerometer in a laptop) to a host operating system.

This property is defined in the Generic Sensor Property Usages of the HID
Usage Tables specification
(https://usb.org/sites/default/files/hut1_3_0.pdf, section 22.5).