Linux-libre 5.0.14-gnu
[librecmc/linux-libre.git] / Documentation / input / devices / cs461x.rst
1 Crystal SoundFusion CS4610/CS4612/CS461 joystick
2 ================================================
3
4 This is a new low-level driver to support analog joystick attached to
5 Crystal SoundFusion CS4610/CS4612/CS4615. This code is based upon
6 Vortex/Solo drivers as an example of decoration style, and ALSA
7 0.5.8a kernel drivers as an chipset documentation and samples.
8
9 This version does not have cooked mode support; the basic code
10 is present here, but have not tested completely. The button analysis
11 is completed in this mode, but the axis movement is not.
12
13 Raw mode works fine with analog joystick front-end driver and cs461x
14 driver as a backend. I've tested this driver with CS4610, 4-axis and
15 4-button joystick; I mean the jstest utility. Also I've tried to
16 play in xracer game using joystick, and the result is better than
17 keyboard only mode.
18
19 The sensitivity and calibrate quality have not been tested; the two
20 reasons are performed: the same hardware cannot work under Win95 (blue
21 screen in VJOYD); I have no documentation on my chip; and the existing
22 behavior in my case was not raised the requirement of joystick calibration.
23 So the driver have no code to perform hardware related calibration.
24
25 This driver have the basic support for PCI devices only; there is no
26 ISA or PnP ISA cards supported.
27
28 The driver works with ALSA drivers simultaneously. For example, the xracer
29 uses joystick as input device and PCM device as sound output in one time.
30 There are no sound or input collisions detected. The source code have
31 comments about them; but I've found the joystick can be initialized
32 separately of ALSA modules. So, you can use only one joystick driver
33 without ALSA drivers. The ALSA drivers are not needed to compile or
34 run this driver.
35
36 There are no debug information print have been placed in source, and no
37 specific options required to work this driver. The found chipset parameters
38 are printed via printk(KERN_INFO "..."), see the /var/log/messages to
39 inspect cs461x: prefixed messages to determine possible card detection
40 errors.
41
42 Regards,
43 Viktor