^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # For a description of the syntax of this configuration file,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # see Documentation/kbuild/kconfig-language.rst.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) menu "Firmware Drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) config ARM_SCMI_PROTOCOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) tristate "ARM System Control and Management Interface (SCMI) Message Protocol"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) depends on ARM || ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) depends on MAILBOX || HAVE_ARM_SMCCC_DISCOVERY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) ARM System Control and Management Interface (SCMI) protocol is a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) set of operating system-independent software interfaces that are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) used in system management. SCMI is extensible and currently provides
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) interfaces for: Discovery and self-description of the interfaces
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) it supports, Power domain management which is the ability to place
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) a given device or domain into the various power-saving states that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) it supports, Performance management which is the ability to control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) the performance of a domain that is composed of compute engines
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) such as application processors and other accelerators, Clock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) management which is the ability to set and inquire rates on platform
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) managed clocks and Sensor management which is the ability to read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) sensor data, and be notified of sensor value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) This protocol library provides interface for all the client drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) making use of the features offered by the SCMI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) config ARM_SCMI_POWER_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) tristate "SCMI power domain driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) depends on ARM_SCMI_PROTOCOL || (COMPILE_TEST && OF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) select PM_GENERIC_DOMAINS if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) This enables support for the SCMI power domains which can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) enabled or disabled via the SCP firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) This driver can also be built as a module. If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) will be called scmi_pm_domain. Note this may needed early in boot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) before rootfs may be available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) config ARM_SCPI_PROTOCOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) tristate "ARM System Control and Power Interface (SCPI) Message Protocol"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) depends on ARM || ARM64 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) depends on MAILBOX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) System Control and Power Interface (SCPI) Message Protocol is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) defined for the purpose of communication between the Application
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Cores(AP) and the System Control Processor(SCP). The MHU peripheral
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) provides a mechanism for inter-processor communication between SCP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) and AP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) SCP controls most of the power managament on the Application
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) Processors. It offers control and management of: the core/cluster
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) power states, various power domain DVFS including the core/cluster,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) certain system clocks configuration, thermal sensors and many
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) others.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) This protocol library provides interface for all the client drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) making use of the features offered by the SCP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) config ARM_SCPI_POWER_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) tristate "SCPI power domain driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) select PM_GENERIC_DOMAINS if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) This enables support for the SCPI power domains which can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) enabled or disabled via the SCP firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) config ARM_SDE_INTERFACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) bool "ARM Software Delegated Exception Interface (SDEI)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) depends on ARM64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) The Software Delegated Exception Interface (SDEI) is an ARM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) standard for registering callbacks from the platform firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) into the OS. This is typically used to implement RAS notifications.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) config EDD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) tristate "BIOS Enhanced Disk Drive calls determine boot disk"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) depends on X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) Say Y or M here if you want to enable BIOS Enhanced Disk Drive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) Services real mode BIOS calls to determine which disk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) BIOS tries boot from. This information is then exported via sysfs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) This option is experimental and is known to fail to boot on some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) obscure configurations. Most disk controller BIOS vendors do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) not yet implement this feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) config EDD_OFF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) bool "Sets default behavior for EDD detection to off"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) depends on EDD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) Say Y if you want EDD disabled by default, even though it is compiled into the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) kernel. Say N if you want EDD enabled by default. EDD can be dynamically set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) using the kernel parameter 'edd={on|skipmbr|off}'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) config FIRMWARE_MEMMAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) bool "Add firmware-provided memory map to sysfs" if EXPERT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) default X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) That memory map is used for example by kexec to set up parameter area
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) for the next kernel, but can also be used for debugging purposes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) See also Documentation/ABI/testing/sysfs-firmware-memmap.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) config EFI_PCDP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) bool "Console device selection via EFI PCDP or HCDP table"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) depends on ACPI && EFI && IA64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) default y if IA64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) If your firmware supplies the PCDP table, and you want to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) automatically use the primary console device it describes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) as the Linux console, say Y here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) If your firmware supplies the HCDP table, and you want to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) use the first serial port it describes as the Linux console,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) say Y here. If your EFI ConOut path contains only a UART
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) device, it will become the console automatically. Otherwise,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) you must specify the "console=hcdp" kernel boot argument.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) Neither the PCDP nor the HCDP affects naming of serial devices,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) on how the driver discovers devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) You must also enable the appropriate drivers (serial, VGA, etc.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) See DIG64_HCDPv20_042804.pdf available from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) <http://www.dig64.org/specifications/>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) config DMIID
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) bool "Export DMI identification via sysfs to userspace"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) depends on DMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) Say Y here if you want to query SMBIOS/DMI system identification
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) information from userspace through /sys/class/dmi/id/ or if you want
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) DMI-based module auto-loading.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) config DMI_SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) tristate "DMI table support in sysfs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) depends on SYSFS && DMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) Say Y or M here to enable the exporting of the raw DMI table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) data via sysfs. This is useful for consuming the data without
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) requiring any access to /dev/mem at all. Tables are found
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) under /sys/firmware/dmi when this option is enabled and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) loaded.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) config DMI_SCAN_MACHINE_NON_EFI_FALLBACK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) config ISCSI_IBFT_FIND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) bool "iSCSI Boot Firmware Table Attributes"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) depends on X86 && ISCSI_IBFT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) This option enables the kernel to find the region of memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) in which the ISCSI Boot Firmware Table (iBFT) resides. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) is necessary for iSCSI Boot Firmware Table Attributes module to work
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) properly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) config ISCSI_IBFT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) tristate "iSCSI Boot Firmware Table Attributes module"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) select ISCSI_BOOT_SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) select ISCSI_IBFT_FIND if X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) depends on ACPI && SCSI && SCSI_LOWLEVEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) This option enables support for detection and exposing of iSCSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) detect iSCSI boot parameters dynamically during system boot, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) Otherwise, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) config RASPBERRYPI_FIRMWARE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) tristate "Raspberry Pi Firmware Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) depends on BCM2835_MBOX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) This option enables support for communicating with the firmware on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) Raspberry Pi.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) config FW_CFG_SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) tristate "QEMU fw_cfg device support in sysfs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) depends on SYSFS && (ARM || ARM64 || PARISC || PPC_PMAC || SPARC || X86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) depends on HAS_IOPORT_MAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) Say Y or M here to enable the exporting of the QEMU firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) configuration (fw_cfg) file entries via sysfs. Entries are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) found under /sys/firmware/fw_cfg when this option is enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) and loaded.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) config FW_CFG_SYSFS_CMDLINE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) bool "QEMU fw_cfg device parameter parsing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) depends on FW_CFG_SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) Allow the qemu_fw_cfg device to be initialized via the kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) command line or using a module parameter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) WARNING: Using incorrect parameters (base address in particular)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) may crash your system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) config INTEL_STRATIX10_SERVICE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) tristate "Intel Stratix10 Service Layer"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) depends on (ARCH_STRATIX10 || ARCH_AGILEX) && HAVE_ARM_SMCCC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) Intel Stratix10 service layer runs at privileged exception level,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) interfaces with the service providers (FPGA manager is one of them)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) and manages secure monitor call to communicate with secure monitor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) software at secure monitor exception level.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) Say Y here if you want Stratix10 service layer support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) config INTEL_STRATIX10_RSU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) tristate "Intel Stratix10 Remote System Update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) depends on INTEL_STRATIX10_SERVICE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) The Intel Remote System Update (RSU) driver exposes interfaces
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) access through the Intel Service Layer to user space via sysfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) device attribute nodes. The RSU interfaces report/control some of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) the optional RSU features of the Stratix 10 SoC FPGA.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) The RSU provides a way for customers to update the boot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) configuration of a Stratix 10 SoC device with significantly reduced
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) risk of corrupting the bitstream storage and bricking the system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) Enable RSU support if you are using an Intel SoC FPGA with the RSU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) feature enabled and you want Linux user space control.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) Say Y here if you want Intel RSU support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) config QCOM_SCM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) tristate "Qcom SCM driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) depends on ARM || ARM64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) depends on HAVE_ARM_SMCCC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) select RESET_CONTROLLER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) config QCOM_SCM_DOWNLOAD_MODE_DEFAULT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) bool "Qualcomm download mode enabled by default"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) depends on QCOM_SCM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) A device with "download mode" enabled will upon an unexpected
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) warm-restart enter a special debug mode that allows the user to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) "download" memory content over USB for offline postmortem analysis.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) The feature can be enabled/disabled on the kernel command line.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) Say Y here to enable "download mode" by default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) config ROCKCHIP_SIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) tristate "Rockchip SIP interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) depends on HAVE_ARM_SMCCC && ARCH_ROCKCHIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) Say Y here if you want to enable SIP callbacks for Rockchip platforms
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) This option enables support for communicating with the ATF.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) config TI_SCI_PROTOCOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) tristate "TI System Control Interface (TISCI) Message Protocol"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) depends on TI_MESSAGE_MANAGER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) TI System Control Interface (TISCI) Message Protocol is used to manage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) compute systems such as ARM, DSP etc with the system controller in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) complex System on Chip(SoC) such as those found on certain keystone
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) generation SoC from TI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) System controller provides various facilities including power
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) management function support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) This protocol library is used by client drivers to use the features
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) provided by the system controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) config TRUSTED_FOUNDATIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) bool "Trusted Foundations secure monitor support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) depends on ARM && CPU_V7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) Some devices (including most early Tegra-based consumer devices on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) the market) are booted with the Trusted Foundations secure monitor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) active, requiring some core operations to be performed by the secure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) monitor instead of the kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) This option allows the kernel to invoke the secure monitor whenever
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) required on devices using Trusted Foundations. See the functions and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) comments in linux/firmware/trusted_foundations.h or the device tree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) bindings for "tlm,trusted-foundations" for details on how to use it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) Choose N if you don't know what this is about.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) config TURRIS_MOX_RWTM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) tristate "Turris Mox rWTM secure firmware driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) depends on ARCH_MVEBU || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) depends on HAS_DMA && OF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) depends on MAILBOX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) select HW_RANDOM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) select ARMADA_37XX_RWTM_MBOX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) This driver communicates with the firmware on the Cortex-M3 secure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) processor of the Turris Mox router. Enable if you are building for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) Turris Mox, and you will be able to read the device serial number and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) other manufacturing data and also utilize the Entropy Bit Generator
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) for hardware random number generation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) source "drivers/firmware/broadcom/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) source "drivers/firmware/google/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) source "drivers/firmware/efi/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) source "drivers/firmware/imx/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) source "drivers/firmware/meson/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) source "drivers/firmware/psci/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) source "drivers/firmware/smccc/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) source "drivers/firmware/tegra/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) source "drivers/firmware/xilinx/Kconfig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) endmenu