您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ snd_soc_dai_set_sysclk函数代码示例

51自学网 2021-06-03 08:03:01
  C++
这篇教程C++ snd_soc_dai_set_sysclk函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中snd_soc_dai_set_sysclk函数的典型用法代码示例。如果您正苦于以下问题:C++ snd_soc_dai_set_sysclk函数的具体用法?C++ snd_soc_dai_set_sysclk怎么用?C++ snd_soc_dai_set_sysclk使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了snd_soc_dai_set_sysclk函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: bfin_eval_adau1373_hw_params

static int bfin_eval_adau1373_hw_params(struct snd_pcm_substream *substream,                                        struct snd_pcm_hw_params *params){    struct snd_soc_pcm_runtime *rtd = substream->private_data;    struct snd_soc_dai *codec_dai = rtd->codec_dai;    int ret;    int pll_rate;    switch (params_rate(params)) {    case 48000:    case 8000:    case 12000:    case 16000:    case 24000:    case 32000:        pll_rate = 48000 * 1024;        break;    case 44100:    case 7350:    case 11025:    case 14700:    case 22050:    case 29400:        pll_rate = 44100 * 1024;        break;    default:        return -EINVAL;    }    ret = snd_soc_dai_set_pll(codec_dai, ADAU1373_PLL1,                              ADAU1373_PLL_SRC_MCLK1, 12288000, pll_rate);    if (ret)        return ret;    ret = snd_soc_dai_set_sysclk(codec_dai, ADAU1373_CLK_SRC_PLL1, pll_rate,                                 SND_SOC_CLOCK_IN);    return ret;}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:39,


示例2: bf5xx_ad193x_link_init

static int bf5xx_ad193x_link_init(struct snd_soc_pcm_runtime *rtd){	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	int ret;	/* set the codec system clock for DAC and ADC */	ret = snd_soc_dai_set_sysclk(codec_dai, 0, 24576000, SND_SOC_CLOCK_IN);	if (ret < 0)		return ret;	/* set codec DAI slots, 8 channels, all channels are enabled */	ret = snd_soc_dai_set_tdm_slot(codec_dai, 0xFF, 0xFF, 8, 32);	if (ret < 0)		return ret;	ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0xFF, 0xFF, 8, 32);	if (ret < 0)		return ret;	return 0;}
开发者ID:020gzh,项目名称:linux,代码行数:22,


示例3: omap2evm_hw_params

static int omap2evm_hw_params(struct snd_pcm_substream *substream,	struct snd_pcm_hw_params *params,	struct snd_soc_dai *dai){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->dai->codec_dai;	struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;	int ret;	/* Set codec DAI configuration */	ret = snd_soc_dai_set_fmt(codec_dai,				  SND_SOC_DAIFMT_I2S |				  SND_SOC_DAIFMT_NB_NF |				  SND_SOC_DAIFMT_CBM_CFM);	if (ret < 0) {		printk(KERN_ERR "can't set codec DAI configuration/n");		return ret;	}	/* Set cpu DAI configuration */	ret = snd_soc_dai_set_fmt(cpu_dai,				  SND_SOC_DAIFMT_I2S |				  SND_SOC_DAIFMT_NB_NF |				  SND_SOC_DAIFMT_CBM_CFM);	if (ret < 0) {		printk(KERN_ERR "can't set cpu DAI configuration/n");		return ret;	}	/* Set the codec system clock for DAC and ADC */	ret = snd_soc_dai_set_sysclk(codec_dai, 0, 26000000,					    SND_SOC_CLOCK_IN);	if (ret < 0) {		printk(KERN_ERR "can't set codec system clock/n");		return ret;	}	return 0;}
开发者ID:johnny,项目名称:CobraDroidBeta,代码行数:39,


示例4: tegra_wm8753_hw_params

static int tegra_wm8753_hw_params(struct snd_pcm_substream *substream,					struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	struct snd_soc_codec *codec = codec_dai->codec;	struct snd_soc_card *card = codec->card;	struct tegra_wm8753 *machine = snd_soc_card_get_drvdata(card);	int srate, mclk;	int err;	srate = params_rate(params);	switch (srate) {	case 11025:	case 22050:	case 44100:	case 88200:		mclk = 11289600;		break;	default:		mclk = 12288000;		break;	}	err = tegra_asoc_utils_set_rate(&machine->util_data, srate, mclk);	if (err < 0) {		dev_err(card->dev, "Can't configure clocks/n");		return err;	}	err = snd_soc_dai_set_sysclk(codec_dai, WM8753_MCLK, mclk,					SND_SOC_CLOCK_IN);	if (err < 0) {		dev_err(card->dev, "codec_dai clock not set/n");		return err;	}	return 0;}
开发者ID:ARMWorks,项目名称:FA_2451_Linux_Kernel,代码行数:39,


