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) .. SPDX-License-Identifier: GPL-2.0
^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) USB Legacy support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) :Author: Vojtech Pavlik <vojtech@suse.cz>, January 2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Also known as "USB Keyboard" or "USB Mouse support" in the BIOS Setup is a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) feature that allows one to use the USB mouse and keyboard as if they were
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) their classic PS/2 counterparts.  This means one can use an USB keyboard to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) type in LILO for example.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) It has several drawbacks, though:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 1) On some machines, the emulated PS/2 mouse takes over even when no USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)    mouse is present and a real PS/2 mouse is present.  In that case the extra
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)    features (wheel, extra buttons, touchpad mode) of the real PS/2 mouse may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)    not be available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 2) If CONFIG_HIGHMEM64G is enabled, the PS/2 mouse emulation can cause
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)    system crashes, because the SMM BIOS is not expecting to be in PAE mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)    The Intel E7505 is a typical machine where this happens.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 3) If AMD64 64-bit mode is enabled, again system crashes often happen,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)    because the SMM BIOS isn't expecting the CPU to be in 64-bit mode.  The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)    BIOS manufacturers only test with Windows, and Windows doesn't do 64-bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)    yet.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Solutions:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Problem 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)   can be solved by loading the USB drivers prior to loading the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)   PS/2 mouse driver. Since the PS/2 mouse driver is in 2.6 compiled into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)   the kernel unconditionally, this means the USB drivers need to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)   compiled-in, too.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Problem 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)   can currently only be solved by either disabling HIGHMEM64G
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)   in the kernel config or USB Legacy support in the BIOS. A BIOS update
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)   could help, but so far no such update exists.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Problem 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)   is usually fixed by a BIOS update. Check the board
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)   manufacturers web site. If an update is not available, disable USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)   Legacy support in the BIOS. If this alone doesn't help, try also adding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)   idle=poll on the kernel command line. The BIOS may be entering the SMM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)   on the HLT instruction as well.