xref: /OK3568_Linux_fs/kernel/Documentation/input/devices/cs461x.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunCrystal SoundFusion CS4610/CS4612/CS461 joystick
2*4882a593Smuzhiyun================================================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunThis is a new low-level driver to support analog joystick attached to
5*4882a593SmuzhiyunCrystal SoundFusion CS4610/CS4612/CS4615. This code is based upon
6*4882a593SmuzhiyunVortex/Solo drivers as an example of decoration style, and ALSA
7*4882a593Smuzhiyun0.5.8a kernel drivers as an chipset documentation and samples.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunThis version does not have cooked mode support; the basic code
10*4882a593Smuzhiyunis present here, but have not tested completely. The button analysis
11*4882a593Smuzhiyunis completed in this mode, but the axis movement is not.
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunRaw mode works fine with analog joystick front-end driver and cs461x
14*4882a593Smuzhiyundriver as a backend. I've tested this driver with CS4610, 4-axis and
15*4882a593Smuzhiyun4-button joystick; I mean the jstest utility. Also I've tried to
16*4882a593Smuzhiyunplay in xracer game using joystick, and the result is better than
17*4882a593Smuzhiyunkeyboard only mode.
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunThe sensitivity and calibrate quality have not been tested; the two
20*4882a593Smuzhiyunreasons are performed: the same hardware cannot work under Win95 (blue
21*4882a593Smuzhiyunscreen in VJOYD); I have no documentation on my chip; and the existing
22*4882a593Smuzhiyunbehavior in my case was not raised the requirement of joystick calibration.
23*4882a593SmuzhiyunSo the driver have no code to perform hardware related calibration.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunThis driver have the basic support for PCI devices only; there is no
26*4882a593SmuzhiyunISA or PnP ISA cards supported.
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunThe driver works with ALSA drivers simultaneously. For example, the xracer
29*4882a593Smuzhiyunuses joystick as input device and PCM device as sound output in one time.
30*4882a593SmuzhiyunThere are no sound or input collisions detected. The source code have
31*4882a593Smuzhiyuncomments about them; but I've found the joystick can be initialized
32*4882a593Smuzhiyunseparately of ALSA modules. So, you can use only one joystick driver
33*4882a593Smuzhiyunwithout ALSA drivers. The ALSA drivers are not needed to compile or
34*4882a593Smuzhiyunrun this driver.
35*4882a593Smuzhiyun
36*4882a593SmuzhiyunThere are no debug information print have been placed in source, and no
37*4882a593Smuzhiyunspecific options required to work this driver. The found chipset parameters
38*4882a593Smuzhiyunare printed via printk(KERN_INFO "..."), see the /var/log/messages to
39*4882a593Smuzhiyuninspect cs461x: prefixed messages to determine possible card detection
40*4882a593Smuzhiyunerrors.
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunRegards,
43*4882a593SmuzhiyunViktor
44