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