|
|
内核中有这样的实现方式:
# 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的功能 |
|