freescale mx6q_sabresd kernel之sound分析

kernel/sound

soc/imx/imx-wm8962.c
soc/imx/imx-wm8958.c
static struct snd_soc_dai_link imx_dai[] = {
        {
                .name = "HiFi",
                .stream_name = "HiFi",
                .codec_dai_name = "wm8962",
                .codec_name     = "wm8962.0-001a",
                .cpu_dai_name   = "imx-ssi.1",
                .platform_name  = "imx-pcm-audio.1",
                .init           = imx_wm8962_init,
                .ops            = &imx_hifi_ops,
        },
};
static struct snd_soc_card snd_soc_card_imx = {
        .name           = "wm8962-audio",
        .dai_link       = imx_dai,
        .num_links      = ARRAY_SIZE(imx_dai),
};
wm8962.0-001a
static int __init imx_asoc_init(void)
{
        int ret;


        ret = platform_driver_register(&imx_wm8962_driver);
        if (ret < 0)
                goto exit;


        if (machine_is_mx6q_sabresd())
                imx_dai[0].codec_name = "wm8962.0-001a";
        else if (machine_is_mx6sl_arm2() | machine_is_mx6sl_evk())
                imx_dai[0].codec_name = "wm8962.1-001a";


        imx_snd_device = platform_device_alloc("soc-audio", 5);
        if (!imx_snd_device)
                goto err_device_alloc;


        platform_set_drvdata(imx_snd_device, &snd_soc_card_imx);


        ret = platform_device_add(imx_snd_device);


        if (0 == ret)
                goto exit;


        platform_device_put(imx_snd_device);


err_device_alloc:
        platform_driver_unregister(&imx_wm8962_driver);
exit:
        return ret;
}




soc/imx/imx-pcm-dma-mx2.c (imx-pcm-audio)
static struct platform_driver imx_pcm_driver = {
        .driver = {
                        .name = "imx-pcm-audio",
                        .owner = THIS_MODULE,
        },
        .probe = imx_soc_platform_probe,
        .remove = __devexit_p(imx_soc_platform_remove),
};




soc/imx/imx-ssi.c  (imx-ssi)
static struct platform_driver imx_ssi_driver = {
        .probe = imx_ssi_probe,
        .remove = __devexit_p(imx_ssi_remove),


        .driver = {
                .name = "imx-ssi",
                .owner = THIS_MODULE,
        },
};


drivers/mmc/host/sdhci-pltfm.c
drivers/mmc/host/sdhci-esdhc-imx.c
DMA  SD


module_init(wm8962_modinit);
static int __init wm8962_modinit(void)  (wm8962_i2c_driver)
static struct i2c_driver wm8962_i2c_driver    (.probe =    wm8962_i2c_probe)
static __devinit int wm8962_i2c_probe(struct i2c_client *i2c,
                                      const struct i2c_device_id *id)   (soc_codec_dev_wm8962)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值