pcm3168a.c (c95baf12f5077419db01313ab61c2aac007d40cd) pcm3168a.c (1eb2c43d26a585bbbe196360e921c5ffe9d00fd1)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * PCM3168A codec driver
4 *
5 * Copyright (C) 2015 Imagination Technologies Ltd.
6 *
7 * Author: Damien Horsley <Damien.Horsley@imgtec.com>
8 */

--- 276 unchanged lines hidden (view full) ---

285
286 /* Internal reset is de-asserted after 3846 SCKI cycles */
287 msleep(DIV_ROUND_UP(3846 * 1000, pcm3168a->sysclk));
288
289 return regmap_write(pcm3168a->regmap, PCM3168A_RST_SMODE,
290 PCM3168A_MRST_MASK | PCM3168A_SRST_MASK);
291}
292
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * PCM3168A codec driver
4 *
5 * Copyright (C) 2015 Imagination Technologies Ltd.
6 *
7 * Author: Damien Horsley <Damien.Horsley@imgtec.com>
8 */

--- 276 unchanged lines hidden (view full) ---

285
286 /* Internal reset is de-asserted after 3846 SCKI cycles */
287 msleep(DIV_ROUND_UP(3846 * 1000, pcm3168a->sysclk));
288
289 return regmap_write(pcm3168a->regmap, PCM3168A_RST_SMODE,
290 PCM3168A_MRST_MASK | PCM3168A_SRST_MASK);
291}
292
293static int pcm3168a_digital_mute(struct snd_soc_dai *dai, int mute)
293static int pcm3168a_mute(struct snd_soc_dai *dai, int mute, int direction)
294{
295 struct snd_soc_component *component = dai->component;
296 struct pcm3168a_priv *pcm3168a = snd_soc_component_get_drvdata(component);
297
298 regmap_write(pcm3168a->regmap, PCM3168A_DAC_MUTE, mute ? 0xff : 0);
299
300 return 0;
301}

--- 263 unchanged lines hidden (view full) ---

565
566 return 0;
567}
568
569static const struct snd_soc_dai_ops pcm3168a_dai_ops = {
570 .set_fmt = pcm3168a_set_dai_fmt,
571 .set_sysclk = pcm3168a_set_dai_sysclk,
572 .hw_params = pcm3168a_hw_params,
294{
295 struct snd_soc_component *component = dai->component;
296 struct pcm3168a_priv *pcm3168a = snd_soc_component_get_drvdata(component);
297
298 regmap_write(pcm3168a->regmap, PCM3168A_DAC_MUTE, mute ? 0xff : 0);
299
300 return 0;
301}

--- 263 unchanged lines hidden (view full) ---

565
566 return 0;
567}
568
569static const struct snd_soc_dai_ops pcm3168a_dai_ops = {
570 .set_fmt = pcm3168a_set_dai_fmt,
571 .set_sysclk = pcm3168a_set_dai_sysclk,
572 .hw_params = pcm3168a_hw_params,
573 .digital_mute = pcm3168a_digital_mute,
573 .mute_stream = pcm3168a_mute,
574 .set_tdm_slot = pcm3168a_set_tdm_slot,
574 .set_tdm_slot = pcm3168a_set_tdm_slot,
575 .no_capture_mute = 1,
575};
576
577static struct snd_soc_dai_driver pcm3168a_dais[] = {
578 {
579 .name = "pcm3168a-dac",
580 .id = PCM3168A_DAI_DAC,
581 .playback = {
582 .stream_name = "Playback",

--- 318 unchanged lines hidden ---
576};
577
578static struct snd_soc_dai_driver pcm3168a_dais[] = {
579 {
580 .name = "pcm3168a-dac",
581 .id = PCM3168A_DAI_DAC,
582 .playback = {
583 .stream_name = "Playback",

--- 318 unchanged lines hidden ---