RE: [PATCH RFC 2/7] dt-bindings: mfd: rzg2l-mtu3: Document RZ/G2L MTU3 counter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rob,

> Subject: RE: [PATCH RFC 2/7] dt-bindings: mfd: rzg2l-mtu3: Document
> RZ/G2L MTU3 counter
> 
> Hi Rob,
> 
> Thanks for the feedback.
> 
> > Subject: Re: [PATCH RFC 2/7] dt-bindings: mfd: rzg2l-mtu3: Document
> > RZ/G2L MTU3 counter
> >
> > On Thu, Sep 29, 2022 at 11:30:38AM +0100, Biju Das wrote:
> > > Document 16-bit and 32-bit phase counting mode support on RZ/G2L
> > MTU3
> > > IP.
> > >
> > > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> > > ---
> > >  * Updated commit header.
> > > ---
> > >  .../bindings/mfd/renesas,rzg2l-mtu3.yaml      | 35
> > +++++++++++++++++++
> > >  1 file changed, 35 insertions(+)
> > >
> > > diff --git
> > > a/Documentation/devicetree/bindings/mfd/renesas,rzg2l-mtu3.yaml
> > > b/Documentation/devicetree/bindings/mfd/renesas,rzg2l-mtu3.yaml
> > > index c1fae8e8d9f9..c4bcf28623d6 100644
> > > --- a/Documentation/devicetree/bindings/mfd/renesas,rzg2l-
> mtu3.yaml
> > > +++ b/Documentation/devicetree/bindings/mfd/renesas,rzg2l-
> mtu3.yaml
> > > @@ -192,6 +192,37 @@ properties:
> > >    "#size-cells":
> > >      const: 0
> > >
> > > +patternProperties:
> > > +  "^counter@[1-2]+$":
> > > +    type: object
> > > +
> > > +    properties:
> > > +      compatible:
> > > +        const: renesas,rzg2l-mtu3-counter
> > > +
> > > +      reg:
> > > +        description: Identify counter channels.
> > > +        items:
> > > +          enum: [ 1, 2 ]
> > > +
> > > +      renesas,32bit-phase-counting:
> > > +        type: boolean
> > > +        description: Enable 32-bit phase counting mode.
> > > +
> > > +      renesas,ext-input-phase-clock-select:
> > > +        $ref: /schemas/types.yaml#/definitions/uint32
> > > +        enum: [ 0, 1 ]
> > > +        default: 1
> > > +        description: |
> > > +          Selects the external clock pin for phase counting mode.
> > > +            <0> : MTCLKA and MTCLKB are selected for the external
> > phase clock.
> > > +            <1> : MTCLKC and MTCLKD are selected for the external
> > phase clock
> > > +                  (default)
> >
> > Why do these belong in DT?
> 
> Hardware supports 4 pins for phase counting mode,
> 
> MTCLKA Input External clock A input pin (MTU1/MTU2 phase counting mode
> A phase input) MTCLKB Input External clock B input pin (MTU1/MTU2
> phase counting mode B phase input) MTCLKC Input External clock C input
> pin (MTU2 phase counting mode A phase input) MTCLKD Input External
> clock D input pin (MTU2 phase counting mode B phase input)
> 
> For MTU1, it is fixed MTCLKA and MTCLKB.
> But for MTU2, it can be either 0-{ MTCLKA, MTCLKB} or 1 - { MTCLKC ,
> MTCLKD} On reset it is set to { MTCLKC , MTCLKD}.
> 
> If user want to change based on board design, they can use this
> property.
> Otherwise, runtime using sysfs. If sysfs, do we need to document here?

As per [1], it is going to be modelled as 

  counter:
    type: object

    properties:
      compatible:
        const: renesas,rzg2l-mtu3-counter

With the following counters taken care internally. 
 count0 :- MTU1 (16-bit phase counting mode)
 count1 :- MTU2 (16-bit phase counting mode)
 count2 :- MTU1 + MTU2 (32-bit phase counting mode)

and there will be a sysfs property for Selecting the external clock pin for phase counting mode.

Is it ok for you?

[1]
https://lore.kernel.org/linux-renesas-soc/OS0PR01MB59223F69EA3215528519F49086599@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/#m1ee6f933603c7acd480d7652d1ec2e0d9858c842

Cheers,
Biju



> 
> 
> >
> >
> > > +
> > > +    required:
> > > +      - compatible
> > > +      - reg
> > > +
> > >  required:
> > >    - compatible
> > >    - reg
> > > @@ -270,6 +301,10 @@ examples:
> > >        clocks = <&cpg CPG_MOD R9A07G044_MTU_X_MCK_MTU3>;
> > >        power-domains = <&cpg>;
> > >        resets = <&cpg R9A07G044_MTU_X_PRESET_MTU3>;
> > > +      counter@1 {
> > > +        compatible = "renesas,rzg2l-mtu3-counter";
> > > +        reg = <1>;
> > > +      };
> > >      };
> > >
> > >  ...
> > > --
> > > 2.25.1
> > >
> > >




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux