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) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) config HVC_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 	  Generic "hypervisor virtual console" infrastructure for various
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 	  hypervisors (pSeries, iSeries, Xen).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 	  It will automatically be selected if one of the back-end console drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 	  is selected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) config HVC_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) config HVC_CONSOLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 	bool "pSeries Hypervisor Virtual Console support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 	depends on PPC_PSERIES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	select HVC_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	select HVC_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	  pSeries machines when partitioned support a hypervisor virtual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 	  console. This driver allows each pSeries partition to have a console
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	  which is accessed via the HMC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) config HVC_OLD_HVSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	bool "Old driver for pSeries serial port (/dev/hvsi*)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	depends on HVC_CONSOLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) config HVC_OPAL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 	bool "OPAL Console support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	depends on PPC_POWERNV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	select HVC_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	select HVC_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	  PowerNV machines running under OPAL need that driver to get a console
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) config HVC_RTAS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	bool "IBM RTAS Console support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	depends on PPC_RTAS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	select HVC_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	  IBM Console device driver which makes use of RTAS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) config HVC_IUCV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	bool "z/VM IUCV Hypervisor console support (VM only)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	depends on S390 && NET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	select HVC_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	select IUCV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	  This driver provides a Hypervisor console (HVC) back-end to access
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	  a Linux (console) terminal via a z/VM IUCV communication path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) config HVC_XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	bool "Xen Hypervisor Console support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	depends on XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	select HVC_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	select HVC_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	  Xen virtual console device driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) config HVC_XEN_FRONTEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	bool "Xen Hypervisor Multiple Consoles support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	depends on HVC_XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	select XEN_XENBUS_FRONTEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	  Xen driver for secondary virtual consoles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) config HVC_UDBG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	bool "udbg based fake hypervisor console"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	depends on PPC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	select HVC_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	  This is meant to be used during HW bring up or debugging when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	  no other console mechanism exist but udbg, to get you a quick
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	  console for userspace. Do NOT enable in production kernels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) config HVC_DCC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	bool "ARM JTAG DCC console"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	depends on ARM || ARM64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 	select HVC_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 	select SERIAL_CORE_CONSOLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	  This console uses the JTAG DCC on ARM to create a console under the HVC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	  driver. This console is used through a JTAG only on ARM. If you don't have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	  a JTAG then you probably don't want this option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) config HVC_DCC_SERIALIZE_SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	bool "Use DCC only on core 0"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	depends on SMP && HVC_DCC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	  Some debuggers, such as Trace32 from Lauterbach GmbH, do not handle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	  reads/writes from/to DCC on more than one core. Each core has its
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	  own DCC device registers, so when a core reads or writes from/to DCC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	  it only accesses its own DCC device. Since kernel code can run on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	  any core, every time the kernel wants to write to the console, it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	  might write to a different DCC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	  In SMP mode, Trace32 only uses the DCC on core 0. In AMP mode, it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	  creates multiple windows, and each window shows the DCC output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 	  only from that core's DCC. The result is that console output is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	  either lost or scattered across windows.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	  Selecting this option will enable code that serializes all console
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	  input and output to core 0. The DCC driver will create input and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 	  output FIFOs that all cores will use. Reads and writes from/to DCC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	  are handled by a workqueue that runs only core 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) config HVC_RISCV_SBI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 	bool "RISC-V SBI console support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	depends on RISCV_SBI_V01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 	select HVC_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	  This enables support for console output via RISC-V SBI calls, which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	  is normally used only during boot to output printk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	  If you don't know what do to here, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) config HVCS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 	tristate "IBM Hypervisor Virtual Console Server support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	depends on PPC_PSERIES && HVC_CONSOLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	  Partitionable IBM Power5 ppc64 machines allow hosting of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 	  firmware virtual consoles from one Linux partition by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	  another Linux partition.  This driver allows console data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	  from Linux partitions to be accessed through TTY device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 	  interfaces in the device tree of a Linux partition running
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	  this driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 	  To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	  module will be called hvcs.  Additionally, this module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	  will depend on arch specific APIs exported from hvcserver.ko
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 	  which will also be compiled when this driver is built as a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 	  module.