* [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios
2020-05-12 22:22 [PATCH v2 0/4] Add support for vibrator motor for TBS A711 Tablet Ondrej Jirman
@ 2020-05-12 22:22 ` Ondrej Jirman
2020-05-12 22:52 ` Dmitry Torokhov
2020-05-12 22:22 ` [PATCH v2 2/4] input: gpio-vibra: Allow to use vcc-supply alone to control the vibrator Ondrej Jirman
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Ondrej Jirman @ 2020-05-12 22:22 UTC (permalink / raw)
To: linux-sunxi, Dmitry Torokhov, Rob Herring, Mark Rutland,
Maxime Ripard, Chen-Yu Tsai
Cc: Ondrej Jirman, Luca Weiss, Tomas Novotny, linux-input,
devicetree, linux-kernel, linux-arm-kernel, Rob Herring
It is possible to turn the motor on/off just by enabling/disabling
the vcc-supply.
Signed-off-by: Ondrej Jirman <megous@megous.com>
Acked-by: Rob Herring <robh@kernel.org>
---
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios
2020-05-12 22:22 ` [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios Ondrej Jirman
@ 2020-05-12 22:52 ` Dmitry Torokhov
2020-05-12 23:05 ` Ondřej Jirman
0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Torokhov @ 2020-05-12 22:52 UTC (permalink / raw)
To: Ondrej Jirman
Cc: linux-sunxi, Rob Herring, Mark Rutland, Maxime Ripard,
Chen-Yu Tsai, Luca Weiss, Tomas Novotny, linux-input, devicetree,
linux-kernel, linux-arm-kernel, Rob Herring
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 <megous@megous.com>
> Acked-by: Rob Herring <robh@kernel.org>
> ---
> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios
2020-05-12 22:52 ` Dmitry Torokhov
@ 2020-05-12 23:05 ` Ondřej Jirman
2020-05-12 23:25 ` Dmitry Torokhov
0 siblings, 1 reply; 8+ messages in thread
From: Ondřej Jirman @ 2020-05-12 23:05 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: linux-sunxi, Rob Herring, Mark Rutland, Maxime Ripard,
Chen-Yu Tsai, Luca Weiss, Tomas Novotny, linux-input, devicetree,
linux-kernel, linux-arm-kernel, Rob Herring
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 <megous@megous.com>
> > Acked-by: Rob Herring <robh@kernel.org>
> > ---
> > 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios
2020-05-12 23:05 ` Ondřej Jirman
@ 2020-05-12 23:25 ` Dmitry Torokhov
0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Torokhov @ 2020-05-12 23:25 UTC (permalink / raw)
To: Ondřej Jirman, linux-sunxi, Rob Herring, Mark Rutland,
Maxime Ripard, Chen-Yu Tsai, Luca Weiss, Tomas Novotny,
linux-input, devicetree, linux-kernel, linux-arm-kernel,
Rob Herring
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 <megous@megous.com>
> > > Acked-by: Rob Herring <robh@kernel.org>
> > > ---
> > > 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 2/4] input: gpio-vibra: Allow to use vcc-supply alone to control the vibrator
2020-05-12 22:22 [PATCH v2 0/4] Add support for vibrator motor for TBS A711 Tablet Ondrej Jirman
2020-05-12 22:22 ` [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios Ondrej Jirman
@ 2020-05-12 22:22 ` Ondrej Jirman
2020-05-12 22:22 ` [PATCH v2 3/4] ARM: dts: sun8i-a83t-tbs-a711: Add support for the vibrator motor Ondrej Jirman
2020-05-12 22:22 ` [PATCH v2 4/4] ARM: dts: sun8i-a83t-tbs-a711: Increase voltage on the vibrator Ondrej Jirman
3 siblings, 0 replies; 8+ messages in thread
From: Ondrej Jirman @ 2020-05-12 22:22 UTC (permalink / raw)
To: linux-sunxi, Dmitry Torokhov, Rob Herring, Mark Rutland,
Maxime Ripard, Chen-Yu Tsai
Cc: Ondrej Jirman, Luca Weiss, Tomas Novotny, linux-input,
devicetree, linux-kernel, linux-arm-kernel
Make enable-gpio optional to allow using this driver with
boards that have vibrator connected to a power supply without
intermediate gpio based enable circuitry.
Signed-off-by: Ondrej Jirman <megous@megous.com>
---
drivers/input/misc/gpio-vibra.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/input/misc/gpio-vibra.c b/drivers/input/misc/gpio-vibra.c
index f79f75595dd7..f11877f04b43 100644
--- a/drivers/input/misc/gpio-vibra.c
+++ b/drivers/input/misc/gpio-vibra.c
@@ -121,7 +121,8 @@ static int gpio_vibrator_probe(struct platform_device *pdev)
return err;
}
- vibrator->gpio = devm_gpiod_get(&pdev->dev, "enable", GPIOD_OUT_LOW);
+ vibrator->gpio = devm_gpiod_get_optional(&pdev->dev, "enable",
+ GPIOD_OUT_LOW);
err = PTR_ERR_OR_ZERO(vibrator->gpio);
if (err) {
if (err != -EPROBE_DEFER)
--
2.26.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/4] ARM: dts: sun8i-a83t-tbs-a711: Add support for the vibrator motor
2020-05-12 22:22 [PATCH v2 0/4] Add support for vibrator motor for TBS A711 Tablet Ondrej Jirman
2020-05-12 22:22 ` [PATCH v2 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios Ondrej Jirman
2020-05-12 22:22 ` [PATCH v2 2/4] input: gpio-vibra: Allow to use vcc-supply alone to control the vibrator Ondrej Jirman
@ 2020-05-12 22:22 ` Ondrej Jirman
2020-05-12 22:22 ` [PATCH v2 4/4] ARM: dts: sun8i-a83t-tbs-a711: Increase voltage on the vibrator Ondrej Jirman
3 siblings, 0 replies; 8+ messages in thread
From: Ondrej Jirman @ 2020-05-12 22:22 UTC (permalink / raw)
To: linux-sunxi, Dmitry Torokhov, Rob Herring, Mark Rutland,
Maxime Ripard, Chen-Yu Tsai
Cc: Ondrej Jirman, Luca Weiss, Tomas Novotny, linux-input,
devicetree, linux-kernel, linux-arm-kernel
The board has a vibrator mottor. Hook it to the input subsystem.
According to the PMIC specification, LDO needs to be enabled (value 0b11)
to achieve the specified max driving current of 150mA. We can't drive
the motor with just GPIO mode.
In GPIO mode the chip is probably just using the regular CMOS logic
output circuitry (typically limited to around 20-35mA, but not specified
in this datasheet).
Signed-off-by: Ondrej Jirman <megous@megous.com>
---
arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
index bfc9bb277a49..a278a1e33930 100644
--- a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
@@ -99,6 +99,11 @@ panel_input: endpoint {
};
};
+ vibrator {
+ compatible = "gpio-vibrator";
+ vcc-supply = <®_ldo_io1>;
+ };
+
reg_gps: reg-gps {
compatible = "regulator-fixed";
regulator-name = "gps";
--
2.26.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 4/4] ARM: dts: sun8i-a83t-tbs-a711: Increase voltage on the vibrator
2020-05-12 22:22 [PATCH v2 0/4] Add support for vibrator motor for TBS A711 Tablet Ondrej Jirman
` (2 preceding siblings ...)
2020-05-12 22:22 ` [PATCH v2 3/4] ARM: dts: sun8i-a83t-tbs-a711: Add support for the vibrator motor Ondrej Jirman
@ 2020-05-12 22:22 ` Ondrej Jirman
3 siblings, 0 replies; 8+ messages in thread
From: Ondrej Jirman @ 2020-05-12 22:22 UTC (permalink / raw)
To: linux-sunxi, Dmitry Torokhov, Rob Herring, Mark Rutland,
Maxime Ripard, Chen-Yu Tsai
Cc: Ondrej Jirman, Luca Weiss, Tomas Novotny, linux-input,
devicetree, linux-kernel, linux-arm-kernel
Vibrator motor is weak at the current voltage. Increase the voltage.
Signed-off-by: Ondrej Jirman <megous@megous.com>
---
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 @@ ®_ldo_io0 {
};
®_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
^ permalink raw reply related [flat|nested] 8+ messages in thread