Lines Matching +full:in +full:-

1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
15 #include <sound/soc-dai.h>
17 #include "axg-fifo.h"
43 regmap_update_bits(fifo->map, FIFO_CTRL1, in g12a_toddr_dai_prepare()
45 regmap_update_bits(fifo->map, FIFO_CTRL1, in g12a_toddr_dai_prepare()
47 regmap_update_bits(fifo->map, FIFO_CTRL1, in g12a_toddr_dai_prepare()
65 type = 2; /* 4 samples of 16 bits - right justified */ in axg_toddr_dai_hw_params()
68 type = 4; /* 2 samples of 32 bits - right justified */ in axg_toddr_dai_hw_params()
71 return -EINVAL; in axg_toddr_dai_hw_params()
76 regmap_update_bits(fifo->map, FIFO_CTRL0, in axg_toddr_dai_hw_params()
82 FIELD_PREP(CTRL0_TODDR_LSB_POS, TODDR_MSB_POS - (width - 1))); in axg_toddr_dai_hw_params()
94 ret = clk_prepare_enable(fifo->pclk); in axg_toddr_dai_startup()
98 /* Select orginal data - resampling not supported ATM */ in axg_toddr_dai_startup()
99 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_SEL_RESAMPLE, 0); in axg_toddr_dai_startup()
102 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_EXT_SIGNED, in axg_toddr_dai_startup()
106 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_PP_MODE, 0); in axg_toddr_dai_startup()
116 clk_disable_unprepare(fifo->pclk); in axg_toddr_dai_shutdown()
141 "IN 0", "IN 1", "IN 2", "IN 3", "IN 4", "IN 5", "IN 6", "IN 7"
152 SND_SOC_DAPM_AIF_IN("IN 0", NULL, 0, SND_SOC_NOPM, 0, 0),
153 SND_SOC_DAPM_AIF_IN("IN 1", NULL, 0, SND_SOC_NOPM, 0, 0),
154 SND_SOC_DAPM_AIF_IN("IN 2", NULL, 0, SND_SOC_NOPM, 0, 0),
155 SND_SOC_DAPM_AIF_IN("IN 3", NULL, 0, SND_SOC_NOPM, 0, 0),
156 SND_SOC_DAPM_AIF_IN("IN 4", NULL, 0, SND_SOC_NOPM, 0, 0),
157 SND_SOC_DAPM_AIF_IN("IN 5", NULL, 0, SND_SOC_NOPM, 0, 0),
158 SND_SOC_DAPM_AIF_IN("IN 6", NULL, 0, SND_SOC_NOPM, 0, 0),
159 SND_SOC_DAPM_AIF_IN("IN 7", NULL, 0, SND_SOC_NOPM, 0, 0),
164 { "SRC SEL", "IN 0", "IN 0" },
165 { "SRC SEL", "IN 1", "IN 1" },
166 { "SRC SEL", "IN 2", "IN 2" },
167 { "SRC SEL", "IN 3", "IN 3" },
168 { "SRC SEL", "IN 4", "IN 4" },
169 { "SRC SEL", "IN 5", "IN 5" },
170 { "SRC SEL", "IN 6", "IN 6" },
171 { "SRC SEL", "IN 7", "IN 7" },
205 * Make sure the first channel ends up in the at beginning of the output in g12a_toddr_dai_startup()
207 * in memory, with a random shift of 2 channels. in g12a_toddr_dai_startup()
209 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_SYNC_CH, in g12a_toddr_dai_startup()
258 "IN 0", "IN 1", "IN 2", "IN 3", "IN 4", "IN 5", "IN 6", "IN 7",
259 "IN 8", "IN 9", "IN 10", "IN 11", "IN 12", "IN 13", "IN 14", "IN 15"
270 SND_SOC_DAPM_AIF_IN("IN 0", NULL, 0, SND_SOC_NOPM, 0, 0),
271 SND_SOC_DAPM_AIF_IN("IN 1", NULL, 0, SND_SOC_NOPM, 0, 0),
272 SND_SOC_DAPM_AIF_IN("IN 2", NULL, 0, SND_SOC_NOPM, 0, 0),
273 SND_SOC_DAPM_AIF_IN("IN 3", NULL, 0, SND_SOC_NOPM, 0, 0),
274 SND_SOC_DAPM_AIF_IN("IN 4", NULL, 0, SND_SOC_NOPM, 0, 0),
275 SND_SOC_DAPM_AIF_IN("IN 5", NULL, 0, SND_SOC_NOPM, 0, 0),
276 SND_SOC_DAPM_AIF_IN("IN 6", NULL, 0, SND_SOC_NOPM, 0, 0),
277 SND_SOC_DAPM_AIF_IN("IN 7", NULL, 0, SND_SOC_NOPM, 0, 0),
278 SND_SOC_DAPM_AIF_IN("IN 8", NULL, 0, SND_SOC_NOPM, 0, 0),
279 SND_SOC_DAPM_AIF_IN("IN 9", NULL, 0, SND_SOC_NOPM, 0, 0),
280 SND_SOC_DAPM_AIF_IN("IN 10", NULL, 0, SND_SOC_NOPM, 0, 0),
281 SND_SOC_DAPM_AIF_IN("IN 11", NULL, 0, SND_SOC_NOPM, 0, 0),
282 SND_SOC_DAPM_AIF_IN("IN 12", NULL, 0, SND_SOC_NOPM, 0, 0),
283 SND_SOC_DAPM_AIF_IN("IN 13", NULL, 0, SND_SOC_NOPM, 0, 0),
284 SND_SOC_DAPM_AIF_IN("IN 14", NULL, 0, SND_SOC_NOPM, 0, 0),
285 SND_SOC_DAPM_AIF_IN("IN 15", NULL, 0, SND_SOC_NOPM, 0, 0),
290 { "SRC SEL", "IN 0", "IN 0" },
291 { "SRC SEL", "IN 1", "IN 1" },
292 { "SRC SEL", "IN 2", "IN 2" },
293 { "SRC SEL", "IN 3", "IN 3" },
294 { "SRC SEL", "IN 4", "IN 4" },
295 { "SRC SEL", "IN 5", "IN 5" },
296 { "SRC SEL", "IN 6", "IN 6" },
297 { "SRC SEL", "IN 7", "IN 7" },
298 { "SRC SEL", "IN 8", "IN 8" },
299 { "SRC SEL", "IN 9", "IN 9" },
300 { "SRC SEL", "IN 10", "IN 10" },
301 { "SRC SEL", "IN 11", "IN 11" },
302 { "SRC SEL", "IN 12", "IN 12" },
303 { "SRC SEL", "IN 13", "IN 13" },
304 { "SRC SEL", "IN 14", "IN 14" },
305 { "SRC SEL", "IN 15", "IN 15" },
330 .compatible = "amlogic,axg-toddr",
333 .compatible = "amlogic,g12a-toddr",
336 .compatible = "amlogic,sm1-toddr",
345 .name = "axg-toddr",