linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V8 0/5] ASoC: QCOM: Add support for ipq806x SOC
@ 2015-03-13  8:01 Kenneth Westfield
  2015-03-13  8:01 ` [PATCH V8 1/5] ASoC: qcom: Document Storm bindings Kenneth Westfield
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Kenneth Westfield @ 2015-03-13  8:01 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Kumar Gala
  Cc: Banajit Goswami, Patrick Lai, Takashi Iwai, Jaroslav Kysela,
	David Brown, Bryan Huntsman, Rob Herring, ALSA Mailing List,
	MSM Mailing List, Device Tree Mailing List, Kernel Mailing List,
	Kenneth Westfield

From: Kenneth Westfield <kwestfie@codeaurora.org>

This patch series adds support for I2S audio playback on the Storm board, which
contains a Qualcomm Technologies ipq806x SOC and a Maxim max98357a DAC/amp.

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 contains an MI2S port, which is what these
drivers are configured to use.  The LPAIF also contains a DMA engine that is
dedicated to moving audio samples into the transmit FIFO of the MI2S port.

One bus from the MI2S port of the SOC is connected to the DAC/amp for stereo
playback.  This bus is configured so that the SOC is bus master and consists of
DATA, LRCLK, and BCLK.  The DAC/amp does not need MCLK to operate.  In addition,
a single GPIO pin from the SOC is connected to the same DAC/amp, which gives
enable/disable control over the DAC/amp.

The specific drivers added are:
  * a codec DAI driver for controlling the DAC/amp (applied from V4)
  * a CPU DAI driver for controlling the MI2S port (applied from V7)
  * a platform driver for controlling the LPAIF DMA engine (applied from V7)
  * a machine driver that instantiates a dai-link for playback

The LPASS also contains clocks that need to be controlled.  Those drivers have
been submitted as several separate patch series:  
  * [PATCH v3 0/8] qcom audio clock control drivers
    http://lkml.org/lkml/2015/1/19/656
  * [PATCH] arm: dts: qcom: Add LCC nodes
    https://lkml.org/lkml/2015/1/28/557
  * [PATCH 1/2] arm: qcom_defconfig: Enable lpass clock driver
    https://lkml.org/lkml/2015/1/28/582
  * [PATCH] clk: qcom: Fix ipq806x LCC frequency tables
    https://lkml.org/lkml/2015/2/26/774
  * [PATCH v2] clk: qcom: Properly change rates for ahbix clock
    https://lkml.org/lkml/2015/3/6/878

Even though the ipq806x LPASS does not contain an audio DSP, other SOCs do have
one.  For those SOCs, the audio DSP typically controls the hardware blocks in
the LPASS.  Hence, different CPU DAI driver(s) would need to be used in order to
facilitate audio with the DSP.  As such, the LPASS DT binding description
alludes to an optional adsp phandle, which is not present for this SOC.  For
other SOCs that do contain an audio DSP, the phandle should exist and refer to a
an adsp node.  Not using the audio DSP on an SOC that does have one would
require different CPU DAI driver(s), in addition to possible bootloader and/or
firmware changes.

Note that the use of a phandle was a modification that has been submitted as
part of a separate patch series.

Corresponding additions to the device tree for the ipq806x SOC and its
documentation have also been added.  Also, as this is a new directory, the
MAINTAINERS file has been updated as well (applied from V7).

= Changes since V7
  [Patch V7 00/10] ASoC: QCOM: Add support for ipq806x SOC
  http://mailman.alsa-project.org/pipermail/alsa-devel/2015-March/088546.html

  * Changed the compatible property of the machine driver to make it specific
    to audio
  * Removed the lcc node definition from the DT, as it was submitted separately

= Changes since V6
  [Patch V6 00/10] ASoC: QCOM: Add support for ipq806x SOC
  http://mailman.alsa-project.org/pipermail/alsa-devel/2015-February/088218.html

  * Added REGMAP_MMIO selection for the CPU and platform drivers
  * Modified the AHBIX frequency to match the corresponding LCC fix
  * Tweaked the logging in the CPU driver probe.

= Changes since V5
  [Patch V5 00/12] ASoC: QCOM: Add support for ipq806x SOC
  http://mailman.alsa-project.org/pipermail/alsa-devel/2015-February/087832.html

  * Correctly use Storm as the build target label and DT binding label.
  * Added audio DSP sub-node to the LPASS device tree, disabled for this SOC.
  * Added logic to CPU DAI driver to fail the probe() if a DSP is present.
  * Use the standard naming convention for the DAI link properties.
  * General code cleanup.

= Changes since V4
  [Patch V4 00/10] ASoC: QCOM: Add support for ipq806x SOC
  http://mailman.alsa-project.org/pipermail/alsa-devel/2015-February/087499.html

  * Replaced simple-card with a machine driver to resolve the system clock
    configuration, rather than having the CPU DAI driver do it.
  * Added header files to avoid indirect header dependencies and implicit
    forward declarations.
  * Tweaked the ISR to match the conventions of the surrounding code.
  * Removed the usage of the low-power memory as it is not needed.
  * Removed the use of the DRV_NAME constant.
  * Added explicit dependency on gpiolib for the codec driver.
  * Moved the MODULE_DEVICE_TABLE macro inside the CONFIG_OF conditional.
  * Modified the documentation to reflect the changes.
  * General code cleanup.

= Changes since V3
  [Patch V3 00/10] ASoC: QCOM: Add support for ipq806x SOC
  http://mailman.alsa-project.org/pipermail/alsa-devel/2014-December/085694.html

  * Placed the content of the inline functions into the callbacks.
  * Replaced use of readl/writel register access functions with regmap access
    functions.  Notable exception is the ISR, which uses ioread32/iowrite32.
  * Rearranged the sequencing of the hardware block enables to fit within the
    ASoC framework callbacks, while remaining functional.
    REQ 1: The hardware requires the enable sequence to be:
           LPAIF-DMA[enable],then LPAIF-MI2S[enable], then DAC-GPIO[enable]
    REQ 2: The hardware requires the disable sequence to be:
           DAC-GPIO[disable], then LPAIF-MI2S[disable]
  * Corrected the implementation of the pointer callback.
  * Utilize the LPM to buffer audio samples, rather than memory external to
    LPASS.
  * Corrected the interrupt clearing in the ISR.
  * Implemented a default system clock (defined by the simple-card DT node), and
    optional LPASS DT node modifiers that can alter the system clock in order to
    expand the range of available bit clock frequencies.
  * Addressed all of the remaining issues raised by Mark Brown.
  * General code cleanup.

= Changes since V2
  [Patch v2 00/11] ASoC: QCOM: Add support for ipq806x SOC
  http://mailman.alsa-project.org/pipermail/alsa-devel/2014-December/085186.html

  * Removed the PCM platform driver from the DTS platform and tied it to the CPU
    DAI driver.
  * Changed I2S pinctrl to use generic naming convention and moved control to
    CPU DAI driver.  It should be controlled now by soc-core's pinctrl_pm_*
    functionality.
  * Added stub DAPM support in codec driver.  As the DAC GPIO needs to be
    enabled last when starting playback, and disabled first when stopping
    playback, it seems as though the trigger function may be the place for this.
    Suggestions are welcome for a better place to put this.
  * Removed machine driver and tied DAI drivers to simple-audio-card.
  * Packaged the build files and Maxim codec files together in one change.
  * Removed QCOM as vendor from Maxim code and documentation.
  * Separated the SOC and board definitions into the correct DTS files.
  * Update device tree documentation to reflect changes.
  * General code cleanup.

= Changes since V1
  [PATCH 0/9] ASoC: QCOM: Add support for ipq806x SOC
  http://mailman.alsa-project.org/pipermail/alsa-devel/2014-November/084322.html

  * 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.

Kenneth Westfield (5):
  ASoC: qcom: Document Storm bindings
  ASoC: qcom: Add Storm machine driver
  ASoC: qcom: Add ability to build QCOM drivers
  ASoC: Allow for building QCOM drivers
  ARM: dts: Model IPQ LPASS audio hardware

 Documentation/devicetree/bindings/sound/storm.txt |  23 +++
 arch/arm/boot/dts/qcom-ipq8064.dtsi               |  16 +++
 sound/soc/Kconfig                                 |   1 +
 sound/soc/Makefile                                |   1 +
 sound/soc/qcom/Kconfig                            |  25 ++++
 sound/soc/qcom/Makefile                           |  11 ++
 sound/soc/qcom/storm.c                            | 162 ++++++++++++++++++++++
 7 files changed, 239 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/storm.txt
 create mode 100644 sound/soc/qcom/Kconfig
 create mode 100644 sound/soc/qcom/Makefile
 create mode 100644 sound/soc/qcom/storm.c

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH V8 1/5] ASoC: qcom: Document Storm bindings
  2015-03-13  8:01 [PATCH V8 0/5] ASoC: QCOM: Add support for ipq806x SOC Kenneth Westfield
@ 2015-03-13  8:01 ` Kenneth Westfield
  2015-03-13  8:01 ` [PATCH V8 2/5] ASoC: qcom: Add Storm machine driver Kenneth Westfield
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Kenneth Westfield @ 2015-03-13  8:01 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Kumar Gala
  Cc: Banajit Goswami, Patrick Lai, Takashi Iwai, Jaroslav Kysela,
	David Brown, Bryan Huntsman, Rob Herring, ALSA Mailing List,
	MSM Mailing List, Device Tree Mailing List, Kernel Mailing List,
	Kenneth Westfield

From: Kenneth Westfield <kwestfie@codeaurora.org>

Add documentation to the sound directory of the
device-tree bindings for the soundcard of the
Storm board.

Signed-off-by: Kenneth Westfield <kwestfie@codeaurora.org>
Acked-by: Banajit Goswami <bgoswami@codeaurora.org>
---
 Documentation/devicetree/bindings/sound/storm.txt | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/storm.txt

diff --git a/Documentation/devicetree/bindings/sound/storm.txt b/Documentation/devicetree/bindings/sound/storm.txt
new file mode 100644
index 0000000000000000000000000000000000000000..062a4c185fa9d06d726eccbbcf69a6e566ec0441
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/storm.txt
@@ -0,0 +1,23 @@
+* Sound complex for Storm boards
+
+Models a soundcard for Storm boards with the Qualcomm Technologies IPQ806x SOC
+connected to a MAX98357A DAC via I2S.
+
+Required properties:
+
+- compatible	: "google,storm-audio"
+- cpu		: Phandle of the CPU DAI
+- codec		: Phandle of the codec DAI
+
+Optional properties:
+
+- qcom,model	: The user-visible name of this sound card.
+
+Example:
+
+sound {
+	compatible = "google,storm-audio";
+	qcom,model = "ipq806x-storm";
+	cpu = <&lpass_cpu>;
+	codec = <&max98357a>;
+};
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH V8 2/5] ASoC: qcom: Add Storm machine driver
  2015-03-13  8:01 [PATCH V8 0/5] ASoC: QCOM: Add support for ipq806x SOC Kenneth Westfield
  2015-03-13  8:01 ` [PATCH V8 1/5] ASoC: qcom: Document Storm bindings Kenneth Westfield
