From patchwork Thu Jul 30 13:24:43 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: 11693033 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 6A8B813B1 for ; Thu, 30 Jul 2020 13:25:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5289921744 for ; Thu, 30 Jul 2020 13:25:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="Ko+QELrC" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728999AbgG3NYv (ORCPT ); Thu, 30 Jul 2020 09:24:51 -0400 Received: from vps.xff.cz ([195.181.215.36]:54970 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728737AbgG3NYv (ORCPT ); Thu, 30 Jul 2020 09:24:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1596115489; bh=XAdHa1hy943EkmZdCmSbORjRP3twqUeW2Bi627ZbOdE=; h=From:To:Cc:Subject:Date:References:From; b=Ko+QELrCTZGDxpAlkAuQKsdGtumL1tTsHm8rcsqQQ0UVOMSElkzFgpxpwm1TYnGsm yBzlVPcxR+jsUFH1V4q1Y0WScaGF1OdFYsrk/FQzwU3PiHECyeVV9I3ApmzcNwp/7R ESOR/l/6MrfAe+hr4RTLNZLKylUEF8cyCMi6FC6Y= From: Ondrej Jirman To: 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 v5 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios Date: Thu, 30 Jul 2020 15:24:43 +0200 Message-Id: <20200730132446.3139980-2-megous@megous.com> In-Reply-To: <20200730132446.3139980-1-megous@megous.com> References: <20200730132446.3139980-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 Thu Jul 30 13:24:44 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: 11693031 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 EB9756C1 for ; Thu, 30 Jul 2020 13:25:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CBD9C22B42 for ; Thu, 30 Jul 2020 13:25:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="t06Dc9u5" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729017AbgG3NYv (ORCPT ); Thu, 30 Jul 2020 09:24:51 -0400 Received: from vps.xff.cz ([195.181.215.36]:54988 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728760AbgG3NYv (ORCPT ); Thu, 30 Jul 2020 09:24:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1596115489; bh=z0TyS2KjMxaB3mAxoJny4kSRkgxtN+e0hcvKu1IAJzY=; h=From:To:Cc:Subject:Date:References:From; b=t06Dc9u58MmLXeHH549DDineJPBx7yQrsTBnjwrgH1NrCO1cbOcFa2KMlCQOmHo1/ lu3bYlfcdsHWeSiqgfnU41T9sD117Ai3zVOf+7HSmtjIT1lw0zadas0mAYVlcbCbTY pRjwkwy3ohud/9+d8SYZZWlQLycDMzCcRp5rofzw= From: Ondrej Jirman To: 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 v5 2/4] input: gpio-vibra: Allow to use vcc-supply alone to control the vibrator Date: Thu, 30 Jul 2020 15:24:44 +0200 Message-Id: <20200730132446.3139980-3-megous@megous.com> In-Reply-To: <20200730132446.3139980-1-megous@megous.com> References: <20200730132446.3139980-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 | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/drivers/input/misc/gpio-vibra.c b/drivers/input/misc/gpio-vibra.c index f79f75595dd7..87508c3939e9 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,16 +112,19 @@ 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 == -ENODEV) { + vibrator->vcc = NULL; + } else if (err) { if (err != -EPROBE_DEFER) dev_err(&pdev->dev, "Failed to request regulator: %d\n", err); 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 +133,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 Thu Jul 30 13:24:45 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: 11693029 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 4AF0B6C1 for ; Thu, 30 Jul 2020 13:25:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 29F7321744 for ; Thu, 30 Jul 2020 13:25:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="AnoaAalR" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729058AbgG3NYw (ORCPT ); Thu, 30 Jul 2020 09:24:52 -0400 Received: from vps.xff.cz ([195.181.215.36]:55000 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728815AbgG3NYv (ORCPT ); Thu, 30 Jul 2020 09:24:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1596115489; bh=GszcDyWuzeoUstoycZg/BqelDXcPSvv9p22i7U58TFw=; h=From:To:Cc:Subject:Date:References:From; b=AnoaAalRafFfoeqpuoiljwa/pAKlbdSBSKlvpd9hlsQccnK81K1ERzUqnd02StNxW 5mPmh4/MRLmumDvFau7dVM2dd8wvBUYP19o6VWg9kj2iL7ZbJQd6e1NLAXMq18f0uj hLQ1dSttlE5CzaU6eDjI3S7xlyntpDeUpgegvtqE= From: Ondrej Jirman To: 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 v5 3/4] ARM: dts: sun8i-a83t-tbs-a711: Add support for the vibrator motor Date: Thu, 30 Jul 2020 15:24:45 +0200 Message-Id: <20200730132446.3139980-4-megous@megous.com> In-Reply-To: <20200730132446.3139980-1-megous@megous.com> References: <20200730132446.3139980-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 Thu Jul 30 13:24:46 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: 11693027 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 3536A13B1 for ; Thu, 30 Jul 2020 13:25:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1C75D22B42 for ; Thu, 30 Jul 2020 13:25:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="j3fW8rnN" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729147AbgG3NYx (ORCPT ); Thu, 30 Jul 2020 09:24:53 -0400 Received: from vps.xff.cz ([195.181.215.36]:55014 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728852AbgG3NYw (ORCPT ); Thu, 30 Jul 2020 09:24:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1596115490; bh=kwgWUPQHVNL5P7EKwsJlCg0NIkarJ3r+wsUpQ/WUKtQ=; h=From:To:Cc:Subject:Date:References:From; b=j3fW8rnNRgLJBrdU8YKFuPb0BDRXF6DZp+BBw0feOkeXDPCGSOBjlvnDU/IUNTkWa a55S2ChfFInDfsHqCHz6zQ2kT/TgyEM1o1LXk4H1UGGf9QSZQ9wZlWHqZHSVmlLdpw x3eWK/2LbPy3vgL8/eZLO67UwmVpGD7OknqyubAE= From: Ondrej Jirman To: 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 v5 4/4] ARM: dts: sun8i-a83t-tbs-a711: Increase voltage on the vibrator Date: Thu, 30 Jul 2020 15:24:46 +0200 Message-Id: <20200730132446.3139980-5-megous@megous.com> In-Reply-To: <20200730132446.3139980-1-megous@megous.com> References: <20200730132446.3139980-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"; };