You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.3 KiB
38 lines
1.3 KiB
/* |
|
* i2c-gpio interface to platform code |
|
* |
|
* Copyright (C) 2007 Atmel Corporation |
|
* |
|
* This program is free software; you can redistribute it and/or modify |
|
* it under the terms of the GNU General Public License version 2 as |
|
* published by the Free Software Foundation. |
|
*/ |
|
#ifndef _LINUX_I2C_GPIO_H |
|
#define _LINUX_I2C_GPIO_H |
|
|
|
/** |
|
* struct i2c_gpio_platform_data - Platform-dependent data for i2c-gpio |
|
* @sda_pin: GPIO pin ID to use for SDA |
|
* @scl_pin: GPIO pin ID to use for SCL |
|
* @udelay: signal toggle delay. SCL frequency is (500 / udelay) kHz |
|
* @timeout: clock stretching timeout in jiffies. If the slave keeps |
|
* SCL low for longer than this, the transfer will time out. |
|
* @sda_is_open_drain: SDA is configured as open drain, i.e. the pin |
|
* isn't actively driven high when setting the output value high. |
|
* gpio_get_value() must return the actual pin state even if the |
|
* pin is configured as an output. |
|
* @scl_is_open_drain: SCL is set up as open drain. Same requirements |
|
* as for sda_is_open_drain apply. |
|
* @scl_is_output_only: SCL output drivers cannot be turned off. |
|
*/ |
|
struct i2c_gpio_platform_data { |
|
unsigned int sda_pin; |
|
unsigned int scl_pin; |
|
int udelay; |
|
int timeout; |
|
unsigned int sda_is_open_drain:1; |
|
unsigned int scl_is_open_drain:1; |
|
unsigned int scl_is_output_only:1; |
|
}; |
|
|
|
#endif /* _LINUX_I2C_GPIO_H */
|
|
|