On Tue, 11 Oct 2022, Biju Das wrote: > > Hi Krzysztof Kozlowski, > > > Subject: Re: [PATCH v4 1/4] dt-bindings: mfd: Document RZ/G2L MTU3a > > bindings > > > > On 10/10/2022 10:52, Biju Das wrote: > > > The RZ/G2L multi-function timer pulse unit 3 (MTU3a) is embedded in > > > the Renesas RZ/G2L family SoC's. It consists of eight 16-bit timer > > > channels and one 32-bit timer channel. It supports the following > > > functions > > > - Counter > > > - Timer > > > - PWM > > > > > > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > > > --- > > > v3->v4: > > > * Dropped counter and pwm compatibeles as they don't have any > > resources. > > > * Made rz-mtu3 as pwm provider. > > > * Updated the example and description. > > > v2->v3: > > > * Dropped counter bindings and integrated with mfd as it has only > > one property. > > > * Removed "#address-cells" and "#size-cells" as it do not have > > children with > > > unit addresses. > > > * Removed quotes from counter and pwm. > > > * Provided full path for pwm bindings. > > > * Updated the example. > > > v1->v2: > > > * Modelled counter and pwm as a single device that handles > > > multiple channels. > > > * Moved counter and pwm bindings to respective subsystems > > > * Dropped 'bindings' from MFD binding title. > > > * Updated the example > > > * Changed the compatible names. > > > --- > > > .../bindings/mfd/renesas,rz-mtu3.yaml | 305 > > ++++++++++++++++++ > > > 1 file changed, 305 insertions(+) > > > create mode 100644 > > > Documentation/devicetree/bindings/mfd/renesas,rz-mtu3.yaml > > > > This should not be in MFD. Just because some device has few features, > > does not mean it should go to MFD... Choose either timer or pwm. > > MFD is for multifunction device. This IP supports multiple functions > like timer, pwm, clock source/events. That is the reason I have added > here. MFD is core which provides register access for client devices. > > For me moving it to pwm or counter is not a big problem. > Why do you think it cannot be MFD? Sorry for jumping in late here. I see this has been resolved. The TL;DR is: if you're not using the MFD Core (and including mfd/core.h), it's not an MFD. You *could* split this up into its component parts, place them into their own subsystems and use an MFD core driver to register them all, but as Thierry says, this is not a hard requirement either. -- Lee Jones [李琼斯]