150 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/st,stm32-lptimer.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: STMicroelectronics STM32 Low-Power Timers8 9description: |10 The STM32 Low-Power Timer (LPTIM) is a 16-bit timer that provides several11 functions12 - PWM output (with programmable prescaler, configurable polarity)13 - Trigger source for STM32 ADC/DAC (LPTIM_OUT)14 - Several counter modes:15 - quadrature encoder to detect angular position and direction of rotary16 elements, from IN1 and IN2 input signals.17 - simple counter from IN1 input signal.18 19maintainers:20 - Fabrice Gasnier <fabrice.gasnier@foss.st.com>21 22properties:23 compatible:24 const: st,stm32-lptimer25 26 reg:27 maxItems: 128 29 clocks:30 maxItems: 131 32 clock-names:33 items:34 - const: mux35 36 interrupts:37 maxItems: 138 39 "#address-cells":40 const: 141 42 "#size-cells":43 const: 044 45 wakeup-source: true46 47 access-controllers:48 minItems: 149 maxItems: 250 51 pwm:52 type: object53 additionalProperties: false54 55 properties:56 compatible:57 const: st,stm32-pwm-lp58 59 "#pwm-cells":60 const: 361 62 required:63 - "#pwm-cells"64 - compatible65 66 counter:67 type: object68 additionalProperties: false69 70 properties:71 compatible:72 const: st,stm32-lptimer-counter73 74 required:75 - compatible76 77 timer:78 type: object79 additionalProperties: false80 81 properties:82 compatible:83 const: st,stm32-lptimer-timer84 85 required:86 - compatible87 88patternProperties:89 "^trigger@[0-9]+$":90 type: object91 additionalProperties: false92 93 properties:94 compatible:95 const: st,stm32-lptimer-trigger96 97 reg:98 description: Identify trigger hardware block.99 items:100 minimum: 0101 maximum: 2102 103 required:104 - compatible105 - reg106 107required:108 - "#address-cells"109 - "#size-cells"110 - compatible111 - reg112 - clocks113 - clock-names114 115additionalProperties: false116 117examples:118 - |119 #include <dt-bindings/clock/stm32mp1-clks.h>120 #include <dt-bindings/interrupt-controller/arm-gic.h>121 timer@40002400 {122 compatible = "st,stm32-lptimer";123 reg = <0x40002400 0x400>;124 clocks = <&timer_clk>;125 clock-names = "mux";126 interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;127 #address-cells = <1>;128 #size-cells = <0>;129 130 pwm {131 compatible = "st,stm32-pwm-lp";132 #pwm-cells = <3>;133 };134 135 trigger@0 {136 compatible = "st,stm32-lptimer-trigger";137 reg = <0>;138 };139 140 counter {141 compatible = "st,stm32-lptimer-counter";142 };143 144 timer {145 compatible = "st,stm32-lptimer-timer";146 };147 };148 149...150