162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/timer/nxp,tpm-timer.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: NXP Low Power Timer/Pulse Width Modulation Module (TPM) 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Dong Aisheng <aisheng.dong@nxp.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The Timer/PWM Module (TPM) supports input capture, output compare, 1462306a36Sopenharmony_ci and the generation of PWM signals to control electric motor and power 1562306a36Sopenharmony_ci management applications. The counter, compare and capture registers 1662306a36Sopenharmony_ci are clocked by an asynchronous clock that can remain enabled in low 1762306a36Sopenharmony_ci power modes. TPM can support global counter bus where one TPM drives 1862306a36Sopenharmony_ci the counter bus for the others, provided bit width is the same. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciproperties: 2162306a36Sopenharmony_ci compatible: 2262306a36Sopenharmony_ci oneOf: 2362306a36Sopenharmony_ci - const: fsl,imx7ulp-tpm 2462306a36Sopenharmony_ci - items: 2562306a36Sopenharmony_ci - const: fsl,imx8ulp-tpm 2662306a36Sopenharmony_ci - const: fsl,imx7ulp-tpm 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci reg: 2962306a36Sopenharmony_ci maxItems: 1 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci interrupts: 3262306a36Sopenharmony_ci maxItems: 1 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci clocks: 3562306a36Sopenharmony_ci items: 3662306a36Sopenharmony_ci - description: SoC TPM ipg clock 3762306a36Sopenharmony_ci - description: SoC TPM per clock 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci clock-names: 4062306a36Sopenharmony_ci items: 4162306a36Sopenharmony_ci - const: ipg 4262306a36Sopenharmony_ci - const: per 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_cirequired: 4562306a36Sopenharmony_ci - compatible 4662306a36Sopenharmony_ci - reg 4762306a36Sopenharmony_ci - interrupts 4862306a36Sopenharmony_ci - clocks 4962306a36Sopenharmony_ci - clock-names 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciadditionalProperties: false 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciexamples: 5462306a36Sopenharmony_ci - | 5562306a36Sopenharmony_ci #include <dt-bindings/clock/imx7ulp-clock.h> 5662306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci timer@40260000 { 5962306a36Sopenharmony_ci compatible = "fsl,imx7ulp-tpm"; 6062306a36Sopenharmony_ci reg = <0x40260000 0x1000>; 6162306a36Sopenharmony_ci interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 6262306a36Sopenharmony_ci clocks = <&scg1 IMX7ULP_CLK_NIC1_BUS_DIV>, 6362306a36Sopenharmony_ci <&pcc2 IMX7ULP_CLK_LPTPM5>; 6462306a36Sopenharmony_ci clock-names = "ipg", "per"; 6562306a36Sopenharmony_ci }; 66