Hello everyone,
The current series is the 3rd version to add the support of Texas Instrument's DAC PCM1789. This DAC is very minimalist and does not have many registers.
It is important to notice that this DAC needs to always have clocks enabled (even without any data) otherwise it will be in a "desynchronized" state and can not send data correctly. This issue has been solved by performing a reset each time a sound is played. This reset can produce a "pop" noise.
Depending on your DAI, you will need to provide and enable the MCLK to be able to communicate with this codec throught i2c.
Changes since v2: - Update SPDX headers according to Mark Brown's review. - Update the dt bindings according to Rob Herring's review. Changes since v1: - Create a new file to support pcm1789 instead of converting the existing pcm179x driver. All the patches are merged into one patch. - Update the code to use gpiod for the reset. - Add some fixes according to Thomas Petazzoni's reviews - Create a new patch to add device-tree bindings for this new DAC.
Thank you in advance for any review.
Best regards, Mylène
Mylène Josserand (2): ASoC: codecs: Add support for PCM1789 ASoC: Add bindings for PCM1789
.../devicetree/bindings/sound/pcm1789.txt | 22 ++ sound/soc/codecs/Kconfig | 12 + sound/soc/codecs/Makefile | 4 + sound/soc/codecs/pcm1789-i2c.c | 62 +++++ sound/soc/codecs/pcm1789.c | 274 +++++++++++++++++++++ sound/soc/codecs/pcm1789.h | 17 ++ 6 files changed, 391 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/pcm1789.txt create mode 100644 sound/soc/codecs/pcm1789-i2c.c create mode 100644 sound/soc/codecs/pcm1789.c create mode 100644 sound/soc/codecs/pcm1789.h