@ 2015-03-13  8:01 ` Kenneth Westfield
  2015-03-13  8:01 ` [PATCH V8 3/5] ASoC: qcom: Add ability to build QCOM drivers Kenneth Westfield
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Kenneth Westfield @ 2015-03-13  8:01 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Kumar Gala
  Cc: Banajit Goswami, Patrick Lai, Takashi Iwai, Jaroslav Kysela,
	David Brown, Bryan Huntsman, Rob Herring, ALSA Mailing List,
	MSM Mailing List, Device Tree Mailing List, Kernel Mailing List,
	Kenneth Westfield

From: Kenneth Westfield <kwestfie@codeaurora.org>

Add machine driver for the Storm board with the
IPQ806X SOC connected to the MAX98357A DAC.

Signed-off-by: Kenneth Westfield <kwestfie@codeaurora.org>
Acked-by: Banajit Goswami <bgoswami@codeaurora.org>
---
 sound/soc/qcom/storm.c | 162 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 162 insertions(+)
 create mode 100644 sound/soc/qcom/storm.c

diff --git a/sound/soc/qcom/storm.c b/sound/soc/qcom/storm.c
new file mode 100644
index 0000000000000000000000000000000000000000..b8bd296190add83ba332d42256096c1376d2632d
--- /dev/null
+++ b/sound/soc/qcom/storm.c
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2010-2011,2013-2015 The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * storm.c -- ALSA SoC machine driver for QTi ipq806x-based Storm board
+ */
+
+#include <linux/device.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/mod_devicetable.h>
+#include <linux/platform_device.h>
+#include <sound/pcm.h>
+#include <sound/pcm_params.h>
+#include <sound/soc.h>
+
+#define STORM_SYSCLK_MULT			4
+
+static int storm_ops_hw_params(struct snd_pcm_substream *substream,
+		struct snd_pcm_hw_params *params)
+{
+	struct snd_soc_pcm_runtime *soc_runtime = substream->private_data;
+	struct snd_soc_card *card = soc_runtime->card;
+	snd_pcm_format_t format = params_format(params);
+	unsigned int rate = params_rate(params);
+	unsigned int sysclk_freq;
+	int bitwidth, ret;
+
+	bitwidth = snd_pcm_format_width(format);
+	if (bitwidth < 0) {
+		dev_err(card->dev, "%s() invalid bit width given: %d\n",
+				__func__, bitwidth);
+		return bitwidth;
+	}
+
+	/*
+	 * as the CPU DAI is the I2S bus master and no system clock is needed by
+	 * the MAX98357a DAC, simply set the system clock to be a constant
+	 * multiple of the bit clock for the clock divider
+	 */
+	sysclk_freq = rate * bitwidth * 2 * STORM_SYSCLK_MULT;
+
+	ret = snd_soc_dai_set_sysclk(soc_runtime->cpu_dai, 0, sysclk_freq, 0);
+	if (ret) {
+		dev_err(card->dev, "%s() error setting sysclk to %u: %d\n",
+				__func__, sysclk_freq, ret);
+		return ret;
+	}
+
+	return 0;
+}
+
+static struct snd_soc_ops storm_soc_ops = {
+	.hw_params	= storm_ops_hw_params,
+};
+
+static struct snd_soc_dai_link storm_dai_link = {
+	.name		= "Primary",
+	.stream_name	= "Primary",
+	.codec_dai_name	= "HiFi",
+	.ops		= &storm_soc_ops,
+};
+
+static struct snd_soc_card storm_soc_card = {
+	.name	= "ipq806x-storm",
+	.dev	= NULL,
+};
+
+static int storm_parse_of(struct snd_soc_card *card)
+{
+	struct snd_soc_dai_link *dai_link = card->dai_link;
+	struct device_node *np = card->dev->of_node;
+
+	dai_link->cpu_of_node = of_parse_phandle(np, "cpu", 0);
+	if (!dai_link->cpu_of_node) {
+		dev_err(card->dev, "%s() error getting cpu phandle\n",
+				__func__);
+		return -EINVAL;
+	}
+	dai_link->platform_of_node = dai_link->cpu_of_node;
+
+	dai_link->codec_of_node = of_parse_phandle(np, "codec", 0);
+	if (!dai_link->codec_of_node) {
+		dev_err(card->dev, "%s() error getting codec phandle\n",
+				__func__);
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+static int storm_platform_probe(struct platform_device *pdev)
+{
+	struct snd_soc_card *card = &storm_soc_card;
+	int ret;
+
+	if (card->dev) {
+		dev_err(&pdev->dev, "%s() error, existing soundcard\n",
+				__func__);
+		return -ENODEV;
+	}
+	card->dev = &pdev->dev;
+	platform_set_drvdata(pdev, card);
+
+	ret = snd_soc_of_parse_card_name(card, "qcom,model");
+	if (ret) {
+		dev_err(&pdev->dev, "%s() error parsing card name: %d\n",
+				__func__, ret);
+		return ret;
+	}
+
+	card->dai_link	= &storm_dai_link;
+	card->num_links	= 1;
+
+	ret = storm_parse_of(card);
+	if (ret) {
+		dev_err(&pdev->dev, "%s() error resolving dai links: %d\n",
+				__func__, ret);
+		return ret;
+	}
+
+	ret = devm_snd_soc_register_card(&pdev->dev, card);
+	if (ret == -EPROBE_DEFER) {
+		card->dev = NULL;
+		return ret;
+	} else if (ret) {
+		dev_err(&pdev->dev, "%s() error registering soundcard: %d\n",
+				__func__, ret);
+		return ret;
+	}
+
+	return 0;
+}
+
+#ifdef CONFIG_OF
+static const struct of_device_id storm_device_id[]  = {
+	{ .compatible = "google,storm-audio" },
+	{},
+};
+MODULE_DEVICE_TABLE(of, storm_device_id);
+#endif
+
+static struct platform_driver storm_platform_driver = {
+	.driver = {
+		.name = "storm-audio",
+		.of_match_table =
+			of_match_ptr(storm_device_id),
+	},
+	.probe = storm_platform_probe,
+};
+module_platform_driver(storm_platform_driver);
+
+MODULE_DESCRIPTION("QTi IPQ806x-based Storm Machine Driver");
+MODULE_LICENSE("GPL v2");
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH V8 3/5] ASoC: qcom: Add ability to build QCOM drivers
  2015-03-13  8:01 [PATCH V8 0/5] ASoC: QCOM: Add support for ipq806x SOC Kenneth Westfield
  2015-03-13  8:01 ` [PATCH V8 1/5] ASoC: qcom: Document Storm bindings Kenneth Westfield
  2015-03-13  8:01 ` [PATCH V8 2/5] ASoC: qcom: Add Storm machine driver Kenneth Westfield
@ 2015-03-13  8:01 ` Kenneth Westfield
  2015-03-13  8:01 ` [PATCH V8 4/5] ASoC: Allow for building " Kenneth Westfield
  2015-03-13  8:01 ` [PATCH V8 5/5] ARM: dts: Model IPQ LPASS audio hardware Kenneth Westfield
  4 siblings, 0 replies; 7+ messages in thread
From: Kenneth Westfield @ 2015-03-13  8:01 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Kumar Gala
  Cc: Banajit Goswami, Patrick Lai, Takashi Iwai, Jaroslav Kysela,
	David Brown, Bryan Huntsman, Rob Herring, ALSA Mailing List,
	MSM Mailing List, Device Tree Mailing List, Kernel Mailing List,
	Kenneth Westfield

From: Kenneth Westfield <kwestfie@codeaurora.org>

Define the LPASS platform driver, the LPASS
CPU DAI driver and the Storm machine driver
configurations, and how to build them.

Signed-off-by: Kenneth Westfield <kwestfie@codeaurora.org>
Acked-by: Banajit Goswami <bgoswami@codeaurora.org>
---
 sound/soc/qcom/Kconfig  | 25 +++++++++++++++++++++++++
 sound/soc/qcom/Makefile | 11 +++++++++++
 2 files changed, 36 insertions(+)
 create mode 100644 sound/soc/qcom/Kconfig
 create mode 100644 sound/soc/qcom/Makefile

diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig
new file mode 100644
index 0000000000000000000000000000000000000000..5f58e4f1bca98b5c4c4c951dce24036aafa2d694
--- /dev/null
+++ b/sound/soc/qcom/Kconfig
@@ -0,0 +1,25 @@
+config SND_SOC_QCOM
+	tristate "ASoC support for QCOM platforms"
+	help
+          Say Y or M if you want to add support to use audio devices
+          in Qualcomm Technologies SOC-based platforms.
+
+config SND_SOC_LPASS_CPU
+	tristate
+	depends on SND_SOC_QCOM
+	select REGMAP_MMIO
+
+config SND_SOC_LPASS_PLATFORM
+	tristate
+	depends on SND_SOC_QCOM
+	select REGMAP_MMIO
+
+config SND_SOC_STORM
+	tristate "ASoC I2S support for Storm boards"
+	depends on (ARCH_QCOM && SND_SOC_QCOM) || COMPILE_TEST
+	select SND_SOC_LPASS_CPU
+	select SND_SOC_LPASS_PLATFORM
+	select SND_SOC_MAX98357A
+	help
+          Say Y or M if you want add support for SoC audio on the
+          Qualcomm Technologies IPQ806X-based Storm board.
diff --git a/sound/soc/qcom/Makefile b/sound/soc/qcom/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..c5ce96c761c47b3a1b98e27d863fe0b5b9bc019e
--- /dev/null
+++ b/sound/soc/qcom/Makefile
@@ -0,0 +1,11 @@
+# Platform
+snd-soc-lpass-cpu-objs := lpass-cpu.o
+snd-soc-lpass-platform-objs := lpass-platform.o
+
+obj-$(CONFIG_SND_SOC_LPASS_CPU) += snd-soc-lpass-cpu.o
+obj-$(CONFIG_SND_SOC_LPASS_PLATFORM) += snd-soc-lpass-platform.o
+
+# Machine
+snd-soc-storm-objs := storm.o
+
+obj-$(CONFIG_SND_SOC_STORM) += snd-soc-storm.o
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH V8 4/5] ASoC: Allow for building QCOM drivers
  2015-03-13  8:01 [PATCH V8 0/5] ASoC: QCOM: Add support for ipq806x SOC Kenneth Westfield
                   ` (2 preceding siblings ...)
  2015-03-13  8:01 ` [PATCH V8 3/5] ASoC: qcom: Add ability to build QCOM drivers Kenneth Westfield
@ 2015-03-13  8:01 ` Kenneth Westfield
  2015-03-16 11:25   ` Mark Brown
  2015-03-13  8:01 ` [PATCH V8 5/5] ARM: dts: Model IPQ LPASS audio hardware Kenneth Westfield
  4 siblings, 1 reply; 7+ messages in thread
From: Kenneth Westfield @ 2015-03-13  8:01 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Kumar Gala
  Cc: Banajit Goswami, Patrick Lai, Takashi Iwai, Jaroslav Kysela,
	David Brown, Bryan Huntsman, Rob Herring, ALSA Mailing List,
	MSM Mailing List, Device Tree Mailing List, Kernel Mailing List,
	Kenneth Westfield

From: Kenneth Westfield <kwestfie@codeaurora.org>

Allow for the Qualcomm Technologies ASoC drivers
to build.

Signed-off-by: Kenneth Westfield <kwestfie@codeaurora.org>
Acked-by: Banajit Goswami <bgoswami@codeaurora.org>
---
 sound/soc/Kconfig  | 1 +
 sound/soc/Makefile | 1 +
 2 files changed, 2 insertions(+)

diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
index dcc79aa0236b548bfe5408fe56689241fc597e97..3ba52da18bc69a9bb41c84627cfc7d08f47e3bf0 100644
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
@@ -47,6 +47,7 @@ source "sound/soc/kirkwood/Kconfig"
 source "sound/soc/intel/Kconfig"
 source "sound/soc/mxs/Kconfig"
 source "sound/soc/pxa/Kconfig"
+source "sound/soc/qcom/Kconfig"
 source "sound/soc/rockchip/Kconfig"
 source "sound/soc/samsung/Kconfig"
 source "sound/soc/sh/Kconfig"
diff --git a/sound/soc/Makefile b/sound/soc/Makefile
index 5b3c8f67c8db7a29ff7199a6103d445428978125..974ba708b4826a03077a58251434a311542d5e3c 100644
--- a/sound/soc/Makefile
+++ b/sound/soc/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_SND_SOC)	+= nuc900/
 obj-$(CONFIG_SND_SOC)	+= omap/
 obj-$(CONFIG_SND_SOC)	+= kirkwood/
 obj-$(CONFIG_SND_SOC)	+= pxa/
