File Index
Files and directories
Sign in
FILE

renesas,rzg2l-gpt.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/pwm/renesas,rzg2l-gpt.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/pwm/renesas,rzg2l-gpt.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Renesas RZ/G2L General PWM Timer (GPT)
  8
  9maintainers:
 10  - Biju Das <biju.das.jz@bp.renesas.com>
 11
 12description: |
 13  RZ/G2L General PWM Timer (GPT) composed of 8 channels with 32-bit timer
 14  (GPT32E). It supports the following functions
 15  * 32 bits x 8 channels.
 16  * Up-counting or down-counting (saw waves) or up/down-counting
 17    (triangle waves) for each counter.
 18  * Clock sources independently selectable for each channel.
 19  * Two I/O pins per channel.
 20  * Two output compare/input capture registers per channel.
 21  * For the two output compare/input capture registers of each channel,
 22    four registers are provided as buffer registers and are capable of
 23    operating as comparison registers when buffering is not in use.
 24  * In output compare operation, buffer switching can be at crests or
 25    troughs, enabling the generation of laterally asymmetric PWM waveforms.
 26  * Registers for setting up frame cycles in each channel (with capability
 27    for generating interrupts at overflow or underflow)
 28  * Generation of dead times in PWM operation.
 29  * Synchronous starting, stopping and clearing counters for arbitrary
 30    channels.
 31  * Starting, stopping, clearing and up/down counters in response to input
 32    level comparison.
 33  * Starting, clearing, stopping and up/down counters in response to a
 34    maximum of four external triggers.
 35  * Output pin disable function by dead time error and detected
 36    short-circuits between output pins.
 37  * A/D converter start triggers can be generated (GPT32E0 to GPT32E3)
 38  * Enables the noise filter for input capture and external trigger
 39    operation.
 40
 41  The below pwm channels are supported.
 42    pwm0  - GPT32E0.GTIOC0A channel
 43    pwm1  - GPT32E0.GTIOC0B channel
 44    pwm2  - GPT32E1.GTIOC1A channel
 45    pwm3  - GPT32E1.GTIOC1B channel
 46    pwm4  - GPT32E2.GTIOC2A channel
 47    pwm5  - GPT32E2.GTIOC2B channel
 48    pwm6  - GPT32E3.GTIOC3A channel
 49    pwm7  - GPT32E3.GTIOC3B channel
 50    pwm8  - GPT32E4.GTIOC4A channel
 51    pwm9  - GPT32E4.GTIOC4B channel
 52    pwm10 - GPT32E5.GTIOC5A channel
 53    pwm11 - GPT32E5.GTIOC5B channel
 54    pwm12 - GPT32E6.GTIOC6A channel
 55    pwm13 - GPT32E6.GTIOC6B channel
 56    pwm14 - GPT32E7.GTIOC7A channel
 57    pwm15 - GPT32E7.GTIOC7B channel
 58
 59properties:
 60  compatible:
 61    items:
 62      - enum:
 63          - renesas,r9a07g044-gpt  # RZ/G2{L,LC}
 64          - renesas,r9a07g054-gpt  # RZ/V2L
 65      - const: renesas,rzg2l-gpt
 66
 67  reg:
 68    maxItems: 1
 69
 70  '#pwm-cells':
 71    const: 3
 72
 73  interrupts:
 74    items:
 75      - description: GPT32E0.GTCCRA input capture/compare match
 76      - description: GPT32E0.GTCCRB input capture/compare
 77      - description: GPT32E0.GTCCRC compare match
 78      - description: GPT32E0.GTCCRD compare match
 79      - description: GPT32E0.GTCCRE compare match
 80      - description: GPT32E0.GTCCRF compare match
 81      - description: GPT32E0.GTADTRA compare match
 82      - description: GPT32E0.GTADTRB compare match
 83      - description: GPT32E0.GTCNT overflow/GTPR compare match
 84      - description: GPT32E0.GTCNT underflow
 85      - description: GPT32E1.GTCCRA input capture/compare match
 86      - description: GPT32E1.GTCCRB input capture/compare
 87      - description: GPT32E1.GTCCRC compare match
 88      - description: GPT32E1.GTCCRD compare match
 89      - description: GPT32E1.GTCCRE compare match
 90      - description: GPT32E1.GTCCRF compare match
 91      - description: GPT32E1.GTADTRA compare match
 92      - description: GPT32E1.GTADTRB compare match
 93      - description: GPT32E1.GTCNT overflow/GTPR compare match
 94      - description: GPT32E1.GTCNT underflow
 95      - description: GPT32E2.GTCCRA input capture/compare match
 96      - description: GPT32E2.GTCCRB input capture/compare
 97      - description: GPT32E2.GTCCRC compare match
 98      - description: GPT32E2.GTCCRD compare match
 99      - description: GPT32E2.GTCCRE compare match
