OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [include/] [linux/] [busmouse.h] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1633 jcastillo
#ifndef _LINUX_BUSMOUSE_H
2
#define _LINUX_BUSMOUSE_H
3
 
4
/*
5
 * linux/include/linux/busmouse.h: header file for Logitech Bus Mouse driver
6
 * by James Banks
7
 *
8
 * based on information gleamed from various mouse drivers on the net
9
 *
10
 * Heavily modified by David giller (rafetmad@oxy.edu)
11
 *
12
 * Minor modifications for Linux 0.96c-pl1 by Nathan Laredo
13
 * gt7080a@prism.gatech.edu (13JUL92)
14
 *
15
 * Microsoft BusMouse support by Teemu Rantanen (tvr@cs.hut.fi) (02AUG92)
16
 *
17
 * Microsoft Bus Mouse support modified by Derrick Cole (cole@concert.net)
18
 *    8/28/92
19
 *
20
 * Microsoft Bus Mouse support folded into 0.97pl4 code
21
 *    by Peter Cervasio (pete%q106fm.uucp@wupost.wustl.edu) (08SEP92)
22
 * Changes:  Logitech and Microsoft support in the same kernel.
23
 *           Defined new constants in busmouse.h for MS mice.
24
 *           Added int mse_busmouse_type to distinguish busmouse types
25
 *           Added a couple of new functions to handle differences in using
26
 *             MS vs. Logitech (where the int variable wasn't appropriate).
27
 *
28
 */
29
 
30
#define MOUSE_IRQ               5
31
#define LOGITECH_BUSMOUSE       0   /* Minor device # for Logitech  */
32
#define MICROSOFT_BUSMOUSE      2   /* Minor device # for Microsoft */
33
 
34
/*--------- LOGITECH BUSMOUSE ITEMS -------------*/
35
 
36
#define LOGIBM_BASE             0x23c
37
#define MSE_DATA_PORT           0x23c
38
#define MSE_SIGNATURE_PORT      0x23d
39
#define MSE_CONTROL_PORT        0x23e
40
#define MSE_INTERRUPT_PORT      0x23e
41
#define MSE_CONFIG_PORT         0x23f
42
#define LOGIBM_EXTENT           0x4
43
 
44
#define MSE_ENABLE_INTERRUPTS   0x00
45
#define MSE_DISABLE_INTERRUPTS  0x10
46
 
47
#define MSE_READ_X_LOW          0x80
48
#define MSE_READ_X_HIGH         0xa0
49
#define MSE_READ_Y_LOW          0xc0
50
#define MSE_READ_Y_HIGH         0xe0
51
 
52
/* Magic number used to check if the mouse exists */
53
#define MSE_CONFIG_BYTE         0x91
54
#define MSE_DEFAULT_MODE        0x90
55
#define MSE_SIGNATURE_BYTE      0xa5
56
 
57
/* useful Logitech Mouse macros */
58
 
59
#define MSE_INT_OFF()   outb(MSE_DISABLE_INTERRUPTS, MSE_CONTROL_PORT)
60
#define MSE_INT_ON()    outb(MSE_ENABLE_INTERRUPTS, MSE_CONTROL_PORT)
61
 
62
/*--------- MICROSOFT BUSMOUSE ITEMS -------------*/
63
 
64
#define MSBM_BASE                       0x23d
65
#define MS_MSE_DATA_PORT                0x23d
66
#define MS_MSE_SIGNATURE_PORT           0x23e
67
#define MS_MSE_CONTROL_PORT             0x23c
68
#define MS_MSE_CONFIG_PORT              0x23f
69
#define MSBM_EXTENT                     0x3
70
 
71
#define MS_MSE_ENABLE_INTERRUPTS        0x11
72
#define MS_MSE_DISABLE_INTERRUPTS       0x10
73
 
74
#define MS_MSE_READ_BUTTONS             0x00
75
#define MS_MSE_READ_X                   0x01
76
#define MS_MSE_READ_Y                   0x02
77
 
78
#define MS_MSE_START                    0x80
79
#define MS_MSE_COMMAND_MODE             0x07
80
 
81
/* useful microsoft busmouse macros */
82
 
83
#define MS_MSE_INT_OFF() {outb(MS_MSE_COMMAND_MODE, MS_MSE_CONTROL_PORT); \
84
                            outb(MS_MSE_DISABLE_INTERRUPTS, MS_MSE_DATA_PORT);}
85
#define MS_MSE_INT_ON()  {outb(MS_MSE_COMMAND_MODE, MS_MSE_CONTROL_PORT); \
86
                            outb(MS_MSE_ENABLE_INTERRUPTS, MS_MSE_DATA_PORT);}
87
 
88
 
89
struct mouse_status {
90
        unsigned char   buttons;
91
        unsigned char   latch_buttons;
92
        int             dx;
93
        int             dy;
94
        int             present;
95
        int             ready;
96
        int             active;
97
        struct wait_queue *wait;
98
        struct fasync_struct *fasyncptr;
99
};
100
 
101
/* Function Prototypes */
102
 
103
#endif
104
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.