Re: [PATCH 4/7] dt-bindings: Input: introduce new clock vibrator bindings

Brian Masney
2020-01-07T12:03:20Z

On Sun, Jan 05, 2020 at 12:35:33AM -0800, Stephen Boyd wrote:
> Quoting Brian Masney (2019-12-04 16:25:00)
> > +examples:
> > + - |
> > + #include <dt-bindings/clock/qcom,mmcc-msm8974.h>
> > + #include <dt-bindings/gpio/gpio.h>
> > +
> > + vibrator {
> > + compatible = "clk-vibrator";
> > +
> > + vcc-supply = <&pm8941_l19>;
> > +
> > + clocks = <&mmcc CAMSS_GP1_CLK>;
> > + clock-names = "core";
> > + clock-frequency = <24000>;
> > +
> > + enable-gpios = <&msmgpio 60 GPIO_ACTIVE_HIGH>;
> > +
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&vibrator_pin>;
>
> I'm still trying to wrap my head around this. I think we can have a pwm
> provider in a clk controller node (so imagine &mmcc has #pwm-cells) and
> then this 'clk-vibrator' binding wouldn't exist? Instead we would have
> some sort of binding for a device that expects a pwm and whatever else
> is required, like the enable gpio and power supply. Is there an actual
> hardware block that is this way? Does it have a real product id and is
> made by some company? Right now this looks a little too generic to not
> just be a catch-all for something that buzzes.

So have some of the Qualcomm clocks like this one register with both the
clk and the pwm frameworks? I feel that approach would better represent
the hardware in device tree.

If we did that, then the pwm-vibra driver in the input subsystem could
be used.

Brian