We support normal mode, TDM mode and pm.

Changes since v2: [addressed comments from Andy, Fabio and Rob]
* sort include files
* use probe_new
* reword the binding document
* use adc@10 instead of ak5558@10
* remove file name at the beginning of codec source code.
* make i2c_probe and i2c_remove parameters naming consistent.

Changes since v1: [addressed comments from Andy and Fabio]
 * fix GPIO polarity from active high to active low for correct documentation
 * fix license header by using SPDX identifier
 * remove debug prints at the beginning of functions.
 * only support auto clock switching (manual switching was dead code anyway) 
(in the
   future we could add a DT property to choose between manual and auto)
 * Use gpiod API
 * use GENMASK
 * introduce power_off/power_on

One open question is the resume sequence which appears to need 
power_off/power_on.
Just power_on alone isn't enough. With just power_on after resume aplay plays a
song for 1 seconds and then the sound stops.

Datasheet says, page 55"

(1) The PDN pin should be held to ā€œLā€ for more than 150 ns after AVDD and TVDD 
are powered up.

Daniel Baluta (2):
  ASoC: codecs: Add support for AK5558 ADC driver
  ASoC: ak5558: Add bindings for AK5558 ADC

 Documentation/devicetree/bindings/sound/ak5558.txt |  22 +
 sound/soc/codecs/Kconfig                           |   6 +
 sound/soc/codecs/Makefile                          |   2 +
 sound/soc/codecs/ak5558.c                          | 618 +++++++++++++++++++++
 sound/soc/codecs/ak5558.h                          |  52 ++
 5 files changed, 700 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/ak5558.txt
 create mode 100644 sound/soc/codecs/ak5558.c
 create mode 100644 sound/soc/codecs/ak5558.h

-- 
2.7.4

Reply via email to