Commit 54bb69e2 authored by Haavard Skinnemoen's avatar Haavard Skinnemoen

[AVR32] Wire up i2c-gpio on the ATNGW100 board

The NGW100 has a board controller which is hooked up to the TWI lines
on AP7000. Since the TWI driver isn't in mainline, use the i2c-gpio
driver in the mean time.
Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
parent ad93ab0a
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
*/ */
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
#include <linux/i2c-gpio.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
...@@ -123,6 +124,19 @@ static struct platform_device ngw_gpio_leds = { ...@@ -123,6 +124,19 @@ static struct platform_device ngw_gpio_leds = {
} }
}; };
static struct i2c_gpio_platform_data i2c_gpio_data = {
.sda_pin = GPIO_PIN_PA(6),
.scl_pin = GPIO_PIN_PA(7),
};
static struct platform_device i2c_gpio_device = {
.name = "i2c-gpio",
.id = 0,
.dev = {
.platform_data = &i2c_gpio_data,
},
};
static int __init atngw100_init(void) static int __init atngw100_init(void)
{ {
unsigned i; unsigned i;
...@@ -147,6 +161,10 @@ static int __init atngw100_init(void) ...@@ -147,6 +161,10 @@ static int __init atngw100_init(void)
} }
platform_device_register(&ngw_gpio_leds); platform_device_register(&ngw_gpio_leds);
at32_select_gpio(i2c_gpio_data.sda_pin, 0);
at32_select_gpio(i2c_gpio_data.scl_pin, 0);
platform_device_register(&i2c_gpio_device);
return 0; return 0;
} }
postcore_initcall(atngw100_init); postcore_initcall(atngw100_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment