Commit | Line | Data |
---|---|---|
1c23af90 HS |
1 | /* |
2 | * i2c-gpio interface to platform code | |
3 | * | |
4 | * Copyright (C) 2007 Atmel Corporation | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License version 2 as | |
8 | * published by the Free Software Foundation. | |
9 | */ | |
10 | #ifndef _LINUX_I2C_GPIO_H | |
11 | #define _LINUX_I2C_GPIO_H | |
12 | ||
13 | /** | |
14 | * struct i2c_gpio_platform_data - Platform-dependent data for i2c-gpio | |
15 | * @sda_pin: GPIO pin ID to use for SDA | |
16 | * @scl_pin: GPIO pin ID to use for SCL | |
17 | * @udelay: signal toggle delay. SCL frequency is (500 / udelay) kHz | |
18 | * @timeout: clock stretching timeout in jiffies. If the slave keeps | |
19 | * SCL low for longer than this, the transfer will time out. | |
20 | * @sda_is_open_drain: SDA is configured as open drain, i.e. the pin | |
21 | * isn't actively driven high when setting the output value high. | |
22 | * gpio_get_value() must return the actual pin state even if the | |
23 | * pin is configured as an output. | |
24 | * @scl_is_open_drain: SCL is set up as open drain. Same requirements | |
25 | * as for sda_is_open_drain apply. | |
26 | * @scl_is_output_only: SCL output drivers cannot be turned off. | |
27 | */ | |
28 | struct i2c_gpio_platform_data { | |
29 | unsigned int sda_pin; | |
30 | unsigned int scl_pin; | |
31 | int udelay; | |
32 | int timeout; | |
33 | unsigned int sda_is_open_drain:1; | |
34 | unsigned int scl_is_open_drain:1; | |
35 | unsigned int scl_is_output_only:1; | |
36 | }; | |
37 | ||
38 | #endif /* _LINUX_I2C_GPIO_H */ |