Lines Matching +full:g12a +full:- +full:tdmout
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
10 #include <sound/soc-dai.h>
12 #include "axg-tdm-formatter.h"
62 if (!p->connect) in axg_tdmout_get_be()
65 if (p->sink->id == snd_soc_dapm_dai_in) in axg_tdmout_get_be()
66 return (struct snd_soc_dai *)p->sink->priv; in axg_tdmout_get_be()
68 be = axg_tdmout_get_be(p->sink); in axg_tdmout_get_be()
99 /* Actually enable tdmout */ in axg_tdmout_enable()
113 unsigned int val, skew = quirks->skew_offset; in axg_tdmout_prepare()
116 switch (ts->iface->fmt & SND_SOC_DAIFMT_FORMAT_MASK) { in axg_tdmout_prepare()
128 ts->iface->fmt & SND_SOC_DAIFMT_FORMAT_MASK); in axg_tdmout_prepare()
129 return -EINVAL; in axg_tdmout_prepare()
135 val |= TDMOUT_CTRL0_BITNUM(ts->iface->slot_width - 1); in axg_tdmout_prepare()
138 val |= TDMOUT_CTRL0_SLOTNUM(ts->iface->slots - 1); in axg_tdmout_prepare()
146 val = TDMOUT_CTRL1_MSB_POS(ts->width - 1); in axg_tdmout_prepare()
149 switch (ts->physical_width) { in axg_tdmout_prepare()
155 /* 4 samples of 16 bits - right justified */ in axg_tdmout_prepare()
159 /* 2 samples of 32 bits - right justified */ in axg_tdmout_prepare()
164 ts->physical_width); in axg_tdmout_prepare()
165 return -EINVAL; in axg_tdmout_prepare()
169 if (axg_tdm_lrclk_invert(ts->iface->fmt)) in axg_tdmout_prepare()
316 .compatible = "amlogic,axg-tdmout",
319 .compatible = "amlogic,g12a-tdmout",
322 .compatible = "amlogic,sm1-tdmout",
331 .name = "axg-tdmout",