| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/mfd/st,stm32-lptimer.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: STMicroelectronics STM32 Low-Power Timers
- description: |
- The STM32 Low-Power Timer (LPTIM) is a 16-bit timer that provides several
- functions
- - PWM output (with programmable prescaler, configurable polarity)
- - Trigger source for STM32 ADC/DAC (LPTIM_OUT)
- - Several counter modes:
- - quadrature encoder to detect angular position and direction of rotary
- elements, from IN1 and IN2 input signals.
- - simple counter from IN1 input signal.
- maintainers:
- - Fabrice Gasnier <fabrice.gasnier@foss.st.com>
- properties:
- compatible:
- oneOf:
- - items:
- - const: st,stm32mp25-lptimer
- - const: st,stm32-lptimer
- - items:
- - const: st,stm32-lptimer
- reg:
- maxItems: 1
- clocks:
- maxItems: 1
- clock-names:
- items:
- - const: mux
- interrupts:
- maxItems: 1
- "#address-cells":
- const: 1
- "#size-cells":
- const: 0
- wakeup-source: true
- access-controllers:
- minItems: 1
- maxItems: 2
- power-domains:
- maxItems: 1
- pwm:
- type: object
- additionalProperties: false
- properties:
- compatible:
- oneOf:
- - items:
- - const: st,stm32mp25-pwm-lp
- - const: st,stm32-pwm-lp
- - items:
- - const: st,stm32-pwm-lp
- "#pwm-cells":
- const: 3
- required:
- - "#pwm-cells"
- - compatible
- counter:
- type: object
- additionalProperties: false
- properties:
- compatible:
- oneOf:
- - items:
- - const: st,stm32mp25-lptimer-counter
- - const: st,stm32-lptimer-counter
- - items:
- - const: st,stm32-lptimer-counter
- required:
- - compatible
- timer:
- type: object
- additionalProperties: false
- properties:
- compatible:
- oneOf:
- - items:
- - const: st,stm32mp25-lptimer-timer
- - const: st,stm32-lptimer-timer
- - items:
- - const: st,stm32-lptimer-timer
- required:
- - compatible
- patternProperties:
- "^trigger@[0-9]+$":
- type: object
- additionalProperties: false
- properties:
- compatible:
- oneOf:
- - items:
- - const: st,stm32mp25-lptimer-trigger
- - const: st,stm32-lptimer-trigger
- - items:
- - const: st,stm32-lptimer-trigger
- reg:
- description: Identify trigger hardware block.
- items:
- minimum: 0
- maximum: 4
- required:
- - compatible
- - reg
- required:
- - "#address-cells"
- - "#size-cells"
- - compatible
- - reg
- - clocks
- - clock-names
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/clock/stm32mp1-clks.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- timer@40002400 {
- compatible = "st,stm32-lptimer";
- reg = <0x40002400 0x400>;
- clocks = <&timer_clk>;
- clock-names = "mux";
- interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
- #address-cells = <1>;
- #size-cells = <0>;
- pwm {
- compatible = "st,stm32-pwm-lp";
- #pwm-cells = <3>;
- };
- trigger@0 {
- compatible = "st,stm32-lptimer-trigger";
- reg = <0>;
- };
- counter {
- compatible = "st,stm32-lptimer-counter";
- };
- timer {
- compatible = "st,stm32-lptimer-timer";
- };
- };
- ...
|