From patchwork Thu Jul 2 11:20:38 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: 11638591 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 848CD174A for ; Thu, 2 Jul 2020 11:26:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 69EC420675 for ; Thu, 2 Jul 2020 11:26:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="a0dq2pCY" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728388AbgGBL0h (ORCPT ); Thu, 2 Jul 2020 07:26:37 -0400 Received: from vps.xff.cz ([195.181.215.36]:43650 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728722AbgGBL0h (ORCPT ); Thu, 2 Jul 2020 07:26:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1593688846; bh=8MnIUEYeY05TGOIDZW8L0F8wsrPnTZc57BEKQ99wvHk=; h=From:To:Cc:Subject:Date:References:From; b=a0dq2pCYV3mUs3Yeu1M/OUxc8DmS96deZ/2XWJiAcHEuU97/RIsIr40o2FiRzBv/J 1ealPmlB2FUd/wBHbrG7mgSqM4PF3xuecbVKRSdLRigSWQd+t10c//KJzLvY/jru7N oAtiR/TY8Pa0KTyZ+IeVua8oVPA30ycbOExsNYE4= 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 v3 1/4] dt-bindings: input: gpio-vibrator: Don't require enable-gpios Date: Thu, 2 Jul 2020 13:20:38 +0200 Message-Id: <20200702112041.1942707-2-megous@megous.com> In-Reply-To: <20200702112041.1942707-1-megous@megous.com> References: <20200702112041.1942707-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 2 11:20:39 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: 11638583 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 D597F739 for ; Thu, 2 Jul 2020 11:26:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BC61C20723 for ; Thu, 2 Jul 2020 11:26:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="Nbj0ty8X" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728805AbgGBL0g (ORCPT ); Thu, 2 Jul 2020 07:26:36 -0400 Received: from vps.xff.cz ([195.181.215.36]:43646 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728710AbgGBL0g (ORCPT ); Thu, 2 Jul 2020 07:26:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1593688846; bh=OH0uafqw3wiAiFdr3Xq7r48sm5oT4+qFhajRJjz8lvE=; h=From:To:Cc:Subject:Date:References:From; b=Nbj0ty8XPOyIPBt+Yk3OnUCyp8Vhl4W9EOcurV0TFZyviKtjf76Lv14HmUxOY34U4 iyCtX5sr8gWGwYgYpzmtjYbFuAQk0RhRsOQFTjy2xiUZswkMLaQeGA+GAdclfBN+5s 0tmbcBzmcczTBAMIiXert+DF/+3/JuX/+Y4KR5Lc= 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 v3 2/4] input: gpio-vibra: Allow to use vcc-supply alone to control the vibrator Date: Thu, 2 Jul 2020 13:20:39 +0200 Message-Id: <20200702112041.1942707-3-megous@megous.com> In-Reply-To: <20200702112041.1942707-1-megous@megous.com> References: <20200702112041.1942707-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 Thu Jul 2 11:20:40 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: 11638587 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 3179C6C1 for ; Thu, 2 Jul 2020 11:26:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0FCB120723 for ; Thu, 2 Jul 2020 11:26:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="GbGC5SiY" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728646AbgGBL0h (ORCPT ); Thu, 2 Jul 2020 07:26:37 -0400 Received: from vps.xff.cz ([195.181.215.36]:43632 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728388AbgGBL0g (ORCPT ); Thu, 2 Jul 2020 07:26:36 -0400 X-Greylist: delayed 348 seconds by postgrey-1.27 at vger.kernel.org; Thu, 02 Jul 2020 07:26:36 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1593688846; bh=D6agZe2CGtfC+lKAcUzuOacBCKlRcJFEZMvubKHRrGU=; h=From:To:Cc:Subject:Date:References:From; b=GbGC5SiYva+WMYj3LVvV+kXj1DRElZq0OH0UaBeOo3dEe9hq8j4Jc8SnSbcug9hNP QB3ZPpi/M7zx36o8EP0tV2WTTcVNl9Khp0VFIPsse19OTeqvHtGEzkL5ZOGvd9alax PK3Filigg41wkBF20gk/PNbtUMiHK5JWHuTeQUpg= 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 v3 3/4] ARM: dts: sun8i-a83t-tbs-a711: Add support for the vibrator motor Date: Thu, 2 Jul 2020 13:20:40 +0200 Message-Id: <20200702112041.1942707-4-megous@megous.com> In-Reply-To: <20200702112041.1942707-1-megous@megous.com> References: <20200702112041.1942707-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 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 --- 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 2 11:20:41 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: 11638589 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 4DD4517CB for ; Thu, 2 Jul 2020 11:26:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 362BE20675 for ; Thu, 2 Jul 2020 11:26:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=megous.com header.i=@megous.com header.b="hMUlCpFc" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728669AbgGBL0h (ORCPT ); Thu, 2 Jul 2020 07:26:37 -0400 Received: from vps.xff.cz ([195.181.215.36]:43636 "EHLO vps.xff.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728646AbgGBL0g (ORCPT ); Thu, 2 Jul 2020 07:26:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megous.com; s=mail; t=1593688847; bh=kwgWUPQHVNL5P7EKwsJlCg0NIkarJ3r+wsUpQ/WUKtQ=; h=From:To:Cc:Subject:Date:References:From; b=hMUlCpFcAbnfx+ZjZRBBrRmbEJyF0KwxvMCu1S2D3kSxndg5t1N5OP+CI7cIMZ7ra 9o3sZ4hIBngB4F7s0ndKjHUSgIKpJprKQO7sr87RKEMnvh9iRRS1YrUZySpLkV7T7s BWIICoFQljF2Fr/S6vV2wV5mrAaiDBSN1qfM+DVY= 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 v3 4/4] ARM: dts: sun8i-a83t-tbs-a711: Increase voltage on the vibrator Date: Thu, 2 Jul 2020 13:20:41 +0200 Message-Id: <20200702112041.1942707-5-megous@megous.com> In-Reply-To: <20200702112041.1942707-1-megous@megous.com> References: <20200702112041.1942707-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"; };