[PATCH v2 0/2] ASoC: da7219: BCLK and TDM flexibility improvements

From: Adam Thomson
Date: Thu Feb 14 2019 - 05:13:44 EST

This patch set updates the driver to be more flexible regarding the BCLK and
TDM configurations of the device.

Previously the BCLK rate was fixed at 64 periods per WCLK, when the codec is
DAI clock master, but to satisfy devices which prefer a lower rate, and to save
power, the BCLK rate is now calculated based on hw_params() data.

As a fallout of the BCLK efforts it was also apparent that the TDM code could be
made more flexible as well. The device is capable of automatically detecting
the BCLK rate when it is clock slave, so previous limitations imposed were
not necessary. The mask handling is now used as an input to determine the BCLK
offset to align closer with other examples within ALSA.

Changes in v2:
- Update 0001 patch to use '&&' instead of '&' in hw_params() to decide if
BCLK rate should be configured or not.

Adam Thomson (2):
ASoC: da7219: Add support for master mode BCLK rate adjustment
ASoC: da7219: Update TDM usage to be more flexible

sound/soc/codecs/da7219.c | 116 +++++++++++++++++++++++++++++-----------------
sound/soc/codecs/da7219.h | 1 +
2 files changed, 74 insertions(+), 43 deletions(-)