diff options
Diffstat (limited to 'arch/avr32')
-rw-r--r-- | arch/avr32/boards/atngw100/setup.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/avr32/boards/atngw100/setup.c b/arch/avr32/boards/atngw100/setup.c index 6e180f435253..52987c81d668 100644 --- a/arch/avr32/boards/atngw100/setup.c +++ b/arch/avr32/boards/atngw100/setup.c | |||
@@ -125,8 +125,11 @@ static struct platform_device ngw_gpio_leds = { | |||
125 | }; | 125 | }; |
126 | 126 | ||
127 | static struct i2c_gpio_platform_data i2c_gpio_data = { | 127 | static struct i2c_gpio_platform_data i2c_gpio_data = { |
128 | .sda_pin = GPIO_PIN_PA(6), | 128 | .sda_pin = GPIO_PIN_PA(6), |
129 | .scl_pin = GPIO_PIN_PA(7), | 129 | .scl_pin = GPIO_PIN_PA(7), |
130 | .sda_is_open_drain = 1, | ||
131 | .scl_is_open_drain = 1, | ||
132 | .udelay = 2, /* close to 100 kHz */ | ||
130 | }; | 133 | }; |
131 | 134 | ||
132 | static struct platform_device i2c_gpio_device = { | 135 | static struct platform_device i2c_gpio_device = { |
@@ -162,8 +165,10 @@ static int __init atngw100_init(void) | |||
162 | } | 165 | } |
163 | platform_device_register(&ngw_gpio_leds); | 166 | platform_device_register(&ngw_gpio_leds); |
164 | 167 | ||
165 | at32_select_gpio(i2c_gpio_data.sda_pin, 0); | 168 | at32_select_gpio(i2c_gpio_data.sda_pin, |
166 | at32_select_gpio(i2c_gpio_data.scl_pin, 0); | 169 | AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH); |
170 | at32_select_gpio(i2c_gpio_data.scl_pin, | ||
171 | AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH); | ||
167 | platform_device_register(&i2c_gpio_device); | 172 | platform_device_register(&i2c_gpio_device); |
168 | 173 | ||
169 | return 0; | 174 | return 0; |