|
|
内核中有这样的实现方式: z Q/ h2 W0 d( u# D3 j
2879 static struct i2c_gpio_platform_data da850_gpio_i2c_pdata = {, C% E4 Z- C% M- \. ?: d/ l/ O
2880 .sda_pin = GPIO_TO_PIN(1, 4),; j o# M) S4 O, _& H( C! k
2881 .scl_pin = GPIO_TO_PIN(1, 5),
' ~" V) `9 v$ j2 r/ g( e2882 .udelay = 2, /* 250 KHz */6 H! Y' u0 K& F2 H. h! Z. G
2883 };
3 ~( B- v P+ N& A) O' R. D2884
6 a- o; d, p( I) J: h! R$ Z2885 static struct platform_device da850_gpio_i2c = {
7 t- J% i" t2 _0 O! o k' p$ ~7 e) U1 N2886 .name = "i2c-gpio",
( \& g/ h- d# e2887 .id = 1,
* i/ H! E/ l# ^/ {/ _2888 .dev = {+ i3 ^7 W, n, o* w9 A* V1 \
2889 .platform_data = &da850_gpio_i2c_pdata,
8 ]0 X% T$ l4 R8 x0 s' f0 |) Z2890 },, U$ x- `) ] @0 L* q7 R
2891 };
" W5 F: z: ?: [* |5 N
& \" h4 v7 Y' E. Pplatform_device_register(&da850_gpio_i2c);3 r6 i) n o& ?% k: P
6 L/ a; f8 r2 C
只要将" C8 k2 q6 q) N; n. V: g7 u
2880 .sda_pin = GPIO_TO_PIN(1, 4),7 U Y* m; ?; \$ E9 _# P
2881 .scl_pin = GPIO_TO_PIN(1, 5),
5 x6 y& ]5 x& s5 r配置成当前使用的gpio就实现了gpio模拟i2c的功能 |
|