From patchwork Mon Sep 17 00:57:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 146804 Delivered-To: patch@linaro.org Received: by 2002:a2e:1648:0:0:0:0:0 with SMTP id 8-v6csp3196767ljw; Sun, 16 Sep 2018 17:57:59 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZjyFYNtegiT+qJcenWRrt+42+a9PwuqEu9Dc/D+S1URuR7uT8hYc30j28Wc9Az9HJoULsV X-Received: by 2002:a65:6104:: with SMTP id z4-v6mr20477144pgu.361.1537145879431; Sun, 16 Sep 2018 17:57:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537145879; cv=none; d=google.com; s=arc-20160816; b=gjH9AuTwcmDi9/1xjzMce5IbrKzrhI7m0HvZX6+yJg6j/2gqTkZzihMsvMKWRgLicT vWZMAHNIhgbxMRG2w72NfBfohcFNLCOau28RSP2OS8CmyN8ufQgDwtQdQfsbUMF7J/4N Tn1Tk0texysCbCyJ/9q+9zl8hFBbj7YpH295gUT+fMv/rOyFTkkKI6ex32/1/Zm8ckpE +r820bS1oA31oKvlpsIIcd6dRwhc+QdFhZzSr6RasVmoojML3nkxpiRM58COeA3qL/7B Nk4gTcWCU/CchgfF+AFfLRlatCBepLTZa1dOcR1QiEB/IvQAXUo1yp3XVpv5L36oqdHd LC3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=fmaXJem1u+BE9/4vZE6vncVsavp9C4jAYD9xOClR9Ws=; b=gn6GIqnYjtafVcbqAuIB5uEoHxZICofzP9bgWe7Kpouk2VoQKnlQnphAOmlAYiXbtI MZ9uKhapk1WVbhnFAItpul2zVMeicj1PNR8GHb1Cd0gf50UZxWWDfM56psOQXe7j6Eud LeCFzwTES3mz3IowLl91TUI4v59+se2TLfyjILxM/4rBuVahkjRkKpwt6oI3v2Cns5it HIn/B2AUngEwT8sZPHe9LuPg2bBfBKlGu7msu5vt/DNtOp1IBBZcP6LeQVp0x11abZyi CF/67uHT/iHhxpykBcML0/rixOxEJJYzLHs2xalQECe+BE5QsuWPm+tMMBiG2IErSviD wYuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=j55spvxV; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id k33-v6si13067028pgm.379.2018.09.16.17.57.58; Sun, 16 Sep 2018 17:57:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=j55spvxV; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 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 S1727130AbeIQGWu (ORCPT + 6 others); Mon, 17 Sep 2018 02:22:50 -0400 Received: from mail-it0-f67.google.com ([209.85.214.67]:52102 "EHLO mail-it0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726889AbeIQGWu (ORCPT ); Mon, 17 Sep 2018 02:22:50 -0400 Received: by mail-it0-f67.google.com with SMTP id e14-v6so9072190itf.1 for ; Sun, 16 Sep 2018 17:57:57 -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; bh=fmaXJem1u+BE9/4vZE6vncVsavp9C4jAYD9xOClR9Ws=; b=j55spvxVALibpBjYKZ95Xh7msT3+fcBOUwE0xIpQQRNAl65DwFA9J+6Hq/horkzlJq u+XdmzsBuVcnJfAvdnVFJ/d1vsbMb+OS6PN87paPYFMax4oJ6RTFCcKULJMnKUc9hpBe jS8tCzocYnhkd3KXu/j/hNSHSOiwGA3N1b62o= 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; bh=fmaXJem1u+BE9/4vZE6vncVsavp9C4jAYD9xOClR9Ws=; b=jndQFcdVjf12L7Z4VCJxAzOAYae9imPi3TomHZ87pTzjLJzMOiVXI5F6sc4zgCOYRT BQfn/7uSTCPH9ktfRCYeMLOZ73+P5XneokWQwa/3J4SdD6uraKg1jg3Ydspj+u4PXosZ Xqo07bxwMjTdHEccc3KznLXSU+m0E1DRWPvXJ7XXs9Zhfon/J8nSwOLj0rUGpGzI3FAR QBZssVhbkar4vYWJG1WuHTme84SRtT34dt/rCH2DmIGg4PrHQSJF9vG0bjdFoXYxU4I6 NFmTgkbtsiRLb5XPAO9izX6nMc90rdTVfK38dNqIQN4KBhFbdFJMvgqVn4+ZknoF9bYI HC6Q== X-Gm-Message-State: APzg51CU4bKCl+Tm+V2HYHOFCnsNYpr9OWuJhN/cOwVIdCWooptIasnj 73S1PNbcl7yiTXtWThr83ZS7LT4A3js= X-Received: by 2002:a24:bcc4:: with SMTP id n187-v6mr10370044ite.144.1537145876925; Sun, 16 Sep 2018 17:57:56 -0700 (PDT) Received: from localhost.localdomain ([209.82.80.116]) by smtp.gmail.com with ESMTPSA id f64-v6sm829972ite.4.2018.09.16.17.57.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 16 Sep 2018 17:57:56 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: lee.jones@linaro.org, robh+dt@kernel.org, broonie@kernel.org Cc: mark.rutland@arm.com, lgirdwood@gmail.com, bgoswami@codeaurora.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, vkoul@kernel.org, alsa-devel@alsa-project.org, Srinivas Kandagatla Subject: [PATCH v4 00/14] ASoC: Add support to WCD9335 Audio Codec Date: Sun, 16 Sep 2018 17:57:13 -0700 Message-Id: <20180917005727.32728-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.9.3 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Srinivas Kandagatla Thankyou for reviewing v3 patchset, here is v4 addressing comments from v3. Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC. It is integrated in multiple Qualcomm SoCs like: MSM8996, MSM8976, and MSM8956 chipsets. WCD9335 had multiple functional blocks, like: Soundwire controller, interrupt mux, pin controller, Audio codec, MBHC, MAD(Mic activity Detection), Ultrasonic proximity and pen detection, Battery-voltage monitoring and Codec processing engine. Currently this patchset has been only tested with SLIMbus interface due to hardware avaiablity, but it can be easily made to work with both SLIMbus and I2C/I2S. This patchset adds very basic playback and capture support witout much fancy features. New features will be added once the basic support is in. This patchset is tested on top of linux-next on DB820c for both playback , capture paths and MBHC. Some parts of the code has been inherited from Qualcomm andriod kernel, so credits to various authors. WCD9335 can be interfaced via I2S/I2C or SLIMbus. Here is my test branch incase someone want to try this out: https://git.linaro.org/people/srinivas.kandagatla/linux.git/log/?h=wcd9335 Thanks, Srini Changes since v3 (https://lkml.org/lkml/2018/9/4/318/) - Updated mbhc dt bindings according to Robs Comments. - Added a cleanup patch to common up fixups. - Addressed various comments on mfd driver by Lee Jones. - Added acks on bindings and irq support. - fixed module loading Srinivas Kandagatla (14): ASoC: dt-bindings: update wcd9335 bindings. mfd: wcd9335: add support to wcd9335 core mfd: wcd9335: add wcd irq support ASoC: wcd9335: add support to wcd9335 codec ASoC: wcd9335: add CLASS-H Controller support ASoC: wcd9335: add basic controls ASoC: wcd9335: add playback dapm widgets ASoC: wcd9335: add capture dapm widgets ASoC: wcd9335: add audio routings ASoC: dt-bindings: Add WCD9335 MBHC specific properties ASoC: wcd9335: add mbhc support ASoC: apq8096: add slim support ASoC: apq8096: add headset JACK support ASoC: qcom: common: move be_hw_fixup to common .../devicetree/bindings/sound/qcom,wcd9335.txt | 30 +- drivers/mfd/Kconfig | 13 + drivers/mfd/Makefile | 4 + drivers/mfd/wcd9335-core.c | 394 ++ include/linux/mfd/wcd9335/registers.h | 640 +++ include/linux/mfd/wcd9335/wcd9335.h | 81 + sound/soc/codecs/Kconfig | 5 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/wcd-clsh-v2.c | 577 +++ sound/soc/codecs/wcd-clsh-v2.h | 49 + sound/soc/codecs/wcd9335.c | 5241 ++++++++++++++++++++ sound/soc/qcom/apq8096.c | 128 +- sound/soc/qcom/common.c | 17 + sound/soc/qcom/sdm845.c | 22 +- 14 files changed, 7168 insertions(+), 35 deletions(-) create mode 100644 drivers/mfd/wcd9335-core.c create mode 100644 include/linux/mfd/wcd9335/registers.h create mode 100644 include/linux/mfd/wcd9335/wcd9335.h create mode 100644 sound/soc/codecs/wcd-clsh-v2.c create mode 100644 sound/soc/codecs/wcd-clsh-v2.h create mode 100644 sound/soc/codecs/wcd9335.c -- 2.9.3