+obj-$(CONFIG_SND_SOC)	+= qcom/
 obj-$(CONFIG_SND_SOC)	+= rockchip/
 obj-$(CONFIG_SND_SOC)	+= samsung/
 obj-$(CONFIG_SND_SOC)	+= sh/
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH V8 5/5] ARM: dts: Model IPQ LPASS audio hardware
  2015-03-13  8:01 [PATCH V8 0/5] ASoC: QCOM: Add support for ipq806x SOC Kenneth Westfield
                   ` (3 preceding siblings ...)
  2015-03-13  8:01 ` [PATCH V8 4/5] ASoC: Allow for building " Kenneth Westfield
@ 2015-03-13  8:01 ` Kenneth Westfield
  4 siblings, 0 replies; 7+ messages in thread
From: Kenneth Westfield @ 2015-03-13  8:01 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Kumar Gala
  Cc: Banajit Goswami, Patrick Lai, Takashi Iwai, Jaroslav Kysela,
	David Brown, Bryan Huntsman, Rob Herring, ALSA Mailing List,
	MSM Mailing List, Device Tree Mailing List, Kernel Mailing List,
	Kenneth Westfield

From: Kenneth Westfield <kwestfie@codeaurora.org>

Model the Qualcomm Technologies LPASS hardware for
the ipq806x SOC.

Signed-off-by: Kenneth Westfield <kwestfie@codeaurora.org>
Acked-by: Banajit Goswami <bgoswami@codeaurora.org>
---
 arch/arm/boot/dts/qcom-ipq8064.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
index cb225dafe97cd83c9ae4cc19482ed55d4a71b8b3..d5fad10722a5cf2c62ac4026c31a98bbf8068447 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -2,6 +2,7 @@
 
 #include "skeleton.dtsi"
 #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
+#include <dt-bindings/clock/qcom,lcc-ipq806x.h>
 #include <dt-bindings/soc/qcom,gsbi.h>
 
 / {
@@ -66,6 +67,21 @@
 		ranges;
 		compatible = "simple-bus";
 
+		lpass@28100000 {
+			compatible = "qcom,lpass-cpu";
+			status = "disabled";
+			clocks = <&lcc AHBIX_CLK>,
+					<&lcc MI2S_OSR_CLK>,
+					<&lcc MI2S_BIT_CLK>;
+			clock-names = "ahbix-clk",
+					"mi2s-osr-clk",
+					"mi2s-bit-clk";
+			interrupts = <0 85 1>;
+			interrupt-names = "lpass-irq-lpaif";
+			reg = <0x28100000 0x10000>;
+			reg-names = "lpass-lpaif";
+		};
+
 		qcom_pinmux: pinmux@800000 {
 			compatible = "qcom,ipq8064-pinctrl";
 			reg = <0x800000 0x4000>;
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH V8 4/5] ASoC: Allow for building QCOM drivers
  2015-03-13  8:01 ` [PATCH V8 4/5] ASoC: Allow for building " Kenneth Westfield
