7539|19

468

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

调试S5PV210 IIS1 WM8960 wince、linux,android驱动方法 [复制链接]

 
网上比较好调试的是S5PV210 IIS0 WM8960 wince、linux,android驱动方法,但是我想用IIS1 接口,因为兼容AC97 接口,这个比较精妙。下面来分析一下IIS0 WM8960 的驱动先


static struct platform_device *smdkv210_devices[] __initdata = {
        &s3c_device_adc,
        &s3c_device_cfcon,
        &s3c_device_fb,
        &s3c_device_hsmmc0,
        &s3c_device_hsmmc1,
        &s3c_device_hsmmc2,
        &s3c_device_hsmmc3,
        &s3c_device_i2c0,
        &s3c_device_i2c1,
        &s3c_device_i2c2,

        &s3c_device_rtc,
        &s3c_device_ts,
        &s3c_device_wdt,
#ifdef CONFIG_SND_SAMSUNG_AC97
        &s5pv210_device_ac97,
#endif
#ifdef CONFIG_SND_SAMSUNG_I2S
        &s5pv210_device_iis0,
#endif


........
}
再来看看这个s5pv210_device_iis0 是怎么回事的
游客,如果您要查看本帖隐藏内容请回复


那我把
#ifdef CONFIG_SND_SAMSUNG_I2S
        &s5pv210_device_iis0,
#endif

改成IIS1 对应的
#ifdef CONFIG_SND_SAMSUNG_I2S
        &s5pv210_device_iis1,
#endif



岂不是OK了?O(∩_∩)O~
不过我看到了陷阱
#ifdef CONFIG_SND_SAMSUNG_AC97
        &s5pv210_device_ac97,
#endif
#ifdef CONFIG_SND_SAMSUNG_I2S
        &s5pv210_device_iis0,
#endif
        &s5pv210_device_spdif,
#ifdef CONFIG_SND_SAMSUNG_PCM
#ifdef CONFIG_SND_SAMSUNG_PCM_USE_I2S1_MCLK
        &s5pv210_device_pcm0,
#endif
#endif         /*end of CONFIG_SND_SAMSUNG_PCM*/


这个AC97 和PCM,IIS1是不能同时用的,他们引脚是复用的,所以先看看sate210_config文件看看配置先。

最新回复

学习了!   详情 回复 发表于 2015-1-24 17:04
点赞 关注
个人签名

回复
举报

468

帖子

0

TA的资源

纯净的硅(高级)

沙发
 

