Lines Matching +full:in +full:-
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
14 #include <sound/soc-dai.h>
16 #include "axg-fifo.h"
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()
49 regmap_update_bits(fifo->map, FIFO_CTRL1, in g12a_toddr_dai_prepare()
67 type = 2; /* 4 samples of 16 bits - right justified */ in axg_toddr_dai_hw_params()
70 type = 4; /* 2 samples of 32 bits - right justified */ in axg_toddr_dai_hw_params()
73 return -EINVAL; in axg_toddr_dai_hw_params()
78 regmap_update_bits(fifo->map, FIFO_CTRL0, in axg_toddr_dai_hw_params()
84 CTRL0_TODDR_LSB_POS(TODDR_MSB_POS - (width - 1))); in axg_toddr_dai_hw_params()
96 ret = clk_prepare_enable(fifo->pclk); in axg_toddr_dai_startup()
100 /* Select orginal data - resampling not supported ATM */ in axg_toddr_dai_startup()
101 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_SEL_RESAMPLE, 0); in axg_toddr_dai_startup()
104 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_EXT_SIGNED, in axg_toddr_dai_startup()
108 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_PP_MODE, 0); in axg_toddr_dai_startup()
118 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" },
204 * Make sure the first channel ends up in the at beginning of the output in g12a_toddr_dai_startup()
206 * in memory, with a random shift of 2 channels. in g12a_toddr_dai_startup()
208 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_SYNC_CH, in g12a_toddr_dai_startup()
254 "IN 0", "IN 1", "IN 2", "IN 3", "IN 4", "IN 5", "IN 6", "IN 7",
255 "IN 8", "IN 9", "IN 10", "IN 11", "IN 12", "IN 13", "IN 14", "IN 15"
266 SND_SOC_DAPM_AIF_IN("IN 0", NULL, 0, SND_SOC_NOPM, 0, 0),
267 SND_SOC_DAPM_AIF_IN("IN 1", NULL, 0, SND_SOC_NOPM, 0, 0),
268 SND_SOC_DAPM_AIF_IN("IN 2", NULL, 0, SND_SOC_NOPM, 0, 0),
269 SND_SOC_DAPM_AIF_IN("IN 3", NULL, 0, SND_SOC_NOPM, 0, 0),
270 SND_SOC_DAPM_AIF_IN("IN 4", NULL, 0, SND_SOC_NOPM, 0, 0),
271 SND_SOC_DAPM_AIF_IN("IN 5", NULL, 0, SND_SOC_NOPM, 0, 0),
272 SND_SOC_DAPM_AIF_IN("IN 6", NULL, 0, SND_SOC_NOPM, 0, 0),
273 SND_SOC_DAPM_AIF_IN("IN 7", NULL, 0, SND_SOC_NOPM, 0, 0),
274 SND_SOC_DAPM_AIF_IN("IN 8", NULL, 0, SND_SOC_NOPM, 0, 0),
275 SND_SOC_DAPM_AIF_IN("IN 9", NULL, 0, SND_SOC_NOPM, 0, 0),
276 SND_SOC_DAPM_AIF_IN("IN 10", NULL, 0, SND_SOC_NOPM, 0, 0),
277 SND_SOC_DAPM_AIF_IN("IN 11", NULL, 0, SND_SOC_NOPM, 0, 0),
278 SND_SOC_DAPM_AIF_IN("IN 12", NULL, 0, SND_SOC_NOPM, 0, 0),
279 SND_SOC_DAPM_AIF_IN("IN 13", NULL, 0, SND_SOC_NOPM, 0, 0),
280 SND_SOC_DAPM_AIF_IN("IN 14", NULL, 0, SND_SOC_NOPM, 0, 0),
281 SND_SOC_DAPM_AIF_IN("IN 15", NULL, 0, SND_SOC_NOPM, 0, 0),
286 { "SRC SEL", "IN 0", "IN 0" },
287 { "SRC SEL", "IN 1", "IN 1" },
288 { "SRC SEL", "IN 2", "IN 2" },
289 { "SRC SEL", "IN 3", "IN 3" },
290 { "SRC SEL", "IN 4", "IN 4" },
291 { "SRC SEL", "IN 5", "IN 5" },
292 { "SRC SEL", "IN 6", "IN 6" },
293 { "SRC SEL", "IN 7", "IN 7" },
294 { "SRC SEL", "IN 8", "IN 8" },
295 { "SRC SEL", "IN 9", "IN 9" },
296 { "SRC SEL", "IN 10", "IN 10" },
297 { "SRC SEL", "IN 11", "IN 11" },
298 { "SRC SEL", "IN 12", "IN 12" },
299 { "SRC SEL", "IN 13", "IN 13" },
300 { "SRC SEL", "IN 14", "IN 14" },
301 { "SRC SEL", "IN 15", "IN 15" },
325 .compatible = "amlogic,axg-toddr",
328 .compatible = "amlogic,g12a-toddr",
331 .compatible = "amlogic,sm1-toddr",
340 .name = "axg-toddr",