100      - description: GPT32E2.GTCCRF compare match
101      - description: GPT32E2.GTADTRA compare match
102      - description: GPT32E2.GTADTRB compare match
103      - description: GPT32E2.GTCNT overflow/GTPR compare match
104      - description: GPT32E2.GTCNT underflow
105      - description: GPT32E3.GTCCRA input capture/compare match
106      - description: GPT32E3.GTCCRB input capture/compare
107      - description: GPT32E3.GTCCRC compare match
108      - description: GPT32E3.GTCCRD compare match
109      - description: GPT32E3.GTCCRE compare match
110      - description: GPT32E3.GTCCRF compare match
111      - description: GPT32E3.GTADTRA compare match
112      - description: GPT32E3.GTADTRB compare match
113      - description: GPT32E3.GTCNT overflow/GTPR compare match
114      - description: GPT32E3.GTCNT underflow
115      - description: GPT32E4.GTCCRA input capture/compare match
116      - description: GPT32E4.GTCCRB input capture/compare
117      - description: GPT32E4.GTCCRC compare match
118      - description: GPT32E4.GTCCRD compare match
119      - description: GPT32E4.GTCCRE compare match
120      - description: GPT32E4.GTCCRF compare match
121      - description: GPT32E4.GTADTRA compare match
122      - description: GPT32E4.GTADTRB compare match
123      - description: GPT32E4.GTCNT overflow/GTPR compare match
124      - description: GPT32E4.GTCNT underflow
125      - description: GPT32E5.GTCCRA input capture/compare match
126      - description: GPT32E5.GTCCRB input capture/compare
127      - description: GPT32E5.GTCCRC compare match
128      - description: GPT32E5.GTCCRD compare match
129      - description: GPT32E5.GTCCRE compare match
130      - description: GPT32E5.GTCCRF compare match
131      - description: GPT32E5.GTADTRA compare match
132      - description: GPT32E5.GTADTRB compare match
133      - description: GPT32E5.GTCNT overflow/GTPR compare match
134      - description: GPT32E5.GTCNT underflow
135      - description: GPT32E6.GTCCRA input capture/compare match
136      - description: GPT32E6.GTCCRB input capture/compare
137      - description: GPT32E6.GTCCRC compare match
138      - description: GPT32E6.GTCCRD compare match
139      - description: GPT32E6.GTCCRE compare match
140      - description: GPT32E6.GTCCRF compare match
141      - description: GPT32E6.GTADTRA compare match
142      - description: GPT32E6.GTADTRB compare match
143      - description: GPT32E6.GTCNT overflow/GTPR compare match
144      - description: GPT32E6.GTCNT underflow
145      - description: GPT32E7.GTCCRA input capture/compare match
146      - description: GPT32E7.GTCCRB input capture/compare
147      - description: GPT32E7.GTCCRC compare match
148      - description: GPT32E7.GTCCRD compare match
149      - description: GPT32E7.GTCCRE compare match
150      - description: GPT32E7.GTCCRF compare match
151      - description: GPT32E7.GTADTRA compare match
152      - description: GPT32E7.GTADTRB compare match
153      - description: GPT32E7.GTCNT overflow/GTPR compare match
154      - description: GPT32E7.GTCNT underflow
155
156  interrupt-names:
157    items:
158      - const: ccmpa0
159      - const: ccmpb0
160      - const: cmpc0
161      - const: cmpd0
162      - const: cmpe0
163      - const: cmpf0
164      - const: adtrga0
165      - const: adtrgb0
166      - const: ovf0
167      - const: unf0
168      - const: ccmpa1
169      - const: ccmpb1
170      - const: cmpc1
171      - const: cmpd1
172      - const: cmpe1
173      - const: cmpf1
174      - const: adtrga1
175      - const: adtrgb1
176      - const: ovf1
177      - const: unf1
178      - const: ccmpa2
179      - const: ccmpb2
180      - const: cmpc2
181      - const: cmpd2
182      - const: cmpe2
183      - const: cmpf2
184      - const: adtrga2
185      - const: adtrgb2
186      - const: ovf2
187      - const: unf2
188      - const: ccmpa3
189      - const: ccmpb3
190      - const: cmpc3
191      - const: cmpd3
192      - const: cmpe3
193      - const: cmpf3
194      - const: adtrga3
195      - const: adtrgb3
196      - const: ovf3
197      - const: unf3
198      - const: ccmpa4
199      - const: ccmpb4
200      - const: cmpc4
201      - const: cmpd4
202      - const: cmpe4
203      - const: cmpf4
204      - const: adtrga4
205      - const: adtrgb4
206      - const: ovf4
207      - const: unf4
208      - const: ccmpa5
209      - const: ccmpb5
210      - const: cmpc5
211      - const: cmpd5
212      - const: cmpe5
213      - const: cmpf5
214      - const: adtrga5
215      - const: adtrgb5
216      - const: ovf5
217      - const: unf5
218      - const: ccmpa6
219      - const: ccmpb6
220      - const: cmpc6
221      - const: cmpd6
222      - const: cmpe6
223      - const: cmpf6
224      - const: adtrga6
225      - const: adtrgb6
226      - const: ovf6
227      - const: unf6
228      - const: ccmpa7
229      - const: ccmpb7
230      - const: cmpc7
231      - const: cmpd7
232      - const: cmpe7
233      - const: cmpf7
234      - const: adtrga7
235      - const: adtrgb7
236      - const: ovf7
237      - const: unf7
238
239  clocks:
240    maxItems: 1
241
242  power-domains:
243    maxItems: 1
244
245  resets:
246    maxItems: 1
247
248required:
249  - compatible
250  - reg
251  - interrupts
252  - interrupt-names
253  - clocks
254  - power-domains
255  - resets
256
257allOf:
258  - $ref: pwm.yaml#
259
260additionalProperties: false
261
262examples:
263  - |
264    #include <dt-bindings/clock/r9a07g044-cpg.h>
265    #include <dt-bindings/interrupt-controller/arm-gic.h>
266
267    gpt: pwm@10048000 {
268        compatible = "renesas,r9a07g044-gpt", "renesas,rzg2l-gpt";
269        reg = <0x10048000 0x800>;
270        interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>,
271                     <GIC_SPI 219 IRQ_TYPE_EDGE_RISING>,
272                     <GIC_SPI 220 IRQ_TYPE_EDGE_RISING>,
273                     <GIC_SPI 221 IRQ_TYPE_EDGE_RISING>,
274                     <GIC_SPI 222 IRQ_TYPE_EDGE_RISING>,
275                     <GIC_SPI 223 IRQ_TYPE_EDGE_RISING>,
276                     <GIC_SPI 224 IRQ_TYPE_EDGE_RISING>,
277                     <GIC_SPI 225 IRQ_TYPE_EDGE_RISING>,
278                     <GIC_SPI 226 IRQ_TYPE_EDGE_RISING>,
279                     <GIC_SPI 227 IRQ_TYPE_EDGE_RISING>,
280                     <GIC_SPI 231 IRQ_TYPE_EDGE_RISING>,
281                     <GIC_SPI 232 IRQ_TYPE_EDGE_RISING>,
282                     <GIC_SPI 233 IRQ_TYPE_EDGE_RISING>,
283                     <GIC_SPI 234 IRQ_TYPE_EDGE_RISING>,
284                     <GIC_SPI 235 IRQ_TYPE_EDGE_RISING>,
285                     <GIC_SPI 236 IRQ_TYPE_EDGE_RISING>,
286                     <GIC_SPI 237 IRQ_TYPE_EDGE_RISING>,
287                     <GIC_SPI 238 IRQ_TYPE_EDGE_RISING>,
288                     <GIC_SPI 239 IRQ_TYPE_EDGE_RISING>,
289                     <GIC_SPI 240 IRQ_TYPE_EDGE_RISING>,
290                     <GIC_SPI 244 IRQ_TYPE_EDGE_RISING>,
291                     <GIC_SPI 245 IRQ_TYPE_EDGE_RISING>,
292                     <GIC_SPI 246 IRQ_TYPE_EDGE_RISING>,
293                     <GIC_SPI 247 IRQ_TYPE_EDGE_RISING>,
294                     <GIC_SPI 248 IRQ_TYPE_EDGE_RISING>,
295                     <GIC_SPI 249 IRQ_TYPE_EDGE_RISING>,
296                     <GIC_SPI 250 IRQ_TYPE_EDGE_RISING>,
297                     <GIC_SPI 251 IRQ_TYPE_EDGE_RISING>,
298                     <GIC_SPI 252 IRQ_TYPE_EDGE_RISING>,
299                     <GIC_SPI 253 IRQ_TYPE_EDGE_RISING>,
300                     <GIC_SPI 257 IRQ_TYPE_EDGE_RISING>,
301                     <GIC_SPI 258 IRQ_TYPE_EDGE_RISING>,
302                     <GIC_SPI 259 IRQ_TYPE_EDGE_RISING>,
303                     <GIC_SPI 260 IRQ_TYPE_EDGE_RISING>,
304                     <GIC_SPI 261 IRQ_TYPE_EDGE_RISING>,
305                     <GIC_SPI 262 IRQ_TYPE_EDGE_RISING>,
306                     <GIC_SPI 263 IRQ_TYPE_EDGE_RISING>,
307                     <GIC_SPI 264 IRQ_TYPE_EDGE_RISING>,
308                     <GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
309                     <GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
310                     <GIC_SPI 270 IRQ_TYPE_EDGE_RISING>,
311                     <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>,
312                     <GIC_SPI 272 IRQ_TYPE_EDGE_RISING>,
313                     <GIC_SPI 273 IRQ_TYPE_EDGE_RISING>,
314                     <GIC_SPI 274 IRQ_TYPE_EDGE_RISING>,
315                     <GIC_SPI 275 IRQ_TYPE_EDGE_RISING>,
316                     <GIC_SPI 276 IRQ_TYPE_EDGE_RISING>,
317                     <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>,
318                     <GIC_SPI 278 IRQ_TYPE_EDGE_RISING>,
319                     <GIC_SPI 279 IRQ_TYPE_EDGE_RISING>,
320                     <GIC_SPI 283 IRQ_TYPE_EDGE_RISING>,
321                     <GIC_SPI 284 IRQ_TYPE_EDGE_RISING>,
322                     <GIC_SPI 285 IRQ_TYPE_EDGE_RISING>,
323                     <GIC_SPI 286 IRQ_TYPE_EDGE_RISING>,
324                     <GIC_SPI 287 IRQ_TYPE_EDGE_RISING>,
325                     <GIC_SPI 288 IRQ_TYPE_EDGE_RISING>,
326                     <GIC_SPI 289 IRQ_TYPE_EDGE_RISING>,
327                     <GIC_SPI 290 IRQ_TYPE_EDGE_RISING>,
328                     <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>,
329                     <GIC_SPI 292 IRQ_TYPE_EDGE_RISING>,
330                     <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>,
331                     <GIC_SPI 297 IRQ_TYPE_EDGE_RISING>,
332                     <GIC_SPI 298 IRQ_TYPE_EDGE_RISING>,
333                     <GIC_SPI 299 IRQ_TYPE_EDGE_RISING>,
334                     <GIC_SPI 300 IRQ_TYPE_EDGE_RISING>,
335                     <GIC_SPI 301 IRQ_TYPE_EDGE_RISING>,
336                     <GIC_SPI 302 IRQ_TYPE_EDGE_RISING>,
337                     <GIC_SPI 303 IRQ_TYPE_EDGE_RISING>,
338                     <GIC_SPI 304 IRQ_TYPE_EDGE_RISING>,
339                     <GIC_SPI 305 IRQ_TYPE_EDGE_RISING>,
340                     <GIC_SPI 309 IRQ_TYPE_EDGE_RISING>,
341                     <GIC_SPI 310 IRQ_TYPE_EDGE_RISING>,
342                     <GIC_SPI 311 IRQ_TYPE_EDGE_RISING>,
343                     <GIC_SPI 312 IRQ_TYPE_EDGE_RISING>,
344                     <GIC_SPI 313 IRQ_TYPE_EDGE_RISING>,
345                     <GIC_SPI 314 IRQ_TYPE_EDGE_RISING>,
346                     <GIC_SPI 315 IRQ_TYPE_EDGE_RISING>,
347                     <GIC_SPI 316 IRQ_TYPE_EDGE_RISING>,
348                     <GIC_SPI 317 IRQ_TYPE_EDGE_RISING>,
349                     <GIC_SPI 318 IRQ_TYPE_EDGE_RISING>;
350        interrupt-names = "ccmpa0", "ccmpb0", "cmpc0", "cmpd0",
351                          "cmpe0", "cmpf0", "adtrga0", "adtrgb0",
352                          "ovf0", "unf0",
353                          "ccmpa1", "ccmpb1", "cmpc1", "cmpd1",
354                          "cmpe1", "cmpf1", "adtrga1", "adtrgb1",
355                          "ovf1", "unf1",
356                          "ccmpa2", "ccmpb2", "cmpc2", "cmpd2",
357                          "cmpe2", "cmpf2", "adtrga2", "adtrgb2",
358                          "ovf2", "unf2",
359                          "ccmpa3", "ccmpb3", "cmpc3", "cmpd3",
360                          "cmpe3", "cmpf3", "adtrga3", "adtrgb3",
361                          "ovf3", "unf3",
362                          "ccmpa4", "ccmpb4", "cmpc4", "cmpd4",
363                          "cmpe4", "cmpf4", "adtrga4", "adtrgb4",
364                          "ovf4", "unf4",
365                          "ccmpa5", "ccmpb5", "cmpc5", "cmpd5",
366                          "cmpe5", "cmpf5", "adtrga5", "adtrgb5",
367                          "ovf5", "unf5",
368                          "ccmpa6", "ccmpb6", "cmpc6", "cmpd6",
369                          "cmpe6", "cmpf6", "adtrga6", "adtrgb6",
370                          "ovf6", "unf6",
371                          "ccmpa7", "ccmpb7", "cmpc7", "cmpd7",
372                          "cmpe7", "cmpf7", "adtrga7", "adtrgb7",
373                          "ovf7", "unf7";
374        clocks = <&cpg CPG_MOD R9A07G044_GPT_PCLK>;
375        power-domains = <&cpg>;
376        resets = <&cpg R9A07G044_GPT_RST_C>;
377        #pwm-cells = <3>;
378    };
~/ Read-only file preview.