1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-28 08:29:42 +02:00
openwrt-xburst/target/linux/ixp4xx/patches-2.6.33/302-avila_gpio_device.patch
acoul 294d323cad ixp4xx: add 2.6.33 support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20792 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-11 09:01:36 +00:00

49 lines
1.2 KiB
Diff

--- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c
@@ -237,10 +237,28 @@ static struct platform_device avila_latc
.dev.platform_data = &avila_latch_leds_data,
};
+static struct resource avila_gpio_resources[] = {
+ {
+ .name = "gpio",
+ /* FIXME: gpio mask should be model specific */
+ .start = AVILA_GPIO_MASK,
+ .end = AVILA_GPIO_MASK,
+ .flags = 0,
+ },
+};
+
+static struct platform_device avila_gpio = {
+ .name = "GPIODEV",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(avila_gpio_resources),
+ .resource = avila_gpio_resources,
+};
+
static struct platform_device *avila_devices[] __initdata = {
&avila_i2c_gpio,
&avila_flash,
- &avila_uart
+ &avila_uart,
+ &avila_gpio,
};
static void __init avila_gw23xx_setup(void)
--- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c
@@ -38,6 +38,13 @@
#define AVILA_SDA_PIN 7
#define AVILA_SCL_PIN 6
+/* User LEDs */
+#define AVILA_GW23XX_LED_USER_GPIO 3
+#define AVILA_GW23X7_LED_USER_GPIO 4
+
+/* gpio mask used by platform device */
+#define AVILA_GPIO_MASK (1 << 1) | (1 << 3) | (1 << 5) | (1 << 7) | (1 << 9)
+
struct avila_board_info {
unsigned char *model;
void (*setup)(void);