找回密码
 注册
关于网站域名变更的通知
查看: 425|回复: 3
打印 上一主题 下一主题

gpio引脚复用i2c功能 是怎么实现的?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-11-9 13:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
omapl138开发板中i2c接口被占完,将i2c接口的电源模块连接到未使用的DSP引脚上了,现在需要读取电源模块的信息, 怎么实现这个功能,求指导下。
, u6 n7 k, l( F5 P( a是使用gpio引脚复用i2c功能 还是有其他方法,  u$ j; s! a8 s$ P5 o7 O
gpio引脚复用i2c功能 这个怎么实现的?
+ S9 o: N8 M0 [; _

该用户从未签到

2#
发表于 2021-11-9 13:49 | 只看该作者
内核中有这样的实现方式:
# v! G- M9 {+ E3 t7 Q2879 static struct i2c_gpio_platform_data da850_gpio_i2c_pdata = {
4 x3 A9 I6 S$ i4 x+ v' j2880     .sda_pin    = GPIO_TO_PIN(1, 4),& C5 d8 r/ O& k+ w
2881     .scl_pin    = GPIO_TO_PIN(1, 5),
! m% a6 V4 m6 |, B9 t2882     .udelay     = 2,            /* 250 KHz */
% m# ~, o7 o; b- a, p* o' ?2883 };1 `2 }7 ~2 f! ]# Z3 Y5 g! K
2884
: q# C0 o+ D5 |* d: r# B2885 static struct platform_device da850_gpio_i2c = {
3 ~, T5 v3 h" v  e  ?& [5 {# @! d2886     .name       = "i2c-gpio",
' W8 @$ F9 {8 b& m; F2887     .id     = 1,4 p  i* d, j" o1 p* C& _
2888     .dev        = {
, k5 w3 P" h3 q) F: e2889         .platform_data  = &da850_gpio_i2c_pdata,+ n2 _' `$ D. U0 N$ E
2890     },5 N: a" m6 \) C# {# y2 ?
2891 };
  d: a% q* S5 F7 C, e& Y# k1 D2 p- J+ ~8 Y7 T6 N2 a6 E4 H+ p7 c( t
platform_device_register(&da850_gpio_i2c);. U2 W9 t) F& f& v5 m" v" C7 {+ o2 k

. z9 t9 Z) s* D' L' Y2 M% a只要将0 |, y* a8 N9 _. h3 N
2880     .sda_pin    = GPIO_TO_PIN(1, 4),
, z  g! J& K# r. q0 L" {/ b2881     .scl_pin    = GPIO_TO_PIN(1, 5),
# y6 n7 w/ {. x( N' y, {6 V/ D配置成当前使用的gpio就实现了gpio模拟i2c的功能

该用户从未签到

3#
发表于 2021-11-9 13:50 | 只看该作者
GPIO模拟IIC吧!不过可能要自己写一下底层的驱动

该用户从未签到

4#
发表于 2021-11-9 13:50 | 只看该作者
注册一个da850_gpio_i2c_pdata
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 22:24 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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