Lines Matching +full:fifo +full:- +full:width

1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
14 #include <sound/soc-dai.h>
16 #include "axg-fifo.h"
42 struct axg_fifo *fifo = snd_soc_dai_get_drvdata(dai); in g12a_toddr_dai_prepare() local
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()
59 struct axg_fifo *fifo = snd_soc_dai_get_drvdata(dai); in axg_toddr_dai_hw_params() local
60 unsigned int type, width; in axg_toddr_dai_hw_params() local
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()
76 width = params_width(params); 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()
92 struct axg_fifo *fifo = snd_soc_dai_get_drvdata(dai); in axg_toddr_dai_startup() local
95 /* Enable pclk to access registers and clock the fifo ip */ in axg_toddr_dai_startup()
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()
116 struct axg_fifo *fifo = snd_soc_dai_get_drvdata(dai); in axg_toddr_dai_shutdown() local
118 clk_disable_unprepare(fifo->pclk); in axg_toddr_dai_shutdown()
197 struct axg_fifo *fifo = snd_soc_dai_get_drvdata(dai); in g12a_toddr_dai_startup() local
209 regmap_update_bits(fifo->map, FIFO_CTRL0, CTRL0_TODDR_SYNC_CH, in g12a_toddr_dai_startup()
328 .compatible = "amlogic,axg-toddr",
331 .compatible = "amlogic,g12a-toddr",
334 .compatible = "amlogic,sm1-toddr",
343 .name = "axg-toddr",
349 MODULE_DESCRIPTION("Amlogic AXG capture fifo driver");