yangq

yangq

0个粉丝

4

问答

0

专栏

0

资料

yangq  发布于  2016-08-30 20:00:07
采纳率 0%
4个问答
4836

海思3520d uboot下的gpio模拟i2c

 
前段时间已经提到海思i2c不支持连续多个字节读写的问题,还有Uboot下并没有i2c驱动。对此,我只有在并联i2c的基础上,uboot下使用模拟i2c。但是还是遇到了问题,我的gpio i2c在uboot模拟成功,能和芯片进行连续多字节的读写。但是,问题又来了。GPIO12_I2C_BASE,GPIO12_I2C_DIR,GPIO12_I2C_DATA这三个i2c引脚的管脚复用寄存器和方向寄存器,数据寄存器这些我都会配置gpio 式的模拟i2c,并且在uboot配置好之后通信完之后恢复成原来的i2c管脚(各寄存器恢复成原来样子)才进入内核,方便进入内核再进如原来的海思i2c驱动,可是i2c驱动却没能识别到芯片i2c地址,i2c驱动也不在起作用,呵呵,真是特别!这又是什么情况,驱动不支持连续多字节多写也就算了,连i2c的管脚复用配置回来都能出问题?
我来回答
回答7个
时间排序
认可量排序

cowboy

0个粉丝

9

问答

0

专栏

5

资料

cowboy 2016-08-30 20:47:23
认可0
应该还是复用的问题

cowboy

0个粉丝

9

问答

0

专栏

5

资料

cowboy 2016-08-30 20:47:59
认可0
uboot 配置之前,把寄存器的值保存下来 ,使用完了再恢复回去

yangq

0个粉丝

4

问答

0

专栏

0

资料

yangq 2016-08-31 19:32:35
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=36890&ptid=12477]cowboy 发表于 2016-8-30 20:47[/url]
uboot 配置之前,把寄存器的值保存下来 ,使用完了再恢复回去[/quote]

问题答案还是无解吧,经过测试也不行的,哪怕是仅仅管脚复用成gpio再恢复成i2c功能,依旧有影响!

actionfan2011

0个粉丝

2

问答

0

专栏

2

资料

actionfan2011 2016-09-02 14:43:41
认可0
推荐一篇关于GPIO模拟I2C的博客:lolhttp://blog.csdn.net/zhenwenxian/article/details/8466886

yzm12345

0个粉丝

0

问答

0

专栏

0

资料

yzm12345 2017-10-17 14:32:52
认可0
你确定只这样吗,最后怎么解决???

yang1372073

0个粉丝

19

问答

0

专栏

2

资料

yang1372073 2017-11-10 11:24:54
认可0
楼主,有解决吗?我也遇到类似问题了,用GPIO模拟了i2c,用完之后想要恢复成复用前的状态,发现复用之后再恢复用不了了

stoneLinux

0个粉丝

3

问答

0

专栏

0

资料

stoneLinux 2018-09-18 14:05:39
认可0
大家有最新的发现么?
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区