xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/renesas,rzg2l-poeg.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1*cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*cb7aa33aSEmmanuel Vadot%YAML 1.2
3*cb7aa33aSEmmanuel Vadot---
4*cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/renesas,rzg2l-poeg.yaml#
5*cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*cb7aa33aSEmmanuel Vadot
7*cb7aa33aSEmmanuel Vadottitle: Renesas RZ/G2L Port Output Enable for GPT (POEG)
8*cb7aa33aSEmmanuel Vadot
9*cb7aa33aSEmmanuel Vadotmaintainers:
10*cb7aa33aSEmmanuel Vadot  - Biju Das <biju.das.jz@bp.renesas.com>
11*cb7aa33aSEmmanuel Vadot
12*cb7aa33aSEmmanuel Vadotdescription: |
13*cb7aa33aSEmmanuel Vadot  The output pins(GTIOCxA and GTIOCxB) of the general PWM timer (GPT) can be
14*cb7aa33aSEmmanuel Vadot  disabled by using the port output enabling function for the GPT (POEG).
15*cb7aa33aSEmmanuel Vadot  Specifically, either of the following ways can be used.
16*cb7aa33aSEmmanuel Vadot  * Input level detection of the GTETRGA to GTETRGD pins.
17*cb7aa33aSEmmanuel Vadot  * Output-disable request from the GPT.
18*cb7aa33aSEmmanuel Vadot  * SSF bit setting(ie, by setting POEGGn.SSF to 1)
19*cb7aa33aSEmmanuel Vadot
20*cb7aa33aSEmmanuel Vadot  The state of the GTIOCxA and the GTIOCxB pins when the output is disabled,
21*cb7aa33aSEmmanuel Vadot  are controlled by the GPT module.
22*cb7aa33aSEmmanuel Vadot
23*cb7aa33aSEmmanuel Vadotproperties:
24*cb7aa33aSEmmanuel Vadot  compatible:
25*cb7aa33aSEmmanuel Vadot    items:
26*cb7aa33aSEmmanuel Vadot      - enum:
27*cb7aa33aSEmmanuel Vadot          - renesas,r9a07g044-poeg  # RZ/G2{L,LC}
28*cb7aa33aSEmmanuel Vadot          - renesas,r9a07g054-poeg  # RZ/V2L
29*cb7aa33aSEmmanuel Vadot      - const: renesas,rzg2l-poeg
30*cb7aa33aSEmmanuel Vadot
31*cb7aa33aSEmmanuel Vadot  reg:
32*cb7aa33aSEmmanuel Vadot    maxItems: 1
33*cb7aa33aSEmmanuel Vadot
34*cb7aa33aSEmmanuel Vadot  interrupts:
35*cb7aa33aSEmmanuel Vadot    maxItems: 1
36*cb7aa33aSEmmanuel Vadot
37*cb7aa33aSEmmanuel Vadot  clocks:
38*cb7aa33aSEmmanuel Vadot    maxItems: 1
39*cb7aa33aSEmmanuel Vadot
40*cb7aa33aSEmmanuel Vadot  power-domains:
41*cb7aa33aSEmmanuel Vadot    maxItems: 1
42*cb7aa33aSEmmanuel Vadot
43*cb7aa33aSEmmanuel Vadot  resets:
44*cb7aa33aSEmmanuel Vadot    maxItems: 1
45*cb7aa33aSEmmanuel Vadot
46*cb7aa33aSEmmanuel Vadot  renesas,gpt:
47*cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
48*cb7aa33aSEmmanuel Vadot    description: phandle to gpt instance that serves the pwm operation.
49*cb7aa33aSEmmanuel Vadot
50*cb7aa33aSEmmanuel Vadot  renesas,poeg-id:
51*cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
52*cb7aa33aSEmmanuel Vadot    enum: [ 0, 1, 2, 3 ]
53*cb7aa33aSEmmanuel Vadot    description: |
54*cb7aa33aSEmmanuel Vadot      POEG group index. Valid values are:
55*cb7aa33aSEmmanuel Vadot        <0> : POEG group A
56*cb7aa33aSEmmanuel Vadot        <1> : POEG group B
57*cb7aa33aSEmmanuel Vadot        <2> : POEG group C
58*cb7aa33aSEmmanuel Vadot        <3> : POEG group D
59*cb7aa33aSEmmanuel Vadot
60*cb7aa33aSEmmanuel Vadotrequired:
61*cb7aa33aSEmmanuel Vadot  - compatible
62*cb7aa33aSEmmanuel Vadot  - reg
63*cb7aa33aSEmmanuel Vadot  - interrupts
64*cb7aa33aSEmmanuel Vadot  - clocks
65*cb7aa33aSEmmanuel Vadot  - power-domains
66*cb7aa33aSEmmanuel Vadot  - resets
67*cb7aa33aSEmmanuel Vadot  - renesas,poeg-id
68*cb7aa33aSEmmanuel Vadot  - renesas,gpt
69*cb7aa33aSEmmanuel Vadot
70*cb7aa33aSEmmanuel VadotadditionalProperties: false
71*cb7aa33aSEmmanuel Vadot
72*cb7aa33aSEmmanuel Vadotexamples:
73*cb7aa33aSEmmanuel Vadot  - |
74*cb7aa33aSEmmanuel Vadot    #include <dt-bindings/clock/r9a07g044-cpg.h>
75*cb7aa33aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
76*cb7aa33aSEmmanuel Vadot
77*cb7aa33aSEmmanuel Vadot    poeggd: poeg@10049400 {
78*cb7aa33aSEmmanuel Vadot        compatible = "renesas,r9a07g044-poeg", "renesas,rzg2l-poeg";
79*cb7aa33aSEmmanuel Vadot        reg = <0x10049400 0x400>;
80*cb7aa33aSEmmanuel Vadot        interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>;
81*cb7aa33aSEmmanuel Vadot        clocks = <&cpg CPG_MOD R9A07G044_POEG_D_CLKP>;
82*cb7aa33aSEmmanuel Vadot        power-domains = <&cpg>;
83*cb7aa33aSEmmanuel Vadot        resets = <&cpg R9A07G044_POEG_D_RST>;
84*cb7aa33aSEmmanuel Vadot        renesas,poeg-id = <3>;
85*cb7aa33aSEmmanuel Vadot        renesas,gpt = <&gpt>;
86*cb7aa33aSEmmanuel Vadot    };
87