From patchwork Thu Jun 22 02:04:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Lin, Meng-Bo" X-Patchwork-Id: 111397 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp4771997vqr; Wed, 21 Jun 2023 19:11:50 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4YbUq0UkMktUjcpIdNbAg2mrPlvJ9ocobCMqeboN3WMrDIoGSY1lUsdO0qv4sIlZc74oRl X-Received: by 2002:a17:90a:64c8:b0:25c:2cf:1d20 with SMTP id i8-20020a17090a64c800b0025c02cf1d20mr12962537pjm.4.1687399909994; Wed, 21 Jun 2023 19:11:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687399909; cv=none; d=google.com; s=arc-20160816; b=LmkozLjD8zqqgAl7PyuUmxi9mYKJzePtYAqSySAYO0h578ESyXbqoCpmAU4gJj/Sbi pfzDHIqw3SgqQ0ONmfBgSB8T2cOvi6xIshvhxGmClfn3PxJ+sdmI4xKCwhpDjbNNdsww nJOjnwp8DD9ua6Z6GHIfGCFmlnYgp1EtAvI8ytfUwoD21C9Db1QWFb4YJAOG0lAKm5Ts /DFvvfUv2LpFzNAes5BAiqX4eMpsn8bYFr/ljM2peEDj/6FF2btL1e2mFuVL5HOyD5V+ 16qsxqJKH00goMuymHhV7T7h4tY28WEKAI3pnR0rQBmPSEv2FiFJRgNnT31QU17LVkOU +J9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :feedback-id:references:in-reply-to:message-id:subject:cc:from:to :dkim-signature:date; bh=FCm+LLmKGdTwYZa44TvNge6VPclbxNgOtwQ/JZjfxVg=; b=JXC78GCLNnDDMbI6r0l+ZE2r0hMxswskFA9KsNld9H8bY5B2kmYQGp7gUNsBQRLV+q Ecl1YeVgOfwEiDdlzC2CWl/0F9dwa+Pv/DgJxg+9SaD0+jDmQ9j/jYibMwxDtqLFCWJ/ AP/nSZd+be1B9mF88XCZI9BLh3SVuU27arz3WqxTxQV3honNC5cRPsuZe7Y9GuvMkVa6 Q4XFFElzadHEncYwwpOX5wp06gkqAKUuKQ0LVxdZ6x6EyEx6OSy2fbRQqaLswmebLP27 ePocCL0SHDhLp3qmdtbuncbGGS7uoCEHN7l3jAPMg8dQLhcLbAg9ZWTop2Y15ncP+bF7 y+pA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@protonmail.com header.s=protonmail3 header.b=vQSOl7Ld; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b69-20020a633448000000b0053f4a727dacsi2703266pga.251.2023.06.21.19.11.36; Wed, 21 Jun 2023 19:11:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@protonmail.com header.s=protonmail3 header.b=vQSOl7Ld; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229513AbjFVCFU (ORCPT + 99 others); Wed, 21 Jun 2023 22:05:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34648 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230244AbjFVCFP (ORCPT ); Wed, 21 Jun 2023 22:05:15 -0400 Received: from mail-4325.protonmail.ch (mail-4325.protonmail.ch [185.70.43.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CFDBA1BE5 for ; Wed, 21 Jun 2023 19:05:09 -0700 (PDT) Date: Thu, 22 Jun 2023 02:04:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1687399508; x=1687658708; bh=FCm+LLmKGdTwYZa44TvNge6VPclbxNgOtwQ/JZjfxVg=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=vQSOl7LdADyVUI/tt9Oocyp5M0iV2Byv+zwXhGBqN9bFfpBXGcMtu+5z+/9ucUNbF WhJwUeEQT0KvlaL6H6j1Pjvig2ZdxktOp2lkJ36BGPkgvVCKCsCVxW1+9ZEQLGCGIq 4i3dzWJii+CWxO9Rj2F/bkx4tJ57rzboNw7ggJxWzEFQ1vRAxd5vnijySSbFOSMRkp jvhsD+L+N+3MUchrZPzeEp8mPkozyjyzPQATql86gGtoShf7bIs5J31wf8R0fSaGJL vSV+cVuv+NMDdtBJHbMyE+rcbbiRLOXKOc39JF3uig5wBEFmVMaoYbqk3RGAv1kCYP OVjtWvUwvd8vA== To: linux-kernel@vger.kernel.org From: "Lin, Meng-Bo" Cc: Andy Gross , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Stephan Gerhold , Nikita Travkin , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht Subject: [PATCH 3/8] arm64: dts: qcom: msm8939-samsung-a7: Add touch key Message-ID: <20230622020448.65791-1-linmengbo0689@protonmail.com> In-Reply-To: <20230622020344.65745-1-linmengbo0689@protonmail.com> References: <20230622020344.65745-1-linmengbo0689@protonmail.com> Feedback-ID: 40467236:user:proton MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1769367048396018477?= X-GMAIL-MSGID: =?utf-8?q?1769367048396018477?= Add the CORERIVER TC360 touch key together with the necessary fixed regulator for it. Note that for some reason Samsung decided to connect this to GPIOs where no hardware I2C bus is available, so we need to fall back to software bit-banging using i2c-gpio. Signed-off-by: Lin, Meng-Bo --- .../boot/dts/qcom/msm8939-samsung-a7.dts | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dts b/arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dts index cf2738bc3313..98a2738eb8ea 100644 --- a/arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dts +++ b/arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dts @@ -68,6 +68,63 @@ button-home { linux,code = ; }; }; + + i2c-tkey { + compatible = "i2c-gpio"; + sda-gpios = <&tlmm 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + scl-gpios = <&tlmm 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + + pinctrl-0 = <&tkey_i2c_default>; + pinctrl-names = "default"; + + #address-cells = <1>; + #size-cells = <0>; + + touchkey@20 { + /* Note: Actually an ABOV MCU that implements same interface */ + compatible = "coreriver,tc360-touchkey"; + reg = <0x20>; + + interrupt-parent = <&tlmm>; + interrupts = <20 IRQ_TYPE_EDGE_FALLING>; + + vcc-supply = <®_touch_key>; + vdd-supply = <®_keyled>; + vddio-supply = <&pm8916_l6>; + + linux,keycodes = ; + + pinctrl-0 = <&tkey_default>; + pinctrl-names = "default"; + }; + }; + + reg_keyled: regulator-keyled { + compatible = "regulator-fixed"; + regulator-name = "keyled"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + /* NOTE: On some variants e.g. SM-A700FD it's GPIO 91 */ + gpio = <&tlmm 100 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 = <&tkey_led_en_default>; + pinctrl-names = "default"; + }; + + reg_touch_key: regulator-touch-key { + compatible = "regulator-fixed"; + regulator-name = "touch_key"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + + gpio = <&tlmm 56 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 = <&tkey_en_default>; + pinctrl-names = "default"; + }; }; &blsp_i2c1 { @@ -160,4 +217,32 @@ sdc2_cd_default: sdc2-cd-default-state { drive-strength = <2>; bias-pull-up; }; + + tkey_default: tkey-default-state { + pins = "gpio20"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + tkey_en_default: tkey-en-default-state { + pins = "gpio56"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + tkey_i2c_default: tkey-i2c-default-state { + pins = "gpio16", "gpio17"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; + + tkey_led_en_default: tkey-led-en-default-state { + pins = "gpio100"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; };