EDA365电子论坛网
标题:
gpio引脚复用i2c功能 是怎么实现的?
[打印本页]
作者:
RNGxiaohu
时间:
2021-11-9 13:48
标题:
gpio引脚复用i2c功能 是怎么实现的?
omapl138
开发板
中i2c
接口
被占完,将i2c接口的
电源模块
连接到未使用的dsp引脚上了,现在需要读取
电源
模块的信息, 怎么实现这个功能,求指导下。
4 |0 V2 ~( s0 q5 f
是使用gpio引脚复用i2c功能 还是有其他方法,
0 V5 G% b- ~# ^0 Y' S, b
gpio引脚复用i2c功能 这个怎么实现的?
8 H! p) \$ n# O
作者:
faker12
时间:
2021-11-9 13:49
内核中有这样的实现方式:
! A, W; `$ b. q* t3 w
2879 static struct i2c_gpio_platform_data da850_gpio_i2c_pdata = {
/ `+ a: Q H7 i: U5 @
2880 .sda_pin = GPIO_TO_PIN(1, 4),
9 W( f* d. _: o% @) N5 V
2881 .scl_pin = GPIO_TO_PIN(1, 5),
% a2 u2 Q, V8 ~3 B+ ?) J- C3 e- g7 O$ T
2882 .udelay = 2, /* 250 KHz */
& c* M9 r3 ]$ y
2883 };
1 t* F( ]! v) d6 Z1 m1 a6 |- u; D# v
2884
4 Y/ E' r% c8 o5 z0 F
2885 static struct platform_device da850_gpio_i2c = {
0 o- {) Q6 y/ Q) ^. t* c% g* [2 ~
2886 .name = "i2c-gpio",
7 \" r4 {2 M& c5 @) H9 r5 p
2887 .id = 1,
& D/ I( t; N$ O; q0 B! v5 e- x
2888 .dev = {
) u1 I3 t1 C3 u$ l4 ?1 y: v7 U$ i
2889 .platform_data = &da850_gpio_i2c_pdata,
6 N. M8 |. C" L- l# R" I1 D/ ~
2890 },
+ L" j6 @; U' o, q2 M/ K2 g% O
2891 };
* d0 I8 J4 L; R; n
6 f+ a5 y6 I U$ m! s) n, L( |
platform_device_register(&da850_gpio_i2c);
7 u$ J R0 W1 v: p2 ?& T( `
5 W! m, q; [+ M( l- C: Q# @( ^
只要将
$ n. V+ p- d9 g$ O. \
2880 .sda_pin = GPIO_TO_PIN(1, 4),
9 \ n4 u) n0 O6 y. B# E
2881 .scl_pin = GPIO_TO_PIN(1, 5),
: P( A! f. Y& T& t6 q, a
配置成当前使用的gpio就实现了gpio模拟i2c的功能
作者:
CLBuu
时间:
2021-11-9 13:50
GPIO模拟IIC吧!不过可能要自己写一下底层的驱动
作者:
xiananUZI
时间:
2021-11-9 13:50
注册一个da850_gpio_i2c_pdata
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2