查看: 4398|回复: 4

[其他] SGTL5000不能识别

[复制链接]

该用户从未签到

15

主题

122

帖子

0

中级会员

Rank: 3Rank: 3

积分
459
最后登录
2016-8-15
发表于 2015-1-28 16:42:56 | 显示全部楼层 |阅读模式
大家好,我现在在mx6q上添加了SGTL5000,代码参照sabrelite做了移植,VDDD(1.8)、VDDA(3.3)和VDDIO(3.3)根据板子做了配置,时钟24Mhz,
但是在启动过程中看不到任何SGTL5000的信息,同样挂载I2C1总线上的还有PFUZE100,进入系统后,用i2cdetect工具得到如下结果:
i2cdetect -y imx-i2c
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- --08 -- UU -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3f
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
其中08处挂载的是加PFUZE100,成功识别,SGTL5000地址为0x0a,但此处明显无法识别。之后在用i2cget -y imx-i2c 0x0a 0,得到结果:
Error: Could not set address to 0x0a: Device or resource busy
而换成i2cget -y imx-i2c 0x08 0则得到结果0x10,即PFUZE100的 deviceid。
无法对SGTL5000进行操作,请问是时钟频率设置不对还是电压不对?还是有其他原因?求助!

我知道答案 目前已有4人回答

电路图

电路图
回复

使用道具 举报

该用户从未签到

15

主题

122

帖子

0

中级会员

Rank: 3Rank: 3

积分
459
最后登录
2016-8-15
 楼主| 发表于 2015-1-28 20:33:07 | 显示全部楼层
对了,明明在SGTL5000_init 函数里设置的时钟为24M,可是示波器抓到的却是22M,很奇怪
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2015-2-6 10:40:49 | 显示全部楼层
楼主你好,我帮你看一下哈,请耐心等待~~
回复 支持 反对

使用道具 举报

该用户从未签到

15

主题

122

帖子

0

中级会员

Rank: 3Rank: 3

积分
459
最后登录
2016-8-15
 楼主| 发表于 2015-2-6 10:51:36 | 显示全部楼层
FSL_TICS_Rita 发表于 2015-2-6 10:40
楼主你好,我帮你看一下哈,请耐心等待~~

您好,问题解决了,原因在"imx-sgtl5000.c“里面imx_sgtl5000_init函数--》
if (machine_is_mx35_3ds() || machine_is_mx6q_sabrelite())
         imx_sgtl5000_dai[0].codec_name = "sgtl5000.0-000a";
else
         imx_sgtl5000_dai[0].codec_name = "sgtl5000.1-000a";
由于我是sabresd,所以默认放到总线1上,可我的sgtl5000放到了总线0上,所以识别不到,将sgtl5000.1-000a改为"sgtl5000.0-000a"之后声卡成功识别,谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

45

主题

2369

帖子

0

金牌会员

Rank: 6Rank: 6

积分
3275
最后登录
1970-1-1
发表于 2015-2-6 17:48:25 | 显示全部楼层
yxqlf 发表于 2015-2-6 10:51
您好,问题解决了,原因在"imx-sgtl5000.c“里面imx_sgtl5000_init函数--》
if (machine_is_mx35_3ds()  ...

欢迎楼主有问题继续在本论坛中交流讨论哈~~
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-22 17:58 , Processed in 0.093325 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表