Add programming for the tdm slots for both tx and rx offsets.
Signed-off-by: Dan Murphy <dmurphy@xxxxxx>
---
sound/soc/codecs/tas2562.c | 17 ++++++++++++++++-
sound/soc/codecs/tas2562.h | 4 ++++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/sound/soc/codecs/tas2562.c b/sound/soc/codecs/tas2562.c
index d26e30a2948c..2f1d4b697f01 100644
--- a/sound/soc/codecs/tas2562.c
+++ b/sound/soc/codecs/tas2562.c
@@ -208,6 +208,22 @@ static int tas2562_set_dai_tdm_slot(struct snd_soc_dai *dai,
if (ret < 0)
return ret;
+ if (tx_mask > TAS2562_TX_OFF_MAX) {
+ dev_err(tas2562->dev, "TX slot is larger then %d",
+ TAS2562_TX_OFF_MAX);
+ return -EINVAL;
+ }
+
+ ret = snd_soc_component_update_bits(component, TAS2562_TDM_CFG1,
+ TAS2562_RX_OFF_MASK, rx_mask << 1);
+ if (ret < 0)
+ return ret;
+
+ ret = snd_soc_component_update_bits(component, TAS2562_TDM_CFG4,
+ TAS2562_TX_OFF_MASK, tx_mask << 1);
+ if (ret < 0)
+ return ret;
+