From patchwork Tue Jul 14 10:23:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Ond=C5=99ej_Jirman?= X-Patchwork-Id: 11662267 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C16E1913 for ; Tue, 14 Jul 2020 10:23:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A9D2F22202 for ; Tue, 14 Jul 2020 10:23:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="nhMYmZ3N" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726041AbgGNKXy (ORCPT ); Tue, 14 Jul 2020 06:23:54 -0400 Received: from vps.xff.cz ([195.181.215.36]:46176 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725952AbgGNKXk (ORCPT ); Tue, 14 Jul 2020 06:23:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1594722218; bh=XAdHa1hy943EkmZdCmSbORjRP3twqUeW2Bi627ZbOdE=; h=From:To:Cc:Subject:Date:References:From; b=nhMYmZ3NN+TH1TCTMYUDj5O0FumKLt1l2sRZrVSf1T/PKmHVj0VSujbZoDG6Mnzyu epKX23Bl09/hGM7mGHoHRf2zR2mgICKTlpt9HfC2CFuFOClBvsyGLM/7e9QCIfZ+lT Jkx51pFi8DTRE998eTRhk91+W9erJZAz9mBg3qMs= From: Ondrej Jirman To: linux-sunxi@googlegroups.com, Dmitry Torokhov , Rob Herring , Mark Rutland , Maxime Ripard , Chen-Yu Tsai Cc: Ondrej Jirman , Luca Weiss , Tomas Novotny , linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Rob Herring Subject: [PATCH v4 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios Date: Tue, 14 Jul 2020 12:23:00 +0200 Message-Id: <20200714102303.3007896-2-megous@megous.com> In-Reply-To: <20200714102303.3007896-1-megous@megous.com> References: <20200714102303.3007896-1-megous@megous.com> MIME-Version: 1.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org It is possible to turn the motor on/off just by enabling/disabling the vcc-supply. Change the binding to require either enable-gpios or vcc-supply or both. Signed-off-by: Ondrej Jirman Reviewed-by: Rob Herring --- Documentation/devicetree/bindings/input/gpio-vibrator.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml index 2384465eaa19..082ac06471db 100644 --- a/Documentation/devicetree/bindings/input/gpio-vibrator.yaml +++ b/Documentation/devicetree/bindings/input/gpio-vibrator.yaml @@ -24,7 +24,12 @@ properties: required: - compatible - - enable-gpios + +anyOf: + - required: + - enable-gpios + - required: + - vcc-supply additionalProperties: false From patchwork Tue Jul 14 10:23:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Ond=C5=99ej_Jirman?= X-Patchwork-Id: 11662261 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4ECF5913 for ; Tue, 14 Jul 2020 10:23:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3460D22202 for ; Tue, 14 Jul 2020 10:23:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="pnnLYhmz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727044AbgGNKXl (ORCPT ); Tue, 14 Jul 2020 06:23:41 -0400 Received: from vps.xff.cz ([195.181.215.36]:46190 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725955AbgGNKXk (ORCPT ); Tue, 14 Jul 2020 06:23:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1594722218; bh=OH0uafqw3wiAiFdr3Xq7r48sm5oT4+qFhajRJjz8lvE=; h=From:To:Cc:Subject:Date:References:From; b=pnnLYhmzNGjWbXY+9HW3ylap0q/+IK6Yc4omVlj019IQFIPEQ4M7tgiMHRu/djUDf NsZQ96KDg/M/7qLavIyoKhJBOLq9bu9NRNTO1LECaT0Yzevypdm3ACS5njsZY7G4Lu 5xCu7ld5J1Eu+ci3PMTvP2fNsqGSRrGw1ZyHrR3Y= From: Ondrej Jirman To: linux-sunxi@googlegroups.com, Dmitry Torokhov , Rob Herring , Mark Rutland , Maxime Ripard , Chen-Yu Tsai Cc: Ondrej Jirman , Luca Weiss , Tomas Novotny , linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 2/4] input: gpio-vibra: Allow to use vcc-supply alone to control the vibrator Date: Tue, 14 Jul 2020 12:23:01 +0200 Message-Id: <20200714102303.3007896-3-megous@megous.com> In-Reply-To: <20200714102303.3007896-1-megous@megous.com> References: <20200714102303.3007896-1-megous@megous.com> MIME-Version: 1.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org 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. Also avoid a case where neither regulator nor enable gpio is specified, and bail out in probe in such a case. Signed-off-by: Ondrej Jirman --- drivers/input/misc/gpio-vibra.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/input/misc/gpio-vibra.c b/drivers/input/misc/gpio-vibra.c index f79f75595dd7..b3bb7e61ed1d 100644 --- a/drivers/input/misc/gpio-vibra.c +++ b/drivers/input/misc/gpio-vibra.c @@ -39,7 +39,7 @@ static int gpio_vibrator_start(struct gpio_vibrator *vibrator) struct device *pdev = vibrator->input->dev.parent; int err; - if (!vibrator->vcc_on) { + if (vibrator->vcc && !vibrator->vcc_on) { err = regulator_enable(vibrator->vcc); if (err) { dev_err(pdev, "failed to enable regulator: %d\n", err); @@ -57,7 +57,7 @@ static void gpio_vibrator_stop(struct gpio_vibrator *vibrator) { gpiod_set_value_cansleep(vibrator->gpio, 0); - if (vibrator->vcc_on) { + if (vibrator->vcc && vibrator->vcc_on) { regulator_disable(vibrator->vcc); vibrator->vcc_on = false; } @@ -112,7 +112,7 @@ static int gpio_vibrator_probe(struct platform_device *pdev) if (!vibrator->input) return -ENOMEM; - vibrator->vcc = devm_regulator_get(&pdev->dev, "vcc"); + vibrator->vcc = devm_regulator_get_optional(&pdev->dev, "vcc"); err = PTR_ERR_OR_ZERO(vibrator->vcc); if (err) { if (err != -EPROBE_DEFER) @@ -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) @@ -130,6 +131,11 @@ static int gpio_vibrator_probe(struct platform_device *pdev) return err; } + if (!vibrator->vcc && !vibrator->gpio) { + dev_err(&pdev->dev, "Neither gpio nor regulator provided\n"); + return -EINVAL; + } + INIT_WORK(&vibrator->play_work, gpio_vibrator_play_work); vibrator->input->name = "gpio-vibrator"; From patchwork Tue Jul 14 10:23:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Ond=C5=99ej_Jirman?= X-Patchwork-Id: 11662265 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 53D7B913 for ; Tue, 14 Jul 2020 10:23:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3B1CB22202 for ; Tue, 14 Jul 2020 10:23:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="DI5/RFmy" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727772AbgGNKXu (ORCPT ); Tue, 14 Jul 2020 06:23:50 -0400 Received: from vps.xff.cz ([195.181.215.36]:46218 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726831AbgGNKXl (ORCPT ); Tue, 14 Jul 2020 06:23:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1594722218; bh=GszcDyWuzeoUstoycZg/BqelDXcPSvv9p22i7U58TFw=; h=From:To:Cc:Subject:Date:References:From; b=DI5/RFmy4sKWgydJvRQnpNDnYGVJuc0b4ZcD1NprlN1NtaamjnbbebHgesCNRgIzW EQm7qHc8pfNEV0ODtUOcKosEPR4FfqVSDOE82cbcbqZwiF4GJYOezAL4rHvx0Eqs/5 S3HhZfmD92Zl8WYYtLARIpAgtvwJDntZk5wngCSY= From: Ondrej Jirman To: linux-sunxi@googlegroups.com, Dmitry Torokhov , Rob Herring , Mark Rutland , Maxime Ripard , Chen-Yu Tsai Cc: Ondrej Jirman , Luca Weiss , Tomas Novotny , linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 3/4] ARM: dts: sun8i-a83t-tbs-a711: Add support for the vibrator motor Date: Tue, 14 Jul 2020 12:23:02 +0200 Message-Id: <20200714102303.3007896-4-megous@megous.com> In-Reply-To: <20200714102303.3007896-1-megous@megous.com> References: <20200714102303.3007896-1-megous@megous.com> MIME-Version: 1.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org The board has a vibrator motor. 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 --- 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"; From patchwork Tue Jul 14 10:23:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Ond=C5=99ej_Jirman?= X-Patchwork-Id: 11662263 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D7FD41392 for ; Tue, 14 Jul 2020 10:23:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C02F222207 for ; Tue, 14 Jul 2020 10:23:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="swDY3YBv" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727108AbgGNKXp (ORCPT ); Tue, 14 Jul 2020 06:23:45 -0400 Received: from vps.xff.cz ([195.181.215.36]:46236 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726855AbgGNKXl (ORCPT ); Tue, 14 Jul 2020 06:23:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1594722219; bh=kwgWUPQHVNL5P7EKwsJlCg0NIkarJ3r+wsUpQ/WUKtQ=; h=From:To:Cc:Subject:Date:References:From; b=swDY3YBvUK6mYkAlSShHBAHZ+32GoWsVFBaPQsqDFRBM+2U/laJLeFlNX0UfHwhPq k61hBzPMR256H6El9IFthM4uEMb+YdUCWidSaZPfbKK7I68qq7WkO6uTC7eDe/P+pS YN673wGkC9/M75ulS6k2Y66pcGsZcaMQ3igyzQn4= From: Ondrej Jirman To: linux-sunxi@googlegroups.com, Dmitry Torokhov , Rob Herring , Mark Rutland , Maxime Ripard , Chen-Yu Tsai Cc: Ondrej Jirman , Luca Weiss , Tomas Novotny , linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 4/4] ARM: dts: sun8i-a83t-tbs-a711: Increase voltage on the vibrator Date: Tue, 14 Jul 2020 12:23:03 +0200 Message-Id: <20200714102303.3007896-5-megous@megous.com> In-Reply-To: <20200714102303.3007896-1-megous@megous.com> References: <20200714102303.3007896-1-megous@megous.com> MIME-Version: 1.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org Vibrator motor is weak at the current voltage. Increase the voltage. Signed-off-by: Ondrej Jirman --- 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"; };