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