[Patch v2 00/11] ASoC: QCOM: Add support for ipq806x SOC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




From: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx>

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

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux