diff options
Diffstat (limited to 'include/linux/gpio_mouse.h')
| -rw-r--r-- | include/linux/gpio_mouse.h | 61 | 
1 files changed, 61 insertions, 0 deletions
diff --git a/include/linux/gpio_mouse.h b/include/linux/gpio_mouse.h new file mode 100644 index 00000000000..44ed7aa14d8 --- /dev/null +++ b/include/linux/gpio_mouse.h @@ -0,0 +1,61 @@ +/* + * Driver for simulating a mouse on GPIO lines. + * + * 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 _GPIO_MOUSE_H +#define _GPIO_MOUSE_H + +#define GPIO_MOUSE_POLARITY_ACT_HIGH	0x00 +#define GPIO_MOUSE_POLARITY_ACT_LOW	0x01 + +#define GPIO_MOUSE_PIN_UP	0 +#define GPIO_MOUSE_PIN_DOWN	1 +#define GPIO_MOUSE_PIN_LEFT	2 +#define GPIO_MOUSE_PIN_RIGHT	3 +#define GPIO_MOUSE_PIN_BLEFT	4 +#define GPIO_MOUSE_PIN_BMIDDLE	5 +#define GPIO_MOUSE_PIN_BRIGHT	6 +#define GPIO_MOUSE_PIN_MAX	7 + +/** + * struct gpio_mouse_platform_data + * @scan_ms: integer in ms specifying the scan periode. + * @polarity: Pin polarity, active high or low. + * @up: GPIO line for up value. + * @down: GPIO line for down value. + * @left: GPIO line for left value. + * @right: GPIO line for right value. + * @bleft: GPIO line for left button. + * @bmiddle: GPIO line for middle button. + * @bright: GPIO line for right button. + * + * This struct must be added to the platform_device in the board code. + * It is used by the gpio_mouse driver to setup GPIO lines and to + * calculate mouse movement. + */ +struct gpio_mouse_platform_data { +	int scan_ms; +	int polarity; + +	union { +		struct { +			int up; +			int down; +			int left; +			int right; + +			int bleft; +			int bmiddle; +			int bright; +		}; +		int pins[GPIO_MOUSE_PIN_MAX]; +	}; +}; + +#endif /* _GPIO_MOUSE_H */  |