From patchwork Mon May 10 10:11:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 433058 Delivered-To: patch@linaro.org Received: by 2002:a02:c901:0:0:0:0:0 with SMTP id t1csp2691741jao; Mon, 10 May 2021 03:12:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwucrynnbvmqNrGeYdV5RubakbojjptvhPZWqZ4tHb+TycU5iz3ZNqAQCFZ/hq1/ZcvDWx7 X-Received: by 2002:aa7:cf07:: with SMTP id a7mr28433804edy.261.1620641543445; Mon, 10 May 2021 03:12:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620641543; cv=none; d=google.com; s=arc-20160816; b=R0ibvSLW2OGoFkbFUCScRlAfRnug2Asf3tVnXHOikFyRe3Z341pgGdHQfirBh2JX3l r1/4r86jHdu2S7pgUKy8DJX8VlEO5qIbQUQ0NG5Y/XHtJguCcdEUnxp87yx6dK0GqkkE POdbaRKrsGi2qpMHinnUgBanIoe3IjCIhwdmdot0XAYXbkMT068xFG8zzSG4Tl+WKAfp BHVpwbjURNF0HOj2xpUn7G+rshhVrgXyk1xoew6m/MfcMP2owbK17lkgtXeRkOwL+bkf G1euG1/EOOJjrgINBBYqhLqjCHhL4mZFj3AHyAFjbHfNGgYa+yEE8hc4MhYbZ/WFx772 pFVQ== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=Hku4IdX9XsHriOdVJku9o6pIDQa3wzykYMRftLXwsqA=; b=kH+6zG++KFiRX3HyIIeJJLCyEqpSLOZJRcrfeguIsWjE1Jk/jdFqGVWdLOEoGTTrqb z1BlELWPXsQhJxxzMiqJOgLonvaHLf97DZO5vf5sTKTuyDuW7WUEatb7wy8ARG5tX6fQ S1ZWhg+qJchAvQFRWoKEbtOUFV9LBvqO741LIHZDZPJfgdi6QXmRq+Xn99uTQCS3ZkRv dI3MdLHJmTB/9zJpCGvnq+t9Xev2bVr5V280Eo/j8gbbV92Wt2ODDwpcywouDHaEePUc 4SNjJoWOPUlfkpcar571S/wBmSL4xzCEo8RXRQUdZQAxR0oCwtf1qUAfe5Evsgo0uyji 4UPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OOjlV0Qh; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i9si12700108ejh.439.2021.05.10.03.12.23; Mon, 10 May 2021 03:12:23 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OOjlV0Qh; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230165AbhEJKNU (ORCPT + 7 others); Mon, 10 May 2021 06:13:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230133AbhEJKNT (ORCPT ); Mon, 10 May 2021 06:13:19 -0400 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5D40CC06175F for ; Mon, 10 May 2021 03:12:14 -0700 (PDT) Received: by mail-wm1-x333.google.com with SMTP id o6-20020a05600c4fc6b029015ec06d5269so2165230wmq.0 for ; Mon, 10 May 2021 03:12:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Hku4IdX9XsHriOdVJku9o6pIDQa3wzykYMRftLXwsqA=; b=OOjlV0QhNCDkbKahaFUChHiKPQ3Mfv9KIuZb0iUPiJHQZ0KzHHgP/3Qia91d0h2nwP t2RzZm7GiXLLrJOCRWT18mL6OrsUP3uqCs3M0dYeipPcjgWRJgnziZ8qa72WP43wLKZ5 SBVrsP4Sd6WWhY6yGk6IdhbsC2fkNFl2HkoGA8m+dW0jWl57k7lYFvIxvRw2RZYLpjnj lp2dLaRQzFWCd9D+CdWeArEUHCKRtbvZ1GH8s3Fy9Ql3zhDaRzGtk7HHuQmr7yE9iqBw RcWd6dh0DbvJuyVkt7gQSwcTlD+P9kZF521nJWdAPr420mci8gfgcTfJbyvrdMpRr+u1 rEGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Hku4IdX9XsHriOdVJku9o6pIDQa3wzykYMRftLXwsqA=; b=B3lLW4FEtxNdKxb3alCAzsPpJiBEgQONtF0uCstUyLUx/0WNE68g58RrMI0O5JNogb aefySdxpcNmauF0f6CB/M1Rw8uNrivSBbn/UiSqIe1s2ApZS/Ye31oKTltMRcpfuGXHb ALrvcJfq78Mk5RSkNZ4hHuR5wEzFiSN7eY6mrcpNMuteRCRWcJRNJi+qAu9RZf2Oh2YH uFuTpwUXB+txpgEv+SPWoZwEtdhbZLD/XQuJvuBXR2aMTj3iUKLoYeSxC5+Bb5b9XOj7 e0V9rmpCYCXeg2vGd5dApI1L3AJN82/utjJi2LVsr25aEKeVniIsdxY7scu3bdm/5bjD UzHA== X-Gm-Message-State: AOAM5306sLDZckZJPo0ztIhHabjuPx/LmOJv7CVWmOun3woMzgow6iEP 3QwlAubdALqsMvWqFLsLz4asyA== X-Received: by 2002:a1c:6757:: with SMTP id b84mr25395424wmc.58.1620641532999; Mon, 10 May 2021 03:12:12 -0700 (PDT) Received: from srini-hackbox.lan (cpc86377-aztw32-2-0-cust226.18-1.cable.virginm.net. [92.233.226.227]) by smtp.gmail.com with ESMTPSA id b7sm22072109wri.83.2021.05.10.03.12.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 03:12:12 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: robh@kernel.org, devicetree@vger.kernel.org, perex@perex.cz, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, lgirdwood@gmail.com, lee.jones@linaro.org, Srinivas Kandagatla Subject: [PATCH 0/4] ASoC: codecs: wcd934x: add Headset and button detection support Date: Mon, 10 May 2021 11:11:57 +0100 Message-Id: <20210510101201.7281-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This patchset adds support to MBHC(Multi Button Headset Control) block found in Qualcomm WCD codecs. MBHC support headset type detection, both Mechanical and electrical insert/removal detection along with 8 buttons detection, Over current interrupts on HPHL/R, Impedance Measurements on HPHL/R. Eventhough MBHC block supports things like OverCurrent detection, Currently its reported as a kernel debug message. Should this be reported as an uevent to userspace? like the way USB reports? Any suggestions? First patch adds a common mbhc driver and the second one wcd934x specific driver changes along with sdm845 soundcard related changes. Common wcd-mbhc-v2 driver should be reusable across multiple codecs like WCD9335, WCD934x, WCD937x and WCD938x. Most of the work is derived from downstream Qualcomm kernels. Credits to various Qualcomm authors from Patrick Lai's team who have contributed to this code. This patchset thanks, srini Srinivas Kandagatla (4): ASoC: dt-bindings: wcd934x: add bindings for Headset Button detection ASoC: codecs: wcd: add multi button Headset detection support ASoC: codecs: wcd934x: add mbhc support ASoC: qcom: sdm845: add jack support for WCD934x .../bindings/sound/qcom,wcd934x.yaml | 65 + include/linux/mfd/wcd934x/registers.h | 57 + sound/soc/codecs/Kconfig | 4 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/wcd-mbhc-v2.c | 1463 +++++++++++++++++ sound/soc/codecs/wcd-mbhc-v2.h | 340 ++++ sound/soc/codecs/wcd934x.c | 885 +++++++++- sound/soc/qcom/sdm845.c | 8 + 8 files changed, 2809 insertions(+), 15 deletions(-) create mode 100644 sound/soc/codecs/wcd-mbhc-v2.c create mode 100644 sound/soc/codecs/wcd-mbhc-v2.h -- 2.21.0