From: Kenneth Westfield <kwestfie@codeaurora.org>
To: Mark Brown <broonie@kernel.org>, Takashi Iwai <tiwai@suse.de>,
Liam Girdwood <lgirdwood@gmail.com>,
David Brown <davidb@codeaurora.org>,
Bryan Huntsman <bryanh@codeaurora.org>,
Rob Herring <rob.herring@calxeda.com>,
Greg KH <gregkh@linuxfoundation.org>,
Patrick Lai <plai@codeaurora.org>,
Banajit Goswami <bgoswami@codeaurora.org>
Cc: ALSA Mailing List <alsa-devel@alsa-project.org>,
Device Tree Mailing List <devicetree@vger.kernel.org>,
MSM Mailing List <linux-arm-msm@vger.kernel.org>,
Kenneth Westfield <kwestfie@codeaurora.org>
Subject: [Patch v2 00/11] ASoC: QCOM: Add support for ipq806x SOC
Date: Mon, 8 Dec 2014 14:01:02 -0800 [thread overview]
Message-ID: <1418076073-12623-1-git-send-email-kwestfie@codeaurora.org> (raw)
From: Kenneth Westfield <kwestfie@codeaurora.org>
This set of patches adds support for audio on the Qualcomm Technologies ipq806x SOC.
The ipq806x SOC has audio-related hardware blocks in its low-power audio subsystem (or LPASS). One of the relevant blocks in the LPASS is its low-power audio interface (or LPAIF). This encapsulates the MI2S port, which is what these drivers are configured to use. The I2S pins are connected to an external DAC/amp chip. In addition, a single GPIO is connected to the same DAC/amp, which gives the SOC enable/disable control.
The specific drivers added are:
- a Codec DAI driver that controls the SOC external pins
- a CPU DAI driver for controlling the LPASS-LPAIF block
- a PCM MI2S platform driver
- a machine driver that ties the three drivers together
Corresponding additions to the device tree for the ipq806x and its documentation has also been added. Also, as this is a new directory, the MAINTAINERS file has been updated as well.
== Updates from my previous post:
[PATCH 00/9] ASoC: QCOM: Add support for ipq806x SOC
http://thread.gmane.org/gmane.linux.ports.arm.msm/10701
- remove the native LPAIF driver, and move its functionality to the CPU DAI driver
- add a codec driver to manage the pins going to the external DAC (previously managed by the machine driver)
- use devm_* and dev_* where possible
- ISR only handles relevant DMA channel now
- update device tree documentation to reflect changes
- general code cleanup
== Additional patch series upon which this patch series has device-tree dependencies (lcc)
[PATCH v2 0/8] qcom audio clock control drivers
http://thread.gmane.org/gmane.linux.ports.arm.msm/10793
Kenneth Westfield (11):
MAINTAINERS: Add QCOM audio ASoC maintainer
ASoC: qcom: Add device tree binding docs
ASoC: ipq806x: add LPAIF header file
ASoC: codec: Add Maxim codec driver
ASoC: ipq806x: Add LPASS CPU DAI driver
ASoC: ipq806x: Add I2S PCM platform driver
ASoC: ipq806x: Add machine driver for IPQ806X SOC
ASoC: codec: Add ability to build QCOM codec
ASoC: qcom: Add ability to build QCOM drivers
ASoC: Allow for building QCOM drivers
ARM: dts: Model IPQ LPASS audio hardware
.../bindings/sound/qcom,ipq806x-snd-card.txt | 25 ++
.../bindings/sound/qcom,lpass-cpu-dai.txt | 32 ++
.../bindings/sound/qcom,lpass-pcm-mi2s.txt | 12 +
.../bindings/sound/qcom,max98357a-codec.txt | 23 ++
MAINTAINERS | 7 +
arch/arm/boot/dts/qcom-ipq8064.dtsi | 33 ++
sound/soc/Kconfig | 1 +
sound/soc/Makefile | 1 +
sound/soc/codecs/Kconfig | 4 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/max98357a.c | 267 ++++++++++++
sound/soc/qcom/Kconfig | 25 ++
sound/soc/qcom/Makefile | 11 +
sound/soc/qcom/ipq806x.c | 127 ++++++
sound/soc/qcom/lpass-cpu-mi2s.c | 374 +++++++++++++++++
sound/soc/qcom/lpass-cpu-mi2s.h | 48 +++
sound/soc/qcom/lpass-lpaif.h | 154 +++++++
sound/soc/qcom/lpass-pcm-mi2s.c | 452 +++++++++++++++++++++
18 files changed, 1598 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/qcom,ipq806x-snd-card.txt
create mode 100644 Documentation/devicetree/bindings/sound/qcom,lpass-cpu-dai.txt
create mode 100644 Documentation/devicetree/bindings/sound/qcom,lpass-pcm-mi2s.txt
create mode 100644 Documentation/devicetree/bindings/sound/qcom,max98357a-codec.txt
create mode 100644 sound/soc/codecs/max98357a.c
create mode 100644 sound/soc/qcom/Kconfig
create mode 100644 sound/soc/qcom/Makefile
create mode 100644 sound/soc/qcom/ipq806x.c
create mode 100644 sound/soc/qcom/lpass-cpu-mi2s.c
create mode 100644 sound/soc/qcom/lpass-cpu-mi2s.h
create mode 100644 sound/soc/qcom/lpass-lpaif.h
create mode 100644 sound/soc/qcom/lpass-pcm-mi2s.c
--
1.8.2.1
next reply other threads:[~2014-12-08 22:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-08 22:01 Kenneth Westfield [this message]
2014-12-08 22:01 ` [Patch v2 01/11] MAINTAINERS: Add QCOM audio ASoC maintainer Kenneth Westfield
2014-12-08 22:01 ` [Patch v2 02/11] ASoC: qcom: Add device tree binding docs Kenneth Westfield
2014-12-09 15:37 ` Mark Brown
2014-12-08 22:01 ` [Patch v2 03/11] ASoC: ipq806x: add LPAIF header file Kenneth Westfield
2014-12-08 22:01 ` [Patch v2 04/11] ASoC: codec: Add Maxim codec driver Kenneth Westfield
2014-12-09 15:53 ` Mark Brown
2014-12-08 22:01 ` [Patch v2 05/11] ASoC: ipq806x: Add LPASS CPU DAI driver Kenneth Westfield
2014-12-09 16:01 ` Mark Brown
2014-12-08 22:01 ` [Patch v2 06/11] ASoC: ipq806x: Add I2S PCM platform driver Kenneth Westfield
2014-12-09 16:04 ` Mark Brown
[not found] ` <1418076073-12623-1-git-send-email-kwestfie-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-12-08 22:01 ` [Patch v2 07/11] ASoC: ipq806x: Add machine driver for IPQ806X SOC Kenneth Westfield
2014-12-09 16:05 ` Mark Brown
2014-12-08 22:01 ` [Patch v2 08/11] ASoC: codec: Add ability to build QCOM codec Kenneth Westfield
2014-12-09 16:06 ` Mark Brown
2014-12-08 22:01 ` [Patch v2 09/11] ASoC: qcom: Add ability to build QCOM drivers Kenneth Westfield
2014-12-09 16:07 ` Mark Brown
2014-12-08 22:01 ` [Patch v2 10/11] ASoC: Allow for building " Kenneth Westfield
2014-12-08 22:01 ` [Patch v2 11/11] ARM: dts: Model IPQ LPASS audio hardware Kenneth Westfield
2014-12-09 16:08 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1418076073-12623-1-git-send-email-kwestfie@codeaurora.org \
--to=kwestfie@codeaurora.org \
--cc=alsa-devel@alsa-project.org \
--cc=bgoswami@codeaurora.org \
--cc=broonie@kernel.org \
--cc=bryanh@codeaurora.org \
--cc=davidb@codeaurora.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=plai@codeaurora.org \
--cc=rob.herring@calxeda.com \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).