Lines Matching +full:ssc +full:- +full:on
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * sam9g20_wm8731 -- SoC audio for AT91SAM9G20-based
11 * Based on ati_b1_wm8731.c by:
14 * Based on corgi.c by:
28 #include <linux/atmel-ssc.h>
36 #include "atmel-pcm.h"
65 * Logic for a wm8731 as connected on a at91sam9g20ek board.
70 struct device *dev = rtd->dev; in at91sam9g20ek_wm8731_init()
83 snd_soc_dapm_nc_pin(&rtd->card->dapm, "Int Mic"); in at91sam9g20ek_wm8731_init()
91 DAILINK_COMP_ARRAY(COMP_CODEC("wm8731.0-001b", "wm8731-hifi")),
107 .name = "AT91SAMG20-EK",
121 struct device_node *np = pdev->dev.of_node; in at91sam9g20ek_audio_probe()
127 return -ENODEV; in at91sam9g20ek_audio_probe()
132 dev_err(&pdev->dev, "ssc channel is not valid: %d\n", ret); in at91sam9g20ek_audio_probe()
136 card->dev = &pdev->dev; in at91sam9g20ek_audio_probe()
144 "atmel,audio-routing"); in at91sam9g20ek_audio_probe()
149 at91sam9g20ek_dai.codecs->name = NULL; in at91sam9g20ek_audio_probe()
150 codec_np = of_parse_phandle(np, "atmel,audio-codec", 0); in at91sam9g20ek_audio_probe()
152 dev_err(&pdev->dev, "codec info missing\n"); in at91sam9g20ek_audio_probe()
153 ret = -EINVAL; in at91sam9g20ek_audio_probe()
156 at91sam9g20ek_dai.codecs->of_node = codec_np; in at91sam9g20ek_audio_probe()
159 at91sam9g20ek_dai.cpus->dai_name = NULL; in at91sam9g20ek_audio_probe()
160 at91sam9g20ek_dai.platforms->name = NULL; in at91sam9g20ek_audio_probe()
161 cpu_np = of_parse_phandle(np, "atmel,ssc-controller", 0); in at91sam9g20ek_audio_probe()
163 dev_err(&pdev->dev, "dai and pcm info missing\n"); in at91sam9g20ek_audio_probe()
165 ret = -EINVAL; in at91sam9g20ek_audio_probe()
168 at91sam9g20ek_dai.cpus->of_node = cpu_np; in at91sam9g20ek_audio_probe()
169 at91sam9g20ek_dai.platforms->of_node = cpu_np; in at91sam9g20ek_audio_probe()
176 dev_err_probe(&pdev->dev, ret, in at91sam9g20ek_audio_probe()
198 { .compatible = "atmel,at91sam9g20ek-wm8731-audio", },
206 .name = "at91sam9g20ek-audio",
218 MODULE_ALIAS("platform:at91sam9g20ek-audio");