162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/renesas,rzg2l-poeg.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Renesas RZ/G2L Port Output Enable for GPT (POEG)
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Biju Das <biju.das.jz@bp.renesas.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The output pins(GTIOCxA and GTIOCxB) of the general PWM timer (GPT) can be
1462306a36Sopenharmony_ci  disabled by using the port output enabling function for the GPT (POEG).
1562306a36Sopenharmony_ci  Specifically, either of the following ways can be used.
1662306a36Sopenharmony_ci  * Input level detection of the GTETRGA to GTETRGD pins.
1762306a36Sopenharmony_ci  * Output-disable request from the GPT.
1862306a36Sopenharmony_ci  * SSF bit setting(ie, by setting POEGGn.SSF to 1)
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci  The state of the GTIOCxA and the GTIOCxB pins when the output is disabled,
2162306a36Sopenharmony_ci  are controlled by the GPT module.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciproperties:
2462306a36Sopenharmony_ci  compatible:
2562306a36Sopenharmony_ci    items:
2662306a36Sopenharmony_ci      - enum:
2762306a36Sopenharmony_ci          - renesas,r9a07g044-poeg  # RZ/G2{L,LC}
2862306a36Sopenharmony_ci          - renesas,r9a07g054-poeg  # RZ/V2L
2962306a36Sopenharmony_ci      - const: renesas,rzg2l-poeg
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  reg:
3262306a36Sopenharmony_ci    maxItems: 1
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  interrupts:
3562306a36Sopenharmony_ci    maxItems: 1
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  clocks:
3862306a36Sopenharmony_ci    maxItems: 1
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  power-domains:
4162306a36Sopenharmony_ci    maxItems: 1
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci  resets:
4462306a36Sopenharmony_ci    maxItems: 1
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci  renesas,gpt:
4762306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
4862306a36Sopenharmony_ci    description: phandle to gpt instance that serves the pwm operation.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci  renesas,poeg-id:
5162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
5262306a36Sopenharmony_ci    enum: [ 0, 1, 2, 3 ]
5362306a36Sopenharmony_ci    description: |
5462306a36Sopenharmony_ci      POEG group index. Valid values are:
5562306a36Sopenharmony_ci        <0> : POEG group A
5662306a36Sopenharmony_ci        <1> : POEG group B
5762306a36Sopenharmony_ci        <2> : POEG group C
5862306a36Sopenharmony_ci        <3> : POEG group D
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_cirequired:
6162306a36Sopenharmony_ci  - compatible
6262306a36Sopenharmony_ci  - reg
6362306a36Sopenharmony_ci  - interrupts
6462306a36Sopenharmony_ci  - clocks
6562306a36Sopenharmony_ci  - power-domains
6662306a36Sopenharmony_ci  - resets
6762306a36Sopenharmony_ci  - renesas,poeg-id
6862306a36Sopenharmony_ci  - renesas,gpt
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciadditionalProperties: false
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ciexamples:
7362306a36Sopenharmony_ci  - |
7462306a36Sopenharmony_ci    #include <dt-bindings/clock/r9a07g044-cpg.h>
7562306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci    poeggd: poeg@10049400 {
7862306a36Sopenharmony_ci        compatible = "renesas,r9a07g044-poeg", "renesas,rzg2l-poeg";
7962306a36Sopenharmony_ci        reg = <0x10049400 0x400>;
8062306a36Sopenharmony_ci        interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>;
8162306a36Sopenharmony_ci        clocks = <&cpg CPG_MOD R9A07G044_POEG_D_CLKP>;
8262306a36Sopenharmony_ci        power-domains = <&cpg>;
8362306a36Sopenharmony_ci        resets = <&cpg R9A07G044_POEG_D_RST>;
8462306a36Sopenharmony_ci        renesas,poeg-id = <3>;
8562306a36Sopenharmony_ci        renesas,gpt = <&gpt>;
8662306a36Sopenharmony_ci    };
87