Merge remote-tracking branches 'asoc/fix/intel', 'asoc/fix/topology' and 'asoc/fix...
[sfrench/cifs-2.6.git] / Documentation / sound / cards / joystick.rst
1 =======================================
2 Analog Joystick Support on ALSA Drivers
3 =======================================
4
5 Oct. 14, 2003
6
7 Takashi Iwai <tiwai@suse.de>
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
14 support, refer to Documentation/input/joystick.txt.
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
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
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
70 ======= =================
71 Driver  Additional Module
72 ======= =================
73 emu10k1 emu10k1-gp
74 fm801   fm801-gp
75 ======= =================
76
77 Note: the "pcigame" and "cs461x" modules are for the OSS drivers only.
78 These ALSA drivers (cs46xx, trident and au88x0) have the
79 built-in gameport support.
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").