2020-05-12 22:24:54

by Ondřej Jirman

[permalink] [raw]
Subject: [PATCH v2 0/4] Add support for vibrator motor for TBS A711 Tablet

The tablet has a vibrator motor. This patch series exposes it via
input subsystem (EV_FF).

I'd like to ask input maintainers to take the patches 1 and 2.
Patches 3 and 4 should go via the sunxi tree.

The change to the vibrator driver is meant to enable toggling the
vibrator motor just via a power supply itself. There's not additional
gpio driven switch on this tablet between the power supply for the
motor and the motor.

Please take a look.

Changes in v2:
- Added DT ack tag
- Add more information to the commit log (re use of LDO for the power)


thank you and regards,
Ondrej Jirman

Ondrej Jirman (4):
dt-bindings: input: gpio-vibrator: Don't require enable-gpios
input: gpio-vibra: Allow to use vcc-supply alone to control the
vibrator
ARM: dts: sun8i-a83t-tbs-a711: Add support for the vibrator motor
ARM: dts: sun8i-a83t-tbs-a711: Increase voltage on the vibrator

.../devicetree/bindings/input/gpio-vibrator.yaml | 1 -
arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts | 9 +++++++--
drivers/input/misc/gpio-vibra.c | 3 ++-
3 files changed, 9 insertions(+), 4 deletions(-)

--
2.26.2


2020-05-12 22:26:19

by Ondřej Jirman

[permalink] [raw]
Subject: [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios

It is possible to turn the motor on/off just by enabling/disabling
the vcc-supply.

Signed-off-by: Ondrej Jirman <[email protected]>
Acked-by: Rob Herring <[email protected]>
---
Documentation/devicetree/bindings/input/gpio-vibrator.yaml | 1 -
1 file changed, 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
index 2384465eaa19..c700b640bd53 100644
--- a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
+++ b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
@@ -24,7 +24,6 @@ properties:

required:
- compatible
- - enable-gpios

additionalProperties: false

--
2.26.2

2020-05-12 22:26:52

by Ondřej Jirman

[permalink] [raw]
Subject: [PATCH v2 4/4] ARM: dts: sun8i-a83t-tbs-a711: Increase voltage on the vibrator

Vibrator motor is weak at the current voltage. Increase the voltage.

Signed-off-by: Ondrej Jirman <[email protected]>
---
arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
index a278a1e33930..1e086e979348 100644
--- a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
@@ -434,8 +434,8 @@ &reg_ldo_io0 {
};

&reg_ldo_io1 {
- regulator-min-microvolt = <3100000>;
- regulator-max-microvolt = <3100000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
regulator-name = "vcc-vb";
status = "okay";
};
--
2.26.2

2020-05-12 22:54:02

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios

On Wed, May 13, 2020 at 12:22:02AM +0200, Ondrej Jirman wrote:
> It is possible to turn the motor on/off just by enabling/disabling
> the vcc-supply.
>
> Signed-off-by: Ondrej Jirman <[email protected]>
> Acked-by: Rob Herring <[email protected]>
> ---
> Documentation/devicetree/bindings/input/gpio-vibrator.yaml | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
> index 2384465eaa19..c700b640bd53 100644
> --- a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
> +++ b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
> @@ -24,7 +24,6 @@ properties:
>
> required:
> - compatible
> - - enable-gpios

Hmm we need at least one of the 2 (gpio and supply). Should we encode it
in the binding?

Also, in the dirver code, I guess we need to switch to have regulator
optional (so we are not given the dummy one) and bail if neither
regulator nor GPIO is found.

Thanks.

--
Dmitry

2020-05-12 23:10:20

by Ondřej Jirman

[permalink] [raw]
Subject: Re: [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios

On Tue, May 12, 2020 at 03:52:12PM -0700, Dmitry Torokhov wrote:
> On Wed, May 13, 2020 at 12:22:02AM +0200, Ondrej Jirman wrote:
> > It is possible to turn the motor on/off just by enabling/disabling
> > the vcc-supply.
> >
> > Signed-off-by: Ondrej Jirman <[email protected]>
> > Acked-by: Rob Herring <[email protected]>
> > ---
> > Documentation/devicetree/bindings/input/gpio-vibrator.yaml | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
> > index 2384465eaa19..c700b640bd53 100644
> > --- a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
> > +++ b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
> > @@ -24,7 +24,6 @@ properties:
> >
> > required:
> > - compatible
> > - - enable-gpios
>
> Hmm we need at least one of the 2 (gpio and supply). Should we encode it
> in the binding?

Not sure how to encode either one or the other property being required, but
not both at once.

Maybe I can add a supply-vibrator compatible to the driver and binding and
make requirements dependent on the compatible?

> Also, in the dirver code, I guess we need to switch to have regulator
> optional (so we are not given the dummy one) and bail if neither
> regulator nor GPIO is found.

Though nothing bad will happen in the driver if binding will lack both
of these. The driver will just not control any HW, so at least it's
failsafe as is.

regards,
o.

> Thanks.
>
> --
> Dmitry

2020-05-12 23:29:20

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios

On Wed, May 13, 2020 at 01:05:57AM +0200, Ondřej Jirman wrote:
> On Tue, May 12, 2020 at 03:52:12PM -0700, Dmitry Torokhov wrote:
> > On Wed, May 13, 2020 at 12:22:02AM +0200, Ondrej Jirman wrote:
> > > It is possible to turn the motor on/off just by enabling/disabling
> > > the vcc-supply.
> > >
> > > Signed-off-by: Ondrej Jirman <[email protected]>
> > > Acked-by: Rob Herring <[email protected]>
> > > ---
> > > Documentation/devicetree/bindings/input/gpio-vibrator.yaml | 1 -
> > > 1 file changed, 1 deletion(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
> > > index 2384465eaa19..c700b640bd53 100644
> > > --- a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
> > > +++ b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml
> > > @@ -24,7 +24,6 @@ properties:
> > >
> > > required:
> > > - compatible
> > > - - enable-gpios
> >
> > Hmm we need at least one of the 2 (gpio and supply). Should we encode it
> > in the binding?
>
> Not sure how to encode either one or the other property being required, but
> not both at once.
>
> Maybe I can add a supply-vibrator compatible to the driver and binding and
> make requirements dependent on the compatible?

Rob is our bindings overlord... I'll defer to him here.

Thanks.

--
Dmitry