| /* | |
| * 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 */ |