[PATCH 1/3] dt-bindings: pwm: Add binding for RPi firmware PWM bus

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Tue Oct 13 11:18:07 EDT 2020


On Tue, Oct 13, 2020 at 02:33:20PM +0200, Nicolas Saenz Julienne wrote:
> On Tue, 2020-10-13 at 14:08 +0200, Uwe Kleine-König wrote:
> > On Tue, Oct 13, 2020 at 12:35:38PM +0200, Nicolas Saenz Julienne wrote:
> > > Hi Uwe, thanks for having a look at this.
> > > 
> > > On Mon, 2020-10-12 at 09:01 +0200, Uwe Kleine-König wrote:
> > > > On Fri, Oct 09, 2020 at 05:30:28PM +0200, Nicolas Saenz Julienne wrote:
> > > > > The PWM bus controlling the fan in RPi's official PoE hat can only be
> > > > > controlled by the board's co-processor.
> > > > > 
> > > > > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne at suse.de>
> > > > > ---
> > > > >  .../arm/bcm/raspberrypi,bcm2835-firmware.yaml | 21 +++++++++++++++++++
> > > > >  .../pwm/raspberrypi,firmware-pwm.h            | 13 ++++++++++++
> > > > >  2 files changed, 34 insertions(+)
> > > > >  create mode 100644 include/dt-bindings/pwm/raspberrypi,firmware-pwm.h
> > > > > 
> > > > > diff --git a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml
> > > > > index a2c63c8b1d10..dcaf00e8602e 100644
> > > > > --- a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml
> > > > > +++ b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml
> > > > > @@ -64,6 +64,22 @@ properties:
> > > > >        - compatible
> > > > >        - "#reset-cells"
> > > > >  
> > > > > +  pwm:
> > > > > +    type: object
> > > > > +
> > > > > +    properties:
> > > > > +      compatible:
> > > > > +        const: raspberrypi,firmware-pwm
> > > > > +
> > > > > +      "#pwm-cells":
> > > > > +        const: 1
> > > > > +        description: >
> > > > > +          The argument is the PWM bus number.
> > > > 
> > > > This is wrong. #pwm-cells specifies the number of "arguments" for
> > > > phandles pointing to this node. And I would prefer this being 2 to match
> > > > the stuff described in the generic pwm binding.
> > > 
> > > I saw buses out there with the same limitation as this one (unable to change
> > > frequency) that used a single cell, so I whent with it. That said I'll be happy
> > > to change it and drop the custom *_xlate() function in benefit of the default
> > > one.
> > 
> > As the first cell after the phandle is for the period and only the
> > second if for flags, this is a poor argument.
> 
> In that case aren't these bindings wrong (and associated xlate() functions)?

Ah, got it wrong, I want #pwm-cells = <3> where the first argument is
the index, the second the period and the third flags.

> google,cros-ec-pwm.yaml:
> [...]
> 	properties:
> 	  compatible:
> 	    const: google,cros-ec-pwm
> 	  "#pwm-cells":
> 	    description: The cell specifies the PWM index.
> 	    const: 1
> [...]
> 
> cirrus,clps711x-pwm.txt:
> [...]
> 	- #pwm-cells: Should be 1. The cell specifies the index of the channel.
> [...]
> 
> Note that pxa-pwm.txt behaves as you comment.

Hmm, this one has a custom .xlate function, too :-\

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20201013/222585a8/attachment.sig>


More information about the linux-arm-kernel mailing list