18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/mfd/st,stm32-lptimer.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: STMicroelectronics STM32 Low-Power Timers bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cidescription: | 108c2ecf20Sopenharmony_ci The STM32 Low-Power Timer (LPTIM) is a 16-bit timer that provides several 118c2ecf20Sopenharmony_ci functions 128c2ecf20Sopenharmony_ci - PWM output (with programmable prescaler, configurable polarity) 138c2ecf20Sopenharmony_ci - Trigger source for STM32 ADC/DAC (LPTIM_OUT) 148c2ecf20Sopenharmony_ci - Several counter modes: 158c2ecf20Sopenharmony_ci - quadrature encoder to detect angular position and direction of rotary 168c2ecf20Sopenharmony_ci elements, from IN1 and IN2 input signals. 178c2ecf20Sopenharmony_ci - simple counter from IN1 input signal. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_cimaintainers: 208c2ecf20Sopenharmony_ci - Fabrice Gasnier <fabrice.gasnier@st.com> 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciproperties: 238c2ecf20Sopenharmony_ci compatible: 248c2ecf20Sopenharmony_ci const: st,stm32-lptimer 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci reg: 278c2ecf20Sopenharmony_ci maxItems: 1 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci clocks: 308c2ecf20Sopenharmony_ci maxItems: 1 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci clock-names: 338c2ecf20Sopenharmony_ci items: 348c2ecf20Sopenharmony_ci - const: mux 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci interrupts: 378c2ecf20Sopenharmony_ci maxItems: 1 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci "#address-cells": 408c2ecf20Sopenharmony_ci const: 1 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci "#size-cells": 438c2ecf20Sopenharmony_ci const: 0 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci wakeup-source: true 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci pwm: 488c2ecf20Sopenharmony_ci type: object 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci properties: 518c2ecf20Sopenharmony_ci compatible: 528c2ecf20Sopenharmony_ci const: st,stm32-pwm-lp 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci "#pwm-cells": 558c2ecf20Sopenharmony_ci const: 3 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci required: 588c2ecf20Sopenharmony_ci - "#pwm-cells" 598c2ecf20Sopenharmony_ci - compatible 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_cipatternProperties: 628c2ecf20Sopenharmony_ci "^trigger@[0-9]+$": 638c2ecf20Sopenharmony_ci type: object 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci properties: 668c2ecf20Sopenharmony_ci compatible: 678c2ecf20Sopenharmony_ci const: st,stm32-lptimer-trigger 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci reg: 708c2ecf20Sopenharmony_ci description: Identify trigger hardware block. 718c2ecf20Sopenharmony_ci items: 728c2ecf20Sopenharmony_ci minimum: 0 738c2ecf20Sopenharmony_ci maximum: 2 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci required: 768c2ecf20Sopenharmony_ci - compatible 778c2ecf20Sopenharmony_ci - reg 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci counter: 808c2ecf20Sopenharmony_ci type: object 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci properties: 838c2ecf20Sopenharmony_ci compatible: 848c2ecf20Sopenharmony_ci const: st,stm32-lptimer-counter 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci required: 878c2ecf20Sopenharmony_ci - compatible 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci timer: 908c2ecf20Sopenharmony_ci type: object 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci properties: 938c2ecf20Sopenharmony_ci compatible: 948c2ecf20Sopenharmony_ci const: st,stm32-lptimer-timer 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci required: 978c2ecf20Sopenharmony_ci - compatible 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_cirequired: 1008c2ecf20Sopenharmony_ci - "#address-cells" 1018c2ecf20Sopenharmony_ci - "#size-cells" 1028c2ecf20Sopenharmony_ci - compatible 1038c2ecf20Sopenharmony_ci - reg 1048c2ecf20Sopenharmony_ci - clocks 1058c2ecf20Sopenharmony_ci - clock-names 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ciadditionalProperties: false 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ciexamples: 1108c2ecf20Sopenharmony_ci - | 1118c2ecf20Sopenharmony_ci #include <dt-bindings/clock/stm32mp1-clks.h> 1128c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 1138c2ecf20Sopenharmony_ci timer@40002400 { 1148c2ecf20Sopenharmony_ci compatible = "st,stm32-lptimer"; 1158c2ecf20Sopenharmony_ci reg = <0x40002400 0x400>; 1168c2ecf20Sopenharmony_ci clocks = <&timer_clk>; 1178c2ecf20Sopenharmony_ci clock-names = "mux"; 1188c2ecf20Sopenharmony_ci interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>; 1198c2ecf20Sopenharmony_ci #address-cells = <1>; 1208c2ecf20Sopenharmony_ci #size-cells = <0>; 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ci pwm { 1238c2ecf20Sopenharmony_ci compatible = "st,stm32-pwm-lp"; 1248c2ecf20Sopenharmony_ci #pwm-cells = <3>; 1258c2ecf20Sopenharmony_ci }; 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci trigger@0 { 1288c2ecf20Sopenharmony_ci compatible = "st,stm32-lptimer-trigger"; 1298c2ecf20Sopenharmony_ci reg = <0>; 1308c2ecf20Sopenharmony_ci }; 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci counter { 1338c2ecf20Sopenharmony_ci compatible = "st,stm32-lptimer-counter"; 1348c2ecf20Sopenharmony_ci }; 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci timer { 1378c2ecf20Sopenharmony_ci compatible = "st,stm32-lptimer-timer"; 1388c2ecf20Sopenharmony_ci }; 1398c2ecf20Sopenharmony_ci }; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci... 142