Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
@@ -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 = {
	}
	}
};
};


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)
	}
	}
	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);