示例5: imx_mc13783_hifi_hw_params

static int imx_mc13783_hifi_hw_params(struct snd_pcm_substream *substream,	struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	int ret;	ret = snd_soc_dai_set_tdm_slot(codec_dai, 0x3, 0x3, 4, 16);	if (ret)		return ret;	ret = snd_soc_dai_set_sysclk(codec_dai, MC13783_CLK_CLIA, 26000000, 0);	if (ret)		return ret;	ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0x3, 0x3, 2, 16);	if (ret)		return ret;	return 0;}
开发者ID:19Dan01,项目名称:linux,代码行数:22,


示例6: at91sam9g20ek_wm8731_init

/* * Logic for a wm8731 as connected on a at91sam9g20ek board. */static int at91sam9g20ek_wm8731_init(struct snd_soc_codec *codec){	struct snd_soc_dai *codec_dai = &codec->dai[0];	int ret;	printk(KERN_DEBUG			"at91sam9g20ek_wm8731 "			": at91sam9g20ek_wm8731_init() called/n");	ret = snd_soc_dai_set_sysclk(codec_dai, WM8731_SYSCLK,		MCLK_RATE, SND_SOC_CLOCK_IN);	if (ret < 0) {		printk(KERN_ERR "Failed to set WM8731 SYSCLK: %d/n", ret);		return ret;	}	/* Add specific widgets */	snd_soc_dapm_new_controls(codec, at91sam9g20ek_dapm_widgets,				  ARRAY_SIZE(at91sam9g20ek_dapm_widgets));	/* Set up specific audio path interconnects */	snd_soc_dapm_add_routes(codec, intercon, ARRAY_SIZE(intercon));	/* not connected */	snd_soc_dapm_nc_pin(codec, "RLINEIN");	snd_soc_dapm_nc_pin(codec, "LLINEIN");#ifdef ENABLE_MIC_INPUT	snd_soc_dapm_enable_pin(codec, "Int Mic");#else	snd_soc_dapm_nc_pin(codec, "Int Mic");#endif	/* always connected */	snd_soc_dapm_enable_pin(codec, "Ext Spk");	snd_soc_dapm_sync(codec);	return 0;}
开发者ID:12rafael,项目名称:jellytimekernel,代码行数:42,


示例7: a370db_hw_params

static int a370db_hw_params(struct snd_pcm_substream *substream,			    struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	unsigned int freq;	switch (params_rate(params)) {	default:	case 44100:		freq = 11289600;		break;	case 48000:		freq = 12288000;		break;	case 96000:		freq = 24576000;		break;	}	return snd_soc_dai_set_sysclk(codec_dai, 0, freq, SND_SOC_CLOCK_IN);}
开发者ID:AlexShiLucky,项目名称:linux,代码行数:22,


示例8: osk_hw_params

static int osk_hw_params(struct snd_pcm_substream *substream,			 struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;	int err;	/* Set codec DAI configuration */	err = snd_soc_dai_set_fmt(codec_dai,				  SND_SOC_DAIFMT_DSP_B |				  SND_SOC_DAIFMT_NB_NF |				  SND_SOC_DAIFMT_CBM_CFM);	if (err < 0) {		printk(KERN_ERR "can't set codec DAI configuration/n");		return err;	}	/* Set cpu DAI configuration */	err = snd_soc_dai_set_fmt(cpu_dai,				  SND_SOC_DAIFMT_DSP_B |				  SND_SOC_DAIFMT_NB_NF |				  SND_SOC_DAIFMT_CBM_CFM);	if (err < 0) {		printk(KERN_ERR "can't set cpu DAI configuration/n");		return err;	}	/* Set the codec system clock for DAC and ADC */	err =	    snd_soc_dai_set_sysclk(codec_dai, 0, CODEC_CLOCK, SND_SOC_CLOCK_IN);	if (err < 0) {		printk(KERN_ERR "can't set codec system clock/n");		return err;	}	return err;}
开发者ID:nos1609,项目名称:Chrono_Kernel-1,代码行数:39,


示例9: sdp4430_dmic_hw_params

static int sdp4430_dmic_hw_params(struct snd_pcm_substream *substream,	struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;	int ret = 0;	ret = snd_soc_dai_set_sysclk(cpu_dai, OMAP_DMIC_SYSCLK_PAD_CLKS,				     19200000, SND_SOC_CLOCK_IN);	if (ret < 0) {		printk(KERN_ERR "can't set DMIC cpu system clock/n");		return ret;	}	ret = snd_soc_dai_set_clkdiv(cpu_dai, OMAP_DMIC_CLKDIV, 8);	if (ret < 0) {		printk(KERN_ERR "can't set DMIC cpu clock divider/n");		return ret;	}	return 0;}
开发者ID:mephistophilis,项目名称:samsung_nowplus_kernel,代码行数:22,


示例10: sunxi_sndspdif_hw_params

static int sunxi_sndspdif_hw_params(struct snd_pcm_substream *substream,					struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;	int ret = 0;	unsigned long rate = params_rate(params);	unsigned int fmt = 0;	u32 mclk_div=0, mpll=0, bclk_div=0, mult_fs=0;	get_clock_divder(rate, 32, &mclk_div, &mpll, &bclk_div, &mult_fs);		if (ret < 0)		return ret;#ifdef CONFIG_SND_SUNXI_SOC_SUPPORT_AUDIO_RAW	/*fmt:1:pcm; >1:rawdata*/	fmt = params_raw(params);#else	fmt = spdif_format;#endif	if(fmt > 1){		fmt = 1;	}else{		fmt = 0;	}	ret = snd_soc_dai_set_fmt(cpu_dai, fmt);//0:pcm,1:raw data	if (ret < 0)		return ret;	ret = snd_soc_dai_set_sysclk(cpu_dai, 0 , mpll, 0);	if (ret < 0)		return ret;	ret = snd_soc_dai_set_clkdiv(cpu_dai, SUNXI_DIV_MCLK, mclk_div);	if (ret < 0)		return ret;	return 0;}
开发者ID:GREYFOXRGR,项目名称:BPI-M3-bsp,代码行数:39,


示例11: zoom2_hw_voice_params

static int zoom2_hw_voice_params(struct snd_pcm_substream *substream,				struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;	int ret;	/* Set codec DAI configuration */	ret = snd_soc_dai_set_fmt(codec_dai,				SND_SOC_DAIFMT_DSP_A |				SND_SOC_DAIFMT_IB_NF |				SND_SOC_DAIFMT_CBM_CFM);	if (ret) {;		return ret;	}	/* Set cpu DAI configuration */	ret = snd_soc_dai_set_fmt(cpu_dai,				SND_SOC_DAIFMT_DSP_A |				SND_SOC_DAIFMT_IB_NF |				SND_SOC_DAIFMT_CBM_CFM);	if (ret < 0) {;		return ret;	}	/* Set the codec system clock for DAC and ADC */	ret = snd_soc_dai_set_sysclk(codec_dai, 0, 26000000,					SND_SOC_CLOCK_IN);	if (ret < 0) {;		return ret;	}	return 0;}
开发者ID:rrowicki,项目名称:Chrono_Kernel-1,代码行数:38,


示例12: hub_pcm_hw_params

static int hub_pcm_hw_params(struct snd_pcm_substream *substream,	struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;	int ret;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	int divisor;	omap3_mux_config("OMAP_MCBSP3_MASTER");	/* Set cpu DAI configuration */	ret = snd_soc_dai_set_fmt(cpu_dai,				  SND_SOC_DAIFMT_DSP_A |				  SND_SOC_DAIFMT_IB_IF |				  SND_SOC_DAIFMT_CBS_CFS);	if (ret < 0) {		printk(KERN_ERR "can't set cpu DAI configuration/n");		return ret;	}	/* Use external (CLK256FS) clock for mcBSP3 */	ret = snd_soc_dai_set_sysclk(cpu_dai, OMAP_MCBSP_SYSCLK_CLKS_FCLK, //iggikim 20091012 bs300 mic			0, SND_SOC_CLOCK_OUT);	if (ret < 0) {		printk(KERN_ERR "can't set mcBSP3 to external clock/n");		return ret;	}	ret = snd_soc_dai_set_clkdiv(cpu_dai, OMAP_MCBSP_CLKGDV, 75); //iggikim 20091012 bs300 mic	if (ret < 0) {		printk(KERN_ERR "can't set codec clock divisor/n");		return ret;	}	return 0;}
开发者ID:ARMP,项目名称:ARM-Project,代码行数:38,


示例13: speyside_set_bias_level_post

static int speyside_set_bias_level_post(struct snd_soc_card *card,					struct snd_soc_dapm_context *dapm,					enum snd_soc_bias_level level){	struct snd_soc_dai *codec_dai = card->rtd[0].codec_dai;	int ret;	if (dapm->dev != codec_dai->dev)		return 0;	switch (level) {	case SND_SOC_BIAS_PREPARE:		if (card->dapm.bias_level == SND_SOC_BIAS_STANDBY) {			ret = snd_soc_dai_set_pll(codec_dai, 0,						  WM8996_FLL_MCLK2,						  32768, 48000 * 256);			if (ret < 0) {				pr_err("Failed to start FLL/n");				return ret;			}			ret = snd_soc_dai_set_sysclk(codec_dai,						     WM8996_SYSCLK_FLL,						     48000 * 256,						     SND_SOC_CLOCK_IN);			if (ret < 0)				return ret;		}		break;	default:		break;	}	card->dapm.bias_level = level;	return 0;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:38,


示例14: cz_aif1_hw_params

static int cz_aif1_hw_params(struct snd_pcm_substream *substream,			     struct snd_pcm_hw_params *params){	int ret = 0;	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	ret = snd_soc_dai_set_pll(codec_dai, 0, RT5645_PLL1_S_MCLK,				  CZ_PLAT_CLK, params_rate(params) * 512);	if (ret < 0) {		dev_err(rtd->dev, "can't set codec pll: %d/n", ret);		return ret;	}	ret = snd_soc_dai_set_sysclk(codec_dai, RT5645_SCLK_S_PLL1,				params_rate(params) * 512, SND_SOC_CLOCK_OUT);	if (ret < 0) {		dev_err(rtd->dev, "can't set codec sysclk: %d/n", ret);		return ret;	}	return ret;}
开发者ID:ReneNyffenegger,项目名称:linux,代码行数:23,


示例15: t5325_hw_params

static int t5325_hw_params(struct snd_pcm_substream *substream,		struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;	int ret;	unsigned int freq, fmt;	fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBS_CFS;	ret = snd_soc_dai_set_fmt(cpu_dai, fmt);	if (ret < 0)		return ret;	ret = snd_soc_dai_set_fmt(codec_dai, fmt);	if (ret < 0)		return ret;	freq = params_rate(params) * 256;	return snd_soc_dai_set_sysclk(codec_dai, 0, freq, SND_SOC_CLOCK_IN);}
开发者ID:1yankeedt,项目名称:D710BST_FL24_Kernel,代码行数:23,


示例16: byt_rt5640_hw_params

static int byt_rt5640_hw_params(struct snd_pcm_substream *substream,				struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	int ret;	ret = snd_soc_dai_set_sysclk(codec_dai, RT5640_SCLK_S_PLL1,				     params_rate(params) * 256,				     SND_SOC_CLOCK_IN);	if (ret < 0) {		dev_err(codec_dai->dev, "can't set codec clock %d/n", ret);		return ret;	}	ret = snd_soc_dai_set_pll(codec_dai, 0, RT5640_PLL1_S_BCLK1,				  params_rate(params) * 64,				  params_rate(params) * 256);	if (ret < 0) {		dev_err(codec_dai->dev, "can't set codec pll: %d/n", ret);		return ret;	}	return 0;}
开发者ID:383530895,项目名称:linux,代码行数:23,


示例17: omap4_wm8994_start_fll1

static void omap4_wm8994_start_fll1(struct snd_soc_dai *aif1_dai){	int ret;	dev_info(aif1_dai->dev, "Moving to audio clocking settings/n");	/* Switch the FLL */	ret = snd_soc_dai_set_pll(aif1_dai,				  WM8994_FLL1,				  WM8994_FLL_SRC_MCLK1,				  26000000, 44100 * 256);	if (ret < 0)		dev_err(aif1_dai->dev, "Unable to start FLL1: %d/n", ret);	/* Then switch AIF1CLK to it */	ret = snd_soc_dai_set_sysclk(aif1_dai,				     WM8994_SYSCLK_FLL1,				     44100 * 256,				     SND_SOC_CLOCK_IN);	if (ret < 0)		dev_err(aif1_dai->dev, "Unable to switch to FLL1: %d/n", ret);}
开发者ID:nickh186,项目名称:Samsung-GT-P3113-AOSP-CM-Kernel-and-Ramdisk,代码行数:23,


示例18: bfin_eval_adau1701_hw_params

static int bfin_eval_adau1701_hw_params(struct snd_pcm_substream *substream,	struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	int ret;	ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |			SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);	if (ret)		return ret;	ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S |			SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);	if (ret)		return ret;	ret = snd_soc_dai_set_sysclk(codec_dai, ADAU1701_CLK_SRC_OSC, 12288000,			SND_SOC_CLOCK_IN);	return ret;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:23,


示例19: aml_asoc_hw_params

static int aml_asoc_hw_params(struct snd_pcm_substream *substream,    struct snd_pcm_hw_params *params){    struct snd_soc_pcm_runtime *rtd = substream->private_data;    struct snd_soc_dai *codec_dai = rtd->codec_dai;    struct snd_soc_dai *cpu_dai = rtd->cpu_dai;    int ret;    printk(KERN_DEBUG "enter %s stream: %s rate: %d format: %d/n", __func__, (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? "playback" : "capture", params_rate(params), params_format(params));    /* set codec DAI configuration */    ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S |        SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);    if (ret < 0) {        printk(KERN_ERR "%s: set codec dai fmt failed!/n", __func__);        return ret;    }    /* set cpu DAI configuration */    ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |        SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);    if (ret < 0) {        printk(KERN_ERR "%s: set cpu dai fmt failed!/n", __func__);        return ret;    }    /*set codec DAI sysclk divider,now 512fs for MCLK,sysclk divide 2  */    snd_soc_dai_set_clkdiv(codec_dai,WM8960_SYSCLKDIV,WM8960_SYSCLK_DIV_2);        /* set cpu DAI clock */    ret = snd_soc_dai_set_sysclk(cpu_dai, 0, params_rate(params) * 512, SND_SOC_CLOCK_OUT);    if (ret < 0) {        printk(KERN_ERR "%s: set cpu dai sysclk failed (rate: %d)!/n", __func__, params_rate(params));        return ret;    }    return 0;}
开发者ID:enmaca,项目名称:linux-amlogic,代码行数:37,


示例20: bf5xx_ssm2602_hw_params

static int bf5xx_ssm2602_hw_params(struct snd_pcm_substream *substream,	struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	unsigned int clk = 0;	int ret = 0;	pr_debug("%s rate %d format %x/n", __func__, params_rate(params),		params_format(params));	/*	 * If you are using a crystal source which frequency is not 12MHz	 * then modify the below case statement with frequency of the crystal.	 *	 * If you are using the SPORT to generate clocking then this is	 * where to do it.	 */	switch (params_rate(params)) {	case 8000:	case 16000:	case 48000:	case 96000:	case 11025:	case 22050:	case 44100:		clk = 12000000;		break;	}	ret = snd_soc_dai_set_sysclk(codec_dai, SSM2602_SYSCLK, clk,		SND_SOC_CLOCK_IN);	if (ret < 0)		return ret;	return 0;}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:37,


示例21: fsl_asoc_card_late_probe

static int fsl_asoc_card_late_probe(struct snd_soc_card *card){	struct fsl_asoc_card_priv *priv = snd_soc_card_get_drvdata(card);	struct snd_soc_pcm_runtime *rtd = list_first_entry(			&card->rtd_list, struct snd_soc_pcm_runtime, list);	struct snd_soc_dai *codec_dai = rtd->codec_dai;	struct codec_priv *codec_priv = &priv->codec_priv;	struct device *dev = card->dev;	int ret;	if (fsl_asoc_card_is_ac97(priv)) {#if IS_ENABLED(CONFIG_SND_AC97_CODEC)		struct snd_soc_codec *codec = rtd->codec;		struct snd_ac97 *ac97 = snd_soc_codec_get_drvdata(codec);		/*		 * Use slots 3/4 for S/PDIF so SSI won't try to enable		 * other slots and send some samples there		 * due to SLOTREQ bits for S/PDIF received from codec		 */		snd_ac97_update_bits(ac97, AC97_EXTENDED_STATUS,				     AC97_EA_SPSA_SLOT_MASK, AC97_EA_SPSA_3_4);#endif		return 0;	}	ret = snd_soc_dai_set_sysclk(codec_dai, codec_priv->mclk_id,				     codec_priv->mclk_freq, SND_SOC_CLOCK_IN);	if (ret) {		dev_err(dev, "failed to set sysclk in %s/n", __func__);		return ret;	}	return 0;}
开发者ID:AshishNamdev,项目名称:linux,代码行数:36,


示例22: __asoc_simple_card_dai_init

static int __asoc_simple_card_dai_init(struct snd_soc_dai *dai,                                       struct asoc_simple_dai *set){    int ret;    if (set->fmt) {        ret = snd_soc_dai_set_fmt(dai, set->fmt);        if (ret && ret != -ENOTSUPP) {            dev_err(dai->dev, "simple-card: set_fmt error/n");            goto err;        }    }    if (set->sysclk) {        ret = snd_soc_dai_set_sysclk(dai, 0, set->sysclk, 0);        if (ret && ret != -ENOTSUPP) {            dev_err(dai->dev, "simple-card: set_sysclk error/n");            goto err;        }    }    if (set->slots) {        ret = snd_soc_dai_set_tdm_slot(dai, 0, 0,                                       set->slots,                                       set->slot_width);        if (ret && ret != -ENOTSUPP) {            dev_err(dai->dev, "simple-card: set_tdm_slot error/n");            goto err;        }    }    ret = 0;err:    return ret;}
开发者ID:mikemvk,项目名称:linux-at91,代码行数:36,


示例23: rk29_rk1000_codec_init

static int rk29_rk1000_codec_init(struct snd_soc_codec *codec) {//	struct snd_soc_dai *codec_dai = &codec->dai[0];	int ret;		DBG("Enter::%s----%d/n",__FUNCTION__,__LINE__);		ret = snd_soc_dai_set_sysclk(codec_dai, 0,	                                11289600, SND_SOC_CLOCK_IN);	if (ret < 0) {	        printk(KERN_ERR "Failed to set WM8988 SYSCLK: %d/n", ret);	        return ret;	}		/* Add specific widgets */	snd_soc_dapm_new_controls(codec, rk29_dapm_widgets,			  ARRAY_SIZE(rk29_dapm_widgets));		/* Set up specific audio path audio_mapnects */	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));		snd_soc_dapm_sync(codec);		return 0;}
开发者ID:dream1986,项目名称:Linux3188,代码行数:24,


示例24: tobermory_set_bias_level

static int tobermory_set_bias_level(struct snd_soc_card *card,					  struct snd_soc_dapm_context *dapm,					  enum snd_soc_bias_level level){	struct snd_soc_dai *codec_dai = card->rtd[0].codec_dai;	int ret;	if (dapm->dev != codec_dai->dev)		return 0;	switch (level) {	case SND_SOC_BIAS_PREPARE:		if (dapm->bias_level == SND_SOC_BIAS_STANDBY) {			ret = snd_soc_dai_set_pll(codec_dai, WM8962_FLL,						  WM8962_FLL_MCLK, 32768,						  sample_rate * 512);			if (ret < 0)				pr_err("Failed to start FLL: %d/n", ret);			ret = snd_soc_dai_set_sysclk(codec_dai,						     WM8962_SYSCLK_FLL,						     sample_rate * 512,						     SND_SOC_CLOCK_IN);			if (ret < 0) {				pr_err("Failed to set SYSCLK: %d/n", ret);				return ret;			}		}		break;	default:		break;	}	return 0;}
开发者ID:33d,项目名称:linux-2.6.21-hh20,代码行数:36,


示例25: cht_aif1_hw_params

static int cht_aif1_hw_params(struct snd_pcm_substream *substream,			     struct snd_pcm_hw_params *params){	struct snd_soc_pcm_runtime *rtd = substream->private_data;	struct snd_soc_dai *codec_dai = rtd->codec_dai;	int ret;	/* set codec PLL source to the 19.2MHz platform clock (MCLK) */	ret = snd_soc_dai_set_pll(codec_dai, 0, RT5645_PLL1_S_MCLK,				  CHT_PLAT_CLK_3_HZ, params_rate(params) * 512);	if (ret < 0) {		dev_err(rtd->dev, "can't set codec pll: %d/n", ret);		return ret;	}	ret = snd_soc_dai_set_sysclk(codec_dai, RT5645_SCLK_S_PLL1,				params_rate(params) * 512, SND_SOC_CLOCK_IN);	if (ret < 0) {		dev_err(rtd->dev, "can't set codec sysclk: %d/n", ret);		return ret;	}	return 0;}
开发者ID:AlexShiLucky,项目名称:linux,代码行数:24,



注:本文中的snd_soc_dai_set_sysclk函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ snd_soc_dapm_add_routes函数代码示例
C++ snd_soc_dai_set_fmt函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。