@ 2015-03-16 11:25   ` Mark Brown
  0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2015-03-16 11:25 UTC (permalink / raw)
  To: Kenneth Westfield
  Cc: Liam Girdwood, Kumar Gala, Banajit Goswami, Patrick Lai,
	Takashi Iwai, Jaroslav Kysela, David Brown, Bryan Huntsman,
	Rob Herring, ALSA Mailing List, MSM Mailing List,
	Device Tree Mailing List, Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 232 bytes --]

On Fri, Mar 13, 2015 at 01:01:07AM -0700, Kenneth Westfield wrote:
> From: Kenneth Westfield <kwestfie@codeaurora.org>
> 
> Allow for the Qualcomm Technologies ASoC drivers
> to build.

Applied everything up to here, thanks.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-03-16 11:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-13  8:01 [PATCH V8 0/5] ASoC: QCOM: Add support for ipq806x SOC Kenneth Westfield
2015-03-13  8:01 ` [PATCH V8 1/5] ASoC: qcom: Document Storm bindings Kenneth Westfield
2015-03-13  8:01 ` [PATCH V8 2/5] ASoC: qcom: Add Storm machine driver Kenneth Westfield
2015-03-13  8:01 ` [PATCH V8 3/5] ASoC: qcom: Add ability to build QCOM drivers Kenneth Westfield
2015-03-13  8:01 ` [PATCH V8 4/5] ASoC: Allow for building " Kenneth Westfield
2015-03-16 11:25   ` Mark Brown
2015-03-13  8:01 ` [PATCH V8 5/5] ARM: dts: Model IPQ LPASS audio hardware Kenneth Westfield

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).