18c2ecf20Sopenharmony_ciCrystal SoundFusion CS4610/CS4612/CS461 joystick
28c2ecf20Sopenharmony_ci================================================
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciThis is a new low-level driver to support analog joystick attached to
58c2ecf20Sopenharmony_ciCrystal SoundFusion CS4610/CS4612/CS4615. This code is based upon
68c2ecf20Sopenharmony_ciVortex/Solo drivers as an example of decoration style, and ALSA
78c2ecf20Sopenharmony_ci0.5.8a kernel drivers as an chipset documentation and samples.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciThis version does not have cooked mode support; the basic code
108c2ecf20Sopenharmony_ciis present here, but have not tested completely. The button analysis
118c2ecf20Sopenharmony_ciis completed in this mode, but the axis movement is not.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciRaw mode works fine with analog joystick front-end driver and cs461x
148c2ecf20Sopenharmony_cidriver as a backend. I've tested this driver with CS4610, 4-axis and
158c2ecf20Sopenharmony_ci4-button joystick; I mean the jstest utility. Also I've tried to
168c2ecf20Sopenharmony_ciplay in xracer game using joystick, and the result is better than
178c2ecf20Sopenharmony_cikeyboard only mode.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciThe sensitivity and calibrate quality have not been tested; the two
208c2ecf20Sopenharmony_cireasons are performed: the same hardware cannot work under Win95 (blue
218c2ecf20Sopenharmony_ciscreen in VJOYD); I have no documentation on my chip; and the existing
228c2ecf20Sopenharmony_cibehavior in my case was not raised the requirement of joystick calibration.
238c2ecf20Sopenharmony_ciSo the driver have no code to perform hardware related calibration.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciThis driver have the basic support for PCI devices only; there is no
268c2ecf20Sopenharmony_ciISA or PnP ISA cards supported.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciThe driver works with ALSA drivers simultaneously. For example, the xracer
298c2ecf20Sopenharmony_ciuses joystick as input device and PCM device as sound output in one time.
308c2ecf20Sopenharmony_ciThere are no sound or input collisions detected. The source code have
318c2ecf20Sopenharmony_cicomments about them; but I've found the joystick can be initialized
328c2ecf20Sopenharmony_ciseparately of ALSA modules. So, you can use only one joystick driver
338c2ecf20Sopenharmony_ciwithout ALSA drivers. The ALSA drivers are not needed to compile or
348c2ecf20Sopenharmony_cirun this driver.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciThere are no debug information print have been placed in source, and no
378c2ecf20Sopenharmony_cispecific options required to work this driver. The found chipset parameters
388c2ecf20Sopenharmony_ciare printed via printk(KERN_INFO "..."), see the /var/log/messages to
398c2ecf20Sopenharmony_ciinspect cs461x: prefixed messages to determine possible card detection
408c2ecf20Sopenharmony_cierrors.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciRegards,
438c2ecf20Sopenharmony_ciViktor
44