Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) =======================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) Analog Joystick Support on ALSA Drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) =======================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) Oct. 14, 2003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) Takashi Iwai <tiwai@suse.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) General
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) -------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) First of all, you need to enable GAMEPORT support on Linux kernel for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) using a joystick with the ALSA driver.  For the details of gameport
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) support, refer to Documentation/input/joydev/joystick.rst.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) The joystick support of ALSA drivers is different between ISA and PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) cards.  In the case of ISA (PnP) cards, it's usually handled by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) independent module (ns558).  Meanwhile, the ALSA PCI drivers have the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) built-in gameport support.  Hence, when the ALSA PCI driver is built
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) in the kernel, CONFIG_GAMEPORT must be 'y', too.  Otherwise, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) gameport support on that card will be (silently) disabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Some adapter modules probe the physical connection of the device at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) the load time.  It'd be safer to plug in the joystick device before
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) loading the module.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) PCI Cards
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) ---------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) For PCI cards, the joystick is enabled when the appropriate module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) option is specified.  Some drivers don't need options, and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) joystick support is always enabled.  In the former ALSA version, there
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) was a dynamic control API for the joystick activation.  It was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) changed, however, to the static module options because of the system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) stability and the resource management.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) The following PCI drivers support the joystick natively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) ==============	=============	============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Driver		Module Option	Available Values
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) ==============	=============	============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) als4000		joystick_port	0 = disable (default), 1 = auto-detect,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 	                        manual: any address (e.g. 0x200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) au88x0		N/A		N/A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) azf3328		joystick	0 = disable, 1 = enable, -1 = auto (default)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) ens1370		joystick	0 = disable (default), 1 = enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) ens1371		joystick_port	0 = disable (default), 1 = auto-detect,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 	                        manual: 0x200, 0x208, 0x210, 0x218
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) cmipci		joystick_port	0 = disable (default), 1 = auto-detect,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 	                        manual: any address (e.g. 0x200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) cs4281		N/A		N/A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) cs46xx		N/A		N/A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) es1938		N/A		N/A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) es1968		joystick	0 = disable (default), 1 = enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) sonicvibes	N/A		N/A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) trident		N/A		N/A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) via82xx [#f1]_	joystick	0 = disable (default), 1 = enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) ymfpci		joystick_port	0 = disable (default), 1 = auto-detect,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 	                        manual: 0x201, 0x202, 0x204, 0x205 [#f2]_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) ==============	=============	============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) .. [#f1] VIA686A/B only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) .. [#f2] With YMF744/754 chips, the port address can be chosen arbitrarily
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) The following drivers don't support gameport natively, but there are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) additional modules.  Load the corresponding module to add the gameport
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) =======	=================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Driver	Additional Module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) =======	=================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) emu10k1	emu10k1-gp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) fm801	fm801-gp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) =======	=================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) Note: the "pcigame" and "cs461x" modules are for the OSS drivers only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) These ALSA drivers (cs46xx, trident and au88x0) have the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) built-in gameport support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) As mentioned above, ALSA PCI drivers have the built-in gameport
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) support, so you don't have to load ns558 module.  Just load "joydev"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) and the appropriate adapter module (e.g. "analog").
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) ISA Cards
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) ---------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) ALSA ISA drivers don't have the built-in gameport support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) Instead, you need to load "ns558" module in addition to "joydev" and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) the adapter module (e.g. "analog").