arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / bindings / mfd / st,stm32-lptimer.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mfd/st,stm32-lptimer.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: STMicroelectronics STM32 Low-Power Timers
8
9 description: |
10   The STM32 Low-Power Timer (LPTIM) is a 16-bit timer that provides several
11   functions
12    - 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 rotary
16        elements, from IN1 and IN2 input signals.
17      - simple counter from IN1 input signal.
18
19 maintainers:
20   - Fabrice Gasnier <fabrice.gasnier@foss.st.com>
21
22 properties:
23   compatible:
24     const: st,stm32-lptimer
25
26   reg:
27     maxItems: 1
28
29   clocks:
30     maxItems: 1
31
32   clock-names:
33     items:
34       - const: mux
35
36   interrupts:
37     maxItems: 1
38
39   "#address-cells":
40     const: 1
41
42   "#size-cells":
43     const: 0
44
45   wakeup-source: true
46
47   pwm:
48     type: object
49     additionalProperties: false
50
51     properties:
52       compatible:
53         const: st,stm32-pwm-lp
54
55       "#pwm-cells":
56         const: 3
57
58     required:
59       - "#pwm-cells"
60       - compatible
61
62   counter:
63     type: object
64     additionalProperties: false
65
66     properties:
67       compatible:
68         const: st,stm32-lptimer-counter
69
70     required:
71       - compatible
72
73   timer:
74     type: object
75     additionalProperties: false
76
77     properties:
78       compatible:
79         const: st,stm32-lptimer-timer
80
81     required:
82       - compatible
83
84 patternProperties:
85   "^trigger@[0-9]+$":
86     type: object
87     additionalProperties: false
88
89     properties:
90       compatible:
91         const: st,stm32-lptimer-trigger
92
93       reg:
94         description: Identify trigger hardware block.
95         items:
96           minimum: 0
97           maximum: 2
98
99     required:
100       - compatible
101       - reg
102
103 required:
104   - "#address-cells"
105   - "#size-cells"
106   - compatible
107   - reg
108   - clocks
109   - clock-names
110
111 additionalProperties: false
112
113 examples:
114   - |
115     #include <dt-bindings/clock/stm32mp1-clks.h>
116     #include <dt-bindings/interrupt-controller/arm-gic.h>
117     timer@40002400 {
118       compatible = "st,stm32-lptimer";
119       reg = <0x40002400 0x400>;
120       clocks = <&timer_clk>;
121       clock-names = "mux";
122       interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
123       #address-cells = <1>;
124       #size-cells = <0>;
125
126       pwm {
127         compatible = "st,stm32-pwm-lp";
128         #pwm-cells = <3>;
129       };
130
131       trigger@0 {
132         compatible = "st,stm32-lptimer-trigger";
133         reg = <0>;
134       };
135
136       counter {
137         compatible = "st,stm32-lptimer-counter";
138       };
139
140       timer {
141         compatible = "st,stm32-lptimer-timer";
142       };
143     };
144
145 ...