[PATCH v7 0/3] Add ES8328 audio codec

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

 




This patchset adds support for the Everest Semi ES8328 audio codec.  It also
adds support for using the es8328 on IMX boards.

We write a machine driver rather than using simple-card because the machine
driver needs to support regulators for the speaker amps and as well as
supporting headphone jacks, in addition to the i.MX audmux routing.

Changes since v6:
    - Minor clarification of AUDMUX in imx-audio-es8328.txt
    - Use u32 instead of int in imx-es8328.c for int-mux and ext-mux
    - Bounds checking on mux-int-port and mux-ext-port in imx-es8328.c
    - Remove NULL checks before calling of_node_put()

Changes since v5:
    - Removed empty imx_set_frequency function from imx-es8328.c
    - Move the clock from imx-audio-es8328 to the es8328 codec itself
    - Add support for 2x (22.5792 MHz) and 1x (11.2896 MHz) source clocks
    - Restore registers on resume
    - Document pins for ES8328, including input pins

Changes since v4:
    - Simplify clock handling and use assigned-clock-parents
    - Move the codec regulator from the machine driver to the codec
    - Specify all four regulators, and require their presence
    - Fix audio recording, such that it enables the PGA

Changes since v3:
    - Add OF bindings for everest,es8328
    - Add back in patch to add everest as a vendor prefix
    - Give clocks more generic names
    - Document required clocks in DT bindings document

Changes since v2:
    - Change deemph to a bool, and update based on sample rate
    - Replace value enums with regular enums
    - Break SPI and I2C drivers into their own modules
    - Rename everest,es8328 to es8328 as the module wasn't getting detected.
      Because of this, the patch to vendor-prefixes.txt has been dropped.

Changes since v1:
    - Rename HP/Speaker to OUT1/OUT2
    - Use DAPM widgets for startup/shutdown
    - Add regulator support to machine driver

Sean Cross (3):
  devicetree: bindings: Add Everest Semicodunctor
  ASoC: add es8328 codec driver
  ASoC: fsl: add imx-es8328 machine driver

 Documentation/devicetree/bindings/sound/es8328.txt |  38 ++
 .../devicetree/bindings/sound/imx-audio-es8328.txt |  61 ++
 .../devicetree/bindings/vendor-prefixes.txt        |   1 +
 sound/soc/codecs/Kconfig                           |  13 +
 sound/soc/codecs/Makefile                          |   6 +
 sound/soc/codecs/es8328-i2c.c                      |  60 ++
 sound/soc/codecs/es8328-spi.c                      |  49 ++
 sound/soc/codecs/es8328.c                          | 719 +++++++++++++++++++++
 sound/soc/codecs/es8328.h                          | 314 +++++++++
 sound/soc/fsl/Kconfig                              |  14 +
 sound/soc/fsl/Makefile                             |   2 +
 sound/soc/fsl/imx-es8328.c                         | 233 +++++++
 12 files changed, 1510 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/es8328.txt
 create mode 100644 Documentation/devicetree/bindings/sound/imx-audio-es8328.txt
 create mode 100644 sound/soc/codecs/es8328-i2c.c
 create mode 100644 sound/soc/codecs/es8328-spi.c
 create mode 100644 sound/soc/codecs/es8328.c
 create mode 100644 sound/soc/codecs/es8328.h
 create mode 100644 sound/soc/fsl/imx-es8328.c

-- 
2.0.0

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