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