Lines Matching +full:sel +full:- +full:clk
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
9 #include <linux/clk.h>
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()
151 SND_SOC_DAPM_MUX("SRC SEL", SND_SOC_NOPM, 0, 0, &axg_toddr_in_mux),
163 { "Capture", NULL, "SRC SEL" },
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" },
209 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_SYNC_CH, in g12a_toddr_dai_startup()
269 SND_SOC_DAPM_MUX("SRC SEL", SND_SOC_NOPM, 0, 0, &sm1_toddr_in_mux),
289 { "Capture", NULL, "SRC SEL" },
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",