PRIVATE void IIS_port_initialize(IIS_CHANNEL mChnNum)
{
    //DEBUGMSG(ZONE_FUNCTION,(TEXT("[IIS] IIS_port_initialize() IIS Channel : %x \n\r"),mChnNum));

    ASSERT( (mChnNum == IIS_CH_0) || (mChnNum == IIS_CH_1)  || (mChnNum == IIS_CH_2));

    if (mChnNum == IIS_CH_0)
    {
        DEBUGMSG(1,(TEXT("I2S 0 Channel's GPIO Ports configuration...\n")));
        Set_PinFunction(g_pGPIOReg, GPI00_I2S_0_SCLK);   
        Set_PinFunction(g_pGPIOReg, GPI01_I2S_0_CDCLK);
        Set_PinFunction(g_pGPIOReg, GPI02_I2S_0_LRCK);
        Set_PinFunction(g_pGPIOReg, GPI03_I2S_0_SDI);
        Set_PinFunction(g_pGPIOReg, GPI04_I2S_0_SDO_0);

        Set_PinPullUD(g_pGPIOReg, GPI00_I2S_0_SCLK,  sgip_PULL_DISABLE);   
        Set_PinPullUD(g_pGPIOReg, GPI01_I2S_0_CDCLK, sgip_PULL_DISABLE);
        Set_PinPullUD(g_pGPIOReg, GPI02_I2S_0_LRCK,  sgip_PULL_DISABLE);
        Set_PinPullUD(g_pGPIOReg, GPI03_I2S_0_SDI,   sgip_PULL_DISABLE);
        Set_PinPullUD(g_pGPIOReg, GPI04_I2S_0_SDO_0, sgip_PULL_DISABLE);
    }
    else if (mChnNum == IIS_CH_1)
    {
        //DEBUGMSG(ZONE_FUNCTION,(TEXT("[IIS] I2S 1 Channel's GPIO Ports configuration...\n\r")));
        Set_PinFunction(g_pGPIOReg, GPC00_I2S_1_SCLK);   
        Set_PinFunction(g_pGPIOReg, GPC01_I2S_1_CDCLK);
        Set_PinFunction(g_pGPIOReg, GPC02_I2S_1_LRCK);
        Set_PinFunction(g_pGPIOReg, GPC03_I2S_1_SDI);
        Set_PinFunction(g_pGPIOReg, GPC04_I2S_1_SDO);

        Set_PinPullUD(g_pGPIOReg, GPC00_I2S_1_SCLK,  sgip_PULL_DISABLE);   
        Set_PinPullUD(g_pGPIOReg, GPC01_I2S_1_CDCLK, sgip_PULL_DISABLE);
        Set_PinPullUD(g_pGPIOReg, GPC02_I2S_1_LRCK,  sgip_PULL_DISABLE);
        Set_PinPullUD(g_pGPIOReg, GPC03_I2S_1_SDI,   sgip_PULL_DISABLE);
        Set_PinPullUD(g_pGPIOReg, GPC04_I2S_1_SDO,   sgip_PULL_DISABLE);
    }
    else if (mChnNum == IIS_CH_2)
    {
        //DEBUGMSG(ZONE_FUNCTION,(TEXT("[IIS] I2S 2 Channel's GPIO Ports configuration...\n\r")));
        Set_PinFunction(g_pGPIOReg, GPC10_I2S_2_SCLK);   
        Set_PinFunction(g_pGPIOReg, GPC11_I2S_2_CDCLK);
        Set_PinFunction(g_pGPIOReg, GPC12_I2S_2_LRCK);
        Set_PinFunction(g_pGPIOReg, GPC13_I2S_2_SDI);
        Set_PinFunction(g_pGPIOReg, GPC14_I2S_2_SDO);

        Set_PinPullUD(g_pGPIOReg, GPC10_I2S_2_SCLK,  sgip_PULL_DISABLE);   
        Set_PinPullUD(g_pGPIOReg, GPC11_I2S_2_CDCLK, sgip_PULL_DISABLE);
        Set_PinPullUD(g_pGPIOReg, GPC12_I2S_2_LRCK,  sgip_PULL_DISABLE);
        Set_PinPullUD(g_pGPIOReg, GPC13_I2S_2_SDI,   sgip_PULL_DISABLE);
        Set_PinPullUD(g_pGPIOReg, GPC14_I2S_2_SDO,   sgip_PULL_DISABLE);
    }
}
____wince S5pv210 IIS1驱动改成wince S5PV210 IIS0 驱动试试。

 
个人签名
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
看不懂,抬高深了
 
 
 

回复

468

帖子

0

TA的资源

纯净的硅(高级)

4
 
已经调试成功!
 
个人签名
 
 

回复

468

帖子

0

TA的资源

纯净的硅(高级)

5
 
已经调试出S5pv210 IIS0 wince6.0 ,android4.0 的音频驱动,D类功放耳塞,啥都有!
 
个人签名
 
 

回复

51

帖子

0

TA的资源

一粒金砂(中级)

6
 
学习一下!
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
学习中,最近也在调IIS1
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
参考一下
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

9
 
学习一下
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

10
 
不错。学习学习
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

11
 
我也在调试 s5pv210 的 i2s1,楼主能否把android的i2s1驱动共享一份,多谢!
xltao8@126.com
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
正在研究,谢谢!
 
 
 

回复

17

帖子

0

TA的资源

一粒金砂(初级)

13
 
支持,赞一个
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

14
 
不错,正在调试IIS1
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

15
 
看看谢谢霞,谢谢了。
 
个人签名爱好电子
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

16
 
学习一下
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

17
 
还有呢
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(初级)

18
 
xue xi
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

19
 

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

20
 
学习了!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表