]>
Commit | Line | Data |
---|---|---|
f59c3c6d | 1 | ======================================= |
1da177e4 LT |
2 | Analog Joystick Support on ALSA Drivers |
3 | ======================================= | |
f59c3c6d TI |
4 | |
5 | Oct. 14, 2003 | |
6 | ||
7 | Takashi Iwai <tiwai@suse.de> | |
1da177e4 LT |
8 | |
9 | General | |
10 | ------- | |
11 | ||
12 | First of all, you need to enable GAMEPORT support on Linux kernel for | |
13 | using a joystick with the ALSA driver. For the details of gameport | |
1752118d | 14 | support, refer to Documentation/input/joydev/joystick.rst. |
1da177e4 LT |
15 | |
16 | The joystick support of ALSA drivers is different between ISA and PCI | |
17 | cards. In the case of ISA (PnP) cards, it's usually handled by the | |
18 | independent module (ns558). Meanwhile, the ALSA PCI drivers have the | |
19 | built-in gameport support. Hence, when the ALSA PCI driver is built | |
20 | in the kernel, CONFIG_GAMEPORT must be 'y', too. Otherwise, the | |
21 | gameport support on that card will be (silently) disabled. | |
22 | ||
23 | Some adapter modules probe the physical connection of the device at | |
24 | the load time. It'd be safer to plug in the joystick device before | |
25 | loading the module. | |
26 | ||
27 | ||
28 | PCI Cards | |
29 | --------- | |
30 | ||
31 | For PCI cards, the joystick is enabled when the appropriate module | |
32 | option is specified. Some drivers don't need options, and the | |
33 | joystick support is always enabled. In the former ALSA version, there | |
34 | was a dynamic control API for the joystick activation. It was | |
35 | changed, however, to the static module options because of the system | |
36 | stability and the resource management. | |
37 | ||
38 | The following PCI drivers support the joystick natively. | |
39 | ||
f59c3c6d TI |
40 | ============== ============= ============================================ |
41 | Driver Module Option Available Values | |
42 | ============== ============= ============================================ | |
43 | als4000 joystick_port 0 = disable (default), 1 = auto-detect, | |
44 | manual: any address (e.g. 0x200) | |
45 | au88x0 N/A N/A | |
46 | azf3328 joystick 0 = disable, 1 = enable, -1 = auto (default) | |
47 | ens1370 joystick 0 = disable (default), 1 = enable | |
48 | ens1371 joystick_port 0 = disable (default), 1 = auto-detect, | |
49 | manual: 0x200, 0x208, 0x210, 0x218 | |
50 | cmipci joystick_port 0 = disable (default), 1 = auto-detect, | |
51 | manual: any address (e.g. 0x200) | |
52 | cs4281 N/A N/A | |
53 | cs46xx N/A N/A | |
54 | es1938 N/A N/A | |
55 | es1968 joystick 0 = disable (default), 1 = enable | |
56 | sonicvibes N/A N/A | |
57 | trident N/A N/A | |
58 | via82xx [#f1]_ joystick 0 = disable (default), 1 = enable | |
59 | ymfpci joystick_port 0 = disable (default), 1 = auto-detect, | |
60 | manual: 0x201, 0x202, 0x204, 0x205 [#f2]_ | |
61 | ============== ============= ============================================ | |
62 | ||
63 | .. [#f1] VIA686A/B only | |
64 | .. [#f2] With YMF744/754 chips, the port address can be chosen arbitrarily | |
1da177e4 LT |
65 | |
66 | The following drivers don't support gameport natively, but there are | |
67 | additional modules. Load the corresponding module to add the gameport | |
68 | support. | |
69 | ||
f59c3c6d TI |
70 | ======= ================= |
71 | Driver Additional Module | |
72 | ======= ================= | |
73 | emu10k1 emu10k1-gp | |
74 | fm801 fm801-gp | |
75 | ======= ================= | |
1da177e4 LT |
76 | |
77 | Note: the "pcigame" and "cs461x" modules are for the OSS drivers only. | |
f59c3c6d TI |
78 | These ALSA drivers (cs46xx, trident and au88x0) have the |
79 | built-in gameport support. | |
1da177e4 LT |
80 | |
81 | As mentioned above, ALSA PCI drivers have the built-in gameport | |
82 | support, so you don't have to load ns558 module. Just load "joydev" | |
83 | and the appropriate adapter module (e.g. "analog"). | |
84 | ||
85 | ||
86 | ISA Cards | |
87 | --------- | |
88 | ||
89 | ALSA ISA drivers don't have the built-in gameport support. | |
90 | Instead, you need to load "ns558" module in addition to "joydev" and | |
91 | the adapter module (e.g. "analog"). |