Back to home page

OSCL-LXR

 
 

    


0001 =======================================
0002 Analog Joystick Support on ALSA Drivers
0003 =======================================
0004 
0005 Oct. 14, 2003
0006 
0007 Takashi Iwai <tiwai@suse.de>
0008 
0009 General
0010 -------
0011 
0012 First of all, you need to enable GAMEPORT support on Linux kernel for
0013 using a joystick with the ALSA driver.  For the details of gameport
0014 support, refer to Documentation/input/joydev/joystick.rst.
0015 
0016 The joystick support of ALSA drivers is different between ISA and PCI
0017 cards.  In the case of ISA (PnP) cards, it's usually handled by the
0018 independent module (ns558).  Meanwhile, the ALSA PCI drivers have the
0019 built-in gameport support.  Hence, when the ALSA PCI driver is built
0020 in the kernel, CONFIG_GAMEPORT must be 'y', too.  Otherwise, the
0021 gameport support on that card will be (silently) disabled.
0022 
0023 Some adapter modules probe the physical connection of the device at
0024 the load time.  It'd be safer to plug in the joystick device before
0025 loading the module.
0026 
0027 
0028 PCI Cards
0029 ---------
0030 
0031 For PCI cards, the joystick is enabled when the appropriate module
0032 option is specified.  Some drivers don't need options, and the
0033 joystick support is always enabled.  In the former ALSA version, there
0034 was a dynamic control API for the joystick activation.  It was
0035 changed, however, to the static module options because of the system
0036 stability and the resource management.
0037 
0038 The following PCI drivers support the joystick natively.
0039 
0040 ==============  =============   ============================================
0041 Driver          Module Option   Available Values
0042 ==============  =============   ============================================
0043 als4000         joystick_port   0 = disable (default), 1 = auto-detect,
0044                                 manual: any address (e.g. 0x200)
0045 au88x0          N/A             N/A
0046 azf3328         joystick        0 = disable, 1 = enable, -1 = auto (default)
0047 ens1370         joystick        0 = disable (default), 1 = enable
0048 ens1371         joystick_port   0 = disable (default), 1 = auto-detect,
0049                                 manual: 0x200, 0x208, 0x210, 0x218
0050 cmipci          joystick_port   0 = disable (default), 1 = auto-detect,
0051                                 manual: any address (e.g. 0x200)
0052 cs4281          N/A             N/A
0053 cs46xx          N/A             N/A
0054 es1938          N/A             N/A
0055 es1968          joystick        0 = disable (default), 1 = enable
0056 sonicvibes      N/A             N/A
0057 trident         N/A             N/A
0058 via82xx [#f1]_  joystick        0 = disable (default), 1 = enable
0059 ymfpci          joystick_port   0 = disable (default), 1 = auto-detect,
0060                                 manual: 0x201, 0x202, 0x204, 0x205 [#f2]_
0061 ==============  =============   ============================================
0062 
0063 .. [#f1] VIA686A/B only
0064 .. [#f2] With YMF744/754 chips, the port address can be chosen arbitrarily
0065 
0066 The following drivers don't support gameport natively, but there are
0067 additional modules.  Load the corresponding module to add the gameport
0068 support.
0069 
0070 ======= =================
0071 Driver  Additional Module
0072 ======= =================
0073 emu10k1 emu10k1-gp
0074 fm801   fm801-gp
0075 ======= =================
0076 
0077 Note: the "pcigame" and "cs461x" modules are for the OSS drivers only.
0078 These ALSA drivers (cs46xx, trident and au88x0) have the
0079 built-in gameport support.
0080 
0081 As mentioned above, ALSA PCI drivers have the built-in gameport
0082 support, so you don't have to load ns558 module.  Just load "joydev"
0083 and the appropriate adapter module (e.g. "analog").
0084 
0085 
0086 ISA Cards
0087 ---------
0088 
0089 ALSA ISA drivers don't have the built-in gameport support.
0090 Instead, you need to load "ns558" module in addition to "joydev" and
0091 the adapter module (e.g. "analog").