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 codec itself and speaker amps, have headphone support, and must supply an unusual frequency to the codec chip.
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 | 18 + .../devicetree/bindings/sound/imx-audio-es8328.txt | 68 +++ .../devicetree/bindings/vendor-prefixes.txt | 1 + sound/soc/codecs/Kconfig | 13 + sound/soc/codecs/Makefile | 6 + sound/soc/codecs/es8328-i2c.c | 62 ++ sound/soc/codecs/es8328-spi.c | 51 ++ sound/soc/codecs/es8328.c | 625 +++++++++++++++++++++ sound/soc/codecs/es8328.h | 313 +++++++++++ sound/soc/fsl/Kconfig | 14 + sound/soc/fsl/Makefile | 2 + sound/soc/fsl/imx-es8328.c | 359 ++++++++++++ 12 files changed, 1532 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