[alsa-devel] [PATCH RESEND v7 0/3] Add ES8328 audio codec

Sean Cross xobs at kosagi.com
Thu Jul 3 04:19:46 CEST 2014


This patchset adds support for the Everest Semi ES8328 audio codec, used in
the Novena open source laptop.  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



More information about the Alsa-devel mailing list