Lines Matching refs:i2s
27 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai);
35 regmap_update_bits(i2s->regmap, LS_I2S_CTRL,
39 regmap_update_bits(i2s->regmap, LS_I2S_CTRL,
47 regmap_update_bits(i2s->regmap, LS_I2S_CTRL,
50 regmap_update_bits(i2s->regmap, LS_I2S_CTRL,
64 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai);
65 u32 clk_rate = i2s->clk_rate;
66 u32 sysclk = i2s->sysclk;
74 switch (i2s->rev_id) {
85 regmap_write(i2s->regmap, LS_I2S_CFG, val);
95 regmap_read(i2s->regmap, LS_I2S_CFG, &val);
102 regmap_write(i2s->regmap, LS_I2S_CFG, val);
105 regmap_write(i2s->regmap, LS_I2S_CFG1, val);
109 dev_err(i2s->dev, "I2S revision invalid\n");
119 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai);
121 i2s->sysclk = freq;
128 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai);
136 regmap_update_bits(i2s->regmap, LS_I2S_CTRL, I2S_CTRL_MSB,
149 regmap_update_bits(i2s->regmap, LS_I2S_CTRL, I2S_CTRL_MASTER,
151 if (i2s->rev_id == 1) {
152 ret = regmap_read_poll_timeout_atomic(i2s->regmap,
162 if (i2s->rev_id == 1) {
163 regmap_update_bits(i2s->regmap, LS_I2S_CTRL,
166 ret = regmap_read_poll_timeout_atomic(i2s->regmap,
176 if (i2s->rev_id == 1) {
177 regmap_update_bits(i2s->regmap, LS_I2S_CTRL,
180 ret = regmap_read_poll_timeout_atomic(i2s->regmap,
189 regmap_update_bits(i2s->regmap, LS_I2S_CTRL, I2S_CTRL_MASTER,
191 if (i2s->rev_id == 1) {
192 ret = regmap_read_poll_timeout_atomic(i2s->regmap,
209 struct loongson_i2s *i2s = dev_get_drvdata(cpu_dai->dev);
211 snd_soc_dai_init_dma_data(cpu_dai, &i2s->playback_dma_data,
212 &i2s->capture_dma_data);
213 snd_soc_dai_set_drvdata(cpu_dai, i2s);
227 .name = "loongson-i2s",
248 struct loongson_i2s *i2s = dev_get_drvdata(dev);
250 regcache_cache_only(i2s->regmap, true);
257 struct loongson_i2s *i2s = dev_get_drvdata(dev);
260 regcache_cache_only(i2s->regmap, false);
261 regcache_mark_dirty(i2s->regmap);
262 ret = regcache_sync(i2s->regmap);