From patchwork Mon May 24 11:06:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 446441 Delivered-To: patch@linaro.org Received: by 2002:a02:7a1b:0:0:0:0:0 with SMTP id a27csp3241220jac; Mon, 24 May 2021 04:07:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyisr88rHDwPJitjJxYSCK5th4s6SWNPTVHzCnMWWvFcTXLHbnjNuwevmW/2HTpPkBS908v X-Received: by 2002:a05:6e02:46:: with SMTP id i6mr15161182ilr.252.1621854439264; Mon, 24 May 2021 04:07:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621854439; cv=none; d=google.com; s=arc-20160816; b=I8Gmr7kbSSYnwMu3RF3EuNdt7oGbduEZfL9h4xEYwbREUu2AV9JVUKyXoiysmBz42/ 45ij03PxLPJl8pskLJvFdi/mhx+/Ahubg1NOE8WR0obUTBDjXjDGYcfzL702eoz2nt1z oAgrmDARcHe7RoQe5PUQ6MKo0e0ZiRCXd1Yp6oPYgQy0ZV0ohWXIsTkaDJIdAM4bXbIW C/6sUlOngaHURiXHhbquUEDtKydD+1vpkiapvCIK6h0FIAnI+WkfLpCJsYoyVAk7jjrh MjRSdNSEaCaNzqFfZVWNDglkmYoXe6QK3K4j3//5n/4q2CDBrM7gNjHVgdDB0TblheSY Ssww== 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=PeNUaTE63OPp+/pR7NHJmfmMhfGonz4QjPJgw0MkZAc=; b=fyV70PJ9rThMM3DOgTcvAFC0IF17f3lZXc/HqLXzhcVuJpHKg8561P/irc1a6nf06w /zQF2k6Vpt4y0QCl4tIAu6eJ9cb/fh0UdTTbcDKRbSAmJKrn6F7srcQH2Eyp7dw2++UB BvnrqcICNWA9rr+qO6v1sC6kObDWOys+lFLH53o0x396gzTDxEieikjihy8sr8urr1zc 7u/sv26ltQDb9JmrXm7aF0WalrXOfrk5ueQDQ2H808Cd84LaYrTFpFnwacToDTx7sSXn m8TdwJ+G1LAGcjGlCTeLFWETXnKMVhrTGpocTHr1d20ntD9mZHskXv58P/iF4MXUBvCE 4CEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=To5iUCbv; 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 j18si13648478jaq.76.2021.05.24.04.07.19; Mon, 24 May 2021 04:07:19 -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=To5iUCbv; 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 S232627AbhEXLIn (ORCPT + 7 others); Mon, 24 May 2021 07:08:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42634 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232513AbhEXLIn (ORCPT ); Mon, 24 May 2021 07:08:43 -0400 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6005EC061756 for ; Mon, 24 May 2021 04:07:14 -0700 (PDT) Received: by mail-wm1-x32d.google.com with SMTP id y184-20020a1ce1c10000b02901769b409001so10774154wmg.3 for ; Mon, 24 May 2021 04:07: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=PeNUaTE63OPp+/pR7NHJmfmMhfGonz4QjPJgw0MkZAc=; b=To5iUCbvc0iB46YPV/5/JxR+nQ9JAWj9JUsjp6O0kyzHG0axIaQe8SYrkTwH3Ic4ME 3oQ2NfgtinD2tECA3TqIAT7Pt+S6ML3VaNM00x1Zx7tAIBqbi9QVqlImudHOzRCXzxX4 m5TH1ZmEvGuMM7Z4w/lLINBSx7pqnYxUB70EtZsNVuRA45SNK4T6OMJyrByPmdC5C+sr D6BMuh7/U8JYNgLKjeFZo+lOrpdzx4G6+hGL27kF9g0fJx7MhBUSkfyD12Rk0ZFA2eK7 0etiG8NcxsIPB+qsHs0fVMYhVpZiuoA6tcsapwrgIYVQnT38l44tH/34kKFqVldPv63I 6P6g== 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=PeNUaTE63OPp+/pR7NHJmfmMhfGonz4QjPJgw0MkZAc=; b=JG8m2ASjKc38u9Yy9vrWBxRUvAKh25IUA+YxGui3d3MyaYNk8aSUpfL2W5XrWYuoW+ +VM3FgRX8eDg2RO5O7fhC75gy6CY6MyupjhjUN3J0Lj0/U4N3qxEfG/TeQL3O3C3TN0I FeQNwUdPvJbk/E7qcWHdHpIYGeGi1QINnyCfXc1vfW4dD+REDL94YA7BqGWpTx7Z48KG 2MmwYy+DBti0APnDS3yReBD+LfEFXO5SBaN9TNZ55icX4aTkoMPs5B0B3hUwBZC1OdXN jBvChaRfU7lv90WFuuMNmRazuGIZ/owga0bmim6cQUJdAAmudQ9Y7w2JgjxWVfYk7+4q ZwQw== X-Gm-Message-State: AOAM531C5R+YacezwOGu5amvgHF5ylBEJcajTRfTNUor1BPN8qgt8sVU EbMArJyQBfPNdkDb8O99lWn1Yg== X-Received: by 2002:a05:600c:2f17:: with SMTP id r23mr18652643wmn.94.1621854432855; Mon, 24 May 2021 04:07: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 x4sm7590978wmj.17.2021.05.24.04.07.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 May 2021 04:07: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, Srinivas Kandagatla Subject: [PATCH v2 0/4] ASoC: codecs: wcd934x: add Headset and button detection support Date: Mon, 24 May 2021 12:06:56 +0100 Message-Id: <20210524110700.27077-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 Changes since v1: - updated buttons-vthreshold bindings from review comments for wcd938x 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 | 30 + include/linux/mfd/wcd934x/registers.h | 57 + sound/soc/codecs/Kconfig | 4 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/wcd-mbhc-v2.c | 1468 +++++++++++++++++ sound/soc/codecs/wcd-mbhc-v2.h | 340 ++++ sound/soc/codecs/wcd934x.c | 884 +++++++++- sound/soc/qcom/sdm845.c | 8 + 8 files changed, 2778 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