From patchwork Tue Sep 4 10:24:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 145886 Delivered-To: patch@linaro.org Received: by 2002:a2e:1648:0:0:0:0:0 with SMTP id 8-v6csp3488288ljw; Tue, 4 Sep 2018 03:27:33 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZemjIa7lq2iCfDYuuxZnWHPk0+28wTUS95insdjqSWqKaPcdDlKSIhhK22/Tef2ffg7prg X-Received: by 2002:a63:9712:: with SMTP id n18-v6mr29712882pge.92.1536056853024; Tue, 04 Sep 2018 03:27:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536056853; cv=none; d=google.com; s=arc-20160816; b=BMfbSuEvikX6b1BGO9JXg+5EYaAW4epDR/4eghKQ7C+98ULemPwxCNCyIZ6sxUJzfG YhiX+CKDZxqGBT04Au3QMlizTaZaaaXdS8ZoO6fe6bVrFTXx7Govscu8w1lwrHlmN583 Tq379i8rHueUf2UwJtvv610Y1G1xczlsJHMeSejcHTCezJlSnRHgxpQOUhcPXywlsN1T Q5Uh5V3a7MvBdOURTQko8LDXZqQzmjV0QRPZhNnC/nsJu5gbT8AbRf9eqICbnx/ffljX +x6C0aMGO+2JgohNSDzWovyZbsMFTu0sxKow64zhcGiRrUpTslLUJk3LeNDN7QZZpXwu JPUQ== 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:arc-authentication-results; bh=Xxn1Md6Q1rw7FvsQmkfDysf/kPe7UQxUJS0wM0f+YJQ=; b=ZxXsFbnDAIwq5Ws9sAiCSrxdiPOnb0AzGCOXGreBD9nIKc/aW3DAJ4EudF5IU2skku 4pMmQVByeBvxVODYd0BLRxCmIbZq4lfW0p3K48RDg+j6VgiogCTxT9O3jiLBcHuVFopi G/8kXueZD4HOWKbOMee/oOWmGC7Fey4evp/01bDIgYLuGwpPd6lgBWSfhX9sn5QXN1qg pq8egQwn4ONuS/tS6Xdilc27GOymoeuyVon0Fny36KBHCqK0zK3VLDavIJoVKK8/KGoO 33WnxpquEJHSNJEhMgY6cYNpc2SK2Z6W5eq4Qdha+1JZCJAgHLcS6Utp8Eo5Sh+LmiLB 2DhA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZoPWop6D; 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 b14-v6si20480463pgk.169.2018.09.04.03.27.32; Tue, 04 Sep 2018 03:27:33 -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=ZoPWop6D; 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 S1726339AbeIDOwA (ORCPT + 6 others); Tue, 4 Sep 2018 10:52:00 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:38107 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726208AbeIDOwA (ORCPT ); Tue, 4 Sep 2018 10:52:00 -0400 Received: by mail-wr1-f66.google.com with SMTP id w11-v6so3388475wrc.5 for ; Tue, 04 Sep 2018 03:27:30 -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=Xxn1Md6Q1rw7FvsQmkfDysf/kPe7UQxUJS0wM0f+YJQ=; b=ZoPWop6DQzbJKdkLgnXfo6BB04jRWnvzAyTlmzqBdJv79IDYARsL0YRS3Iu/DyAVPV QR95TV4YIoKnLUi9N1CRT2aQnPrmfzGnaBlXHd4OFNa5XcRaWh/zTItXh42DqKhtOvZ4 nUNgJ4rjATk0/cTcHViIg/3XvZIcBIxtokY5s= 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=Xxn1Md6Q1rw7FvsQmkfDysf/kPe7UQxUJS0wM0f+YJQ=; b=INmDwazmAT7nprNthrR30R0uO4A/31kW05ppVtQh07eH2fCHwVr6lj2Jz6wqThtKFP h3nPG95WgoiI7cxbCh/f00T/2WZdhGod7+1K5J68CbPepqai6IWIl1CujSU7FQz9N4nC QGNStl4Lfv5/ReA32Og/JNzuWPh5IJ94Iw5tAudFYsS5z+/QxI5eJgfSleL7TtK6VWDe XfQ0jei2LpcF/d+URpmRBQVHi+zCAxda3K+O20OTiQcyylis4Ww3tHM4I2LrXUZd3PqW aL4f+rC/HjVYJvxE+y2dgUaXp4WgT0HMKUDtKUsQer1sNT4lRe+1gTs6LwWTPqVDGLTn /4FQ== X-Gm-Message-State: APzg51A0PU2ca1tkx5X+hLRI1e+NI4lybeAluvEc9E4uLn2HJ3lcVHT3 ctuGZ4uyItN3Qh/ldsjWOcTvhA== X-Received: by 2002:adf:9d81:: with SMTP id p1-v6mr21336084wre.12.1536056849836; Tue, 04 Sep 2018 03:27:29 -0700 (PDT) Received: from localhost.localdomain (cpc90716-aztw32-2-0-cust92.18-1.cable.virginm.net. [86.26.100.93]) by smtp.gmail.com with ESMTPSA id g129-v6sm16903325wmf.42.2018.09.04.03.27.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 04 Sep 2018 03:27:29 -0700 (PDT) From: Srinivas Kandagatla 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 v3 00/13] ASoC: Add support to WCD9335 Audio Codec Date: Tue, 4 Sep 2018 11:24:47 +0100 Message-Id: <20180904102500.30318-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.18.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Thankyou for reviewing v2 patchset, here is v3 addressing comments from v2. 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 v2 (https://lwn.net/Articles/761107/) - Updated dt bindings according to Robs Comments. - Added MBHC support with new bindings - Moved mfd irq in to single file as suggested by Lee Jones. - Addressed various minor comments on mfd driver by Lee Jones. - Rebased on top of 4.19-rc1 - renamed clsh as clsh-v2 as its v2 block Srinivas Kandagatla (13): 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 .../bindings/sound/qcom,wcd9335.txt | 30 +- drivers/mfd/Kconfig | 14 + drivers/mfd/Makefile | 4 + drivers/mfd/wcd9335-core.c | 369 ++ include/linux/mfd/wcd9335/registers.h | 627 ++ include/linux/mfd/wcd9335/wcd9335.h | 65 + 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 | 5234 +++++++++++++++++ sound/soc/qcom/apq8096.c | 122 +- 12 files changed, 7092 insertions(+), 6 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.18.0