Файловый менеджер - Редактировать - /var/www/xthruster/html/wp-content/uploads/flags/drivers.tar
Назад
pwm/Kconfig 0000644 00000036470 14722053665 0006676 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig PWM bool "Pulse-Width Modulation (PWM) Support" help Generic Pulse-Width Modulation (PWM) support. In Pulse-Width Modulation, a variation of the width of pulses in a rectangular pulse signal is used as a means to alter the average power of the signal. Applications include efficient power delivery and voltage regulation. In computer systems, PWMs are commonly used to control fans or the brightness of display backlights. This framework provides a generic interface to PWM devices within the Linux kernel. On the driver side it provides an API to register and unregister a PWM chip, an abstraction of a PWM controller, that supports one or more PWM devices. Client drivers can request PWM devices and use the generic framework to configure as well as enable and disable them. This generic framework replaces the legacy PWM framework which allows only a single driver implementing the required API. Not all legacy implementations have been ported to the framework yet. The framework provides an API that is backward compatible with the legacy framework so that existing client drivers continue to work as expected. If unsure, say no. if PWM config PWM_SYSFS bool default y if SYSFS config PWM_AB8500 tristate "AB8500 PWM support" depends on AB8500_CORE && ARCH_U8500 help Generic PWM framework driver for Analog Baseband AB8500. To compile this driver as a module, choose M here: the module will be called pwm-ab8500. config PWM_ATMEL tristate "Atmel PWM support" depends on ARCH_AT91 && OF help Generic PWM framework driver for Atmel SoC. To compile this driver as a module, choose M here: the module will be called pwm-atmel. config PWM_ATMEL_HLCDC_PWM tristate "Atmel HLCDC PWM support" depends on MFD_ATMEL_HLCDC depends on HAVE_CLK help Generic PWM framework driver for the PWM output of the HLCDC (Atmel High-end LCD Controller). This PWM output is mainly used to control the LCD backlight. To compile this driver as a module, choose M here: the module will be called pwm-atmel-hlcdc. config PWM_ATMEL_TCB tristate "Atmel TC Block PWM support" depends on ATMEL_TCLIB && OF help Generic PWM framework driver for Atmel Timer Counter Block. A Timer Counter Block provides 6 PWM devices grouped by 2. Devices in a given group must have the same period. To compile this driver as a module, choose M here: the module will be called pwm-atmel-tcb. config PWM_BCM_IPROC tristate "iProc PWM support" depends on ARCH_BCM_IPROC || COMPILE_TEST depends on COMMON_CLK default ARCH_BCM_IPROC help Generic PWM framework driver for Broadcom iProc PWM block. This block is used in Broadcom iProc SoC's. To compile this driver as a module, choose M here: the module will be called pwm-bcm-iproc. config PWM_BCM_KONA tristate "Kona PWM support" depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST depends on HAVE_CLK && HAS_IOMEM default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS help Generic PWM framework driver for Broadcom Kona PWM block. To compile this driver as a module, choose M here: the module will be called pwm-bcm-kona. config PWM_BCM2835 tristate "BCM2835 PWM support" depends on ARCH_BCM2835 help PWM framework driver for BCM2835 controller (Raspberry Pi) To compile this driver as a module, choose M here: the module will be called pwm-bcm2835. config PWM_BERLIN tristate "Marvell Berlin PWM support" depends on ARCH_BERLIN help PWM framework driver for Marvell Berlin SoCs. To compile this driver as a module, choose M here: the module will be called pwm-berlin. config PWM_BRCMSTB tristate "Broadcom STB PWM support" depends on ARCH_BRCMSTB || BMIPS_GENERIC help Generic PWM framework driver for the Broadcom Set-top-Box SoCs (BCM7xxx). To compile this driver as a module, choose M Here: the module will be called pwm-brcmstb.c. config PWM_CLPS711X tristate "CLPS711X PWM support" depends on ARCH_CLPS711X || COMPILE_TEST depends on HAS_IOMEM help Generic PWM framework driver for Cirrus Logic CLPS711X. To compile this driver as a module, choose M here: the module will be called pwm-clps711x. config PWM_CRC bool "Intel Crystalcove (CRC) PWM support" depends on X86 && INTEL_SOC_PMIC help Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM control. config PWM_CROS_EC tristate "ChromeOS EC PWM driver" depends on CROS_EC help PWM driver for exposing a PWM attached to the ChromeOS Embedded Controller. config PWM_EP93XX tristate "Cirrus Logic EP93xx PWM support" depends on ARCH_EP93XX help Generic PWM framework driver for Cirrus Logic EP93xx. To compile this driver as a module, choose M here: the module will be called pwm-ep93xx. config PWM_FSL_FTM tristate "Freescale FlexTimer Module (FTM) PWM support" depends on HAS_IOMEM depends on OF select REGMAP_MMIO help Generic FTM PWM framework driver for Freescale VF610 and Layerscape LS-1 SoCs. To compile this driver as a module, choose M here: the module will be called pwm-fsl-ftm. config PWM_HIBVT tristate "HiSilicon BVT PWM support" depends on ARCH_HISI || COMPILE_TEST help Generic PWM framework driver for HiSilicon BVT SoCs. To compile this driver as a module, choose M here: the module will be called pwm-hibvt. config PWM_IMG tristate "Imagination Technologies PWM driver" depends on HAS_IOMEM depends on MFD_SYSCON depends on COMMON_CLK depends on MIPS || COMPILE_TEST help Generic PWM framework driver for Imagination Technologies PWM block which supports 4 channels. To compile this driver as a module, choose M here: the module will be called pwm-img config PWM_IMX1 tristate "i.MX1 PWM support" depends on ARCH_MXC help Generic PWM framework driver for i.MX1 and i.MX21 To compile this driver as a module, choose M here: the module will be called pwm-imx1. config PWM_IMX27 tristate "i.MX27 PWM support" depends on ARCH_MXC help Generic PWM framework driver for i.MX27 and later i.MX SoCs. To compile this driver as a module, choose M here: the module will be called pwm-imx27. config PWM_IMX_TPM tristate "i.MX TPM PWM support" depends on ARCH_MXC || COMPILE_TEST depends on HAVE_CLK && HAS_IOMEM help Generic PWM framework driver for i.MX7ULP TPM module, TPM's full name is Low Power Timer/Pulse Width Modulation Module. To compile this driver as a module, choose M here: the module will be called pwm-imx-tpm. config PWM_JZ4740 tristate "Ingenic JZ47xx PWM support" depends on MACH_INGENIC help Generic PWM framework driver for Ingenic JZ47xx based machines. To compile this driver as a module, choose M here: the module will be called pwm-jz4740. config PWM_LP3943 tristate "TI/National Semiconductor LP3943 PWM support" depends on MFD_LP3943 help Generic PWM framework driver for LP3943 which supports two PWM channels. To compile this driver as a module, choose M here: the module will be called pwm-lp3943. config PWM_LPC18XX_SCT tristate "LPC18xx/43xx PWM/SCT support" depends on ARCH_LPC18XX help Generic PWM framework driver for NXP LPC18xx PWM/SCT which supports 16 channels. A maximum of 15 channels can be requested simultaneously and must have the same period. To compile this driver as a module, choose M here: the module will be called pwm-lpc18xx-sct. config PWM_LPC32XX tristate "LPC32XX PWM support" depends on ARCH_LPC32XX help Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two PWM controllers. To compile this driver as a module, choose M here: the module will be called pwm-lpc32xx. config PWM_LPSS tristate config PWM_LPSS_PCI tristate "Intel LPSS PWM PCI driver" depends on X86 && PCI select PWM_LPSS help The PCI driver for Intel Low Power Subsystem PWM controller. To compile this driver as a module, choose M here: the module will be called pwm-lpss-pci. config PWM_LPSS_PLATFORM tristate "Intel LPSS PWM platform driver" depends on X86 && ACPI select PWM_LPSS help The platform driver for Intel Low Power Subsystem PWM controller. To compile this driver as a module, choose M here: the module will be called pwm-lpss-platform. config PWM_MESON tristate "Amlogic Meson PWM driver" depends on ARCH_MESON help The platform driver for Amlogic Meson PWM controller. To compile this driver as a module, choose M here: the module will be called pwm-meson. config PWM_MTK_DISP tristate "MediaTek display PWM driver" depends on ARCH_MEDIATEK || COMPILE_TEST depends on HAS_IOMEM help Generic PWM framework driver for MediaTek disp-pwm device. The PWM is used to control the backlight brightness for display. To compile this driver as a module, choose M here: the module will be called pwm-mtk-disp. config PWM_MEDIATEK tristate "MediaTek PWM support" depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST help Generic PWM framework driver for Mediatek ARM SoC. To compile this driver as a module, choose M here: the module will be called pwm-mediatek. config PWM_MXS tristate "Freescale MXS PWM support" depends on ARCH_MXS && OF select STMP_DEVICE help Generic PWM framework driver for Freescale MXS. To compile this driver as a module, choose M here: the module will be called pwm-mxs. config PWM_OMAP_DMTIMER tristate "OMAP Dual-Mode Timer PWM support" depends on OF && ARCH_OMAP && OMAP_DM_TIMER help Generic PWM framework driver for OMAP Dual-Mode Timer PWM output To compile this driver as a module, choose M here: the module will be called pwm-omap-dmtimer config PWM_PCA9685 tristate "NXP PCA9685 PWM driver" depends on I2C select REGMAP_I2C help Generic PWM framework driver for NXP PCA9685 LED controller. To compile this driver as a module, choose M here: the module will be called pwm-pca9685. config PWM_PUV3 tristate "PKUnity NetBook-0916 PWM support" depends on ARCH_PUV3 help Generic PWM framework driver for PKUnity NetBook-0916. To compile this driver as a module, choose M here: the module will be called pwm-puv3. config PWM_PXA tristate "PXA PWM support" depends on ARCH_PXA help Generic PWM framework driver for PXA. To compile this driver as a module, choose M here: the module will be called pwm-pxa. config PWM_RCAR tristate "Renesas R-Car PWM support" depends on ARCH_RENESAS || COMPILE_TEST depends on HAS_IOMEM help This driver exposes the PWM Timer controller found in Renesas R-Car chips through the PWM API. To compile this driver as a module, choose M here: the module will be called pwm-rcar. config PWM_RENESAS_TPU tristate "Renesas TPU PWM support" depends on ARCH_RENESAS || COMPILE_TEST depends on HAS_IOMEM help This driver exposes the Timer Pulse Unit (TPU) PWM controller found in Renesas chips through the PWM API. To compile this driver as a module, choose M here: the module will be called pwm-renesas-tpu. config PWM_ROCKCHIP tristate "Rockchip PWM support" depends on ARCH_ROCKCHIP help Generic PWM framework driver for the PWM controller found on Rockchip SoCs. config PWM_SAMSUNG tristate "Samsung PWM support" depends on PLAT_SAMSUNG || ARCH_EXYNOS help Generic PWM framework driver for Samsung. To compile this driver as a module, choose M here: the module will be called pwm-samsung. config PWM_SIFIVE tristate "SiFive PWM support" depends on OF depends on COMMON_CLK depends on RISCV || COMPILE_TEST help Generic PWM framework driver for SiFive SoCs. To compile this driver as a module, choose M here: the module will be called pwm-sifive. config PWM_SPEAR tristate "STMicroelectronics SPEAr PWM support" depends on PLAT_SPEAR depends on OF help Generic PWM framework driver for the PWM controller on ST SPEAr SoCs. To compile this driver as a module, choose M here: the module will be called pwm-spear. config PWM_SPRD tristate "Spreadtrum PWM support" depends on ARCH_SPRD || COMPILE_TEST depends on HAS_IOMEM help Generic PWM framework driver for the PWM controller on Spreadtrum SoCs. To compile this driver as a module, choose M here: the module will be called pwm-sprd. config PWM_STI tristate "STiH4xx PWM support" depends on ARCH_STI depends on OF help Generic PWM framework driver for STiH4xx SoCs. To compile this driver as a module, choose M here: the module will be called pwm-sti. config PWM_STM32 tristate "STMicroelectronics STM32 PWM" depends on MFD_STM32_TIMERS help Generic PWM framework driver for STM32 SoCs. To compile this driver as a module, choose M here: the module will be called pwm-stm32. config PWM_STM32_LP tristate "STMicroelectronics STM32 PWM LP" depends on MFD_STM32_LPTIMER || COMPILE_TEST help Generic PWM framework driver for STMicroelectronics STM32 SoCs with Low-Power Timer (LPTIM). To compile this driver as a module, choose M here: the module will be called pwm-stm32-lp. config PWM_STMPE bool "STMPE expander PWM export" depends on MFD_STMPE help This enables support for the PWMs found in the STMPE I/O expanders. config PWM_SUN4I tristate "Allwinner PWM support" depends on ARCH_SUNXI || COMPILE_TEST depends on HAS_IOMEM && COMMON_CLK help Generic PWM framework driver for Allwinner SoCs. To compile this driver as a module, choose M here: the module will be called pwm-sun4i. config PWM_TEGRA tristate "NVIDIA Tegra PWM support" depends on ARCH_TEGRA help Generic PWM framework driver for the PWFM controller found on NVIDIA Tegra SoCs. To compile this driver as a module, choose M here: the module will be called pwm-tegra. config PWM_TIECAP tristate "ECAP PWM support" depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 help PWM driver support for the ECAP APWM controller found on TI SOCs To compile this driver as a module, choose M here: the module will be called pwm-tiecap. config PWM_TIEHRPWM tristate "EHRPWM PWM support" depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 help PWM driver support for the EHRPWM controller found on TI SOCs To compile this driver as a module, choose M here: the module will be called pwm-tiehrpwm. config PWM_TIPWMSS bool default y if (ARCH_OMAP2PLUS) && (PWM_TIECAP || PWM_TIEHRPWM) help PWM Subsystem driver support for AM33xx SOC. PWM submodules require PWM config space access from submodule drivers and require common parent driver support. config PWM_TWL tristate "TWL4030/6030 PWM support" depends on TWL4030_CORE help Generic PWM framework driver for TWL4030/6030. To compile this driver as a module, choose M here: the module will be called pwm-twl. config PWM_TWL_LED tristate "TWL4030/6030 PWM support for LED drivers" depends on TWL4030_CORE help Generic PWM framework driver for TWL4030/6030 LED terminals. To compile this driver as a module, choose M here: the module will be called pwm-twl-led. config PWM_VT8500 tristate "vt8500 PWM support" depends on ARCH_VT8500 help Generic PWM framework driver for vt8500. To compile this driver as a module, choose M here: the module will be called pwm-vt8500. config PWM_ZX tristate "ZTE ZX PWM support" depends on ARCH_ZX help Generic PWM framework driver for ZTE ZX family SoCs. To compile this driver as a module, choose M here: the module will be called pwm-zx. endif pwm/Makefile 0000644 00000004511 14722053665 0007022 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PWM) += core.o obj-$(CONFIG_PWM_SYSFS) += sysfs.o obj-$(CONFIG_PWM_AB8500) += pwm-ab8500.o obj-$(CONFIG_PWM_ATMEL) += pwm-atmel.o obj-$(CONFIG_PWM_ATMEL_HLCDC_PWM) += pwm-atmel-hlcdc.o obj-$(CONFIG_PWM_ATMEL_TCB) += pwm-atmel-tcb.o obj-$(CONFIG_PWM_BCM_IPROC) += pwm-bcm-iproc.o obj-$(CONFIG_PWM_BCM_KONA) += pwm-bcm-kona.o obj-$(CONFIG_PWM_BCM2835) += pwm-bcm2835.o obj-$(CONFIG_PWM_BERLIN) += pwm-berlin.o obj-$(CONFIG_PWM_BRCMSTB) += pwm-brcmstb.o obj-$(CONFIG_PWM_CLPS711X) += pwm-clps711x.o obj-$(CONFIG_PWM_CRC) += pwm-crc.o obj-$(CONFIG_PWM_CROS_EC) += pwm-cros-ec.o obj-$(CONFIG_PWM_EP93XX) += pwm-ep93xx.o obj-$(CONFIG_PWM_FSL_FTM) += pwm-fsl-ftm.o obj-$(CONFIG_PWM_HIBVT) += pwm-hibvt.o obj-$(CONFIG_PWM_IMG) += pwm-img.o obj-$(CONFIG_PWM_IMX1) += pwm-imx1.o obj-$(CONFIG_PWM_IMX27) += pwm-imx27.o obj-$(CONFIG_PWM_IMX_TPM) += pwm-imx-tpm.o obj-$(CONFIG_PWM_JZ4740) += pwm-jz4740.o obj-$(CONFIG_PWM_LP3943) += pwm-lp3943.o obj-$(CONFIG_PWM_LPC18XX_SCT) += pwm-lpc18xx-sct.o obj-$(CONFIG_PWM_LPC32XX) += pwm-lpc32xx.o obj-$(CONFIG_PWM_LPSS) += pwm-lpss.o obj-$(CONFIG_PWM_LPSS_PCI) += pwm-lpss-pci.o obj-$(CONFIG_PWM_LPSS_PLATFORM) += pwm-lpss-platform.o obj-$(CONFIG_PWM_MESON) += pwm-meson.o obj-$(CONFIG_PWM_MEDIATEK) += pwm-mediatek.o obj-$(CONFIG_PWM_MTK_DISP) += pwm-mtk-disp.o obj-$(CONFIG_PWM_MXS) += pwm-mxs.o obj-$(CONFIG_PWM_OMAP_DMTIMER) += pwm-omap-dmtimer.o obj-$(CONFIG_PWM_PCA9685) += pwm-pca9685.o obj-$(CONFIG_PWM_PUV3) += pwm-puv3.o obj-$(CONFIG_PWM_PXA) += pwm-pxa.o obj-$(CONFIG_PWM_RCAR) += pwm-rcar.o obj-$(CONFIG_PWM_RENESAS_TPU) += pwm-renesas-tpu.o obj-$(CONFIG_PWM_ROCKCHIP) += pwm-rockchip.o obj-$(CONFIG_PWM_SAMSUNG) += pwm-samsung.o obj-$(CONFIG_PWM_SIFIVE) += pwm-sifive.o obj-$(CONFIG_PWM_SPEAR) += pwm-spear.o obj-$(CONFIG_PWM_SPRD) += pwm-sprd.o obj-$(CONFIG_PWM_STI) += pwm-sti.o obj-$(CONFIG_PWM_STM32) += pwm-stm32.o obj-$(CONFIG_PWM_STM32_LP) += pwm-stm32-lp.o obj-$(CONFIG_PWM_STMPE) += pwm-stmpe.o obj-$(CONFIG_PWM_SUN4I) += pwm-sun4i.o obj-$(CONFIG_PWM_TEGRA) += pwm-tegra.o obj-$(CONFIG_PWM_TIECAP) += pwm-tiecap.o obj-$(CONFIG_PWM_TIEHRPWM) += pwm-tiehrpwm.o obj-$(CONFIG_PWM_TIPWMSS) += pwm-tipwmss.o obj-$(CONFIG_PWM_TWL) += pwm-twl.o obj-$(CONFIG_PWM_TWL_LED) += pwm-twl-led.o obj-$(CONFIG_PWM_VT8500) += pwm-vt8500.o obj-$(CONFIG_PWM_ZX) += pwm-zx.o gpu/drm/arc/Kconfig 0000644 00000000414 14722053665 0010202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_ARCPGU tristate "ARC PGU" depends on DRM && OF select DRM_KMS_CMA_HELPER select DRM_KMS_HELPER help Choose this option if you have an ARC PGU controller. If M is selected the module will be called arcpgu. gpu/drm/arc/Makefile 0000644 00000000217 14722053665 0010340 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only arcpgu-y := arcpgu_crtc.o arcpgu_hdmi.o arcpgu_sim.o arcpgu_drv.o obj-$(CONFIG_DRM_ARCPGU) += arcpgu.o gpu/drm/zte/Kconfig 0000644 00000000443 14722053665 0010241 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_ZTE tristate "DRM Support for ZTE SoCs" depends on DRM && ARCH_ZX select DRM_KMS_CMA_HELPER select DRM_KMS_HELPER select SND_SOC_HDMI_CODEC if SND_SOC select VIDEOMODE_HELPERS help Choose this option to enable DRM on ZTE ZX SoCs. gpu/drm/zte/Makefile 0000644 00000000241 14722053665 0010372 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 zxdrm-y := \ zx_drm_drv.o \ zx_hdmi.o \ zx_plane.o \ zx_tvenc.o \ zx_vga.o \ zx_vou.o obj-$(CONFIG_DRM_ZTE) += zxdrm.o gpu/drm/savage/Makefile 0000644 00000000427 14722053665 0011044 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. savage-y := savage_drv.o savage_bci.o savage_state.o obj-$(CONFIG_DRM_SAVAGE)+= savage.o gpu/drm/mga/Makefile 0000644 00000000500 14722053665 0010332 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. mga-y := mga_drv.o mga_dma.o mga_state.o mga_warp.o mga_irq.o mga-$(CONFIG_COMPAT) += mga_ioc32.o obj-$(CONFIG_DRM_MGA) += mga.o gpu/drm/atmel-hlcdc/Kconfig 0000644 00000000651 14722053665 0011615 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_ATMEL_HLCDC tristate "DRM Support for ATMEL HLCDC Display Controller" depends on DRM && OF && COMMON_CLK && MFD_ATMEL_HLCDC && ARM select DRM_GEM_CMA_HELPER select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_PANEL help Choose this option if you have an ATMEL SoC with an HLCDC display controller (i.e. at91sam9n12, at91sam9x5 family or sama5d3 family). gpu/drm/atmel-hlcdc/Makefile 0000644 00000000303 14722053665 0011744 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 atmel-hlcdc-dc-y := atmel_hlcdc_crtc.o \ atmel_hlcdc_dc.o \ atmel_hlcdc_output.o \ atmel_hlcdc_plane.o obj-$(CONFIG_DRM_ATMEL_HLCDC) += atmel-hlcdc-dc.o gpu/drm/i915/Kconfig.debug 0000644 00000015225 14722053665 0011217 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_I915_WERROR bool "Force GCC to throw an error instead of a warning when compiling" # As this may inadvertently break the build, only allow the user # to shoot oneself in the foot iff they aim really hard depends on EXPERT # We use the dependency on !COMPILE_TEST to not be enabled in # allmodconfig or allyesconfig configurations depends on !COMPILE_TEST default n help Add -Werror to the build flags for (and only for) i915.ko. Do not enable this unless you are writing code for the i915.ko module. Recommended for driver developers only. If in doubt, say "N". config DRM_I915_DEBUG bool "Enable additional driver debugging" depends on DRM_I915 select DEBUG_FS select PREEMPT_COUNT select I2C_CHARDEV select STACKDEPOT select DRM_DP_AUX_CHARDEV select X86_MSR # used by igt/pm_rpm select DRM_VGEM # used by igt/prime_vgem (dmabuf interop checks) select DRM_DEBUG_MM if DRM=y select DRM_DEBUG_SELFTEST select DMABUF_SELFTESTS select SW_SYNC # signaling validation framework (igt/syncobj*) select DRM_I915_SW_FENCE_DEBUG_OBJECTS select DRM_I915_SELFTEST select DRM_I915_DEBUG_RUNTIME_PM select DRM_I915_DEBUG_MMIO default n help Choose this option to turn on extra driver debugging that may affect performance but will catch some internal issues. Recommended for driver developers only. If in doubt, say "N". config DRM_I915_DEBUG_MMIO bool "Always insert extra checks around mmio access by default" default n help By default, always enables the extra sanity checks (extra register reads) around every mmio (register) access that will slow the system down. This sets the default value of i915.mmio_debug to -1 and can be overridden at module load. Recommended for driver developers only. If in doubt, say "N". config DRM_I915_DEBUG_GEM bool "Insert extra checks into the GEM internals" default n depends on DRM_I915_WERROR help Enable extra sanity checks (including BUGs) along the GEM driver paths that may slow the system down and if hit hang the machine. Recommended for driver developers only. If in doubt, say "N". config DRM_I915_ERRLOG_GEM bool "Insert extra logging (very verbose) for common GEM errors" default n depends on DRM_I915_DEBUG_GEM help Enable additional logging that may help track down the cause of principally userspace errors. Recommended for driver developers only. If in doubt, say "N". config DRM_I915_TRACE_GEM bool "Insert extra ftrace output from the GEM internals" depends on DRM_I915_DEBUG_GEM select TRACING default n help Enable additional and verbose debugging output that will spam ordinary tests, but may be vital for post-mortem debugging when used with /proc/sys/kernel/ftrace_dump_on_oops Recommended for driver developers only. If in doubt, say "N". config DRM_I915_TRACE_GTT bool "Insert extra ftrace output from the GTT internals" depends on DRM_I915_DEBUG_GEM select TRACING default n help Enable additional and verbose debugging output that will spam ordinary tests, but may be vital for post-mortem debugging when used with /proc/sys/kernel/ftrace_dump_on_oops Recommended for driver developers only. If in doubt, say "N". config DRM_I915_SW_FENCE_DEBUG_OBJECTS bool "Enable additional driver debugging for fence objects" depends on DRM_I915 select DEBUG_OBJECTS default n help Choose this option to turn on extra driver debugging that may affect performance but will catch some internal issues. Recommended for driver developers only. If in doubt, say "N". config DRM_I915_SW_FENCE_CHECK_DAG bool "Enable additional driver debugging for detecting dependency cycles" depends on DRM_I915 default n help Choose this option to turn on extra driver debugging that may affect performance but will catch some internal issues. Recommended for driver developers only. If in doubt, say "N". config DRM_I915_DEBUG_GUC bool "Enable additional driver debugging for GuC" depends on DRM_I915 default n help Choose this option to turn on extra driver debugging that may affect performance but will help resolve GuC related issues. Recommended for driver developers only. If in doubt, say "N". config DRM_I915_SELFTEST bool "Enable selftests upon driver load" depends on DRM_I915 default n select FAULT_INJECTION select PRIME_NUMBERS help Choose this option to allow the driver to perform selftests upon loading; also requires the i915.selftest=1 module parameter. To exit the module after running the selftests (i.e. to prevent normal module initialisation afterwards) use i915.selftest=-1. Recommended for driver developers only. If in doubt, say "N". config DRM_I915_SELFTEST_BROKEN bool "Enable broken and dangerous selftests" depends on DRM_I915_SELFTEST depends on BROKEN default n help This option enables the execution of selftests that are "dangerous" and may trigger unintended HW side-effects as they break strict rules given in the HW specification. For science. Recommended for masochistic driver developers only. If in doubt, say "N". config DRM_I915_LOW_LEVEL_TRACEPOINTS bool "Enable low level request tracing events" depends on DRM_I915 default n help Choose this option to turn on low level request tracing events. This provides the ability to precisely monitor engine utilisation and also analyze the request dependency resolving timeline. If in doubt, say "N". config DRM_I915_DEBUG_VBLANK_EVADE bool "Enable extra debug warnings for vblank evasion" depends on DRM_I915 default n help Choose this option to turn on extra debug warnings for the vblank evade mechanism. This gives a warning every time the the deadline allotted for the vblank evade critical section is exceeded, even if there isn't an actual risk of missing the vblank. If in doubt, say "N". config DRM_I915_DEBUG_RUNTIME_PM bool "Enable extra state checking for runtime PM" depends on DRM_I915 default n select STACKDEPOT help Choose this option to turn on extra state checking for the runtime PM functionality. This may introduce overhead during driver loading, suspend and resume operations. If in doubt, say "N" gpu/drm/i915/gt/uc/Makefile 0000644 00000000264 14722053665 0011305 0 ustar 00 # For building individual subdir files on the command line subdir-ccflags-y += -I$(srctree)/$(src)/../.. # Extra header tests header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h gpu/drm/i915/gt/Makefile 0000644 00000000261 14722053665 0010673 0 ustar 00 # For building individual subdir files on the command line subdir-ccflags-y += -I$(srctree)/$(src)/.. # Extra header tests header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h gpu/drm/i915/Kconfig 0000644 00000011415 14722053665 0010127 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_I915 tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics" depends on DRM depends on X86 && PCI select INTEL_GTT select INTERVAL_TREE # we need shmfs for the swappable backing store, and in particular # the shmem_readpage() which depends upon tmpfs select SHMEM select TMPFS select DRM_KMS_HELPER select DRM_PANEL select DRM_MIPI_DSI select RELAY select IRQ_WORK # i915 depends on ACPI_VIDEO when ACPI is enabled # but for select to work, need to select ACPI_VIDEO's dependencies, ick select BACKLIGHT_CLASS_DEVICE if ACPI select INPUT if ACPI select ACPI_VIDEO if ACPI select ACPI_BUTTON if ACPI select SYNC_FILE select IOSF_MBI select CRC32 select SND_HDA_I915 if SND_HDA_CORE select CEC_CORE if CEC_NOTIFIER help Choose this option if you have a system that has "Intel Graphics Media Accelerator" or "HD Graphics" integrated graphics, including 830M, 845G, 852GM, 855GM, 865G, 915G, 945G, 965G, G35, G41, G43, G45 chipsets and Celeron, Pentium, Core i3, Core i5, Core i7 as well as Atom CPUs with integrated graphics. This driver is used by the Intel driver in X.org 6.8 and XFree86 4.4 and above. It replaces the older i830 module that supported a subset of the hardware in older X.org releases. Note that the older i810/i815 chipsets require the use of the i810 driver instead, and the Atom z5xx series has an entirely different implementation. If "M" is selected, the module will be called i915. config DRM_I915_ALPHA_SUPPORT bool "Enable alpha quality support for new Intel hardware by default" depends on DRM_I915 help This option is deprecated. Use DRM_I915_FORCE_PROBE option instead. config DRM_I915_FORCE_PROBE string "Force probe driver for selected new Intel hardware" depends on DRM_I915 default "*" if DRM_I915_ALPHA_SUPPORT help This is the default value for the i915.force_probe module parameter. Using the module parameter overrides this option. Force probe the driver for new Intel graphics devices that are recognized but not properly supported by this kernel version. It is recommended to upgrade to a kernel version with proper support as soon as it is available. Use "" to disable force probe. If in doubt, use this. Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed devices. For example, "4500" or "4500,4571". Use "*" to force probe the driver for all known devices. config DRM_I915_CAPTURE_ERROR bool "Enable capturing GPU state following a hang" depends on DRM_I915 default y help This option enables capturing the GPU state when a hang is detected. This information is vital for triaging hangs and assists in debugging. Please report any hang for triaging according to: https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs If in doubt, say "Y". config DRM_I915_COMPRESS_ERROR bool "Compress GPU error state" depends on DRM_I915_CAPTURE_ERROR select ZLIB_DEFLATE default y help This option selects ZLIB_DEFLATE if it isn't already selected and causes any error state captured upon a GPU hang to be compressed using zlib. If in doubt, say "Y". config DRM_I915_USERPTR bool "Always enable userptr support" depends on DRM_I915 select MMU_NOTIFIER default y help This option selects CONFIG_MMU_NOTIFIER if it isn't already selected to enabled full userptr support. If in doubt, say "Y". config DRM_I915_GVT bool "Enable Intel GVT-g graphics virtualization host support" depends on DRM_I915 depends on 64BIT default n help Choose this option if you want to enable Intel GVT-g graphics virtualization technology host support with integrated graphics. With GVT-g, it's possible to have one integrated graphics device shared by multiple VMs under different hypervisors. Note that at least one hypervisor like Xen or KVM is required for this driver to work, and it only supports newer device from Broadwell+. For further information and setup guide, you can visit: http://01.org/igvt-g. Now it's just a stub to support the modifications of i915 for GVT device model. It requires at least one MPT modules for Xen/KVM and other components of GVT device model to work. Use it under you own risk. If in doubt, say "N". config DRM_I915_GVT_KVMGT tristate "Enable KVM/VFIO support for Intel GVT-g" depends on DRM_I915_GVT depends on KVM depends on VFIO_MDEV && VFIO_MDEV_DEVICE default n help Choose this option if you want to enable KVMGT support for Intel GVT-g. menu "drm/i915 Debugging" depends on DRM_I915 depends on EXPERT source "drivers/gpu/drm/i915/Kconfig.debug" endmenu menu "drm/i915 Profile Guided Optimisation" visible if EXPERT depends on DRM_I915 source "drivers/gpu/drm/i915/Kconfig.profile" endmenu gpu/drm/i915/oa/Makefile 0000644 00000000321 14722053665 0010655 0 ustar 00 # SPDX-License-Identifier: MIT # For building individual subdir files on the command line subdir-ccflags-y += -I$(srctree)/$(src)/.. # Extra header tests header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h gpu/drm/i915/gvt/Makefile 0000644 00000000666 14722053665 0011072 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 GVT_DIR := gvt GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o trace_points.o firmware.o \ interrupt.o gtt.o cfg_space.o opregion.o mmio.o display.o edid.o \ execlist.o scheduler.o sched_policy.o mmio_context.o cmd_parser.o debugfs.o \ fb_decoder.o dmabuf.o page_track.o ccflags-y += -I $(srctree)/$(src) -I $(srctree)/$(src)/$(GVT_DIR)/ i915-y += $(addprefix $(GVT_DIR)/, $(GVT_SOURCE)) gpu/drm/i915/Kconfig.profile 0000644 00000002247 14722053665 0011571 0 ustar 00 config DRM_I915_USERFAULT_AUTOSUSPEND int "Runtime autosuspend delay for userspace GGTT mmaps (ms)" default 250 # milliseconds help On runtime suspend, as we suspend the device, we have to revoke userspace GGTT mmaps and force userspace to take a pagefault on their next access. The revocation and subsequent recreation of the GGTT mmap can be very slow and so we impose a small hysteris that complements the runtime-pm autosuspend and provides a lower floor on the autosuspend delay. May be 0 to disable the extra delay and solely use the device level runtime pm autosuspend delay tunable. config DRM_I915_SPIN_REQUEST int "Busywait for request completion (us)" default 5 # microseconds help Before sleeping waiting for a request (GPU operation) to complete, we may spend some time polling for its completion. As the IRQ may take a non-negligible time to setup, we do a short spin first to check if the request will complete in the time it would have taken us to enable the interrupt. May be 0 to disable the initial spin. In practice, we estimate the cost of enabling the interrupt (if currently disabled) to be a few microseconds. gpu/drm/i915/display/Makefile 0000644 00000000322 14722053665 0011724 0 ustar 00 # For building individual subdir files on the command line subdir-ccflags-y += -I$(srctree)/$(src)/.. # Extra header tests header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h header-test- := intel_vbt_defs.h gpu/drm/i915/Makefile 0000644 00000015334 14722053665 0010270 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. # Add a set of useful warning flags and enable -Werror for CI to prevent # trivial mistakes from creeping in. We have to do this piecemeal as we reject # any patch that isn't warning clean, so turning on -Wall -Wextra (or W=1) we # need to filter out dubious warnings. Still it is our interest # to keep running locally with W=1 C=1 until we are completely clean. # # Note the danger in using -Wall -Wextra is that when CI updates gcc we # will most likely get a sudden build breakage... Hopefully we will fix # new warnings before CI updates! subdir-ccflags-y := -Wall -Wextra subdir-ccflags-y += $(call cc-disable-warning, unused-parameter) subdir-ccflags-y += $(call cc-disable-warning, type-limits) subdir-ccflags-y += $(call cc-disable-warning, missing-field-initializers) subdir-ccflags-y += $(call cc-disable-warning, unused-but-set-variable) # clang warnings subdir-ccflags-y += $(call cc-disable-warning, sign-compare) subdir-ccflags-y += $(call cc-disable-warning, sometimes-uninitialized) subdir-ccflags-y += $(call cc-disable-warning, initializer-overrides) subdir-ccflags-y += $(call cc-disable-warning, uninitialized) subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror # Fine grained warnings disable CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init) CFLAGS_display/intel_fbdev.o = $(call cc-disable-warning, override-init) subdir-ccflags-y += \ $(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA) # Extra header tests header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h subdir-ccflags-y += -I$(srctree)/$(src) # Please keep these build lists sorted! # core driver code i915-y += i915_drv.o \ i915_irq.o \ i915_getparam.o \ i915_params.o \ i915_pci.o \ i915_scatterlist.o \ i915_suspend.o \ i915_sysfs.o \ i915_utils.o \ intel_csr.o \ intel_device_info.o \ intel_pch.o \ intel_pm.o \ intel_runtime_pm.o \ intel_sideband.o \ intel_uncore.o \ intel_wakeref.o # core library code i915-y += \ i915_memcpy.o \ i915_mm.o \ i915_sw_fence.o \ i915_sw_fence_work.o \ i915_syncmap.o \ i915_user_extensions.o i915-$(CONFIG_COMPAT) += i915_ioc32.o i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o display/intel_pipe_crc.o i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o # "Graphics Technology" (aka we talk to the gpu) obj-y += gt/ gt-y += \ gt/intel_breadcrumbs.o \ gt/intel_context.o \ gt/intel_engine_cs.o \ gt/intel_engine_pool.o \ gt/intel_engine_pm.o \ gt/intel_engine_user.o \ gt/intel_gt.o \ gt/intel_gt_irq.o \ gt/intel_gt_pm.o \ gt/intel_gt_pm_irq.o \ gt/intel_gt_requests.o \ gt/intel_hangcheck.o \ gt/intel_lrc.o \ gt/intel_renderstate.o \ gt/intel_reset.o \ gt/intel_ringbuffer.o \ gt/intel_mocs.o \ gt/intel_sseu.o \ gt/intel_timeline.o \ gt/intel_workarounds.o # autogenerated null render state gt-y += \ gt/gen6_renderstate.o \ gt/gen7_renderstate.o \ gt/gen8_renderstate.o \ gt/gen9_renderstate.o i915-y += $(gt-y) # GEM (Graphics Execution Management) code obj-y += gem/ gem-y += \ gem/i915_gem_busy.o \ gem/i915_gem_clflush.o \ gem/i915_gem_client_blt.o \ gem/i915_gem_context.o \ gem/i915_gem_dmabuf.o \ gem/i915_gem_domain.o \ gem/i915_gem_execbuffer.o \ gem/i915_gem_fence.o \ gem/i915_gem_internal.o \ gem/i915_gem_object.o \ gem/i915_gem_object_blt.o \ gem/i915_gem_mman.o \ gem/i915_gem_pages.o \ gem/i915_gem_phys.o \ gem/i915_gem_pm.o \ gem/i915_gem_shmem.o \ gem/i915_gem_shrinker.o \ gem/i915_gem_stolen.o \ gem/i915_gem_throttle.o \ gem/i915_gem_tiling.o \ gem/i915_gem_userptr.o \ gem/i915_gem_wait.o \ gem/i915_gemfs.o i915-y += \ $(gem-y) \ i915_active.o \ i915_buddy.o \ i915_cmd_parser.o \ i915_gem_evict.o \ i915_gem_fence_reg.o \ i915_gem_gtt.o \ i915_gem.o \ i915_globals.o \ i915_query.o \ i915_request.o \ i915_scheduler.o \ i915_trace_points.o \ i915_vma.o \ intel_wopcm.o # general-purpose microcontroller (GuC) support obj-y += gt/uc/ i915-y += gt/uc/intel_uc.o \ gt/uc/intel_uc_fw.o \ gt/uc/intel_guc.o \ gt/uc/intel_guc_ads.o \ gt/uc/intel_guc_ct.o \ gt/uc/intel_guc_fw.o \ gt/uc/intel_guc_log.o \ gt/uc/intel_guc_submission.o \ gt/uc/intel_huc.o \ gt/uc/intel_huc_fw.o # modesetting core code obj-y += display/ i915-y += \ display/intel_atomic.o \ display/intel_atomic_plane.o \ display/intel_audio.o \ display/intel_bios.o \ display/intel_bw.o \ display/intel_cdclk.o \ display/intel_color.o \ display/intel_combo_phy.o \ display/intel_connector.o \ display/intel_display.o \ display/intel_display_power.o \ display/intel_dpio_phy.o \ display/intel_dpll_mgr.o \ display/intel_fbc.o \ display/intel_fifo_underrun.o \ display/intel_frontbuffer.o \ display/intel_hdcp.o \ display/intel_hotplug.o \ display/intel_lpe_audio.o \ display/intel_overlay.o \ display/intel_psr.o \ display/intel_quirks.o \ display/intel_sprite.o \ display/intel_tc.o i915-$(CONFIG_ACPI) += \ display/intel_acpi.o \ display/intel_opregion.o i915-$(CONFIG_DRM_FBDEV_EMULATION) += \ display/intel_fbdev.o # modesetting output/encoder code i915-y += \ display/dvo_ch7017.o \ display/dvo_ch7xxx.o \ display/dvo_ivch.o \ display/dvo_ns2501.o \ display/dvo_sil164.o \ display/dvo_tfp410.o \ display/icl_dsi.o \ display/intel_crt.o \ display/intel_ddi.o \ display/intel_dp.o \ display/intel_dp_aux_backlight.o \ display/intel_dp_link_training.o \ display/intel_dp_mst.o \ display/intel_dsi.o \ display/intel_dsi_dcs_backlight.o \ display/intel_dsi_vbt.o \ display/intel_dvo.o \ display/intel_gmbus.o \ display/intel_hdmi.o \ display/intel_lspcon.o \ display/intel_lvds.o \ display/intel_panel.o \ display/intel_sdvo.o \ display/intel_tv.o \ display/intel_vdsc.o \ display/vlv_dsi.o \ display/vlv_dsi_pll.o # perf code obj-y += oa/ i915-y += \ oa/i915_oa_hsw.o \ oa/i915_oa_bdw.o \ oa/i915_oa_chv.o \ oa/i915_oa_sklgt2.o \ oa/i915_oa_sklgt3.o \ oa/i915_oa_sklgt4.o \ oa/i915_oa_bxt.o \ oa/i915_oa_kblgt2.o \ oa/i915_oa_kblgt3.o \ oa/i915_oa_glk.o \ oa/i915_oa_cflgt2.o \ oa/i915_oa_cflgt3.o \ oa/i915_oa_cnl.o \ oa/i915_oa_icl.o i915-y += i915_perf.o # Post-mortem debug and GPU hang state capture i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += i915_gpu_error.o i915-$(CONFIG_DRM_I915_SELFTEST) += \ gem/selftests/igt_gem_utils.o \ selftests/i915_random.o \ selftests/i915_selftest.o \ selftests/igt_flush_test.o \ selftests/igt_live_test.o \ selftests/igt_reset.o \ selftests/igt_spinner.o # virtual gpu code i915-y += i915_vgpu.o ifeq ($(CONFIG_DRM_I915_GVT),y) i915-y += intel_gvt.o include $(src)/gvt/Makefile endif obj-$(CONFIG_DRM_I915) += i915.o obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o gpu/drm/i915/gem/Makefile 0000644 00000000261 14722053665 0011031 0 ustar 00 # For building individual subdir files on the command line subdir-ccflags-y += -I$(srctree)/$(src)/.. # Extra header tests header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h gpu/drm/armada/Kconfig 0000644 00000001040 14722053665 0010656 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_ARMADA tristate "DRM support for Marvell Armada SoCs" depends on DRM && HAVE_CLK && ARM && MMU select DRM_KMS_HELPER help Support the "LCD" controllers found on the Marvell Armada 510 devices. There are two controllers on the device, each controller supports graphics and video overlays. This driver provides no built-in acceleration; acceleration is performed by other IP found on the SoC. This driver provides kernel mode setting and buffer management to userspace. gpu/drm/armada/Makefile 0000644 00000000425 14722053665 0011021 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 armada-y := armada_crtc.o armada_drv.o armada_fb.o armada_fbdev.o \ armada_gem.o armada_overlay.o armada_plane.o armada_trace.o armada-y += armada_510.o armada-$(CONFIG_DEBUG_FS) += armada_debugfs.o obj-$(CONFIG_DRM_ARMADA) := armada.o gpu/drm/vboxvideo/Kconfig 0000644 00000001101 14722053665 0011434 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DRM_VBOXVIDEO tristate "Virtual Box Graphics Card" depends on DRM && X86 && PCI select DRM_KMS_HELPER select DRM_VRAM_HELPER select GENERIC_ALLOCATOR help This is a KMS driver for the virtual Graphics Card used in Virtual Box virtual machines. Although it is possible to build this driver built-in to the kernel, it is advised to build it as a module, so that it can be updated independently of the kernel. Select M to build this driver as a module and add support for these devices via drm/kms interfaces. gpu/drm/vboxvideo/Makefile 0000644 00000000336 14722053665 0011602 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 vboxvideo-y := hgsmi_base.o modesetting.o vbva_base.o \ vbox_drv.o vbox_fb.o vbox_hgsmi.o vbox_irq.o vbox_main.o \ vbox_mode.o vbox_ttm.o obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo.o gpu/drm/panel/Kconfig 0000644 00000025714 14722053665 0010546 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_PANEL bool depends on DRM help Panel registration and lookup framework. menu "Display Panels" depends on DRM && DRM_PANEL config DRM_PANEL_ARM_VERSATILE tristate "ARM Versatile panel driver" depends on OF depends on MFD_SYSCON select VIDEOMODE_HELPERS help This driver supports the ARM Versatile panels connected to ARM reference designs. The panel is detected using special registers in the Versatile family syscon registers. config DRM_PANEL_LVDS tristate "Generic LVDS panel driver" depends on OF depends on BACKLIGHT_CLASS_DEVICE select VIDEOMODE_HELPERS help This driver supports LVDS panels that don't require device-specific handling of power supplies or control signals. It implements automatic backlight handling if the panel is attached to a backlight controller. config DRM_PANEL_SIMPLE tristate "support for simple panels" depends on OF depends on BACKLIGHT_CLASS_DEVICE select VIDEOMODE_HELPERS help DRM panel driver for dumb panels that need at most a regulator and a GPIO to be powered up. Optionally a backlight can be attached so that it can be automatically turned off when the panel goes into a low power state. config DRM_PANEL_FEIYANG_FY07024DI26A30D tristate "Feiyang FY07024DI26A30-D MIPI-DSI LCD panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y if you want to enable support for panels based on the Feiyang FY07024DI26A30-D MIPI-DSI interface. config DRM_PANEL_ILITEK_IL9322 tristate "Ilitek ILI9322 320x240 QVGA panels" depends on OF && SPI select REGMAP help Say Y here if you want to enable support for Ilitek IL9322 QVGA (320x240) RGB, YUV and ITU-T BT.656 panels. config DRM_PANEL_ILITEK_ILI9881C tristate "Ilitek ILI9881C-based panels" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y if you want to enable support for panels based on the Ilitek ILI9881c controller. config DRM_PANEL_INNOLUX_P079ZCA tristate "Innolux P079ZCA panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Innolux P079ZCA TFT-LCD modules. The panel has a 1024x768 resolution and uses 24 bit RGB per pixel. It provides a MIPI DSI interface to the host and has a built-in LED backlight. config DRM_PANEL_JDI_LT070ME05000 tristate "JDI LT070ME05000 WUXGA DSI panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for JDI DSI video mode panel as found in Google Nexus 7 (2013) devices. The panel has a 1200(RGB)×1920 (WUXGA) resolution and uses 24 bit per pixel. config DRM_PANEL_KINGDISPLAY_KD097D04 tristate "Kingdisplay kd097d04 panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Kingdisplay kd097d04 TFT-LCD modules. The panel has a 1536x2048 resolution and uses 24 bit RGB per pixel. It provides a MIPI DSI interface to the host and has a built-in LED backlight. config DRM_PANEL_SAMSUNG_LD9040 tristate "Samsung LD9040 RGB/SPI panel" depends on OF && SPI select VIDEOMODE_HELPERS config DRM_PANEL_LG_LB035Q02 tristate "LG LB035Q024573 RGB panel" depends on GPIOLIB && OF && SPI help Say Y here if you want to enable support for the LB035Q02 RGB panel (found on the Gumstix Overo Palo35 board). To compile this driver as a module, choose M here. config DRM_PANEL_LG_LG4573 tristate "LG4573 RGB/SPI panel" depends on OF && SPI select VIDEOMODE_HELPERS help Say Y here if you want to enable support for LG4573 RGB panel. To compile this driver as a module, choose M here. config DRM_PANEL_NEC_NL8048HL11 tristate "NEC NL8048HL11 RGB panel" depends on GPIOLIB && OF && SPI help Say Y here if you want to enable support for the NEC NL8048HL11 RGB panel (found on the Zoom2/3/3630 SDP boards). To compile this driver as a module, choose M here. config DRM_PANEL_NOVATEK_NT39016 tristate "Novatek NT39016 RGB/SPI panel" depends on OF && SPI depends on BACKLIGHT_CLASS_DEVICE select REGMAP_SPI help Say Y here if you want to enable support for the panels built around the Novatek NT39016 display controller. config DRM_PANEL_OLIMEX_LCD_OLINUXINO tristate "Olimex LCD-OLinuXino panel" depends on OF depends on I2C depends on BACKLIGHT_CLASS_DEVICE select CRC32 help The panel is used with different sizes LCDs, from 480x272 to 1280x800, and 24 bit per pixel. Say Y here if you want to enable support for Olimex Ltd. LCD-OLinuXino panel. config DRM_PANEL_ORISETECH_OTM8009A tristate "Orise Technology otm8009a 480x800 dsi 2dl panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Orise Technology otm8009a 480x800 dsi 2dl panel. config DRM_PANEL_OSD_OSD101T2587_53TS tristate "OSD OSD101T2587-53TS DSI 1920x1200 video mode panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for One Stop Displays OSD101T2587-53TS 10.1" 1920x1200 dsi panel. config DRM_PANEL_PANASONIC_VVX10F034N00 tristate "Panasonic VVX10F034N00 1920x1200 video mode panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Panasonic VVX10F034N00 WUXGA (1920x1200) Novatek NT1397-based DSI panel as found in some Xperia Z2 tablets config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN tristate "Raspberry Pi 7-inch touchscreen panel" depends on DRM_MIPI_DSI help Say Y here if you want to enable support for the Raspberry Pi 7" Touchscreen. To compile this driver as a module, choose M here. config DRM_PANEL_RAYDIUM_RM67191 tristate "Raydium RM67191 FHD 1080x1920 DSI video mode panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Raydium RM67191 FHD (1080x1920) DSI panel. config DRM_PANEL_RAYDIUM_RM68200 tristate "Raydium RM68200 720x1280 DSI video mode panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Raydium RM68200 720x1280 DSI video mode panel. config DRM_PANEL_ROCKTECH_JH057N00900 tristate "Rocktech JH057N00900 MIPI touchscreen panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Rocktech JH057N00900 MIPI DSI panel as e.g. used in the Librem 5 devkit. It has a resolution of 720x1440 pixels, a built in backlight and touch controller. Touch input support is provided by the goodix driver and needs to be selected separately. config DRM_PANEL_RONBO_RB070D30 tristate "Ronbo Electronics RB070D30 panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Ronbo Electronics RB070D30 1024x600 DSI panel. config DRM_PANEL_SAMSUNG_S6D16D0 tristate "Samsung S6D16D0 DSI video mode panel" depends on OF depends on DRM_MIPI_DSI select VIDEOMODE_HELPERS config DRM_PANEL_SAMSUNG_S6E3HA2 tristate "Samsung S6E3HA2 DSI video mode panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE select VIDEOMODE_HELPERS config DRM_PANEL_SAMSUNG_S6E63J0X03 tristate "Samsung S6E63J0X03 DSI command mode panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE select VIDEOMODE_HELPERS config DRM_PANEL_SAMSUNG_S6E63M0 tristate "Samsung S6E63M0 RGB/SPI panel" depends on OF depends on SPI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Samsung S6E63M0 AMOLED LCD panel. config DRM_PANEL_SAMSUNG_S6E8AA0 tristate "Samsung S6E8AA0 DSI video mode panel" depends on OF select DRM_MIPI_DSI select VIDEOMODE_HELPERS config DRM_PANEL_SEIKO_43WVF1G tristate "Seiko 43WVF1G panel" depends on OF depends on BACKLIGHT_CLASS_DEVICE select VIDEOMODE_HELPERS help Say Y here if you want to enable support for the Seiko 43WVF1G controller for 800x480 LCD panels config DRM_PANEL_SHARP_LQ101R1SX01 tristate "Sharp LQ101R1SX01 panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Sharp LQ101R1SX01 TFT-LCD modules. The panel has a 2560x1600 resolution and uses 24 bit RGB per pixel. It provides a dual MIPI DSI interface to the host and has a built-in LED backlight. To compile this driver as a module, choose M here: the module will be called panel-sharp-lq101r1sx01. config DRM_PANEL_SHARP_LS037V7DW01 tristate "Sharp LS037V7DW01 VGA LCD panel" depends on GPIOLIB && OF && REGULATOR help Say Y here if you want to enable support for Sharp LS037V7DW01 VGA (480x640) LCD panel (found on the TI SDP3430 board). config DRM_PANEL_SHARP_LS043T1LE01 tristate "Sharp LS043T1LE01 qHD video mode panel" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for Sharp LS043T1LE01 qHD (540x960) DSI panel as found on the Qualcomm APQ8074 Dragonboard config DRM_PANEL_SITRONIX_ST7701 tristate "Sitronix ST7701 panel driver" depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for the Sitronix ST7701 controller for 480X864 LCD panels with MIPI/RGB/SPI system interfaces. config DRM_PANEL_SITRONIX_ST7789V tristate "Sitronix ST7789V panel" depends on OF && SPI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for the Sitronix ST7789V controller for 240x320 LCD panels config DRM_PANEL_SONY_ACX565AKM tristate "Sony ACX565AKM panel" depends on GPIOLIB && OF && SPI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for the Sony ACX565AKM 800x600 3.5" panel (found on the Nokia N900). config DRM_PANEL_TPO_TD028TTEC1 tristate "Toppoly (TPO) TD028TTEC1 panel driver" depends on OF && SPI depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for TPO TD028TTEC1 480x640 2.8" panel (found on the OpenMoko Neo FreeRunner and Neo 1973). config DRM_PANEL_TPO_TD043MTEA1 tristate "Toppoly (TPO) TD043MTEA1 panel driver" depends on GPIOLIB && OF && REGULATOR && SPI help Say Y here if you want to enable support for TPO TD043MTEA1 800x480 4.3" panel (found on the OMAP3 Pandora board). config DRM_PANEL_TPO_TPG110 tristate "TPO TPG 800x400 panel" depends on OF && SPI && GPIOLIB depends on BACKLIGHT_CLASS_DEVICE help Say Y here if you want to enable support for TPO TPG110 400CH LTPS TFT LCD Single Chip Digital Driver for up to 800x400 LCD panels. config DRM_PANEL_TRULY_NT35597_WQXGA tristate "Truly WQXGA" depends on OF depends on DRM_MIPI_DSI help Say Y here if you want to enable support for Truly NT35597 WQXGA Dual DSI Video Mode panel endmenu gpu/drm/panel/Makefile 0000644 00000005157 14722053665 0010702 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DRM_PANEL_ARM_VERSATILE) += panel-arm-versatile.o obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o obj-$(CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D) += panel-feiyang-fy07024di26a30d.o obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o obj-$(CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04) += panel-kingdisplay-kd097d04.o obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) += panel-lg-lb035q02.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) += panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_NEC_NL8048HL11) += panel-nec-nl8048hl11.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT39016) += panel-novatek-nt39016.o obj-$(CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO) += panel-olimex-lcd-olinuxino.o obj-$(CONFIG_DRM_PANEL_ORISETECH_OTM8009A) += panel-orisetech-otm8009a.o obj-$(CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS) += panel-osd-osd101t2587-53ts.o obj-$(CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00) += panel-panasonic-vvx10f034n00.o obj-$(CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN) += panel-raspberrypi-touchscreen.o obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM67191) += panel-raydium-rm67191.o obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM68200) += panel-raydium-rm68200.o obj-$(CONFIG_DRM_PANEL_ROCKTECH_JH057N00900) += panel-rocktech-jh057n00900.o obj-$(CONFIG_DRM_PANEL_RONBO_RB070D30) += panel-ronbo-rb070d30.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D16D0) += panel-samsung-s6d16d0.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2) += panel-samsung-s6e3ha2.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03) += panel-samsung-s6e63j0x03.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0) += panel-samsung-s6e63m0.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0) += panel-samsung-s6e8aa0.o obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) += panel-seiko-43wvf1g.o obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o obj-$(CONFIG_DRM_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o obj-$(CONFIG_DRM_PANEL_SHARP_LS043T1LE01) += panel-sharp-ls043t1le01.o obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o gpu/drm/arm/Kconfig 0000644 00000002111 14722053665 0010210 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "ARM devices" config DRM_HDLCD tristate "ARM HDLCD" depends on DRM && OF && (ARM || ARM64) depends on COMMON_CLK select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER help Choose this option if you have an ARM High Definition Colour LCD controller. If M is selected the module will be called hdlcd. config DRM_HDLCD_SHOW_UNDERRUN bool "Show underrun conditions" depends on DRM_HDLCD default n help Enable this option to show in red colour the pixels that the HDLCD device did not fetch from framebuffer due to underrun conditions. config DRM_MALI_DISPLAY tristate "ARM Mali Display Processor" depends on DRM && OF && (ARM || ARM64) depends on COMMON_CLK select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select VIDEOMODE_HELPERS help Choose this option if you want to compile the ARM Mali Display Processor driver. It supports the DP500, DP550 and DP650 variants of the hardware. If compiled as a module it will be called mali-dp. source "drivers/gpu/drm/arm/display/Kconfig" endmenu gpu/drm/arm/display/komeda/Makefile 0000644 00000000717 14722053665 0013264 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y := \ -I $(srctree)/$(src)/../include \ -I $(srctree)/$(src) komeda-y := \ komeda_drv.o \ komeda_dev.o \ komeda_format_caps.o \ komeda_color_mgmt.o \ komeda_pipeline.o \ komeda_pipeline_state.o \ komeda_framebuffer.o \ komeda_kms.o \ komeda_crtc.o \ komeda_plane.o \ komeda_wb_connector.o \ komeda_private_obj.o komeda-y += \ d71/d71_dev.o \ d71/d71_component.o obj-$(CONFIG_DRM_KOMEDA) += komeda.o gpu/drm/arm/display/Kconfig 0000644 00000000662 14722053665 0011666 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DRM_KOMEDA tristate "ARM Komeda display driver" depends on DRM && OF depends on COMMON_CLK select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select VIDEOMODE_HELPERS help Choose this option if you want to compile the ARM Komeda display Processor driver. It supports the D71 variants of the hardware. If compiled as a module it will be called komeda. gpu/drm/arm/display/Kbuild 0000644 00000000110 14722053665 0011504 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DRM_KOMEDA) += komeda/ gpu/drm/arm/Makefile 0000644 00000000435 14722053665 0010354 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only hdlcd-y := hdlcd_drv.o hdlcd_crtc.o obj-$(CONFIG_DRM_HDLCD) += hdlcd.o mali-dp-y := malidp_drv.o malidp_hw.o malidp_planes.o malidp_crtc.o mali-dp-y += malidp_mw.o obj-$(CONFIG_DRM_MALI_DISPLAY) += mali-dp.o obj-$(CONFIG_DRM_KOMEDA) += display/ gpu/drm/aspeed/Kconfig 0000644 00000000741 14722053665 0010701 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_ASPEED_GFX tristate "ASPEED BMC Display Controller" depends on DRM && OF depends on (COMPILE_TEST || ARCH_ASPEED) depends on MMU select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DMA_CMA if HAVE_DMA_CONTIGUOUS select CMA if HAVE_DMA_CONTIGUOUS select MFD_SYSCON help Chose this option if you have an ASPEED AST2500 SOC Display Controller (aka GFX). If M is selected this module will be called aspeed_gfx. gpu/drm/aspeed/Makefile 0000644 00000000232 14722053665 0011031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only aspeed_gfx-y := aspeed_gfx_drv.o aspeed_gfx_crtc.o aspeed_gfx_out.o obj-$(CONFIG_DRM_ASPEED_GFX) += aspeed_gfx.o gpu/drm/lima/Kconfig 0000644 00000000613 14722053665 0010360 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 OR MIT # Copyright 2017-2019 Qiang Yu <yuq825@gmail.com> config DRM_LIMA tristate "LIMA (DRM support for ARM Mali 400/450 GPU)" depends on DRM depends on ARM || ARM64 || COMPILE_TEST depends on MMU depends on COMMON_CLK depends on OF select DRM_SCHED help DRM driver for ARM Mali 400/450 GPUs. gpu/drm/lima/Makefile 0000644 00000000556 14722053665 0010523 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 OR MIT # Copyright 2017-2019 Qiang Yu <yuq825@gmail.com> lima-y := \ lima_drv.o \ lima_device.o \ lima_pmu.o \ lima_l2_cache.o \ lima_mmu.o \ lima_gp.o \ lima_pp.o \ lima_gem.o \ lima_vm.o \ lima_sched.o \ lima_ctx.o \ lima_gem_prime.o \ lima_dlbu.o \ lima_bcast.o \ lima_object.o obj-$(CONFIG_DRM_LIMA) += lima.o gpu/drm/gma500/Kconfig 0000644 00000002061 14722053665 0010426 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_GMA500 tristate "Intel GMA5/600 KMS Framebuffer" depends on DRM && PCI && X86 && MMU select DRM_KMS_HELPER select DRM_TTM # GMA500 depends on ACPI_VIDEO when ACPI is enabled, just like i915 select ACPI_VIDEO if ACPI select BACKLIGHT_CLASS_DEVICE if ACPI select INPUT if ACPI help Say yes for an experimental 2D KMS framebuffer driver for the Intel GMA500 ('Poulsbo') and other Intel IMG based graphics devices. config DRM_GMA600 bool "Intel GMA600 support (Experimental)" depends on DRM_GMA500 help Say yes to include support for GMA600 (Intel Moorestown/Oaktrail) platforms with LVDS ports. MIPI is not currently supported. config DRM_GMA3600 bool "Intel GMA3600/3650 support (Experimental)" depends on DRM_GMA500 help Say yes to include basic support for Intel GMA3600/3650 (Intel Cedar Trail) platforms. config DRM_MEDFIELD bool "Intel Medfield support (Experimental)" depends on DRM_GMA500 && X86_INTEL_MID help Say yes to include support for the Intel Medfield platform. gpu/drm/gma500/Makefile 0000644 00000002131 14722053665 0010561 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # KMS driver for the GMA500 # gma500_gfx-y += \ accel_2d.o \ backlight.o \ framebuffer.o \ gem.o \ gtt.o \ intel_bios.o \ intel_i2c.o \ intel_gmbus.o \ mmu.o \ blitter.o \ power.o \ psb_drv.o \ gma_display.o \ gma_device.o \ psb_intel_display.o \ psb_intel_lvds.o \ psb_intel_modes.o \ psb_intel_sdvo.o \ psb_lid.o \ psb_irq.o \ psb_device.o \ mid_bios.o gma500_gfx-$(CONFIG_ACPI) += opregion.o \ gma500_gfx-$(CONFIG_DRM_GMA3600) += cdv_device.o \ cdv_intel_crt.o \ cdv_intel_display.o \ cdv_intel_hdmi.o \ cdv_intel_lvds.o \ cdv_intel_dp.o gma500_gfx-$(CONFIG_DRM_GMA600) += oaktrail_device.o \ oaktrail_crtc.o \ oaktrail_lvds.o \ oaktrail_lvds_i2c.o \ oaktrail_hdmi.o \ oaktrail_hdmi_i2c.o gma500_gfx-$(CONFIG_DRM_MEDFIELD) += mdfld_device.o \ mdfld_output.o \ mdfld_intel_display.o \ mdfld_dsi_output.o \ mdfld_dsi_dpi.o \ mdfld_dsi_pkg_sender.o \ mdfld_tpo_vid.o \ mdfld_tmd_vid.o \ tc35876x-dsi-lvds.o obj-$(CONFIG_DRM_GMA500) += gma500_gfx.o gpu/drm/tiny/Kconfig 0000644 00000005365 14722053665 0010432 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_GM12U320 tristate "GM12U320 driver for USB projectors" depends on DRM && USB select DRM_KMS_HELPER select DRM_GEM_SHMEM_HELPER help This is a KMS driver for projectors which use the GM12U320 chipset for video transfer over USB2/3, such as the Acer C120 mini projector. config TINYDRM_HX8357D tristate "DRM support for HX8357D display panels" depends on DRM && SPI select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_MIPI_DBI select BACKLIGHT_CLASS_DEVICE help DRM driver for the following HX8357D panels: * YX350HV15-T 3.5" 340x350 TFT (Adafruit 3.5") If M is selected the module will be called hx8357d. config TINYDRM_ILI9225 tristate "DRM support for ILI9225 display panels" depends on DRM && SPI select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_MIPI_DBI help DRM driver for the following Ilitek ILI9225 panels: * No-name 2.2" color screen module If M is selected the module will be called ili9225. config TINYDRM_ILI9341 tristate "DRM support for ILI9341 display panels" depends on DRM && SPI select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_MIPI_DBI select BACKLIGHT_CLASS_DEVICE help DRM driver for the following Ilitek ILI9341 panels: * YX240QV29-T 2.4" 240x320 TFT (Adafruit 2.4") If M is selected the module will be called ili9341. config TINYDRM_MI0283QT tristate "DRM support for MI0283QT" depends on DRM && SPI select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_MIPI_DBI select BACKLIGHT_CLASS_DEVICE help DRM driver for the Multi-Inno MI0283QT display panel If M is selected the module will be called mi0283qt. config TINYDRM_REPAPER tristate "DRM support for Pervasive Displays RePaper panels (V231)" depends on DRM && SPI select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER help DRM driver for the following Pervasive Displays panels: 1.44" TFT EPD Panel (E1144CS021) 1.90" TFT EPD Panel (E1190CS021) 2.00" TFT EPD Panel (E2200CS021) 2.71" TFT EPD Panel (E2271CS021) If M is selected the module will be called repaper. config TINYDRM_ST7586 tristate "DRM support for Sitronix ST7586 display panels" depends on DRM && SPI select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_MIPI_DBI help DRM driver for the following Sitronix ST7586 panels: * LEGO MINDSTORMS EV3 If M is selected the module will be called st7586. config TINYDRM_ST7735R tristate "DRM support for Sitronix ST7735R display panels" depends on DRM && SPI select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_MIPI_DBI select BACKLIGHT_CLASS_DEVICE help DRM driver Sitronix ST7735R with one of the following LCDs: * JD-T18003-T01 1.8" 128x160 TFT If M is selected the module will be called st7735r. gpu/drm/tiny/Makefile 0000644 00000000607 14722053665 0010561 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DRM_GM12U320) += gm12u320.o obj-$(CONFIG_TINYDRM_HX8357D) += hx8357d.o obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o obj-$(CONFIG_TINYDRM_ILI9341) += ili9341.o obj-$(CONFIG_TINYDRM_MI0283QT) += mi0283qt.o obj-$(CONFIG_TINYDRM_REPAPER) += repaper.o obj-$(CONFIG_TINYDRM_ST7586) += st7586.o obj-$(CONFIG_TINYDRM_ST7735R) += st7735r.o gpu/drm/ingenic/Kconfig 0000644 00000000670 14722053665 0011055 0 ustar 00 config DRM_INGENIC tristate "DRM Support for Ingenic SoCs" depends on MIPS || COMPILE_TEST depends on DRM depends on CMA depends on OF select DRM_BRIDGE select DRM_PANEL_BRIDGE select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE help Choose this option for DRM support for the Ingenic SoCs. If M is selected the module will be called ingenic-drm. gpu/drm/ingenic/Makefile 0000644 00000000053 14722053665 0011205 0 ustar 00 obj-$(CONFIG_DRM_INGENIC) += ingenic-drm.o gpu/drm/tilcdc/Kconfig 0000644 00000001000 14722053665 0010667 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_TILCDC tristate "DRM Support for TI LCDC Display Controller" depends on DRM && OF && ARM select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select DRM_BRIDGE select DRM_PANEL_BRIDGE select VIDEOMODE_HELPERS select BACKLIGHT_CLASS_DEVICE help Choose this option if you have an TI SoC with LCDC display controller, for example AM33xx in beagle-bone, DA8xx, or OMAP-L1xx. This driver replaces the FB_DA8XX fbdev driver. gpu/drm/tilcdc/Makefile 0000644 00000000411 14722053665 0011031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ifeq (, $(findstring -W,$(EXTRA_CFLAGS))) ccflags-y += -Werror endif tilcdc-y := \ tilcdc_plane.o \ tilcdc_crtc.o \ tilcdc_tfp410.o \ tilcdc_panel.o \ tilcdc_external.o \ tilcdc_drv.o obj-$(CONFIG_DRM_TILCDC) += tilcdc.o gpu/drm/tdfx/Makefile 0000644 00000000363 14722053665 0010542 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. tdfx-y := tdfx_drv.o obj-$(CONFIG_DRM_TDFX) += tdfx.o gpu/drm/Kconfig 0000644 00000027232 14722053665 0007444 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Drm device configuration # # This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. # menuconfig DRM tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA select DRM_PANEL_ORIENTATION_QUIRKS select HDMI select FB_CMDLINE select I2C select I2C_ALGOBIT select DMA_SHARED_BUFFER select SYNC_FILE help Kernel-level support for the Direct Rendering Infrastructure (DRI) introduced in XFree86 4.0. If you say Y here, you need to select the module that's right for your graphics card from the list below. These modules provide support for synchronization, security, and DMA transfers. Please see <http://dri.sourceforge.net/> for more details. You should also select and configure AGP (/dev/agpgart) support if it is available for your platform. config DRM_MIPI_DBI tristate depends on DRM select DRM_KMS_HELPER config DRM_MIPI_DSI bool depends on DRM config DRM_DP_AUX_CHARDEV bool "DRM DP AUX Interface" depends on DRM help Choose this option to enable a /dev/drm_dp_auxN node that allows to read and write values to arbitrary DPCD registers on the DP aux channel. config DRM_DEBUG_MM bool "Insert extra checks and debug info into the DRM range managers" default n depends on DRM=y depends on STACKTRACE_SUPPORT select STACKDEPOT help Enable allocation tracking of memory manager and leak detection on shutdown. Recommended for driver developers only. If in doubt, say "N". config DRM_DEBUG_SELFTEST tristate "kselftests for DRM" depends on DRM depends on DEBUG_KERNEL select PRIME_NUMBERS select DRM_LIB_RANDOM select DRM_KMS_HELPER default n help This option provides kernel modules that can be used to run various selftests on parts of the DRM api. This option is not useful for distributions or general kernels, but only for kernel developers working on DRM and associated drivers. If in doubt, say "N". config DRM_KMS_HELPER tristate depends on DRM help CRTC helpers for KMS drivers. config DRM_KMS_FB_HELPER bool depends on DRM_KMS_HELPER select FB select FRAMEBUFFER_CONSOLE if !EXPERT select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE select FB_SYS_FOPS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_DEFERRED_IO help FBDEV helpers for KMS drivers. config DRM_FBDEV_EMULATION bool "Enable legacy fbdev support for your modesetting driver" depends on DRM select DRM_KMS_HELPER select DRM_KMS_FB_HELPER default y help Choose this option if you have a need for the legacy fbdev support. Note that this support also provides the linux console support on top of your modesetting driver. If in doubt, say "Y". config DRM_FBDEV_OVERALLOC int "Overallocation of the fbdev buffer" depends on DRM_FBDEV_EMULATION default 100 help Defines the fbdev buffer overallocation in percent. Default is 100. Typical values for double buffering will be 200, triple buffering 300. config DRM_FBDEV_LEAK_PHYS_SMEM bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)" depends on DRM_FBDEV_EMULATION && EXPERT default n help In order to keep user-space compatibility, we want in certain use-cases to keep leaking the fbdev physical address to the user-space program handling the fbdev buffer. This affects, not only, Amlogic, Allwinner or Rockchip devices with ARM Mali GPUs using an userspace Blob. This option is not supported by upstream developers and should be removed as soon as possible and be considered as a broken and legacy behaviour from a modern fbdev device driver. Please send any bug reports when using this to your proprietary software vendor that requires this. If in doubt, say "N" or spread the word to your closed source library vendor. config DRM_LOAD_EDID_FIRMWARE bool "Allow to specify an EDID data set instead of probing for it" depends on DRM help Say Y here, if you want to use EDID data to be loaded from the /lib/firmware directory or one of the provided built-in data sets. This may be necessary, if the graphics adapter or monitor are unable to provide appropriate EDID data. Since this feature is provided as a workaround for broken hardware, the default case is N. Details and instructions how to build your own EDID data are given in Documentation/driver-api/edid.rst. config DRM_DP_CEC bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support" select CEC_CORE help Choose this option if you want to enable HDMI CEC support for DisplayPort/USB-C to HDMI adapters. Note: not all adapters support this feature, and even for those that do support this they often do not hook up the CEC pin. config DRM_TTM tristate depends on DRM && MMU help GPU memory management subsystem for devices with multiple GPU memory types. Will be enabled automatically if a device driver uses it. config DRM_VRAM_HELPER tristate depends on DRM select DRM_TTM help Helpers for VRAM memory management config DRM_GEM_CMA_HELPER bool depends on DRM help Choose this if you need the GEM CMA helper functions config DRM_KMS_CMA_HELPER bool depends on DRM select DRM_GEM_CMA_HELPER help Choose this if you need the KMS CMA helper functions config DRM_GEM_SHMEM_HELPER bool depends on DRM help Choose this if you need the GEM shmem helper functions config DRM_VM bool depends on DRM && MMU config DRM_SCHED tristate depends on DRM source "drivers/gpu/drm/i2c/Kconfig" source "drivers/gpu/drm/arm/Kconfig" config DRM_RADEON tristate "ATI Radeon" depends on DRM && PCI && MMU depends on AGP || !AGP select FW_LOADER select DRM_KMS_HELPER select DRM_TTM select POWER_SUPPLY select HWMON select BACKLIGHT_CLASS_DEVICE select INTERVAL_TREE help Choose this option if you have an ATI Radeon graphics card. There are both PCI and AGP versions. You don't need to choose this to run the Radeon in plain VGA mode. If M is selected, the module will be called radeon. source "drivers/gpu/drm/radeon/Kconfig" config DRM_AMDGPU tristate "AMD GPU" depends on DRM && PCI && MMU select FW_LOADER select DRM_KMS_HELPER select DRM_SCHED select DRM_TTM select POWER_SUPPLY select HWMON select BACKLIGHT_CLASS_DEVICE select INTERVAL_TREE select CHASH help Choose this option if you have a recent AMD Radeon graphics card. If M is selected, the module will be called amdgpu. source "drivers/gpu/drm/amd/amdgpu/Kconfig" source "drivers/gpu/drm/nouveau/Kconfig" source "drivers/gpu/drm/i915/Kconfig" config DRM_VGEM tristate "Virtual GEM provider" depends on DRM help Choose this option to get a virtual graphics memory manager, as used by Mesa's software renderer for enhanced performance. If M is selected the module will be called vgem. config DRM_VKMS tristate "Virtual KMS (EXPERIMENTAL)" depends on DRM select DRM_KMS_HELPER default n help Virtual Kernel Mode-Setting (VKMS) is used for testing or for running GPU in a headless machines. Choose this option to get a VKMS. If M is selected the module will be called vkms. config DRM_ATI_PCIGART bool source "drivers/gpu/drm/exynos/Kconfig" source "drivers/gpu/drm/rockchip/Kconfig" source "drivers/gpu/drm/vmwgfx/Kconfig" source "drivers/gpu/drm/gma500/Kconfig" source "drivers/gpu/drm/udl/Kconfig" source "drivers/gpu/drm/ast/Kconfig" source "drivers/gpu/drm/mgag200/Kconfig" source "drivers/gpu/drm/cirrus/Kconfig" source "drivers/gpu/drm/armada/Kconfig" source "drivers/gpu/drm/atmel-hlcdc/Kconfig" source "drivers/gpu/drm/rcar-du/Kconfig" source "drivers/gpu/drm/shmobile/Kconfig" source "drivers/gpu/drm/sun4i/Kconfig" source "drivers/gpu/drm/omapdrm/Kconfig" source "drivers/gpu/drm/tilcdc/Kconfig" source "drivers/gpu/drm/qxl/Kconfig" source "drivers/gpu/drm/bochs/Kconfig" source "drivers/gpu/drm/virtio/Kconfig" source "drivers/gpu/drm/msm/Kconfig" source "drivers/gpu/drm/fsl-dcu/Kconfig" source "drivers/gpu/drm/tegra/Kconfig" source "drivers/gpu/drm/stm/Kconfig" source "drivers/gpu/drm/panel/Kconfig" source "drivers/gpu/drm/bridge/Kconfig" source "drivers/gpu/drm/sti/Kconfig" source "drivers/gpu/drm/imx/Kconfig" source "drivers/gpu/drm/ingenic/Kconfig" source "drivers/gpu/drm/v3d/Kconfig" source "drivers/gpu/drm/vc4/Kconfig" source "drivers/gpu/drm/etnaviv/Kconfig" source "drivers/gpu/drm/arc/Kconfig" source "drivers/gpu/drm/hisilicon/Kconfig" source "drivers/gpu/drm/mediatek/Kconfig" source "drivers/gpu/drm/zte/Kconfig" source "drivers/gpu/drm/mxsfb/Kconfig" source "drivers/gpu/drm/meson/Kconfig" source "drivers/gpu/drm/tiny/Kconfig" source "drivers/gpu/drm/pl111/Kconfig" source "drivers/gpu/drm/tve200/Kconfig" source "drivers/gpu/drm/xen/Kconfig" source "drivers/gpu/drm/vboxvideo/Kconfig" source "drivers/gpu/drm/lima/Kconfig" source "drivers/gpu/drm/panfrost/Kconfig" source "drivers/gpu/drm/aspeed/Kconfig" source "drivers/gpu/drm/mcde/Kconfig" # Keep legacy drivers last menuconfig DRM_LEGACY bool "Enable legacy drivers (DANGEROUS)" depends on DRM && MMU select DRM_VM select DRM_ATI_PCIGART if PCI help Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous APIs to user-space, which can be used to circumvent access restrictions and other security measures. For backwards compatibility those drivers are still available, but their use is highly inadvisable and might harm your system. You are recommended to use the safe modeset-only drivers instead, and perform 3D emulation in user-space. Unless you have strong reasons to go rogue, say "N". if DRM_LEGACY config DRM_TDFX tristate "3dfx Banshee/Voodoo3+" depends on DRM && PCI help Choose this option if you have a 3dfx Banshee or Voodoo3 (or later), graphics card. If M is selected, the module will be called tdfx. config DRM_R128 tristate "ATI Rage 128" depends on DRM && PCI select FW_LOADER help Choose this option if you have an ATI Rage 128 graphics card. If M is selected, the module will be called r128. AGP support for this card is strongly suggested (unless you have a PCI version). config DRM_I810 tristate "Intel I810" # !PREEMPT because of missing ioctl locking depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN) help Choose this option if you have an Intel I810 graphics card. If M is selected, the module will be called i810. AGP support is required for this driver to work. config DRM_MGA tristate "Matrox g200/g400" depends on DRM && PCI select FW_LOADER help Choose this option if you have a Matrox G200, G400 or G450 graphics card. If M is selected, the module will be called mga. AGP support is required for this driver to work. config DRM_SIS tristate "SiS video cards" depends on DRM && AGP depends on FB_SIS || FB_SIS=n help Choose this option if you have a SiS 630 or compatible video chipset. If M is selected the module will be called sis. AGP support is required for this driver to work. config DRM_VIA tristate "Via unichrome video cards" depends on DRM && PCI help Choose this option if you have a Via unichrome or compatible video chipset. If M is selected the module will be called via. config DRM_SAVAGE tristate "Savage video cards" depends on DRM && PCI help Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister chipset. If M is selected the module will be called savage. endif # DRM_LEGACY # Separate option because drm_panel_orientation_quirks.c is shared with fbdev config DRM_PANEL_ORIENTATION_QUIRKS tristate config DRM_LIB_RANDOM bool default n gpu/drm/i2c/Kconfig 0000644 00000001755 14722053665 0010123 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "I2C encoder or helper chips" depends on DRM && DRM_KMS_HELPER && I2C config DRM_I2C_CH7006 tristate "Chrontel ch7006 TV encoder" default m if DRM_NOUVEAU help Support for Chrontel ch7006 and similar TV encoders, found on some nVidia video cards. This driver is currently only useful if you're also using the nouveau driver. config DRM_I2C_SIL164 tristate "Silicon Image sil164 TMDS transmitter" default m if DRM_NOUVEAU help Support for sil164 and similar single-link (or dual-link when used in pairs) TMDS transmitters, used in some nVidia video cards. config DRM_I2C_NXP_TDA998X tristate "NXP Semiconductors TDA998X HDMI encoder" default m if DRM_TILCDC select CEC_CORE if CEC_NOTIFIER select SND_SOC_HDMI_CODEC if SND_SOC help Support for NXP Semiconductors TDA998X HDMI encoders. config DRM_I2C_NXP_TDA9950 tristate "NXP Semiconductors TDA9950/TDA998X HDMI CEC" select CEC_NOTIFIER select CEC_CORE endmenu gpu/drm/i2c/Makefile 0000644 00000000460 14722053665 0010250 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ch7006-y := ch7006_drv.o ch7006_mode.o obj-$(CONFIG_DRM_I2C_CH7006) += ch7006.o sil164-y := sil164_drv.o obj-$(CONFIG_DRM_I2C_SIL164) += sil164.o tda998x-y := tda998x_drv.o obj-$(CONFIG_DRM_I2C_NXP_TDA998X) += tda998x.o obj-$(CONFIG_DRM_I2C_NXP_TDA9950) += tda9950.o gpu/drm/via/Makefile 0000644 00000000501 14722053665 0010346 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. via-y := via_irq.o via_drv.o via_map.o via_mm.o via_dma.o via_verifier.o via_video.o via_dmablit.o obj-$(CONFIG_DRM_VIA) +=via.o gpu/drm/sis/Makefile 0000644 00000000374 14722053665 0010375 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. sis-y := sis_drv.o sis_mm.o obj-$(CONFIG_DRM_SIS) += sis.o gpu/drm/panfrost/Kconfig 0000644 00000000776 14722053665 0011304 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DRM_PANFROST tristate "Panfrost (DRM support for ARM Mali Midgard/Bifrost GPUs)" depends on DRM depends on ARM || ARM64 || COMPILE_TEST depends on !GENERIC_ATOMIC64 # for IOMMU_IO_PGTABLE_LPAE depends on MMU select DRM_SCHED select IOMMU_SUPPORT select IOMMU_IO_PGTABLE_LPAE select DRM_GEM_SHMEM_HELPER select PM_DEVFREQ select DEVFREQ_GOV_SIMPLE_ONDEMAND help DRM driver for ARM Mali Midgard (T6xx, T7xx, T8xx) and Bifrost (G3x, G5x, G7x) GPUs. gpu/drm/panfrost/Makefile 0000644 00000000422 14722053665 0011425 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 panfrost-y := \ panfrost_drv.o \ panfrost_device.o \ panfrost_devfreq.o \ panfrost_gem.o \ panfrost_gem_shrinker.o \ panfrost_gpu.o \ panfrost_job.o \ panfrost_mmu.o \ panfrost_perfcnt.o obj-$(CONFIG_DRM_PANFROST) += panfrost.o gpu/drm/xen/Kconfig 0000644 00000001020 14722053665 0010221 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_XEN bool "DRM Support for Xen guest OS" depends on XEN help Choose this option if you want to enable DRM support for Xen. config DRM_XEN_FRONTEND tristate "Para-virtualized frontend driver for Xen guest OS" depends on DRM_XEN depends on DRM select DRM_KMS_HELPER select VIDEOMODE_HELPERS select XEN_XENBUS_FRONTEND select XEN_FRONT_PGDIR_SHBUF help Choose this option if you want to enable a para-virtualized frontend DRM/KMS driver for Xen guest OSes. gpu/drm/xen/Makefile 0000644 00000000437 14722053665 0010371 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 OR MIT drm_xen_front-objs := xen_drm_front.o \ xen_drm_front_kms.o \ xen_drm_front_conn.o \ xen_drm_front_evtchnl.o \ xen_drm_front_cfg.o \ xen_drm_front_gem.o obj-$(CONFIG_DRM_XEN_FRONTEND) += drm_xen_front.o gpu/drm/shmobile/Kconfig 0000644 00000000602 14722053665 0011236 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DRM_SHMOBILE tristate "DRM Support for SH Mobile" depends on DRM && ARM depends on ARCH_SHMOBILE || COMPILE_TEST select BACKLIGHT_CLASS_DEVICE select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER help Choose this option if you have an SH Mobile chipset. If M is selected the module will be called shmob-drm. gpu/drm/shmobile/Makefile 0000644 00000000336 14722053665 0011377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 shmob-drm-y := shmob_drm_backlight.o \ shmob_drm_crtc.o \ shmob_drm_drv.o \ shmob_drm_kms.o \ shmob_drm_plane.o obj-$(CONFIG_DRM_SHMOBILE) += shmob-drm.o gpu/drm/fsl-dcu/Kconfig 0000644 00000000636 14722053665 0011000 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_FSL_DCU tristate "DRM Support for Freescale DCU" depends on DRM && OF && ARM && COMMON_CLK select BACKLIGHT_CLASS_DEVICE select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_PANEL select REGMAP_MMIO select VIDEOMODE_HELPERS help Choose this option if you have an Freescale DCU chipset. If M is selected the module will be called fsl-dcu-drm. gpu/drm/fsl-dcu/Makefile 0000644 00000000340 14722053665 0011125 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 fsl-dcu-drm-y := fsl_dcu_drm_drv.o \ fsl_dcu_drm_kms.o \ fsl_dcu_drm_rgb.o \ fsl_dcu_drm_plane.o \ fsl_dcu_drm_crtc.o \ fsl_tcon.o obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu-drm.o gpu/drm/virtio/Kconfig 0000644 00000000453 14722053665 0010754 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_VIRTIO_GPU tristate "Virtio GPU driver" depends on DRM && VIRTIO && MMU select DRM_KMS_HELPER select DRM_TTM help This is the virtual GPU driver for virtio. It can be used with QEMU based VMMs (like KVM or Xen). If unsure say M. gpu/drm/virtio/Makefile 0000644 00000000717 14722053665 0011114 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. virtio-gpu-y := virtgpu_drv.o virtgpu_kms.o virtgpu_gem.o \ virtgpu_display.o virtgpu_vq.o virtgpu_ttm.o \ virtgpu_fence.o virtgpu_object.o virtgpu_debugfs.o virtgpu_plane.o \ virtgpu_ioctl.o virtgpu_prime.o virtgpu_trace_points.o obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio-gpu.o gpu/drm/nouveau/dispnv04/Kbuild 0000644 00000000551 14722053665 0012422 0 ustar 00 # SPDX-License-Identifier: MIT nouveau-y += dispnv04/arb.o nouveau-y += dispnv04/crtc.o nouveau-y += dispnv04/cursor.o nouveau-y += dispnv04/dac.o nouveau-y += dispnv04/dfp.o nouveau-y += dispnv04/disp.o nouveau-y += dispnv04/hw.o nouveau-y += dispnv04/overlay.o nouveau-y += dispnv04/tvmodesnv17.o nouveau-y += dispnv04/tvnv04.o nouveau-y += dispnv04/tvnv17.o gpu/drm/nouveau/nvif/Kbuild 0000644 00000000506 14722053665 0011715 0 ustar 00 # SPDX-License-Identifier: MIT nvif-y := nvif/object.o nvif-y += nvif/client.o nvif-y += nvif/device.o nvif-y += nvif/disp.o nvif-y += nvif/driver.o nvif-y += nvif/fifo.o nvif-y += nvif/mem.o nvif-y += nvif/mmu.o nvif-y += nvif/notify.o nvif-y += nvif/vmm.o # Usermode classes nvif-y += nvif/user.o nvif-y += nvif/userc361.o gpu/drm/nouveau/dispnv50/Kbuild 0000644 00000002607 14722053665 0012427 0 ustar 00 # SPDX-License-Identifier: MIT nouveau-y += dispnv50/disp.o nouveau-y += dispnv50/lut.o nouveau-y += dispnv50/core.o nouveau-y += dispnv50/core507d.o nouveau-y += dispnv50/core827d.o nouveau-y += dispnv50/core907d.o nouveau-y += dispnv50/core917d.o nouveau-y += dispnv50/corec37d.o nouveau-y += dispnv50/corec57d.o nouveau-y += dispnv50/dac507d.o nouveau-y += dispnv50/dac907d.o nouveau-y += dispnv50/pior507d.o nouveau-y += dispnv50/sor507d.o nouveau-y += dispnv50/sor907d.o nouveau-y += dispnv50/sorc37d.o nouveau-y += dispnv50/head.o nouveau-y += dispnv50/head507d.o nouveau-y += dispnv50/head827d.o nouveau-y += dispnv50/head907d.o nouveau-y += dispnv50/head917d.o nouveau-y += dispnv50/headc37d.o nouveau-y += dispnv50/headc57d.o nouveau-y += dispnv50/wimm.o nouveau-y += dispnv50/wimmc37b.o nouveau-y += dispnv50/wndw.o nouveau-y += dispnv50/wndwc37e.o nouveau-y += dispnv50/wndwc57e.o nouveau-y += dispnv50/base.o nouveau-y += dispnv50/base507c.o nouveau-y += dispnv50/base827c.o nouveau-y += dispnv50/base907c.o nouveau-y += dispnv50/base917c.o nouveau-y += dispnv50/curs.o nouveau-y += dispnv50/curs507a.o nouveau-y += dispnv50/curs907a.o nouveau-y += dispnv50/cursc37a.o nouveau-y += dispnv50/oimm.o nouveau-y += dispnv50/oimm507b.o nouveau-y += dispnv50/ovly.o nouveau-y += dispnv50/ovly507e.o nouveau-y += dispnv50/ovly827e.o nouveau-y += dispnv50/ovly907e.o nouveau-y += dispnv50/ovly917e.o gpu/drm/nouveau/Kconfig 0000644 00000005042 14722053665 0011121 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_NOUVEAU tristate "Nouveau (NVIDIA) cards" depends on DRM && PCI && MMU select FW_LOADER select DRM_KMS_HELPER select DRM_TTM select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT select X86_PLATFORM_DEVICES if ACPI && X86 select ACPI_WMI if ACPI && X86 select MXM_WMI if ACPI && X86 select POWER_SUPPLY # Similar to i915, we need to select ACPI_VIDEO and it's dependencies select BACKLIGHT_CLASS_DEVICE if ACPI && X86 select INPUT if ACPI && X86 select THERMAL if ACPI && X86 select ACPI_VIDEO if ACPI && X86 help Choose this option for open-source NVIDIA support. config NOUVEAU_LEGACY_CTX_SUPPORT bool "Nouveau legacy context support" depends on DRM_NOUVEAU select DRM_LEGACY default y help There was a version of the nouveau DDX that relied on legacy ctx ioctls not erroring out. But that was back in time a long ways, so offer a way to disable it now. For uapi compat with old nouveau ddx this should be on by default, but modern distros should consider turning it off. config NOUVEAU_PLATFORM_DRIVER bool "Nouveau (NVIDIA) SoC GPUs" depends on DRM_NOUVEAU && ARCH_TEGRA default y help Support for Nouveau platform driver, used for SoC GPUs as found on NVIDIA Tegra K1. config NOUVEAU_DEBUG int "Maximum debug level" depends on DRM_NOUVEAU range 0 7 default 5 help Selects the maximum debug level to compile support for. 0 - fatal 1 - error 2 - warning 3 - info 4 - debug 5 - trace (recommended) 6 - paranoia 7 - spam The paranoia and spam levels will add a lot of extra checks which may potentially slow down driver operation. config NOUVEAU_DEBUG_DEFAULT int "Default debug level" depends on DRM_NOUVEAU range 0 7 default 3 help Selects the default debug level config NOUVEAU_DEBUG_MMU bool "Enable additional MMU debugging" depends on DRM_NOUVEAU default n help Say Y here if you want to enable verbose MMU debug output. config DRM_NOUVEAU_BACKLIGHT bool "Support for backlight control" depends on DRM_NOUVEAU default y help Say Y here if you want to control the backlight of your display (e.g. a laptop panel). config DRM_NOUVEAU_SVM bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support" depends on DEVICE_PRIVATE depends on DRM_NOUVEAU depends on MMU depends on STAGING select HMM_MIRROR select MMU_NOTIFIER default n help Say Y here if you want to enable experimental support for Shared Virtual Memory (SVM). gpu/drm/nouveau/Kbuild 0000644 00000003663 14722053665 0010762 0 ustar 00 # SPDX-License-Identifier: MIT ccflags-y += -I $(srctree)/$(src)/include ccflags-y += -I $(srctree)/$(src)/include/nvkm ccflags-y += -I $(srctree)/$(src)/nvkm ccflags-y += -I $(srctree)/$(src) # NVKM - HW resource manager #- code also used by various userspace tools/tests include $(src)/nvif/Kbuild nouveau-y := $(nvif-y) # NVIF - NVKM interface library (NVKM user interface also defined here) #- code also used by various userspace tools/tests include $(src)/nvkm/Kbuild nouveau-y += $(nvkm-y) # DRM - general ifdef CONFIG_X86 nouveau-$(CONFIG_ACPI) += nouveau_acpi.o endif nouveau-$(CONFIG_DEBUG_FS) += nouveau_debugfs.o nouveau-y += nouveau_drm.o nouveau-y += nouveau_hwmon.o nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o nouveau-$(CONFIG_LEDS_CLASS) += nouveau_led.o nouveau-y += nouveau_nvif.o nouveau-$(CONFIG_NOUVEAU_PLATFORM_DRIVER) += nouveau_platform.o nouveau-y += nouveau_usif.o # userspace <-> nvif nouveau-y += nouveau_vga.o # DRM - memory management nouveau-y += nouveau_bo.o nouveau-y += nouveau_gem.o nouveau-$(CONFIG_DRM_NOUVEAU_SVM) += nouveau_svm.o nouveau-$(CONFIG_DRM_NOUVEAU_SVM) += nouveau_dmem.o nouveau-y += nouveau_mem.o nouveau-y += nouveau_prime.o nouveau-y += nouveau_sgdma.o nouveau-y += nouveau_ttm.o nouveau-y += nouveau_vmm.o # DRM - modesetting nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o nouveau-y += nouveau_bios.o nouveau-y += nouveau_connector.o nouveau-y += nouveau_display.o nouveau-y += nouveau_dp.o nouveau-y += nouveau_fbcon.o nouveau-y += nv04_fbcon.o nouveau-y += nv50_fbcon.o nouveau-y += nvc0_fbcon.o include $(src)/dispnv04/Kbuild include $(src)/dispnv50/Kbuild # DRM - command submission nouveau-y += nouveau_abi16.o nouveau-y += nouveau_chan.o nouveau-y += nouveau_dma.o nouveau-y += nouveau_fence.o nouveau-y += nv04_fence.o nouveau-y += nv10_fence.o nouveau-y += nv17_fence.o nouveau-y += nv50_fence.o nouveau-y += nv84_fence.o nouveau-y += nvc0_fence.o obj-$(CONFIG_DRM_NOUVEAU) += nouveau.o gpu/drm/nouveau/nvkm/core/Kbuild 0000644 00000000713 14722053665 0012656 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y := nvkm/core/client.o nvkm-y += nvkm/core/engine.o nvkm-y += nvkm/core/enum.o nvkm-y += nvkm/core/event.o nvkm-y += nvkm/core/firmware.o nvkm-y += nvkm/core/gpuobj.o nvkm-y += nvkm/core/ioctl.o nvkm-y += nvkm/core/memory.o nvkm-y += nvkm/core/mm.o nvkm-y += nvkm/core/notify.o nvkm-y += nvkm/core/object.o nvkm-y += nvkm/core/oproxy.o nvkm-y += nvkm/core/option.o nvkm-y += nvkm/core/ramht.o nvkm-y += nvkm/core/subdev.o gpu/drm/nouveau/nvkm/falcon/Kbuild 0000644 00000000314 14722053665 0013165 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/falcon/base.o nvkm-y += nvkm/falcon/v1.o nvkm-y += nvkm/falcon/msgqueue.o nvkm-y += nvkm/falcon/msgqueue_0137c63d.o nvkm-y += nvkm/falcon/msgqueue_0148cdec.o gpu/drm/nouveau/nvkm/subdev/ibus/Kbuild 0000644 00000000361 14722053665 0014157 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/ibus/gf100.o nvkm-y += nvkm/subdev/ibus/gf117.o nvkm-y += nvkm/subdev/ibus/gk104.o nvkm-y += nvkm/subdev/ibus/gk20a.o nvkm-y += nvkm/subdev/ibus/gm200.o nvkm-y += nvkm/subdev/ibus/gp10b.o gpu/drm/nouveau/nvkm/subdev/bar/Kbuild 0000644 00000000453 14722053665 0013763 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/bar/base.o nvkm-y += nvkm/subdev/bar/nv50.o nvkm-y += nvkm/subdev/bar/g84.o nvkm-y += nvkm/subdev/bar/gf100.o nvkm-y += nvkm/subdev/bar/gk20a.o nvkm-y += nvkm/subdev/bar/gm107.o nvkm-y += nvkm/subdev/bar/gm20b.o nvkm-y += nvkm/subdev/bar/tu102.o gpu/drm/nouveau/nvkm/subdev/mmu/Kbuild 0000644 00000002515 14722053665 0014016 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/mmu/base.o nvkm-y += nvkm/subdev/mmu/nv04.o nvkm-y += nvkm/subdev/mmu/nv41.o nvkm-y += nvkm/subdev/mmu/nv44.o nvkm-y += nvkm/subdev/mmu/nv50.o nvkm-y += nvkm/subdev/mmu/g84.o nvkm-y += nvkm/subdev/mmu/mcp77.o nvkm-y += nvkm/subdev/mmu/gf100.o nvkm-y += nvkm/subdev/mmu/gk104.o nvkm-y += nvkm/subdev/mmu/gk20a.o nvkm-y += nvkm/subdev/mmu/gm200.o nvkm-y += nvkm/subdev/mmu/gm20b.o nvkm-y += nvkm/subdev/mmu/gp100.o nvkm-y += nvkm/subdev/mmu/gp10b.o nvkm-y += nvkm/subdev/mmu/gv100.o nvkm-y += nvkm/subdev/mmu/tu102.o nvkm-y += nvkm/subdev/mmu/mem.o nvkm-y += nvkm/subdev/mmu/memnv04.o nvkm-y += nvkm/subdev/mmu/memnv50.o nvkm-y += nvkm/subdev/mmu/memgf100.o nvkm-y += nvkm/subdev/mmu/vmm.o nvkm-y += nvkm/subdev/mmu/vmmnv04.o nvkm-y += nvkm/subdev/mmu/vmmnv41.o nvkm-y += nvkm/subdev/mmu/vmmnv44.o nvkm-y += nvkm/subdev/mmu/vmmnv50.o nvkm-y += nvkm/subdev/mmu/vmmmcp77.o nvkm-y += nvkm/subdev/mmu/vmmgf100.o nvkm-y += nvkm/subdev/mmu/vmmgk104.o nvkm-y += nvkm/subdev/mmu/vmmgk20a.o nvkm-y += nvkm/subdev/mmu/vmmgm200.o nvkm-y += nvkm/subdev/mmu/vmmgm20b.o nvkm-y += nvkm/subdev/mmu/vmmgp100.o nvkm-y += nvkm/subdev/mmu/vmmgp10b.o nvkm-y += nvkm/subdev/mmu/vmmgv100.o nvkm-y += nvkm/subdev/mmu/vmmtu102.o nvkm-y += nvkm/subdev/mmu/umem.o nvkm-y += nvkm/subdev/mmu/ummu.o nvkm-y += nvkm/subdev/mmu/uvmm.o gpu/drm/nouveau/nvkm/subdev/bus/Kbuild 0000644 00000000406 14722053665 0014006 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/bus/base.o nvkm-y += nvkm/subdev/bus/hwsq.o nvkm-y += nvkm/subdev/bus/nv04.o nvkm-y += nvkm/subdev/bus/nv31.o nvkm-y += nvkm/subdev/bus/nv50.o nvkm-y += nvkm/subdev/bus/g94.o nvkm-y += nvkm/subdev/bus/gf100.o gpu/drm/nouveau/nvkm/subdev/instmem/Kbuild 0000644 00000000331 14722053665 0014666 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/instmem/base.o nvkm-y += nvkm/subdev/instmem/nv04.o nvkm-y += nvkm/subdev/instmem/nv40.o nvkm-y += nvkm/subdev/instmem/nv50.o nvkm-y += nvkm/subdev/instmem/gk20a.o gpu/drm/nouveau/nvkm/subdev/gpio/Kbuild 0000644 00000000354 14722053665 0014155 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/gpio/base.o nvkm-y += nvkm/subdev/gpio/nv10.o nvkm-y += nvkm/subdev/gpio/nv50.o nvkm-y += nvkm/subdev/gpio/g94.o nvkm-y += nvkm/subdev/gpio/gf119.o nvkm-y += nvkm/subdev/gpio/gk104.o gpu/drm/nouveau/nvkm/subdev/i2c/Kbuild 0000644 00000001712 14722053665 0013673 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/i2c/base.o nvkm-y += nvkm/subdev/i2c/nv04.o nvkm-y += nvkm/subdev/i2c/nv4e.o nvkm-y += nvkm/subdev/i2c/nv50.o nvkm-y += nvkm/subdev/i2c/g94.o nvkm-y += nvkm/subdev/i2c/gf117.o nvkm-y += nvkm/subdev/i2c/gf119.o nvkm-y += nvkm/subdev/i2c/gk104.o nvkm-y += nvkm/subdev/i2c/gm200.o nvkm-y += nvkm/subdev/i2c/pad.o nvkm-y += nvkm/subdev/i2c/padnv04.o nvkm-y += nvkm/subdev/i2c/padnv4e.o nvkm-y += nvkm/subdev/i2c/padnv50.o nvkm-y += nvkm/subdev/i2c/padg94.o nvkm-y += nvkm/subdev/i2c/padgf119.o nvkm-y += nvkm/subdev/i2c/padgm200.o nvkm-y += nvkm/subdev/i2c/bus.o nvkm-y += nvkm/subdev/i2c/busnv04.o nvkm-y += nvkm/subdev/i2c/busnv4e.o nvkm-y += nvkm/subdev/i2c/busnv50.o nvkm-y += nvkm/subdev/i2c/busgf119.o nvkm-y += nvkm/subdev/i2c/bit.o nvkm-y += nvkm/subdev/i2c/aux.o nvkm-y += nvkm/subdev/i2c/auxg94.o nvkm-y += nvkm/subdev/i2c/auxgf119.o nvkm-y += nvkm/subdev/i2c/auxgm200.o nvkm-y += nvkm/subdev/i2c/anx9805.o gpu/drm/nouveau/nvkm/subdev/secboot/Kbuild 0000644 00000001243 14722053665 0014653 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/secboot/base.o nvkm-y += nvkm/subdev/secboot/hs_ucode.o nvkm-y += nvkm/subdev/secboot/ls_ucode_gr.o nvkm-y += nvkm/subdev/secboot/ls_ucode_msgqueue.o nvkm-y += nvkm/subdev/secboot/acr.o nvkm-y += nvkm/subdev/secboot/acr_r352.o nvkm-y += nvkm/subdev/secboot/acr_r361.o nvkm-y += nvkm/subdev/secboot/acr_r364.o nvkm-y += nvkm/subdev/secboot/acr_r367.o nvkm-y += nvkm/subdev/secboot/acr_r370.o nvkm-y += nvkm/subdev/secboot/acr_r375.o nvkm-y += nvkm/subdev/secboot/gm200.o nvkm-y += nvkm/subdev/secboot/gm20b.o nvkm-y += nvkm/subdev/secboot/gp102.o nvkm-y += nvkm/subdev/secboot/gp108.o nvkm-y += nvkm/subdev/secboot/gp10b.o gpu/drm/nouveau/nvkm/subdev/clk/Kbuild 0000644 00000000731 14722053665 0013767 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/clk/base.o nvkm-y += nvkm/subdev/clk/nv04.o nvkm-y += nvkm/subdev/clk/nv40.o nvkm-y += nvkm/subdev/clk/nv50.o nvkm-y += nvkm/subdev/clk/g84.o nvkm-y += nvkm/subdev/clk/gt215.o nvkm-y += nvkm/subdev/clk/mcp77.o nvkm-y += nvkm/subdev/clk/gf100.o nvkm-y += nvkm/subdev/clk/gk104.o nvkm-y += nvkm/subdev/clk/gk20a.o nvkm-y += nvkm/subdev/clk/gm20b.o nvkm-y += nvkm/subdev/clk/pllnv04.o nvkm-y += nvkm/subdev/clk/pllgt215.o gpu/drm/nouveau/nvkm/subdev/bios/Kbuild 0000644 00000002642 14722053665 0014155 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/bios/base.o nvkm-y += nvkm/subdev/bios/bit.o nvkm-y += nvkm/subdev/bios/boost.o nvkm-y += nvkm/subdev/bios/conn.o nvkm-y += nvkm/subdev/bios/cstep.o nvkm-y += nvkm/subdev/bios/dcb.o nvkm-y += nvkm/subdev/bios/disp.o nvkm-y += nvkm/subdev/bios/dp.o nvkm-y += nvkm/subdev/bios/extdev.o nvkm-y += nvkm/subdev/bios/fan.o nvkm-y += nvkm/subdev/bios/gpio.o nvkm-y += nvkm/subdev/bios/i2c.o nvkm-y += nvkm/subdev/bios/iccsense.o nvkm-y += nvkm/subdev/bios/image.o nvkm-y += nvkm/subdev/bios/init.o nvkm-y += nvkm/subdev/bios/mxm.o nvkm-y += nvkm/subdev/bios/npde.o nvkm-y += nvkm/subdev/bios/pcir.o nvkm-y += nvkm/subdev/bios/perf.o nvkm-y += nvkm/subdev/bios/pll.o nvkm-y += nvkm/subdev/bios/pmu.o nvkm-y += nvkm/subdev/bios/power_budget.o nvkm-y += nvkm/subdev/bios/ramcfg.o nvkm-y += nvkm/subdev/bios/rammap.o nvkm-y += nvkm/subdev/bios/shadow.o nvkm-y += nvkm/subdev/bios/shadowacpi.o nvkm-y += nvkm/subdev/bios/shadowof.o nvkm-y += nvkm/subdev/bios/shadowpci.o nvkm-y += nvkm/subdev/bios/shadowramin.o nvkm-y += nvkm/subdev/bios/shadowrom.o nvkm-y += nvkm/subdev/bios/timing.o nvkm-y += nvkm/subdev/bios/therm.o nvkm-y += nvkm/subdev/bios/vmap.o nvkm-y += nvkm/subdev/bios/volt.o nvkm-y += nvkm/subdev/bios/vpstate.o nvkm-y += nvkm/subdev/bios/xpio.o nvkm-y += nvkm/subdev/bios/M0203.o nvkm-y += nvkm/subdev/bios/M0205.o nvkm-y += nvkm/subdev/bios/M0209.o nvkm-y += nvkm/subdev/bios/P0260.o gpu/drm/nouveau/nvkm/subdev/gsp/Kbuild 0000644 00000000101 14722053665 0013776 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/gsp/gv100.o gpu/drm/nouveau/nvkm/subdev/pmu/Kbuild 0000644 00000000727 14722053665 0014024 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/pmu/base.o nvkm-y += nvkm/subdev/pmu/memx.o nvkm-y += nvkm/subdev/pmu/gt215.o nvkm-y += nvkm/subdev/pmu/gf100.o nvkm-y += nvkm/subdev/pmu/gf119.o nvkm-y += nvkm/subdev/pmu/gk104.o nvkm-y += nvkm/subdev/pmu/gk110.o nvkm-y += nvkm/subdev/pmu/gk208.o nvkm-y += nvkm/subdev/pmu/gk20a.o nvkm-y += nvkm/subdev/pmu/gm107.o nvkm-y += nvkm/subdev/pmu/gm20b.o nvkm-y += nvkm/subdev/pmu/gp100.o nvkm-y += nvkm/subdev/pmu/gp102.o gpu/drm/nouveau/nvkm/subdev/top/Kbuild 0000644 00000000142 14722053665 0014014 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/top/base.o nvkm-y += nvkm/subdev/top/gk104.o gpu/drm/nouveau/nvkm/subdev/volt/Kbuild 0000644 00000000464 14722053665 0014205 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/volt/base.o nvkm-y += nvkm/subdev/volt/gpio.o nvkm-y += nvkm/subdev/volt/nv40.o nvkm-y += nvkm/subdev/volt/gf100.o nvkm-y += nvkm/subdev/volt/gf117.o nvkm-y += nvkm/subdev/volt/gk104.o nvkm-y += nvkm/subdev/volt/gk20a.o nvkm-y += nvkm/subdev/volt/gm20b.o gpu/drm/nouveau/nvkm/subdev/pci/Kbuild 0000644 00000000755 14722053665 0013777 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/pci/agp.o nvkm-y += nvkm/subdev/pci/base.o nvkm-y += nvkm/subdev/pci/pcie.o nvkm-y += nvkm/subdev/pci/nv04.o nvkm-y += nvkm/subdev/pci/nv40.o nvkm-y += nvkm/subdev/pci/nv46.o nvkm-y += nvkm/subdev/pci/nv4c.o nvkm-y += nvkm/subdev/pci/g84.o nvkm-y += nvkm/subdev/pci/g92.o nvkm-y += nvkm/subdev/pci/g94.o nvkm-y += nvkm/subdev/pci/gf100.o nvkm-y += nvkm/subdev/pci/gf106.o nvkm-y += nvkm/subdev/pci/gk104.o nvkm-y += nvkm/subdev/pci/gp100.o gpu/drm/nouveau/nvkm/subdev/mxm/Kbuild 0000644 00000000202 14722053665 0014010 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/mxm/base.o nvkm-y += nvkm/subdev/mxm/mxms.o nvkm-y += nvkm/subdev/mxm/nv50.o gpu/drm/nouveau/nvkm/subdev/mc/Kbuild 0000644 00000001004 14722053665 0013607 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/mc/base.o nvkm-y += nvkm/subdev/mc/nv04.o nvkm-y += nvkm/subdev/mc/nv11.o nvkm-y += nvkm/subdev/mc/nv17.o nvkm-y += nvkm/subdev/mc/nv44.o nvkm-y += nvkm/subdev/mc/nv50.o nvkm-y += nvkm/subdev/mc/g84.o nvkm-y += nvkm/subdev/mc/g98.o nvkm-y += nvkm/subdev/mc/gt215.o nvkm-y += nvkm/subdev/mc/gf100.o nvkm-y += nvkm/subdev/mc/gk104.o nvkm-y += nvkm/subdev/mc/gk20a.o nvkm-y += nvkm/subdev/mc/gp100.o nvkm-y += nvkm/subdev/mc/gp10b.o nvkm-y += nvkm/subdev/mc/tu102.o gpu/drm/nouveau/nvkm/subdev/ltc/Kbuild 0000644 00000000414 14722053665 0013776 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/ltc/base.o nvkm-y += nvkm/subdev/ltc/gf100.o nvkm-y += nvkm/subdev/ltc/gk104.o nvkm-y += nvkm/subdev/ltc/gm107.o nvkm-y += nvkm/subdev/ltc/gm200.o nvkm-y += nvkm/subdev/ltc/gp100.o nvkm-y += nvkm/subdev/ltc/gp102.o gpu/drm/nouveau/nvkm/subdev/Kbuild 0000644 00000001757 14722053665 0013227 0 ustar 00 # SPDX-License-Identifier: MIT include $(src)/nvkm/subdev/bar/Kbuild include $(src)/nvkm/subdev/bios/Kbuild include $(src)/nvkm/subdev/bus/Kbuild include $(src)/nvkm/subdev/clk/Kbuild include $(src)/nvkm/subdev/devinit/Kbuild include $(src)/nvkm/subdev/fault/Kbuild include $(src)/nvkm/subdev/fb/Kbuild include $(src)/nvkm/subdev/fuse/Kbuild include $(src)/nvkm/subdev/gpio/Kbuild include $(src)/nvkm/subdev/gsp/Kbuild include $(src)/nvkm/subdev/i2c/Kbuild include $(src)/nvkm/subdev/ibus/Kbuild include $(src)/nvkm/subdev/iccsense/Kbuild include $(src)/nvkm/subdev/instmem/Kbuild include $(src)/nvkm/subdev/ltc/Kbuild include $(src)/nvkm/subdev/mc/Kbuild include $(src)/nvkm/subdev/mmu/Kbuild include $(src)/nvkm/subdev/mxm/Kbuild include $(src)/nvkm/subdev/pci/Kbuild include $(src)/nvkm/subdev/pmu/Kbuild include $(src)/nvkm/subdev/secboot/Kbuild include $(src)/nvkm/subdev/therm/Kbuild include $(src)/nvkm/subdev/timer/Kbuild include $(src)/nvkm/subdev/top/Kbuild include $(src)/nvkm/subdev/volt/Kbuild gpu/drm/nouveau/nvkm/subdev/fuse/Kbuild 0000644 00000000251 14722053665 0014155 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/fuse/base.o nvkm-y += nvkm/subdev/fuse/nv50.o nvkm-y += nvkm/subdev/fuse/gf100.o nvkm-y += nvkm/subdev/fuse/gm107.o gpu/drm/nouveau/nvkm/subdev/devinit/Kbuild 0000644 00000001164 14722053665 0014661 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/devinit/base.o nvkm-y += nvkm/subdev/devinit/nv04.o nvkm-y += nvkm/subdev/devinit/nv05.o nvkm-y += nvkm/subdev/devinit/nv10.o nvkm-y += nvkm/subdev/devinit/nv1a.o nvkm-y += nvkm/subdev/devinit/nv20.o nvkm-y += nvkm/subdev/devinit/nv50.o nvkm-y += nvkm/subdev/devinit/g84.o nvkm-y += nvkm/subdev/devinit/g98.o nvkm-y += nvkm/subdev/devinit/gt215.o nvkm-y += nvkm/subdev/devinit/mcp89.o nvkm-y += nvkm/subdev/devinit/gf100.o nvkm-y += nvkm/subdev/devinit/gm107.o nvkm-y += nvkm/subdev/devinit/gm200.o nvkm-y += nvkm/subdev/devinit/gv100.o nvkm-y += nvkm/subdev/devinit/tu102.o gpu/drm/nouveau/nvkm/subdev/timer/Kbuild 0000644 00000000317 14722053665 0014336 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/timer/base.o nvkm-y += nvkm/subdev/timer/nv04.o nvkm-y += nvkm/subdev/timer/nv40.o nvkm-y += nvkm/subdev/timer/nv41.o nvkm-y += nvkm/subdev/timer/gk20a.o gpu/drm/nouveau/nvkm/subdev/fault/Kbuild 0000644 00000000321 14722053665 0014324 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/fault/base.o nvkm-y += nvkm/subdev/fault/user.o nvkm-y += nvkm/subdev/fault/gp100.o nvkm-y += nvkm/subdev/fault/gv100.o nvkm-y += nvkm/subdev/fault/tu102.o gpu/drm/nouveau/nvkm/subdev/iccsense/Kbuild 0000644 00000000154 14722053665 0015011 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/iccsense/base.o nvkm-y += nvkm/subdev/iccsense/gf100.o gpu/drm/nouveau/nvkm/subdev/therm/Kbuild 0000644 00000001173 14722053665 0014336 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/therm/base.o nvkm-y += nvkm/subdev/therm/fan.o nvkm-y += nvkm/subdev/therm/fannil.o nvkm-y += nvkm/subdev/therm/fanpwm.o nvkm-y += nvkm/subdev/therm/fantog.o nvkm-y += nvkm/subdev/therm/ic.o nvkm-y += nvkm/subdev/therm/temp.o nvkm-y += nvkm/subdev/therm/nv40.o nvkm-y += nvkm/subdev/therm/nv50.o nvkm-y += nvkm/subdev/therm/g84.o nvkm-y += nvkm/subdev/therm/gt215.o nvkm-y += nvkm/subdev/therm/gf100.o nvkm-y += nvkm/subdev/therm/gf119.o nvkm-y += nvkm/subdev/therm/gk104.o nvkm-y += nvkm/subdev/therm/gm107.o nvkm-y += nvkm/subdev/therm/gm200.o nvkm-y += nvkm/subdev/therm/gp100.o gpu/drm/nouveau/nvkm/subdev/fb/Kbuild 0000644 00000003557 14722053665 0013616 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/subdev/fb/base.o nvkm-y += nvkm/subdev/fb/nv04.o nvkm-y += nvkm/subdev/fb/nv10.o nvkm-y += nvkm/subdev/fb/nv1a.o nvkm-y += nvkm/subdev/fb/nv20.o nvkm-y += nvkm/subdev/fb/nv25.o nvkm-y += nvkm/subdev/fb/nv30.o nvkm-y += nvkm/subdev/fb/nv35.o nvkm-y += nvkm/subdev/fb/nv36.o nvkm-y += nvkm/subdev/fb/nv40.o nvkm-y += nvkm/subdev/fb/nv41.o nvkm-y += nvkm/subdev/fb/nv44.o nvkm-y += nvkm/subdev/fb/nv46.o nvkm-y += nvkm/subdev/fb/nv47.o nvkm-y += nvkm/subdev/fb/nv49.o nvkm-y += nvkm/subdev/fb/nv4e.o nvkm-y += nvkm/subdev/fb/nv50.o nvkm-y += nvkm/subdev/fb/g84.o nvkm-y += nvkm/subdev/fb/gt215.o nvkm-y += nvkm/subdev/fb/mcp77.o nvkm-y += nvkm/subdev/fb/mcp89.o nvkm-y += nvkm/subdev/fb/gf100.o nvkm-y += nvkm/subdev/fb/gf108.o nvkm-y += nvkm/subdev/fb/gk104.o nvkm-y += nvkm/subdev/fb/gk110.o nvkm-y += nvkm/subdev/fb/gk20a.o nvkm-y += nvkm/subdev/fb/gm107.o nvkm-y += nvkm/subdev/fb/gm200.o nvkm-y += nvkm/subdev/fb/gm20b.o nvkm-y += nvkm/subdev/fb/gp100.o nvkm-y += nvkm/subdev/fb/gp102.o nvkm-y += nvkm/subdev/fb/gp10b.o nvkm-y += nvkm/subdev/fb/gv100.o nvkm-y += nvkm/subdev/fb/ram.o nvkm-y += nvkm/subdev/fb/ramnv04.o nvkm-y += nvkm/subdev/fb/ramnv10.o nvkm-y += nvkm/subdev/fb/ramnv1a.o nvkm-y += nvkm/subdev/fb/ramnv20.o nvkm-y += nvkm/subdev/fb/ramnv40.o nvkm-y += nvkm/subdev/fb/ramnv41.o nvkm-y += nvkm/subdev/fb/ramnv44.o nvkm-y += nvkm/subdev/fb/ramnv49.o nvkm-y += nvkm/subdev/fb/ramnv4e.o nvkm-y += nvkm/subdev/fb/ramnv50.o nvkm-y += nvkm/subdev/fb/ramgt215.o nvkm-y += nvkm/subdev/fb/rammcp77.o nvkm-y += nvkm/subdev/fb/ramgf100.o nvkm-y += nvkm/subdev/fb/ramgf108.o nvkm-y += nvkm/subdev/fb/ramgk104.o nvkm-y += nvkm/subdev/fb/ramgm107.o nvkm-y += nvkm/subdev/fb/ramgm200.o nvkm-y += nvkm/subdev/fb/ramgp100.o nvkm-y += nvkm/subdev/fb/sddr2.o nvkm-y += nvkm/subdev/fb/sddr3.o nvkm-y += nvkm/subdev/fb/gddr3.o nvkm-y += nvkm/subdev/fb/gddr5.o gpu/drm/nouveau/nvkm/Kbuild 0000644 00000000245 14722053665 0011726 0 ustar 00 # SPDX-License-Identifier: MIT include $(src)/nvkm/core/Kbuild include $(src)/nvkm/falcon/Kbuild include $(src)/nvkm/subdev/Kbuild include $(src)/nvkm/engine/Kbuild gpu/drm/nouveau/nvkm/engine/disp/Kbuild 0000644 00000007423 14722053665 0014137 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/disp/base.o nvkm-y += nvkm/engine/disp/nv04.o nvkm-y += nvkm/engine/disp/nv50.o nvkm-y += nvkm/engine/disp/g84.o nvkm-y += nvkm/engine/disp/g94.o nvkm-y += nvkm/engine/disp/gt200.o nvkm-y += nvkm/engine/disp/mcp77.o nvkm-y += nvkm/engine/disp/gt215.o nvkm-y += nvkm/engine/disp/mcp89.o nvkm-y += nvkm/engine/disp/gf119.o nvkm-y += nvkm/engine/disp/gk104.o nvkm-y += nvkm/engine/disp/gk110.o nvkm-y += nvkm/engine/disp/gm107.o nvkm-y += nvkm/engine/disp/gm200.o nvkm-y += nvkm/engine/disp/gp100.o nvkm-y += nvkm/engine/disp/gp102.o nvkm-y += nvkm/engine/disp/gv100.o nvkm-y += nvkm/engine/disp/tu102.o nvkm-y += nvkm/engine/disp/vga.o nvkm-y += nvkm/engine/disp/head.o nvkm-y += nvkm/engine/disp/headnv04.o nvkm-y += nvkm/engine/disp/headnv50.o nvkm-y += nvkm/engine/disp/headgf119.o nvkm-y += nvkm/engine/disp/headgv100.o nvkm-y += nvkm/engine/disp/ior.o nvkm-y += nvkm/engine/disp/dacnv50.o nvkm-y += nvkm/engine/disp/dacgf119.o nvkm-y += nvkm/engine/disp/piornv50.o nvkm-y += nvkm/engine/disp/sornv50.o nvkm-y += nvkm/engine/disp/sorg84.o nvkm-y += nvkm/engine/disp/sorg94.o nvkm-y += nvkm/engine/disp/sormcp77.o nvkm-y += nvkm/engine/disp/sorgt215.o nvkm-y += nvkm/engine/disp/sormcp89.o nvkm-y += nvkm/engine/disp/sorgf119.o nvkm-y += nvkm/engine/disp/sorgk104.o nvkm-y += nvkm/engine/disp/sorgm107.o nvkm-y += nvkm/engine/disp/sorgm200.o nvkm-y += nvkm/engine/disp/sorgv100.o nvkm-y += nvkm/engine/disp/sortu102.o nvkm-y += nvkm/engine/disp/outp.o nvkm-y += nvkm/engine/disp/dp.o nvkm-y += nvkm/engine/disp/hdagt215.o nvkm-y += nvkm/engine/disp/hdagf119.o nvkm-y += nvkm/engine/disp/hdmi.o nvkm-y += nvkm/engine/disp/hdmig84.o nvkm-y += nvkm/engine/disp/hdmigt215.o nvkm-y += nvkm/engine/disp/hdmigf119.o nvkm-y += nvkm/engine/disp/hdmigk104.o nvkm-y += nvkm/engine/disp/hdmigm200.o nvkm-y += nvkm/engine/disp/hdmigv100.o nvkm-y += nvkm/engine/disp/conn.o nvkm-y += nvkm/engine/disp/rootnv04.o nvkm-y += nvkm/engine/disp/rootnv50.o nvkm-y += nvkm/engine/disp/rootg84.o nvkm-y += nvkm/engine/disp/rootg94.o nvkm-y += nvkm/engine/disp/rootgt200.o nvkm-y += nvkm/engine/disp/rootgt215.o nvkm-y += nvkm/engine/disp/rootgf119.o nvkm-y += nvkm/engine/disp/rootgk104.o nvkm-y += nvkm/engine/disp/rootgk110.o nvkm-y += nvkm/engine/disp/rootgm107.o nvkm-y += nvkm/engine/disp/rootgm200.o nvkm-y += nvkm/engine/disp/rootgp100.o nvkm-y += nvkm/engine/disp/rootgp102.o nvkm-y += nvkm/engine/disp/rootgv100.o nvkm-y += nvkm/engine/disp/roottu102.o nvkm-y += nvkm/engine/disp/channv50.o nvkm-y += nvkm/engine/disp/changf119.o nvkm-y += nvkm/engine/disp/changv100.o nvkm-y += nvkm/engine/disp/dmacnv50.o nvkm-y += nvkm/engine/disp/dmacgf119.o nvkm-y += nvkm/engine/disp/dmacgp102.o nvkm-y += nvkm/engine/disp/dmacgv100.o nvkm-y += nvkm/engine/disp/basenv50.o nvkm-y += nvkm/engine/disp/baseg84.o nvkm-y += nvkm/engine/disp/basegf119.o nvkm-y += nvkm/engine/disp/basegp102.o nvkm-y += nvkm/engine/disp/corenv50.o nvkm-y += nvkm/engine/disp/coreg84.o nvkm-y += nvkm/engine/disp/coreg94.o nvkm-y += nvkm/engine/disp/coregf119.o nvkm-y += nvkm/engine/disp/coregk104.o nvkm-y += nvkm/engine/disp/coregp102.o nvkm-y += nvkm/engine/disp/coregv100.o nvkm-y += nvkm/engine/disp/ovlynv50.o nvkm-y += nvkm/engine/disp/ovlyg84.o nvkm-y += nvkm/engine/disp/ovlygt200.o nvkm-y += nvkm/engine/disp/ovlygf119.o nvkm-y += nvkm/engine/disp/ovlygk104.o nvkm-y += nvkm/engine/disp/ovlygp102.o nvkm-y += nvkm/engine/disp/wimmgv100.o nvkm-y += nvkm/engine/disp/wndwgv100.o nvkm-y += nvkm/engine/disp/piocnv50.o nvkm-y += nvkm/engine/disp/piocgf119.o nvkm-y += nvkm/engine/disp/cursnv50.o nvkm-y += nvkm/engine/disp/cursgf119.o nvkm-y += nvkm/engine/disp/cursgp102.o nvkm-y += nvkm/engine/disp/cursgv100.o nvkm-y += nvkm/engine/disp/oimmnv50.o nvkm-y += nvkm/engine/disp/oimmgf119.o nvkm-y += nvkm/engine/disp/oimmgp102.o gpu/drm/nouveau/nvkm/engine/sw/Kbuild 0000644 00000000402 14722053665 0013617 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/sw/base.o nvkm-y += nvkm/engine/sw/nv04.o nvkm-y += nvkm/engine/sw/nv10.o nvkm-y += nvkm/engine/sw/nv50.o nvkm-y += nvkm/engine/sw/gf100.o nvkm-y += nvkm/engine/sw/chan.o nvkm-y += nvkm/engine/sw/nvsw.o gpu/drm/nouveau/nvkm/engine/nvdec/Kbuild 0000644 00000000146 14722053665 0014272 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/nvdec/base.o nvkm-y += nvkm/engine/nvdec/gp102.o gpu/drm/nouveau/nvkm/engine/fifo/Kbuild 0000644 00000002477 14722053665 0014127 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/fifo/base.o nvkm-y += nvkm/engine/fifo/nv04.o nvkm-y += nvkm/engine/fifo/nv10.o nvkm-y += nvkm/engine/fifo/nv17.o nvkm-y += nvkm/engine/fifo/nv40.o nvkm-y += nvkm/engine/fifo/nv50.o nvkm-y += nvkm/engine/fifo/g84.o nvkm-y += nvkm/engine/fifo/gf100.o nvkm-y += nvkm/engine/fifo/gk104.o nvkm-y += nvkm/engine/fifo/gk110.o nvkm-y += nvkm/engine/fifo/gk208.o nvkm-y += nvkm/engine/fifo/gk20a.o nvkm-y += nvkm/engine/fifo/gm107.o nvkm-y += nvkm/engine/fifo/gm200.o nvkm-y += nvkm/engine/fifo/gm20b.o nvkm-y += nvkm/engine/fifo/gp100.o nvkm-y += nvkm/engine/fifo/gp10b.o nvkm-y += nvkm/engine/fifo/gv100.o nvkm-y += nvkm/engine/fifo/tu102.o nvkm-y += nvkm/engine/fifo/chan.o nvkm-y += nvkm/engine/fifo/channv50.o nvkm-y += nvkm/engine/fifo/chang84.o nvkm-y += nvkm/engine/fifo/dmanv04.o nvkm-y += nvkm/engine/fifo/dmanv10.o nvkm-y += nvkm/engine/fifo/dmanv17.o nvkm-y += nvkm/engine/fifo/dmanv40.o nvkm-y += nvkm/engine/fifo/dmanv50.o nvkm-y += nvkm/engine/fifo/dmag84.o nvkm-y += nvkm/engine/fifo/gpfifonv50.o nvkm-y += nvkm/engine/fifo/gpfifog84.o nvkm-y += nvkm/engine/fifo/gpfifogf100.o nvkm-y += nvkm/engine/fifo/gpfifogk104.o nvkm-y += nvkm/engine/fifo/gpfifogv100.o nvkm-y += nvkm/engine/fifo/gpfifotu102.o nvkm-y += nvkm/engine/fifo/usergv100.o nvkm-y += nvkm/engine/fifo/usertu102.o gpu/drm/nouveau/nvkm/engine/device/Kbuild 0000644 00000000367 14722053665 0014437 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/device/acpi.o nvkm-y += nvkm/engine/device/base.o nvkm-y += nvkm/engine/device/ctrl.o nvkm-y += nvkm/engine/device/pci.o nvkm-y += nvkm/engine/device/tegra.o nvkm-y += nvkm/engine/device/user.o gpu/drm/nouveau/nvkm/engine/sec/Kbuild 0000644 00000000077 14722053665 0013750 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/sec/g98.o gpu/drm/nouveau/nvkm/engine/mpeg/Kbuild 0000644 00000000310 14722053665 0014114 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/mpeg/nv31.o nvkm-y += nvkm/engine/mpeg/nv40.o nvkm-y += nvkm/engine/mpeg/nv44.o nvkm-y += nvkm/engine/mpeg/nv50.o nvkm-y += nvkm/engine/mpeg/g84.o gpu/drm/nouveau/nvkm/engine/sec2/Kbuild 0000644 00000000207 14722053665 0014025 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/sec2/base.o nvkm-y += nvkm/engine/sec2/gp102.o nvkm-y += nvkm/engine/sec2/tu102.o gpu/drm/nouveau/nvkm/engine/nvenc/Kbuild 0000644 00000000103 14722053665 0014275 0 ustar 00 # SPDX-License-Identifier: MIT #nvkm-y += nvkm/engine/nvenc/base.o gpu/drm/nouveau/nvkm/engine/ce/Kbuild 0000644 00000000510 14722053665 0013555 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/ce/gt215.o nvkm-y += nvkm/engine/ce/gf100.o nvkm-y += nvkm/engine/ce/gk104.o nvkm-y += nvkm/engine/ce/gm107.o nvkm-y += nvkm/engine/ce/gm200.o nvkm-y += nvkm/engine/ce/gp100.o nvkm-y += nvkm/engine/ce/gp102.o nvkm-y += nvkm/engine/ce/gv100.o nvkm-y += nvkm/engine/ce/tu102.o gpu/drm/nouveau/nvkm/engine/bsp/Kbuild 0000644 00000000077 14722053665 0013762 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/bsp/g84.o gpu/drm/nouveau/nvkm/engine/msenc/Kbuild 0000644 00000000103 14722053665 0014271 0 ustar 00 # SPDX-License-Identifier: MIT #nvkm-y += nvkm/engine/msenc/base.o gpu/drm/nouveau/nvkm/engine/vic/Kbuild 0000644 00000000101 14722053665 0013743 0 ustar 00 # SPDX-License-Identifier: MIT #nvkm-y += nvkm/engine/vic/base.o gpu/drm/nouveau/nvkm/engine/msvld/Kbuild 0000644 00000000364 14722053665 0014322 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/msvld/base.o nvkm-y += nvkm/engine/msvld/g98.o nvkm-y += nvkm/engine/msvld/gt215.o nvkm-y += nvkm/engine/msvld/mcp89.o nvkm-y += nvkm/engine/msvld/gf100.o nvkm-y += nvkm/engine/msvld/gk104.o gpu/drm/nouveau/nvkm/engine/gr/Kbuild 0000644 00000004013 14722053665 0013600 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/gr/base.o nvkm-y += nvkm/engine/gr/nv04.o nvkm-y += nvkm/engine/gr/nv10.o nvkm-y += nvkm/engine/gr/nv15.o nvkm-y += nvkm/engine/gr/nv17.o nvkm-y += nvkm/engine/gr/nv20.o nvkm-y += nvkm/engine/gr/nv25.o nvkm-y += nvkm/engine/gr/nv2a.o nvkm-y += nvkm/engine/gr/nv30.o nvkm-y += nvkm/engine/gr/nv34.o nvkm-y += nvkm/engine/gr/nv35.o nvkm-y += nvkm/engine/gr/nv40.o nvkm-y += nvkm/engine/gr/nv44.o nvkm-y += nvkm/engine/gr/nv50.o nvkm-y += nvkm/engine/gr/g84.o nvkm-y += nvkm/engine/gr/gt200.o nvkm-y += nvkm/engine/gr/mcp79.o nvkm-y += nvkm/engine/gr/gt215.o nvkm-y += nvkm/engine/gr/mcp89.o nvkm-y += nvkm/engine/gr/gf100.o nvkm-y += nvkm/engine/gr/gf104.o nvkm-y += nvkm/engine/gr/gf108.o nvkm-y += nvkm/engine/gr/gf110.o nvkm-y += nvkm/engine/gr/gf117.o nvkm-y += nvkm/engine/gr/gf119.o nvkm-y += nvkm/engine/gr/gk104.o nvkm-y += nvkm/engine/gr/gk110.o nvkm-y += nvkm/engine/gr/gk110b.o nvkm-y += nvkm/engine/gr/gk208.o nvkm-y += nvkm/engine/gr/gk20a.o nvkm-y += nvkm/engine/gr/gm107.o nvkm-y += nvkm/engine/gr/gm200.o nvkm-y += nvkm/engine/gr/gm20b.o nvkm-y += nvkm/engine/gr/gp100.o nvkm-y += nvkm/engine/gr/gp102.o nvkm-y += nvkm/engine/gr/gp104.o nvkm-y += nvkm/engine/gr/gp107.o nvkm-y += nvkm/engine/gr/gp10b.o nvkm-y += nvkm/engine/gr/gv100.o nvkm-y += nvkm/engine/gr/ctxnv40.o nvkm-y += nvkm/engine/gr/ctxnv50.o nvkm-y += nvkm/engine/gr/ctxgf100.o nvkm-y += nvkm/engine/gr/ctxgf104.o nvkm-y += nvkm/engine/gr/ctxgf108.o nvkm-y += nvkm/engine/gr/ctxgf110.o nvkm-y += nvkm/engine/gr/ctxgf117.o nvkm-y += nvkm/engine/gr/ctxgf119.o nvkm-y += nvkm/engine/gr/ctxgk104.o nvkm-y += nvkm/engine/gr/ctxgk110.o nvkm-y += nvkm/engine/gr/ctxgk110b.o nvkm-y += nvkm/engine/gr/ctxgk208.o nvkm-y += nvkm/engine/gr/ctxgk20a.o nvkm-y += nvkm/engine/gr/ctxgm107.o nvkm-y += nvkm/engine/gr/ctxgm200.o nvkm-y += nvkm/engine/gr/ctxgm20b.o nvkm-y += nvkm/engine/gr/ctxgp100.o nvkm-y += nvkm/engine/gr/ctxgp102.o nvkm-y += nvkm/engine/gr/ctxgp104.o nvkm-y += nvkm/engine/gr/ctxgp107.o nvkm-y += nvkm/engine/gr/ctxgv100.o gpu/drm/nouveau/nvkm/engine/msppp/Kbuild 0000644 00000000254 14722053665 0014332 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/msppp/base.o nvkm-y += nvkm/engine/msppp/g98.o nvkm-y += nvkm/engine/msppp/gt215.o nvkm-y += nvkm/engine/msppp/gf100.o gpu/drm/nouveau/nvkm/engine/vp/Kbuild 0000644 00000000076 14722053665 0013622 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/vp/g84.o gpu/drm/nouveau/nvkm/engine/dma/Kbuild 0000644 00000000706 14722053665 0013736 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/dma/base.o nvkm-y += nvkm/engine/dma/nv04.o nvkm-y += nvkm/engine/dma/nv50.o nvkm-y += nvkm/engine/dma/gf100.o nvkm-y += nvkm/engine/dma/gf119.o nvkm-y += nvkm/engine/dma/gv100.o nvkm-y += nvkm/engine/dma/user.o nvkm-y += nvkm/engine/dma/usernv04.o nvkm-y += nvkm/engine/dma/usernv50.o nvkm-y += nvkm/engine/dma/usergf100.o nvkm-y += nvkm/engine/dma/usergf119.o nvkm-y += nvkm/engine/dma/usergv100.o gpu/drm/nouveau/nvkm/engine/Kbuild 0000644 00000001616 14722053665 0013176 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/falcon.o nvkm-y += nvkm/engine/xtensa.o include $(src)/nvkm/engine/bsp/Kbuild include $(src)/nvkm/engine/ce/Kbuild include $(src)/nvkm/engine/cipher/Kbuild include $(src)/nvkm/engine/device/Kbuild include $(src)/nvkm/engine/disp/Kbuild include $(src)/nvkm/engine/dma/Kbuild include $(src)/nvkm/engine/fifo/Kbuild include $(src)/nvkm/engine/gr/Kbuild include $(src)/nvkm/engine/mpeg/Kbuild include $(src)/nvkm/engine/msenc/Kbuild include $(src)/nvkm/engine/mspdec/Kbuild include $(src)/nvkm/engine/msppp/Kbuild include $(src)/nvkm/engine/msvld/Kbuild include $(src)/nvkm/engine/nvenc/Kbuild include $(src)/nvkm/engine/nvdec/Kbuild include $(src)/nvkm/engine/pm/Kbuild include $(src)/nvkm/engine/sec/Kbuild include $(src)/nvkm/engine/sec2/Kbuild include $(src)/nvkm/engine/sw/Kbuild include $(src)/nvkm/engine/vic/Kbuild include $(src)/nvkm/engine/vp/Kbuild gpu/drm/nouveau/nvkm/engine/cipher/Kbuild 0000644 00000000102 14722053665 0014435 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/cipher/g84.o gpu/drm/nouveau/nvkm/engine/mspdec/Kbuild 0000644 00000000325 14722053665 0014445 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/mspdec/base.o nvkm-y += nvkm/engine/mspdec/g98.o nvkm-y += nvkm/engine/mspdec/gt215.o nvkm-y += nvkm/engine/mspdec/gf100.o nvkm-y += nvkm/engine/mspdec/gk104.o gpu/drm/nouveau/nvkm/engine/pm/Kbuild 0000644 00000000544 14722053665 0013611 0 ustar 00 # SPDX-License-Identifier: MIT nvkm-y += nvkm/engine/pm/base.o nvkm-y += nvkm/engine/pm/nv40.o nvkm-y += nvkm/engine/pm/nv50.o nvkm-y += nvkm/engine/pm/g84.o nvkm-y += nvkm/engine/pm/gt200.o nvkm-y += nvkm/engine/pm/gt215.o nvkm-y += nvkm/engine/pm/gf100.o nvkm-y += nvkm/engine/pm/gf108.o nvkm-y += nvkm/engine/pm/gf117.o nvkm-y += nvkm/engine/pm/gk104.o gpu/drm/sun4i/Kconfig 0000644 00000004633 14722053665 0010506 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_SUN4I tristate "DRM Support for Allwinner A10 Display Engine" depends on DRM && (ARM || ARM64) && COMMON_CLK depends on ARCH_SUNXI || COMPILE_TEST select DRM_GEM_CMA_HELPER select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_PANEL select REGMAP_MMIO select VIDEOMODE_HELPERS help Choose this option if you have an Allwinner SoC with a Display Engine. If M is selected the module will be called sun4i-drm. if DRM_SUN4I config DRM_SUN4I_HDMI tristate "Allwinner A10 HDMI Controller Support" default DRM_SUN4I help Choose this option if you have an Allwinner SoC with an HDMI controller. config DRM_SUN4I_HDMI_CEC bool "Allwinner A10 HDMI CEC Support" depends on DRM_SUN4I_HDMI select CEC_CORE select CEC_PIN help Choose this option if you have an Allwinner SoC with an HDMI controller and want to use CEC. config DRM_SUN4I_BACKEND tristate "Support for Allwinner A10 Display Engine Backend" default DRM_SUN4I help Choose this option if you have an Allwinner SoC with the original Allwinner Display Engine, which has a backend to do some alpha blending and feed graphics to TCON. If M is selected the module will be called sun4i-backend. config DRM_SUN6I_DSI tristate "Allwinner A31 MIPI-DSI Controller Support" default MACH_SUN8I select CRC_CCITT select DRM_MIPI_DSI select RESET_CONTROLLER select PHY_SUN6I_MIPI_DPHY help Choose this option if you want have an Allwinner SoC with MIPI-DSI support. If M is selected the module will be called sun6i_mipi_dsi. config DRM_SUN8I_DW_HDMI tristate "Support for Allwinner version of DesignWare HDMI" depends on DRM_SUN4I select DRM_DW_HDMI help Choose this option if you have an Allwinner SoC with the DesignWare HDMI controller with custom HDMI PHY. If M is selected the module will be called sun8i_dw_hdmi. config DRM_SUN8I_MIXER tristate "Support for Allwinner Display Engine 2.0 Mixer" default MACH_SUN8I help Choose this option if you have an Allwinner SoC with the Allwinner Display Engine 2.0, which has a mixer to do some graphics mixture and feed graphics to TCON, If M is selected the module will be called sun8i-mixer. config DRM_SUN8I_TCON_TOP tristate default DRM_SUN4I if DRM_SUN8I_MIXER!=n help TCON TOP is responsible for configuring display pipeline for HTMI, TVE and LCD. endif gpu/drm/sun4i/Makefile 0000644 00000002434 14722053665 0010640 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 sun4i-backend-y += sun4i_backend.o sun4i_layer.o sun4i-frontend-y += sun4i_frontend.o sun4i-drm-y += sun4i_drv.o sun4i-drm-y += sun4i_framebuffer.o sun4i-drm-hdmi-y += sun4i_hdmi_ddc_clk.o sun4i-drm-hdmi-y += sun4i_hdmi_enc.o sun4i-drm-hdmi-y += sun4i_hdmi_i2c.o sun4i-drm-hdmi-y += sun4i_hdmi_tmds_clk.o sun8i-drm-hdmi-y += sun8i_dw_hdmi.o sun8i-drm-hdmi-y += sun8i_hdmi_phy.o sun8i-drm-hdmi-y += sun8i_hdmi_phy_clk.o sun8i-mixer-y += sun8i_mixer.o sun8i_ui_layer.o \ sun8i_vi_layer.o sun8i_ui_scaler.o \ sun8i_vi_scaler.o sun8i_csc.o sun4i-tcon-y += sun4i_crtc.o sun4i-tcon-y += sun4i_dotclock.o sun4i-tcon-y += sun4i_lvds.o sun4i-tcon-y += sun4i_tcon.o sun4i-tcon-y += sun4i_rgb.o obj-$(CONFIG_DRM_SUN4I) += sun4i-drm.o obj-$(CONFIG_DRM_SUN4I) += sun4i-tcon.o obj-$(CONFIG_DRM_SUN4I) += sun4i_tv.o obj-$(CONFIG_DRM_SUN4I) += sun6i_drc.o obj-$(CONFIG_DRM_SUN4I_BACKEND) += sun4i-backend.o ifdef CONFIG_DRM_SUN4I_BACKEND obj-$(CONFIG_DRM_SUN4I) += sun4i-frontend.o endif obj-$(CONFIG_DRM_SUN4I_HDMI) += sun4i-drm-hdmi.o obj-$(CONFIG_DRM_SUN6I_DSI) += sun6i_mipi_dsi.o obj-$(CONFIG_DRM_SUN8I_DW_HDMI) += sun8i-drm-hdmi.o obj-$(CONFIG_DRM_SUN8I_MIXER) += sun8i-mixer.o obj-$(CONFIG_DRM_SUN8I_TCON_TOP) += sun8i_tcon_top.o gpu/drm/stm/Kconfig 0000644 00000001347 14722053665 0010246 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_STM tristate "DRM Support for STMicroelectronics SoC Series" depends on DRM && (ARCH_STM32 || ARCH_MULTIPLATFORM) select DRM_KMS_HELPER select DRM_GEM_CMA_HELPER select DRM_KMS_CMA_HELPER select DRM_PANEL_BRIDGE select VIDEOMODE_HELPERS select FB_PROVIDE_GET_FB_UNMAPPED_AREA if FB help Enable support for the on-chip display controller on STMicroelectronics STM32 MCUs. To compile this driver as a module, choose M here: the module will be called stm-drm. config DRM_STM_DSI tristate "STMicroelectronics specific extensions for Synopsys MIPI DSI" depends on DRM_STM select DRM_DW_MIPI_DSI help Choose this option for MIPI DSI support on STMicroelectronics SoC. gpu/drm/stm/Makefile 0000644 00000000234 14722053665 0010375 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only stm-drm-y := \ drv.o \ ltdc.o obj-$(CONFIG_DRM_STM_DSI) += dw_mipi_dsi-stm.o obj-$(CONFIG_DRM_STM) += stm-drm.o gpu/drm/mgag200/Kconfig 0000644 00000000754 14722053665 0010601 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_MGAG200 tristate "Kernel modesetting driver for MGA G200 server engines" depends on DRM && PCI && MMU select DRM_KMS_HELPER select DRM_VRAM_HELPER help This is a KMS driver for the MGA G200 server chips, it does not support the original MGA G200 or any of the desktop chips. It requires 0.3.0 of the modesetting userspace driver, and a version of mga driver that will fail on KMS enabled devices. gpu/drm/mgag200/Makefile 0000644 00000000273 14722053665 0010732 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only mgag200-y := mgag200_main.o mgag200_mode.o mgag200_cursor.o \ mgag200_drv.o mgag200_i2c.o mgag200_ttm.o obj-$(CONFIG_DRM_MGAG200) += mgag200.o gpu/drm/msm/Kconfig 0000644 00000005705 14722053665 0010241 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_MSM tristate "MSM DRM" depends on DRM depends on ARCH_QCOM || SOC_IMX5 || (ARM && COMPILE_TEST) depends on OF && COMMON_CLK depends on MMU depends on INTERCONNECT || !INTERCONNECT select QCOM_MDT_LOADER if ARCH_QCOM select REGULATOR select DRM_KMS_HELPER select DRM_PANEL select SHMEM select TMPFS select QCOM_SCM if ARCH_QCOM select QCOM_COMMAND_DB if ARCH_QCOM select WANT_DEV_COREDUMP select SND_SOC_HDMI_CODEC if SND_SOC select SYNC_FILE select PM_OPP help DRM/KMS driver for MSM/snapdragon. config DRM_MSM_GPU_STATE bool depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP) default y config DRM_MSM_REGISTER_LOGGING bool "MSM DRM register logging" depends on DRM_MSM default n help Compile in support for logging register reads/writes in a format that can be parsed by envytools demsm tool. If enabled, register logging can be switched on via msm.reglog=y module param. config DRM_MSM_GPU_SUDO bool "Enable SUDO flag on submits" depends on DRM_MSM && EXPERT default n help Enable userspace that has CAP_SYS_RAWIO to submit GPU commands that are run from RB instead of IB1. This essentially gives userspace kernel level access, but is useful for firmware debugging. Only use this if you are a driver developer. This should *not* be enabled for production kernels. If unsure, say N. config DRM_MSM_HDMI_HDCP bool "Enable HDMI HDCP support in MSM DRM driver" depends on DRM_MSM && QCOM_SCM default y help Choose this option to enable HDCP state machine config DRM_MSM_DSI bool "Enable DSI support in MSM DRM driver" depends on DRM_MSM select DRM_PANEL select DRM_MIPI_DSI default y help Choose this option if you have a need for MIPI DSI connector support. config DRM_MSM_DSI_PLL bool "Enable DSI PLL driver in MSM DRM" depends on DRM_MSM_DSI && COMMON_CLK default y help Choose this option to enable DSI PLL driver which provides DSI source clocks under common clock framework. config DRM_MSM_DSI_28NM_PHY bool "Enable DSI 28nm PHY driver in MSM DRM" depends on DRM_MSM_DSI default y help Choose this option if the 28nm DSI PHY is used on the platform. config DRM_MSM_DSI_20NM_PHY bool "Enable DSI 20nm PHY driver in MSM DRM" depends on DRM_MSM_DSI default y help Choose this option if the 20nm DSI PHY is used on the platform. config DRM_MSM_DSI_28NM_8960_PHY bool "Enable DSI 28nm 8960 PHY driver in MSM DRM" depends on DRM_MSM_DSI default y help Choose this option if the 28nm DSI PHY 8960 variant is used on the platform. config DRM_MSM_DSI_14NM_PHY bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)" depends on DRM_MSM_DSI default y help Choose this option if DSI PHY on 8996 is used on the platform. config DRM_MSM_DSI_10NM_PHY bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)" depends on DRM_MSM_DSI default y help Choose this option if DSI PHY on SDM845 is used on the platform. gpu/drm/msm/Makefile 0000644 00000006574 14722053665 0010403 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y := -I $(srctree)/$(src) ccflags-y += -I $(srctree)/$(src)/disp/dpu1 ccflags-$(CONFIG_DRM_MSM_DSI) += -I $(srctree)/$(src)/dsi msm-y := \ adreno/adreno_device.o \ adreno/adreno_gpu.o \ adreno/a2xx_gpu.o \ adreno/a3xx_gpu.o \ adreno/a4xx_gpu.o \ adreno/a5xx_gpu.o \ adreno/a5xx_power.o \ adreno/a5xx_preempt.o \ adreno/a6xx_gpu.o \ adreno/a6xx_gmu.o \ adreno/a6xx_hfi.o \ hdmi/hdmi.o \ hdmi/hdmi_audio.o \ hdmi/hdmi_bridge.o \ hdmi/hdmi_connector.o \ hdmi/hdmi_i2c.o \ hdmi/hdmi_phy.o \ hdmi/hdmi_phy_8960.o \ hdmi/hdmi_phy_8x60.o \ hdmi/hdmi_phy_8x74.o \ edp/edp.o \ edp/edp_aux.o \ edp/edp_bridge.o \ edp/edp_connector.o \ edp/edp_ctrl.o \ edp/edp_phy.o \ disp/mdp_format.o \ disp/mdp_kms.o \ disp/mdp4/mdp4_crtc.o \ disp/mdp4/mdp4_dtv_encoder.o \ disp/mdp4/mdp4_lcdc_encoder.o \ disp/mdp4/mdp4_lvds_connector.o \ disp/mdp4/mdp4_irq.o \ disp/mdp4/mdp4_kms.o \ disp/mdp4/mdp4_plane.o \ disp/mdp5/mdp5_cfg.o \ disp/mdp5/mdp5_ctl.o \ disp/mdp5/mdp5_crtc.o \ disp/mdp5/mdp5_encoder.o \ disp/mdp5/mdp5_irq.o \ disp/mdp5/mdp5_mdss.o \ disp/mdp5/mdp5_kms.o \ disp/mdp5/mdp5_pipe.o \ disp/mdp5/mdp5_mixer.o \ disp/mdp5/mdp5_plane.o \ disp/mdp5/mdp5_smp.o \ disp/dpu1/dpu_core_irq.o \ disp/dpu1/dpu_core_perf.o \ disp/dpu1/dpu_crtc.o \ disp/dpu1/dpu_encoder.o \ disp/dpu1/dpu_encoder_phys_cmd.o \ disp/dpu1/dpu_encoder_phys_vid.o \ disp/dpu1/dpu_formats.o \ disp/dpu1/dpu_hw_blk.o \ disp/dpu1/dpu_hw_catalog.o \ disp/dpu1/dpu_hw_ctl.o \ disp/dpu1/dpu_hw_interrupts.o \ disp/dpu1/dpu_hw_intf.o \ disp/dpu1/dpu_hw_lm.o \ disp/dpu1/dpu_hw_pingpong.o \ disp/dpu1/dpu_hw_sspp.o \ disp/dpu1/dpu_hw_top.o \ disp/dpu1/dpu_hw_util.o \ disp/dpu1/dpu_hw_vbif.o \ disp/dpu1/dpu_io_util.o \ disp/dpu1/dpu_kms.o \ disp/dpu1/dpu_mdss.o \ disp/dpu1/dpu_plane.o \ disp/dpu1/dpu_rm.o \ disp/dpu1/dpu_vbif.o \ msm_atomic.o \ msm_atomic_tracepoints.o \ msm_debugfs.o \ msm_drv.o \ msm_fb.o \ msm_fence.o \ msm_gem.o \ msm_gem_prime.o \ msm_gem_shrinker.o \ msm_gem_submit.o \ msm_gem_vma.o \ msm_gpu.o \ msm_iommu.o \ msm_perf.o \ msm_rd.o \ msm_ringbuffer.o \ msm_submitqueue.o \ msm_gpu_tracepoints.o \ msm_gpummu.o msm-$(CONFIG_DEBUG_FS) += adreno/a5xx_debugfs.o msm-$(CONFIG_DRM_MSM_GPU_STATE) += adreno/a6xx_gpu_state.o msm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o msm-$(CONFIG_COMMON_CLK) += disp/mdp4/mdp4_lvds_pll.o msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_pll_8960.o msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_phy_8996.o msm-$(CONFIG_DRM_MSM_HDMI_HDCP) += hdmi/hdmi_hdcp.o msm-$(CONFIG_DRM_MSM_DSI) += dsi/dsi.o \ disp/mdp4/mdp4_dsi_encoder.o \ dsi/dsi_cfg.o \ dsi/dsi_host.o \ dsi/dsi_manager.o \ dsi/phy/dsi_phy.o \ disp/mdp5/mdp5_cmd_encoder.o msm-$(CONFIG_DRM_MSM_DSI_28NM_PHY) += dsi/phy/dsi_phy_28nm.o msm-$(CONFIG_DRM_MSM_DSI_20NM_PHY) += dsi/phy/dsi_phy_20nm.o msm-$(CONFIG_DRM_MSM_DSI_28NM_8960_PHY) += dsi/phy/dsi_phy_28nm_8960.o msm-$(CONFIG_DRM_MSM_DSI_14NM_PHY) += dsi/phy/dsi_phy_14nm.o msm-$(CONFIG_DRM_MSM_DSI_10NM_PHY) += dsi/phy/dsi_phy_10nm.o ifeq ($(CONFIG_DRM_MSM_DSI_PLL),y) msm-y += dsi/pll/dsi_pll.o msm-$(CONFIG_DRM_MSM_DSI_28NM_PHY) += dsi/pll/dsi_pll_28nm.o msm-$(CONFIG_DRM_MSM_DSI_28NM_8960_PHY) += dsi/pll/dsi_pll_28nm_8960.o msm-$(CONFIG_DRM_MSM_DSI_14NM_PHY) += dsi/pll/dsi_pll_14nm.o msm-$(CONFIG_DRM_MSM_DSI_10NM_PHY) += dsi/pll/dsi_pll_10nm.o endif obj-$(CONFIG_DRM_MSM) += msm.o gpu/drm/omapdrm/Kconfig 0000644 00000000556 14722053665 0011103 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_OMAP tristate "OMAP DRM" depends on DRM depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM select OMAP2_DSS select DRM_KMS_HELPER default n help DRM display driver for OMAP2/3/4 based boards. if DRM_OMAP source "drivers/gpu/drm/omapdrm/dss/Kconfig" source "drivers/gpu/drm/omapdrm/displays/Kconfig" endif gpu/drm/omapdrm/displays/Kconfig 0000644 00000001520 14722053665 0012723 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "OMAPDRM External Display Device Drivers" config DRM_OMAP_ENCODER_OPA362 tristate "OPA362 external analog amplifier" help Driver for OPA362 external analog TV amplifier controlled through a GPIO. config DRM_OMAP_ENCODER_TPD12S015 tristate "TPD12S015 HDMI ESD protection and level shifter" help Driver for TPD12S015, which offers HDMI ESD protection and level shifting. config DRM_OMAP_CONNECTOR_HDMI tristate "HDMI Connector" help Driver for a generic HDMI connector. config DRM_OMAP_CONNECTOR_ANALOG_TV tristate "Analog TV Connector" help Driver for a generic analog TV connector. config DRM_OMAP_PANEL_DSI_CM tristate "Generic DSI Command Mode Panel" depends on BACKLIGHT_CLASS_DEVICE help Driver for generic DSI command mode panels. endmenu gpu/drm/omapdrm/displays/Makefile 0000644 00000000521 14722053665 0013060 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DRM_OMAP_ENCODER_OPA362) += encoder-opa362.o obj-$(CONFIG_DRM_OMAP_ENCODER_TPD12S015) += encoder-tpd12s015.o obj-$(CONFIG_DRM_OMAP_CONNECTOR_HDMI) += connector-hdmi.o obj-$(CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV) += connector-analog-tv.o obj-$(CONFIG_DRM_OMAP_PANEL_DSI_CM) += panel-dsi-cm.o gpu/drm/omapdrm/dss/Kconfig 0000644 00000006700 14722053665 0011671 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config OMAP2_DSS_INIT bool config OMAP_DSS_BASE tristate menuconfig OMAP2_DSS tristate "OMAP2+ Display Subsystem support" select OMAP_DSS_BASE select VIDEOMODE_HELPERS select OMAP2_DSS_INIT select HDMI help OMAP2+ Display Subsystem support. if OMAP2_DSS config OMAP2_DSS_DEBUG bool "Debug support" default n help This enables printing of debug messages. Alternatively, debug messages can also be enabled by setting CONFIG_DYNAMIC_DEBUG and then setting appropriate flags in <debugfs>/dynamic_debug/control. config OMAP2_DSS_DEBUGFS bool "Debugfs filesystem support" depends on DEBUG_FS default n help This enables debugfs for OMAPDSS at <debugfs>/omapdss. This enables querying about clock configuration and register configuration of dss, dispc, dsi, hdmi and rfbi. config OMAP2_DSS_COLLECT_IRQ_STATS bool "Collect DSS IRQ statistics" depends on OMAP2_DSS_DEBUGFS default n help Collect DSS IRQ statistics, printable via debugfs. The statistics can be found from <debugfs>/omapdss/dispc_irq for DISPC interrupts, and <debugfs>/omapdss/dsi_irq for DSI interrupts. config OMAP2_DSS_DPI bool "DPI support" default y help DPI Interface. This is the Parallel Display Interface. config OMAP2_DSS_VENC bool "VENC support" default y help OMAP Video Encoder support for S-Video and composite TV-out. config OMAP2_DSS_HDMI_COMMON bool config OMAP4_DSS_HDMI bool "HDMI support for OMAP4" default y select OMAP2_DSS_HDMI_COMMON help HDMI support for OMAP4 based SoCs. config OMAP4_DSS_HDMI_CEC bool "Enable HDMI CEC support for OMAP4" depends on OMAP4_DSS_HDMI select CEC_CORE default y ---help--- When selected the HDMI transmitter will support the CEC feature. config OMAP5_DSS_HDMI bool "HDMI support for OMAP5" default n select OMAP2_DSS_HDMI_COMMON help HDMI Interface for OMAP5 and similar cores. This adds the High Definition Multimedia Interface. See http://www.hdmi.org/ for HDMI specification. config OMAP2_DSS_SDI bool "SDI support" default n help SDI (Serial Display Interface) support. SDI is a high speed one-way display serial bus between the host processor and a display. config OMAP2_DSS_DSI bool "DSI support" default n help MIPI DSI (Display Serial Interface) support. DSI is a high speed half-duplex serial interface between the host processor and a peripheral, such as a display or a framebuffer chip. See http://www.mipi.org/ for DSI specifications. config OMAP2_DSS_MIN_FCK_PER_PCK int "Minimum FCK/PCK ratio (for scaling)" range 0 32 default 0 help This can be used to adjust the minimum FCK/PCK ratio. With this you can make sure that DISPC FCK is at least n x PCK. Video plane scaling requires higher FCK than normally. If this is set to 0, there's no extra constraint on the DISPC FCK. However, the FCK will at minimum be 2xPCK (if active matrix) or 3xPCK (if passive matrix). Max FCK is 173MHz, so this doesn't work if your PCK is very high. config OMAP2_DSS_SLEEP_AFTER_VENC_RESET bool "Sleep 20ms after VENC reset" default y help There is a 20ms sleep after VENC reset which seemed to fix the reset. The reason for the bug is unclear, and it's also unclear on what platforms this happens. This option enables the sleep, and is enabled by default. You can disable the sleep if it doesn't cause problems on your platform. endif gpu/drm/omapdrm/dss/Makefile 0000644 00000001414 14722053665 0012023 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_OMAP2_DSS_INIT) += omapdss-boot-init.o obj-$(CONFIG_OMAP_DSS_BASE) += omapdss-base.o omapdss-base-y := base.o display.o dss-of.o output.o obj-$(CONFIG_OMAP2_DSS) += omapdss.o # Core DSS files omapdss-y := core.o dss.o dispc.o dispc_coefs.o \ pll.o video-pll.o omapdss-$(CONFIG_OMAP2_DSS_DPI) += dpi.o omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o omapdss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o omapdss-$(CONFIG_OMAP2_DSS_HDMI_COMMON) += hdmi_common.o hdmi_wp.o hdmi_pll.o \ hdmi_phy.o omapdss-$(CONFIG_OMAP4_DSS_HDMI) += hdmi4.o hdmi4_core.o omapdss-$(CONFIG_OMAP4_DSS_HDMI_CEC) += hdmi4_cec.o omapdss-$(CONFIG_OMAP5_DSS_HDMI) += hdmi5.o hdmi5_core.o ccflags-$(CONFIG_OMAP2_DSS_DEBUG) += -DDEBUG gpu/drm/omapdrm/Makefile 0000644 00000000751 14722053665 0011235 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) # obj-y += dss/ obj-y += displays/ omapdrm-y := omap_drv.o \ omap_irq.o \ omap_debugfs.o \ omap_crtc.o \ omap_plane.o \ omap_encoder.o \ omap_connector.o \ omap_fb.o \ omap_gem.o \ omap_gem_dmabuf.o \ omap_dmm_tiler.o \ tcm-sita.o omapdrm-$(CONFIG_DRM_FBDEV_EMULATION) += omap_fbdev.o obj-$(CONFIG_DRM_OMAP) += omapdrm.o gpu/drm/vc4/Kconfig 0000644 00000001572 14722053665 0010137 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_VC4 tristate "Broadcom VC4 Graphics" depends on ARCH_BCM || ARCH_BCM2835 || COMPILE_TEST depends on DRM depends on SND && SND_SOC depends on COMMON_CLK select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select DRM_PANEL_BRIDGE select SND_PCM select SND_PCM_ELD select SND_SOC_GENERIC_DMAENGINE_PCM select DRM_MIPI_DSI help Choose this option if you have a system that has a Broadcom VC4 GPU, such as the Raspberry Pi or other BCM2708/BCM2835. This driver requires that "avoid_warnings=2" be present in the config.txt for the firmware, to keep it from smashing our display setup. config DRM_VC4_HDMI_CEC bool "Broadcom VC4 HDMI CEC Support" depends on DRM_VC4 select CEC_CORE help Choose this option if you have a Broadcom VC4 GPU and want to use CEC. gpu/drm/vc4/Makefile 0000644 00000000740 14722053665 0010270 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Please keep these build lists sorted! # core driver code vc4-y := \ vc4_bo.o \ vc4_crtc.o \ vc4_drv.o \ vc4_dpi.o \ vc4_dsi.o \ vc4_fence.o \ vc4_kms.o \ vc4_gem.o \ vc4_hdmi.o \ vc4_vec.o \ vc4_hvs.o \ vc4_irq.o \ vc4_perfmon.o \ vc4_plane.o \ vc4_render_cl.o \ vc4_trace_points.o \ vc4_txp.o \ vc4_v3d.o \ vc4_validate.o \ vc4_validate_shaders.o vc4-$(CONFIG_DEBUG_FS) += vc4_debugfs.o obj-$(CONFIG_DRM_VC4) += vc4.o gpu/drm/bochs/Kconfig 0000644 00000000451 14722053665 0010534 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_BOCHS tristate "DRM Support for bochs dispi vga interface (qemu stdvga)" depends on DRM && PCI && MMU select DRM_KMS_HELPER select DRM_VRAM_HELPER help Choose this option for qemu. If M is selected the module will be called bochs-drm. gpu/drm/bochs/Makefile 0000644 00000000215 14722053665 0010667 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only bochs-drm-y := bochs_drv.o bochs_mm.o bochs_kms.o bochs_hw.o obj-$(CONFIG_DRM_BOCHS) += bochs-drm.o gpu/drm/ast/Kconfig 0000644 00000000625 14722053665 0010230 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_AST tristate "AST server chips" depends on DRM && PCI && MMU select DRM_KMS_HELPER select DRM_VRAM_HELPER help Say yes for experimental AST GPU driver. Do not enable this driver without having a working -modesetting, and a version of AST that knows to fail if KMS is bound to the driver. These GPUs are commonly found in server chipsets. gpu/drm/ast/Makefile 0000644 00000000446 14722053665 0010366 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. ast-y := ast_drv.o ast_main.o ast_mode.o ast_ttm.o ast_post.o ast_dp501.o obj-$(CONFIG_DRM_AST) := ast.o gpu/drm/radeon/Kconfig 0000644 00000000406 14722053665 0010706 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_RADEON_USERPTR bool "Always enable userptr support" depends on DRM_RADEON select MMU_NOTIFIER help This option selects CONFIG_MMU_NOTIFIER if it isn't already selected to enabled full userptr support. gpu/drm/radeon/Makefile 0000644 00000007110 14722053665 0011042 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. ccflags-y := -Idrivers/gpu/drm/amd/include hostprogs-y := mkregtable clean-files := rn50_reg_safe.h r100_reg_safe.h r200_reg_safe.h rv515_reg_safe.h r300_reg_safe.h r420_reg_safe.h rs600_reg_safe.h r600_reg_safe.h evergreen_reg_safe.h cayman_reg_safe.h quiet_cmd_mkregtable = MKREGTABLE $@ cmd_mkregtable = $(obj)/mkregtable $< > $@ $(obj)/rn50_reg_safe.h: $(src)/reg_srcs/rn50 $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/r100_reg_safe.h: $(src)/reg_srcs/r100 $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/r200_reg_safe.h: $(src)/reg_srcs/r200 $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/rv515_reg_safe.h: $(src)/reg_srcs/rv515 $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/r300_reg_safe.h: $(src)/reg_srcs/r300 $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/r420_reg_safe.h: $(src)/reg_srcs/r420 $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/rs600_reg_safe.h: $(src)/reg_srcs/rs600 $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/r600_reg_safe.h: $(src)/reg_srcs/r600 $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/evergreen_reg_safe.h: $(src)/reg_srcs/evergreen $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/cayman_reg_safe.h: $(src)/reg_srcs/cayman $(obj)/mkregtable $(call if_changed,mkregtable) $(obj)/r100.o: $(obj)/r100_reg_safe.h $(obj)/rn50_reg_safe.h $(obj)/r200.o: $(obj)/r200_reg_safe.h $(obj)/rv515.o: $(obj)/rv515_reg_safe.h $(obj)/r300.o: $(obj)/r300_reg_safe.h $(obj)/r420.o: $(obj)/r420_reg_safe.h $(obj)/rs600.o: $(obj)/rs600_reg_safe.h $(obj)/r600_cs.o: $(obj)/r600_reg_safe.h $(obj)/evergreen_cs.o: $(obj)/evergreen_reg_safe.h $(obj)/cayman_reg_safe.h radeon-y := radeon_drv.o # add KMS driver radeon-y += radeon_device.o radeon_asic.o radeon_kms.o \ radeon_atombios.o radeon_agp.o atombios_crtc.o radeon_combios.o \ atom.o radeon_fence.o radeon_ttm.o radeon_object.o radeon_gart.o \ radeon_legacy_crtc.o radeon_legacy_encoders.o radeon_connectors.o \ radeon_encoders.o radeon_display.o radeon_cursor.o radeon_i2c.o \ radeon_clocks.o radeon_fb.o radeon_gem.o radeon_ring.o radeon_irq_kms.o \ radeon_cs.o radeon_bios.o radeon_benchmark.o r100.o r300.o r420.o \ rs400.o rs600.o rs690.o rv515.o r520.o r600.o rv770.o radeon_test.o \ r200.o radeon_legacy_tv.o r600_cs.o r600_blit_shaders.o \ radeon_pm.o atombios_dp.o r600_hdmi.o dce3_1_afmt.o \ evergreen.o evergreen_cs.o evergreen_blit_shaders.o \ evergreen_hdmi.o radeon_trace_points.o ni.o cayman_blit_shaders.o \ atombios_encoders.o radeon_semaphore.o radeon_sa.o atombios_i2c.o si.o \ si_blit_shaders.o radeon_prime.o cik.o cik_blit_shaders.o \ r600_dpm.o rs780_dpm.o rv6xx_dpm.o rv770_dpm.o rv730_dpm.o rv740_dpm.o \ rv770_smc.o cypress_dpm.o btc_dpm.o sumo_dpm.o sumo_smc.o trinity_dpm.o \ trinity_smc.o ni_dpm.o si_smc.o si_dpm.o kv_smc.o kv_dpm.o ci_smc.o \ ci_dpm.o dce6_afmt.o radeon_vm.o radeon_ucode.o radeon_ib.o \ radeon_sync.o radeon_audio.o radeon_dp_auxch.o radeon_dp_mst.o radeon-$(CONFIG_MMU_NOTIFIER) += radeon_mn.o # add async DMA block radeon-y += \ r600_dma.o \ rv770_dma.o \ evergreen_dma.o \ ni_dma.o \ si_dma.o \ cik_sdma.o \ # add UVD block radeon-y += \ radeon_uvd.o \ uvd_v1_0.o \ uvd_v2_2.o \ uvd_v3_1.o \ uvd_v4_2.o # add VCE block radeon-y += \ radeon_vce.o \ vce_v1_0.o \ vce_v2_0.o radeon-$(CONFIG_VGA_SWITCHEROO) += radeon_atpx_handler.o radeon-$(CONFIG_ACPI) += radeon_acpi.o obj-$(CONFIG_DRM_RADEON)+= radeon.o gpu/drm/tegra/Kconfig 0000644 00000001446 14722053665 0010545 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_TEGRA tristate "NVIDIA Tegra DRM" depends on ARCH_TEGRA || (ARM && COMPILE_TEST) depends on COMMON_CLK depends on DRM depends on OF select DRM_KMS_HELPER select DRM_MIPI_DSI select DRM_PANEL select TEGRA_HOST1X select IOMMU_IOVA if IOMMU_SUPPORT select CEC_CORE if CEC_NOTIFIER help Choose this option if you have an NVIDIA Tegra SoC. To compile this driver as a module, choose M here: the module will be called tegra-drm. if DRM_TEGRA config DRM_TEGRA_DEBUG bool "NVIDIA Tegra DRM debug support" help Say yes here to enable debugging support. config DRM_TEGRA_STAGING bool "Enable HOST1X interface" depends on STAGING help Say yes if HOST1X should be available for userspace DRM users. If unsure, choose N. endif gpu/drm/tegra/Makefile 0000644 00000000522 14722053665 0010674 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_DRM_TEGRA_DEBUG) += -DDEBUG tegra-drm-y := \ drm.o \ gem.o \ fb.o \ hub.o \ plane.o \ dc.o \ output.o \ rgb.o \ hda.o \ hdmi.o \ mipi-phy.o \ dsi.o \ sor.o \ dpaux.o \ gr2d.o \ gr3d.o \ falcon.o \ vic.o tegra-drm-y += trace.o obj-$(CONFIG_DRM_TEGRA) += tegra-drm.o gpu/drm/cirrus/Kconfig 0000644 00000001365 14722053665 0010752 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_CIRRUS_QEMU tristate "Cirrus driver for QEMU emulated device" depends on DRM && PCI && MMU select DRM_KMS_HELPER select DRM_GEM_SHMEM_HELPER help This is a KMS driver for emulated cirrus device in qemu. It is *NOT* intended for real cirrus devices. This requires the modesetting userspace X.org driver. Cirrus is obsolete, the hardware was designed in the 90ies and can't keep up with todays needs. More background: https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/ Better alternatives are: - stdvga (DRM_BOCHS, qemu -vga std, default in qemu 2.2+) - qxl (DRM_QXL, qemu -vga qxl, works best with spice) - virtio (DRM_VIRTIO_GPU), qemu -vga virtio) gpu/drm/cirrus/Makefile 0000644 00000000122 14722053665 0011075 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus.o gpu/drm/r128/Makefile 0000644 00000000501 14722053665 0010263 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. r128-y := r128_drv.o r128_cce.o r128_state.o r128_irq.o r128-$(CONFIG_COMPAT) += r128_ioc32.o obj-$(CONFIG_DRM_R128) += r128.o gpu/drm/vgem/Makefile 0000644 00000000154 14722053665 0010531 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only vgem-y := vgem_drv.o vgem_fence.o obj-$(CONFIG_DRM_VGEM) += vgem.o gpu/drm/mcde/Kconfig 0000644 00000001036 14722053665 0010346 0 ustar 00 config DRM_MCDE tristate "DRM Support for ST-Ericsson MCDE (Multichannel Display Engine)" depends on DRM depends on CMA depends on ARM || COMPILE_TEST depends on OF select MFD_SYSCON select DRM_MIPI_DSI select DRM_BRIDGE select DRM_PANEL_BRIDGE select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE help Choose this option for DRM support for the ST-Ericsson MCDE Multi-Channel Display Engine. If M is selected the module will be called mcde_drm. gpu/drm/mcde/Makefile 0000644 00000000131 14722053665 0010476 0 ustar 00 mcde_drm-y += mcde_drv.o mcde_dsi.o mcde_display.o obj-$(CONFIG_DRM_MCDE) += mcde_drm.o gpu/drm/bridge/Kconfig 0000644 00000007623 14722053665 0010702 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_BRIDGE def_bool y depends on DRM help Bridge registration and lookup framework. config DRM_PANEL_BRIDGE def_bool y depends on DRM_BRIDGE depends on DRM_KMS_HELPER select DRM_PANEL help DRM bridge wrapper of DRM panels menu "Display Interface Bridges" depends on DRM && DRM_BRIDGE config DRM_ANALOGIX_ANX78XX tristate "Analogix ANX78XX bridge" select DRM_KMS_HELPER select REGMAP_I2C ---help--- ANX78XX is an ultra-low power Full-HD SlimPort transmitter designed for portable devices. The ANX78XX transforms the HDMI output of an application processor to MyDP or DisplayPort. config DRM_CDNS_DSI tristate "Cadence DPI/DSI bridge" select DRM_KMS_HELPER select DRM_MIPI_DSI select DRM_PANEL_BRIDGE select GENERIC_PHY_MIPI_DPHY depends on OF help Support Cadence DPI to DSI bridge. This is an internal bridge and is meant to be directly embedded in a SoC. config DRM_DUMB_VGA_DAC tristate "Dumb VGA DAC Bridge support" depends on OF select DRM_KMS_HELPER help Support for non-programmable RGB to VGA DAC bridges, such as ADI ADV7123, TI THS8134 and THS8135 or passive resistor ladder DACs. config DRM_LVDS_ENCODER tristate "Transparent parallel to LVDS encoder support" depends on OF select DRM_KMS_HELPER select DRM_PANEL_BRIDGE help Support for transparent parallel to LVDS encoders that don't require any configuration. config DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW tristate "MegaChips stdp4028-ge-b850v3-fw and stdp2690-ge-b850v3-fw" depends on OF select DRM_KMS_HELPER select DRM_PANEL ---help--- This is a driver for the display bridges of GE B850v3 that convert dual channel LVDS to DP++. This is used with the i.MX6 imx-ldb driver. You are likely to say N here. config DRM_NXP_PTN3460 tristate "NXP PTN3460 DP/LVDS bridge" depends on OF select DRM_KMS_HELPER select DRM_PANEL ---help--- NXP PTN3460 eDP-LVDS bridge chip driver. config DRM_PARADE_PS8622 tristate "Parade eDP/LVDS bridge" depends on OF select DRM_PANEL select DRM_KMS_HELPER select BACKLIGHT_CLASS_DEVICE ---help--- Parade eDP-LVDS bridge chip driver. config DRM_SIL_SII8620 tristate "Silicon Image SII8620 HDMI/MHL bridge" depends on OF select DRM_KMS_HELPER imply EXTCON select INPUT select RC_CORE help Silicon Image SII8620 HDMI/MHL bridge chip driver. config DRM_SII902X tristate "Silicon Image sii902x RGB/HDMI bridge" depends on OF select DRM_KMS_HELPER select REGMAP_I2C select I2C_MUX ---help--- Silicon Image sii902x bridge chip driver. config DRM_SII9234 tristate "Silicon Image SII9234 HDMI/MHL bridge" depends on OF ---help--- Say Y here if you want support for the MHL interface. It is an I2C driver, that detects connection of MHL bridge and starts encapsulation of HDMI signal. config DRM_THINE_THC63LVD1024 tristate "Thine THC63LVD1024 LVDS decoder bridge" depends on OF ---help--- Thine THC63LVD1024 LVDS/parallel converter driver. config DRM_TOSHIBA_TC358764 tristate "TC358764 DSI/LVDS bridge" depends on OF select DRM_MIPI_DSI select DRM_KMS_HELPER select DRM_PANEL help Toshiba TC358764 DSI/LVDS bridge driver. config DRM_TOSHIBA_TC358767 tristate "Toshiba TC358767 eDP bridge" depends on OF select DRM_KMS_HELPER select REGMAP_I2C select DRM_PANEL ---help--- Toshiba TC358767 eDP bridge chip driver. config DRM_TI_TFP410 tristate "TI TFP410 DVI/HDMI bridge" depends on OF select DRM_KMS_HELPER ---help--- Texas Instruments TFP410 DVI/HDMI Transmitter driver config DRM_TI_SN65DSI86 tristate "TI SN65DSI86 DSI to eDP bridge" depends on OF select DRM_KMS_HELPER select REGMAP_I2C select DRM_PANEL select DRM_MIPI_DSI help Texas Instruments SN65DSI86 DSI to eDP Bridge driver source "drivers/gpu/drm/bridge/analogix/Kconfig" source "drivers/gpu/drm/bridge/adv7511/Kconfig" source "drivers/gpu/drm/bridge/synopsys/Kconfig" endmenu gpu/drm/bridge/analogix/Kconfig 0000644 00000000131 14722053665 0012467 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_ANALOGIX_DP tristate depends on DRM gpu/drm/bridge/analogix/Makefile 0000644 00000000220 14722053665 0012623 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only analogix_dp-objs := analogix_dp_core.o analogix_dp_reg.o obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix_dp.o gpu/drm/bridge/adv7511/Kconfig 0000644 00000001505 14722053665 0011763 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_I2C_ADV7511 tristate "ADV7511 encoder" depends on OF select DRM_KMS_HELPER select REGMAP_I2C help Support for the Analog Device ADV7511(W) and ADV7513 HDMI encoders. config DRM_I2C_ADV7511_AUDIO bool "ADV7511 HDMI Audio driver" depends on DRM_I2C_ADV7511 && SND_SOC select SND_SOC_HDMI_CODEC help Support the ADV7511 HDMI Audio interface. This is used in conjunction with the AV7511 HDMI driver. config DRM_I2C_ADV7533 bool "ADV7533 encoder" depends on DRM_I2C_ADV7511 select DRM_MIPI_DSI default y help Support for the Analog Devices ADV7533 DSI to HDMI encoder. config DRM_I2C_ADV7511_CEC bool "ADV7511/33 HDMI CEC driver" depends on DRM_I2C_ADV7511 select CEC_CORE default y help When selected the HDMI transmitter will support the CEC feature. gpu/drm/bridge/adv7511/Makefile 0000644 00000000443 14722053665 0012120 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only adv7511_drm-y := adv7511_drv.o adv7511_drm-$(CONFIG_DRM_I2C_ADV7511_AUDIO) += adv7511_audio.o adv7511_drm-$(CONFIG_DRM_I2C_ADV7511_CEC) += adv7511_cec.o adv7511_drm-$(CONFIG_DRM_I2C_ADV7533) += adv7533.o obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511_drm.o gpu/drm/bridge/synopsys/Kconfig 0000644 00000002031 14722053665 0012575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_DW_HDMI tristate select DRM_KMS_HELPER select REGMAP_MMIO select CEC_CORE if CEC_NOTIFIER config DRM_DW_HDMI_AHB_AUDIO tristate "Synopsys Designware AHB Audio interface" depends on DRM_DW_HDMI && SND select SND_PCM select SND_PCM_ELD select SND_PCM_IEC958 help Support the AHB Audio interface which is part of the Synopsys Designware HDMI block. This is used in conjunction with the i.MX6 HDMI driver. config DRM_DW_HDMI_I2S_AUDIO tristate "Synopsys Designware I2S Audio interface" depends on SND_SOC depends on DRM_DW_HDMI select SND_SOC_HDMI_CODEC help Support the I2S Audio interface which is part of the Synopsys Designware HDMI block. config DRM_DW_HDMI_CEC tristate "Synopsis Designware CEC interface" depends on DRM_DW_HDMI select CEC_CORE select CEC_NOTIFIER help Support the CE interface which is part of the Synopsys Designware HDMI block. config DRM_DW_MIPI_DSI tristate select DRM_KMS_HELPER select DRM_MIPI_DSI select DRM_PANEL_BRIDGE gpu/drm/bridge/synopsys/Makefile 0000644 00000000444 14722053665 0012740 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DRM_DW_HDMI) += dw-hdmi.o obj-$(CONFIG_DRM_DW_HDMI_AHB_AUDIO) += dw-hdmi-ahb-audio.o obj-$(CONFIG_DRM_DW_HDMI_I2S_AUDIO) += dw-hdmi-i2s-audio.o obj-$(CONFIG_DRM_DW_HDMI_CEC) += dw-hdmi-cec.o obj-$(CONFIG_DRM_DW_MIPI_DSI) += dw-mipi-dsi.o gpu/drm/bridge/Makefile 0000644 00000001572 14722053665 0011034 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DRM_ANALOGIX_ANX78XX) += analogix-anx78xx.o obj-$(CONFIG_DRM_CDNS_DSI) += cdns-dsi.o obj-$(CONFIG_DRM_DUMB_VGA_DAC) += dumb-vga-dac.o obj-$(CONFIG_DRM_LVDS_ENCODER) += lvds-encoder.o obj-$(CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW) += megachips-stdpxxxx-ge-b850v3-fw.o obj-$(CONFIG_DRM_NXP_PTN3460) += nxp-ptn3460.o obj-$(CONFIG_DRM_PARADE_PS8622) += parade-ps8622.o obj-$(CONFIG_DRM_SIL_SII8620) += sil-sii8620.o obj-$(CONFIG_DRM_SII902X) += sii902x.o obj-$(CONFIG_DRM_SII9234) += sii9234.o obj-$(CONFIG_DRM_THINE_THC63LVD1024) += thc63lvd1024.o obj-$(CONFIG_DRM_TOSHIBA_TC358764) += tc358764.o obj-$(CONFIG_DRM_TOSHIBA_TC358767) += tc358767.o obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix/ obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511/ obj-$(CONFIG_DRM_TI_SN65DSI86) += ti-sn65dsi86.o obj-$(CONFIG_DRM_TI_TFP410) += ti-tfp410.o obj-y += synopsys/ gpu/drm/mxsfb/Kconfig 0000644 00000001011 14722053665 0010546 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_MXS bool help Choose this option to select drivers for MXS FB devices config DRM_MXSFB tristate "i.MX23/i.MX28/i.MX6SX MXSFB LCD controller" depends on DRM && OF depends on COMMON_CLK depends on ARCH_MXS || ARCH_MXC || COMPILE_TEST select DRM_MXS select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_PANEL help Choose this option if you have an i.MX23/i.MX28/i.MX6SX MXSFB LCD controller. If M is selected the module will be called mxsfb. gpu/drm/mxsfb/Makefile 0000644 00000000173 14722053665 0010713 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only mxsfb-y := mxsfb_drv.o mxsfb_crtc.o mxsfb_out.o obj-$(CONFIG_DRM_MXSFB) += mxsfb.o gpu/drm/meson/Kconfig 0000644 00000001025 14722053665 0010555 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_MESON tristate "DRM Support for Amlogic Meson Display Controller" depends on DRM && OF && (ARM || ARM64) depends on ARCH_MESON || COMPILE_TEST select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select VIDEOMODE_HELPERS select REGMAP_MMIO select MESON_CANVAS config DRM_MESON_DW_HDMI tristate "HDMI Synopsys Controller support for Amlogic Meson Display" depends on DRM_MESON default y if DRM_MESON select DRM_DW_HDMI imply DRM_DW_HDMI_I2S_AUDIO gpu/drm/meson/Makefile 0000644 00000000434 14722053665 0010715 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only meson-drm-y := meson_drv.o meson_plane.o meson_crtc.o meson_venc_cvbs.o meson-drm-y += meson_viu.o meson_vpp.o meson_venc.o meson_vclk.o meson_overlay.o obj-$(CONFIG_DRM_MESON) += meson-drm.o obj-$(CONFIG_DRM_MESON_DW_HDMI) += meson_dw_hdmi.o gpu/drm/qxl/Kconfig 0000644 00000000553 14722053665 0010245 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_QXL tristate "QXL virtual GPU" depends on DRM && PCI && MMU select DRM_KMS_HELPER select DRM_TTM select CRC32 help QXL virtual GPU for Spice virtualization desktop integration. Do not enable this driver unless your distro ships a corresponding X.org QXL driver that can handle kernel modesetting. gpu/drm/qxl/Makefile 0000644 00000000621 14722053665 0010376 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. qxl-y := qxl_drv.o qxl_kms.o qxl_display.o qxl_ttm.o qxl_object.o qxl_gem.o qxl_cmd.o qxl_image.o qxl_draw.o qxl_debugfs.o qxl_irq.o qxl_dumb.o qxl_ioctl.o qxl_release.o qxl_prime.o obj-$(CONFIG_DRM_QXL)+= qxl.o gpu/drm/amd/acp/Kconfig 0000644 00000001051 14722053665 0010737 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "ACP (Audio CoProcessor) Configuration" config DRM_AMD_ACP bool "Enable AMD Audio CoProcessor IP support" depends on DRM_AMDGPU select MFD_CORE select PM_GENERIC_DOMAINS if PM help Choose this option to enable ACP IP support for AMD SOCs. This adds the ACP (Audio CoProcessor) IP driver and wires it up into the amdgpu driver. The ACP block provides the DMA engine for the i2s-based ALSA driver. It is required for audio on APUs which utilize an i2s codec. endmenu gpu/drm/amd/acp/Makefile 0000644 00000002421 14722053665 0011076 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the ACP, which is a sub-component # of AMDSOC/AMDGPU drm driver. # It provides the HW control for ACP related functionalities. AMD_ACP_FILES := $(AMDACPPATH)/acp_hw.o gpu/drm/amd/amdgpu/Kconfig 0000644 00000002740 14722053665 0011457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_AMDGPU_SI bool "Enable amdgpu support for SI parts" depends on DRM_AMDGPU help Choose this option if you want to enable experimental support for SI asics. SI is already supported in radeon. Experimental support for SI in amdgpu will be disabled by default and is still provided by radeon. Use module options to override this: radeon.si_support=0 amdgpu.si_support=1 config DRM_AMDGPU_CIK bool "Enable amdgpu support for CIK parts" depends on DRM_AMDGPU help Choose this option if you want to enable support for CIK asics. CIK is already supported in radeon. Support for CIK in amdgpu will be disabled by default and is still provided by radeon. Use module options to override this: radeon.cik_support=0 amdgpu.cik_support=1 config DRM_AMDGPU_USERPTR bool "Always enable userptr write support" depends on DRM_AMDGPU depends on MMU select HMM_MIRROR select MMU_NOTIFIER help This option selects CONFIG_HMM and CONFIG_HMM_MIRROR if it isn't already selected to enabled full userptr support. config DRM_AMDGPU_GART_DEBUGFS bool "Allow GART access through debugfs" depends on DRM_AMDGPU depends on DEBUG_FS default n help Selecting this option creates a debugfs file to inspect the mapped pages. Uses more memory for housekeeping, enable only for debugging. source "drivers/gpu/drm/amd/acp/Kconfig" source "drivers/gpu/drm/amd/display/Kconfig" source "drivers/gpu/drm/amd/amdkfd/Kconfig" gpu/drm/amd/amdgpu/Makefile 0000644 00000012562 14722053665 0011617 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. FULL_AMD_PATH=$(srctree)/$(src)/.. DISPLAY_FOLDER_NAME=display FULL_AMD_DISPLAY_PATH = $(FULL_AMD_PATH)/$(DISPLAY_FOLDER_NAME) ccflags-y := -I$(FULL_AMD_PATH)/include/asic_reg \ -I$(FULL_AMD_PATH)/include \ -I$(FULL_AMD_PATH)/amdgpu \ -I$(FULL_AMD_PATH)/powerplay/inc \ -I$(FULL_AMD_PATH)/acp/include \ -I$(FULL_AMD_DISPLAY_PATH) \ -I$(FULL_AMD_DISPLAY_PATH)/include \ -I$(FULL_AMD_DISPLAY_PATH)/dc \ -I$(FULL_AMD_DISPLAY_PATH)/amdgpu_dm \ -I$(FULL_AMD_PATH)/amdkfd amdgpu-y := amdgpu_drv.o # add KMS driver amdgpu-y += amdgpu_device.o amdgpu_kms.o \ amdgpu_atombios.o atombios_crtc.o amdgpu_connectors.o \ atom.o amdgpu_fence.o amdgpu_ttm.o amdgpu_object.o amdgpu_gart.o \ amdgpu_encoders.o amdgpu_display.o amdgpu_i2c.o \ amdgpu_fb.o amdgpu_gem.o amdgpu_ring.o \ amdgpu_cs.o amdgpu_bios.o amdgpu_benchmark.o amdgpu_test.o \ amdgpu_pm.o atombios_dp.o amdgpu_afmt.o amdgpu_trace_points.o \ atombios_encoders.o amdgpu_sa.o atombios_i2c.o \ amdgpu_dma_buf.o amdgpu_vm.o amdgpu_ib.o amdgpu_pll.o \ amdgpu_ucode.o amdgpu_bo_list.o amdgpu_ctx.o amdgpu_sync.o \ amdgpu_gtt_mgr.o amdgpu_vram_mgr.o amdgpu_virt.o amdgpu_atomfirmware.o \ amdgpu_vf_error.o amdgpu_sched.o amdgpu_debugfs.o amdgpu_ids.o \ amdgpu_gmc.o amdgpu_xgmi.o amdgpu_csa.o amdgpu_ras.o amdgpu_vm_cpu.o \ amdgpu_vm_sdma.o amdgpu_discovery.o amdgpu_ras_eeprom.o smu_v11_0_i2c.o amdgpu-$(CONFIG_PERF_EVENTS) += amdgpu_pmu.o # add asic specific block amdgpu-$(CONFIG_DRM_AMDGPU_CIK)+= cik.o cik_ih.o kv_smc.o kv_dpm.o \ dce_v8_0.o gfx_v7_0.o cik_sdma.o uvd_v4_2.o vce_v2_0.o amdgpu-$(CONFIG_DRM_AMDGPU_SI)+= si.o gmc_v6_0.o gfx_v6_0.o si_ih.o si_dma.o dce_v6_0.o si_dpm.o si_smc.o amdgpu-y += \ vi.o mxgpu_vi.o nbio_v6_1.o soc15.o emu_soc.o mxgpu_ai.o nbio_v7_0.o vega10_reg_init.o \ vega20_reg_init.o nbio_v7_4.o nbio_v2_3.o nv.o navi10_reg_init.o navi14_reg_init.o \ arct_reg_init.o navi12_reg_init.o # add DF block amdgpu-y += \ df_v1_7.o \ df_v3_6.o # add GMC block amdgpu-y += \ gmc_v7_0.o \ gmc_v8_0.o \ gfxhub_v1_0.o mmhub_v1_0.o gmc_v9_0.o gfxhub_v1_1.o mmhub_v9_4.o \ gfxhub_v2_0.o mmhub_v2_0.o gmc_v10_0.o # add UMC block amdgpu-y += \ umc_v6_1.o # add IH block amdgpu-y += \ amdgpu_irq.o \ amdgpu_ih.o \ iceland_ih.o \ tonga_ih.o \ cz_ih.o \ vega10_ih.o \ navi10_ih.o # add PSP block amdgpu-y += \ amdgpu_psp.o \ psp_v3_1.o \ psp_v10_0.o \ psp_v11_0.o \ psp_v12_0.o # add SMC block amdgpu-y += \ amdgpu_dpm.o # add DCE block amdgpu-y += \ dce_v10_0.o \ dce_v11_0.o \ dce_virtual.o # add GFX block amdgpu-y += \ amdgpu_gfx.o \ amdgpu_rlc.o \ gfx_v8_0.o \ gfx_v9_0.o \ gfx_v10_0.o # add async DMA block amdgpu-y += \ amdgpu_sdma.o \ sdma_v2_4.o \ sdma_v3_0.o \ sdma_v4_0.o \ sdma_v5_0.o # add MES block amdgpu-y += \ mes_v10_1.o # add UVD block amdgpu-y += \ amdgpu_uvd.o \ uvd_v5_0.o \ uvd_v6_0.o \ uvd_v7_0.o # add VCE block amdgpu-y += \ amdgpu_vce.o \ vce_v3_0.o \ vce_v4_0.o # add VCN block amdgpu-y += \ amdgpu_vcn.o \ vcn_v1_0.o \ vcn_v2_0.o \ vcn_v2_5.o # add ATHUB block amdgpu-y += \ athub_v1_0.o \ athub_v2_0.o # add amdkfd interfaces amdgpu-y += amdgpu_amdkfd.o ifneq ($(CONFIG_HSA_AMD),) AMDKFD_PATH := ../amdkfd include $(FULL_AMD_PATH)/amdkfd/Makefile amdgpu-y += $(AMDKFD_FILES) amdgpu-y += \ amdgpu_amdkfd_fence.o \ amdgpu_amdkfd_gpuvm.o \ amdgpu_amdkfd_gfx_v8.o \ amdgpu_amdkfd_gfx_v9.o \ amdgpu_amdkfd_arcturus.o \ amdgpu_amdkfd_gfx_v10.o ifneq ($(CONFIG_DRM_AMDGPU_CIK),) amdgpu-y += amdgpu_amdkfd_gfx_v7.o endif endif # add cgs amdgpu-y += amdgpu_cgs.o # GPU scheduler amdgpu-y += amdgpu_job.o # ACP componet ifneq ($(CONFIG_DRM_AMD_ACP),) amdgpu-y += amdgpu_acp.o AMDACPPATH := ../acp include $(FULL_AMD_PATH)/acp/Makefile amdgpu-y += $(AMD_ACP_FILES) endif amdgpu-$(CONFIG_COMPAT) += amdgpu_ioc32.o amdgpu-$(CONFIG_VGA_SWITCHEROO) += amdgpu_atpx_handler.o amdgpu-$(CONFIG_ACPI) += amdgpu_acpi.o amdgpu-$(CONFIG_HMM_MIRROR) += amdgpu_mn.o include $(FULL_AMD_PATH)/powerplay/Makefile amdgpu-y += $(AMD_POWERPLAY_FILES) ifneq ($(CONFIG_DRM_AMD_DC),) RELATIVE_AMD_DISPLAY_PATH = ../$(DISPLAY_FOLDER_NAME) include $(FULL_AMD_DISPLAY_PATH)/Makefile amdgpu-y += $(AMD_DISPLAY_FILES) endif obj-$(CONFIG_DRM_AMDGPU)+= amdgpu.o gpu/drm/amd/amdkfd/Kconfig 0000644 00000000503 14722053665 0011423 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Heterogenous system architecture configuration # config HSA_AMD bool "HSA kernel driver for AMD GPU devices" depends on DRM_AMDGPU && (X86_64 || ARM64) imply AMD_IOMMU_V2 if X86_64 select MMU_NOTIFIER help Enable this if you want to use HSA features on AMD GPU devices. gpu/drm/amd/amdkfd/Makefile 0000644 00000005120 14722053665 0011560 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for Heterogenous System Architecture support for AMD GPU devices # AMDKFD_FILES := $(AMDKFD_PATH)/kfd_module.o \ $(AMDKFD_PATH)/kfd_device.o \ $(AMDKFD_PATH)/kfd_chardev.o \ $(AMDKFD_PATH)/kfd_topology.o \ $(AMDKFD_PATH)/kfd_pasid.o \ $(AMDKFD_PATH)/kfd_doorbell.o \ $(AMDKFD_PATH)/kfd_flat_memory.o \ $(AMDKFD_PATH)/kfd_process.o \ $(AMDKFD_PATH)/kfd_queue.o \ $(AMDKFD_PATH)/kfd_mqd_manager.o \ $(AMDKFD_PATH)/kfd_mqd_manager_cik.o \ $(AMDKFD_PATH)/kfd_mqd_manager_vi.o \ $(AMDKFD_PATH)/kfd_mqd_manager_v9.o \ $(AMDKFD_PATH)/kfd_mqd_manager_v10.o \ $(AMDKFD_PATH)/kfd_kernel_queue.o \ $(AMDKFD_PATH)/kfd_kernel_queue_cik.o \ $(AMDKFD_PATH)/kfd_kernel_queue_vi.o \ $(AMDKFD_PATH)/kfd_kernel_queue_v9.o \ $(AMDKFD_PATH)/kfd_kernel_queue_v10.o \ $(AMDKFD_PATH)/kfd_packet_manager.o \ $(AMDKFD_PATH)/kfd_process_queue_manager.o \ $(AMDKFD_PATH)/kfd_device_queue_manager.o \ $(AMDKFD_PATH)/kfd_device_queue_manager_cik.o \ $(AMDKFD_PATH)/kfd_device_queue_manager_vi.o \ $(AMDKFD_PATH)/kfd_device_queue_manager_v9.o \ $(AMDKFD_PATH)/kfd_device_queue_manager_v10.o \ $(AMDKFD_PATH)/kfd_interrupt.o \ $(AMDKFD_PATH)/kfd_events.o \ $(AMDKFD_PATH)/cik_event_interrupt.o \ $(AMDKFD_PATH)/kfd_int_process_v9.o \ $(AMDKFD_PATH)/kfd_dbgdev.o \ $(AMDKFD_PATH)/kfd_dbgmgr.o \ $(AMDKFD_PATH)/kfd_crat.o ifneq ($(CONFIG_AMD_IOMMU_V2),) AMDKFD_FILES += $(AMDKFD_PATH)/kfd_iommu.o endif ifneq ($(CONFIG_DEBUG_FS),) AMDKFD_FILES += $(AMDKFD_PATH)/kfd_debugfs.o endif gpu/drm/amd/display/Kconfig 0000644 00000002560 14722053665 0011647 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Display Engine Configuration" depends on DRM && DRM_AMDGPU config DRM_AMD_DC bool "AMD DC - Enable new display engine" default y select SND_HDA_COMPONENT if SND_HDA_CORE select DRM_AMD_DC_DCN1_0 if X86 && !(KCOV_INSTRUMENT_ALL && KCOV_ENABLE_COMPARISONS) help Choose this option if you want to use the new display engine support for AMDGPU. This adds required support for Vega and Raven ASICs. config DRM_AMD_DC_DCN1_0 def_bool n help RV family support for display engine config DRM_AMD_DC_DCN2_0 bool "DCN 2.0 family" default y depends on DRM_AMD_DC && X86 depends on DRM_AMD_DC_DCN1_0 help Choose this option if you want to have Navi support for display engine config DRM_AMD_DC_DCN2_1 bool "DCN 2.1 family" depends on DRM_AMD_DC && X86 depends on DRM_AMD_DC_DCN2_0 help Choose this option if you want to have Renoir support for display engine config DRM_AMD_DC_DSC_SUPPORT bool "DSC support" default y depends on DRM_AMD_DC && X86 depends on DRM_AMD_DC_DCN1_0 depends on DRM_AMD_DC_DCN2_0 help Choose this option if you want to have Dynamic Stream Compression support config DEBUG_KERNEL_DC bool "Enable kgdb break in DC" depends on DRM_AMD_DC help Choose this option if you want to hit kdgb_break in assert. endmenu gpu/drm/amd/display/dc/dcn21/Makefile 0000644 00000001231 14722053666 0013274 0 ustar 00 # # Makefile for DCN21. DCN21 = dcn21_hubp.o dcn21_hubbub.o dcn21_resource.o CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o := -mhard-float -msse ifdef CONFIG_CC_IS_GCC ifeq ($(call cc-ifversion, -lt, 0701, y), y) IS_OLD_GCC = 1 endif endif ifdef IS_OLD_GCC # Stack alignment mismatch, proceed with caution. # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3 # (8B stack alignment). CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o += -mpreferred-stack-boundary=4 else CFLAGS_$(AMDDALPATH)/dc/dcn21/dcn21_resource.o += -msse2 endif AMD_DAL_DCN21 = $(addprefix $(AMDDALPATH)/dc/dcn21/,$(DCN21)) AMD_DISPLAY_FILES += $(AMD_DAL_DCN21) gpu/drm/amd/display/dc/dce100/Makefile 0000644 00000003314 14722053666 0013345 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'controller' sub-component of DAL. # It provides the control and status of HW CRTC block. DCE100 = dce100_resource.o dce100_hw_sequencer.o AMD_DAL_DCE100 = $(addprefix $(AMDDALPATH)/dc/dce100/,$(DCE100)) AMD_DISPLAY_FILES += $(AMD_DAL_DCE100) ############################################################################### # DCE 10x ############################################################################### ifdef 0#CONFIG_DRM_AMD_DC_DCE11_0 TG_DCE100 = dce100_resource.o AMD_DAL_TG_DCE100 = $(addprefix \ $(AMDDALPATH)/dc/dce100/,$(TG_DCE100)) AMD_DISPLAY_FILES += $(AMD_DAL_TG_DCE100) endif gpu/drm/amd/display/dc/basics/Makefile 0000644 00000002603 14722053666 0013635 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'utils' sub-component of DAL. # It provides the general basic services required by other DAL # subcomponents. BASICS = conversion.o fixpt31_32.o \ log_helpers.o vector.o AMD_DAL_BASICS = $(addprefix $(AMDDALPATH)/dc/basics/,$(BASICS)) AMD_DISPLAY_FILES += $(AMD_DAL_BASICS) gpu/drm/amd/display/dc/dce112/Makefile 0000644 00000002571 14722053666 0013354 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'controller' sub-component of DAL. # It provides the control and status of HW CRTC block. DCE112 = dce112_compressor.o dce112_hw_sequencer.o \ dce112_resource.o AMD_DAL_DCE112 = $(addprefix $(AMDDALPATH)/dc/dce112/,$(DCE112)) AMD_DISPLAY_FILES += $(AMD_DAL_DCE112) gpu/drm/amd/display/dc/gpio/Makefile 0000644 00000007435 14722053666 0013337 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'gpio' sub-component of DAL. # It provides the control and status of HW GPIO pins. GPIO = gpio_base.o gpio_service.o hw_factory.o \ hw_gpio.o hw_hpd.o hw_ddc.o hw_generic.o hw_translate.o AMD_DAL_GPIO = $(addprefix $(AMDDALPATH)/dc/gpio/,$(GPIO)) AMD_DISPLAY_FILES += $(AMD_DAL_GPIO) ############################################################################### # DCE 8x ############################################################################### # all DCE8.x are derived from DCE8.0 GPIO_DCE80 = hw_translate_dce80.o hw_factory_dce80.o AMD_DAL_GPIO_DCE80 = $(addprefix $(AMDDALPATH)/dc/gpio/dce80/,$(GPIO_DCE80)) AMD_DISPLAY_FILES += $(AMD_DAL_GPIO_DCE80) ############################################################################### # DCE 11x ############################################################################### GPIO_DCE110 = hw_translate_dce110.o hw_factory_dce110.o AMD_DAL_GPIO_DCE110 = $(addprefix $(AMDDALPATH)/dc/gpio/dce110/,$(GPIO_DCE110)) AMD_DISPLAY_FILES += $(AMD_DAL_GPIO_DCE110) ############################################################################### # DCE 12x ############################################################################### GPIO_DCE120 = hw_translate_dce120.o hw_factory_dce120.o AMD_DAL_GPIO_DCE120 = $(addprefix $(AMDDALPATH)/dc/gpio/dce120/,$(GPIO_DCE120)) AMD_DISPLAY_FILES += $(AMD_DAL_GPIO_DCE120) ############################################################################### # DCN 1x ############################################################################### ifdef CONFIG_DRM_AMD_DC_DCN1_0 GPIO_DCN10 = hw_translate_dcn10.o hw_factory_dcn10.o AMD_DAL_GPIO_DCN10 = $(addprefix $(AMDDALPATH)/dc/gpio/dcn10/,$(GPIO_DCN10)) AMD_DISPLAY_FILES += $(AMD_DAL_GPIO_DCN10) endif ############################################################################### # DCN 2 ############################################################################### ifdef CONFIG_DRM_AMD_DC_DCN2_0 GPIO_DCN20 = hw_translate_dcn20.o hw_factory_dcn20.o AMD_DAL_GPIO_DCN20 = $(addprefix $(AMDDALPATH)/dc/gpio/dcn20/,$(GPIO_DCN20)) AMD_DISPLAY_FILES += $(AMD_DAL_GPIO_DCN20) endif ifdef CONFIG_DRM_AMD_DC_DCN2_1 GPIO_DCN21 = hw_translate_dcn21.o hw_factory_dcn21.o AMD_DAL_GPIO_DCN21 = $(addprefix $(AMDDALPATH)/dc/gpio/dcn21/,$(GPIO_DCN21)) AMD_DISPLAY_FILES += $(AMD_DAL_GPIO_DCN21) endif ############################################################################### # Diagnostics on FPGA ############################################################################### GPIO_DIAG_FPGA = hw_translate_diag.o hw_factory_diag.o AMD_DAL_GPIO_DIAG_FPGA = $(addprefix $(AMDDALPATH)/dc/gpio/diagnostics/,$(GPIO_DIAG_FPGA)) AMD_DISPLAY_FILES += $(AMD_DAL_GPIO_DIAG_FPGA) gpu/drm/amd/display/dc/dce/Makefile 0000644 00000003316 14722053666 0013126 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for common 'dce' logic # HW object file under this folder follow similar pattern for HW programming # - register offset and/or shift + mask stored in the dec_hw struct # - register programming through common macros that look up register # offset/shift/mask stored in dce_hw struct DCE = dce_audio.o dce_stream_encoder.o dce_link_encoder.o dce_hwseq.o \ dce_mem_input.o dce_clock_source.o dce_scl_filters.o dce_transform.o \ dce_opp.o dce_dmcu.o dce_abm.o dce_ipp.o dce_aux.o \ dce_i2c.o dce_i2c_hw.o dce_i2c_sw.o AMD_DAL_DCE = $(addprefix $(AMDDALPATH)/dc/dce/,$(DCE)) AMD_DISPLAY_FILES += $(AMD_DAL_DCE) gpu/drm/amd/display/dc/bios/Makefile 0000644 00000004346 14722053666 0013333 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'bios' sub-component of DAL. # It provides the parsing and executing controls for atom bios image. BIOS = bios_parser.o bios_parser_interface.o bios_parser_helper.o command_table.o command_table_helper.o bios_parser_common.o BIOS += command_table2.o command_table_helper2.o bios_parser2.o AMD_DAL_BIOS = $(addprefix $(AMDDALPATH)/dc/bios/,$(BIOS)) AMD_DISPLAY_FILES += $(AMD_DAL_BIOS) ############################################################################### # DCE 8x ############################################################################### # All DCE8.x are derived from DCE8.0, so 8.0 MUST be defined if ANY of # DCE8.x is compiled. AMD_DISPLAY_FILES += $(AMDDALPATH)/dc/bios/dce80/command_table_helper_dce80.o ############################################################################### # DCE 11x ############################################################################### AMD_DISPLAY_FILES += $(AMDDALPATH)/dc/bios/dce110/command_table_helper_dce110.o AMD_DISPLAY_FILES += $(AMDDALPATH)/dc/bios/dce112/command_table_helper_dce112.o AMD_DISPLAY_FILES += $(AMDDALPATH)/dc/bios/dce112/command_table_helper2_dce112.o gpu/drm/amd/display/dc/virtual/Makefile 0000644 00000002553 14722053666 0014063 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the virtual sub-component of DAL. # It provides the control and status of HW CRTC block. VIRTUAL = virtual_link_encoder.o virtual_stream_encoder.o AMD_DAL_VIRTUAL = $(addprefix $(AMDDALPATH)/dc/virtual/,$(VIRTUAL)) AMD_DISPLAY_FILES += $(AMD_DAL_VIRTUAL) gpu/drm/amd/display/dc/clk_mgr/Makefile 0000644 00000010117 14722053666 0014006 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'clk_mgr' sub-component of DAL. # It provides the control and status of HW CLK_MGR pins. CLK_MGR = clk_mgr.o AMD_DAL_CLK_MGR = $(addprefix $(AMDDALPATH)/dc/clk_mgr/,$(CLK_MGR)) AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR) ############################################################################### # DCE 100 and DCE8x ############################################################################### CLK_MGR_DCE100 = dce_clk_mgr.o AMD_DAL_CLK_MGR_DCE100 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dce100/,$(CLK_MGR_DCE100)) AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCE100) ############################################################################### # DCE 100 and DCE8x ############################################################################### CLK_MGR_DCE110 = dce110_clk_mgr.o AMD_DAL_CLK_MGR_DCE110 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dce110/,$(CLK_MGR_DCE110)) AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCE110) ############################################################################### # DCE 112 ############################################################################### CLK_MGR_DCE112 = dce112_clk_mgr.o AMD_DAL_CLK_MGR_DCE112 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dce112/,$(CLK_MGR_DCE112)) AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCE112) ############################################################################### # DCE 120 ############################################################################### CLK_MGR_DCE120 = dce120_clk_mgr.o AMD_DAL_CLK_MGR_DCE120 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dce120/,$(CLK_MGR_DCE120)) AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCE120) ifdef CONFIG_DRM_AMD_DC_DCN1_0 ############################################################################### # DCN10 ############################################################################### CLK_MGR_DCN10 = rv1_clk_mgr.o rv1_clk_mgr_vbios_smu.o rv2_clk_mgr.o AMD_DAL_CLK_MGR_DCN10 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn10/,$(CLK_MGR_DCN10)) AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN10) endif ifdef CONFIG_DRM_AMD_DC_DCN2_0 ############################################################################### # DCN20 ############################################################################### CLK_MGR_DCN20 = dcn20_clk_mgr.o AMD_DAL_CLK_MGR_DCN20 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn20/,$(CLK_MGR_DCN20)) AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN20) endif ifdef CONFIG_DRM_AMD_DC_DCN2_1 ############################################################################### # DCN21 ############################################################################### CLK_MGR_DCN21 = rn_clk_mgr.o rn_clk_mgr_vbios_smu.o # prevent build errors regarding soft-float vs hard-float FP ABI tags # this code is currently unused on ppc64, as it applies to Renoir APUs only ifdef CONFIG_PPC64 CFLAGS_$(AMDDALPATH)/dc/clk_mgr/dcn21/rn_clk_mgr.o := $(call cc-option,-mno-gnu-attribute) endif AMD_DAL_CLK_MGR_DCN21 = $(addprefix $(AMDDALPATH)/dc/clk_mgr/dcn21/,$(CLK_MGR_DCN21)) AMD_DISPLAY_FILES += $(AMD_DAL_CLK_MGR_DCN21) endif gpu/drm/amd/display/dc/dcn10/Makefile 0000644 00000002745 14722053666 0013305 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for DCN. DCN10 = dcn10_resource.o dcn10_ipp.o dcn10_hw_sequencer.o dcn10_hw_sequencer_debug.o \ dcn10_dpp.o dcn10_opp.o dcn10_optc.o \ dcn10_hubp.o dcn10_mpc.o \ dcn10_dpp_dscl.o dcn10_dpp_cm.o dcn10_cm_common.o \ dcn10_hubbub.o dcn10_stream_encoder.o dcn10_link_encoder.o AMD_DAL_DCN10 = $(addprefix $(AMDDALPATH)/dc/dcn10/,$(DCN10)) AMD_DISPLAY_FILES += $(AMD_DAL_DCN10) gpu/drm/amd/display/dc/dce120/Makefile 0000644 00000002600 14722053666 0013344 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'controller' sub-component of DAL. # It provides the control and status of HW CRTC block. DCE120 = dce120_resource.o dce120_timing_generator.o \ dce120_hw_sequencer.o AMD_DAL_DCE120 = $(addprefix $(AMDDALPATH)/dc/dce120/,$(DCE120)) AMD_DISPLAY_FILES += $(AMD_DAL_DCE120) gpu/drm/amd/display/dc/dml/Makefile 0000644 00000005650 14722053666 0013152 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'utils' sub-component of DAL. # It provides the general basic services required by other DAL # subcomponents. dml_ccflags := -mhard-float -msse ifdef CONFIG_CC_IS_GCC ifeq ($(call cc-ifversion, -lt, 0701, y), y) IS_OLD_GCC = 1 endif endif ifdef IS_OLD_GCC # Stack alignment mismatch, proceed with caution. # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3 # (8B stack alignment). dml_ccflags += -mpreferred-stack-boundary=4 else dml_ccflags += -msse2 endif CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_lib.o := $(dml_ccflags) ifdef CONFIG_DRM_AMD_DC_DCN2_0 CFLAGS_$(AMDDALPATH)/dc/dml/display_mode_vba.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_mode_vba_20v2.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/dcn20/display_rq_dlg_calc_20v2.o := $(dml_ccflags) endif ifdef CONFIG_DRM_AMD_DC_DCN2_1 CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_mode_vba_21.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/dcn21/display_rq_dlg_calc_21.o := $(dml_ccflags) endif CFLAGS_$(AMDDALPATH)/dc/dml/dml1_display_rq_dlg_calc.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/display_rq_dlg_helpers.o := $(dml_ccflags) CFLAGS_$(AMDDALPATH)/dc/dml/dml_common_defs.o := $(dml_ccflags) DML = display_mode_lib.o display_rq_dlg_helpers.o dml1_display_rq_dlg_calc.o \ dml_common_defs.o ifdef CONFIG_DRM_AMD_DC_DCN2_0 DML += display_mode_vba.o dcn20/display_rq_dlg_calc_20.o dcn20/display_mode_vba_20.o DML += dcn20/display_rq_dlg_calc_20v2.o dcn20/display_mode_vba_20v2.o endif ifdef CONFIG_DRM_AMD_DC_DCN2_1 DML += dcn21/display_rq_dlg_calc_21.o dcn21/display_mode_vba_21.o endif AMD_DAL_DML = $(addprefix $(AMDDALPATH)/dc/dml/,$(DML)) AMD_DISPLAY_FILES += $(AMD_DAL_DML) gpu/drm/amd/display/dc/calcs/Makefile 0000644 00000004056 14722053666 0013462 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'calcs' sub-component of DAL. # It calculates Bandwidth and Watermarks values for HW programming # calcs_ccflags := -mhard-float -msse ifdef CONFIG_CC_IS_GCC ifeq ($(call cc-ifversion, -lt, 0701, y), y) IS_OLD_GCC = 1 endif endif ifdef IS_OLD_GCC # Stack alignment mismatch, proceed with caution. # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3 # (8B stack alignment). calcs_ccflags += -mpreferred-stack-boundary=4 else calcs_ccflags += -msse2 endif CFLAGS_$(AMDDALPATH)/dc/calcs/dcn_calcs.o := $(calcs_ccflags) CFLAGS_$(AMDDALPATH)/dc/calcs/dcn_calc_auto.o := $(calcs_ccflags) CFLAGS_$(AMDDALPATH)/dc/calcs/dcn_calc_math.o := $(calcs_ccflags) -Wno-tautological-compare BW_CALCS = dce_calcs.o bw_fixed.o custom_float.o ifdef CONFIG_DRM_AMD_DC_DCN1_0 BW_CALCS += dcn_calcs.o dcn_calc_math.o dcn_calc_auto.o endif AMD_DAL_BW_CALCS = $(addprefix $(AMDDALPATH)/dc/calcs/,$(BW_CALCS)) AMD_DISPLAY_FILES += $(AMD_DAL_BW_CALCS) gpu/drm/amd/display/dc/irq/Makefile 0000644 00000006541 14722053666 0013171 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'audio' sub-component of DAL. # It provides the control and status of HW adapter resources, # that are global for the ASIC and sharable between pipes. IRQ = irq_service.o AMD_DAL_IRQ = $(addprefix $(AMDDALPATH)/dc/irq/,$(IRQ)) AMD_DISPLAY_FILES += $(AMD_DAL_IRQ) ############################################################################### # DCE 8x ############################################################################### IRQ_DCE80 = irq_service_dce80.o AMD_DAL_IRQ_DCE80 = $(addprefix $(AMDDALPATH)/dc/irq/dce80/,$(IRQ_DCE80)) AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCE80) ############################################################################### # DCE 11x ############################################################################### IRQ_DCE11 = irq_service_dce110.o AMD_DAL_IRQ_DCE11 = $(addprefix $(AMDDALPATH)/dc/irq/dce110/,$(IRQ_DCE11)) AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCE11) ############################################################################### # DCE 12x ############################################################################### IRQ_DCE12 = irq_service_dce120.o AMD_DAL_IRQ_DCE12 = $(addprefix $(AMDDALPATH)/dc/irq/dce120/,$(IRQ_DCE12)) AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCE12) ############################################################################### # DCN 1x ############################################################################### ifdef CONFIG_DRM_AMD_DC_DCN1_0 IRQ_DCN1 = irq_service_dcn10.o AMD_DAL_IRQ_DCN1 = $(addprefix $(AMDDALPATH)/dc/irq/dcn10/,$(IRQ_DCN1)) AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCN1) endif ############################################################################### # DCN 20 ############################################################################### ifdef CONFIG_DRM_AMD_DC_DCN2_0 IRQ_DCN2 = irq_service_dcn20.o AMD_DAL_IRQ_DCN2 = $(addprefix $(AMDDALPATH)/dc/irq/dcn20/,$(IRQ_DCN2)) AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCN2) endif ############################################################################### # DCN 21 ############################################################################### ifdef CONFIG_DRM_AMD_DC_DCN2_1 IRQ_DCN21 = irq_service_dcn21.o AMD_DAL_IRQ_DCN21= $(addprefix $(AMDDALPATH)/dc/irq/dcn21/,$(IRQ_DCN21)) AMD_DISPLAY_FILES += $(AMD_DAL_IRQ_DCN21) endif gpu/drm/amd/display/dc/dce110/Makefile 0000644 00000003026 14722053666 0013346 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'controller' sub-component of DAL. # It provides the control and status of HW CRTC block. DCE110 = dce110_timing_generator.o \ dce110_compressor.o dce110_hw_sequencer.o dce110_resource.o \ dce110_opp_regamma_v.o dce110_opp_csc_v.o dce110_timing_generator_v.o \ dce110_mem_input_v.o dce110_opp_v.o dce110_transform_v.o AMD_DAL_DCE110 = $(addprefix $(AMDDALPATH)/dc/dce110/,$(DCE110)) AMD_DISPLAY_FILES += $(AMD_DAL_DCE110) gpu/drm/amd/display/dc/dce80/Makefile 0000644 00000002573 14722053666 0013302 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'controller' sub-component of DAL. # It provides the control and status of HW CRTC block. DCE80 = dce80_timing_generator.o dce80_hw_sequencer.o \ dce80_resource.o AMD_DAL_DCE80 = $(addprefix $(AMDDALPATH)/dc/dce80/,$(DCE80)) AMD_DISPLAY_FILES += $(AMD_DAL_DCE80) gpu/drm/amd/display/dc/Makefile 0000644 00000004047 14722053666 0012375 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for Display Core (dc) component. # DC_LIBS = basics bios calcs clk_mgr dce gpio irq virtual ifdef CONFIG_DRM_AMD_DC_DCN2_0 DC_LIBS += dcn20 endif ifdef CONFIG_DRM_AMD_DC_DSC_SUPPORT DC_LIBS += dsc endif ifdef CONFIG_DRM_AMD_DC_DCN1_0 DC_LIBS += dcn10 dml endif ifdef CONFIG_DRM_AMD_DC_DCN2_1 DC_LIBS += dcn21 endif DC_LIBS += dce120 DC_LIBS += dce112 DC_LIBS += dce110 DC_LIBS += dce100 DC_LIBS += dce80 AMD_DC = $(addsuffix /Makefile, $(addprefix $(FULL_AMD_DISPLAY_PATH)/dc/,$(DC_LIBS))) include $(AMD_DC) DISPLAY_CORE = dc.o dc_link.o dc_resource.o dc_hw_sequencer.o dc_sink.o \ dc_surface.o dc_link_hwss.o dc_link_dp.o dc_link_ddc.o dc_debug.o dc_stream.o ifdef CONFIG_DRM_AMD_DC_DCN2_0 DISPLAY_CORE += dc_vm_helper.o endif AMD_DISPLAY_CORE = $(addprefix $(AMDDALPATH)/dc/core/,$(DISPLAY_CORE)) AMD_DM_REG_UPDATE = $(addprefix $(AMDDALPATH)/dc/,dc_helper.o) AMD_DISPLAY_FILES += $(AMD_DISPLAY_CORE) AMD_DISPLAY_FILES += $(AMD_DM_REG_UPDATE) gpu/drm/amd/display/dc/dsc/Makefile 0000644 00000001337 14722053666 0013145 0 ustar 00 # # Makefile for the 'dsc' sub-component of DAL. dsc_ccflags := -mhard-float -msse ifdef CONFIG_CC_IS_GCC ifeq ($(call cc-ifversion, -lt, 0701, y), y) IS_OLD_GCC = 1 endif endif ifdef IS_OLD_GCC # Stack alignment mismatch, proceed with caution. # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3 # (8B stack alignment). dsc_ccflags += -mpreferred-stack-boundary=4 else dsc_ccflags += -msse2 endif CFLAGS_$(AMDDALPATH)/dc/dsc/rc_calc.o := $(dsc_ccflags) CFLAGS_$(AMDDALPATH)/dc/dsc/rc_calc_dpi.o := $(dsc_ccflags) CFLAGS_$(AMDDALPATH)/dc/dsc/dc_dsc.o := $(dsc_ccflags) DSC = dc_dsc.o rc_calc.o rc_calc_dpi.o AMD_DAL_DSC = $(addprefix $(AMDDALPATH)/dc/dsc/,$(DSC)) AMD_DISPLAY_FILES += $(AMD_DAL_DSC) gpu/drm/amd/display/dc/dcn20/Makefile 0000644 00000001644 14722053666 0013303 0 ustar 00 # # Makefile for DCN. DCN20 = dcn20_resource.o dcn20_hwseq.o dcn20_dpp.o dcn20_dpp_cm.o dcn20_hubp.o \ dcn20_mpc.o dcn20_opp.o dcn20_hubbub.o dcn20_optc.o dcn20_mmhubbub.o \ dcn20_stream_encoder.o dcn20_link_encoder.o dcn20_dccg.o \ dcn20_vmid.o dcn20_dwb.o dcn20_dwb_scl.o ifdef CONFIG_DRM_AMD_DC_DSC_SUPPORT DCN20 += dcn20_dsc.o endif CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o := -mhard-float -msse ifdef CONFIG_CC_IS_GCC ifeq ($(call cc-ifversion, -lt, 0701, y), y) IS_OLD_GCC = 1 endif endif ifdef IS_OLD_GCC # Stack alignment mismatch, proceed with caution. # GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3 # (8B stack alignment). CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o += -mpreferred-stack-boundary=4 else CFLAGS_$(AMDDALPATH)/dc/dcn20/dcn20_resource.o += -msse2 endif AMD_DAL_DCN20 = $(addprefix $(AMDDALPATH)/dc/dcn20/,$(DCN20)) AMD_DISPLAY_FILES += $(AMD_DAL_DCN20) gpu/drm/amd/display/amdgpu_dm/Makefile 0000644 00000003142 14722053666 0013737 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'dm' sub-component of DAL. # It provides the control and status of dm blocks. AMDGPUDM = amdgpu_dm.o amdgpu_dm_irq.o amdgpu_dm_mst_types.o amdgpu_dm_color.o ifneq ($(CONFIG_DRM_AMD_DC),) AMDGPUDM += amdgpu_dm_services.o amdgpu_dm_helpers.o amdgpu_dm_pp_smu.o endif ifneq ($(CONFIG_DEBUG_FS),) AMDGPUDM += amdgpu_dm_crc.o amdgpu_dm_debugfs.o endif subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/dc AMDGPU_DM = $(addprefix $(AMDDALPATH)/amdgpu_dm/,$(AMDGPUDM)) AMD_DISPLAY_FILES += $(AMDGPU_DM) gpu/drm/amd/display/modules/freesync/Makefile 0000644 00000002526 14722053666 0015275 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'freesync' sub-module of DAL. # FREESYNC = freesync.o AMD_DAL_FREESYNC = $(addprefix $(AMDDALPATH)/modules/freesync/,$(FREESYNC)) #$(info ************ DAL-FREE SYNC_MAKEFILE ************) AMD_DISPLAY_FILES += $(AMD_DAL_FREESYNC) gpu/drm/amd/display/modules/info_packet/Makefile 0000644 00000002564 14722053666 0015743 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'info_packet' sub-module of DAL. # INFO_PACKET = info_packet.o AMD_DAL_INFO_PACKET = $(addprefix $(AMDDALPATH)/modules/info_packet/,$(INFO_PACKET)) #$(info ************ DAL INFO_PACKET MODULE MAKEFILE ************) AMD_DISPLAY_FILES += $(AMD_DAL_INFO_PACKET) gpu/drm/amd/display/modules/power/Makefile 0000644 00000002534 14722053666 0014612 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'power' sub-module of DAL. # MOD_POWER = power_helpers.o AMD_DAL_MOD_POWER = $(addprefix $(AMDDALPATH)/modules/power/,$(MOD_POWER)) #$(info ************ DAL POWER MODULE MAKEFILE ************) AMD_DISPLAY_FILES += $(AMD_DAL_MOD_POWER) gpu/drm/amd/display/modules/color/Makefile 0000644 00000002530 14722053666 0014570 0 ustar 00 # # Copyright 2018 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the color sub-module of DAL. # MOD_COLOR = color_gamma.o AMD_DAL_MOD_COLOR = $(addprefix $(AMDDALPATH)/modules/color/,$(MOD_COLOR)) #$(info ************ DAL COLOR MODULE MAKEFILE ************) AMD_DISPLAY_FILES += $(AMD_DAL_MOD_COLOR) gpu/drm/amd/display/Makefile 0000644 00000004073 14722053666 0012006 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the DAL (Display Abstract Layer), which is a sub-component # of the AMDGPU drm driver. # It provides the HW control for display related functionalities. AMDDALPATH = $(RELATIVE_AMD_DISPLAY_PATH) subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/dc/inc/ subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/dc/inc/hw subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/dc/clk_mgr subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/modules/inc subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/modules/freesync subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/modules/color subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/modules/info_packet subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/modules/power #TODO: remove when Timing Sync feature is complete subdir-ccflags-y += -DBUILD_FEATURE_TIMING_SYNC=0 DAL_LIBS = amdgpu_dm dc modules/freesync modules/color modules/info_packet modules/power AMD_DAL = $(addsuffix /Makefile, $(addprefix $(FULL_AMD_DISPLAY_PATH)/,$(DAL_LIBS))) include $(AMD_DAL) gpu/drm/amd/powerplay/hwmgr/Makefile 0000644 00000003614 14722053666 0013507 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'hw manager' sub-component of powerplay. # It provides the hardware management services for the driver. HARDWARE_MGR = hwmgr.o processpptables.o \ hardwaremanager.o smu8_hwmgr.o \ pppcielanes.o\ process_pptables_v1_0.o ppatomctrl.o ppatomfwctrl.o \ smu7_hwmgr.o smu7_powertune.o smu7_thermal.o \ smu7_clockpowergating.o \ vega10_processpptables.o vega10_hwmgr.o vega10_powertune.o \ vega10_thermal.o smu10_hwmgr.o pp_psm.o\ vega12_processpptables.o vega12_hwmgr.o \ vega12_thermal.o \ pp_overdriver.o smu_helper.o \ vega20_processpptables.o vega20_hwmgr.o vega20_powertune.o \ vega20_thermal.o common_baco.o vega10_baco.o vega20_baco.o \ vega12_baco.o smu9_baco.o AMD_PP_HWMGR = $(addprefix $(AMD_PP_PATH)/hwmgr/,$(HARDWARE_MGR)) AMD_POWERPLAY_FILES += $(AMD_PP_HWMGR) gpu/drm/amd/powerplay/smumgr/Makefile 0000644 00000003042 14722053666 0013670 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # # Makefile for the 'smu manager' sub-component of powerplay. # It provides the smu management services for the driver. SMU_MGR = smumgr.o smu8_smumgr.o tonga_smumgr.o fiji_smumgr.o \ polaris10_smumgr.o iceland_smumgr.o \ smu7_smumgr.o vega10_smumgr.o smu10_smumgr.o ci_smumgr.o \ vega12_smumgr.o vegam_smumgr.o smu9_smumgr.o vega20_smumgr.o AMD_PP_SMUMGR = $(addprefix $(AMD_PP_PATH)/smumgr/,$(SMU_MGR)) AMD_POWERPLAY_FILES += $(AMD_PP_SMUMGR) gpu/drm/amd/powerplay/Makefile 0000644 00000003257 14722053666 0012366 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # subdir-ccflags-y += \ -I$(FULL_AMD_PATH)/powerplay/inc/ \ -I$(FULL_AMD_PATH)/include/asic_reg \ -I$(FULL_AMD_PATH)/include \ -I$(FULL_AMD_PATH)/powerplay/smumgr\ -I$(FULL_AMD_PATH)/powerplay/hwmgr AMD_PP_PATH = ../powerplay PP_LIBS = smumgr hwmgr AMD_POWERPLAY = $(addsuffix /Makefile,$(addprefix $(FULL_AMD_PATH)/powerplay/,$(PP_LIBS))) include $(AMD_POWERPLAY) POWER_MGR = amd_powerplay.o amdgpu_smu.o smu_v11_0.o smu_v12_0.o vega20_ppt.o arcturus_ppt.o navi10_ppt.o renoir_ppt.o AMD_PP_POWER = $(addprefix $(AMD_PP_PATH)/,$(POWER_MGR)) AMD_POWERPLAY_FILES += $(AMD_PP_POWER) gpu/drm/v3d/Kconfig 0000644 00000000547 14722053666 0010141 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_V3D tristate "Broadcom V3D 3.x and newer" depends on ARCH_BCM || ARCH_BCMSTB || COMPILE_TEST depends on DRM depends on COMMON_CLK depends on MMU select DRM_SCHED select DRM_GEM_SHMEM_HELPER help Choose this option if you have a system that has a Broadcom V3D 3.x or newer GPU, such as BCM7268. gpu/drm/v3d/Makefile 0000644 00000000522 14722053666 0010267 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Please keep these build lists sorted! # core driver code v3d-y := \ v3d_bo.o \ v3d_drv.o \ v3d_fence.o \ v3d_gem.o \ v3d_irq.o \ v3d_mmu.o \ v3d_trace_points.o \ v3d_sched.o v3d-$(CONFIG_DEBUG_FS) += v3d_debugfs.o obj-$(CONFIG_DRM_V3D) += v3d.o CFLAGS_v3d_trace_points.o := -I$(src) gpu/drm/rcar-du/Kconfig 0000644 00000002226 14722053666 0010776 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DRM_RCAR_DU tristate "DRM Support for R-Car Display Unit" depends on DRM && OF depends on ARM || ARM64 depends on ARCH_RENESAS || COMPILE_TEST imply DRM_RCAR_LVDS select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select VIDEOMODE_HELPERS help Choose this option if you have an R-Car chipset. If M is selected the module will be called rcar-du-drm. config DRM_RCAR_DW_HDMI tristate "R-Car DU Gen3 HDMI Encoder Support" depends on DRM && OF select DRM_DW_HDMI help Enable support for R-Car Gen3 internal HDMI encoder. config DRM_RCAR_LVDS tristate "R-Car DU LVDS Encoder Support" depends on DRM && DRM_BRIDGE && OF select DRM_KMS_HELPER select DRM_PANEL select OF_FLATTREE select OF_OVERLAY help Enable support for the R-Car Display Unit embedded LVDS encoders. config DRM_RCAR_VSP bool "R-Car DU VSP Compositor Support" if ARM default y if ARM64 depends on DRM_RCAR_DU depends on VIDEO_RENESAS_VSP1=y || (VIDEO_RENESAS_VSP1 && DRM_RCAR_DU=m) help Enable support to expose the R-Car VSP Compositor as KMS planes. config DRM_RCAR_WRITEBACK bool default y if ARM64 gpu/drm/rcar-du/Makefile 0000644 00000001762 14722053666 0011137 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rcar-du-drm-y := rcar_du_crtc.o \ rcar_du_drv.o \ rcar_du_encoder.o \ rcar_du_group.o \ rcar_du_kms.o \ rcar_du_plane.o \ rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += rcar_du_of.o \ rcar_du_of_lvds_r8a7790.dtb.o \ rcar_du_of_lvds_r8a7791.dtb.o \ rcar_du_of_lvds_r8a7793.dtb.o \ rcar_du_of_lvds_r8a7795.dtb.o \ rcar_du_of_lvds_r8a7796.dtb.o rcar-du-drm-$(CONFIG_DRM_RCAR_VSP) += rcar_du_vsp.o rcar-du-drm-$(CONFIG_DRM_RCAR_WRITEBACK) += rcar_du_writeback.o obj-$(CONFIG_DRM_RCAR_DU) += rcar-du-drm.o obj-$(CONFIG_DRM_RCAR_DW_HDMI) += rcar_dw_hdmi.o obj-$(CONFIG_DRM_RCAR_LVDS) += rcar_lvds.o # 'remote-endpoint' is fixed up at run-time DTC_FLAGS_rcar_du_of_lvds_r8a7790 += -Wno-graph_endpoint DTC_FLAGS_rcar_du_of_lvds_r8a7791 += -Wno-graph_endpoint DTC_FLAGS_rcar_du_of_lvds_r8a7793 += -Wno-graph_endpoint DTC_FLAGS_rcar_du_of_lvds_r8a7795 += -Wno-graph_endpoint DTC_FLAGS_rcar_du_of_lvds_r8a7796 += -Wno-graph_endpoint gpu/drm/etnaviv/Kconfig 0000644 00000001130 14722053666 0011106 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_ETNAVIV tristate "ETNAVIV (DRM support for Vivante GPU IP cores)" depends on DRM depends on MMU select SHMEM select SYNC_FILE select THERMAL if DRM_ETNAVIV_THERMAL select TMPFS select WANT_DEV_COREDUMP select CMA if HAVE_DMA_CONTIGUOUS select DMA_CMA if HAVE_DMA_CONTIGUOUS select DRM_SCHED help DRM driver for Vivante GPUs. config DRM_ETNAVIV_THERMAL bool "enable ETNAVIV thermal throttling" depends on DRM_ETNAVIV default y help Compile in support for thermal throttling. Say Y unless you want to risk burning your SoC. gpu/drm/etnaviv/Makefile 0000644 00000000600 14722053666 0011244 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 etnaviv-y := \ etnaviv_buffer.o \ etnaviv_cmd_parser.o \ etnaviv_cmdbuf.o \ etnaviv_drv.o \ etnaviv_dump.o \ etnaviv_gem_prime.o \ etnaviv_gem_submit.o \ etnaviv_gem.o \ etnaviv_gpu.o \ etnaviv_hwdb.o \ etnaviv_iommu_v2.o \ etnaviv_iommu.o \ etnaviv_mmu.o \ etnaviv_perfmon.o \ etnaviv_sched.o obj-$(CONFIG_DRM_ETNAVIV) += etnaviv.o gpu/drm/pl111/Kconfig 0000644 00000000756 14722053666 0010305 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_PL111 tristate "DRM Support for PL111 CLCD Controller" depends on DRM depends on ARM || ARM64 || COMPILE_TEST depends on COMMON_CLK select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select DRM_BRIDGE select DRM_PANEL_BRIDGE select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE help Choose this option for DRM support for the PL111 CLCD controller. If M is selected the module will be called pl111_drm. gpu/drm/pl111/Makefile 0000644 00000000453 14722053666 0010434 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 pl111_drm-y += pl111_display.o \ pl111_versatile.o \ pl111_drv.o pl111_drm-$(CONFIG_ARCH_VEXPRESS) += pl111_vexpress.o pl111_drm-$(CONFIG_ARCH_NOMADIK) += pl111_nomadik.o pl111_drm-$(CONFIG_DEBUG_FS) += pl111_debugfs.o obj-$(CONFIG_DRM_PL111) += pl111_drm.o gpu/drm/imx/Kconfig 0000644 00000002061 14722053666 0010233 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_IMX tristate "DRM Support for Freescale i.MX" select DRM_KMS_HELPER select VIDEOMODE_HELPERS select DRM_GEM_CMA_HELPER select DRM_KMS_CMA_HELPER depends on DRM && (ARCH_MXC || ARCH_MULTIPLATFORM || COMPILE_TEST) depends on IMX_IPUV3_CORE help enable i.MX graphics support config DRM_IMX_PARALLEL_DISPLAY tristate "Support for parallel displays" select DRM_PANEL depends on DRM_IMX select VIDEOMODE_HELPERS config DRM_IMX_TVE tristate "Support for TV and VGA displays" depends on DRM_IMX depends on COMMON_CLK select REGMAP_MMIO help Choose this to enable the internal Television Encoder (TVe) found on i.MX53 processors. config DRM_IMX_LDB tristate "Support for LVDS displays" depends on DRM_IMX && MFD_SYSCON select DRM_PANEL help Choose this to enable the internal LVDS Display Bridge (LDB) found on i.MX53 and i.MX6 processors. config DRM_IMX_HDMI tristate "Freescale i.MX DRM HDMI" select DRM_DW_HDMI depends on DRM_IMX help Choose this if you want to use HDMI on i.MX6. gpu/drm/imx/Makefile 0000644 00000000471 14722053666 0010373 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 imxdrm-objs := imx-drm-core.o ipuv3-crtc.o ipuv3-plane.o obj-$(CONFIG_DRM_IMX) += imxdrm.o obj-$(CONFIG_DRM_IMX_PARALLEL_DISPLAY) += parallel-display.o obj-$(CONFIG_DRM_IMX_TVE) += imx-tve.o obj-$(CONFIG_DRM_IMX_LDB) += imx-ldb.o obj-$(CONFIG_DRM_IMX_HDMI) += dw_hdmi-imx.o gpu/drm/selftests/Makefile 0000644 00000000464 14722053666 0011614 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only test-drm_modeset-y := test-drm_modeset_common.o test-drm_plane_helper.o \ test-drm_format.o test-drm_framebuffer.o \ test-drm_damage_helper.o obj-$(CONFIG_DRM_DEBUG_SELFTEST) += test-drm_mm.o test-drm_modeset.o test-drm_cmdline_parser.o gpu/drm/Makefile 0000644 00000011026 14722053666 0007574 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. drm-y := drm_auth.o drm_cache.o \ drm_file.o drm_gem.o drm_ioctl.o drm_irq.o \ drm_memory.o drm_drv.o drm_pci.o \ drm_sysfs.o drm_hashtab.o drm_mm.o \ drm_crtc.o drm_fourcc.o drm_modes.o drm_edid.o \ drm_encoder_slave.o \ drm_trace_points.o drm_prime.o \ drm_rect.o drm_vma_manager.o drm_flip_work.o \ drm_modeset_lock.o drm_atomic.o drm_bridge.o \ drm_framebuffer.o drm_connector.o drm_blend.o \ drm_encoder.o drm_mode_object.o drm_property.o \ drm_plane.o drm_color_mgmt.o drm_print.o \ drm_dumb_buffers.o drm_mode_config.o drm_vblank.o \ drm_syncobj.o drm_lease.o drm_writeback.o drm_client.o \ drm_client_modeset.o drm_atomic_uapi.o drm_hdcp.o drm-$(CONFIG_DRM_LEGACY) += drm_legacy_misc.o drm_bufs.o drm_context.o drm_dma.o drm_scatter.o drm_lock.o drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o drm-$(CONFIG_DRM_VM) += drm_vm.o drm-$(CONFIG_COMPAT) += drm_ioc32.o drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o drm-$(CONFIG_DRM_GEM_SHMEM_HELPER) += drm_gem_shmem_helper.o drm-$(CONFIG_DRM_ATI_PCIGART) += ati_pcigart.o drm-$(CONFIG_DRM_PANEL) += drm_panel.o drm-$(CONFIG_OF) += drm_of.o drm-$(CONFIG_AGP) += drm_agpsupport.o drm-$(CONFIG_DEBUG_FS) += drm_debugfs.o drm_debugfs_crc.o drm-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o drm_vram_helper-y := drm_gem_vram_helper.o \ drm_vram_helper_common.o \ drm_vram_mm_helper.o obj-$(CONFIG_DRM_VRAM_HELPER) += drm_vram_helper.o drm_kms_helper-y := drm_crtc_helper.o drm_dp_helper.o drm_dsc.o drm_probe_helper.o \ drm_plane_helper.o drm_dp_mst_topology.o drm_atomic_helper.o \ drm_kms_helper_common.o drm_dp_dual_mode_helper.o \ drm_simple_kms_helper.o drm_modeset_helper.o \ drm_scdc_helper.o drm_gem_framebuffer_helper.o \ drm_atomic_state_helper.o drm_damage_helper.o \ drm_format_helper.o drm_self_refresh_helper.o drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o drm_kms_helper-$(CONFIG_DRM_KMS_CMA_HELPER) += drm_fb_cma_helper.o drm_kms_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o drm_kms_helper-$(CONFIG_DRM_DP_CEC) += drm_dp_cec.o obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o obj-$(CONFIG_DRM_DEBUG_SELFTEST) += selftests/ obj-$(CONFIG_DRM) += drm.o obj-$(CONFIG_DRM_MIPI_DBI) += drm_mipi_dbi.o obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o obj-y += arm/ obj-$(CONFIG_DRM_TTM) += ttm/ obj-$(CONFIG_DRM_SCHED) += scheduler/ obj-$(CONFIG_DRM_TDFX) += tdfx/ obj-$(CONFIG_DRM_R128) += r128/ obj-$(CONFIG_DRM_RADEON)+= radeon/ obj-$(CONFIG_DRM_AMDGPU)+= amd/amdgpu/ obj-$(CONFIG_DRM_MGA) += mga/ obj-$(CONFIG_DRM_I810) += i810/ obj-$(CONFIG_DRM_I915) += i915/ obj-$(CONFIG_DRM_MGAG200) += mgag200/ obj-$(CONFIG_DRM_V3D) += v3d/ obj-$(CONFIG_DRM_VC4) += vc4/ obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus/ obj-$(CONFIG_DRM_SIS) += sis/ obj-$(CONFIG_DRM_SAVAGE)+= savage/ obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/ obj-$(CONFIG_DRM_VIA) +=via/ obj-$(CONFIG_DRM_VGEM) += vgem/ obj-$(CONFIG_DRM_VKMS) += vkms/ obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/ obj-$(CONFIG_DRM_EXYNOS) +=exynos/ obj-$(CONFIG_DRM_ROCKCHIP) +=rockchip/ obj-$(CONFIG_DRM_GMA500) += gma500/ obj-$(CONFIG_DRM_UDL) += udl/ obj-$(CONFIG_DRM_AST) += ast/ obj-$(CONFIG_DRM_ARMADA) += armada/ obj-$(CONFIG_DRM_ATMEL_HLCDC) += atmel-hlcdc/ obj-y += rcar-du/ obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/ obj-y += omapdrm/ obj-$(CONFIG_DRM_SUN4I) += sun4i/ obj-y += tilcdc/ obj-$(CONFIG_DRM_QXL) += qxl/ obj-$(CONFIG_DRM_BOCHS) += bochs/ obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio/ obj-$(CONFIG_DRM_MSM) += msm/ obj-$(CONFIG_DRM_TEGRA) += tegra/ obj-$(CONFIG_DRM_STM) += stm/ obj-$(CONFIG_DRM_STI) += sti/ obj-$(CONFIG_DRM_IMX) += imx/ obj-$(CONFIG_DRM_INGENIC) += ingenic/ obj-$(CONFIG_DRM_MEDIATEK) += mediatek/ obj-$(CONFIG_DRM_MESON) += meson/ obj-y += i2c/ obj-y += panel/ obj-y += bridge/ obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/ obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/ obj-$(CONFIG_DRM_ARCPGU)+= arc/ obj-y += hisilicon/ obj-$(CONFIG_DRM_ZTE) += zte/ obj-$(CONFIG_DRM_MXSFB) += mxsfb/ obj-y += tiny/ obj-$(CONFIG_DRM_PL111) += pl111/ obj-$(CONFIG_DRM_TVE200) += tve200/ obj-$(CONFIG_DRM_XEN) += xen/ obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/ obj-$(CONFIG_DRM_LIMA) += lima/ obj-$(CONFIG_DRM_PANFROST) += panfrost/ obj-$(CONFIG_DRM_ASPEED_GFX) += aspeed/ obj-$(CONFIG_DRM_MCDE) += mcde/ gpu/drm/sti/Kconfig 0000644 00000000644 14722053666 0010242 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_STI tristate "DRM Support for STMicroelectronics SoC stiH4xx Series" depends on OF && DRM && (ARCH_STI || ARCH_MULTIPLATFORM) select RESET_CONTROLLER select DRM_KMS_HELPER select DRM_GEM_CMA_HELPER select DRM_KMS_CMA_HELPER select DRM_PANEL select FW_LOADER select SND_SOC_HDMI_CODEC if SND_SOC help Choose this option to enable DRM on STM stiH4xx chipset gpu/drm/sti/Makefile 0000644 00000000547 14722053666 0010401 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 sti-drm-y := \ sti_mixer.o \ sti_gdp.o \ sti_vid.o \ sti_cursor.o \ sti_compositor.o \ sti_crtc.o \ sti_plane.o \ sti_crtc.o \ sti_plane.o \ sti_hdmi.o \ sti_hdmi_tx3g4c28phy.o \ sti_dvo.o \ sti_awg_utils.o \ sti_vtg.o \ sti_hda.o \ sti_tvout.o \ sti_hqvdp.o \ sti_drv.o obj-$(CONFIG_DRM_STI) = sti-drm.o gpu/drm/vmwgfx/Kconfig 0000644 00000001555 14722053666 0010763 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DRM_VMWGFX tristate "DRM driver for VMware Virtual GPU" depends on DRM && PCI && X86 && MMU select FB_DEFERRED_IO select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select DRM_TTM select FB # Only needed for the transitional use of drm_crtc_init - can be removed # again once vmwgfx sets up the primary plane itself. select DRM_KMS_HELPER help Choose this option if you would like to run 3D acceleration in a VMware virtual machine. This is a KMS enabled DRM driver for the VMware SVGA2 virtual hardware. The compiled module will be called "vmwgfx.ko". config DRM_VMWGFX_FBCON depends on DRM_VMWGFX && FB bool "Enable framebuffer console under vmwgfx by default" help Choose this option if you are shipping a new vmwgfx userspace driver that supports using the kernel driver. gpu/drm/vmwgfx/Makefile 0000644 00000001311 14722053666 0011106 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 vmwgfx-y := vmwgfx_execbuf.o vmwgfx_gmr.o vmwgfx_kms.o vmwgfx_drv.o \ vmwgfx_fb.o vmwgfx_ioctl.o vmwgfx_resource.o vmwgfx_ttm_buffer.o \ vmwgfx_fifo.o vmwgfx_irq.o vmwgfx_ldu.o vmwgfx_ttm_glue.o \ vmwgfx_overlay.o vmwgfx_marker.o vmwgfx_gmrid_manager.o \ vmwgfx_fence.o vmwgfx_bo.o vmwgfx_scrn.o vmwgfx_context.o \ vmwgfx_surface.o vmwgfx_prime.o vmwgfx_mob.o vmwgfx_shader.o \ vmwgfx_cmdbuf_res.o vmwgfx_cmdbuf.o vmwgfx_stdu.o \ vmwgfx_cotable.o vmwgfx_so.o vmwgfx_binding.o vmwgfx_msg.o \ vmwgfx_simple_resource.o vmwgfx_va.o vmwgfx_blit.o \ vmwgfx_validation.o \ ttm_object.o ttm_lock.o obj-$(CONFIG_DRM_VMWGFX) := vmwgfx.o gpu/drm/i810/Makefile 0000644 00000000376 14722053666 0010263 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. i810-y := i810_drv.o i810_dma.o obj-$(CONFIG_DRM_I810) += i810.o gpu/drm/vkms/Makefile 0000644 00000000241 14722053666 0010551 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only vkms-y := vkms_drv.o vkms_plane.o vkms_output.o vkms_crtc.o vkms_gem.o vkms_composer.o obj-$(CONFIG_DRM_VKMS) += vkms.o gpu/drm/ttm/Makefile 0000644 00000000533 14722053666 0010401 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the drm device driver. This driver provides support for the ttm-y := ttm_memory.o ttm_tt.o ttm_bo.o \ ttm_bo_util.o ttm_bo_vm.o ttm_module.o \ ttm_execbuf_util.o ttm_page_alloc.o ttm_bo_manager.o \ ttm_page_alloc_dma.o ttm-$(CONFIG_AGP) += ttm_agp_backend.o obj-$(CONFIG_DRM_TTM) += ttm.o gpu/drm/scheduler/Makefile 0000644 00000002273 14722053666 0011556 0 ustar 00 # # Copyright 2017 Advanced Micro Devices, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. # # gpu-sched-y := sched_main.o sched_fence.o sched_entity.o obj-$(CONFIG_DRM_SCHED) += gpu-sched.o gpu/drm/hisilicon/Kconfig 0000644 00000000341 14722053666 0011416 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # hisilicon drm device configuration. # Please keep this list sorted alphabetically source "drivers/gpu/drm/hisilicon/hibmc/Kconfig" source "drivers/gpu/drm/hisilicon/kirin/Kconfig" gpu/drm/hisilicon/hibmc/Kconfig 0000644 00000000501 14722053666 0012476 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_HISI_HIBMC tristate "DRM Support for Hisilicon Hibmc" depends on DRM && PCI && MMU && ARM64 select DRM_KMS_HELPER select DRM_VRAM_HELPER help Choose this option if you have a Hisilicon Hibmc soc chipset. If M is selected the module will be called hibmc-drm. gpu/drm/hisilicon/hibmc/Makefile 0000644 00000000262 14722053666 0012637 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only hibmc-drm-y := hibmc_drm_drv.o hibmc_drm_de.o hibmc_drm_vdac.o hibmc_drm_fbdev.o hibmc_ttm.o obj-$(CONFIG_DRM_HISI_HIBMC) += hibmc-drm.o gpu/drm/hisilicon/Makefile 0000644 00000000315 14722053666 0011554 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for hisilicon drm drivers. # Please keep this list sorted alphabetically obj-$(CONFIG_DRM_HISI_HIBMC) += hibmc/ obj-$(CONFIG_DRM_HISI_KIRIN) += kirin/ gpu/drm/hisilicon/kirin/Kconfig 0000644 00000000606 14722053666 0012536 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_HISI_KIRIN tristate "DRM Support for Hisilicon Kirin series SoCs Platform" depends on DRM && OF && ARM64 select DRM_KMS_HELPER select DRM_GEM_CMA_HELPER select DRM_KMS_CMA_HELPER select DRM_MIPI_DSI help Choose this option if you have a hisilicon Kirin chipsets(hi6220). If M is selected the module will be called kirin-drm. gpu/drm/hisilicon/kirin/Makefile 0000644 00000000234 14722053666 0012670 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only kirin-drm-y := kirin_drm_drv.o \ kirin_drm_ade.o obj-$(CONFIG_DRM_HISI_KIRIN) += kirin-drm.o dw_drm_dsi.o gpu/drm/mediatek/Kconfig 0000644 00000001375 14722053666 0011230 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_MEDIATEK tristate "DRM Support for Mediatek SoCs" depends on DRM depends on ARCH_MEDIATEK || (ARM && COMPILE_TEST) depends on COMMON_CLK depends on HAVE_ARM_SMCCC depends on OF select DRM_GEM_CMA_HELPER select DRM_KMS_HELPER select DRM_MIPI_DSI select DRM_PANEL select MEMORY select MTK_SMI select VIDEOMODE_HELPERS help Choose this option if you have a Mediatek SoCs. The module will be called mediatek-drm This driver provides kernel mode setting and buffer management to userspace. config DRM_MEDIATEK_HDMI tristate "DRM HDMI Support for Mediatek SoCs" depends on DRM_MEDIATEK select SND_SOC_HDMI_CODEC if SND_SOC select GENERIC_PHY help DRM/KMS HDMI driver for Mediatek SoCs gpu/drm/mediatek/Makefile 0000644 00000001121 14722053666 0011352 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 mediatek-drm-y := mtk_disp_color.o \ mtk_disp_ovl.o \ mtk_disp_rdma.o \ mtk_drm_crtc.o \ mtk_drm_ddp.o \ mtk_drm_ddp_comp.o \ mtk_drm_drv.o \ mtk_drm_fb.o \ mtk_drm_gem.o \ mtk_drm_plane.o \ mtk_dsi.o \ mtk_mipi_tx.o \ mtk_dpi.o obj-$(CONFIG_DRM_MEDIATEK) += mediatek-drm.o mediatek-drm-hdmi-objs := mtk_cec.o \ mtk_hdmi.o \ mtk_hdmi_ddc.o \ mtk_mt2701_hdmi_phy.o \ mtk_mt8173_hdmi_phy.o \ mtk_hdmi_phy.o obj-$(CONFIG_DRM_MEDIATEK_HDMI) += mediatek-drm-hdmi.o gpu/drm/rockchip/Kconfig 0000644 00000006060 14722053666 0011243 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_ROCKCHIP tristate "DRM Support for Rockchip" depends on DRM && ROCKCHIP_IOMMU select DRM_GEM_CMA_HELPER select DRM_KMS_HELPER select DRM_PANEL select VIDEOMODE_HELPERS select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP select DRM_DW_HDMI if ROCKCHIP_DW_HDMI select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI select DRM_RGB if ROCKCHIP_RGB select SND_SOC_HDMI_CODEC if ROCKCHIP_CDN_DP && SND_SOC help Choose this option if you have a Rockchip soc chipset. This driver provides kernel mode setting and buffer management to userspace. This driver does not provide 2D or 3D acceleration; acceleration is performed by other IP found on the SoC. if DRM_ROCKCHIP config ROCKCHIP_ANALOGIX_DP bool "Rockchip specific extensions for Analogix DP driver" help This selects support for Rockchip SoC specific extensions for the Analogix Core DP driver. If you want to enable DP on RK3288 or RK3399 based SoC, you should select this option. config ROCKCHIP_CDN_DP bool "Rockchip cdn DP" depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m) help This selects support for Rockchip SoC specific extensions for the cdn DP driver. If you want to enable Dp on RK3399 based SoC, you should select this option. config ROCKCHIP_DW_HDMI bool "Rockchip specific extensions for Synopsys DW HDMI" help This selects support for Rockchip SoC specific extensions for the Synopsys DesignWare HDMI driver. If you want to enable HDMI on RK3288 or RK3399 based SoC, you should select this option. config ROCKCHIP_DW_MIPI_DSI bool "Rockchip specific extensions for Synopsys DW MIPI DSI" help This selects support for Rockchip SoC specific extensions for the Synopsys DesignWare HDMI driver. If you want to enable MIPI DSI on RK3288 or RK3399 based SoC, you should select this option. config ROCKCHIP_INNO_HDMI bool "Rockchip specific extensions for Innosilicon HDMI" help This selects support for Rockchip SoC specific extensions for the Innosilicon HDMI driver. If you want to enable HDMI on RK3036 based SoC, you should select this option. config ROCKCHIP_LVDS bool "Rockchip LVDS support" depends on DRM_ROCKCHIP depends on PINCTRL && OF help Choose this option to enable support for Rockchip LVDS controllers. Rockchip rk3288 SoC has LVDS TX Controller can be used, and it support LVDS, rgb, dual LVDS output mode. say Y to enable its driver. config ROCKCHIP_RGB bool "Rockchip RGB support" depends on DRM_ROCKCHIP depends on PINCTRL help Choose this option to enable support for Rockchip RGB output. Some Rockchip CRTCs, like rv1108, can directly output parallel and serial RGB format to panel or connect to a conversion chip. say Y to enable its driver. config ROCKCHIP_RK3066_HDMI bool "Rockchip specific extensions for RK3066 HDMI" depends on DRM_ROCKCHIP help This selects support for Rockchip SoC specific extensions for the RK3066 HDMI driver. If you want to enable HDMI on RK3066 based SoC, you should select this option. endif gpu/drm/rockchip/Makefile 0000644 00000001605 14722053666 0011400 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. rockchipdrm-y := rockchip_drm_drv.o rockchip_drm_fb.o \ rockchip_drm_gem.o rockchip_drm_vop.o rockchip_vop_reg.o rockchipdrm-$(CONFIG_DRM_FBDEV_EMULATION) += rockchip_drm_fbdev.o rockchipdrm-$(CONFIG_ROCKCHIP_ANALOGIX_DP) += analogix_dp-rockchip.o rockchipdrm-$(CONFIG_ROCKCHIP_CDN_DP) += cdn-dp-core.o cdn-dp-reg.o rockchipdrm-$(CONFIG_ROCKCHIP_DW_HDMI) += dw_hdmi-rockchip.o rockchipdrm-$(CONFIG_ROCKCHIP_DW_MIPI_DSI) += dw-mipi-dsi-rockchip.o rockchipdrm-$(CONFIG_ROCKCHIP_INNO_HDMI) += inno_hdmi.o rockchipdrm-$(CONFIG_ROCKCHIP_LVDS) += rockchip_lvds.o rockchipdrm-$(CONFIG_ROCKCHIP_RGB) += rockchip_rgb.o rockchipdrm-$(CONFIG_ROCKCHIP_RK3066_HDMI) += rk3066_hdmi.o obj-$(CONFIG_DRM_ROCKCHIP) += rockchipdrm.o gpu/drm/udl/Kconfig 0000644 00000000510 14722053666 0010217 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_UDL tristate "DisplayLink" depends on DRM depends on USB_SUPPORT depends on USB_ARCH_HAS_HCD select USB select DRM_KMS_HELPER help This is a KMS driver for the USB displaylink video adapters. Say M/Y to add support for these devices via drm/kms interfaces. gpu/drm/udl/Makefile 0000644 00000000301 14722053666 0010352 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only udl-y := udl_drv.o udl_modeset.o udl_connector.o udl_encoder.o udl_main.o udl_fb.o udl_transfer.o udl_gem.o udl_dmabuf.o obj-$(CONFIG_DRM_UDL) := udl.o gpu/drm/exynos/Kconfig 0000644 00000005574 14722053666 0010777 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_EXYNOS tristate "DRM Support for Samsung SoC EXYNOS Series" depends on OF && DRM && (ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_MULTIPLATFORM || COMPILE_TEST) depends on MMU select DRM_KMS_HELPER select VIDEOMODE_HELPERS select SND_SOC_HDMI_CODEC if SND_SOC help Choose this option if you have a Samsung SoC EXYNOS chipset. If M is selected the module will be called exynosdrm. if DRM_EXYNOS comment "CRTCs" config DRM_EXYNOS_FIMD bool "FIMD" depends on !FB_S3C select MFD_SYSCON help Choose this option if you want to use Exynos FIMD for DRM. config DRM_EXYNOS5433_DECON bool "DECON on Exynos5433" help Choose this option if you want to use Exynos5433 DECON for DRM. config DRM_EXYNOS7_DECON bool "DECON on Exynos7" depends on !FB_S3C help Choose this option if you want to use Exynos DECON for DRM. config DRM_EXYNOS_MIXER bool "Mixer" help Choose this option if you want to use Exynos Mixer for DRM. config DRM_EXYNOS_VIDI bool "Virtual Display" help Choose this option if you want to use Exynos VIDI for DRM. comment "Encoders and Bridges" config DRM_EXYNOS_DPI bool "Parallel output" depends on DRM_EXYNOS_FIMD select DRM_PANEL default n help This enables support for Exynos parallel output. config DRM_EXYNOS_DSI bool "MIPI-DSI host" depends on DRM_EXYNOS_FIMD || DRM_EXYNOS5433_DECON || DRM_EXYNOS7_DECON select DRM_MIPI_DSI select DRM_PANEL default n help This enables support for Exynos MIPI-DSI device. config DRM_EXYNOS_DP bool "EXYNOS specific extensions for Analogix DP driver" depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON select DRM_ANALOGIX_DP default DRM_EXYNOS select DRM_PANEL help This enables support for DP device. config DRM_EXYNOS_HDMI bool "HDMI" depends on DRM_EXYNOS_MIXER || DRM_EXYNOS5433_DECON select CEC_CORE if CEC_NOTIFIER help Choose this option if you want to use Exynos HDMI for DRM. config DRM_EXYNOS_MIC bool "Mobile Image Compressor" depends on DRM_EXYNOS5433_DECON help Choose this option if you want to use Exynos MIC for DRM. comment "Sub-drivers" config DRM_EXYNOS_G2D bool "G2D" depends on VIDEO_SAMSUNG_S5P_G2D=n || COMPILE_TEST select FRAME_VECTOR help Choose this option if you want to use Exynos G2D for DRM. config DRM_EXYNOS_IPP bool config DRM_EXYNOS_FIMC bool "FIMC" select DRM_EXYNOS_IPP help Choose this option if you want to use Exynos FIMC for DRM. config DRM_EXYNOS_ROTATOR bool "Rotator" select DRM_EXYNOS_IPP help Choose this option if you want to use Exynos Rotator for DRM. config DRM_EXYNOS_SCALER bool "Scaler" select DRM_EXYNOS_IPP help Choose this option if you want to use Exynos Scaler for DRM. config DRM_EXYNOS_GSC bool "GScaler" depends on VIDEO_SAMSUNG_EXYNOS_GSC=n || COMPILE_TEST select DRM_EXYNOS_IPP help Choose this option if you want to use Exynos GSC for DRM. endif gpu/drm/exynos/Makefile 0000644 00000002455 14722053666 0011127 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. exynosdrm-y := exynos_drm_drv.o exynos_drm_crtc.o exynos_drm_fb.o \ exynos_drm_gem.o exynos_drm_plane.o exynos_drm_dma.o exynosdrm-$(CONFIG_DRM_FBDEV_EMULATION) += exynos_drm_fbdev.o exynosdrm-$(CONFIG_DRM_EXYNOS_FIMD) += exynos_drm_fimd.o exynosdrm-$(CONFIG_DRM_EXYNOS5433_DECON) += exynos5433_drm_decon.o exynosdrm-$(CONFIG_DRM_EXYNOS7_DECON) += exynos7_drm_decon.o exynosdrm-$(CONFIG_DRM_EXYNOS_DPI) += exynos_drm_dpi.o exynosdrm-$(CONFIG_DRM_EXYNOS_DSI) += exynos_drm_dsi.o exynosdrm-$(CONFIG_DRM_EXYNOS_DP) += exynos_dp.o exynosdrm-$(CONFIG_DRM_EXYNOS_MIXER) += exynos_mixer.o exynosdrm-$(CONFIG_DRM_EXYNOS_HDMI) += exynos_hdmi.o exynosdrm-$(CONFIG_DRM_EXYNOS_VIDI) += exynos_drm_vidi.o exynosdrm-$(CONFIG_DRM_EXYNOS_G2D) += exynos_drm_g2d.o exynosdrm-$(CONFIG_DRM_EXYNOS_IPP) += exynos_drm_ipp.o exynosdrm-$(CONFIG_DRM_EXYNOS_FIMC) += exynos_drm_fimc.o exynosdrm-$(CONFIG_DRM_EXYNOS_ROTATOR) += exynos_drm_rotator.o exynosdrm-$(CONFIG_DRM_EXYNOS_SCALER) += exynos_drm_scaler.o exynosdrm-$(CONFIG_DRM_EXYNOS_GSC) += exynos_drm_gsc.o exynosdrm-$(CONFIG_DRM_EXYNOS_MIC) += exynos_drm_mic.o obj-$(CONFIG_DRM_EXYNOS) += exynosdrm.o gpu/drm/tve200/Kconfig 0000644 00000001004 14722053666 0010452 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DRM_TVE200 tristate "DRM Support for Faraday TV Encoder TVE200" depends on DRM depends on CMA depends on ARM || COMPILE_TEST depends on OF select DRM_BRIDGE select DRM_PANEL_BRIDGE select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER select DRM_GEM_CMA_HELPER select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE help Choose this option for DRM support for the Faraday TV Encoder TVE200 Controller. If M is selected the module will be called tve200_drm. gpu/drm/tve200/Makefile 0000644 00000000204 14722053666 0010610 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only tve200_drm-y += tve200_display.o \ tve200_drv.o obj-$(CONFIG_DRM_TVE200) += tve200_drm.o gpu/ipu-v3/Kconfig 0000644 00000000663 14722053666 0010005 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config IMX_IPUV3_CORE tristate "IPUv3 core support" depends on SOC_IMX5 || SOC_IMX6Q || ARCH_MULTIPLATFORM || COMPILE_TEST depends on DRM || !DRM # if DRM=m, this can't be 'y' select BITREVERSE select GENERIC_ALLOCATOR if DRM select GENERIC_IRQ_CHIP help Choose this if you have a i.MX5/6 system and want to use the Image Processing Unit. This option only enables IPU base support. gpu/ipu-v3/Makefile 0000644 00000000464 14722053666 0010141 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_IMX_IPUV3_CORE) += imx-ipu-v3.o imx-ipu-v3-objs := ipu-common.o ipu-cpmem.o ipu-csi.o ipu-dc.o ipu-di.o \ ipu-dp.o ipu-dmfc.o ipu-ic.o ipu-ic-csc.o \ ipu-image-convert.o ipu-smfc.o ipu-vdi.o ifdef CONFIG_DRM imx-ipu-v3-objs += ipu-pre.o ipu-prg.o endif gpu/vga/Kconfig 0000644 00000002206 14722053666 0007432 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VGA_ARB bool "VGA Arbitration" if EXPERT default y depends on (PCI && !S390) help Some "legacy" VGA devices implemented on PCI typically have the same hard-decoded addresses as they did on ISA. When multiple PCI devices are accessed at same time they need some kind of coordination. Please see Documentation/gpu/vgaarbiter.rst for more details. Select this to enable VGA arbiter. config VGA_ARB_MAX_GPUS int "Maximum number of GPUs" default 16 depends on VGA_ARB help Reserves space in the kernel to maintain resource locking for multiple GPUS. The overhead for each GPU is very small. config VGA_SWITCHEROO bool "Laptop Hybrid Graphics - GPU switching support" depends on X86 depends on ACPI depends on PCI depends on (FRAMEBUFFER_CONSOLE=n || FB=y) select VGA_ARB help Many laptops released in 2008/9/10 have two GPUs with a multiplexer to switch between them. This adds support for dynamic switching when X isn't running and delayed switching until the next logoff. This feature is called hybrid graphics, ATI PowerXpress, and Nvidia HybridPower. gpu/vga/Makefile 0000644 00000000174 14722053666 0007571 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VGA_ARB) += vgaarb.o obj-$(CONFIG_VGA_SWITCHEROO) += vga_switcheroo.o gpu/host1x/Kconfig 0000644 00000001265 14722053666 0010107 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config TEGRA_HOST1X tristate "NVIDIA Tegra host1x driver" depends on ARCH_TEGRA || (ARM && COMPILE_TEST) select IOMMU_IOVA if IOMMU_SUPPORT help Driver for the NVIDIA Tegra host1x hardware. The Tegra host1x module is the DMA engine for register access to Tegra's graphics- and multimedia-related modules. The modules served by host1x are referred to as clients. host1x includes some other functionality, such as synchronization. if TEGRA_HOST1X config TEGRA_HOST1X_FIREWALL bool "Enable HOST1X security firewall" default y help Say yes if kernel should protect command streams from tampering. If unsure, choose Y. endif gpu/host1x/Makefile 0000644 00000000431 14722053666 0010236 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 host1x-y = \ bus.o \ syncpt.o \ dev.o \ intr.o \ cdma.o \ channel.o \ job.o \ debug.o \ mipi.o \ hw/host1x01.o \ hw/host1x02.o \ hw/host1x04.o \ hw/host1x05.o \ hw/host1x06.o \ hw/host1x07.o obj-$(CONFIG_TEGRA_HOST1X) += host1x.o gpu/Makefile 0000644 00000000477 14722053666 0007022 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # drm/tegra depends on host1x, so if both drivers are built-in care must be # taken to initialize them in the correct order. Link order is the only way # to ensure this currently. obj-$(CONFIG_TEGRA_HOST1X) += host1x/ obj-y += drm/ vga/ obj-$(CONFIG_IMX_IPUV3_CORE) += ipu-v3/ cdrom/Makefile 0000644 00000000141 14722053666 0007317 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CDROM) += cdrom.o obj-$(CONFIG_GDROM) += gdrom.o sfi/Kconfig 0000644 00000001144 14722053666 0006643 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SFI Configuration # menuconfig SFI bool "SFI (Simple Firmware Interface) Support" ---help--- The Simple Firmware Interface (SFI) provides a lightweight method for platform firmware to pass information to the operating system via static tables in memory. Kernel SFI support is required to boot on SFI-only platforms. Currently, all SFI-only platforms are based on the 2nd generation Intel Atom processor platform, code-named Moorestown. For more information, see http://simplefirmware.org Say 'Y' here to enable the kernel to boot on SFI-only platforms. sfi/Makefile 0000644 00000000121 14722053666 0006772 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += sfi_acpi.o obj-y += sfi_core.o ide/Kconfig 0000644 00000070262 14722053666 0006632 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IDE ATA ATAPI Block device driver configuration # # Select HAVE_IDE if IDE is supported config HAVE_IDE bool menuconfig IDE tristate "ATA/ATAPI/MFM/RLL support (DEPRECATED)" depends on HAVE_IDE depends on BLOCK select BLK_SCSI_REQUEST ---help--- If you say Y here, your kernel will be able to manage ATA/(E)IDE and ATAPI units. The most common cases are IDE hard drives and ATAPI CD-ROM drives. This subsystem is currently in maintenance mode with only bug fix changes applied. Users of ATA hardware are encouraged to migrate to the newer ATA subsystem ("Serial ATA (prod) and Parallel ATA (experimental) drivers") which is more actively maintained. To compile this driver as a module, choose M here: the module will be called ide-core. For further information, please read <file:Documentation/ide/ide.rst>. If unsure, say N. if IDE comment "Please see Documentation/ide/ide.rst for help/info on IDE drives" config IDE_XFER_MODE bool config IDE_TIMINGS bool select IDE_XFER_MODE config IDE_ATAPI bool config IDE_LEGACY bool config BLK_DEV_IDE_SATA bool "Support for SATA (deprecated; conflicts with libata SATA driver)" default n ---help--- There are two drivers for Serial ATA controllers. The main driver, "libata", uses the SCSI subsystem and supports most modern SATA controllers. In order to use it you may take a look at "Serial ATA (prod) and Parallel ATA (experimental) drivers". The IDE driver (which you are currently configuring) supports a few first-generation SATA controllers. In order to eliminate conflicts between the two subsystems, this config option enables the IDE driver's SATA support. Normally this is disabled, as it is preferred that libata supports SATA controllers, and this (IDE) driver supports PATA controllers. If unsure, say N. config IDE_GD tristate "generic ATA/ATAPI disk support" default y help Support for ATA/ATAPI disks (including ATAPI floppy drives). To compile this driver as a module, choose M here. The module will be called ide-gd_mod. If unsure, say Y. config IDE_GD_ATA bool "ATA disk support" depends on IDE_GD default y help This will include support for ATA hard disks. If unsure, say Y. config IDE_GD_ATAPI bool "ATAPI floppy support" depends on IDE_GD select IDE_ATAPI help This will include support for ATAPI floppy drives (i.e. Iomega ZIP or MKE LS-120). For information about jumper settings and the question of when a ZIP drive uses a partition table, see <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>. If unsure, say N. config BLK_DEV_IDECS tristate "PCMCIA IDE support" depends on PCMCIA help Support for Compact Flash cards, outboard IDE disks, tape drives, and CD-ROM drives connected through a PCMCIA card. config BLK_DEV_DELKIN tristate "Cardbus IDE support (Delkin/ASKA/Workbit)" depends on CARDBUS && PCI help Support for Delkin, ASKA, and Workbit Cardbus CompactFlash Adapters. This may also work for similar SD and XD adapters. config BLK_DEV_IDECD tristate "Include IDE/ATAPI CDROM support" depends on BLK_DEV select IDE_ATAPI select CDROM ---help--- If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is a newer protocol used by IDE CD-ROM and TAPE drives, similar to the SCSI protocol. Most new CD-ROM drives use ATAPI, including the NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI double(2X) or better speed drives. If you say Y here, the CD-ROM drive will be identified at boot time along with other IDE devices, as "hdb" or "hdc", or something similar (check the boot messages with dmesg). If this is your only CD-ROM drive, you can say N to all other CD-ROM options, but be sure to say Y or M to "ISO 9660 CD-ROM file system support". To compile this driver as a module, choose M here: the module will be called ide-cd. config BLK_DEV_IDECD_VERBOSE_ERRORS bool "Verbose error logging for IDE/ATAPI CDROM driver" if EXPERT depends on BLK_DEV_IDECD default y help Turn this on to have the driver print out the meanings of the ATAPI error codes. This will use up additional 8kB of kernel-space memory, though. config BLK_DEV_IDETAPE tristate "Include IDE/ATAPI TAPE support" select IDE_ATAPI help If you have an IDE tape drive using the ATAPI protocol, say Y. ATAPI is a newer protocol used by IDE tape and CD-ROM drives, similar to the SCSI protocol. If you have an SCSI tape drive however, you can say N here. You should also say Y if you have an OnStream DI-30 tape drive; this will not work with the SCSI protocol, until there is support for the SC-30 and SC-50 versions. If you say Y here, the tape drive will be identified at boot time along with other IDE devices, as "hdb" or "hdc", or something similar, and will be mapped to a character device such as "ht0" (check the boot messages with dmesg). Be sure to consult the <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.rst> files for usage information. To compile this driver as a module, choose M here: the module will be called ide-tape. config BLK_DEV_IDEACPI bool "IDE ACPI support" depends on ACPI ---help--- Implement ACPI support for generic IDE devices. On modern machines ACPI support is required to properly handle ACPI S3 states. config IDE_TASK_IOCTL bool "IDE Taskfile Access" help This is a direct raw access to the media. It is a complex but elegant solution to test and validate the domain of the hardware and perform below the driver data recovery if needed. This is the most basic form of media-forensics. If you are unsure, say N here. config IDE_PROC_FS bool "legacy /proc/ide/ support" depends on IDE && PROC_FS default y help This option enables support for the various files in /proc/ide. In Linux 2.6 this has been superseded by files in sysfs but many legacy applications rely on this. If unsure say Y. comment "IDE chipset support/bugfixes" config IDE_GENERIC tristate "generic/default IDE chipset support" depends on ALPHA || X86 || IA64 || MIPS || ARCH_RPC default ARM && ARCH_RPC help This is the generic IDE driver. This driver attaches to the fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and so on). Please note that if this driver is built into the kernel or loaded before other ATA (IDE or libata) drivers and the controller is located at legacy ports, this driver may grab those ports and thus can prevent the controller specific driver from attaching. Also, currently, IDE generic doesn't allow IRQ sharing meaning that the IRQs it grabs won't be available to other controllers sharing those IRQs which usually makes drivers for those controllers fail. Generally, it's not a good idea to load IDE generic driver on modern systems. If unsure, say N. config BLK_DEV_PLATFORM tristate "Platform driver for IDE interfaces" help This is the platform IDE driver, used mostly for Memory Mapped IDE devices, like Compact Flashes running in True IDE mode. If unsure, say N. config BLK_DEV_CMD640 tristate "CMD640 chipset bugfix/support" depends on X86 select IDE_TIMINGS ---help--- The CMD-Technologies CMD640 IDE chip is used on many common 486 and Pentium motherboards, usually in combination with a "Neptune" or "SiS" chipset. Unfortunately, it has a number of rather nasty design flaws that can cause severe data corruption under many common conditions. Say Y here to include code which tries to automatically detect and correct the problems under Linux. This option also enables access to the secondary IDE ports in some CMD640 based systems. This driver will work automatically in PCI based systems (most new systems have PCI slots). But if your system uses VESA local bus (VLB) instead of PCI, you must also supply a kernel boot parameter to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man bootparam" or see the documentation of your boot loader about how to pass options to the kernel.) The CMD640 chip is also used on add-in cards by Acculogic, and on the "CSA-6400E PCI to IDE controller" that some people have. For details, read <file:Documentation/ide/ide.rst>. config BLK_DEV_CMD640_ENHANCED bool "CMD640 enhanced support" depends on BLK_DEV_CMD640 help This option includes support for setting/autotuning PIO modes and prefetch on CMD640 IDE interfaces. For details, read <file:Documentation/ide/ide.rst>. If you have a CMD640 IDE interface and your BIOS does not already do this for you, then say Y here. Otherwise say N. config BLK_DEV_IDEPNP tristate "PNP EIDE support" depends on PNP help If you have a PnP (Plug and Play) compatible EIDE card and would like the kernel to automatically detect and activate it, say Y here. config BLK_DEV_IDEDMA_SFF bool if PCI comment "PCI IDE chipsets support" config BLK_DEV_IDEPCI bool config IDEPCI_PCIBUS_ORDER bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)" depends on IDE=y && BLK_DEV_IDEPCI default y help Probe IDE PCI devices in the order in which they appear on the PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device) instead of the order in which IDE PCI host drivers are loaded. Please note that this method of assuring stable naming of IDE devices is unreliable and use other means for achieving it (i.e. udev). If in doubt, say N. # TODO: split it on per host driver config options (or module parameters) config BLK_DEV_OFFBOARD bool "Boot off-board chipsets first support (DEPRECATED)" depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || BLK_DEV_HPT366 || BLK_DEV_PDC202XX_NEW || BLK_DEV_PDC202XX_OLD || BLK_DEV_TC86C001) help Normally, IDE controllers built into the motherboard (on-board controllers) are assigned to ide0 and ide1 while those on add-in PCI cards (off-board controllers) are relegated to ide2 and ide3. Answering Y here will allow you to reverse the situation, with off-board controllers on ide0/1 and on-board controllers on ide2/3. This can improve the usability of some boot managers such as lilo when booting from a drive on an off-board controller. Note that, if you do this, the order of the hd* devices will be rearranged which may require modification of fstab and other files. Please also note that this method of assuring stable naming of IDE devices is unreliable and use other means for achieving it (i.e. udev). If in doubt, say N. config BLK_DEV_GENERIC tristate "Generic PCI IDE Chipset Support" select BLK_DEV_IDEPCI help This option provides generic support for various PCI IDE Chipsets which otherwise might not be supported. config BLK_DEV_OPTI621 tristate "OPTi 82C621 chipset enhanced support" select BLK_DEV_IDEPCI help This is a driver for the OPTi 82C621 EIDE controller. Please read the comments at the top of <file:drivers/ide/opti621.c>. config BLK_DEV_RZ1000 tristate "RZ1000 chipset bugfix/support" depends on X86 select BLK_DEV_IDEPCI help The PC-Technologies RZ1000 IDE chip is used on many common 486 and Pentium motherboards, usually along with the "Neptune" chipset. Unfortunately, it has a rather nasty design flaw that can cause severe data corruption under many conditions. Say Y here to include code which automatically detects and corrects the problem under Linux. This may slow disk throughput by a few percent, but at least things will operate 100% reliably. config BLK_DEV_IDEDMA_PCI bool select BLK_DEV_IDEPCI select BLK_DEV_IDEDMA_SFF config BLK_DEV_AEC62XX tristate "AEC62XX chipset support" select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for Acard AEC62xx (Artop ATP8xx) IDE controllers. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. config BLK_DEV_ALI15X3 tristate "ALI M15x3 chipset support" select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C onboard chipsets. It also tests for Simplex mode and enables normal dual channel support. Please read the comments at the top of <file:drivers/ide/alim15x3.c>. If unsure, say N. config BLK_DEV_AMD74XX tristate "AMD and nVidia IDE support" depends on !ARM select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for AMD-7xx and AMD-8111 chips and also for the nVidia nForce chip. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. config BLK_DEV_ATIIXP tristate "ATI IXP chipset IDE support" depends on X86 select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for ATI IXP chipset. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. Say Y here if you have an ATI IXP chipset IDE controller. config BLK_DEV_CMD64X tristate "CMD64{3|6|8|9} chipset support" select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help Say Y here if you have an IDE controller which uses any of these chipsets: CMD643, CMD646, or CMD648. config BLK_DEV_TRIFLEX tristate "Compaq Triflex IDE support" select BLK_DEV_IDEDMA_PCI help Say Y here if you have a Compaq Triflex IDE controller, such as those commonly found on Compaq Pentium-Pro systems config BLK_DEV_CY82C693 tristate "CY82C693 chipset support" depends on ALPHA select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver adds detection and support for the CY82C693 chipset used on Digital's PC-Alpha 164SX boards. config BLK_DEV_CS5520 tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)" depends on X86_32 || COMPILE_TEST select BLK_DEV_IDEDMA_PCI help Include support for PIO tuning and virtual DMA on the Cyrix MediaGX 5510/5520 chipset. This will automatically be detected and configured if found. It is safe to say Y to this question. config BLK_DEV_CS5530 tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support" depends on X86_32 || COMPILE_TEST select BLK_DEV_IDEDMA_PCI help Include support for UDMA on the Cyrix MediaGX 5530 chipset. This will automatically be detected and configured if found. It is safe to say Y to this question. config BLK_DEV_CS5535 tristate "AMD CS5535 chipset support" depends on X86_32 select BLK_DEV_IDEDMA_PCI help Include support for UDMA on the NSC/AMD CS5535 companion chipset. This will automatically be detected and configured if found. It is safe to say Y to this question. config BLK_DEV_CS5536 tristate "CS5536 chipset support" depends on X86_32 select BLK_DEV_IDEDMA_PCI help This option enables support for the AMD CS5536 companion chip used with the Geode LX processor family. If unsure, say N. config BLK_DEV_HPT366 tristate "HPT36X/37X chipset support" select BLK_DEV_IDEDMA_PCI help HPT366 is an Ultra DMA chipset for ATA-66. HPT368 is an Ultra DMA chipset for ATA-66 RAID Based. HPT370 is an Ultra DMA chipset for ATA-100. HPT372 is an Ultra DMA chipset for ATA-100. HPT374 is an Ultra DMA chipset for ATA-100. This driver adds up to 4 more EIDE devices sharing a single interrupt. The HPT366 chipset in its current form is bootable. One solution for this problem are special LILO commands for redirecting the reference to device 0x80. The other solution is to say Y to "Boot off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless your mother board has the chipset natively mounted. Regardless one should use the fore mentioned option and call at LILO. This driver requires dynamic tuning of the chipset during the ide-probe at boot. It is reported to support DVD II drives, by the manufacturer. config BLK_DEV_JMICRON tristate "JMicron JMB36x support" select BLK_DEV_IDEDMA_PCI help Basic support for the JMicron ATA controllers. For full support use the libata drivers. config BLK_DEV_SC1200 tristate "National SCx200 chipset support" depends on X86_32 || COMPILE_TEST select BLK_DEV_IDEDMA_PCI help This driver adds support for the on-board IDE controller on the National SCx200 series of embedded x86 "Geode" systems. config BLK_DEV_PIIX tristate "Intel PIIX/ICH chipsets support" select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for Intel PIIX and ICH chips. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. config BLK_DEV_IT8172 tristate "IT8172 IDE support" select BLK_DEV_IDEDMA_PCI help This driver adds support for the IDE controller on the IT8172 System Controller. config BLK_DEV_IT8213 tristate "IT8213 IDE support" select BLK_DEV_IDEDMA_PCI help This driver adds support for the ITE 8213 IDE controller. config BLK_DEV_IT821X tristate "IT821X IDE support" select BLK_DEV_IDEDMA_PCI help This driver adds support for the ITE 8211 IDE controller and the IT 8212 IDE RAID controller in both RAID and pass-through mode. config BLK_DEV_NS87415 tristate "NS87415 chipset support" select BLK_DEV_IDEDMA_PCI help This driver adds detection and support for the NS87415 chip (used mainly on SPARC64 and PA-RISC machines). Please read the comments at the top of <file:drivers/ide/ns87415.c>. config BLK_DEV_PDC202XX_OLD tristate "PROMISE PDC202{46|62|65|67} support" select BLK_DEV_IDEDMA_PCI help Promise Ultra33 or PDC20246 Promise Ultra66 or PDC20262 Promise Ultra100 or PDC20265/PDC20267/PDC20268 This driver adds up to 4 more EIDE devices sharing a single interrupt. This add-on card is a bootable PCI UDMA controller. Since multiple cards can be installed and there are BIOS ROM problems that happen if the BIOS revisions of all installed cards (three-max) do not match, the driver attempts to do dynamic tuning of the chipset at boot-time for max-speed. Ultra33 BIOS 1.25 or newer is required for more than one card. Please read the comments at the top of <file:drivers/ide/pdc202xx_old.c>. If unsure, say N. config BLK_DEV_PDC202XX_NEW tristate "PROMISE PDC202{68|69|70|71|75|76|77} support" select BLK_DEV_IDEDMA_PCI config BLK_DEV_SVWKS tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support" select BLK_DEV_IDEDMA_PCI help This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5 chipsets. config BLK_DEV_SIIMAGE tristate "Silicon Image chipset support" select BLK_DEV_IDEDMA_PCI help This driver adds PIO/(U)DMA support for the SI CMD680 and SII 3112 (Serial ATA) chips. config BLK_DEV_SIS5513 tristate "SiS5513 chipset support" depends on X86 select BLK_DEV_IDEDMA_PCI help This driver ensures (U)DMA support for SIS5513 chipset family based mainboards. The following chipsets are supported: ATA16: SiS5511, SiS5513 ATA33: SiS5591, SiS5597, SiS5598, SiS5600 ATA66: SiS530, SiS540, SiS620, SiS630, SiS640 ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740, SiS745, SiS750 Please read the comments at the top of <file:drivers/ide/sis5513.c>. config BLK_DEV_SL82C105 tristate "Winbond SL82c105 support" depends on (PPC || ARM) select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help If you have a Winbond SL82c105 IDE controller, say Y here to enable special configuration for this chip. This is common on various CHRP motherboards, but could be used elsewhere. If in doubt, say Y. config BLK_DEV_SLC90E66 tristate "SLC90E66 chipset support" select BLK_DEV_IDEDMA_PCI help This driver ensures (U)DMA support for Victory66 SouthBridges for SMsC with Intel NorthBridges. This is an Ultra66 based chipset. The nice thing about it is that you can mix Ultra/DMA/PIO devices and it will handle timing cycles. Since this is an improved look-a-like to the PIIX4 it should be a nice addition. Please read the comments at the top of <file:drivers/ide/slc90e66.c>. config BLK_DEV_TRM290 tristate "Tekram TRM290 chipset support" select BLK_DEV_IDEDMA_PCI help This driver adds support for bus master DMA transfers using the Tekram TRM290 PCI IDE chip. Volunteers are needed for further tweaking and development. Please read the comments at the top of <file:drivers/ide/trm290.c>. config BLK_DEV_VIA82CXXX tristate "VIA82CXXX chipset support" select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver adds explicit support for VIA BusMastering IDE chips. This allows the kernel to change PIO, DMA and UDMA speeds and to configure the chip to optimum performance. config BLK_DEV_TC86C001 tristate "Toshiba TC86C001 support" select BLK_DEV_IDEDMA_PCI help This driver adds support for Toshiba TC86C001 GOKU-S chip. endif # TODO: BLK_DEV_IDEDMA_PCI -> BLK_DEV_IDEDMA_SFF config BLK_DEV_IDE_PMAC tristate "PowerMac on-board IDE support" depends on PPC_PMAC select IDE_TIMINGS select BLK_DEV_IDEDMA_PCI help This driver provides support for the on-board IDE controller on most of the recent Apple Power Macintoshes and PowerBooks. If unsure, say Y. config BLK_DEV_IDE_PMAC_ATA100FIRST bool "Probe on-board ATA/100 (Kauai) first" depends on BLK_DEV_IDE_PMAC help This option will cause the ATA/100 controller found in UniNorth2 based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...) to be probed before the ATA/66 and ATA/33 controllers. Without these, those machine used to have the hard disk on hdc and the CD-ROM on hda. This option changes this to more natural hda for hard disk and hdc for CD-ROM. config BLK_DEV_IDE_AU1XXX bool "IDE for AMD Alchemy Au1200" depends on MIPS_ALCHEMY select IDE_XFER_MODE choice prompt "IDE Mode for AMD Alchemy Au1200" default BLK_DEV_IDE_AU1XXX_PIO_DBDMA depends on BLK_DEV_IDE_AU1XXX config BLK_DEV_IDE_AU1XXX_PIO_DBDMA bool "PIO+DbDMA IDE for AMD Alchemy Au1200" config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200" depends on BLK_DEV_IDE_AU1XXX endchoice config BLK_DEV_IDE_TX4938 tristate "TX4938 internal IDE support" depends on SOC_TX4938 select IDE_TIMINGS config BLK_DEV_IDE_TX4939 tristate "TX4939 internal IDE support" depends on SOC_TX4939 select BLK_DEV_IDEDMA_SFF config BLK_DEV_IDE_ICSIDE tristate "ICS IDE interface support" depends on ARM && ARCH_ACORN help On Acorn systems, say Y here if you wish to use the ICS IDE interface card. This is not required for ICS partition support. If you are unsure, say N to this. config BLK_DEV_IDEDMA_ICS bool "ICS DMA support" depends on BLK_DEV_IDE_ICSIDE help Say Y here if you want to add DMA (Direct Memory Access) support to the ICS IDE driver. config BLK_DEV_IDE_RAPIDE tristate "RapIDE interface support" depends on ARM && ARCH_ACORN help Say Y here if you want to support the Yellowstone RapIDE controller manufactured for use with Acorn computers. config BLK_DEV_GAYLE tristate "Amiga Gayle IDE interface support" depends on AMIGA help This is the IDE driver for the Amiga Gayle IDE interface. It supports both the `A1200 style' and `A4000 style' of the Gayle IDE interface, This includes on-board IDE interfaces on some Amiga models (A600, A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion bus (M-Tech E-Matrix 530 expansion card). It also provides support for the so-called `IDE doublers' (made by various manufacturers, e.g. Eyetech) that can be connected to the on-board IDE interface of some Amiga models. Using such an IDE doubler, you can connect up to four instead of two IDE devices to the Amiga's on-board IDE interface. The feature is enabled at kernel runtime using the "gayle.doubler" kernel boot parameter. Say Y if you have an Amiga with a Gayle IDE interface and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected to it. Note that you also have to enable Zorro bus support if you want to use Gayle IDE interfaces on the Zorro expansion bus. config BLK_DEV_BUDDHA tristate "Buddha/Catweasel/X-Surf IDE interface support" depends on ZORRO help This is the IDE driver for the IDE interfaces on the Buddha, Catweasel and X-Surf expansion boards. It supports up to two interfaces on the Buddha, three on the Catweasel and two on the X-Surf. Say Y if you have a Buddha or Catweasel expansion board and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected to one of its IDE interfaces. config BLK_DEV_FALCON_IDE tristate "Falcon IDE interface support" depends on ATARI help This is the IDE driver for the on-board IDE interface on the Atari Falcon. Say Y if you have a Falcon and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected to the on-board IDE interface. config BLK_DEV_MAC_IDE tristate "Macintosh Quadra/Powerbook IDE interface support" depends on MAC help This is the IDE driver for the on-board IDE interface on some m68k Macintosh models. It supports both the `Quadra style' (used in Quadra/ Centris 630 and Performa 588 models) and `Powerbook style' (used in the Powerbook 150 and 190 models) IDE interface. Say Y if you have such an Macintosh model and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected to the on-board IDE interface. config BLK_DEV_Q40IDE tristate "Q40/Q60 IDE interface support" depends on Q40 help Enable the on-board IDE controller in the Q40/Q60. This should normally be on; disable it only if you are running a custom hard drive subsystem through an expansion card. config BLK_DEV_PALMCHIP_BK3710 tristate "Palmchip bk3710 IDE controller support" depends on ARCH_DAVINCI select IDE_TIMINGS select BLK_DEV_IDEDMA_SFF help Say Y here if you want to support the onchip IDE controller on the TI DaVinci SoC # no isa -> no vlb if ISA && (ALPHA || X86 || MIPS) comment "Other IDE chipsets support" comment "Note: most of these also require special kernel boot parameters" config BLK_DEV_4DRIVES tristate "Generic 4 drives/port support" help Certain older chipsets, including the Tekram 690CD, use a single set of I/O ports at 0x1f0 to control up to four drives, instead of the customary two drives per port. Support for this can be enabled at runtime using the "ide-4drives.probe" kernel boot parameter if you say Y here. config BLK_DEV_ALI14XX tristate "ALI M14xx support" select IDE_TIMINGS select IDE_LEGACY help This driver is enabled at runtime using the "ali14xx.probe" kernel boot parameter. It enables support for the secondary IDE interface of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster I/O speeds to be set as well. See the files <file:Documentation/ide/ide.rst> and <file:drivers/ide/ali14xx.c> for more info. config BLK_DEV_DTC2278 tristate "DTC-2278 support" select IDE_XFER_MODE select IDE_LEGACY help This driver is enabled at runtime using the "dtc2278.probe" kernel boot parameter. It enables support for the secondary IDE interface of the DTC-2278 card, and permits faster I/O speeds to be set as well. See the <file:Documentation/ide/ide.rst> and <file:drivers/ide/dtc2278.c> files for more info. config BLK_DEV_HT6560B tristate "Holtek HT6560B support" select IDE_TIMINGS select IDE_LEGACY help This driver is enabled at runtime using the "ht6560b.probe" kernel boot parameter. It enables support for the secondary IDE interface of the Holtek card, and permits faster I/O speeds to be set as well. See the <file:Documentation/ide/ide.rst> and <file:drivers/ide/ht6560b.c> files for more info. config BLK_DEV_QD65XX tristate "QDI QD65xx support" select IDE_TIMINGS select IDE_LEGACY help This driver is enabled at runtime using the "qd65xx.probe" kernel boot parameter. It permits faster I/O speeds to be set. See the <file:Documentation/ide/ide.rst> and <file:drivers/ide/qd65xx.c> for more info. config BLK_DEV_UMC8672 tristate "UMC-8672 support" select IDE_XFER_MODE select IDE_LEGACY help This driver is enabled at runtime using the "umc8672.probe" kernel boot parameter. It enables support for the secondary IDE interface of the UMC-8672, and permits faster I/O speeds to be set as well. See the files <file:Documentation/ide/ide.rst> and <file:drivers/ide/umc8672.c> for more info. endif config BLK_DEV_IDEDMA def_bool BLK_DEV_IDEDMA_SFF || \ BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA select IDE_XFER_MODE endif # IDE ide/Makefile 0000644 00000007514 14722053666 0006767 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # link order is important here # ccflags-y := -Idrivers/ide ide-core-y += ide.o ide-ioctls.o ide-io.o ide-iops.o ide-lib.o ide-probe.o \ ide-taskfile.o ide-pm.o ide-park.o ide-sysfs.o ide-devsets.o \ ide-io-std.o ide-eh.o # core IDE code ide-core-$(CONFIG_IDE_XFER_MODE) += ide-pio-blacklist.o ide-xfer-mode.o ide-core-$(CONFIG_IDE_TIMINGS) += ide-timings.o ide-core-$(CONFIG_IDE_ATAPI) += ide-atapi.o ide-core-$(CONFIG_BLK_DEV_IDEPCI) += setup-pci.o ide-core-$(CONFIG_BLK_DEV_IDEDMA) += ide-dma.o ide-core-$(CONFIG_BLK_DEV_IDEDMA_SFF) += ide-dma-sff.o ide-core-$(CONFIG_IDE_PROC_FS) += ide-proc.o ide-core-$(CONFIG_BLK_DEV_IDEACPI) += ide-acpi.o ide-core-$(CONFIG_IDE_LEGACY) += ide-legacy.o obj-$(CONFIG_IDE) += ide-core.o obj-$(CONFIG_BLK_DEV_ALI14XX) += ali14xx.o obj-$(CONFIG_BLK_DEV_UMC8672) += umc8672.o obj-$(CONFIG_BLK_DEV_DTC2278) += dtc2278.o obj-$(CONFIG_BLK_DEV_HT6560B) += ht6560b.o obj-$(CONFIG_BLK_DEV_QD65XX) += qd65xx.o obj-$(CONFIG_BLK_DEV_4DRIVES) += ide-4drives.o obj-$(CONFIG_BLK_DEV_GAYLE) += gayle.o obj-$(CONFIG_BLK_DEV_FALCON_IDE) += falconide.o obj-$(CONFIG_BLK_DEV_MAC_IDE) += macide.o obj-$(CONFIG_BLK_DEV_Q40IDE) += q40ide.o obj-$(CONFIG_BLK_DEV_BUDDHA) += buddha.o obj-$(CONFIG_BLK_DEV_AEC62XX) += aec62xx.o obj-$(CONFIG_BLK_DEV_ALI15X3) += alim15x3.o obj-$(CONFIG_BLK_DEV_AMD74XX) += amd74xx.o obj-$(CONFIG_BLK_DEV_ATIIXP) += atiixp.o obj-$(CONFIG_BLK_DEV_CMD64X) += cmd64x.o obj-$(CONFIG_BLK_DEV_CS5520) += cs5520.o obj-$(CONFIG_BLK_DEV_CS5530) += cs5530.o obj-$(CONFIG_BLK_DEV_CS5535) += cs5535.o obj-$(CONFIG_BLK_DEV_CS5536) += cs5536.o obj-$(CONFIG_BLK_DEV_SC1200) += sc1200.o obj-$(CONFIG_BLK_DEV_CY82C693) += cy82c693.o obj-$(CONFIG_BLK_DEV_DELKIN) += delkin_cb.o obj-$(CONFIG_BLK_DEV_HPT366) += hpt366.o obj-$(CONFIG_BLK_DEV_IT8172) += it8172.o obj-$(CONFIG_BLK_DEV_IT8213) += it8213.o obj-$(CONFIG_BLK_DEV_IT821X) += it821x.o obj-$(CONFIG_BLK_DEV_JMICRON) += jmicron.o obj-$(CONFIG_BLK_DEV_NS87415) += ns87415.o obj-$(CONFIG_BLK_DEV_OPTI621) += opti621.o obj-$(CONFIG_BLK_DEV_PDC202XX_OLD) += pdc202xx_old.o obj-$(CONFIG_BLK_DEV_PDC202XX_NEW) += pdc202xx_new.o obj-$(CONFIG_BLK_DEV_PIIX) += piix.o obj-$(CONFIG_BLK_DEV_RZ1000) += rz1000.o obj-$(CONFIG_BLK_DEV_SVWKS) += serverworks.o obj-$(CONFIG_BLK_DEV_SIIMAGE) += siimage.o obj-$(CONFIG_BLK_DEV_SIS5513) += sis5513.o obj-$(CONFIG_BLK_DEV_SL82C105) += sl82c105.o obj-$(CONFIG_BLK_DEV_SLC90E66) += slc90e66.o obj-$(CONFIG_BLK_DEV_TC86C001) += tc86c001.o obj-$(CONFIG_BLK_DEV_TRIFLEX) += triflex.o obj-$(CONFIG_BLK_DEV_TRM290) += trm290.o obj-$(CONFIG_BLK_DEV_VIA82CXXX) += via82cxxx.o # Must appear at the end of the block obj-$(CONFIG_BLK_DEV_GENERIC) += ide-pci-generic.o obj-$(CONFIG_IDEPCI_PCIBUS_ORDER) += ide-scan-pci.o obj-$(CONFIG_BLK_DEV_CMD640) += cmd640.o obj-$(CONFIG_BLK_DEV_IDE_PMAC) += pmac.o obj-$(CONFIG_IDE_GENERIC) += ide-generic.o obj-$(CONFIG_BLK_DEV_IDEPNP) += ide-pnp.o ide-gd_mod-y += ide-gd.o ide-cd_mod-y += ide-cd.o ide-cd_ioctl.o ide-cd_verbose.o ifeq ($(CONFIG_IDE_GD_ATA), y) ide-gd_mod-y += ide-disk.o ide-disk_ioctl.o ifeq ($(CONFIG_IDE_PROC_FS), y) ide-gd_mod-y += ide-disk_proc.o endif endif ifeq ($(CONFIG_IDE_GD_ATAPI), y) ide-gd_mod-y += ide-floppy.o ide-floppy_ioctl.o ifeq ($(CONFIG_IDE_PROC_FS), y) ide-gd_mod-y += ide-floppy_proc.o endif endif obj-$(CONFIG_IDE_GD) += ide-gd_mod.o obj-$(CONFIG_BLK_DEV_IDECD) += ide-cd_mod.o obj-$(CONFIG_BLK_DEV_IDETAPE) += ide-tape.o obj-$(CONFIG_BLK_DEV_IDECS) += ide-cs.o obj-$(CONFIG_BLK_DEV_PLATFORM) += ide_platform.o obj-$(CONFIG_BLK_DEV_IDE_ICSIDE) += icside.o obj-$(CONFIG_BLK_DEV_IDE_RAPIDE) += rapide.o obj-$(CONFIG_BLK_DEV_PALMCHIP_BK3710) += palm_bk3710.o obj-$(CONFIG_BLK_DEV_IDE_AU1XXX) += au1xxx-ide.o obj-$(CONFIG_BLK_DEV_IDE_TX4938) += tx4938ide.o obj-$(CONFIG_BLK_DEV_IDE_TX4939) += tx4939ide.o acpi/nfit/Kconfig 0000644 00000001762 14722053666 0007744 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config ACPI_NFIT tristate "ACPI NVDIMM Firmware Interface Table (NFIT)" depends on PHYS_ADDR_T_64BIT depends on BLK_DEV depends on ARCH_HAS_PMEM_API select LIBNVDIMM help Infrastructure to probe ACPI 6 compliant platforms for NVDIMMs (NFIT) and register a libnvdimm device tree. In addition to storage devices this also enables libnvdimm to pass ACPI._DSM messages for platform/dimm configuration. To compile this driver as a module, choose M here: the module will be called nfit. config NFIT_SECURITY_DEBUG bool "Enable debug for NVDIMM security commands" depends on ACPI_NFIT help Some NVDIMM devices and controllers support encryption and other security features. The payloads for the commands that enable those features may contain sensitive clear-text security material. Disable debug of those command payloads by default. If you are a kernel developer actively working on NVDIMM security enabling say Y, otherwise say N. acpi/nfit/Makefile 0000644 00000000215 14722053666 0010071 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ACPI_NFIT) := nfit.o nfit-y := core.o nfit-y += intel.o nfit-$(CONFIG_X86_MCE) += mce.o acpi/arm64/Kconfig 0000644 00000000173 14722053666 0007730 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ACPI Configuration for ARM64 # config ACPI_IORT bool config ACPI_GTDT bool acpi/arm64/Makefile 0000644 00000000156 14722053666 0010066 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ACPI_IORT) += iort.o obj-$(CONFIG_ACPI_GTDT) += gtdt.o acpi/Kconfig 0000644 00000045722 14722053666 0007010 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # ACPI Configuration # config ARCH_SUPPORTS_ACPI bool menuconfig ACPI bool "ACPI (Advanced Configuration and Power Interface) Support" depends on ARCH_SUPPORTS_ACPI select PNP select NLS default y if X86 help Advanced Configuration and Power Interface (ACPI) support for Linux requires an ACPI-compliant platform (hardware/firmware), and assumes the presence of OS-directed configuration and power management (OSPM) software. This option will enlarge your kernel by about 70K. Linux ACPI provides a robust functional replacement for several legacy configuration and power management interfaces, including the Plug-and-Play BIOS specification (PnP BIOS), the MultiProcessor Specification (MPS), and the Advanced Power Management (APM) specification. If both ACPI and APM support are configured, ACPI is used. The project home page for the Linux ACPI subsystem is here: <https://01.org/linux-acpi> Linux support for ACPI is based on Intel Corporation's ACPI Component Architecture (ACPI CA). For more information on the ACPI CA, see: <http://acpica.org/> ACPI is an open industry specification originally co-developed by Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Currently, it is developed by the ACPI Specification Working Group (ASWG) under the UEFI Forum and any UEFI member can join the ASWG and contribute to the ACPI specification. The specification is available at: <http://www.acpi.info> <http://www.uefi.org/acpi/specs> if ACPI config ACPI_LEGACY_TABLES_LOOKUP bool config ARCH_MIGHT_HAVE_ACPI_PDC bool config ACPI_GENERIC_GSI bool config ACPI_SYSTEM_POWER_STATES_SUPPORT bool config ACPI_CCA_REQUIRED bool config ACPI_DEBUGGER bool "AML debugger interface" select ACPI_DEBUG help Enable in-kernel debugging of AML facilities: statistics, internal object dump, single step control method execution. This is still under development, currently enabling this only results in the compilation of the ACPICA debugger files. if ACPI_DEBUGGER config ACPI_DEBUGGER_USER tristate "Userspace debugger accessiblity" depends on DEBUG_FS help Export /sys/kernel/debug/acpi/acpidbg for userspace utilities to access the debugger functionalities. endif config ACPI_SPCR_TABLE bool "ACPI Serial Port Console Redirection Support" default y if X86 help Enable support for Serial Port Console Redirection (SPCR) Table. This table provides information about the configuration of the earlycon console. config ACPI_LPIT bool depends on X86_64 default y config ACPI_SLEEP bool depends on SUSPEND || HIBERNATION depends on ACPI_SYSTEM_POWER_STATES_SUPPORT default y config ACPI_PROCFS_POWER bool "Deprecated power /proc/acpi directories" depends on X86 && PROC_FS help For backwards compatibility, this option allows deprecated power /proc/acpi/ directories to exist, even when they have been replaced by functions in /sys. The deprecated directories (and their replacements) include: /proc/acpi/battery/* (/sys/class/power_supply/*) and /proc/acpi/ac_adapter/* (sys/class/power_supply/*). This option has no effect on /proc/acpi/ directories and functions which do not yet exist in /sys. This option, together with the proc directories, will be deleted in the future. Say N to delete power /proc/acpi/ directories that have moved to /sys. config ACPI_REV_OVERRIDE_POSSIBLE bool "Allow supported ACPI revision to be overridden" depends on X86 default y help The platform firmware on some systems expects Linux to return "5" as the supported ACPI revision which makes it expose system configuration information in a special way. For example, based on what ACPI exports as the supported revision, Dell XPS 13 (2015) configures its audio device to either work in HDA mode or in I2S mode, where the former is supposed to be used on Linux until the latter is fully supported (in the kernel as well as in user space). This option enables a DMI-based quirk for the above Dell machine (so that HDA audio is exposed by the platform firmware to the kernel) and makes it possible to force the kernel to return "5" as the supported ACPI revision via the "acpi_rev_override" command line switch. config ACPI_EC_DEBUGFS tristate "EC read/write access through /sys/kernel/debug/ec" help Say N to disable Embedded Controller /sys/kernel/debug interface Be aware that using this interface can confuse your Embedded Controller in a way that a normal reboot is not enough. You then have to power off your system, and remove the laptop battery for some seconds. An Embedded Controller typically is available on laptops and reads sensor values like battery state and temperature. The kernel accesses the EC through ACPI parsed code provided by BIOS tables. This option allows to access the EC directly without ACPI code being involved. Thus this option is a debug option that helps to write ACPI drivers and can be used to identify ACPI code or EC firmware bugs. config ACPI_AC tristate "AC Adapter" select POWER_SUPPLY default y help This driver supports the AC Adapter object, which indicates whether a system is on AC or not. If you have a system that can switch between A/C and battery, say Y. To compile this driver as a module, choose M here: the module will be called ac. config ACPI_BATTERY tristate "Battery" select POWER_SUPPLY default y help This driver adds support for battery information through /proc/acpi/battery. If you have a mobile system with a battery, say Y. To compile this driver as a module, choose M here: the module will be called battery. config ACPI_BUTTON tristate "Button" depends on INPUT default y help This driver handles events on the power, sleep, and lid buttons. A daemon reads events from input devices or via netlink and performs user-defined actions such as shutting down the system. This is necessary for software-controlled poweroff. To compile this driver as a module, choose M here: the module will be called button. config ACPI_VIDEO tristate "Video" depends on X86 && BACKLIGHT_CLASS_DEVICE depends on INPUT select THERMAL help This driver implements the ACPI Extensions For Display Adapters for integrated graphics devices on motherboard, as specified in ACPI 2.0 Specification, Appendix B. This supports basic operations such as defining the video POST device, retrieving EDID information, and setting up a video output. To compile this driver as a module, choose M here: the module will be called video. config ACPI_FAN tristate "Fan" depends on THERMAL default y help This driver supports ACPI fan devices, allowing user-mode applications to perform basic fan control (on, off, status). To compile this driver as a module, choose M here: the module will be called fan. config ACPI_TAD tristate "ACPI Time and Alarm (TAD) Device Support" depends on SYSFS && PM_SLEEP help The ACPI Time and Alarm (TAD) device is an alternative to the Real Time Clock (RTC). Its wake timers allow the system to transition from the S3 (or optionally S4/S5) state to S0 state after a time period elapses. In comparison with the RTC Alarm, the TAD provides a larger scale of flexibility in the wake timers. The time capabilities of the TAD maintain the time of day information across platform power transitions, and keep track of time even when the platform is turned off. config ACPI_DOCK bool "Dock" help This driver supports ACPI-controlled docking stations and removable drive bays such as the IBM Ultrabay and the Dell Module Bay. config ACPI_CPU_FREQ_PSS bool select THERMAL config ACPI_PROCESSOR_CSTATE def_bool y depends on IA64 || X86 config ACPI_PROCESSOR_IDLE bool select CPU_IDLE config ACPI_MCFG bool config ACPI_CPPC_LIB bool depends on ACPI_PROCESSOR select MAILBOX select PCC help If this option is enabled, this file implements common functionality to parse CPPC tables as described in the ACPI 5.1+ spec. The routines implemented are meant to be used by other drivers to control CPU performance using CPPC semantics. If your platform does not support CPPC in firmware, leave this option disabled. config ACPI_PROCESSOR tristate "Processor" depends on X86 || IA64 || ARM64 select ACPI_PROCESSOR_IDLE select ACPI_CPU_FREQ_PSS if X86 || IA64 default y help This driver adds support for the ACPI Processor package. It is required by several flavors of cpufreq performance-state, thermal, throttling and idle drivers. To compile this driver as a module, choose M here: the module will be called processor. config ACPI_IPMI tristate "IPMI" depends on IPMI_HANDLER help This driver enables the ACPI to access the BMC controller. And it uses the IPMI request/response message to communicate with BMC controller, which can be found on on the server. To compile this driver as a module, choose M here: the module will be called as acpi_ipmi. config ACPI_HOTPLUG_CPU bool depends on ACPI_PROCESSOR && HOTPLUG_CPU select ACPI_CONTAINER default y config ACPI_PROCESSOR_AGGREGATOR tristate "Processor Aggregator" depends on ACPI_PROCESSOR depends on X86 help ACPI 4.0 defines processor Aggregator, which enables OS to perform specific processor configuration and control that applies to all processors in the platform. Currently only logical processor idling is defined, which is to reduce power consumption. This driver supports the new device. config ACPI_THERMAL tristate "Thermal Zone" depends on ACPI_PROCESSOR select THERMAL default y help This driver supports ACPI thermal zones. Most mobile and some desktop systems support ACPI thermal zones. It is HIGHLY recommended that this option be enabled, as your processor(s) may be damaged without it. To compile this driver as a module, choose M here: the module will be called thermal. config ACPI_NUMA bool "NUMA support" depends on NUMA depends on (X86 || IA64 || ARM64) default y if IA64 || ARM64 config ACPI_CUSTOM_DSDT_FILE string "Custom DSDT Table file to include" default "" depends on !STANDALONE help This option supports a custom DSDT by linking it into the kernel. See Documentation/admin-guide/acpi/dsdt-override.rst Enter the full path name to the file which includes the AmlCode or dsdt_aml_code declaration. If unsure, don't enter a file name. config ACPI_CUSTOM_DSDT bool default ACPI_CUSTOM_DSDT_FILE != "" config ARCH_HAS_ACPI_TABLE_UPGRADE def_bool n config ACPI_TABLE_UPGRADE bool "Allow upgrading ACPI tables via initrd" depends on BLK_DEV_INITRD && ARCH_HAS_ACPI_TABLE_UPGRADE default y help This option provides functionality to upgrade arbitrary ACPI tables via initrd. No functional change if no ACPI tables are passed via initrd, therefore it's safe to say Y. See Documentation/admin-guide/acpi/initrd_table_override.rst for details config ACPI_TABLE_OVERRIDE_VIA_BUILTIN_INITRD bool "Override ACPI tables from built-in initrd" depends on ACPI_TABLE_UPGRADE depends on INITRAMFS_SOURCE!="" && INITRAMFS_COMPRESSION="" help This option provides functionality to override arbitrary ACPI tables from built-in uncompressed initrd. See Documentation/admin-guide/acpi/initrd_table_override.rst for details config ACPI_DEBUG bool "Debug Statements" help The ACPI subsystem can produce debug output. Saying Y enables this output and increases the kernel size by around 50K. Use the acpi.debug_layer and acpi.debug_level kernel command-line parameters documented in Documentation/firmware-guide/acpi/debug.rst and Documentation/admin-guide/kernel-parameters.rst to control the type and amount of debug output. config ACPI_PCI_SLOT bool "PCI slot detection driver" depends on SYSFS && PCI help This driver creates entries in /sys/bus/pci/slots/ for all PCI slots in the system. This can help correlate PCI bus addresses, i.e., segment/bus/device/function tuples, with physical slots in the system. If you are unsure, say N. config ACPI_CONTAINER bool "Container and Module Devices" default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU) help This driver supports ACPI Container and Module devices (IDs ACPI0004, PNP0A05, and PNP0A06). This helps support hotplug of nodes, CPUs, and memory. To compile this driver as a module, choose M here: the module will be called container. config ACPI_HOTPLUG_MEMORY bool "Memory Hotplug" depends on MEMORY_HOTPLUG help This driver supports ACPI memory hotplug. The driver fields notifications on ACPI memory devices (PNP0C80), which represent memory ranges that may be onlined or offlined during runtime. If your hardware and firmware do not support adding or removing memory devices at runtime, you need not enable this driver. To compile this driver as a module, choose M here: the module will be called acpi_memhotplug. config ACPI_HOTPLUG_IOAPIC bool depends on PCI depends on X86_IO_APIC default y config ACPI_SBS tristate "Smart Battery System" depends on X86 select POWER_SUPPLY help This driver supports the Smart Battery System, another type of access to battery information, found on some laptops. To compile this driver as a module, choose M here: the modules will be called sbs and sbshc. config ACPI_HED tristate "Hardware Error Device" help This driver supports the Hardware Error Device (PNP0C33), which is used to report some hardware errors notified via SCI, mainly the corrected errors. config ACPI_CUSTOM_METHOD tristate "Allow ACPI methods to be inserted/replaced at run time" depends on DEBUG_FS help This debug facility allows ACPI AML methods to be inserted and/or replaced without rebooting the system. For details refer to: Documentation/firmware-guide/acpi/method-customizing.rst. NOTE: This option is security sensitive, because it allows arbitrary kernel memory to be written to by root (uid=0) users, allowing them to bypass certain security measures (e.g. if root is not allowed to load additional kernel modules after boot, this feature may be used to override that restriction). config ACPI_BGRT bool "Boottime Graphics Resource Table support" depends on EFI && (X86 || ARM64) help This driver adds support for exposing the ACPI Boottime Graphics Resource Table, which allows the operating system to obtain data from the firmware boot splash. It will appear under /sys/firmware/acpi/bgrt/ . config ACPI_REDUCED_HARDWARE_ONLY bool "Hardware-reduced ACPI support only" if EXPERT def_bool n help This config item changes the way the ACPI code is built. When this option is selected, the kernel will use a specialized version of ACPICA that ONLY supports the ACPI "reduced hardware" mode. The resulting kernel will be smaller but it will also be restricted to running in ACPI reduced hardware mode ONLY. If you are unsure what to do, do not enable this option. source "drivers/acpi/nfit/Kconfig" source "drivers/acpi/hmat/Kconfig" source "drivers/acpi/apei/Kconfig" source "drivers/acpi/dptf/Kconfig" config ACPI_WATCHDOG bool config ACPI_EXTLOG tristate "Extended Error Log support" depends on X86_MCE && X86_LOCAL_APIC && EDAC select UEFI_CPER help Certain usages such as Predictive Failure Analysis (PFA) require more information about the error than what can be described in processor machine check banks. Most server processors log additional information about the error in processor uncore registers. Since the addresses and layout of these registers vary widely from one processor to another, system software cannot readily make use of them. To complicate matters further, some of the additional error information cannot be constructed without detailed knowledge about platform topology. Enhanced MCA Logging allows firmware to provide additional error information to system software, synchronous with MCE or CMCI. This driver adds support for that functionality with corresponding tracepoint which carries that information to userspace. config ACPI_ADXL bool menuconfig PMIC_OPREGION bool "PMIC (Power Management Integrated Circuit) operation region support" help Select this option to enable support for ACPI operation region of the PMIC chip. The operation region can be used to control power rails and sensor reading/writing on the PMIC chip. if PMIC_OPREGION config CRC_PMIC_OPREGION bool "ACPI operation region support for CrystalCove PMIC" depends on INTEL_SOC_PMIC help This config adds ACPI operation region support for CrystalCove PMIC. config XPOWER_PMIC_OPREGION bool "ACPI operation region support for XPower AXP288 PMIC" depends on MFD_AXP20X_I2C && IOSF_MBI=y help This config adds ACPI operation region support for XPower AXP288 PMIC. config BXT_WC_PMIC_OPREGION bool "ACPI operation region support for BXT WhiskeyCove PMIC" depends on INTEL_SOC_PMIC_BXTWC help This config adds ACPI operation region support for BXT WhiskeyCove PMIC. config CHT_WC_PMIC_OPREGION bool "ACPI operation region support for CHT Whiskey Cove PMIC" depends on INTEL_SOC_PMIC_CHTWC help This config adds ACPI operation region support for CHT Whiskey Cove PMIC. config CHT_DC_TI_PMIC_OPREGION bool "ACPI operation region support for Dollar Cove TI PMIC" depends on INTEL_SOC_PMIC_CHTDC_TI help This config adds ACPI operation region support for Dollar Cove TI PMIC. endif config ACPI_CONFIGFS tristate "ACPI configfs support" select CONFIGFS_FS help Select this option to enable support for ACPI configuration from userspace. The configurable ACPI groups will be visible under /config/acpi, assuming configfs is mounted under /config. if ARM64 source "drivers/acpi/arm64/Kconfig" config ACPI_PPTT bool endif config TPS68470_PMIC_OPREGION bool "ACPI operation region support for TPS68470 PMIC" depends on MFD_TPS68470 help This config adds ACPI operation region support for TI TPS68470 PMIC. TPS68470 device is an advanced power management unit that powers a Compact Camera Module (CCM), generates clocks for image sensors, drives a dual LED for flash and incorporates two LED drivers for general purpose indicators. This driver enables ACPI operation region support control voltage regulators and clocks. This option is a bool as it provides an ACPI operation region, which must be available before any of the devices using this, are probed. endif # ACPI config X86_PM_TIMER bool "Power Management Timer Support" if EXPERT depends on X86 && (ACPI || JAILHOUSE_GUEST) default y help The Power Management Timer is available on all ACPI-capable, in most cases even if ACPI is unusable or blacklisted. This timing source is not affected by power management features like aggressive processor idling, throttling, frequency and/or voltage scaling, unlike the commonly used Time Stamp Counter (TSC) timing source. You should nearly always say Y here because many modern systems require this timer. acpi/hmat/Kconfig 0000644 00000000637 14722053666 0007735 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config ACPI_HMAT bool "ACPI Heterogeneous Memory Attribute Table Support" depends on ACPI_NUMA select HMEM_REPORTING help If set, this option has the kernel parse and report the platform's ACPI HMAT (Heterogeneous Memory Attributes Table), register memory initiators with their targets, and export performance attributes through the node's sysfs device if provided. acpi/hmat/Makefile 0000644 00000000112 14722053666 0010056 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ACPI_HMAT) := hmat.o acpi/acpica/Makefile 0000644 00000005570 14722053666 0010362 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for ACPICA Core interpreter # ccflags-y := -D_LINUX -DBUILDING_ACPICA ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT CFLAGS_tbfind.o += $(call cc-disable-warning, stringop-truncation) # use acpi.o to put all files here into acpi.o modparam namespace obj-y += acpi.o acpi-y := \ dsargs.o \ dscontrol.o \ dsdebug.o \ dsfield.o \ dsinit.o \ dsmethod.o \ dsmthdat.o \ dsobject.o \ dsopcode.o \ dspkginit.o \ dsutils.o \ dswexec.o \ dswload.o \ dswload2.o \ dswscope.o \ dswstate.o acpi-y += \ evevent.o \ evgpe.o \ evgpeblk.o \ evgpeinit.o \ evgpeutil.o \ evglock.o \ evhandler.o \ evmisc.o \ evregion.o \ evrgnini.o \ evsci.o \ evxface.o \ evxfevnt.o \ evxfgpe.o \ evxfregn.o acpi-y += \ exconcat.o \ exconfig.o \ exconvrt.o \ excreate.o \ exdebug.o \ exdump.o \ exfield.o \ exfldio.o \ exmisc.o \ exmutex.o \ exnames.o \ exoparg1.o \ exoparg2.o \ exoparg3.o \ exoparg6.o \ exprep.o \ exregion.o \ exresnte.o \ exresolv.o \ exresop.o \ exserial.o \ exstore.o \ exstoren.o \ exstorob.o \ exsystem.o \ extrace.o \ exutils.o acpi-y += \ hwacpi.o \ hwesleep.o \ hwgpe.o \ hwregs.o \ hwsleep.o \ hwvalid.o \ hwxface.o \ hwxfsleep.o acpi-$(CONFIG_PCI) += hwpci.o acpi-$(ACPI_FUTURE_USAGE) += hwtimer.o acpi-y += \ nsaccess.o \ nsalloc.o \ nsarguments.o \ nsconvert.o \ nsdump.o \ nseval.o \ nsinit.o \ nsload.o \ nsnames.o \ nsobject.o \ nsparse.o \ nspredef.o \ nsprepkg.o \ nsrepair.o \ nsrepair2.o \ nssearch.o \ nsutils.o \ nswalk.o \ nsxfeval.o \ nsxfname.o \ nsxfobj.o acpi-$(ACPI_FUTURE_USAGE) += nsdumpdv.o acpi-y += \ psargs.o \ psloop.o \ psobject.o \ psopcode.o \ psopinfo.o \ psparse.o \ psscope.o \ pstree.o \ psutils.o \ pswalk.o \ psxface.o acpi-y += \ rsaddr.o \ rscalc.o \ rscreate.o \ rsdumpinfo.o \ rsinfo.o \ rsio.o \ rsirq.o \ rslist.o \ rsmemory.o \ rsmisc.o \ rsserial.o \ rsutils.o \ rsxface.o acpi-y += \ tbdata.o \ tbfadt.o \ tbfind.o \ tbinstal.o \ tbprint.o \ tbutils.o \ tbxface.o \ tbxfload.o \ tbxfroot.o acpi-y += \ utaddress.o \ utalloc.o \ utascii.o \ utbuffer.o \ utcopy.o \ utexcep.o \ utdebug.o \ utdecode.o \ utdelete.o \ uterror.o \ uteval.o \ utglobal.o \ uthex.o \ utids.o \ utinit.o \ utlock.o \ utmath.o \ utmisc.o \ utmutex.o \ utnonansi.o \ utobject.o \ utosi.o \ utownerid.o \ utpredef.o \ utresdecode.o \ utresrc.o \ utstate.o \ utstring.o \ utstrsuppt.o \ utstrtoul64.o \ utxface.o \ utxfinit.o \ utxferror.o \ utxfmutex.o acpi-$(CONFIG_ACPI_DEBUGGER) += \ dbcmds.o \ dbconvert.o \ dbdisply.o \ dbexec.o \ dbhistry.o \ dbinput.o \ dbmethod.o \ dbnames.o \ dbobject.o \ dbstats.o \ dbutils.o \ dbxface.o \ rsdump.o \ acpi-$(ACPI_FUTURE_USAGE) += \ dbfileio.o \ dbtest.o \ utcache.o \ utprint.o \ uttrack.o \ utuuid.o acpi/dptf/Kconfig 0000644 00000001005 14722053666 0007727 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DPTF_POWER tristate "DPTF Platform Power Participant" depends on X86 help This driver adds support for Dynamic Platform and Thermal Framework (DPTF) Platform Power Participant device (INT3407) support. This participant is responsible for exposing platform telemetry: max_platform_power platform_power_source adapter_rating battery_steady_power charger_type To compile this driver as a module, choose M here: the module will be called dptf_power. acpi/dptf/Makefile 0000644 00000000205 14722053666 0010065 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ACPI) += int340x_thermal.o obj-$(CONFIG_DPTF_POWER) += dptf_power.o acpi/apei/Kconfig 0000644 00000004266 14722053666 0007724 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config HAVE_ACPI_APEI bool config HAVE_ACPI_APEI_NMI bool config ACPI_APEI bool "ACPI Platform Error Interface (APEI)" select MISC_FILESYSTEMS select PSTORE select UEFI_CPER depends on HAVE_ACPI_APEI help APEI allows to report errors (for example from the chipset) to the operating system. This improves NMI handling especially. In addition it supports error serialization and error injection. config ACPI_APEI_GHES bool "APEI Generic Hardware Error Source" depends on ACPI_APEI select ACPI_HED select IRQ_WORK select GENERIC_ALLOCATOR help Generic Hardware Error Source provides a way to report platform hardware errors (such as that from chipset). It works in so called "Firmware First" mode, that is, hardware errors are reported to firmware firstly, then reported to Linux by firmware. This way, some non-standard hardware error registers or non-standard hardware link can be checked by firmware to produce more valuable hardware error information for Linux. config ACPI_APEI_PCIEAER bool "APEI PCIe AER logging/recovering support" depends on ACPI_APEI && PCIEAER help PCIe AER errors may be reported via APEI firmware first mode. Turn on this option to enable the corresponding support. config ACPI_APEI_SEA bool depends on ARM64 && ACPI_APEI_GHES default y config ACPI_APEI_MEMORY_FAILURE bool "APEI memory error recovering support" depends on ACPI_APEI && MEMORY_FAILURE help Memory errors may be reported via APEI firmware first mode. Turn on this option to enable the memory recovering support. config ACPI_APEI_EINJ tristate "APEI Error INJection (EINJ)" depends on ACPI_APEI && DEBUG_FS help EINJ provides a hardware error injection mechanism, it is mainly used for debugging and testing the other parts of APEI and some other RAS features. config ACPI_APEI_ERST_DEBUG tristate "APEI Error Record Serialization Table (ERST) Debug Support" depends on ACPI_APEI help ERST is a way provided by APEI to save and retrieve hardware error information to and from a persistent store. Enable this if you want to debugging and testing the ERST kernel support and firmware implementation. acpi/apei/Makefile 0000644 00000000361 14722053666 0010051 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_ACPI_APEI) += apei.o obj-$(CONFIG_ACPI_APEI_GHES) += ghes.o obj-$(CONFIG_ACPI_APEI_EINJ) += einj.o obj-$(CONFIG_ACPI_APEI_ERST_DEBUG) += erst-dbg.o apei-y := apei-base.o hest.o erst.o bert.o acpi/Makefile 0000644 00000007523 14722053666 0007142 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux ACPI interpreter # ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT # # ACPI Boot-Time Table Parsing # ifeq ($(CONFIG_ACPI_CUSTOM_DSDT),y) tables.o: $(src)/../../include/$(subst $\",,$(CONFIG_ACPI_CUSTOM_DSDT_FILE)) ; endif obj-$(CONFIG_ACPI) += tables.o obj-$(CONFIG_X86) += blacklist.o # # ACPI Core Subsystem (Interpreter) # obj-$(CONFIG_ACPI) += acpi.o \ acpica/ # All the builtin files are in the "acpi." module_param namespace. acpi-y += osi.o osl.o utils.o reboot.o acpi-y += nvs.o # Power management related files acpi-y += wakeup.o acpi-$(CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT) += sleep.o acpi-y += device_sysfs.o device_pm.o acpi-$(CONFIG_ACPI_SLEEP) += proc.o # # ACPI Bus and Device Drivers # acpi-y += bus.o glue.o acpi-y += scan.o acpi-y += resource.o acpi-y += acpi_processor.o acpi-y += processor_core.o acpi-$(CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC) += processor_pdc.o acpi-y += ec.o acpi-$(CONFIG_ACPI_DOCK) += dock.o acpi-$(CONFIG_PCI) += pci_root.o pci_link.o pci_irq.o obj-$(CONFIG_ACPI_MCFG) += pci_mcfg.o acpi-$(CONFIG_PCI) += acpi_lpss.o acpi-y += acpi_apd.o acpi-y += acpi_platform.o acpi-y += acpi_pnp.o acpi-$(CONFIG_ARM_AMBA) += acpi_amba.o acpi-y += power.o acpi-y += event.o acpi-y += evged.o acpi-y += sysfs.o acpi-y += property.o acpi-$(CONFIG_X86) += acpi_cmos_rtc.o acpi-$(CONFIG_X86) += x86/apple.o acpi-$(CONFIG_X86) += x86/utils.o acpi-$(CONFIG_DEBUG_FS) += debugfs.o acpi-$(CONFIG_ACPI_NUMA) += numa.o acpi-$(CONFIG_ACPI_PROCFS_POWER) += cm_sbs.o acpi-y += acpi_lpat.o acpi-$(CONFIG_ACPI_LPIT) += acpi_lpit.o acpi-$(CONFIG_ACPI_GENERIC_GSI) += irq.o acpi-$(CONFIG_ACPI_WATCHDOG) += acpi_watchdog.o # Address translation acpi-$(CONFIG_ACPI_ADXL) += acpi_adxl.o # These are (potentially) separate modules # IPMI may be used by other drivers, so it has to initialise before them obj-$(CONFIG_ACPI_IPMI) += acpi_ipmi.o obj-$(CONFIG_ACPI_AC) += ac.o obj-$(CONFIG_ACPI_BUTTON) += button.o obj-$(CONFIG_ACPI_FAN) += fan.o obj-$(CONFIG_ACPI_VIDEO) += video.o obj-$(CONFIG_ACPI_TAD) += acpi_tad.o obj-$(CONFIG_ACPI_PCI_SLOT) += pci_slot.o obj-$(CONFIG_ACPI_PROCESSOR) += processor.o obj-$(CONFIG_ACPI) += container.o obj-$(CONFIG_ACPI_THERMAL) += thermal.o obj-$(CONFIG_ACPI_NFIT) += nfit/ obj-$(CONFIG_ACPI_HMAT) += hmat/ obj-$(CONFIG_ACPI) += acpi_memhotplug.o obj-$(CONFIG_ACPI_HOTPLUG_IOAPIC) += ioapic.o obj-$(CONFIG_ACPI_BATTERY) += battery.o obj-$(CONFIG_ACPI_SBS) += sbshc.o obj-$(CONFIG_ACPI_SBS) += sbs.o obj-$(CONFIG_ACPI_HED) += hed.o obj-$(CONFIG_ACPI_EC_DEBUGFS) += ec_sys.o obj-$(CONFIG_ACPI_CUSTOM_METHOD)+= custom_method.o obj-$(CONFIG_ACPI_BGRT) += bgrt.o obj-$(CONFIG_ACPI_CPPC_LIB) += cppc_acpi.o obj-$(CONFIG_ACPI_SPCR_TABLE) += spcr.o obj-$(CONFIG_ACPI_DEBUGGER_USER) += acpi_dbg.o obj-$(CONFIG_ACPI_PPTT) += pptt.o # processor has its own "processor." module_param namespace processor-y := processor_driver.o processor-$(CONFIG_ACPI_PROCESSOR_IDLE) += processor_idle.o processor-$(CONFIG_ACPI_CPU_FREQ_PSS) += processor_throttling.o \ processor_thermal.o processor-$(CONFIG_CPU_FREQ) += processor_perflib.o obj-$(CONFIG_ACPI_PROCESSOR_AGGREGATOR) += acpi_pad.o obj-$(CONFIG_ACPI_APEI) += apei/ obj-$(CONFIG_ACPI_EXTLOG) += acpi_extlog.o obj-$(CONFIG_PMIC_OPREGION) += pmic/intel_pmic.o obj-$(CONFIG_CRC_PMIC_OPREGION) += pmic/intel_pmic_crc.o obj-$(CONFIG_XPOWER_PMIC_OPREGION) += pmic/intel_pmic_xpower.o obj-$(CONFIG_BXT_WC_PMIC_OPREGION) += pmic/intel_pmic_bxtwc.o obj-$(CONFIG_CHT_WC_PMIC_OPREGION) += pmic/intel_pmic_chtwc.o obj-$(CONFIG_CHT_DC_TI_PMIC_OPREGION) += pmic/intel_pmic_chtdc_ti.o obj-$(CONFIG_ACPI_CONFIGFS) += acpi_configfs.o obj-$(CONFIG_TPS68470_PMIC_OPREGION) += pmic/tps68470_pmic.o video-objs += acpi_video.o video_detect.o obj-y += dptf/ obj-$(CONFIG_ARM64) += arm64/ isdn/mISDN/Kconfig 0000644 00000002500 14722053666 0007726 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # modularer ISDN driver # menuconfig MISDN tristate "Modular ISDN driver" help Enable support for the modular ISDN driver. if MISDN != n config MISDN_DSP tristate "Digital Audio Processing of transparent data" depends on MISDN select BITREVERSE help Enable support for digital audio processing capability. This module may be used for special applications that require cross connecting of bchannels, conferencing, dtmf decoding, echo cancellation, tone generation, and Blowfish encryption and decryption. It may use hardware features if available. E.g. it is required for PBX4Linux. Go to http://isdn.eversberg.eu and get more information about this module and its usage. If unsure, say 'N'. config MISDN_L1OIP tristate "ISDN over IP tunnel" depends on MISDN help Enable support for ISDN over IP tunnel. It features: - dynamic IP exchange, if one or both peers have dynamic IPs - BRI (S0) and PRI (S2M) interface - layer 1 control via network keepalive frames - direct tunneling of physical interface via IP NOTE: This protocol is called 'Layer 1 over IP' and is not compatible with ISDNoIP (Agfeo) or TDMoIP. Protocol description is provided in the source code. source "drivers/isdn/hardware/mISDN/Kconfig" endif #MISDN isdn/mISDN/Makefile 0000644 00000000725 14722053666 0010072 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the modular ISDN driver # obj-$(CONFIG_MISDN) += mISDN_core.o obj-$(CONFIG_MISDN_DSP) += mISDN_dsp.o obj-$(CONFIG_MISDN_L1OIP) += l1oip.o # multi objects mISDN_core-objs := core.o fsm.o socket.o clock.o hwchannel.o stack.o layer1.o layer2.o tei.o timerdev.o mISDN_dsp-objs := dsp_core.o dsp_cmx.o dsp_tones.o dsp_dtmf.o dsp_audio.o dsp_blowfish.o dsp_pipeline.o dsp_hwec.o l1oip-objs := l1oip_core.o l1oip_codec.o isdn/hardware/mISDN/Kconfig 0000644 00000004327 14722053666 0011534 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Hardware for mISDN # comment "mISDN hardware drivers" config MISDN_HFCPCI tristate "Support for HFC PCI cards" depends on MISDN depends on PCI help Enable support for cards with Cologne Chip AG's HFC PCI chip. config MISDN_HFCMULTI tristate "Support for HFC multiport cards (HFC-4S/8S/E1)" depends on PCI || CPM1 depends on MISDN help Enable support for cards with Cologne Chip AG's HFC multiport chip. There are three types of chips that are quite similar, but the interface is different: * HFC-4S (4 S/T interfaces on one chip) * HFC-8S (8 S/T interfaces on one chip) * HFC-E1 (E1 interface for 2Mbit ISDN) config MISDN_HFCMULTI_8xx bool "Support for XHFC embedded board in HFC multiport driver" depends on MISDN depends on MISDN_HFCMULTI depends on CPM1 default CPM1 help Enable support for the XHFC embedded solution from Speech Design. config MISDN_HFCUSB tristate "Support for HFC-S USB based TAs" depends on USB help Enable support for USB ISDN TAs with Cologne Chip AG's HFC-S USB ISDN Controller config MISDN_AVMFRITZ tristate "Support for AVM FRITZ!CARD PCI" depends on MISDN depends on PCI select MISDN_IPAC help Enable support for AVMs FRITZ!CARD PCI cards config MISDN_SPEEDFAX tristate "Support for Sedlbauer Speedfax+" depends on MISDN depends on PCI select MISDN_IPAC select MISDN_ISAR help Enable support for Sedlbauer Speedfax+. config MISDN_INFINEON tristate "Support for cards with Infineon chipset" depends on MISDN depends on PCI select MISDN_IPAC help Enable support for cards with ISAC + HSCX, IPAC or IPAC-SX chip from Infineon (former manufacturer Siemens). config MISDN_W6692 tristate "Support for cards with Winbond 6692" depends on MISDN depends on PCI help Enable support for Winbond 6692 PCI chip based cards. config MISDN_NETJET tristate "Support for NETJet cards" depends on MISDN depends on PCI depends on TTY select MISDN_IPAC select MISDN_HDLC help Enable support for Traverse Technologies NETJet PCI cards. config MISDN_HDLC tristate select CRC_CCITT select BITREVERSE config MISDN_IPAC tristate depends on MISDN config MISDN_ISAR tristate depends on MISDN isdn/hardware/mISDN/Makefile 0000644 00000001056 14722053666 0011665 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the modular ISDN hardware drivers # # obj-$(CONFIG_MISDN_HFCPCI) += hfcpci.o obj-$(CONFIG_MISDN_HFCMULTI) += hfcmulti.o obj-$(CONFIG_MISDN_HFCUSB) += hfcsusb.o obj-$(CONFIG_MISDN_AVMFRITZ) += avmfritz.o obj-$(CONFIG_MISDN_SPEEDFAX) += speedfax.o obj-$(CONFIG_MISDN_INFINEON) += mISDNinfineon.o obj-$(CONFIG_MISDN_W6692) += w6692.o obj-$(CONFIG_MISDN_NETJET) += netjet.o # chip modules obj-$(CONFIG_MISDN_IPAC) += mISDNipac.o obj-$(CONFIG_MISDN_ISAR) += mISDNisar.o obj-$(CONFIG_MISDN_HDLC) += isdnhdlc.o isdn/hardware/Makefile 0000644 00000000223 14722053666 0010746 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for the CAPI hardware drivers # Object files in subdirectories obj-$(CONFIG_MISDN) += mISDN/ isdn/Kconfig 0000644 00000001501 14722053666 0007014 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ISDN device configuration # menuconfig ISDN bool "ISDN support" depends on NET && NETDEVICES depends on !S390 && !UML ---help--- ISDN ("Integrated Services Digital Network", called RNIS in France) is a fully digital telephone service that can be used for voice and data connections. If your computer is equipped with an ISDN adapter you can use it to connect to your Internet service provider (with SLIP or PPP) faster than via a conventional telephone modem (though still much slower than with DSL) or to make and accept voice calls (eg. turning your PC into a software answering machine or PABX). Select this option if you want your kernel to support ISDN. if ISDN source "drivers/isdn/capi/Kconfig" source "drivers/isdn/mISDN/Kconfig" endif # ISDN isdn/Makefile 0000644 00000000350 14722053666 0007152 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the kernel ISDN subsystem and device drivers. # Object files in subdirectories obj-$(CONFIG_ISDN_CAPI) += capi/ obj-$(CONFIG_MISDN) += mISDN/ obj-$(CONFIG_ISDN) += hardware/ isdn/capi/Kconfig 0000644 00000003777 14722053666 0007751 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig ISDN_CAPI tristate "CAPI 2.0 subsystem" help This provides CAPI (the Common ISDN Application Programming Interface) Version 2.0, a standard making it easy for programs to access ISDN hardware in a device independent way. (For details see <http://www.capi.org/>.) CAPI supports making and accepting voice and data connections, controlling call options and protocols, as well as ISDN supplementary services like call forwarding or three-party conferences (if supported by the specific hardware driver). This subsystem requires a hardware specific driver. See CONFIG_BT_CMTP for the last remaining regular driver in the kernel that uses the CAPI subsystem. if ISDN_CAPI config CAPI_TRACE bool "CAPI trace support" default y help If you say Y here, the kernelcapi driver can make verbose traces of CAPI messages. This feature can be enabled/disabled via IOCTL for every controller (default disabled). This will increase the size of the kernelcapi module by 20 KB. If unsure, say Y. config ISDN_CAPI_CAPI20 tristate "CAPI2.0 /dev/capi20 support" help This option will provide the CAPI 2.0 interface to userspace applications via /dev/capi20. Applications should use the standardized libcapi20 to access this functionality. You should say Y/M here. config ISDN_CAPI_MIDDLEWARE bool "CAPI2.0 Middleware support" depends on ISDN_CAPI_CAPI20 && TTY help This option will enhance the capabilities of the /dev/capi20 interface. It will provide a means of moving a data connection, established via the usual /dev/capi20 interface to a special tty device. If you want to use pppd with pppdcapiplugin to dial up to your ISP, say Y here. config ISDN_CAPI_CAPIDRV_VERBOSE bool "Verbose reason code reporting" depends on ISDN_CAPI_CAPIDRV help If you say Y here, the capidrv interface will give verbose reasons for disconnecting. This will increase the size of the kernel by 7 KB. If unsure, say N. endif isdn/capi/Makefile 0000644 00000000762 14722053666 0010075 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the CAPI subsystem. # Ordering constraints: kernelcapi.o first # Each configuration option enables a list of files. obj-$(CONFIG_ISDN_CAPI) += kernelcapi.o obj-$(CONFIG_ISDN_CAPI_CAPI20) += capi.o obj-$(CONFIG_ISDN_CAPI_CAPIDRV) += capidrv.o # Multipart objects. kernelcapi-y := kcapi.o capiutil.o capilib.o kernelcapi-$(CONFIG_PROC_FS) += kcapi_proc.o ccflags-y += -I$(srctree)/$(src)/../include -I$(srctree)/$(src)/../include/uapi idle/Kconfig 0000644 00000000620 14722053666 0006775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INTEL_IDLE bool "Cpuidle Driver for Intel Processors" depends on CPU_IDLE depends on X86 depends on CPU_SUP_INTEL help Enable intel_idle, a cpuidle driver that includes knowledge of native Intel hardware idle features. The acpi_idle driver can be configured at the same time, in order to handle processors intel_idle does not support. idle/Makefile 0000644 00000000124 14722053666 0007131 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INTEL_IDLE) += intel_idle.o irqchip/Kconfig 0000644 00000024652 14722053666 0007532 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "IRQ chip support" config IRQCHIP def_bool y depends on OF_IRQ config ARM_GIC bool select IRQ_DOMAIN_HIERARCHY select GENERIC_IRQ_MULTI_HANDLER select GENERIC_IRQ_EFFECTIVE_AFF_MASK config ARM_GIC_PM bool depends on PM select ARM_GIC config ARM_GIC_MAX_NR int depends on ARM_GIC default 2 if ARCH_REALVIEW default 1 config ARM_GIC_V2M bool depends on PCI select ARM_GIC select PCI_MSI config GIC_NON_BANKED bool config ARM_GIC_V3 bool select GENERIC_IRQ_MULTI_HANDLER select IRQ_DOMAIN_HIERARCHY select PARTITION_PERCPU select GENERIC_IRQ_EFFECTIVE_AFF_MASK config ARM_GIC_V3_ITS bool select GENERIC_MSI_IRQ_DOMAIN default ARM_GIC_V3 config ARM_GIC_V3_ITS_PCI bool depends on ARM_GIC_V3_ITS depends on PCI depends on PCI_MSI default ARM_GIC_V3_ITS config ARM_GIC_V3_ITS_FSL_MC bool depends on ARM_GIC_V3_ITS depends on FSL_MC_BUS default ARM_GIC_V3_ITS config ARM_NVIC bool select IRQ_DOMAIN_HIERARCHY select GENERIC_IRQ_CHIP config ARM_VIC bool select IRQ_DOMAIN select GENERIC_IRQ_MULTI_HANDLER config ARM_VIC_NR int default 4 if ARCH_S5PV210 default 2 depends on ARM_VIC help The maximum number of VICs available in the system, for power management. config ARMADA_370_XP_IRQ bool select GENERIC_IRQ_CHIP select PCI_MSI if PCI select GENERIC_IRQ_EFFECTIVE_AFF_MASK config ALPINE_MSI bool depends on PCI select PCI_MSI select GENERIC_IRQ_CHIP config AL_FIC bool "Amazon's Annapurna Labs Fabric Interrupt Controller" depends on OF || COMPILE_TEST select GENERIC_IRQ_CHIP select IRQ_DOMAIN help Support Amazon's Annapurna Labs Fabric Interrupt Controller. config ATMEL_AIC_IRQ bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN select GENERIC_IRQ_MULTI_HANDLER select SPARSE_IRQ config ATMEL_AIC5_IRQ bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN select GENERIC_IRQ_MULTI_HANDLER select SPARSE_IRQ config I8259 bool select IRQ_DOMAIN config BCM6345_L1_IRQ bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN select GENERIC_IRQ_EFFECTIVE_AFF_MASK config BCM7038_L1_IRQ bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN select GENERIC_IRQ_EFFECTIVE_AFF_MASK config BCM7120_L2_IRQ bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN config BRCMSTB_L2_IRQ bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN config DAVINCI_AINTC bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN config DAVINCI_CP_INTC bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN config DW_APB_ICTL bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN config FARADAY_FTINTC010 bool select IRQ_DOMAIN select GENERIC_IRQ_MULTI_HANDLER select SPARSE_IRQ config HISILICON_IRQ_MBIGEN bool select ARM_GIC_V3 select ARM_GIC_V3_ITS config IMGPDC_IRQ bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN config IXP4XX_IRQ bool select IRQ_DOMAIN select GENERIC_IRQ_MULTI_HANDLER select SPARSE_IRQ config MADERA_IRQ tristate config IRQ_MIPS_CPU bool select GENERIC_IRQ_CHIP select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING select IRQ_DOMAIN select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI select GENERIC_IRQ_EFFECTIVE_AFF_MASK config CLPS711X_IRQCHIP bool depends on ARCH_CLPS711X select IRQ_DOMAIN select GENERIC_IRQ_MULTI_HANDLER select SPARSE_IRQ default y config OMPIC bool config OR1K_PIC bool select IRQ_DOMAIN config OMAP_IRQCHIP bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN config ORION_IRQCHIP bool select IRQ_DOMAIN select GENERIC_IRQ_MULTI_HANDLER config PIC32_EVIC bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN config JCORE_AIC bool "J-Core integrated AIC" if COMPILE_TEST depends on OF select IRQ_DOMAIN help Support for the J-Core integrated AIC. config RDA_INTC bool select IRQ_DOMAIN config RENESAS_INTC_IRQPIN bool "Renesas INTC External IRQ Pin Support" if COMPILE_TEST select IRQ_DOMAIN help Enable support for the Renesas Interrupt Controller for external interrupt pins, as found on SH/R-Mobile and R-Car Gen1 SoCs. config RENESAS_IRQC bool "Renesas R-Mobile APE6 and R-Car IRQC support" if COMPILE_TEST select GENERIC_IRQ_CHIP select IRQ_DOMAIN help Enable support for the Renesas Interrupt Controller for external devices, as found on R-Mobile APE6, R-Car Gen2, and R-Car Gen3 SoCs. config RENESAS_RZA1_IRQC bool "Renesas RZ/A1 IRQC support" if COMPILE_TEST select IRQ_DOMAIN_HIERARCHY help Enable support for the Renesas RZ/A1 Interrupt Controller, to use up to 8 external interrupts with configurable sense select. config ST_IRQCHIP bool select REGMAP select MFD_SYSCON help Enables SysCfg Controlled IRQs on STi based platforms. config TANGO_IRQ bool select IRQ_DOMAIN select GENERIC_IRQ_CHIP config TB10X_IRQC bool select IRQ_DOMAIN select GENERIC_IRQ_CHIP config TS4800_IRQ tristate "TS-4800 IRQ controller" select IRQ_DOMAIN depends on HAS_IOMEM depends on SOC_IMX51 || COMPILE_TEST help Support for the TS-4800 FPGA IRQ controller config VERSATILE_FPGA_IRQ bool select IRQ_DOMAIN config VERSATILE_FPGA_IRQ_NR int default 4 depends on VERSATILE_FPGA_IRQ config XTENSA_MX bool select IRQ_DOMAIN select GENERIC_IRQ_EFFECTIVE_AFF_MASK config XILINX_INTC bool select IRQ_DOMAIN config IRQ_CROSSBAR bool help Support for a CROSSBAR ip that precedes the main interrupt controller. The primary irqchip invokes the crossbar's callback which inturn allocates a free irq and configures the IP. Thus the peripheral interrupts are routed to one of the free irqchip interrupt lines. config KEYSTONE_IRQ tristate "Keystone 2 IRQ controller IP" depends on ARCH_KEYSTONE help Support for Texas Instruments Keystone 2 IRQ controller IP which is part of the Keystone 2 IPC mechanism config MIPS_GIC bool select GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY select MIPS_CM config INGENIC_IRQ bool depends on MACH_INGENIC default y config INGENIC_TCU_IRQ bool "Ingenic JZ47xx TCU interrupt controller" default MACH_INGENIC depends on MIPS || COMPILE_TEST select MFD_SYSCON select GENERIC_IRQ_CHIP help Support for interrupts in the Timer/Counter Unit (TCU) of the Ingenic JZ47xx SoCs. If unsure, say N. config RENESAS_H8300H_INTC bool select IRQ_DOMAIN config RENESAS_H8S_INTC bool "Renesas H8S Interrupt Controller Support" if COMPILE_TEST select IRQ_DOMAIN help Enable support for the Renesas H8/300 Interrupt Controller, as found on Renesas H8S SoCs. config IMX_GPCV2 bool select IRQ_DOMAIN help Enables the wakeup IRQs for IMX platforms with GPCv2 block config IRQ_MXS def_bool y if MACH_ASM9260 || ARCH_MXS select IRQ_DOMAIN select STMP_DEVICE config MSCC_OCELOT_IRQ bool select IRQ_DOMAIN select GENERIC_IRQ_CHIP config MVEBU_GICP bool config MVEBU_ICU bool config MVEBU_ODMI bool select GENERIC_MSI_IRQ_DOMAIN config MVEBU_PIC bool config MVEBU_SEI bool config LS_SCFG_MSI def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE depends on PCI && PCI_MSI config PARTITION_PERCPU bool config EZNPS_GIC bool "NPS400 Global Interrupt Manager (GIM)" depends on ARC || (COMPILE_TEST && !64BIT) select IRQ_DOMAIN help Support the EZchip NPS400 global interrupt controller config STM32_EXTI bool select IRQ_DOMAIN select GENERIC_IRQ_CHIP config QCOM_IRQ_COMBINER bool "QCOM IRQ combiner support" depends on ARCH_QCOM && ACPI select IRQ_DOMAIN_HIERARCHY help Say yes here to add support for the IRQ combiner devices embedded in Qualcomm Technologies chips. config IRQ_UNIPHIER_AIDET bool "UniPhier AIDET support" if COMPILE_TEST depends on ARCH_UNIPHIER || COMPILE_TEST default ARCH_UNIPHIER select IRQ_DOMAIN_HIERARCHY help Support for the UniPhier AIDET (ARM Interrupt Detector). config MESON_IRQ_GPIO bool "Meson GPIO Interrupt Multiplexer" depends on ARCH_MESON select IRQ_DOMAIN_HIERARCHY help Support Meson SoC Family GPIO Interrupt Multiplexer config GOLDFISH_PIC bool "Goldfish programmable interrupt controller" depends on MIPS && (GOLDFISH || COMPILE_TEST) select GENERIC_IRQ_CHIP select IRQ_DOMAIN help Say yes here to enable Goldfish interrupt controller driver used for Goldfish based virtual platforms. config QCOM_PDC bool "QCOM PDC" depends on ARCH_QCOM select IRQ_DOMAIN_HIERARCHY help Power Domain Controller driver to manage and configure wakeup IRQs for Qualcomm Technologies Inc (QTI) mobile chips. config CSKY_MPINTC bool "C-SKY Multi Processor Interrupt Controller" depends on CSKY help Say yes here to enable C-SKY SMP interrupt controller driver used for C-SKY SMP system. In fact it's not mmio map in hw and it use ld/st to visit the controller's register inside CPU. config CSKY_APB_INTC bool "C-SKY APB Interrupt Controller" depends on CSKY help Say yes here to enable C-SKY APB interrupt controller driver used by C-SKY single core SOC system. It use mmio map apb-bus to visit the controller's register. config IMX_IRQSTEER bool "i.MX IRQSTEER support" depends on ARCH_MXC || COMPILE_TEST default ARCH_MXC select IRQ_DOMAIN help Support for the i.MX IRQSTEER interrupt multiplexer/remapper. config LS1X_IRQ bool "Loongson-1 Interrupt Controller" depends on MACH_LOONGSON32 default y select IRQ_DOMAIN select GENERIC_IRQ_CHIP help Support for the Loongson-1 platform Interrupt Controller. config TI_SCI_INTR_IRQCHIP bool depends on TI_SCI_PROTOCOL select IRQ_DOMAIN_HIERARCHY help This enables the irqchip driver support for K3 Interrupt router over TI System Control Interface available on some new TI's SoCs. If you wish to use interrupt router irq resources managed by the TI System Controller, say Y here. Otherwise, say N. config TI_SCI_INTA_IRQCHIP bool depends on TI_SCI_PROTOCOL select IRQ_DOMAIN_HIERARCHY select TI_SCI_INTA_MSI_DOMAIN help This enables the irqchip driver support for K3 Interrupt aggregator over TI System Control Interface available on some new TI's SoCs. If you wish to use interrupt aggregator irq resources managed by the TI System Controller, say Y here. Otherwise, say N. config SIFIVE_PLIC bool "SiFive Platform-Level Interrupt Controller" depends on RISCV help This enables support for the PLIC chip found in SiFive (and potentially other) RISC-V systems. The PLIC controls devices interrupts and connects them to each core's local interrupt controller. Aside from timer and software interrupts, all other interrupt sources are subordinate to the PLIC. If you don't know what to do here, say Y. endmenu irqchip/Makefile 0000644 00000011626 14722053666 0007664 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_IRQCHIP) += irqchip.o obj-$(CONFIG_AL_FIC) += irq-al-fic.o obj-$(CONFIG_ALPINE_MSI) += irq-alpine-msi.o obj-$(CONFIG_ATH79) += irq-ath79-cpu.o obj-$(CONFIG_ATH79) += irq-ath79-misc.o obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2836.o obj-$(CONFIG_DAVINCI_AINTC) += irq-davinci-aintc.o obj-$(CONFIG_DAVINCI_CP_INTC) += irq-davinci-cp-intc.o obj-$(CONFIG_ARCH_EXYNOS) += exynos-combiner.o obj-$(CONFIG_FARADAY_FTINTC010) += irq-ftintc010.o obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o obj-$(CONFIG_ARCH_LPC32XX) += irq-lpc32xx.o obj-$(CONFIG_ARCH_MMP) += irq-mmp.o obj-$(CONFIG_IRQ_MXS) += irq-mxs.o obj-$(CONFIG_ARCH_TEGRA) += irq-tegra.o obj-$(CONFIG_ARCH_S3C24XX) += irq-s3c24xx.o obj-$(CONFIG_DW_APB_ICTL) += irq-dw-apb-ictl.o obj-$(CONFIG_CLPS711X_IRQCHIP) += irq-clps711x.o obj-$(CONFIG_OMPIC) += irq-ompic.o obj-$(CONFIG_OR1K_PIC) += irq-or1k-pic.o obj-$(CONFIG_ORION_IRQCHIP) += irq-orion.o obj-$(CONFIG_OMAP_IRQCHIP) += irq-omap-intc.o obj-$(CONFIG_ARCH_SUNXI) += irq-sun4i.o obj-$(CONFIG_ARCH_SUNXI) += irq-sunxi-nmi.o obj-$(CONFIG_ARCH_SPEAR3XX) += spear-shirq.o obj-$(CONFIG_ARM_GIC) += irq-gic.o irq-gic-common.o obj-$(CONFIG_ARM_GIC_PM) += irq-gic-pm.o obj-$(CONFIG_ARCH_REALVIEW) += irq-gic-realview.o obj-$(CONFIG_ARM_GIC_V2M) += irq-gic-v2m.o obj-$(CONFIG_ARM_GIC_V3) += irq-gic-v3.o irq-gic-v3-mbi.o irq-gic-common.o obj-$(CONFIG_ARM_GIC_V3_ITS) += irq-gic-v3-its.o irq-gic-v3-its-platform-msi.o irq-gic-v4.o obj-$(CONFIG_ARM_GIC_V3_ITS_PCI) += irq-gic-v3-its-pci-msi.o obj-$(CONFIG_ARM_GIC_V3_ITS_FSL_MC) += irq-gic-v3-its-fsl-mc-msi.o obj-$(CONFIG_PARTITION_PERCPU) += irq-partition-percpu.o obj-$(CONFIG_HISILICON_IRQ_MBIGEN) += irq-mbigen.o obj-$(CONFIG_ARM_NVIC) += irq-nvic.o obj-$(CONFIG_ARM_VIC) += irq-vic.o obj-$(CONFIG_ARMADA_370_XP_IRQ) += irq-armada-370-xp.o obj-$(CONFIG_ATMEL_AIC_IRQ) += irq-atmel-aic-common.o irq-atmel-aic.o obj-$(CONFIG_ATMEL_AIC5_IRQ) += irq-atmel-aic-common.o irq-atmel-aic5.o obj-$(CONFIG_I8259) += irq-i8259.o obj-$(CONFIG_IMGPDC_IRQ) += irq-imgpdc.o obj-$(CONFIG_IRQ_MIPS_CPU) += irq-mips-cpu.o obj-$(CONFIG_IXP4XX_IRQ) += irq-ixp4xx.o obj-$(CONFIG_SIRF_IRQ) += irq-sirfsoc.o obj-$(CONFIG_JCORE_AIC) += irq-jcore-aic.o obj-$(CONFIG_RDA_INTC) += irq-rda-intc.o obj-$(CONFIG_RENESAS_INTC_IRQPIN) += irq-renesas-intc-irqpin.o obj-$(CONFIG_RENESAS_IRQC) += irq-renesas-irqc.o obj-$(CONFIG_RENESAS_RZA1_IRQC) += irq-renesas-rza1.o obj-$(CONFIG_VERSATILE_FPGA_IRQ) += irq-versatile-fpga.o obj-$(CONFIG_ARCH_NSPIRE) += irq-zevio.o obj-$(CONFIG_ARCH_VT8500) += irq-vt8500.o obj-$(CONFIG_ST_IRQCHIP) += irq-st.o obj-$(CONFIG_TANGO_IRQ) += irq-tango.o obj-$(CONFIG_TB10X_IRQC) += irq-tb10x.o obj-$(CONFIG_TS4800_IRQ) += irq-ts4800.o obj-$(CONFIG_XTENSA) += irq-xtensa-pic.o obj-$(CONFIG_XTENSA_MX) += irq-xtensa-mx.o obj-$(CONFIG_XILINX_INTC) += irq-xilinx-intc.o obj-$(CONFIG_IRQ_CROSSBAR) += irq-crossbar.o obj-$(CONFIG_SOC_VF610) += irq-vf610-mscm-ir.o obj-$(CONFIG_BCM6345_L1_IRQ) += irq-bcm6345-l1.o obj-$(CONFIG_BCM7038_L1_IRQ) += irq-bcm7038-l1.o obj-$(CONFIG_BCM7120_L2_IRQ) += irq-bcm7120-l2.o obj-$(CONFIG_BRCMSTB_L2_IRQ) += irq-brcmstb-l2.o obj-$(CONFIG_KEYSTONE_IRQ) += irq-keystone.o obj-$(CONFIG_MIPS_GIC) += irq-mips-gic.o obj-$(CONFIG_ARCH_MEDIATEK) += irq-mtk-sysirq.o irq-mtk-cirq.o obj-$(CONFIG_ARCH_DIGICOLOR) += irq-digicolor.o obj-$(CONFIG_RENESAS_H8300H_INTC) += irq-renesas-h8300h.o obj-$(CONFIG_RENESAS_H8S_INTC) += irq-renesas-h8s.o obj-$(CONFIG_ARCH_SA1100) += irq-sa11x0.o obj-$(CONFIG_INGENIC_IRQ) += irq-ingenic.o obj-$(CONFIG_INGENIC_TCU_IRQ) += irq-ingenic-tcu.o obj-$(CONFIG_IMX_GPCV2) += irq-imx-gpcv2.o obj-$(CONFIG_PIC32_EVIC) += irq-pic32-evic.o obj-$(CONFIG_MSCC_OCELOT_IRQ) += irq-mscc-ocelot.o obj-$(CONFIG_MVEBU_GICP) += irq-mvebu-gicp.o obj-$(CONFIG_MVEBU_ICU) += irq-mvebu-icu.o obj-$(CONFIG_MVEBU_ODMI) += irq-mvebu-odmi.o obj-$(CONFIG_MVEBU_PIC) += irq-mvebu-pic.o obj-$(CONFIG_MVEBU_SEI) += irq-mvebu-sei.o obj-$(CONFIG_LS_SCFG_MSI) += irq-ls-scfg-msi.o obj-$(CONFIG_EZNPS_GIC) += irq-eznps.o obj-$(CONFIG_ARCH_ASPEED) += irq-aspeed-vic.o irq-aspeed-i2c-ic.o obj-$(CONFIG_STM32_EXTI) += irq-stm32-exti.o obj-$(CONFIG_QCOM_IRQ_COMBINER) += qcom-irq-combiner.o obj-$(CONFIG_IRQ_UNIPHIER_AIDET) += irq-uniphier-aidet.o obj-$(CONFIG_ARCH_SYNQUACER) += irq-sni-exiu.o obj-$(CONFIG_MESON_IRQ_GPIO) += irq-meson-gpio.o obj-$(CONFIG_GOLDFISH_PIC) += irq-goldfish-pic.o obj-$(CONFIG_NDS32) += irq-ativic32.o obj-$(CONFIG_QCOM_PDC) += qcom-pdc.o obj-$(CONFIG_CSKY_MPINTC) += irq-csky-mpintc.o obj-$(CONFIG_CSKY_APB_INTC) += irq-csky-apb-intc.o obj-$(CONFIG_SIFIVE_PLIC) += irq-sifive-plic.o obj-$(CONFIG_IMX_IRQSTEER) += irq-imx-irqsteer.o obj-$(CONFIG_MADERA_IRQ) += irq-madera.o obj-$(CONFIG_LS1X_IRQ) += irq-ls1x.o obj-$(CONFIG_TI_SCI_INTR_IRQCHIP) += irq-ti-sci-intr.o obj-$(CONFIG_TI_SCI_INTA_IRQCHIP) += irq-ti-sci-inta.o remoteproc/Kconfig 0000644 00000015127 14722053666 0010247 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Remoteproc drivers" config REMOTEPROC bool "Support for Remote Processor subsystem" depends on HAS_DMA select CRC32 select FW_LOADER select VIRTIO select WANT_DEV_COREDUMP help Support for remote processors (such as DSP coprocessors). These are mainly used on embedded systems. if REMOTEPROC config IMX_REMOTEPROC tristate "IMX6/7 remoteproc support" depends on ARCH_MXC help Say y here to support iMX's remote processors (Cortex M4 on iMX7D) via the remote processor framework. It's safe to say N here. config OMAP_REMOTEPROC tristate "OMAP remoteproc support" depends on ARCH_OMAP4 || SOC_OMAP5 depends on OMAP_IOMMU select MAILBOX select OMAP2PLUS_MBOX help Say y here to support OMAP's remote processors (dual M3 and DSP on OMAP4) via the remote processor framework. Currently only supported on OMAP4. Usually you want to say Y here, in order to enable multimedia use-cases to run on your platform (multimedia codecs are offloaded to remote DSP processors using this framework). It's safe to say N here if you're not interested in multimedia offloading or just want a bare minimum kernel. config WKUP_M3_RPROC tristate "AMx3xx Wakeup M3 remoteproc support" depends on SOC_AM33XX || SOC_AM43XX help Say y here to support Wakeup M3 remote processor on TI AM33xx and AM43xx family of SoCs. Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed for deep CPUIdle states on AM33xx SoCs. Allows for loading of the firmware onto these remote processors. If unsure say N. config DA8XX_REMOTEPROC tristate "DA8xx/OMAP-L13x remoteproc support" depends on ARCH_DAVINCI_DA8XX depends on DMA_CMA help Say y here to support DA8xx/OMAP-L13x remote processors via the remote processor framework. You want to say y here in order to enable AMP use-cases to run on your platform (multimedia codecs are offloaded to remote DSP processors using this framework). This module controls the name of the firmware file that gets loaded on the DSP. This file must reside in the /lib/firmware directory. It can be specified via the module parameter da8xx_fw_name=<filename>, and if not specified will default to "rproc-dsp-fw". It's safe to say n here if you're not interested in multimedia offloading. config KEYSTONE_REMOTEPROC tristate "Keystone Remoteproc support" depends on ARCH_KEYSTONE help Say Y here here to support Keystone remote processors (DSP) via the remote processor framework. It's safe to say N here if you're not interested in the Keystone DSPs or just want to use a bare minimum kernel. config QCOM_RPROC_COMMON tristate config QCOM_Q6V5_COMMON tristate depends on ARCH_QCOM depends on QCOM_SMEM config QCOM_Q6V5_ADSP tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader" depends on OF && ARCH_QCOM depends on QCOM_SMEM depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n depends on QCOM_SYSMON || QCOM_SYSMON=n select MFD_SYSCON select QCOM_MDT_LOADER select QCOM_Q6V5_COMMON select QCOM_RPROC_COMMON help Say y here to support the Peripheral Image Loader for the Qualcomm Technology Inc. ADSP remote processors. config QCOM_Q6V5_MSS tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support" depends on OF && ARCH_QCOM depends on QCOM_SMEM depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n depends on QCOM_SYSMON || QCOM_SYSMON=n select MFD_SYSCON select QCOM_MDT_LOADER select QCOM_Q6V5_COMMON select QCOM_RPROC_COMMON select QCOM_SCM help Say y here to support the Qualcomm self-authenticating modem subsystem based on Hexagon V5. config QCOM_Q6V5_PAS tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support" depends on OF && ARCH_QCOM depends on QCOM_SMEM depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n depends on QCOM_SYSMON || QCOM_SYSMON=n select MFD_SYSCON select QCOM_MDT_LOADER select QCOM_Q6V5_COMMON select QCOM_RPROC_COMMON select QCOM_SCM help Say y here to support the TrustZone based Peripherial Image Loader for the Qualcomm Hexagon v5 based remote processors. This is commonly used to control subsystems such as ADSP, Compute and Sensor. config QCOM_Q6V5_WCSS tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader" depends on OF && ARCH_QCOM depends on QCOM_SMEM depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n depends on QCOM_SYSMON || QCOM_SYSMON=n select MFD_SYSCON select QCOM_MDT_LOADER select QCOM_Q6V5_COMMON select QCOM_RPROC_COMMON select QCOM_SCM help Say y here to support the Qualcomm Peripheral Image Loader for the Hexagon V5 based WCSS remote processors. config QCOM_SYSMON tristate "Qualcomm sysmon driver" depends on RPMSG depends on ARCH_QCOM depends on NET select QCOM_QMI_HELPERS help The sysmon driver implements a sysmon QMI client and a handler for the sys_mon SMD and GLINK channel, which are used for graceful shutdown, retrieving failure information and propagating information about other subsystems being shut down. Say y here if your system runs firmware on any other subsystems, e.g. modem or DSP. config QCOM_WCNSS_PIL tristate "Qualcomm WCNSS Peripheral Image Loader" depends on OF && ARCH_QCOM depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n depends on QCOM_SMEM depends on QCOM_SYSMON || QCOM_SYSMON=n select QCOM_MDT_LOADER select QCOM_RPROC_COMMON select QCOM_SCM help Say y here to support the Peripheral Image Loader for the Qualcomm Wireless Connectivity Subsystem. config ST_REMOTEPROC tristate "ST remoteproc support" depends on ARCH_STI select MAILBOX select STI_MBOX help Say y here to support ST's adjunct processors via the remote processor framework. This can be either built-in or a loadable module. config ST_SLIM_REMOTEPROC tristate config STM32_RPROC tristate "STM32 remoteproc support" depends on ARCH_STM32 depends on REMOTEPROC select MAILBOX help Say y here to support STM32 MCU processors via the remote processor framework. You want to say y here in order to enable AMP use-cases to run on your platform (dedicated firmware could be offloaded to remote MCU processors using this framework). This can be either built-in or a loadable module. endif # REMOTEPROC endmenu remoteproc/Makefile 0000644 00000002255 14722053666 0010402 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Generic framework for controlling remote processors # obj-$(CONFIG_REMOTEPROC) += remoteproc.o remoteproc-y := remoteproc_core.o remoteproc-y += remoteproc_debugfs.o remoteproc-y += remoteproc_sysfs.o remoteproc-y += remoteproc_virtio.o remoteproc-y += remoteproc_elf_loader.o obj-$(CONFIG_IMX_REMOTEPROC) += imx_rproc.o obj-$(CONFIG_OMAP_REMOTEPROC) += omap_remoteproc.o obj-$(CONFIG_WKUP_M3_RPROC) += wkup_m3_rproc.o obj-$(CONFIG_DA8XX_REMOTEPROC) += da8xx_remoteproc.o obj-$(CONFIG_KEYSTONE_REMOTEPROC) += keystone_remoteproc.o obj-$(CONFIG_QCOM_RPROC_COMMON) += qcom_common.o obj-$(CONFIG_QCOM_Q6V5_COMMON) += qcom_q6v5.o obj-$(CONFIG_QCOM_Q6V5_ADSP) += qcom_q6v5_adsp.o obj-$(CONFIG_QCOM_Q6V5_MSS) += qcom_q6v5_mss.o obj-$(CONFIG_QCOM_Q6V5_PAS) += qcom_q6v5_pas.o obj-$(CONFIG_QCOM_Q6V5_WCSS) += qcom_q6v5_wcss.o obj-$(CONFIG_QCOM_SYSMON) += qcom_sysmon.o obj-$(CONFIG_QCOM_WCNSS_PIL) += qcom_wcnss_pil.o qcom_wcnss_pil-y += qcom_wcnss.o qcom_wcnss_pil-y += qcom_wcnss_iris.o obj-$(CONFIG_ST_REMOTEPROC) += st_remoteproc.o obj-$(CONFIG_ST_SLIM_REMOTEPROC) += st_slim_rproc.o obj-$(CONFIG_STM32_RPROC) += stm32_rproc.o accessibility/Kconfig 0000644 00000001750 14722053666 0010714 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig ACCESSIBILITY bool "Accessibility support" ---help--- Accessibility handles all special kinds of hardware devices or software adapters which help people with disabilities (e.g. blindness) to use computers. That includes braille devices, speech synthesis, keyboard remapping, etc. Say Y here to get to see options for accessibility. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. If unsure, say N. if ACCESSIBILITY config A11Y_BRAILLE_CONSOLE bool "Console on braille device" depends on VT depends on SERIAL_CORE_CONSOLE ---help--- Enables console output on a braille device connected to a 8250 serial port. For now only the VisioBraille device is supported. To actually enable it, you need to pass option console=brl,ttyS0 to the kernel. Options are the same as for serial console. If unsure, say N. endif # ACCESSIBILITY accessibility/braille/Makefile 0000644 00000000141 14722053666 0012454 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_A11Y_BRAILLE_CONSOLE) += braille_console.o accessibility/Makefile 0000644 00000000075 14722053666 0011050 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += braille/ devfreq/Kconfig 0000644 00000011652 14722053666 0007523 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig PM_DEVFREQ bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support" select SRCU select PM_OPP help A device may have a list of frequencies and voltages available. devfreq, a generic DVFS framework can be registered for a device in order to let the governor provided to devfreq choose an operating frequency based on the device driver's policy. Each device may have its own governor and policy. Devfreq can reevaluate the device state periodically and/or based on the notification to "nb", a notifier block, of devfreq. Like some CPUs with CPUfreq, a device may have multiple clocks. However, because the clock frequencies of a single device are determined by the single device's state, an instance of devfreq is attached to a single device and returns a "representative" clock frequency of the device, which is also attached to a device by 1-to-1. The device registering devfreq takes the responsibility to "interpret" the representative frequency and to set its every clock accordingly with the "target" callback given to devfreq. When OPP is used with the devfreq device, it is recommended to register devfreq's nb to the OPP's notifier head. If OPP is used with the devfreq device, you may use OPP helper functions defined in devfreq.h. if PM_DEVFREQ comment "DEVFREQ Governors" config DEVFREQ_GOV_SIMPLE_ONDEMAND tristate "Simple Ondemand" help Chooses frequency based on the recent load on the device. Works similar as ONDEMAND governor of CPUFREQ does. A device with Simple-Ondemand should be able to provide busy/total counter values that imply the usage rate. A device may provide tuned values to the governor with data field at devfreq_add_device(). config DEVFREQ_GOV_PERFORMANCE tristate "Performance" help Sets the frequency at the maximum available frequency. This governor always returns UINT_MAX as frequency so that the DEVFREQ framework returns the highest frequency available at any time. config DEVFREQ_GOV_POWERSAVE tristate "Powersave" help Sets the frequency at the minimum available frequency. This governor always returns 0 as frequency so that the DEVFREQ framework returns the lowest frequency available at any time. config DEVFREQ_GOV_USERSPACE tristate "Userspace" help Sets the frequency at the user specified one. This governor returns the user configured frequency if there has been an input to /sys/devices/.../power/devfreq_set_freq. Otherwise, the governor does not change the frequency given at the initialization. config DEVFREQ_GOV_PASSIVE tristate "Passive" help Sets the frequency based on the frequency of its parent devfreq device. This governor does not change the frequency by itself through sysfs entries. The passive governor recommends that devfreq device uses the OPP table to get the frequency/voltage. comment "DEVFREQ Drivers" config ARM_EXYNOS_BUS_DEVFREQ tristate "ARM EXYNOS Generic Memory Bus DEVFREQ Driver" depends on ARCH_EXYNOS || COMPILE_TEST select DEVFREQ_GOV_SIMPLE_ONDEMAND select DEVFREQ_GOV_PASSIVE select DEVFREQ_EVENT_EXYNOS_PPMU select PM_DEVFREQ_EVENT select PM_OPP help This adds the common DEVFREQ driver for Exynos Memory bus. Exynos Memory bus has one more group of memory bus (e.g, MIF and INT block). Each memory bus group could contain many memoby bus block. It reads PPMU counters of memory controllers by using DEVFREQ-event device and adjusts the operating frequencies and voltages with OPP support. This does not yet operate with optimal voltages. config ARM_TEGRA_DEVFREQ tristate "NVIDIA Tegra30/114/124/210 DEVFREQ Driver" depends on ARCH_TEGRA_3x_SOC || ARCH_TEGRA_114_SOC || \ ARCH_TEGRA_132_SOC || ARCH_TEGRA_124_SOC || \ ARCH_TEGRA_210_SOC || \ COMPILE_TEST select PM_OPP depends on COMMON_CLK help This adds the DEVFREQ driver for the Tegra family of SoCs. It reads ACTMON counters of memory controllers and adjusts the operating frequencies and voltages with OPP support. config ARM_TEGRA20_DEVFREQ tristate "NVIDIA Tegra20 DEVFREQ Driver" depends on (TEGRA_MC && TEGRA20_EMC) || COMPILE_TEST depends on COMMON_CLK select DEVFREQ_GOV_SIMPLE_ONDEMAND select PM_OPP help This adds the DEVFREQ driver for the Tegra20 family of SoCs. It reads Memory Controller counters and adjusts the operating frequencies and voltages with OPP support. config ARM_RK3399_DMC_DEVFREQ tristate "ARM RK3399 DMC DEVFREQ Driver" depends on (ARCH_ROCKCHIP && HAVE_ARM_SMCCC) || \ (COMPILE_TEST && HAVE_ARM_SMCCC) select DEVFREQ_EVENT_ROCKCHIP_DFI select DEVFREQ_GOV_SIMPLE_ONDEMAND select PM_DEVFREQ_EVENT select PM_OPP help This adds the DEVFREQ driver for the RK3399 DMC(Dynamic Memory Controller). It sets the frequency for the memory controller and reads the usage counts from hardware. source "drivers/devfreq/event/Kconfig" endif # PM_DEVFREQ devfreq/event/Kconfig 0000644 00000003025 14722053666 0010637 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig PM_DEVFREQ_EVENT bool "DEVFREQ-Event device Support" help The devfreq-event device provide the raw data and events which indicate the current state of devfreq-event device. The provided data from devfreq-event device is used to monitor the state of device and determine the suitable size of resource to reduce the wasted resource. The devfreq-event device can support the various type of events (e.g., raw data, utilization, latency, bandwidth). The events may be used by devfreq governor and other subsystem. if PM_DEVFREQ_EVENT config DEVFREQ_EVENT_EXYNOS_NOCP tristate "EXYNOS NoC (Network On Chip) Probe DEVFREQ event Driver" depends on ARCH_EXYNOS || COMPILE_TEST select PM_OPP select REGMAP_MMIO help This add the devfreq-event driver for Exynos SoC. It provides NoC (Network on Chip) Probe counters to measure the bandwidth of AXI bus. config DEVFREQ_EVENT_EXYNOS_PPMU tristate "EXYNOS PPMU (Platform Performance Monitoring Unit) DEVFREQ event Driver" depends on ARCH_EXYNOS || COMPILE_TEST select PM_OPP help This add the devfreq-event driver for Exynos SoC. It provides PPMU (Platform Performance Monitoring Unit) counters to estimate the utilization of each module. config DEVFREQ_EVENT_ROCKCHIP_DFI tristate "ROCKCHIP DFI DEVFREQ event Driver" depends on ARCH_ROCKCHIP || COMPILE_TEST help This add the devfreq-event driver for Rockchip SoC. It provides DFI (DDR Monitor Module) driver to count ddr load. endif # PM_DEVFREQ_EVENT devfreq/event/Makefile 0000644 00000000365 14722053666 0011000 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Exynos DEVFREQ Event Drivers obj-$(CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP) += exynos-nocp.o obj-$(CONFIG_DEVFREQ_EVENT_EXYNOS_PPMU) += exynos-ppmu.o obj-$(CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI) += rockchip-dfi.o devfreq/Makefile 0000644 00000001337 14722053666 0007657 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PM_DEVFREQ) += devfreq.o obj-$(CONFIG_PM_DEVFREQ_EVENT) += devfreq-event.o obj-$(CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND) += governor_simpleondemand.o obj-$(CONFIG_DEVFREQ_GOV_PERFORMANCE) += governor_performance.o obj-$(CONFIG_DEVFREQ_GOV_POWERSAVE) += governor_powersave.o obj-$(CONFIG_DEVFREQ_GOV_USERSPACE) += governor_userspace.o obj-$(CONFIG_DEVFREQ_GOV_PASSIVE) += governor_passive.o # DEVFREQ Drivers obj-$(CONFIG_ARM_EXYNOS_BUS_DEVFREQ) += exynos-bus.o obj-$(CONFIG_ARM_RK3399_DMC_DEVFREQ) += rk3399_dmc.o obj-$(CONFIG_ARM_TEGRA_DEVFREQ) += tegra30-devfreq.o obj-$(CONFIG_ARM_TEGRA20_DEVFREQ) += tegra20-devfreq.o # DEVFREQ Event Drivers obj-$(CONFIG_PM_DEVFREQ_EVENT) += event/ greybus/Kconfig 0000644 00000001742 14722053666 0007546 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig GREYBUS tristate "Greybus support" depends on SYSFS ---help--- This option enables the Greybus driver core. Greybus is an hardware protocol that was designed to provide Unipro with a sane application layer. It was originally designed for the ARA project, a module phone system, but has shown up in other phones, and can be tunneled over other busses in order to control hardware devices. Say Y here to enable support for these types of drivers. To compile this code as a module, chose M here: the module will be called greybus.ko if GREYBUS config GREYBUS_ES2 tristate "Greybus ES3 USB host controller" depends on USB ---help--- Select this option if you have a Toshiba ES3 USB device that acts as a Greybus "host controller". This device is a bridge from a USB device to a Unipro network. To compile this code as a module, chose M here: the module will be called gb-es2.ko endif # GREYBUS greybus/Makefile 0000644 00000000631 14722053666 0007677 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Greybus core greybus-y := core.o \ debugfs.o \ hd.o \ manifest.o \ module.o \ interface.o \ bundle.o \ connection.o \ control.o \ svc.o \ svc_watchdog.o \ operation.o obj-$(CONFIG_GREYBUS) += greybus.o # needed for trace events ccflags-y += -I$(src) # Greybus Host controller drivers gb-es2-y := es2.o obj-$(CONFIG_GREYBUS_ES2) += gb-es2.o bus/Kconfig 0000644 00000013552 14722053666 0006661 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Bus Devices # menu "Bus devices" config ARM_CCI bool config ARM_CCI400_COMMON bool select ARM_CCI config ARM_CCI400_PORT_CTRL bool depends on ARM && OF && CPU_V7 select ARM_CCI400_COMMON help Low level power management driver for CCI400 cache coherent interconnect for ARM platforms. config BRCMSTB_GISB_ARB bool "Broadcom STB GISB bus arbiter" depends on ARM || ARM64 || MIPS default ARCH_BRCMSTB || BMIPS_GENERIC help Driver for the Broadcom Set Top Box System-on-a-chip internal bus arbiter. This driver provides timeout and target abort error handling and internal bus master decoding. config MOXTET tristate "CZ.NIC Turris Mox module configuration bus" depends on SPI_MASTER && OF help Say yes here to add support for the module configuration bus found on CZ.NIC's Turris Mox. This is needed for the ability to discover the order in which the modules are connected and to get/set some of their settings. For example the GPIOs on Mox SFP module are configured through this bus. config HISILICON_LPC bool "Support for ISA I/O space on HiSilicon Hip06/7" depends on ARM64 && (ARCH_HISI || COMPILE_TEST) select INDIRECT_PIO help Driver to enable I/O access to devices attached to the Low Pin Count bus on the HiSilicon Hip06/7 SoC. config IMX_WEIM bool "Freescale EIM DRIVER" depends on ARCH_MXC help Driver for i.MX WEIM controller. The WEIM(Wireless External Interface Module) works like a bus. You can attach many different devices on it, such as NOR, onenand. config MIPS_CDMM bool "MIPS Common Device Memory Map (CDMM) Driver" depends on CPU_MIPSR2 help Driver needed for the MIPS Common Device Memory Map bus in MIPS cores. This bus is for per-CPU tightly coupled devices such as the Fast Debug Channel (FDC). For this to work, either your bootloader needs to enable the CDMM region at an unused physical address on the boot CPU, or else your platform code needs to implement mips_cdmm_phys_base() (see asm/cdmm.h). config MVEBU_MBUS bool depends on PLAT_ORION help Driver needed for the MBus configuration on Marvell EBU SoCs (Kirkwood, Dove, Orion5x, MV78XX0 and Armada 370/XP). config OMAP_INTERCONNECT tristate "OMAP INTERCONNECT DRIVER" depends on ARCH_OMAP2PLUS help Driver to enable OMAP interconnect error handling driver. config OMAP_OCP2SCP tristate "OMAP OCP2SCP DRIVER" depends on ARCH_OMAP2PLUS help Driver to enable ocp2scp module which transforms ocp interface protocol to scp protocol. In OMAP4, USB PHY is connected via OCP2SCP and in OMAP5, both USB PHY and SATA PHY is connected via OCP2SCP. config QCOM_EBI2 bool "Qualcomm External Bus Interface 2 (EBI2)" depends on HAS_IOMEM depends on ARCH_QCOM || COMPILE_TEST default ARCH_QCOM help Say y here to enable support for the Qualcomm External Bus Interface 2, which can be used to connect things like NAND Flash, SRAM, ethernet adapters, FPGAs and LCD displays. config SIMPLE_PM_BUS tristate "Simple Power-Managed Bus Driver" depends on OF && PM help Driver for transparent busses that don't need a real driver, but where the bus controller is part of a PM domain, or under the control of a functional clock, and thus relies on runtime PM for managing this PM domain and/or clock. An example of such a bus controller is the Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus Bridge", or "External Bus Interface") as found on several Renesas ARM SoCs. config SUN50I_DE2_BUS bool "Allwinner A64 DE2 Bus Driver" default ARM64 depends on ARCH_SUNXI select SUNXI_SRAM help Say y here to enable support for Allwinner A64 DE2 bus driver. It's mostly transparent, but a SRAM region needs to be claimed in the SRAM controller to make the all blocks in the DE2 part accessible. config SUNXI_RSB tristate "Allwinner sunXi Reduced Serial Bus Driver" default MACH_SUN8I || MACH_SUN9I || ARM64 depends on ARCH_SUNXI select REGMAP help Say y here to enable support for Allwinner's Reduced Serial Bus (RSB) support. This controller is responsible for communicating with various RSB based devices, such as AXP223, AXP8XX PMICs, and AC100/AC200 ICs. config TEGRA_ACONNECT tristate "Tegra ACONNECT Bus Driver" depends on ARCH_TEGRA depends on OF && PM help Driver for the Tegra ACONNECT bus which is used to interface with the devices inside the Audio Processing Engine (APE) for Tegra210 and later. config TEGRA_GMI tristate "Tegra Generic Memory Interface bus driver" depends on ARCH_TEGRA help Driver for the Tegra Generic Memory Interface bus which can be used to attach devices such as NOR, UART, FPGA and more. config TI_SYSC bool "TI sysc interconnect target module driver" depends on ARCH_OMAP2PLUS help Generic driver for Texas Instruments interconnect target module found on many TI SoCs. config TS_NBUS tristate "Technologic Systems NBUS Driver" depends on SOC_IMX28 depends on OF_GPIO && PWM help Driver for the Technologic Systems NBUS which is used to interface with the peripherals in the FPGA of the TS-4600 SoM. config UNIPHIER_SYSTEM_BUS tristate "UniPhier System Bus driver" depends on ARCH_UNIPHIER && OF default y help Support for UniPhier System Bus, a simple external bus. This is needed to use on-board devices connected to UniPhier SoCs. config VEXPRESS_CONFIG bool "Versatile Express configuration bus" default y if ARCH_VEXPRESS depends on ARM || ARM64 depends on OF select REGMAP help Platform configuration infrastructure for the ARM Ltd. Versatile Express. config DA8XX_MSTPRI bool "TI da8xx master peripheral priority driver" depends on ARCH_DAVINCI_DA8XX help Driver for Texas Instruments da8xx master peripheral priority configuration. Allows to adjust the priorities of all master peripherals. source "drivers/bus/fsl-mc/Kconfig" endmenu bus/Makefile 0000644 00000002110 14722053666 0007002 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the bus drivers. # # Interconnect bus drivers for ARM platforms obj-$(CONFIG_ARM_CCI) += arm-cci.o obj-$(CONFIG_HISILICON_LPC) += hisi_lpc.o obj-$(CONFIG_BRCMSTB_GISB_ARB) += brcmstb_gisb.o obj-$(CONFIG_MOXTET) += moxtet.o # DPAA2 fsl-mc bus obj-$(CONFIG_FSL_MC_BUS) += fsl-mc/ obj-$(CONFIG_IMX_WEIM) += imx-weim.o obj-$(CONFIG_MIPS_CDMM) += mips_cdmm.o obj-$(CONFIG_MVEBU_MBUS) += mvebu-mbus.o # Interconnect bus driver for OMAP SoCs. obj-$(CONFIG_OMAP_INTERCONNECT) += omap_l3_smx.o omap_l3_noc.o obj-$(CONFIG_OMAP_OCP2SCP) += omap-ocp2scp.o obj-$(CONFIG_QCOM_EBI2) += qcom-ebi2.o obj-$(CONFIG_SUN50I_DE2_BUS) += sun50i-de2.o obj-$(CONFIG_SUNXI_RSB) += sunxi-rsb.o obj-$(CONFIG_SIMPLE_PM_BUS) += simple-pm-bus.o obj-$(CONFIG_TEGRA_ACONNECT) += tegra-aconnect.o obj-$(CONFIG_TEGRA_GMI) += tegra-gmi.o obj-$(CONFIG_TI_SYSC) += ti-sysc.o obj-$(CONFIG_TS_NBUS) += ts-nbus.o obj-$(CONFIG_UNIPHIER_SYSTEM_BUS) += uniphier-system-bus.o obj-$(CONFIG_VEXPRESS_CONFIG) += vexpress-config.o obj-$(CONFIG_DA8XX_MSTPRI) += da8xx-mstpri.o bus/fsl-mc/Kconfig 0000644 00000001014 14722053666 0010030 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # DPAA2 fsl-mc bus # # Copyright (C) 2014-2016 Freescale Semiconductor, Inc. # config FSL_MC_BUS bool "QorIQ DPAA2 fsl-mc bus driver" depends on OF && (ARCH_LAYERSCAPE || (COMPILE_TEST && (ARM || ARM64 || X86_LOCAL_APIC || PPC))) select GENERIC_MSI_IRQ_DOMAIN help Driver to enable the bus infrastructure for the QorIQ DPAA2 architecture. The fsl-mc bus driver handles discovery of DPAA2 objects (which are represented as Linux devices) and binding objects to drivers. bus/fsl-mc/Makefile 0000644 00000000623 14722053666 0010172 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Freescale Management Complex (MC) bus drivers # # Copyright (C) 2014 Freescale Semiconductor, Inc. # obj-$(CONFIG_FSL_MC_BUS) += mc-bus-driver.o mc-bus-driver-objs := fsl-mc-bus.o \ mc-sys.o \ mc-io.o \ dpbp.o \ dpcon.o \ dprc.o \ dprc-driver.o \ fsl-mc-allocator.o \ fsl-mc-msi.o \ dpmcp.o uio/Kconfig 0000644 00000013315 14722053666 0006661 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig UIO tristate "Userspace I/O drivers" depends on MMU help Enable this to allow the userspace driver core code to be built. This code allows userspace programs easy access to kernel interrupts and memory locations, allowing some drivers to be written in userspace. Note that a small kernel driver is also required for interrupt handling to work properly. If you don't know what to do here, say N. if UIO config UIO_CIF tristate "generic Hilscher CIF Card driver" depends on PCI help Driver for Hilscher CIF DeviceNet and Profibus cards. This driver requires a userspace component called cif that handles all of the heavy lifting and can be found at: <http://www.osadl.org/projects/downloads/UIO/user/> To compile this driver as a module, choose M here: the module will be called uio_cif. config UIO_PDRV_GENIRQ tristate "Userspace I/O platform driver with generic IRQ handling" help Platform driver for Userspace I/O devices, including generic interrupt handling code. Shared interrupts are not supported. This kernel driver requires that the matching userspace driver handles interrupts in a special way. Userspace is responsible for acknowledging the hardware device if needed, and re-enabling interrupts in the interrupt controller using the write() syscall. If you don't know what to do here, say N. config UIO_DMEM_GENIRQ tristate "Userspace platform driver with generic irq and dynamic memory" depends on HAS_DMA help Platform driver for Userspace I/O devices, including generic interrupt handling code. Shared interrupts are not supported. Memory regions can be specified with the same platform device resources as the UIO_PDRV drivers, but dynamic regions can also be specified. The number and size of these regions is static, but the memory allocation is not performed until the associated device file is opened. The memory is freed once the uio device is closed. If you don't know what to do here, say N. config UIO_AEC tristate "AEC video timestamp device" depends on PCI help UIO driver for the Adrienne Electronics Corporation PCI time code device. This device differs from other UIO devices since it uses I/O ports instead of memory mapped I/O. In order to make it possible for UIO to work with this device a utility, uioport, can be used to read and write the ports: git clone git://ifup.org/philips/uioport.git If you compile this as a module, it will be called uio_aec. config UIO_SERCOS3 tristate "Automata Sercos III PCI card driver" depends on PCI help Userspace I/O interface for the Sercos III PCI card from Automata GmbH. The userspace part of this driver will be available for download from the Automata GmbH web site. Automata GmbH: http://www.automataweb.com Sercos III interface: http://www.sercos.com If you compile this as a module, it will be called uio_sercos3. config UIO_PCI_GENERIC tristate "Generic driver for PCI 2.3 and PCI Express cards" depends on PCI help Generic driver that you can bind, dynamically, to any PCI 2.3 compliant and PCI Express card. It is useful, primarily, for virtualization scenarios. If you compile this as a module, it will be called uio_pci_generic. config UIO_NETX tristate "Hilscher NetX Card driver" depends on PCI help Driver for Hilscher NetX based fieldbus cards (cifX, comX). This driver requires a userspace component that comes with the card or is available from Hilscher (http://www.hilscher.com). To compile this driver as a module, choose M here; the module will be called uio_netx. config UIO_FSL_ELBC_GPCM tristate "eLBC/GPCM driver" depends on FSL_LBC help Generic driver for accessing a peripheral connected to an eLBC port that is running in GPCM mode. GPCM is an interface for simple lower performance memories and memory-mapped devices. For devices using FCM or UPM eLBC modes, other device-specific drivers are available. config UIO_FSL_ELBC_GPCM_NETX5152 bool "eLBC/GPCM netX 51/52 support" depends on UIO_FSL_ELBC_GPCM help This will add support for netX 51/52 devices connected via eLBC/GPCM. In particular, it implements interrupt handling. This can be used together with the userspace netX stack from Hilscher. Information about this hardware can be found at: http://www.hilscher.com/netx config UIO_PRUSS tristate "Texas Instruments PRUSS driver" select GENERIC_ALLOCATOR depends on HAS_IOMEM && HAS_DMA help PRUSS driver for OMAPL138/DA850/AM18XX devices PRUSS driver requires user space components, examples and user space driver is available from below SVN repo - you may use anonymous login https://gforge.ti.com/gf/project/pru_sw/ More info on API is available at below wiki http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader To compile this driver as a module, choose M here: the module will be called uio_pruss. config UIO_MF624 tristate "Humusoft MF624 DAQ PCI card driver" depends on PCI help Userspace I/O interface for the Humusoft MF624 PCI card. A sample userspace application using this driver is available (among other MF624 related information and software components) for download in a git repository: git clone git://rtime.felk.cvut.cz/mf6xx.git If you compile this as a module, it will be called uio_mf624. config UIO_HV_GENERIC tristate "Generic driver for Hyper-V VMBus" depends on HYPERV help Generic driver that you can bind, dynamically, to any Hyper-V VMBus device. It is useful to provide direct access to network and storage devices from userspace. If you compile this as a module, it will be called uio_hv_generic. endif uio/Makefile 0000644 00000001063 14722053666 0007013 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_UIO) += uio.o obj-$(CONFIG_UIO_CIF) += uio_cif.o obj-$(CONFIG_UIO_PDRV_GENIRQ) += uio_pdrv_genirq.o obj-$(CONFIG_UIO_DMEM_GENIRQ) += uio_dmem_genirq.o obj-$(CONFIG_UIO_AEC) += uio_aec.o obj-$(CONFIG_UIO_SERCOS3) += uio_sercos3.o obj-$(CONFIG_UIO_PCI_GENERIC) += uio_pci_generic.o obj-$(CONFIG_UIO_NETX) += uio_netx.o obj-$(CONFIG_UIO_PRUSS) += uio_pruss.o obj-$(CONFIG_UIO_MF624) += uio_mf624.o obj-$(CONFIG_UIO_FSL_ELBC_GPCM) += uio_fsl_elbc_gpcm.o obj-$(CONFIG_UIO_HV_GENERIC) += uio_hv_generic.o mtd/hyperbus/Kconfig 0000644 00000001164 14722053666 0010511 0 ustar 00 menuconfig MTD_HYPERBUS tristate "HyperBus support" depends on HAS_IOMEM select MTD_CFI select MTD_MAP_BANK_WIDTH_2 select MTD_CFI_AMDSTD select MTD_COMPLEX_MAPPINGS help This is the framework for the HyperBus which can be used by the HyperBus Controller driver to communicate with HyperFlash. See Cypress HyperBus specification for more details if MTD_HYPERBUS config HBMC_AM654 tristate "HyperBus controller driver for AM65x SoC" depends on ARM64 || COMPILE_TEST select MULTIPLEXER imply MUX_MMIO help This is the driver for HyperBus controller on TI's AM65x and other SoCs endif # MTD_HYPERBUS mtd/hyperbus/Makefile 0000644 00000000173 14722053666 0010645 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MTD_HYPERBUS) += hyperbus-core.o obj-$(CONFIG_HBMC_AM654) += hbmc-am654.o mtd/lpddr/Kconfig 0000644 00000001706 14722053666 0007757 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "LPDDR & LPDDR2 PCM memory drivers" depends on MTD config MTD_LPDDR tristate "Support for LPDDR flash chips" select MTD_QINFO_PROBE help This option enables support of LPDDR (Low power double data rate) flash chips. Synonymous with Mobile-DDR. It is a new standard for DDR memories, intended for battery-operated systems. config MTD_QINFO_PROBE depends on MTD_LPDDR tristate "Detect flash chips by QINFO probe" help Device Information for LPDDR chips is offered through the Overlay Window QINFO interface, permits software to be used for entire families of devices. This serves similar purpose of CFI on legacy Flash products config MTD_LPDDR2_NVM # ARM dependency is only for writel_relaxed() depends on MTD && ARM tristate "Support for LPDDR2-NVM flash chips" help This option enables support of PCM memories with a LPDDR2-NVM (Low power double data rate 2) interface. endmenu mtd/lpddr/Makefile 0000644 00000000324 14722053666 0010107 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # linux/drivers/mtd/lpddr/Makefile # obj-$(CONFIG_MTD_QINFO_PROBE) += qinfo_probe.o obj-$(CONFIG_MTD_LPDDR) += lpddr_cmds.o obj-$(CONFIG_MTD_LPDDR2_NVM) += lpddr2_nvm.o mtd/chips/Kconfig 0000644 00000020443 14722053666 0007757 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "RAM/ROM/Flash chip drivers" depends on MTD!=n config MTD_CFI tristate "Detect flash chips by Common Flash Interface (CFI) probe" select MTD_GEN_PROBE select MTD_CFI_UTIL help The Common Flash Interface specification was developed by Intel, AMD and other flash manufactures that provides a universal method for probing the capabilities of flash devices. If you wish to support any device that is CFI-compliant, you need to enable this option. Visit <http://www.amd.com/products/nvd/overview/cfi.html> for more information on CFI. config MTD_JEDECPROBE tristate "Detect non-CFI AMD/JEDEC-compatible flash chips" select MTD_GEN_PROBE select MTD_CFI_UTIL help This option enables JEDEC-style probing of flash chips which are not compatible with the Common Flash Interface, but will use the common CFI-targeted flash drivers for any chips which are identified which are in fact compatible in all but the probe method. This actually covers most AMD/Fujitsu-compatible chips and also non-CFI Intel chips. config MTD_GEN_PROBE tristate config MTD_CFI_ADV_OPTIONS bool "Flash chip driver advanced configuration options" depends on MTD_GEN_PROBE help If you need to specify a specific endianness for access to flash chips, or if you wish to reduce the size of the kernel by including support for only specific arrangements of flash chips, say 'Y'. This option does not directly affect the code, but will enable other configuration options which allow you to do so. If unsure, say 'N'. choice prompt "Flash cmd/query data swapping" depends on MTD_CFI_ADV_OPTIONS default MTD_CFI_NOSWAP help This option defines the way in which the CPU attempts to arrange data bits when writing the 'magic' commands to the chips. Saying 'NO', which is the default when CONFIG_MTD_CFI_ADV_OPTIONS isn't enabled, means that the CPU will not do any swapping; the chips are expected to be wired to the CPU in 'host-endian' form. Specific arrangements are possible with the BIG_ENDIAN_BYTE and LITTLE_ENDIAN_BYTE, if the bytes are reversed. config MTD_CFI_NOSWAP depends on !ARCH_IXP4XX || CPU_BIG_ENDIAN bool "NO" config MTD_CFI_BE_BYTE_SWAP bool "BIG_ENDIAN_BYTE" config MTD_CFI_LE_BYTE_SWAP depends on !ARCH_IXP4XX bool "LITTLE_ENDIAN_BYTE" endchoice config MTD_CFI_GEOMETRY bool "Specific CFI Flash geometry selection" depends on MTD_CFI_ADV_OPTIONS select MTD_MAP_BANK_WIDTH_1 if !(MTD_MAP_BANK_WIDTH_2 || \ MTD_MAP_BANK_WIDTH_4 || MTD_MAP_BANK_WIDTH_8 || \ MTD_MAP_BANK_WIDTH_16 || MTD_MAP_BANK_WIDTH_32) select MTD_CFI_I1 if !(MTD_CFI_I2 || MTD_CFI_I4 || MTD_CFI_I8) help This option does not affect the code directly, but will enable some other configuration options which would allow you to reduce the size of the kernel by including support for only certain arrangements of CFI chips. If unsure, say 'N' and all options which are supported by the current code will be enabled. config MTD_MAP_BANK_WIDTH_1 bool "Support 8-bit buswidth" if MTD_CFI_GEOMETRY default y help If you wish to support CFI devices on a physical bus which is 8 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_2 bool "Support 16-bit buswidth" if MTD_CFI_GEOMETRY default y help If you wish to support CFI devices on a physical bus which is 16 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_4 bool "Support 32-bit buswidth" if MTD_CFI_GEOMETRY default y help If you wish to support CFI devices on a physical bus which is 32 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_8 bool "Support 64-bit buswidth" if MTD_CFI_GEOMETRY default n help If you wish to support CFI devices on a physical bus which is 64 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_16 bool "Support 128-bit buswidth" if MTD_CFI_GEOMETRY default n help If you wish to support CFI devices on a physical bus which is 128 bits wide, say 'Y'. config MTD_MAP_BANK_WIDTH_32 bool "Support 256-bit buswidth" if MTD_CFI_GEOMETRY select MTD_COMPLEX_MAPPINGS if HAS_IOMEM default n help If you wish to support CFI devices on a physical bus which is 256 bits wide, say 'Y'. config MTD_CFI_I1 bool "Support 1-chip flash interleave" if MTD_CFI_GEOMETRY default y help If your flash chips are not interleaved - i.e. you only have one flash chip addressed by each bus cycle, then say 'Y'. config MTD_CFI_I2 bool "Support 2-chip flash interleave" if MTD_CFI_GEOMETRY default y help If your flash chips are interleaved in pairs - i.e. you have two flash chips addressed by each bus cycle, then say 'Y'. config MTD_CFI_I4 bool "Support 4-chip flash interleave" if MTD_CFI_GEOMETRY default n help If your flash chips are interleaved in fours - i.e. you have four flash chips addressed by each bus cycle, then say 'Y'. config MTD_CFI_I8 bool "Support 8-chip flash interleave" if MTD_CFI_GEOMETRY default n help If your flash chips are interleaved in eights - i.e. you have eight flash chips addressed by each bus cycle, then say 'Y'. config MTD_OTP bool "Protection Registers aka one-time programmable (OTP) bits" depends on MTD_CFI_ADV_OPTIONS default n help This enables support for reading, writing and locking so called "Protection Registers" present on some flash chips. A subset of them are pre-programmed at the factory with a unique set of values. The rest is user-programmable. The user-programmable Protection Registers contain one-time programmable (OTP) bits; when programmed, register bits cannot be erased. Each Protection Register can be accessed multiple times to program individual bits, as long as the register remains unlocked. Each Protection Register has an associated Lock Register bit. When a Lock Register bit is programmed, the associated Protection Register can only be read; it can no longer be programmed. Additionally, because the Lock Register bits themselves are OTP, when programmed, Lock Register bits cannot be erased. Therefore, when a Protection Register is locked, it cannot be unlocked. This feature should therefore be used with extreme care. Any mistake in the programming of OTP bits will waste them. config MTD_CFI_INTELEXT tristate "Support for CFI command set 0001 (Intel/Sharp chips)" depends on MTD_GEN_PROBE select MTD_CFI_UTIL help The Common Flash Interface defines a number of different command sets which a CFI-compliant chip may claim to implement. This code provides support for command set 0001, used on Intel StrataFlash and other parts. config MTD_CFI_AMDSTD tristate "Support for CFI command set 0002 (AMD/Fujitsu/Spansion chips)" depends on MTD_GEN_PROBE select MTD_CFI_UTIL help The Common Flash Interface defines a number of different command sets which a CFI-compliant chip may claim to implement. This code provides support for command set 0002, used on chips including the AMD Am29LV320. config MTD_CFI_STAA tristate "Support for CFI command set 0020 (ST (Advanced Architecture) chips)" depends on MTD_GEN_PROBE select MTD_CFI_UTIL help The Common Flash Interface defines a number of different command sets which a CFI-compliant chip may claim to implement. This code provides support for command set 0020. config MTD_CFI_UTIL tristate config MTD_RAM tristate "Support for RAM chips in bus mapping" help This option enables basic support for RAM chips accessed through a bus mapping driver. config MTD_ROM tristate "Support for ROM chips in bus mapping" help This option enables basic support for ROM chips accessed through a bus mapping driver. config MTD_ABSENT tristate "Support for absent chips in bus mapping" help This option enables support for a dummy probing driver used to allocated placeholder MTD devices on systems that have socketed or removable media. Use of this driver as a fallback chip probe preserves the expected registration order of MTD device nodes on the system regardless of media presence. Device nodes created with this driver will return -ENODEV upon access. config MTD_XIP bool "XIP aware MTD support" depends on !SMP && (MTD_CFI_INTELEXT || MTD_CFI_AMDSTD) && ARCH_MTD_XIP default y if XIP_KERNEL help This allows MTD support to work with flash memory which is also used for XIP purposes. If you're not sure what this is all about then say N. endmenu mtd/chips/Makefile 0000644 00000001026 14722053666 0010110 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # linux/drivers/chips/Makefile # obj-$(CONFIG_MTD) += chipreg.o obj-$(CONFIG_MTD_CFI) += cfi_probe.o obj-$(CONFIG_MTD_CFI_UTIL) += cfi_util.o obj-$(CONFIG_MTD_CFI_STAA) += cfi_cmdset_0020.o obj-$(CONFIG_MTD_CFI_AMDSTD) += cfi_cmdset_0002.o obj-$(CONFIG_MTD_CFI_INTELEXT) += cfi_cmdset_0001.o obj-$(CONFIG_MTD_GEN_PROBE) += gen_probe.o obj-$(CONFIG_MTD_JEDECPROBE) += jedec_probe.o obj-$(CONFIG_MTD_RAM) += map_ram.o obj-$(CONFIG_MTD_ROM) += map_rom.o obj-$(CONFIG_MTD_ABSENT) += map_absent.o mtd/Kconfig 0000644 00000016534 14722053666 0006657 0 ustar 00 menuconfig MTD tristate "Memory Technology Device (MTD) support" imply NVMEM help Memory Technology Devices are flash, RAM and similar chips, often used for solid state file systems on embedded devices. This option will provide the generic support for MTD drivers to register themselves with the kernel and for potential users of MTD devices to enumerate the devices which are present and obtain a handle on them. It will also allow you to select individual drivers for particular hardware and users of MTD devices. If unsure, say N. if MTD config MTD_TESTS tristate "MTD tests support (DANGEROUS)" depends on m help This option includes various MTD tests into compilation. The tests should normally be compiled as kernel modules. The modules perform various checks and verifications when loaded. WARNING: some of the tests will ERASE entire MTD device which they test. Do not use these tests unless you really know what you do. menu "Partition parsers" source "drivers/mtd/parsers/Kconfig" endmenu comment "User Modules And Translation Layers" # # MTD block device support is select'ed if needed # config MTD_BLKDEVS tristate config MTD_BLOCK tristate "Caching block device access to MTD devices" depends on BLOCK select MTD_BLKDEVS help Although most flash chips have an erase size too large to be useful as block devices, it is possible to use MTD devices which are based on RAM chips in this manner. This block device is a user of MTD devices performing that function. At the moment, it is also required for the Journalling Flash File System(s) to obtain a handle on the MTD device when it's mounted (although JFFS and JFFS2 don't actually use any of the functionality of the mtdblock device). Later, it may be extended to perform read/erase/modify/write cycles on flash chips to emulate a smaller block size. Needless to say, this is very unsafe, but could be useful for file systems which are almost never written to. You do not need this option for use with the DiskOnChip devices. For those, enable NFTL support (CONFIG_NFTL) instead. config MTD_BLOCK_RO tristate "Readonly block device access to MTD devices" depends on MTD_BLOCK!=y && BLOCK select MTD_BLKDEVS help This allows you to mount read-only file systems (such as cramfs) from an MTD device, without the overhead (and danger) of the caching driver. You do not need this option for use with the DiskOnChip devices. For those, enable NFTL support (CONFIG_NFTL) instead. config FTL tristate "FTL (Flash Translation Layer) support" depends on BLOCK select MTD_BLKDEVS help This provides support for the original Flash Translation Layer which is part of the PCMCIA specification. It uses a kind of pseudo- file system on a flash device to emulate a block device with 512-byte sectors, on top of which you put a 'normal' file system. You may find that the algorithms used in this code are patented unless you live in the Free World where software patents aren't legal - in the USA you are only permitted to use this on PCMCIA hardware, although under the terms of the GPL you're obviously permitted to copy, modify and distribute the code as you wish. Just not use it. config NFTL tristate "NFTL (NAND Flash Translation Layer) support" depends on BLOCK select MTD_BLKDEVS help This provides support for the NAND Flash Translation Layer which is used on M-Systems' DiskOnChip devices. It uses a kind of pseudo- file system on a flash device to emulate a block device with 512-byte sectors, on top of which you put a 'normal' file system. You may find that the algorithms used in this code are patented unless you live in the Free World where software patents aren't legal - in the USA you are only permitted to use this on DiskOnChip hardware, although under the terms of the GPL you're obviously permitted to copy, modify and distribute the code as you wish. Just not use it. config NFTL_RW bool "Write support for NFTL" depends on NFTL help Support for writing to the NAND Flash Translation Layer, as used on the DiskOnChip. config INFTL tristate "INFTL (Inverse NAND Flash Translation Layer) support" depends on BLOCK select MTD_BLKDEVS help This provides support for the Inverse NAND Flash Translation Layer which is used on M-Systems' newer DiskOnChip devices. It uses a kind of pseudo-file system on a flash device to emulate a block device with 512-byte sectors, on top of which you put a 'normal' file system. You may find that the algorithms used in this code are patented unless you live in the Free World where software patents aren't legal - in the USA you are only permitted to use this on DiskOnChip hardware, although under the terms of the GPL you're obviously permitted to copy, modify and distribute the code as you wish. Just not use it. config RFD_FTL tristate "Resident Flash Disk (Flash Translation Layer) support" depends on BLOCK select MTD_BLKDEVS help This provides support for the flash translation layer known as the Resident Flash Disk (RFD), as used by the Embedded BIOS of General Software. There is a blurb at: http://www.gensw.com/pages/prod/bios/rfd.htm config SSFDC tristate "NAND SSFDC (SmartMedia) read only translation layer" depends on BLOCK select MTD_BLKDEVS help This enables read only access to SmartMedia formatted NAND flash. You can mount it with FAT file system. config SM_FTL tristate "SmartMedia/xD new translation layer" depends on BLOCK select MTD_BLKDEVS select MTD_NAND_ECC_SW_HAMMING help This enables EXPERIMENTAL R/W support for SmartMedia/xD FTL (Flash translation layer). Write support is only lightly tested, therefore this driver isn't recommended to use with valuable data (anyway if you have valuable data, do backups regardless of software/hardware you use, because you never know what will eat your data...) If you only need R/O access, you can use older R/O driver (CONFIG_SSFDC) config MTD_OOPS tristate "Log panic/oops to an MTD buffer" help This enables panic and oops messages to be logged to a circular buffer in a flash partition where it can be read back at some later point. config MTD_SWAP tristate "Swap on MTD device support" depends on MTD && SWAP select MTD_BLKDEVS help Provides volatile block device driver on top of mtd partition suitable for swapping. The mapping of written blocks is not saved. The driver provides wear leveling by storing erase counter into the OOB. config MTD_PARTITIONED_MASTER bool "Retain master device when partitioned" default n depends on MTD help For historical reasons, by default, either a master is present or several partitions are present, but not both. The concern was that data listed in multiple partitions was dangerous; however, SCSI does this and it is frequently useful for applications. This config option leaves the master in even if the device is partitioned. It also makes the parent of the partition device be the master device, rather than what lies behind the master. source "drivers/mtd/chips/Kconfig" source "drivers/mtd/maps/Kconfig" source "drivers/mtd/devices/Kconfig" source "drivers/mtd/nand/Kconfig" source "drivers/mtd/lpddr/Kconfig" source "drivers/mtd/spi-nor/Kconfig" source "drivers/mtd/ubi/Kconfig" source "drivers/mtd/hyperbus/Kconfig" endif # MTD mtd/spi-nor/Kconfig 0000644 00000007423 14722053666 0010243 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig MTD_SPI_NOR tristate "SPI-NOR device support" depends on MTD depends on MTD && SPI_MASTER select SPI_MEM help This is the framework for the SPI NOR which can be used by the SPI device drivers and the SPI-NOR device driver. if MTD_SPI_NOR config MTD_SPI_NOR_USE_4K_SECTORS bool "Use small 4096 B erase sectors" default y help Many flash memories support erasing small (4096 B) sectors. Depending on the usage this feature may provide performance gain in comparison to erasing whole blocks (32/64 KiB). Changing a small part of the flash's contents is usually faster with small sectors. On the other hand erasing should be faster when using 64 KiB block instead of 16 × 4 KiB sectors. Please note that some tools/drivers/filesystems may not work with 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). config SPI_ASPEED_SMC tristate "Aspeed flash controllers in SPI mode" depends on ARCH_ASPEED || COMPILE_TEST depends on HAS_IOMEM && OF help This enables support for the Firmware Memory controller (FMC) in the Aspeed AST2500/AST2400 SoCs when attached to SPI NOR chips, and support for the SPI flash memory controller (SPI) for the host firmware. The implementation only supports SPI NOR. config SPI_CADENCE_QUADSPI tristate "Cadence Quad SPI controller" depends on OF && (ARM || ARM64 || COMPILE_TEST) help Enable support for the Cadence Quad SPI Flash controller. Cadence QSPI is a specialized controller for connecting an SPI Flash over 1/2/4-bit wide bus. Enable this option if you have a device with a Cadence QSPI controller and want to access the Flash as an MTD device. config SPI_HISI_SFC tristate "Hisilicon SPI-NOR Flash Controller(SFC)" depends on ARCH_HISI || COMPILE_TEST depends on HAS_IOMEM help This enables support for hisilicon SPI-NOR flash controller. config SPI_MTK_QUADSPI tristate "MediaTek Quad SPI controller" depends on HAS_IOMEM help This enables support for the Quad SPI controller in master mode. This controller does not support generic SPI. It only supports SPI NOR. config SPI_NXP_SPIFI tristate "NXP SPI Flash Interface (SPIFI)" depends on OF && (ARCH_LPC18XX || COMPILE_TEST) depends on HAS_IOMEM help Enable support for the NXP LPC SPI Flash Interface controller. SPIFI is a specialized controller for connecting serial SPI Flash. Enable this option if you have a device with a SPIFI controller and want to access the Flash as a mtd device. config SPI_INTEL_SPI tristate config SPI_INTEL_SPI_PCI tristate "Intel PCH/PCU SPI flash PCI driver (DANGEROUS)" depends on X86 && PCI select SPI_INTEL_SPI help This enables PCI support for the Intel PCH/PCU SPI controller in master mode. This controller is present in modern Intel hardware and is used to hold BIOS and other persistent settings. Using this driver it is possible to upgrade BIOS directly from Linux. Say N here unless you know what you are doing. Overwriting the SPI flash may render the system unbootable. To compile this driver as a module, choose M here: the module will be called intel-spi-pci. config SPI_INTEL_SPI_PLATFORM tristate "Intel PCH/PCU SPI flash platform driver (DANGEROUS)" depends on X86 select SPI_INTEL_SPI help This enables platform support for the Intel PCH/PCU SPI controller in master mode. This controller is present in modern Intel hardware and is used to hold BIOS and other persistent settings. Using this driver it is possible to upgrade BIOS directly from Linux. Say N here unless you know what you are doing. Overwriting the SPI flash may render the system unbootable. To compile this driver as a module, choose M here: the module will be called intel-spi-platform. endif # MTD_SPI_NOR mtd/spi-nor/Makefile 0000644 00000000717 14722053666 0010377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o obj-$(CONFIG_SPI_ASPEED_SMC) += aspeed-smc.o obj-$(CONFIG_SPI_CADENCE_QUADSPI) += cadence-quadspi.o obj-$(CONFIG_SPI_HISI_SFC) += hisi-sfc.o obj-$(CONFIG_SPI_MTK_QUADSPI) += mtk-quadspi.o obj-$(CONFIG_SPI_NXP_SPIFI) += nxp-spifi.o obj-$(CONFIG_SPI_INTEL_SPI) += intel-spi.o obj-$(CONFIG_SPI_INTEL_SPI_PCI) += intel-spi-pci.o obj-$(CONFIG_SPI_INTEL_SPI_PLATFORM) += intel-spi-platform.o mtd/maps/Kconfig 0000644 00000032246 14722053666 0007615 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Mapping drivers for chip access" depends on MTD!=n depends on HAS_IOMEM config MTD_COMPLEX_MAPPINGS bool "Support non-linear mappings of flash chips" help This causes the chip drivers to allow for complicated paged mappings of flash chips. config MTD_PHYSMAP tristate "Flash device in physical memory map" depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_RAM || MTD_LPDDR help This provides a 'mapping' driver which allows the NOR Flash and ROM driver code to communicate with chips which are mapped physically into the CPU's memory. You will need to configure the physical address and size of the flash chips on your particular board as well as the bus width, either statically with config options or at run-time. To compile this driver as a module, choose M here: the module will be called physmap. config MTD_PHYSMAP_COMPAT bool "Physmap compat support" depends on MTD_PHYSMAP default n help Setup a simple mapping via the Kconfig options. Normally the physmap configuration options are done via your board's resource file. If unsure, say N here. config MTD_PHYSMAP_START hex "Physical start address of flash mapping" depends on MTD_PHYSMAP_COMPAT default "0x8000000" help This is the physical memory location at which the flash chips are mapped on your particular target board. Refer to the memory map which should hopefully be in the documentation for your board. config MTD_PHYSMAP_LEN hex "Physical length of flash mapping" depends on MTD_PHYSMAP_COMPAT default "0" help This is the total length of the mapping of the flash chips on your particular board. If there is space, or aliases, in the physical memory map between the chips, this could be larger than the total amount of flash present. Refer to the memory map which should hopefully be in the documentation for your board. config MTD_PHYSMAP_BANKWIDTH int "Bank width in octets" depends on MTD_PHYSMAP_COMPAT default "2" help This is the total width of the data bus of the flash devices in octets. For example, if you have a data bus width of 32 bits, you would set the bus width octet value to 4. This is used internally by the CFI drivers. config MTD_PHYSMAP_OF bool "Memory device in physical memory map based on OF description" depends on OF && MTD_PHYSMAP help This provides a 'mapping' driver which allows the NOR Flash, ROM and RAM driver code to communicate with chips which are mapped physically into the CPU's memory. The mapping description here is taken from OF device tree. config MTD_PHYSMAP_VERSATILE bool "ARM Versatile OF-based physical memory map handling" depends on MTD_PHYSMAP_OF depends on MFD_SYSCON default y if (ARCH_INTEGRATOR || ARCH_VERSATILE || ARCH_REALVIEW) help This provides some extra DT physmap parsing for the ARM Versatile platforms, basically to add a VPP (write protection) callback so the flash can be taken out of write protection. config MTD_PHYSMAP_GEMINI bool "Cortina Gemini OF-based physical memory map handling" depends on MTD_PHYSMAP_OF depends on MFD_SYSCON select MTD_COMPLEX_MAPPINGS default ARCH_GEMINI help This provides some extra DT physmap parsing for the Gemini platforms, some detection and setting up parallel mode on the external interface. config MTD_PHYSMAP_GPIO_ADDR bool "GPIO-assisted Flash Chip Support" depends on MTD_PHYSMAP depends on GPIOLIB || COMPILE_TEST depends on MTD_COMPLEX_MAPPINGS help Extend the physmap driver to allow flashes to be partially physically addressed and assisted by GPIOs. config MTD_PMC_MSP_EVM tristate "CFI Flash device mapped on PMC-Sierra MSP" depends on PMC_MSP && MTD_CFI help This provides a 'mapping' driver which supports the way in which user-programmable flash chips are connected on the PMC-Sierra MSP eval/demo boards. choice prompt "Maximum mappable memory available for flash IO" depends on MTD_PMC_MSP_EVM default MSP_FLASH_MAP_LIMIT_32M config MSP_FLASH_MAP_LIMIT_32M bool "32M" endchoice config MSP_FLASH_MAP_LIMIT hex default "0x02000000" depends on MSP_FLASH_MAP_LIMIT_32M config MTD_SUN_UFLASH tristate "Sun Microsystems userflash support" depends on SPARC && MTD_CFI && PCI help This provides a 'mapping' driver which supports the way in which user-programmable flash chips are connected on various Sun Microsystems boardsets. This driver will require CFI support in the kernel, so if you did not enable CFI previously, do that now. config MTD_SC520CDP tristate "CFI Flash device mapped on AMD SC520 CDP" depends on (MELAN || COMPILE_TEST) && MTD_CFI help The SC520 CDP board has two banks of CFI-compliant chips and one Dual-in-line JEDEC chip. This 'mapping' driver supports that arrangement, implementing three MTD devices. config MTD_NETSC520 tristate "CFI Flash device mapped on AMD NetSc520" depends on (MELAN || COMPILE_TEST) && MTD_CFI help This enables access routines for the flash chips on the AMD NetSc520 demonstration board. If you have one of these boards and would like to use the flash chips on it, say 'Y'. config MTD_TS5500 tristate "JEDEC Flash device mapped on Technologic Systems TS-5500" depends on TS5500 || COMPILE_TEST select MTD_JEDECPROBE select MTD_CFI_AMDSTD help This provides a driver for the on-board flash of the Technologic System's TS-5500 board. The 2MB flash is split into 3 partitions which are accessed as separate MTD devices. mtd0 and mtd2 are the two BIOS drives, which use the resident flash disk (RFD) flash translation layer. mtd1 allows you to reprogram your BIOS. BE VERY CAREFUL. Note that jumper 3 ("Write Enable Drive A") must be set otherwise detection won't succeed. config MTD_SBC_GXX tristate "CFI Flash device mapped on Arcom SBC-GXx boards" depends on X86 && MTD_CFI_INTELEXT && MTD_COMPLEX_MAPPINGS help This provides a driver for the on-board flash of Arcom Control Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX. By default the flash is split into 3 partitions which are accessed as separate MTD devices. This board utilizes Intel StrataFlash. More info at <http://www.arcomcontrols.com/products/icp/pc104/processors/SBC_GX1.htm>. config MTD_PXA2XX tristate "CFI Flash device mapped on Intel XScale PXA2xx based boards" depends on (PXA25x || PXA27x) && MTD_CFI_INTELEXT help This provides a driver for the NOR flash attached to a PXA2xx chip. config MTD_SCx200_DOCFLASH tristate "Flash device mapped with DOCCS on NatSemi SCx200" depends on SCx200 && MTD_CFI help Enable support for a flash chip mapped using the DOCCS signal on a National Semiconductor SCx200 processor. If you don't know what to do here, say N. If compiled as a module, it will be called scx200_docflash. config MTD_AMD76XROM tristate "BIOS flash chip on AMD76x southbridge" depends on X86 && MTD_JEDECPROBE help Support for treating the BIOS flash chip on AMD76x motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_ICHXROM tristate "BIOS flash chip on Intel Controller Hub 2/3/4/5" depends on X86 && MTD_JEDECPROBE help Support for treating the BIOS flash chip on ICHX motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_ESB2ROM tristate "BIOS flash chip on Intel ESB Controller Hub 2" depends on X86 && MTD_JEDECPROBE && PCI help Support for treating the BIOS flash chip on ESB2 motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_CK804XROM tristate "BIOS flash chip on Nvidia CK804" depends on X86 && MTD_JEDECPROBE && PCI help Support for treating the BIOS flash chip on nvidia motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_SCB2_FLASH tristate "BIOS flash chip on Intel SCB2 boards" depends on X86 && MTD_JEDECPROBE && PCI help Support for treating the BIOS flash chip on Intel SCB2 boards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_TSUNAMI tristate "Flash chips on Tsunami TIG bus" depends on ALPHA_TSUNAMI && MTD_COMPLEX_MAPPINGS help Support for the flash chip on Tsunami TIG bus. config MTD_NETtel tristate "CFI flash device on SnapGear/SecureEdge" depends on X86 && MTD_JEDECPROBE help Support for flash chips on NETtel/SecureEdge/SnapGear boards. config MTD_LANTIQ tristate "Lantiq SoC NOR support" depends on LANTIQ help Support for NOR flash attached to the Lantiq SoC's External Bus Unit. config MTD_L440GX tristate "BIOS flash chip on Intel L440GX boards" depends on X86 && MTD_JEDECPROBE help Support for treating the BIOS flash chip on Intel L440GX motherboards as an MTD device - with this you can reprogram your BIOS. BE VERY CAREFUL. config MTD_CFI_FLAGADM tristate "CFI Flash device mapping on FlagaDM" depends on PPC_8xx && MTD_CFI help Mapping for the Flaga digital module. If you don't have one, ignore this setting. config MTD_SOLUTIONENGINE tristate "CFI Flash device mapped on Hitachi SolutionEngine" depends on SOLUTION_ENGINE && MTD_CFI && MTD_REDBOOT_PARTS help This enables access to the flash chips on the Hitachi SolutionEngine and similar boards. Say 'Y' if you are building a kernel for such a board. config MTD_SA1100 tristate "CFI Flash device mapped on StrongARM SA11x0" depends on MTD_CFI && ARCH_SA1100 help This enables access to the flash chips on most platforms based on the SA1100 and SA1110, including the Assabet and the Compaq iPAQ. If you have such a board, say 'Y'. config MTD_DC21285 tristate "CFI Flash device mapped on DC21285 Footbridge" depends on MTD_CFI && ARCH_FOOTBRIDGE && MTD_COMPLEX_MAPPINGS help This provides a driver for the flash accessed using Intel's 21285 bridge used with Intel's StrongARM processors. More info at <http://www.intel.com/design/bridge/docs/21285_documentation.htm>. config MTD_IXP4XX tristate "CFI Flash device mapped on Intel IXP4xx based systems" depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX && MTD_CFI_ADV_OPTIONS help This enables MTD access to flash devices on platforms based on Intel's IXP4xx family of network processors such as the IXDP425 and Coyote. If you have an IXP4xx based board and would like to use the flash chips on it, say 'Y'. config MTD_IMPA7 tristate "JEDEC Flash device mapped on impA7" depends on ARM && MTD_JEDECPROBE help This enables access to the NOR Flash on the impA7 board of implementa GmbH. If you have such a board, say 'Y' here. # This needs CFI or JEDEC, depending on the cards found. config MTD_PCI tristate "PCI MTD driver" depends on PCI && MTD_COMPLEX_MAPPINGS help Mapping for accessing flash devices on add-in cards like the Intel XScale IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode (please see the manual for the link settings). If you are not sure, say N. config MTD_PCMCIA tristate "PCMCIA MTD driver" depends on PCMCIA && MTD_COMPLEX_MAPPINGS help Map driver for accessing PCMCIA linear flash memory cards. These cards are usually around 4-16MiB in size. This does not include Compact Flash cards which are treated as IDE devices. config MTD_PCMCIA_ANONYMOUS bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards" depends on MTD_PCMCIA help If this option is enabled, PCMCIA cards which do not report anything about themselves are assumed to be MTD cards. If unsure, say N. config MTD_UCLINUX bool "Generic uClinux RAM/ROM filesystem support" depends on (MTD_RAM=y || MTD_ROM=y) && (!MMU || COLDFIRE) help Map driver to support image based filesystems for uClinux. config MTD_INTEL_VR_NOR tristate "NOR flash on Intel Vermilion Range Expansion Bus CS0" depends on PCI help Map driver for a NOR flash bank located on the Expansion Bus of the Intel Vermilion Range chipset. config MTD_RBTX4939 tristate "Map driver for RBTX4939 board" depends on TOSHIBA_RBTX4939 && MTD_CFI && MTD_COMPLEX_MAPPINGS help Map driver for NOR flash chips on RBTX4939 board. config MTD_PLATRAM tristate "Map driver for platform device RAM (mtd-ram)" select MTD_RAM help Map driver for RAM areas described via the platform device system. This selection automatically selects the map_ram driver. config MTD_VMU tristate "Map driver for Dreamcast VMU" depends on MAPLE help This driver enables access to the Dreamcast Visual Memory Unit (VMU). Most Dreamcast users will want to say Y here. To build this as a module select M here, the module will be called vmu-flash. config MTD_PISMO tristate "MTD discovery driver for PISMO modules" depends on I2C depends on ARCH_VERSATILE help This driver allows for discovery of PISMO modules - see <http://www.pismoworld.org/>. These are small modules containing up to five memory devices (eg, SRAM, flash, DOC) described by an I2C EEPROM. This driver does not create any MTD maps itself; instead it creates MTD physmap and MTD SRAM platform devices. If you enable this option, you should consider enabling MTD_PHYSMAP and/or MTD_PLATRAM according to the devices on your module. When built as a module, it will be called pismo.ko endmenu mtd/maps/Makefile 0000644 00000003255 14722053666 0007750 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # linux/drivers/maps/Makefile # ifeq ($(CONFIG_MTD_COMPLEX_MAPPINGS),y) obj-$(CONFIG_MTD) += map_funcs.o endif # Chip mappings obj-$(CONFIG_MTD_CFI_FLAGADM) += cfi_flagadm.o obj-$(CONFIG_MTD_DC21285) += dc21285.o obj-$(CONFIG_MTD_L440GX) += l440gx.o obj-$(CONFIG_MTD_AMD76XROM) += amd76xrom.o obj-$(CONFIG_MTD_ESB2ROM) += esb2rom.o obj-$(CONFIG_MTD_ICHXROM) += ichxrom.o obj-$(CONFIG_MTD_CK804XROM) += ck804xrom.o obj-$(CONFIG_MTD_TSUNAMI) += tsunami_flash.o obj-$(CONFIG_MTD_PXA2XX) += pxa2xx-flash.o physmap-objs-y += physmap-core.o physmap-objs-$(CONFIG_MTD_PHYSMAP_VERSATILE) += physmap-versatile.o physmap-objs-$(CONFIG_MTD_PHYSMAP_GEMINI) += physmap-gemini.o physmap-objs := $(physmap-objs-y) obj-$(CONFIG_MTD_PHYSMAP) += physmap.o obj-$(CONFIG_MTD_PISMO) += pismo.o obj-$(CONFIG_MTD_PMC_MSP_EVM) += pmcmsp-flash.o obj-$(CONFIG_MTD_PCMCIA) += pcmciamtd.o obj-$(CONFIG_MTD_SA1100) += sa1100-flash.o obj-$(CONFIG_MTD_SBC_GXX) += sbc_gxx.o obj-$(CONFIG_MTD_SC520CDP) += sc520cdp.o obj-$(CONFIG_MTD_NETSC520) += netsc520.o obj-$(CONFIG_MTD_TS5500) += ts5500_flash.o obj-$(CONFIG_MTD_SUN_UFLASH) += sun_uflash.o obj-$(CONFIG_MTD_SCx200_DOCFLASH)+= scx200_docflash.o obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o obj-$(CONFIG_MTD_PCI) += pci.o obj-$(CONFIG_MTD_IMPA7) += impa7.o obj-$(CONFIG_MTD_UCLINUX) += uclinux.o obj-$(CONFIG_MTD_NETtel) += nettel.o obj-$(CONFIG_MTD_SCB2_FLASH) += scb2_flash.o obj-$(CONFIG_MTD_IXP4XX) += ixp4xx.o obj-$(CONFIG_MTD_PLATRAM) += plat-ram.o obj-$(CONFIG_MTD_INTEL_VR_NOR) += intel_vr_nor.o obj-$(CONFIG_MTD_RBTX4939) += rbtx4939-flash.o obj-$(CONFIG_MTD_VMU) += vmu-flash.o obj-$(CONFIG_MTD_LANTIQ) += lantiq-flash.o mtd/ubi/Kconfig 0000644 00000010756 14722053666 0007436 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig MTD_UBI tristate "Enable UBI - Unsorted block images" select CRC32 help UBI is a software layer above MTD layer which admits use of LVM-like logical volumes on top of MTD devices, hides some complexities of flash chips like wear and bad blocks and provides some other useful capabilities. Please, consult the MTD web site for more details (www.linux-mtd.infradead.org). if MTD_UBI config MTD_UBI_WL_THRESHOLD int "UBI wear-leveling threshold" default 4096 range 2 65536 help This parameter defines the maximum difference between the highest erase counter value and the lowest erase counter value of eraseblocks of UBI devices. When this threshold is exceeded, UBI starts performing wear leveling by means of moving data from eraseblock with low erase counter to eraseblocks with high erase counter. The default value should be OK for SLC NAND flashes, NOR flashes and other flashes which have eraseblock life-cycle 100000 or more. However, in case of MLC NAND flashes which typically have eraseblock life-cycle less than 10000, the threshold should be lessened (e.g., to 128 or 256, although it does not have to be power of 2). config MTD_UBI_BEB_LIMIT int "Maximum expected bad eraseblock count per 1024 eraseblocks" default 20 range 0 768 help This option specifies the maximum bad physical eraseblocks UBI expects on the MTD device (per 1024 eraseblocks). If the underlying flash does not admit of bad eraseblocks (e.g. NOR flash), this value is ignored. NAND datasheets often specify the minimum and maximum NVM (Number of Valid Blocks) for the flashes' endurance lifetime. The maximum expected bad eraseblocks per 1024 eraseblocks then can be calculated as "1024 * (1 - MinNVB / MaxNVB)", which gives 20 for most NANDs (MaxNVB is basically the total count of eraseblocks on the chip). To put it differently, if this value is 20, UBI will try to reserve about 1.9% of physical eraseblocks for bad blocks handling. And that will be 1.9% of eraseblocks on the entire NAND chip, not just the MTD partition UBI attaches. This means that if you have, say, a NAND flash chip admits maximum 40 bad eraseblocks, and it is split on two MTD partitions of the same size, UBI will reserve 40 eraseblocks when attaching a partition. This option can be overridden by the "mtd=" UBI module parameter or by the "attach" ioctl. Leave the default value if unsure. config MTD_UBI_FASTMAP bool "UBI Fastmap (Experimental feature)" default n help Important: this feature is experimental so far and the on-flash format for fastmap may change in the next kernel versions Fastmap is a mechanism which allows attaching an UBI device in nearly constant time. Instead of scanning the whole MTD device it only has to locate a checkpoint (called fastmap) on the device. The on-flash fastmap contains all information needed to attach the device. Using fastmap makes only sense on large devices where attaching by scanning takes long. UBI will not automatically install a fastmap on old images, but you can set the UBI module parameter fm_autoconvert to 1 if you want so. Please note that fastmap-enabled images are still usable with UBI implementations without fastmap support. On typical flash devices the whole fastmap fits into one PEB. UBI will reserve PEBs to hold two fastmaps. If in doubt, say "N". config MTD_UBI_GLUEBI tristate "MTD devices emulation driver (gluebi)" help This option enables gluebi - an additional driver which emulates MTD devices on top of UBI volumes: for each UBI volumes an MTD device is created, and all I/O to this MTD device is redirected to the UBI volume. This is handy to make MTD-oriented software (like JFFS2) work on top of UBI. Do not enable this unless you use legacy software. config MTD_UBI_BLOCK bool "Read-only block devices on top of UBI volumes" default n depends on BLOCK help This option enables read-only UBI block devices support. UBI block devices will be layered on top of UBI volumes, which means that the UBI driver will transparently handle things like bad eraseblocks and bit-flips. You can put any block-oriented file system on top of UBI volumes in read-only mode (e.g., ext4), but it is probably most practical for read-only file systems, like squashfs. When selected, this feature will be built in the UBI driver. If in doubt, say "N". endif # MTD_UBI mtd/ubi/Makefile 0000644 00000000442 14722053666 0007562 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MTD_UBI) += ubi.o ubi-y += vtbl.o vmt.o upd.o build.o cdev.o kapi.o eba.o io.o wl.o attach.o ubi-y += misc.o debug.o ubi-$(CONFIG_MTD_UBI_FASTMAP) += fastmap.o ubi-$(CONFIG_MTD_UBI_BLOCK) += block.o obj-$(CONFIG_MTD_UBI_GLUEBI) += gluebi.o mtd/tests/Makefile 0000644 00000001445 14722053666 0010151 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MTD_TESTS) += mtd_oobtest.o mtd_test.o obj-$(CONFIG_MTD_TESTS) += mtd_pagetest.o mtd_test.o obj-$(CONFIG_MTD_TESTS) += mtd_readtest.o mtd_test.o obj-$(CONFIG_MTD_TESTS) += mtd_speedtest.o mtd_test.o obj-$(CONFIG_MTD_TESTS) += mtd_stresstest.o mtd_test.o obj-$(CONFIG_MTD_TESTS) += mtd_subpagetest.o mtd_test.o obj-$(CONFIG_MTD_TESTS) += mtd_torturetest.o mtd_test.o obj-$(CONFIG_MTD_TESTS) += mtd_nandecctest.o mtd_test.o obj-$(CONFIG_MTD_TESTS) += mtd_nandbiterrs.o mtd_test.o mtd_oobtest-objs := oobtest.o mtd_pagetest-objs := pagetest.o mtd_readtest-objs := readtest.o mtd_speedtest-objs := speedtest.o mtd_stresstest-objs := stresstest.o mtd_subpagetest-objs := subpagetest.o mtd_torturetest-objs := torturetest.o mtd_nandbiterrs-objs := nandbiterrs.o mtd/parsers/Kconfig 0000644 00000013047 14722053666 0010332 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MTD_AR7_PARTS tristate "TI AR7 partitioning parser" help TI AR7 partitioning parser support config MTD_BCM47XX_PARTS tristate "BCM47XX partitioning parser" depends on BCM47XX || ARCH_BCM_5301X help This provides partitions parser for devices based on BCM47xx boards. config MTD_BCM63XX_PARTS tristate "BCM63XX CFE partitioning parser" depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST select CRC32 select MTD_PARSER_IMAGETAG help This provides partition parsing for BCM63xx devices with CFE bootloaders. config MTD_CMDLINE_PARTS tristate "Command line partition table parsing" depends on MTD help Allow generic configuration of the MTD partition tables via the kernel command line. Multiple flash resources are supported for hardware where different kinds of flash memory are available. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. The SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for example. The format for the command line is as follows: mtdparts=<mtddef>[;<mtddef] <mtddef> := <mtd-id>:<partdef>[,<partdef>] <partdef> := <size>[@offset][<name>][ro] <mtd-id> := unique id used in mapping driver/device <size> := standard linux memsize OR "-" to denote all remaining space <name> := (NAME) Due to the way Linux handles the command line, no spaces are allowed in the partition definition, including mtd id's and partition names. Examples: 1 flash resource (mtd-id "sa1100"), with 1 single writable partition: mtdparts=sa1100:- Same flash, but 2 named partitions, the first one being read-only: mtdparts=sa1100:256k(ARMboot)ro,-(root) If unsure, say 'N'. config MTD_OF_PARTS tristate "OpenFirmware (device tree) partitioning parser" default y depends on OF help This provides a open firmware device tree partition parser which derives the partition map from the children of the flash memory node, as described in Documentation/devicetree/bindings/mtd/partition.txt. config MTD_PARSER_IMAGETAG tristate "Parser for BCM963XX Image Tag format partitions" depends on BCM63XX || BMIPS_GENERIC || COMPILE_TEST select CRC32 help Image Tag is the firmware header used by broadcom on their xDSL line of devices. It is used to describe the offsets and lengths of kernel and rootfs partitions. This driver adds support for parsing a partition with an Image Tag header and creates up to two partitions, kernel and rootfs. config MTD_AFS_PARTS tristate "ARM Firmware Suite partition parsing" depends on (ARM || ARM64) help The ARM Firmware Suite allows the user to divide flash devices into multiple 'images'. Each such image has a header containing its name and offset/size etc. If you need code which can detect and parse these tables, and register MTD 'partitions' corresponding to each image detected, enable this option. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. The 'physmap' map driver (CONFIG_MTD_PHYSMAP) does this, for example. config MTD_PARSER_TRX tristate "Parser for TRX format partitions" depends on MTD && (BCM47XX || ARCH_BCM_5301X || COMPILE_TEST) help TRX is a firmware format used by Broadcom on their devices. It may contain up to 3/4 partitions (depending on the version). This driver will parse TRX header and report at least two partitions: kernel and rootfs. config MTD_SHARPSL_PARTS tristate "Sharp SL Series NAND flash partition parser" depends on MTD_NAND_SHARPSL || MTD_NAND_TMIO || COMPILE_TEST help This provides the read-only FTL logic necessary to read the partition table from the NAND flash of Sharp SL Series (Zaurus) and the MTD partition parser using this code. config MTD_REDBOOT_PARTS tristate "RedBoot partition table parsing" help RedBoot is a ROM monitor and bootloader which deals with multiple 'images' in flash devices by putting a table one of the erase blocks on the device, similar to a partition table, which gives the offsets, lengths and names of all the images stored in the flash. If you need code which can detect and parse this table, and register MTD 'partitions' corresponding to each image in the table, enable this option. You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. The SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for example. if MTD_REDBOOT_PARTS config MTD_REDBOOT_DIRECTORY_BLOCK int "Location of RedBoot partition table" default "-1" help This option is the Linux counterpart to the CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK RedBoot compile time option. The option specifies which Flash sectors holds the RedBoot partition table. A zero or positive value gives an absolute erase block number. A negative value specifies a number of sectors before the end of the device. For example "2" means block number 2, "-1" means the last block and "-2" means the penultimate block. config MTD_REDBOOT_PARTS_UNALLOCATED bool "Include unallocated flash regions" help If you need to register each unallocated flash region as a MTD 'partition', enable this option. config MTD_REDBOOT_PARTS_READONLY bool "Force read-only for RedBoot system images" help If you need to force read-only for 'RedBoot', 'RedBoot Config' and 'FIS directory' images, enable this option. endif # MTD_REDBOOT_PARTS mtd/parsers/Makefile 0000644 00000000773 14722053666 0010471 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63xxpart.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o obj-$(CONFIG_MTD_PARSER_IMAGETAG) += parser_imagetag.o obj-$(CONFIG_MTD_AFS_PARTS) += afs.o obj-$(CONFIG_MTD_PARSER_TRX) += parser_trx.o obj-$(CONFIG_MTD_SHARPSL_PARTS) += sharpslpart.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o mtd/nand/Kconfig 0000644 00000000276 14722053666 0007573 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MTD_NAND_CORE tristate source "drivers/mtd/nand/onenand/Kconfig" source "drivers/mtd/nand/raw/Kconfig" source "drivers/mtd/nand/spi/Kconfig" mtd/nand/raw/bcm47xxnflash/Makefile 0000644 00000000242 14722053666 0013202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only bcm47xxnflash-y += main.o bcm47xxnflash-y += ops_bcm4706.o obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash.o mtd/nand/raw/atmel/Makefile 0000644 00000000274 14722053666 0011621 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MTD_NAND_ATMEL) += atmel-nand-controller.o atmel-pmecc.o atmel-nand-controller-objs := nand-controller.o atmel-pmecc-objs := pmecc.o mtd/nand/raw/ingenic/Kconfig 0000644 00000002440 14722053666 0011773 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MTD_NAND_JZ4780 tristate "JZ4780 NAND controller" depends on JZ4780_NEMC help Enables support for NAND Flash connected to the NEMC on JZ4780 SoC based boards, using the BCH controller for hardware error correction. if MTD_NAND_JZ4780 config MTD_NAND_INGENIC_ECC bool config MTD_NAND_JZ4740_ECC tristate "Hardware BCH support for JZ4740 SoC" select MTD_NAND_INGENIC_ECC help Enable this driver to support the Reed-Solomon error-correction hardware present on the JZ4740 SoC from Ingenic. This driver can also be built as a module. If so, the module will be called jz4740-ecc. config MTD_NAND_JZ4725B_BCH tristate "Hardware BCH support for JZ4725B SoC" select MTD_NAND_INGENIC_ECC help Enable this driver to support the BCH error-correction hardware present on the JZ4725B SoC from Ingenic. This driver can also be built as a module. If so, the module will be called jz4725b-bch. config MTD_NAND_JZ4780_BCH tristate "Hardware BCH support for JZ4780 SoC" select MTD_NAND_INGENIC_ECC help Enable this driver to support the BCH error-correction hardware present on the JZ4780 SoC from Ingenic. This driver can also be built as a module. If so, the module will be called jz4780-bch. endif # MTD_NAND_JZ4780 mtd/nand/raw/ingenic/Makefile 0000644 00000000524 14722053666 0012131 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MTD_NAND_JZ4780) += ingenic_nand.o ingenic_nand-y += ingenic_nand_drv.o ingenic_nand-$(CONFIG_MTD_NAND_INGENIC_ECC) += ingenic_ecc.o obj-$(CONFIG_MTD_NAND_JZ4740_ECC) += jz4740_ecc.o obj-$(CONFIG_MTD_NAND_JZ4725B_BCH) += jz4725b_bch.o obj-$(CONFIG_MTD_NAND_JZ4780_BCH) += jz4780_bch.o mtd/nand/raw/gpmi-nand/Makefile 0000644 00000000166 14722053666 0012371 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi_nand.o gpmi_nand-objs += gpmi-nand.o mtd/nand/raw/Kconfig 0000644 00000042547 14722053666 0010373 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MTD_NAND_ECC_SW_HAMMING tristate config MTD_NAND_ECC_SW_HAMMING_SMC bool "NAND ECC Smart Media byte order" depends on MTD_NAND_ECC_SW_HAMMING default n help Software ECC according to the Smart Media Specification. The original Linux implementation had byte 0 and 1 swapped. menuconfig MTD_RAW_NAND tristate "Raw/Parallel NAND Device Support" depends on MTD select MTD_NAND_CORE select MTD_NAND_ECC_SW_HAMMING help This enables support for accessing all type of raw/parallel NAND flash devices. For further information see <http://www.linux-mtd.infradead.org/doc/nand.html>. if MTD_RAW_NAND config MTD_NAND_ECC_SW_BCH bool "Support software BCH ECC" select BCH default n help This enables support for software BCH error correction. Binary BCH codes are more powerful and cpu intensive than traditional Hamming ECC codes. They are used with NAND devices requiring more than 1 bit of error correction. comment "Raw/parallel NAND flash controllers" config MTD_NAND_DENALI tristate config MTD_NAND_DENALI_PCI tristate "Denali NAND controller on Intel Moorestown" select MTD_NAND_DENALI depends on PCI help Enable the driver for NAND flash on Intel Moorestown, using the Denali NAND controller core. config MTD_NAND_DENALI_DT tristate "Denali NAND controller as a DT device" select MTD_NAND_DENALI depends on HAS_DMA && HAVE_CLK && OF help Enable the driver for NAND flash on platforms using a Denali NAND controller as a DT device. config MTD_NAND_AMS_DELTA tristate "Amstrad E3 NAND controller" depends on MACH_AMS_DELTA || COMPILE_TEST default y help Support for NAND flash on Amstrad E3 (Delta). config MTD_NAND_OMAP2 tristate "OMAP2, OMAP3, OMAP4 and Keystone NAND controller" depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST depends on HAS_IOMEM help Support for NAND flash on Texas Instruments OMAP2, OMAP3, OMAP4 and Keystone platforms. config MTD_NAND_OMAP_BCH depends on MTD_NAND_OMAP2 bool "Support hardware based BCH error correction" default n select BCH help This config enables the ELM hardware engine, which can be used to locate and correct errors when using BCH ECC scheme. This offloads the cpu from doing ECC error searching and correction. However some legacy OMAP families like OMAP2xxx, OMAP3xxx do not have ELM engine so this is optional for them. config MTD_NAND_OMAP_BCH_BUILD def_tristate MTD_NAND_OMAP2 && MTD_NAND_OMAP_BCH config MTD_NAND_AU1550 tristate "Au1550/1200 NAND support" depends on MIPS_ALCHEMY help This enables the driver for the NAND flash controller on the AMD/Alchemy 1550 SOC. config MTD_NAND_NDFC tristate "IBM/MCC 4xx NAND controller" depends on 4xx select MTD_NAND_ECC_SW_HAMMING_SMC help NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs config MTD_NAND_S3C2410 tristate "Samsung S3C NAND controller" depends on ARCH_S3C24XX || ARCH_S3C64XX help This enables the NAND flash controller on the S3C24xx and S3C64xx SoCs No board specific support is done by this driver, each board must advertise a platform_device for the driver to attach. config MTD_NAND_S3C2410_DEBUG bool "Samsung S3C NAND controller debug" depends on MTD_NAND_S3C2410 help Enable debugging of the S3C NAND driver config MTD_NAND_S3C2410_CLKSTOP bool "Samsung S3C NAND IDLE clock stop" depends on MTD_NAND_S3C2410 default n help Stop the clock to the NAND controller when there is no chip selected to save power. This will mean there is a small delay when the is NAND chip selected or released, but will save approximately 5mA of power when there is nothing happening. config MTD_NAND_TANGO tristate "Tango NAND controller" depends on ARCH_TANGO || COMPILE_TEST depends on HAS_IOMEM help Enables the NAND Flash controller on Tango chips. config MTD_NAND_SHARPSL tristate "Sharp SL Series (C7xx + others) NAND controller" depends on ARCH_PXA || COMPILE_TEST depends on HAS_IOMEM config MTD_NAND_CAFE tristate "OLPC CAFÉ NAND controller" depends on PCI select REED_SOLOMON select REED_SOLOMON_DEC16 help Use NAND flash attached to the CAFÉ chip designed for the OLPC laptop. config MTD_NAND_CS553X tristate "CS5535/CS5536 (AMD Geode companion) NAND controller" depends on X86_32 depends on !UML && HAS_IOMEM help The CS553x companion chips for the AMD Geode processor include NAND flash controllers with built-in hardware ECC capabilities; enabling this option will allow you to use these. The driver will check the MSRs to verify that the controller is enabled for NAND, and currently requires that the controller be in MMIO mode. If you say "m", the module will be called cs553x_nand. config MTD_NAND_ATMEL tristate "Atmel AT91 NAND Flash/SmartMedia NAND controller" depends on ARCH_AT91 || COMPILE_TEST depends on HAS_IOMEM select GENERIC_ALLOCATOR select MFD_ATMEL_SMC help Enables support for NAND Flash / Smart Media Card interface on Atmel AT91 processors. config MTD_NAND_ORION tristate "Marvell Orion NAND controller" depends on PLAT_ORION help This enables the NAND flash controller on Orion machines. No board specific support is done by this driver, each board must advertise a platform_device for the driver to attach. config MTD_NAND_MARVELL tristate "Marvell EBU NAND controller" depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \ COMPILE_TEST depends on HAS_IOMEM help This enables the NAND flash controller driver for Marvell boards, including: - PXA3xx processors (NFCv1) - 32-bit Armada platforms (XP, 37x, 38x, 39x) (NFCv2) - 64-bit Aramda platforms (7k, 8k) (NFCv2) config MTD_NAND_SLC_LPC32XX tristate "NXP LPC32xx SLC NAND controller" depends on ARCH_LPC32XX || COMPILE_TEST depends on HAS_IOMEM help Enables support for NXP's LPC32XX SLC (i.e. for Single Level Cell chips) NAND controller. This is the default for the PHYTEC 3250 reference board which contains a NAND256R3A2CZA6 chip. Please check the actual NAND chip connected and its support by the SLC NAND controller. config MTD_NAND_MLC_LPC32XX tristate "NXP LPC32xx MLC NAND controller" depends on ARCH_LPC32XX || COMPILE_TEST depends on HAS_IOMEM help Uses the LPC32XX MLC (i.e. for Multi Level Cell chips) NAND controller. This is the default for the WORK92105 controller board. Please check the actual NAND chip connected and its support by the MLC NAND controller. config MTD_NAND_CM_X270 tristate "CM-X270 modules NAND controller" depends on MACH_ARMCORE config MTD_NAND_PASEMI tristate "PA Semi PWRficient NAND controller" depends on PPC_PASEMI help Enables support for NAND Flash interface on PA Semi PWRficient based boards config MTD_NAND_TMIO tristate "Toshiba Mobile IO NAND controller" depends on MFD_TMIO help Support for NAND flash connected to a Toshiba Mobile IO Controller in some PDAs, including the Sharp SL6000x. config MTD_NAND_BRCMNAND tristate "Broadcom STB NAND controller" depends on ARM || ARM64 || MIPS || COMPILE_TEST depends on HAS_IOMEM help Enables the Broadcom NAND controller driver. The controller was originally designed for Set-Top Box but is used on various BCM7xxx, BCM3xxx, BCM63xxx, iProc/Cygnus and more. config MTD_NAND_BCM47XXNFLASH tristate "BCM4706 BCMA NAND controller" depends on BCMA_NFLASH depends on BCMA help BCMA bus can have various flash memories attached, they are registered by bcma as platform devices. This enables driver for NAND flash memories. For now only BCM4706 is supported. config MTD_NAND_OXNAS tristate "Oxford Semiconductor NAND controller" depends on ARCH_OXNAS || COMPILE_TEST depends on HAS_IOMEM help This enables the NAND flash controller on Oxford Semiconductor SoCs. config MTD_NAND_MPC5121_NFC tristate "MPC5121 NAND controller" depends on PPC_MPC512x help This enables the driver for the NAND flash controller on the MPC5121 SoC. config MTD_NAND_GPMI_NAND tristate "Freescale GPMI NAND controller" depends on MXS_DMA help Enables NAND Flash support for IMX23, IMX28 or IMX6. The GPMI controller is very powerful, with the help of BCH module, it can do the hardware ECC. The GPMI supports several NAND flashs at the same time. config MTD_NAND_FSL_ELBC tristate "Freescale eLBC NAND controller" depends on FSL_SOC select FSL_LBC help Various Freescale chips, including the 8313, include a NAND Flash Controller Module with built-in hardware ECC capabilities. Enabling this option will enable you to use this to control external NAND devices. config MTD_NAND_FSL_IFC tristate "Freescale IFC NAND controller" depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST depends on HAS_IOMEM select FSL_IFC select MEMORY help Various Freescale chips e.g P1010, include a NAND Flash machine with built-in hardware ECC capabilities. Enabling this option will enable you to use this to control external NAND devices. config MTD_NAND_FSL_UPM tristate "Freescale UPM NAND controller" depends on PPC_83xx || PPC_85xx select FSL_LBC help Enables support for NAND Flash chips wired onto Freescale PowerPC processor localbus with User-Programmable Machine support. config MTD_NAND_VF610_NFC tristate "Freescale VF610/MPC5125 NAND controller" depends on (SOC_VF610 || COMPILE_TEST) depends on HAS_IOMEM help Enables support for NAND Flash Controller on some Freescale processors like the VF610, MPC5125, MCF54418 or Kinetis K70. The driver supports a maximum 2k page size. With 2k pages and 64 bytes or more of OOB, hardware ECC with up to 32-bit error correction is supported. Hardware ECC is only enabled through device tree. config MTD_NAND_MXC tristate "Freescale MXC NAND controller" depends on ARCH_MXC || COMPILE_TEST depends on HAS_IOMEM help This enables the driver for the NAND flash controller on the MXC processors. config MTD_NAND_SH_FLCTL tristate "Renesas SuperH FLCTL NAND controller" depends on SUPERH || COMPILE_TEST depends on HAS_IOMEM help Several Renesas SuperH CPU has FLCTL. This option enables support for NAND Flash using FLCTL. config MTD_NAND_DAVINCI tristate "DaVinci/Keystone NAND controller" depends on ARCH_DAVINCI || (ARCH_KEYSTONE && TI_AEMIF) || COMPILE_TEST depends on HAS_IOMEM help Enable the driver for NAND flash chips on Texas Instruments DaVinci/Keystone processors. config MTD_NAND_TXX9NDFMC tristate "TXx9 NAND controller" depends on SOC_TX4938 || SOC_TX4939 || COMPILE_TEST depends on HAS_IOMEM help This enables the NAND flash controller on the TXx9 SoCs. config MTD_NAND_SOCRATES tristate "Socrates NAND controller" depends on SOCRATES help Enables support for NAND Flash chips wired onto Socrates board. source "drivers/mtd/nand/raw/ingenic/Kconfig" config MTD_NAND_FSMC tristate "ST Micros FSMC NAND controller" depends on OF && HAS_IOMEM depends on PLAT_SPEAR || ARCH_NOMADIK || ARCH_U8500 || MACH_U300 || \ COMPILE_TEST help Enables support for NAND Flash chips on the ST Microelectronics Flexible Static Memory Controller (FSMC) config MTD_NAND_XWAY bool "Lantiq XWAY NAND controller" depends on LANTIQ && SOC_TYPE_XWAY help Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached to the External Bus Unit (EBU). config MTD_NAND_SUNXI tristate "Allwinner NAND controller" depends on ARCH_SUNXI || COMPILE_TEST depends on HAS_IOMEM help Enables support for NAND Flash chips on Allwinner SoCs. config MTD_NAND_HISI504 tristate "Hisilicon Hip04 NAND controller" depends on ARCH_HISI || COMPILE_TEST depends on HAS_IOMEM help Enables support for NAND controller on Hisilicon SoC Hip04. config MTD_NAND_QCOM tristate "QCOM NAND controller" depends on ARCH_QCOM || COMPILE_TEST depends on HAS_IOMEM help Enables support for NAND flash chips on SoCs containing the EBI2 NAND controller. This controller is found on IPQ806x SoC. config MTD_NAND_MTK tristate "MTK NAND controller" depends on ARCH_MEDIATEK || COMPILE_TEST depends on HAS_IOMEM help Enables support for NAND controller on MTK SoCs. This controller is found on mt27xx, mt81xx, mt65xx SoCs. config MTD_NAND_MXIC tristate "Macronix raw NAND controller" depends on HAS_IOMEM || COMPILE_TEST help This selects the Macronix raw NAND controller driver. config MTD_NAND_TEGRA tristate "NVIDIA Tegra NAND controller" depends on ARCH_TEGRA || COMPILE_TEST depends on HAS_IOMEM help Enables support for NAND flash controller on NVIDIA Tegra SoC. The driver has been developed and tested on a Tegra 2 SoC. DMA support, raw read/write page as well as HW ECC read/write page is supported. Extra OOB bytes when using HW ECC are currently not supported. config MTD_NAND_STM32_FMC2 tristate "Support for NAND controller on STM32MP SoCs" depends on MACH_STM32MP157 || COMPILE_TEST help Enables support for NAND Flash chips on SoCs containing the FMC2 NAND controller. This controller is found on STM32MP SoCs. The controller supports a maximum 8k page size and supports a maximum 8-bit correction error per sector of 512 bytes. config MTD_NAND_MESON tristate "Support for NAND controller on Amlogic's Meson SoCs" depends on ARCH_MESON || COMPILE_TEST select MFD_SYSCON help Enables support for NAND controller on Amlogic's Meson SoCs. This controller is found on Meson SoCs. config MTD_NAND_GPIO tristate "GPIO assisted NAND controller" depends on GPIOLIB || COMPILE_TEST depends on HAS_IOMEM help This enables a NAND flash driver where control signals are connected to GPIO pins, and commands and data are communicated via a memory mapped interface. config MTD_NAND_PLATFORM tristate "Generic NAND controller" depends on HAS_IOMEM help This implements a generic NAND driver for on-SOC platform devices. You will need to provide platform-specific functions via platform_data. comment "Misc" config MTD_SM_COMMON tristate default n config MTD_NAND_NANDSIM tristate "Support for NAND Flash Simulator" help The simulator may simulate various NAND flash chips for the MTD nand layer. config MTD_NAND_RICOH tristate "Ricoh xD card reader" default n depends on PCI select MTD_SM_COMMON help Enable support for Ricoh R5C852 xD card reader You also need to enable ether NAND SSFDC (SmartMedia) read only translation layer' or new expermental, readwrite 'SmartMedia/xD new translation layer' config MTD_NAND_DISKONCHIP tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation)" depends on HAS_IOMEM select REED_SOLOMON select REED_SOLOMON_DEC16 help This is a reimplementation of M-Systems DiskOnChip 2000, Millennium and Millennium Plus as a standard NAND device driver, as opposed to the earlier self-contained MTD device drivers. This should enable, among other things, proper JFFS2 operation on these devices. config MTD_NAND_DISKONCHIP_PROBE_ADVANCED bool "Advanced detection options for DiskOnChip" depends on MTD_NAND_DISKONCHIP help This option allows you to specify nonstandard address at which to probe for a DiskOnChip, or to change the detection options. You are unlikely to need any of this unless you are using LinuxBIOS. Say 'N'. config MTD_NAND_DISKONCHIP_PROBE_ADDRESS hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED depends on MTD_NAND_DISKONCHIP default "0" help By default, the probe for DiskOnChip devices will look for a DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. This option allows you to specify a single address at which to probe for the device, which is useful if you have other devices in that range which get upset when they are probed. (Note that on PowerPC, the normal probe will only check at 0xE4000000.) Normally, you should leave this set to zero, to allow the probe at the normal addresses. config MTD_NAND_DISKONCHIP_PROBE_HIGH bool "Probe high addresses" depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED help By default, the probe for DiskOnChip devices will look for a DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000. This option changes to make it probe between 0xFFFC8000 and 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be useful to you. Say 'N'. config MTD_NAND_DISKONCHIP_BBTWRITE bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP" depends on MTD_NAND_DISKONCHIP help On DiskOnChip devices shipped with the INFTL filesystem (Millennium and 2000 TSOP/Alon), Linux reserves some space at the end of the device for the Bad Block Table (BBT). If you have existing INFTL data on your device (created by non-Linux tools such as M-Systems' DOS drivers), your data might overlap the area Linux wants to use for the BBT. If this is a concern for you, leave this option disabled and Linux will not write BBT data into this area. The downside of leaving this option disabled is that if bad blocks are detected by Linux, they will not be recorded in the BBT, which could cause future problems. Once you enable this option, new filesystems (INFTL or others, created in Linux or other operating systems) will not use the reserved area. The only reason not to enable this option is to prevent damage to preexisting filesystems. Even if you leave this disabled, you can enable BBT writes at module load time (assuming you build diskonchip as a module) with the module parameter "inftl_bbt_write=1". endif # MTD_RAW_NAND mtd/nand/raw/brcmnand/Makefile 0000644 00000000624 14722053666 0012302 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # link order matters; don't link the more generic brcmstb_nand.o before the # more specific iproc_nand.o, for instance obj-$(CONFIG_MTD_NAND_BRCMNAND) += iproc_nand.o obj-$(CONFIG_MTD_NAND_BRCMNAND) += bcm63138_nand.o obj-$(CONFIG_MTD_NAND_BRCMNAND) += bcm6368_nand.o obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmstb_nand.o obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmnand.o mtd/nand/raw/Makefile 0000644 00000005615 14722053666 0010523 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MTD_RAW_NAND) += nand.o obj-$(CONFIG_MTD_NAND_ECC_SW_HAMMING) += nand_ecc.o nand-$(CONFIG_MTD_NAND_ECC_SW_BCH) += nand_bch.o obj-$(CONFIG_MTD_SM_COMMON) += sm_common.o obj-$(CONFIG_MTD_NAND_CAFE) += cafe_nand.o obj-$(CONFIG_MTD_NAND_AMS_DELTA) += ams-delta.o obj-$(CONFIG_MTD_NAND_DENALI) += denali.o obj-$(CONFIG_MTD_NAND_DENALI_PCI) += denali_pci.o obj-$(CONFIG_MTD_NAND_DENALI_DT) += denali_dt.o obj-$(CONFIG_MTD_NAND_AU1550) += au1550nd.o obj-$(CONFIG_MTD_NAND_S3C2410) += s3c2410.o obj-$(CONFIG_MTD_NAND_TANGO) += tango_nand.o obj-$(CONFIG_MTD_NAND_DAVINCI) += davinci_nand.o obj-$(CONFIG_MTD_NAND_DISKONCHIP) += diskonchip.o obj-$(CONFIG_MTD_NAND_FSMC) += fsmc_nand.o obj-$(CONFIG_MTD_NAND_SHARPSL) += sharpsl.o obj-$(CONFIG_MTD_NAND_NANDSIM) += nandsim.o obj-$(CONFIG_MTD_NAND_CS553X) += cs553x_nand.o obj-$(CONFIG_MTD_NAND_NDFC) += ndfc.o obj-$(CONFIG_MTD_NAND_ATMEL) += atmel/ obj-$(CONFIG_MTD_NAND_GPIO) += gpio.o omap2_nand-objs := omap2.o obj-$(CONFIG_MTD_NAND_OMAP2) += omap2_nand.o obj-$(CONFIG_MTD_NAND_OMAP_BCH_BUILD) += omap_elm.o obj-$(CONFIG_MTD_NAND_CM_X270) += cmx270_nand.o obj-$(CONFIG_MTD_NAND_MARVELL) += marvell_nand.o obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o obj-$(CONFIG_MTD_NAND_OXNAS) += oxnas_nand.o obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc_nand.o obj-$(CONFIG_MTD_NAND_FSL_IFC) += fsl_ifc_nand.o obj-$(CONFIG_MTD_NAND_FSL_UPM) += fsl_upm.o obj-$(CONFIG_MTD_NAND_SLC_LPC32XX) += lpc32xx_slc.o obj-$(CONFIG_MTD_NAND_MLC_LPC32XX) += lpc32xx_mlc.o obj-$(CONFIG_MTD_NAND_SH_FLCTL) += sh_flctl.o obj-$(CONFIG_MTD_NAND_MXC) += mxc_nand.o obj-$(CONFIG_MTD_NAND_SOCRATES) += socrates_nand.o obj-$(CONFIG_MTD_NAND_TXX9NDFMC) += txx9ndfmc.o obj-$(CONFIG_MTD_NAND_MPC5121_NFC) += mpc5121_nfc.o obj-$(CONFIG_MTD_NAND_VF610_NFC) += vf610_nfc.o obj-$(CONFIG_MTD_NAND_RICOH) += r852.o obj-y += ingenic/ obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi-nand/ obj-$(CONFIG_MTD_NAND_XWAY) += xway_nand.o obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash/ obj-$(CONFIG_MTD_NAND_SUNXI) += sunxi_nand.o obj-$(CONFIG_MTD_NAND_HISI504) += hisi504_nand.o obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmnand/ obj-$(CONFIG_MTD_NAND_QCOM) += qcom_nandc.o obj-$(CONFIG_MTD_NAND_MTK) += mtk_ecc.o mtk_nand.o obj-$(CONFIG_MTD_NAND_MXIC) += mxic_nand.o obj-$(CONFIG_MTD_NAND_TEGRA) += tegra_nand.o obj-$(CONFIG_MTD_NAND_STM32_FMC2) += stm32_fmc2_nand.o obj-$(CONFIG_MTD_NAND_MESON) += meson_nand.o nand-objs := nand_base.o nand_legacy.o nand_bbt.o nand_timings.o nand_ids.o nand-objs += nand_onfi.o nand-objs += nand_jedec.o nand-objs += nand_amd.o nand-objs += nand_esmt.o nand-objs += nand_hynix.o nand-objs += nand_macronix.o nand-objs += nand_micron.o nand-objs += nand_samsung.o nand-objs += nand_toshiba.o mtd/nand/spi/Kconfig 0000644 00000000341 14722053666 0010357 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig MTD_SPI_NAND tristate "SPI NAND device Support" select MTD_NAND_CORE depends on SPI_MASTER select SPI_MEM help This is the framework for the SPI NAND device drivers. mtd/nand/spi/Makefile 0000644 00000000241 14722053666 0010513 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 spinand-objs := core.o gigadevice.o macronix.o micron.o paragon.o toshiba.o winbond.o obj-$(CONFIG_MTD_SPI_NAND) += spinand.o mtd/nand/Makefile 0000644 00000000233 14722053666 0007721 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 nandcore-objs := core.o bbt.o obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o obj-y += onenand/ obj-y += raw/ obj-y += spi/ mtd/nand/onenand/Kconfig 0000644 00000004725 14722053666 0011220 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig MTD_ONENAND tristate "OneNAND Device Support" depends on MTD depends on HAS_IOMEM help This enables support for accessing all type of OneNAND flash devices. if MTD_ONENAND config MTD_ONENAND_VERIFY_WRITE bool "Verify OneNAND page writes" help This adds an extra check when data is written to the flash. The OneNAND flash device internally checks only bits transitioning from 1 to 0. There is a rare possibility that even though the device thinks the write was successful, a bit could have been flipped accidentally due to device wear or something else. config MTD_ONENAND_GENERIC tristate "OneNAND Flash device via platform device driver" help Support for OneNAND flash via platform device driver. config MTD_ONENAND_OMAP2 tristate "OneNAND on OMAP2/OMAP3 support" depends on ARCH_OMAP2 || ARCH_OMAP3 depends on OF || COMPILE_TEST help Support for a OneNAND flash device connected to an OMAP2/OMAP3 SoC via the GPMC memory controller. Enable dmaengine and gpiolib for better performance. config MTD_ONENAND_SAMSUNG tristate "OneNAND on Samsung SOC controller support" depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS4 help Support for a OneNAND flash device connected to an Samsung SOC. S3C64XX uses command mapping method. S5PC110/S5PC210 use generic OneNAND method. config MTD_ONENAND_OTP bool "OneNAND OTP Support" help One Block of the NAND Flash Array memory is reserved as a One-Time Programmable Block memory area. Also, 1st Block of NAND Flash Array can be used as OTP. The OTP block can be read, programmed and locked using the same operations as any other NAND Flash Array memory block. OTP block cannot be erased. OTP block is fully-guaranteed to be a valid block. config MTD_ONENAND_2X_PROGRAM bool "OneNAND 2X program support" help The 2X Program is an extension of Program Operation. Since the device is equipped with two DataRAMs, and two-plane NAND Flash memory array, these two component enables simultaneous program of 4KiB. Plane1 has only even blocks such as block0, block2, block4 while Plane2 has only odd blocks such as block1, block3, block5. So MTD regards it as 4KiB page size and 256KiB block size Now the following chips support it. (KFXXX16Q2M) Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M, Mux: KFM2G16Q2M, KFN4G16Q2M, And more recent chips endif # MTD_ONENAND mtd/nand/onenand/Makefile 0000644 00000000525 14722053666 0011347 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the OneNAND MTD # # Core functionality. obj-$(CONFIG_MTD_ONENAND) += onenand.o # Board specific. obj-$(CONFIG_MTD_ONENAND_GENERIC) += generic.o obj-$(CONFIG_MTD_ONENAND_OMAP2) += omap2.o obj-$(CONFIG_MTD_ONENAND_SAMSUNG) += samsung.o onenand-objs = onenand_base.o onenand_bbt.o mtd/Makefile 0000644 00000001634 14722053666 0007007 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the memory technology device drivers. # # Core functionality. obj-$(CONFIG_MTD) += mtd.o mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o obj-y += parsers/ # 'Users' - code which presents functionality to userspace. obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o obj-$(CONFIG_MTD_BLOCK) += mtdblock.o obj-$(CONFIG_MTD_BLOCK_RO) += mtdblock_ro.o obj-$(CONFIG_FTL) += ftl.o obj-$(CONFIG_NFTL) += nftl.o obj-$(CONFIG_INFTL) += inftl.o obj-$(CONFIG_RFD_FTL) += rfd_ftl.o obj-$(CONFIG_SSFDC) += ssfdc.o obj-$(CONFIG_SM_FTL) += sm_ftl.o obj-$(CONFIG_MTD_OOPS) += mtdoops.o obj-$(CONFIG_MTD_SWAP) += mtdswap.o nftl-objs := nftlcore.o nftlmount.o inftl-objs := inftlcore.o inftlmount.o obj-y += chips/ lpddr/ maps/ devices/ nand/ tests/ obj-$(CONFIG_MTD_SPI_NOR) += spi-nor/ obj-$(CONFIG_MTD_UBI) += ubi/ obj-$(CONFIG_MTD_HYPERBUS) += hyperbus/ mtd/devices/Kconfig 0000644 00000016642 14722053666 0010301 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Self-contained MTD device drivers" depends on MTD!=n depends on HAS_IOMEM config MTD_PMC551 tristate "Ramix PMC551 PCI Mezzanine RAM card support" depends on PCI help This provides a MTD device driver for the Ramix PMC551 RAM PCI card from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>. These devices come in memory configurations from 32M - 1G. If you have one, you probably want to enable this. If this driver is compiled as a module you get the ability to select the size of the aperture window pointing into the devices memory. What this means is that if you have a 1G card, normally the kernel will use a 1G memory map as its view of the device. As a module, you can select a 1M window into the memory and the driver will "slide" the window around the PMC551's memory. This was particularly useful on the 2.2 kernels on PPC architectures as there was limited kernel space to deal with. config MTD_PMC551_BUGFIX bool "PMC551 256M DRAM Bugfix" depends on MTD_PMC551 help Some of Ramix's PMC551 boards with 256M configurations have invalid column and row mux values. This option will fix them, but will break other memory configurations. If unsure say N. config MTD_PMC551_DEBUG bool "PMC551 Debugging" depends on MTD_PMC551 help This option makes the PMC551 more verbose during its operation and is only really useful if you are developing on this driver or suspect a possible hardware or driver bug. If unsure say N. config MTD_MS02NV tristate "DEC MS02-NV NVRAM module support" depends on MACH_DECSTATION help This is an MTD driver for the DEC's MS02-NV (54-20948-01) battery backed-up NVRAM module. The module was originally meant as an NFS accelerator. Say Y here if you have a DECstation 5000/2x0 or a DECsystem 5900 equipped with such a module. If you want to compile this driver as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read <file:Documentation/kbuild/modules.rst>. The module will be called ms02-nv. config MTD_DATAFLASH tristate "Support for AT45xxx DataFlash" depends on SPI_MASTER help This enables access to AT45xxx DataFlash chips, using SPI. Sometimes DataFlash chips are packaged inside MMC-format cards; at this writing, the MMC stack won't handle those. config MTD_DATAFLASH_WRITE_VERIFY bool "Verify DataFlash page writes" depends on MTD_DATAFLASH help This adds an extra check when data is written to the flash. It may help if you are verifying chip setup (timings etc) on your board. There is a rare possibility that even though the device thinks the write was successful, a bit could have been flipped accidentally due to device wear or something else. config MTD_DATAFLASH_OTP bool "DataFlash OTP support (Security Register)" depends on MTD_DATAFLASH help Newer DataFlash chips (revisions C and D) support 128 bytes of one-time-programmable (OTP) data. The first half may be written (once) with up to 64 bytes of data, such as a serial number or other key product data. The second half is programmed with a unique-to-each-chip bit pattern at the factory. config MTD_MCHP23K256 tristate "Microchip 23K256 SRAM" depends on SPI_MASTER help This enables access to Microchip 23K256 SRAM chips, using SPI. Set up your spi devices with the right board-specific platform data, or a device tree description if you want to specify device partitioning config MTD_SPEAR_SMI tristate "SPEAR MTD NOR Support through SMI controller" depends on PLAT_SPEAR default y help This enable SNOR support on SPEAR platforms using SMI controller config MTD_SST25L tristate "Support SST25L (non JEDEC) SPI Flash chips" depends on SPI_MASTER help This enables access to the non JEDEC SST25L SPI flash chips, used for program and data storage. Set up your spi devices with the right board-specific platform data, if you want to specify device partitioning. config MTD_BCM47XXSFLASH tristate "Support for serial flash on BCMA bus" depends on BCMA_SFLASH && (MIPS || ARM) help BCMA bus can have various flash memories attached, they are registered by bcma as platform devices. This enables driver for serial flash memories. config MTD_SLRAM tristate "Uncached system RAM" help If your CPU cannot cache all of the physical memory in your machine, you can still use it for storage or swap by using this driver to present it to the system as a Memory Technology Device. config MTD_PHRAM tristate "Physical system RAM" help This is a re-implementation of the slram driver above. Use this driver to access physical memory that the kernel proper doesn't have access to, memory beyond the mem=xxx limit, nvram, memory on the video card, etc... config MTD_LART tristate "28F160xx flash driver for LART" depends on SA1100_LART help This enables the flash driver for LART. Please note that you do not need any mapping/chip driver for LART. This one does it all for you, so go disable all of those if you enabled some of them (: config MTD_MTDRAM tristate "Test driver using RAM" help This enables a test MTD device driver which uses vmalloc() to provide storage. You probably want to say 'N' unless you're testing stuff. config MTDRAM_TOTAL_SIZE int "MTDRAM device size in KiB" depends on MTD_MTDRAM default "4096" help This allows you to configure the total size of the MTD device emulated by the MTDRAM driver. If the MTDRAM driver is built as a module, it is also possible to specify this as a parameter when loading the module. config MTDRAM_ERASE_SIZE int "MTDRAM erase block size in KiB" depends on MTD_MTDRAM default "128" help This allows you to configure the size of the erase blocks in the device emulated by the MTDRAM driver. If the MTDRAM driver is built as a module, it is also possible to specify this as a parameter when loading the module. config MTD_BLOCK2MTD tristate "MTD using block device" depends on BLOCK help This driver allows a block device to appear as an MTD. It would generally be used in the following cases: Using Compact Flash as an MTD, these usually present themselves to the system as an ATA drive. Testing MTD users (eg JFFS2) on large media and media that might be removed during a write (using the floppy drive). config MTD_POWERNV_FLASH tristate "powernv flash MTD driver" depends on PPC_POWERNV help This provides an MTD device to access flash on powernv OPAL platforms from Linux. This device abstracts away the firmware interface for flash access. comment "Disk-On-Chip Device Drivers" config MTD_DOCG3 tristate "M-Systems Disk-On-Chip G3" select BCH select BCH_CONST_PARAMS if !MTD_NAND_ECC_SW_BCH select BITREVERSE help This provides an MTD device driver for the M-Systems DiskOnChip G3 devices. The driver provides access to G3 DiskOnChip, distributed by M-Systems and now Sandisk. The support is very experimental, and doesn't give access to any write operations. config MTD_ST_SPI_FSM tristate "ST Microelectronics SPI FSM Serial Flash Controller" depends on ARCH_STI help This provides an MTD device driver for the ST Microelectronics SPI Fast Sequence Mode (FSM) Serial Flash Controller and support for a subset of connected Serial Flash devices. if MTD_DOCG3 config BCH_CONST_M default 14 config BCH_CONST_T default 4 endif endmenu mtd/devices/Makefile 0000644 00000001327 14722053666 0010430 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # linux/drivers/mtd/devices/Makefile # obj-$(CONFIG_MTD_DOCG3) += docg3.o obj-$(CONFIG_MTD_SLRAM) += slram.o obj-$(CONFIG_MTD_PHRAM) += phram.o obj-$(CONFIG_MTD_PMC551) += pmc551.o obj-$(CONFIG_MTD_MS02NV) += ms02-nv.o obj-$(CONFIG_MTD_MTDRAM) += mtdram.o obj-$(CONFIG_MTD_LART) += lart.o obj-$(CONFIG_MTD_BLOCK2MTD) += block2mtd.o obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o obj-$(CONFIG_MTD_MCHP23K256) += mchp23k256.o obj-$(CONFIG_MTD_SPEAR_SMI) += spear_smi.o obj-$(CONFIG_MTD_SST25L) += sst25l.o obj-$(CONFIG_MTD_BCM47XXSFLASH) += bcm47xxsflash.o obj-$(CONFIG_MTD_ST_SPI_FSM) += st_spi_fsm.o obj-$(CONFIG_MTD_POWERNV_FLASH) += powernv_flash.o CFLAGS_docg3.o += -I$(src) mmc/core/Kconfig 0000644 00000004731 14722053666 0007573 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MMC core configuration # config PWRSEQ_EMMC tristate "HW reset support for eMMC" default y depends on OF help This selects Hardware reset support aka pwrseq-emmc for eMMC devices. By default this option is set to y. This driver can also be built as a module. If so, the module will be called pwrseq_emmc. config PWRSEQ_SD8787 tristate "HW reset support for SD8787 BT + Wifi module" depends on OF && (MWIFIEX || BT_MRVL_SDIO || LIBERTAS_SDIO) help This selects hardware reset support for the SD8787 BT + Wifi module. By default this option is set to n. This driver can also be built as a module. If so, the module will be called pwrseq_sd8787. config PWRSEQ_SIMPLE tristate "Simple HW reset support for MMC" default y depends on OF help This selects simple hardware reset support aka pwrseq-simple for MMC devices. By default this option is set to y. This driver can also be built as a module. If so, the module will be called pwrseq_simple. config MMC_BLOCK tristate "MMC block device driver" depends on BLOCK default y help Say Y here to enable the MMC block device driver support. This provides a block device driver, which you can use to mount the filesystem. Almost everyone wishing MMC support should say Y or M here. config MMC_BLOCK_MINORS int "Number of minors per block device" depends on MMC_BLOCK range 4 256 default 8 help Number of minors per block device. One is needed for every partition on the disk (plus one for the whole disk). Number of total MMC minors available is 256, so your number of supported block devices will be limited to 256 divided by this number. Default is 8 to be backwards compatible with previous hardwired device numbering. If unsure, say 8 here. config SDIO_UART tristate "SDIO UART/GPS class support" depends on TTY help SDIO function driver for SDIO cards that implements the UART class, as well as the GPS class which appears like a UART. config MMC_TEST tristate "MMC host test driver" help Development driver that performs a series of reads and writes to a memory card in order to expose certain well known bugs in host controllers. The tests are executed by writing to the "test" file in debugfs under each card. Note that whatever is on your card will be overwritten by these tests. This driver is only of interest to those developing or testing a host driver. Most people should say N here. mmc/core/Makefile 0000644 00000001227 14722053666 0007725 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel mmc core. # obj-$(CONFIG_MMC) += mmc_core.o mmc_core-y := core.o bus.o host.o \ mmc.o mmc_ops.o sd.o sd_ops.o \ sdio.o sdio_ops.o sdio_bus.o \ sdio_cis.o sdio_io.o sdio_irq.o \ slot-gpio.o regulator.o mmc_core-$(CONFIG_OF) += pwrseq.o obj-$(CONFIG_PWRSEQ_SIMPLE) += pwrseq_simple.o obj-$(CONFIG_PWRSEQ_SD8787) += pwrseq_sd8787.o obj-$(CONFIG_PWRSEQ_EMMC) += pwrseq_emmc.o mmc_core-$(CONFIG_DEBUG_FS) += debugfs.o obj-$(CONFIG_MMC_BLOCK) += mmc_block.o mmc_block-objs := block.o queue.o obj-$(CONFIG_MMC_TEST) += mmc_test.o obj-$(CONFIG_SDIO_UART) += sdio_uart.o mmc/Kconfig 0000644 00000000670 14722053666 0006641 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MMC subsystem configuration # menuconfig MMC tristate "MMC/SD/SDIO card support" depends on HAS_IOMEM help This selects MultiMediaCard, Secure Digital and Secure Digital I/O support. If you want MMC/SD/SDIO support, you should say Y here and also to your specific host controller driver. if MMC source "drivers/mmc/core/Kconfig" source "drivers/mmc/host/Kconfig" endif # MMC mmc/Makefile 0000644 00000000237 14722053666 0006775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the kernel mmc device drivers. # obj-$(CONFIG_MMC) += core/ obj-$(subst m,y,$(CONFIG_MMC)) += host/ mmc/host/Kconfig 0000644 00000076055 14722053666 0007630 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MMC/SD host controller drivers # comment "MMC/SD/SDIO Host Controller Drivers" config MMC_DEBUG bool "MMC host drivers debugging" depends on MMC != n help This is an option for use by developers; most people should say N here. This enables MMC host driver debugging. And further added host drivers please don't invent their private macro for debugging. config MMC_ARMMMCI tristate "ARM AMBA Multimedia Card Interface support" depends on ARM_AMBA help This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card Interface (PL180 and PL181) support. If you have an ARM(R) platform with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_QCOM_DML bool "Qualcomm Data Mover for SD Card Controller" depends on MMC_ARMMMCI && QCOM_BAM_DMA default y help This selects the Qualcomm Data Mover lite/local on SD Card controller. This option will enable the dma to work correctly, if you are using Qcom SOCs and MMC, you would probably need this option to get DMA working. if unsure, say N. config MMC_STM32_SDMMC bool "STMicroelectronics STM32 SDMMC Controller" depends on MMC_ARMMMCI default y help This selects the STMicroelectronics STM32 SDMMC host controller. If you have a STM32 sdmmc host with internal DMA say Y here. If unsure, say N. config MMC_PXA tristate "Intel PXA25x/26x/27x Multimedia Card Interface support" depends on ARCH_PXA help This selects the Intel(R) PXA(R) Multimedia card Interface. If you have a PXA(R) platform with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_SDHCI tristate "Secure Digital Host Controller Interface support" depends on HAS_DMA help This selects the generic Secure Digital Host Controller Interface. It is used by manufacturers such as Texas Instruments(R), Ricoh(R) and Toshiba(R). Most controllers found in laptops are of this type. If you have a controller with this interface, say Y or M here. You also need to enable an appropriate bus interface. If unsure, say N. config MMC_SDHCI_IO_ACCESSORS bool depends on MMC_SDHCI help This is silent Kconfig symbol that is selected by the drivers that need to overwrite SDHCI IO memory accessors. config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER bool depends on MMC_SDHCI select MMC_SDHCI_IO_ACCESSORS help This option is selected by drivers running on big endian hosts and performing I/O to a SDHCI controller through a bus that implements a hardware byte swapper using a 32-bit datum. This endian mapping mode is called "data invariance" and has the effect of scrambling the addresses and formats of data accessed in sizes other than the datum size. This is the case for the Nintendo Wii SDHCI. config MMC_SDHCI_PCI tristate "SDHCI support on PCI bus" depends on MMC_SDHCI && PCI select MMC_CQHCI select IOSF_MBI if X86 select MMC_SDHCI_IO_ACCESSORS help This selects the PCI Secure Digital Host Controller Interface. Most controllers found today are PCI devices. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_RICOH_MMC bool "Ricoh MMC Controller Disabler" depends on MMC_SDHCI_PCI default y help This adds a pci quirk to disable Ricoh MMC Controller. This proprietary controller is unnecessary because the SDHCI driver supports MMC cards on the SD controller, but if it is not disabled, it will steal the MMC cards away - rendering them useless. It is safe to select this even if you don't have a Ricoh based card reader. If unsure, say Y. config MMC_SDHCI_ACPI tristate "SDHCI support for ACPI enumerated SDHCI controllers" depends on MMC_SDHCI && ACPI && PCI select IOSF_MBI if X86 help This selects support for ACPI enumerated SDHCI controllers, identified by ACPI Compatibility ID PNP0D40 or specific ACPI Hardware IDs. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_PLTFM tristate "SDHCI platform and OF driver helper" depends on MMC_SDHCI help This selects the common helper functions support for Secure Digital Host Controller Interface based platform and OF drivers. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_OF_ARASAN tristate "SDHCI OF support for the Arasan SDHCI controllers" depends on MMC_SDHCI_PLTFM depends on OF depends on COMMON_CLK select MMC_CQHCI help This selects the Arasan Secure Digital Host Controller Interface (SDHCI). This hardware is found e.g. in Xilinx' Zynq SoC. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_OF_ASPEED tristate "SDHCI OF support for the ASPEED SDHCI controller" depends on MMC_SDHCI_PLTFM depends on OF && OF_ADDRESS help This selects the ASPEED Secure Digital Host Controller Interface. If you have a controller with this interface, say Y or M here. You also need to enable an appropriate bus interface. If unsure, say N. config MMC_SDHCI_OF_AT91 tristate "SDHCI OF support for the Atmel SDMMC controller" depends on MMC_SDHCI_PLTFM depends on OF help This selects the Atmel SDMMC driver config MMC_SDHCI_OF_ESDHC tristate "SDHCI OF support for the Freescale eSDHC controller" depends on MMC_SDHCI_PLTFM depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE select MMC_SDHCI_IO_ACCESSORS select FSL_GUTS help This selects the Freescale eSDHC controller support. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_OF_HLWD tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers" depends on MMC_SDHCI_PLTFM depends on PPC select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER help This selects the Secure Digital Host Controller Interface (SDHCI) found in the "Hollywood" chipset of the Nintendo Wii video game console. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_OF_DWCMSHC tristate "SDHCI OF support for the Synopsys DWC MSHC" depends on MMC_SDHCI_PLTFM depends on OF depends on COMMON_CLK help This selects Synopsys DesignWare Cores Mobile Storage Controller support. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_CADENCE tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller" depends on MMC_SDHCI_PLTFM depends on OF help This selects the Cadence SD/SDIO/eMMC driver. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_CNS3XXX tristate "SDHCI support on the Cavium Networks CNS3xxx SoC" depends on ARCH_CNS3XXX depends on MMC_SDHCI_PLTFM help This selects the SDHCI support for CNS3xxx System-on-Chip devices. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_ESDHC_IMX tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller" depends on ARCH_MXC depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS select MMC_CQHCI help This selects the Freescale eSDHC/uSDHC controller support found on i.MX25, i.MX35 i.MX5x and i.MX6x. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_DOVE tristate "SDHCI support on Marvell's Dove SoC" depends on ARCH_DOVE || MACH_DOVE depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS help This selects the Secure Digital Host Controller Interface in Marvell's Dove SoC. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_TEGRA tristate "SDHCI platform support for the Tegra SD/MMC Controller" depends on ARCH_TEGRA depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS select MMC_CQHCI help This selects the Tegra SD/MMC controller. If you have a Tegra platform with SD or MMC devices, say Y or M here. If unsure, say N. config MMC_SDHCI_S3C tristate "SDHCI support on Samsung S3C SoC" depends on MMC_SDHCI && PLAT_SAMSUNG help This selects the Secure Digital Host Controller Interface (SDHCI) often referrered to as the HSMMC block in some of the Samsung S3C range of SoC. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_SIRF tristate "SDHCI support on CSR SiRFprimaII and SiRFmarco SoCs" depends on ARCH_SIRF depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS help This selects the SDHCI support for SiRF System-on-Chip devices. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_PXAV3 tristate "Marvell MMP2 SD Host Controller support (PXAV3)" depends on CLKDEV_LOOKUP depends on MMC_SDHCI_PLTFM depends on ARCH_BERLIN || ARCH_MMP || ARCH_MVEBU || COMPILE_TEST default CPU_MMP2 help This selects the Marvell(R) PXAV3 SD Host Controller. If you have a MMP2 platform with SD Host Controller and a card slot, say Y or M here. If unsure, say N. config MMC_SDHCI_PXAV2 tristate "Marvell PXA9XX SD Host Controller support (PXAV2)" depends on CLKDEV_LOOKUP depends on MMC_SDHCI_PLTFM depends on ARCH_MMP || COMPILE_TEST default CPU_PXA910 help This selects the Marvell(R) PXAV2 SD Host Controller. If you have a PXA9XX platform with SD Host Controller and a card slot, say Y or M here. If unsure, say N. config MMC_SDHCI_SPEAR tristate "SDHCI support on ST SPEAr platform" depends on MMC_SDHCI && PLAT_SPEAR depends on OF help This selects the Secure Digital Host Controller Interface (SDHCI) often referrered to as the HSMMC block in some of the ST SPEAR range of SoC If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_S3C_DMA bool "DMA support on S3C SDHCI" depends on MMC_SDHCI_S3C help Enable DMA support on the Samsung S3C SDHCI glue. The DMA has proved to be problematic if the controller encounters certain errors, and thus should be treated with care. YMMV. config MMC_SDHCI_BCM_KONA tristate "SDHCI support on Broadcom KONA platform" depends on ARCH_BCM_MOBILE depends on MMC_SDHCI_PLTFM help This selects the Broadcom Kona Secure Digital Host Controller Interface(SDHCI) support. This is used in Broadcom mobile SoCs. If you have a controller with this interface, say Y or M here. config MMC_SDHCI_F_SDH30 tristate "SDHCI support for Fujitsu Semiconductor F_SDH30" depends on MMC_SDHCI_PLTFM depends on OF || ACPI help This selects the Secure Digital Host Controller Interface (SDHCI) Needed by some Fujitsu SoC for MMC / SD / SDIO support. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_IPROC tristate "SDHCI support for the BCM2835 & iProc SD/MMC Controller" depends on ARCH_BCM2835 || ARCH_BCM_IPROC || COMPILE_TEST depends on MMC_SDHCI_PLTFM depends on OF || ACPI default ARCH_BCM_IPROC select MMC_SDHCI_IO_ACCESSORS help This selects the iProc SD/MMC controller. If you have a BCM2835 or IPROC platform with SD or MMC devices, say Y or M here. If unsure, say N. config MMC_MESON_GX tristate "Amlogic S905/GX*/AXG SD/MMC Host Controller support" depends on ARCH_MESON && MMC help This selects support for the Amlogic SD/MMC Host Controller found on the S905/GX*/AXG family of SoCs. This controller is MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces. If you have a controller with this interface, say Y here. config MMC_MESON_MX_SDIO tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support" depends on ARCH_MESON || COMPILE_TEST depends on COMMON_CLK depends on OF help This selects support for the SD/MMC Host Controller on Amlogic Meson6, Meson8 and Meson8b SoCs. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_MOXART tristate "MOXART SD/MMC Host Controller support" depends on ARCH_MOXART && MMC help This selects support for the MOXART SD/MMC Host Controller. MOXA provides one multi-functional card reader which can be found on some embedded hardware such as UC-7112-LX. If you have a controller with this interface, say Y here. config MMC_SDHCI_ST tristate "SDHCI support on STMicroelectronics SoC" depends on ARCH_STI || FSP2 depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS help This selects the Secure Digital Host Controller Interface in STMicroelectronics SoCs. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_OMAP tristate "TI OMAP Multimedia Card Interface support" depends on ARCH_OMAP depends on TPS65010 || !MACH_OMAP_H2 help This selects the TI OMAP Multimedia card Interface. If you have an OMAP board with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_OMAP_HS tristate "TI OMAP High Speed Multimedia Card Interface support" depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST help This selects the TI OMAP High Speed Multimedia card Interface. If you have an omap2plus board with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_WBSD tristate "Winbond W83L51xD SD/MMC Card Interface support" depends on ISA_DMA_API && !M68K help This selects the Winbond(R) W83L51xD Secure digital and Multimedia card Interface. If you have a machine with a integrated W83L518D or W83L519D SD/MMC card reader, say Y or M here. If unsure, say N. config MMC_ALCOR tristate "Alcor Micro/Alcor Link SD/MMC controller" depends on MISC_ALCOR_PCI help Say Y here to include driver code to support SD/MMC card interface of Alcor Micro PCI-E card reader config MMC_AU1X bool "Alchemy AU1XX0 MMC Card Interface support" depends on MIPS_ALCHEMY depends on MMC=y help This selects the AMD Alchemy(R) Multimedia card interface. If you have a Alchemy platform with a MMC slot, say Y here. If unsure, say N. config MMC_ATMELMCI tristate "Atmel SD/MMC Driver (Multimedia Card Interface)" depends on ARCH_AT91 help This selects the Atmel Multimedia Card Interface driver. If you have an AT91 platform with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_SDHCI_MSM tristate "Qualcomm SDHCI Controller Support" depends on ARCH_QCOM || (ARM && COMPILE_TEST) depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS help This selects the Secure Digital Host Controller Interface (SDHCI) support present in Qualcomm SOCs. The controller supports SD/MMC/SDIO devices. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_MXC tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support" depends on ARCH_MXC || PPC_MPC512x help This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x Multimedia Card Interface. If you have an i.MX or MPC512x platform with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_MXS tristate "Freescale MXS Multimedia Card Interface support" depends on ARCH_MXS && MXS_DMA help This selects the Freescale SSP MMC controller found on MXS based platforms like mx23/28. If unsure, say N. config MMC_TIFM_SD tristate "TI Flash Media MMC/SD Interface support" depends on PCI select TIFM_CORE help Say Y here if you want to be able to access MMC/SD cards with the Texas Instruments(R) Flash Media card reader, found in many laptops. This option 'selects' (turns on, enables) 'TIFM_CORE', but you probably also need appropriate card reader host adapter, such as 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support (TIFM_7XX1)'. To compile this driver as a module, choose M here: the module will be called tifm_sd. config MMC_MVSDIO tristate "Marvell MMC/SD/SDIO host driver" depends on PLAT_ORION depends on OF ---help--- This selects the Marvell SDIO host driver. SDIO may currently be found on the Kirkwood 88F6281 and 88F6192 SoC controllers. To compile this driver as a module, choose M here: the module will be called mvsdio. config MMC_DAVINCI tristate "TI DAVINCI Multimedia Card Interface support" depends on ARCH_DAVINCI help This selects the TI DAVINCI Multimedia card Interface. If you have an DAVINCI board with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_GOLDFISH tristate "goldfish qemu Multimedia Card Interface support" depends on GOLDFISH || COMPILE_TEST help This selects the Goldfish Multimedia card Interface emulation found on the Goldfish Android virtual device emulation. config MMC_SPI tristate "MMC/SD/SDIO over SPI" depends on SPI_MASTER && HAS_DMA select CRC7 select CRC_ITU_T help Some systems access MMC/SD/SDIO cards using a SPI controller instead of using a "native" MMC/SD/SDIO controller. This has a disadvantage of being relatively high overhead, but a compensating advantage of working on many systems without dedicated MMC/SD/SDIO controllers. If unsure, or if your system has no SPI master driver, say N. config MMC_S3C tristate "Samsung S3C SD/MMC Card Interface support" depends on ARCH_S3C24XX depends on S3C24XX_DMAC help This selects a driver for the MCI interface found in Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs. If you have a board based on one of those and a MMC/SD slot, say Y or M here. If unsure, say N. config MMC_S3C_HW_SDIO_IRQ bool "Hardware support for SDIO IRQ" depends on MMC_S3C help Enable the hardware support for SDIO interrupts instead of using the generic polling code. choice prompt "Samsung S3C SD/MMC transfer code" depends on MMC_S3C config MMC_S3C_PIO bool "Use PIO transfers only" help Use PIO to transfer data between memory and the hardware. PIO is slower than DMA as it requires CPU instructions to move the data. This has been the traditional default for the S3C MCI driver. config MMC_S3C_DMA bool "Use DMA transfers only" help Use DMA to transfer data between memory and the hardare. Currently, the DMA support in this driver seems to not be working properly and needs to be debugged before this option is useful. endchoice config MMC_SDRICOH_CS tristate "MMC/SD driver for Ricoh Bay1Controllers" depends on PCI && PCMCIA help Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA card whenever you insert a MMC or SD card into the card slot. To compile this driver as a module, choose M here: the module will be called sdricoh_cs. config MMC_SDHCI_SPRD tristate "Spreadtrum SDIO host Controller" depends on ARCH_SPRD depends on MMC_SDHCI_PLTFM select MMC_SDHCI_IO_ACCESSORS help This selects the SDIO Host Controller in Spreadtrum SoCs, this driver supports R11(IP version: R11P0). If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_TMIO_CORE tristate config MMC_TMIO tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support" depends on MFD_TMIO || MFD_ASIC3 select MMC_TMIO_CORE help This provides support for the SD/MMC cell found in TC6393XB, T7L66XB and also HTC ASIC3 config MMC_SDHI tristate "Renesas SDHI SD/SDIO controller support" depends on SUPERH || ARCH_RENESAS || COMPILE_TEST select MMC_TMIO_CORE help This provides support for the SDHI SD/SDIO controller found in Renesas SuperH, ARM and ARM64 based SoCs config MMC_SDHI_SYS_DMAC tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC" depends on MMC_SDHI default MMC_SDHI if (SUPERH || ARM) help This provides DMA support for SDHI SD/SDIO controllers using SYS-DMAC via DMA Engine. This supports the controllers found in SuperH and Renesas ARM based SoCs. config MMC_SDHI_INTERNAL_DMAC tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering" depends on ARM64 || ARCH_R7S9210 || ARCH_R8A77470 || COMPILE_TEST depends on MMC_SDHI default MMC_SDHI if (ARM64 || ARCH_R7S9210 || ARCH_R8A77470) help This provides DMA support for SDHI SD/SDIO controllers using on-chip bus mastering. This supports the controllers found in arm64 based SoCs. This controller is also found in some RZ family SoCs. config MMC_UNIPHIER tristate "UniPhier SD/eMMC Host Controller support" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF select MMC_TMIO_CORE help This provides support for the SD/eMMC controller found in UniPhier SoCs. The eMMC variant of this controller is used only for 32-bit SoCs. config MMC_CB710 tristate "ENE CB710 MMC/SD Interface support" depends on PCI select CB710_CORE help This option enables support for MMC/SD part of ENE CB710/720 Flash memory card reader found in some laptops (ie. some versions of HP Compaq nx9500). This driver can also be built as a module. If so, the module will be called cb710-mmc. config MMC_VIA_SDMMC tristate "VIA SD/MMC Card Reader Driver" depends on PCI help This selects the VIA SD/MMC Card Reader driver, say Y or M here. VIA provides one multi-functional card reader which integrated into some motherboards manufactured by VIA. This card reader supports SD/MMC/SDHC. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_CAVIUM_OCTEON tristate "Cavium OCTEON SD/MMC Card Interface support" depends on CAVIUM_OCTEON_SOC help This selects Cavium OCTEON SD/MMC card Interface. If you have an OCTEON board with a Multimedia Card slot, say Y or M here. If unsure, say N. config MMC_CAVIUM_THUNDERX tristate "Cavium ThunderX SD/MMC Card Interface support" depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) depends on GPIO_THUNDERX depends on OF_ADDRESS help This selects Cavium ThunderX SD/MMC Card Interface. If you have an Cavium ARM64 board with a Multimedia Card slot or builtin eMMC chip say Y or M here. If built as a module the module will be called thunderx_mmc.ko. config MMC_DW tristate "Synopsys DesignWare Memory Card Interface" depends on ARC || ARM || ARM64 || MIPS || COMPILE_TEST help This selects support for the Synopsys DesignWare Mobile Storage IP block, this provides host support for SD and MMC interfaces, in both PIO, internal DMA mode and external DMA mode. config MMC_DW_PLTFM tristate "Synopsys Designware MCI Support as platform device" depends on MMC_DW default y help This selects the common helper functions support for Host Controller Interface based platform driver. Please select this option if the IP is present as a platform device. This is the common interface for the Synopsys Designware IP. If you have a controller with this interface, say Y or M here. If unsure, say Y. config MMC_DW_BLUEFIELD tristate "BlueField specific extensions for Synopsys DW Memory Card Interface" depends on MMC_DW select MMC_DW_PLTFM help This selects support for Mellanox BlueField SoC specific extensions to the Synopsys DesignWare Memory Card Interface driver. Select this option for platforms based on Mellanox BlueField SoC's. config MMC_DW_EXYNOS tristate "Exynos specific extensions for Synopsys DW Memory Card Interface" depends on MMC_DW select MMC_DW_PLTFM help This selects support for Samsung Exynos SoC specific extensions to the Synopsys DesignWare Memory Card Interface driver. Select this option for platforms based on Exynos4 and Exynos5 SoC's. config MMC_DW_HI3798CV200 tristate "Hi3798CV200 specific extensions for Synopsys DW Memory Card Interface" depends on MMC_DW select MMC_DW_PLTFM help This selects support for HiSilicon Hi3798CV200 SoC specific extensions to the Synopsys DesignWare Memory Card Interface driver. Select this option for platforms based on HiSilicon Hi3798CV200 SoC. config MMC_DW_K3 tristate "K3 specific extensions for Synopsys DW Memory Card Interface" depends on MMC_DW select MMC_DW_PLTFM help This selects support for Hisilicon K3 SoC specific extensions to the Synopsys DesignWare Memory Card Interface driver. Select this option for platforms based on Hisilicon K3 SoC's. config MMC_DW_PCI tristate "Synopsys Designware MCI support on PCI bus" depends on MMC_DW && PCI help This selects the PCI bus for the Synopsys Designware Mobile Storage IP. Select this option if the IP is present on PCI platform. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_DW_ROCKCHIP tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface" depends on MMC_DW && ARCH_ROCKCHIP select MMC_DW_PLTFM help This selects support for Rockchip SoC specific extensions to the Synopsys DesignWare Memory Card Interface driver. Select this option for platforms based on RK3066, RK3188 and RK3288 SoC's. config MMC_DW_ZX tristate "ZTE specific extensions for Synopsys DW Memory Card Interface" depends on MMC_DW && ARCH_ZX select MMC_DW_PLTFM help This selects support for ZTE SoC specific extensions to the Synopsys DesignWare Memory Card Interface driver. Select this option for platforms based on ZX296718 SoC's. config MMC_SH_MMCIF tristate "SuperH Internal MMCIF support" depends on SUPERH || ARCH_RENESAS || COMPILE_TEST help This selects the MMC Host Interface controller (MMCIF) found in various Renesas SoCs for SH and ARM architectures. config MMC_JZ4740 tristate "Ingenic JZ47xx SD/Multimedia Card Interface support" depends on MIPS help This selects support for the SD/MMC controller on Ingenic JZ4740, JZ4750, JZ4770 and JZ4780 SoCs. If you have a board based on such a SoC and with a SD/MMC slot, say Y or M here. config MMC_VUB300 tristate "VUB300 USB to SDIO/SD/MMC Host Controller support" depends on USB help This selects support for Elan Digital Systems' VUB300 chip. The VUB300 is a USB-SDIO Host Controller Interface chip that enables the host computer to use SDIO/SD/MMC cards via a USB 2.0 or USB 1.1 host. The VUB300 chip will be found in both physically separate USB to SDIO/SD/MMC adapters and embedded on some motherboards. The VUB300 chip supports SD and MMC memory cards in addition to single and multifunction SDIO cards. Some SDIO cards will need a firmware file to be loaded and sent to VUB300 chip in order to achieve better data throughput. Download these "Offload Pseudocode" from Elan Digital Systems' web-site http://www.elandigitalsystems.com/support/downloads.php and put them in /lib/firmware. Note that without these additional firmware files the VUB300 chip will still function, but not at the best obtainable data rate. To compile this mmc host controller driver as a module, choose M here: the module will be called vub300. If you have a computer with an embedded VUB300 chip or if you intend connecting a USB adapter based on a VUB300 chip say Y or M here. config MMC_USHC tristate "USB SD Host Controller (USHC) support" depends on USB help This selects support for USB SD Host Controllers based on the Cypress Astoria chip with firmware compliant with CSR's USB SD Host Controller specification (CS-118793-SP). CSR boards with this device include: USB<>SDIO (M1985v2), and Ultrasira. Note: These controllers only support SDIO cards and do not support MMC or SD memory cards. config MMC_WMT tristate "Wondermedia SD/MMC Host Controller support" depends on ARCH_VT8500 default y help This selects support for the SD/MMC Host Controller on Wondermedia WM8505/WM8650 based SoCs. To compile this driver as a module, choose M here: the module will be called wmt-sdmmc. config MMC_USDHI6ROL0 tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support" depends on HAS_DMA help This selects support for the Renesas USDHI6ROL0 SD/SDIO Host Controller config MMC_REALTEK_PCI tristate "Realtek PCI-E SD/MMC Card Interface Driver" depends on MISC_RTSX_PCI help Say Y here to include driver code to support SD/MMC card interface of Realtek PCI-E card reader config MMC_REALTEK_USB tristate "Realtek USB SD/MMC Card Interface Driver" depends on MISC_RTSX_USB help Say Y here to include driver code to support SD/MMC card interface of Realtek RTS5129/39 series card reader config MMC_SUNXI tristate "Allwinner sunxi SD/MMC Host Controller support" depends on ARCH_SUNXI help This selects support for the SD/MMC Host Controller on Allwinner sunxi SoCs. config MMC_CQHCI tristate "Command Queue Host Controller Interface support" depends on HAS_DMA help This selects the Command Queue Host Controller Interface (CQHCI) support present in host controllers of Qualcomm Technologies, Inc amongst others. This controller supports eMMC devices with command queue support. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_TOSHIBA_PCI tristate "Toshiba Type A SD/MMC Card Interface Driver" depends on PCI config MMC_BCM2835 tristate "Broadcom BCM2835 SDHOST MMC Controller support" depends on ARCH_BCM2835 || COMPILE_TEST help This selects the BCM2835 SDHOST MMC controller. If you have a BCM2835 platform with SD or MMC devices, say Y or M here. Note that the BCM2835 has two SD controllers: The Arasan sdhci controller (supported by MMC_SDHCI_IPROC) and a custom sdhost controller (supported by this driver). If unsure, say N. config MMC_MTK tristate "MediaTek SD/MMC Card Interface support" depends on HAS_DMA select REGULATOR help This selects the MediaTek(R) Secure digital and Multimedia card Interface. If you have a machine with a integrated SD/MMC card reader, say Y or M here. This is needed if support for any SD/SDIO/MMC devices is required. If unsure, say N. config MMC_SDHCI_MICROCHIP_PIC32 tristate "Microchip PIC32MZDA SDHCI support" depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM help This selects the Secure Digital Host Controller Interface (SDHCI) for PIC32MZDA platform. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_BRCMSTB tristate "Broadcom SDIO/SD/MMC support" depends on ARCH_BRCMSTB || BMIPS_GENERIC depends on MMC_SDHCI_PLTFM default y help This selects support for the SDIO/SD/MMC Host Controller on Broadcom STB SoCs. If unsure, say Y. config MMC_SDHCI_XENON tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver" depends on MMC_SDHCI_PLTFM help This selects Marvell Xenon eMMC/SD/SDIO SDHCI. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_OMAP tristate "TI SDHCI Controller Support" depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST depends on MMC_SDHCI_PLTFM && OF select THERMAL imply TI_SOC_THERMAL help This selects the Secure Digital Host Controller Interface (SDHCI) support present in TI's Keystone/OMAP2+/DRA7 SOCs. The controller supports SD/MMC/SDIO devices. If you have a controller with this interface, say Y or M here. If unsure, say N. config MMC_SDHCI_AM654 tristate "Support for the SDHCI Controller in TI's AM654 SOCs" depends on MMC_SDHCI_PLTFM && OF && REGMAP_MMIO select MMC_SDHCI_IO_ACCESSORS help This selects the Secure Digital Host Controller Interface (SDHCI) support present in TI's AM654 SOCs. The controller supports SD/MMC/SDIO devices. If you have a controller with this interface, say Y or M here. If unsure, say N. mmc/host/Makefile 0000644 00000010506 14722053666 0007752 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for MMC/SD host controller drivers # obj-$(CONFIG_MMC_ARMMMCI) += armmmci.o armmmci-y := mmci.o armmmci-$(CONFIG_MMC_QCOM_DML) += mmci_qcom_dml.o armmmci-$(CONFIG_MMC_STM32_SDMMC) += mmci_stm32_sdmmc.o obj-$(CONFIG_MMC_PXA) += pxamci.o obj-$(CONFIG_MMC_MXC) += mxcmmc.o obj-$(CONFIG_MMC_MXS) += mxs-mmc.o obj-$(CONFIG_MMC_SDHCI) += sdhci.o obj-$(CONFIG_MMC_SDHCI_PCI) += sdhci-pci.o sdhci-pci-y += sdhci-pci-core.o sdhci-pci-o2micro.o sdhci-pci-arasan.o \ sdhci-pci-dwc-mshc.o sdhci-pci-gli.o obj-$(subst m,y,$(CONFIG_MMC_SDHCI_PCI)) += sdhci-pci-data.o obj-$(CONFIG_MMC_SDHCI_ACPI) += sdhci-acpi.o obj-$(CONFIG_MMC_SDHCI_PXAV3) += sdhci-pxav3.o obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-pxav2.o obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o obj-$(CONFIG_MMC_SDHCI_F_SDH30) += sdhci_f_sdh30.o obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o obj-$(CONFIG_MMC_SDHCI_AM654) += sdhci_am654.o obj-$(CONFIG_MMC_WBSD) += wbsd.o obj-$(CONFIG_MMC_AU1X) += au1xmmc.o obj-$(CONFIG_MMC_ALCOR) += alcor.o obj-$(CONFIG_MMC_MTK) += mtk-sd.o obj-$(CONFIG_MMC_OMAP) += omap.o obj-$(CONFIG_MMC_OMAP_HS) += omap_hsmmc.o obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o obj-$(CONFIG_MMC_MVSDIO) += mvsdio.o obj-$(CONFIG_MMC_DAVINCI) += davinci_mmc.o obj-$(CONFIG_MMC_GOLDFISH) += android-goldfish.o obj-$(CONFIG_MMC_SPI) += mmc_spi.o ifeq ($(CONFIG_OF),y) obj-$(CONFIG_MMC_SPI) += of_mmc_spi.o endif obj-$(CONFIG_MMC_S3C) += s3cmci.o obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_cs.o obj-$(CONFIG_MMC_TMIO) += tmio_mmc.o obj-$(CONFIG_MMC_TMIO_CORE) += tmio_mmc_core.o obj-$(CONFIG_MMC_SDHI) += renesas_sdhi_core.o obj-$(CONFIG_MMC_SDHI_SYS_DMAC) += renesas_sdhi_sys_dmac.o obj-$(CONFIG_MMC_SDHI_INTERNAL_DMAC) += renesas_sdhi_internal_dmac.o obj-$(CONFIG_MMC_UNIPHIER) += uniphier-sd.o obj-$(CONFIG_MMC_CB710) += cb710-mmc.o obj-$(CONFIG_MMC_VIA_SDMMC) += via-sdmmc.o octeon-mmc-objs := cavium.o cavium-octeon.o obj-$(CONFIG_MMC_CAVIUM_OCTEON) += octeon-mmc.o thunderx-mmc-objs := cavium.o cavium-thunderx.o obj-$(CONFIG_MMC_CAVIUM_THUNDERX) += thunderx-mmc.o obj-$(CONFIG_MMC_DW) += dw_mmc.o obj-$(CONFIG_MMC_DW_PLTFM) += dw_mmc-pltfm.o obj-$(CONFIG_MMC_DW_BLUEFIELD) += dw_mmc-bluefield.o obj-$(CONFIG_MMC_DW_EXYNOS) += dw_mmc-exynos.o obj-$(CONFIG_MMC_DW_HI3798CV200) += dw_mmc-hi3798cv200.o obj-$(CONFIG_MMC_DW_K3) += dw_mmc-k3.o obj-$(CONFIG_MMC_DW_PCI) += dw_mmc-pci.o obj-$(CONFIG_MMC_DW_ROCKCHIP) += dw_mmc-rockchip.o obj-$(CONFIG_MMC_DW_ZX) += dw_mmc-zx.o obj-$(CONFIG_MMC_SH_MMCIF) += sh_mmcif.o obj-$(CONFIG_MMC_JZ4740) += jz4740_mmc.o obj-$(CONFIG_MMC_VUB300) += vub300.o obj-$(CONFIG_MMC_USHC) += ushc.o obj-$(CONFIG_MMC_WMT) += wmt-sdmmc.o obj-$(CONFIG_MMC_MESON_GX) += meson-gx-mmc.o obj-$(CONFIG_MMC_MESON_MX_SDIO) += meson-mx-sdio.o obj-$(CONFIG_MMC_MOXART) += moxart-mmc.o obj-$(CONFIG_MMC_SUNXI) += sunxi-mmc.o obj-$(CONFIG_MMC_USDHI6ROL0) += usdhi6rol0.o obj-$(CONFIG_MMC_TOSHIBA_PCI) += toshsd.o obj-$(CONFIG_MMC_BCM2835) += bcm2835.o obj-$(CONFIG_MMC_REALTEK_PCI) += rtsx_pci_sdmmc.o obj-$(CONFIG_MMC_REALTEK_USB) += rtsx_usb_sdmmc.o obj-$(CONFIG_MMC_SDHCI_PLTFM) += sdhci-pltfm.o obj-$(CONFIG_MMC_SDHCI_CADENCE) += sdhci-cadence.o obj-$(CONFIG_MMC_SDHCI_CNS3XXX) += sdhci-cns3xxx.o obj-$(CONFIG_MMC_SDHCI_ESDHC_IMX) += sdhci-esdhc-imx.o obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o obj-$(CONFIG_MMC_SDHCI_OF_ARASAN) += sdhci-of-arasan.o obj-$(CONFIG_MMC_SDHCI_OF_ASPEED) += sdhci-of-aspeed.o obj-$(CONFIG_MMC_SDHCI_OF_AT91) += sdhci-of-at91.o obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o obj-$(CONFIG_MMC_SDHCI_OF_DWCMSHC) += sdhci-of-dwcmshc.o obj-$(CONFIG_MMC_SDHCI_BCM_KONA) += sdhci-bcm-kona.o obj-$(CONFIG_MMC_SDHCI_IPROC) += sdhci-iproc.o obj-$(CONFIG_MMC_SDHCI_MSM) += sdhci-msm.o obj-$(CONFIG_MMC_SDHCI_ST) += sdhci-st.o obj-$(CONFIG_MMC_SDHCI_MICROCHIP_PIC32) += sdhci-pic32.o obj-$(CONFIG_MMC_SDHCI_BRCMSTB) += sdhci-brcmstb.o obj-$(CONFIG_MMC_SDHCI_OMAP) += sdhci-omap.o obj-$(CONFIG_MMC_SDHCI_SPRD) += sdhci-sprd.o obj-$(CONFIG_MMC_CQHCI) += cqhci.o ifeq ($(CONFIG_CB710_DEBUG),y) CFLAGS-cb710-mmc += -DDEBUG endif obj-$(CONFIG_MMC_SDHCI_XENON) += sdhci-xenon-driver.o sdhci-xenon-driver-y += sdhci-xenon.o sdhci-xenon-phy.o cpufreq/Kconfig.powerpc 0000644 00000003234 14722053666 0011207 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CPU_FREQ_CBE tristate "CBE frequency scaling" depends on CBE_RAS && PPC_CELL default m help This adds the cpufreq driver for Cell BE processors. For details, take a look at <file:Documentation/cpu-freq/>. If you don't have such processor, say N config CPU_FREQ_CBE_PMI bool "CBE frequency scaling using PMI interface" depends on CPU_FREQ_CBE default n help Select this, if you want to use the PMI interface to switch frequencies. Using PMI, the processor will not only be able to run at lower speed, but also at lower core voltage. config CPU_FREQ_MAPLE bool "Support for Maple 970FX Evaluation Board" depends on PPC_MAPLE help This adds support for frequency switching on Maple 970FX Evaluation Board and compatible boards (IBM JS2x blades). config CPU_FREQ_PMAC bool "Support for Apple PowerBooks" depends on ADB_PMU && PPC32 help This adds support for frequency switching on Apple PowerBooks, this currently includes some models of iBook & Titanium PowerBook. config CPU_FREQ_PMAC64 bool "Support for some Apple G5s" depends on PPC_PMAC && PPC64 help This adds support for frequency switching on Apple iMac G5, and some of the more recent desktop G5 machines as well. config PPC_PASEMI_CPUFREQ bool "Support for PA Semi PWRficient" depends on PPC_PASEMI default y help This adds the support for frequency switching on PA Semi PWRficient processors. config POWERNV_CPUFREQ tristate "CPU frequency scaling for IBM POWERNV platform" depends on PPC_POWERNV default y help This adds support for CPU frequency switching on IBM POWERNV platform cpufreq/Kconfig 0000644 00000023454 14722053666 0007537 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "CPU Frequency scaling" config CPU_FREQ bool "CPU Frequency scaling" select SRCU help CPU Frequency scaling allows you to change the clock speed of CPUs on the fly. This is a nice method to save power, because the lower the CPU clock speed, the less power the CPU consumes. Note that this driver doesn't automatically change the CPU clock speed, you need to either enable a dynamic cpufreq governor (see below) after boot, or use a userspace tool. For details, take a look at <file:Documentation/cpu-freq>. If in doubt, say N. if CPU_FREQ config CPU_FREQ_GOV_ATTR_SET bool config CPU_FREQ_GOV_COMMON select CPU_FREQ_GOV_ATTR_SET select IRQ_WORK bool config CPU_FREQ_STAT bool "CPU frequency transition statistics" help Export CPU frequency statistics information through sysfs. If in doubt, say N. choice prompt "Default CPUFreq governor" default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ default CPU_FREQ_DEFAULT_GOV_PERFORMANCE help This option sets which CPUFreq governor shall be loaded at startup. If in doubt, select 'performance'. config CPU_FREQ_DEFAULT_GOV_PERFORMANCE bool "performance" select CPU_FREQ_GOV_PERFORMANCE help Use the CPUFreq governor 'performance' as default. This sets the frequency statically to the highest frequency supported by the CPU. config CPU_FREQ_DEFAULT_GOV_POWERSAVE bool "powersave" select CPU_FREQ_GOV_POWERSAVE help Use the CPUFreq governor 'powersave' as default. This sets the frequency statically to the lowest frequency supported by the CPU. config CPU_FREQ_DEFAULT_GOV_USERSPACE bool "userspace" select CPU_FREQ_GOV_USERSPACE help Use the CPUFreq governor 'userspace' as default. This allows you to set the CPU frequency manually or when a userspace program shall be able to set the CPU dynamically without having to enable the userspace governor manually. config CPU_FREQ_DEFAULT_GOV_ONDEMAND bool "ondemand" select CPU_FREQ_GOV_ONDEMAND select CPU_FREQ_GOV_PERFORMANCE help Use the CPUFreq governor 'ondemand' as default. This allows you to get a full dynamic frequency capable system by simply loading your cpufreq low-level hardware driver. Be aware that not all cpufreq drivers support the ondemand governor. If unsure have a look at the help section of the driver. Fallback governor will be the performance governor. config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE bool "conservative" select CPU_FREQ_GOV_CONSERVATIVE select CPU_FREQ_GOV_PERFORMANCE help Use the CPUFreq governor 'conservative' as default. This allows you to get a full dynamic frequency capable system by simply loading your cpufreq low-level hardware driver. Be aware that not all cpufreq drivers support the conservative governor. If unsure have a look at the help section of the driver. Fallback governor will be the performance governor. config CPU_FREQ_DEFAULT_GOV_SCHEDUTIL bool "schedutil" depends on SMP select CPU_FREQ_GOV_SCHEDUTIL select CPU_FREQ_GOV_PERFORMANCE help Use the 'schedutil' CPUFreq governor by default. If unsure, have a look at the help section of that governor. The fallback governor will be 'performance'. endchoice config CPU_FREQ_GOV_PERFORMANCE tristate "'performance' governor" help This cpufreq governor sets the frequency statically to the highest available CPU frequency. To compile this driver as a module, choose M here: the module will be called cpufreq_performance. If in doubt, say Y. config CPU_FREQ_GOV_POWERSAVE tristate "'powersave' governor" help This cpufreq governor sets the frequency statically to the lowest available CPU frequency. To compile this driver as a module, choose M here: the module will be called cpufreq_powersave. If in doubt, say Y. config CPU_FREQ_GOV_USERSPACE tristate "'userspace' governor for userspace frequency scaling" help Enable this cpufreq governor when you either want to set the CPU frequency manually or when a userspace program shall be able to set the CPU dynamically, like on LART <http://www.lartmaker.nl/>. To compile this driver as a module, choose M here: the module will be called cpufreq_userspace. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say Y. config CPU_FREQ_GOV_ONDEMAND tristate "'ondemand' cpufreq policy governor" select CPU_FREQ_GOV_COMMON help 'ondemand' - This driver adds a dynamic cpufreq policy governor. The governor does a periodic polling and changes frequency based on the CPU utilization. The support for this governor depends on CPU capability to do fast frequency switching (i.e, very low latency frequency transitions). To compile this driver as a module, choose M here: the module will be called cpufreq_ondemand. For details, take a look at linux/Documentation/cpu-freq. If in doubt, say N. config CPU_FREQ_GOV_CONSERVATIVE tristate "'conservative' cpufreq governor" depends on CPU_FREQ select CPU_FREQ_GOV_COMMON help 'conservative' - this driver is rather similar to the 'ondemand' governor both in its source code and its purpose, the difference is its optimisation for better suitability in a battery powered environment. The frequency is gracefully increased and decreased rather than jumping to 100% when speed is required. If you have a desktop machine then you should really be considering the 'ondemand' governor instead, however if you are using a laptop, PDA or even an AMD64 based computer (due to the unacceptable step-by-step latency issues between the minimum and maximum frequency transitions in the CPU) you will probably want to use this governor. To compile this driver as a module, choose M here: the module will be called cpufreq_conservative. For details, take a look at linux/Documentation/cpu-freq. If in doubt, say N. config CPU_FREQ_GOV_SCHEDUTIL bool "'schedutil' cpufreq policy governor" depends on CPU_FREQ && SMP select CPU_FREQ_GOV_ATTR_SET select IRQ_WORK help This governor makes decisions based on the utilization data provided by the scheduler. It sets the CPU frequency to be proportional to the utilization/capacity ratio coming from the scheduler. If the utilization is frequency-invariant, the new frequency is also proportional to the maximum available frequency. If that is not the case, it is proportional to the current frequency of the CPU. The frequency tipping point is at utilization/capacity equal to 80% in both cases. If in doubt, say N. comment "CPU frequency scaling drivers" config CPUFREQ_DT tristate "Generic DT based cpufreq driver" depends on HAVE_CLK && OF select CPUFREQ_DT_PLATDEV select PM_OPP help This adds a generic DT based cpufreq driver for frequency management. It supports both uniprocessor (UP) and symmetric multiprocessor (SMP) systems. If in doubt, say N. config CPUFREQ_DT_PLATDEV bool help This adds a generic DT based cpufreq platdev driver for frequency management. This creates a 'cpufreq-dt' platform device, on the supported platforms. If in doubt, say N. if X86 source "drivers/cpufreq/Kconfig.x86" endif if ARM || ARM64 source "drivers/cpufreq/Kconfig.arm" endif if PPC32 || PPC64 source "drivers/cpufreq/Kconfig.powerpc" endif if IA64 config IA64_ACPI_CPUFREQ tristate "ACPI Processor P-States driver" depends on ACPI_PROCESSOR help This driver adds a CPUFreq driver which utilizes the ACPI Processor Performance States. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. endif if MIPS config BMIPS_CPUFREQ tristate "BMIPS CPUfreq Driver" help This option adds a CPUfreq driver for BMIPS processors with support for configurable CPU frequency. For now, BMIPS5 chips are supported (such as the Broadcom 7425). If in doubt, say N. config LOONGSON2_CPUFREQ tristate "Loongson2 CPUFreq Driver" depends on LEMOTE_MACH2F help This option adds a CPUFreq driver for loongson processors which support software configurable cpu frequency. Loongson2F and it's successors support this feature. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config LOONGSON1_CPUFREQ tristate "Loongson1 CPUFreq Driver" depends on LOONGSON1_LS1B help This option adds a CPUFreq driver for loongson1 processors which support software configurable cpu frequency. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. endif if SPARC64 config SPARC_US3_CPUFREQ tristate "UltraSPARC-III CPU Frequency driver" help This adds the CPUFreq driver for UltraSPARC-III processors. For details, take a look at <file:Documentation/cpu-freq>. If in doubt, say N. config SPARC_US2E_CPUFREQ tristate "UltraSPARC-IIe CPU Frequency driver" help This adds the CPUFreq driver for UltraSPARC-IIe processors. For details, take a look at <file:Documentation/cpu-freq>. If in doubt, say N. endif if SUPERH config SH_CPU_FREQ tristate "SuperH CPU Frequency driver" help This adds the cpufreq driver for SuperH. Any CPU that supports clock rate rounding through the clock framework can use this driver. While it will make the kernel slightly larger, this is harmless for CPUs that don't support rate rounding. The driver will also generate a notice in the boot log before disabling itself if the CPU in question is not capable of rate rounding. For details, take a look at <file:Documentation/cpu-freq>. If unsure, say N. endif config QORIQ_CPUFREQ tristate "CPU frequency scaling driver for Freescale QorIQ SoCs" depends on OF && COMMON_CLK && (PPC_E500MC || ARM || ARM64) select CLK_QORIQ help This adds the CPUFreq driver support for Freescale QorIQ SoCs which are capable of changing the CPU's frequency dynamically. endif endmenu cpufreq/Kconfig.x86 0000644 00000022070 14722053666 0010154 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # x86 CPU Frequency scaling drivers # config X86_INTEL_PSTATE bool "Intel P state control" depends on X86 select ACPI_PROCESSOR if ACPI select ACPI_CPPC_LIB if X86_64 && ACPI && SCHED_MC_PRIO help This driver provides a P state for Intel core processors. The driver implements an internal governor and will become the scaling driver and governor for Sandy bridge processors. When this driver is enabled it will become the preferred scaling driver for Sandy bridge processors. If in doubt, say N. config X86_PCC_CPUFREQ tristate "Processor Clocking Control interface driver" depends on ACPI && ACPI_PROCESSOR help This driver adds support for the PCC interface. For details, take a look at: <file:Documentation/cpu-freq/pcc-cpufreq.txt>. To compile this driver as a module, choose M here: the module will be called pcc-cpufreq. If in doubt, say N. config X86_ACPI_CPUFREQ tristate "ACPI Processor P-States driver" depends on ACPI_PROCESSOR help This driver adds a CPUFreq driver which utilizes the ACPI Processor Performance States. This driver also supports Intel Enhanced Speedstep and newer AMD CPUs. To compile this driver as a module, choose M here: the module will be called acpi-cpufreq. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_ACPI_CPUFREQ_CPB default y bool "Legacy cpb sysfs knob support for AMD CPUs" depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD help The powernow-k8 driver used to provide a sysfs knob called "cpb" to disable the Core Performance Boosting feature of AMD CPUs. This file has now been superseded by the more generic "boost" entry. By enabling this option the acpi_cpufreq driver provides the old entry in addition to the new boost ones, for compatibility reasons. config X86_SFI_CPUFREQ tristate "SFI Performance-States driver" depends on X86_INTEL_MID && SFI help This adds a CPUFreq driver for some Silvermont based Intel Atom architectures like Z34xx and Z35xx which enumerate processor performance states through SFI. If in doubt, say N. config ELAN_CPUFREQ tristate "AMD Elan SC400 and SC410" depends on MELAN ---help--- This adds the CPUFreq driver for AMD Elan SC400 and SC410 processors. You need to specify the processor maximum speed as boot parameter: elanfreq=maxspeed (in kHz) or as module parameter "max_freq". For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config SC520_CPUFREQ tristate "AMD Elan SC520" depends on MELAN ---help--- This adds the CPUFreq driver for AMD Elan SC520 processor. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_POWERNOW_K6 tristate "AMD Mobile K6-2/K6-3 PowerNow!" depends on X86_32 help This adds the CPUFreq driver for mobile AMD K6-2+ and mobile AMD K6-3+ processors. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_POWERNOW_K7 tristate "AMD Mobile Athlon/Duron PowerNow!" depends on X86_32 help This adds the CPUFreq driver for mobile AMD K7 mobile processors. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_POWERNOW_K7_ACPI bool depends on X86_POWERNOW_K7 && ACPI_PROCESSOR depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m) depends on X86_32 default y config X86_POWERNOW_K8 tristate "AMD Opteron/Athlon64 PowerNow!" depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ help This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors. Support for K10 and newer processors is now in acpi-cpufreq. To compile this driver as a module, choose M here: the module will be called powernow-k8. For details, take a look at <file:Documentation/cpu-freq/>. config X86_AMD_FREQ_SENSITIVITY tristate "AMD frequency sensitivity feedback powersave bias" depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD help This adds AMD-specific powersave bias function to the ondemand governor, which allows it to make more power-conscious frequency change decisions based on feedback from hardware (available on AMD Family 16h and above). Hardware feedback tells software how "sensitive" to frequency changes the CPUs' workloads are. CPU-bound workloads will be more sensitive -- they will perform better as frequency increases. Memory/IO-bound workloads will be less sensitive -- they will not necessarily perform better as frequency increases. If in doubt, say N. config X86_GX_SUSPMOD tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation" depends on X86_32 && PCI help This add the CPUFreq driver for NatSemi Geode processors which support suspend modulation. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_SPEEDSTEP_CENTRINO tristate "Intel Enhanced SpeedStep (deprecated)" select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32 depends on X86_32 || (X86_64 && ACPI_PROCESSOR) help This is deprecated and this functionality is now merged into acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of speedstep_centrino. This adds the CPUFreq driver for Enhanced SpeedStep enabled mobile CPUs. This means Intel Pentium M (Centrino) CPUs or 64bit enabled Intel Xeons. To compile this driver as a module, choose M here: the module will be called speedstep-centrino. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_SPEEDSTEP_CENTRINO_TABLE bool "Built-in tables for Banias CPUs" depends on X86_32 && X86_SPEEDSTEP_CENTRINO default y help Use built-in tables for Banias CPUs if ACPI encoding is not available. If in doubt, say N. config X86_SPEEDSTEP_ICH tristate "Intel Speedstep on ICH-M chipsets (ioport interface)" depends on X86_32 help This adds the CPUFreq driver for certain mobile Intel Pentium III (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2, ICH3 or ICH4 southbridge. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_SPEEDSTEP_SMI tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)" depends on X86_32 help This adds the CPUFreq driver for certain mobile Intel Pentium III (Coppermine), all mobile Intel Pentium III-M (Tualatin) on systems which have an Intel 440BX/ZX/MX southbridge. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_P4_CLOCKMOD tristate "Intel Pentium 4 clock modulation" help This adds the CPUFreq driver for Intel Pentium 4 / XEON processors. When enabled it will lower CPU temperature by skipping clocks. This driver should be only used in exceptional circumstances when very low power is needed because it causes severe slowdowns and noticeable latencies. Normally Speedstep should be used instead. To compile this driver as a module, choose M here: the module will be called p4-clockmod. For details, take a look at <file:Documentation/cpu-freq/>. Unless you are absolutely sure say N. config X86_CPUFREQ_NFORCE2 tristate "nVidia nForce2 FSB changing" depends on X86_32 help This adds the CPUFreq driver for FSB changing on nVidia nForce2 platforms. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_LONGRUN tristate "Transmeta LongRun" depends on X86_32 help This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors which support LongRun. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_LONGHAUL tristate "VIA Cyrix III Longhaul" depends on X86_32 && ACPI_PROCESSOR help This adds the CPUFreq driver for VIA Samuel/CyrixIII, VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T processors. For details, take a look at <file:Documentation/cpu-freq/>. If in doubt, say N. config X86_E_POWERSAVER tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)" depends on X86_32 && ACPI_PROCESSOR help This adds the CPUFreq driver for VIA C7 processors. However, this driver does not have any safeguards to prevent operating the CPU out of spec and is thus considered dangerous. Please use the regular ACPI cpufreq driver, enabled by CONFIG_X86_ACPI_CPUFREQ. If in doubt, say N. comment "shared options" config X86_SPEEDSTEP_LIB tristate default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD) config X86_SPEEDSTEP_RELAXED_CAP_CHECK bool "Relaxed speedstep capability checks" depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH) help Don't perform all checks for a speedstep capable system which would normally be done. Some ancient or strange systems, though speedstep capable, don't always indicate that they are speedstep capable. This option lets the probing code bypass some of those checks if the parameter "relaxed_check=1" is passed to the module. cpufreq/Kconfig.arm 0000644 00000022722 14722053666 0010312 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ARM CPU Frequency scaling drivers # config ACPI_CPPC_CPUFREQ tristate "CPUFreq driver based on the ACPI CPPC spec" depends on ACPI_PROCESSOR select ACPI_CPPC_LIB help This adds a CPUFreq driver which uses CPPC methods as described in the ACPIv5.1 spec. CPPC stands for Collaborative Processor Performance Controls. It is based on an abstract continuous scale of CPU performance values which allows the remote power processor to flexibly optimize for power and performance. CPPC relies on power management firmware support for its operation. If in doubt, say N. config ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM tristate "Allwinner nvmem based SUN50I CPUFreq driver" depends on ARCH_SUNXI depends on NVMEM_SUNXI_SID select PM_OPP help This adds the nvmem based CPUFreq driver for Allwinner h6 SoC. To compile this driver as a module, choose M here: the module will be called sun50i-cpufreq-nvmem. config ARM_ARMADA_37XX_CPUFREQ tristate "Armada 37xx CPUFreq support" depends on ARCH_MVEBU && CPUFREQ_DT help This adds the CPUFreq driver support for Marvell Armada 37xx SoCs. The Armada 37xx PMU supports 4 frequency and VDD levels. config ARM_ARMADA_8K_CPUFREQ tristate "Armada 8K CPUFreq driver" depends on ARCH_MVEBU && CPUFREQ_DT select ARMADA_AP_CPU_CLK help This enables the CPUFreq driver support for Marvell Armada8k SOCs. Armada8K device has the AP806 which supports scaling to any full integer divider. If in doubt, say N. # big LITTLE core layer and glue drivers config ARM_BIG_LITTLE_CPUFREQ tristate "Generic ARM big LITTLE CPUfreq driver" depends on ARM_CPU_TOPOLOGY && HAVE_CLK select PM_OPP help This enables the Generic CPUfreq driver for ARM big.LITTLE platforms. config ARM_SCPI_CPUFREQ tristate "SCPI based CPUfreq driver" depends on ARM_SCPI_PROTOCOL && COMMON_CLK_SCPI help This adds the CPUfreq driver support for ARM platforms using SCPI protocol for CPU power management. This driver uses SCPI Message Protocol driver to interact with the firmware providing the CPU DVFS functionality. config ARM_VEXPRESS_SPC_CPUFREQ tristate "Versatile Express SPC based CPUfreq driver" depends on ARM_BIG_LITTLE_CPUFREQ && ARCH_VEXPRESS_SPC help This add the CPUfreq driver support for Versatile Express big.LITTLE platforms using SPC for power management. config ARM_BRCMSTB_AVS_CPUFREQ tristate "Broadcom STB AVS CPUfreq driver" depends on ARCH_BRCMSTB || COMPILE_TEST default y help Some Broadcom STB SoCs use a co-processor running proprietary firmware ("AVS") to handle voltage and frequency scaling. This driver provides a standard CPUfreq interface to to the firmware. Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS. config ARM_HIGHBANK_CPUFREQ tristate "Calxeda Highbank-based" depends on ARCH_HIGHBANK && CPUFREQ_DT && REGULATOR default m help This adds the CPUFreq driver for Calxeda Highbank SoC based boards. If in doubt, say N. config ARM_IMX6Q_CPUFREQ tristate "Freescale i.MX6 cpufreq support" depends on ARCH_MXC depends on REGULATOR_ANATOP select PM_OPP help This adds cpufreq driver support for Freescale i.MX6 series SoCs. If in doubt, say N. config ARM_IMX_CPUFREQ_DT tristate "Freescale i.MX8M cpufreq support" depends on ARCH_MXC && CPUFREQ_DT help This adds cpufreq driver support for Freescale i.MX8M series SoCs, based on cpufreq-dt. If in doubt, say N. config ARM_KIRKWOOD_CPUFREQ def_bool MACH_KIRKWOOD help This adds the CPUFreq driver for Marvell Kirkwood SoCs. config ARM_MEDIATEK_CPUFREQ tristate "CPU Frequency scaling support for MediaTek SoCs" depends on ARCH_MEDIATEK && REGULATOR select PM_OPP help This adds the CPUFreq driver support for MediaTek SoCs. config ARM_OMAP2PLUS_CPUFREQ bool "TI OMAP2+" depends on ARCH_OMAP2PLUS default ARCH_OMAP2PLUS config ARM_QCOM_CPUFREQ_NVMEM tristate "Qualcomm nvmem based CPUFreq" depends on ARM64 depends on QCOM_QFPROM depends on QCOM_SMEM select PM_OPP help This adds the CPUFreq driver for Qualcomm Kryo SoC based boards. If in doubt, say N. config ARM_QCOM_CPUFREQ_HW tristate "QCOM CPUFreq HW driver" depends on ARCH_QCOM || COMPILE_TEST help Support for the CPUFreq HW driver. Some QCOM chipsets have a HW engine to offload the steps necessary for changing the frequency of the CPUs. Firmware loaded in this engine exposes a programming interface to the OS. The driver implements the cpufreq interface for this HW engine. Say Y if you want to support CPUFreq HW. config ARM_RASPBERRYPI_CPUFREQ tristate "Raspberry Pi cpufreq support" depends on CLK_RASPBERRYPI || COMPILE_TEST help This adds the CPUFreq driver for Raspberry Pi If in doubt, say N. config ARM_S3C_CPUFREQ bool help Internal configuration node for common cpufreq on Samsung SoC config ARM_S3C24XX_CPUFREQ bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)" depends on ARCH_S3C24XX select ARM_S3C_CPUFREQ help This enables the CPUfreq driver for the Samsung S3C24XX family of CPUs. For details, take a look at <file:Documentation/cpu-freq>. If in doubt, say N. config ARM_S3C24XX_CPUFREQ_DEBUG bool "Debug CPUfreq Samsung driver core" depends on ARM_S3C24XX_CPUFREQ help Enable s3c_freq_dbg for the Samsung S3C CPUfreq core config ARM_S3C24XX_CPUFREQ_IODEBUG bool "Debug CPUfreq Samsung driver IO timing" depends on ARM_S3C24XX_CPUFREQ help Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core config ARM_S3C24XX_CPUFREQ_DEBUGFS bool "Export debugfs for CPUFreq" depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS help Export status information via debugfs. config ARM_S3C2410_CPUFREQ bool depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410 select S3C2410_CPUFREQ_UTILS help CPU Frequency scaling support for S3C2410 config ARM_S3C2412_CPUFREQ bool depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412 default y select S3C2412_IOTIMING help CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs. config ARM_S3C2416_CPUFREQ bool "S3C2416 CPU Frequency scaling support" depends on CPU_S3C2416 help This adds the CPUFreq driver for the Samsung S3C2416 and S3C2450 SoC. The S3C2416 supports changing the rate of the armdiv clock source and also entering a so called dynamic voltage scaling mode in which it is possible to reduce the core voltage of the CPU. If in doubt, say N. config ARM_S3C2416_CPUFREQ_VCORESCALE bool "Allow voltage scaling for S3C2416 arm core" depends on ARM_S3C2416_CPUFREQ && REGULATOR help Enable CPU voltage scaling when entering the dvs mode. It uses information gathered through existing hardware and tests but not documented in any datasheet. If in doubt, say N. config ARM_S3C2440_CPUFREQ bool "S3C2440/S3C2442 CPU Frequency scaling support" depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442) select S3C2410_CPUFREQ_UTILS default y help CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs. config ARM_S3C64XX_CPUFREQ bool "Samsung S3C64XX" depends on CPU_S3C6410 default y help This adds the CPUFreq driver for Samsung S3C6410 SoC. If in doubt, say N. config ARM_S5PV210_CPUFREQ bool "Samsung S5PV210 and S5PC110" depends on CPU_S5PV210 default y help This adds the CPUFreq driver for Samsung S5PV210 and S5PC110 SoCs. If in doubt, say N. config ARM_SA1100_CPUFREQ bool config ARM_SA1110_CPUFREQ bool config ARM_SCMI_CPUFREQ tristate "SCMI based CPUfreq driver" depends on ARM_SCMI_PROTOCOL || COMPILE_TEST select PM_OPP help This adds the CPUfreq driver support for ARM platforms using SCMI protocol for CPU power management. This driver uses SCMI Message Protocol driver to interact with the firmware providing the CPU DVFS functionality. config ARM_SPEAR_CPUFREQ bool "SPEAr CPUFreq support" depends on PLAT_SPEAR default y help This adds the CPUFreq driver support for SPEAr SOCs. config ARM_STI_CPUFREQ tristate "STi CPUFreq support" depends on SOC_STIH407 help This driver uses the generic OPP framework to match the running platform with a predefined set of suitable values. If not provided we will fall-back so safe-values contained in Device Tree. Enable this config option if you wish to add CPUFreq support for STi based SoCs. config ARM_TANGO_CPUFREQ bool depends on CPUFREQ_DT && ARCH_TANGO default y config ARM_TEGRA20_CPUFREQ tristate "Tegra20 CPUFreq support" depends on ARCH_TEGRA default y help This adds the CPUFreq driver support for Tegra20 SOCs. config ARM_TEGRA124_CPUFREQ bool "Tegra124 CPUFreq support" depends on ARCH_TEGRA && CPUFREQ_DT default y help This adds the CPUFreq driver support for Tegra124 SOCs. config ARM_TEGRA186_CPUFREQ tristate "Tegra186 CPUFreq support" depends on ARCH_TEGRA && TEGRA_BPMP help This adds the CPUFreq driver support for Tegra186 SOCs. config ARM_TI_CPUFREQ bool "Texas Instruments CPUFreq support" depends on ARCH_OMAP2PLUS help This driver enables valid OPPs on the running platform based on values contained within the SoC in use. Enable this in order to use the cpufreq-dt driver on all Texas Instruments platforms that provide dt based operating-points-v2 tables with opp-supported-hw data provided. Required for cpufreq support on AM335x, AM437x, DRA7x, and AM57x platforms. config ARM_PXA2xx_CPUFREQ tristate "Intel PXA2xx CPUfreq driver" depends on PXA27x || PXA25x help This add the CPUFreq driver support for Intel PXA2xx SOCs. If in doubt, say N. cpufreq/Makefile 0000644 00000012567 14722053666 0007677 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # CPUfreq core obj-$(CONFIG_CPU_FREQ) += cpufreq.o freq_table.o # CPUfreq stats obj-$(CONFIG_CPU_FREQ_STAT) += cpufreq_stats.o # CPUfreq governors obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE) += cpufreq_performance.o obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE) += cpufreq_powersave.o obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE) += cpufreq_userspace.o obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o obj-$(CONFIG_CPU_FREQ_GOV_ATTR_SET) += cpufreq_governor_attr_set.o obj-$(CONFIG_CPUFREQ_DT) += cpufreq-dt.o obj-$(CONFIG_CPUFREQ_DT_PLATDEV) += cpufreq-dt-platdev.o ################################################################################## # x86 drivers. # Link order matters. K8 is preferred to ACPI because of firmware bugs in early # K8 systems. This is still the case but acpi-cpufreq errors out so that # powernow-k8 can load then. ACPI is preferred to all other hardware-specific drivers. # speedstep-* is preferred over p4-clockmod. obj-$(CONFIG_X86_ACPI_CPUFREQ) += acpi-cpufreq.o obj-$(CONFIG_X86_POWERNOW_K8) += powernow-k8.o obj-$(CONFIG_X86_PCC_CPUFREQ) += pcc-cpufreq.o obj-$(CONFIG_X86_POWERNOW_K6) += powernow-k6.o obj-$(CONFIG_X86_POWERNOW_K7) += powernow-k7.o obj-$(CONFIG_X86_LONGHAUL) += longhaul.o obj-$(CONFIG_X86_E_POWERSAVER) += e_powersaver.o obj-$(CONFIG_ELAN_CPUFREQ) += elanfreq.o obj-$(CONFIG_SC520_CPUFREQ) += sc520_freq.o obj-$(CONFIG_X86_LONGRUN) += longrun.o obj-$(CONFIG_X86_GX_SUSPMOD) += gx-suspmod.o obj-$(CONFIG_X86_SPEEDSTEP_ICH) += speedstep-ich.o obj-$(CONFIG_X86_SPEEDSTEP_LIB) += speedstep-lib.o obj-$(CONFIG_X86_SPEEDSTEP_SMI) += speedstep-smi.o obj-$(CONFIG_X86_SPEEDSTEP_CENTRINO) += speedstep-centrino.o obj-$(CONFIG_X86_P4_CLOCKMOD) += p4-clockmod.o obj-$(CONFIG_X86_CPUFREQ_NFORCE2) += cpufreq-nforce2.o obj-$(CONFIG_X86_INTEL_PSTATE) += intel_pstate.o obj-$(CONFIG_X86_AMD_FREQ_SENSITIVITY) += amd_freq_sensitivity.o obj-$(CONFIG_X86_SFI_CPUFREQ) += sfi-cpufreq.o ################################################################################## # ARM SoC drivers obj-$(CONFIG_ARM_BIG_LITTLE_CPUFREQ) += arm_big_little.o obj-$(CONFIG_ARM_ARMADA_37XX_CPUFREQ) += armada-37xx-cpufreq.o obj-$(CONFIG_ARM_ARMADA_8K_CPUFREQ) += armada-8k-cpufreq.o obj-$(CONFIG_ARM_BRCMSTB_AVS_CPUFREQ) += brcmstb-avs-cpufreq.o obj-$(CONFIG_ACPI_CPPC_CPUFREQ) += cppc_cpufreq.o obj-$(CONFIG_ARCH_DAVINCI) += davinci-cpufreq.o obj-$(CONFIG_ARM_HIGHBANK_CPUFREQ) += highbank-cpufreq.o obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6q-cpufreq.o obj-$(CONFIG_ARM_IMX_CPUFREQ_DT) += imx-cpufreq-dt.o obj-$(CONFIG_ARM_KIRKWOOD_CPUFREQ) += kirkwood-cpufreq.o obj-$(CONFIG_ARM_MEDIATEK_CPUFREQ) += mediatek-cpufreq.o obj-$(CONFIG_MACH_MVEBU_V7) += mvebu-cpufreq.o obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o obj-$(CONFIG_ARM_PXA2xx_CPUFREQ) += pxa2xx-cpufreq.o obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o obj-$(CONFIG_ARM_QCOM_CPUFREQ_HW) += qcom-cpufreq-hw.o obj-$(CONFIG_ARM_QCOM_CPUFREQ_NVMEM) += qcom-cpufreq-nvmem.o obj-$(CONFIG_ARM_RASPBERRYPI_CPUFREQ) += raspberrypi-cpufreq.o obj-$(CONFIG_ARM_S3C2410_CPUFREQ) += s3c2410-cpufreq.o obj-$(CONFIG_ARM_S3C2412_CPUFREQ) += s3c2412-cpufreq.o obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o obj-$(CONFIG_ARM_S3C2440_CPUFREQ) += s3c2440-cpufreq.o obj-$(CONFIG_ARM_S3C64XX_CPUFREQ) += s3c64xx-cpufreq.o obj-$(CONFIG_ARM_S3C24XX_CPUFREQ) += s3c24xx-cpufreq.o obj-$(CONFIG_ARM_S3C24XX_CPUFREQ_DEBUGFS) += s3c24xx-cpufreq-debugfs.o obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o obj-$(CONFIG_ARM_SA1100_CPUFREQ) += sa1100-cpufreq.o obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o obj-$(CONFIG_ARM_SCMI_CPUFREQ) += scmi-cpufreq.o obj-$(CONFIG_ARM_SCPI_CPUFREQ) += scpi-cpufreq.o obj-$(CONFIG_ARM_SPEAR_CPUFREQ) += spear-cpufreq.o obj-$(CONFIG_ARM_STI_CPUFREQ) += sti-cpufreq.o obj-$(CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM) += sun50i-cpufreq-nvmem.o obj-$(CONFIG_ARM_TANGO_CPUFREQ) += tango-cpufreq.o obj-$(CONFIG_ARM_TEGRA20_CPUFREQ) += tegra20-cpufreq.o obj-$(CONFIG_ARM_TEGRA124_CPUFREQ) += tegra124-cpufreq.o obj-$(CONFIG_ARM_TEGRA186_CPUFREQ) += tegra186-cpufreq.o obj-$(CONFIG_ARM_TI_CPUFREQ) += ti-cpufreq.o obj-$(CONFIG_ARM_VEXPRESS_SPC_CPUFREQ) += vexpress-spc-cpufreq.o ################################################################################## # PowerPC platform drivers obj-$(CONFIG_CPU_FREQ_CBE) += ppc-cbe-cpufreq.o ppc-cbe-cpufreq-y += ppc_cbe_cpufreq_pervasive.o ppc_cbe_cpufreq.o obj-$(CONFIG_CPU_FREQ_CBE_PMI) += ppc_cbe_cpufreq_pmi.o obj-$(CONFIG_CPU_FREQ_MAPLE) += maple-cpufreq.o obj-$(CONFIG_QORIQ_CPUFREQ) += qoriq-cpufreq.o obj-$(CONFIG_CPU_FREQ_PMAC) += pmac32-cpufreq.o obj-$(CONFIG_CPU_FREQ_PMAC64) += pmac64-cpufreq.o obj-$(CONFIG_PPC_PASEMI_CPUFREQ) += pasemi-cpufreq.o obj-$(CONFIG_POWERNV_CPUFREQ) += powernv-cpufreq.o ################################################################################## # Other platform drivers obj-$(CONFIG_BMIPS_CPUFREQ) += bmips-cpufreq.o obj-$(CONFIG_IA64_ACPI_CPUFREQ) += ia64-acpi-cpufreq.o obj-$(CONFIG_LOONGSON2_CPUFREQ) += loongson2_cpufreq.o obj-$(CONFIG_LOONGSON1_CPUFREQ) += loongson1-cpufreq.o obj-$(CONFIG_SH_CPU_FREQ) += sh-cpufreq.o obj-$(CONFIG_SPARC_US2E_CPUFREQ) += sparc-us2e-cpufreq.o obj-$(CONFIG_SPARC_US3_CPUFREQ) += sparc-us3-cpufreq.o obj-$(CONFIG_UNICORE32) += unicore2-cpufreq.o hsi/clients/Kconfig 0000644 00000001766 14722053666 0010320 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # HSI clients configuration # comment "HSI clients" config NOKIA_MODEM tristate "Nokia Modem" depends on HSI && SSI_PROTOCOL && CMT_SPEECH help Say Y here if you want to add support for the modem on Nokia N900 (Nokia RX-51) hardware. If unsure, say N. config CMT_SPEECH tristate "CMT speech" depends on HSI && SSI_PROTOCOL help If you say Y here, you will enable the CMT speech protocol used by Nokia modems. If you say M the protocol will be available as module named cmt_speech. If unsure, say N. config SSI_PROTOCOL tristate "SSI protocol" depends on HSI && PHONET && OMAP_SSI help If you say Y here, you will enable the SSI protocol aka McSAAB. If unsure, say N. config HSI_CHAR tristate "HSI/SSI character driver" depends on HSI ---help--- If you say Y here, you will enable the HSI/SSI character driver. This driver provides a simple character device interface for serial communication with the cellular modem over HSI/SSI bus. hsi/clients/Makefile 0000644 00000000357 14722053666 0010450 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for HSI clients # obj-$(CONFIG_NOKIA_MODEM) += nokia-modem.o obj-$(CONFIG_SSI_PROTOCOL) += ssi_protocol.o obj-$(CONFIG_CMT_SPEECH) += cmt_speech.o obj-$(CONFIG_HSI_CHAR) += hsi_char.o hsi/controllers/Kconfig 0000644 00000000705 14722053666 0011215 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # HSI controllers configuration # comment "HSI controllers" config OMAP_SSI tristate "OMAP SSI hardware driver" depends on HSI && OF && ARM && COMMON_CLK depends on ARCH_OMAP3 || COMPILE_TEST ---help--- SSI is a legacy version of HSI. It is usually used to connect an application engine with a cellular modem. If you say Y here, you will enable the OMAP SSI hardware driver. If unsure, say N. hsi/controllers/Makefile 0000644 00000000253 14722053666 0011350 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for HSI controllers drivers # omap_ssi-objs += omap_ssi_core.o omap_ssi_port.o obj-$(CONFIG_OMAP_SSI) += omap_ssi.o hsi/Kconfig 0000644 00000000634 14722053666 0006650 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # HSI driver configuration # menuconfig HSI tristate "HSI support" ---help--- The "High speed synchronous Serial Interface" is synchronous serial interface used mainly to connect application engines and cellular modems. if HSI config HSI_BOARDINFO bool default y source "drivers/hsi/controllers/Kconfig" source "drivers/hsi/clients/Kconfig" endif # HSI hsi/Makefile 0000644 00000000314 14722053666 0007000 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for HSI # obj-$(CONFIG_HSI) += hsi.o hsi-objs := hsi_core.o hsi-$(CONFIG_HSI_BOARDINFO) += hsi_boardinfo.o obj-y += controllers/ obj-y += clients/ virt/vboxguest/Kconfig 0000644 00000001452 14722053666 0011076 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VBOXGUEST tristate "Virtual Box Guest integration support" depends on X86 && PCI && INPUT help This is a driver for the Virtual Box Guest PCI device used in Virtual Box virtual machines. Enabling this driver will add support for Virtual Box Guest integration features such as copy-and-paste, seamless mode and OpenGL pass-through. This driver also offers vboxguest IPC functionality which is needed for the vboxfs driver which offers folder sharing support. If you enable this driver you should also enable the VBOXVIDEO option. Although it is possible to build this module in, it is advised to build this driver as a module, so that it can be updated independently of the kernel. Select M to build this driver as a module. virt/vboxguest/Makefile 0000644 00000000224 14722053666 0011227 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only vboxguest-y := vboxguest_linux.o vboxguest_core.o vboxguest_utils.o obj-$(CONFIG_VBOXGUEST) += vboxguest.o virt/Kconfig 0000644 00000002000 14722053666 0007036 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Virtualization support drivers # menuconfig VIRT_DRIVERS bool "Virtualization drivers" ---help--- Say Y here to get to see options for device drivers that support virtualization environments. If you say N, all options in this submenu will be skipped and disabled. if VIRT_DRIVERS config FSL_HV_MANAGER tristate "Freescale hypervisor management driver" depends on FSL_SOC select EPAPR_PARAVIRT help The Freescale hypervisor management driver provides several services to drivers and applications related to the Freescale hypervisor: 1) An ioctl interface for querying and managing partitions. 2) A file interface to reading incoming doorbells. 3) An interrupt handler for shutting down the partition upon receiving the shutdown doorbell from a manager partition. 4) A kernel interface for receiving callbacks when a managed partition shuts down. source "drivers/virt/vboxguest/Kconfig" endif virt/Makefile 0000644 00000000250 14722053666 0007200 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for drivers that support virtualization # obj-$(CONFIG_FSL_HV_MANAGER) += fsl_hypervisor.o obj-y += vboxguest/ fpga/Kconfig 0000644 00000015446 14722053666 0007011 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # FPGA framework configuration # menuconfig FPGA tristate "FPGA Configuration Framework" help Say Y here if you want support for configuring FPGAs from the kernel. The FPGA framework adds a FPGA manager class and FPGA manager drivers. if FPGA config FPGA_MGR_SOCFPGA tristate "Altera SOCFPGA FPGA Manager" depends on ARCH_SOCFPGA || COMPILE_TEST help FPGA manager driver support for Altera SOCFPGA. config FPGA_MGR_SOCFPGA_A10 tristate "Altera SoCFPGA Arria10" depends on ARCH_SOCFPGA || COMPILE_TEST select REGMAP_MMIO help FPGA manager driver support for Altera Arria10 SoCFPGA. config ALTERA_PR_IP_CORE tristate "Altera Partial Reconfiguration IP Core" help Core driver support for Altera Partial Reconfiguration IP component config ALTERA_PR_IP_CORE_PLAT tristate "Platform support of Altera Partial Reconfiguration IP Core" depends on ALTERA_PR_IP_CORE && OF && HAS_IOMEM help Platform driver support for Altera Partial Reconfiguration IP component config FPGA_MGR_ALTERA_PS_SPI tristate "Altera FPGA Passive Serial over SPI" depends on SPI select BITREVERSE help FPGA manager driver support for Altera Arria/Cyclone/Stratix using the passive serial interface over SPI. config FPGA_MGR_ALTERA_CVP tristate "Altera CvP FPGA Manager" depends on PCI help FPGA manager driver support for Arria-V, Cyclone-V, Stratix-V, Arria 10 and Stratix10 Altera FPGAs using the CvP interface over PCIe. config FPGA_MGR_ZYNQ_FPGA tristate "Xilinx Zynq FPGA" depends on ARCH_ZYNQ || COMPILE_TEST help FPGA manager driver support for Xilinx Zynq FPGAs. config FPGA_MGR_STRATIX10_SOC tristate "Intel Stratix10 SoC FPGA Manager" depends on (ARCH_STRATIX10 && INTEL_STRATIX10_SERVICE) help FPGA manager driver support for the Intel Stratix10 SoC. config FPGA_MGR_XILINX_SPI tristate "Xilinx Configuration over Slave Serial (SPI)" depends on SPI help FPGA manager driver support for Xilinx FPGA configuration over slave serial interface. config FPGA_MGR_ICE40_SPI tristate "Lattice iCE40 SPI" depends on OF && SPI help FPGA manager driver support for Lattice iCE40 FPGAs over SPI. config FPGA_MGR_MACHXO2_SPI tristate "Lattice MachXO2 SPI" depends on SPI help FPGA manager driver support for Lattice MachXO2 configuration over slave SPI interface. config FPGA_MGR_TS73XX tristate "Technologic Systems TS-73xx SBC FPGA Manager" depends on ARCH_EP93XX && MACH_TS72XX help FPGA manager driver support for the Altera Cyclone II FPGA present on the TS-73xx SBC boards. config FPGA_BRIDGE tristate "FPGA Bridge Framework" help Say Y here if you want to support bridges connected between host processors and FPGAs or between FPGAs. config SOCFPGA_FPGA_BRIDGE tristate "Altera SoCFPGA FPGA Bridges" depends on ARCH_SOCFPGA && FPGA_BRIDGE help Say Y to enable drivers for FPGA bridges for Altera SOCFPGA devices. config ALTERA_FREEZE_BRIDGE tristate "Altera FPGA Freeze Bridge" depends on FPGA_BRIDGE && HAS_IOMEM help Say Y to enable drivers for Altera FPGA Freeze bridges. A freeze bridge is a bridge that exists in the FPGA fabric to isolate one region of the FPGA from the busses while that region is being reprogrammed. config XILINX_PR_DECOUPLER tristate "Xilinx LogiCORE PR Decoupler" depends on FPGA_BRIDGE depends on HAS_IOMEM help Say Y to enable drivers for Xilinx LogiCORE PR Decoupler. The PR Decoupler exists in the FPGA fabric to isolate one region of the FPGA from the busses while that region is being reprogrammed during partial reconfig. config FPGA_REGION tristate "FPGA Region" depends on FPGA_BRIDGE help FPGA Region common code. A FPGA Region controls a FPGA Manager and the FPGA Bridges associated with either a reconfigurable region of an FPGA or a whole FPGA. config OF_FPGA_REGION tristate "FPGA Region Device Tree Overlay Support" depends on OF && FPGA_REGION help Support for loading FPGA images by applying a Device Tree overlay. config FPGA_DFL tristate "FPGA Device Feature List (DFL) support" select FPGA_BRIDGE select FPGA_REGION help Device Feature List (DFL) defines a feature list structure that creates a linked list of feature headers within the MMIO space to provide an extensible way of adding features for FPGA. Driver can walk through the feature headers to enumerate feature devices (e.g. FPGA Management Engine, Port and Accelerator Function Unit) and their private features for target FPGA devices. Select this option to enable common support for Field-Programmable Gate Array (FPGA) solutions which implement Device Feature List. It provides enumeration APIs and feature device infrastructure. config FPGA_DFL_FME tristate "FPGA DFL FME Driver" depends on FPGA_DFL help The FPGA Management Engine (FME) is a feature device implemented under Device Feature List (DFL) framework. Select this option to enable the platform device driver for FME which implements all FPGA platform level management features. There shall be one FME per DFL based FPGA device. config FPGA_DFL_FME_MGR tristate "FPGA DFL FME Manager Driver" depends on FPGA_DFL_FME && HAS_IOMEM help Say Y to enable FPGA Manager driver for FPGA Management Engine. config FPGA_DFL_FME_BRIDGE tristate "FPGA DFL FME Bridge Driver" depends on FPGA_DFL_FME && HAS_IOMEM help Say Y to enable FPGA Bridge driver for FPGA Management Engine. config FPGA_DFL_FME_REGION tristate "FPGA DFL FME Region Driver" depends on FPGA_DFL_FME && HAS_IOMEM help Say Y to enable FPGA Region driver for FPGA Management Engine. config FPGA_DFL_AFU tristate "FPGA DFL AFU Driver" depends on FPGA_DFL help This is the driver for FPGA Accelerated Function Unit (AFU) which implements AFU and Port management features. A User AFU connects to the FPGA infrastructure via a Port. There may be more than one Port/AFU per DFL based FPGA device. config FPGA_DFL_PCI tristate "FPGA DFL PCIe Device Driver" depends on PCI && FPGA_DFL help Select this option to enable PCIe driver for PCIe-based Field-Programmable Gate Array (FPGA) solutions which implement the Device Feature List (DFL). This driver provides interfaces for userspace applications to configure, enumerate, open and access FPGA accelerators on the FPGA DFL devices, enables system level management functions such as FPGA partial reconfiguration, power management and virtualization with DFL framework and DFL feature device drivers. To compile this as a module, choose M here. config FPGA_MGR_ZYNQMP_FPGA tristate "Xilinx ZynqMP FPGA" depends on ARCH_ZYNQMP || COMPILE_TEST help FPGA manager driver support for Xilinx ZynqMP FPGAs. This driver uses the processor configuration port(PCAP) to configure the programmable logic(PL) through PS on ZynqMP SoC. endif # FPGA fpga/Makefile 0000644 00000003417 14722053666 0007141 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the fpga framework and fpga manager drivers. # # Core FPGA Manager Framework obj-$(CONFIG_FPGA) += fpga-mgr.o # FPGA Manager Drivers obj-$(CONFIG_FPGA_MGR_ALTERA_CVP) += altera-cvp.o obj-$(CONFIG_FPGA_MGR_ALTERA_PS_SPI) += altera-ps-spi.o obj-$(CONFIG_FPGA_MGR_ICE40_SPI) += ice40-spi.o obj-$(CONFIG_FPGA_MGR_MACHXO2_SPI) += machxo2-spi.o obj-$(CONFIG_FPGA_MGR_SOCFPGA) += socfpga.o obj-$(CONFIG_FPGA_MGR_SOCFPGA_A10) += socfpga-a10.o obj-$(CONFIG_FPGA_MGR_STRATIX10_SOC) += stratix10-soc.o obj-$(CONFIG_FPGA_MGR_TS73XX) += ts73xx-fpga.o obj-$(CONFIG_FPGA_MGR_XILINX_SPI) += xilinx-spi.o obj-$(CONFIG_FPGA_MGR_ZYNQ_FPGA) += zynq-fpga.o obj-$(CONFIG_FPGA_MGR_ZYNQMP_FPGA) += zynqmp-fpga.o obj-$(CONFIG_ALTERA_PR_IP_CORE) += altera-pr-ip-core.o obj-$(CONFIG_ALTERA_PR_IP_CORE_PLAT) += altera-pr-ip-core-plat.o # FPGA Bridge Drivers obj-$(CONFIG_FPGA_BRIDGE) += fpga-bridge.o obj-$(CONFIG_SOCFPGA_FPGA_BRIDGE) += altera-hps2fpga.o altera-fpga2sdram.o obj-$(CONFIG_ALTERA_FREEZE_BRIDGE) += altera-freeze-bridge.o obj-$(CONFIG_XILINX_PR_DECOUPLER) += xilinx-pr-decoupler.o # High Level Interfaces obj-$(CONFIG_FPGA_REGION) += fpga-region.o obj-$(CONFIG_OF_FPGA_REGION) += of-fpga-region.o # FPGA Device Feature List Support obj-$(CONFIG_FPGA_DFL) += dfl.o obj-$(CONFIG_FPGA_DFL_FME) += dfl-fme.o obj-$(CONFIG_FPGA_DFL_FME_MGR) += dfl-fme-mgr.o obj-$(CONFIG_FPGA_DFL_FME_BRIDGE) += dfl-fme-br.o obj-$(CONFIG_FPGA_DFL_FME_REGION) += dfl-fme-region.o obj-$(CONFIG_FPGA_DFL_AFU) += dfl-afu.o dfl-fme-objs := dfl-fme-main.o dfl-fme-pr.o dfl-fme-error.o dfl-afu-objs := dfl-afu-main.o dfl-afu-region.o dfl-afu-dma-region.o dfl-afu-objs += dfl-afu-error.o # Drivers for FPGAs which implement DFL obj-$(CONFIG_FPGA_DFL_PCI) += dfl-pci.o nubus/Makefile 0000644 00000000220 14722053666 0007345 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the nubus specific drivers. # obj-y := nubus.o bus.o obj-$(CONFIG_PROC_FS) += proc.o reset/Kconfig 0000644 00000014637 14722053666 0007217 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config ARCH_HAS_RESET_CONTROLLER bool menuconfig RESET_CONTROLLER bool "Reset Controller Support" default y if ARCH_HAS_RESET_CONTROLLER help Generic Reset Controller support. This framework is designed to abstract reset handling of devices via GPIOs or SoC-internal reset controller modules. If unsure, say no. if RESET_CONTROLLER config RESET_A10SR tristate "Altera Arria10 System Resource Reset" depends on MFD_ALTERA_A10SR help This option enables support for the external reset functions for peripheral PHYs on the Altera Arria10 System Resource Chip. config RESET_ATH79 bool "AR71xx Reset Driver" if COMPILE_TEST default ATH79 help This enables the ATH79 reset controller driver that supports the AR71xx SoC reset controller. config RESET_AXS10X bool "AXS10x Reset Driver" if COMPILE_TEST default ARC_PLAT_AXS10X help This enables the reset controller driver for AXS10x. config RESET_BERLIN bool "Berlin Reset Driver" if COMPILE_TEST default ARCH_BERLIN help This enables the reset controller driver for Marvell Berlin SoCs. config RESET_BRCMSTB tristate "Broadcom STB reset controller" depends on ARCH_BRCMSTB || COMPILE_TEST default ARCH_BRCMSTB help This enables the reset controller driver for Broadcom STB SoCs using a SUN_TOP_CTRL_SW_INIT style controller. config RESET_HSDK bool "Synopsys HSDK Reset Driver" depends on HAS_IOMEM depends on ARC_SOC_HSDK || COMPILE_TEST help This enables the reset controller driver for HSDK board. config RESET_IMX7 bool "i.MX7/8 Reset Driver" if COMPILE_TEST depends on HAS_IOMEM default SOC_IMX7D || (ARM64 && ARCH_MXC) select MFD_SYSCON help This enables the reset controller driver for i.MX7 SoCs. config RESET_LANTIQ bool "Lantiq XWAY Reset Driver" if COMPILE_TEST default SOC_TYPE_XWAY help This enables the reset controller driver for Lantiq / Intel XWAY SoCs. config RESET_LPC18XX bool "LPC18xx/43xx Reset Driver" if COMPILE_TEST default ARCH_LPC18XX help This enables the reset controller driver for NXP LPC18xx/43xx SoCs. config RESET_MESON bool "Meson Reset Driver" if COMPILE_TEST default ARCH_MESON help This enables the reset driver for Amlogic Meson SoCs. config RESET_MESON_AUDIO_ARB tristate "Meson Audio Memory Arbiter Reset Driver" depends on ARCH_MESON || COMPILE_TEST help This enables the reset driver for Audio Memory Arbiter of Amlogic's A113 based SoCs config RESET_OXNAS bool config RESET_PISTACHIO bool "Pistachio Reset Driver" if COMPILE_TEST default MACH_PISTACHIO help This enables the reset driver for ImgTec Pistachio SoCs. config RESET_QCOM_AOSS bool "Qcom AOSS Reset Driver" depends on ARCH_QCOM || COMPILE_TEST help This enables the AOSS (always on subsystem) reset driver for Qualcomm SDM845 SoCs. Say Y if you want to control reset signals provided by AOSS for Modem, Venus, ADSP, GPU, Camera, Wireless, Display subsystem. Otherwise, say N. config RESET_QCOM_PDC tristate "Qualcomm PDC Reset Driver" depends on ARCH_QCOM || COMPILE_TEST help This enables the PDC (Power Domain Controller) reset driver for Qualcomm Technologies Inc SDM845 SoCs. Say Y if you want to control reset signals provided by PDC for Modem, Compute, Display, GPU, Debug, AOP, Sensors, Audio, SP and APPS. config RESET_SCMI tristate "Reset driver controlled via ARM SCMI interface" depends on ARM_SCMI_PROTOCOL || COMPILE_TEST default ARM_SCMI_PROTOCOL help This driver provides support for reset signal/domains that are controlled by firmware that implements the SCMI interface. This driver uses SCMI Message Protocol to interact with the firmware controlling all the reset signals. config RESET_SIMPLE bool "Simple Reset Controller Driver" if COMPILE_TEST default ARCH_STM32 || ARCH_STRATIX10 || ARCH_SUNXI || ARCH_ZX || ARCH_ASPEED || ARCH_BITMAIN || ARC help This enables a simple reset controller driver for reset lines that that can be asserted and deasserted by toggling bits in a contiguous, exclusive register space. Currently this driver supports: - Altera SoCFPGAs - ASPEED BMC SoCs - RCC reset controller in STM32 MCUs - Allwinner SoCs - ZTE's zx2967 family - Bitmain BM1880 SoC config RESET_STM32MP157 bool "STM32MP157 Reset Driver" if COMPILE_TEST default MACH_STM32MP157 help This enables the RCC reset controller driver for STM32 MPUs. config RESET_SOCFPGA bool "SoCFPGA Reset Driver" if COMPILE_TEST && !ARCH_SOCFPGA default ARCH_SOCFPGA select RESET_SIMPLE help This enables the reset driver for the SoCFPGA ARMv7 platforms. This driver gets initialized early during platform init calls. config RESET_SUNXI bool "Allwinner SoCs Reset Driver" if COMPILE_TEST && !ARCH_SUNXI default ARCH_SUNXI select RESET_SIMPLE help This enables the reset driver for Allwinner SoCs. config RESET_TI_SCI tristate "TI System Control Interface (TI-SCI) reset driver" depends on TI_SCI_PROTOCOL help This enables the reset driver support over TI System Control Interface available on some new TI's SoCs. If you wish to use reset resources managed by the TI System Controller, say Y here. Otherwise, say N. config RESET_TI_SYSCON tristate "TI SYSCON Reset Driver" depends on HAS_IOMEM select MFD_SYSCON help This enables the reset driver support for TI devices with memory-mapped reset registers as part of a syscon device node. If you wish to use the reset framework for such memory-mapped devices, say Y here. Otherwise, say N. config RESET_UNIPHIER tristate "Reset controller driver for UniPhier SoCs" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF && MFD_SYSCON default ARCH_UNIPHIER help Support for reset controllers on UniPhier SoCs. Say Y if you want to control reset signals provided by System Control block, Media I/O block, Peripheral Block. config RESET_UNIPHIER_GLUE tristate "Reset driver in glue layer for UniPhier SoCs" depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF default ARCH_UNIPHIER select RESET_SIMPLE help Support for peripheral core reset included in its own glue layer on UniPhier SoCs. Say Y if you want to control reset signals provided by the glue layer. config RESET_ZYNQ bool "ZYNQ Reset Driver" if COMPILE_TEST default ARCH_ZYNQ help This enables the reset controller driver for Xilinx Zynq SoCs. source "drivers/reset/sti/Kconfig" source "drivers/reset/hisilicon/Kconfig" source "drivers/reset/tegra/Kconfig" endif reset/tegra/Kconfig 0000644 00000000125 14722053666 0010304 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config RESET_TEGRA_BPMP def_bool TEGRA_BPMP reset/tegra/Makefile 0000644 00000000127 14722053666 0010443 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_RESET_TEGRA_BPMP) += reset-bpmp.o reset/Makefile 0000644 00000002507 14722053666 0007345 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += core.o obj-y += hisilicon/ obj-$(CONFIG_ARCH_STI) += sti/ obj-$(CONFIG_ARCH_TEGRA) += tegra/ obj-$(CONFIG_RESET_A10SR) += reset-a10sr.o obj-$(CONFIG_RESET_ATH79) += reset-ath79.o obj-$(CONFIG_RESET_AXS10X) += reset-axs10x.o obj-$(CONFIG_RESET_BERLIN) += reset-berlin.o obj-$(CONFIG_RESET_BRCMSTB) += reset-brcmstb.o obj-$(CONFIG_RESET_HSDK) += reset-hsdk.o obj-$(CONFIG_RESET_IMX7) += reset-imx7.o obj-$(CONFIG_RESET_LANTIQ) += reset-lantiq.o obj-$(CONFIG_RESET_LPC18XX) += reset-lpc18xx.o obj-$(CONFIG_RESET_MESON) += reset-meson.o obj-$(CONFIG_RESET_MESON_AUDIO_ARB) += reset-meson-audio-arb.o obj-$(CONFIG_RESET_OXNAS) += reset-oxnas.o obj-$(CONFIG_RESET_PISTACHIO) += reset-pistachio.o obj-$(CONFIG_RESET_QCOM_AOSS) += reset-qcom-aoss.o obj-$(CONFIG_RESET_QCOM_PDC) += reset-qcom-pdc.o obj-$(CONFIG_RESET_SCMI) += reset-scmi.o obj-$(CONFIG_RESET_SIMPLE) += reset-simple.o obj-$(CONFIG_RESET_STM32MP157) += reset-stm32mp1.o obj-$(CONFIG_RESET_SOCFPGA) += reset-socfpga.o obj-$(CONFIG_RESET_SUNXI) += reset-sunxi.o obj-$(CONFIG_RESET_TI_SCI) += reset-ti-sci.o obj-$(CONFIG_RESET_TI_SYSCON) += reset-ti-syscon.o obj-$(CONFIG_RESET_UNIPHIER) += reset-uniphier.o obj-$(CONFIG_RESET_UNIPHIER_GLUE) += reset-uniphier-glue.o obj-$(CONFIG_RESET_ZYNQ) += reset-zynq.o obj-$(CONFIG_ARCH_ZYNQMP) += reset-zynqmp.o reset/sti/Kconfig 0000644 00000000217 14722053666 0010003 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if ARCH_STI config STI_RESET_SYSCFG bool config STIH407_RESET bool select STI_RESET_SYSCFG endif reset/sti/Makefile 0000644 00000000211 14722053666 0010132 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_STI_RESET_SYSCFG) += reset-syscfg.o obj-$(CONFIG_STIH407_RESET) += reset-stih407.o reset/hisilicon/Kconfig 0000644 00000000565 14722053666 0011173 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config COMMON_RESET_HI3660 tristate "Hi3660 Reset Driver" depends on ARCH_HISI || COMPILE_TEST default ARCH_HISI help Build the Hisilicon Hi3660 reset driver. config COMMON_RESET_HI6220 tristate "Hi6220 Reset Driver" depends on ARCH_HISI || COMPILE_TEST default ARCH_HISI help Build the Hisilicon Hi6220 reset driver. reset/hisilicon/Makefile 0000644 00000000220 14722053666 0011314 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_COMMON_RESET_HI6220) += hi6220_reset.o obj-$(CONFIG_COMMON_RESET_HI3660) += reset-hi3660.o gpio/Kconfig 0000644 00000126065 14722053666 0007032 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # GPIO infrastructure and drivers # config ARCH_HAVE_CUSTOM_GPIO_H bool help Selecting this config option from the architecture Kconfig allows the architecture to provide a custom asm/gpio.h implementation overriding the default implementations. New uses of this are strongly discouraged. menuconfig GPIOLIB bool "GPIO Support" help This enables GPIO support through the generic GPIO library. You only need to enable this, if you also want to enable one or more of the GPIO drivers below. If unsure, say N. if GPIOLIB config GPIOLIB_FASTPATH_LIMIT int "Maximum number of GPIOs for fast path" range 32 512 default 512 help This adjusts the point at which certain APIs will switch from using a stack allocated buffer to a dynamically allocated buffer. You shouldn't need to change this unless you really need to optimize either stack space or performance. Change this carefully since setting an incorrect value could cause stack corruption. config OF_GPIO def_bool y depends on OF depends on HAS_IOMEM config GPIO_ACPI def_bool y depends on ACPI config GPIOLIB_IRQCHIP select IRQ_DOMAIN bool config DEBUG_GPIO bool "Debug GPIO calls" depends on DEBUG_KERNEL help Say Y here to add some extra checks and diagnostics to GPIO calls. These checks help ensure that GPIOs have been properly initialized before they are used, and that sleeping calls are not made from non-sleeping contexts. They can make bitbanged serial protocols slower. The diagnostics help catch the type of setup errors that are most common when setting up new platforms or boards. config GPIO_SYSFS bool "/sys/class/gpio/... (sysfs interface)" depends on SYSFS help Say Y here to add the legacy sysfs interface for GPIOs. This ABI is deprecated. If you want to use GPIO from userspace, use the character device /dev/gpiochipN with the appropriate ioctl() operations instead. The character device is always available. config GPIO_GENERIC depends on HAS_IOMEM # Only for IOMEM drivers tristate # put drivers in the right section, in alphabetical order # This symbol is selected by both I2C and SPI expanders config GPIO_MAX730X tristate menu "Memory mapped GPIO drivers" depends on HAS_IOMEM config GPIO_74XX_MMIO tristate "GPIO driver for 74xx-ICs with MMIO access" depends on OF_GPIO select GPIO_GENERIC help Say yes here to support GPIO functionality for 74xx-compatible ICs with MMIO access. Compatible models include: 1 bit: 741G125 (Input), 741G74 (Output) 2 bits: 742G125 (Input), 7474 (Output) 4 bits: 74125 (Input), 74175 (Output) 6 bits: 74365 (Input), 74174 (Output) 8 bits: 74244 (Input), 74273 (Output) 16 bits: 741624 (Input), 7416374 (Output) config GPIO_ALTERA tristate "Altera GPIO" depends on OF_GPIO select GPIOLIB_IRQCHIP help Say Y or M here to build support for the Altera PIO device. If driver is built as a module it will be called gpio-altera. config GPIO_AMDPT tristate "AMD Promontory GPIO support" depends on ACPI select GPIO_GENERIC help driver for GPIO functionality on Promontory IOHub Require ACPI ASL code to enumerate as a platform device. config GPIO_ASPEED tristate "Aspeed GPIO support" depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO select GPIOLIB_IRQCHIP help Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers. config GPIO_ATH79 tristate "Atheros AR71XX/AR724X/AR913X GPIO support" default y if ATH79 depends on ATH79 || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Select this option to enable GPIO driver for Atheros AR71XX/AR724X/AR913X SoC devices. config GPIO_RASPBERRYPI_EXP tristate "Raspberry Pi 3 GPIO Expander" default RASPBERRYPI_FIRMWARE depends on OF_GPIO # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) help Turn on GPIO support for the expander on Raspberry Pi 3 boards, using the firmware mailbox to communicate with VideoCore on BCM283x chips. config GPIO_BCM_KONA bool "Broadcom Kona GPIO" depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) help Turn on GPIO support for Broadcom "Kona" chips. config GPIO_BRCMSTB tristate "BRCMSTB GPIO support" default y if (ARCH_BRCMSTB || BMIPS_GENERIC) depends on OF_GPIO && (ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST) select GPIO_GENERIC select IRQ_DOMAIN help Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. config GPIO_CADENCE tristate "Cadence GPIO support" depends on OF_GPIO select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say yes here to enable support for Cadence GPIO controller. config GPIO_CLPS711X tristate "CLPS711X GPIO support" depends on ARCH_CLPS711X || COMPILE_TEST select GPIO_GENERIC help Say yes here to support GPIO on CLPS711X SoCs. config GPIO_DAVINCI bool "TI Davinci/Keystone GPIO support" default y if ARCH_DAVINCI depends on (ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3) help Say yes here to enable GPIO support for TI Davinci/Keystone SoCs. config GPIO_DWAPB tristate "Synopsys DesignWare APB GPIO driver" select GPIO_GENERIC select GENERIC_IRQ_CHIP help Say Y or M here to build support for the Synopsys DesignWare APB GPIO block. config GPIO_EIC_SPRD tristate "Spreadtrum EIC support" depends on ARCH_SPRD || COMPILE_TEST depends on OF_GPIO select GPIOLIB_IRQCHIP help Say yes here to support Spreadtrum EIC device. config GPIO_EM tristate "Emma Mobile GPIO" depends on (ARCH_EMEV2 || COMPILE_TEST) && OF_GPIO help Say yes here to support GPIO on Renesas Emma Mobile SoCs. config GPIO_EP93XX def_bool y depends on ARCH_EP93XX select GPIO_GENERIC select GPIOLIB_IRQCHIP config GPIO_EXAR tristate "Support for GPIO pins on XR17V352/354/358" depends on SERIAL_8250_EXAR help Selecting this option will enable handling of GPIO pins present on Exar XR17V352/354/358 chips. config GPIO_GE_FPGA bool "GE FPGA based GPIO" depends on GE_FPGA select GPIO_GENERIC help Support for common GPIO functionality provided on some GE Single Board Computers. This driver provides basic support (configure as input or output, read and write pin state) for GPIO implemented in a number of GE single board computers. config GPIO_FTGPIO010 bool "Faraday FTGPIO010 GPIO" depends on OF_GPIO select GPIO_GENERIC select GPIOLIB_IRQCHIP default (ARCH_GEMINI || ARCH_MOXART) help Support for common GPIOs from the Faraday FTGPIO010 IP core, found in Cortina systems Gemini platforms, Moxa ART and others. config GPIO_GENERIC_PLATFORM tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" select GPIO_GENERIC help Say yes here to support basic platform_device memory-mapped GPIO controllers. config GPIO_GRGPIO tristate "Aeroflex Gaisler GRGPIO support" depends on OF_GPIO select GPIO_GENERIC select IRQ_DOMAIN help Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB VHDL IP core library. config GPIO_HLWD tristate "Nintendo Wii (Hollywood) GPIO" depends on OF_GPIO select GPIO_GENERIC select GPIOLIB_IRQCHIP help Select this to support the GPIO controller of the Nintendo Wii. If unsure, say N. config GPIO_ICH tristate "Intel ICH GPIO" depends on PCI && X86 select MFD_CORE select LPC_ICH help Say yes here to support the GPIO functionality of a number of Intel ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). If unsure, say N. config GPIO_IOP tristate "Intel IOP GPIO" depends on ARCH_IOP32X || COMPILE_TEST select GPIO_GENERIC help Say yes here to support the GPIO functionality of a number of Intel IOP32X or IOP33X. If unsure, say N. config GPIO_IXP4XX bool "Intel IXP4xx GPIO" depends on ARM # For <asm/mach-types.h> depends on ARCH_IXP4XX select GPIO_GENERIC select GPIOLIB_IRQCHIP select IRQ_DOMAIN_HIERARCHY help Say yes here to support the GPIO functionality of a number of Intel IXP4xx series of chips. If unsure, say N. config GPIO_LOONGSON bool "Loongson-2/3 GPIO support" depends on CPU_LOONGSON2 || CPU_LOONGSON3 help driver for GPIO functionality on Loongson-2F/3A/3B processors. config GPIO_LPC18XX tristate "NXP LPC18XX/43XX GPIO support" default y if ARCH_LPC18XX depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST) select IRQ_DOMAIN_HIERARCHY help Select this option to enable GPIO driver for NXP LPC18XX/43XX devices. config GPIO_LPC32XX tristate "NXP LPC32XX GPIO support" depends on OF_GPIO && (ARCH_LPC32XX || COMPILE_TEST) help Select this option to enable GPIO driver for NXP LPC32XX devices. config GPIO_LYNXPOINT tristate "Intel Lynxpoint GPIO support" depends on ACPI && X86 select GPIOLIB_IRQCHIP help driver for GPIO functionality on Intel Lynxpoint PCH chipset Requires ACPI device enumeration code to set up a platform device. config GPIO_MB86S7X tristate "GPIO support for Fujitsu MB86S7x Platforms" help Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs. config GPIO_MENZ127 tristate "MEN 16Z127 GPIO support" depends on MCB select GPIO_GENERIC help Say yes here to support the MEN 16Z127 GPIO Controller config GPIO_MM_LANTIQ bool "Lantiq Memory mapped GPIOs" depends on LANTIQ && SOC_XWAY help This enables support for memory mapped GPIOs on the External Bus Unit (EBU) found on Lantiq SoCs. The gpios are output only as they are created by attaching a 16bit latch to the bus. config GPIO_MPC5200 def_bool y depends on PPC_MPC52xx config GPIO_MPC8XXX bool "MPC512x/MPC8xxx/QorIQ GPIO support" depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \ FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \ COMPILE_TEST select GPIO_GENERIC select IRQ_DOMAIN help Say Y here if you're going to use hardware that connects to the MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs. config GPIO_MT7621 bool "Mediatek MT7621 GPIO Support" depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST depends on OF_GPIO select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say yes here to support the Mediatek MT7621 SoC GPIO device config GPIO_MVEBU def_bool y depends on PLAT_ORION || ARCH_MVEBU depends on OF_GPIO select GENERIC_IRQ_CHIP select REGMAP_MMIO config GPIO_MXC def_bool y depends on ARCH_MXC select GPIO_GENERIC select GENERIC_IRQ_CHIP config GPIO_MXS def_bool y depends on ARCH_MXS select GPIO_GENERIC select GENERIC_IRQ_CHIP config GPIO_OCTEON tristate "Cavium OCTEON GPIO" depends on GPIOLIB && CAVIUM_OCTEON_SOC default y help Say yes here to support the on-chip GPIO lines on the OCTEON family of SOCs. config GPIO_OMAP tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST default y if ARCH_OMAP depends on ARM select GENERIC_IRQ_CHIP select GPIOLIB_IRQCHIP help Say yes here to enable GPIO support for TI OMAP SoCs. config GPIO_PL061 bool "PrimeCell PL061 GPIO support" depends on ARM_AMBA select IRQ_DOMAIN select GPIOLIB_IRQCHIP help Say yes here to support the PrimeCell PL061 GPIO device config GPIO_PMIC_EIC_SPRD tristate "Spreadtrum PMIC EIC support" depends on MFD_SC27XX_PMIC || COMPILE_TEST depends on OF_GPIO select GPIOLIB_IRQCHIP help Say yes here to support Spreadtrum PMIC EIC device. config GPIO_PXA bool "PXA GPIO support" depends on ARCH_PXA || ARCH_MMP help Say yes here to support the PXA GPIO device config GPIO_RCAR tristate "Renesas R-Car GPIO" depends on ARCH_RENESAS || COMPILE_TEST select GPIOLIB_IRQCHIP help Say yes here to support GPIO on Renesas R-Car SoCs. config GPIO_REG bool help A 32-bit single register GPIO fixed in/out implementation. This can be used to represent any register as a set of GPIO signals. config GPIO_SAMA5D2_PIOBU tristate "SAMA5D2 PIOBU GPIO support" depends on MFD_SYSCON depends on OF_GPIO select GPIO_SYSCON help Say yes here to use the PIOBU pins as GPIOs. PIOBU pins on the SAMA5D2 can be used as GPIOs. The difference from regular GPIOs is that they maintain their value during backup/self-refresh. config GPIO_SIOX tristate "SIOX GPIO support" depends on SIOX select GPIOLIB_IRQCHIP help Say yes here to support SIOX I/O devices. These are units connected via a SIOX bus and have a number of fixed-direction I/O lines. config GPIO_SNPS_CREG bool "Synopsys GPIO via CREG (Control REGisters) driver" depends on ARC || COMPILE_TEST depends on OF_GPIO help This driver supports GPIOs via CREG on various Synopsys SoCs. This is a single-register MMIO GPIO driver for complex cases where only several fields in register belong to GPIO lines and each GPIO line owns a field with different length and on/off value. config GPIO_SPEAR_SPICS bool "ST SPEAr13xx SPI Chip Select as GPIO support" depends on PLAT_SPEAR select GENERIC_IRQ_CHIP help Say yes here to support ST SPEAr SPI Chip Select as GPIO device config GPIO_SPRD tristate "Spreadtrum GPIO support" depends on ARCH_SPRD || COMPILE_TEST depends on OF_GPIO select GPIOLIB_IRQCHIP help Say yes here to support Spreadtrum GPIO device. config GPIO_STA2X11 bool "STA2x11/ConneXt GPIO support" depends on MFD_STA2X11 select GENERIC_IRQ_CHIP help Say yes here to support the STA2x11/ConneXt GPIO device. The GPIO module has 128 GPIO pins with alternate functions. config GPIO_STP_XWAY bool "XWAY STP GPIOs" depends on SOC_XWAY || COMPILE_TEST depends on OF_GPIO help This enables support for the Serial To Parallel (STP) unit found on XWAY SoC. The STP allows the SoC to drive a shift registers cascade, that can be up to 24 bit. This peripheral is aimed at driving leds. Some of the gpios/leds can be auto updated by the soc with dsl and phy status. config GPIO_SYSCON tristate "GPIO based on SYSCON" depends on MFD_SYSCON && OF help Say yes here to support GPIO functionality though SYSCON driver. config GPIO_TB10X bool select GPIO_GENERIC select GENERIC_IRQ_CHIP select OF_GPIO config GPIO_TEGRA bool "NVIDIA Tegra GPIO support" default ARCH_TEGRA depends on ARCH_TEGRA || COMPILE_TEST depends on OF_GPIO help Say yes here to support GPIO pins on NVIDIA Tegra SoCs. config GPIO_TEGRA186 tristate "NVIDIA Tegra186 GPIO support" default ARCH_TEGRA_186_SOC depends on ARCH_TEGRA_186_SOC || COMPILE_TEST depends on OF_GPIO select GPIOLIB_IRQCHIP help Say yes here to support GPIO pins on NVIDIA Tegra186 SoCs. config GPIO_TS4800 tristate "TS-4800 DIO blocks and compatibles" depends on OF_GPIO depends on SOC_IMX51 || COMPILE_TEST select GPIO_GENERIC help This driver support TS-4800 FPGA GPIO controllers. config GPIO_THUNDERX tristate "Cavium ThunderX/OCTEON-TX GPIO" depends on ARCH_THUNDER || (64BIT && COMPILE_TEST) depends on PCI_MSI select IRQ_DOMAIN_HIERARCHY select IRQ_FASTEOI_HIERARCHY_HANDLERS help Say yes here to support the on-chip GPIO lines on the ThunderX and OCTEON-TX families of SoCs. config GPIO_UNIPHIER tristate "UniPhier GPIO support" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF_GPIO select IRQ_DOMAIN_HIERARCHY help Say yes here to support UniPhier GPIOs. config GPIO_VF610 def_bool y depends on ARCH_MXC && SOC_VF610 select GPIOLIB_IRQCHIP help Say yes here to support Vybrid vf610 GPIOs. config GPIO_VR41XX tristate "NEC VR4100 series General-purpose I/O Uint support" depends on CPU_VR41XX help Say yes here to support the NEC VR4100 series General-purpose I/O Uint config GPIO_VX855 tristate "VIA VX855/VX875 GPIO" depends on (X86 || COMPILE_TEST) && PCI select MFD_CORE select MFD_VX855 help Support access to the VX855/VX875 GPIO lines through the gpio library. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config GPIO_XGENE bool "APM X-Gene GPIO controller support" depends on ARM64 && OF_GPIO help This driver is to support the GPIO block within the APM X-Gene SoC platform's generic flash controller. The GPIO pins are muxed with the generic flash controller's address and data pins. Say yes here to enable the GFC GPIO functionality. config GPIO_XGENE_SB tristate "APM X-Gene GPIO standby controller support" depends on ARCH_XGENE && OF_GPIO select GPIO_GENERIC select GPIOLIB_IRQCHIP select IRQ_DOMAIN_HIERARCHY help This driver supports the GPIO block within the APM X-Gene Standby Domain. Say yes here to enable the GPIO functionality. config GPIO_XILINX tristate "Xilinx GPIO support" help Say yes here to support the Xilinx FPGA GPIO device config GPIO_XLP tristate "Netlogic XLP GPIO support" depends on OF_GPIO && (CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST) select GPIOLIB_IRQCHIP help This driver provides support for GPIO interface on Netlogic XLP MIPS64 SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX, XLP9XX and XLP5XX. The same GPIO controller block is also present in Cavium's ThunderX2 CN99XX SoCs. If unsure, say N. config GPIO_XTENSA bool "Xtensa GPIO32 support" depends on XTENSA depends on HAVE_XTENSA_GPIO32 depends on !SMP help Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input) and EXPSTATE (output) ports config GPIO_ZEVIO bool "LSI ZEVIO SoC memory mapped GPIOs" depends on ARM && OF_GPIO help Say yes here to support the GPIO controller in LSI ZEVIO SoCs. config GPIO_ZYNQ tristate "Xilinx Zynq GPIO support" depends on ARCH_ZYNQ || ARCH_ZYNQMP select GPIOLIB_IRQCHIP help Say yes here to support Xilinx Zynq GPIO controller. config GPIO_ZX bool "ZTE ZX GPIO support" depends on ARCH_ZX || COMPILE_TEST select GPIOLIB_IRQCHIP help Say yes here to support the GPIO device on ZTE ZX SoCs. config GPIO_LOONGSON1 tristate "Loongson1 GPIO support" depends on MACH_LOONGSON32 select GPIO_GENERIC help Say Y or M here to support GPIO on Loongson1 SoCs. config GPIO_AMD_FCH tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)" help This option enables driver for GPIO on AMDs Fusion Controller Hub, as found on G-series SOCs (eg. GX-412TC) Note: This driver doesn't registers itself automatically, as it needs to be provided with platform specific configuration. (See eg. CONFIG_PCENGINES_APU2.) endmenu menu "Port-mapped I/O GPIO drivers" depends on X86 # Unconditional I/O space access config GPIO_104_DIO_48E tristate "ACCES 104-DIO-48E GPIO support" depends on PC104 select ISA_BUS_API select GPIOLIB_IRQCHIP help Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E, 104-DIO-24E). The base port addresses for the devices may be configured via the base module parameter. The interrupt line numbers for the devices may be configured via the irq module parameter. config GPIO_104_IDIO_16 tristate "ACCES 104-IDIO-16 GPIO support" depends on PC104 select ISA_BUS_API select GPIOLIB_IRQCHIP help Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16, 104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The base port addresses for the devices may be configured via the base module parameter. The interrupt line numbers for the devices may be configured via the irq module parameter. config GPIO_104_IDI_48 tristate "ACCES 104-IDI-48 GPIO support" depends on PC104 select ISA_BUS_API select GPIOLIB_IRQCHIP help Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A, 104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for the devices may be configured via the base module parameter. The interrupt line numbers for the devices may be configured via the irq module parameter. config GPIO_F7188X tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support" help This option enables support for GPIOs found on Fintek Super-I/O chips F71869, F71869A, F71882FG, F71889F and F81866. To compile this driver as a module, choose M here: the module will be called f7188x-gpio. config GPIO_GPIO_MM tristate "Diamond Systems GPIO-MM GPIO support" depends on PC104 select ISA_BUS_API help Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12. The Diamond Systems GPIO-MM device features 48 lines of digital I/O via the emulation of dual 82C55A PPI chips. This driver provides GPIO support for these 48 channels of digital I/O. The base port addresses for the devices may be configured via the base array module parameter. config GPIO_IT87 tristate "IT87xx GPIO support" help Say yes here to support GPIO functionality of IT87xx Super I/O chips. This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as well. To compile this driver as a module, choose M here: the module will be called gpio_it87 config GPIO_SCH tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO" depends on (X86 || COMPILE_TEST) && PCI select MFD_CORE select LPC_SCH help Say yes here to support GPIO interface on Intel Poulsbo SCH, Intel Tunnel Creek processor, Intel Centerton processor or Intel Quark X1000 SoC. The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are powered by the core power rail and are turned off during sleep modes (S3 and higher). The remaining four GPIOs are powered by the Intel SCH suspend power supply. These GPIOs remain active during S3. The suspend powered GPIOs can be used to wake the system from the Suspend-to-RAM state. The Intel Tunnel Creek processor has 5 GPIOs powered by the core power rail and 9 from suspend power supply. The Intel Centerton processor has a total of 30 GPIO pins. Twenty-one are powered by the core power rail and 9 from the suspend power supply. The Intel Quark X1000 SoC has 2 GPIOs powered by the core power well and 6 from the suspend power well. config GPIO_SCH311X tristate "SMSC SCH311x SuperI/O GPIO" help Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and SCH3116 "Super I/O" chipsets. To compile this driver as a module, choose M here: the module will be called gpio-sch311x. config GPIO_TS5500 tristate "TS-5500 DIO blocks and compatibles" depends on TS5500 || COMPILE_TEST help This driver supports Digital I/O exposed by pin blocks found on some Technologic Systems platforms. It includes, but is not limited to, 3 blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600 LCD port. config GPIO_WINBOND tristate "Winbond Super I/O GPIO support" select ISA_BUS_API help This option enables support for GPIOs found on Winbond Super I/O chips. Currently, only W83627UHG (also known as Nuvoton NCT6627UD) is supported. You will need to provide a module parameter "gpios", or a boot-time parameter "gpio_winbond.gpios" with a bitmask of GPIO ports to enable (bit 0 is GPIO1, bit 1 is GPIO2, etc.). To compile this driver as a module, choose M here: the module will be called gpio-winbond. config GPIO_WS16C48 tristate "WinSystems WS16C48 GPIO support" select ISA_BUS_API select GPIOLIB_IRQCHIP help Enables GPIO support for the WinSystems WS16C48. The base port addresses for the devices may be configured via the base module parameter. The interrupt line numbers for the devices may be configured via the irq module parameter. endmenu menu "I2C GPIO expanders" depends on I2C config GPIO_ADP5588 tristate "ADP5588 I2C GPIO expander" help This option enables support for 18 GPIOs found on Analog Devices ADP5588 GPIO Expanders. config GPIO_ADP5588_IRQ bool "Interrupt controller support for ADP5588" depends on GPIO_ADP5588=y select GPIOLIB_IRQCHIP help Say yes here to enable the adp5588 to be used as an interrupt controller. It requires the driver to be built in the kernel. config GPIO_ADNP tristate "Avionic Design N-bit GPIO expander" depends on OF_GPIO select GPIOLIB_IRQCHIP help This option enables support for N GPIOs found on Avionic Design I2C GPIO expanders. The register space will be extended by powers of two, so the controller will need to accommodate for that. For example: if a controller provides 48 pins, 6 registers will be enough to represent all pins, but the driver will assume a register layout for 64 pins (8 registers). config GPIO_GW_PLD tristate "Gateworks PLD GPIO Expander" depends on OF_GPIO help Say yes here to provide access to the Gateworks I2C PLD GPIO Expander. This is used at least on the Cambria GW2358-4. config GPIO_MAX7300 tristate "Maxim MAX7300 GPIO expander" select GPIO_MAX730X help GPIO driver for Maxim MAX7300 I2C-based GPIO expander. config GPIO_MAX732X tristate "MAX7319, MAX7320-7327 I2C Port Expanders" help Say yes here to support the MAX7319, MAX7320-7327 series of I2C Port Expanders. Each IO port on these chips has a fixed role of Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain Input and Output (designed by 'P'). The combinations are listed below: 8 bits: max7319 (8I), max7320 (8O), max7321 (8P), max7322 (4I4O), max7323 (4P4O) 16 bits: max7324 (8I8O), max7325 (8P8O), max7326 (4I12O), max7327 (4P12O) Board setup code must specify the model to use, and the start number for these GPIOs. config GPIO_MAX732X_IRQ bool "Interrupt controller support for MAX732x" depends on GPIO_MAX732X=y select GPIOLIB_IRQCHIP help Say yes here to enable the max732x to be used as an interrupt controller. It requires the driver to be built in the kernel. config GPIO_MC9S08DZ60 bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions" depends on I2C=y && MACH_MX35_3DS help Select this to enable the MC9S08DZ60 GPIO driver config GPIO_PCA953X tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports" select REGMAP_I2C help Say yes here to provide access to several register-oriented SMBus I/O expanders, made mostly by NXP or TI. Compatible models include: 4 bits: pca9536, pca9537 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, pca9556, pca9557, pca9574, tca6408, tca9554, xra1202 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, tca6416 24 bits: tca6424 40 bits: pca9505, pca9698 config GPIO_PCA953X_IRQ bool "Interrupt controller support for PCA953x" depends on GPIO_PCA953X=y select GPIOLIB_IRQCHIP help Say yes here to enable the pca953x to be used as an interrupt controller. It requires the driver to be built in the kernel. config GPIO_PCF857X tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders" select GPIOLIB_IRQCHIP select IRQ_DOMAIN help Say yes here to provide access to most "quasi-bidirectional" I2C GPIO expanders used for additional digital outputs or inputs. Most of these parts are from NXP, though TI is a second source for some of them. Compatible models include: 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, pca9670, pca9672, pca9674, pca9674a, max7328, max7329 16 bits: pcf8575, pcf8575c, pca8575, pca9671, pca9673, pca9675 Your board setup code will need to declare the expanders in use, and assign numbers to the GPIOs they expose. Those GPIOs can then be used from drivers and other kernel code, just like other GPIOs, but only accessible from task contexts. This driver provides an in-kernel interface to those GPIOs using platform-neutral GPIO calls. config GPIO_TPIC2810 tristate "TPIC2810 8-Bit I2C GPO expander" help Say yes here to enable the GPO driver for the TI TPIC2810 chip. To compile this driver as a module, choose M here: the module will be called gpio-tpic2810. config GPIO_TS4900 tristate "Technologic Systems FPGA I2C GPIO" depends on SOC_IMX6 || COMPILE_TEST select REGMAP_I2C help Say yes here to enabled the GPIO driver for Technologic's FPGA core. Series supported include TS-4100, TS-4900, TS-7970 and TS-7990. endmenu menu "MFD GPIO expanders" config GPIO_ADP5520 tristate "GPIO Support for ADP5520 PMIC" depends on PMIC_ADP5520 help This option enables support for on-chip GPIO found on Analog Devices ADP5520 PMICs. config GPIO_ALTERA_A10SR tristate "Altera Arria10 System Resource GPIO" depends on MFD_ALTERA_A10SR help Driver for Arria10 Development Kit GPIO expansion which includes reads of pushbuttons and DIP switches as well as writes to LEDs. config GPIO_ARIZONA tristate "Wolfson Microelectronics Arizona class devices" depends on MFD_ARIZONA help Support for GPIOs on Wolfson Arizona class devices. config GPIO_BD70528 tristate "ROHM BD70528 GPIO support" depends on MFD_ROHM_BD70528 help Support for GPIOs on ROHM BD70528 PMIC. There are four GPIOs available on the ROHM PMIC in total. The GPIOs can also generate interrupts. This driver can also be built as a module. If so, the module will be called gpio-bd70528. config GPIO_BD9571MWV tristate "ROHM BD9571 GPIO support" depends on MFD_BD9571MWV help Support for GPIOs on ROHM BD9571 PMIC. There are two GPIOs available on the ROHM PMIC in total, both of which can also generate interrupts. This driver can also be built as a module. If so, the module will be called gpio-bd9571mwv. config GPIO_CRYSTAL_COVE tristate "GPIO support for Crystal Cove PMIC" depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC select GPIOLIB_IRQCHIP help Support for GPIO pins on Crystal Cove PMIC. Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC inside. This driver can also be built as a module. If so, the module will be called gpio-crystalcove. config GPIO_CS5535 tristate "AMD CS5535/CS5536 GPIO support" depends on X86 || MIPS || COMPILE_TEST depends on MFD_CS5535 help The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that can be used for quite a number of things. The CS5535/6 is found on AMD Geode and Lemote Yeeloong devices. If unsure, say N. config GPIO_DA9052 tristate "Dialog DA9052 GPIO" depends on PMIC_DA9052 help Say yes here to enable the GPIO driver for the DA9052 chip. config GPIO_DA9055 tristate "Dialog Semiconductor DA9055 GPIO" depends on MFD_DA9055 help Say yes here to enable the GPIO driver for the DA9055 chip. The Dialog DA9055 PMIC chip has 3 GPIO pins that can be be controller by this driver. If driver is built as a module it will be called gpio-da9055. config GPIO_DLN2 tristate "Diolan DLN2 GPIO support" depends on MFD_DLN2 select GPIOLIB_IRQCHIP help Select this option to enable GPIO driver for the Diolan DLN2 board. This driver can also be built as a module. If so, the module will be called gpio-dln2. config HTC_EGPIO bool "HTC EGPIO support" depends on GPIOLIB && ARM help This driver supports the CPLD egpio chip present on several HTC phones. It provides basic support for input pins, output pins, and irqs. config GPIO_JANZ_TTL tristate "Janz VMOD-TTL Digital IO Module" depends on MFD_JANZ_CMODIO help This enables support for the Janz VMOD-TTL Digital IO module. This driver provides support for driving the pins in output mode only. Input mode is not supported. config GPIO_KEMPLD tristate "Kontron ETX / COMexpress GPIO" depends on MFD_KEMPLD help This enables support for the PLD GPIO interface on some Kontron ETX and COMexpress (ETXexpress) modules. This driver can also be built as a module. If so, the module will be called gpio-kempld. config GPIO_LP3943 tristate "TI/National Semiconductor LP3943 GPIO expander" depends on MFD_LP3943 help GPIO driver for LP3943 MFD. LP3943 can be used as a GPIO expander which provides up to 16 GPIOs. Open drain outputs are required for this usage. config GPIO_LP873X tristate "TI LP873X GPO" depends on MFD_TI_LP873X help This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present on LP873X PMICs. This driver can also be built as a module. If so, the module will be called gpio-lp873x. config GPIO_LP87565 tristate "TI LP87565 GPIO" depends on MFD_TI_LP87565 help This driver supports the GPIO on TI Lp873565 PMICs. 3 GPIOs are present on LP87565 PMICs. This driver can also be built as a module. If so, the module will be called gpio-lp87565. config GPIO_MADERA tristate "Cirrus Logic Madera class codecs" depends on PINCTRL_MADERA help Support for GPIOs on Cirrus Logic Madera class codecs. config GPIO_MAX77620 tristate "GPIO support for PMIC MAX77620 and MAX20024" depends on MFD_MAX77620 select GPIOLIB_IRQCHIP help GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor. MAX77620 PMIC has 8 pins that can be configured as GPIOs. The driver also provides interrupt support for each of the gpios. Say yes here to enable the max77620 to be used as gpio controller. config GPIO_MAX77650 tristate "Maxim MAX77650/77651 GPIO support" depends on MFD_MAX77650 help GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor. These chips have a single pin that can be configured as GPIO. config GPIO_MSIC bool "Intel MSIC mixed signal gpio support" depends on (X86 || COMPILE_TEST) && MFD_INTEL_MSIC help Enable support for GPIO on intel MSIC controllers found in intel MID devices config GPIO_PALMAS bool "TI PALMAS series PMICs GPIO" depends on MFD_PALMAS help Select this option to enable GPIO driver for the TI PALMAS series chip family. config GPIO_RC5T583 bool "RICOH RC5T583 GPIO" depends on MFD_RC5T583 help Select this option to enable GPIO driver for the Ricoh RC5T583 chip family. This driver provides the support for driving/reading the gpio pins of RC5T583 device through standard gpio library. config GPIO_STMPE bool "STMPE GPIOs" depends on MFD_STMPE depends on OF_GPIO select GPIOLIB_IRQCHIP help This enables support for the GPIOs found on the STMPE I/O Expanders. config GPIO_TC3589X bool "TC3589X GPIOs" depends on MFD_TC3589X depends on OF_GPIO select GPIOLIB_IRQCHIP help This enables support for the GPIOs found on the TC3589X I/O Expander. config GPIO_TIMBERDALE bool "Support for timberdale GPIO IP" depends on MFD_TIMBERDALE ---help--- Add support for the GPIO IP in the timberdale FPGA. config GPIO_TPS65086 tristate "TI TPS65086 GPO" depends on MFD_TPS65086 help This driver supports the GPO on TI TPS65086x PMICs. config GPIO_TPS65218 tristate "TPS65218 GPIO" depends on MFD_TPS65218 help Select this option to enable GPIO driver for the TPS65218 chip family. config GPIO_TPS6586X bool "TPS6586X GPIO" depends on MFD_TPS6586X help Select this option to enable GPIO driver for the TPS6586X chip family. config GPIO_TPS65910 bool "TPS65910 GPIO" depends on MFD_TPS65910 help Select this option to enable GPIO driver for the TPS65910 chip family. config GPIO_TPS65912 tristate "TI TPS65912 GPIO" depends on MFD_TPS65912 help This driver supports TPS65912 gpio chip config GPIO_TPS68470 bool "TPS68470 GPIO" depends on MFD_TPS68470 help Select this option to enable GPIO driver for the TPS68470 chip family. There are 7 GPIOs and few sensor related GPIOs supported by the TPS68470. While the 7 GPIOs can be configured as input or output as appropriate, the sensor related GPIOs are "output only" GPIOs. This driver config is bool, as the GPIO functionality of the TPS68470 must be available before dependent drivers are loaded. config GPIO_TQMX86 tristate "TQ-Systems TQMx86 GPIO" depends on MFD_TQMX86 || COMPILE_TEST depends on HAS_IOPORT_MAP select GPIOLIB_IRQCHIP help This driver supports GPIO on the TQMX86 IO controller. config GPIO_TWL4030 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs" depends on TWL4030_CORE help Say yes here to access the GPIO signals of various multi-function power management chips from Texas Instruments. config GPIO_TWL6040 tristate "TWL6040 GPO" depends on TWL6040_CORE help Say yes here to access the GPO signals of twl6040 audio chip from Texas Instruments. config GPIO_UCB1400 tristate "Philips UCB1400 GPIO" depends on UCB1400_CORE help This enables support for the Philips UCB1400 GPIO pins. The UCB1400 is an AC97 audio codec. config GPIO_WHISKEY_COVE tristate "GPIO support for Whiskey Cove PMIC" depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC select GPIOLIB_IRQCHIP help Support for GPIO pins on Whiskey Cove PMIC. Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC inside. This driver can also be built as a module. If so, the module will be called gpio-wcove. config GPIO_WM831X tristate "WM831x GPIOs" depends on MFD_WM831X help Say yes here to access the GPIO signals of WM831x power management chips from Wolfson Microelectronics. config GPIO_WM8350 tristate "WM8350 GPIOs" depends on MFD_WM8350 help Say yes here to access the GPIO signals of WM8350 power management chips from Wolfson Microelectronics. config GPIO_WM8994 tristate "WM8994 GPIOs" depends on MFD_WM8994 help Say yes here to access the GPIO signals of WM8994 audio hub CODECs from Wolfson Microelectronics. endmenu menu "PCI GPIO expanders" depends on PCI config GPIO_AMD8111 tristate "AMD 8111 GPIO driver" depends on X86 || COMPILE_TEST depends on HAS_IOPORT_MAP help The AMD 8111 south bridge contains 32 GPIO pins which can be used. Note, that usually system firmware/ACPI handles GPIO pins on their own and users might easily break their systems with uncarefull usage of this driver! If unsure, say N config GPIO_BT8XX tristate "BT8XX GPIO abuser" depends on VIDEO_BT848=n help The BT8xx frame grabber chip has 24 GPIO pins that can be abused as a cheap PCI GPIO card. This chip can be found on Miro, Hauppauge and STB TV-cards. The card needs to be physically altered for using it as a GPIO card. For more information on how to build a GPIO card from a BT8xx TV card, see the documentation file at Documentation/driver-api/bt8xxgpio.rst If unsure, say N. config GPIO_INTEL_MID bool "Intel MID GPIO support" depends on X86_INTEL_MID select GPIOLIB_IRQCHIP help Say Y here to support Intel MID GPIO. config GPIO_MERRIFIELD tristate "Intel Merrifield GPIO support" depends on X86_INTEL_MID select GPIOLIB_IRQCHIP help Say Y here to support Intel Merrifield GPIO. config GPIO_MLXBF tristate "Mellanox BlueField SoC GPIO" depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) select GPIO_GENERIC help Say Y here if you want GPIO support on Mellanox BlueField SoC. config GPIO_ML_IOH tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support" depends on X86 || COMPILE_TEST select GENERIC_IRQ_CHIP help ML7213 is companion chip for Intel Atom E6xx series. This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output Hub) which is for IVI(In-Vehicle Infotainment) use. This driver can access the IOH's GPIO device. config GPIO_PCH tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO" depends on X86_32 || MIPS || COMPILE_TEST select GENERIC_IRQ_CHIP help This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded processor. This driver can access PCH GPIO device. This driver also can be used for LAPIS Semiconductor IOH(Input/ Output Hub), ML7223 and ML7831. ML7223 IOH is for MP(Media Phone) use. ML7831 IOH is for general purpose use. ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7223/ML7831 is completely compatible for Intel EG20T PCH. config GPIO_PCI_IDIO_16 tristate "ACCES PCI-IDIO-16 GPIO support" select GPIOLIB_IRQCHIP help Enables GPIO support for the ACCES PCI-IDIO-16. An interrupt is generated when any of the inputs change state (low to high or high to low). Input filter control is not supported by this driver, and the input filters are deactivated by this driver. config GPIO_PCIE_IDIO_24 tristate "ACCES PCIe-IDIO-24 GPIO support" select GPIOLIB_IRQCHIP help Enables GPIO support for the ACCES PCIe-IDIO-24 family (PCIe-IDIO-24, PCIe-IDI-24, PCIe-IDO-24, PCIe-IDIO-12). An interrupt is generated when any of the inputs change state (low to high or high to low). Input filter control is not supported by this driver, and the input filters are deactivated by this driver. config GPIO_RDC321X tristate "RDC R-321x GPIO support" select MFD_CORE select MFD_RDC321X help Support for the RDC R321x SoC GPIOs over southbridge PCI configuration space. config GPIO_SODAVILLE bool "Intel Sodaville GPIO support" depends on X86 && OF select GPIO_GENERIC select GENERIC_IRQ_CHIP help Say Y here to support Intel Sodaville GPIO. endmenu menu "SPI GPIO expanders" depends on SPI_MASTER config GPIO_74X164 tristate "74x164 serial-in/parallel-out 8-bits shift register" depends on OF_GPIO help Driver for 74x164 compatible serial-in/parallel-out 8-outputs shift registers. This driver can be used to provide access to more gpio outputs. config GPIO_MAX3191X tristate "Maxim MAX3191x industrial serializer" select CRC8 help GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913, MAX31953 and MAX31963 industrial serializer, a daisy-chainable chip to make 8 digital 24V inputs available via SPI. Supports CRC checksums to guard against electromagnetic interference, as well as undervoltage and overtemperature detection. config GPIO_MAX7301 tristate "Maxim MAX7301 GPIO expander" select GPIO_MAX730X help GPIO driver for Maxim MAX7301 SPI-based GPIO expander. config GPIO_MC33880 tristate "Freescale MC33880 high-side/low-side switch" help SPI driver for Freescale MC33880 high-side/low-side switch. This provides GPIO interface supporting inputs and outputs. config GPIO_PISOSR tristate "Generic parallel-in/serial-out shift register" help GPIO driver for SPI compatible parallel-in/serial-out shift registers. These are input only devices. config GPIO_XRA1403 tristate "EXAR XRA1403 16-bit GPIO expander" select REGMAP_SPI help GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander. config GPIO_MOXTET tristate "Turris Mox Moxtet bus GPIO expander" depends on MOXTET help Say yes here if you are building for the Turris Mox router. This is the driver needed for configuring the GPIOs via the Moxtet bus. For example the Mox module with SFP cage needs this driver so that phylink can use corresponding GPIOs. endmenu menu "USB GPIO expanders" depends on USB config GPIO_VIPERBOARD tristate "Viperboard GPIO a & b support" depends on MFD_VIPERBOARD help Say yes here to access the GPIO signals of Nano River Technologies Viperboard. There are two GPIO chips on the board: gpioa and gpiob. See viperboard API specification and Nano River Tech's viperboard.h for detailed meaning of the module parameters. endmenu config GPIO_MOCKUP tristate "GPIO Testing Driver" select IRQ_SIM help This enables GPIO Testing driver, which provides a way to test GPIO subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS must be selected for this test. User could use it through the script in tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in it. endif gpio/Makefile 0000644 00000016625 14722053666 0007167 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # generic gpio support: platform drivers, dedicated expander chips, etc ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG obj-$(CONFIG_GPIOLIB) += gpiolib.o obj-$(CONFIG_GPIOLIB) += gpiolib-devres.o obj-$(CONFIG_GPIOLIB) += gpiolib-legacy.o obj-$(CONFIG_GPIOLIB) += gpiolib-devprop.o obj-$(CONFIG_OF_GPIO) += gpiolib-of.o obj-$(CONFIG_GPIO_SYSFS) += gpiolib-sysfs.o obj-$(CONFIG_GPIO_ACPI) += gpiolib-acpi.o # Device drivers. Generally keep list sorted alphabetically obj-$(CONFIG_GPIO_GENERIC) += gpio-generic.o # directly supported by gpio-generic gpio-generic-$(CONFIG_GPIO_GENERIC) += gpio-mmio.o obj-$(CONFIG_GPIO_104_DIO_48E) += gpio-104-dio-48e.o obj-$(CONFIG_GPIO_104_IDI_48) += gpio-104-idi-48.o obj-$(CONFIG_GPIO_104_IDIO_16) += gpio-104-idio-16.o obj-$(CONFIG_GPIO_74X164) += gpio-74x164.o obj-$(CONFIG_GPIO_74XX_MMIO) += gpio-74xx-mmio.o obj-$(CONFIG_GPIO_ADNP) += gpio-adnp.o obj-$(CONFIG_GPIO_ADP5520) += gpio-adp5520.o obj-$(CONFIG_GPIO_ADP5588) += gpio-adp5588.o obj-$(CONFIG_GPIO_ALTERA_A10SR) += gpio-altera-a10sr.o obj-$(CONFIG_GPIO_ALTERA) += gpio-altera.o obj-$(CONFIG_GPIO_AMD8111) += gpio-amd8111.o obj-$(CONFIG_GPIO_AMD_FCH) += gpio-amd-fch.o obj-$(CONFIG_GPIO_AMDPT) += gpio-amdpt.o obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o obj-$(CONFIG_GPIO_ATH79) += gpio-ath79.o obj-$(CONFIG_GPIO_BCM_KONA) += gpio-bcm-kona.o obj-$(CONFIG_GPIO_BD70528) += gpio-bd70528.o obj-$(CONFIG_GPIO_BD9571MWV) += gpio-bd9571mwv.o obj-$(CONFIG_GPIO_BRCMSTB) += gpio-brcmstb.o obj-$(CONFIG_GPIO_BT8XX) += gpio-bt8xx.o obj-$(CONFIG_GPIO_CADENCE) += gpio-cadence.o obj-$(CONFIG_GPIO_CLPS711X) += gpio-clps711x.o obj-$(CONFIG_GPIO_SNPS_CREG) += gpio-creg-snps.o obj-$(CONFIG_GPIO_CRYSTAL_COVE) += gpio-crystalcove.o obj-$(CONFIG_GPIO_CS5535) += gpio-cs5535.o obj-$(CONFIG_GPIO_DA9052) += gpio-da9052.o obj-$(CONFIG_GPIO_DA9055) += gpio-da9055.o obj-$(CONFIG_GPIO_DAVINCI) += gpio-davinci.o obj-$(CONFIG_GPIO_DLN2) += gpio-dln2.o obj-$(CONFIG_GPIO_DWAPB) += gpio-dwapb.o obj-$(CONFIG_GPIO_EIC_SPRD) += gpio-eic-sprd.o obj-$(CONFIG_GPIO_EM) += gpio-em.o obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93xx.o obj-$(CONFIG_GPIO_EXAR) += gpio-exar.o obj-$(CONFIG_GPIO_F7188X) += gpio-f7188x.o obj-$(CONFIG_GPIO_FTGPIO010) += gpio-ftgpio010.o obj-$(CONFIG_GPIO_GE_FPGA) += gpio-ge.o obj-$(CONFIG_GPIO_GPIO_MM) += gpio-gpio-mm.o obj-$(CONFIG_GPIO_GRGPIO) += gpio-grgpio.o obj-$(CONFIG_GPIO_GW_PLD) += gpio-gw-pld.o obj-$(CONFIG_GPIO_HLWD) += gpio-hlwd.o obj-$(CONFIG_HTC_EGPIO) += gpio-htc-egpio.o obj-$(CONFIG_GPIO_ICH) += gpio-ich.o obj-$(CONFIG_GPIO_INTEL_MID) += gpio-intel-mid.o obj-$(CONFIG_GPIO_IOP) += gpio-iop.o obj-$(CONFIG_GPIO_IT87) += gpio-it87.o obj-$(CONFIG_GPIO_IXP4XX) += gpio-ixp4xx.o obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o obj-$(CONFIG_GPIO_LOONGSON1) += gpio-loongson1.o obj-$(CONFIG_GPIO_LOONGSON) += gpio-loongson.o obj-$(CONFIG_GPIO_LP3943) += gpio-lp3943.o obj-$(CONFIG_GPIO_LP873X) += gpio-lp873x.o obj-$(CONFIG_GPIO_LP87565) += gpio-lp87565.o obj-$(CONFIG_GPIO_LPC18XX) += gpio-lpc18xx.o obj-$(CONFIG_GPIO_LPC32XX) += gpio-lpc32xx.o obj-$(CONFIG_GPIO_LYNXPOINT) += gpio-lynxpoint.o obj-$(CONFIG_GPIO_MADERA) += gpio-madera.o obj-$(CONFIG_GPIO_MAX3191X) += gpio-max3191x.o obj-$(CONFIG_GPIO_MAX7300) += gpio-max7300.o obj-$(CONFIG_GPIO_MAX7301) += gpio-max7301.o obj-$(CONFIG_GPIO_MAX730X) += gpio-max730x.o obj-$(CONFIG_GPIO_MAX732X) += gpio-max732x.o obj-$(CONFIG_GPIO_MAX77620) += gpio-max77620.o obj-$(CONFIG_GPIO_MAX77650) += gpio-max77650.o obj-$(CONFIG_GPIO_MB86S7X) += gpio-mb86s7x.o obj-$(CONFIG_GPIO_MC33880) += gpio-mc33880.o obj-$(CONFIG_GPIO_MC9S08DZ60) += gpio-mc9s08dz60.o obj-$(CONFIG_GPIO_MENZ127) += gpio-menz127.o obj-$(CONFIG_GPIO_MERRIFIELD) += gpio-merrifield.o obj-$(CONFIG_GPIO_ML_IOH) += gpio-ml-ioh.o obj-$(CONFIG_GPIO_MLXBF) += gpio-mlxbf.o obj-$(CONFIG_GPIO_MM_LANTIQ) += gpio-mm-lantiq.o obj-$(CONFIG_GPIO_MOCKUP) += gpio-mockup.o obj-$(CONFIG_GPIO_MOXTET) += gpio-moxtet.o obj-$(CONFIG_GPIO_MPC5200) += gpio-mpc5200.o obj-$(CONFIG_GPIO_MPC8XXX) += gpio-mpc8xxx.o obj-$(CONFIG_GPIO_MSIC) += gpio-msic.o obj-$(CONFIG_GPIO_MT7621) += gpio-mt7621.o obj-$(CONFIG_GPIO_MVEBU) += gpio-mvebu.o obj-$(CONFIG_GPIO_MXC) += gpio-mxc.o obj-$(CONFIG_GPIO_MXS) += gpio-mxs.o obj-$(CONFIG_GPIO_OCTEON) += gpio-octeon.o obj-$(CONFIG_GPIO_OMAP) += gpio-omap.o obj-$(CONFIG_GPIO_PALMAS) += gpio-palmas.o obj-$(CONFIG_GPIO_PCA953X) += gpio-pca953x.o obj-$(CONFIG_GPIO_PCF857X) += gpio-pcf857x.o obj-$(CONFIG_GPIO_PCH) += gpio-pch.o obj-$(CONFIG_GPIO_PCIE_IDIO_24) += gpio-pcie-idio-24.o obj-$(CONFIG_GPIO_PCI_IDIO_16) += gpio-pci-idio-16.o obj-$(CONFIG_GPIO_PISOSR) += gpio-pisosr.o obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t583.o obj-$(CONFIG_GPIO_RCAR) += gpio-rcar.o obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o obj-$(CONFIG_GPIO_REG) += gpio-reg.o obj-$(CONFIG_ARCH_SA1100) += gpio-sa1100.o obj-$(CONFIG_GPIO_SAMA5D2_PIOBU) += gpio-sama5d2-piobu.o obj-$(CONFIG_GPIO_SCH311X) += gpio-sch311x.o obj-$(CONFIG_GPIO_SCH) += gpio-sch.o obj-$(CONFIG_GPIO_SIOX) += gpio-siox.o obj-$(CONFIG_GPIO_SODAVILLE) += gpio-sodaville.o obj-$(CONFIG_GPIO_SPEAR_SPICS) += gpio-spear-spics.o obj-$(CONFIG_GPIO_SPRD) += gpio-sprd.o obj-$(CONFIG_GPIO_STA2X11) += gpio-sta2x11.o obj-$(CONFIG_GPIO_STMPE) += gpio-stmpe.o obj-$(CONFIG_GPIO_STP_XWAY) += gpio-stp-xway.o obj-$(CONFIG_GPIO_SYSCON) += gpio-syscon.o obj-$(CONFIG_GPIO_TB10X) += gpio-tb10x.o obj-$(CONFIG_GPIO_TC3589X) += gpio-tc3589x.o obj-$(CONFIG_GPIO_TEGRA186) += gpio-tegra186.o obj-$(CONFIG_GPIO_TEGRA) += gpio-tegra.o obj-$(CONFIG_GPIO_THUNDERX) += gpio-thunderx.o obj-$(CONFIG_GPIO_TIMBERDALE) += gpio-timberdale.o obj-$(CONFIG_GPIO_TPIC2810) += gpio-tpic2810.o obj-$(CONFIG_GPIO_TPS65086) += gpio-tps65086.o obj-$(CONFIG_GPIO_TPS65218) += gpio-tps65218.o obj-$(CONFIG_GPIO_TPS6586X) += gpio-tps6586x.o obj-$(CONFIG_GPIO_TPS65910) += gpio-tps65910.o obj-$(CONFIG_GPIO_TPS65912) += gpio-tps65912.o obj-$(CONFIG_GPIO_TPS68470) += gpio-tps68470.o obj-$(CONFIG_GPIO_TQMX86) += gpio-tqmx86.o obj-$(CONFIG_GPIO_TS4800) += gpio-ts4800.o obj-$(CONFIG_GPIO_TS4900) += gpio-ts4900.o obj-$(CONFIG_GPIO_TS5500) += gpio-ts5500.o obj-$(CONFIG_GPIO_TWL4030) += gpio-twl4030.o obj-$(CONFIG_GPIO_TWL6040) += gpio-twl6040.o obj-$(CONFIG_GPIO_UCB1400) += gpio-ucb1400.o obj-$(CONFIG_GPIO_UNIPHIER) += gpio-uniphier.o obj-$(CONFIG_GPIO_VF610) += gpio-vf610.o obj-$(CONFIG_GPIO_VIPERBOARD) += gpio-viperboard.o obj-$(CONFIG_GPIO_VR41XX) += gpio-vr41xx.o obj-$(CONFIG_GPIO_VX855) += gpio-vx855.o obj-$(CONFIG_GPIO_WHISKEY_COVE) += gpio-wcove.o obj-$(CONFIG_GPIO_WINBOND) += gpio-winbond.o obj-$(CONFIG_GPIO_WM831X) += gpio-wm831x.o obj-$(CONFIG_GPIO_WM8350) += gpio-wm8350.o obj-$(CONFIG_GPIO_WM8994) += gpio-wm8994.o obj-$(CONFIG_GPIO_WS16C48) += gpio-ws16c48.o obj-$(CONFIG_GPIO_XGENE) += gpio-xgene.o obj-$(CONFIG_GPIO_XGENE_SB) += gpio-xgene-sb.o obj-$(CONFIG_GPIO_XILINX) += gpio-xilinx.o obj-$(CONFIG_GPIO_XLP) += gpio-xlp.o obj-$(CONFIG_GPIO_XRA1403) += gpio-xra1403.o obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o obj-$(CONFIG_GPIO_ZX) += gpio-zx.o obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o tty/ipwireless/Makefile 0000644 00000000252 14722053666 0011224 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the IPWireless driver # obj-$(CONFIG_IPWIRELESS) += ipwireless.o ipwireless-y := hardware.o main.o network.o tty.o tty/Kconfig 0000644 00000043220 14722053666 0006703 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config TTY bool "Enable TTY" if EXPERT default y ---help--- Allows you to remove TTY support which can save space, and blocks features that require TTY from inclusion in the kernel. TTY is required for any text terminals or serial port communication. Most users should leave this enabled. if TTY config VT bool "Virtual terminal" if EXPERT depends on !UML select INPUT default y ---help--- If you say Y here, you will get support for terminal devices with display and keyboard devices. These are called "virtual" because you can run several virtual terminals (also called virtual consoles) on one physical terminal. This is rather useful, for example one virtual terminal can collect system messages and warnings, another one can be used for a text-mode user session, and a third could run an X session, all in parallel. Switching between virtual terminals is done with certain key combinations, usually Alt-<function key>. The setterm command ("man setterm") can be used to change the properties (such as colors or beeping) of a virtual terminal. The man page console_codes(4) ("man console_codes") contains the special character sequences that can be used to change those properties directly. The fonts used on virtual terminals can be changed with the setfont ("man setfont") command and the key bindings are defined with the loadkeys ("man loadkeys") command. You need at least one virtual terminal device in order to make use of your keyboard and monitor. Therefore, only people configuring an embedded system would want to say N here in order to save some memory; the only way to log into such a system is then via a serial or network connection. If unsure, say Y, or else you won't be able to do much with your new shiny Linux system :-) config CONSOLE_TRANSLATIONS depends on VT default y bool "Enable character translations in console" if EXPERT ---help--- This enables support for font mapping and Unicode translation on virtual consoles. config VT_CONSOLE bool "Support for console on virtual terminal" if EXPERT depends on VT default y ---help--- The system console is the device which receives all kernel messages and warnings and which allows logins in single user mode. If you answer Y here, a virtual terminal (the device used to interact with a physical terminal) can be used as system console. This is the most common mode of operations, so you should say Y here unless you want the kernel messages be output only to a serial port (in which case you should say Y to "Console on serial port", below). If you do say Y here, by default the currently visible virtual terminal (/dev/tty0) will be used as system console. You can change that with a kernel command line option such as "console=tty3" which would use the third virtual terminal as system console. (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) If unsure, say Y. config VT_CONSOLE_SLEEP def_bool y depends on VT_CONSOLE && PM_SLEEP config HW_CONSOLE bool depends on VT && !UML default y config VT_HW_CONSOLE_BINDING bool "Support for binding and unbinding console drivers" depends on HW_CONSOLE ---help--- The virtual terminal is the device that interacts with the physical terminal through console drivers. On these systems, at least one console driver is loaded. In other configurations, additional console drivers may be enabled, such as the framebuffer console. If more than 1 console driver is enabled, setting this to 'y' will allow you to select the console driver that will serve as the backend for the virtual terminals. See <file:Documentation/driver-api/console.rst> for more information. For framebuffer console users, please refer to <file:Documentation/fb/fbcon.rst>. config UNIX98_PTYS bool "Unix98 PTY support" if EXPERT default y ---help--- A pseudo terminal (PTY) is a software device consisting of two halves: a master and a slave. The slave device behaves identical to a physical terminal; the master device is used by a process to read data from and write data to the slave, thereby emulating a terminal. Typical programs for the master side are telnet servers and xterms. Linux has traditionally used the BSD-like names /dev/ptyxx for masters and /dev/ttyxx for slaves of pseudo terminals. This scheme has a number of problems. The GNU C library glibc 2.1 and later, however, supports the Unix98 naming standard: in order to acquire a pseudo terminal, a process opens /dev/ptmx; the number of the pseudo terminal is then made available to the process and the pseudo terminal slave can be accessed as /dev/pts/<number>. What was traditionally /dev/ttyp2 will then be /dev/pts/2, for example. All modern Linux systems use the Unix98 ptys. Say Y unless you're on an embedded system and want to conserve memory. config LEGACY_PTYS bool "Legacy (BSD) PTY support" default y ---help--- A pseudo terminal (PTY) is a software device consisting of two halves: a master and a slave. The slave device behaves identical to a physical terminal; the master device is used by a process to read data from and write data to the slave, thereby emulating a terminal. Typical programs for the master side are telnet servers and xterms. Linux has traditionally used the BSD-like names /dev/ptyxx for masters and /dev/ttyxx for slaves of pseudo terminals. This scheme has a number of problems, including security. This option enables these legacy devices; on most systems, it is safe to say N. config LEGACY_PTY_COUNT int "Maximum number of legacy PTY in use" depends on LEGACY_PTYS range 0 256 default "256" ---help--- The maximum number of legacy PTYs that can be used at any one time. The default is 256, and should be more than enough. Embedded systems may want to reduce this to save memory. When not in use, each legacy PTY occupies 12 bytes on 32-bit architectures and 24 bytes on 64-bit architectures. config SERIAL_NONSTANDARD bool "Non-standard serial port support" depends on HAS_IOMEM ---help--- Say Y here if you have any non-standard serial boards -- boards which aren't supported using the standard "dumb" serial driver. This includes intelligent serial boards such as Cyclades, Digiboards, etc. These are usually used for systems that need many serial ports because they serve many terminals or dial-in connections. Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about non-standard serial boards. Most people can say N here. config ROCKETPORT tristate "Comtrol RocketPort support" depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) help This driver supports Comtrol RocketPort and RocketModem PCI boards. These boards provide 2, 4, 8, 16, or 32 high-speed serial ports or modems. For information about the RocketPort/RocketModem boards and this driver read <file:Documentation/driver-api/serial/rocket.rst>. To compile this driver as a module, choose M here: the module will be called rocket. If you want to compile this driver into the kernel, say Y here. If you don't have a Comtrol RocketPort/RocketModem card installed, say N. config CYCLADES tristate "Cyclades async mux support" depends on SERIAL_NONSTANDARD && (PCI || ISA) select FW_LOADER ---help--- This driver supports Cyclades Z and Y multiserial boards. You would need something like this to connect more than two modems to your Linux box, for instance in order to become a dial-in server. For information about the Cyclades-Z card, read <file:Documentation/driver-api/serial/cyclades_z.rst>. To compile this driver as a module, choose M here: the module will be called cyclades. If you haven't heard about it, it's safe to say N. config CYZ_INTR bool "Cyclades-Z interrupt mode operation" depends on CYCLADES && PCI help The Cyclades-Z family of multiport cards allows 2 (two) driver op modes: polling and interrupt. In polling mode, the driver will check the status of the Cyclades-Z ports every certain amount of time (which is called polling cycle and is configurable). In interrupt mode, it will use an interrupt line (IRQ) in order to check the status of the Cyclades-Z ports. The default op mode is polling. If unsure, say N. config MOXA_INTELLIO tristate "Moxa Intellio support" depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) select FW_LOADER help Say Y here if you have a Moxa Intellio multiport serial card. To compile this driver as a module, choose M here: the module will be called moxa. config MOXA_SMARTIO tristate "Moxa SmartIO support v. 2.0" depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA) help Say Y here if you have a Moxa SmartIO multiport serial card and/or want to help develop a new version of this driver. This is upgraded (1.9.1) driver from original Moxa drivers with changes finally resulting in PCI probing. This driver can also be built as a module. The module will be called mxser. If you want to do that, say M here. config SYNCLINK tristate "Microgate SyncLink card support" depends on SERIAL_NONSTANDARD && PCI && ISA_DMA_API help Provides support for the SyncLink ISA and PCI multiprotocol serial adapters. These adapters support asynchronous and HDLC bit synchronous communication up to 10Mbps (PCI adapter). This driver can only be built as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called synclink. If you want to do that, say M here. config SYNCLINKMP tristate "SyncLink Multiport support" depends on SERIAL_NONSTANDARD && PCI help Enable support for the SyncLink Multiport (2 or 4 ports) serial adapter, running asynchronous and HDLC communications up to 2.048Mbps. Each ports is independently selectable for RS-232, V.35, RS-449, RS-530, and X.21 This driver may be built as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called synclinkmp. If you want to do that, say M here. config SYNCLINK_GT tristate "SyncLink GT/AC support" depends on SERIAL_NONSTANDARD && PCI help Support for SyncLink GT and SyncLink AC families of synchronous and asynchronous serial adapters manufactured by Microgate Systems, Ltd. (www.microgate.com) config NOZOMI tristate "HSDPA Broadband Wireless Data Card - Globe Trotter" depends on PCI help If you have a HSDPA driver Broadband Wireless Data Card - Globe Trotter PCMCIA card, say Y here. To compile this driver as a module, choose M here, the module will be called nozomi. config ISI tristate "Multi-Tech multiport card support" depends on SERIAL_NONSTANDARD && PCI select FW_LOADER help This is a driver for the Multi-Tech cards which provide several serial ports. The driver is experimental and can currently only be built as a module. The module will be called isicom. If you want to do that, choose M here. config N_HDLC tristate "HDLC line discipline support" depends on SERIAL_NONSTANDARD help Allows synchronous HDLC communications with tty device drivers that support synchronous HDLC such as the Microgate SyncLink adapter. This driver can be built as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called n_hdlc. If you want to do that, say M here. config N_GSM tristate "GSM MUX line discipline support (EXPERIMENTAL)" depends on NET help This line discipline provides support for the GSM MUX protocol and presents the mux as a set of 61 individual tty devices. config TRACE_ROUTER tristate "Trace data router for MIPI P1149.7 cJTAG standard" depends on TRACE_SINK help The trace router uses the Linux tty line discipline framework to route trace data coming from a tty port (say UART for example) to the trace sink line discipline driver and to another tty port (say USB). This is part of a solution for the MIPI P1149.7, compact JTAG, standard, which is for debugging mobile devices. The PTI driver in drivers/misc/pti.c defines the majority of this MIPI solution. You should select this driver if the target kernel is meant for a mobile device containing a modem. Then you will need to select "Trace data sink for MIPI P1149.7 cJTAG standard" line discipline driver. config TRACE_SINK tristate "Trace data sink for MIPI P1149.7 cJTAG standard" help The trace sink uses the Linux line discipline framework to receive trace data coming from the trace router line discipline driver to a user-defined tty port target, like USB. This is to provide a way to extract modem trace data on devices that do not have a PTI HW module, or just need modem trace data to come out of a different HW output port. This is part of a solution for the P1149.7, compact JTAG, standard. If you select this option, you need to select "Trace data router for MIPI P1149.7 cJTAG standard". config PPC_EPAPR_HV_BYTECHAN bool "ePAPR hypervisor byte channel driver" depends on PPC select EPAPR_PARAVIRT help This driver creates /dev entries for each ePAPR hypervisor byte channel, thereby allowing applications to communicate with byte channels as if they were serial ports. config PPC_EARLY_DEBUG_EHV_BC bool "Early console (udbg) support for ePAPR hypervisors" depends on PPC_EPAPR_HV_BYTECHAN=y help Select this option to enable early console (a.k.a. "udbg") support via an ePAPR byte channel. You also need to choose the byte channel handle below. config PPC_EARLY_DEBUG_EHV_BC_HANDLE int "Byte channel handle for early console (udbg)" depends on PPC_EARLY_DEBUG_EHV_BC default 0 help If you want early console (udbg) output through a byte channel, specify the handle of the byte channel to use. For this to work, the byte channel driver must be compiled in-kernel, not as a module. Note that only one early console driver can be enabled, so don't enable any others if you enable this one. If the number you specify is not a valid byte channel handle, then there simply will be no early console output. This is true also if you don't boot under a hypervisor at all. config NULL_TTY tristate "NULL TTY driver" help Say Y here if you want a NULL TTY which simply discards messages. This is useful to allow userspace applications which expect a console device to work without modifications even when no console is available or desired. In order to use this driver, you should redirect the console to this TTY, or boot the kernel with console=ttynull. If unsure, say N. config GOLDFISH_TTY tristate "Goldfish TTY Driver" depends on GOLDFISH select SERIAL_CORE select SERIAL_CORE_CONSOLE help Console and system TTY driver for the Goldfish virtual platform. config GOLDFISH_TTY_EARLY_CONSOLE bool default y if GOLDFISH_TTY=y select SERIAL_EARLYCON config MIPS_EJTAG_FDC_TTY bool "MIPS EJTAG Fast Debug Channel TTY" depends on MIPS_CDMM help This enables a TTY and console on the MIPS EJTAG Fast Debug Channels, if they are present. This can be useful when working with an EJTAG probe which supports it, to get console output and a login prompt via EJTAG without needing to connect a serial cable. TTY devices are named e.g. ttyFDC3c2 (for FDC channel 2 of the FDC on CPU3). The console can be enabled with console=fdc1 (for FDC channel 1 on all CPUs). Do not use the console unless there is a debug probe attached to drain the FDC TX FIFO. If unsure, say N. config MIPS_EJTAG_FDC_EARLYCON bool "Early FDC console" depends on MIPS_EJTAG_FDC_TTY help This registers a console on FDC channel 1 very early during boot (from MIPS arch code). This is useful for bring-up and debugging early boot issues. Do not enable unless there is a debug probe attached to drain the FDC TX FIFO. If unsure, say N. config MIPS_EJTAG_FDC_KGDB bool "Use KGDB over an FDC channel" depends on MIPS_EJTAG_FDC_TTY && KGDB default y help This enables the use of KGDB over an FDC channel, allowing KGDB to be used remotely or when a serial port isn't available. config MIPS_EJTAG_FDC_KGDB_CHAN int "KGDB FDC channel" depends on MIPS_EJTAG_FDC_KGDB range 2 15 default 3 help FDC channel number to use for KGDB. config VCC tristate "Sun Virtual Console Concentrator" depends on SUN_LDOMS help Support for Sun logical domain consoles. config LDISC_AUTOLOAD bool "Automatically load TTY Line Disciplines" default y help Historically the kernel has always automatically loaded any line discipline that is in a kernel module when a user asks for it to be loaded with the TIOCSETD ioctl, or through other means. This is not always the best thing to do on systems where you know you will not be using some of the more "ancient" line disciplines, so prevent the kernel from doing this unless the request is coming from a process with the CAP_SYS_MODULE permissions. Say 'Y' here if you trust your userspace users to do the right thing, or if you have only provided the line disciplines that you know you will be using, or if you wish to continue to use the traditional method of on-demand loading of these modules by any user. This functionality can be changed at runtime with the dev.tty.ldisc_autoload sysctl, this configuration option will only set the default value of this functionality. endif # TTY tty/vt/Makefile 0000644 00000001570 14722053666 0007473 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # This file contains the font map for the default (hardware) font # FONTMAPFILE = cp437.uni obj-$(CONFIG_VT) += vt_ioctl.o vc_screen.o \ selection.o keyboard.o obj-$(CONFIG_CONSOLE_TRANSLATIONS) += consolemap.o consolemap_deftbl.o obj-$(CONFIG_HW_CONSOLE) += vt.o defkeymap.o # Files generated that shall be removed upon make clean clean-files := consolemap_deftbl.c defkeymap.c quiet_cmd_conmk = CONMK $@ cmd_conmk = scripts/conmakehash $< > $@ $(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(call cmd,conmk) $(obj)/defkeymap.o: $(obj)/defkeymap.c # Uncomment if you're changing the keymap and have an appropriate # loadkeys version for the map. By default, we'll use the shipped # versions. # GENERATE_KEYMAP := 1 ifdef GENERATE_KEYMAP $(obj)/defkeymap.c: $(obj)/%.c: $(src)/%.map loadkeys --mktable $< > $@ endif tty/serdev/Kconfig 0000644 00000001070 14722053666 0010170 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Serial bus device driver configuration # menuconfig SERIAL_DEV_BUS tristate "Serial device bus" help Core support for devices connected via a serial port. Note that you typically also want to enable TTY port controller support. if SERIAL_DEV_BUS config SERIAL_DEV_CTRL_TTYPORT bool "Serial device TTY port controller" help Say Y here if you want to use the Serial device bus with common TTY drivers (e.g. serial drivers). If unsure, say Y. depends on TTY depends on SERIAL_DEV_BUS != m default y endif tty/serdev/Makefile 0000644 00000000236 14722053666 0010330 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 serdev-objs := core.o obj-$(CONFIG_SERIAL_DEV_BUS) += serdev.o obj-$(CONFIG_SERIAL_DEV_CTRL_TTYPORT) += serdev-ttyport.o tty/serial/jsm/Makefile 0000644 00000000245 14722053666 0011110 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Jasmine adapter # obj-$(CONFIG_SERIAL_JSM) += jsm.o jsm-objs := jsm_driver.o jsm_neo.o jsm_tty.o jsm_cls.o tty/serial/Kconfig 0000644 00000143632 14722053666 0010172 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Serial device configuration # if TTY menu "Serial drivers" depends on HAS_IOMEM config SERIAL_EARLYCON bool depends on SERIAL_CORE help Support for early consoles with the earlycon parameter. This enables the console before standard serial driver is probed. The console is enabled when early_param is processed. source "drivers/tty/serial/8250/Kconfig" comment "Non-8250 serial port support" config SERIAL_AMBA_PL010 tristate "ARM AMBA PL010 serial port support" depends on ARM_AMBA select SERIAL_CORE help This selects the ARM(R) AMBA(R) PrimeCell PL010 UART. If you have an Integrator/AP or Integrator/PP2 platform, or if you have a Cirrus Logic EP93xx CPU, say Y or M here. If unsure, say N. config SERIAL_AMBA_PL010_CONSOLE bool "Support for console on AMBA serial port" depends on SERIAL_AMBA_PL010=y select SERIAL_CORE_CONSOLE ---help--- Say Y here if you wish to use an AMBA PrimeCell UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Even if you say Y here, the currently visible framebuffer console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyAM0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_AMBA_PL011 tristate "ARM AMBA PL011 serial port support" depends on ARM_AMBA select SERIAL_CORE help This selects the ARM(R) AMBA(R) PrimeCell PL011 UART. If you have an Integrator/PP2, Integrator/CP or Versatile platform, say Y or M here. If unsure, say N. config SERIAL_AMBA_PL011_CONSOLE bool "Support for console on AMBA serial port" depends on SERIAL_AMBA_PL011=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON ---help--- Say Y here if you wish to use an AMBA PrimeCell UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Even if you say Y here, the currently visible framebuffer console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyAMA0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_EARLYCON_ARM_SEMIHOST bool "Early console using ARM semihosting" depends on ARM64 || ARM select SERIAL_CORE select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Support for early debug console using ARM semihosting. This enables the console before standard serial driver is probed. This is enabled with "earlycon=smh" on the kernel command line. The console is enabled when early_param is processed. config SERIAL_EARLYCON_RISCV_SBI bool "Early console using RISC-V SBI" depends on RISCV select SERIAL_CORE select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Support for early debug console using RISC-V SBI. This enables the console before standard serial driver is probed. This is enabled with "earlycon=sbi" on the kernel command line. The console is enabled when early_param is processed. config SERIAL_SB1250_DUART tristate "BCM1xxx on-chip DUART serial support" depends on SIBYTE_SB1xxx_SOC=y select SERIAL_CORE default y ---help--- Support for the asynchronous serial interface (DUART) included in the BCM1250 and derived System-On-a-Chip (SOC) devices. Note that the letter D in DUART stands for "dual", which is how the device is implemented. Depending on the SOC configuration there may be one or more DUARTs available of which all are handled. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called sb1250-duart. config SERIAL_SB1250_DUART_CONSOLE bool "Support for console on a BCM1xxx DUART serial port" depends on SERIAL_SB1250_DUART=y select SERIAL_CORE_CONSOLE default y ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). If unsure, say Y. config SERIAL_ATMEL bool "AT91 on-chip serial port support" depends on ARCH_AT91 || COMPILE_TEST select SERIAL_CORE select SERIAL_MCTRL_GPIO if GPIOLIB select MFD_AT91_USART help This enables the driver for the on-chip UARTs of the Atmel AT91 processors. config SERIAL_ATMEL_CONSOLE bool "Support for console on AT91 serial port" depends on SERIAL_ATMEL=y select SERIAL_CORE_CONSOLE help Say Y here if you wish to use an on-chip UART on a Atmel AT91 processor as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). config SERIAL_ATMEL_PDC bool "Support DMA transfers on AT91 serial port" depends on SERIAL_ATMEL default y help Say Y here if you wish to use the PDC to do DMA transfers to and from the Atmel AT91 serial port. In order to actually use DMA transfers, make sure that the use_dma_tx and use_dma_rx members in the atmel_uart_data struct is set appropriately for each port. Note that break and error handling currently doesn't work properly when DMA is enabled. Make sure that ports where this matters don't use DMA. config SERIAL_ATMEL_TTYAT bool "Install as device ttyATn instead of ttySn" depends on SERIAL_ATMEL=y help Say Y here if you wish to have the internal AT91 UARTs appear as /dev/ttyATn (major 204, minor starting at 154) instead of the normal /dev/ttySn (major 4, minor starting at 64). This is necessary if you also want other UARTs, such as external 8250/16C550 compatible UARTs. The ttySn nodes are legally reserved for the 8250 serial driver but are often misused by other serial drivers. To use this, you should create suitable ttyATn device nodes in /dev/, and pass "console=ttyATn" to the kernel. Say Y if you have an external 8250/16C550 UART. If unsure, say N. config SERIAL_KGDB_NMI bool "Serial console over KGDB NMI debugger port" depends on KGDB_SERIAL_CONSOLE help This special driver allows you to temporary use NMI debugger port as a normal console (assuming that the port is attached to KGDB). Unlike KDB's disable_nmi command, with this driver you are always able to go back to the debugger using KGDB escape sequence ($3#33). This is because this console driver processes the input in NMI context, and thus is able to intercept the magic sequence. Note that since the console interprets input and uses polling communication methods, for things like PPP you still must fully detach debugger port from the KGDB NMI (i.e. disable_nmi), and use raw console. If unsure, say N. config SERIAL_MESON tristate "Meson serial port support" depends on ARCH_MESON select SERIAL_CORE help This enables the driver for the on-chip UARTs of the Amlogic MesonX processors. config SERIAL_MESON_CONSOLE bool "Support for console on meson" depends on SERIAL_MESON=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Say Y here if you wish to use a Amlogic MesonX UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode) as /dev/ttyAMLx. config SERIAL_CLPS711X tristate "CLPS711X serial port support" depends on ARCH_CLPS711X || COMPILE_TEST select SERIAL_CORE select SERIAL_MCTRL_GPIO if GPIOLIB help This enables the driver for the on-chip UARTs of the Cirrus Logic EP711x/EP721x/EP731x processors. config SERIAL_CLPS711X_CONSOLE bool "Support for console on CLPS711X serial port" depends on SERIAL_CLPS711X=y select SERIAL_CORE_CONSOLE help Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyCL1". config SERIAL_SAMSUNG tristate "Samsung SoC serial support" depends on PLAT_SAMSUNG || ARCH_EXYNOS select SERIAL_CORE help Support for the on-chip UARTs on the Samsung S3C24XX series CPUs, providing /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of these ports, depending on how the serial port pins are configured. config SERIAL_SAMSUNG_UARTS_4 bool depends on SERIAL_SAMSUNG default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442) help Internal node for the common case of 4 Samsung compatible UARTs config SERIAL_SAMSUNG_UARTS int depends on SERIAL_SAMSUNG default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416 default 3 help Select the number of available UART ports for the Samsung S3C serial driver config SERIAL_SAMSUNG_DEBUG bool "Samsung SoC serial debug" depends on SERIAL_SAMSUNG && DEBUG_LL help Add support for debugging the serial driver. Since this is generally being used as a console, we use our own output routines that go via the low-level debug printascii() function. config SERIAL_SAMSUNG_CONSOLE bool "Support for console on Samsung SoC serial port" depends on SERIAL_SAMSUNG=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Allow selection of the S3C24XX on-board serial ports for use as an virtual console. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttySACx". (Try "man bootparam" or see the documentation of your boot loader about how to pass options to the kernel at boot time.) config SERIAL_SIRFSOC tristate "SiRF SoC Platform Serial port support" depends on ARCH_SIRF select SERIAL_CORE help Support for the on-chip UART on the CSR SiRFprimaII series, providing /dev/ttySiRF0, 1 and 2 (note, some machines may not provide all of these ports, depending on how the serial port pins are configured). config SERIAL_SIRFSOC_CONSOLE bool "Support for console on SiRF SoC serial port" depends on SERIAL_SIRFSOC=y select SERIAL_CORE_CONSOLE help Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttySiRFx". (Try "man bootparam" or see the documentation of your boot loader about how to pass options to the kernel at boot time.) config SERIAL_TEGRA tristate "NVIDIA Tegra20/30 SoC serial controller" depends on ARCH_TEGRA && TEGRA20_APB_DMA select SERIAL_CORE help Support for the on-chip UARTs on the NVIDIA Tegra series SOCs providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not provide all of these ports, depending on how the serial port are enabled). This driver uses the APB DMA to achieve higher baudrate and better performance. config SERIAL_TEGRA_TCU tristate "NVIDIA Tegra Combined UART" depends on ARCH_TEGRA && TEGRA_HSP_MBOX select SERIAL_CORE help Support for the mailbox-based TCU (Tegra Combined UART) serial port. TCU is a virtual serial port that allows multiplexing multiple data streams into a single hardware serial port. config SERIAL_TEGRA_TCU_CONSOLE bool "Support for console on a Tegra TCU serial port" depends on SERIAL_TEGRA_TCU=y select SERIAL_CORE_CONSOLE default y ---help--- If you say Y here, it will be possible to use a the Tegra TCU as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). If unsure, say Y. config SERIAL_MAX3100 tristate "MAX3100 support" depends on SPI select SERIAL_CORE help MAX3100 chip support config SERIAL_MAX310X tristate "MAX310X support" depends on SPI_MASTER select SERIAL_CORE select REGMAP_SPI if SPI_MASTER select REGMAP_I2C if I2C help This selects support for an advanced UART from Maxim (Dallas). Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830. Each IC contains 128 words each of receive and transmit FIFO that can be controlled through I2C or high-speed SPI. Say Y here if you want to support this ICs. config SERIAL_DZ bool "DECstation DZ serial driver" depends on MACH_DECSTATION && 32BIT select SERIAL_CORE default y ---help--- DZ11-family serial controllers for DECstations and VAXstations, including the DC7085, M7814, and M7819. config SERIAL_DZ_CONSOLE bool "Support console on DECstation DZ serial driver" depends on SERIAL_DZ=y select SERIAL_CORE_CONSOLE default y ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Note that the firmware uses ttyS3 as the serial console on DECstations that use this driver. If unsure, say Y. config SERIAL_ZS tristate "DECstation Z85C30 serial support" depends on MACH_DECSTATION select SERIAL_CORE default y ---help--- Support for the Zilog 85C350 serial communications controller used for serial ports in newer DECstation systems. These include the DECsystem 5900 and all models of the DECstation and DECsystem 5000 systems except from model 200. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called zs. config SERIAL_ZS_CONSOLE bool "Support for console on a DECstation Z85C30 serial port" depends on SERIAL_ZS=y select SERIAL_CORE_CONSOLE default y ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Note that the firmware uses ttyS1 as the serial console on the Maxine and ttyS3 on the others using this driver. If unsure, say Y. config SERIAL_21285 tristate "DC21285 serial port support" depends on FOOTBRIDGE select SERIAL_CORE help If you have a machine based on a 21285 (Footbridge) StrongARM(R)/ PCI bridge you can enable its onboard serial port by enabling this option. config SERIAL_21285_CONSOLE bool "Console on DC21285 serial port" depends on SERIAL_21285=y select SERIAL_CORE_CONSOLE help If you have enabled the serial port on the 21285 footbridge you can make it the console by answering Y to this option. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyFB". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_PXA bool "PXA serial port support (DEPRECATED)" depends on ARCH_PXA || ARCH_MMP select SERIAL_CORE select SERIAL_8250_PXA if SERIAL_8250=y select SERIAL_PXA_NON8250 if !SERIAL_8250=y help If you have a machine based on an Intel XScale PXA2xx CPU you can enable its onboard serial ports by enabling this option. Unless you have a specific need, you should use SERIAL_8250_PXA instead of this. config SERIAL_PXA_NON8250 bool depends on !SERIAL_8250 config SERIAL_PXA_CONSOLE bool "Console on PXA serial port (DEPRECATED)" depends on SERIAL_PXA select SERIAL_CORE_CONSOLE select SERIAL_8250_CONSOLE if SERIAL_8250=y help If you have enabled the serial port on the Intel XScale PXA CPU you can make it the console by answering Y to this option. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttySA0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) Unless you have a specific need, you should use SERIAL_8250_PXA and SERIAL_8250_CONSOLE instead of this. config SERIAL_SA1100 bool "SA1100 serial port support" depends on ARCH_SA1100 select SERIAL_CORE select SERIAL_MCTRL_GPIO if GPIOLIB help If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you can enable its onboard serial port by enabling this option. Please read <file:Documentation/arm/sa1100/serial_uart.rst> for further info. config SERIAL_SA1100_CONSOLE bool "Console on SA1100 serial port" depends on SERIAL_SA1100 select SERIAL_CORE_CONSOLE help If you have enabled the serial port on the SA1100/SA1110 StrongARM CPU you can make it the console by answering Y to this option. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttySA0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_IMX tristate "IMX serial port support" depends on ARCH_MXC || COMPILE_TEST select SERIAL_CORE select RATIONAL select SERIAL_MCTRL_GPIO if GPIOLIB help If you have a machine based on a Motorola IMX CPU you can enable its onboard serial port by enabling this option. config SERIAL_IMX_CONSOLE bool "Console on IMX serial port" depends on SERIAL_IMX=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON if OF help If you have enabled the serial port on the Freescale IMX CPU you can make it the console by answering Y to this option. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttymxc0". (Try "man bootparam" or see the documentation of your bootloader about how to pass options to the kernel at boot time.) config SERIAL_UARTLITE tristate "Xilinx uartlite serial port support" depends on HAS_IOMEM select SERIAL_CORE help Say Y here if you want to use the Xilinx uartlite serial controller. To compile this driver as a module, choose M here: the module will be called uartlite. config SERIAL_UARTLITE_CONSOLE bool "Support for console on Xilinx uartlite serial port" depends on SERIAL_UARTLITE=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Say Y here if you wish to use a Xilinx uartlite as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). config SERIAL_UARTLITE_NR_UARTS int "Maximum number of uartlite serial ports" depends on SERIAL_UARTLITE range 1 256 default 1 help Set this to the number of uartlites in your system, or the number you think you might implement. config SERIAL_SUNCORE bool depends on SPARC select SERIAL_CORE select SERIAL_CORE_CONSOLE default y config SERIAL_SUNZILOG tristate "Sun Zilog8530 serial support" depends on SPARC help This driver supports the Zilog8530 serial ports found on many Sparc systems. Say Y or M if you want to be able to these serial ports. config SERIAL_SUNZILOG_CONSOLE bool "Console on Sun Zilog8530 serial port" depends on SERIAL_SUNZILOG=y help If you would like to be able to use the Zilog8530 serial port on your Sparc system as the console, you can do so by answering Y to this option. config SERIAL_SUNSU tristate "Sun SU serial support" depends on SPARC && PCI help This driver supports the 8250 serial ports that run the keyboard and mouse on (PCI) UltraSPARC systems. Say Y or M if you want to be able to these serial ports. config SERIAL_SUNSU_CONSOLE bool "Console on Sun SU serial port" depends on SERIAL_SUNSU=y help If you would like to be able to use the SU serial port on your Sparc system as the console, you can do so by answering Y to this option. config SERIAL_MUX tristate "Serial MUX support" depends on GSC select SERIAL_CORE default y ---help--- Saying Y here will enable the hardware MUX serial driver for the Nova, K class systems and D class with a 'remote control card'. The hardware MUX is not 8250/16550 compatible therefore the /dev/ttyB0 device is shared between the Serial MUX and the PDC software console. The following steps need to be completed to use the Serial MUX: 1. create the device entry (mknod /dev/ttyB0 c 11 0) 2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0 3. Add device ttyB0 to /etc/securetty (if you want to log on as root on this console.) 4. Change the kernel command console parameter to: console=ttyB0 config SERIAL_MUX_CONSOLE bool "Support for console on serial MUX" depends on SERIAL_MUX=y select SERIAL_CORE_CONSOLE default y config PDC_CONSOLE bool "PDC software console support" depends on PARISC && !SERIAL_MUX && VT help Saying Y here will enable the software based PDC console to be used as the system console. This is useful for machines in which the hardware based console has not been written yet. The following steps must be completed to use the PDC console: 1. create the device entry (mknod /dev/ttyB0 c 11 0) 2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0 3. Add device ttyB0 to /etc/securetty (if you want to log on as root on this console.) 4. Change the kernel command console parameter to: console=ttyB0 config SERIAL_SUNSAB tristate "Sun Siemens SAB82532 serial support" depends on SPARC && PCI help This driver supports the Siemens SAB82532 DUSCC serial ports on newer (PCI) UltraSPARC systems. Say Y or M if you want to be able to these serial ports. config SERIAL_SUNSAB_CONSOLE bool "Console on Sun Siemens SAB82532 serial port" depends on SERIAL_SUNSAB=y help If you would like to be able to use the SAB82532 serial port on your Sparc system as the console, you can do so by answering Y to this option. config SERIAL_SUNHV bool "Sun4v Hypervisor Console support" depends on SPARC64 help This driver supports the console device found on SUN4V Sparc systems. Say Y if you want to be able to use this device. config SERIAL_IP22_ZILOG tristate "SGI Zilog8530 serial support" depends on SGI_HAS_ZILOG select SERIAL_CORE help This driver supports the Zilog8530 serial ports found on SGI systems. Say Y or M if you want to be able to these serial ports. config SERIAL_IP22_ZILOG_CONSOLE bool "Console on SGI Zilog8530 serial port" depends on SERIAL_IP22_ZILOG=y select SERIAL_CORE_CONSOLE config SERIAL_SH_SCI tristate "SuperH SCI(F) serial port support" depends on SUPERH || ARCH_RENESAS || H8300 || COMPILE_TEST select SERIAL_CORE select SERIAL_MCTRL_GPIO if GPIOLIB config SERIAL_SH_SCI_NR_UARTS int "Maximum number of SCI(F) serial ports" if EXPERT range 1 64 if 64BIT range 1 32 if !64BIT depends on SERIAL_SH_SCI default "3" if H8300 default "10" if SUPERH default "18" if ARCH_RENESAS default "2" config SERIAL_SH_SCI_CONSOLE bool "Support for console on SuperH SCI(F)" if EXPERT depends on SERIAL_SH_SCI=y select SERIAL_CORE_CONSOLE default y config SERIAL_SH_SCI_EARLYCON bool "Support for early console on SuperH SCI(F)" if EXPERT depends on SERIAL_SH_SCI=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON default ARCH_RENESAS || H8300 config SERIAL_SH_SCI_DMA bool "DMA support" if EXPERT depends on SERIAL_SH_SCI && DMA_ENGINE default ARCH_RENESAS config SERIAL_PNX8XXX bool "Enable PNX8XXX SoCs' UART Support" depends on SOC_PNX833X select SERIAL_CORE help If you have a MIPS-based Philips SoC such as PNX8330 and you want to use serial ports, say Y. Otherwise, say N. config SERIAL_PNX8XXX_CONSOLE bool "Enable PNX8XX0 serial console" depends on SERIAL_PNX8XXX select SERIAL_CORE_CONSOLE help If you have a MIPS-based Philips SoC such as PNX8330 and you want to use serial console, say Y. Otherwise, say N. config SERIAL_HS_LPC32XX tristate "LPC32XX high speed serial port support" depends on ARCH_LPC32XX || COMPILE_TEST depends on OF select SERIAL_CORE help Support for the LPC32XX high speed serial ports (up to 900kbps). Those are UARTs completely different from the Standard UARTs on the LPC32XX SoC. Choose M or Y here to build this driver. config SERIAL_HS_LPC32XX_CONSOLE bool "Enable LPC32XX high speed UART serial console" depends on SERIAL_HS_LPC32XX=y select SERIAL_CORE_CONSOLE help If you would like to be able to use one of the high speed serial ports on the LPC32XX as the console, you can do so by answering Y to this option. config SERIAL_CORE tristate config SERIAL_CORE_CONSOLE bool config CONSOLE_POLL bool config SERIAL_MCF bool "Coldfire serial support" depends on COLDFIRE select SERIAL_CORE help This serial driver supports the Freescale Coldfire serial ports. config SERIAL_MCF_BAUDRATE int "Default baudrate for Coldfire serial ports" depends on SERIAL_MCF default 19200 help This setting lets you define what the default baudrate is for the ColdFire serial ports. The usual default varies from board to board, and this setting is a way of catering for that. config SERIAL_MCF_CONSOLE bool "Coldfire serial console support" depends on SERIAL_MCF select SERIAL_CORE_CONSOLE help Enable a ColdFire internal serial port to be the system console. config SERIAL_PMACZILOG tristate "Mac or PowerMac z85c30 ESCC support" depends on (M68K && MAC) || PPC_PMAC select SERIAL_CORE help This driver supports the Zilog z85C30 serial ports found on (Power)Mac machines. Say Y or M if you want to be able to these serial ports. config SERIAL_PMACZILOG_TTYS bool "Use ttySn device nodes for Zilog z85c30" depends on SERIAL_PMACZILOG help The pmac_zilog driver for the z85C30 chip on many powermacs historically used the device numbers for /dev/ttySn. The 8250 serial port driver also uses these numbers, which means the two drivers being unable to coexist; you could not use both z85C30 and 8250 type ports at the same time. If this option is not selected, the pmac_zilog driver will use the device numbers allocated for /dev/ttyPZn. This allows the pmac_zilog and 8250 drivers to co-exist, but may cause existing userspace setups to break. Programs that need to access the built-in serial ports on powermacs will need to be reconfigured to use /dev/ttyPZn instead of /dev/ttySn. If you enable this option, any z85c30 ports in the system will be registered as ttyS0 onwards as in the past, and you will be unable to use the 8250 module for PCMCIA or other 16C550-style UARTs. Say N unless you need the z85c30 ports on your (Power)Mac to appear as /dev/ttySn. config SERIAL_PMACZILOG_CONSOLE bool "Console on Mac or PowerMac z85c30 serial port" depends on SERIAL_PMACZILOG=y select SERIAL_CORE_CONSOLE help If you would like to be able to use the z85c30 serial port on your (Power)Mac as the console, you can do so by answering Y to this option. config SERIAL_CPM tristate "CPM SCC/SMC serial port support" depends on CPM2 || CPM1 select SERIAL_CORE help This driver supports the SCC and SMC serial ports on Motorola embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx) config SERIAL_CPM_CONSOLE bool "Support for console on CPM SCC/SMC serial port" depends on SERIAL_CPM=y select SERIAL_CORE_CONSOLE help Say Y here if you wish to use a SCC or SMC CPM UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). Even if you say Y here, the currently visible framebuffer console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyCPM0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) config SERIAL_PIC32 tristate "Microchip PIC32 serial support" depends on MACH_PIC32 select SERIAL_CORE help If you have a PIC32, this driver supports the serial ports. Say Y or M to use PIC32 serial ports, otherwise say N. Note that to use a serial port as a console, this must be included in kernel and not as a module. config SERIAL_PIC32_CONSOLE bool "PIC32 serial console support" depends on SERIAL_PIC32 select SERIAL_CORE_CONSOLE help If you have a PIC32, this driver supports the putting a console on one of the serial ports. Say Y to use the PIC32 console, otherwise say N. config SERIAL_MPC52xx tristate "Freescale MPC52xx/MPC512x family PSC serial support" depends on PPC_MPC52xx || PPC_MPC512x select SERIAL_CORE help This driver supports MPC52xx and MPC512x PSC serial ports. If you would like to use them, you must answer Y or M to this option. Note that for use as console, it must be included in kernel and not as a module. config SERIAL_MPC52xx_CONSOLE bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port" depends on SERIAL_MPC52xx=y select SERIAL_CORE_CONSOLE help Select this options if you'd like to use one of the PSC serial port of the Freescale MPC52xx family as a console. config SERIAL_MPC52xx_CONSOLE_BAUD int "Freescale MPC52xx/MPC512x family PSC serial port baud" depends on SERIAL_MPC52xx_CONSOLE=y default "9600" help Select the MPC52xx console baud rate. This value is only used if the bootloader doesn't pass in the console baudrate config SERIAL_ICOM tristate "IBM Multiport Serial Adapter" depends on PCI && PPC_PSERIES select SERIAL_CORE select FW_LOADER help This driver is for a family of multiport serial adapters including 2 port RVX, 2 port internal modem, 4 port internal modem and a split 1 port RVX and 1 port internal modem. This driver can also be built as a module. If so, the module will be called icom. config SERIAL_TXX9 bool "TMPTX39XX/49XX SIO support" depends on HAS_TXX9_SERIAL select SERIAL_CORE default y config HAS_TXX9_SERIAL bool config SERIAL_TXX9_NR_UARTS int "Maximum number of TMPTX39XX/49XX SIO ports" depends on SERIAL_TXX9 default "6" config SERIAL_TXX9_CONSOLE bool "TMPTX39XX/49XX SIO Console support" depends on SERIAL_TXX9=y select SERIAL_CORE_CONSOLE config SERIAL_TXX9_STDSERIAL bool "TX39XX/49XX SIO act as standard serial" depends on !SERIAL_8250 && SERIAL_TXX9 config SERIAL_VR41XX tristate "NEC VR4100 series Serial Interface Unit support" depends on CPU_VR41XX select SERIAL_CORE help If you have a NEC VR4100 series processor and you want to use Serial Interface Unit(SIU) or Debug Serial Interface Unit(DSIU) (not include VR4111/VR4121 DSIU), say Y. Otherwise, say N. config SERIAL_VR41XX_CONSOLE bool "Enable NEC VR4100 series Serial Interface Unit console" depends on SERIAL_VR41XX=y select SERIAL_CORE_CONSOLE help If you have a NEC VR4100 series processor and you want to use a console on a serial port, say Y. Otherwise, say N. config SERIAL_JSM tristate "Digi International NEO and Classic PCI Support" depends on PCI select SERIAL_CORE help This is a driver for Digi International's Neo and Classic series of cards which provide multiple serial ports. You would need something like this to connect more than two modems to your Linux box, for instance in order to become a dial-in server. This driver supports PCI boards only. If you have a card like this, say Y here, otherwise say N. To compile this driver as a module, choose M here: the module will be called jsm. config SERIAL_MSM tristate "MSM on-chip serial port support" depends on ARCH_QCOM select SERIAL_CORE config SERIAL_MSM_CONSOLE bool "MSM serial console support" depends on SERIAL_MSM=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON config SERIAL_QCOM_GENI tristate "QCOM on-chip GENI based serial port support" depends on ARCH_QCOM || COMPILE_TEST depends on QCOM_GENI_SE select SERIAL_CORE config SERIAL_QCOM_GENI_CONSOLE bool "QCOM GENI Serial Console support" depends on SERIAL_QCOM_GENI=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Serial console driver for Qualcomm Technologies Inc's GENI based QUP hardware. config SERIAL_VT8500 bool "VIA VT8500 on-chip serial port support" depends on ARCH_VT8500 select SERIAL_CORE config SERIAL_VT8500_CONSOLE bool "VIA VT8500 serial console support" depends on SERIAL_VT8500=y select SERIAL_CORE_CONSOLE config SERIAL_OMAP tristate "OMAP serial port support" depends on ARCH_OMAP2PLUS select SERIAL_CORE help If you have a machine based on an Texas Instruments OMAP CPU you can enable its onboard serial ports by enabling this option. By enabling this option you take advantage of dma feature available with the omap-serial driver. DMA support can be enabled from platform data. config SERIAL_OMAP_CONSOLE bool "Console on OMAP serial port" depends on SERIAL_OMAP=y select SERIAL_CORE_CONSOLE help Select this option if you would like to use omap serial port as console. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyOx". (Try "man bootparam" or see the documentation of your boot loader about how to pass options to the kernel at boot time.) config SERIAL_SIFIVE tristate "SiFive UART support" depends on OF select SERIAL_CORE help Select this option if you are building a kernel for a device that contains a SiFive UART IP block. This type of UART is present on SiFive FU540 SoCs, among others. config SERIAL_SIFIVE_CONSOLE bool "Console on SiFive UART" depends on SERIAL_SIFIVE=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Select this option if you would like to use a SiFive UART as the system console. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttySIFx". (Try "man bootparam" or see the documentation of your boot loader about how to pass options to the kernel at boot time.) config SERIAL_LANTIQ bool "Lantiq serial driver" depends on LANTIQ select SERIAL_CORE select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Support for console and UART on Lantiq SoCs. config SERIAL_QE tristate "Freescale QUICC Engine serial port support" depends on QUICC_ENGINE select SERIAL_CORE select FW_LOADER help This driver supports the QE serial ports on Freescale embedded PowerPC that contain a QUICC Engine. config SERIAL_SCCNXP tristate "SCCNXP serial port support" select SERIAL_CORE help This selects support for an advanced UART from NXP (Philips). Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92, SC28L202, SCC68681 and SCC68692. config SERIAL_SCCNXP_CONSOLE bool "Console on SCCNXP serial port" depends on SERIAL_SCCNXP=y select SERIAL_CORE_CONSOLE help Support for console on SCCNXP serial ports. config SERIAL_SC16IS7XX_CORE tristate config SERIAL_SC16IS7XX tristate "SC16IS7xx serial support" select SERIAL_CORE depends on (SPI_MASTER && !I2C) || I2C help This selects support for SC16IS7xx serial ports. Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752, SC16IS760 and SC16IS762. Select supported buses using options below. config SERIAL_SC16IS7XX_I2C bool "SC16IS7xx for I2C interface" depends on SERIAL_SC16IS7XX depends on I2C select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX select REGMAP_I2C if I2C default y help Enable SC16IS7xx driver on I2C bus, If required say y, and say n to i2c if not required, Enabled by default to support oldconfig. You must select at least one bus for the driver to be built. config SERIAL_SC16IS7XX_SPI bool "SC16IS7xx for spi interface" depends on SERIAL_SC16IS7XX depends on SPI_MASTER select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX select REGMAP_SPI if SPI_MASTER help Enable SC16IS7xx driver on SPI bus, If required say y, and say n to spi if not required, This is additional support to exsisting driver. You must select at least one bus for the driver to be built. config SERIAL_TIMBERDALE tristate "Support for timberdale UART" select SERIAL_CORE depends on X86_32 || COMPILE_TEST ---help--- Add support for UART controller on timberdale. config SERIAL_BCM63XX tristate "Broadcom BCM63xx/BCM33xx UART support" select SERIAL_CORE depends on MIPS || ARM || COMPILE_TEST help This enables the driver for the onchip UART core found on the following chipsets: BCM33xx (cable modem) BCM63xx/BCM63xxx (DSL) BCM68xx (PON) BCM7xxx (STB) - DOCSIS console config SERIAL_BCM63XX_CONSOLE bool "Console on BCM63xx serial port" depends on SERIAL_BCM63XX=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help If you have enabled the serial port on the BCM63xx CPU you can make it the console by answering Y to this option. config SERIAL_GRLIB_GAISLER_APBUART tristate "GRLIB APBUART serial support" depends on OF && SPARC select SERIAL_CORE ---help--- Add support for the GRLIB APBUART serial port. config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE bool "Console on GRLIB APBUART serial port" depends on SERIAL_GRLIB_GAISLER_APBUART=y select SERIAL_CORE_CONSOLE help Support for running a console on the GRLIB APBUART config SERIAL_ALTERA_JTAGUART tristate "Altera JTAG UART support" select SERIAL_CORE help This driver supports the Altera JTAG UART port. config SERIAL_ALTERA_JTAGUART_CONSOLE bool "Altera JTAG UART console support" depends on SERIAL_ALTERA_JTAGUART=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Enable a Altera JTAG UART port to be the system console. config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS bool "Bypass output when no connection" depends on SERIAL_ALTERA_JTAGUART_CONSOLE select SERIAL_CORE_CONSOLE help Bypass console output and keep going even if there is no JTAG terminal connection with the host. config SERIAL_ALTERA_UART tristate "Altera UART support" select SERIAL_CORE help This driver supports the Altera softcore UART port. config SERIAL_ALTERA_UART_MAXPORTS int "Maximum number of Altera UART ports" depends on SERIAL_ALTERA_UART default 4 help This setting lets you define the maximum number of the Altera UART ports. The usual default varies from board to board, and this setting is a way of catering for that. config SERIAL_ALTERA_UART_BAUDRATE int "Default baudrate for Altera UART ports" depends on SERIAL_ALTERA_UART default 115200 help This setting lets you define what the default baudrate is for the Altera UART ports. The usual default varies from board to board, and this setting is a way of catering for that. config SERIAL_ALTERA_UART_CONSOLE bool "Altera UART console support" depends on SERIAL_ALTERA_UART=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Enable a Altera UART port to be the system console. config SERIAL_IFX6X60 tristate "SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)" depends on GPIOLIB || COMPILE_TEST depends on SPI && HAS_DMA help Support for the IFX6x60 modem devices on Intel MID platforms. config SERIAL_PCH_UART tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART" depends on PCI && (X86_32 || MIPS || COMPILE_TEST) select SERIAL_CORE help This driver is for PCH(Platform controller Hub) UART of Intel EG20T which is an IOH(Input/Output Hub) for x86 embedded processor. Enabling PCH_DMA, this PCH UART works as DMA mode. This driver also can be used for LAPIS Semiconductor IOH(Input/ Output Hub), ML7213, ML7223 and ML7831. ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is for MP(Media Phone) use and ML7831 IOH is for general purpose use. ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. config SERIAL_PCH_UART_CONSOLE bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH" depends on SERIAL_PCH_UART=y select SERIAL_CORE_CONSOLE help Say Y here if you wish to use the PCH UART as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). config SERIAL_MXS_AUART tristate "MXS AUART support" depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST select SERIAL_CORE select SERIAL_MCTRL_GPIO if GPIOLIB help This driver supports the MXS and Alphascale ASM9260 Application UART (AUART) port. config SERIAL_MXS_AUART_CONSOLE bool "MXS AUART console support" depends on SERIAL_MXS_AUART=y select SERIAL_CORE_CONSOLE help Enable a MXS AUART port to be the system console. config SERIAL_XILINX_PS_UART tristate "Cadence (Xilinx Zynq) UART support" depends on OF select SERIAL_CORE help This driver supports the Cadence UART. It is found e.g. in Xilinx Zynq. config SERIAL_XILINX_PS_UART_CONSOLE bool "Cadence UART console support" depends on SERIAL_XILINX_PS_UART=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Enable a Cadence UART port to be the system console. config SERIAL_AR933X tristate "AR933X serial port support" depends on HAVE_CLK && ATH79 select SERIAL_CORE help If you have an Atheros AR933X SOC based board and want to use the built-in UART of the SoC, say Y to this option. To compile this driver as a module, choose M here: the module will be called ar933x_uart. config SERIAL_AR933X_CONSOLE bool "Console on AR933X serial port" depends on SERIAL_AR933X=y select SERIAL_CORE_CONSOLE help Enable a built-in UART port of the AR933X to be the system console. config SERIAL_AR933X_NR_UARTS int "Maximum number of AR933X serial ports" depends on SERIAL_AR933X default "2" help Set this to the number of serial ports you want the driver to support. config SERIAL_EFM32_UART tristate "EFM32 UART/USART port" depends on ARM && (ARCH_EFM32 || COMPILE_TEST) select SERIAL_CORE help This driver support the USART and UART ports on Energy Micro's efm32 SoCs. config SERIAL_MPS2_UART_CONSOLE bool "MPS2 UART console support" depends on SERIAL_MPS2_UART select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON config SERIAL_MPS2_UART bool "MPS2 UART port" depends on ARCH_MPS2 || COMPILE_TEST select SERIAL_CORE help This driver support the UART ports on ARM MPS2. config SERIAL_EFM32_UART_CONSOLE bool "EFM32 UART/USART console support" depends on SERIAL_EFM32_UART=y select SERIAL_CORE_CONSOLE config SERIAL_ARC tristate "ARC UART driver support" select SERIAL_CORE help Driver for on-chip UART for ARC(Synopsys) for the legacy FPGA Boards (ML50x/ARCAngel4) config SERIAL_ARC_CONSOLE bool "Console on ARC UART" depends on SERIAL_ARC=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Enable system Console on ARC UART config SERIAL_ARC_NR_PORTS int "Number of ARC UART ports" depends on SERIAL_ARC range 1 3 default "1" help Set this to the number of serial ports you want the driver to support. config SERIAL_RP2 tristate "Comtrol RocketPort EXPRESS/INFINITY support" depends on PCI select SERIAL_CORE help This driver supports the Comtrol RocketPort EXPRESS and RocketPort INFINITY families of PCI/PCIe multiport serial adapters. These adapters use a "RocketPort 2" ASIC that is not compatible with the original RocketPort driver (CONFIG_ROCKETPORT). To compile this driver as a module, choose M here: the module will be called rp2. If you want to compile this driver into the kernel, say Y here. If you don't have a suitable RocketPort card installed, say N. config SERIAL_RP2_NR_UARTS int "Maximum number of RocketPort EXPRESS/INFINITY ports" depends on SERIAL_RP2 default "32" help If multiple cards are present, the default limit of 32 ports may need to be increased. config SERIAL_FSL_LPUART tristate "Freescale lpuart serial port support" depends on HAS_DMA select SERIAL_CORE help Support for the on-chip lpuart on some Freescale SOCs. config SERIAL_FSL_LPUART_CONSOLE bool "Console on Freescale lpuart serial port" depends on SERIAL_FSL_LPUART=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help If you have enabled the lpuart serial port on the Freescale SoCs, you can make it the console by answering Y to this option. config SERIAL_FSL_LINFLEXUART tristate "Freescale linflexuart serial port support" depends on PRINTK select SERIAL_CORE help Support for the on-chip linflexuart on some Freescale SOCs. config SERIAL_FSL_LINFLEXUART_CONSOLE bool "Console on Freescale linflexuart serial port" depends on SERIAL_FSL_LINFLEXUART=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help If you have enabled the linflexuart serial port on the Freescale SoCs, you can make it the console by answering Y to this option. config SERIAL_CONEXANT_DIGICOLOR tristate "Conexant Digicolor CX92xxx USART serial port support" depends on OF select SERIAL_CORE help Support for the on-chip USART on Conexant Digicolor SoCs. config SERIAL_CONEXANT_DIGICOLOR_CONSOLE bool "Console on Conexant Digicolor serial port" depends on SERIAL_CONEXANT_DIGICOLOR=y select SERIAL_CORE_CONSOLE help If you have enabled the USART serial port on Conexant Digicolor SoCs, you can make it the console by answering Y to this option. config SERIAL_ST_ASC tristate "ST ASC serial port support" select SERIAL_CORE depends on ARM || COMPILE_TEST help This driver is for the on-chip Asychronous Serial Controller on STMicroelectronics STi SoCs. ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality. It support all industry standard baud rates. If unsure, say N. config SERIAL_ST_ASC_CONSOLE bool "Support for console on ST ASC" depends on SERIAL_ST_ASC=y select SERIAL_CORE_CONSOLE config SERIAL_MEN_Z135 tristate "MEN 16z135 Support" select SERIAL_CORE depends on MCB help Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core on a MCB carrier. This driver can also be build as a module. If so, the module will be called men_z135_uart.ko config SERIAL_SPRD tristate "Support for Spreadtrum serial" depends on ARCH_SPRD select SERIAL_CORE help This enables the driver for the Spreadtrum's serial. config SERIAL_SPRD_CONSOLE bool "Spreadtrum UART console support" depends on SERIAL_SPRD=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Support for early debug console using Spreadtrum's serial. This enables the console before standard serial driver is probed. This is enabled with "earlycon" on the kernel command line. The console is enabled when early_param is processed. config SERIAL_STM32 tristate "STMicroelectronics STM32 serial port support" select SERIAL_CORE depends on ARCH_STM32 || COMPILE_TEST help This driver is for the on-chip Serial Controller on STMicroelectronics STM32 MCUs. USART supports Rx & Tx functionality. It support all industry standard baud rates. If unsure, say N. config SERIAL_STM32_CONSOLE bool "Support for console on STM32" depends on SERIAL_STM32=y select SERIAL_CORE_CONSOLE config SERIAL_MVEBU_UART bool "Marvell EBU serial port support" depends on ARCH_MVEBU || COMPILE_TEST select SERIAL_CORE help This driver is for Marvell EBU SoC's UART. If you have a machine based on the Armada-3700 SoC and wish to use the on-board serial port, say 'Y' here. Otherwise, say 'N'. config SERIAL_MVEBU_CONSOLE bool "Console on Marvell EBU serial port" depends on SERIAL_MVEBU_UART select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON default y help Say 'Y' here if you wish to use Armada-3700 UART as the system console. (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode) Otherwise, say 'N'. config SERIAL_OWL tristate "Actions Semi Owl serial port support" depends on ARCH_ACTIONS || COMPILE_TEST select SERIAL_CORE help This driver is for Actions Semiconductor S500/S900 SoC's UART. Say 'Y' here if you wish to use the on-board serial port. Otherwise, say 'N'. config SERIAL_OWL_CONSOLE bool "Console on Actions Semi Owl serial port" depends on SERIAL_OWL=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON default y help Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART as the system console. config SERIAL_RDA bool "RDA Micro serial port support" depends on ARCH_RDA || COMPILE_TEST select SERIAL_CORE help This driver is for RDA8810PL SoC's UART. Say 'Y' here if you wish to use the on-board serial port. Otherwise, say 'N'. config SERIAL_RDA_CONSOLE bool "Console on RDA Micro serial port" depends on SERIAL_RDA=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON default y help Say 'Y' here if you wish to use the RDA8810PL UART as the system console. Only earlycon is implemented currently. config SERIAL_MILBEAUT_USIO tristate "Milbeaut USIO/UART serial port support" depends on ARCH_MILBEAUT || (COMPILE_TEST && OF) default ARCH_MILBEAUT select SERIAL_CORE help This selects the USIO/UART IP found in Socionext Milbeaut SoCs. config SERIAL_MILBEAUT_USIO_PORTS int "Maximum number of CSIO/UART ports (1-8)" range 1 8 depends on SERIAL_MILBEAUT_USIO default "4" config SERIAL_MILBEAUT_USIO_CONSOLE bool "Support for console on MILBEAUT USIO/UART serial port" depends on SERIAL_MILBEAUT_USIO=y default y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON help Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut SoCs as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). endmenu config SERIAL_MCTRL_GPIO tristate endif # TTY tty/serial/8250/Kconfig 0000644 00000042253 14722053666 0010565 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # The 8250/16550 serial drivers. You shouldn't be in this list unless # you somehow have an implicit or explicit dependency on SERIAL_8250. # config SERIAL_8250 tristate "8250/16550 and compatible serial support" depends on !S390 select SERIAL_CORE select SERIAL_MCTRL_GPIO if GPIOLIB ---help--- This selects whether you want to include the driver for the standard serial ports. The standard answer is Y. People who might say N here are those that are setting up dedicated Ethernet WWW/FTP servers, or users that have one of the various bus mice instead of a serial mouse and don't intend to use their machine's standard serial port for anything. (Note that the Cyclades multi serial port driver does not need this driver built in for it to work.) To compile this driver as a module, choose M here: the module will be called 8250. [WARNING: Do not compile this driver as a module if you are using non-standard serial ports, since the configuration information will be lost when the driver is unloaded. This limitation may be lifted in the future.] BTW1: If you have a mouseman serial mouse which is not recognized by the X window system, try running gpm first. BTW2: If you intend to use a software modem (also called Winmodem) under Linux, forget it. These modems are crippled and require proprietary drivers which are only available under Windows. Most people will say Y or M here, so that they can use serial mice, modems and similar devices connecting to the standard serial ports. config SERIAL_8250_DEPRECATED_OPTIONS bool "Support 8250_core.* kernel options (DEPRECATED)" depends on SERIAL_8250 default y ---help--- In 3.7 we renamed 8250 to 8250_core by mistake, so now we have to accept kernel parameters in both forms like 8250_core.nr_uarts=4 and 8250.nr_uarts=4. We now renamed the module back to 8250, but if anybody noticed in 3.7 and changed their userspace we still have to keep the 8250_core.* options around until they revert the changes they already did. If 8250 is built as a module, this adds 8250_core alias instead. If you did not notice yet and/or you have userspace from pre-3.7, it is safe (and recommended) to say N here. config SERIAL_8250_PNP bool "8250/16550 PNP device support" if EXPERT depends on SERIAL_8250 && PNP default y ---help--- This builds standard PNP serial support. You may be able to disable this feature if you only need legacy serial support. config SERIAL_8250_FINTEK bool "Support for Fintek F81216A LPC to 4 UART RS485 API" depends on SERIAL_8250 ---help--- Selecting this option will add support for the RS485 capabilities of the Fintek F81216A LPC to 4 UART. If this option is not selected the device will be configured as a standard 16550A serial port. If unsure, say N. config SERIAL_8250_CONSOLE bool "Console on 8250/16550 and compatible serial port" depends on SERIAL_8250=y select SERIAL_CORE_CONSOLE select SERIAL_EARLYCON ---help--- If you say Y here, it will be possible to use a serial port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). This could be useful if some terminal or printer is connected to that serial port. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyS1". (Try "man bootparam" or see the documentation of your boot loader (grub or lilo or loadlin) about how to pass options to the kernel at boot time.) If you don't have a VGA card installed and you say Y here, the kernel will automatically use the first serial line, /dev/ttyS0, as system console. You can set that using a kernel command line option such as "console=uart8250,io,0x3f8,9600n8" "console=uart8250,mmio,0xff5e0000,115200n8". and it will switch to normal serial console when the corresponding port is ready. "earlycon=uart8250,io,0x3f8,9600n8" "earlycon=uart8250,mmio,0xff5e0000,115200n8". it will not only setup early console. If unsure, say N. config SERIAL_8250_GSC tristate depends on SERIAL_8250 && PARISC default SERIAL_8250 config SERIAL_8250_DMA bool "DMA support for 16550 compatible UART controllers" if EXPERT depends on SERIAL_8250 && DMADEVICES=y default SERIAL_8250 help This builds DMA support that can be used with 8250/16650 compatible UART controllers that support DMA signaling. config SERIAL_8250_PCI tristate "8250/16550 PCI device support" depends on SERIAL_8250 && PCI default SERIAL_8250 help This builds standard PCI serial support. You may be able to disable this feature if you only need legacy serial support. Saves about 9K. Note that serial ports on NetMos 9835 Multi-I/O cards are handled by the parport_serial driver, enabled with CONFIG_PARPORT_SERIAL. config SERIAL_8250_EXAR tristate "8250/16550 Exar/Commtech PCI/PCIe device support" depends on SERIAL_8250_PCI default SERIAL_8250 help This builds support for XR17C1xx, XR17V3xx and some Commtech 422x PCIe serial cards that are not covered by the more generic SERIAL_8250_PCI option. config SERIAL_8250_HP300 tristate depends on SERIAL_8250 && HP300 default SERIAL_8250 config SERIAL_8250_CS tristate "8250/16550 PCMCIA device support" depends on PCMCIA && SERIAL_8250 ---help--- Say Y here to enable support for 16-bit PCMCIA serial devices, including serial port cards, modems, and the modem functions of multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are credit-card size devices often used with laptops.) To compile this driver as a module, choose M here: the module will be called serial_cs. If unsure, say N. config SERIAL_8250_MEN_MCB tristate "MEN MCB UART device support" depends on MCB && SERIAL_8250 help This enables support for FPGA based UARTs found on many MEN boards. This driver enables support for the 16z025, 16z057 and 16z125 UARTs. To compile this driver as a module, chose M here: the module will be called 8250_men_mcb. config SERIAL_8250_NR_UARTS int "Maximum number of 8250/16550 serial ports" depends on SERIAL_8250 default "4" help Set this to the number of serial ports you want the driver to support. This includes any ports discovered via ACPI or PCI enumeration and any ports that may be added at run-time via hot-plug, or any ISA multi-port serial cards. config SERIAL_8250_RUNTIME_UARTS int "Number of 8250/16550 serial ports to register at runtime" depends on SERIAL_8250 range 0 SERIAL_8250_NR_UARTS default "4" help Set this to the maximum number of serial ports you want the kernel to register at boot time. This can be overridden with the module parameter "nr_uarts", or boot-time parameter 8250.nr_uarts config SERIAL_8250_EXTENDED bool "Extended 8250/16550 serial driver options" depends on SERIAL_8250 help If you wish to use any non-standard features of the standard "dumb" driver, say Y here. This includes HUB6 support, shared serial interrupts, special multiport support, support for more than the four COM 1/2/3/4 boards, etc. Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about serial driver options. If unsure, say N. config SERIAL_8250_MANY_PORTS bool "Support more than 4 legacy serial ports" depends on SERIAL_8250_EXTENDED && !IA64 help Say Y here if you have dumb serial boards other than the four standard COM 1/2/3/4 ports. This may happen if you have an AST FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>), or other custom serial port hardware which acts similar to standard serial port hardware. If you only use the standard COM 1/2/3/4 ports, you can say N here to save some memory. You can also say Y if you have an "intelligent" multiport card such as Cyclades, Digiboards, etc. # # Multi-port serial cards # config SERIAL_8250_FOURPORT tristate "Support Fourport cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help Say Y here if you have an AST FourPort serial board. To compile this driver as a module, choose M here: the module will be called 8250_fourport. config SERIAL_8250_ACCENT tristate "Support Accent cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help Say Y here if you have an Accent Async serial board. To compile this driver as a module, choose M here: the module will be called 8250_accent. config SERIAL_8250_ASPEED_VUART tristate "Aspeed Virtual UART" depends on SERIAL_8250 depends on OF help If you want to use the virtual UART (VUART) device on Aspeed BMC platforms, enable this option. This enables the 16550A- compatible device on the local LPC bus, giving a UART device with no physical RS232 connections. config SERIAL_8250_BOCA tristate "Support Boca cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help Say Y here if you have a Boca serial board. Please read the Boca mini-HOWTO, available from <http://www.tldp.org/docs.html#howto> To compile this driver as a module, choose M here: the module will be called 8250_boca. config SERIAL_8250_EXAR_ST16C554 tristate "Support Exar ST16C554/554D Quad UART" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help The Uplogix Envoy TU301 uses this Exar Quad UART. If you are tinkering with your Envoy TU301, or have a machine with this UART, say Y here. To compile this driver as a module, choose M here: the module will be called 8250_exar_st16c554. config SERIAL_8250_HUB6 tristate "Support Hub6 cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS help Say Y here if you have a HUB6 serial board. To compile this driver as a module, choose M here: the module will be called 8250_hub6. # # Misc. options/drivers. # config SERIAL_8250_SHARE_IRQ bool "Support for sharing serial interrupts" depends on SERIAL_8250_EXTENDED help Some serial boards have hardware support which allows multiple dumb serial ports on the same board to share a single IRQ. To enable support for this in the serial driver, say Y here. config SERIAL_8250_DETECT_IRQ bool "Autodetect IRQ on standard ports (unsafe)" depends on SERIAL_8250_EXTENDED help Say Y here if you want the kernel to try to guess which IRQ to use for your serial port. This is considered unsafe; it is far better to configure the IRQ in a boot script using the setserial command. If unsure, say N. config SERIAL_8250_RSA bool "Support RSA serial ports" depends on SERIAL_8250_EXTENDED help Say Y here if you have a IODATA RSA-DV II/S ISA card and would like to use its >115kbps speeds. You will need to provide module parameter "probe_rsa", or boot-time parameter 8250.probe_rsa with I/O addresses of this card then. If you don't have such card, or if unsure, say N. config SERIAL_8250_DWLIB bool config SERIAL_8250_ACORN tristate "Acorn expansion card serial port support" depends on ARCH_ACORN && SERIAL_8250 help If you have an Atomwide Serial card or Serial Port card for an Acorn system, say Y to this option. The driver can handle 1, 2, or 3 port cards. If unsure, say N. config SERIAL_8250_BCM2835AUX tristate "BCM2835 auxiliar mini UART support" depends on ARCH_BCM2835 || COMPILE_TEST depends on SERIAL_8250 && SERIAL_8250_SHARE_IRQ help Support for the BCM2835 auxiliar mini UART. Features and limitations of the UART are Registers are similar to 16650 registers, set bits in the control registers that are unsupported are ignored and read back as 0 7/8 bit operation with 1 start and 1 stop bit 8 symbols deep fifo for rx and tx SW controlled RTS and SW readable CTS Clock rate derived from system clock Uses 8 times oversampling (compared to 16 times for 16650) Missing break detection (but break generation) Missing framing error detection Missing parity bit Missing receive time-out interrupt Missing DCD, DSR, DTR and RI signals If unsure, say N. config SERIAL_8250_FSL bool depends on SERIAL_8250_CONSOLE default PPC || ARM || ARM64 config SERIAL_8250_DW tristate "Support for Synopsys DesignWare 8250 quirks" depends on SERIAL_8250 select SERIAL_8250_DWLIB help Selecting this option will enable handling of the extra features present in the Synopsys DesignWare APB UART. config SERIAL_8250_EM tristate "Support for Emma Mobile integrated serial port" depends on SERIAL_8250 && ARM && HAVE_CLK help Selecting this option will add support for the integrated serial port hardware found on the Emma Mobile line of processors. If unsure, say N. config SERIAL_8250_RT288X bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" depends on SERIAL_8250 default y if MIPS_ALCHEMY || SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 help Selecting this option will add support for the alternate register layout used by Ralink RT288x/RT305x, Alchemy Au1xxx, and some others. If unsure, say N. config SERIAL_8250_OMAP tristate "Support for OMAP internal UART (8250 based driver)" depends on SERIAL_8250 && (ARCH_OMAP2PLUS || ARCH_K3) help If you have a machine based on an Texas Instruments OMAP CPU you can enable its onboard serial ports by enabling this option. This driver uses ttyS instead of ttyO. config SERIAL_8250_OMAP_TTYO_FIXUP bool "Replace ttyO with ttyS" depends on SERIAL_8250_OMAP=y && SERIAL_8250_CONSOLE default y help This option replaces the "console=ttyO" argument with the matching ttyS argument if the user did not specified it on the command line. This ensures that the user can see the kernel output during boot which he wouldn't see otherwise. The getty has still to be configured for ttyS instead of ttyO regardless of this option. This option is intended for people who "automatically" enable this driver without knowing that this driver requires a different console= argument. If you read this, please keep this option disabled and instead update your kernel command line. If you prepare a kernel for a distribution or other kind of larger user base then you probably want to keep this option enabled. Otherwise people might complain about a not booting kernel because the serial console remains silent in case they forgot to update the command line. config SERIAL_8250_LPC18XX tristate "NXP LPC18xx/43xx serial port support" depends on SERIAL_8250 && OF && (ARCH_LPC18XX || COMPILE_TEST) default ARCH_LPC18XX help If you have a LPC18xx/43xx based board and want to use the serial port, say Y to this option. If unsure, say Y. config SERIAL_8250_MT6577 tristate "Mediatek serial port support" depends on SERIAL_8250 && ARCH_MEDIATEK help If you have a Mediatek based board and want to use the serial port, say Y to this option. If unsure, say N. config SERIAL_8250_UNIPHIER tristate "Support for UniPhier on-chip UART" depends on SERIAL_8250 depends on ARCH_UNIPHIER || COMPILE_TEST help If you have a UniPhier based board and want to use the on-chip serial ports, say Y to this option. If unsure, say N. config SERIAL_8250_INGENIC tristate "Support for Ingenic SoC serial ports" depends on SERIAL_8250 depends on OF_FLATTREE depends on MIPS || COMPILE_TEST help If you have a system using an Ingenic SoC and wish to make use of its UARTs, say Y to this option. If unsure, say N. config SERIAL_8250_LPSS tristate "Support for serial ports on Intel LPSS platforms" default SERIAL_8250 depends on SERIAL_8250 && PCI depends on X86 || COMPILE_TEST select SERIAL_8250_DWLIB select DW_DMAC_CORE if SERIAL_8250_DMA select DW_DMAC_PCI if (SERIAL_8250_DMA && X86_INTEL_LPSS) select RATIONAL help Selecting this option will enable handling of the extra features present on the UART found on various Intel platforms such as: - Intel Baytrail SoC - Intel Braswell SoC - Intel Quark X1000 SoC config SERIAL_8250_MID tristate "Support for serial ports on Intel MID platforms" default SERIAL_8250 depends on SERIAL_8250 && PCI depends on X86 || COMPILE_TEST select HSU_DMA if SERIAL_8250_DMA select HSU_DMA_PCI if (HSU_DMA && X86_INTEL_MID) select RATIONAL help Selecting this option will enable handling of the extra features present on the UART found on Intel Medfield SOC and various other Intel platforms. config SERIAL_8250_PXA tristate "PXA serial port support" depends on SERIAL_8250 depends on ARCH_PXA || ARCH_MMP help If you have a machine based on an Intel XScale PXA2xx CPU you can enable its onboard serial ports by enabling this option. The option is applicable to both devicetree and legacy boards, and early console is part of its support. config SERIAL_OF_PLATFORM tristate "Devicetree based probing for 8250 ports" depends on SERIAL_8250 && OF help This option is used for all 8250 compatible serial ports that are probed through devicetree, including Open Firmware based PowerPC systems and embedded systems on architectures using the flattened device tree format. tty/serial/8250/Makefile 0000644 00000003372 14722053666 0010721 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the 8250 serial device drivers. # obj-$(CONFIG_SERIAL_8250) += 8250.o 8250_base.o 8250-y := 8250_core.o 8250-$(CONFIG_SERIAL_8250_PNP) += 8250_pnp.o 8250_base-y := 8250_port.o 8250_base-$(CONFIG_SERIAL_8250_DMA) += 8250_dma.o 8250_base-$(CONFIG_SERIAL_8250_DWLIB) += 8250_dwlib.o 8250_base-$(CONFIG_SERIAL_8250_FINTEK) += 8250_fintek.o obj-$(CONFIG_SERIAL_8250_GSC) += 8250_gsc.o obj-$(CONFIG_SERIAL_8250_PCI) += 8250_pci.o obj-$(CONFIG_SERIAL_8250_EXAR) += 8250_exar.o obj-$(CONFIG_SERIAL_8250_HP300) += 8250_hp300.o obj-$(CONFIG_SERIAL_8250_CS) += serial_cs.o obj-$(CONFIG_SERIAL_8250_ACORN) += 8250_acorn.o obj-$(CONFIG_SERIAL_8250_ASPEED_VUART) += 8250_aspeed_vuart.o obj-$(CONFIG_SERIAL_8250_BCM2835AUX) += 8250_bcm2835aux.o obj-$(CONFIG_SERIAL_8250_CONSOLE) += 8250_early.o obj-$(CONFIG_SERIAL_8250_FOURPORT) += 8250_fourport.o obj-$(CONFIG_SERIAL_8250_ACCENT) += 8250_accent.o obj-$(CONFIG_SERIAL_8250_BOCA) += 8250_boca.o obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554) += 8250_exar_st16c554.o obj-$(CONFIG_SERIAL_8250_HUB6) += 8250_hub6.o obj-$(CONFIG_SERIAL_8250_FSL) += 8250_fsl.o obj-$(CONFIG_SERIAL_8250_MEN_MCB) += 8250_men_mcb.o obj-$(CONFIG_SERIAL_8250_DW) += 8250_dw.o obj-$(CONFIG_SERIAL_8250_EM) += 8250_em.o obj-$(CONFIG_SERIAL_8250_OMAP) += 8250_omap.o obj-$(CONFIG_SERIAL_8250_LPC18XX) += 8250_lpc18xx.o obj-$(CONFIG_SERIAL_8250_MT6577) += 8250_mtk.o obj-$(CONFIG_SERIAL_8250_UNIPHIER) += 8250_uniphier.o obj-$(CONFIG_SERIAL_8250_INGENIC) += 8250_ingenic.o obj-$(CONFIG_SERIAL_8250_LPSS) += 8250_lpss.o obj-$(CONFIG_SERIAL_8250_MID) += 8250_mid.o obj-$(CONFIG_SERIAL_8250_PXA) += 8250_pxa.o obj-$(CONFIG_SERIAL_OF_PLATFORM) += 8250_of.o CFLAGS_8250_ingenic.o += -I$(srctree)/scripts/dtc/libfdt tty/serial/Makefile 0000644 00000007532 14722053666 0010325 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel serial device drivers. # obj-$(CONFIG_SERIAL_CORE) += serial_core.o obj-$(CONFIG_SERIAL_EARLYCON) += earlycon.o obj-$(CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST) += earlycon-arm-semihost.o obj-$(CONFIG_SERIAL_EARLYCON_RISCV_SBI) += earlycon-riscv-sbi.o # These Sparc drivers have to appear before others such as 8250 # which share ttySx minor node space. Otherwise console device # names change and other unplesantries. obj-$(CONFIG_SERIAL_SUNCORE) += suncore.o obj-$(CONFIG_SERIAL_SUNHV) += sunhv.o obj-$(CONFIG_SERIAL_SUNZILOG) += sunzilog.o obj-$(CONFIG_SERIAL_SUNSU) += sunsu.o obj-$(CONFIG_SERIAL_SUNSAB) += sunsab.o obj-$(CONFIG_SERIAL_21285) += 21285.o # Now bring in any enabled 8250/16450/16550 type drivers. obj-$(CONFIG_SERIAL_8250) += 8250/ obj-$(CONFIG_SERIAL_AMBA_PL010) += amba-pl010.o obj-$(CONFIG_SERIAL_AMBA_PL011) += amba-pl011.o obj-$(CONFIG_SERIAL_CLPS711X) += clps711x.o obj-$(CONFIG_SERIAL_PXA_NON8250) += pxa.o obj-$(CONFIG_SERIAL_PNX8XXX) += pnx8xxx_uart.o obj-$(CONFIG_SERIAL_SA1100) += sa1100.o obj-$(CONFIG_SERIAL_BCM63XX) += bcm63xx_uart.o obj-$(CONFIG_SERIAL_SAMSUNG) += samsung.o obj-$(CONFIG_SERIAL_MAX3100) += max3100.o obj-$(CONFIG_SERIAL_MAX310X) += max310x.o obj-$(CONFIG_SERIAL_IP22_ZILOG) += ip22zilog.o obj-$(CONFIG_SERIAL_MUX) += mux.o obj-$(CONFIG_SERIAL_MCF) += mcf.o obj-$(CONFIG_SERIAL_PMACZILOG) += pmac_zilog.o obj-$(CONFIG_SERIAL_HS_LPC32XX) += lpc32xx_hs.o obj-$(CONFIG_SERIAL_DZ) += dz.o obj-$(CONFIG_SERIAL_ZS) += zs.o obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.o obj-$(CONFIG_SERIAL_CPM) += cpm_uart/ obj-$(CONFIG_SERIAL_IMX) += imx.o obj-$(CONFIG_SERIAL_MPC52xx) += mpc52xx_uart.o obj-$(CONFIG_SERIAL_ICOM) += icom.o obj-$(CONFIG_SERIAL_MESON) += meson_uart.o obj-$(CONFIG_SERIAL_SB1250_DUART) += sb1250-duart.o obj-$(CONFIG_SERIAL_SCCNXP) += sccnxp.o obj-$(CONFIG_SERIAL_SC16IS7XX_CORE) += sc16is7xx.o obj-$(CONFIG_SERIAL_JSM) += jsm/ obj-$(CONFIG_SERIAL_TXX9) += serial_txx9.o obj-$(CONFIG_SERIAL_VR41XX) += vr41xx_siu.o obj-$(CONFIG_SERIAL_ATMEL) += atmel_serial.o obj-$(CONFIG_SERIAL_UARTLITE) += uartlite.o obj-$(CONFIG_SERIAL_MSM) += msm_serial.o obj-$(CONFIG_SERIAL_QCOM_GENI) += qcom_geni_serial.o obj-$(CONFIG_SERIAL_OMAP) += omap-serial.o obj-$(CONFIG_SERIAL_ALTERA_UART) += altera_uart.o obj-$(CONFIG_SERIAL_ST_ASC) += st-asc.o obj-$(CONFIG_SERIAL_QE) += ucc_uart.o obj-$(CONFIG_SERIAL_TIMBERDALE) += timbuart.o obj-$(CONFIG_SERIAL_GRLIB_GAISLER_APBUART) += apbuart.o obj-$(CONFIG_SERIAL_ALTERA_JTAGUART) += altera_jtaguart.o obj-$(CONFIG_SERIAL_VT8500) += vt8500_serial.o obj-$(CONFIG_SERIAL_IFX6X60) += ifx6x60.o obj-$(CONFIG_SERIAL_PCH_UART) += pch_uart.o obj-$(CONFIG_SERIAL_MXS_AUART) += mxs-auart.o obj-$(CONFIG_SERIAL_LANTIQ) += lantiq.o obj-$(CONFIG_SERIAL_XILINX_PS_UART) += xilinx_uartps.o obj-$(CONFIG_SERIAL_SIRFSOC) += sirfsoc_uart.o obj-$(CONFIG_SERIAL_TEGRA) += serial-tegra.o obj-$(CONFIG_SERIAL_TEGRA_TCU) += tegra-tcu.o obj-$(CONFIG_SERIAL_AR933X) += ar933x_uart.o obj-$(CONFIG_SERIAL_EFM32_UART) += efm32-uart.o obj-$(CONFIG_SERIAL_ARC) += arc_uart.o obj-$(CONFIG_SERIAL_RP2) += rp2.o obj-$(CONFIG_SERIAL_FSL_LPUART) += fsl_lpuart.o obj-$(CONFIG_SERIAL_FSL_LINFLEXUART) += fsl_linflexuart.o obj-$(CONFIG_SERIAL_CONEXANT_DIGICOLOR) += digicolor-usart.o obj-$(CONFIG_SERIAL_MEN_Z135) += men_z135_uart.o obj-$(CONFIG_SERIAL_SPRD) += sprd_serial.o obj-$(CONFIG_SERIAL_STM32) += stm32-usart.o obj-$(CONFIG_SERIAL_MVEBU_UART) += mvebu-uart.o obj-$(CONFIG_SERIAL_PIC32) += pic32_uart.o obj-$(CONFIG_SERIAL_MPS2_UART) += mps2-uart.o obj-$(CONFIG_SERIAL_OWL) += owl-uart.o obj-$(CONFIG_SERIAL_RDA) += rda-uart.o obj-$(CONFIG_SERIAL_MILBEAUT_USIO) += milbeaut_usio.o obj-$(CONFIG_SERIAL_SIFIVE) += sifive.o # GPIOLIB helpers for modem control lines obj-$(CONFIG_SERIAL_MCTRL_GPIO) += serial_mctrl_gpio.o obj-$(CONFIG_SERIAL_KGDB_NMI) += kgdb_nmi.o obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgdboc.o tty/serial/cpm_uart/Makefile 0000644 00000000504 14722053666 0012127 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Motorola 8xx FEC ethernet controller # obj-$(CONFIG_SERIAL_CPM) += cpm_uart.o # Select the correct platform objects. cpm_uart-objs-$(CONFIG_CPM2) += cpm_uart_cpm2.o cpm_uart-objs-$(CONFIG_CPM1) += cpm_uart_cpm1.o cpm_uart-objs := cpm_uart_core.o $(cpm_uart-objs-y) tty/hvc/Kconfig 0000644 00000006335 14722053666 0007471 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 if TTY config HVC_DRIVER bool help Generic "hypervisor virtual console" infrastructure for various hypervisors (pSeries, iSeries, Xen). It will automatically be selected if one of the back-end console drivers is selected. config HVC_IRQ bool config HVC_CONSOLE bool "pSeries Hypervisor Virtual Console support" depends on PPC_PSERIES select HVC_DRIVER select HVC_IRQ help pSeries machines when partitioned support a hypervisor virtual console. This driver allows each pSeries partition to have a console which is accessed via the HMC. config HVC_OLD_HVSI bool "Old driver for pSeries serial port (/dev/hvsi*)" depends on HVC_CONSOLE config HVC_OPAL bool "OPAL Console support" depends on PPC_POWERNV select HVC_DRIVER select HVC_IRQ default y help PowerNV machines running under OPAL need that driver to get a console config HVC_RTAS bool "IBM RTAS Console support" depends on PPC_RTAS select HVC_DRIVER help IBM Console device driver which makes use of RTAS config HVC_IUCV bool "z/VM IUCV Hypervisor console support (VM only)" depends on S390 && NET select HVC_DRIVER select IUCV default y help This driver provides a Hypervisor console (HVC) back-end to access a Linux (console) terminal via a z/VM IUCV communication path. config HVC_XEN bool "Xen Hypervisor Console support" depends on XEN select HVC_DRIVER select HVC_IRQ default y help Xen virtual console device driver config HVC_XEN_FRONTEND bool "Xen Hypervisor Multiple Consoles support" depends on HVC_XEN select XEN_XENBUS_FRONTEND default y help Xen driver for secondary virtual consoles config HVC_UDBG bool "udbg based fake hypervisor console" depends on PPC select HVC_DRIVER help This is meant to be used during HW bring up or debugging when no other console mechanism exist but udbg, to get you a quick console for userspace. Do NOT enable in production kernels. config HVC_DCC bool "ARM JTAG DCC console" depends on ARM || ARM64 select HVC_DRIVER help This console uses the JTAG DCC on ARM to create a console under the HVC driver. This console is used through a JTAG only on ARM. If you don't have a JTAG then you probably don't want this option. config HVC_RISCV_SBI bool "RISC-V SBI console support" depends on RISCV select HVC_DRIVER help This enables support for console output via RISC-V SBI calls, which is normally used only during boot to output printk. If you don't know what do to here, say Y. config HVCS tristate "IBM Hypervisor Virtual Console Server support" depends on PPC_PSERIES && HVC_CONSOLE help Partitionable IBM Power5 ppc64 machines allow hosting of firmware virtual consoles from one Linux partition by another Linux partition. This driver allows console data from Linux partitions to be accessed through TTY device interfaces in the device tree of a Linux partition running this driver. To compile this driver as a module, choose M here: the module will be called hvcs. Additionally, this module will depend on arch specific APIs exported from hvcserver.ko which will also be compiled when this driver is built as a module. endif # TTY tty/hvc/Makefile 0000644 00000001000 14722053666 0007606 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_HVC_CONSOLE) += hvc_vio.o hvsi_lib.o obj-$(CONFIG_HVC_OPAL) += hvc_opal.o hvsi_lib.o obj-$(CONFIG_HVC_OLD_HVSI) += hvsi.o obj-$(CONFIG_HVC_RTAS) += hvc_rtas.o obj-$(CONFIG_HVC_DCC) += hvc_dcc.o obj-$(CONFIG_HVC_DRIVER) += hvc_console.o obj-$(CONFIG_HVC_IRQ) += hvc_irq.o obj-$(CONFIG_HVC_XEN) += hvc_xen.o obj-$(CONFIG_HVC_IUCV) += hvc_iucv.o obj-$(CONFIG_HVC_UDBG) += hvc_udbg.o obj-$(CONFIG_HVC_RISCV_SBI) += hvc_riscv_sbi.o obj-$(CONFIG_HVCS) += hvcs.o tty/Makefile 0000644 00000002421 14722053666 0007036 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TTY) += tty_io.o n_tty.o tty_ioctl.o tty_ldisc.o \ tty_buffer.o tty_port.o tty_mutex.o \ tty_ldsem.o tty_baudrate.o tty_jobctrl.o \ n_null.o obj-$(CONFIG_LEGACY_PTYS) += pty.o obj-$(CONFIG_UNIX98_PTYS) += pty.o obj-$(CONFIG_AUDIT) += tty_audit.o obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o obj-$(CONFIG_N_HDLC) += n_hdlc.o obj-$(CONFIG_N_GSM) += n_gsm.o obj-$(CONFIG_TRACE_ROUTER) += n_tracerouter.o obj-$(CONFIG_TRACE_SINK) += n_tracesink.o obj-$(CONFIG_R3964) += n_r3964.o obj-y += vt/ obj-$(CONFIG_HVC_DRIVER) += hvc/ obj-y += serial/ obj-$(CONFIG_SERIAL_DEV_BUS) += serdev/ # tty drivers obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o obj-$(CONFIG_CYCLADES) += cyclades.o obj-$(CONFIG_ISI) += isicom.o obj-$(CONFIG_MOXA_INTELLIO) += moxa.o obj-$(CONFIG_MOXA_SMARTIO) += mxser.o obj-$(CONFIG_NOZOMI) += nozomi.o obj-$(CONFIG_NULL_TTY) += ttynull.o obj-$(CONFIG_ROCKETPORT) += rocket.o obj-$(CONFIG_SYNCLINK_GT) += synclink_gt.o obj-$(CONFIG_SYNCLINKMP) += synclinkmp.o obj-$(CONFIG_SYNCLINK) += synclink.o obj-$(CONFIG_PPC_EPAPR_HV_BYTECHAN) += ehv_bytechan.o obj-$(CONFIG_GOLDFISH_TTY) += goldfish.o obj-$(CONFIG_MIPS_EJTAG_FDC_TTY) += mips_ejtag_fdc.o obj-$(CONFIG_VCC) += vcc.o obj-y += ipwireless/ i3c/master/Kconfig 0000644 00000001241 14722053666 0010031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CDNS_I3C_MASTER tristate "Cadence I3C master driver" depends on I3C depends on HAS_IOMEM depends on !(ALPHA || PARISC) help Enable this driver if you want to support Cadence I3C master block. config DW_I3C_MASTER tristate "Synospsys DesignWare I3C master driver" depends on I3C depends on HAS_IOMEM depends on !(ALPHA || PARISC) # ALPHA and PARISC needs {read,write}sl() help Support for Synopsys DesignWare MIPI I3C Controller. For details please see https://www.synopsys.com/dw/ipdir.php?ds=mipi_i3c This driver can also be built as a module. If so, the module will be called dw-i3c-master. i3c/master/Makefile 0000644 00000000214 14722053666 0010165 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CDNS_I3C_MASTER) += i3c-master-cdns.o obj-$(CONFIG_DW_I3C_MASTER) += dw-i3c-master.o i3c/Kconfig 0000644 00000001306 14722053666 0006540 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig I3C tristate "I3C support" select I2C help I3C is a serial protocol standardized by the MIPI alliance. It's supposed to be backward compatible with I2C while providing support for high speed transfers and native interrupt support without the need for extra pins. The I3C protocol also standardizes the slave device types and is mainly designed to communicate with sensors. If you want I3C support, you should say Y here and also to the specific driver for your bus adapter(s) below. This I3C support can also be built as a module. If so, the module will be called i3c. if I3C source "drivers/i3c/master/Kconfig" endif # I3C i3c/Makefile 0000644 00000000173 14722053666 0006676 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 i3c-y := device.o master.o obj-$(CONFIG_I3C) += i3c.o obj-$(CONFIG_I3C) += master/ rtc/Kconfig 0000644 00000157121 14722053666 0006661 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # RTC class/drivers configuration # config RTC_LIB bool config RTC_MC146818_LIB bool select RTC_LIB menuconfig RTC_CLASS bool "Real Time Clock" default n depends on !S390 && !UML select RTC_LIB help Generic RTC class support. If you say yes here, you will be allowed to plug one or more RTCs to your system. You will probably want to enable one or more of the interfaces below. if RTC_CLASS config RTC_HCTOSYS bool "Set system time from RTC on startup and resume" default y help If you say yes here, the system time (wall clock) will be set using the value read from a specified RTC device. This is useful to avoid unnecessary fsck runs at boot time, and to network better. config RTC_HCTOSYS_DEVICE string "RTC used to set the system time" depends on RTC_HCTOSYS default "rtc0" help The RTC device that will be used to (re)initialize the system clock, usually rtc0. Initialization is done when the system starts up, and when it resumes from a low power state. This device should record time in UTC, since the kernel won't do timezone correction. The driver for this RTC device must be loaded before late_initcall functions run, so it must usually be statically linked. This clock should be battery-backed, so that it reads the correct time when the system boots from a power-off state. Otherwise, your system will need an external clock source (like an NTP server). If the clock you specify here is not battery backed, it may still be useful to reinitialize system time when resuming from system sleep states. Do not specify an RTC here unless it stays powered during all this system's supported sleep states. config RTC_SYSTOHC bool "Set the RTC time based on NTP synchronization" default y help If you say yes here, the system time (wall clock) will be stored in the RTC specified by RTC_HCTOSYS_DEVICE approximately every 11 minutes if userspace reports synchronized NTP status. config RTC_SYSTOHC_DEVICE string "RTC used to synchronize NTP adjustment" depends on RTC_SYSTOHC default RTC_HCTOSYS_DEVICE if RTC_HCTOSYS default "rtc0" help The RTC device used for NTP synchronization. The main difference between RTC_HCTOSYS_DEVICE and RTC_SYSTOHC_DEVICE is that this one can sleep when setting time, because it runs in the workqueue context. config RTC_DEBUG bool "RTC debug support" help Say yes here to enable debugging support in the RTC framework and individual RTC drivers. config RTC_NVMEM bool "RTC non volatile storage support" select NVMEM default RTC_CLASS help Say yes here to add support for the non volatile (often battery backed) storage present on RTCs. comment "RTC interfaces" config RTC_INTF_SYSFS bool "/sys/class/rtc/rtcN (sysfs)" depends on SYSFS default RTC_CLASS help Say yes here if you want to use your RTCs using sysfs interfaces, /sys/class/rtc/rtc0 through /sys/.../rtcN. If unsure, say Y. config RTC_INTF_PROC bool "/proc/driver/rtc (procfs for rtcN)" depends on PROC_FS default RTC_CLASS help Say yes here if you want to use your system clock RTC through the proc interface, /proc/driver/rtc. Other RTCs will not be available through that API. If there is no RTC for the system clock, then the first RTC(rtc0) is used by default. If unsure, say Y. config RTC_INTF_DEV bool "/dev/rtcN (character devices)" default RTC_CLASS help Say yes here if you want to use your RTCs using the /dev interfaces, which "udev" sets up as /dev/rtc0 through /dev/rtcN. You may want to set up a symbolic link so one of these can be accessed as /dev/rtc, which is a name expected by "hwclock" and some other programs. Recent versions of "udev" are known to set up the symlink for you. If unsure, say Y. config RTC_INTF_DEV_UIE_EMUL bool "RTC UIE emulation on dev interface" depends on RTC_INTF_DEV help Provides an emulation for RTC_UIE if the underlying rtc chip driver does not expose RTC_UIE ioctls. Those requests generate once-per-second update interrupts, used for synchronization. The emulation code will read the time from the hardware clock several times per second, please enable this option only if you know that you really need it. config RTC_DRV_TEST tristate "Test driver/device" help If you say yes here you get support for the RTC test driver. It's a software RTC which can be used to test the RTC subsystem APIs. It gets the time from the system clock. You want this driver only if you are doing development on the RTC subsystem. Please read the source code for further details. This driver can also be built as a module. If so, the module will be called rtc-test. comment "I2C RTC drivers" if I2C config RTC_DRV_88PM860X tristate "Marvell 88PM860x" depends on MFD_88PM860X help If you say yes here you get support for RTC function in Marvell 88PM860x chips. This driver can also be built as a module. If so, the module will be called rtc-88pm860x. config RTC_DRV_88PM80X tristate "Marvell 88PM80x" depends on MFD_88PM800 help If you say yes here you get support for RTC function in Marvell 88PM80x chips. This driver can also be built as a module. If so, the module will be called rtc-88pm80x. config RTC_DRV_ABB5ZES3 select REGMAP_I2C tristate "Abracon AB-RTCMC-32.768kHz-B5ZE-S3" help If you say yes here you get support for the Abracon AB-RTCMC-32.768kHz-B5ZE-S3 I2C RTC chip. This driver can also be built as a module. If so, the module will be called rtc-ab-b5ze-s3. config RTC_DRV_ABEOZ9 select REGMAP_I2C tristate "Abracon AB-RTCMC-32.768kHz-EOZ9" help If you say yes here you get support for the Abracon AB-RTCMC-32.768kHz-EOA9 I2C RTC chip. This driver can also be built as a module. If so, the module will be called rtc-ab-e0z9. config RTC_DRV_ABX80X tristate "Abracon ABx80x" select WATCHDOG_CORE if WATCHDOG help If you say yes here you get support for Abracon AB080X and AB180X families of ultra-low-power battery- and capacitor-backed real-time clock chips. This driver can also be built as a module. If so, the module will be called rtc-abx80x. config RTC_DRV_AC100 tristate "X-Powers AC100" depends on MFD_AC100 help If you say yes here you get support for the real-time clock found in X-Powers AC100 family peripheral ICs. This driver can also be built as a module. If so, the module will be called rtc-ac100. config RTC_DRV_AM1805 tristate "Ambiq micro AM1805 RTC driver" help If you say yes here you get support for Ambiq micro AM1805 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-am1805. config RTC_DRV_BRCMSTB tristate "Broadcom STB wake-timer" depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST default ARCH_BRCMSTB || BMIPS_GENERIC help If you say yes here you get support for the wake-timer found on Broadcom STB SoCs (BCM7xxx). This driver can also be built as a module. If so, the module will be called rtc-brcmstb-waketimer. config RTC_DRV_AS3722 tristate "ams AS3722 RTC driver" depends on MFD_AS3722 help If you say yes here you get support for the RTC of ams AS3722 PMIC chips. This driver can also be built as a module. If so, the module will be called rtc-as3722. config RTC_DRV_DS1307 tristate "Dallas/Maxim DS1307/37/38/39/40/41, ST M41T00, EPSON RX-8025, ISL12057" select REGMAP_I2C help If you say yes here you get support for various compatible RTC chips (often with battery backup) connected with I2C. This driver should handle DS1307, DS1337, DS1338, DS1339, DS1340, DS1341, ST M41T00, EPSON RX-8025, Intersil ISL12057 and probably other chips. In some cases the RTC must already have been initialized (by manufacturing or a bootloader). The first seven registers on these chips hold an RTC, and other registers may add features such as NVRAM, a trickle charger for the RTC/NVRAM backup power, and alarms. NVRAM is visible in sysfs, but other chip features may not be available. This driver can also be built as a module. If so, the module will be called rtc-ds1307. config RTC_DRV_DS1307_CENTURY bool "Century bit support for rtc-ds1307" depends on RTC_DRV_DS1307 default n help The DS1307 driver suffered from a bug where it was enabling the century bit inconditionnally but never used it when reading the time. It made the driver unable to support dates beyond 2099. Setting this option will add proper support for the century bit but if the time was previously set using a kernel predating this option, reading the date will return a date in the next century. To solve that, you could boot a kernel without this option set, set the RTC date and then boot a kernel with this option set. config RTC_DRV_DS1374 tristate "Dallas/Maxim DS1374" help If you say yes here you get support for Dallas Semiconductor DS1374 real-time clock chips. If an interrupt is associated with the device, the alarm functionality is supported. This driver can also be built as a module. If so, the module will be called rtc-ds1374. config RTC_DRV_DS1374_WDT bool "Dallas/Maxim DS1374 watchdog timer" depends on RTC_DRV_DS1374 help If you say Y here you will get support for the watchdog timer in the Dallas Semiconductor DS1374 real-time clock chips. config RTC_DRV_DS1672 tristate "Dallas/Maxim DS1672" help If you say yes here you get support for the Dallas/Maxim DS1672 timekeeping chip. This driver can also be built as a module. If so, the module will be called rtc-ds1672. config RTC_DRV_HYM8563 tristate "Haoyu Microelectronics HYM8563" depends on OF help Say Y to enable support for the HYM8563 I2C RTC chip. Apart from the usual rtc functions it provides a clock output of up to 32kHz. This driver can also be built as a module. If so, the module will be called rtc-hym8563. config RTC_DRV_LP8788 tristate "TI LP8788 RTC driver" depends on MFD_LP8788 help Say Y to enable support for the LP8788 RTC/ALARM driver. config RTC_DRV_MAX6900 tristate "Maxim MAX6900" help If you say yes here you will get support for the Maxim MAX6900 I2C RTC chip. This driver can also be built as a module. If so, the module will be called rtc-max6900. config RTC_DRV_MAX8907 tristate "Maxim MAX8907" depends on MFD_MAX8907 || COMPILE_TEST select REGMAP_IRQ help If you say yes here you will get support for the RTC of Maxim MAX8907 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max8907. config RTC_DRV_MAX8925 tristate "Maxim MAX8925" depends on MFD_MAX8925 help If you say yes here you will get support for the RTC of Maxim MAX8925 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max8925. config RTC_DRV_MAX8998 tristate "Maxim MAX8998" depends on MFD_MAX8998 help If you say yes here you will get support for the RTC of Maxim MAX8998 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max8998. config RTC_DRV_MAX8997 tristate "Maxim MAX8997" depends on MFD_MAX8997 help If you say yes here you will get support for the RTC of Maxim MAX8997 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max8997. config RTC_DRV_MAX77686 tristate "Maxim MAX77686" depends on MFD_MAX77686 || MFD_MAX77620 || COMPILE_TEST help If you say yes here you will get support for the RTC of Maxim MAX77686/MAX77620/MAX77802 PMIC. This driver can also be built as a module. If so, the module will be called rtc-max77686. config RTC_DRV_MESON_VRTC tristate "Amlogic Meson Virtual RTC" depends on ARCH_MESON || COMPILE_TEST default m if ARCH_MESON help If you say yes here you will get support for the Virtual RTC of Amlogic SoCs. This driver can also be built as a module. If so, the module will be called rtc-meson-vrtc. config RTC_DRV_RK808 tristate "Rockchip RK805/RK808/RK809/RK817/RK818 RTC" depends on MFD_RK808 help If you say yes here you will get support for the RTC of RK805, RK809 and RK817, RK808 and RK818 PMIC. This driver can also be built as a module. If so, the module will be called rk808-rtc. config RTC_DRV_RS5C372 tristate "Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A" help If you say yes here you get support for the Ricoh R2025S/D, RS5C372A, RS5C372B, RV5C386, and RV5C387A RTC chips. This driver can also be built as a module. If so, the module will be called rtc-rs5c372. config RTC_DRV_ISL1208 tristate "Intersil ISL1208" help If you say yes here you get support for the Intersil ISL1208 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-isl1208. config RTC_DRV_ISL12022 tristate "Intersil ISL12022" help If you say yes here you get support for the Intersil ISL12022 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-isl12022. config RTC_DRV_ISL12026 tristate "Intersil ISL12026" depends on OF || COMPILE_TEST help If you say yes here you get support for the Intersil ISL12026 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-isl12026. config RTC_DRV_X1205 tristate "Xicor/Intersil X1205" help If you say yes here you get support for the Xicor/Intersil X1205 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-x1205. config RTC_DRV_PCF8523 tristate "NXP PCF8523" help If you say yes here you get support for the NXP PCF8523 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-pcf8523. config RTC_DRV_PCF85063 tristate "NXP PCF85063" select REGMAP_I2C help If you say yes here you get support for the PCF85063 RTC chip This driver can also be built as a module. If so, the module will be called rtc-pcf85063. config RTC_DRV_PCF85363 tristate "NXP PCF85363" select REGMAP_I2C help If you say yes here you get support for the PCF85363 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-pcf85363. The nvmem interface will be named pcf85363-#, where # is the zero-based instance number. config RTC_DRV_PCF8563 tristate "Philips PCF8563/Epson RTC8564" help If you say yes here you get support for the Philips PCF8563 RTC chip. The Epson RTC8564 should work as well. This driver can also be built as a module. If so, the module will be called rtc-pcf8563. config RTC_DRV_PCF8583 tristate "Philips PCF8583" help If you say yes here you get support for the Philips PCF8583 RTC chip found on Acorn RiscPCs. This driver supports the platform specific method of retrieving the current year from the RTC's SRAM. It will work on other platforms with the same chip, but the year will probably have to be tweaked. This driver can also be built as a module. If so, the module will be called rtc-pcf8583. config RTC_DRV_M41T80 tristate "ST M41T62/65/M41T80/81/82/83/84/85/87 and compatible" help If you say Y here you will get support for the ST M41T60 and M41T80 RTC chips series. Currently, the following chips are supported: M41T62, M41T65, M41T80, M41T81, M41T82, M41T83, M41ST84, M41ST85, M41ST87, and MicroCrystal RV4162. This driver can also be built as a module. If so, the module will be called rtc-m41t80. config RTC_DRV_M41T80_WDT bool "ST M41T65/M41T80 series RTC watchdog timer" depends on RTC_DRV_M41T80 help If you say Y here you will get support for the watchdog timer in the ST M41T60 and M41T80 RTC chips series. config RTC_DRV_BD70528 tristate "ROHM BD70528 PMIC RTC" depends on MFD_ROHM_BD70528 && (BD70528_WATCHDOG || !BD70528_WATCHDOG) help If you say Y here you will get support for the RTC on ROHM BD70528 Power Management IC. This driver can also be built as a module. If so, the module will be called rtc-bd70528. config RTC_DRV_BQ32K tristate "TI BQ32000" help If you say Y here you will get support for the TI BQ32000 I2C RTC chip. This driver can also be built as a module. If so, the module will be called rtc-bq32k. config RTC_DRV_DM355EVM tristate "TI DaVinci DM355 EVM RTC" depends on MFD_DM355EVM_MSP help Supports the RTC firmware in the MSP430 on the DM355 EVM. config RTC_DRV_TWL92330 bool "TI TWL92330/Menelaus" depends on MENELAUS help If you say yes here you get support for the RTC on the TWL92330 "Menelaus" power management chip, used with OMAP2 platforms. The support is integrated with the rest of the Menelaus driver; it's not separate module. config RTC_DRV_TWL4030 tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0" depends on TWL4030_CORE depends on OF help If you say yes here you get support for the RTC on the TWL4030/TWL5030/TWL6030 family chips, used mostly with OMAP3 platforms. This driver can also be built as a module. If so, the module will be called rtc-twl. config RTC_DRV_PALMAS tristate "TI Palmas RTC driver" depends on MFD_PALMAS help If you say yes here you get support for the RTC of TI PALMA series PMIC chips. This driver can also be built as a module. If so, the module will be called rtc-palma. config RTC_DRV_TPS6586X tristate "TI TPS6586X RTC driver" depends on MFD_TPS6586X help TI Power Management IC TPS6586X supports RTC functionality along with alarm. This driver supports the RTC driver for the TPS6586X RTC module. config RTC_DRV_TPS65910 tristate "TI TPS65910 RTC driver" depends on MFD_TPS65910 help If you say yes here you get support for the RTC on the TPS65910 chips. This driver can also be built as a module. If so, the module will be called rtc-tps65910. config RTC_DRV_TPS80031 tristate "TI TPS80031/TPS80032 RTC driver" depends on MFD_TPS80031 help TI Power Management IC TPS80031 supports RTC functionality along with alarm. This driver supports the RTC driver for the TPS80031 RTC module. config RTC_DRV_RC5T583 tristate "RICOH 5T583 RTC driver" depends on MFD_RC5T583 help If you say yes here you get support for the RTC on the RICOH 5T583 chips. This driver can also be built as a module. If so, the module will be called rtc-rc5t583. config RTC_DRV_S35390A tristate "Seiko Instruments S-35390A" select BITREVERSE help If you say yes here you will get support for the Seiko Instruments S-35390A. This driver can also be built as a module. If so the module will be called rtc-s35390a. config RTC_DRV_FM3130 tristate "Ramtron FM3130" help If you say Y here you will get support for the Ramtron FM3130 RTC chips. Ramtron FM3130 is a chip with two separate devices inside, RTC clock and FRAM. This driver provides only RTC functionality. This driver can also be built as a module. If so the module will be called rtc-fm3130. config RTC_DRV_RX8010 tristate "Epson RX8010SJ" select REGMAP_I2C help If you say yes here you get support for the Epson RX8010SJ RTC chip. This driver can also be built as a module. If so, the module will be called rtc-rx8010. config RTC_DRV_RX8581 tristate "Epson RX-8571/RX-8581" select REGMAP_I2C help If you say yes here you will get support for the Epson RX-8571/ RX-8581. This driver can also be built as a module. If so the module will be called rtc-rx8581. config RTC_DRV_RX8025 tristate "Epson RX-8025SA/NB" help If you say yes here you get support for the Epson RX-8025SA/NB RTC chips. This driver can also be built as a module. If so, the module will be called rtc-rx8025. config RTC_DRV_EM3027 tristate "EM Microelectronic EM3027" help If you say yes here you get support for the EM Microelectronic EM3027 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-em3027. config RTC_DRV_RV3028 tristate "Micro Crystal RV3028" select REGMAP_I2C help If you say yes here you get support for the Micro Crystal RV3028. This driver can also be built as a module. If so, the module will be called rtc-rv3028. config RTC_DRV_RV8803 tristate "Micro Crystal RV8803, Epson RX8900" help If you say yes here you get support for the Micro Crystal RV8803 and Epson RX8900 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-rv8803. config RTC_DRV_S5M tristate "Samsung S2M/S5M series" depends on MFD_SEC_CORE || COMPILE_TEST select REGMAP_IRQ select REGMAP_I2C help If you say yes here you will get support for the RTC of Samsung S2MPS14 and S5M PMIC series. This driver can also be built as a module. If so, the module will be called rtc-s5m. config RTC_DRV_SD3078 tristate "ZXW Shenzhen whwave SD3078" select REGMAP_I2C help If you say yes here you get support for the ZXW Shenzhen whwave SD3078 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-sd3078 endif # I2C comment "SPI RTC drivers" if SPI_MASTER config RTC_DRV_M41T93 tristate "ST M41T93" help If you say yes here you will get support for the ST M41T93 SPI RTC chip. This driver can also be built as a module. If so, the module will be called rtc-m41t93. config RTC_DRV_M41T94 tristate "ST M41T94" help If you say yes here you will get support for the ST M41T94 SPI RTC chip. This driver can also be built as a module. If so, the module will be called rtc-m41t94. config RTC_DRV_DS1302 tristate "Dallas/Maxim DS1302" depends on SPI help If you say yes here you get support for the Dallas DS1302 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-ds1302. config RTC_DRV_DS1305 tristate "Dallas/Maxim DS1305/DS1306" help Select this driver to get support for the Dallas/Maxim DS1305 and DS1306 real time clock chips. These support a trickle charger, alarms, and NVRAM in addition to the clock. This driver can also be built as a module. If so, the module will be called rtc-ds1305. config RTC_DRV_DS1343 select REGMAP_SPI tristate "Dallas/Maxim DS1343/DS1344" help If you say yes here you get support for the Dallas/Maxim DS1343 and DS1344 real time clock chips. Support for trickle charger, alarm is provided. This driver can also be built as a module. If so, the module will be called rtc-ds1343. config RTC_DRV_DS1347 select REGMAP_SPI tristate "Dallas/Maxim DS1347" help If you say yes here you get support for the Dallas/Maxim DS1347 chips. This driver only supports the RTC feature, and not other chip features such as alarms. This driver can also be built as a module. If so, the module will be called rtc-ds1347. config RTC_DRV_DS1390 tristate "Dallas/Maxim DS1390/93/94" help If you say yes here you get support for the Dallas/Maxim DS1390/93/94 chips. This driver supports the RTC feature and trickle charging but not other chip features such as alarms. This driver can also be built as a module. If so, the module will be called rtc-ds1390. config RTC_DRV_MAX6916 tristate "Maxim MAX6916" help If you say yes here you will get support for the Maxim MAX6916 SPI RTC chip. This driver only supports the RTC feature, and not other chip features such as alarms. This driver can also be built as a module. If so, the module will be called rtc-max6916. config RTC_DRV_R9701 tristate "Epson RTC-9701JE" help If you say yes here you will get support for the Epson RTC-9701JE SPI RTC chip. This driver can also be built as a module. If so, the module will be called rtc-r9701. config RTC_DRV_RX4581 tristate "Epson RX-4581" help If you say yes here you will get support for the Epson RX-4581. This driver can also be built as a module. If so the module will be called rtc-rx4581. config RTC_DRV_RX6110 tristate "Epson RX-6110" select REGMAP_SPI help If you say yes here you will get support for the Epson RX-6610. This driver can also be built as a module. If so the module will be called rtc-rx6110. config RTC_DRV_RS5C348 tristate "Ricoh RS5C348A/B" help If you say yes here you get support for the Ricoh RS5C348A and RS5C348B RTC chips. This driver can also be built as a module. If so, the module will be called rtc-rs5c348. config RTC_DRV_MAX6902 tristate "Maxim MAX6902" help If you say yes here you will get support for the Maxim MAX6902 SPI RTC chip. This driver can also be built as a module. If so, the module will be called rtc-max6902. config RTC_DRV_PCF2123 tristate "NXP PCF2123" select REGMAP_SPI help If you say yes here you get support for the NXP PCF2123 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-pcf2123. config RTC_DRV_MCP795 tristate "Microchip MCP795" help If you say yes here you will get support for the Microchip MCP795. This driver can also be built as a module. If so the module will be called rtc-mcp795. endif # SPI_MASTER # # Helper to resolve issues with configs that have SPI enabled but I2C # modular. See SND_SOC_I2C_AND_SPI for more information # config RTC_I2C_AND_SPI tristate default m if I2C=m default y if I2C=y default y if SPI_MASTER=y comment "SPI and I2C RTC drivers" config RTC_DRV_DS3232 tristate "Dallas/Maxim DS3232/DS3234" depends on RTC_I2C_AND_SPI select REGMAP_I2C if I2C select REGMAP_SPI if SPI_MASTER help If you say yes here you get support for Dallas Semiconductor DS3232 and DS3234 real-time clock chips. If an interrupt is associated with the device, the alarm functionality is supported. This driver can also be built as a module. If so, the module will be called rtc-ds3232. config RTC_DRV_DS3232_HWMON bool "HWMON support for Dallas/Maxim DS3232/DS3234" depends on RTC_DRV_DS3232 && HWMON && !(RTC_DRV_DS3232=y && HWMON=m) default y help Say Y here if you want to expose temperature sensor data on rtc-ds3232 config RTC_DRV_PCF2127 tristate "NXP PCF2127" depends on RTC_I2C_AND_SPI select REGMAP_I2C if I2C select REGMAP_SPI if SPI_MASTER select WATCHDOG_CORE if WATCHDOG help If you say yes here you get support for the NXP PCF2127/29 RTC chips with integrated quartz crystal for industrial applications. Both chips also have watchdog timer and tamper switch detection features. PCF2127 has an additional feature of 512 bytes battery backed memory that's accessible using nvmem interface. This driver can also be built as a module. If so, the module will be called rtc-pcf2127. config RTC_DRV_RV3029C2 tristate "Micro Crystal RV3029/3049" depends on RTC_I2C_AND_SPI select REGMAP_I2C if I2C select REGMAP_SPI if SPI_MASTER help If you say yes here you get support for the Micro Crystal RV3029 and RV3049 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-rv3029c2. config RTC_DRV_RV3029_HWMON bool "HWMON support for RV3029/3049" depends on RTC_DRV_RV3029C2 && HWMON depends on !(RTC_DRV_RV3029C2=y && HWMON=m) default y help Say Y here if you want to expose temperature sensor data on rtc-rv3029. comment "Platform RTC drivers" # this 'CMOS' RTC driver is arch dependent because it requires # <asm/mc146818rtc.h> defining CMOS_READ/CMOS_WRITE, and a # global rtc_lock ... it's not yet just another platform_device. config RTC_DRV_CMOS tristate "PC-style 'CMOS'" depends on X86 || ARM || PPC || MIPS || SPARC64 default y if X86 select RTC_MC146818_LIB help Say "yes" here to get direct support for the real time clock found in every PC or ACPI-based system, and some other boards. Specifically the original MC146818, compatibles like those in PC south bridges, the DS12887 or M48T86, some multifunction or LPC bus chips, and so on. Your system will need to define the platform device used by this driver, otherwise it won't be accessible. This means you can safely enable this driver if you don't know whether or not your board has this kind of hardware. This driver can also be built as a module. If so, the module will be called rtc-cmos. config RTC_DRV_ALPHA bool "Alpha PC-style CMOS" depends on ALPHA select RTC_MC146818_LIB default y help Direct support for the real-time clock found on every Alpha system, specifically MC146818 compatibles. If in doubt, say Y. config RTC_DRV_VRTC tristate "Virtual RTC for Intel MID platforms" depends on X86_INTEL_MID default y if X86_INTEL_MID help Say "yes" here to get direct support for the real time clock found on Moorestown platforms. The VRTC is a emulated RTC that derives its clock source from a real RTC in the PMIC. The MC146818 style programming interface is mostly conserved, but any updates are done via IPC calls to the system controller FW. config RTC_DRV_DS1216 tristate "Dallas DS1216" depends on SNI_RM help If you say yes here you get support for the Dallas DS1216 RTC chips. config RTC_DRV_DS1286 tristate "Dallas DS1286" depends on HAS_IOMEM help If you say yes here you get support for the Dallas DS1286 RTC chips. config RTC_DRV_DS1511 tristate "Dallas DS1511" depends on HAS_IOMEM help If you say yes here you get support for the Dallas DS1511 timekeeping/watchdog chip. This driver can also be built as a module. If so, the module will be called rtc-ds1511. config RTC_DRV_DS1553 tristate "Maxim/Dallas DS1553" depends on HAS_IOMEM help If you say yes here you get support for the Maxim/Dallas DS1553 timekeeping chip. This driver can also be built as a module. If so, the module will be called rtc-ds1553. config RTC_DRV_DS1685_FAMILY tristate "Dallas/Maxim DS1685 Family" help If you say yes here you get support for the Dallas/Maxim DS1685 family of real time chips. This family includes the DS1685/DS1687, DS1689/DS1693, DS17285/DS17287, DS17485/DS17487, and DS17885/DS17887 chips. This driver can also be built as a module. If so, the module will be called rtc-ds1685. choice prompt "Subtype" depends on RTC_DRV_DS1685_FAMILY default RTC_DRV_DS1685 config RTC_DRV_DS1685 bool "DS1685/DS1687" help This enables support for the Dallas/Maxim DS1685/DS1687 real time clock chip. This chip is commonly found in SGI O2 (IP32) and SGI Octane (IP30) systems, as well as EPPC-405-UC modules by electronic system design GmbH. config RTC_DRV_DS1689 bool "DS1689/DS1693" help This enables support for the Dallas/Maxim DS1689/DS1693 real time clock chip. This is an older RTC chip, supplanted by the DS1685/DS1687 above, which supports a few minor features such as Vcc, Vbat, and Power Cycle counters, plus a customer-specific, 8-byte ROM/Serial number. It also works for the even older DS1688/DS1691 RTC chips, which are virtually the same and carry the same model number. Both chips have 114 bytes of user NVRAM. config RTC_DRV_DS17285 bool "DS17285/DS17287" help This enables support for the Dallas/Maxim DS17285/DS17287 real time clock chip. This chip features 2kb of extended NV-SRAM. It may possibly be found in some SGI O2 systems (rare). config RTC_DRV_DS17485 bool "DS17485/DS17487" help This enables support for the Dallas/Maxim DS17485/DS17487 real time clock chip. This chip features 4kb of extended NV-SRAM. config RTC_DRV_DS17885 bool "DS17885/DS17887" help This enables support for the Dallas/Maxim DS17885/DS17887 real time clock chip. This chip features 8kb of extended NV-SRAM. endchoice config RTC_DRV_DS1742 tristate "Maxim/Dallas DS1742/1743" depends on HAS_IOMEM help If you say yes here you get support for the Maxim/Dallas DS1742/1743 timekeeping chip. This driver can also be built as a module. If so, the module will be called rtc-ds1742. config RTC_DRV_DS2404 tristate "Maxim/Dallas DS2404" help If you say yes here you get support for the Dallas DS2404 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-ds2404. config RTC_DRV_DA9052 tristate "Dialog DA9052/DA9053 RTC" depends on PMIC_DA9052 help Say y here to support the RTC driver for Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs. config RTC_DRV_DA9055 tristate "Dialog Semiconductor DA9055 RTC" depends on MFD_DA9055 help If you say yes here you will get support for the RTC of the Dialog DA9055 PMIC. This driver can also be built as a module. If so, the module will be called rtc-da9055 config RTC_DRV_DA9063 tristate "Dialog Semiconductor DA9063/DA9062 RTC" depends on MFD_DA9063 || MFD_DA9062 help If you say yes here you will get support for the RTC subsystem for the Dialog Semiconductor PMIC chips DA9063 and DA9062. This driver can also be built as a module. If so, the module will be called "rtc-da9063". config RTC_DRV_EFI tristate "EFI RTC" depends on EFI && !X86 help If you say yes here you will get support for the EFI Real Time Clock. This driver can also be built as a module. If so, the module will be called rtc-efi. config RTC_DRV_STK17TA8 tristate "Simtek STK17TA8" depends on HAS_IOMEM help If you say yes here you get support for the Simtek STK17TA8 timekeeping chip. This driver can also be built as a module. If so, the module will be called rtc-stk17ta8. config RTC_DRV_M48T86 tristate "ST M48T86/Dallas DS12887" help If you say Y here you will get support for the ST M48T86 and Dallas DS12887 RTC chips. This driver can also be built as a module. If so, the module will be called rtc-m48t86. config RTC_DRV_M48T35 tristate "ST M48T35" depends on HAS_IOMEM help If you say Y here you will get support for the ST M48T35 RTC chip. This driver can also be built as a module, if so, the module will be called "rtc-m48t35". config RTC_DRV_M48T59 tristate "ST M48T59/M48T08/M48T02" depends on HAS_IOMEM help If you say Y here you will get support for the ST M48T59 RTC chip and compatible ST M48T08 and M48T02. These chips are usually found in Sun SPARC and UltraSPARC workstations. This driver can also be built as a module, if so, the module will be called "rtc-m48t59". config RTC_DRV_MSM6242 tristate "Oki MSM6242" depends on HAS_IOMEM help If you say yes here you get support for the Oki MSM6242 timekeeping chip. It is used in some Amiga models (e.g. A2000). This driver can also be built as a module. If so, the module will be called rtc-msm6242. config RTC_DRV_BQ4802 tristate "TI BQ4802" depends on HAS_IOMEM help If you say Y here you will get support for the TI BQ4802 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-bq4802. config RTC_DRV_RP5C01 tristate "Ricoh RP5C01" depends on HAS_IOMEM help If you say yes here you get support for the Ricoh RP5C01 timekeeping chip. It is used in some Amiga models (e.g. A3000 and A4000). This driver can also be built as a module. If so, the module will be called rtc-rp5c01. config RTC_DRV_V3020 tristate "EM Microelectronic V3020" help If you say yes here you will get support for the EM Microelectronic v3020 RTC chip. This driver can also be built as a module. If so, the module will be called rtc-v3020. config RTC_DRV_WM831X tristate "Wolfson Microelectronics WM831x RTC" depends on MFD_WM831X help If you say yes here you will get support for the RTC subsystem of the Wolfson Microelectronics WM831X series PMICs. This driver can also be built as a module. If so, the module will be called "rtc-wm831x". config RTC_DRV_WM8350 tristate "Wolfson Microelectronics WM8350 RTC" depends on MFD_WM8350 help If you say yes here you will get support for the RTC subsystem of the Wolfson Microelectronics WM8350. This driver can also be built as a module. If so, the module will be called "rtc-wm8350". config RTC_DRV_SC27XX tristate "Spreadtrum SC27xx RTC" depends on MFD_SC27XX_PMIC || COMPILE_TEST help If you say Y here you will get support for the RTC subsystem of the Spreadtrum SC27xx series PMICs. The SC27xx series PMICs includes the SC2720, SC2721, SC2723, SC2730 and SC2731 chips. This driver can also be built as a module. If so, the module will be called rtc-sc27xx. config RTC_DRV_SPEAR tristate "SPEAR ST RTC" depends on PLAT_SPEAR || COMPILE_TEST default y help If you say Y here you will get support for the RTC found on spear config RTC_DRV_PCF50633 depends on MFD_PCF50633 tristate "NXP PCF50633 RTC" help If you say yes here you get support for the RTC subsystem of the NXP PCF50633 used in embedded systems. config RTC_DRV_AB3100 tristate "ST-Ericsson AB3100 RTC" depends on AB3100_CORE default y if AB3100_CORE help Select this to enable the ST-Ericsson AB3100 Mixed Signal IC RTC support. This chip contains a battery- and capacitor-backed RTC. config RTC_DRV_AB8500 tristate "ST-Ericsson AB8500 RTC" depends on AB8500_CORE select RTC_INTF_DEV select RTC_INTF_DEV_UIE_EMUL help Select this to enable the ST-Ericsson AB8500 power management IC RTC support. This chip contains a battery- and capacitor-backed RTC. config RTC_DRV_OPAL tristate "IBM OPAL RTC driver" depends on PPC_POWERNV default y help If you say yes here you get support for the PowerNV platform RTC driver based on OPAL interfaces. This driver can also be built as a module. If so, the module will be called rtc-opal. config RTC_DRV_ZYNQMP tristate "Xilinx Zynq Ultrascale+ MPSoC RTC" depends on OF help If you say yes here you get support for the RTC controller found on Xilinx Zynq Ultrascale+ MPSoC. config RTC_DRV_CROS_EC tristate "Chrome OS EC RTC driver" depends on CROS_EC help If you say yes here you will get support for the Chrome OS Embedded Controller's RTC. This driver can also be built as a module. If so, the module will be called rtc-cros-ec. comment "on-CPU RTC drivers" config RTC_DRV_ASM9260 tristate "Alphascale asm9260 RTC" depends on MACH_ASM9260 || COMPILE_TEST help If you say yes here you get support for the RTC on the Alphascale asm9260 SoC. This driver can also be built as a module. If so, the module will be called rtc-asm9260. config RTC_DRV_DAVINCI tristate "TI DaVinci RTC" depends on ARCH_DAVINCI_DM365 || COMPILE_TEST help If you say yes here you get support for the RTC on the DaVinci platforms (DM365). This driver can also be built as a module. If so, the module will be called rtc-davinci. config RTC_DRV_DIGICOLOR tristate "Conexant Digicolor RTC" depends on ARCH_DIGICOLOR || COMPILE_TEST help If you say yes here you get support for the RTC on Conexant Digicolor platforms. This currently includes the CX92755 SoC. This driver can also be built as a module. If so, the module will be called rtc-digicolor. config RTC_DRV_IMXDI tristate "Freescale IMX DryIce Real Time Clock" depends on ARCH_MXC help Support for Freescale IMX DryIce RTC This driver can also be built as a module, if so, the module will be called "rtc-imxdi". config RTC_DRV_FSL_FTM_ALARM tristate "Freescale FlexTimer alarm timer" depends on ARCH_LAYERSCAPE || SOC_LS1021A select FSL_RCPM default y help For the FlexTimer in LS1012A, LS1021A, LS1028A, LS1043A, LS1046A, LS1088A, LS208xA, we can use FTM as the wakeup source. Say y here to enable FTM alarm support. The FTM alarm provides alarm functions for wakeup system from deep sleep. This driver can also be built as a module, if so, the module will be called "rtc-fsl-ftm-alarm". config RTC_DRV_MESON tristate "Amlogic Meson RTC" depends on (ARM && ARCH_MESON) || COMPILE_TEST select REGMAP_MMIO help Support for the RTC block on the Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs. This driver can also be built as a module, if so, the module will be called "rtc-meson". config RTC_DRV_OMAP tristate "TI OMAP Real Time Clock" depends on ARCH_OMAP || ARCH_DAVINCI || COMPILE_TEST depends on OF depends on PINCTRL select GENERIC_PINCONF help Say "yes" here to support the on chip real time clock present on TI OMAP1, AM33xx, DA8xx/OMAP-L13x, AM43xx and DRA7xx. This driver can also be built as a module, if so, module will be called rtc-omap. config HAVE_S3C_RTC bool help This will include RTC support for Samsung SoCs. If you want to include RTC support for any machine, kindly select this in the respective mach-XXXX/Kconfig file. config RTC_DRV_S3C tristate "Samsung S3C series SoC RTC" depends on ARCH_S3C64XX || HAVE_S3C_RTC || COMPILE_TEST help RTC (Realtime Clock) driver for the clock inbuilt into the Samsung S3C24XX series of SoCs. This can provide periodic interrupt rates from 1Hz to 64Hz for user programs, and wakeup from Alarm. The driver currently supports the common features on all the S3C24XX range, such as the S3C2410, S3C2412, S3C2413, S3C2440 and S3C2442. This driver can also be build as a module. If so, the module will be called rtc-s3c. config RTC_DRV_EP93XX tristate "Cirrus Logic EP93XX" depends on ARCH_EP93XX || COMPILE_TEST help If you say yes here you get support for the RTC embedded in the Cirrus Logic EP93XX processors. This driver can also be built as a module. If so, the module will be called rtc-ep93xx. config RTC_DRV_SA1100 tristate "SA11x0/PXA2xx/PXA910" depends on ARCH_SA1100 || ARCH_PXA || ARCH_MMP help If you say Y here you will get access to the real time clock built into your SA11x0 or PXA2xx CPU. To compile this driver as a module, choose M here: the module will be called rtc-sa1100. config RTC_DRV_SH tristate "SuperH On-Chip RTC" depends on SUPERH || ARCH_RENESAS help Say Y here to enable support for the on-chip RTC found in most SuperH processors. This RTC is also found in RZ/A SoCs. To compile this driver as a module, choose M here: the module will be called rtc-sh. config RTC_DRV_VR41XX tristate "NEC VR41XX" depends on CPU_VR41XX || COMPILE_TEST help If you say Y here you will get access to the real time clock built into your NEC VR41XX CPU. To compile this driver as a module, choose M here: the module will be called rtc-vr41xx. config RTC_DRV_PL030 tristate "ARM AMBA PL030 RTC" depends on ARM_AMBA help If you say Y here you will get access to ARM AMBA PrimeCell PL030 RTC found on certain ARM SOCs. To compile this driver as a module, choose M here: the module will be called rtc-pl030. config RTC_DRV_PL031 tristate "ARM AMBA PL031 RTC" depends on ARM_AMBA help If you say Y here you will get access to ARM AMBA PrimeCell PL031 RTC found on certain ARM SOCs. To compile this driver as a module, choose M here: the module will be called rtc-pl031. config RTC_DRV_AT91RM9200 tristate "AT91RM9200 or some AT91SAM9 RTC" depends on ARCH_AT91 || COMPILE_TEST help Driver for the internal RTC (Realtime Clock) module found on Atmel AT91RM9200's and some AT91SAM9 chips. On AT91SAM9 chips this is powered by the backup power supply. config RTC_DRV_AT91SAM9 tristate "AT91SAM9 RTT as RTC" depends on ARCH_AT91 || COMPILE_TEST depends on OF && HAS_IOMEM select MFD_SYSCON help Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which can be used as an RTC thanks to the backup power supply (e.g. a small coin cell battery) which keeps this block and the GPBR (General Purpose Backup Registers) block powered when the device is shutdown. Some AT91SAM9 SoCs provide a real RTC block, on those ones you'd probably want to use the real RTC block instead of the "RTT as an RTC" driver. config RTC_DRV_AU1XXX tristate "Au1xxx Counter0 RTC support" depends on MIPS_ALCHEMY help This is a driver for the Au1xxx on-chip Counter0 (Time-Of-Year counter) to be used as a RTC. This driver can also be built as a module. If so, the module will be called rtc-au1xxx. config RTC_DRV_RS5C313 tristate "Ricoh RS5C313" depends on SH_LANDISK help If you say yes here you get support for the Ricoh RS5C313 RTC chips. config RTC_DRV_GENERIC tristate "Generic RTC support" # Please consider writing a new RTC driver instead of using the generic # RTC abstraction depends on PARISC || M68K || PPC || SUPERH32 || COMPILE_TEST help Say Y or M here to enable RTC support on systems using the generic RTC abstraction. If you do not know what you are doing, you should just say Y. config RTC_DRV_PXA tristate "PXA27x/PXA3xx" depends on ARCH_PXA select RTC_DRV_SA1100 help If you say Y here you will get access to the real time clock built into your PXA27x or PXA3xx CPU. This RTC is actually 2 RTCs consisting of an SA1100 compatible RTC and the extended PXA RTC. This RTC driver uses PXA RTC registers available since pxa27x series (RDxR, RYxR) instead of legacy RCNR, RTAR. config RTC_DRV_VT8500 tristate "VIA/WonderMedia 85xx SoC RTC" depends on ARCH_VT8500 || COMPILE_TEST help If you say Y here you will get access to the real time clock built into your VIA VT8500 SoC or its relatives. config RTC_DRV_SUN4V bool "SUN4V Hypervisor RTC" depends on SPARC64 help If you say Y here you will get support for the Hypervisor based RTC on SUN4V systems. config RTC_DRV_SUN6I bool "Allwinner A31 RTC" default MACH_SUN6I || MACH_SUN8I depends on COMMON_CLK depends on ARCH_SUNXI || COMPILE_TEST help If you say Y here you will get support for the RTC found in some Allwinner SoCs like the A31 or the A64. config RTC_DRV_SUNXI tristate "Allwinner sun4i/sun7i RTC" depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST help If you say Y here you will get support for the RTC found on Allwinner A10/A20. config RTC_DRV_STARFIRE bool "Starfire RTC" depends on SPARC64 help If you say Y here you will get support for the RTC found on Starfire systems. config RTC_DRV_TX4939 tristate "TX4939 SoC" depends on SOC_TX4939 || COMPILE_TEST help Driver for the internal RTC (Realtime Clock) module found on Toshiba TX4939 SoC. config RTC_DRV_MV tristate "Marvell SoC RTC" depends on ARCH_DOVE || ARCH_MVEBU || COMPILE_TEST help If you say yes here you will get support for the in-chip RTC that can be found in some of Marvell's SoC devices, such as the Kirkwood 88F6281 and 88F6192. This driver can also be built as a module. If so, the module will be called rtc-mv. config RTC_DRV_ARMADA38X tristate "Armada 38x Marvell SoC RTC" depends on ARCH_MVEBU || COMPILE_TEST help If you say yes here you will get support for the in-chip RTC that can be found in the Armada 38x Marvell's SoC device This driver can also be built as a module. If so, the module will be called armada38x-rtc. config RTC_DRV_CADENCE tristate "Cadence RTC driver" depends on OF && HAS_IOMEM help If you say Y here you will get access to Cadence RTC IP found on certain SOCs. To compile this driver as a module, choose M here: the module will be called rtc-cadence. config RTC_DRV_FTRTC010 tristate "Faraday Technology FTRTC010 RTC" depends on HAS_IOMEM default ARCH_GEMINI help If you say Y here you will get support for the Faraday Technolog FTRTC010 found on e.g. Gemini SoC's. This driver can also be built as a module. If so, the module will be called rtc-ftrtc010. config RTC_DRV_PS3 tristate "PS3 RTC" depends on PPC_PS3 help If you say yes here you will get support for the RTC on PS3. This driver can also be built as a module. If so, the module will be called rtc-ps3. config RTC_DRV_COH901331 tristate "ST-Ericsson COH 901 331 RTC" depends on ARCH_U300 || COMPILE_TEST help If you say Y here you will get access to ST-Ericsson COH 901 331 RTC clock found in some ST-Ericsson Mobile Platforms. This driver can also be built as a module. If so, the module will be called "rtc-coh901331". config RTC_DRV_STMP tristate "Freescale STMP3xxx/i.MX23/i.MX28 RTC" depends on ARCH_MXS || COMPILE_TEST select STMP_DEVICE help If you say yes here you will get support for the onboard STMP3xxx/i.MX23/i.MX28 RTC. This driver can also be built as a module. If so, the module will be called rtc-stmp3xxx. config RTC_DRV_PCAP tristate "PCAP RTC" depends on EZX_PCAP help If you say Y here you will get support for the RTC found on the PCAP2 ASIC used on some Motorola phones. config RTC_DRV_MC13XXX depends on MFD_MC13XXX tristate "Freescale MC13xxx RTC" help This enables support for the RTCs found on Freescale's PMICs MC13783 and MC13892. config RTC_DRV_MPC5121 tristate "Freescale MPC5121 built-in RTC" depends on PPC_MPC512x || PPC_MPC52xx help If you say yes here you will get support for the built-in RTC on MPC5121 or on MPC5200. This driver can also be built as a module. If so, the module will be called rtc-mpc5121. config RTC_DRV_JZ4740 tristate "Ingenic JZ4740 SoC" depends on MIPS || COMPILE_TEST help If you say yes here you get support for the Ingenic JZ47xx SoCs RTC controllers. This driver can also be built as a module. If so, the module will be called rtc-jz4740. config RTC_DRV_LPC24XX tristate "NXP RTC for LPC178x/18xx/408x/43xx" depends on ARCH_LPC18XX || COMPILE_TEST depends on OF && HAS_IOMEM help This enables support for the NXP RTC found which can be found on NXP LPC178x/18xx/408x/43xx devices. If you have one of the devices above enable this driver to use the hardware RTC. This driver can also be built as a module. If so, the module will be called rtc-lpc24xx. config RTC_DRV_LPC32XX depends on ARCH_LPC32XX || COMPILE_TEST tristate "NXP LPC32XX RTC" help This enables support for the NXP RTC in the LPC32XX This driver can also be built as a module. If so, the module will be called rtc-lpc32xx. config RTC_DRV_PM8XXX tristate "Qualcomm PMIC8XXX RTC" depends on MFD_PM8XXX || MFD_SPMI_PMIC || COMPILE_TEST help If you say yes here you get support for the Qualcomm PMIC8XXX RTC. To compile this driver as a module, choose M here: the module will be called rtc-pm8xxx. config RTC_DRV_TEGRA tristate "NVIDIA Tegra Internal RTC driver" depends on ARCH_TEGRA || COMPILE_TEST help If you say yes here you get support for the Tegra 200 series internal RTC module. This drive can also be built as a module. If so, the module will be called rtc-tegra. config RTC_DRV_PUV3 tristate "PKUnity v3 RTC support" depends on ARCH_PUV3 help This enables support for the RTC in the PKUnity-v3 SoCs. This drive can also be built as a module. If so, the module will be called rtc-puv3. config RTC_DRV_LOONGSON1 tristate "loongson1 RTC support" depends on MACH_LOONGSON32 help This is a driver for the loongson1 on-chip Counter0 (Time-Of-Year counter) to be used as a RTC. This driver can also be built as a module. If so, the module will be called rtc-ls1x. config RTC_DRV_MXC tristate "Freescale MXC Real Time Clock" depends on ARCH_MXC help If you say yes here you get support for the Freescale MXC RTC module. This driver can also be built as a module, if so, the module will be called "rtc-mxc". config RTC_DRV_MXC_V2 tristate "Freescale MXC Real Time Clock for i.MX53" depends on ARCH_MXC help If you say yes here you get support for the Freescale MXC SRTC module in i.MX53 processor. This driver can also be built as a module, if so, the module will be called "rtc-mxc_v2". config RTC_DRV_SNVS tristate "Freescale SNVS RTC support" select REGMAP_MMIO depends on HAS_IOMEM depends on OF help If you say yes here you get support for the Freescale SNVS Low Power (LP) RTC module. This driver can also be built as a module, if so, the module will be called "rtc-snvs". config RTC_DRV_IMX_SC depends on IMX_SCU depends on HAVE_ARM_SMCCC tristate "NXP i.MX System Controller RTC support" help If you say yes here you get support for the NXP i.MX System Controller RTC module. config RTC_DRV_SIRFSOC tristate "SiRFSOC RTC" depends on ARCH_SIRF help Say "yes" here to support the real time clock on SiRF SOC chips. This driver can also be built as a module called rtc-sirfsoc. config RTC_DRV_ST_LPC tristate "STMicroelectronics LPC RTC" depends on ARCH_STI depends on OF help Say Y here to include STMicroelectronics Low Power Controller (LPC) based RTC support. To compile this driver as a module, choose M here: the module will be called rtc-st-lpc. config RTC_DRV_MOXART tristate "MOXA ART RTC" depends on ARCH_MOXART || COMPILE_TEST help If you say yes here you get support for the MOXA ART RTC module. This driver can also be built as a module. If so, the module will be called rtc-moxart config RTC_DRV_MT6397 tristate "MediaTek PMIC based RTC" depends on MFD_MT6397 || COMPILE_TEST select IRQ_DOMAIN help This selects the MediaTek(R) RTC driver. RTC is part of MediaTek MT6397 PMIC. You should enable MT6397 PMIC MFD before select MediaTek(R) RTC driver. If you want to use MediaTek(R) RTC interface, select Y or M here. config RTC_DRV_MT7622 tristate "MediaTek SoC based RTC" depends on ARCH_MEDIATEK || COMPILE_TEST help This enables support for the real time clock built in the MediaTek SoCs. This drive can also be built as a module. If so, the module will be called rtc-mt7622. config RTC_DRV_XGENE tristate "APM X-Gene RTC" depends on HAS_IOMEM depends on ARCH_XGENE || COMPILE_TEST help If you say yes here you get support for the APM X-Gene SoC real time clock. This driver can also be built as a module, if so, the module will be called "rtc-xgene". config RTC_DRV_PIC32 tristate "Microchip PIC32 RTC" depends on MACH_PIC32 default y help If you say yes here you get support for the PIC32 RTC module. This driver can also be built as a module. If so, the module will be called rtc-pic32 config RTC_DRV_R7301 tristate "EPSON TOYOCOM RTC-7301SF/DG" select REGMAP_MMIO depends on OF && HAS_IOMEM help If you say yes here you get support for the EPSON TOYOCOM RTC-7301SF/DG chips. This driver can also be built as a module. If so, the module will be called rtc-r7301. config RTC_DRV_STM32 tristate "STM32 RTC" select REGMAP_MMIO depends on ARCH_STM32 || COMPILE_TEST help If you say yes here you get support for the STM32 On-Chip Real Time Clock. This driver can also be built as a module, if so, the module will be called "rtc-stm32". config RTC_DRV_CPCAP depends on MFD_CPCAP tristate "Motorola CPCAP RTC" help Say y here for CPCAP rtc found on some Motorola phones and tablets such as Droid 4. config RTC_DRV_RTD119X bool "Realtek RTD129x RTC" depends on ARCH_REALTEK || COMPILE_TEST default ARCH_REALTEK help If you say yes here, you get support for the RTD1295 SoC Real Time Clock. config RTC_DRV_ASPEED tristate "ASPEED RTC" depends on OF depends on ARCH_ASPEED || COMPILE_TEST help If you say yes here you get support for the ASPEED BMC SoC real time clocks. This driver can also be built as a module, if so, the module will be called "rtc-aspeed". comment "HID Sensor RTC drivers" config RTC_DRV_HID_SENSOR_TIME tristate "HID Sensor Time" depends on USB_HID depends on HID_SENSOR_HUB && IIO select HID_SENSOR_IIO_COMMON help Say yes here to build support for the HID Sensors of type Time. This drivers makes such sensors available as RTCs. If this driver is compiled as a module, it will be named rtc-hid-sensor-time. config RTC_DRV_GOLDFISH tristate "Goldfish Real Time Clock" depends on OF && HAS_IOMEM depends on GOLDFISH || COMPILE_TEST help Say yes to enable RTC driver for the Goldfish based virtual platform. Goldfish is a code name for the virtual platform developed by Google for Android emulation. config RTC_DRV_WILCO_EC tristate "Wilco EC RTC" depends on WILCO_EC default m help If you say yes here, you get read/write support for the Real Time Clock on the Wilco Embedded Controller (Wilco is a kind of Chromebook) This can also be built as a module. If so, the module will be named "rtc_wilco_ec". endif # RTC_CLASS rtc/Makefile 0000644 00000017650 14722053666 0007020 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for RTC class/drivers. # ccflags-$(CONFIG_RTC_DEBUG) := -DDEBUG obj-$(CONFIG_RTC_LIB) += lib.o obj-$(CONFIG_RTC_HCTOSYS) += hctosys.o obj-$(CONFIG_RTC_SYSTOHC) += systohc.o obj-$(CONFIG_RTC_CLASS) += rtc-core.o obj-$(CONFIG_RTC_MC146818_LIB) += rtc-mc146818-lib.o rtc-core-y := class.o interface.o ifdef CONFIG_RTC_DRV_EFI rtc-core-y += rtc-efi-platform.o endif rtc-core-$(CONFIG_RTC_NVMEM) += nvmem.o rtc-core-$(CONFIG_RTC_INTF_DEV) += dev.o rtc-core-$(CONFIG_RTC_INTF_PROC) += proc.o rtc-core-$(CONFIG_RTC_INTF_SYSFS) += sysfs.o # Keep the list ordered. obj-$(CONFIG_RTC_DRV_88PM80X) += rtc-88pm80x.o obj-$(CONFIG_RTC_DRV_88PM860X) += rtc-88pm860x.o obj-$(CONFIG_RTC_DRV_AB3100) += rtc-ab3100.o obj-$(CONFIG_RTC_DRV_AB8500) += rtc-ab8500.o obj-$(CONFIG_RTC_DRV_ABB5ZES3) += rtc-ab-b5ze-s3.o obj-$(CONFIG_RTC_DRV_ABEOZ9) += rtc-ab-eoz9.o obj-$(CONFIG_RTC_DRV_ABX80X) += rtc-abx80x.o obj-$(CONFIG_RTC_DRV_AC100) += rtc-ac100.o obj-$(CONFIG_RTC_DRV_AM1805) += rtc-am1805.o obj-$(CONFIG_RTC_DRV_ARMADA38X) += rtc-armada38x.o obj-$(CONFIG_RTC_DRV_AS3722) += rtc-as3722.o obj-$(CONFIG_RTC_DRV_ASM9260) += rtc-asm9260.o obj-$(CONFIG_RTC_DRV_ASPEED) += rtc-aspeed.o obj-$(CONFIG_RTC_DRV_AT91RM9200)+= rtc-at91rm9200.o obj-$(CONFIG_RTC_DRV_AT91SAM9) += rtc-at91sam9.o obj-$(CONFIG_RTC_DRV_AU1XXX) += rtc-au1xxx.o obj-$(CONFIG_RTC_DRV_BD70528) += rtc-bd70528.o obj-$(CONFIG_RTC_DRV_BQ32K) += rtc-bq32k.o obj-$(CONFIG_RTC_DRV_BQ4802) += rtc-bq4802.o obj-$(CONFIG_RTC_DRV_BRCMSTB) += rtc-brcmstb-waketimer.o obj-$(CONFIG_RTC_DRV_CADENCE) += rtc-cadence.o obj-$(CONFIG_RTC_DRV_CMOS) += rtc-cmos.o obj-$(CONFIG_RTC_DRV_COH901331) += rtc-coh901331.o obj-$(CONFIG_RTC_DRV_CPCAP) += rtc-cpcap.o obj-$(CONFIG_RTC_DRV_CROS_EC) += rtc-cros-ec.o obj-$(CONFIG_RTC_DRV_DA9052) += rtc-da9052.o obj-$(CONFIG_RTC_DRV_DA9055) += rtc-da9055.o obj-$(CONFIG_RTC_DRV_DA9063) += rtc-da9063.o obj-$(CONFIG_RTC_DRV_DAVINCI) += rtc-davinci.o obj-$(CONFIG_RTC_DRV_DIGICOLOR) += rtc-digicolor.o obj-$(CONFIG_RTC_DRV_DM355EVM) += rtc-dm355evm.o obj-$(CONFIG_RTC_DRV_DS1216) += rtc-ds1216.o obj-$(CONFIG_RTC_DRV_DS1286) += rtc-ds1286.o obj-$(CONFIG_RTC_DRV_DS1302) += rtc-ds1302.o obj-$(CONFIG_RTC_DRV_DS1305) += rtc-ds1305.o obj-$(CONFIG_RTC_DRV_DS1307) += rtc-ds1307.o obj-$(CONFIG_RTC_DRV_DS1343) += rtc-ds1343.o obj-$(CONFIG_RTC_DRV_DS1347) += rtc-ds1347.o obj-$(CONFIG_RTC_DRV_DS1374) += rtc-ds1374.o obj-$(CONFIG_RTC_DRV_DS1390) += rtc-ds1390.o obj-$(CONFIG_RTC_DRV_DS1511) += rtc-ds1511.o obj-$(CONFIG_RTC_DRV_DS1553) += rtc-ds1553.o obj-$(CONFIG_RTC_DRV_DS1672) += rtc-ds1672.o obj-$(CONFIG_RTC_DRV_DS1685_FAMILY) += rtc-ds1685.o obj-$(CONFIG_RTC_DRV_DS1742) += rtc-ds1742.o obj-$(CONFIG_RTC_DRV_DS2404) += rtc-ds2404.o obj-$(CONFIG_RTC_DRV_DS3232) += rtc-ds3232.o obj-$(CONFIG_RTC_DRV_EFI) += rtc-efi.o obj-$(CONFIG_RTC_DRV_EM3027) += rtc-em3027.o obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o obj-$(CONFIG_RTC_DRV_FSL_FTM_ALARM) += rtc-fsl-ftm-alarm.o obj-$(CONFIG_RTC_DRV_FTRTC010) += rtc-ftrtc010.o obj-$(CONFIG_RTC_DRV_GENERIC) += rtc-generic.o obj-$(CONFIG_RTC_DRV_GOLDFISH) += rtc-goldfish.o obj-$(CONFIG_RTC_DRV_HID_SENSOR_TIME) += rtc-hid-sensor-time.o obj-$(CONFIG_RTC_DRV_HYM8563) += rtc-hym8563.o obj-$(CONFIG_RTC_DRV_IMXDI) += rtc-imxdi.o obj-$(CONFIG_RTC_DRV_IMX_SC) += rtc-imx-sc.o obj-$(CONFIG_RTC_DRV_ISL12022) += rtc-isl12022.o obj-$(CONFIG_RTC_DRV_ISL12026) += rtc-isl12026.o obj-$(CONFIG_RTC_DRV_ISL1208) += rtc-isl1208.o obj-$(CONFIG_RTC_DRV_JZ4740) += rtc-jz4740.o obj-$(CONFIG_RTC_DRV_LOONGSON1) += rtc-ls1x.o obj-$(CONFIG_RTC_DRV_LP8788) += rtc-lp8788.o obj-$(CONFIG_RTC_DRV_LPC24XX) += rtc-lpc24xx.o obj-$(CONFIG_RTC_DRV_LPC32XX) += rtc-lpc32xx.o obj-$(CONFIG_RTC_DRV_M41T80) += rtc-m41t80.o obj-$(CONFIG_RTC_DRV_M41T93) += rtc-m41t93.o obj-$(CONFIG_RTC_DRV_M41T94) += rtc-m41t94.o obj-$(CONFIG_RTC_DRV_M48T35) += rtc-m48t35.o obj-$(CONFIG_RTC_DRV_M48T59) += rtc-m48t59.o obj-$(CONFIG_RTC_DRV_M48T86) += rtc-m48t86.o obj-$(CONFIG_RTC_DRV_MAX6900) += rtc-max6900.o obj-$(CONFIG_RTC_DRV_MAX6902) += rtc-max6902.o obj-$(CONFIG_RTC_DRV_MAX6916) += rtc-max6916.o obj-$(CONFIG_RTC_DRV_MAX77686) += rtc-max77686.o obj-$(CONFIG_RTC_DRV_MAX8907) += rtc-max8907.o obj-$(CONFIG_RTC_DRV_MAX8925) += rtc-max8925.o obj-$(CONFIG_RTC_DRV_MAX8997) += rtc-max8997.o obj-$(CONFIG_RTC_DRV_MAX8998) += rtc-max8998.o obj-$(CONFIG_RTC_DRV_MESON_VRTC)+= rtc-meson-vrtc.o obj-$(CONFIG_RTC_DRV_MC13XXX) += rtc-mc13xxx.o obj-$(CONFIG_RTC_DRV_MCP795) += rtc-mcp795.o obj-$(CONFIG_RTC_DRV_MESON) += rtc-meson.o obj-$(CONFIG_RTC_DRV_MOXART) += rtc-moxart.o obj-$(CONFIG_RTC_DRV_MPC5121) += rtc-mpc5121.o obj-$(CONFIG_RTC_DRV_MSM6242) += rtc-msm6242.o obj-$(CONFIG_RTC_DRV_MT6397) += rtc-mt6397.o obj-$(CONFIG_RTC_DRV_MT7622) += rtc-mt7622.o obj-$(CONFIG_RTC_DRV_MV) += rtc-mv.o obj-$(CONFIG_RTC_DRV_MXC) += rtc-mxc.o obj-$(CONFIG_RTC_DRV_MXC_V2) += rtc-mxc_v2.o obj-$(CONFIG_RTC_DRV_OMAP) += rtc-omap.o obj-$(CONFIG_RTC_DRV_OPAL) += rtc-opal.o obj-$(CONFIG_RTC_DRV_PALMAS) += rtc-palmas.o obj-$(CONFIG_RTC_DRV_PCAP) += rtc-pcap.o obj-$(CONFIG_RTC_DRV_PCF2123) += rtc-pcf2123.o obj-$(CONFIG_RTC_DRV_PCF2127) += rtc-pcf2127.o obj-$(CONFIG_RTC_DRV_PCF50633) += rtc-pcf50633.o obj-$(CONFIG_RTC_DRV_PCF85063) += rtc-pcf85063.o obj-$(CONFIG_RTC_DRV_PCF8523) += rtc-pcf8523.o obj-$(CONFIG_RTC_DRV_PCF85363) += rtc-pcf85363.o obj-$(CONFIG_RTC_DRV_PCF8563) += rtc-pcf8563.o obj-$(CONFIG_RTC_DRV_PCF8583) += rtc-pcf8583.o obj-$(CONFIG_RTC_DRV_PIC32) += rtc-pic32.o obj-$(CONFIG_RTC_DRV_PL030) += rtc-pl030.o obj-$(CONFIG_RTC_DRV_PL031) += rtc-pl031.o obj-$(CONFIG_RTC_DRV_PM8XXX) += rtc-pm8xxx.o obj-$(CONFIG_RTC_DRV_PS3) += rtc-ps3.o obj-$(CONFIG_RTC_DRV_PUV3) += rtc-puv3.o obj-$(CONFIG_RTC_DRV_PXA) += rtc-pxa.o obj-$(CONFIG_RTC_DRV_R7301) += rtc-r7301.o obj-$(CONFIG_RTC_DRV_R9701) += rtc-r9701.o obj-$(CONFIG_RTC_DRV_RC5T583) += rtc-rc5t583.o obj-$(CONFIG_RTC_DRV_RK808) += rtc-rk808.o obj-$(CONFIG_RTC_DRV_RP5C01) += rtc-rp5c01.o obj-$(CONFIG_RTC_DRV_RS5C313) += rtc-rs5c313.o obj-$(CONFIG_RTC_DRV_RS5C348) += rtc-rs5c348.o obj-$(CONFIG_RTC_DRV_RS5C372) += rtc-rs5c372.o obj-$(CONFIG_RTC_DRV_RTD119X) += rtc-rtd119x.o obj-$(CONFIG_RTC_DRV_RV3028) += rtc-rv3028.o obj-$(CONFIG_RTC_DRV_RV3029C2) += rtc-rv3029c2.o obj-$(CONFIG_RTC_DRV_RV8803) += rtc-rv8803.o obj-$(CONFIG_RTC_DRV_RX4581) += rtc-rx4581.o obj-$(CONFIG_RTC_DRV_RX6110) += rtc-rx6110.o obj-$(CONFIG_RTC_DRV_RX8010) += rtc-rx8010.o obj-$(CONFIG_RTC_DRV_RX8025) += rtc-rx8025.o obj-$(CONFIG_RTC_DRV_RX8581) += rtc-rx8581.o obj-$(CONFIG_RTC_DRV_S35390A) += rtc-s35390a.o obj-$(CONFIG_RTC_DRV_S3C) += rtc-s3c.o obj-$(CONFIG_RTC_DRV_S5M) += rtc-s5m.o obj-$(CONFIG_RTC_DRV_SA1100) += rtc-sa1100.o obj-$(CONFIG_RTC_DRV_SC27XX) += rtc-sc27xx.o obj-$(CONFIG_RTC_DRV_SD3078) += rtc-sd3078.o obj-$(CONFIG_RTC_DRV_SH) += rtc-sh.o obj-$(CONFIG_RTC_DRV_SIRFSOC) += rtc-sirfsoc.o obj-$(CONFIG_RTC_DRV_SNVS) += rtc-snvs.o obj-$(CONFIG_RTC_DRV_SPEAR) += rtc-spear.o obj-$(CONFIG_RTC_DRV_STARFIRE) += rtc-starfire.o obj-$(CONFIG_RTC_DRV_STK17TA8) += rtc-stk17ta8.o obj-$(CONFIG_RTC_DRV_ST_LPC) += rtc-st-lpc.o obj-$(CONFIG_RTC_DRV_STM32) += rtc-stm32.o obj-$(CONFIG_RTC_DRV_STMP) += rtc-stmp3xxx.o obj-$(CONFIG_RTC_DRV_SUN4V) += rtc-sun4v.o obj-$(CONFIG_RTC_DRV_SUN6I) += rtc-sun6i.o obj-$(CONFIG_RTC_DRV_SUNXI) += rtc-sunxi.o obj-$(CONFIG_RTC_DRV_TEGRA) += rtc-tegra.o obj-$(CONFIG_RTC_DRV_TEST) += rtc-test.o obj-$(CONFIG_RTC_DRV_TPS6586X) += rtc-tps6586x.o obj-$(CONFIG_RTC_DRV_TPS65910) += rtc-tps65910.o obj-$(CONFIG_RTC_DRV_TPS80031) += rtc-tps80031.o obj-$(CONFIG_RTC_DRV_TWL4030) += rtc-twl.o obj-$(CONFIG_RTC_DRV_TX4939) += rtc-tx4939.o obj-$(CONFIG_RTC_DRV_V3020) += rtc-v3020.o obj-$(CONFIG_RTC_DRV_VR41XX) += rtc-vr41xx.o obj-$(CONFIG_RTC_DRV_VRTC) += rtc-mrst.o obj-$(CONFIG_RTC_DRV_VT8500) += rtc-vt8500.o obj-$(CONFIG_RTC_DRV_WILCO_EC) += rtc-wilco-ec.o obj-$(CONFIG_RTC_DRV_WM831X) += rtc-wm831x.o obj-$(CONFIG_RTC_DRV_WM8350) += rtc-wm8350.o obj-$(CONFIG_RTC_DRV_X1205) += rtc-x1205.o obj-$(CONFIG_RTC_DRV_XGENE) += rtc-xgene.o obj-$(CONFIG_RTC_DRV_ZYNQMP) += rtc-zynqmp.o usb/core/Kconfig 0000644 00000007206 14722053666 0007610 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Core configuration # config USB_ANNOUNCE_NEW_DEVICES bool "USB announce new devices" help Say Y here if you want the USB core to always announce the idVendor, idProduct, Manufacturer, Product, and SerialNumber strings for every new USB device to the syslog. This option is usually used by distro vendors to help with debugging and to let users know what specific device was added to the machine in what location. If you do not want this kind of information sent to the system log, or have any doubts about this, say N here. comment "Miscellaneous USB options" config USB_DEFAULT_PERSIST bool "Enable USB persist by default" default y help Say N here if you don't want USB power session persistence enabled by default. If you say N it will make suspended USB devices that lose power get reenumerated as if they had been unplugged, causing any mounted filesystems to be lost. The persist feature can still be enabled for individual devices through the power/persist sysfs node. See Documentation/driver-api/usb/persist.rst for more info. If you have any questions about this, say Y here, only say N if you know exactly what you are doing. config USB_DYNAMIC_MINORS bool "Dynamic USB minor allocation" help If you say Y here, the USB subsystem will use dynamic minor allocation for any device that uses the USB major number. This means that you can have more than 16 of a single type of device (like USB printers). If you are unsure about this, say N here. config USB_OTG bool "OTG support" depends on PM help The most notable feature of USB OTG is support for a "Dual-Role" device, which can act as either a device or a host. The initial role is decided by the type of plug inserted and can be changed later when two dual role devices talk to each other. Select this only if your board has Mini-AB/Micro-AB connector. config USB_OTG_WHITELIST bool "Rely on OTG and EH Targeted Peripherals List" depends on USB help If you say Y here, the "otg_whitelist.h" file will be used as a product whitelist, so USB peripherals not listed there will be rejected during enumeration. This behavior is required by the USB OTG and EH specification for all devices not on your product's "Targeted Peripherals List". "Embedded Hosts" are likewise allowed to support only a limited number of peripherals. config USB_OTG_BLACKLIST_HUB bool "Disable external hubs" depends on USB_OTG || EXPERT help If you say Y here, then Linux will refuse to enumerate external hubs. OTG hosts are allowed to reduce hardware and software costs by not supporting external hubs. So are "Embedded Hosts" that don't offer OTG support. config USB_OTG_FSM tristate "USB 2.0 OTG FSM implementation" depends on USB && USB_OTG select USB_PHY help Implements OTG Finite State Machine as specified in On-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification. config USB_LEDS_TRIGGER_USBPORT tristate "USB port LED trigger" depends on USB && LEDS_TRIGGERS help This driver allows LEDs to be controlled by USB events. Enabling this trigger allows specifying list of USB ports that should turn on LED when some USB device gets connected. config USB_AUTOSUSPEND_DELAY int "Default autosuspend delay" depends on USB default 2 help The default autosuspend delay in seconds. Can be overridden with the usbcore.autosuspend command line or module parameter. The default value Linux has always had is 2 seconds. Change this value if you want a different delay and cannot modify the command line or module parameter. usb/core/Makefile 0000644 00000000746 14722053666 0007747 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB Core files and filesystem # usbcore-y := usb.o hub.o hcd.o urb.o message.o driver.o usbcore-y += config.o file.o buffer.o sysfs.o endpoint.o usbcore-y += devio.o notify.o generic.o quirks.o devices.o usbcore-y += phy.o port.o usbcore-$(CONFIG_OF) += of.o usbcore-$(CONFIG_USB_PCI) += hcd-pci.o usbcore-$(CONFIG_ACPI) += usb-acpi.o obj-$(CONFIG_USB) += usbcore.o obj-$(CONFIG_USB_LEDS_TRIGGER_USBPORT) += ledtrig-usbport.o usb/musb/Kconfig 0000644 00000010453 14722053666 0007624 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Dual Role (OTG-ready) Controller Drivers # for silicon based on Mentor Graphics INVENTRA designs # # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller config USB_MUSB_HDRC tristate 'Inventra Highspeed Dual Role Controller' depends on (USB || USB_GADGET) depends on HAS_IOMEM help Say Y here if your system has a dual role high speed USB controller based on the Mentor Graphics silicon IP. Then configure options to match your silicon and the board it's being used with, including the USB peripheral role, or the USB host role, or both. Texas Instruments families using this IP include DaVinci (35x, 644x ...), OMAP 243x, OMAP 3, and TUSB 6010. Allwinner SoCs using this IP include A10, A13, A20, ... If you do not know what this is, please say N. To compile this driver as a module, choose M here; the module will be called "musb-hdrc". if USB_MUSB_HDRC choice bool "MUSB Mode Selection" default USB_MUSB_DUAL_ROLE if (USB && USB_GADGET) default USB_MUSB_HOST if (USB && !USB_GADGET) default USB_MUSB_GADGET if (!USB && USB_GADGET) config USB_MUSB_HOST bool "Host only mode" depends on USB=y || USB=USB_MUSB_HDRC help Select this when you want to use MUSB in host mode only, thereby the gadget feature will be regressed. config USB_MUSB_GADGET bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC depends on HAS_DMA help Select this when you want to use MUSB in gadget mode only, thereby the host feature will be regressed. config USB_MUSB_DUAL_ROLE bool "Dual Role mode" depends on ((USB=y || USB=USB_MUSB_HDRC) && (USB_GADGET=y || USB_GADGET=USB_MUSB_HDRC)) depends on HAS_DMA help This is the default mode of working of MUSB controller where both host and gadget features are enabled. endchoice comment "Platform Glue Layer" config USB_MUSB_SUNXI tristate "Allwinner (sunxi)" depends on ARCH_SUNXI depends on NOP_USB_XCEIV depends on PHY_SUN4I_USB depends on EXTCON select GENERIC_PHY select SUNXI_SRAM config USB_MUSB_DAVINCI tristate "DaVinci" depends on ARCH_DAVINCI_DMx depends on NOP_USB_XCEIV depends on BROKEN config USB_MUSB_DA8XX tristate "DA8xx/OMAP-L1x" depends on ARCH_DAVINCI_DA8XX depends on NOP_USB_XCEIV select PHY_DA8XX_USB config USB_MUSB_TUSB6010 tristate "TUSB6010" depends on HAS_IOMEM depends on ARCH_OMAP2PLUS || COMPILE_TEST depends on NOP_USB_XCEIV = USB_MUSB_HDRC # both built-in or both modules config USB_MUSB_OMAP2PLUS tristate "OMAP2430 and onwards" depends on ARCH_OMAP2PLUS && USB depends on OMAP_CONTROL_PHY || !OMAP_CONTROL_PHY select GENERIC_PHY config USB_MUSB_AM35X tristate "AM35x" depends on ARCH_OMAP depends on NOP_USB_XCEIV config USB_MUSB_DSPS tristate "TI DSPS platforms" select USB_MUSB_AM335X_CHILD depends on ARCH_OMAP2PLUS || COMPILE_TEST depends on OF_IRQ config USB_MUSB_UX500 tristate "Ux500 platforms" depends on ARCH_U8500 || COMPILE_TEST config USB_MUSB_JZ4740 tristate "JZ4740" depends on NOP_USB_XCEIV depends on MIPS || COMPILE_TEST depends on USB_MUSB_GADGET depends on USB=n || USB_OTG_BLACKLIST_HUB config USB_MUSB_AM335X_CHILD tristate comment "MUSB DMA mode" config MUSB_PIO_ONLY bool 'Disable DMA (always use PIO)' help All data is copied between memory and FIFO by the CPU. DMA controllers are ignored. Do not choose this unless DMA support for your SOC or board is unavailable (or unstable). When DMA is enabled at compile time, you can still disable it at run time using the "use_dma=n" module parameter. if !MUSB_PIO_ONLY config USB_UX500_DMA bool 'ST Ericsson Ux500' depends on USB_MUSB_UX500 help Enable DMA transfers on UX500 platforms. config USB_INVENTRA_DMA bool 'Inventra' depends on USB_MUSB_OMAP2PLUS help Enable DMA transfers using Mentor's engine. config USB_TI_CPPI_DMA bool 'TI CPPI (Davinci)' depends on USB_MUSB_DAVINCI help Enable DMA transfers when TI CPPI DMA is available. config USB_TI_CPPI41_DMA bool 'TI CPPI 4.1' depends on (ARCH_OMAP || ARCH_DAVINCI_DA8XX) && DMADEVICES select TI_CPPI41 config USB_TUSB_OMAP_DMA bool 'TUSB 6010' depends on USB_MUSB_TUSB6010 = USB_MUSB_HDRC # both built-in or both modules depends on ARCH_OMAP help Enable DMA transfers on TUSB 6010 when OMAP DMA is available. endif # !MUSB_PIO_ONLY endif # USB_MUSB_HDRC usb/musb/Makefile 0000644 00000002700 14722053666 0007755 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # for USB OTG silicon based on Mentor Graphics INVENTRA designs # # define_trace.h needs to know how to find our header CFLAGS_musb_trace.o := -I$(src) obj-$(CONFIG_USB_MUSB_HDRC) += musb_hdrc.o musb_hdrc-y := musb_core.o musb_trace.o musb_hdrc-$(CONFIG_USB_MUSB_HOST)$(CONFIG_USB_MUSB_DUAL_ROLE) += musb_virthub.o musb_host.o musb_hdrc-$(CONFIG_USB_MUSB_GADGET)$(CONFIG_USB_MUSB_DUAL_ROLE) += musb_gadget_ep0.o musb_gadget.o musb_hdrc-$(CONFIG_DEBUG_FS) += musb_debugfs.o # Hardware Glue Layer obj-$(CONFIG_USB_MUSB_OMAP2PLUS) += omap2430.o obj-$(CONFIG_USB_MUSB_AM35X) += am35x.o obj-$(CONFIG_USB_MUSB_DSPS) += musb_dsps.o obj-$(CONFIG_USB_MUSB_TUSB6010) += tusb6010.o obj-$(CONFIG_USB_MUSB_DAVINCI) += davinci.o obj-$(CONFIG_USB_MUSB_DA8XX) += da8xx.o obj-$(CONFIG_USB_MUSB_UX500) += ux500.o obj-$(CONFIG_USB_MUSB_JZ4740) += jz4740.o obj-$(CONFIG_USB_MUSB_SUNXI) += sunxi.o obj-$(CONFIG_USB_MUSB_AM335X_CHILD) += musb_am335x.o # the kconfig must guarantee that only one of the # possible I/O schemes will be enabled at a time ... # PIO only, or DMA (several potential schemes). # though PIO is always there to back up DMA, and for ep0 musb_hdrc-$(CONFIG_USB_INVENTRA_DMA) += musbhsdma.o musb_hdrc-$(CONFIG_USB_TI_CPPI_DMA) += cppi_dma.o musb_hdrc-$(CONFIG_USB_TUSB_OMAP_DMA) += tusb6010_omap.o musb_hdrc-$(CONFIG_USB_UX500_DMA) += ux500_dma.o musb_hdrc-$(CONFIG_USB_TI_CPPI41_DMA) += musb_cppi41.o usb/chipidea/Kconfig 0000644 00000002177 14722053666 0010430 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_CHIPIDEA tristate "ChipIdea Highspeed Dual Role Controller" depends on ((USB_EHCI_HCD && USB_GADGET) || (USB_EHCI_HCD && !USB_GADGET) || (!USB_EHCI_HCD && USB_GADGET)) && HAS_DMA select EXTCON select RESET_CONTROLLER select USB_ULPI_BUS select USB_ROLE_SWITCH help Say Y here if your system has a dual role high speed USB controller based on ChipIdea silicon IP. It supports: Dual-role switch (ID, OTG FSM, sysfs), Host-only, and Peripheral-only. When compiled dynamically, the module will be called ci_hdrc.ko. if USB_CHIPIDEA config USB_CHIPIDEA_OF tristate depends on OF default USB_CHIPIDEA config USB_CHIPIDEA_PCI tristate depends on USB_PCI depends on NOP_USB_XCEIV default USB_CHIPIDEA config USB_CHIPIDEA_UDC bool "ChipIdea device controller" depends on USB_GADGET help Say Y here to enable device controller functionality of the ChipIdea driver. config USB_CHIPIDEA_HOST bool "ChipIdea host controller" depends on USB_EHCI_HCD select USB_EHCI_ROOT_HUB_TT help Say Y here to enable host controller functionality of the ChipIdea driver. endif usb/chipidea/Makefile 0000644 00000001105 14722053666 0010553 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc.o ci_hdrc-y := core.o otg.o debug.o ulpi.o ci_hdrc-$(CONFIG_USB_CHIPIDEA_UDC) += udc.o ci_hdrc-$(CONFIG_USB_CHIPIDEA_HOST) += host.o ci_hdrc-$(CONFIG_USB_OTG_FSM) += otg_fsm.o # Glue/Bridge layers go here obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc_usb2.o obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc_msm.o obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc_zevio.o obj-$(CONFIG_USB_CHIPIDEA_PCI) += ci_hdrc_pci.o obj-$(CONFIG_USB_CHIPIDEA_OF) += usbmisc_imx.o ci_hdrc_imx.o obj-$(CONFIG_USB_CHIPIDEA_OF) += ci_hdrc_tegra.o usb/typec/tcpm/Kconfig 0000644 00000002767 14722053666 0010756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config TYPEC_TCPM tristate "USB Type-C Port Controller Manager" depends on USB select USB_ROLE_SWITCH select POWER_SUPPLY help The Type-C Port Controller Manager provides a USB PD and USB Type-C state machine for use with Type-C Port Controllers. if TYPEC_TCPM config TYPEC_TCPCI tristate "Type-C Port Controller Interface driver" depends on I2C select REGMAP_I2C help Type-C Port Controller driver for TCPCI-compliant controller. if TYPEC_TCPCI config TYPEC_RT1711H tristate "Richtek RT1711H Type-C chip driver" help Richtek RT1711H Type-C chip driver that works with Type-C Port Controller Manager to provide USB PD and USB Type-C functionalities. endif # TYPEC_TCPCI config TYPEC_FUSB302 tristate "Fairchild FUSB302 Type-C chip driver" depends on I2C depends on EXTCON || !EXTCON help The Fairchild FUSB302 Type-C chip driver that works with Type-C Port Controller Manager to provide USB PD and USB Type-C functionalities. config TYPEC_WCOVE tristate "Intel WhiskeyCove PMIC USB Type-C PHY driver" depends on ACPI depends on INTEL_SOC_PMIC depends on INTEL_PMC_IPC depends on BXT_WC_PMIC_OPREGION help This driver adds support for USB Type-C on Intel Broxton platforms that have Intel Whiskey Cove PMIC. The driver works with USB Type-C Port Controller Manager to provide USB PD and Type-C functionalities. To compile this driver as module, choose M here: the module will be called typec_wcove.ko endif # TYPEC_TCPM usb/typec/tcpm/Makefile 0000644 00000000411 14722053666 0011073 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TYPEC_TCPM) += tcpm.o obj-$(CONFIG_TYPEC_FUSB302) += fusb302.o obj-$(CONFIG_TYPEC_WCOVE) += typec_wcove.o typec_wcove-y := wcove.o obj-$(CONFIG_TYPEC_TCPCI) += tcpci.o obj-$(CONFIG_TYPEC_RT1711H) += tcpci_rt1711h.o usb/typec/Kconfig 0000644 00000005703 14722053666 0010004 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig TYPEC tristate "USB Type-C Support" help USB Type-C Specification defines a cable and connector for USB where only one type of plug is supported on both ends, i.e. there will not be Type-A plug on one end of the cable and Type-B plug on the other. Determination of the host-to-device relationship happens through a specific Configuration Channel (CC) which goes through the USB Type-C cable. The Configuration Channel may also be used to detect optional Accessory Modes - Analog Audio and Debug - and if USB Power Delivery is supported, the Alternate Modes, where the connector is used for something else then USB communication. USB Power Delivery Specification defines a protocol that can be used to negotiate the voltage and current levels with the connected partners. USB Power Delivery allows higher voltages then the normal 5V, up to 20V, and current up to 5A over the cable. The USB Power Delivery protocol is also used to negotiate the optional Alternate Modes when they are supported. USB Power Delivery does not depend on USB Type-C connector, however it is mostly used together with USB Type-C connectors. USB Type-C and USB Power Delivery Specifications define a set of state machines that need to be implemented in either software or firmware. Simple USB Type-C PHYs, for example USB Type-C Port Controller Interface Specification compliant "Port Controllers" need the state machines to be handled in the OS, but stand-alone USB Type-C and Power Delivery controllers handle the state machines inside their firmware. The USB Type-C and Power Delivery controllers usually function autonomously, and do not necessarily require drivers. Enable this configurations option if you have USB Type-C connectors on your system and 1) you know your USB Type-C hardware requires OS control (a driver) to function, or 2) if you need to be able to read the status of the USB Type-C ports in your system, or 3) if you need to be able to swap the power role (decide are you supplying or consuming power over the cable) or data role (host or device) when both roles are supported. For more information, see the kernel documentation for USB Type-C Connector Class API (Documentation/driver-api/usb/typec.rst) <https://www.kernel.org/doc/html/latest/driver-api/usb/typec.html> and ABI (Documentation/ABI/testing/sysfs-class-typec). if TYPEC source "drivers/usb/typec/tcpm/Kconfig" source "drivers/usb/typec/ucsi/Kconfig" config TYPEC_TPS6598X tristate "TI TPS6598x USB Power Delivery controller driver" depends on I2C select REGMAP_I2C help Say Y or M here if your system has TI TPS65982 or TPS65983 USB Power Delivery controller. If you choose to build this driver as a dynamically linked module, the module will be called tps6598x.ko. source "drivers/usb/typec/mux/Kconfig" source "drivers/usb/typec/altmodes/Kconfig" endif # TYPEC usb/typec/mux/Kconfig 0000644 00000000532 14722053666 0010610 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "USB Type-C Multiplexer/DeMultiplexer Switch support" config TYPEC_MUX_PI3USB30532 tristate "Pericom PI3USB30532 Type-C cross switch driver" depends on I2C help Say Y or M if your system has a Pericom PI3USB30532 Type-C cross switch / mux chip found on some devices with a Type-C port. endmenu usb/typec/mux/Makefile 0000644 00000000131 14722053666 0010740 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TYPEC_MUX_PI3USB30532) += pi3usb30532.o usb/typec/ucsi/Kconfig 0000644 00000003512 14722053666 0010743 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config TYPEC_UCSI tristate "USB Type-C Connector System Software Interface driver" depends on !CPU_BIG_ENDIAN help USB Type-C Connector System Software Interface (UCSI) is a specification for an interface that allows the operating system to control the USB Type-C ports. On UCSI system the USB Type-C ports function autonomously by default, but in order to get the status of the ports and support basic operations like role swapping, the driver is required. UCSI is available on most of the new Intel based systems that are equipped with Embedded Controller and USB Type-C ports. UCSI specification does not define the interface method, so depending on the platform, ACPI, PCI, I2C, etc. may be used. Therefore this driver only provides the core part, and separate drivers are needed for every supported interface method. The UCSI specification can be downloaded from: http://www.intel.com/content/www/us/en/io/universal-serial-bus/usb-type-c-ucsi-spec.html To compile the driver as a module, choose M here: the module will be called typec_ucsi. if TYPEC_UCSI config UCSI_CCG tristate "UCSI Interface Driver for Cypress CCGx" depends on I2C help This driver enables UCSI support on platforms that expose a Cypress CCGx Type-C controller over I2C interface. To compile the driver as a module, choose M here: the module will be called ucsi_ccg. config UCSI_ACPI tristate "UCSI ACPI Interface Driver" depends on ACPI help This driver enables UCSI support on platforms that expose UCSI interface as ACPI device. On new Intel Atom based platforms starting from Broxton SoCs and Core platforms stating from Skylake, UCSI is an ACPI enumerated device. To compile the driver as a module, choose M here: the module will be called ucsi_acpi endif usb/typec/ucsi/Makefile 0000644 00000000516 14722053666 0011101 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 CFLAGS_trace.o := -I$(src) obj-$(CONFIG_TYPEC_UCSI) += typec_ucsi.o typec_ucsi-y := ucsi.o typec_ucsi-$(CONFIG_TRACING) += trace.o ifneq ($(CONFIG_TYPEC_DP_ALTMODE),) typec_ucsi-y += displayport.o endif obj-$(CONFIG_UCSI_ACPI) += ucsi_acpi.o obj-$(CONFIG_UCSI_CCG) += ucsi_ccg.o usb/typec/Makefile 0000644 00000000423 14722053666 0010133 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TYPEC) += typec.o typec-y := class.o mux.o bus.o obj-$(CONFIG_TYPEC) += altmodes/ obj-$(CONFIG_TYPEC_TCPM) += tcpm/ obj-$(CONFIG_TYPEC_UCSI) += ucsi/ obj-$(CONFIG_TYPEC_TPS6598X) += tps6598x.o obj-$(CONFIG_TYPEC) += mux/ usb/typec/altmodes/Kconfig 0000644 00000001346 14722053666 0011613 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "USB Type-C Alternate Mode drivers" config TYPEC_DP_ALTMODE tristate "DisplayPort Alternate Mode driver" help DisplayPort USB Type-C Alternate Mode allows DisplayPort displays and adapters to be attached to the USB Type-C connectors on the system. To compile this driver as a module, choose M here: the module will be called typec_displayport. config TYPEC_NVIDIA_ALTMODE tristate "NVIDIA Alternate Mode driver" depends on TYPEC_DP_ALTMODE help Latest NVIDIA GPUs support VirtualLink devices. Select this to enable support for VirtualLink devices with NVIDIA GPUs. To compile this driver as a module, choose M here: the module will be called typec_nvidia. endmenu usb/typec/altmodes/Makefile 0000644 00000000325 14722053666 0011744 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TYPEC_DP_ALTMODE) += typec_displayport.o typec_displayport-y := displayport.o obj-$(CONFIG_TYPEC_NVIDIA_ALTMODE) += typec_nvidia.o typec_nvidia-y := nvidia.o usb/Kconfig 0000644 00000011454 14722053666 0006660 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB device configuration # config USB_OHCI_BIG_ENDIAN_DESC bool config USB_OHCI_BIG_ENDIAN_MMIO bool config USB_OHCI_LITTLE_ENDIAN bool default n if STB03xxx || PPC_MPC52xx default y config USB_EHCI_BIG_ENDIAN_MMIO bool config USB_EHCI_BIG_ENDIAN_DESC bool config USB_UHCI_BIG_ENDIAN_MMIO bool config USB_UHCI_BIG_ENDIAN_DESC bool menuconfig USB_SUPPORT bool "USB support" depends on HAS_IOMEM default y ---help--- This option adds core support for Universal Serial Bus (USB). You will also need drivers from the following menu to make use of it. if USB_SUPPORT source "drivers/usb/common/Kconfig" config USB_ARCH_HAS_HCD def_bool y config USB tristate "Support for Host-side USB" depends on USB_ARCH_HAS_HCD select GENERIC_ALLOCATOR select USB_COMMON select NLS # for UTF-8 strings ---help--- Universal Serial Bus (USB) is a specification for a serial bus subsystem which offers higher speeds and more features than the traditional PC serial port. The bus supplies power to peripherals and allows for hot swapping. Up to 127 USB peripherals can be connected to a single USB host in a tree structure. The USB host is the root of the tree, the peripherals are the leaves and the inner nodes are special USB devices called hubs. Most PCs now have USB host ports, used to connect peripherals such as scanners, keyboards, mice, modems, cameras, disks, flash memory, network links, and printers to the PC. Say Y here if your computer has a host-side USB port and you want to use USB devices. You then need to say Y to at least one of the Host Controller Driver (HCD) options below. Choose a USB 1.1 controller, such as "UHCI HCD support" or "OHCI HCD support", and "EHCI HCD (USB 2.0) support" except for older systems that do not have USB 2.0 support. It doesn't normally hurt to select them all if you are not certain. If your system has a device-side USB port, used in the peripheral side of the USB protocol, see the "USB Gadget" framework instead. After choosing your HCD, then select drivers for the USB peripherals you'll be using. You may want to check out the information provided in <file:Documentation/usb/> and especially the links given in <file:Documentation/usb/usb-help.rst>. To compile this driver as a module, choose M here: the module will be called usbcore. config USB_PCI bool "PCI based USB host interface" depends on PCI default y ---help--- Many embedded system SOCs (e.g. freescale T2080) have both PCI and USB modules with the USB module directly controlled by registers and having no relationship to the PCI module. If you have such a device you may say N here and PCI related code will not be built in the USB driver. if USB source "drivers/usb/core/Kconfig" source "drivers/usb/mon/Kconfig" source "drivers/usb/host/Kconfig" source "drivers/usb/renesas_usbhs/Kconfig" source "drivers/usb/class/Kconfig" source "drivers/usb/storage/Kconfig" source "drivers/usb/image/Kconfig" source "drivers/usb/usbip/Kconfig" endif source "drivers/usb/cdns3/Kconfig" source "drivers/usb/mtu3/Kconfig" source "drivers/usb/musb/Kconfig" source "drivers/usb/dwc3/Kconfig" source "drivers/usb/dwc2/Kconfig" source "drivers/usb/chipidea/Kconfig" source "drivers/usb/isp1760/Kconfig" comment "USB port drivers" if USB config USB_USS720 tristate "USS720 parport driver" depends on PARPORT select PARPORT_NOT_PC ---help--- This driver is for USB parallel port adapters that use the Lucent Technologies USS-720 chip. These cables are plugged into your USB port and provide USB compatibility to peripherals designed with parallel port interfaces. The chip has two modes: automatic mode and manual mode. In automatic mode, it looks to the computer like a standard USB printer. Only printers may be connected to the USS-720 in this mode. The generic USB printer driver ("USB Printer support", above) may be used in that mode, and you can say N here if you want to use the chip only in this mode. Manual mode is not limited to printers, any parallel port device should work. This driver utilizes manual mode. Note however that some operations are three orders of magnitude slower than on a PCI/ISA Parallel Port, so timing critical applications might not work. Say Y here if you own an USS-720 USB->Parport cable and intend to connect anything other than a printer to it. To compile this driver as a module, choose M here: the module will be called uss720. source "drivers/usb/serial/Kconfig" source "drivers/usb/misc/Kconfig" source "drivers/usb/atm/Kconfig" endif # USB source "drivers/usb/phy/Kconfig" source "drivers/usb/gadget/Kconfig" source "drivers/usb/typec/Kconfig" source "drivers/usb/roles/Kconfig" endif # USB_SUPPORT usb/phy/Kconfig 0000644 00000013325 14722053666 0007457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Physical Layer USB driver configuration # menu "USB Physical Layer drivers" config USB_PHY select EXTCON def_bool n # # USB Transceiver Drivers # config AB8500_USB tristate "AB8500 USB Transceiver Driver" depends on AB8500_CORE select USB_PHY help Enable this to support the USB OTG transceiver in AB8500 chip. This transceiver supports high and full speed devices plus, in host mode, low speed. config FSL_USB2_OTG tristate "Freescale USB OTG Transceiver Driver" depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help Enable this to support Freescale USB OTG transceiver. config ISP1301_OMAP tristate "Philips ISP1301 with OMAP OTG" depends on I2C && ARCH_OMAP_OTG depends on USB depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help If you say yes here you get support for the Philips ISP1301 USB-On-The-Go transceiver working with the OMAP OTG controller. The ISP1301 is a full speed USB transceiver which is used in products including H2, H3, and H4 development boards for Texas Instruments OMAP processors. This driver can also be built as a module. If so, the module will be called phy-isp1301-omap. config KEYSTONE_USB_PHY tristate "Keystone USB PHY Driver" depends on ARCH_KEYSTONE || COMPILE_TEST depends on NOP_USB_XCEIV help Enable this to support Keystone USB phy. This driver provides interface to interact with USB 2.0 and USB 3.0 PHY that is part of the Keystone SOC. config NOP_USB_XCEIV tristate "NOP USB Transceiver Driver" depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in select USB_PHY help This driver is to be used by all the usb transceiver which are either built-in with usb ip or which are autonomous and doesn't require any phy programming such as ISP1x04 etc. config AM335X_CONTROL_USB tristate config AM335X_PHY_USB tristate "AM335x USB PHY Driver" depends on ARM || COMPILE_TEST depends on NOP_USB_XCEIV select USB_PHY select AM335X_CONTROL_USB select USB_COMMON help This driver provides PHY support for that phy which part for the AM335x SoC. config TWL6030_USB tristate "TWL6030 USB Transceiver Driver" depends on TWL4030_CORE && OMAP_USB2 && USB_MUSB_OMAP2PLUS depends on OF help Enable this to support the USB OTG transceiver on TWL6030 family chips. This TWL6030 transceiver has the VBUS and ID GND and OTG SRP events capabilities. For all other transceiver functionality UTMI PHY is embedded in OMAP4430. The internal PHY configurations APIs are hooked to this driver through platform_data structure. The definition of internal PHY APIs are in the mach-omap2 layer. config USB_GPIO_VBUS tristate "GPIO based peripheral-only VBUS sensing 'transceiver'" depends on GPIOLIB || COMPILE_TEST depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help Provides simple GPIO VBUS sensing for controllers with an internal transceiver via the usb_phy interface, and optionally control of a D+ pullup GPIO as well as a VBUS current limit regulator. config OMAP_OTG tristate "OMAP USB OTG controller driver" depends on ARCH_OMAP_OTG && EXTCON help Enable this to support some transceivers on OMAP1 platforms. OTG controller is needed to switch between host and peripheral modes. This driver can also be built as a module. If so, the module will be called phy-omap-otg. config TAHVO_USB tristate "Tahvo USB transceiver driver" depends on MFD_RETU depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help Enable this to support USB transceiver on Tahvo. This is used at least on Nokia 770. config TAHVO_USB_HOST_BY_DEFAULT depends on TAHVO_USB bool "Device in USB host mode by default" help Say Y here, if you want the device to enter USB host mode by default on bootup. config USB_ISP1301 tristate "NXP ISP1301 USB transceiver support" depends on USB || USB_GADGET depends on I2C select USB_PHY help Say Y here to add support for the NXP ISP1301 USB transceiver driver. This chip is typically used as USB transceiver for USB host, gadget and OTG drivers (to be selected separately). To compile this driver as a module, choose M here: the module will be called phy-isp1301. config USB_MV_OTG tristate "Marvell USB OTG support" depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' select USB_PHY help Say Y here if you want to build Marvell USB OTG transciever driver in kernel (including PXA and MMP series). This driver implements role switch between EHCI host driver and gadget driver. To compile this driver as a module, choose M here. config USB_MXS_PHY tristate "Freescale MXS USB PHY support" depends on ARCH_MXC || ARCH_MXS select STMP_DEVICE select USB_PHY help Enable this to support the Freescale MXS USB PHY. MXS Phy is used by some of the i.MX SoCs, for example imx23/28/6x. config USB_TEGRA_PHY tristate "NVIDIA Tegra USB PHY Driver" depends on ARCH_TEGRA select USB_COMMON select USB_PHY select USB_ULPI help This driver provides PHY support for the USB controllers found on NVIDIA Tegra SoC's. config USB_ULPI bool "Generic ULPI Transceiver Driver" depends on ARM || ARM64 select USB_ULPI_VIEWPORT help Enable this to support ULPI connected USB OTG transceivers which are likely found on embedded boards. config USB_ULPI_VIEWPORT bool help Provides read/write operations to the ULPI phy register set for controllers with a viewport register (e.g. Chipidea/ARC controllers). endmenu usb/phy/Makefile 0000644 00000001730 14722053666 0007611 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for physical layer USB drivers # obj-$(CONFIG_USB_PHY) += phy.o obj-$(CONFIG_OF) += of.o # transceiver drivers, keep the list sorted obj-$(CONFIG_AB8500_USB) += phy-ab8500-usb.o obj-$(CONFIG_FSL_USB2_OTG) += phy-fsl-usb.o obj-$(CONFIG_ISP1301_OMAP) += phy-isp1301-omap.o obj-$(CONFIG_NOP_USB_XCEIV) += phy-generic.o obj-$(CONFIG_TAHVO_USB) += phy-tahvo.o obj-$(CONFIG_AM335X_CONTROL_USB) += phy-am335x-control.o obj-$(CONFIG_AM335X_PHY_USB) += phy-am335x.o obj-$(CONFIG_OMAP_OTG) += phy-omap-otg.o obj-$(CONFIG_TWL6030_USB) += phy-twl6030-usb.o obj-$(CONFIG_USB_TEGRA_PHY) += phy-tegra-usb.o obj-$(CONFIG_USB_GPIO_VBUS) += phy-gpio-vbus-usb.o obj-$(CONFIG_USB_ISP1301) += phy-isp1301.o obj-$(CONFIG_USB_MV_OTG) += phy-mv-usb.o obj-$(CONFIG_USB_MXS_PHY) += phy-mxs-usb.o obj-$(CONFIG_USB_ULPI) += phy-ulpi.o obj-$(CONFIG_USB_ULPI_VIEWPORT) += phy-ulpi-viewport.o obj-$(CONFIG_KEYSTONE_USB_PHY) += phy-keystone.o usb/dwc3/Kconfig 0000644 00000010135 14722053666 0007513 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_DWC3 tristate "DesignWare USB3 DRD Core Support" depends on (USB || USB_GADGET) && HAS_DMA select USB_XHCI_PLATFORM if USB_XHCI_HCD help Say Y or M here if your system has a Dual Role SuperSpeed USB controller based on the DesignWare USB3 IP Core. If you choose to build this driver is a dynamically linked module, the module will be called dwc3.ko. if USB_DWC3 config USB_DWC3_ULPI bool "Register ULPI PHY Interface" depends on USB_ULPI_BUS=y || USB_ULPI_BUS=USB_DWC3 help Select this if you have ULPI type PHY attached to your DWC3 controller. choice bool "DWC3 Mode Selection" default USB_DWC3_DUAL_ROLE if (USB && USB_GADGET) default USB_DWC3_HOST if (USB && !USB_GADGET) default USB_DWC3_GADGET if (!USB && USB_GADGET) config USB_DWC3_HOST bool "Host only mode" depends on USB=y || USB=USB_DWC3 help Select this when you want to use DWC3 in host mode only, thereby the gadget feature will be regressed. config USB_DWC3_GADGET bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_DWC3 help Select this when you want to use DWC3 in gadget mode only, thereby the host feature will be regressed. config USB_DWC3_DUAL_ROLE bool "Dual Role mode" depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3)) depends on (EXTCON=y || EXTCON=USB_DWC3) help This is the default mode of working of DWC3 controller where both host and gadget features are enabled. endchoice comment "Platform Glue Driver Support" config USB_DWC3_OMAP tristate "Texas Instruments OMAP5 and similar Platforms" depends on ARCH_OMAP2PLUS || COMPILE_TEST depends on EXTCON || !EXTCON depends on OF default USB_DWC3 help Some platforms from Texas Instruments like OMAP5, DRA7xxx and AM437x use this IP for USB2/3 functionality. Say 'Y' or 'M' here if you have one such device config USB_DWC3_EXYNOS tristate "Samsung Exynos Platform" depends on (ARCH_EXYNOS || COMPILE_TEST) && OF default USB_DWC3 help Recent Exynos5 SoCs ship with one DesignWare Core USB3 IP inside, say 'Y' or 'M' if you have one such device. config USB_DWC3_PCI tristate "PCIe-based Platforms" depends on USB_PCI && ACPI default USB_DWC3 help If you're using the DesignWare Core IP with a PCIe (but not HAPS platform), please say 'Y' or 'M' here. config USB_DWC3_HAPS tristate "Synopsys PCIe-based HAPS Platforms" depends on USB_PCI default USB_DWC3 help If you're using the DesignWare Core IP with a Synopsys PCIe HAPS platform, please say 'Y' or 'M' here. config USB_DWC3_KEYSTONE tristate "Texas Instruments Keystone2/AM654 Platforms" depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST default USB_DWC3 help Support of USB2/3 functionality in TI Keystone2 and AM654 platforms. Say 'Y' or 'M' here if you have one such device config USB_DWC3_MESON_G12A tristate "Amlogic Meson G12A Platforms" depends on OF && COMMON_CLK depends on ARCH_MESON || COMPILE_TEST default USB_DWC3 select USB_ROLE_SWITCH select REGMAP_MMIO help Support USB2/3 functionality in Amlogic G12A platforms. Say 'Y' or 'M' if you have one such device. config USB_DWC3_OF_SIMPLE tristate "Generic OF Simple Glue Layer" depends on OF && COMMON_CLK default USB_DWC3 help Support USB2/3 functionality in simple SoC integrations. Currently supports Xilinx and Qualcomm DWC USB3 IP. Say 'Y' or 'M' if you have one such device. config USB_DWC3_ST tristate "STMicroelectronics Platforms" depends on (ARCH_STI || COMPILE_TEST) && OF default USB_DWC3 help STMicroelectronics SoCs with one DesignWare Core USB3 IP inside (i.e. STiH407). Say 'Y' or 'M' if you have one such device. config USB_DWC3_QCOM tristate "Qualcomm Platform" depends on ARCH_QCOM || COMPILE_TEST depends on EXTCON || !EXTCON depends on (OF || ACPI) default USB_DWC3 help Some Qualcomm SoCs use DesignWare Core IP for USB2/3 functionality. This driver also handles Qscratch wrapper which is needed for peripheral mode support. Say 'Y' or 'M' if you have one such device. endif usb/dwc3/Makefile 0000644 00000002677 14722053666 0007664 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # define_trace.h needs to know how to find our header CFLAGS_trace.o := -I$(src) obj-$(CONFIG_USB_DWC3) += dwc3.o dwc3-y := core.o ifneq ($(CONFIG_TRACING),) dwc3-y += trace.o endif ifneq ($(filter y,$(CONFIG_USB_DWC3_HOST) $(CONFIG_USB_DWC3_DUAL_ROLE)),) dwc3-y += host.o endif ifneq ($(filter y,$(CONFIG_USB_DWC3_GADGET) $(CONFIG_USB_DWC3_DUAL_ROLE)),) dwc3-y += gadget.o ep0.o endif ifneq ($(CONFIG_USB_DWC3_DUAL_ROLE),) dwc3-y += drd.o endif ifneq ($(CONFIG_USB_DWC3_ULPI),) dwc3-y += ulpi.o endif ifneq ($(CONFIG_DEBUG_FS),) dwc3-y += debugfs.o endif ## # Platform-specific glue layers go here # # NOTICE: Make sure your glue layer doesn't depend on anything # which is arch-specific and that it compiles on all situations. # # We want to keep this requirement in order to be able to compile # the entire driver (with all its glue layers) on several architectures # and make sure it compiles fine. This will also help with allmodconfig # and allyesconfig builds. ## obj-$(CONFIG_USB_DWC3_OMAP) += dwc3-omap.o obj-$(CONFIG_USB_DWC3_EXYNOS) += dwc3-exynos.o obj-$(CONFIG_USB_DWC3_PCI) += dwc3-pci.o obj-$(CONFIG_USB_DWC3_HAPS) += dwc3-haps.o obj-$(CONFIG_USB_DWC3_KEYSTONE) += dwc3-keystone.o obj-$(CONFIG_USB_DWC3_MESON_G12A) += dwc3-meson-g12a.o obj-$(CONFIG_USB_DWC3_OF_SIMPLE) += dwc3-of-simple.o obj-$(CONFIG_USB_DWC3_ST) += dwc3-st.o obj-$(CONFIG_USB_DWC3_QCOM) += dwc3-qcom.o usb/misc/Kconfig 0000644 00000022263 14722053666 0007613 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Miscellaneous driver configuration # comment "USB Miscellaneous drivers" config USB_EMI62 tristate "EMI 6|2m USB Audio interface support" ---help--- This driver loads firmware to Emagic EMI 6|2m low latency USB Audio and Midi interface. After firmware load the device is handled with standard linux USB Audio driver. This code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called audio. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. config USB_EMI26 tristate "EMI 2|6 USB Audio interface support" ---help--- This driver loads firmware to Emagic EMI 2|6 low latency USB Audio interface. After firmware load the device is handled with standard linux USB Audio driver. To compile this driver as a module, choose M here: the module will be called emi26. config USB_ADUTUX tristate "ADU devices from Ontrak Control Systems" help Say Y if you want to use an ADU device from Ontrak Control Systems. To compile this driver as a module, choose M here. The module will be called adutux. config USB_SEVSEG tristate "USB 7-Segment LED Display" help Say Y here if you have a USB 7-Segment Display by Delcom To compile this driver as a module, choose M here: the module will be called usbsevseg. config USB_LEGOTOWER tristate "USB Lego Infrared Tower support" help Say Y here if you want to connect a USB Lego Infrared Tower to your computer's USB port. This code is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called legousbtower. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. config USB_LCD tristate "USB LCD driver support" help Say Y here if you want to connect an USBLCD to your computer's USB port. The USBLCD is a small USB interface board for alphanumeric LCD modules. See <http://www.usblcd.de/> for more information. To compile this driver as a module, choose M here: the module will be called usblcd. config USB_CYPRESS_CY7C63 tristate "Cypress CY7C63xxx USB driver support" help Say Y here if you want to connect a Cypress CY7C63xxx micro controller to your computer's USB port. Currently this driver supports the pre-programmed devices (incl. firmware) by AK Modul-Bus Computer GmbH. Please see: http://www.ak-modul-bus.de/stat/mikrocontroller.html To compile this driver as a module, choose M here: the module will be called cypress_cy7c63. config USB_CYTHERM tristate "Cypress USB thermometer driver support" help Say Y here if you want to connect a Cypress USB thermometer device to your computer's USB port. This device is also known as the Cypress USB Starter kit or demo board. The Elektor magazine published a modified version of this device in issue #291. To compile this driver as a module, choose M here: the module will be called cytherm. config USB_IDMOUSE tristate "Siemens ID USB Mouse Fingerprint sensor support" help Say Y here if you want to use the fingerprint sensor on the Siemens ID Mouse. There is also a Siemens ID Mouse _Professional_, which has not been tested with this driver, but uses the same sensor and may therefore work. This driver creates an entry "/dev/idmouseX" or "/dev/usb/idmouseX", which can be used by, e.g.,"cat /dev/idmouse0 > fingerprint.pnm". See also <http://www.fs.tum.de/~echtler/idmouse/>. config USB_FTDI_ELAN tristate "Elan PCMCIA CardBus Adapter USB Client" help ELAN's Uxxx series of adapters are USB to PCMCIA CardBus adapters. Currently only the U132 adapter is available. The U132 is specifically designed for CardBus PC cards that contain an OHCI host controller. Typical PC cards are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 adapter will *NOT* work with PC cards that do not contain an OHCI controller. To use a U132 adapter you will need this "ftdi-elan" module as well as the "u132-hcd" module which is a USB host controller driver that talks to the OHCI controller within CardBus card that are inserted in the U132 adapter. This driver has been tested with a CardBus OHCI USB adapter, and worked with a USB PEN Drive inserted into the first USB port of the PCCARD. A rather pointless thing to do, but useful for testing. See also the USB_U132_HCD entry "Elan U132 Adapter Host Controller" It is safe to say M here. config USB_APPLEDISPLAY tristate "Apple Cinema Display support" select BACKLIGHT_CLASS_DEVICE help Say Y here if you want to control the backlight of Apple Cinema Displays over USB. This driver provides a sysfs interface. source "drivers/usb/misc/sisusbvga/Kconfig" config USB_LD tristate "USB LD driver" help This driver is for generic USB devices that use interrupt transfers, like LD Didactic's USB devices. To compile this driver as a module, choose M here: the module will be called ldusb. config USB_TRANCEVIBRATOR tristate "PlayStation 2 Trance Vibrator driver support" help Say Y here if you want to connect a PlayStation 2 Trance Vibrator device to your computer's USB port. To compile this driver as a module, choose M here: the module will be called trancevibrator. config USB_IOWARRIOR tristate "IO Warrior driver support" help Say Y here if you want to support the IO Warrior devices from Code Mercenaries. This includes support for the following devices: IO Warrior 40 IO Warrior 24 IO Warrior 56 IO Warrior 24 Power Vampire To compile this driver as a module, choose M here: the module will be called iowarrior. config USB_TEST tristate "USB testing driver" help This driver is for testing host controller software. It is used with specialized device firmware for regression and stress testing, to help prevent problems from cropping up with "real" drivers. See <http://www.linux-usb.org/usbtest/> for more information, including sample test device firmware and "how to use it". config USB_EHSET_TEST_FIXTURE tristate "USB EHSET Test Fixture driver" help Say Y here if you want to support the special test fixture device used for the USB-IF Embedded Host High-Speed Electrical Test procedure. When the test fixture is connected, it can enumerate as one of several VID/PID pairs. This driver then initiates a corresponding test mode on the downstream port to which the test fixture is attached. See <http://www.usb.org/developers/onthego/EHSET_v1.01.pdf> for more information. config USB_ISIGHTFW tristate "iSight firmware loading support" select FW_LOADER help This driver loads firmware for USB Apple iSight cameras, allowing them to be driven by the USB video class driver available at http://linux-uvc.berlios.de The firmware for this driver must be extracted from the MacOS driver beforehand. Tools for doing so are available at http://bersace03.free.fr config USB_YUREX tristate "USB YUREX driver support" help Say Y here if you want to connect a YUREX to your computer's USB port. The YUREX is a leg-shakes sensor. See <http://bbu.kayac.com/en/> for further information. This driver supports read/write of leg-shakes counter and fasync for the counter update via a device file /dev/yurex*. To compile this driver as a module, choose M here: the module will be called yurex. config USB_EZUSB_FX2 tristate "Functions for loading firmware on EZUSB chips" help Say Y here if you need EZUSB device support. (Cypress FX/FX2/FX2LP microcontrollers) config USB_HUB_USB251XB tristate "USB251XB Hub Controller Configuration Driver" depends on I2C help This option enables support for configuration via SMBus of the Microchip USB251x/xBi USB 2.0 Hub Controller series. Configuration parameters may be set in devicetree or platform data. Say Y or M here if you need to configure such a device via SMBus. config USB_HSIC_USB3503 tristate "USB3503 HSIC to USB20 Driver" depends on I2C select REGMAP_I2C help This option enables support for SMSC USB3503 HSIC to USB 2.0 Driver. config USB_HSIC_USB4604 tristate "USB4604 HSIC to USB20 Driver" depends on I2C help This option enables support for SMSC USB4604 HSIC to USB 2.0 Driver. config USB_LINK_LAYER_TEST tristate "USB Link Layer Test driver" help This driver is for generating specific traffic for Super Speed Link Layer Test Device. Say Y only when you want to conduct USB Super Speed Link Layer Test for host controllers. config USB_CHAOSKEY tristate "ChaosKey random number generator driver support" depends on HW_RANDOM help Say Y here if you want to connect an AltusMetrum ChaosKey or Araneus Alea I to your computer's USB port. These devices are hardware random number generators which hook into the kernel entropy pool to ensure a large supply of entropy for /dev/random and /dev/urandom and also provides direct access via /dev/chaoskeyX To compile this driver as a module, choose M here: the module will be called chaoskey. usb/misc/Makefile 0000644 00000002344 14722053666 0007746 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the rest of the USB drivers # (the ones that don't fit into any other categories) # obj-$(CONFIG_USB_ADUTUX) += adutux.o obj-$(CONFIG_USB_APPLEDISPLAY) += appledisplay.o obj-$(CONFIG_USB_CYPRESS_CY7C63) += cypress_cy7c63.o obj-$(CONFIG_USB_CYTHERM) += cytherm.o obj-$(CONFIG_USB_EMI26) += emi26.o obj-$(CONFIG_USB_EMI62) += emi62.o obj-$(CONFIG_USB_EZUSB_FX2) += ezusb.o obj-$(CONFIG_USB_FTDI_ELAN) += ftdi-elan.o obj-$(CONFIG_USB_IDMOUSE) += idmouse.o obj-$(CONFIG_USB_IOWARRIOR) += iowarrior.o obj-$(CONFIG_USB_ISIGHTFW) += isight_firmware.o obj-$(CONFIG_USB_LCD) += usblcd.o obj-$(CONFIG_USB_LD) += ldusb.o obj-$(CONFIG_USB_LEGOTOWER) += legousbtower.o obj-$(CONFIG_USB_TEST) += usbtest.o obj-$(CONFIG_USB_EHSET_TEST_FIXTURE) += ehset.o obj-$(CONFIG_USB_TRANCEVIBRATOR) += trancevibrator.o obj-$(CONFIG_USB_USS720) += uss720.o obj-$(CONFIG_USB_SEVSEG) += usbsevseg.o obj-$(CONFIG_USB_YUREX) += yurex.o obj-$(CONFIG_USB_HUB_USB251XB) += usb251xb.o obj-$(CONFIG_USB_HSIC_USB3503) += usb3503.o obj-$(CONFIG_USB_HSIC_USB4604) += usb4604.o obj-$(CONFIG_USB_CHAOSKEY) += chaoskey.o obj-$(CONFIG_USB_SISUSBVGA) += sisusbvga/ obj-$(CONFIG_USB_LINK_LAYER_TEST) += lvstest.o usb/misc/sisusbvga/Kconfig 0000644 00000003073 14722053666 0011617 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_SISUSBVGA tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)" depends on (USB_MUSB_HDRC || USB_EHCI_HCD) select FONT_SUPPORT if USB_SISUSBVGA_CON ---help--- Say Y here if you intend to attach a USB2VGA dongle based on a Net2280 and a SiS315 chip. Note that this device requires a USB 2.0 host controller. It will not work with USB 1.x controllers. To compile this driver as a module, choose M here; the module will be called sisusbvga. If unsure, say N. config USB_SISUSBVGA_CON bool "Text console and mode switching support" if USB_SISUSBVGA depends on VT && BROKEN select FONT_8x16 ---help--- Say Y here if you want a VGA text console via the USB dongle or want to support userland applications that utilize the driver's display mode switching capabilities. Note that this console supports VGA/EGA text mode only. By default, the console part of the driver will not kick in when the driver is initialized. If you want the driver to take over one or more of the consoles, you need to specify the number of the first and last consoles (starting at 1) as driver parameters. For example, if the driver is compiled as a module: modprobe sisusbvga first=1 last=5 If you use hotplug, add this to your modutils config files with the "options" keyword, such as eg. options sisusbvga first=1 last=5 If the driver is compiled into the kernel image, the parameters must be given in the kernel command like, such as sisusbvga.first=1 sisusbvga.last=5 usb/misc/sisusbvga/Makefile 0000644 00000000364 14722053666 0011754 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the sisusb driver (if driver is inside kernel tree). # obj-$(CONFIG_USB_SISUSBVGA) += sisusbvga.o sisusbvga-y := sisusb.o sisusbvga-$(CONFIG_USB_SISUSBVGA_CON) += sisusb_con.o sisusb_init.o usb/atm/Kconfig 0000644 00000004336 14722053666 0007442 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB/ATM DSL configuration # menuconfig USB_ATM tristate "USB DSL modem support" depends on ATM select CRC32 help Say Y here if you want to connect a USB Digital Subscriber Line (DSL) modem to your computer's USB port. You will then need to choose your modem from the list below. To compile this driver as a module, choose M here: the module will be called usbatm. if USB_ATM config USB_SPEEDTOUCH tristate "Speedtouch USB support" select FW_LOADER help Say Y here if you have an SpeedTouch USB or SpeedTouch 330 modem. In order to use your modem you will need to install the two parts of the firmware, extracted by the user space tools; see <http://www.linux-usb.org/SpeedTouch/> for details. To compile this driver as a module, choose M here: the module will be called speedtch. config USB_CXACRU tristate "Conexant AccessRunner USB support" select FW_LOADER help Say Y here if you have an ADSL USB modem based on the Conexant AccessRunner chipset. In order to use your modem you will need to install the firmware, extracted by the user space tools; see <http://accessrunner.sourceforge.net/> for details. To compile this driver as a module, choose M here: the module will be called cxacru. config USB_UEAGLEATM tristate "ADI 930 and eagle USB DSL modem" select FW_LOADER help Say Y here if you have an ADSL USB modem based on the ADI 930 or eagle chipset. In order to use your modem you will need to install firmwares and CMV (Command Management Variables); see <https://gna.org/projects/ueagleatm/> for details. To compile this driver as a module, choose M here: the module will be called ueagle-atm. config USB_XUSBATM tristate "Other USB DSL modem support" help Say Y here if you have a DSL USB modem not explicitly supported by another USB DSL drivers. In order to use your modem you will need to pass the vendor ID, product ID, and endpoint numbers for transmission and reception as module parameters. You may need to initialize the modem using a user space utility (a firmware loader for example). To compile this driver as a module, choose M here: the module will be called xusbatm. endif # USB_ATM usb/atm/Makefile 0000644 00000000421 14722053666 0007566 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB ATM/xDSL drivers # obj-$(CONFIG_USB_CXACRU) += cxacru.o obj-$(CONFIG_USB_SPEEDTOUCH) += speedtch.o obj-$(CONFIG_USB_UEAGLEATM) += ueagle-atm.o obj-$(CONFIG_USB_ATM) += usbatm.o obj-$(CONFIG_USB_XUSBATM) += xusbatm.o usb/cdns3/Kconfig 0000644 00000002525 14722053666 0007671 0 ustar 00 config USB_CDNS3 tristate "Cadence USB3 Dual-Role Controller" depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA select USB_XHCI_PLATFORM if USB_XHCI_HCD select USB_ROLE_SWITCH help Say Y here if your system has a Cadence USB3 dual-role controller. It supports: dual-role switch, Host-only, and Peripheral-only. If you choose to build this driver is a dynamically linked as module, the module will be called cdns3.ko. if USB_CDNS3 config USB_CDNS3_GADGET bool "Cadence USB3 device controller" depends on USB_GADGET=y || USB_GADGET=USB_CDNS3 help Say Y here to enable device controller functionality of the Cadence USBSS-DEV driver. This controller supports FF, HS and SS mode. It doesn't support LS and SSP mode. config USB_CDNS3_HOST bool "Cadence USB3 host controller" depends on USB=y || USB=USB_CDNS3 help Say Y here to enable host controller functionality of the Cadence driver. Host controller is compliant with XHCI so it will use standard XHCI driver. config USB_CDNS3_PCI_WRAP tristate "Cadence USB3 support on PCIe-based platforms" depends on USB_PCI && ACPI default USB_CDNS3 help If you're using the USBSS Core IP with a PCIe, please say 'Y' or 'M' here. If you choose to build this driver as module it will be dynamically linked and module will be called cdns3-pci.ko endif usb/cdns3/Makefile 0000644 00000000636 14722053666 0010027 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # define_trace.h needs to know how to find our header CFLAGS_trace.o := -I$(src) cdns3-y := core.o drd.o obj-$(CONFIG_USB_CDNS3) += cdns3.o cdns3-$(CONFIG_USB_CDNS3_GADGET) += gadget.o ep0.o ifneq ($(CONFIG_USB_CDNS3_GADGET),) cdns3-$(CONFIG_TRACING) += trace.o endif cdns3-$(CONFIG_USB_CDNS3_HOST) += host.o obj-$(CONFIG_USB_CDNS3_PCI_WRAP) += cdns3-pci-wrap.o usb/serial/Kconfig 0000644 00000052557 14722053666 0010150 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Serial device configuration # menuconfig USB_SERIAL tristate "USB Serial Converter support" depends on TTY ---help--- Say Y here if you have a USB device that provides normal serial ports, or acts like a serial device, and you want to connect it to your USB bus. Please read <file:Documentation/usb/usb-serial.rst> for more information on the specifics of the different devices that are supported, and on how to use them. To compile this driver as a module, choose M here: the module will be called usbserial. if USB_SERIAL config USB_SERIAL_CONSOLE bool "USB Serial Console device support" depends on USB_SERIAL=y ---help--- If you say Y here, it will be possible to use a USB to serial converter port as the system console (the system console is the device which receives all kernel messages and warnings and which allows logins in single user mode). This could be useful if some terminal or printer is connected to that serial port. Even if you say Y here, the currently visible virtual console (/dev/tty0) will still be used as the system console by default, but you can alter that using a kernel command line option such as "console=ttyUSB0". (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) If you don't have a VGA card installed and you say Y here, the kernel will automatically use the first USB to serial converter port, /dev/ttyUSB0, as system console. If unsure, say N. config USB_SERIAL_GENERIC bool "USB Generic Serial Driver" help Say Y here if you want to use the generic USB serial driver. Please read <file:Documentation/usb/usb-serial.rst> for more information on using this driver. It is recommended that the "USB Serial converter support" be compiled as a module for this driver to be used properly. config USB_SERIAL_SIMPLE tristate "USB Serial Simple Driver" help Say Y here to use the USB serial "simple" driver. This driver handles a wide range of very simple devices, all in one driver. Specifically, it supports: - Suunto ANT+ USB device. - Medtronic CareLink USB device - Fundamental Software dongle. - Google USB serial devices - HP4x calculators - Libtransistor USB console - a number of Motorola phones - Motorola Tetra devices - Nokia mobile phones - Novatel Wireless GPS receivers - Siemens USB/MPI adapter. - ViVOtech ViVOpay USB device. - Infineon Modem Flashloader USB interface - ZIO Motherboard USB serial interface To compile this driver as a module, choose M here: the module will be called usb-serial-simple. config USB_SERIAL_AIRCABLE tristate "USB AIRcable Bluetooth Dongle Driver" help Say Y here if you want to use USB AIRcable Bluetooth Dongle. To compile this driver as a module, choose M here: the module will be called aircable. config USB_SERIAL_ARK3116 tristate "USB ARK Micro 3116 USB Serial Driver" help Say Y here if you want to use a ARK Micro 3116 USB to Serial device. To compile this driver as a module, choose M here: the module will be called ark3116 config USB_SERIAL_BELKIN tristate "USB Belkin and Peracom Single Port Serial Driver" help Say Y here if you want to use a Belkin USB Serial single port adaptor (F5U103 is one of the model numbers) or the Peracom single port USB to serial adapter. To compile this driver as a module, choose M here: the module will be called belkin_sa. config USB_SERIAL_CH341 tristate "USB Winchiphead CH341 Single Port Serial Driver" help Say Y here if you want to use a Winchiphead CH341 single port USB to serial adapter. To compile this driver as a module, choose M here: the module will be called ch341. config USB_SERIAL_WHITEHEAT tristate "USB ConnectTech WhiteHEAT Serial Driver" select USB_EZUSB_FX2 help Say Y here if you want to use a ConnectTech WhiteHEAT 4 port USB to serial converter device. To compile this driver as a module, choose M here: the module will be called whiteheat. config USB_SERIAL_DIGI_ACCELEPORT tristate "USB Digi International AccelePort USB Serial Driver" ---help--- Say Y here if you want to use Digi AccelePort USB 2 or 4 devices, 2 port (plus parallel port) and 4 port USB serial converters. The parallel port on the USB 2 appears as a third serial port on Linux. The Digi Acceleport USB 8 is not yet supported by this driver. This driver works under SMP with the usb-uhci driver. It does not work under SMP with the uhci driver. To compile this driver as a module, choose M here: the module will be called digi_acceleport. config USB_SERIAL_CP210X tristate "USB CP210x family of UART Bridge Controllers" help Say Y here if you want to use a CP2101/CP2102/CP2103 based USB to RS232 converters. To compile this driver as a module, choose M here: the module will be called cp210x. config USB_SERIAL_CYPRESS_M8 tristate "USB Cypress M8 USB Serial Driver" help Say Y here if you want to use a device that contains the Cypress USB to Serial microcontroller, such as the DeLorme Earthmate GPS. Attempted SMP support... send bug reports! Supported microcontrollers in the CY4601 family are: CY7C63741 CY7C63742 CY7C63743 CY7C64013 To compile this driver as a module, choose M here: the module will be called cypress_m8. config USB_SERIAL_EMPEG tristate "USB Empeg empeg-car Mark I/II Driver" help Say Y here if you want to connect to your Empeg empeg-car Mark I/II mp3 player via USB. The driver uses a single ttyUSB{0,1,2,...} device node. See <file:Documentation/usb/usb-serial.rst> for more tidbits of information. To compile this driver as a module, choose M here: the module will be called empeg. config USB_SERIAL_FTDI_SIO tristate "USB FTDI Single Port Serial Driver" ---help--- Say Y here if you want to use a FTDI SIO single port USB to serial converter device. The implementation I have is called the USC-1000. This driver has also been tested with the 245 and 232 devices. See <http://ftdi-usb-sio.sourceforge.net/> for more information on this driver and the device. To compile this driver as a module, choose M here: the module will be called ftdi_sio. config USB_SERIAL_VISOR tristate "USB Handspring Visor / Palm m50x / Sony Clie Driver" help Say Y here if you want to connect to your HandSpring Visor, Palm m500 or m505 through its USB docking station. See <http://usbvisor.sourceforge.net/index.php3> for more information on using this driver. To compile this driver as a module, choose M here: the module will be called visor. config USB_SERIAL_IPAQ tristate "USB PocketPC PDA Driver" help Say Y here if you want to connect to your Compaq iPAQ, HP Jornada or any other PDA running Windows CE 3.0 or PocketPC 2002 using a USB cradle/cable. For information on using the driver, read <file:Documentation/usb/usb-serial.rst>. To compile this driver as a module, choose M here: the module will be called ipaq. config USB_SERIAL_IR tristate "USB IR Dongle Serial Driver" help Say Y here if you want to enable simple serial support for USB IrDA devices. This is useful if you do not want to use the full IrDA stack. To compile this driver as a module, choose M here: the module will be called ir-usb. config USB_SERIAL_EDGEPORT tristate "USB Inside Out Edgeport Serial Driver" ---help--- Say Y here if you want to use any of the following devices from Inside Out Networks (Digi): Edgeport/4 Rapidport/4 Edgeport/4t Edgeport/2 Edgeport/4i Edgeport/2i Edgeport/421 Edgeport/21 Edgeport/8 Edgeport/8 Dual Edgeport/2D8 Edgeport/4D8 Edgeport/8i Edgeport/2 DIN Edgeport/4 DIN Edgeport/16 Dual To compile this driver as a module, choose M here: the module will be called io_edgeport. config USB_SERIAL_EDGEPORT_TI tristate "USB Inside Out Edgeport Serial Driver (TI devices)" help Say Y here if you want to use any of the devices from Inside Out Networks (Digi) that are not supported by the io_edgeport driver. This includes the Edgeport/1 device. To compile this driver as a module, choose M here: the module will be called io_ti. config USB_SERIAL_F81232 tristate "USB Fintek F81232 Single Port Serial Driver" help Say Y here if you want to use the Fintek F81232 single port usb to serial adapter. To compile this driver as a module, choose M here: the module will be called f81232. config USB_SERIAL_F8153X tristate "USB Fintek F81532/534 Multi-Ports Serial Driver" help Say Y here if you want to use the Fintek F81532/534 Multi-Ports USB to serial adapter. To compile this driver as a module, choose M here: the module will be called f81534. config USB_SERIAL_GARMIN tristate "USB Garmin GPS driver" help Say Y here if you want to connect to your Garmin GPS. Should work with most Garmin GPS devices which have a native USB port. See <http://sourceforge.net/projects/garmin-gps> for the latest version of the driver. To compile this driver as a module, choose M here: the module will be called garmin_gps. config USB_SERIAL_IPW tristate "USB IPWireless (3G UMTS TDD) Driver" select USB_SERIAL_WWAN help Say Y here if you want to use a IPWireless USB modem such as the ones supplied by Axity3G/Sentech South Africa. To compile this driver as a module, choose M here: the module will be called ipw. config USB_SERIAL_IUU tristate "USB Infinity USB Unlimited Phoenix Driver" help Say Y here if you want to use a IUU in phoenix mode and get an extra ttyUSBx device. More information available on http://eczema.ecze.com/iuu_phoenix.html To compile this driver as a module, choose M here: the module will be called iuu_phoenix.o config USB_SERIAL_KEYSPAN_PDA tristate "USB Keyspan PDA Single Port Serial Driver" select USB_EZUSB_FX2 help Say Y here if you want to use a Keyspan PDA single port USB to serial converter device. This driver makes use of firmware developed from scratch by Brian Warner. To compile this driver as a module, choose M here: the module will be called keyspan_pda. config USB_SERIAL_KEYSPAN tristate "USB Keyspan USA-xxx Serial Driver" select USB_EZUSB_FX2 ---help--- Say Y here if you want to use Keyspan USB to serial converter devices. This driver makes use of Keyspan's official firmware and was developed with their support. You must also include firmware to support your particular device(s). See <http://blemings.org/hugh/keyspan.html> for more information. To compile this driver as a module, choose M here: the module will be called keyspan. config USB_SERIAL_KLSI tristate "USB KL5KUSB105 (Palmconnect) Driver" ---help--- Say Y here if you want to use a KL5KUSB105 - based single port serial adapter. The most widely known -- and currently the only tested -- device in this category is the PalmConnect USB Serial adapter sold by Palm Inc. for use with their Palm III and Palm V series PDAs. Please read <file:Documentation/usb/usb-serial.rst> for more information. To compile this driver as a module, choose M here: the module will be called kl5kusb105. config USB_SERIAL_KOBIL_SCT tristate "USB KOBIL chipcard reader" ---help--- Say Y here if you want to use one of the following KOBIL USB chipcard readers: - USB TWIN - KAAN Standard Plus - KAAN SIM - SecOVID Reader Plus - B1 Professional - KAAN Professional Note that you need a current CT-API. To compile this driver as a module, choose M here: the module will be called kobil_sct. config USB_SERIAL_MCT_U232 tristate "USB MCT Single Port Serial Driver" ---help--- Say Y here if you want to use a USB Serial single port adapter from Magic Control Technology Corp. (U232 is one of the model numbers). This driver also works with Sitecom U232-P25 and D-Link DU-H3SP USB BAY, Belkin F5U109, and Belkin F5U409 devices. To compile this driver as a module, choose M here: the module will be called mct_u232. config USB_SERIAL_METRO tristate "USB Metrologic Instruments USB-POS Barcode Scanner Driver" ---help--- Say Y here if you want to use a USB POS Metrologic barcode scanner. To compile this driver as a module, choose M here: the module will be called metro-usb. config USB_SERIAL_MOS7720 tristate "USB Moschip 7720 Serial Driver" ---help--- Say Y here if you want to use USB Serial single and double port adapters from Moschip Semiconductor Tech. To compile this driver as a module, choose M here: the module will be called mos7720. config USB_SERIAL_MOS7715_PARPORT bool "Support for parallel port on the Moschip 7715" depends on USB_SERIAL_MOS7720 depends on PARPORT=y || PARPORT=USB_SERIAL_MOS7720 select PARPORT_NOT_PC ---help--- Say Y if you have a Moschip 7715 device and would like to use the parallel port it provides. The port will register with the parport subsystem as a low-level driver. config USB_SERIAL_MOS7840 tristate "USB Moschip 7840/7820 USB Serial Driver" ---help--- Say Y here if you want to use a MCS7840 Quad-Serial or MCS7820 Dual-Serial port device from MosChip Semiconductor. The MCS7840 and MCS7820 have been developed to connect a wide range of standard serial devices to a USB host. The MCS7840 has a USB device controller connected to four (4) individual UARTs while the MCS7820 controller connects to two (2) individual UARTs. To compile this driver as a module, choose M here: the module will be called mos7840. If unsure, choose N. config USB_SERIAL_MXUPORT tristate "USB Moxa UPORT Serial Driver" ---help--- Say Y here if you want to use a MOXA UPort Serial hub. This driver supports: [2 Port] - UPort 1250 : 2 Port RS-232/422/485 USB to Serial Hub - UPort 1250I : 2 Port RS-232/422/485 USB to Serial Hub with Isolation [4 Port] - UPort 1410 : 4 Port RS-232 USB to Serial Hub - UPort 1450 : 4 Port RS-232/422/485 USB to Serial Hub - UPort 1450I : 4 Port RS-232/422/485 USB to Serial Hub with Isolation [8 Port] - UPort 1610-8 : 8 Port RS-232 USB to Serial Hub - UPort 1650-8 : 8 Port RS-232/422/485 USB to Serial Hub [16 Port] - UPort 1610-16 : 16 Port RS-232 USB to Serial Hub - UPort 1650-16 : 16 Port RS-232/422/485 USB to Serial Hub To compile this driver as a module, choose M here: the module will be called mxuport. config USB_SERIAL_NAVMAN tristate "USB Navman GPS device" help To compile this driver as a module, choose M here: the module will be called navman. config USB_SERIAL_PL2303 tristate "USB Prolific 2303 Single Port Serial Driver" help Say Y here if you want to use the PL2303 USB Serial single port adapter from Prolific. To compile this driver as a module, choose M here: the module will be called pl2303. config USB_SERIAL_OTI6858 tristate "USB Ours Technology Inc. OTi-6858 USB To RS232 Bridge Controller" help Say Y here if you want to use the OTi-6858 single port USB to serial converter device. To compile this driver as a module, choose M here: the module will be called oti6858. config USB_SERIAL_QCAUX tristate "USB Qualcomm Auxiliary Serial Port Driver" help Say Y here if you want to use the auxiliary serial ports provided by many modems based on Qualcomm chipsets. These ports often use a proprietary protocol called DM and cannot be used for AT- or PPP-based communication. To compile this driver as a module, choose M here: the module will be called qcaux. If unsure, choose N. config USB_SERIAL_QUALCOMM tristate "USB Qualcomm Serial modem" select USB_SERIAL_WWAN help Say Y here if you have a Qualcomm USB modem device. These are usually wireless cellular modems. To compile this driver as a module, choose M here: the module will be called qcserial. config USB_SERIAL_SPCP8X5 tristate "USB SPCP8x5 USB To Serial Driver" help Say Y here if you want to use the spcp8x5 converter chip. This is commonly found in some Z-Wave USB devices. To compile this driver as a module, choose M here: the module will be called spcp8x5. config USB_SERIAL_SAFE tristate "USB Safe Serial (Encapsulated) Driver" config USB_SERIAL_SAFE_PADDED bool "USB Secure Encapsulated Driver - Padded" depends on USB_SERIAL_SAFE config USB_SERIAL_SIERRAWIRELESS tristate "USB Sierra Wireless Driver" help Say M here if you want to use Sierra Wireless devices. Many devices have a feature known as TRU-Install. For those devices to work properly, the USB Storage Sierra feature must be enabled. To compile this driver as a module, choose M here: the module will be called sierra. config USB_SERIAL_SYMBOL tristate "USB Symbol Barcode driver (serial mode)" help Say Y here if you want to use a Symbol USB Barcode device in serial emulation mode. To compile this driver as a module, choose M here: the module will be called symbolserial. config USB_SERIAL_TI tristate "USB TI 3410/5052 Serial Driver" help Say Y here if you want to use the TI USB 3410 or 5052 serial devices. To compile this driver as a module, choose M here: the module will be called ti_usb_3410_5052. config USB_SERIAL_CYBERJACK tristate "USB REINER SCT cyberJack pinpad/e-com chipcard reader" ---help--- Say Y here if you want to use a cyberJack pinpad/e-com USB chipcard reader. This is an interface to ISO 7816 compatible contact-based chipcards, e.g. GSM SIMs. To compile this driver as a module, choose M here: the module will be called cyberjack. If unsure, say N. config USB_SERIAL_XIRCOM tristate "USB Xircom / Entrega Single Port Serial Driver" select USB_EZUSB_FX2 help Say Y here if you want to use a Xircom or Entrega single port USB to serial converter device. This driver makes use of firmware developed from scratch by Brian Warner. To compile this driver as a module, choose M here: the module will be called keyspan_pda. config USB_SERIAL_WWAN tristate config USB_SERIAL_OPTION tristate "USB driver for GSM and CDMA modems" select USB_SERIAL_WWAN help Say Y here if you have a GSM or CDMA modem that's connected to USB. This driver also supports several PCMCIA cards which have a built-in OHCI-USB adapter and an internally-connected GSM modem. The USB bus on these cards is not accessible externally. Supported devices include (some of?) those made by: Option, Huawei, Audiovox, Novatel Wireless, or Anydata. To compile this driver as a module, choose M here: the module will be called option. If this driver doesn't recognize your device, it might be accessible via the FTDI_SIO driver. config USB_SERIAL_OMNINET tristate "USB ZyXEL omni.net LCD Plus Driver" help Say Y here if you want to use a ZyXEL omni.net LCD ISDN TA. To compile this driver as a module, choose M here: the module will be called omninet. config USB_SERIAL_OPTICON tristate "USB Opticon Barcode driver (serial mode)" help Say Y here if you want to use a Opticon USB Barcode device in serial emulation mode. To compile this driver as a module, choose M here: the module will be called opticon. config USB_SERIAL_XSENS_MT tristate "Xsens motion tracker serial interface driver" help Say Y here if you want to use Xsens motion trackers. This driver supports the new generation of motion trackers by Xsens. Older devices can be accessed using the FTDI_SIO driver. To compile this driver as a module, choose M here: the module will be called xsens_mt. config USB_SERIAL_WISHBONE tristate "USB-Wishbone adapter interface driver" help Say Y here if you want to use a USB attached Wishbone bus. Wishbone is an open hardware SoC bus commonly used in FPGA designs. Bus access can be serialized using the Etherbone protocol <http://www.ohwr.org/projects/etherbone-core>. This driver is intended to be used with devices which attach their internal Wishbone bus to a USB serial interface using the Etherbone protocol. A userspace library is required to speak the protocol made available by this driver as ttyUSBx. To compile this driver as a module, choose M here: the module will be called wishbone-serial. config USB_SERIAL_SSU100 tristate "USB Quatech SSU-100 Single Port Serial Driver" help Say Y here if you want to use the Quatech SSU-100 single port usb to serial adapter. To compile this driver as a module, choose M here: the module will be called ssu100. config USB_SERIAL_QT2 tristate "USB Quatech Serial Driver for USB 2 devices" help Say Y here if you want to use the Quatech USB 2 serial adapters. To compile this driver as a module, choose M here: the module will be called quatech-serial. config USB_SERIAL_UPD78F0730 tristate "USB Renesas uPD78F0730 Single Port Serial Driver" help Say Y here if you want to use the Renesas uPD78F0730 serial driver. To compile this driver as a module, choose M here: the module will be called upd78f0730. config USB_SERIAL_DEBUG tristate "USB Debugging Device" help Say Y here if you have a USB debugging device used to receive debugging data from another machine. The most common of these devices is the NetChip TurboCONNECT device. To compile this driver as a module, choose M here: the module will be called usb-debug. endif # USB_SERIAL usb/serial/Makefile 0000644 00000005320 14722053666 0010267 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the USB serial device drivers. # # Object file lists. obj-$(CONFIG_USB_SERIAL) += usbserial.o usbserial-y := usb-serial.o generic.o bus.o usbserial-$(CONFIG_USB_SERIAL_CONSOLE) += console.o obj-$(CONFIG_USB_SERIAL_AIRCABLE) += aircable.o obj-$(CONFIG_USB_SERIAL_ARK3116) += ark3116.o obj-$(CONFIG_USB_SERIAL_BELKIN) += belkin_sa.o obj-$(CONFIG_USB_SERIAL_CH341) += ch341.o obj-$(CONFIG_USB_SERIAL_CP210X) += cp210x.o obj-$(CONFIG_USB_SERIAL_CYBERJACK) += cyberjack.o obj-$(CONFIG_USB_SERIAL_CYPRESS_M8) += cypress_m8.o obj-$(CONFIG_USB_SERIAL_DEBUG) += usb_debug.o obj-$(CONFIG_USB_SERIAL_DIGI_ACCELEPORT) += digi_acceleport.o obj-$(CONFIG_USB_SERIAL_EDGEPORT) += io_edgeport.o obj-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += io_ti.o obj-$(CONFIG_USB_SERIAL_EMPEG) += empeg.o obj-$(CONFIG_USB_SERIAL_F81232) += f81232.o obj-$(CONFIG_USB_SERIAL_F8153X) += f81534.o obj-$(CONFIG_USB_SERIAL_FTDI_SIO) += ftdi_sio.o obj-$(CONFIG_USB_SERIAL_GARMIN) += garmin_gps.o obj-$(CONFIG_USB_SERIAL_IPAQ) += ipaq.o obj-$(CONFIG_USB_SERIAL_IPW) += ipw.o obj-$(CONFIG_USB_SERIAL_IR) += ir-usb.o obj-$(CONFIG_USB_SERIAL_IUU) += iuu_phoenix.o obj-$(CONFIG_USB_SERIAL_KEYSPAN) += keyspan.o obj-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda.o obj-$(CONFIG_USB_SERIAL_KLSI) += kl5kusb105.o obj-$(CONFIG_USB_SERIAL_KOBIL_SCT) += kobil_sct.o obj-$(CONFIG_USB_SERIAL_MCT_U232) += mct_u232.o obj-$(CONFIG_USB_SERIAL_METRO) += metro-usb.o obj-$(CONFIG_USB_SERIAL_MOS7720) += mos7720.o obj-$(CONFIG_USB_SERIAL_MOS7840) += mos7840.o obj-$(CONFIG_USB_SERIAL_MXUPORT) += mxuport.o obj-$(CONFIG_USB_SERIAL_NAVMAN) += navman.o obj-$(CONFIG_USB_SERIAL_OMNINET) += omninet.o obj-$(CONFIG_USB_SERIAL_OPTICON) += opticon.o obj-$(CONFIG_USB_SERIAL_OPTION) += option.o obj-$(CONFIG_USB_SERIAL_OTI6858) += oti6858.o obj-$(CONFIG_USB_SERIAL_PL2303) += pl2303.o obj-$(CONFIG_USB_SERIAL_QCAUX) += qcaux.o obj-$(CONFIG_USB_SERIAL_QUALCOMM) += qcserial.o obj-$(CONFIG_USB_SERIAL_QT2) += quatech2.o obj-$(CONFIG_USB_SERIAL_SAFE) += safe_serial.o obj-$(CONFIG_USB_SERIAL_SIERRAWIRELESS) += sierra.o obj-$(CONFIG_USB_SERIAL_SIMPLE) += usb-serial-simple.o obj-$(CONFIG_USB_SERIAL_SPCP8X5) += spcp8x5.o obj-$(CONFIG_USB_SERIAL_SSU100) += ssu100.o obj-$(CONFIG_USB_SERIAL_SYMBOL) += symbolserial.o obj-$(CONFIG_USB_SERIAL_WWAN) += usb_wwan.o obj-$(CONFIG_USB_SERIAL_TI) += ti_usb_3410_5052.o obj-$(CONFIG_USB_SERIAL_UPD78F0730) += upd78f0730.o obj-$(CONFIG_USB_SERIAL_VISOR) += visor.o obj-$(CONFIG_USB_SERIAL_WISHBONE) += wishbone-serial.o obj-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat.o obj-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda.o obj-$(CONFIG_USB_SERIAL_XSENS_MT) += xsens_mt.o usb/serial/Makefile-keyspan_pda_fw 0000644 00000000604 14722053666 0013257 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # some rules to handle the quirks of the 'as31' assembler, like # insisting upon fixed suffixes for the input and output files, # and its lack of preprocessor support all: keyspan_pda_fw.h %.asm: %.S gcc -x assembler-with-cpp -P -E -o $@ $< %.hex: %.asm as31 -l $< mv $*.obj $@ %_fw.h: %.hex ezusb_convert.pl perl ezusb_convert.pl $* < $< > $@ usb/serial/ezusb_convert.pl 0000644 00000003075 14722053666 0012061 0 ustar 00 #! /usr/bin/perl -w # SPDX-License-Identifier: GPL-2.0 # convert an Intel HEX file into a set of C records usable by the firmware # loading code in usb-serial.c (or others) # accepts the .hex file(s) on stdin, a basename (to name the initialized # array) as an argument, and prints the .h file to stdout. Typical usage: # perl ezusb_convert.pl foo <foo.hex >fw_foo.h my $basename = $ARGV[0]; die "no base name specified" unless $basename; while (<STDIN>) { # ':' <len> <addr> <type> <len-data> <crc> '\r' # len, type, crc are 2-char hex, addr is 4-char hex. type is 00 for # normal records, 01 for EOF my($lenstring, $addrstring, $typestring, $reststring, $doscrap) = /^:(\w\w)(\w\w\w\w)(\w\w)(\w+)(\r?)$/; die "malformed line: $_" unless $reststring; last if $typestring eq '01'; my($len) = hex($lenstring); my($addr) = hex($addrstring); my(@bytes) = unpack("C*", pack("H".(2*$len), $reststring)); #pop(@bytes); # last byte is a CRC push(@records, [$addr, \@bytes]); } @sorted_records = sort { $a->[0] <=> $b->[0] } @records; print <<"EOF"; /* * ${basename}_fw.h * * Generated from ${basename}.s by ezusb_convert.pl * This file is presumed to be under the same copyright as the source file * from which it was derived. */ EOF print "static const struct ezusb_hex_record ${basename}_firmware[] = {\n"; foreach $r (@sorted_records) { printf("{ 0x%04x,\t%d,\t{", $r->[0], scalar(@{$r->[1]})); print join(", ", map {sprintf('0x%02x', $_);} @{$r->[1]}); print "} },\n"; } print "{ 0xffff,\t0,\t{0x00} }\n"; print "};\n"; usb/image/Kconfig 0000644 00000002031 14722053666 0007731 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Imaging devices configuration # comment "USB Imaging devices" config USB_MDC800 tristate "USB Mustek MDC800 Digital Camera support" ---help--- Say Y here if you want to connect this type of still camera to your computer's USB port. This driver can be used with gphoto 0.4.3 and higher (look at <http://www.gphoto.org/>). To use it create a device node with "mknod /dev/mustek c 180 32" and configure it in your software. To compile this driver as a module, choose M here: the module will be called mdc800. config USB_MICROTEK tristate "Microtek X6USB scanner support" depends on SCSI help Say Y here if you want support for the Microtek X6USB and possibly the Phantom 336CX, Phantom C6 and ScanMaker V6U(S)L. Support for anything but the X6 is experimental. Please report failures and successes. The scanner will appear as a scsi generic device to the rest of the system. Scsi support is required. This driver can be compiled as a module, called microtek. usb/image/Makefile 0000644 00000000227 14722053666 0010073 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB Image drivers # obj-$(CONFIG_USB_MDC800) += mdc800.o obj-$(CONFIG_USB_MICROTEK) += microtek.o usb/renesas_usbhs/Kconfig 0000644 00000001133 14722053666 0011515 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Renesas USBHS Controller Drivers # config USB_RENESAS_USBHS tristate 'Renesas USBHS controller' depends on USB_GADGET depends on ARCH_RENESAS || SUPERH || COMPILE_TEST depends on EXTCON || !EXTCON # if EXTCON=m, USBHS cannot be built-in help Renesas USBHS is a discrete USB host and peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has nine or more configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "renesas_usbhs" usb/renesas_usbhs/Makefile 0000644 00000000537 14722053666 0011661 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # for Renesas USB # obj-$(CONFIG_USB_RENESAS_USBHS) += renesas_usbhs.o renesas_usbhs-y := common.o mod.o pipe.o fifo.o rcar2.o rcar3.o rza.o rza2.o ifneq ($(CONFIG_USB_RENESAS_USBHS_HCD),) renesas_usbhs-y += mod_host.o endif ifneq ($(CONFIG_USB_RENESAS_USBHS_UDC),) renesas_usbhs-y += mod_gadget.o endif usb/storage/Kconfig 0000644 00000015240 14722053666 0010321 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Storage driver configuration # comment "NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may" comment "also be needed; see USB_STORAGE Help for more info" config USB_STORAGE tristate "USB Mass Storage support" depends on SCSI ---help--- Say Y here if you want to connect USB mass storage devices to your computer's USB port. This is the driver you need for USB floppy drives, USB hard disks, USB tape drives, USB CD-ROMs, USB flash devices, and memory sticks, along with similar devices. This driver may also be used for some cameras and card readers. This option depends on 'SCSI' support being enabled, but you probably also need 'SCSI device support: SCSI disk support' (BLK_DEV_SD) for most USB storage devices. To compile this driver as a module, choose M here: the module will be called usb-storage. if USB_STORAGE config USB_STORAGE_DEBUG bool "USB Mass Storage verbose debug" help Say Y here in order to have the USB Mass Storage code generate verbose debugging messages. config USB_STORAGE_REALTEK tristate "Realtek Card Reader support" help Say Y here to include additional code to support the power-saving function for Realtek RTS51xx USB card readers. If this driver is compiled as a module, it will be named ums-realtek. config REALTEK_AUTOPM bool "Realtek Card Reader autosuspend support" depends on USB_STORAGE_REALTEK && PM default y config USB_STORAGE_DATAFAB tristate "Datafab Compact Flash Reader support" help Support for certain Datafab CompactFlash readers. Datafab has a web page at <http://www.datafab.com/>. If this driver is compiled as a module, it will be named ums-datafab. config USB_STORAGE_FREECOM tristate "Freecom USB/ATAPI Bridge support" help Support for the Freecom USB to IDE/ATAPI adaptor. Freecom has a web page at <http://www.freecom.de/>. If this driver is compiled as a module, it will be named ums-freecom. config USB_STORAGE_ISD200 tristate "ISD-200 USB/ATA Bridge support" ---help--- Say Y here if you want to use USB Mass Store devices based on the In-Systems Design ISD-200 USB/ATA bridge. Some of the products that use this chip are: - Archos Jukebox 6000 - ISD SmartCable for Storage - Taiwan Skymaster CD530U/DEL-0241 IDE bridge - Sony CRX10U CD-R/RW drive - CyQ've CQ8060A CDRW drive - Planex eXtreme Drive RX-25HU USB-IDE cable (not model RX-25U) If this driver is compiled as a module, it will be named ums-isd200. config USB_STORAGE_USBAT tristate "USBAT/USBAT02-based storage support" help Say Y here to include additional code to support storage devices based on the SCM/Shuttle USBAT/USBAT02 processors. Devices reported to work with this driver include: - CompactFlash reader included with Kodak DC3800 camera - Dane-Elec Zmate CompactFlash reader - Delkin Efilm reader2 - HP 8200e/8210e/8230e CD-Writer Plus drives - I-JAM JS-50U - Jessops CompactFlash JESDCFRU BLACK - Kingston Technology PCREAD-USB/CF - Maxell UA4 CompactFlash reader - Memorex UCF-100 - Microtech ZiO! ICS-45 CF2 - RCA LYRA MP3 portable - Sandisk ImageMate SDDR-05b If this driver is compiled as a module, it will be named ums-usbat. config USB_STORAGE_SDDR09 tristate "SanDisk SDDR-09 (and other SmartMedia, including DPCM) support" help Say Y here to include additional code to support the Sandisk SDDR-09 SmartMedia reader in the USB Mass Storage driver. Also works for the Microtech Zio! CompactFlash/SmartMedia reader. If this driver is compiled as a module, it will be named ums-sddr09. config USB_STORAGE_SDDR55 tristate "SanDisk SDDR-55 SmartMedia support" help Say Y here to include additional code to support the Sandisk SDDR-55 SmartMedia reader in the USB Mass Storage driver. If this driver is compiled as a module, it will be named ums-sddr55. config USB_STORAGE_JUMPSHOT tristate "Lexar Jumpshot Compact Flash Reader" help Say Y here to include additional code to support the Lexar Jumpshot USB CompactFlash reader. If this driver is compiled as a module, it will be named ums-jumpshot. config USB_STORAGE_ALAUDA tristate "Olympus MAUSB-10/Fuji DPC-R1 support" help Say Y here to include additional code to support the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices. These devices are based on the Alauda chip and support both XD and SmartMedia cards. If this driver is compiled as a module, it will be named ums-alauda. config USB_STORAGE_ONETOUCH tristate "Support OneTouch Button on Maxtor Hard Drives" depends on INPUT=y || INPUT=USB_STORAGE help Say Y here to include additional code to support the Maxtor OneTouch USB hard drive's onetouch button. This code registers the button on the front of Maxtor OneTouch USB hard drive's as an input device. An action can be associated with this input in any keybinding software. (e.g. gnome's keyboard short- cuts) If this driver is compiled as a module, it will be named ums-onetouch. config USB_STORAGE_KARMA tristate "Support for Rio Karma music player" help Say Y here to include additional code to support the Rio Karma USB interface. This code places the Rio Karma into mass storage mode, enabling it to be mounted as an ordinary filesystem. Performing an eject on the resulting scsi device node returns the Karma to normal operation. If this driver is compiled as a module, it will be named ums-karma. config USB_STORAGE_CYPRESS_ATACB tristate "SAT emulation on Cypress USB/ATA Bridge with ATACB" ---help--- Say Y here if you want to use SAT (ata pass through) on devices based on the Cypress USB/ATA bridge supporting ATACB. This will allow you to use tools to tune and monitor your drive (like hdparm or smartctl). If you say no here your device will still work with the standard usb mass storage class. If this driver is compiled as a module, it will be named ums-cypress. config USB_STORAGE_ENE_UB6250 tristate "USB ENE card reader support" ---help--- Say Y here if you wish to control a ENE SD/MS Card reader. Note that this driver does not support SM cards. To compile this driver as a module, choose M here: the module will be called ums-eneub6250. endif # USB_STORAGE config USB_UAS tristate "USB Attached SCSI" depends on SCSI && USB_STORAGE help The USB Attached SCSI protocol is supported by some USB storage devices. It permits higher performance by supporting multiple outstanding commands. If you don't know whether you have a UAS device, it is safe to say 'Y' or 'M' here and the kernel will use the right driver. If you compile this driver as a module, it will be named uas. usb/storage/Makefile 0000644 00000003104 14722053666 0010452 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the USB Mass Storage device drivers. # # 15 Aug 2000, Christoph Hellwig <hch@infradead.org> # Rewritten to use lists instead of if-statements. # ccflags-y := -I $(srctree)/drivers/scsi ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE=USB_STORAGE obj-$(CONFIG_USB_UAS) += uas.o obj-$(CONFIG_USB_STORAGE) += usb-storage.o usb-storage-y := scsiglue.o protocol.o transport.o usb.o usb-storage-y += initializers.o sierra_ms.o option_ms.o usb-storage-y += usual-tables.o usb-storage-$(CONFIG_USB_STORAGE_DEBUG) += debug.o obj-$(CONFIG_USB_STORAGE_ALAUDA) += ums-alauda.o obj-$(CONFIG_USB_STORAGE_CYPRESS_ATACB) += ums-cypress.o obj-$(CONFIG_USB_STORAGE_DATAFAB) += ums-datafab.o obj-$(CONFIG_USB_STORAGE_ENE_UB6250) += ums-eneub6250.o obj-$(CONFIG_USB_STORAGE_FREECOM) += ums-freecom.o obj-$(CONFIG_USB_STORAGE_ISD200) += ums-isd200.o obj-$(CONFIG_USB_STORAGE_JUMPSHOT) += ums-jumpshot.o obj-$(CONFIG_USB_STORAGE_KARMA) += ums-karma.o obj-$(CONFIG_USB_STORAGE_ONETOUCH) += ums-onetouch.o obj-$(CONFIG_USB_STORAGE_REALTEK) += ums-realtek.o obj-$(CONFIG_USB_STORAGE_SDDR09) += ums-sddr09.o obj-$(CONFIG_USB_STORAGE_SDDR55) += ums-sddr55.o obj-$(CONFIG_USB_STORAGE_USBAT) += ums-usbat.o ums-alauda-y := alauda.o ums-cypress-y := cypress_atacb.o ums-datafab-y := datafab.o ums-eneub6250-y := ene_ub6250.o ums-freecom-y := freecom.o ums-isd200-y := isd200.o ums-jumpshot-y := jumpshot.o ums-karma-y := karma.o ums-onetouch-y := onetouch.o ums-realtek-y := realtek_cr.o ums-sddr09-y := sddr09.o ums-sddr55-y := sddr55.o ums-usbat-y := shuttle_usbat.o usb/mon/Kconfig 0000644 00000000560 14722053666 0007445 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Monitor configuration # config USB_MON tristate "USB Monitor" help If you select this option, a component which captures the USB traffic between peripheral-specific drivers and HC drivers will be built. For more information, see <file:Documentation/usb/usbmon.rst>. If unsure, say Y, if allowed, otherwise M. usb/mon/Makefile 0000644 00000000235 14722053666 0007601 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB monitor # usbmon-y := mon_main.o mon_stat.o mon_text.o mon_bin.o obj-$(CONFIG_USB_MON) += usbmon.o usb/mtu3/Kconfig 0000644 00000003156 14722053666 0007550 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # For MTK USB3.0 IP config USB_MTU3 tristate "MediaTek USB3 Dual Role controller" depends on USB || USB_GADGET depends on ARCH_MEDIATEK || COMPILE_TEST depends on EXTCON || !EXTCON select USB_XHCI_MTK if USB_SUPPORT && USB_XHCI_HCD help Say Y or M here if your system runs on MediaTek SoCs with Dual Role SuperSpeed USB controller. You can select usb mode as peripheral role or host role, or both. If you don't know what this is, please say N. Choose M here to compile this driver as a module, and it will be called mtu3.ko. if USB_MTU3 choice bool "MTU3 Mode Selection" default USB_MTU3_DUAL_ROLE if (USB && USB_GADGET) default USB_MTU3_HOST if (USB && !USB_GADGET) default USB_MTU3_GADGET if (!USB && USB_GADGET) config USB_MTU3_HOST bool "Host only mode" depends on USB=y || USB=USB_MTU3 help Select this when you want to use MTU3 in host mode only, thereby the gadget feature will be regressed. config USB_MTU3_GADGET bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_MTU3 help Select this when you want to use MTU3 in gadget mode only, thereby the host feature will be regressed. config USB_MTU3_DUAL_ROLE bool "Dual Role mode" depends on ((USB=y || USB=USB_MTU3) && (USB_GADGET=y || USB_GADGET=USB_MTU3)) depends on (EXTCON=y || EXTCON=USB_MTU3) select USB_ROLE_SWITCH help This is the default mode of working of MTU3 controller where both host and gadget features are enabled. endchoice config USB_MTU3_DEBUG bool "Enable Debugging Messages" help Say Y here to enable debugging messages in the MTU3 Driver. endif usb/mtu3/Makefile 0000644 00000001226 14722053666 0007701 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_USB_MTU3_DEBUG) += -DDEBUG # define_trace.h needs to know how to find our header CFLAGS_mtu3_trace.o := -I$(src) obj-$(CONFIG_USB_MTU3) += mtu3.o mtu3-y := mtu3_plat.o ifneq ($(CONFIG_TRACING),) mtu3-y += mtu3_trace.o endif ifneq ($(filter y,$(CONFIG_USB_MTU3_HOST) $(CONFIG_USB_MTU3_DUAL_ROLE)),) mtu3-y += mtu3_host.o endif ifneq ($(filter y,$(CONFIG_USB_MTU3_GADGET) $(CONFIG_USB_MTU3_DUAL_ROLE)),) mtu3-y += mtu3_core.o mtu3_gadget_ep0.o mtu3_gadget.o mtu3_qmu.o endif ifneq ($(CONFIG_USB_MTU3_DUAL_ROLE),) mtu3-y += mtu3_dr.o endif ifneq ($(CONFIG_DEBUG_FS),) mtu3-y += mtu3_debugfs.o endif usb/gadget/Kconfig 0000644 00000040510 14722053666 0010106 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Gadget support on a system involves # (a) a peripheral controller, and # (b) the gadget driver using it. # # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! # # - Host systems (like PCs) need CONFIG_USB (with "A" jacks). # - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks). # - Some systems have both kinds of controllers. # # With help from a special transceiver and a "Mini-AB" jack, systems with # both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG). # menuconfig USB_GADGET tristate "USB Gadget Support" select USB_COMMON select NLS help USB is a master/slave protocol, organized with one master host (such as a PC) controlling up to 127 peripheral devices. The USB hardware is asymmetric, which makes it easier to set up: you can't connect a "to-the-host" connector to a peripheral. Linux can run in the host, or in the peripheral. In both cases you need a low level bus controller driver, and some software talking to it. Peripheral controllers are often discrete silicon, or are integrated with the CPU in a microcontroller. The more familiar host side controllers have names like "EHCI", "OHCI", or "UHCI", and are usually integrated into southbridges on PC motherboards. Enable this configuration option if you want to run Linux inside a USB peripheral device. Configure one hardware driver for your peripheral/device side bus controller, and a "gadget driver" for your peripheral protocol. (If you use modular gadget drivers, you may configure more than one.) If in doubt, say "N" and don't enable these drivers; most people don't have this kind of hardware (except maybe inside Linux PDAs). For more information, see <http://www.linux-usb.org/gadget> and the kernel documentation for this API. if USB_GADGET config USB_GADGET_DEBUG bool "Debugging messages (DEVELOPMENT)" depends on DEBUG_KERNEL help Many controller and gadget drivers will print some debugging messages if you use this option to ask for those messages. Avoid enabling these messages, even if you're actively debugging such a driver. Many drivers will emit so many messages that the driver timings are affected, which will either create new failure modes or remove the one you're trying to track down. Never enable these messages for a production build. config USB_GADGET_VERBOSE bool "Verbose debugging Messages (DEVELOPMENT)" depends on USB_GADGET_DEBUG help Many controller and gadget drivers will print verbose debugging messages if you use this option to ask for those messages. Avoid enabling these messages, even if you're actively debugging such a driver. Many drivers will emit so many messages that the driver timings are affected, which will either create new failure modes or remove the one you're trying to track down. Never enable these messages for a production build. config USB_GADGET_DEBUG_FILES bool "Debugging information files (DEVELOPMENT)" depends on PROC_FS help Some of the drivers in the "gadget" framework can expose debugging information in files such as /proc/driver/udc (for a peripheral controller). The information in these files may help when you're troubleshooting or bringing up a driver on a new board. Enable these files by choosing "Y" here. If in doubt, or to conserve kernel memory, say "N". config USB_GADGET_DEBUG_FS bool "Debugging information files in debugfs (DEVELOPMENT)" depends on DEBUG_FS help Some of the drivers in the "gadget" framework can expose debugging information in files under /sys/kernel/debug/. The information in these files may help when you're troubleshooting or bringing up a driver on a new board. Enable these files by choosing "Y" here. If in doubt, or to conserve kernel memory, say "N". config USB_GADGET_VBUS_DRAW int "Maximum VBUS Power usage (2-500 mA)" range 2 500 default 2 help Some devices need to draw power from USB when they are configured, perhaps to operate circuitry or to recharge batteries. This is in addition to any local power supply, such as an AC adapter or batteries. Enter the maximum power your device draws through USB, in milliAmperes. The permitted range of values is 2 - 500 mA; 0 mA would be legal, but can make some hosts misbehave. This value will be used except for system-specific gadget drivers that have more specific information. config USB_GADGET_STORAGE_NUM_BUFFERS int "Number of storage pipeline buffers" range 2 256 default 2 help Usually 2 buffers are enough to establish a good buffering pipeline. The number may be increased in order to compensate for a bursty VFS behaviour. For instance there may be CPU wake up latencies that makes the VFS to appear bursty in a system with an CPU on-demand governor. Especially if DMA is doing IO to offload the CPU. In this case the CPU will go into power save often and spin up occasionally to move data within VFS. If selecting USB_GADGET_DEBUG_FILES this value may be set by a module parameter as well. If unsure, say 2. config U_SERIAL_CONSOLE bool "Serial gadget console support" depends on USB_U_SERIAL help It supports the serial gadget can be used as a console. source "drivers/usb/gadget/udc/Kconfig" # # USB Gadget Drivers # # composite based drivers config USB_LIBCOMPOSITE tristate select CONFIGFS_FS depends on USB_GADGET config USB_F_ACM tristate config USB_F_SS_LB tristate config USB_U_SERIAL tristate config USB_U_ETHER tristate config USB_U_AUDIO tristate config USB_F_SERIAL tristate config USB_F_OBEX tristate config USB_F_NCM tristate config USB_F_ECM tristate config USB_F_PHONET tristate config USB_F_EEM tristate config USB_F_SUBSET tristate config USB_F_RNDIS tristate config USB_F_MASS_STORAGE tristate config USB_F_FS tristate config USB_F_UAC1 tristate config USB_F_UAC1_LEGACY tristate config USB_F_UAC2 tristate config USB_F_UVC tristate config USB_F_MIDI tristate config USB_F_HID tristate config USB_F_PRINTER tristate config USB_F_TCM tristate # this first set of drivers all depend on bulk-capable hardware. config USB_CONFIGFS tristate "USB Gadget functions configurable through configfs" select USB_LIBCOMPOSITE help A Linux USB "gadget" can be set up through configfs. If this is the case, the USB functions (which from the host's perspective are seen as interfaces) and configurations are specified simply by creating appropriate directories in configfs. Associating functions with configurations is done by creating appropriate symbolic links. For more information see Documentation/usb/gadget_configfs.rst. config USB_CONFIGFS_SERIAL bool "Generic serial bulk in/out" depends on USB_CONFIGFS depends on TTY select USB_U_SERIAL select USB_F_SERIAL help The function talks to the Linux-USB generic serial driver. config USB_CONFIGFS_ACM bool "Abstract Control Model (CDC ACM)" depends on USB_CONFIGFS depends on TTY select USB_U_SERIAL select USB_F_ACM help ACM serial link. This function can be used to interoperate with MS-Windows hosts or with the Linux-USB "cdc-acm" driver. config USB_CONFIGFS_OBEX bool "Object Exchange Model (CDC OBEX)" depends on USB_CONFIGFS depends on TTY select USB_U_SERIAL select USB_F_OBEX help You will need a user space OBEX server talking to /dev/ttyGS*, since the kernel itself doesn't implement the OBEX protocol. config USB_CONFIGFS_NCM bool "Network Control Model (CDC NCM)" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_NCM select CRC32 help NCM is an advanced protocol for Ethernet encapsulation, allows grouping of several ethernet frames into one USB transfer and different alignment possibilities. config USB_CONFIGFS_ECM bool "Ethernet Control Model (CDC ECM)" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_ECM help The "Communication Device Class" (CDC) Ethernet Control Model. That protocol is often avoided with pure Ethernet adapters, in favor of simpler vendor-specific hardware, but is widely supported by firmware for smart network devices. config USB_CONFIGFS_ECM_SUBSET bool "Ethernet Control Model (CDC ECM) subset" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_SUBSET help On hardware that can't implement the full protocol, a simple CDC subset is used, placing fewer demands on USB. config USB_CONFIGFS_RNDIS bool "RNDIS" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_RNDIS help Microsoft Windows XP bundles the "Remote NDIS" (RNDIS) protocol, and Microsoft provides redistributable binary RNDIS drivers for older versions of Windows. To make MS-Windows work with this, use Documentation/usb/linux.inf as the "driver info file". For versions of MS-Windows older than XP, you'll need to download drivers from Microsoft's website; a URL is given in comments found in that info file. config USB_CONFIGFS_EEM bool "Ethernet Emulation Model (EEM)" depends on USB_CONFIGFS depends on NET select USB_U_ETHER select USB_F_EEM select CRC32 help CDC EEM is a newer USB standard that is somewhat simpler than CDC ECM and therefore can be supported by more hardware. Technically ECM and EEM are designed for different applications. The ECM model extends the network interface to the target (e.g. a USB cable modem), and the EEM model is for mobile devices to communicate with hosts using ethernet over USB. For Linux gadgets, however, the interface with the host is the same (a usbX device), so the differences are minimal. config USB_CONFIGFS_PHONET bool "Phonet protocol" depends on USB_CONFIGFS depends on NET depends on PHONET select USB_U_ETHER select USB_F_PHONET help The Phonet protocol implementation for USB device. config USB_CONFIGFS_MASS_STORAGE bool "Mass storage" depends on USB_CONFIGFS depends on BLOCK select USB_F_MASS_STORAGE help The Mass Storage Gadget acts as a USB Mass Storage disk drive. As its storage repository it can use a regular file or a block device (in much the same way as the "loop" device driver), specified as a module parameter or sysfs option. config USB_CONFIGFS_F_LB_SS bool "Loopback and sourcesink function (for testing)" depends on USB_CONFIGFS select USB_F_SS_LB help Loopback function loops back a configurable number of transfers. Sourcesink function either sinks and sources bulk data. It also implements control requests, for "chapter 9" conformance. Make this be the first driver you try using on top of any new USB peripheral controller driver. Then you can use host-side test software, like the "usbtest" driver, to put your hardware and its driver through a basic set of functional tests. config USB_CONFIGFS_F_FS bool "Function filesystem (FunctionFS)" depends on USB_CONFIGFS select USB_F_FS help The Function Filesystem (FunctionFS) lets one create USB composite functions in user space in the same way GadgetFS lets one create USB gadgets in user space. This allows creation of composite gadgets such that some of the functions are implemented in kernel space (for instance Ethernet, serial or mass storage) and other are implemented in user space. config USB_CONFIGFS_F_UAC1 bool "Audio Class 1.0" depends on USB_CONFIGFS depends on SND select USB_LIBCOMPOSITE select SND_PCM select USB_U_AUDIO select USB_F_UAC1 help This Audio function implements 1 AudioControl interface, 1 AudioStreaming Interface each for USB-OUT and USB-IN. This driver doesn't expect any real Audio codec to be present on the device - the audio streams are simply sinked to and sourced from a virtual ALSA sound card created. The user-space application may choose to do whatever it wants with the data received from the USB Host and choose to provide whatever it wants as audio data to the USB Host. config USB_CONFIGFS_F_UAC1_LEGACY bool "Audio Class 1.0 (legacy implementation)" depends on USB_CONFIGFS depends on SND select USB_LIBCOMPOSITE select SND_PCM select USB_F_UAC1_LEGACY help This Audio function implements 1 AudioControl interface, 1 AudioStreaming Interface each for USB-OUT and USB-IN. This is a legacy driver and requires a real Audio codec to be present on the device. config USB_CONFIGFS_F_UAC2 bool "Audio Class 2.0" depends on USB_CONFIGFS depends on SND select USB_LIBCOMPOSITE select SND_PCM select USB_U_AUDIO select USB_F_UAC2 help This Audio function is compatible with USB Audio Class specification 2.0. It implements 1 AudioControl interface, 1 AudioStreaming Interface each for USB-OUT and USB-IN. This driver doesn't expect any real Audio codec to be present on the device - the audio streams are simply sinked to and sourced from a virtual ALSA sound card created. The user-space application may choose to do whatever it wants with the data received from the USB Host and choose to provide whatever it wants as audio data to the USB Host. config USB_CONFIGFS_F_MIDI bool "MIDI function" depends on USB_CONFIGFS depends on SND select USB_LIBCOMPOSITE select SND_RAWMIDI select USB_F_MIDI help The MIDI Function acts as a USB Audio device, with one MIDI input and one MIDI output. These MIDI jacks appear as a sound "card" in the ALSA sound system. Other MIDI connections can then be made on the gadget system, using ALSA's aconnect utility etc. config USB_CONFIGFS_F_HID bool "HID function" depends on USB_CONFIGFS select USB_F_HID help The HID function driver provides generic emulation of USB Human Interface Devices (HID). For more information, see Documentation/usb/gadget_hid.rst. config USB_CONFIGFS_F_UVC bool "USB Webcam function" depends on USB_CONFIGFS depends on VIDEO_V4L2 depends on VIDEO_DEV select VIDEOBUF2_VMALLOC select USB_F_UVC help The Webcam function acts as a composite USB Audio and Video Class device. It provides a userspace API to process UVC control requests and stream video data to the host. config USB_CONFIGFS_F_PRINTER bool "Printer function" select USB_F_PRINTER depends on USB_CONFIGFS help The Printer function channels data between the USB host and a userspace program driving the print engine. The user space program reads and writes the device file /dev/g_printer<X> to receive or send printer data. It can use ioctl calls to the device file to get or set printer status. For more information, see Documentation/usb/gadget_printer.rst which includes sample code for accessing the device file. config USB_CONFIGFS_F_TCM bool "USB Gadget Target Fabric" depends on TARGET_CORE depends on USB_CONFIGFS select USB_LIBCOMPOSITE select USB_F_TCM help This fabric is a USB gadget component. Two USB protocols are supported that is BBB or BOT (Bulk Only Transport) and UAS (USB Attached SCSI). BOT is advertised on alternative interface 0 (primary) and UAS is on alternative interface 1. Both protocols can work on USB2.0 and USB3.0. UAS utilizes the USB 3.0 feature called streams support. choice tristate "USB Gadget precomposed configurations" default USB_ETH optional help A Linux "Gadget Driver" talks to the USB Peripheral Controller driver through the abstract "gadget" API. Some other operating systems call these "client" drivers, of which "class drivers" are a subset (implementing a USB device class specification). A gadget driver implements one or more USB functions using the peripheral hardware. Gadget drivers are hardware-neutral, or "platform independent", except that they sometimes must understand quirks or limitations of the particular controllers they work with. For example, when a controller doesn't support alternate configurations or provide enough of the right types of endpoints, the gadget driver might not be able work with that controller, or might need to implement a less common variant of a device class protocol. The available choices each represent a single precomposed USB gadget configuration. In the device model, each option contains both the device instantiation as a child for a USB gadget controller, and the relevant drivers for each function declared by the device. source "drivers/usb/gadget/legacy/Kconfig" endchoice endif # USB_GADGET usb/gadget/function/Makefile 0000644 00000003505 14722053666 0012073 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB peripheral controller drivers # ccflags-y := -I$(srctree)/drivers/usb/gadget/ ccflags-y += -I$(srctree)/drivers/usb/gadget/udc/ # USB Functions usb_f_acm-y := f_acm.o obj-$(CONFIG_USB_F_ACM) += usb_f_acm.o usb_f_ss_lb-y := f_loopback.o f_sourcesink.o obj-$(CONFIG_USB_F_SS_LB) += usb_f_ss_lb.o obj-$(CONFIG_USB_U_SERIAL) += u_serial.o usb_f_serial-y := f_serial.o obj-$(CONFIG_USB_F_SERIAL) += usb_f_serial.o usb_f_obex-y := f_obex.o obj-$(CONFIG_USB_F_OBEX) += usb_f_obex.o obj-$(CONFIG_USB_U_ETHER) += u_ether.o usb_f_ncm-y := f_ncm.o obj-$(CONFIG_USB_F_NCM) += usb_f_ncm.o usb_f_ecm-y := f_ecm.o obj-$(CONFIG_USB_F_ECM) += usb_f_ecm.o usb_f_phonet-y := f_phonet.o obj-$(CONFIG_USB_F_PHONET) += usb_f_phonet.o usb_f_eem-y := f_eem.o obj-$(CONFIG_USB_F_EEM) += usb_f_eem.o usb_f_ecm_subset-y := f_subset.o obj-$(CONFIG_USB_F_SUBSET) += usb_f_ecm_subset.o usb_f_rndis-y := f_rndis.o rndis.o obj-$(CONFIG_USB_F_RNDIS) += usb_f_rndis.o usb_f_mass_storage-y := f_mass_storage.o storage_common.o obj-$(CONFIG_USB_F_MASS_STORAGE)+= usb_f_mass_storage.o usb_f_fs-y := f_fs.o obj-$(CONFIG_USB_F_FS) += usb_f_fs.o obj-$(CONFIG_USB_U_AUDIO) += u_audio.o usb_f_uac1-y := f_uac1.o obj-$(CONFIG_USB_F_UAC1) += usb_f_uac1.o usb_f_uac1_legacy-y := f_uac1_legacy.o u_uac1_legacy.o obj-$(CONFIG_USB_F_UAC1_LEGACY) += usb_f_uac1_legacy.o usb_f_uac2-y := f_uac2.o obj-$(CONFIG_USB_F_UAC2) += usb_f_uac2.o usb_f_uvc-y := f_uvc.o uvc_queue.o uvc_v4l2.o uvc_video.o uvc_configfs.o obj-$(CONFIG_USB_F_UVC) += usb_f_uvc.o usb_f_midi-y := f_midi.o obj-$(CONFIG_USB_F_MIDI) += usb_f_midi.o usb_f_hid-y := f_hid.o obj-$(CONFIG_USB_F_HID) += usb_f_hid.o usb_f_printer-y := f_printer.o obj-$(CONFIG_USB_F_PRINTER) += usb_f_printer.o usb_f_tcm-y := f_tcm.o obj-$(CONFIG_USB_F_TCM) += usb_f_tcm.o usb/gadget/udc/Kconfig 0000644 00000040706 14722053666 0010670 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Gadget support on a system involves # (a) a peripheral controller, and # (b) the gadget driver using it. # # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! # # - Host systems (like PCs) need CONFIG_USB (with "A" jacks). # - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks). # - Some systems have both kinds of controllers. # # With help from a special transceiver and a "Mini-AB" jack, systems with # both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG). # # # USB Peripheral Controller Support # # The order here is alphabetical, except that integrated controllers go # before discrete ones so they will be the initial/default value: # - integrated/SOC controllers first # - licensed IP used in both SOC and discrete versions # - discrete ones (including all PCI-only controllers) # - debug/dummy gadget+hcd is last. # menu "USB Peripheral Controller" # # Integrated controllers # config USB_AT91 tristate "Atmel AT91 USB Device Port" depends on ARCH_AT91 depends on OF || COMPILE_TEST help Many Atmel AT91 processors (such as the AT91RM2000) have a full speed USB Device Port with support for five configurable endpoints (plus endpoint zero). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "at91_udc" and force all gadget drivers to also be dynamically linked. config USB_LPC32XX tristate "LPC32XX USB Peripheral Controller" depends on ARCH_LPC32XX || COMPILE_TEST depends on I2C select USB_ISP1301 help This option selects the USB device controller in the LPC32xx SoC. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "lpc32xx_udc" and force all gadget drivers to also be dynamically linked. config USB_ATMEL_USBA tristate "Atmel USBA" depends on ARCH_AT91 help USBA is the integrated high-speed USB Device controller on the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel. The fifo_mode parameter is used to select endpoint allocation mode. fifo_mode = 0 is used to let the driver autoconfigure the endpoints. In this case, for ep1 2 banks are allocated if it works in isochronous mode and only 1 bank otherwise. For the rest of the endpoints only 1 bank is allocated. fifo_mode = 1 is a generic maximum fifo size (1024 bytes) configuration allowing the usage of ep1 - ep6 fifo_mode = 2 is a generic performance maximum fifo size (1024 bytes) configuration allowing the usage of ep1 - ep3 fifo_mode = 3 is a balanced performance configuration allowing the the usage of ep1 - ep8 config USB_BCM63XX_UDC tristate "Broadcom BCM63xx Peripheral Controller" depends on BCM63XX help Many Broadcom BCM63xx chipsets (such as the BCM6328) have a high speed USB Device Port with support for four fixed endpoints (plus endpoint zero). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "bcm63xx_udc". config USB_FSL_USB2 tristate "Freescale Highspeed USB DR Peripheral Controller" depends on FSL_SOC || ARCH_MXC help Some of Freescale PowerPC and i.MX processors have a High Speed Dual-Role(DR) USB controller, which supports device mode. The number of programmable endpoints is different through SOC revisions. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "fsl_usb2_udc" and force all gadget drivers to also be dynamically linked. config USB_FUSB300 tristate "Faraday FUSB300 USB Peripheral Controller" depends on !PHYS_ADDR_T_64BIT && HAS_DMA help Faraday usb device controller FUSB300 driver config USB_FOTG210_UDC depends on HAS_DMA tristate "Faraday FOTG210 USB Peripheral Controller" help Faraday USB2.0 OTG controller which can be configured as high speed or full speed USB device. This driver supppors Bulk Transfer so far. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "fotg210_udc". config USB_GR_UDC tristate "Aeroflex Gaisler GRUSBDC USB Peripheral Controller Driver" depends on HAS_DMA help Select this to support Aeroflex Gaisler GRUSBDC cores from the GRLIB VHDL IP core library. config USB_OMAP tristate "OMAP USB Device Controller" depends on ARCH_OMAP1 depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3) help Many Texas Instruments OMAP processors have flexible full speed USB device controllers, with support for up to 30 endpoints (plus endpoint zero). This driver supports the controller in the OMAP 1611, and should work with controllers in other OMAP processors too, given minor tweaks. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "omap_udc" and force all gadget drivers to also be dynamically linked. config USB_PXA25X tristate "PXA 25x or IXP 4xx" depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX depends on HAS_IOMEM help Intel's PXA 25x series XScale ARM-5TE processors include an integrated full speed USB 1.1 device controller. The controller in the IXP 4xx series is register-compatible. It has fifteen fixed-function endpoints, as well as endpoint zero (for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "pxa25x_udc" and force all gadget drivers to also be dynamically linked. # if there's only one gadget driver, using only two bulk endpoints, # don't waste memory for the other endpoints config USB_PXA25X_SMALL depends on USB_PXA25X bool default n if USB_ETH_RNDIS default y if USB_ZERO default y if USB_ETH default y if USB_G_SERIAL config USB_R8A66597 tristate "Renesas R8A66597 USB Peripheral Controller" depends on HAS_DMA help R8A66597 is a discrete USB host and peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has nine configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "r8a66597_udc" and force all gadget drivers to also be dynamically linked. config USB_RENESAS_USBHS_UDC tristate 'Renesas USBHS controller' depends on USB_RENESAS_USBHS help Renesas USBHS is a discrete USB host and peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has nine or more configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "renesas_usbhs" and force all gadget drivers to also be dynamically linked. config USB_RENESAS_USB3 tristate 'Renesas USB3.0 Peripheral controller' depends on ARCH_RENESAS || COMPILE_TEST depends on EXTCON select USB_ROLE_SWITCH help Renesas USB3.0 Peripheral controller is a USB peripheral controller that supports super, high, and full speed USB 3.0 data transfers. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "renesas_usb3" and force all gadget drivers to also be dynamically linked. config USB_PXA27X tristate "PXA 27x" depends on HAS_IOMEM help Intel's PXA 27x series XScale ARM v5TE processors include an integrated full speed USB 1.1 device controller. It has up to 23 endpoints, as well as endpoint zero (for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "pxa27x_udc" and force all gadget drivers to also be dynamically linked. config USB_S3C2410 tristate "S3C2410 USB Device Controller" depends on ARCH_S3C24XX help Samsung's S3C2410 is an ARM-4 processor with an integrated full speed USB 1.1 device controller. It has 4 configurable endpoints, as well as endpoint zero (for control transfers). This driver has been tested on the S3C2410, S3C2412, and S3C2440 processors. config USB_S3C2410_DEBUG bool "S3C2410 udc debug messages" depends on USB_S3C2410 config USB_S3C_HSUDC tristate "S3C2416, S3C2443 and S3C2450 USB Device Controller" depends on ARCH_S3C24XX help Samsung's S3C2416, S3C2443 and S3C2450 is an ARM9 based SoC integrated with dual speed USB 2.0 device controller. It has 8 endpoints, as well as endpoint zero. This driver has been tested on S3C2416 and S3C2450 processors. config USB_MV_UDC tristate "Marvell USB2.0 Device Controller" depends on HAS_DMA help Marvell Socs (including PXA and MMP series) include a high speed USB2.0 OTG controller, which can be configured as high speed or full speed USB peripheral. config USB_MV_U3D depends on HAS_DMA tristate "MARVELL PXA2128 USB 3.0 controller" help MARVELL PXA2128 Processor series include a super speed USB3.0 device controller, which support super speed USB peripheral. config USB_SNP_CORE depends on (USB_AMD5536UDC || USB_SNP_UDC_PLAT) depends on HAS_DMA tristate help This enables core driver support for Synopsys USB 2.0 Device controller. This will be enabled when PCI or Platform driver for this UDC is selected. Currently, this will be enabled by USB_SNP_UDC_PLAT or USB_AMD5536UDC options. This IP is different to the High Speed OTG IP that can be enabled by selecting USB_DWC2 or USB_DWC3 options. config USB_SNP_UDC_PLAT tristate "Synopsys USB 2.0 Device controller" depends on USB_GADGET && OF && HAS_DMA depends on EXTCON || EXTCON=n select USB_SNP_CORE default ARCH_BCM_IPROC help This adds Platform Device support for Synopsys Designware core AHB subsystem USB2.0 Device Controller (UDC). This driver works with UDCs integrated into Broadcom's Northstar2 and Cygnus SoCs. If unsure, say N. # # Controllers available in both integrated and discrete versions # config USB_M66592 tristate "Renesas M66592 USB Peripheral Controller" depends on HAS_IOMEM help M66592 is a discrete USB peripheral controller chip that supports both full and high speed USB 2.0 data transfers. It has seven configurable endpoints, and endpoint zero. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "m66592_udc" and force all gadget drivers to also be dynamically linked. source "drivers/usb/gadget/udc/bdc/Kconfig" # # Controllers available only in discrete form (and all PCI controllers) # config USB_AMD5536UDC tristate "AMD5536 UDC" depends on USB_PCI && HAS_DMA select USB_SNP_CORE help The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge. It is a USB Highspeed DMA capable USB device controller. Beside ep0 it provides 4 IN and 4 OUT endpoints (bulk or interrupt type). The UDC port supports OTG operation, and may be used as a host port if it's not being used to implement peripheral or OTG roles. This UDC is based on Synopsys USB device controller IP and selects CONFIG_USB_SNP_CORE option to build the core driver. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "amd5536udc" and force all gadget drivers to also be dynamically linked. config USB_FSL_QE tristate "Freescale QE/CPM USB Device Controller" depends on FSL_SOC && (QUICC_ENGINE || CPM) depends on !64BIT || BROKEN help Some of Freescale PowerPC processors have a Full Speed QE/CPM2 USB controller, which support device mode with 4 programmable endpoints. This driver supports the controller in the MPC8360 and MPC8272, and should work with controllers having QE or CPM2, given minor tweaks. Set CONFIG_USB_GADGET to "m" to build this driver as a dynamically linked module called "fsl_qe_udc". config USB_NET2272 depends on HAS_IOMEM tristate "PLX NET2272" help PLX NET2272 is a USB peripheral controller which supports both full and high speed USB 2.0 data transfers. It has three configurable endpoints, as well as endpoint zero (for control transfer). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "net2272" and force all gadget drivers to also be dynamically linked. config USB_NET2272_DMA bool "Support external DMA controller" depends on USB_NET2272 && HAS_DMA help The NET2272 part can optionally support an external DMA controller, but your board has to have support in the driver itself. If unsure, say "N" here. The driver works fine in PIO mode. config USB_NET2280 tristate "NetChip NET228x / PLX USB3x8x" depends on USB_PCI help NetChip 2280 / 2282 is a PCI based USB peripheral controller which supports both full and high speed USB 2.0 data transfers. It has six configurable endpoints, as well as endpoint zero (for control transfers) and several endpoints with dedicated functions. PLX 2380 is a PCIe version of the PLX 2380. PLX 3380 / 3382 is a PCIe based USB peripheral controller which supports full, high speed USB 2.0 and super speed USB 3.0 data transfers. It has eight configurable endpoints, as well as endpoint zero (for control transfers) and several endpoints with dedicated functions. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "net2280" and force all gadget drivers to also be dynamically linked. config USB_GOKU tristate "Toshiba TC86C001 'Goku-S'" depends on USB_PCI help The Toshiba TC86C001 is a PCI device which includes controllers for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI). The device controller has three configurable (bulk or interrupt) endpoints, plus endpoint zero (for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "goku_udc" and to force all gadget drivers to also be dynamically linked. config USB_EG20T tristate "Intel QUARK X1000/EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC" depends on USB_PCI help This is a USB device driver for EG20T PCH. EG20T PCH is the platform controller hub that is used in Intel's general embedded platform. EG20T PCH has USB device interface. Using this interface, it is able to access system devices connected to USB device. This driver enables USB device function. USB device is a USB peripheral controller which supports both full and high speed USB 2.0 data transfers. This driver supports both control transfer and bulk transfer modes. This driver dose not support interrupt transfer or isochronous transfer modes. This driver also can be used for LAPIS Semiconductor's ML7213 which is for IVI(In-Vehicle Infotainment) use. ML7831 is for general purpose use. ML7213/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7831 is completely compatible for Intel EG20T PCH. This driver can be used with Intel's Quark X1000 SOC platform config USB_GADGET_XILINX tristate "Xilinx USB Driver" depends on HAS_DMA depends on OF || COMPILE_TEST help USB peripheral controller driver for Xilinx USB2 device. Xilinx USB2 device is a soft IP which supports both full and high speed USB 2.0 data transfers. It has seven configurable endpoints(bulk or interrupt or isochronous), as well as endpoint zero(for control transfers). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "udc-xilinx" and force all gadget drivers to also be dynamically linked. source "drivers/usb/gadget/udc/aspeed-vhub/Kconfig" # # LAST -- dummy/emulated controller # config USB_DUMMY_HCD tristate "Dummy HCD (DEVELOPMENT)" depends on USB=y || (USB=m && USB_GADGET=m) help This host controller driver emulates USB, looping all data transfer requests back to a USB "gadget driver" in the same host. The host side is the master; the gadget side is the slave. Gadget drivers can be high, full, or low speed; and they have access to endpoints like those from NET2280, PXA2xx, or SA1100 hardware. This may help in some stages of creating a driver to embed in a Linux device, since it lets you debug several parts of the gadget driver without its hardware or drivers being involved. Since such a gadget side driver needs to interoperate with a host side Linux-USB device driver, this may help to debug both sides of a USB protocol stack. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "dummy_hcd" and force all gadget drivers to also be dynamically linked. # NOTE: Please keep dummy_hcd LAST so that "real hardware" appears # first and will be selected by default. endmenu usb/gadget/udc/bdc/Kconfig 0000644 00000001221 14722053666 0011405 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_BDC_UDC tristate "Broadcom USB3.0 device controller IP driver(BDC)" depends on USB_GADGET && HAS_DMA default ARCH_BRCMSTB help BDC is Broadcom's USB3.0 device controller IP. If your SOC has a BDC IP then select this driver. Say "y" here to link the driver statically, or "m" to build a dynamically linked module called "bdc". if USB_BDC_UDC comment "Platform Support" config USB_BDC_PCI tristate "BDC support for PCIe based platforms" depends on USB_PCI && BROKEN default USB_BDC_UDC help Enable support for platforms which have BDC connected through PCIe, such as Lego3 FPGA platform. endif usb/gadget/udc/bdc/Makefile 0000644 00000000342 14722053666 0011545 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_BDC_UDC) += bdc.o bdc-y := bdc_core.o bdc_cmd.o bdc_ep.o bdc_udc.o ifneq ($(CONFIG_USB_GADGET_VERBOSE),) bdc-y += bdc_dbg.o endif obj-$(CONFIG_USB_BDC_PCI) += bdc_pci.o usb/gadget/udc/aspeed-vhub/Kconfig 0000644 00000000433 14722053666 0013064 0 ustar 00 # SPDX-License-Identifier: GPL-2.0+ config USB_ASPEED_VHUB tristate "Aspeed vHub UDC driver" depends on ARCH_ASPEED || COMPILE_TEST depends on USB_LIBCOMPOSITE help USB peripheral controller for the Aspeed AST2500 family SoCs supporting the "vHub" functionality and USB2.0 usb/gadget/udc/aspeed-vhub/Makefile 0000644 00000000204 14722053666 0013215 0 ustar 00 # SPDX-License-Identifier: GPL-2.0+ obj-$(CONFIG_USB_ASPEED_VHUB) += aspeed-vhub.o aspeed-vhub-y := core.o ep0.o epn.o dev.o hub.o usb/gadget/udc/Makefile 0000644 00000003126 14722053666 0011020 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # define_trace.h needs to know how to find our header CFLAGS_trace.o := -I$(src) udc-core-y := core.o trace.o # # USB peripheral controller drivers # obj-$(CONFIG_USB_GADGET) += udc-core.o obj-$(CONFIG_USB_DUMMY_HCD) += dummy_hcd.o obj-$(CONFIG_USB_NET2272) += net2272.o obj-$(CONFIG_USB_NET2280) += net2280.o obj-$(CONFIG_USB_SNP_CORE) += snps_udc_core.o obj-$(CONFIG_USB_AMD5536UDC) += amd5536udc_pci.o obj-$(CONFIG_USB_PXA25X) += pxa25x_udc.o obj-$(CONFIG_USB_PXA27X) += pxa27x_udc.o obj-$(CONFIG_USB_GOKU) += goku_udc.o obj-$(CONFIG_USB_OMAP) += omap_udc.o obj-$(CONFIG_USB_S3C2410) += s3c2410_udc.o obj-$(CONFIG_USB_AT91) += at91_udc.o obj-$(CONFIG_USB_ATMEL_USBA) += atmel_usba_udc.o obj-$(CONFIG_USB_BCM63XX_UDC) += bcm63xx_udc.o obj-$(CONFIG_USB_FSL_USB2) += fsl_usb2_udc.o fsl_usb2_udc-y := fsl_udc_core.o fsl_usb2_udc-$(CONFIG_ARCH_MXC) += fsl_mxc_udc.o obj-$(CONFIG_USB_M66592) += m66592-udc.o obj-$(CONFIG_USB_R8A66597) += r8a66597-udc.o obj-$(CONFIG_USB_RENESAS_USB3) += renesas_usb3.o obj-$(CONFIG_USB_FSL_QE) += fsl_qe_udc.o obj-$(CONFIG_USB_S3C_HSUDC) += s3c-hsudc.o obj-$(CONFIG_USB_LPC32XX) += lpc32xx_udc.o obj-$(CONFIG_USB_EG20T) += pch_udc.o obj-$(CONFIG_USB_MV_UDC) += mv_udc.o mv_udc-y := mv_udc_core.o obj-$(CONFIG_USB_FUSB300) += fusb300_udc.o obj-$(CONFIG_USB_FOTG210_UDC) += fotg210-udc.o obj-$(CONFIG_USB_MV_U3D) += mv_u3d_core.o obj-$(CONFIG_USB_GR_UDC) += gr_udc.o obj-$(CONFIG_USB_GADGET_XILINX) += udc-xilinx.o obj-$(CONFIG_USB_SNP_UDC_PLAT) += snps_udc_plat.o obj-$(CONFIG_USB_ASPEED_VHUB) += aspeed-vhub/ obj-$(CONFIG_USB_BDC_UDC) += bdc/ usb/gadget/Makefile 0000644 00000000714 14722053666 0010245 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB peripheral controller drivers # subdir-ccflags-$(CONFIG_USB_GADGET_DEBUG) := -DDEBUG subdir-ccflags-$(CONFIG_USB_GADGET_VERBOSE) += -DVERBOSE_DEBUG ccflags-y += -I$(srctree)/drivers/usb/gadget/udc obj-$(CONFIG_USB_LIBCOMPOSITE) += libcomposite.o libcomposite-y := usbstring.o config.o epautoconf.o libcomposite-y += composite.o functions.o configfs.o u_f.o obj-$(CONFIG_USB_GADGET) += udc/ function/ legacy/ usb/gadget/legacy/Kconfig 0000644 00000041147 14722053666 0011361 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Gadget support on a system involves # (a) a peripheral controller, and # (b) the gadget driver using it. # # NOTE: Gadget support ** DOES NOT ** depend on host-side CONFIG_USB !! # # - Host systems (like PCs) need CONFIG_USB (with "A" jacks). # - Peripherals (like PDAs) need CONFIG_USB_GADGET (with "B" jacks). # - Some systems have both kinds of controllers. # # With help from a special transceiver and a "Mini-AB" jack, systems with # both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG). # config USB_ZERO tristate "Gadget Zero (DEVELOPMENT)" select USB_LIBCOMPOSITE select USB_F_SS_LB help Gadget Zero is a two-configuration device. It either sinks and sources bulk data; or it loops back a configurable number of transfers. It also implements control requests, for "chapter 9" conformance. The driver needs only two bulk-capable endpoints, so it can work on top of most device-side usb controllers. It's useful for testing, and is also a working example showing how USB "gadget drivers" can be written. Make this be the first driver you try using on top of any new USB peripheral controller driver. Then you can use host-side test software, like the "usbtest" driver, to put your hardware and its driver through a basic set of functional tests. Gadget Zero also works with the host-side "usb-skeleton" driver, and with many kinds of host-side test software. You may need to tweak product and vendor IDs before host software knows about this device, and arrange to select an appropriate configuration. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_zero". config USB_ZERO_HNPTEST bool "HNP Test Device" depends on USB_ZERO && USB_OTG help You can configure this device to enumerate using the device identifiers of the USB-OTG test device. That means that when this gadget connects to another OTG device, with this one using the "B-Peripheral" role, that device will use HNP to let this one serve as the USB host instead (in the "B-Host" role). config USB_AUDIO tristate "Audio Gadget" depends on SND select USB_LIBCOMPOSITE select SND_PCM select USB_F_UAC1 if (GADGET_UAC1 && !GADGET_UAC1_LEGACY) select USB_F_UAC1_LEGACY if (GADGET_UAC1 && GADGET_UAC1_LEGACY) select USB_F_UAC2 if !GADGET_UAC1 select USB_U_AUDIO if (USB_F_UAC2 || USB_F_UAC1) help This Gadget Audio driver is compatible with USB Audio Class specification 2.0. It implements 1 AudioControl interface, 1 AudioStreaming Interface each for USB-OUT and USB-IN. Number of channels, sample rate and sample size can be specified as module parameters. This driver doesn't expect any real Audio codec to be present on the device - the audio streams are simply sinked to and sourced from a virtual ALSA sound card created. The user-space application may choose to do whatever it wants with the data received from the USB Host and choose to provide whatever it wants as audio data to the USB Host. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_audio". config GADGET_UAC1 bool "UAC 1.0" depends on USB_AUDIO help If you instead want older USB Audio Class specification 1.0 support with similar driver capabilities. config GADGET_UAC1_LEGACY bool "UAC 1.0 (Legacy)" depends on GADGET_UAC1 help If you instead want legacy UAC Spec-1.0 driver that also has audio paths hardwired to the Audio codec chip on-board and doesn't work without one. config USB_ETH tristate "Ethernet Gadget (with CDC Ethernet support)" depends on NET select USB_LIBCOMPOSITE select USB_U_ETHER select USB_F_ECM select USB_F_SUBSET select CRC32 help This driver implements Ethernet style communication, in one of several ways: - The "Communication Device Class" (CDC) Ethernet Control Model. That protocol is often avoided with pure Ethernet adapters, in favor of simpler vendor-specific hardware, but is widely supported by firmware for smart network devices. - On hardware can't implement that protocol, a simple CDC subset is used, placing fewer demands on USB. - CDC Ethernet Emulation Model (EEM) is a newer standard that has a simpler interface that can be used by more USB hardware. RNDIS support is an additional option, more demanding than subset. Within the USB device, this gadget driver exposes a network device "usbX", where X depends on what other networking devices you have. Treat it like a two-node Ethernet link: host, and gadget. The Linux-USB host-side "usbnet" driver interoperates with this driver, so that deep I/O queues can be supported. On 2.4 kernels, use "CDCEther" instead, if you're using the CDC option. That CDC mode should also interoperate with standard CDC Ethernet class drivers on other host operating systems. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ether". config USB_ETH_RNDIS bool "RNDIS support" depends on USB_ETH select USB_LIBCOMPOSITE select USB_F_RNDIS default y help Microsoft Windows XP bundles the "Remote NDIS" (RNDIS) protocol, and Microsoft provides redistributable binary RNDIS drivers for older versions of Windows. If you say "y" here, the Ethernet gadget driver will try to provide a second device configuration, supporting RNDIS to talk to such Microsoft USB hosts. To make MS-Windows work with this, use Documentation/usb/linux.inf as the "driver info file". For versions of MS-Windows older than XP, you'll need to download drivers from Microsoft's website; a URL is given in comments found in that info file. config USB_ETH_EEM bool "Ethernet Emulation Model (EEM) support" depends on USB_ETH select USB_LIBCOMPOSITE select USB_F_EEM help CDC EEM is a newer USB standard that is somewhat simpler than CDC ECM and therefore can be supported by more hardware. Technically ECM and EEM are designed for different applications. The ECM model extends the network interface to the target (e.g. a USB cable modem), and the EEM model is for mobile devices to communicate with hosts using ethernet over USB. For Linux gadgets, however, the interface with the host is the same (a usbX device), so the differences are minimal. If you say "y" here, the Ethernet gadget driver will use the EEM protocol rather than ECM. If unsure, say "n". config USB_G_NCM tristate "Network Control Model (NCM) support" depends on NET select USB_LIBCOMPOSITE select USB_U_ETHER select USB_F_NCM select CRC32 help This driver implements USB CDC NCM subclass standard. NCM is an advanced protocol for Ethernet encapsulation, allows grouping of several ethernet frames into one USB transfer and different alignment possibilities. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ncm". config USB_GADGETFS tristate "Gadget Filesystem" help This driver provides a filesystem based API that lets user mode programs implement a single-configuration USB device, including endpoint I/O and control requests that don't relate to enumeration. All endpoints, transfer speeds, and transfer types supported by the hardware are available, through read() and write() calls. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "gadgetfs". config USB_FUNCTIONFS tristate "Function Filesystem" select USB_LIBCOMPOSITE select USB_F_FS select USB_FUNCTIONFS_GENERIC if !(USB_FUNCTIONFS_ETH || USB_FUNCTIONFS_RNDIS) help The Function Filesystem (FunctionFS) lets one create USB composite functions in user space in the same way GadgetFS lets one create USB gadgets in user space. This allows creation of composite gadgets such that some of the functions are implemented in kernel space (for instance Ethernet, serial or mass storage) and other are implemented in user space. If you say "y" or "m" here you will be able what kind of configurations the gadget will provide. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ffs". config USB_FUNCTIONFS_ETH bool "Include configuration with CDC ECM (Ethernet)" depends on USB_FUNCTIONFS && NET select USB_U_ETHER select USB_F_ECM select USB_F_SUBSET help Include a configuration with CDC ECM function (Ethernet) and the Function Filesystem. config USB_FUNCTIONFS_RNDIS bool "Include configuration with RNDIS (Ethernet)" depends on USB_FUNCTIONFS && NET select USB_U_ETHER select USB_F_RNDIS help Include a configuration with RNDIS function (Ethernet) and the Filesystem. config USB_FUNCTIONFS_GENERIC bool "Include 'pure' configuration" depends on USB_FUNCTIONFS help Include a configuration with the Function Filesystem alone with no Ethernet interface. config USB_MASS_STORAGE tristate "Mass Storage Gadget" depends on BLOCK select USB_LIBCOMPOSITE select USB_F_MASS_STORAGE help The Mass Storage Gadget acts as a USB Mass Storage disk drive. As its storage repository it can use a regular file or a block device (in much the same way as the "loop" device driver), specified as a module parameter or sysfs option. This driver is a replacement for now removed File-backed Storage Gadget (g_file_storage). Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_mass_storage". config USB_GADGET_TARGET tristate "USB Gadget Target Fabric Module" depends on TARGET_CORE select USB_LIBCOMPOSITE select USB_F_TCM help This fabric is an USB gadget. Two USB protocols are supported that is BBB or BOT (Bulk Only Transport) and UAS (USB Attached SCSI). BOT is advertised on alternative interface 0 (primary) and UAS is on alternative interface 1. Both protocols can work on USB2.0 and USB3.0. UAS utilizes the USB 3.0 feature called streams support. config USB_G_SERIAL tristate "Serial Gadget (with CDC ACM and CDC OBEX support)" depends on TTY select USB_U_SERIAL select USB_F_ACM select USB_F_SERIAL select USB_F_OBEX select USB_LIBCOMPOSITE help The Serial Gadget talks to the Linux-USB generic serial driver. This driver supports a CDC-ACM module option, which can be used to interoperate with MS-Windows hosts or with the Linux-USB "cdc-acm" driver. This driver also supports a CDC-OBEX option. You will need a user space OBEX server talking to /dev/ttyGS*, since the kernel itself doesn't implement the OBEX protocol. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_serial". For more information, see Documentation/usb/gadget_serial.rst which includes instructions and a "driver info file" needed to make MS-Windows work with CDC ACM. config USB_MIDI_GADGET tristate "MIDI Gadget" depends on SND select USB_LIBCOMPOSITE select SND_RAWMIDI select USB_F_MIDI help The MIDI Gadget acts as a USB Audio device, with one MIDI input and one MIDI output. These MIDI jacks appear as a sound "card" in the ALSA sound system. Other MIDI connections can then be made on the gadget system, using ALSA's aconnect utility etc. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_midi". config USB_G_PRINTER tristate "Printer Gadget" select USB_LIBCOMPOSITE select USB_F_PRINTER help The Printer Gadget channels data between the USB host and a userspace program driving the print engine. The user space program reads and writes the device file /dev/g_printer to receive or send printer data. It can use ioctl calls to the device file to get or set printer status. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_printer". For more information, see Documentation/usb/gadget_printer.rst which includes sample code for accessing the device file. if TTY config USB_CDC_COMPOSITE tristate "CDC Composite Device (Ethernet and ACM)" depends on NET select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_U_ETHER select USB_F_ACM select USB_F_ECM help This driver provides two functions in one configuration: a CDC Ethernet (ECM) link, and a CDC ACM (serial port) link. This driver requires four bulk and two interrupt endpoints, plus the ability to handle altsettings. Not all peripheral controllers are that capable. Say "y" to link the driver statically, or "m" to build a dynamically linked module. config USB_G_NOKIA tristate "Nokia composite gadget" depends on PHONET depends on BLOCK select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_U_ETHER select USB_F_ACM select USB_F_OBEX select USB_F_PHONET select USB_F_ECM select USB_F_MASS_STORAGE help The Nokia composite gadget provides support for acm, obex and phonet in only one composite gadget driver. It's only really useful for N900 hardware. If you're building a kernel for N900, say Y or M here. If unsure, say N. config USB_G_ACM_MS tristate "CDC Composite Device (ACM and mass storage)" depends on BLOCK select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_F_ACM select USB_F_MASS_STORAGE help This driver provides two functions in one configuration: a mass storage, and a CDC ACM (serial port) link. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_acm_ms". config USB_G_MULTI tristate "Multifunction Composite Gadget" depends on BLOCK && NET select USB_G_MULTI_CDC if !USB_G_MULTI_RNDIS select USB_LIBCOMPOSITE select USB_U_SERIAL select USB_U_ETHER select USB_F_ACM select USB_F_MASS_STORAGE help The Multifunction Composite Gadget provides Ethernet (RNDIS and/or CDC Ethernet), mass storage and ACM serial link interfaces. You will be asked to choose which of the two configurations is to be available in the gadget. At least one configuration must be chosen to make the gadget usable. Selecting more than one configuration will prevent Windows from automatically detecting the gadget as a composite gadget, so an INF file will be needed to use the gadget. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_multi". config USB_G_MULTI_RNDIS bool "RNDIS + CDC Serial + Storage configuration" depends on USB_G_MULTI select USB_F_RNDIS default y help This option enables a configuration with RNDIS, CDC Serial and Mass Storage functions available in the Multifunction Composite Gadget. This is the configuration dedicated for Windows since RNDIS is Microsoft's protocol. If unsure, say "y". config USB_G_MULTI_CDC bool "CDC Ethernet + CDC Serial + Storage configuration" depends on USB_G_MULTI select USB_F_ECM help This option enables a configuration with CDC Ethernet (ECM), CDC Serial and Mass Storage functions available in the Multifunction Composite Gadget. If unsure, say "y". endif # TTY config USB_G_HID tristate "HID Gadget" select USB_LIBCOMPOSITE select USB_F_HID help The HID gadget driver provides generic emulation of USB Human Interface Devices (HID). For more information, see Documentation/usb/gadget_hid.rst which includes sample code for accessing the device files. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_hid". # Standalone / single function gadgets config USB_G_DBGP tristate "EHCI Debug Device Gadget" depends on TTY select USB_LIBCOMPOSITE help This gadget emulates an EHCI Debug device. This is useful when you want to interact with an EHCI Debug Port. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_dbgp". if USB_G_DBGP choice prompt "EHCI Debug Device mode" default USB_G_DBGP_SERIAL config USB_G_DBGP_PRINTK depends on USB_G_DBGP bool "printk" help Directly printk() received data. No interaction. config USB_G_DBGP_SERIAL depends on USB_G_DBGP select USB_U_SERIAL bool "serial" help Userland can interact using /dev/ttyGSxxx. endchoice endif # put drivers that need isochronous transfer support (for audio # or video class gadget drivers), or specific hardware, here. config USB_G_WEBCAM tristate "USB Webcam Gadget" depends on VIDEO_V4L2 select USB_LIBCOMPOSITE select VIDEOBUF2_VMALLOC select USB_F_UVC help The Webcam Gadget acts as a composite USB Audio and Video Class device. It provides a userspace API to process UVC control requests and stream video data to the host. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_webcam". usb/gadget/legacy/Makefile 0000644 00000002533 14722053666 0011512 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB gadget drivers # ccflags-y := -I$(srctree)/drivers/usb/gadget/ ccflags-y += -I$(srctree)/drivers/usb/gadget/udc/ ccflags-y += -I$(srctree)/drivers/usb/gadget/function/ g_zero-y := zero.o g_audio-y := audio.o g_ether-y := ether.o g_serial-y := serial.o g_midi-y := gmidi.o gadgetfs-y := inode.o g_mass_storage-y := mass_storage.o g_printer-y := printer.o g_cdc-y := cdc2.o g_multi-y := multi.o g_hid-y := hid.o g_dbgp-y := dbgp.o g_nokia-y := nokia.o g_webcam-y := webcam.o g_ncm-y := ncm.o g_acm_ms-y := acm_ms.o g_tcm_usb_gadget-y := tcm_usb_gadget.o obj-$(CONFIG_USB_ZERO) += g_zero.o obj-$(CONFIG_USB_AUDIO) += g_audio.o obj-$(CONFIG_USB_ETH) += g_ether.o obj-$(CONFIG_USB_GADGETFS) += gadgetfs.o obj-$(CONFIG_USB_FUNCTIONFS) += g_ffs.o obj-$(CONFIG_USB_MASS_STORAGE) += g_mass_storage.o obj-$(CONFIG_USB_G_SERIAL) += g_serial.o obj-$(CONFIG_USB_G_PRINTER) += g_printer.o obj-$(CONFIG_USB_MIDI_GADGET) += g_midi.o obj-$(CONFIG_USB_CDC_COMPOSITE) += g_cdc.o obj-$(CONFIG_USB_G_HID) += g_hid.o obj-$(CONFIG_USB_G_DBGP) += g_dbgp.o obj-$(CONFIG_USB_G_MULTI) += g_multi.o obj-$(CONFIG_USB_G_NOKIA) += g_nokia.o obj-$(CONFIG_USB_G_WEBCAM) += g_webcam.o obj-$(CONFIG_USB_G_NCM) += g_ncm.o obj-$(CONFIG_USB_G_ACM_MS) += g_acm_ms.o obj-$(CONFIG_USB_GADGET_TARGET) += tcm_usb_gadget.o usb/Makefile 0000644 00000003367 14722053666 0007021 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel USB device drivers. # # Object files in subdirectories obj-$(CONFIG_USB_COMMON) += common/ obj-$(CONFIG_USB) += core/ obj-$(CONFIG_USB_SUPPORT) += phy/ obj-$(CONFIG_USB_DWC3) += dwc3/ obj-$(CONFIG_USB_DWC2) += dwc2/ obj-$(CONFIG_USB_ISP1760) += isp1760/ obj-$(CONFIG_USB_CDNS3) += cdns3/ obj-$(CONFIG_USB_MON) += mon/ obj-$(CONFIG_USB_MTU3) += mtu3/ obj-$(CONFIG_USB_PCI) += host/ obj-$(CONFIG_USB_EHCI_HCD) += host/ obj-$(CONFIG_USB_ISP116X_HCD) += host/ obj-$(CONFIG_USB_OHCI_HCD) += host/ obj-$(CONFIG_USB_UHCI_HCD) += host/ obj-$(CONFIG_USB_FHCI_HCD) += host/ obj-$(CONFIG_USB_XHCI_HCD) += host/ obj-$(CONFIG_USB_SL811_HCD) += host/ obj-$(CONFIG_USB_ISP1362_HCD) += host/ obj-$(CONFIG_USB_U132_HCD) += host/ obj-$(CONFIG_USB_R8A66597_HCD) += host/ obj-$(CONFIG_USB_HWA_HCD) += host/ obj-$(CONFIG_USB_IMX21_HCD) += host/ obj-$(CONFIG_USB_FSL_USB2) += host/ obj-$(CONFIG_USB_FOTG210_HCD) += host/ obj-$(CONFIG_USB_MAX3421_HCD) += host/ obj-$(CONFIG_USB_C67X00_HCD) += c67x00/ obj-$(CONFIG_USB_ACM) += class/ obj-$(CONFIG_USB_PRINTER) += class/ obj-$(CONFIG_USB_WDM) += class/ obj-$(CONFIG_USB_TMC) += class/ obj-$(CONFIG_USB_STORAGE) += storage/ obj-$(CONFIG_USB) += storage/ obj-$(CONFIG_USB_MDC800) += image/ obj-$(CONFIG_USB_MICROTEK) += image/ obj-$(CONFIG_USB_SERIAL) += serial/ obj-$(CONFIG_USB) += misc/ obj-$(CONFIG_EARLY_PRINTK_USB) += early/ obj-$(CONFIG_USB_ATM) += atm/ obj-$(CONFIG_USB_SPEEDTOUCH) += atm/ obj-$(CONFIG_USB_MUSB_HDRC) += musb/ obj-$(CONFIG_USB_CHIPIDEA) += chipidea/ obj-$(CONFIG_USB_RENESAS_USBHS) += renesas_usbhs/ obj-$(CONFIG_USB_GADGET) += gadget/ obj-$(CONFIG_USBIP_CORE) += usbip/ obj-$(CONFIG_TYPEC) += typec/ obj-$(CONFIG_USB_ROLE_SWITCH) += roles/ usb/common/Kconfig 0000644 00000003360 14722053666 0010145 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_COMMON tristate config USB_LED_TRIG bool "USB LED Triggers" depends on LEDS_CLASS && USB_COMMON && LEDS_TRIGGERS help This option adds LED triggers for USB host and/or gadget activity. Say Y here if you are working on a system with led-class supported LEDs and you want to use them as activity indicators for USB host or gadget. config USB_ULPI_BUS tristate "USB ULPI PHY interface support" select USB_COMMON help UTMI+ Low Pin Interface (ULPI) is specification for a commonly used USB 2.0 PHY interface. The ULPI specification defines a standard set of registers that can be used to detect the vendor and product which allows ULPI to be handled as a bus. This module is the driver for that bus. The ULPI interfaces (the buses) are registered by the drivers for USB controllers which support ULPI register access and have ULPI PHY attached to them. The ULPI PHY drivers themselves are normal PHY drivers. ULPI PHYs provide often functions such as ADP sensing/probing (OTG protocol) and USB charger detection. To compile this driver as a module, choose M here: the module will be called ulpi. config USB_CONN_GPIO tristate "USB GPIO Based Connection Detection Driver" depends on GPIOLIB select USB_ROLE_SWITCH help The driver supports USB role switch between host and device via GPIO based USB cable detection, used typically if an input GPIO is used to detect USB ID pin, and another input GPIO may be also used to detect Vbus pin at the same time, it also can be used to enable/disable device if an input GPIO is only used to detect Vbus pin. To compile the driver as a module, choose M here: the module will be called usb-conn-gpio.ko usb/common/Makefile 0000644 00000000552 14722053666 0010302 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the usb common parts. # obj-$(CONFIG_USB_COMMON) += usb-common.o usb-common-y += common.o usb-common-$(CONFIG_TRACING) += debug.o usb-common-$(CONFIG_USB_LED_TRIG) += led.o obj-$(CONFIG_USB_CONN_GPIO) += usb-conn-gpio.o obj-$(CONFIG_USB_OTG_FSM) += usb-otg-fsm.o obj-$(CONFIG_USB_ULPI_BUS) += ulpi.o usb/usbip/Kconfig 0000644 00000004252 14722053666 0010000 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USBIP_CORE tristate "USB/IP support" depends on NET select USB_COMMON select SGL_ALLOC ---help--- This enables pushing USB packets over IP to allow remote machines direct access to USB devices. It provides the USB/IP core that is required by both drivers. For more details, and to get the userspace utility programs, please see <http://usbip.sourceforge.net/>. To compile this as a module, choose M here: the module will be called usbip-core. If unsure, say N. config USBIP_VHCI_HCD tristate "VHCI hcd" depends on USBIP_CORE && USB ---help--- This enables the USB/IP virtual host controller driver, which is run on the remote machine. To compile this driver as a module, choose M here: the module will be called vhci-hcd. config USBIP_VHCI_HC_PORTS int "Number of ports per USB/IP virtual host controller" range 1 15 default 8 depends on USBIP_VHCI_HCD ---help--- To increase number of ports available for USB/IP virtual host controller driver, this defines number of ports per USB/IP virtual host controller. config USBIP_VHCI_NR_HCS int "Number of USB/IP virtual host controllers" range 1 128 default 1 depends on USBIP_VHCI_HCD ---help--- To increase number of ports available for USB/IP virtual host controller driver, this defines number of USB/IP virtual host controllers as if adding physical host controllers. config USBIP_HOST tristate "Host driver" depends on USBIP_CORE && USB ---help--- This enables the USB/IP host driver, which is run on the machine that is sharing the USB devices. To compile this driver as a module, choose M here: the module will be called usbip-host. config USBIP_VUDC tristate "VUDC driver" depends on USBIP_CORE && USB_GADGET ---help--- This enables the USB/IP virtual USB device controller driver, which is run on the host machine, allowing the machine itself to act as a device. To compile this driver as a module, choose M here: the module will be called usbip-vudc. config USBIP_DEBUG bool "Debug messages for USB/IP" depends on USBIP_CORE ---help--- This enables the debug messages from the USB/IP drivers. usb/usbip/Makefile 0000644 00000000760 14722053666 0010135 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_USBIP_DEBUG) := -DDEBUG obj-$(CONFIG_USBIP_CORE) += usbip-core.o usbip-core-y := usbip_common.o usbip_event.o obj-$(CONFIG_USBIP_VHCI_HCD) += vhci-hcd.o vhci-hcd-y := vhci_sysfs.o vhci_tx.o vhci_rx.o vhci_hcd.o obj-$(CONFIG_USBIP_HOST) += usbip-host.o usbip-host-y := stub_dev.o stub_main.o stub_rx.o stub_tx.o obj-$(CONFIG_USBIP_VUDC) += usbip-vudc.o usbip-vudc-y := vudc_dev.o vudc_sysfs.o vudc_tx.o vudc_rx.o vudc_transfer.o vudc_main.o usb/dwc2/Kconfig 0000644 00000006252 14722053666 0007517 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_DWC2 tristate "DesignWare USB2 DRD Core Support" depends on HAS_DMA depends on USB || USB_GADGET depends on HAS_IOMEM help Say Y here if your system has a Dual Role Hi-Speed USB controller based on the DesignWare HSOTG IP Core. For host mode, if you choose to build the driver as dynamically linked modules, the core module will be called dwc2.ko, the PCI bus interface module (if you have a PCI bus system) will be called dwc2_pci.ko, and the platform interface module (for controllers directly connected to the CPU) will be called dwc2_platform.ko. For all modes(host, gadget and dual-role), there will be an additional module named dwc2.ko. if USB_DWC2 choice bool "DWC2 Mode Selection" default USB_DWC2_DUAL_ROLE if (USB && USB_GADGET) default USB_DWC2_HOST if (USB && !USB_GADGET) default USB_DWC2_PERIPHERAL if (!USB && USB_GADGET) config USB_DWC2_HOST bool "Host only mode" depends on USB=y || (USB_DWC2=m && USB) help The Designware USB2.0 high-speed host controller integrated into many SoCs. Select this option if you want the driver to operate in Host-only mode. comment "Gadget/Dual-role mode requires USB Gadget support to be enabled" config USB_DWC2_PERIPHERAL bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_DWC2 help The Designware USB2.0 high-speed gadget controller integrated into many SoCs. Select this option if you want the driver to operate in Peripheral-only mode. This option requires USB_GADGET to be enabled. config USB_DWC2_DUAL_ROLE bool "Dual Role mode" depends on (USB=y && USB_GADGET=y) || (USB_DWC2=m && USB && USB_GADGET) help Select this option if you want the driver to work in a dual-role mode. In this mode both host and gadget features are enabled, and the role will be determined by the cable that gets plugged-in. This option requires USB_GADGET to be enabled. endchoice config USB_DWC2_PCI tristate "DWC2 PCI" depends on USB_PCI depends on USB_GADGET || !USB_GADGET select NOP_USB_XCEIV help The Designware USB2.0 PCI interface module for controllers connected to a PCI bus. config USB_DWC2_DEBUG bool "Enable Debugging Messages" help Say Y here to enable debugging messages in the DWC2 Driver. config USB_DWC2_VERBOSE bool "Enable Verbose Debugging Messages" depends on USB_DWC2_DEBUG help Say Y here to enable verbose debugging messages in the DWC2 Driver. WARNING: Enabling this will quickly fill your message log. If in doubt, say N. config USB_DWC2_TRACK_MISSED_SOFS bool "Enable Missed SOF Tracking" help Say Y here to enable logging of missed SOF events to the dmesg log. WARNING: This feature is still experimental. If in doubt, say N. config USB_DWC2_DEBUG_PERIODIC bool "Enable Debugging Messages For Periodic Transfers" depends on USB_DWC2_DEBUG || USB_DWC2_VERBOSE default y help Say N here to disable (verbose) debugging messages to be logged for periodic transfers. This allows better debugging of non-periodic transfers, but of course the debug logs will be incomplete. Note that this also disables some debug messages for which the transfer type cannot be deduced. endif usb/dwc2/Makefile 0000644 00000001735 14722053666 0007655 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_USB_DWC2_DEBUG) += -DDEBUG ccflags-$(CONFIG_USB_DWC2_VERBOSE) += -DVERBOSE_DEBUG obj-$(CONFIG_USB_DWC2) += dwc2.o dwc2-y := core.o core_intr.o platform.o dwc2-y += params.o ifneq ($(filter y,$(CONFIG_USB_DWC2_HOST) $(CONFIG_USB_DWC2_DUAL_ROLE)),) dwc2-y += hcd.o hcd_intr.o dwc2-y += hcd_queue.o hcd_ddma.o endif ifneq ($(filter y,$(CONFIG_USB_DWC2_PERIPHERAL) $(CONFIG_USB_DWC2_DUAL_ROLE)),) dwc2-y += gadget.o endif ifneq ($(CONFIG_DEBUG_FS),) dwc2-y += debugfs.o endif # NOTE: The previous s3c-hsotg peripheral mode only driver has been moved to # this location and renamed gadget.c. When building for dynamically linked # modules, dwc2.ko will get built for host mode, peripheral mode, and dual-role # mode. The PCI bus interface module will called dwc2_pci.ko and the platform # interface module will be called dwc2_platform.ko. obj-$(CONFIG_USB_DWC2_PCI) += dwc2_pci.o dwc2_pci-y := pci.o usb/isp1760/Kconfig 0000644 00000003147 14722053666 0007771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_ISP1760 tristate "NXP ISP 1760/1761 support" depends on USB || USB_GADGET help Say Y or M here if your system as an ISP1760 USB host controller or an ISP1761 USB dual-role controller. This driver does not support isochronous transfers or OTG. This USB controller is usually attached to a non-DMA-Master capable bus. NXP's eval kit brings this chip on PCI card where the chip itself is behind a PLB to simulate such a bus. To compile this driver as a module, choose M here: the module will be called isp1760. config USB_ISP1760_HCD bool config USB_ISP1761_UDC bool if USB_ISP1760 choice bool "ISP1760 Mode Selection" default USB_ISP1760_DUAL_ROLE if (USB && USB_GADGET) default USB_ISP1760_HOST_ROLE if (USB && !USB_GADGET) default USB_ISP1760_GADGET_ROLE if (!USB && USB_GADGET) config USB_ISP1760_HOST_ROLE bool "Host only mode" depends on USB=y || USB=USB_ISP1760 select USB_ISP1760_HCD help Select this if you want to use the ISP1760 in host mode only. The gadget function will be disabled. config USB_ISP1760_GADGET_ROLE bool "Gadget only mode" depends on USB_GADGET=y || USB_GADGET=USB_ISP1760 select USB_ISP1761_UDC help Select this if you want to use the ISP1760 in peripheral mode only. The host function will be disabled. config USB_ISP1760_DUAL_ROLE bool "Dual Role mode" depends on USB=y || USB=USB_ISP1760 depends on USB_GADGET=y || USB_GADGET=USB_ISP1760 select USB_ISP1760_HCD select USB_ISP1761_UDC help Select this if you want to use the ISP1760 in both host and peripheral modes. endchoice endif usb/isp1760/Makefile 0000644 00000000332 14722053666 0010117 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 isp1760-y := isp1760-core.o isp1760-if.o isp1760-$(CONFIG_USB_ISP1760_HCD) += isp1760-hcd.o isp1760-$(CONFIG_USB_ISP1761_UDC) += isp1760-udc.o obj-$(CONFIG_USB_ISP1760) += isp1760.o usb/c67x00/Makefile 0000644 00000000304 14722053666 0007734 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Cypress C67X00 USB Controller # obj-$(CONFIG_USB_C67X00_HCD) += c67x00.o c67x00-y := c67x00-drv.o c67x00-ll-hpi.o c67x00-hcd.o c67x00-sched.o usb/host/Kconfig 0000644 00000061350 14722053666 0007635 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Host Controller Drivers # comment "USB Host Controller Drivers" config USB_C67X00_HCD tristate "Cypress C67x00 HCD support" depends on HAS_IOMEM help The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role host/peripheral/OTG USB controllers. Enable this option to support this chip in host controller mode. If unsure, say N. To compile this driver as a module, choose M here: the module will be called c67x00. config USB_XHCI_HCD tristate "xHCI HCD (USB 3.0) support" depends on HAS_DMA && HAS_IOMEM ---help--- The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0 "SuperSpeed" host controller hardware. To compile this driver as a module, choose M here: the module will be called xhci-hcd. if USB_XHCI_HCD config USB_XHCI_DBGCAP bool "xHCI support for debug capability" depends on TTY ---help--- Say 'Y' to enable the support for the xHCI debug capability. Make sure that your xHCI host supports the extended debug capability and you want a TTY serial device based on the xHCI debug capability before enabling this option. If unsure, say 'N'. config USB_XHCI_PCI tristate depends on USB_PCI default y config USB_XHCI_PLATFORM tristate "Generic xHCI driver for a platform device" select USB_XHCI_RCAR if ARCH_RENESAS ---help--- Adds an xHCI host driver for a generic platform device, which provides a memory space and an irq. It is also a prerequisite for platform specific drivers that implement some extra quirks. If unsure, say N. config USB_XHCI_HISTB tristate "xHCI support for HiSilicon STB SoCs" depends on USB_XHCI_PLATFORM && (ARCH_HISI || COMPILE_TEST) help Say 'Y' to enable the support for the xHCI host controller found in HiSilicon STB SoCs. config USB_XHCI_MTK tristate "xHCI support for MediaTek SoCs" select MFD_SYSCON depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST ---help--- Say 'Y' to enable the support for the xHCI host controller found in MediaTek SoCs. If unsure, say N. config USB_XHCI_MVEBU tristate "xHCI support for Marvell Armada 375/38x/37xx" select USB_XHCI_PLATFORM depends on HAS_IOMEM depends on ARCH_MVEBU || COMPILE_TEST ---help--- Say 'Y' to enable the support for the xHCI host controller found in Marvell Armada 375/38x/37xx ARM SOCs. config USB_XHCI_RCAR tristate "xHCI support for Renesas R-Car SoCs" depends on USB_XHCI_PLATFORM depends on ARCH_RENESAS || COMPILE_TEST ---help--- Say 'Y' to enable the support for the xHCI host controller found in Renesas R-Car ARM SoCs. config USB_XHCI_TEGRA tristate "xHCI support for NVIDIA Tegra SoCs" depends on PHY_TEGRA_XUSB depends on RESET_CONTROLLER select FW_LOADER ---help--- Say 'Y' to enable the support for the xHCI host controller found in NVIDIA Tegra124 and later SoCs. endif # USB_XHCI_HCD config USB_EHCI_HCD tristate "EHCI HCD (USB 2.0) support" depends on HAS_DMA && HAS_IOMEM ---help--- The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. If your USB host controller supports USB 2.0, you will likely want to configure this Host Controller Driver. EHCI controllers are packaged with "companion" host controllers (OHCI or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports will connect to EHCI if the device is high speed, otherwise they connect to a companion controller. If you configure EHCI, you should probably configure the OHCI (for NEC and some other vendors) USB Host Controller Driver or UHCI (for Via motherboards) Host Controller Driver too. You may want to read <file:Documentation/usb/ehci.rst>. To compile this driver as a module, choose M here: the module will be called ehci-hcd. config USB_EHCI_ROOT_HUB_TT bool "Root Hub Transaction Translators" depends on USB_EHCI_HCD ---help--- Some EHCI chips have vendor-specific extensions to integrate transaction translators, so that no OHCI or UHCI companion controller is needed. It's safe to say "y" even if your controller doesn't support this feature. This supports the EHCI implementation that's originally from ARC, and has since changed hands a few times. config USB_EHCI_TT_NEWSCHED bool "Improved Transaction Translator scheduling" depends on USB_EHCI_HCD default y ---help--- This changes the periodic scheduling code to fill more of the low and full speed bandwidth available from the Transaction Translator (TT) in USB 2.0 hubs. Without this, only one transfer will be issued in each microframe, significantly reducing the number of periodic low/fullspeed transfers possible. If you have multiple periodic low/fullspeed devices connected to a highspeed USB hub which is connected to a highspeed USB Host Controller, and some of those devices will not work correctly (possibly due to "ENOSPC" or "-28" errors), say Y. Conversely, if you have only one such device and it doesn't work, you could try saying N. If unsure, say Y. if USB_EHCI_HCD config USB_EHCI_PCI tristate depends on USB_PCI default y config USB_EHCI_HCD_PMC_MSP tristate "EHCI support for on-chip PMC MSP71xx USB controller" depends on MSP_HAS_USB select USB_EHCI_BIG_ENDIAN_DESC select USB_EHCI_BIG_ENDIAN_MMIO ---help--- Enables support for the onchip USB controller on the PMC_MSP7100 Family SoC's. If unsure, say N. config XPS_USB_HCD_XILINX bool "Use Xilinx usb host EHCI controller core" depends on (PPC32 || MICROBLAZE) select USB_EHCI_BIG_ENDIAN_DESC select USB_EHCI_BIG_ENDIAN_MMIO ---help--- Xilinx xps USB host controller core is EHCI compliant and has transaction translator built-in. It can be configured to either support both high speed and full speed devices, or high speed devices only. config USB_EHCI_FSL tristate "Support for Freescale on-chip EHCI USB controller" select USB_EHCI_ROOT_HUB_TT ---help--- Variation of ARC USB block used in some Freescale chips. config USB_EHCI_MXC tristate "Support for Freescale i.MX on-chip EHCI USB controller" depends on ARCH_MXC select USB_EHCI_ROOT_HUB_TT ---help--- Variation of ARC USB block used in some Freescale chips. config USB_EHCI_HCD_NPCM7XX tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller" depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST default y if (USB_EHCI_HCD && ARCH_NPCM7XX) help Enables support for the on-chip EHCI controller on Nuvoton NPCM7XX chips. config USB_EHCI_HCD_OMAP tristate "EHCI support for OMAP3 and later chips" depends on ARCH_OMAP depends on NOP_USB_XCEIV default y ---help--- Enables support for the on-chip EHCI controller on OMAP3 and later chips. config USB_EHCI_HCD_ORION tristate "Support for Marvell EBU on-chip EHCI USB controller" depends on USB_EHCI_HCD && (PLAT_ORION || ARCH_MVEBU) default y ---help--- Enables support for the on-chip EHCI controller on Marvell's embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP, Armada 370. This is different from the EHCI implementation on Marvell's mobile PXA and MMP SoC, see "EHCI support for Marvell PXA/MMP USB controller" for those. config USB_EHCI_HCD_SPEAR tristate "Support for ST SPEAr on-chip EHCI USB controller" depends on USB_EHCI_HCD && PLAT_SPEAR default y ---help--- Enables support for the on-chip EHCI controller on ST SPEAr chips. config USB_EHCI_HCD_STI tristate "Support for ST STiHxxx on-chip EHCI USB controller" depends on ARCH_STI && OF select GENERIC_PHY select USB_EHCI_HCD_PLATFORM help Enable support for the on-chip EHCI controller found on STMicroelectronics consumer electronics SoC's. config USB_EHCI_HCD_AT91 tristate "Support for Atmel on-chip EHCI USB controller" depends on USB_EHCI_HCD && ARCH_AT91 default y ---help--- Enables support for the on-chip EHCI controller on Atmel chips. config USB_EHCI_TEGRA tristate "NVIDIA Tegra HCD support" depends on ARCH_TEGRA select USB_EHCI_ROOT_HUB_TT select USB_TEGRA_PHY help This driver enables support for the internal USB Host Controllers found in NVIDIA Tegra SoCs. The controllers are EHCI compliant. config USB_EHCI_HCD_PPC_OF bool "EHCI support for PPC USB controller on OF platform bus" depends on PPC default y ---help--- Enables support for the USB controller present on the PowerPC OpenFirmware platform bus. config USB_EHCI_SH bool "EHCI support for SuperH USB controller" depends on SUPERH ---help--- Enables support for the on-chip EHCI controller on the SuperH. If you use the PCI EHCI controller, this option is not necessary. config USB_EHCI_EXYNOS tristate "EHCI support for Samsung S5P/EXYNOS SoC Series" depends on ARCH_S5PV210 || ARCH_EXYNOS help Enable support for the Samsung Exynos SOC's on-chip EHCI controller. config USB_EHCI_MV tristate "EHCI support for Marvell PXA/MMP USB controller" depends on (ARCH_PXA || ARCH_MMP) select USB_EHCI_ROOT_HUB_TT ---help--- Enables support for Marvell (including PXA and MMP series) on-chip USB SPH and OTG controller. SPH is a single port host, and it can only be EHCI host. OTG is controller that can switch to host mode. Note that this driver will not work on Marvell's other EHCI controller used by the EBU-type SoCs including Orion, Kirkwood, Dova, Armada 370 and Armada XP. See "Support for Marvell EBU on-chip EHCI USB controller" for those. config USB_CNS3XXX_EHCI bool "Cavium CNS3XXX EHCI Module (DEPRECATED)" depends on ARCH_CNS3XXX select USB_EHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_EHCI_HCD_PLATFORM instead. Enable support for the CNS3XXX SOC's on-chip EHCI controller. It is needed for high-speed (480Mbit/sec) USB 2.0 device support. config USB_EHCI_HCD_PLATFORM tristate "Generic EHCI driver for a platform device" ---help--- Adds an EHCI host driver for a generic platform device, which provides a memory space and an irq. If unsure, say N. config USB_OCTEON_EHCI bool "Octeon on-chip EHCI support (DEPRECATED)" depends on CAVIUM_OCTEON_SOC select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN select USB_EHCI_HCD_PLATFORM help This option is deprecated now and the driver was removed, use USB_EHCI_HCD_PLATFORM instead. Enable support for the Octeon II SOC's on-chip EHCI controller. It is needed for high-speed (480Mbit/sec) USB 2.0 device support. All CN6XXX based chips with USB are supported. endif # USB_EHCI_HCD config USB_OXU210HP_HCD tristate "OXU210HP HCD support" depends on HAS_IOMEM ---help--- The OXU210HP is an USB host/OTG/device controller. Enable this option if your board has this chip. If unsure, say N. This driver does not support isochronous transfers and doesn't implement OTG nor USB device controllers. To compile this driver as a module, choose M here: the module will be called oxu210hp-hcd. config USB_ISP116X_HCD tristate "ISP116X HCD support" depends on HAS_IOMEM ---help--- The ISP1160 and ISP1161 chips are USB host controllers. Enable this option if your board has this chip. If unsure, say N. This driver does not support isochronous transfers. To compile this driver as a module, choose M here: the module will be called isp116x-hcd. config USB_ISP1362_HCD tristate "ISP1362 HCD support" depends on HAS_IOMEM depends on COMPILE_TEST # nothing uses this ---help--- Supports the Philips ISP1362 chip as a host controller This driver does not support isochronous transfers. To compile this driver as a module, choose M here: the module will be called isp1362-hcd. config USB_FOTG210_HCD tristate "FOTG210 HCD support" depends on USB && HAS_DMA && HAS_IOMEM ---help--- Faraday FOTG210 is an OTG controller which can be configured as an USB2.0 host. It is designed to meet USB2.0 EHCI specification with minor modification. To compile this driver as a module, choose M here: the module will be called fotg210-hcd. config USB_MAX3421_HCD tristate "MAX3421 HCD (USB-over-SPI) support" depends on USB && SPI ---help--- The Maxim MAX3421E chip supports standard USB 2.0-compliant full-speed devices either in host or peripheral mode. This driver supports the host-mode of the MAX3421E only. To compile this driver as a module, choose M here: the module will be called max3421-hcd. config USB_OHCI_HCD tristate "OHCI HCD (USB 1.1) support" depends on HAS_DMA && HAS_IOMEM ---help--- The Open Host Controller Interface (OHCI) is a standard for accessing USB 1.1 host controller hardware. It does more in hardware than Intel's UHCI specification. If your USB host controller follows the OHCI spec, say Y. On most non-x86 systems, and on x86 hardware that's not using a USB controller from Intel or VIA, this is appropriate. If your host controller doesn't use PCI, this is probably appropriate. For a PCI based system where you're not sure, the "lspci -v" entry will list the right "prog-if" for your USB controller(s): EHCI, OHCI, or UHCI. To compile this driver as a module, choose M here: the module will be called ohci-hcd. if USB_OHCI_HCD config USB_OHCI_HCD_OMAP1 tristate "OHCI support for OMAP1/2 chips" depends on ARCH_OMAP1 depends on ISP1301_OMAP || !(MACH_OMAP_H2 || MACH_OMAP_H3) default y ---help--- Enables support for the OHCI controller on OMAP1/2 chips. config USB_OHCI_HCD_SPEAR tristate "Support for ST SPEAr on-chip OHCI USB controller" depends on USB_OHCI_HCD && PLAT_SPEAR default y ---help--- Enables support for the on-chip OHCI controller on ST SPEAr chips. config USB_OHCI_HCD_STI tristate "Support for ST STiHxxx on-chip OHCI USB controller" depends on ARCH_STI && OF select GENERIC_PHY select USB_OHCI_HCD_PLATFORM help Enable support for the on-chip OHCI controller found on STMicroelectronics consumer electronics SoC's. config USB_OHCI_HCD_S3C2410 tristate "OHCI support for Samsung S3C24xx/S3C64xx SoC series" depends on USB_OHCI_HCD && (ARCH_S3C24XX || ARCH_S3C64XX) default y ---help--- Enables support for the on-chip OHCI controller on S3C24xx/S3C64xx chips. config USB_OHCI_HCD_LPC32XX tristate "Support for LPC on-chip OHCI USB controller" depends on USB_OHCI_HCD depends on ARCH_LPC32XX || COMPILE_TEST depends on USB_ISP1301 default y ---help--- Enables support for the on-chip OHCI controller on NXP chips. config USB_OHCI_HCD_PXA27X tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller" depends on USB_OHCI_HCD && (PXA27x || PXA3xx) default y ---help--- Enables support for the on-chip OHCI controller on PXA27x/PXA3xx chips. config USB_OHCI_HCD_AT91 tristate "Support for Atmel on-chip OHCI USB controller" depends on USB_OHCI_HCD && ARCH_AT91 && OF default y ---help--- Enables support for the on-chip OHCI controller on Atmel chips. config USB_OHCI_HCD_OMAP3 tristate "OHCI support for OMAP3 and later chips" depends on (ARCH_OMAP3 || ARCH_OMAP4 || SOC_OMAP5) select USB_OHCI_HCD_PLATFORM default y help This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enables support for the on-chip OHCI controller on OMAP3 and later chips. config USB_OHCI_HCD_DAVINCI tristate "OHCI support for TI DaVinci DA8xx" depends on ARCH_DAVINCI_DA8XX depends on USB_OHCI_HCD select PHY_DA8XX_USB default y help Enables support for the DaVinci DA8xx integrated OHCI controller. This driver cannot currently be a loadable module because it lacks a proper PHY abstraction. config USB_OHCI_HCD_PPC_OF_BE bool "OHCI support for OF platform bus (big endian)" depends on PPC select USB_OHCI_BIG_ENDIAN_DESC select USB_OHCI_BIG_ENDIAN_MMIO ---help--- Enables support for big-endian USB controllers present on the OpenFirmware platform bus. config USB_OHCI_HCD_PPC_OF_LE bool "OHCI support for OF platform bus (little endian)" depends on PPC select USB_OHCI_LITTLE_ENDIAN ---help--- Enables support for little-endian USB controllers present on the OpenFirmware platform bus. config USB_OHCI_HCD_PPC_OF bool depends on PPC default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE config USB_OHCI_HCD_PCI tristate "OHCI support for PCI-bus USB controllers" depends on USB_PCI default y select USB_OHCI_LITTLE_ENDIAN ---help--- Enables support for PCI-bus plug-in USB controller cards. If unsure, say Y. config USB_OHCI_HCD_SSB bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)" depends on (SSB = y || SSB = USB_OHCI_HCD) select USB_HCD_SSB select USB_OHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_HCD_SSB and USB_OHCI_HCD_PLATFORM instead. Support for the Sonics Silicon Backplane (SSB) attached Broadcom USB OHCI core. This device is present in some embedded devices with Broadcom based SSB bus. If unsure, say N. config USB_OHCI_SH bool "OHCI support for SuperH USB controller (DEPRECATED)" depends on SUPERH select USB_OHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enables support for the on-chip OHCI controller on the SuperH. If you use the PCI OHCI controller, this option is not necessary. config USB_OHCI_EXYNOS tristate "OHCI support for Samsung S5P/EXYNOS SoC Series" depends on ARCH_S5PV210 || ARCH_EXYNOS help Enable support for the Samsung Exynos SOC's on-chip OHCI controller. config USB_CNS3XXX_OHCI bool "Cavium CNS3XXX OHCI Module (DEPRECATED)" depends on ARCH_CNS3XXX select USB_OHCI_HCD_PLATFORM ---help--- This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enable support for the CNS3XXX SOC's on-chip OHCI controller. It is needed for low-speed USB 1.0 device support. config USB_OHCI_HCD_PLATFORM tristate "Generic OHCI driver for a platform device" ---help--- Adds an OHCI host driver for a generic platform device, which provides a memory space and an irq. If unsure, say N. config USB_OCTEON_OHCI bool "Octeon on-chip OHCI support (DEPRECATED)" depends on CAVIUM_OCTEON_SOC default USB_OCTEON_EHCI select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN select USB_OHCI_LITTLE_ENDIAN select USB_OHCI_HCD_PLATFORM help This option is deprecated now and the driver was removed, use USB_OHCI_HCD_PLATFORM instead. Enable support for the Octeon II SOC's on-chip OHCI controller. It is needed for low-speed USB 1.0 device support. All CN6XXX based chips with USB are supported. endif # USB_OHCI_HCD config USB_UHCI_HCD tristate "UHCI HCD (most Intel and VIA) support" depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC ---help--- The Universal Host Controller Interface is a standard by Intel for accessing the USB hardware in the PC (which is also called the USB host controller). If your USB host controller conforms to this standard, you may want to say Y, but see below. All recent boards with Intel PCI chipsets (like intel 430TX, 440FX, 440LX, 440BX, i810, i820) conform to this standard. Also all VIA PCI chipsets (like VIA VP2, VP3, MVP3, Apollo Pro, Apollo Pro II or Apollo Pro 133) and LEON/GRLIB SoCs with the GRUSBHC controller. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called uhci-hcd. config USB_UHCI_SUPPORT_NON_PCI_HC bool default y if (SPARC_LEON || USB_UHCI_PLATFORM) config USB_UHCI_PLATFORM bool default y if (ARCH_VT8500 || ARCH_ASPEED) config USB_UHCI_ASPEED bool default y if ARCH_ASPEED config USB_FHCI_HCD tristate "Freescale QE USB Host Controller support" depends on OF_GPIO && QE_GPIO && QUICC_ENGINE select FSL_GTM select QE_USB help This driver enables support for Freescale QE USB Host Controller (as found on MPC8360 and MPC8323 processors), the driver supports Full and Low Speed USB. config FHCI_DEBUG bool "Freescale QE USB Host Controller debug support" depends on USB_FHCI_HCD && DEBUG_FS help Say "y" to see some FHCI debug information and statistics through debugfs. config USB_U132_HCD tristate "Elan U132 Adapter Host Controller" depends on USB_FTDI_ELAN help The U132 adapter is a USB to CardBus adapter specifically designed for PC cards that contain an OHCI host controller. Typical PC cards are the Orange Mobile 3G Option GlobeTrotter Fusion card. The U132 adapter will *NOT* work with PC cards that do not contain an OHCI controller. For those PC cards that contain multiple OHCI controllers only the first one is used. The driver consists of two modules, the "ftdi-elan" module is a USB client driver that interfaces to the FTDI chip within ELAN's USB-to-PCMCIA adapter, and this "u132-hcd" module is a USB host controller driver that talks to the OHCI controller within the CardBus cards that are inserted in the U132 adapter. This driver has been tested with a CardBus OHCI USB adapter, and worked with a USB PEN Drive inserted into the first USB port of the PCCARD. A rather pointless thing to do, but useful for testing. It is safe to say M here. See also <http://www.elandigitalsystems.com/support/ufaq/u132linux.php> config USB_SL811_HCD tristate "SL811HS HCD support" depends on HAS_IOMEM help The SL811HS is a single-port USB controller that supports either host side or peripheral side roles. Enable this option if your board has this chip, and you want to use it as a host controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called sl811-hcd. config USB_SL811_HCD_ISO bool "partial ISO support" depends on USB_SL811_HCD help The driver doesn't support iso_frame_desc (yet), but for some simple devices that just queue one ISO frame per URB, then ISO transfers "should" work using the normal urb status fields. If unsure, say N. config USB_SL811_CS tristate "CF/PCMCIA support for SL811HS HCD" depends on USB_SL811_HCD && PCMCIA help Wraps a PCMCIA driver around the SL811HS HCD, supporting the RATOC REX-CFU1U CF card (often used with PDAs). If unsure, say N. To compile this driver as a module, choose M here: the module will be called "sl811_cs". config USB_R8A66597_HCD tristate "R8A66597 HCD support" depends on HAS_IOMEM help The R8A66597 is a USB 2.0 host and peripheral controller. Enable this option if your board has this chip, and you want to use it as a host controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called r8a66597-hcd. config USB_RENESAS_USBHS_HCD tristate "Renesas USBHS HCD support" depends on USB_RENESAS_USBHS help The Renesas USBHS is a USB 2.0 host and peripheral controller. Enable this option if your board has this chip, and you want to use it as a host controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called renesas-usbhs. config USB_IMX21_HCD tristate "i.MX21 HCD support" depends on ARM && ARCH_MXC help This driver enables support for the on-chip USB host in the i.MX21 processor. To compile this driver as a module, choose M here: the module will be called "imx21-hcd". config USB_HCD_BCMA tristate "BCMA usb host driver" depends on BCMA select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD help Enable support for the EHCI and OCHI host controller on an bcma bus. It converts the bcma driver into two platform device drivers for ehci and ohci. If unsure, say N. config USB_HCD_SSB tristate "SSB usb host driver" depends on SSB select USB_OHCI_HCD_PLATFORM if USB_OHCI_HCD select USB_EHCI_HCD_PLATFORM if USB_EHCI_HCD help Enable support for the EHCI and OCHI host controller on an bcma bus. It converts the bcma driver into two platform device drivers for ehci and ohci. If unsure, say N. config USB_HCD_TEST_MODE bool "HCD test mode support" ---help--- Say 'Y' to enable additional software test modes that may be supported by the host controller drivers. One such test mode is the Embedded High-speed Host Electrical Test (EHSET) for EHCI host controller hardware, specifically the "Single Step Set Feature" test. Typically this will be enabled for On-the-Go or embedded hosts that need to undergo USB-IF compliance testing with the aid of special testing hardware. In the future, this may expand to include other tests that require support from a HCD driver. This option is of interest only to developers who need to validate their USB hardware designs. It is not needed for normal use. If unsure, say N. usb/host/Makefile 0000644 00000005762 14722053666 0007777 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB Host Controller Drivers # # tell define_trace.h where to find the xhci trace header CFLAGS_xhci-trace.o := -I$(src) fhci-y := fhci-hcd.o fhci-hub.o fhci-q.o fhci-y += fhci-mem.o fhci-tds.o fhci-sched.o fhci-$(CONFIG_FHCI_DEBUG) += fhci-dbg.o xhci-hcd-y := xhci.o xhci-mem.o xhci-ext-caps.o xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o xhci-hcd-y += xhci-trace.o ifneq ($(CONFIG_USB_XHCI_DBGCAP), ) xhci-hcd-y += xhci-dbgcap.o xhci-dbgtty.o endif ifneq ($(CONFIG_USB_XHCI_MTK), ) xhci-hcd-y += xhci-mtk-sch.o endif xhci-plat-hcd-y := xhci-plat.o ifneq ($(CONFIG_USB_XHCI_MVEBU), ) xhci-plat-hcd-y += xhci-mvebu.o endif ifneq ($(CONFIG_USB_XHCI_RCAR), ) xhci-plat-hcd-y += xhci-rcar.o endif ifneq ($(CONFIG_DEBUG_FS),) xhci-hcd-y += xhci-debugfs.o endif obj-$(CONFIG_USB_PCI) += pci-quirks.o obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o obj-$(CONFIG_USB_EHCI_HCD_PLATFORM) += ehci-platform.o obj-$(CONFIG_USB_EHCI_MXC) += ehci-mxc.o obj-$(CONFIG_USB_EHCI_HCD_NPCM7XX) += ehci-npcm7xx.o obj-$(CONFIG_USB_EHCI_HCD_OMAP) += ehci-omap.o obj-$(CONFIG_USB_EHCI_HCD_ORION) += ehci-orion.o obj-$(CONFIG_USB_EHCI_HCD_SPEAR) += ehci-spear.o obj-$(CONFIG_USB_EHCI_HCD_STI) += ehci-st.o obj-$(CONFIG_USB_EHCI_EXYNOS) += ehci-exynos.o obj-$(CONFIG_USB_EHCI_HCD_AT91) += ehci-atmel.o obj-$(CONFIG_USB_EHCI_TEGRA) += ehci-tegra.o obj-$(CONFIG_USB_OXU210HP_HCD) += oxu210hp-hcd.o obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o obj-$(CONFIG_USB_ISP1362_HCD) += isp1362-hcd.o obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o obj-$(CONFIG_USB_OHCI_HCD_PCI) += ohci-pci.o obj-$(CONFIG_USB_OHCI_HCD_PLATFORM) += ohci-platform.o obj-$(CONFIG_USB_OHCI_EXYNOS) += ohci-exynos.o obj-$(CONFIG_USB_OHCI_HCD_OMAP1) += ohci-omap.o obj-$(CONFIG_USB_OHCI_HCD_SPEAR) += ohci-spear.o obj-$(CONFIG_USB_OHCI_HCD_STI) += ohci-st.o obj-$(CONFIG_USB_OHCI_HCD_AT91) += ohci-at91.o obj-$(CONFIG_USB_OHCI_HCD_S3C2410) += ohci-s3c2410.o obj-$(CONFIG_USB_OHCI_HCD_LPC32XX) += ohci-nxp.o obj-$(CONFIG_USB_OHCI_HCD_PXA27X) += ohci-pxa27x.o obj-$(CONFIG_USB_OHCI_HCD_DAVINCI) += ohci-da8xx.o obj-$(CONFIG_USB_UHCI_HCD) += uhci-hcd.o obj-$(CONFIG_USB_FHCI_HCD) += fhci.o obj-$(CONFIG_USB_XHCI_HCD) += xhci-hcd.o obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o obj-$(CONFIG_USB_XHCI_PLATFORM) += xhci-plat-hcd.o obj-$(CONFIG_USB_XHCI_HISTB) += xhci-histb.o obj-$(CONFIG_USB_XHCI_MTK) += xhci-mtk.o obj-$(CONFIG_USB_XHCI_TEGRA) += xhci-tegra.o obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o obj-$(CONFIG_USB_IMX21_HCD) += imx21-hcd.o obj-$(CONFIG_USB_FSL_USB2) += fsl-mph-dr-of.o obj-$(CONFIG_USB_EHCI_FSL) += fsl-mph-dr-of.o obj-$(CONFIG_USB_EHCI_FSL) += ehci-fsl.o obj-$(CONFIG_USB_EHCI_MV) += ehci-mv.o obj-$(CONFIG_USB_HCD_BCMA) += bcma-hcd.o obj-$(CONFIG_USB_HCD_SSB) += ssb-hcd.o obj-$(CONFIG_USB_FOTG210_HCD) += fotg210-hcd.o obj-$(CONFIG_USB_MAX3421_HCD) += max3421-hcd.o usb/class/Kconfig 0000644 00000002773 14722053666 0007771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # USB Class driver configuration # comment "USB Device Class drivers" config USB_ACM tristate "USB Modem (CDC ACM) support" depends on TTY ---help--- This driver supports USB modems and ISDN adapters which support the Communication Device Class Abstract Control Model interface. Please read <file:Documentation/usb/acm.rst> for details. If your modem only reports "Cls=ff(vend.)" in the descriptors in /sys/kernel/debug/usb/devices, then your modem will not work with this driver. To compile this driver as a module, choose M here: the module will be called cdc-acm. config USB_PRINTER tristate "USB Printer support" help Say Y here if you want to connect a USB printer to your computer's USB port. To compile this driver as a module, choose M here: the module will be called usblp. config USB_WDM tristate "USB Wireless Device Management support" ---help--- This driver supports the WMC Device Management functionality of cell phones compliant to the CDC WMC specification. You can use AT commands over this device. To compile this driver as a module, choose M here: the module will be called cdc-wdm. config USB_TMC tristate "USB Test and Measurement Class support" help Say Y here if you want to connect a USB device that follows the USB.org specification for USB Test and Measurement devices to your computer's USB port. To compile this driver as a module, choose M here: the module will be called usbtmc. usb/class/Makefile 0000644 00000000400 14722053666 0010107 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB Class drivers # (one step up from the misc category) # obj-$(CONFIG_USB_ACM) += cdc-acm.o obj-$(CONFIG_USB_PRINTER) += usblp.o obj-$(CONFIG_USB_WDM) += cdc-wdm.o obj-$(CONFIG_USB_TMC) += usbtmc.o usb/roles/Kconfig 0000644 00000002032 14722053666 0007774 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_ROLE_SWITCH tristate "USB Role Switch Support" help USB Role Switch is a device that can select the USB role - host or device - for a USB port (connector). In most cases dual-role capable USB controller will also represent the switch, but on some platforms multiplexer/demultiplexer switch is used to route the data lines on the USB connector between separate USB host and device controllers. Say Y here if your USB connectors support both device and host roles. To compile the driver as module, choose M here: the module will be called roles.ko. if USB_ROLE_SWITCH config USB_ROLES_INTEL_XHCI tristate "Intel XHCI USB Role Switch" depends on ACPI && X86 help Driver for the internal USB role switch for switching the USB data lines between the xHCI host controller and the dwc3 gadget controller found on various Intel SoCs. To compile the driver as a module, choose M here: the module will be called intel-xhci-usb-role-switch. endif # USB_ROLE_SWITCH usb/roles/Makefile 0000644 00000000250 14722053666 0010131 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_ROLE_SWITCH) += roles.o roles-y := class.o obj-$(CONFIG_USB_ROLES_INTEL_XHCI) += intel-xhci-usb-role-switch.o usb/early/Makefile 0000644 00000000252 14722053666 0010123 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for early USB devices # obj-$(CONFIG_EARLY_PRINTK_DBGP) += ehci-dbgp.o obj-$(CONFIG_EARLY_PRINTK_USB_XDBC) += xhci-dbc.o memory/Kconfig 0000644 00000012745 14722053666 0007403 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Memory devices # menuconfig MEMORY bool "Memory Controller drivers" if MEMORY config DDR bool help Data from JEDEC specs for DDR SDRAM memories, particularly the AC timing parameters and addressing information. This data is useful for drivers handling DDR SDRAM controllers. config ARM_PL172_MPMC tristate "ARM PL172 MPMC driver" depends on ARM_AMBA && OF help This selects the ARM PrimeCell PL172 MultiPort Memory Controller. If you have an embedded system with an AMBA bus and a PL172 controller, say Y or M here. config ATMEL_SDRAMC bool "Atmel (Multi-port DDR-)SDRAM Controller" default y depends on ARCH_AT91 && OF help This driver is for Atmel SDRAM Controller or Atmel Multi-port DDR-SDRAM Controller available on Atmel AT91SAM9 and SAMA5 SoCs. Starting with the at91sam9g45, this controller supports SDR, DDR and LP-DDR memories. config ATMEL_EBI bool "Atmel EBI driver" default y depends on ARCH_AT91 && OF select MFD_SYSCON select MFD_ATMEL_SMC help Driver for Atmel EBI controller. Used to configure the EBI (external bus interface) when the device- tree is used. This bus supports NANDs, external ethernet controller, SRAMs, ATA devices, etc. config TI_AEMIF tristate "Texas Instruments AEMIF driver" depends on (ARCH_DAVINCI || ARCH_KEYSTONE) && OF help This driver is for the AEMIF module available in Texas Instruments SoCs. AEMIF stands for Asynchronous External Memory Interface and is intended to provide a glue-less interface to a variety of asynchronuous memory devices like ASRAM, NOR and NAND memory. A total of 256M bytes of any of these memories can be accessed at a given time via four chip selects with 64M byte access per chip select. config TI_EMIF tristate "Texas Instruments EMIF driver" depends on ARCH_OMAP2PLUS select DDR help This driver is for the EMIF module available in Texas Instruments SoCs. EMIF is an SDRAM controller that, based on its revision, supports one or more of DDR2, DDR3, and LPDDR2 SDRAM protocols. This driver takes care of only LPDDR2 memories presently. The functions of the driver includes re-configuring AC timing parameters and other settings during frequency, voltage and temperature changes config OMAP_GPMC bool select GPIOLIB help This driver is for the General Purpose Memory Controller (GPMC) present on Texas Instruments SoCs (e.g. OMAP2+). GPMC allows interfacing to a variety of asynchronous as well as synchronous memory drives like NOR, NAND, OneNAND, SRAM. config OMAP_GPMC_DEBUG bool "Enable GPMC debug output and skip reset of GPMC during init" depends on OMAP_GPMC help Enables verbose debugging mostly to decode the bootloader provided timings. To preserve the bootloader provided timings, the reset of GPMC is skipped during init. Enable this during development to configure devices connected to the GPMC bus. NOTE: In addition to matching the register setup with the bootloader you also need to match the GPMC FCLK frequency used by the bootloader or else the GPMC timings won't be identical with the bootloader timings. config TI_EMIF_SRAM tristate "Texas Instruments EMIF SRAM driver" depends on (SOC_AM33XX || SOC_AM43XX) && SRAM help This driver is for the EMIF module available on Texas Instruments AM33XX and AM43XX SoCs and is required for PM. Certain parts of the EMIF PM code must run from on-chip SRAM late in the suspend sequence so this driver provides several relocatable PM functions for the SoC PM code to use. config MVEBU_DEVBUS bool "Marvell EBU Device Bus Controller" default y depends on PLAT_ORION && OF help This driver is for the Device Bus controller available in some Marvell EBU SoCs such as Discovery (mv78xx0), Orion (88f5xxx) and Armada 370 and Armada XP. This controller allows to handle flash devices such as NOR, NAND, SRAM, and FPGA. config FSL_CORENET_CF tristate "Freescale CoreNet Error Reporting" depends on FSL_SOC_BOOKE help Say Y for reporting of errors from the Freescale CoreNet Coherency Fabric. Errors reported include accesses to physical addresses that mapped by no local access window (LAW) or an invalid LAW, as well as bad cache state that represents a coherency violation. config FSL_IFC bool depends on FSL_SOC || ARCH_LAYERSCAPE || SOC_LS1021A || COMPILE_TEST depends on HAS_IOMEM config JZ4780_NEMC bool "Ingenic JZ4780 SoC NEMC driver" default y depends on MIPS || COMPILE_TEST depends on HAS_IOMEM && OF help This driver is for the NAND/External Memory Controller (NEMC) in the Ingenic JZ4780. This controller is used to handle external memory devices such as NAND and SRAM. config MTK_SMI bool depends on ARCH_MEDIATEK || COMPILE_TEST help This driver is for the Memory Controller module in MediaTek SoCs, mainly help enable/disable iommu and control the power domain and clocks for each local arbiter. config DA8XX_DDRCTL bool "Texas Instruments da8xx DDR2/mDDR driver" depends on ARCH_DAVINCI_DA8XX help This driver is for the DDR2/mDDR Memory Controller present on Texas Instruments da8xx SoCs. It's used to tweak various memory controller configuration options. config PL353_SMC tristate "ARM PL35X Static Memory Controller(SMC) driver" default y depends on ARM depends on ARM_AMBA help This driver is for the ARM PL351/PL353 Static Memory Controller(SMC) module. source "drivers/memory/samsung/Kconfig" source "drivers/memory/tegra/Kconfig" endif memory/tegra/Kconfig 0000644 00000001662 14722053666 0010501 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config TEGRA_MC bool "NVIDIA Tegra Memory Controller support" default y depends on ARCH_TEGRA help This driver supports the Memory Controller (MC) hardware found on NVIDIA Tegra SoCs. config TEGRA20_EMC bool "NVIDIA Tegra20 External Memory Controller driver" default y depends on ARCH_TEGRA_2x_SOC help This driver is for the External Memory Controller (EMC) found on Tegra20 chips. The EMC controls the external DRAM on the board. This driver is required to change memory timings / clock rate for external memory. config TEGRA124_EMC bool "NVIDIA Tegra124 External Memory Controller driver" default y depends on TEGRA_MC && ARCH_TEGRA_124_SOC help This driver is for the External Memory Controller (EMC) found on Tegra124 chips. The EMC controls the external DRAM on the board. This driver is required to change memory timings / clock rate for external memory. memory/tegra/Makefile 0000644 00000001034 14722053666 0010627 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 tegra-mc-y := mc.o tegra-mc-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20.o tegra-mc-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30.o tegra-mc-$(CONFIG_ARCH_TEGRA_114_SOC) += tegra114.o tegra-mc-$(CONFIG_ARCH_TEGRA_124_SOC) += tegra124.o tegra-mc-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra124.o tegra-mc-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210.o obj-$(CONFIG_TEGRA_MC) += tegra-mc.o obj-$(CONFIG_TEGRA20_EMC) += tegra20-emc.o obj-$(CONFIG_TEGRA124_EMC) += tegra124-emc.o obj-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186.o memory/Makefile 0000644 00000002261 14722053666 0007530 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for memory devices # obj-$(CONFIG_DDR) += jedec_ddr_data.o ifeq ($(CONFIG_DDR),y) obj-$(CONFIG_OF) += of_memory.o endif obj-$(CONFIG_ARM_PL172_MPMC) += pl172.o obj-$(CONFIG_ATMEL_SDRAMC) += atmel-sdramc.o obj-$(CONFIG_ATMEL_EBI) += atmel-ebi.o obj-$(CONFIG_ARCH_BRCMSTB) += brcmstb_dpfe.o obj-$(CONFIG_TI_AEMIF) += ti-aemif.o obj-$(CONFIG_TI_EMIF) += emif.o obj-$(CONFIG_OMAP_GPMC) += omap-gpmc.o obj-$(CONFIG_FSL_CORENET_CF) += fsl-corenet-cf.o obj-$(CONFIG_FSL_IFC) += fsl_ifc.o obj-$(CONFIG_MVEBU_DEVBUS) += mvebu-devbus.o obj-$(CONFIG_JZ4780_NEMC) += jz4780-nemc.o obj-$(CONFIG_MTK_SMI) += mtk-smi.o obj-$(CONFIG_DA8XX_DDRCTL) += da8xx-ddrctl.o obj-$(CONFIG_PL353_SMC) += pl353-smc.o obj-$(CONFIG_SAMSUNG_MC) += samsung/ obj-$(CONFIG_TEGRA_MC) += tegra/ obj-$(CONFIG_TI_EMIF_SRAM) += ti-emif-sram.o ti-emif-sram-objs := ti-emif-pm.o ti-emif-sram-pm.o AFLAGS_ti-emif-sram-pm.o :=-Wa,-march=armv7-a $(obj)/ti-emif-sram-pm.o: $(obj)/ti-emif-asm-offsets.h $(obj)/ti-emif-asm-offsets.h: $(obj)/emif-asm-offsets.s FORCE $(call filechk,offsets,__TI_EMIF_ASM_OFFSETS_H__) targets += emif-asm-offsets.s clean-files += ti-emif-asm-offsets.h memory/samsung/Kconfig 0000644 00000000557 14722053666 0011056 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config SAMSUNG_MC bool "Samsung Exynos Memory Controller support" if COMPILE_TEST help Support for the Memory Controller (MC) devices found on Samsung Exynos SoCs. if SAMSUNG_MC config EXYNOS_SROM bool "Exynos SROM controller driver" if COMPILE_TEST depends on (ARM && ARCH_EXYNOS) || (COMPILE_TEST && HAS_IOMEM) endif memory/samsung/Makefile 0000644 00000000116 14722053666 0011202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_EXYNOS_SROM) += exynos-srom.o spmi/Kconfig 0000644 00000001370 14722053666 0007033 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SPMI driver configuration # menuconfig SPMI tristate "SPMI support" help SPMI (System Power Management Interface) is a two-wire serial interface between baseband and application processors and Power Management Integrated Circuits (PMIC). if SPMI config SPMI_MSM_PMIC_ARB tristate "Qualcomm MSM SPMI Controller (PMIC Arbiter)" select IRQ_DOMAIN_HIERARCHY depends on ARCH_QCOM || COMPILE_TEST depends on HAS_IOMEM default ARCH_QCOM help If you say yes to this option, support will be included for the built-in SPMI PMIC Arbiter interface on Qualcomm MSM family processors. This is required for communicating with Qualcomm PMICs and other devices that have the SPMI interface. endif spmi/Makefile 0000644 00000000243 14722053666 0007166 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for kernel SPMI framework. # obj-$(CONFIG_SPMI) += spmi.o obj-$(CONFIG_SPMI_MSM_PMIC_ARB) += spmi-pmic-arb.o leds/trigger/Kconfig 0000644 00000010400 14722053666 0010447 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig LEDS_TRIGGERS bool "LED Trigger support" depends on LEDS_CLASS help This option enables trigger support for the leds class. These triggers allow kernel events to drive the LEDs and can be configured via sysfs. If unsure, say Y. if LEDS_TRIGGERS config LEDS_TRIGGER_TIMER tristate "LED Timer Trigger" help This allows LEDs to be controlled by a programmable timer via sysfs. Some LED hardware can be programmed to start blinking the LED without any further software interaction. For more details read Documentation/leds/leds-class.rst. If unsure, say Y. config LEDS_TRIGGER_ONESHOT tristate "LED One-shot Trigger" help This allows LEDs to blink in one-shot pulses with parameters controlled via sysfs. It's useful to notify the user on sporadic events, when there are no clear begin and end trap points, or on dense events, where this blinks the LED at constant rate if rearmed continuously. It also shows how to use the led_blink_set_oneshot() function. If unsure, say Y. config LEDS_TRIGGER_DISK bool "LED Disk Trigger" depends on IDE_GD_ATA || ATA help This allows LEDs to be controlled by disk activity. If unsure, say Y. config LEDS_TRIGGER_MTD bool "LED MTD (NAND/NOR) Trigger" depends on MTD help This allows LEDs to be controlled by MTD activity. If unsure, say N. config LEDS_TRIGGER_HEARTBEAT tristate "LED Heartbeat Trigger" help This allows LEDs to be controlled by a CPU load average. The flash frequency is a hyperbolic function of the 1-minute load average. If unsure, say Y. config LEDS_TRIGGER_BACKLIGHT tristate "LED backlight Trigger" help This allows LEDs to be controlled as a backlight device: they turn off and on when the display is blanked and unblanked. If unsure, say N. config LEDS_TRIGGER_CPU bool "LED CPU Trigger" help This allows LEDs to be controlled by active CPUs. This shows the active CPUs across an array of LEDs so you can see which CPUs are active on the system at any given moment. If unsure, say N. config LEDS_TRIGGER_ACTIVITY tristate "LED activity Trigger" help This allows LEDs to be controlled by an immediate CPU usage. The flash frequency and duty cycle varies from faint flashes to intense brightness depending on the instant CPU load. If unsure, say N. config LEDS_TRIGGER_GPIO tristate "LED GPIO Trigger" depends on GPIOLIB || COMPILE_TEST help This allows LEDs to be controlled by gpio events. It's good when using gpios as switches and triggering the needed LEDs from there. One use case is n810's keypad LEDs that could be triggered by this trigger when user slides up to show keypad. If unsure, say N. config LEDS_TRIGGER_DEFAULT_ON tristate "LED Default ON Trigger" help This allows LEDs to be initialised in the ON state. If unsure, say Y. comment "iptables trigger is under Netfilter config (LED target)" depends on LEDS_TRIGGERS config LEDS_TRIGGER_TRANSIENT tristate "LED Transient Trigger" help This allows one time activation of a transient state on GPIO/PWM based hardware. If unsure, say Y. config LEDS_TRIGGER_CAMERA tristate "LED Camera Flash/Torch Trigger" help This allows LEDs to be controlled as a camera flash/torch device. This enables direct flash/torch on/off by the driver, kernel space. If unsure, say Y. config LEDS_TRIGGER_PANIC bool "LED Panic Trigger" help This allows LEDs to be configured to blink on a kernel panic. Enabling this option will allow to mark certain LEDs as panic indicators, allowing to blink them on a kernel panic, even if they are set to a different trigger. If unsure, say Y. config LEDS_TRIGGER_NETDEV tristate "LED Netdev Trigger" depends on NET help This allows LEDs to be controlled by network device activity. If unsure, say Y. config LEDS_TRIGGER_PATTERN tristate "LED Pattern Trigger" help This allows LEDs to be controlled by a software or hardware pattern which is a series of tuples, of brightness and duration (ms). If unsure, say N config LEDS_TRIGGER_AUDIO tristate "Audio Mute LED Trigger" help This allows LEDs to be controlled by audio drivers for following the audio mute and mic-mute changes. If unsure, say N endif # LEDS_TRIGGERS leds/trigger/Makefile 0000644 00000001617 14722053666 0010616 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o obj-$(CONFIG_LEDS_TRIGGER_ONESHOT) += ledtrig-oneshot.o obj-$(CONFIG_LEDS_TRIGGER_DISK) += ledtrig-disk.o obj-$(CONFIG_LEDS_TRIGGER_MTD) += ledtrig-mtd.o obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o obj-$(CONFIG_LEDS_TRIGGER_BACKLIGHT) += ledtrig-backlight.o obj-$(CONFIG_LEDS_TRIGGER_GPIO) += ledtrig-gpio.o obj-$(CONFIG_LEDS_TRIGGER_CPU) += ledtrig-cpu.o obj-$(CONFIG_LEDS_TRIGGER_ACTIVITY) += ledtrig-activity.o obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o obj-$(CONFIG_LEDS_TRIGGER_TRANSIENT) += ledtrig-transient.o obj-$(CONFIG_LEDS_TRIGGER_CAMERA) += ledtrig-camera.o obj-$(CONFIG_LEDS_TRIGGER_PANIC) += ledtrig-panic.o obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o obj-$(CONFIG_LEDS_TRIGGER_PATTERN) += ledtrig-pattern.o obj-$(CONFIG_LEDS_TRIGGER_AUDIO) += ledtrig-audio.o leds/Kconfig 0000644 00000061561 14722053666 0007022 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config LEDS_GPIO_REGISTER bool help This option provides the function gpio_led_register_device. As this function is used by arch code it must not be compiled as a module. menuconfig NEW_LEDS bool "LED Support" help Say Y to enable Linux LED support. This allows control of supported LEDs from both userspace and optionally, by kernel events (triggers). if NEW_LEDS config LEDS_CLASS tristate "LED Class Support" help This option enables the led sysfs class in /sys/class/leds. You'll need this to do anything useful with LEDs. If unsure, say N. config LEDS_CLASS_FLASH tristate "LED Flash Class Support" depends on LEDS_CLASS help This option enables the flash LED sysfs class in /sys/class/leds. It wraps LED Class and adds flash LEDs specific sysfs attributes and kernel internal API to it. You'll need this to provide support for the flash related features of a LED device. It can be built as a module. config LEDS_BRIGHTNESS_HW_CHANGED bool "LED Class brightness_hw_changed attribute support" depends on LEDS_CLASS help This option enables support for the brightness_hw_changed attribute for led sysfs class devices under /sys/class/leds. See Documentation/ABI/testing/sysfs-class-led for details. comment "LED drivers" config LEDS_88PM860X tristate "LED Support for Marvell 88PM860x PMIC" depends on LEDS_CLASS depends on MFD_88PM860X help This option enables support for on-chip LED drivers found on Marvell Semiconductor 88PM8606 PMIC. config LEDS_AAT1290 tristate "LED support for the AAT1290" depends on LEDS_CLASS_FLASH depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS depends on GPIOLIB || COMPILE_TEST depends on OF depends on PINCTRL help This option enables support for the LEDs on the AAT1290. config LEDS_AN30259A tristate "LED support for Panasonic AN30259A" depends on LEDS_CLASS && I2C && OF help This option enables support for the AN30259A 3-channel LED driver. To compile this driver as a module, choose M here: the module will be called leds-an30259a. config LEDS_APU tristate "Front panel LED support for PC Engines APU/APU2/APU3 boards" depends on LEDS_CLASS depends on X86 && DMI help This driver makes the PC Engines APU1 front panel LEDs accessible from userspace programs through the LED subsystem. If you're looking for APU2/3, use the pcengines-apu2 driver. (symbol CONFIG_PCENGINES_APU2) To compile this driver as a module, choose M here: the module will be called leds-apu. config LEDS_AS3645A tristate "AS3645A and LM3555 LED flash controllers support" depends on I2C && LEDS_CLASS_FLASH depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS help Enable LED flash class support for AS3645A LED flash controller. V4L2 flash API is provided as well if CONFIG_V4L2_FLASH_API is enabled. config LEDS_BCM6328 tristate "LED Support for Broadcom BCM6328" depends on LEDS_CLASS depends on HAS_IOMEM depends on OF help This option enables support for LEDs connected to the BCM6328 LED HW controller accessed via MMIO registers. config LEDS_BCM6358 tristate "LED Support for Broadcom BCM6358" depends on LEDS_CLASS depends on HAS_IOMEM depends on OF help This option enables support for LEDs connected to the BCM6358 LED HW controller accessed via MMIO registers. config LEDS_CPCAP tristate "LED Support for Motorola CPCAP" depends on LEDS_CLASS depends on MFD_CPCAP depends on OF help This option enables support for LEDs offered by Motorola's CPCAP PMIC. config LEDS_CR0014114 tristate "LED Support for Crane CR0014114" depends on LEDS_CLASS depends on SPI depends on OF help This option enables support for CR0014114 LED Board which is widely used in vending machines produced by Crane Merchandising Systems. To compile this driver as a module, choose M here: the module will be called leds-cr0014114. config LEDS_LM3530 tristate "LCD Backlight driver for LM3530" depends on LEDS_CLASS depends on I2C help This option enables support for the LCD backlight using LM3530 ambient light sensor chip. This ALS chip can be controlled manually or using PWM input or using ambient light automatically. config LEDS_LM3532 tristate "LCD Backlight driver for LM3532" select REGMAP_I2C depends on LEDS_CLASS depends on I2C help This option enables support for the LCD backlight using LM3532 ambient light sensor chip. This ALS chip can be controlled manually or using PWM input or using ambient light automatically. config LEDS_LM3533 tristate "LED support for LM3533" depends on LEDS_CLASS depends on MFD_LM3533 help This option enables support for the LEDs on National Semiconductor / TI LM3533 Lighting Power chips. The LEDs can be controlled directly, through PWM input, or by the ambient-light-sensor interface. The chip supports hardware-accelerated blinking with maximum on and off periods of 9.8 and 77 seconds respectively. config LEDS_LM3642 tristate "LED support for LM3642 Chip" depends on LEDS_CLASS && I2C select REGMAP_I2C help This option enables support for LEDs connected to LM3642. The LM3642 is a 4MHz fixed-frequency synchronous boost converter plus 1.5A constant current driver for a high-current white LED. config LEDS_LM3692X tristate "LED support for LM3692x Chips" depends on LEDS_CLASS && I2C && OF select REGMAP_I2C help This option enables support for the TI LM3692x family of white LED string drivers used for backlighting. config LEDS_LM3601X tristate "LED support for LM3601x Chips" depends on LEDS_CLASS && I2C depends on LEDS_CLASS_FLASH select REGMAP_I2C help This option enables support for the TI LM3601x family of flash, torch and indicator classes. config LEDS_LOCOMO tristate "LED Support for Locomo device" depends on LEDS_CLASS depends on SHARP_LOCOMO help This option enables support for the LEDs on Sharp Locomo. Zaurus models SL-5500 and SL-5600. config LEDS_MIKROTIK_RB532 tristate "LED Support for Mikrotik Routerboard 532" depends on LEDS_CLASS depends on MIKROTIK_RB532 help This option enables support for the so called "User LED" of Mikrotik's Routerboard 532. config LEDS_MT6323 tristate "LED Support for Mediatek MT6323 PMIC" depends on LEDS_CLASS depends on MFD_MT6397 help This option enables support for on-chip LED drivers found on Mediatek MT6323 PMIC. config LEDS_S3C24XX tristate "LED Support for Samsung S3C24XX GPIO LEDs" depends on LEDS_CLASS depends on ARCH_S3C24XX help This option enables support for LEDs connected to GPIO lines on Samsung S3C24XX series CPUs, such as the S3C2410 and S3C2440. config LEDS_NET48XX tristate "LED Support for Soekris net48xx series Error LED" depends on LEDS_CLASS depends on SCx200_GPIO help This option enables support for the Soekris net4801 and net4826 error LED. config LEDS_FSG tristate "LED Support for the Freecom FSG-3" depends on LEDS_CLASS depends on MACH_FSG help This option enables support for the LEDs on the Freecom FSG-3. config LEDS_WRAP tristate "LED Support for the WRAP series LEDs" depends on LEDS_CLASS depends on SCx200_GPIO help This option enables support for the PCEngines WRAP programmable LEDs. config LEDS_COBALT_QUBE tristate "LED Support for the Cobalt Qube series front LED" depends on LEDS_CLASS depends on MIPS_COBALT help This option enables support for the front LED on Cobalt Qube series config LEDS_COBALT_RAQ bool "LED Support for the Cobalt Raq series" depends on LEDS_CLASS=y && MIPS_COBALT select LEDS_TRIGGERS help This option enables support for the Cobalt Raq series LEDs. config LEDS_SUNFIRE tristate "LED support for SunFire servers." depends on LEDS_CLASS depends on SPARC64 select LEDS_TRIGGERS help This option enables support for the Left, Middle, and Right LEDs on the I/O and CPU boards of SunFire UltraSPARC servers. config LEDS_IPAQ_MICRO tristate "LED Support for the Compaq iPAQ h3xxx" depends on LEDS_CLASS depends on MFD_IPAQ_MICRO help Choose this option if you want to use the notification LED on Compaq/HP iPAQ h3100 and h3600. config LEDS_HP6XX tristate "LED Support for the HP Jornada 6xx" depends on LEDS_CLASS depends on SH_HP6XX help This option enables LED support for the handheld HP Jornada 620/660/680/690. config LEDS_PCA9532 tristate "LED driver for PCA9532 dimmer" depends on LEDS_CLASS depends on I2C && INPUT help This option enables support for NXP pca9532 LED controller. It is generally only useful as a platform driver config LEDS_PCA9532_GPIO bool "Enable GPIO support for PCA9532" depends on LEDS_PCA9532 depends on GPIOLIB help Allow unused pins on PCA9532 to be used as gpio. To use a pin as gpio pca9532_type in pca9532_platform data needs to set to PCA9532_TYPE_GPIO. config LEDS_GPIO tristate "LED Support for GPIO connected LEDs" depends on LEDS_CLASS depends on GPIOLIB || COMPILE_TEST help This option enables support for the LEDs connected to GPIO outputs. To be useful the particular board must have LEDs and they must be connected to the GPIO lines. The LEDs must be defined as platform devices and/or OpenFirmware platform devices. The code to use these bindings can be selected below. config LEDS_LP3944 tristate "LED Support for N.S. LP3944 (Fun Light) I2C chip" depends on LEDS_CLASS depends on I2C help This option enables support for LEDs connected to the National Semiconductor LP3944 Lighting Management Unit (LMU) also known as Fun Light Chip. To compile this driver as a module, choose M here: the module will be called leds-lp3944. config LEDS_LP3952 tristate "LED Support for TI LP3952 2 channel LED driver" depends on LEDS_CLASS depends on I2C depends on GPIOLIB select REGMAP_I2C help This option enables support for LEDs connected to the Texas Instruments LP3952 LED driver. To compile this driver as a module, choose M here: the module will be called leds-lp3952. config LEDS_LP55XX_COMMON tristate "Common Driver for TI/National LP5521/5523/55231/5562/8501" depends on LEDS_LP5521 || LEDS_LP5523 || LEDS_LP5562 || LEDS_LP8501 select FW_LOADER help This option supports common operations for LP5521/5523/55231/5562/8501 devices. config LEDS_LP5521 tristate "LED Support for N.S. LP5521 LED driver chip" depends on LEDS_CLASS && I2C select LEDS_LP55XX_COMMON help If you say yes here you get support for the National Semiconductor LP5521 LED driver. It is 3 channel chip with programmable engines. Driver provides direct control via LED class and interface for programming the engines. config LEDS_LP5523 tristate "LED Support for TI/National LP5523/55231 LED driver chip" depends on LEDS_CLASS && I2C select LEDS_LP55XX_COMMON help If you say yes here you get support for TI/National Semiconductor LP5523/55231 LED driver. It is 9 channel chip with programmable engines. Driver provides direct control via LED class and interface for programming the engines. config LEDS_LP5562 tristate "LED Support for TI LP5562 LED driver chip" depends on LEDS_CLASS && I2C select LEDS_LP55XX_COMMON help If you say yes here you get support for TI LP5562 LED driver. It is 4 channels chip with programmable engines. Driver provides direct control via LED class and interface for programming the engines. config LEDS_LP8501 tristate "LED Support for TI LP8501 LED driver chip" depends on LEDS_CLASS && I2C select LEDS_LP55XX_COMMON help If you say yes here you get support for TI LP8501 LED driver. It is 9 channel chip with programmable engines. Driver provides direct control via LED class and interface for programming the engines. It is similar as LP5523, but output power selection is available. And register layout and engine program schemes are different. config LEDS_LP8788 tristate "LED support for the TI LP8788 PMIC" depends on LEDS_CLASS depends on MFD_LP8788 help This option enables support for the Keyboard LEDs on the LP8788 PMIC. config LEDS_LP8860 tristate "LED support for the TI LP8860 4 channel LED driver" depends on LEDS_CLASS && I2C && OF select REGMAP_I2C help If you say yes here you get support for the TI LP8860 4 channel LED driver. This option enables support for the display cluster LEDs on the LP8860 4 channel LED driver using the I2C communication bus. config LEDS_CLEVO_MAIL tristate "Mail LED on Clevo notebook" depends on LEDS_CLASS depends on X86 && SERIO_I8042 && DMI help This driver makes the mail LED accessible from userspace programs through the leds subsystem. This LED have three known mode: off, blink at 0.5Hz and blink at 1Hz. The driver supports two kinds of interface: using ledtrig-timer or through /sys/class/leds/clevo::mail/brightness. As this LED cannot change it's brightness it blinks instead. The brightness value 0 means off, 1..127 means blink at 0.5Hz and 128..255 means blink at 1Hz. This module can drive the mail LED for the following notebooks: Clevo D400P Clevo D410J Clevo D410V Clevo D400V/D470V (not tested, but might work) Clevo M540N Clevo M5x0N (not tested, but might work) Positivo Mobile (Clevo M5x0V) If your model is not listed here you can try the "nodetect" module parameter. To compile this driver as a module, choose M here: the module will be called leds-clevo-mail. config LEDS_PCA955X tristate "LED Support for PCA955x I2C chips" depends on LEDS_CLASS depends on I2C help This option enables support for LEDs connected to PCA955x LED driver chips accessed via the I2C bus. Supported devices include PCA9550, PCA9551, PCA9552, and PCA9553. config LEDS_PCA955X_GPIO bool "Enable GPIO support for PCA955X" depends on LEDS_PCA955X depends on GPIOLIB help Allow unused pins on PCA955X to be used as gpio. To use a pin as gpio the pin type should be set to PCA955X_TYPE_GPIO in the device tree. config LEDS_PCA963X tristate "LED support for PCA963x I2C chip" depends on LEDS_CLASS depends on I2C help This option enables support for LEDs connected to the PCA963x LED driver chip accessed via the I2C bus. Supported devices include PCA9633 and PCA9634 config LEDS_WM831X_STATUS tristate "LED support for status LEDs on WM831x PMICs" depends on LEDS_CLASS depends on MFD_WM831X help This option enables support for the status LEDs of the WM831x series of PMICs. config LEDS_WM8350 tristate "LED Support for WM8350 AudioPlus PMIC" depends on LEDS_CLASS depends on MFD_WM8350 help This option enables support for LEDs driven by the Wolfson Microelectronics WM8350 AudioPlus PMIC. config LEDS_DA903X tristate "LED Support for DA9030/DA9034 PMIC" depends on LEDS_CLASS depends on PMIC_DA903X help This option enables support for on-chip LED drivers found on Dialog Semiconductor DA9030/DA9034 PMICs. config LEDS_DA9052 tristate "Dialog DA9052/DA9053 LEDS" depends on LEDS_CLASS depends on PMIC_DA9052 help This option enables support for on-chip LED drivers found on Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs. config LEDS_DAC124S085 tristate "LED Support for DAC124S085 SPI DAC" depends on LEDS_CLASS depends on SPI help This option enables support for DAC124S085 SPI DAC from NatSemi, which can be used to control up to four LEDs. config LEDS_PWM tristate "PWM driven LED Support" depends on LEDS_CLASS depends on PWM help This option enables support for pwm driven LEDs config LEDS_REGULATOR tristate "REGULATOR driven LED support" depends on LEDS_CLASS depends on REGULATOR help This option enables support for regulator driven LEDs. config LEDS_BD2802 tristate "LED driver for BD2802 RGB LED" depends on LEDS_CLASS depends on I2C help This option enables support for BD2802GU RGB LED driver chips accessed via the I2C bus. config LEDS_INTEL_SS4200 tristate "LED driver for Intel NAS SS4200 series" depends on LEDS_CLASS depends on PCI && DMI depends on X86 help This option enables support for the Intel SS4200 series of Network Attached Storage servers. You may control the hard drive or power LEDs on the front panel. Using this driver can stop the front LED from blinking after startup. config LEDS_LT3593 tristate "LED driver for LT3593 controllers" depends on LEDS_CLASS depends on GPIOLIB || COMPILE_TEST depends on OF help This option enables support for LEDs driven by a Linear Technology LT3593 controller. This controller uses a special one-wire pulse coding protocol to set the brightness. config LEDS_ADP5520 tristate "LED Support for ADP5520/ADP5501 PMIC" depends on LEDS_CLASS depends on PMIC_ADP5520 help This option enables support for on-chip LED drivers found on Analog Devices ADP5520/ADP5501 PMICs. To compile this driver as a module, choose M here: the module will be called leds-adp5520. config LEDS_MC13783 tristate "LED Support for MC13XXX PMIC" depends on LEDS_CLASS depends on MFD_MC13XXX help This option enables support for on-chip LED drivers found on Freescale Semiconductor MC13783/MC13892/MC34708 PMIC. config LEDS_NS2 tristate "LED support for Network Space v2 GPIO LEDs" depends on LEDS_CLASS depends on MACH_KIRKWOOD || MACH_ARMADA_370 default y help This option enables support for the dual-GPIO LEDs found on the following LaCie/Seagate boards: Network Space v2 (and parents: Max, Mini) Internet Space v2 d2 Network v2 n090401 (Seagate NAS 4-Bay) config LEDS_NETXBIG tristate "LED support for Big Network series LEDs" depends on LEDS_CLASS depends on MACH_KIRKWOOD depends on OF_GPIO default y help This option enables support for LEDs found on the LaCie 2Big and 5Big Network v2 boards. The LEDs are wired to a CPLD and are controlled through a GPIO extension bus. config LEDS_ASIC3 bool "LED support for the HTC ASIC3" depends on LEDS_CLASS=y depends on MFD_ASIC3 default y help This option enables support for the LEDs on the HTC ASIC3. The HTC ASIC3 LED GPIOs are inputs, not outputs, thus the leds-gpio driver cannot be used. This driver supports hardware blinking with an on+off period from 62ms to 125s. Say Y to enable LEDs on the HP iPAQ hx4700. config LEDS_TCA6507 tristate "LED Support for TCA6507 I2C chip" depends on LEDS_CLASS && I2C help This option enables support for LEDs connected to TC6507 LED driver chips accessed via the I2C bus. Driver support brightness control and hardware-assisted blinking. config LEDS_TLC591XX tristate "LED driver for TLC59108 and TLC59116 controllers" depends on LEDS_CLASS && I2C select REGMAP_I2C help This option enables support for Texas Instruments TLC59108 and TLC59116 LED controllers. config LEDS_MAX77650 tristate "LED support for Maxim MAX77650 PMIC" depends on LEDS_CLASS && MFD_MAX77650 help LEDs driver for MAX77650 family of PMICs from Maxim Integrated. config LEDS_MAX77693 tristate "LED support for MAX77693 Flash" depends on LEDS_CLASS_FLASH depends on V4L2_FLASH_LED_CLASS || !V4L2_FLASH_LED_CLASS depends on MFD_MAX77693 depends on OF help This option enables support for the flash part of the MAX77693 multifunction device. It has build in control for two leds in flash and torch mode. config LEDS_MAX8997 tristate "LED support for MAX8997 PMIC" depends on LEDS_CLASS && MFD_MAX8997 help This option enables support for on-chip LED drivers on MAXIM MAX8997 PMIC. config LEDS_LM355x tristate "LED support for LM3554 and LM3556 chips" depends on LEDS_CLASS && I2C select REGMAP_I2C help This option enables support for LEDs connected to LM3554 and LM3556. It includes Torch, Flash and Indicator functions. config LEDS_OT200 tristate "LED support for the Bachmann OT200" depends on LEDS_CLASS && HAS_IOMEM && (X86_32 || COMPILE_TEST) help This option enables support for the LEDs on the Bachmann OT200. Say Y to enable LEDs on the Bachmann OT200. config LEDS_MENF21BMC tristate "LED support for the MEN 14F021P00 BMC" depends on LEDS_CLASS && MFD_MENF21BMC help Say Y here to include support for the MEN 14F021P00 BMC LEDs. This driver can also be built as a module. If so the module will be called leds-menf21bmc. config LEDS_KTD2692 tristate "LED support for KTD2692 flash LED controller" depends on LEDS_CLASS_FLASH && OF depends on GPIOLIB || COMPILE_TEST help This option enables support for KTD2692 LED flash connected through ExpressWire interface. Say Y to enable this driver. config LEDS_IS31FL319X tristate "LED Support for ISSI IS31FL319x I2C LED controller family" depends on LEDS_CLASS && I2C && OF select REGMAP_I2C help This option enables support for LEDs connected to ISSI IS31FL319x fancy LED driver chips accessed via the I2C bus. Driver supports individual PWM brightness control for each channel. This driver can also be built as a module. If so the module will be called leds-is31fl319x. config LEDS_IS31FL32XX tristate "LED support for ISSI IS31FL32XX I2C LED controller family" depends on LEDS_CLASS && I2C && OF help Say Y here to include support for ISSI IS31FL32XX and Si-En SN32xx LED controllers. They are I2C devices with multiple constant-current channels, each with independent 256-level PWM control. config LEDS_SC27XX_BLTC tristate "LED support for the SC27xx breathing light controller" depends on LEDS_CLASS && MFD_SC27XX_PMIC depends on OF help Say Y here to include support for the SC27xx breathing light controller LEDs. This driver can also be built as a module. If so the module will be called leds-sc27xx-bltc. comment "LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)" config LEDS_BLINKM tristate "LED support for the BlinkM I2C RGB LED" depends on LEDS_CLASS depends on I2C help This option enables support for the BlinkM RGB LED connected through I2C. Say Y to enable support for the BlinkM LED. config LEDS_POWERNV tristate "LED support for PowerNV Platform" depends on LEDS_CLASS depends on PPC_POWERNV depends on OF help This option enables support for the system LEDs present on PowerNV platforms. Say 'y' to enable this support in kernel. To compile this driver as a module, choose 'm' here: the module will be called leds-powernv. config LEDS_SYSCON bool "LED support for LEDs on system controllers" depends on LEDS_CLASS=y depends on MFD_SYSCON depends on OF help This option enables support for the LEDs on syscon type devices. This will only work with device tree enabled devices. config LEDS_PM8058 tristate "LED Support for the Qualcomm PM8058 PMIC" depends on MFD_PM8XXX depends on LEDS_CLASS help Choose this option if you want to use the LED drivers in the Qualcomm PM8058 PMIC. config LEDS_MLXCPLD tristate "LED support for the Mellanox boards" depends on X86 && DMI depends on LEDS_CLASS help This option enables support for the LEDs on the Mellanox boards. Say Y to enable these. config LEDS_MLXREG tristate "LED support for the Mellanox switches management control" depends on LEDS_CLASS help This option enables support for the LEDs on the Mellanox Ethernet and InfiniBand switches. The driver can be activated by the platform device device add call. Say Y to enable these. To compile this driver as a module, choose 'M' here: the module will be called leds-mlxreg. config LEDS_USER tristate "Userspace LED support" depends on LEDS_CLASS help This option enables support for userspace LEDs. Say 'y' to enable this support in kernel. To compile this driver as a module, choose 'm' here: the module will be called uleds. config LEDS_NIC78BX tristate "LED support for NI PXI NIC78bx devices" depends on LEDS_CLASS depends on X86 && ACPI help This option enables support for the User1 and User2 LEDs on NI PXI NIC78bx devices. To compile this driver as a module, choose M here: the module will be called leds-nic78bx. config LEDS_SPI_BYTE tristate "LED support for SPI LED controller with a single byte" depends on LEDS_CLASS depends on SPI depends on OF help This option enables support for LED controller which use a single byte for controlling the brightness. Currently the following controller is supported: Ubiquiti airCube ISP microcontroller based LED controller. config LEDS_TI_LMU_COMMON tristate "LED driver for TI LMU" depends on LEDS_CLASS select REGMAP help Say Y to enable the LED driver for TI LMU devices. This supports common features between the TI LM3532, LM3631, LM3632, LM3633, LM3695 and LM3697. config LEDS_LM3697 tristate "LED driver for LM3697" depends on LEDS_TI_LMU_COMMON depends on I2C && OF help Say Y to enable the LM3697 LED driver for TI LMU devices. This supports the LED device LM3697. config LEDS_LM36274 tristate "LED driver for LM36274" depends on LEDS_TI_LMU_COMMON depends on MFD_TI_LMU help Say Y to enable the LM36274 LED driver for TI LMU devices. This supports the LED device LM36274. comment "LED Triggers" source "drivers/leds/trigger/Kconfig" endif # NEW_LEDS leds/Makefile 0000644 00000007775 14722053666 0007166 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # LED Core obj-$(CONFIG_NEW_LEDS) += led-core.o obj-$(CONFIG_LEDS_CLASS) += led-class.o obj-$(CONFIG_LEDS_CLASS_FLASH) += led-class-flash.o obj-$(CONFIG_LEDS_TRIGGERS) += led-triggers.o # LED Platform Drivers obj-$(CONFIG_LEDS_88PM860X) += leds-88pm860x.o obj-$(CONFIG_LEDS_AAT1290) += leds-aat1290.o obj-$(CONFIG_LEDS_APU) += leds-apu.o obj-$(CONFIG_LEDS_AS3645A) += leds-as3645a.o obj-$(CONFIG_LEDS_AN30259A) += leds-an30259a.o obj-$(CONFIG_LEDS_BCM6328) += leds-bcm6328.o obj-$(CONFIG_LEDS_BCM6358) += leds-bcm6358.o obj-$(CONFIG_LEDS_BD2802) += leds-bd2802.o obj-$(CONFIG_LEDS_CPCAP) += leds-cpcap.o obj-$(CONFIG_LEDS_LOCOMO) += leds-locomo.o obj-$(CONFIG_LEDS_LM3530) += leds-lm3530.o obj-$(CONFIG_LEDS_LM3532) += leds-lm3532.o obj-$(CONFIG_LEDS_LM3533) += leds-lm3533.o obj-$(CONFIG_LEDS_LM3642) += leds-lm3642.o obj-$(CONFIG_LEDS_MIKROTIK_RB532) += leds-rb532.o obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx.o obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o obj-$(CONFIG_LEDS_COBALT_QUBE) += leds-cobalt-qube.o obj-$(CONFIG_LEDS_COBALT_RAQ) += leds-cobalt-raq.o obj-$(CONFIG_LEDS_SUNFIRE) += leds-sunfire.o obj-$(CONFIG_LEDS_PCA9532) += leds-pca9532.o obj-$(CONFIG_LEDS_GPIO_REGISTER) += leds-gpio-register.o obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o obj-$(CONFIG_LEDS_LP3944) += leds-lp3944.o obj-$(CONFIG_LEDS_LP3952) += leds-lp3952.o obj-$(CONFIG_LEDS_LP55XX_COMMON) += leds-lp55xx-common.o obj-$(CONFIG_LEDS_LP5521) += leds-lp5521.o obj-$(CONFIG_LEDS_LP5523) += leds-lp5523.o obj-$(CONFIG_LEDS_LP5562) += leds-lp5562.o obj-$(CONFIG_LEDS_LP8501) += leds-lp8501.o obj-$(CONFIG_LEDS_LP8788) += leds-lp8788.o obj-$(CONFIG_LEDS_LP8860) += leds-lp8860.o obj-$(CONFIG_LEDS_TCA6507) += leds-tca6507.o obj-$(CONFIG_LEDS_TLC591XX) += leds-tlc591xx.o obj-$(CONFIG_LEDS_CLEVO_MAIL) += leds-clevo-mail.o obj-$(CONFIG_LEDS_IPAQ_MICRO) += leds-ipaq-micro.o obj-$(CONFIG_LEDS_HP6XX) += leds-hp6xx.o obj-$(CONFIG_LEDS_OT200) += leds-ot200.o obj-$(CONFIG_LEDS_FSG) += leds-fsg.o obj-$(CONFIG_LEDS_PCA955X) += leds-pca955x.o obj-$(CONFIG_LEDS_PCA963X) += leds-pca963x.o obj-$(CONFIG_LEDS_DA903X) += leds-da903x.o obj-$(CONFIG_LEDS_DA9052) += leds-da9052.o obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o obj-$(CONFIG_LEDS_PWM) += leds-pwm.o obj-$(CONFIG_LEDS_REGULATOR) += leds-regulator.o obj-$(CONFIG_LEDS_INTEL_SS4200) += leds-ss4200.o obj-$(CONFIG_LEDS_LT3593) += leds-lt3593.o obj-$(CONFIG_LEDS_ADP5520) += leds-adp5520.o obj-$(CONFIG_LEDS_MC13783) += leds-mc13783.o obj-$(CONFIG_LEDS_NS2) += leds-ns2.o obj-$(CONFIG_LEDS_NETXBIG) += leds-netxbig.o obj-$(CONFIG_LEDS_ASIC3) += leds-asic3.o obj-$(CONFIG_LEDS_MAX77650) += leds-max77650.o obj-$(CONFIG_LEDS_MAX77693) += leds-max77693.o obj-$(CONFIG_LEDS_MAX8997) += leds-max8997.o obj-$(CONFIG_LEDS_LM355x) += leds-lm355x.o obj-$(CONFIG_LEDS_BLINKM) += leds-blinkm.o obj-$(CONFIG_LEDS_SYSCON) += leds-syscon.o obj-$(CONFIG_LEDS_MENF21BMC) += leds-menf21bmc.o obj-$(CONFIG_LEDS_KTD2692) += leds-ktd2692.o obj-$(CONFIG_LEDS_POWERNV) += leds-powernv.o obj-$(CONFIG_LEDS_IS31FL319X) += leds-is31fl319x.o obj-$(CONFIG_LEDS_IS31FL32XX) += leds-is31fl32xx.o obj-$(CONFIG_LEDS_PM8058) += leds-pm8058.o obj-$(CONFIG_LEDS_MLXCPLD) += leds-mlxcpld.o obj-$(CONFIG_LEDS_MLXREG) += leds-mlxreg.o obj-$(CONFIG_LEDS_NIC78BX) += leds-nic78bx.o obj-$(CONFIG_LEDS_SPI_BYTE) += leds-spi-byte.o obj-$(CONFIG_LEDS_MT6323) += leds-mt6323.o obj-$(CONFIG_LEDS_LM3692X) += leds-lm3692x.o obj-$(CONFIG_LEDS_SC27XX_BLTC) += leds-sc27xx-bltc.o obj-$(CONFIG_LEDS_LM3601X) += leds-lm3601x.o obj-$(CONFIG_LEDS_TI_LMU_COMMON) += leds-ti-lmu-common.o obj-$(CONFIG_LEDS_LM3697) += leds-lm3697.o obj-$(CONFIG_LEDS_LM36274) += leds-lm36274.o # LED SPI Drivers obj-$(CONFIG_LEDS_CR0014114) += leds-cr0014114.o obj-$(CONFIG_LEDS_DAC124S085) += leds-dac124s085.o # LED Userspace Drivers obj-$(CONFIG_LEDS_USER) += uleds.o # LED Triggers obj-$(CONFIG_LEDS_TRIGGERS) += trigger/ ntb/test/Kconfig 0000644 00000002174 14722053666 0007630 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NTB_PINGPONG tristate "NTB Ping Pong Test Client" help This is a simple ping pong driver that exercises the scratchpads and doorbells of the ntb hardware. This driver may be used to test that your ntb hardware and drivers are functioning at a basic level. If unsure, say N. config NTB_TOOL tristate "NTB Debugging Tool Test Client" help This is a simple debugging driver that enables the doorbell and scratchpad registers to be read and written from the debugfs. This enables more complicated debugging to be scripted from user space. This driver may be used to test that your ntb hardware and drivers are functioning at a basic level. If unsure, say N. config NTB_PERF tristate "NTB RAW Perf Measuring Tool" help This is a tool to measure raw NTB performance by transferring data to and from the window without additional software interaction. If unsure, say N. config NTB_MSI_TEST tristate "NTB MSI Test Client" depends on NTB_MSI help This tool demonstrates the use of the NTB MSI library to send MSI interrupts between peers. If unsure, say N. ntb/test/Makefile 0000644 00000000314 14722053666 0007757 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NTB_PINGPONG) += ntb_pingpong.o obj-$(CONFIG_NTB_TOOL) += ntb_tool.o obj-$(CONFIG_NTB_PERF) += ntb_perf.o obj-$(CONFIG_NTB_MSI_TEST) += ntb_msi_test.o ntb/Kconfig 0000644 00000002324 14722053666 0006646 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig NTB tristate "Non-Transparent Bridge support" depends on PCI help The PCI-E Non-transparent bridge hardware is a point-to-point PCI-E bus connecting 2 systems. When configured, writes to the device's PCI mapped memory will be mirrored to a buffer on the remote system. The ntb Linux driver uses this point-to-point communication as a method to transfer data from one system to the other. If unsure, say N. if NTB config NTB_MSI bool "MSI Interrupt Support" depends on PCI_MSI help Support using MSI interrupt forwarding instead of (or in addition to) hardware doorbells. MSI interrupts typically offer lower latency than doorbells and more MSI interrupts can be made available to clients. However this requires an extra memory window and support in the hardware driver for creating the MSI interrupts. If unsure, say N. source "drivers/ntb/hw/Kconfig" source "drivers/ntb/test/Kconfig" config NTB_TRANSPORT tristate "NTB Transport Client" help This is a transport driver that enables connected systems to exchange messages over the ntb hardware. The transport exposes a queue pair api to client drivers. If unsure, say N. endif # NTB ntb/hw/mscc/Kconfig 0000644 00000000503 14722053666 0010206 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NTB_SWITCHTEC tristate "MicroSemi Switchtec Non-Transparent Bridge Support" select PCI_SW_SWITCHTEC help Enables NTB support for Switchtec PCI switches. This also selects the Switchtec management driver as they share the same hardware interface. If unsure, say N. ntb/hw/mscc/Makefile 0000644 00000000132 14722053666 0010341 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NTB_SWITCHTEC) += ntb_hw_switchtec.o ntb/hw/Kconfig 0000644 00000000273 14722053666 0007265 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only source "drivers/ntb/hw/amd/Kconfig" source "drivers/ntb/hw/idt/Kconfig" source "drivers/ntb/hw/intel/Kconfig" source "drivers/ntb/hw/mscc/Kconfig" ntb/hw/idt/Kconfig 0000644 00000002457 14722053666 0010053 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NTB_IDT tristate "IDT PCIe-switch Non-Transparent Bridge support" depends on PCI select HWMON help This driver supports NTB of capable IDT PCIe-switches. Some of the pre-initializations must be made before IDT PCIe-switch exposes its NT-functions correctly. It should be done by either proper initialization of EEPROM connected to master SMbus of the switch or by BIOS using slave-SMBus interface changing corresponding registers value. Evidently it must be done before PCI bus enumeration is finished in Linux kernel. First of all partitions must be activated and properly assigned to all the ports with NT-functions intended to be activated (see SWPARTxCTL and SWPORTxCTL registers). Then all NT-function BARs must be enabled with chosen valid aperture. For memory windows related BARs the aperture settings shall determine the maximum size of memory windows accepted by a BAR. Note that BAR0 must map PCI configuration space registers. It's worth to note, that since a part of this driver relies on the BAR settings of peer NT-functions, the BAR setups can't be done over kernel PCI fixups. That's why the alternative pre-initialization techniques like BIOS using SMBus interface or EEPROM should be utilized. If unsure, say N. ntb/hw/idt/Makefile 0000644 00000000116 14722053666 0010176 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NTB_IDT) += ntb_hw_idt.o ntb/hw/intel/Kconfig 0000644 00000000334 14722053666 0010376 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NTB_INTEL tristate "Intel Non-Transparent Bridge support" depends on X86_64 help This driver supports Intel NTB on capable Xeon and Atom hardware. If unsure, say N. ntb/hw/intel/Makefile 0000644 00000000200 14722053666 0010523 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NTB_INTEL) += ntb_hw_intel.o ntb_hw_intel-y := ntb_hw_gen1.o ntb_hw_gen3.o ntb/hw/amd/Kconfig 0000644 00000000321 14722053666 0010020 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NTB_AMD tristate "AMD Non-Transparent Bridge support" depends on X86_64 help This driver supports AMD NTB on capable Zeppelin hardware. If unsure, say N. ntb/hw/amd/Makefile 0000644 00000000116 14722053666 0010157 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NTB_AMD) += ntb_hw_amd.o ntb/hw/Makefile 0000644 00000000253 14722053666 0007420 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NTB_AMD) += amd/ obj-$(CONFIG_NTB_IDT) += idt/ obj-$(CONFIG_NTB_INTEL) += intel/ obj-$(CONFIG_NTB_SWITCHTEC) += mscc/ ntb/Makefile 0000644 00000000256 14722053666 0007005 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NTB) += ntb.o hw/ test/ obj-$(CONFIG_NTB_TRANSPORT) += ntb_transport.o ntb-y := core.o ntb-$(CONFIG_NTB_MSI) += msi.o ps3/Makefile 0000644 00000000507 14722053666 0006726 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PS3_VUART) += ps3-vuart.o obj-$(CONFIG_PS3_PS3AV) += ps3av_mod.o ps3av_mod-y := ps3av.o ps3av_cmd.o obj-$(CONFIG_PPC_PS3) += sys-manager-core.o obj-$(CONFIG_PS3_SYS_MANAGER) += ps3-sys-manager.o obj-$(CONFIG_PS3_STORAGE) += ps3stor_lib.o obj-$(CONFIG_PS3_LPM) += ps3-lpm.o nvme/Kconfig 0000644 00000000216 14722053666 0007026 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "NVME Support" source "drivers/nvme/host/Kconfig" source "drivers/nvme/target/Kconfig" endmenu nvme/target/Kconfig 0000644 00000003730 14722053666 0010320 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NVME_TARGET tristate "NVMe Target support" depends on BLOCK depends on CONFIGFS_FS select SGL_ALLOC help This enabled target side support for the NVMe protocol, that is it allows the Linux kernel to implement NVMe subsystems and controllers and export Linux block devices as NVMe namespaces. You need to select at least one of the transports below to make this functionality useful. To configure the NVMe target you probably want to use the nvmetcli tool from http://git.infradead.org/users/hch/nvmetcli.git. config NVME_TARGET_LOOP tristate "NVMe loopback device support" depends on NVME_TARGET select NVME_CORE select NVME_FABRICS select SG_POOL help This enables the NVMe loopback device support, which can be useful to test NVMe host and target side features. If unsure, say N. config NVME_TARGET_RDMA tristate "NVMe over Fabrics RDMA target support" depends on INFINIBAND && INFINIBAND_ADDR_TRANS depends on NVME_TARGET select SGL_ALLOC help This enables the NVMe RDMA target support, which allows exporting NVMe devices over RDMA. If unsure, say N. config NVME_TARGET_FC tristate "NVMe over Fabrics FC target driver" depends on NVME_TARGET depends on HAS_DMA select SGL_ALLOC help This enables the NVMe FC target support, which allows exporting NVMe devices over FC. If unsure, say N. config NVME_TARGET_FCLOOP tristate "NVMe over Fabrics FC Transport Loopback Test driver" depends on NVME_TARGET select NVME_CORE select NVME_FABRICS select SG_POOL depends on NVME_FC depends on NVME_TARGET_FC help This enables the NVMe FC loopback test support, which can be useful to test NVMe-FC transport interfaces. If unsure, say N. config NVME_TARGET_TCP tristate "NVMe over Fabrics TCP target support" depends on INET depends on NVME_TARGET help This enables the NVMe TCP target support, which allows exporting NVMe devices over TCP. If unsure, say N. nvme/target/Makefile 0000644 00000001107 14722053666 0010451 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y += -I$(src) obj-$(CONFIG_NVME_TARGET) += nvmet.o obj-$(CONFIG_NVME_TARGET_LOOP) += nvme-loop.o obj-$(CONFIG_NVME_TARGET_RDMA) += nvmet-rdma.o obj-$(CONFIG_NVME_TARGET_FC) += nvmet-fc.o obj-$(CONFIG_NVME_TARGET_FCLOOP) += nvme-fcloop.o obj-$(CONFIG_NVME_TARGET_TCP) += nvmet-tcp.o nvmet-y += core.o configfs.o admin-cmd.o fabrics-cmd.o \ discovery.o io-cmd-file.o io-cmd-bdev.o nvme-loop-y += loop.o nvmet-rdma-y += rdma.o nvmet-fc-y += fc.o nvme-fcloop-y += fcloop.o nvmet-tcp-y += tcp.o nvmet-$(CONFIG_TRACING) += trace.o nvme/Makefile 0000644 00000000113 14722053666 0007157 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += host/ obj-y += target/ nvme/host/Kconfig 0000644 00000004413 14722053666 0010006 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NVME_CORE tristate config BLK_DEV_NVME tristate "NVM Express block device" depends on PCI && BLOCK select NVME_CORE ---help--- The NVM Express driver is for solid state drives directly connected to the PCI or PCI Express bus. If you know you don't have one of these, it is safe to answer N. To compile this driver as a module, choose M here: the module will be called nvme. config NVME_MULTIPATH bool "NVMe multipath support" depends on NVME_CORE ---help--- This option enables support for multipath access to NVMe subsystems. If this option is enabled only a single /dev/nvmeXnY device will show up for each NVMe namespaces, even if it is accessible through multiple controllers. config NVME_FABRICS tristate config NVME_RDMA tristate "NVM Express over Fabrics RDMA host driver" depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK select NVME_CORE select NVME_FABRICS select SG_POOL help This provides support for the NVMe over Fabrics protocol using the RDMA (Infiniband, RoCE, iWarp) transport. This allows you to use remote block devices exported using the NVMe protocol set. To configure a NVMe over Fabrics controller use the nvme-cli tool from https://github.com/linux-nvme/nvme-cli. If unsure, say N. config NVME_FC tristate "NVM Express over Fabrics FC host driver" depends on BLOCK depends on HAS_DMA select NVME_CORE select NVME_FABRICS select SG_POOL help This provides support for the NVMe over Fabrics protocol using the FC transport. This allows you to use remote block devices exported using the NVMe protocol set. To configure a NVMe over Fabrics controller use the nvme-cli tool from https://github.com/linux-nvme/nvme-cli. If unsure, say N. config NVME_TCP tristate "NVM Express over Fabrics TCP host driver" depends on INET depends on BLOCK select NVME_CORE select NVME_FABRICS select CRYPTO select CRYPTO_CRC32C help This provides support for the NVMe over Fabrics protocol using the TCP transport. This allows you to use remote block devices exported using the NVMe protocol set. To configure a NVMe over Fabrics controller use the nvme-cli tool from https://github.com/linux-nvme/nvme-cli. If unsure, say N. nvme/host/Makefile 0000644 00000001210 14722053666 0010133 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y += -I$(src) obj-$(CONFIG_NVME_CORE) += nvme-core.o obj-$(CONFIG_BLK_DEV_NVME) += nvme.o obj-$(CONFIG_NVME_FABRICS) += nvme-fabrics.o obj-$(CONFIG_NVME_RDMA) += nvme-rdma.o obj-$(CONFIG_NVME_FC) += nvme-fc.o obj-$(CONFIG_NVME_TCP) += nvme-tcp.o nvme-core-y := core.o nvme-core-$(CONFIG_TRACING) += trace.o nvme-core-$(CONFIG_NVME_MULTIPATH) += multipath.o nvme-core-$(CONFIG_NVM) += lightnvm.o nvme-core-$(CONFIG_FAULT_INJECTION_DEBUG_FS) += fault_inject.o nvme-y += pci.o nvme-fabrics-y += fabrics.o nvme-rdma-y += rdma.o nvme-fc-y += fc.o nvme-tcp-y += tcp.o connector/Kconfig 0000644 00000001200 14722053666 0010045 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig CONNECTOR tristate "Connector - unified userspace <-> kernelspace linker" depends on NET ---help--- This is unified userspace <-> kernelspace connector working on top of the netlink socket protocol. Connector support can also be built as a module. If so, the module will be called cn. if CONNECTOR config PROC_EVENTS bool "Report process events to userspace" depends on CONNECTOR=y default y ---help--- Provide a connector that reports process events to userspace. Send events such as fork, exec, id change (uid, gid, suid, etc), and exit. endif # CONNECTOR connector/Makefile 0000644 00000000223 14722053666 0010206 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CONNECTOR) += cn.o obj-$(CONFIG_PROC_EVENTS) += cn_proc.o cn-y += cn_queue.o connector.o Kconfig 0000644 00000016413 14722053666 0006067 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SND_MPU401_UART tristate select SND_RAWMIDI config SND_OPL3_LIB tristate select SND_TIMER select SND_HWDEP select SND_SEQ_DEVICE if SND_SEQUENCER != n config SND_OPL4_LIB tristate select SND_TIMER select SND_HWDEP select SND_SEQ_DEVICE if SND_SEQUENCER != n # select SEQ stuff to min(SND_SEQUENCER,SND_XXX) config SND_OPL3_LIB_SEQ def_tristate SND_SEQUENCER && SND_OPL3_LIB select SND_SEQ_MIDI_EMUL select SND_SEQ_MIDI_EVENT config SND_OPL4_LIB_SEQ def_tristate SND_SEQUENCER && SND_OPL4_LIB select SND_SEQ_MIDI_EMUL select SND_SEQ_MIDI_EVENT config SND_VX_LIB tristate select FW_LOADER select SND_HWDEP select SND_PCM config SND_AC97_CODEC tristate select SND_PCM select AC97_BUS select SND_VMASTER menuconfig SND_DRIVERS bool "Generic sound devices" default y help Support for generic sound devices. if SND_DRIVERS config SND_PCSP tristate "PC-Speaker support (READ HELP!)" depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS depends on INPUT select SND_PCM help If you don't have a sound card in your computer, you can include a driver for the PC speaker which allows it to act like a primitive sound card. This driver also replaces the pcspkr driver for beeps. You can compile this as a module which will be called snd-pcsp. WARNING: if you already have a soundcard, enabling this driver may lead to a problem. Namely, it may get loaded before the other sound driver of yours, making the pc-speaker a default sound device. Which is likely not what you want. To make this driver play nicely with other sound driver, you can add this in a configuration file under /etc/modprobe.d/ directory: options snd-pcsp index=2 You don't need this driver if you only want your pc-speaker to beep. You don't need this driver if you have a tablet piezo beeper in your PC instead of the real speaker. Say N if you have a sound card. Say M if you don't. Say Y only if you really know what you do. config SND_DUMMY tristate "Dummy (/dev/null) soundcard" select SND_PCM help Say Y here to include the dummy driver. This driver does nothing, but emulates various mixer controls and PCM devices. You don't need this unless you're testing the hardware support of programs using the ALSA API. To compile this driver as a module, choose M here: the module will be called snd-dummy. config SND_ALOOP tristate "Generic loopback driver (PCM)" select SND_PCM help Say 'Y' or 'M' to include support for the PCM loopback device. This module returns played samples back to the user space using the standard ALSA PCM device. The devices are routed 0->1 and 1->0, where first number is the playback PCM device and second number is the capture device. Module creates two PCM devices and configured number of substreams (see the pcm_substreams module parameter). The loopback device allows time sychronization with an external timing source using the time shift universal control (+-20% of system time). To compile this driver as a module, choose M here: the module will be called snd-aloop. config SND_VIRMIDI tristate "Virtual MIDI soundcard" depends on SND_SEQUENCER select SND_TIMER select SND_RAWMIDI select SND_SEQ_VIRMIDI select SND_SEQ_MIDI_EVENT help Say Y here to include the virtual MIDI driver. This driver allows to connect applications using raw MIDI devices to sequencer clients. If you don't know what MIDI is, say N here. To compile this driver as a module, choose M here: the module will be called snd-virmidi. config SND_MTPAV tristate "MOTU MidiTimePiece AV multiport MIDI" select SND_RAWMIDI help To use a MOTU MidiTimePiece AV multiport MIDI adapter connected to the parallel port, say Y here and make sure that the standard parallel port driver isn't used for the port. To compile this driver as a module, choose M here: the module will be called snd-mtpav. config SND_MTS64 tristate "ESI Miditerminal 4140 driver" depends on PARPORT select SND_RAWMIDI help The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with additional SMPTE Timecode capabilities for the parallel port. Say 'Y' to include support for this device. To compile this driver as a module, chose 'M' here: the module will be called snd-mts64. config SND_SERIAL_U16550 tristate "UART16550 serial MIDI driver" select SND_RAWMIDI help To include support for MIDI serial port interfaces, say Y here and read <file:Documentation/sound/cards/serial-u16550.rst>. This driver works with serial UARTs 16550 and better. This driver accesses the serial port hardware directly, so make sure that the standard serial driver isn't used or deactivated with setserial before loading this driver. To compile this driver as a module, choose M here: the module will be called snd-serial-u16550. config SND_MPU401 tristate "Generic MPU-401 UART driver" select SND_MPU401_UART help Say Y here to include support for MIDI ports compatible with the Roland MPU-401 interface in UART mode. To compile this driver as a module, choose M here: the module will be called snd-mpu401. config SND_PORTMAN2X4 tristate "Portman 2x4 driver" depends on PARPORT select SND_RAWMIDI help Say Y here to include support for Midiman Portman 2x4 parallel port MIDI device. To compile this driver as a module, choose M here: the module will be called snd-portman2x4. config SND_ML403_AC97CR tristate "Xilinx ML403 AC97 Controller Reference" depends on XILINX_VIRTEX select SND_AC97_CODEC help Say Y here to include support for the opb_ac97_controller_ref_v1_00_a ip core found in Xilinx's ML403 reference design. To compile this driver as a module, choose M here: the module will be called snd-ml403_ac97cr. config SND_AC97_POWER_SAVE bool "AC97 Power-Saving Mode" depends on SND_AC97_CODEC default n help Say Y here to enable the aggressive power-saving support of AC97 codecs. In this mode, the power-mode is dynamically controlled at each open/close. The mode is activated by passing 'power_save=X' to the snd-ac97-codec driver module, where 'X' is the time-out value, a nonnegative integer that specifies how many seconds of idle time the driver must count before it may put the AC97 into power-save mode; a value of 0 (zero) disables the use of this power-save mode. After the snd-ac97-codec driver module has been loaded, the 'power_save' parameter can be set via sysfs as follows: echo 10 > /sys/module/snd_ac97_codec/parameters/power_save In this case, the time-out is set to 10 seconds; setting the time-out to 1 second (the minimum activation value) isn't recommended because many applications try to reopen the device frequently. A value of 10 seconds would be a good choice for normal operations. See Documentation/sound/designs/powersave.rst for more details. config SND_AC97_POWER_SAVE_DEFAULT int "Default time-out for AC97 power-save mode" depends on SND_AC97_POWER_SAVE default 0 help The default time-out value in seconds for AC97 automatic power-save mode. 0 means to disable the power-save mode. See SND_AC97_POWER_SAVE for more details. endif # SND_DRIVERS i2c/muxes/Kconfig 0000644 00000007672 14722053666 0007714 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Multiplexer I2C chip drivers configuration # menu "Multiplexer I2C Chip support" depends on I2C_MUX config I2C_ARB_GPIO_CHALLENGE tristate "GPIO-based I2C arbitration" depends on GPIOLIB || COMPILE_TEST depends on OF || COMPILE_TEST help If you say yes to this option, support will be included for an I2C multimaster arbitration scheme using GPIOs and a challenge & response mechanism where masters have to claim the bus by asserting a GPIO. This driver can also be built as a module. If so, the module will be called i2c-arb-gpio-challenge. config I2C_MUX_GPIO tristate "GPIO-based I2C multiplexer" depends on GPIOLIB help If you say yes to this option, support will be included for a GPIO based I2C multiplexer. This driver provides access to I2C busses connected through a MUX, which is controlled through GPIO pins. This driver can also be built as a module. If so, the module will be called i2c-mux-gpio. config I2C_MUX_GPMUX tristate "General Purpose I2C multiplexer" select MULTIPLEXER depends on OF || COMPILE_TEST help If you say yes to this option, support will be included for a general purpose I2C multiplexer. This driver provides access to I2C busses connected through a MUX, which in turn is controlled by a MUX-controller from the MUX subsystem. This driver can also be built as a module. If so, the module will be called i2c-mux-gpmux. config I2C_MUX_LTC4306 tristate "LTC LTC4306/5 I2C multiplexer" select GPIOLIB select REGMAP_I2C help If you say yes here you get support for the Analog Devices LTC4306 or LTC4305 I2C mux/switch devices. This driver can also be built as a module. If so, the module will be called i2c-mux-ltc4306. config I2C_MUX_PCA9541 tristate "NXP PCA9541 I2C Master Selector" help If you say yes here you get support for the NXP PCA9541 I2C Master Selector. This driver can also be built as a module. If so, the module will be called i2c-mux-pca9541. config I2C_MUX_PCA954x tristate "NXP PCA954x and PCA984x I2C Mux/switches" depends on GPIOLIB || COMPILE_TEST help If you say yes here you get support for the NXP PCA954x and PCA984x I2C mux/switch devices. This driver can also be built as a module. If so, the module will be called i2c-mux-pca954x. config I2C_MUX_PINCTRL tristate "pinctrl-based I2C multiplexer" depends on PINCTRL depends on OF || COMPILE_TEST help If you say yes to this option, support will be included for an I2C multiplexer that uses the pinctrl subsystem, i.e. pin multiplexing. This is useful for SoCs whose I2C module's signals can be routed to different sets of pins at run-time. This driver can also be built as a module. If so, the module will be called i2c-mux-pinctrl. config I2C_MUX_REG tristate "Register-based I2C multiplexer" depends on HAS_IOMEM help If you say yes to this option, support will be included for a register based I2C multiplexer. This driver provides access to I2C busses connected through a MUX, which is controlled by a single register. This driver can also be built as a module. If so, the module will be called i2c-mux-reg. config I2C_DEMUX_PINCTRL tristate "pinctrl-based I2C demultiplexer" depends on PINCTRL && OF select OF_DYNAMIC help If you say yes to this option, support will be included for an I2C demultiplexer that uses the pinctrl subsystem. This is useful if you want to change the I2C master at run-time depending on features. config I2C_MUX_MLXCPLD tristate "Mellanox CPLD based I2C multiplexer" help If you say yes to this option, support will be included for a CPLD based I2C multiplexer. This driver provides access to I2C busses connected through a MUX, which is controlled by a CPLD register. This driver can also be built as a module. If so, the module will be called i2c-mux-mlxcpld. endmenu i2c/muxes/Makefile 0000644 00000001200 14722053666 0010026 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for multiplexer I2C chip drivers. obj-$(CONFIG_I2C_ARB_GPIO_CHALLENGE) += i2c-arb-gpio-challenge.o obj-$(CONFIG_I2C_DEMUX_PINCTRL) += i2c-demux-pinctrl.o obj-$(CONFIG_I2C_MUX_GPIO) += i2c-mux-gpio.o obj-$(CONFIG_I2C_MUX_GPMUX) += i2c-mux-gpmux.o obj-$(CONFIG_I2C_MUX_LTC4306) += i2c-mux-ltc4306.o obj-$(CONFIG_I2C_MUX_MLXCPLD) += i2c-mux-mlxcpld.o obj-$(CONFIG_I2C_MUX_PCA9541) += i2c-mux-pca9541.o obj-$(CONFIG_I2C_MUX_PCA954x) += i2c-mux-pca954x.o obj-$(CONFIG_I2C_MUX_PINCTRL) += i2c-mux-pinctrl.o obj-$(CONFIG_I2C_MUX_REG) += i2c-mux-reg.o ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG i2c/Kconfig 0000644 00000010702 14722053666 0006537 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # I2C subsystem configuration # menu "I2C support" config I2C tristate "I2C support" select RT_MUTEXES select IRQ_DOMAIN ---help--- I2C (pronounce: I-squared-C) is a slow serial bus protocol used in many micro controller applications and developed by Philips. SMBus, or System Management Bus is a subset of the I2C protocol. More information is contained in the directory <file:Documentation/i2c/>, especially in the file called "summary" there. Both I2C and SMBus are supported here. You will need this for hardware sensors support, and also for Video For Linux support. If you want I2C support, you should say Y here and also to the specific driver for your bus adapter(s) below. This I2C support can also be built as a module. If so, the module will be called i2c-core. config ACPI_I2C_OPREGION bool "ACPI I2C Operation region support" depends on I2C=y && ACPI default y help Say Y here if you want to enable ACPI I2C operation region support. Operation Regions allow firmware (BIOS) code to access I2C slave devices, such as smart batteries through an I2C host controller driver. if I2C config I2C_BOARDINFO bool default y config I2C_COMPAT bool "Enable compatibility bits for old user-space" default y help Say Y here if you intend to run lm-sensors 3.1.1 or older, or any other user-space package which expects i2c adapters to be class devices. If you don't know, say Y. config I2C_CHARDEV tristate "I2C device interface" help Say Y here to use i2c-* device files, usually found in the /dev directory on your system. They make it possible to have user-space programs use the I2C bus. Information on how to do this is contained in the file <file:Documentation/i2c/dev-interface.rst>. This support is also available as a module. If so, the module will be called i2c-dev. config I2C_MUX tristate "I2C bus multiplexing support" help Say Y here if you want the I2C core to support the ability to handle multiplexed I2C bus topologies, by presenting each multiplexed segment as a I2C adapter. This support is also available as a module. If so, the module will be called i2c-mux. source "drivers/i2c/muxes/Kconfig" config I2C_HELPER_AUTO bool "Autoselect pertinent helper modules" default y help Some I2C bus drivers require so-called "I2C algorithm" modules to work. These are basically software-only abstractions of generic I2C interfaces. This option will autoselect them so that you don't have to care. Unselect this only if you need to enable additional helper modules, for example for use with external I2C bus drivers. In doubt, say Y. config I2C_SMBUS tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO help Say Y here if you want support for SMBus extensions to the I2C specification. At the moment, two extensions are supported: the SMBus Alert protocol and the SMBus Host Notify protocol. This support is also available as a module. If so, the module will be called i2c-smbus. source "drivers/i2c/algos/Kconfig" source "drivers/i2c/busses/Kconfig" config I2C_STUB tristate "I2C/SMBus Test Stub" depends on m default 'n' help This module may be useful to developers of SMBus client drivers, especially for certain kinds of sensor chips. If you do build this module, be sure to read the notes and warnings in <file:Documentation/i2c/i2c-stub.rst>. If you don't know what to do here, definitely say N. config I2C_SLAVE bool "I2C slave support" if I2C_SLAVE config I2C_SLAVE_EEPROM tristate "I2C eeprom slave driver" endif config I2C_DEBUG_CORE bool "I2C Core debugging messages" help Say Y here if you want the I2C core to produce a bunch of debug messages to the system log. Select this if you are having a problem with I2C support and want to see more of what is going on. config I2C_DEBUG_ALGO bool "I2C Algorithm debugging messages" help Say Y here if you want the I2C algorithm drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with I2C support and want to see more of what is going on. config I2C_DEBUG_BUS bool "I2C Bus debugging messages" depends on HAS_IOMEM help Say Y here if you want the I2C bus drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with I2C support and want to see more of what is going on. endif # I2C endmenu i2c/busses/Kconfig 0000644 00000126221 14722053666 0010047 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Sensor device configuration # menu "I2C Hardware Bus support" depends on HAS_IOMEM comment "PC SMBus host controller drivers" depends on PCI config I2C_ALI1535 tristate "ALI 1535" depends on PCI help If you say yes to this option, support will be included for the SMB Host controller on Acer Labs Inc. (ALI) M1535 South Bridges. The SMB controller is part of the 7101 device, which is an ACPI-compliant Power Management Unit (PMU). This driver can also be built as a module. If so, the module will be called i2c-ali1535. config I2C_ALI1563 tristate "ALI 1563" depends on PCI help If you say yes to this option, support will be included for the SMB Host controller on Acer Labs Inc. (ALI) M1563 South Bridges. The SMB controller is part of the 7101 device, which is an ACPI-compliant Power Management Unit (PMU). This driver can also be built as a module. If so, the module will be called i2c-ali1563. config I2C_ALI15X3 tristate "ALI 15x3" depends on PCI help If you say yes to this option, support will be included for the Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces. This driver can also be built as a module. If so, the module will be called i2c-ali15x3. config I2C_AMD756 tristate "AMD 756/766/768/8111 and nVidia nForce" depends on PCI help If you say yes to this option, support will be included for the AMD 756/766/768 mainboard I2C interfaces. The driver also includes support for the first (SMBus 1.0) I2C interface of the AMD 8111 and the nVidia nForce I2C interface. This driver can also be built as a module. If so, the module will be called i2c-amd756. config I2C_AMD756_S4882 tristate "SMBus multiplexing on the Tyan S4882" depends on I2C_AMD756 && X86 help Enabling this option will add specific SMBus support for the Tyan S4882 motherboard. On this 4-CPU board, the SMBus is multiplexed over 8 different channels, where the various memory module EEPROMs and temperature sensors live. Saying yes here will give you access to these in addition to the trunk. This driver can also be built as a module. If so, the module will be called i2c-amd756-s4882. config I2C_AMD8111 tristate "AMD 8111" depends on PCI help If you say yes to this option, support will be included for the second (SMBus 2.0) AMD 8111 mainboard I2C interface. This driver can also be built as a module. If so, the module will be called i2c-amd8111. config I2C_AMD_MP2 tristate "AMD MP2 PCIe" depends on PCI && ACPI help If you say yes to this option, support will be included for the AMD MP2 PCIe I2C adapter. This driver can also be built as modules. If so, the modules will be called i2c-amd-mp2-pci and i2c-amd-mp2-plat. config I2C_HIX5HD2 tristate "Hix5hd2 high-speed I2C driver" depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST help Say Y here to include support for the high-speed I2C controller used in HiSilicon hix5hd2 SoCs. This driver can also be built as a module. If so, the module will be called i2c-hix5hd2. config I2C_I801 tristate "Intel 82801 (ICH/PCH)" depends on PCI select CHECK_SIGNATURE if X86 && DMI select I2C_SMBUS help If you say yes to this option, support will be included for the Intel 801 family of mainboard I2C interfaces. Specifically, the following versions of the chipset are supported: 82801AA 82801AB 82801BA 82801CA/CAM 82801DB 82801EB/ER (ICH5/ICH5R) 6300ESB ICH6 ICH7 ESB2 ICH8 ICH9 EP80579 (Tolapai) ICH10 5/3400 Series (PCH) 6 Series (PCH) Patsburg (PCH) DH89xxCC (PCH) Panther Point (PCH) Lynx Point (PCH) Avoton (SOC) Wellsburg (PCH) Coleto Creek (PCH) Wildcat Point (PCH) BayTrail (SOC) Braswell (SOC) Sunrise Point (PCH) Kaby Lake (PCH) DNV (SOC) Broxton (SOC) Lewisburg (PCH) Gemini Lake (SOC) Cannon Lake (PCH) Cedar Fork (PCH) Ice Lake (PCH) Comet Lake (PCH) Elkhart Lake (PCH) Tiger Lake (PCH) This driver can also be built as a module. If so, the module will be called i2c-i801. config I2C_ISCH tristate "Intel SCH SMBus 1.0" depends on PCI select LPC_SCH help Say Y here if you want to use SMBus controller on the Intel SCH based systems. This driver can also be built as a module. If so, the module will be called i2c-isch. config I2C_ISMT tristate "Intel iSMT SMBus Controller" depends on PCI && X86 help If you say yes to this option, support will be included for the Intel iSMT SMBus host controller interface. This driver can also be built as a module. If so, the module will be called i2c-ismt. config I2C_PIIX4 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" depends on PCI help If you say yes to this option, support will be included for the Intel PIIX4 family of mainboard I2C interfaces. Specifically, the following versions of the chipset are supported (note that Serverworks is part of Broadcom): Intel PIIX4 Intel 440MX ATI IXP200 ATI IXP300 ATI IXP400 ATI SB600 ATI SB700/SP5100 ATI SB800 AMD Hudson-2 AMD ML AMD CZ Hygon CZ Serverworks OSB4 Serverworks CSB5 Serverworks CSB6 Serverworks HT-1000 Serverworks HT-1100 SMSC Victory66 Some AMD chipsets contain two PIIX4-compatible SMBus controllers. This driver will attempt to use both controllers on the SB700/SP5100, if they have been initialized by the BIOS. This driver can also be built as a module. If so, the module will be called i2c-piix4. config I2C_CHT_WC tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller" depends on INTEL_SOC_PMIC_CHTWC help If you say yes to this option, support will be included for the SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC found on some Intel Cherry Trail systems. Note this controller is hooked up to a TI bq24292i charger-IC, combined with a FUSB302 Type-C port-controller as such it is advised to also select CONFIG_TYPEC_FUSB302=m. config I2C_NFORCE2 tristate "Nvidia nForce2, nForce3 and nForce4" depends on PCI help If you say yes to this option, support will be included for the Nvidia nForce2, nForce3 and nForce4 families of mainboard I2C interfaces. This driver can also be built as a module. If so, the module will be called i2c-nforce2. config I2C_NFORCE2_S4985 tristate "SMBus multiplexing on the Tyan S4985" depends on I2C_NFORCE2 && X86 help Enabling this option will add specific SMBus support for the Tyan S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed over 4 different channels, where the various memory module EEPROMs live. Saying yes here will give you access to these in addition to the trunk. This driver can also be built as a module. If so, the module will be called i2c-nforce2-s4985. config I2C_NVIDIA_GPU tristate "NVIDIA GPU I2C controller" depends on PCI help If you say yes to this option, support will be included for the NVIDIA GPU I2C controller which is used to communicate with the GPU's Type-C controller. This driver can also be built as a module called i2c-nvidia-gpu. config I2C_SIS5595 tristate "SiS 5595" depends on PCI help If you say yes to this option, support will be included for the SiS5595 SMBus (a subset of I2C) interface. This driver can also be built as a module. If so, the module will be called i2c-sis5595. config I2C_SIS630 tristate "SiS 630/730/964" depends on PCI help If you say yes to this option, support will be included for the SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface. This driver can also be built as a module. If so, the module will be called i2c-sis630. config I2C_SIS96X tristate "SiS 96x" depends on PCI help If you say yes to this option, support will be included for the SiS 96x SMBus (a subset of I2C) interfaces. Specifically, the following chipsets are supported: 645/961 645DX/961 645DX/962 648/961 650/961 735 745 This driver can also be built as a module. If so, the module will be called i2c-sis96x. config I2C_VIA tristate "VIA VT82C586B" depends on PCI select I2C_ALGOBIT help If you say yes to this option, support will be included for the VIA 82C586B I2C interface This driver can also be built as a module. If so, the module will be called i2c-via. config I2C_VIAPRO tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900" depends on PCI help If you say yes to this option, support will be included for the VIA VT82C596 and later SMBus interface. Specifically, the following chipsets are supported: VT82C596A/B VT82C686A/B VT8231 VT8233/A VT8235 VT8237R/A/S VT8251 CX700 VX800/VX820 VX855/VX875 VX900 This driver can also be built as a module. If so, the module will be called i2c-viapro. if ACPI comment "ACPI drivers" config I2C_SCMI tristate "SMBus Control Method Interface" help This driver supports the SMBus Control Method Interface. It needs the BIOS to declare ACPI control methods as described in the SMBus Control Method Interface specification. To compile this driver as a module, choose M here: the module will be called i2c-scmi. endif # ACPI comment "Mac SMBus host controller drivers" depends on PPC_CHRP || PPC_PMAC config I2C_HYDRA tristate "CHRP Apple Hydra Mac I/O I2C interface" depends on PCI && PPC_CHRP select I2C_ALGOBIT help This supports the use of the I2C interface in the Apple Hydra Mac I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you have such a machine. This support is also available as a module. If so, the module will be called i2c-hydra. config I2C_POWERMAC tristate "Powermac I2C interface" depends on PPC_PMAC default y help This exposes the various PowerMac i2c interfaces to the linux i2c layer and to userland. It is used by various drivers on the PowerMac platform, and should generally be enabled. This support is also available as a module. If so, the module will be called i2c-powermac. comment "I2C system bus drivers (mostly embedded / system-on-chip)" config I2C_ALTERA tristate "Altera Soft IP I2C" depends on (ARCH_SOCFPGA || NIOS2) && OF help If you say yes to this option, support will be included for the Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures. This driver can also be built as a module. If so, the module will be called i2c-altera. config I2C_ASPEED tristate "Aspeed I2C Controller" depends on ARCH_ASPEED || COMPILE_TEST help If you say yes to this option, support will be included for the Aspeed I2C controller. This driver can also be built as a module. If so, the module will be called i2c-aspeed. config I2C_AT91 tristate "Atmel AT91 I2C Two-Wire interface (TWI)" depends on ARCH_AT91 help This supports the use of the I2C interface on Atmel AT91 processors. A serious problem is that there is no documented way to issue repeated START conditions for more than two messages, as needed to support combined I2C messages. Use the i2c-gpio driver unless your system can cope with this limitation. Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices don't have clock stretching in transmission mode. For that reason, you can encounter underrun issues causing premature stop sendings if the latency to fill the transmission register is too long. If you are facing this situation, use the i2c-gpio driver. config I2C_AT91_SLAVE_EXPERIMENTAL tristate "Microchip AT91 I2C experimental slave mode" depends on I2C_AT91 select I2C_SLAVE help If you say yes to this option, support for the slave mode will be added. Caution: do not use it for production. This feature has not been tested in a heavy way, help wanted. There are known bugs: - It can hang, on a SAMA5D4, after several transfers. - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as master. config I2C_AU1550 tristate "Au1550/Au1200/Au1300 SMBus interface" depends on MIPS_ALCHEMY help If you say yes to this option, support will be included for the Au1550/Au1200/Au1300 SMBus interface. This driver can also be built as a module. If so, the module will be called i2c-au1550. config I2C_AXXIA tristate "Axxia I2C controller" depends on ARCH_AXXIA || COMPILE_TEST default ARCH_AXXIA select I2C_SLAVE help Say yes if you want to support the I2C bus on Axxia platforms. Please note that this controller is limited to transfers of maximum 255 bytes in length. Any attempt to to a larger transfer will return an error. config I2C_BCM2835 tristate "Broadcom BCM2835 I2C controller" depends on ARCH_BCM2835 || ARCH_BRCMSTB help If you say yes to this option, support will be included for the BCM2835 I2C controller. If you don't know what to do here, say N. This support is also available as a module. If so, the module will be called i2c-bcm2835. config I2C_BCM_IPROC tristate "Broadcom iProc I2C controller" depends on ARCH_BCM_IPROC || COMPILE_TEST default ARCH_BCM_IPROC select I2C_SLAVE help If you say yes to this option, support will be included for the Broadcom iProc I2C controller. If you don't know what to do here, say N. config I2C_BCM_KONA tristate "BCM Kona I2C adapter" depends on ARCH_BCM_MOBILE default y help If you say yes to this option, support will be included for the I2C interface on the Broadcom Kona family of processors. If you do not need KONA I2C interface, say N. config I2C_BRCMSTB tristate "BRCM Settop/DSL I2C controller" depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_63XX || \ COMPILE_TEST default y help If you say yes to this option, support will be included for the I2C interface on the Broadcom Settop/DSL SoCs. If you do not need I2C interface, say N. config I2C_CADENCE tristate "Cadence I2C Controller" depends on ARCH_ZYNQ || ARM64 || XTENSA || COMPILE_TEST help Say yes here to select Cadence I2C Host Controller. This controller is e.g. used by Xilinx Zynq. config I2C_CBUS_GPIO tristate "CBUS I2C driver" depends on GPIOLIB || COMPILE_TEST help Support for CBUS access using I2C API. Mostly relevant for Nokia Internet Tablets (770, N800 and N810). This driver can also be built as a module. If so, the module will be called i2c-cbus-gpio. config I2C_CPM tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)" depends on CPM1 || CPM2 help This supports the use of the I2C interface on Freescale processors with CPM1 or CPM2. This driver can also be built as a module. If so, the module will be called i2c-cpm. config I2C_DAVINCI tristate "DaVinci I2C driver" depends on ARCH_DAVINCI || ARCH_KEYSTONE help Support for TI DaVinci I2C controller driver. This driver can also be built as a module. If so, the module will be called i2c-davinci. Please note that this driver might be needed to bring up other devices such as DaVinci NIC. For details please see http://www.ti.com/davinci config I2C_DESIGNWARE_CORE tristate config I2C_DESIGNWARE_PLATFORM tristate "Synopsys DesignWare Platform" select I2C_DESIGNWARE_CORE depends on (ACPI && COMMON_CLK) || !ACPI help If you say yes to this option, support will be included for the Synopsys DesignWare I2C adapter. This driver can also be built as a module. If so, the module will be called i2c-designware-platform. config I2C_DESIGNWARE_SLAVE bool "Synopsys DesignWare Slave" select I2C_SLAVE depends on I2C_DESIGNWARE_PLATFORM help If you say yes to this option, support will be included for the Synopsys DesignWare I2C slave adapter. This is not a standalone module, this module compiles together with i2c-designware-core. config I2C_DESIGNWARE_PCI tristate "Synopsys DesignWare PCI" depends on PCI select I2C_DESIGNWARE_CORE help If you say yes to this option, support will be included for the Synopsys DesignWare I2C adapter. Only master mode is supported. This driver can also be built as a module. If so, the module will be called i2c-designware-pci. config I2C_DESIGNWARE_BAYTRAIL bool "Intel Baytrail I2C semaphore support" depends on ACPI depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \ (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y) help This driver enables managed host access to the PMIC I2C bus on select Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows the host to request uninterrupted access to the PMIC's I2C bus from the platform firmware controlling it. You should say Y if running on a BayTrail system using the AXP288. config I2C_DIGICOLOR tristate "Conexant Digicolor I2C driver" depends on ARCH_DIGICOLOR help Support for Conexant Digicolor SoCs (CX92755) I2C controller driver. This driver can also be built as a module. If so, the module will be called i2c-digicolor. config I2C_EFM32 tristate "EFM32 I2C controller" depends on ARCH_EFM32 || COMPILE_TEST help This driver supports the i2c block found in Energy Micro's EFM32 SoCs. config I2C_EG20T tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C" depends on PCI && (X86_32 || MIPS || COMPILE_TEST) help This driver is for PCH(Platform controller Hub) I2C of EG20T which is an IOH(Input/Output Hub) for x86 embedded processor. This driver can access PCH I2C bus device. This driver also can be used for LAPIS Semiconductor IOH(Input/ Output Hub), ML7213, ML7223 and ML7831. ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is for MP(Media Phone) use and ML7831 IOH is for general purpose use. ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. config I2C_EMEV2 tristate "EMMA Mobile series I2C adapter" depends on HAVE_CLK select I2C_SLAVE help If you say yes to this option, support will be included for the I2C interface on the Renesas Electronics EM/EV family of processors. config I2C_EXYNOS5 tristate "Exynos5 high-speed I2C driver" depends on ARCH_EXYNOS && OF default y help High-speed I2C controller on Exynos5 based Samsung SoCs. config I2C_GPIO tristate "GPIO-based bitbanging I2C" depends on GPIOLIB || COMPILE_TEST select I2C_ALGOBIT help This is a very simple bitbanging I2C driver utilizing the arch-neutral GPIO API to control the SCL and SDA lines. config I2C_GPIO_FAULT_INJECTOR bool "GPIO-based fault injector" depends on I2C_GPIO help This adds some functionality to the i2c-gpio driver which can inject faults to an I2C bus, so another bus master can be stress-tested. This is for debugging. If unsure, say 'no'. config I2C_HIGHLANDER tristate "Highlander FPGA SMBus interface" depends on SH_HIGHLANDER help If you say yes to this option, support will be included for the SMBus interface located in the FPGA on various Highlander boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL FPGAs. This is wholly unrelated to the SoC I2C. This driver can also be built as a module. If so, the module will be called i2c-highlander. config I2C_IBM_IIC tristate "IBM PPC 4xx on-chip I2C interface" depends on 4xx help Say Y here if you want to use IIC peripheral found on embedded IBM PPC 4xx based systems. This driver can also be built as a module. If so, the module will be called i2c-ibm_iic. config I2C_IMG tristate "Imagination Technologies I2C SCB Controller" depends on MIPS || COMPILE_TEST help Say Y here if you want to use the IMG I2C SCB controller, available on the TZ1090 and other IMG SoCs. This driver can also be built as a module. If so, the module will be called i2c-img-scb. config I2C_IMX tristate "IMX I2C interface" depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE help Say Y here if you want to use the IIC bus controller on the Freescale i.MX/MXC, Layerscape or ColdFire processors. This driver can also be built as a module. If so, the module will be called i2c-imx. config I2C_IMX_LPI2C tristate "IMX Low Power I2C interface" depends on ARCH_MXC || COMPILE_TEST help Say Y here if you want to use the Low Power IIC bus controller on the Freescale i.MX processors. This driver can also be built as a module. If so, the module will be called i2c-imx-lpi2c. config I2C_IOP3XX tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface" depends on ARCH_IOP32X || ARCH_IXP4XX help Say Y here if you want to use the IIC bus controller on the Intel IOPx3xx I/O Processors or IXP4xx Network Processors. This driver can also be built as a module. If so, the module will be called i2c-iop3xx. config I2C_JZ4780 tristate "JZ4780 I2C controller interface support" depends on MIPS || COMPILE_TEST help If you say yes to this option, support will be included for the Ingenic JZ4780 I2C controller. If you don't know what to do here, say N. config I2C_KEMPLD tristate "Kontron COM I2C Controller" depends on MFD_KEMPLD help This enables support for the I2C bus interface on some Kontron ETX and COMexpress (ETXexpress) modules. This driver can also be built as a module. If so, the module will be called i2c-kempld. config I2C_LPC2K tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx" depends on OF && (ARCH_LPC18XX || COMPILE_TEST) help This driver supports the I2C interface found several NXP devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx. This driver can also be built as a module. If so, the module will be called i2c-lpc2k. config I2C_MESON tristate "Amlogic Meson I2C controller" depends on ARCH_MESON || COMPILE_TEST help If you say yes to this option, support will be included for the I2C interface on the Amlogic Meson family of SoCs. config I2C_MPC tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx" depends on PPC help If you say yes to this option, support will be included for the built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx, MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors. This driver can also be built as a module. If so, the module will be called i2c-mpc. config I2C_MT65XX tristate "MediaTek I2C adapter" depends on ARCH_MEDIATEK || COMPILE_TEST help This selects the MediaTek(R) Integrated Inter Circuit bus driver for MT65xx and MT81xx. If you want to use MediaTek(R) I2C interface, say Y or M here. If unsure, say N. config I2C_MT7621 tristate "MT7621/MT7628 I2C Controller" depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST help Say Y here to include support for I2C controller in the MediaTek MT7621/MT7628 SoCs. config I2C_MV64XXX tristate "Marvell mv64xxx I2C Controller" depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU help If you say yes to this option, support will be included for the built-in I2C interface on the Marvell 64xxx line of host bridges. This driver is also used for Allwinner SoCs I2C controllers. This driver can also be built as a module. If so, the module will be called i2c-mv64xxx. config I2C_MXS tristate "Freescale i.MX28 I2C interface" depends on SOC_IMX28 select STMP_DEVICE help Say Y here if you want to use the I2C bus controller on the Freescale i.MX28 processors. This driver can also be built as a module. If so, the module will be called i2c-mxs. config I2C_NOMADIK tristate "ST-Ericsson Nomadik/Ux500 I2C Controller" depends on ARM_AMBA help If you say yes to this option, support will be included for the I2C interface from ST-Ericsson's Nomadik and Ux500 architectures, as well as the STA2X11 PCIe I/O HUB. config I2C_OCORES tristate "OpenCores I2C Controller" help If you say yes to this option, support will be included for the OpenCores I2C controller. For details see http://www.opencores.org/projects.cgi/web/i2c/overview This driver can also be built as a module. If so, the module will be called i2c-ocores. config I2C_OMAP tristate "OMAP I2C adapter" depends on ARCH_OMAP || ARCH_K3 default y if MACH_OMAP_H3 || MACH_OMAP_OSK help If you say yes to this option, support will be included for the I2C interface on the Texas Instruments OMAP1/2 family of processors. Like OMAP1510/1610/1710/5912 and OMAP242x. For details see http://www.ti.com/omap. config I2C_OWL tristate "Actions Semiconductor Owl I2C Controller" depends on ARCH_ACTIONS || COMPILE_TEST help Say Y here if you want to use the I2C bus controller on the Actions Semiconductor Owl SoC's. config I2C_PASEMI tristate "PA Semi SMBus interface" depends on PPC_PASEMI && PCI help Supports the PA Semi PWRficient on-chip SMBus interfaces. config I2C_PCA_PLATFORM tristate "PCA9564/PCA9665 as platform device" select I2C_ALGOPCA default n help This driver supports a memory mapped Philips PCA9564/PCA9665 parallel bus to I2C bus controller. This driver can also be built as a module. If so, the module will be called i2c-pca-platform. config I2C_PMCMSP tristate "PMC MSP I2C TWI Controller" depends on PMC_MSP help This driver supports the PMC TWI controller on MSP devices. This driver can also be built as module. If so, the module will be called i2c-pmcmsp. config I2C_PNX tristate "I2C bus support for Philips PNX and NXP LPC targets" depends on ARCH_LPC32XX help This driver supports the Philips IP3204 I2C IP block master and/or slave controller This driver can also be built as a module. If so, the module will be called i2c-pnx. config I2C_PUV3 tristate "PKUnity v3 I2C bus support" depends on UNICORE32 && ARCH_PUV3 select I2C_ALGOBIT help This driver supports the I2C IP inside the PKUnity-v3 SoC. This I2C bus controller is under AMBA/AXI bus. This driver can also be built as a module. If so, the module will be called i2c-puv3. config I2C_PXA tristate "Intel PXA2XX I2C adapter" depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) help If you have devices in the PXA I2C bus, say yes to this option. This driver can also be built as a module. If so, the module will be called i2c-pxa. config I2C_PXA_PCI def_bool I2C_PXA && X86_32 && PCI && OF config I2C_PXA_SLAVE bool "Intel PXA2XX I2C Slave comms support" depends on I2C_PXA && !X86_32 help Support I2C slave mode communications on the PXA I2C bus. This is necessary for systems where the PXA may be a target on the I2C bus. config I2C_QCOM_GENI tristate "Qualcomm Technologies Inc.'s GENI based I2C controller" depends on ARCH_QCOM || COMPILE_TEST depends on QCOM_GENI_SE help This driver supports GENI serial engine based I2C controller in master mode on the Qualcomm Technologies Inc.'s SoCs. If you say yes to this option, support will be included for the built-in I2C interface on the Qualcomm Technologies Inc.'s SoCs. This driver can also be built as a module. If so, the module will be called i2c-qcom-geni. config I2C_QUP tristate "Qualcomm QUP based I2C controller" depends on ARCH_QCOM || COMPILE_TEST help If you say yes to this option, support will be included for the built-in I2C interface on the Qualcomm SoCs. This driver can also be built as a module. If so, the module will be called i2c-qup. config I2C_RIIC tristate "Renesas RIIC adapter" depends on ARCH_RENESAS || COMPILE_TEST help If you say yes to this option, support will be included for the Renesas RIIC I2C interface. This driver can also be built as a module. If so, the module will be called i2c-riic. config I2C_RK3X tristate "Rockchip RK3xxx I2C adapter" depends on OF && COMMON_CLK help Say Y here to include support for the I2C adapter in Rockchip RK3xxx SoCs. This driver can also be built as a module. If so, the module will be called i2c-rk3x. config HAVE_S3C2410_I2C bool help This will include I2C support for Samsung SoCs. If you want to include I2C support for any machine, kindly select this in the respective Kconfig file. config I2C_S3C2410 tristate "S3C2410 I2C Driver" depends on HAVE_S3C2410_I2C help Say Y here to include support for I2C controller in the Samsung SoCs. config I2C_SH7760 tristate "Renesas SH7760 I2C Controller" depends on CPU_SUBTYPE_SH7760 help This driver supports the 2 I2C interfaces on the Renesas SH7760. This driver can also be built as a module. If so, the module will be called i2c-sh7760. config I2C_SH_MOBILE tristate "SuperH Mobile I2C Controller" depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST help If you say yes to this option, support will be included for the built-in I2C interface on the Renesas SH-Mobile processor. This driver can also be built as a module. If so, the module will be called i2c-sh_mobile. config I2C_SIMTEC tristate "Simtec Generic I2C interface" select I2C_ALGOBIT help If you say yes to this option, support will be included for the Simtec Generic I2C interface. This driver is for the simple I2C bus used on newer Simtec products for general I2C, such as DDC on the Simtec BBD2016A. This driver can also be built as a module. If so, the module will be called i2c-simtec. config I2C_SIRF tristate "CSR SiRFprimaII I2C interface" depends on ARCH_SIRF help If you say yes to this option, support will be included for the CSR SiRFprimaII I2C interface. This driver can also be built as a module. If so, the module will be called i2c-sirf. config I2C_SPRD tristate "Spreadtrum I2C interface" depends on I2C=y && ARCH_SPRD help If you say yes to this option, support will be included for the Spreadtrum I2C interface. config I2C_ST tristate "STMicroelectronics SSC I2C support" depends on ARCH_STI help Enable this option to add support for STMicroelectronics SoCs hardware SSC (Synchronous Serial Controller) as an I2C controller. This driver can also be built as module. If so, the module will be called i2c-st. config I2C_STM32F4 tristate "STMicroelectronics STM32F4 I2C support" depends on ARCH_STM32 || COMPILE_TEST help Enable this option to add support for STM32 I2C controller embedded in STM32F4 SoCs. This driver can also be built as module. If so, the module will be called i2c-stm32f4. config I2C_STM32F7 tristate "STMicroelectronics STM32F7 I2C support" depends on ARCH_STM32 || COMPILE_TEST select I2C_SLAVE help Enable this option to add support for STM32 I2C controller embedded in STM32F7 SoCs. This driver can also be built as module. If so, the module will be called i2c-stm32f7. config I2C_STU300 tristate "ST Microelectronics DDC I2C interface" depends on MACH_U300 default y if MACH_U300 help If you say yes to this option, support will be included for the I2C interface from ST Microelectronics simply called "DDC I2C" supporting both I2C and DDC, used in e.g. the U300 series mobile platforms. This driver can also be built as a module. If so, the module will be called i2c-stu300. config I2C_SUN6I_P2WI tristate "Allwinner sun6i internal P2WI controller" depends on RESET_CONTROLLER depends on MACH_SUN6I || COMPILE_TEST help If you say yes to this option, support will be included for the P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi SOCs. The P2WI looks like an SMBus controller (which supports only byte accesses), except that it only supports one slave device. This interface is used to connect to specific PMIC devices (like the AXP221). config I2C_SYNQUACER tristate "Socionext SynQuacer I2C controller" depends on ARCH_SYNQUACER || COMPILE_TEST help Say Y here to include support for the I2C controller used in some Fujitsu and Socionext SoCs. This driver can also be built as a module. If so, the module will be called i2c-synquacer. config I2C_TEGRA tristate "NVIDIA Tegra internal I2C controller" depends on ARCH_TEGRA help If you say yes to this option, support will be included for the I2C controller embedded in NVIDIA Tegra SOCs config I2C_TEGRA_BPMP tristate "NVIDIA Tegra BPMP I2C controller" depends on TEGRA_BPMP default y help If you say yes to this option, support will be included for the I2C controller embedded in NVIDIA Tegra SoCs accessed via the BPMP. This I2C driver is a 'virtual' I2C driver. The real driver is part of the BPMP firmware, and this driver merely communicates with that real driver. config I2C_UNIPHIER tristate "UniPhier FIFO-less I2C controller" depends on ARCH_UNIPHIER || COMPILE_TEST help If you say yes to this option, support will be included for the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8, or older UniPhier SoCs. config I2C_UNIPHIER_F tristate "UniPhier FIFO-builtin I2C controller" depends on ARCH_UNIPHIER || COMPILE_TEST help If you say yes to this option, support will be included for the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4, PH1-Pro5, or newer UniPhier SoCs. config I2C_VERSATILE tristate "ARM Versatile/Realview I2C bus support" depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST select I2C_ALGOBIT help Say yes if you want to support the I2C serial bus on ARMs Versatile range of platforms. This driver can also be built as a module. If so, the module will be called i2c-versatile. config I2C_WMT tristate "Wondermedia WM8xxx SoC I2C bus support" depends on ARCH_VT8500 help Say yes if you want to support the I2C bus on Wondermedia 8xxx-series SoCs. This driver can also be built as a module. If so, the module will be called i2c-wmt. config I2C_OCTEON tristate "Cavium OCTEON I2C bus support" depends on CAVIUM_OCTEON_SOC help Say yes if you want to support the I2C serial bus on Cavium OCTEON SOC. This driver can also be built as a module. If so, the module will be called i2c-octeon. config I2C_THUNDERX tristate "Cavium ThunderX I2C bus support" depends on 64BIT && PCI && (ARM64 || COMPILE_TEST) select I2C_SMBUS help Say yes if you want to support the I2C serial bus on Cavium ThunderX SOC. This driver can also be built as a module. If so, the module will be called i2c-thunderx. config I2C_XILINX tristate "Xilinx I2C Controller" depends on HAS_IOMEM help If you say yes to this option, support will be included for the Xilinx I2C controller. This driver can also be built as a module. If so, the module will be called xilinx_i2c. config I2C_XLR tristate "Netlogic XLR and Sigma Designs I2C support" depends on CPU_XLR || ARCH_TANGO help This driver enables support for the on-chip I2C interface of the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs. This driver can also be built as a module. If so, the module will be called i2c-xlr. config I2C_XLP9XX tristate "XLP9XX I2C support" depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST help This driver enables support for the on-chip I2C interface of the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors. This driver can also be built as a module. If so, the module will be called i2c-xlp9xx. config I2C_RCAR tristate "Renesas R-Car I2C Controller" depends on ARCH_RENESAS || COMPILE_TEST select I2C_SLAVE select RESET_CONTROLLER if ARCH_RCAR_GEN3 help If you say yes to this option, support will be included for the R-Car I2C controller. This driver can also be built as a module. If so, the module will be called i2c-rcar. comment "External I2C/SMBus adapter drivers" config I2C_DIOLAN_U2C tristate "Diolan U2C-12 USB adapter" depends on USB help If you say yes to this option, support will be included for Diolan U2C-12, a USB to I2C interface. This driver can also be built as a module. If so, the module will be called i2c-diolan-u2c. config I2C_DLN2 tristate "Diolan DLN-2 USB I2C adapter" depends on MFD_DLN2 help If you say yes to this option, support will be included for Diolan DLN2, a USB to I2C interface. This driver can also be built as a module. If so, the module will be called i2c-dln2. config I2C_PARPORT tristate "Parallel port adapter" depends on PARPORT select I2C_ALGOBIT select I2C_SMBUS help This supports parallel port I2C adapters such as the ones made by Philips or Velleman, Analog Devices evaluation boards, and more. Basically any adapter using the parallel port as an I2C bus with no extra chipset is supported by this driver, or could be. This driver is a replacement for (and was inspired by) an older driver named i2c-philips-par. The new driver supports more devices, and makes it easier to add support for new devices. An adapter type parameter is now mandatory. Please read the file Documentation/i2c/busses/i2c-parport.rst for details. Another driver exists, named i2c-parport-light, which doesn't depend on the parport driver. This is meant for embedded systems. Don't say Y here if you intend to say Y or M there. This support is also available as a module. If so, the module will be called i2c-parport. config I2C_PARPORT_LIGHT tristate "Parallel port adapter (light)" select I2C_ALGOBIT select I2C_SMBUS help This supports parallel port I2C adapters such as the ones made by Philips or Velleman, Analog Devices evaluation boards, and more. Basically any adapter using the parallel port as an I2C bus with no extra chipset is supported by this driver, or could be. This driver is a light version of i2c-parport. It doesn't depend on the parport driver, and uses direct I/O access instead. This might be preferred on embedded systems where wasting memory for the clean but heavy parport handling is not an option. The drawback is a reduced portability and the impossibility to daisy-chain other parallel port devices. Don't say Y here if you said Y or M to i2c-parport. Saying M to both is possible but both modules should not be loaded at the same time. This support is also available as a module. If so, the module will be called i2c-parport-light. config I2C_ROBOTFUZZ_OSIF tristate "RobotFuzz Open Source InterFace USB adapter" depends on USB help If you say yes to this option, support will be included for the RobotFuzz Open Source InterFace USB to I2C interface. This driver can also be built as a module. If so, the module will be called i2c-osif. config I2C_TAOS_EVM tristate "TAOS evaluation module" depends on TTY select SERIO select SERIO_SERPORT default n help This supports TAOS evaluation modules on serial port. In order to use this driver, you will need the inputattach tool, which is part of the input-utils package. If unsure, say N. This support is also available as a module. If so, the module will be called i2c-taos-evm. config I2C_TINY_USB tristate "Tiny-USB adapter" depends on USB help If you say yes to this option, support will be included for the i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See http://www.harbaum.org/till/i2c_tiny_usb for hardware details. This driver can also be built as a module. If so, the module will be called i2c-tiny-usb. config I2C_VIPERBOARD tristate "Viperboard I2C master support" depends on MFD_VIPERBOARD && USB help Say yes here to access the I2C part of the Nano River Technologies Viperboard as I2C master. See viperboard API specification and Nano River Tech's viperboard.h for detailed meaning of the module parameters. comment "Other I2C/SMBus bus drivers" config I2C_ACORN tristate "Acorn IOC/IOMD I2C bus support" depends on ARCH_ACORN default y select I2C_ALGOBIT help Say yes if you want to support the I2C bus on Acorn platforms. If you don't know, say Y. config I2C_ELEKTOR tristate "Elektor ISA card" depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP select I2C_ALGOPCF help This supports the PCF8584 ISA bus I2C adapter. Say Y if you own such an adapter. This support is also available as a module. If so, the module will be called i2c-elektor. config I2C_ICY tristate "ICY Zorro card" depends on ZORRO select I2C_ALGOPCF help This supports the PCF8584 Zorro bus I2C adapter, known as ICY. Say Y if you own such an adapter. This support is also available as a module. If so, the module will be called i2c-icy. If you have a 2019 edition board with an LTC2990 sensor at address 0x4c, loading the module 'ltc2990' is sufficient to enable it. config I2C_MLXCPLD tristate "Mellanox I2C driver" depends on X86_64 help This exposes the Mellanox platform I2C busses to the linux I2C layer for X86 based systems. Controller is implemented as CPLD logic. This driver can also be built as a module. If so, the module will be called as i2c-mlxcpld. config I2C_PCA_ISA tristate "PCA9564/PCA9665 on an ISA bus" depends on ISA select I2C_ALGOPCA default n help This driver supports ISA boards using the Philips PCA9564/PCA9665 parallel bus to I2C bus controller. This driver can also be built as a module. If so, the module will be called i2c-pca-isa. This device is almost undetectable and using this driver on a system which doesn't have this device will result in long delays when I2C/SMBus chip drivers are loaded (e.g. at boot time). If unsure, say N. config I2C_SIBYTE tristate "SiByte SMBus interface" depends on SIBYTE_SB1xxx_SOC help Supports the SiByte SOC on-chip I2C interfaces (2 channels). config I2C_CROS_EC_TUNNEL tristate "ChromeOS EC tunnel I2C bus" depends on CROS_EC help If you say yes here you get an I2C bus that will tunnel i2c commands through to the other side of the ChromeOS EC to the i2c bus connected there. This will work whatever the interface used to talk to the EC (SPI, I2C or LPC). config I2C_XGENE_SLIMPRO tristate "APM X-Gene SoC I2C SLIMpro devices support" depends on ARCH_XGENE && MAILBOX help Enable I2C bus access using the APM X-Gene SoC SLIMpro co-processor. The I2C device access the I2C bus via the X-Gene to SLIMpro (On chip coprocessor) mailbox mechanism. If unsure, say N. config SCx200_ACB tristate "Geode ACCESS.bus support" depends on X86_32 && PCI help Enable the use of the ACCESS.bus controllers on the Geode SCx200 and SC1100 processors and the CS5535 and CS5536 Geode companion devices. If you don't know what to do here, say N. This support is also available as a module. If so, the module will be called scx200_acb. config I2C_OPAL tristate "IBM OPAL I2C driver" depends on PPC_POWERNV default y help This exposes the PowerNV platform i2c busses to the linux i2c layer, the driver is based on the OPAL interfaces. This driver can also be built as a module. If so, the module will be called as i2c-opal. config I2C_ZX2967 tristate "ZTE ZX2967 I2C support" depends on ARCH_ZX default y help Selecting this option will add ZX2967 I2C driver. This driver can also be built as a module. If so, the module will be called i2c-zx2967. config I2C_FSI tristate "FSI I2C driver" depends on FSI help Driver for FSI bus attached I2C masters. These are I2C masters that are connected to the system over an FSI bus, instead of the more common PCI or MMIO interface. This driver can also be built as a module. If so, the module will be called as i2c-fsi. endmenu i2c/busses/Makefile 0000644 00000014020 14722053666 0010175 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the i2c bus drivers. # # ACPI drivers obj-$(CONFIG_I2C_SCMI) += i2c-scmi.o # PC SMBus host controller drivers obj-$(CONFIG_I2C_ALI1535) += i2c-ali1535.o obj-$(CONFIG_I2C_ALI1563) += i2c-ali1563.o obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o obj-$(CONFIG_I2C_CHT_WC) += i2c-cht-wc.o obj-$(CONFIG_I2C_I801) += i2c-i801.o obj-$(CONFIG_I2C_ISCH) += i2c-isch.o obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o obj-$(CONFIG_I2C_NFORCE2_S4985) += i2c-nforce2-s4985.o obj-$(CONFIG_I2C_NVIDIA_GPU) += i2c-nvidia-gpu.o obj-$(CONFIG_I2C_PIIX4) += i2c-piix4.o obj-$(CONFIG_I2C_SIS5595) += i2c-sis5595.o obj-$(CONFIG_I2C_SIS630) += i2c-sis630.o obj-$(CONFIG_I2C_SIS96X) += i2c-sis96x.o obj-$(CONFIG_I2C_VIA) += i2c-via.o obj-$(CONFIG_I2C_VIAPRO) += i2c-viapro.o # Mac SMBus host controller drivers obj-$(CONFIG_I2C_HYDRA) += i2c-hydra.o obj-$(CONFIG_I2C_POWERMAC) += i2c-powermac.o # Embedded system I2C/SMBus host controller drivers obj-$(CONFIG_I2C_ALTERA) += i2c-altera.o obj-$(CONFIG_I2C_AMD_MP2) += i2c-amd-mp2-pci.o i2c-amd-mp2-plat.o obj-$(CONFIG_I2C_ASPEED) += i2c-aspeed.o obj-$(CONFIG_I2C_AT91) += i2c-at91.o i2c-at91-objs := i2c-at91-core.o i2c-at91-master.o ifeq ($(CONFIG_I2C_AT91_SLAVE_EXPERIMENTAL),y) i2c-at91-objs += i2c-at91-slave.o endif obj-$(CONFIG_I2C_AU1550) += i2c-au1550.o obj-$(CONFIG_I2C_AXXIA) += i2c-axxia.o obj-$(CONFIG_I2C_BCM2835) += i2c-bcm2835.o obj-$(CONFIG_I2C_BCM_IPROC) += i2c-bcm-iproc.o obj-$(CONFIG_I2C_CADENCE) += i2c-cadence.o obj-$(CONFIG_I2C_CBUS_GPIO) += i2c-cbus-gpio.o obj-$(CONFIG_I2C_CPM) += i2c-cpm.o obj-$(CONFIG_I2C_DAVINCI) += i2c-davinci.o obj-$(CONFIG_I2C_DESIGNWARE_CORE) += i2c-designware-core.o i2c-designware-core-objs := i2c-designware-common.o i2c-designware-master.o ifeq ($(CONFIG_I2C_DESIGNWARE_SLAVE),y) i2c-designware-core-objs += i2c-designware-slave.o endif obj-$(CONFIG_I2C_DESIGNWARE_PLATFORM) += i2c-designware-platform.o i2c-designware-platform-objs := i2c-designware-platdrv.o i2c-designware-platform-$(CONFIG_I2C_DESIGNWARE_BAYTRAIL) += i2c-designware-baytrail.o obj-$(CONFIG_I2C_DESIGNWARE_PCI) += i2c-designware-pci.o i2c-designware-pci-objs := i2c-designware-pcidrv.o obj-$(CONFIG_I2C_DIGICOLOR) += i2c-digicolor.o obj-$(CONFIG_I2C_EFM32) += i2c-efm32.o obj-$(CONFIG_I2C_EG20T) += i2c-eg20t.o obj-$(CONFIG_I2C_EMEV2) += i2c-emev2.o obj-$(CONFIG_I2C_EXYNOS5) += i2c-exynos5.o obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o obj-$(CONFIG_I2C_HIGHLANDER) += i2c-highlander.o obj-$(CONFIG_I2C_HIX5HD2) += i2c-hix5hd2.o obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o obj-$(CONFIG_I2C_IMG) += i2c-img-scb.o obj-$(CONFIG_I2C_IMX) += i2c-imx.o obj-$(CONFIG_I2C_IMX_LPI2C) += i2c-imx-lpi2c.o obj-$(CONFIG_I2C_IOP3XX) += i2c-iop3xx.o obj-$(CONFIG_I2C_JZ4780) += i2c-jz4780.o obj-$(CONFIG_I2C_KEMPLD) += i2c-kempld.o obj-$(CONFIG_I2C_LPC2K) += i2c-lpc2k.o obj-$(CONFIG_I2C_MESON) += i2c-meson.o obj-$(CONFIG_I2C_MPC) += i2c-mpc.o obj-$(CONFIG_I2C_MT65XX) += i2c-mt65xx.o obj-$(CONFIG_I2C_MT7621) += i2c-mt7621.o obj-$(CONFIG_I2C_MV64XXX) += i2c-mv64xxx.o obj-$(CONFIG_I2C_MXS) += i2c-mxs.o obj-$(CONFIG_I2C_NOMADIK) += i2c-nomadik.o obj-$(CONFIG_I2C_OCORES) += i2c-ocores.o obj-$(CONFIG_I2C_OMAP) += i2c-omap.o obj-$(CONFIG_I2C_OWL) += i2c-owl.o obj-$(CONFIG_I2C_PASEMI) += i2c-pasemi.o obj-$(CONFIG_I2C_PCA_PLATFORM) += i2c-pca-platform.o obj-$(CONFIG_I2C_PMCMSP) += i2c-pmcmsp.o obj-$(CONFIG_I2C_PNX) += i2c-pnx.o obj-$(CONFIG_I2C_PUV3) += i2c-puv3.o obj-$(CONFIG_I2C_PXA) += i2c-pxa.o obj-$(CONFIG_I2C_PXA_PCI) += i2c-pxa-pci.o obj-$(CONFIG_I2C_QCOM_GENI) += i2c-qcom-geni.o obj-$(CONFIG_I2C_QUP) += i2c-qup.o obj-$(CONFIG_I2C_RIIC) += i2c-riic.o obj-$(CONFIG_I2C_RK3X) += i2c-rk3x.o obj-$(CONFIG_I2C_S3C2410) += i2c-s3c2410.o obj-$(CONFIG_I2C_SH7760) += i2c-sh7760.o obj-$(CONFIG_I2C_SH_MOBILE) += i2c-sh_mobile.o obj-$(CONFIG_I2C_SIMTEC) += i2c-simtec.o obj-$(CONFIG_I2C_SIRF) += i2c-sirf.o obj-$(CONFIG_I2C_SPRD) += i2c-sprd.o obj-$(CONFIG_I2C_ST) += i2c-st.o obj-$(CONFIG_I2C_STM32F4) += i2c-stm32f4.o i2c-stm32f7-drv-objs := i2c-stm32f7.o i2c-stm32.o obj-$(CONFIG_I2C_STM32F7) += i2c-stm32f7-drv.o obj-$(CONFIG_I2C_STU300) += i2c-stu300.o obj-$(CONFIG_I2C_SUN6I_P2WI) += i2c-sun6i-p2wi.o obj-$(CONFIG_I2C_SYNQUACER) += i2c-synquacer.o obj-$(CONFIG_I2C_TEGRA) += i2c-tegra.o obj-$(CONFIG_I2C_TEGRA_BPMP) += i2c-tegra-bpmp.o obj-$(CONFIG_I2C_UNIPHIER) += i2c-uniphier.o obj-$(CONFIG_I2C_UNIPHIER_F) += i2c-uniphier-f.o obj-$(CONFIG_I2C_VERSATILE) += i2c-versatile.o obj-$(CONFIG_I2C_WMT) += i2c-wmt.o i2c-octeon-objs := i2c-octeon-core.o i2c-octeon-platdrv.o obj-$(CONFIG_I2C_OCTEON) += i2c-octeon.o i2c-thunderx-objs := i2c-octeon-core.o i2c-thunderx-pcidrv.o obj-$(CONFIG_I2C_THUNDERX) += i2c-thunderx.o obj-$(CONFIG_I2C_XILINX) += i2c-xiic.o obj-$(CONFIG_I2C_XLR) += i2c-xlr.o obj-$(CONFIG_I2C_XLP9XX) += i2c-xlp9xx.o obj-$(CONFIG_I2C_RCAR) += i2c-rcar.o obj-$(CONFIG_I2C_ZX2967) += i2c-zx2967.o # External I2C/SMBus adapter drivers obj-$(CONFIG_I2C_DIOLAN_U2C) += i2c-diolan-u2c.o obj-$(CONFIG_I2C_DLN2) += i2c-dln2.o obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o obj-$(CONFIG_I2C_PARPORT_LIGHT) += i2c-parport-light.o obj-$(CONFIG_I2C_ROBOTFUZZ_OSIF) += i2c-robotfuzz-osif.o obj-$(CONFIG_I2C_TAOS_EVM) += i2c-taos-evm.o obj-$(CONFIG_I2C_TINY_USB) += i2c-tiny-usb.o obj-$(CONFIG_I2C_VIPERBOARD) += i2c-viperboard.o # Other I2C/SMBus bus drivers obj-$(CONFIG_I2C_ACORN) += i2c-acorn.o obj-$(CONFIG_I2C_BCM_KONA) += i2c-bcm-kona.o obj-$(CONFIG_I2C_BRCMSTB) += i2c-brcmstb.o obj-$(CONFIG_I2C_CROS_EC_TUNNEL) += i2c-cros-ec-tunnel.o obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o obj-$(CONFIG_I2C_ICY) += i2c-icy.o obj-$(CONFIG_I2C_MLXCPLD) += i2c-mlxcpld.o obj-$(CONFIG_I2C_OPAL) += i2c-opal.o obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o obj-$(CONFIG_I2C_SIBYTE) += i2c-sibyte.o obj-$(CONFIG_I2C_XGENE_SLIMPRO) += i2c-xgene-slimpro.o obj-$(CONFIG_SCx200_ACB) += scx200_acb.o obj-$(CONFIG_I2C_FSI) += i2c-fsi.o ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG i2c/Makefile 0000644 00000001157 14722053666 0006700 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the i2c core. # obj-$(CONFIG_I2C_BOARDINFO) += i2c-boardinfo.o obj-$(CONFIG_I2C) += i2c-core.o i2c-core-objs := i2c-core-base.o i2c-core-smbus.o i2c-core-$(CONFIG_ACPI) += i2c-core-acpi.o i2c-core-$(CONFIG_I2C_SLAVE) += i2c-core-slave.o i2c-core-$(CONFIG_OF) += i2c-core-of.o obj-$(CONFIG_I2C_SMBUS) += i2c-smbus.o obj-$(CONFIG_I2C_CHARDEV) += i2c-dev.o obj-$(CONFIG_I2C_MUX) += i2c-mux.o obj-y += algos/ busses/ muxes/ obj-$(CONFIG_I2C_STUB) += i2c-stub.o obj-$(CONFIG_I2C_SLAVE_EEPROM) += i2c-slave-eeprom.o ccflags-$(CONFIG_I2C_DEBUG_CORE) := -DDEBUG i2c/algos/Kconfig 0000644 00000000472 14722053666 0007647 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # I2C algorithm drivers configuration # menu "I2C Algorithms" visible if !I2C_HELPER_AUTO config I2C_ALGOBIT tristate "I2C bit-banging interfaces" config I2C_ALGOPCF tristate "I2C PCF 8584 interfaces" config I2C_ALGOPCA tristate "I2C PCA 9564 interfaces" endmenu i2c/algos/Makefile 0000644 00000000400 14722053666 0007773 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the i2c algorithms # obj-$(CONFIG_I2C_ALGOBIT) += i2c-algo-bit.o obj-$(CONFIG_I2C_ALGOPCF) += i2c-algo-pcf.o obj-$(CONFIG_I2C_ALGOPCA) += i2c-algo-pca.o ccflags-$(CONFIG_I2C_DEBUG_ALGO) := -DDEBUG tee/Kconfig 0000644 00000000651 14722053666 0006641 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Generic Trusted Execution Environment Configuration config TEE tristate "Trusted Execution Environment support" depends on HAVE_ARM_SMCCC || COMPILE_TEST select DMA_SHARED_BUFFER select GENERIC_ALLOCATOR help This implements a generic interface towards a Trusted Execution Environment (TEE). if TEE menu "TEE drivers" source "drivers/tee/optee/Kconfig" endmenu endif tee/optee/Kconfig 0000644 00000000675 14722053666 0007763 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # OP-TEE Trusted Execution Environment Configuration config OPTEE tristate "OP-TEE" depends on HAVE_ARM_SMCCC depends on MMU help This implements the OP-TEE Trusted Execution Environment (TEE) driver. config OPTEE_SHM_NUM_PRIV_PAGES int "Private Shared Memory Pages" default 1 depends on OPTEE help This sets the number of private shared memory pages to be used by OP-TEE TEE driver. tee/optee/Makefile 0000644 00000000305 14722053666 0010106 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_OPTEE) += optee.o optee-objs += core.o optee-objs += call.o optee-objs += rpc.o optee-objs += supp.o optee-objs += shm_pool.o optee-objs += device.o tee/Makefile 0000644 00000000244 14722053666 0006774 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TEE) += tee.o tee-objs += tee_core.o tee-objs += tee_shm.o tee-objs += tee_shm_pool.o obj-$(CONFIG_OPTEE) += optee/ auxdisplay/Kconfig 0000644 00000040734 14722053666 0010255 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.rst. # # Auxiliary display drivers configuration. # menuconfig AUXDISPLAY bool "Auxiliary Display support" ---help--- Say Y here to get to see options for auxiliary display drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if AUXDISPLAY config HD44780 tristate "HD44780 Character LCD support" depends on GPIOLIB || COMPILE_TEST select CHARLCD ---help--- Enable support for Character LCDs using a HD44780 controller. The LCD is accessible through the /dev/lcd char device (10, 156). This code can either be compiled as a module, or linked into the kernel and started at boot. If you don't understand what all this is about, say N. config KS0108 tristate "KS0108 LCD Controller" depends on PARPORT_PC default n ---help--- If you have a LCD controlled by one or more KS0108 controllers, say Y. You will need also another more specific driver for your LCD. Depends on Parallel Port support. If you say Y at parport, you will be able to compile this as a module (M) and built-in as well (Y). To compile this as a module, choose M here: the module will be called ks0108. If unsure, say N. config KS0108_PORT hex "Parallel port where the LCD is connected" depends on KS0108 default 0x378 ---help--- The address of the parallel port where the LCD is connected. The first standard parallel port address is 0x378. The second standard parallel port address is 0x278. The third standard parallel port address is 0x3BC. You can specify a different address if you need. If you don't know what I'm talking about, load the parport module, and execute "dmesg" or "cat /proc/ioports". You can see there how many parallel ports are present and which address each one has. Usually you only need to use 0x378. If you compile this as a module, you can still override this using the module parameters. config KS0108_DELAY int "Delay between each control writing (microseconds)" depends on KS0108 default "2" ---help--- Amount of time the ks0108 should wait between each control write to the parallel port. If your LCD seems to miss random writings, increment this. If you don't know what I'm talking about, ignore it. If you compile this as a module, you can still override this value using the module parameters. config CFAG12864B tristate "CFAG12864B LCD" depends on X86 depends on FB depends on KS0108 select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS default n ---help--- If you have a Crystalfontz 128x64 2-color LCD, cfag12864b Series, say Y. You also need the ks0108 LCD Controller driver. For help about how to wire your LCD to the parallel port, check Documentation/admin-guide/auxdisplay/cfag12864b.rst Depends on the x86 arch and the framebuffer support. The LCD framebuffer driver can be attached to a console. It will work fine. However, you can't attach it to the fbdev driver of the xorg server. To compile this as a module, choose M here: the modules will be called cfag12864b and cfag12864bfb. If unsure, say N. config CFAG12864B_RATE int "Refresh rate (hertz)" depends on CFAG12864B default "20" ---help--- Refresh rate of the LCD. As the LCD is not memory mapped, the driver has to make the work by software. This means you should be careful setting this value higher. If your CPUs are really slow or you feel the system is slowed down, decrease the value. Be careful modifying this value to a very high value: You can freeze the computer, or the LCD maybe can't draw as fast as you are requesting. If you don't know what I'm talking about, ignore it. If you compile this as a module, you can still override this value using the module parameters. config IMG_ASCII_LCD tristate "Imagination Technologies ASCII LCD Display" depends on HAS_IOMEM default y if MIPS_MALTA select MFD_SYSCON help Enable this to support the simple ASCII LCD displays found on development boards such as the MIPS Boston, MIPS Malta & MIPS SEAD3 from Imagination Technologies. config HT16K33 tristate "Holtek Ht16K33 LED controller with keyscan" depends on FB && OF && I2C && INPUT select FB_SYS_FOPS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select INPUT_MATRIXKMAP select FB_BACKLIGHT help Say yes here to add support for Holtek HT16K33, RAM mapping 16*8 LED controller driver with keyscan. config ARM_CHARLCD bool "ARM Ltd. Character LCD Driver" depends on PLAT_VERSATILE help This is a driver for the character LCD found on the ARM Ltd. Versatile and RealView Platform Baseboards. It doesn't do very much more than display the text "ARM Linux" on the first line and the Linux version on the second line, but that's still useful. menuconfig PARPORT_PANEL tristate "Parallel port LCD/Keypad Panel support" depends on PARPORT select CHARLCD ---help--- Say Y here if you have an HD44780 or KS-0074 LCD connected to your parallel port. This driver also features 4 and 6-key keypads. The LCD is accessible through the /dev/lcd char device (10, 156), and the keypad through /dev/keypad (10, 185). This code can either be compiled as a module, or linked into the kernel and started at boot. If you don't understand what all this is about, say N. if PARPORT_PANEL config PANEL_PARPORT int "Default parallel port number (0=LPT1)" range 0 255 default "0" ---help--- This is the index of the parallel port the panel is connected to. One driver instance only supports one parallel port, so if your keypad and LCD are connected to two separate ports, you have to start two modules with different arguments. Numbering starts with '0' for LPT1, and so on. config PANEL_PROFILE int "Default panel profile (0-5, 0=custom)" range 0 5 default "5" ---help--- To ease configuration, the driver supports different configuration profiles for past and recent wirings. These profiles can also be used to define an approximative configuration, completed by a few other options. Here are the profiles : 0 = custom (see further) 1 = 2x16 parallel LCD, old keypad 2 = 2x16 serial LCD (KS-0074), new keypad 3 = 2x16 parallel LCD (Hantronix), no keypad 4 = 2x16 parallel LCD (Nexcom NSA1045) with Nexcom's keypad 5 = 2x40 parallel LCD (old one), with old keypad Custom configurations allow you to define how your display is wired to the parallel port, and how it works. This is only intended for experts. config PANEL_KEYPAD depends on PANEL_PROFILE="0" int "Keypad type (0=none, 1=old 6 keys, 2=new 6 keys, 3=Nexcom 4 keys)" range 0 3 default 0 ---help--- This enables and configures a keypad connected to the parallel port. The keys will be read from character device 10,185. Valid values are : 0 : do not enable this driver 1 : old 6 keys keypad 2 : new 6 keys keypad, as used on the server at www.ant-computing.com 3 : Nexcom NSA1045's 4 keys keypad New profiles can be described in the driver source. The driver also supports simultaneous keys pressed when the keypad supports them. config PANEL_LCD depends on PANEL_PROFILE="0" int "LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom)" range 0 5 default 0 ---help--- This enables and configures an LCD connected to the parallel port. The driver includes an interpreter for escape codes starting with '\e[L' which are specific to the LCD, and a few ANSI codes. The driver will be registered as character device 10,156, usually under the name '/dev/lcd'. There are a total of 6 supported types : 0 : do not enable the driver 1 : custom configuration and wiring (see further) 2 : 2x16 & 2x40 parallel LCD (old wiring) 3 : 2x16 serial LCD (KS-0074 based) 4 : 2x16 parallel LCD (Hantronix wiring) 5 : 2x16 parallel LCD (Nexcom wiring) When type '1' is specified, other options will appear to configure more precise aspects (wiring, dimensions, protocol, ...). Please note that those values changed from the 2.4 driver for better consistency. config PANEL_LCD_HEIGHT depends on PANEL_PROFILE="0" && PANEL_LCD="1" int "Number of lines on the LCD (1-2)" range 1 2 default 2 ---help--- This is the number of visible character lines on the LCD in custom profile. It can either be 1 or 2. config PANEL_LCD_WIDTH depends on PANEL_PROFILE="0" && PANEL_LCD="1" int "Number of characters per line on the LCD (1-40)" range 1 40 default 40 ---help--- This is the number of characters per line on the LCD in custom profile. Common values are 16,20,24,40. config PANEL_LCD_BWIDTH depends on PANEL_PROFILE="0" && PANEL_LCD="1" int "Internal LCD line width (1-40, 40 by default)" range 1 40 default 40 ---help--- Most LCDs use a standard controller which supports hardware lines of 40 characters, although sometimes only 16, 20 or 24 of them are really wired to the terminal. This results in some non-visible but addressable characters, and is the case for most parallel LCDs. Other LCDs, and some serial ones, however, use the same line width internally as what is visible. The KS0074 for example, uses 16 characters per line for 16 visible characters per line. This option lets you configure the value used by your LCD in 'custom' profile. If you don't know, put '40' here. config PANEL_LCD_HWIDTH depends on PANEL_PROFILE="0" && PANEL_LCD="1" int "Hardware LCD line width (1-64, 64 by default)" range 1 64 default 64 ---help--- Most LCDs use a single address bit to differentiate line 0 and line 1. Since some of them need to be able to address 40 chars with the lower bits, they often use the immediately superior power of 2, which is 64, to address the next line. If you don't know what your LCD uses, in doubt let 16 here for a 2x16, and 64 here for a 2x40. config PANEL_LCD_CHARSET depends on PANEL_PROFILE="0" && PANEL_LCD="1" int "LCD character set (0=normal, 1=KS0074)" range 0 1 default 0 ---help--- Some controllers such as the KS0074 use a somewhat strange character set where many symbols are at unusual places. The driver knows how to map 'standard' ASCII characters to the character sets used by these controllers. Valid values are : 0 : normal (untranslated) character set 1 : KS0074 character set If you don't know, use the normal one (0). config PANEL_LCD_PROTO depends on PANEL_PROFILE="0" && PANEL_LCD="1" int "LCD communication mode (0=parallel 8 bits, 1=serial)" range 0 1 default 0 ---help--- This driver now supports any serial or parallel LCD wired to a parallel port. But before assigning signals, the driver needs to know if it will be driving a serial LCD or a parallel one. Serial LCDs only use 2 wires (SDA/SCL), while parallel ones use 2 or 3 wires for the control signals (E, RS, sometimes RW), and 4 or 8 for the data. Use 0 here for a 8 bits parallel LCD, and 1 for a serial LCD. config PANEL_LCD_PIN_E depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0" int "Parallel port pin number & polarity connected to the LCD E signal (-17...17) " range -17 17 default 14 ---help--- This describes the number of the parallel port pin to which the LCD 'E' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'E' pin in custom profile is '14' (AUTOFEED). config PANEL_LCD_PIN_RS depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0" int "Parallel port pin number & polarity connected to the LCD RS signal (-17...17) " range -17 17 default 17 ---help--- This describes the number of the parallel port pin to which the LCD 'RS' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'RS' pin in custom profile is '17' (SELECT IN). config PANEL_LCD_PIN_RW depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO="0" int "Parallel port pin number & polarity connected to the LCD RW signal (-17...17) " range -17 17 default 16 ---help--- This describes the number of the parallel port pin to which the LCD 'RW' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'RW' pin in custom profile is '16' (INIT). config PANEL_LCD_PIN_SCL depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0" int "Parallel port pin number & polarity connected to the LCD SCL signal (-17...17) " range -17 17 default 1 ---help--- This describes the number of the parallel port pin to which the serial LCD 'SCL' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'SCL' pin in custom profile is '1' (STROBE). config PANEL_LCD_PIN_SDA depends on PANEL_PROFILE="0" && PANEL_LCD="1" && PANEL_LCD_PROTO!="0" int "Parallel port pin number & polarity connected to the LCD SDA signal (-17...17) " range -17 17 default 2 ---help--- This describes the number of the parallel port pin to which the serial LCD 'SDA' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'SDA' pin in custom profile is '2' (D0). config PANEL_LCD_PIN_BL depends on PANEL_PROFILE="0" && PANEL_LCD="1" int "Parallel port pin number & polarity connected to the LCD backlight signal (-17...17) " range -17 17 default 0 ---help--- This describes the number of the parallel port pin to which the LCD 'BL' signal has been connected. It can be : 0 : no connection (eg: connected to ground) 1..17 : directly connected to any of these pins on the DB25 plug -1..-17 : connected to the same pin through an inverter (eg: transistor). Default for the 'BL' pin in custom profile is '0' (uncontrolled). endif # PARPORT_PANEL config PANEL_CHANGE_MESSAGE bool "Change LCD initialization message ?" depends on CHARLCD default "n" ---help--- This allows you to replace the boot message indicating the kernel version and the driver version with a custom message. This is useful on appliances where a simple 'Starting system' message can be enough to stop a customer from worrying. If you say 'Y' here, you'll be able to choose a message yourself. Otherwise, say 'N' and keep the default message with the version. config PANEL_BOOT_MESSAGE depends on PANEL_CHANGE_MESSAGE="y" string "New initialization message" default "" ---help--- This allows you to replace the boot message indicating the kernel version and the driver version with a custom message. This is useful on appliances where a simple 'Starting system' message can be enough to stop a customer from worrying. An empty message will only clear the display at driver init time. Any other printf()-formatted message is valid with newline and escape codes. choice prompt "Backlight initial state" default CHARLCD_BL_FLASH ---help--- Select the initial backlight state on boot or module load. Previously, there was no option for this: the backlight flashed briefly on init. Now you can also turn it off/on. config CHARLCD_BL_OFF bool "Off" help Backlight is initially turned off config CHARLCD_BL_ON bool "On" help Backlight is initially turned on config CHARLCD_BL_FLASH bool "Flash" help Backlight is flashed briefly on init endchoice endif # AUXDISPLAY config PANEL tristate "Parallel port LCD/Keypad Panel support (OLD OPTION)" depends on PARPORT select AUXDISPLAY select PARPORT_PANEL config CHARLCD tristate "Character LCD core support" if COMPILE_TEST auxdisplay/Makefile 0000644 00000000654 14722053666 0010407 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel auxiliary displays device drivers. # obj-$(CONFIG_CHARLCD) += charlcd.o obj-$(CONFIG_ARM_CHARLCD) += arm-charlcd.o obj-$(CONFIG_KS0108) += ks0108.o obj-$(CONFIG_CFAG12864B) += cfag12864b.o cfag12864bfb.o obj-$(CONFIG_IMG_ASCII_LCD) += img-ascii-lcd.o obj-$(CONFIG_HD44780) += hd44780.o obj-$(CONFIG_HT16K33) += ht16k33.o obj-$(CONFIG_PARPORT_PANEL) += panel.o ssb/Kconfig 0000644 00000007002 14722053666 0006650 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SSB_POSSIBLE bool depends on HAS_IOMEM && HAS_DMA default y menuconfig SSB tristate "Sonics Silicon Backplane support" depends on SSB_POSSIBLE help Support for the Sonics Silicon Backplane bus. You only need to enable this option, if you are configuring a kernel for an embedded system with this bus. It will be auto-selected if needed in other environments. The module will be called ssb. If unsure, say N. if SSB # Common SPROM support routines config SSB_SPROM bool # Support for Block-I/O. SELECT this from the driver that needs it. config SSB_BLOCKIO bool depends on SSB config SSB_PCIHOST_POSSIBLE bool depends on SSB && (PCI = y || PCI = SSB) && (PCI_DRIVERS_LEGACY || !MIPS) default y config SSB_PCIHOST bool "Support for SSB on PCI-bus host" depends on SSB_PCIHOST_POSSIBLE select SSB_SPROM default y help Support for a Sonics Silicon Backplane on top of a PCI device. If unsure, say Y config SSB_B43_PCI_BRIDGE bool depends on SSB_PCIHOST default n config SSB_PCMCIAHOST_POSSIBLE bool depends on SSB && (PCMCIA = y || PCMCIA = SSB) default y config SSB_PCMCIAHOST bool "Support for SSB on PCMCIA-bus host" depends on SSB_PCMCIAHOST_POSSIBLE select SSB_SPROM help Support for a Sonics Silicon Backplane on top of a PCMCIA device. If unsure, say N config SSB_SDIOHOST_POSSIBLE bool depends on SSB && (MMC = y || MMC = SSB) default y config SSB_SDIOHOST bool "Support for SSB on SDIO-bus host" depends on SSB_SDIOHOST_POSSIBLE help Support for a Sonics Silicon Backplane on top of a SDIO device. If unsure, say N config SSB_HOST_SOC bool "Support for SSB bus on SoC" depends on SSB && BCM47XX_NVRAM select SSB_SPROM help Host interface for a SSB directly mapped into memory. This is for some Broadcom SoCs from the BCM47xx and BCM53xx lines. If unsure, say N config SSB_SERIAL bool depends on SSB # ChipCommon and ExtIf serial support routines. config SSB_DRIVER_PCICORE_POSSIBLE bool depends on SSB_PCIHOST default y config SSB_DRIVER_PCICORE bool "SSB PCI core driver" depends on SSB_DRIVER_PCICORE_POSSIBLE help Driver for the Sonics Silicon Backplane attached Broadcom PCI core. If unsure, say Y config SSB_PCICORE_HOSTMODE bool "Hostmode support for SSB PCI core" depends on SSB_DRIVER_PCICORE && SSB_DRIVER_MIPS && SSB = y help PCIcore hostmode operation (external PCI bus). config SSB_DRIVER_MIPS bool "SSB Broadcom MIPS core driver" depends on SSB && MIPS select SSB_SERIAL select SSB_SFLASH help Driver for the Sonics Silicon Backplane attached Broadcom MIPS core. If unsure, say N config SSB_SFLASH bool "SSB serial flash support" depends on SSB_DRIVER_MIPS default y # Assumption: We are on embedded, if we compile the MIPS core. config SSB_EMBEDDED bool depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE default y config SSB_DRIVER_EXTIF bool "SSB Broadcom EXTIF core driver" depends on SSB_DRIVER_MIPS help Driver for the Sonics Silicon Backplane attached Broadcom EXTIF core. If unsure, say N config SSB_DRIVER_GIGE bool "SSB Broadcom Gigabit Ethernet driver" depends on SSB_PCIHOST_POSSIBLE && SSB_EMBEDDED && MIPS help Driver for the Sonics Silicon Backplane attached Broadcom Gigabit Ethernet. If unsure, say N config SSB_DRIVER_GPIO bool "SSB GPIO driver" depends on SSB && GPIOLIB select IRQ_DOMAIN if SSB_EMBEDDED help Driver to provide access to the GPIO pins on the bus. If unsure, say N endif # SSB ssb/Makefile 0000644 00000001643 14722053666 0007012 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # core ssb-y += main.o scan.o ssb-$(CONFIG_SSB_EMBEDDED) += embedded.o ssb-$(CONFIG_SSB_SPROM) += sprom.o # host support ssb-$(CONFIG_SSB_PCIHOST) += pci.o pcihost_wrapper.o ssb-$(CONFIG_SSB_PCMCIAHOST) += pcmcia.o bridge_pcmcia_80211.o ssb-$(CONFIG_SSB_SDIOHOST) += sdio.o ssb-$(CONFIG_SSB_HOST_SOC) += host_soc.o # built-in drivers ssb-y += driver_chipcommon.o ssb-y += driver_chipcommon_pmu.o ssb-$(CONFIG_SSB_SFLASH) += driver_chipcommon_sflash.o ssb-$(CONFIG_SSB_DRIVER_MIPS) += driver_mipscore.o ssb-$(CONFIG_SSB_DRIVER_EXTIF) += driver_extif.o ssb-$(CONFIG_SSB_DRIVER_PCICORE) += driver_pcicore.o ssb-$(CONFIG_SSB_DRIVER_GIGE) += driver_gige.o ssb-$(CONFIG_SSB_DRIVER_GPIO) += driver_gpio.o # b43 pci-ssb-bridge driver # Not strictly a part of SSB, but kept here for convenience ssb-$(CONFIG_SSB_B43_PCI_BRIDGE) += b43_pci_bridge.o obj-$(CONFIG_SSB) += ssb.o phy/mscc/Kconfig 0000644 00000000440 14722053666 0007605 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Microsemi devices # config PHY_OCELOT_SERDES tristate "SerDes PHY driver for Microsemi Ocelot" select GENERIC_PHY depends on OF depends on MFD_SYSCON help Enable this for supporting SerDes muxing with Microsemi Ocelot. phy/mscc/Makefile 0000644 00000000216 14722053666 0007743 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Microsemi phy drivers. # obj-$(CONFIG_PHY_OCELOT_SERDES) := phy-ocelot-serdes.o phy/socionext/Kconfig 0000644 00000002172 14722053666 0010677 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PHY drivers for Socionext platforms. # config PHY_UNIPHIER_USB2 tristate "UniPhier USB2 PHY driver" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF && HAS_IOMEM select GENERIC_PHY select MFD_SYSCON help Enable this to support USB PHY implemented on USB2 controller on UniPhier SoCs. This driver provides interface to interact with USB 2.0 PHY that is part of the UniPhier SoC. In case of Pro4, it is necessary to specify this USB2 PHY instead of USB3 HS-PHY. config PHY_UNIPHIER_USB3 tristate "UniPhier USB3 PHY driver" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF && HAS_IOMEM select GENERIC_PHY help Enable this to support USB PHY implemented in USB3 controller on UniPhier SoCs. This controller supports USB3.0 and lower speed. config PHY_UNIPHIER_PCIE tristate "Uniphier PHY driver for PCIe controller" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF && HAS_IOMEM default PCIE_UNIPHIER select GENERIC_PHY help Enable this to support PHY implemented in PCIe controller on UniPhier SoCs. This driver supports LD20 and PXs3 SoCs. phy/socionext/Makefile 0000644 00000000405 14722053666 0011031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the phy drivers. # obj-$(CONFIG_PHY_UNIPHIER_USB2) += phy-uniphier-usb2.o obj-$(CONFIG_PHY_UNIPHIER_USB3) += phy-uniphier-usb3hs.o phy-uniphier-usb3ss.o obj-$(CONFIG_PHY_UNIPHIER_PCIE) += phy-uniphier-pcie.o phy/broadcom/Kconfig 0000644 00000005535 14722053666 0010460 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Broadcom platforms # config PHY_CYGNUS_PCIE tristate "Broadcom Cygnus PCIe PHY driver" depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST) select GENERIC_PHY default ARCH_BCM_CYGNUS help Enable this to support the Broadcom Cygnus PCIe PHY. If unsure, say N. config PHY_BCM_SR_USB tristate "Broadcom Stingray USB PHY driver" depends on OF && (ARCH_BCM_IPROC || COMPILE_TEST) select GENERIC_PHY default ARCH_BCM_IPROC help Enable this to support the Broadcom Stingray USB PHY driver. It supports all versions of Superspeed and Highspeed PHYs. If unsure, say N. config BCM_KONA_USB2_PHY tristate "Broadcom Kona USB2 PHY Driver" depends on HAS_IOMEM select GENERIC_PHY help Enable this to support the Broadcom Kona USB 2.0 PHY. config PHY_BCM_NS_USB2 tristate "Broadcom Northstar USB 2.0 PHY Driver" depends on ARCH_BCM_IPROC || COMPILE_TEST depends on HAS_IOMEM && OF select GENERIC_PHY help Enable this to support Broadcom USB 2.0 PHY connected to the USB controller on Northstar family. config PHY_BCM_NS_USB3 tristate "Broadcom Northstar USB 3.0 PHY Driver" depends on ARCH_BCM_IPROC || COMPILE_TEST depends on HAS_IOMEM && OF depends on MDIO_BUS select GENERIC_PHY help Enable this to support Broadcom USB 3.0 PHY connected to the USB controller on Northstar family. config PHY_NS2_PCIE tristate "Broadcom Northstar2 PCIe PHY driver" depends on OF && MDIO_BUS_MUX_BCM_IPROC select GENERIC_PHY default ARCH_BCM_IPROC help Enable this to support the Broadcom Northstar2 PCIe PHY. If unsure, say N. config PHY_NS2_USB_DRD tristate "Broadcom Northstar2 USB DRD PHY support" depends on OF && (ARCH_BCM_IPROC || COMPILE_TEST) select GENERIC_PHY select EXTCON default ARCH_BCM_IPROC help Enable this to support the Broadcom Northstar2 USB DRD PHY. This driver initializes the PHY in either HOST or DEVICE mode. The host or device configuration is read from device tree. If unsure, say N. config PHY_BRCM_SATA tristate "Broadcom SATA PHY driver" depends on ARCH_BRCMSTB || ARCH_BCM_IPROC || BMIPS_GENERIC || \ ARCH_BCM_63XX || COMPILE_TEST depends on OF select GENERIC_PHY default ARCH_BCM_IPROC help Enable this to support the Broadcom SATA PHY. If unsure, say N. config PHY_BRCM_USB tristate "Broadcom STB USB PHY driver" depends on ARCH_BRCMSTB depends on OF select GENERIC_PHY select SOC_BRCMSTB default ARCH_BRCMSTB help Enable this to support the Broadcom STB USB PHY. This driver is required by the USB XHCI, EHCI and OHCI drivers. If unsure, say N. config PHY_BCM_SR_PCIE tristate "Broadcom Stingray PCIe PHY driver" depends on OF && (ARCH_BCM_IPROC || COMPILE_TEST) select GENERIC_PHY select MFD_SYSCON default ARCH_BCM_IPROC help Enable this to support the Broadcom Stingray PCIe PHY If unsure, say N. phy/broadcom/Makefile 0000644 00000001152 14722053666 0010604 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PHY_CYGNUS_PCIE) += phy-bcm-cygnus-pcie.o obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o obj-$(CONFIG_PHY_BCM_NS_USB2) += phy-bcm-ns-usb2.o obj-$(CONFIG_PHY_BCM_NS_USB3) += phy-bcm-ns-usb3.o obj-$(CONFIG_PHY_NS2_PCIE) += phy-bcm-ns2-pcie.o obj-$(CONFIG_PHY_NS2_USB_DRD) += phy-bcm-ns2-usbdrd.o obj-$(CONFIG_PHY_BRCM_SATA) += phy-brcm-sata.o obj-$(CONFIG_PHY_BRCM_USB) += phy-brcm-usb-dvr.o phy-brcm-usb-dvr-objs := phy-brcm-usb.o phy-brcm-usb-init.o obj-$(CONFIG_PHY_BCM_SR_PCIE) += phy-bcm-sr-pcie.o obj-$(CONFIG_PHY_BCM_SR_USB) += phy-bcm-sr-usb.o phy/ralink/Kconfig 0000644 00000000527 14722053666 0010146 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PHY drivers for Ralink platforms. # config PHY_RALINK_USB tristate "Ralink USB PHY driver" depends on RALINK || COMPILE_TEST depends on HAS_IOMEM select GENERIC_PHY select MFD_SYSCON help This option enables support for the Ralink USB PHY found inside RT3352, MT7620, MT7628 and MT7688. phy/ralink/Makefile 0000644 00000000131 14722053666 0010272 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_RALINK_USB) += phy-ralink-usb.o phy/cadence/Kconfig 0000644 00000001317 14722053666 0010246 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Cadence PHYs # config PHY_CADENCE_DP tristate "Cadence MHDP DisplayPort PHY driver" depends on OF depends on HAS_IOMEM select GENERIC_PHY help Support for Cadence MHDP DisplayPort PHY. config PHY_CADENCE_DPHY tristate "Cadence D-PHY Support" depends on HAS_IOMEM && OF select GENERIC_PHY select GENERIC_PHY_MIPI_DPHY help Choose this option if you have a Cadence D-PHY in your system. If M is selected, the module will be called cdns-dphy. config PHY_CADENCE_SIERRA tristate "Cadence Sierra PHY Driver" depends on OF && HAS_IOMEM && RESET_CONTROLLER select GENERIC_PHY help Enable this to support the Cadence Sierra PHY driver phy/cadence/Makefile 0000644 00000000300 14722053666 0010372 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_CADENCE_DP) += phy-cadence-dp.o obj-$(CONFIG_PHY_CADENCE_DPHY) += cdns-dphy.o obj-$(CONFIG_PHY_CADENCE_SIERRA) += phy-cadence-sierra.o phy/Kconfig 0000644 00000004070 14722053666 0006663 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PHY # menu "PHY Subsystem" config GENERIC_PHY bool "PHY Core" help Generic PHY support. This framework is designed to provide a generic interface for PHY devices present in the kernel. This layer will have the generic API by which phy drivers can create PHY using the phy framework and phy users can obtain reference to the PHY. All the users of this framework should select this config. config GENERIC_PHY_MIPI_DPHY bool help Generic MIPI D-PHY support. Provides a number of helpers a core functions for MIPI D-PHY drivers to us. config PHY_LPC18XX_USB_OTG tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver" depends on OF && (ARCH_LPC18XX || COMPILE_TEST) depends on MFD_SYSCON select GENERIC_PHY help Enable this to support NXP LPC18xx/43xx internal USB OTG PHY. This driver is need for USB0 support on LPC18xx/43xx and takes care of enabling and clock setup. config PHY_PISTACHIO_USB tristate "IMG Pistachio USB2.0 PHY driver" depends on MACH_PISTACHIO select GENERIC_PHY help Enable this to support the USB2.0 PHY on the IMG Pistachio SoC. config PHY_XGENE tristate "APM X-Gene 15Gbps PHY support" depends on HAS_IOMEM && OF && (ARM64 || COMPILE_TEST) select GENERIC_PHY help This option enables support for APM X-Gene SoC multi-purpose PHY. source "drivers/phy/allwinner/Kconfig" source "drivers/phy/amlogic/Kconfig" source "drivers/phy/broadcom/Kconfig" source "drivers/phy/cadence/Kconfig" source "drivers/phy/freescale/Kconfig" source "drivers/phy/hisilicon/Kconfig" source "drivers/phy/lantiq/Kconfig" source "drivers/phy/marvell/Kconfig" source "drivers/phy/mediatek/Kconfig" source "drivers/phy/motorola/Kconfig" source "drivers/phy/mscc/Kconfig" source "drivers/phy/qualcomm/Kconfig" source "drivers/phy/ralink/Kconfig" source "drivers/phy/renesas/Kconfig" source "drivers/phy/rockchip/Kconfig" source "drivers/phy/samsung/Kconfig" source "drivers/phy/socionext/Kconfig" source "drivers/phy/st/Kconfig" source "drivers/phy/tegra/Kconfig" source "drivers/phy/ti/Kconfig" endmenu phy/marvell/Kconfig 0000644 00000006257 14722053666 0010336 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Marvell platforms # config ARMADA375_USBCLUSTER_PHY bool "Armada 375 USB cluster PHY support" if COMPILE_TEST default y if MACH_ARMADA_375 depends on OF && HAS_IOMEM select GENERIC_PHY config PHY_BERLIN_SATA tristate "Marvell Berlin SATA PHY driver" depends on ARCH_BERLIN && HAS_IOMEM && OF select GENERIC_PHY help Enable this to support the SATA PHY on Marvell Berlin SoCs. config PHY_BERLIN_USB tristate "Marvell Berlin USB PHY Driver" depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF select GENERIC_PHY help Enable this to support the USB PHY on Marvell Berlin SoCs. config PHY_MVEBU_A3700_COMPHY tristate "Marvell A3700 comphy driver" depends on ARCH_MVEBU || COMPILE_TEST depends on OF depends on HAVE_ARM_SMCCC default y select GENERIC_PHY help This driver allows to control the comphy, a hardware block providing shared serdes PHYs on Marvell Armada 3700. Its serdes lanes can be used by various controllers: Ethernet, SATA, USB3, PCIe. config PHY_MVEBU_A3700_UTMI tristate "Marvell A3700 UTMI driver" depends on ARCH_MVEBU || COMPILE_TEST depends on OF default y select GENERIC_PHY help Enable this to support Marvell A3700 UTMI PHY driver. config PHY_MVEBU_A38X_COMPHY tristate "Marvell Armada 38x comphy driver" depends on ARCH_MVEBU || COMPILE_TEST depends on OF select GENERIC_PHY help This driver allows to control the comphy, an hardware block providing shared serdes PHYs on Marvell Armada 38x. Its serdes lanes can be used by various controllers (Ethernet, sata, usb, PCIe...). config PHY_MVEBU_CP110_COMPHY tristate "Marvell CP110 comphy driver" depends on ARCH_MVEBU || COMPILE_TEST depends on OF depends on HAVE_ARM_SMCCC select GENERIC_PHY help This driver allows to control the comphy, an hardware block providing shared serdes PHYs on Marvell Armada 7k/8k (in the CP110). Its serdes lanes can be used by various controllers (Ethernet, sata, usb, PCIe...). config PHY_MVEBU_SATA def_bool y depends on ARCH_DOVE || MACH_DOVE || MACH_KIRKWOOD depends on OF select GENERIC_PHY config PHY_PXA_28NM_HSIC tristate "Marvell USB HSIC 28nm PHY Driver" depends on HAS_IOMEM select GENERIC_PHY help Enable this to support Marvell USB HSIC PHY driver for Marvell SoC. This driver will do the PHY initialization and shutdown. The PHY driver will be used by Marvell ehci driver. To compile this driver as a module, choose M here. config PHY_PXA_28NM_USB2 tristate "Marvell USB 2.0 28nm PHY Driver" depends on HAS_IOMEM select GENERIC_PHY help Enable this to support Marvell USB 2.0 PHY driver for Marvell SoC. This driver will do the PHY initialization and shutdown. The PHY driver will be used by Marvell udc/ehci/otg driver. To compile this driver as a module, choose M here. config PHY_PXA_USB tristate "Marvell PXA USB PHY Driver" depends on ARCH_PXA || ARCH_MMP select GENERIC_PHY help Enable this to support Marvell PXA USB PHY driver for Marvell SoC. This driver will do the PHY initialization and shutdown. The PHY driver will be used by Marvell udc/ehci/otg driver. To compile this driver as a module, choose M here. phy/marvell/Makefile 0000644 00000001223 14722053666 0010457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o obj-$(CONFIG_PHY_MVEBU_A3700_COMPHY) += phy-mvebu-a3700-comphy.o obj-$(CONFIG_PHY_MVEBU_A3700_UTMI) += phy-mvebu-a3700-utmi.o obj-$(CONFIG_PHY_MVEBU_A38X_COMPHY) += phy-armada38x-comphy.o obj-$(CONFIG_PHY_MVEBU_CP110_COMPHY) += phy-mvebu-cp110-comphy.o obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o obj-$(CONFIG_PHY_PXA_USB) += phy-pxa-usb.o phy/st/Kconfig 0000644 00000003162 14722053666 0007312 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for STMicro platforms # config PHY_MIPHY28LP tristate "STMicroelectronics MIPHY28LP PHY driver for STiH407" depends on ARCH_STI select GENERIC_PHY help Enable this to support the miphy transceiver (for SATA/PCIE/USB3) that is part of STMicroelectronics STiH407 SoC. config PHY_ST_SPEAR1310_MIPHY tristate "ST SPEAR1310-MIPHY driver" select GENERIC_PHY depends on MACH_SPEAR1310 || COMPILE_TEST help Support for ST SPEAr1310 MIPHY which can be used for PCIe and SATA. config PHY_ST_SPEAR1340_MIPHY tristate "ST SPEAR1340-MIPHY driver" select GENERIC_PHY depends on MACH_SPEAR1340 || COMPILE_TEST help Support for ST SPEAr1340 MIPHY which can be used for PCIe and SATA. config PHY_STIH407_USB tristate "STMicroelectronics USB2 picoPHY driver for STiH407 family" depends on RESET_CONTROLLER depends on ARCH_STI || COMPILE_TEST select GENERIC_PHY help Enable this support to enable the picoPHY device used by USB2 and USB3 controllers on STMicroelectronics STiH407 SoC families. config PHY_STM32_USBPHYC tristate "STMicroelectronics STM32 USB HS PHY Controller driver" depends on ARCH_STM32 || COMPILE_TEST select GENERIC_PHY help Enable this to support the High-Speed USB transceivers that are part of some STMicroelectronics STM32 SoCs. This driver controls the entire USB PHY block: the USB PHY controller (USBPHYC) and the two 8-bit wide UTMI+ interfaces. First interface is used by an HS USB Host controller, and the second one is shared between an HS USB OTG controller and an HS USB Host controller, selected by a USB switch. phy/st/Makefile 0000644 00000000501 14722053666 0007441 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_MIPHY28LP) += phy-miphy28lp.o obj-$(CONFIG_PHY_ST_SPEAR1310_MIPHY) += phy-spear1310-miphy.o obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += phy-spear1340-miphy.o obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o obj-$(CONFIG_PHY_STM32_USBPHYC) += phy-stm32-usbphyc.o phy/allwinner/Kconfig 0000644 00000002430 14722053666 0010654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Allwinner platforms # config PHY_SUN4I_USB tristate "Allwinner sunxi SoC USB PHY driver" depends on ARCH_SUNXI || COMPILE_TEST depends on HAS_IOMEM depends on RESET_CONTROLLER depends on EXTCON depends on POWER_SUPPLY depends on USB_SUPPORT select GENERIC_PHY select USB_COMMON help Enable this to support the transceiver that is part of Allwinner sunxi SoCs. This driver controls the entire USB PHY block, both the USB OTG parts, as well as the 2 regular USB 2 host PHYs. config PHY_SUN6I_MIPI_DPHY tristate "Allwinner A31 MIPI D-PHY Support" depends on ARCH_SUNXI || COMPILE_TEST depends on HAS_IOMEM depends on RESET_CONTROLLER select GENERIC_PHY select GENERIC_PHY_MIPI_DPHY select REGMAP_MMIO help Choose this option if you have an Allwinner SoC with MIPI-DSI support. If M is selected, the module will be called sun6i_mipi_dphy. config PHY_SUN9I_USB tristate "Allwinner sun9i SoC USB PHY driver" depends on ARCH_SUNXI || COMPILE_TEST depends on HAS_IOMEM depends on RESET_CONTROLLER depends on USB_SUPPORT select USB_COMMON select GENERIC_PHY help Enable this to support the transceiver that is part of Allwinner sun9i SoCs. This driver controls each individual USB 2 host PHY. phy/allwinner/Makefile 0000644 00000000303 14722053666 0011006 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o obj-$(CONFIG_PHY_SUN6I_MIPI_DPHY) += phy-sun6i-mipi-dphy.o obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o phy/amlogic/Kconfig 0000644 00000003145 14722053666 0010300 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Amlogic platforms # config PHY_MESON8B_USB2 tristate "Meson8, Meson8b and GXBB USB2 PHY driver" default ARCH_MESON depends on OF && (ARCH_MESON || COMPILE_TEST) depends on USB_SUPPORT select USB_COMMON select GENERIC_PHY help Enable this to support the Meson USB2 PHYs found in Meson8, Meson8b and GXBB SoCs. If unsure, say N. config PHY_MESON_GXL_USB2 tristate "Meson GXL and GXM USB2 PHY drivers" default ARCH_MESON depends on OF && (ARCH_MESON || COMPILE_TEST) depends on USB_SUPPORT select GENERIC_PHY select REGMAP_MMIO help Enable this to support the Meson USB2 PHYs found in Meson GXL and GXM SoCs. If unsure, say N. config PHY_MESON_GXL_USB3 tristate "Meson GXL and GXM USB3 PHY drivers" default ARCH_MESON depends on OF && (ARCH_MESON || COMPILE_TEST) depends on USB_SUPPORT select GENERIC_PHY select REGMAP_MMIO help Enable this to support the Meson USB3 PHY and OTG detection IP block found in Meson GXL and GXM SoCs. If unsure, say N. config PHY_MESON_G12A_USB2 tristate "Meson G12A USB2 PHY driver" default ARCH_MESON depends on OF && (ARCH_MESON || COMPILE_TEST) select GENERIC_PHY select REGMAP_MMIO help Enable this to support the Meson USB2 PHYs found in Meson G12A SoCs. If unsure, say N. config PHY_MESON_G12A_USB3_PCIE tristate "Meson G12A USB3+PCIE Combo PHY driver" default ARCH_MESON depends on OF && (ARCH_MESON || COMPILE_TEST) select GENERIC_PHY select REGMAP_MMIO help Enable this to support the Meson USB3 + PCIE Combo PHY found in Meson G12A SoCs. If unsure, say N. phy/amlogic/Makefile 0000644 00000000520 14722053666 0010427 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_MESON8B_USB2) += phy-meson8b-usb2.o obj-$(CONFIG_PHY_MESON_GXL_USB2) += phy-meson-gxl-usb2.o obj-$(CONFIG_PHY_MESON_G12A_USB2) += phy-meson-g12a-usb2.o obj-$(CONFIG_PHY_MESON_GXL_USB3) += phy-meson-gxl-usb3.o obj-$(CONFIG_PHY_MESON_G12A_USB3_PCIE) += phy-meson-g12a-usb3-pcie.o phy/freescale/Kconfig 0000644 00000000675 14722053666 0010623 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PHY_FSL_IMX8MQ_USB tristate "Freescale i.MX8M USB3 PHY" depends on OF && HAS_IOMEM select GENERIC_PHY default ARCH_MXC && ARM64 config PHY_MIXEL_MIPI_DPHY tristate "Mixel MIPI DSI PHY support" depends on OF && HAS_IOMEM select GENERIC_PHY select GENERIC_PHY_MIPI_DPHY select REGMAP_MMIO help Enable this to add support for the Mixel DSI PHY as found on NXP's i.MX8 family of SOCs. phy/freescale/Makefile 0000644 00000000237 14722053666 0010752 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_FSL_IMX8MQ_USB) += phy-fsl-imx8mq-usb.o obj-$(CONFIG_PHY_MIXEL_MIPI_DPHY) += phy-fsl-imx8-mipi-dphy.o phy/qualcomm/Kconfig 0000644 00000004717 14722053666 0010511 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Qualcomm and Atheros platforms # config PHY_ATH79_USB tristate "Atheros AR71XX/9XXX USB PHY driver" depends on OF && (ATH79 || COMPILE_TEST) default y if USB_EHCI_HCD_PLATFORM || USB_OHCI_HCD_PLATFORM select RESET_CONTROLLER select GENERIC_PHY help Enable this to support the USB PHY on Atheros AR71XX/9XXX SoCs. config PHY_QCOM_APQ8064_SATA tristate "Qualcomm APQ8064 SATA SerDes/PHY driver" depends on ARCH_QCOM depends on HAS_IOMEM depends on OF select GENERIC_PHY config PHY_QCOM_IPQ806X_SATA tristate "Qualcomm IPQ806x SATA SerDes/PHY driver" depends on ARCH_QCOM depends on HAS_IOMEM depends on OF select GENERIC_PHY config PHY_QCOM_PCIE2 tristate "Qualcomm PCIe Gen2 PHY Driver" depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST) select GENERIC_PHY help Enable this to support the Qualcomm PCIe PHY, used with the Synopsys based PCIe controller. config PHY_QCOM_QMP tristate "Qualcomm QMP PHY Driver" depends on OF && COMMON_CLK && (ARCH_QCOM || COMPILE_TEST) select GENERIC_PHY help Enable this to support the QMP PHY transceiver that is used with controllers such as PCIe, UFS, and USB on Qualcomm chips. config PHY_QCOM_QUSB2 tristate "Qualcomm QUSB2 PHY Driver" depends on OF && (ARCH_QCOM || COMPILE_TEST) depends on NVMEM || !NVMEM select GENERIC_PHY help Enable this to support the HighSpeed QUSB2 PHY transceiver for USB controllers on Qualcomm chips. This driver supports the high-speed PHY which is usually paired with either the ChipIdea or Synopsys DWC3 USB IPs on MSM SOCs. config PHY_QCOM_UFS tristate "Qualcomm UFS PHY driver" depends on OF && ARCH_QCOM select GENERIC_PHY help Support for UFS PHY on QCOM chipsets. if PHY_QCOM_UFS config PHY_QCOM_UFS_14NM tristate default PHY_QCOM_UFS help Support for 14nm UFS QMP phy present on QCOM chipsets. config PHY_QCOM_UFS_20NM tristate default PHY_QCOM_UFS depends on BROKEN help Support for 20nm UFS QMP phy present on QCOM chipsets. endif config PHY_QCOM_USB_HS tristate "Qualcomm USB HS PHY module" depends on USB_ULPI_BUS depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in select GENERIC_PHY help Support for the USB high-speed ULPI compliant phy on Qualcomm chipsets. config PHY_QCOM_USB_HSIC tristate "Qualcomm USB HSIC ULPI PHY module" depends on USB_ULPI_BUS select GENERIC_PHY help Support for the USB HSIC ULPI compliant PHY on QCOM chipsets. phy/qualcomm/Makefile 0000644 00000001166 14722053666 0010641 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PHY_ATH79_USB) += phy-ath79-usb.o obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o obj-$(CONFIG_PHY_QCOM_PCIE2) += phy-qcom-pcie2.o obj-$(CONFIG_PHY_QCOM_QMP) += phy-qcom-qmp.o obj-$(CONFIG_PHY_QCOM_QUSB2) += phy-qcom-qusb2.o obj-$(CONFIG_PHY_QCOM_UFS) += phy-qcom-ufs.o obj-$(CONFIG_PHY_QCOM_UFS_14NM) += phy-qcom-ufs-qmp-14nm.o obj-$(CONFIG_PHY_QCOM_UFS_20NM) += phy-qcom-ufs-qmp-20nm.o obj-$(CONFIG_PHY_QCOM_USB_HS) += phy-qcom-usb-hs.o obj-$(CONFIG_PHY_QCOM_USB_HSIC) += phy-qcom-usb-hsic.o phy/tegra/Kconfig 0000644 00000001016 14722053666 0007762 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PHY_TEGRA_XUSB tristate "NVIDIA Tegra XUSB pad controller driver" depends on ARCH_TEGRA help Choose this option if you have an NVIDIA Tegra SoC. To compile this driver as a module, choose M here: the module will be called phy-tegra-xusb. config PHY_TEGRA194_P2U tristate "NVIDIA Tegra194 PIPE2UPHY PHY driver" depends on ARCH_TEGRA_194_SOC || COMPILE_TEST select GENERIC_PHY help Enable this to support the P2U (PIPE to UPHY) that is part of Tegra 19x SOCs. phy/tegra/Makefile 0000644 00000000646 14722053666 0010127 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_TEGRA_XUSB) += phy-tegra-xusb.o phy-tegra-xusb-y += xusb.o phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_124_SOC) += xusb-tegra124.o phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_132_SOC) += xusb-tegra124.o phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_210_SOC) += xusb-tegra210.o phy-tegra-xusb-$(CONFIG_ARCH_TEGRA_186_SOC) += xusb-tegra186.o obj-$(CONFIG_PHY_TEGRA194_P2U) += phy-tegra194-p2u.o phy/ti/Kconfig 0000644 00000005654 14722053666 0007310 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for TI platforms # config PHY_DA8XX_USB tristate "TI DA8xx USB PHY Driver" depends on ARCH_DAVINCI_DA8XX select GENERIC_PHY select MFD_SYSCON help Enable this to support the USB PHY on DA8xx SoCs. This driver controls both the USB 1.1 PHY and the USB 2.0 PHY. config PHY_DM816X_USB tristate "TI dm816x USB PHY driver" depends on ARCH_OMAP2PLUS depends on USB_SUPPORT select GENERIC_PHY select USB_PHY help Enable this for dm816x USB to work. config PHY_AM654_SERDES tristate "TI AM654 SERDES support" depends on OF && ARCH_K3 || COMPILE_TEST depends on COMMON_CLK select GENERIC_PHY select MULTIPLEXER select REGMAP_MMIO select MUX_MMIO help This option enables support for TI AM654 SerDes PHY used for PCIe. config OMAP_CONTROL_PHY tristate "OMAP CONTROL PHY Driver" depends on ARCH_OMAP2PLUS || COMPILE_TEST help Enable this to add support for the PHY part present in the control module. This driver has API to power on the USB2 PHY and to write to the mailbox. The mailbox is present only in omap4 and the register to power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has an additional register to power on USB3 PHY/SATA PHY/PCIE PHY (PIPE3 PHY). config OMAP_USB2 tristate "OMAP USB2 PHY Driver" depends on ARCH_OMAP2PLUS || ARCH_K3 depends on USB_SUPPORT select GENERIC_PHY select USB_PHY select OMAP_CONTROL_PHY if ARCH_OMAP2PLUS || COMPILE_TEST help Enable this to support the transceiver that is part of SOC. This driver takes care of all the PHY functionality apart from comparator. The USB OTG controller communicates with the comparator using this driver. config TI_PIPE3 tristate "TI PIPE3 PHY Driver" depends on ARCH_OMAP2PLUS || COMPILE_TEST select GENERIC_PHY select OMAP_CONTROL_PHY help Enable this to support the PIPE3 PHY that is part of TI SOCs. This driver takes care of all the PHY functionality apart from comparator. This driver interacts with the "OMAP Control PHY Driver" to power on/off the PHY. config PHY_TUSB1210 tristate "TI TUSB1210 ULPI PHY module" depends on USB_ULPI_BUS select GENERIC_PHY help Support for TI TUSB1210 USB ULPI PHY. config TWL4030_USB tristate "TWL4030 USB Transceiver Driver" depends on TWL4030_CORE && REGULATOR_TWL4030 && USB_MUSB_OMAP2PLUS depends on USB_SUPPORT depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't 'y' select GENERIC_PHY select USB_PHY help Enable this to support the USB OTG transceiver on TWL4030 family chips (including the TWL5030 and TPS659x0 devices). This transceiver supports high and full speed devices plus, in host mode, low speed. config PHY_TI_GMII_SEL tristate default y if TI_CPSW=y depends on TI_CPSW || COMPILE_TEST select GENERIC_PHY select REGMAP default m help This driver supports configuring of the TI CPSW Port mode depending on the Ethernet PHY connected to the CPSW Port. phy/ti/Makefile 0000644 00000000730 14722053666 0007433 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PHY_DA8XX_USB) += phy-da8xx-usb.o obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o obj-$(CONFIG_PHY_AM654_SERDES) += phy-am654-serdes.o obj-$(CONFIG_PHY_TI_GMII_SEL) += phy-gmii-sel.o phy/Makefile 0000644 00000001477 14722053666 0007030 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the phy drivers. # obj-$(CONFIG_GENERIC_PHY) += phy-core.o obj-$(CONFIG_GENERIC_PHY_MIPI_DPHY) += phy-core-mipi-dphy.o obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o obj-$(CONFIG_PHY_XGENE) += phy-xgene.o obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o obj-$(CONFIG_ARCH_SUNXI) += allwinner/ obj-$(CONFIG_ARCH_MESON) += amlogic/ obj-$(CONFIG_ARCH_MEDIATEK) += mediatek/ obj-$(CONFIG_ARCH_RENESAS) += renesas/ obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/ obj-$(CONFIG_ARCH_TEGRA) += tegra/ obj-y += broadcom/ \ cadence/ \ freescale/ \ hisilicon/ \ lantiq/ \ marvell/ \ motorola/ \ mscc/ \ qualcomm/ \ ralink/ \ samsung/ \ socionext/ \ st/ \ ti/ phy/motorola/Kconfig 0000644 00000001115 14722053666 0010514 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Motorola devices # config PHY_CPCAP_USB tristate "CPCAP PMIC USB PHY driver" depends on USB_SUPPORT && IIO depends on USB_MUSB_HDRC || USB_MUSB_HDRC=n select GENERIC_PHY select USB_PHY help Enable this for USB to work on Motorola phones and tablets such as Droid 4. config PHY_MAPPHONE_MDM6600 tristate "Motorola Mapphone MDM6600 modem USB PHY driver" depends on OF && USB_SUPPORT && GPIOLIB select GENERIC_PHY help Enable this for MDM6600 USB modem to work on Motorola phones and tablets such as Droid 4. phy/motorola/Makefile 0000644 00000000272 14722053666 0010654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the phy drivers. # obj-$(CONFIG_PHY_CPCAP_USB) += phy-cpcap-usb.o obj-$(CONFIG_PHY_MAPPHONE_MDM6600) += phy-mapphone-mdm6600.o phy/lantiq/Kconfig 0000644 00000001133 14722053666 0010150 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Lantiq / Intel platforms # config PHY_LANTIQ_VRX200_PCIE tristate "Lantiq VRX200/ARX300 PCIe PHY" depends on SOC_TYPE_XWAY || COMPILE_TEST depends on OF && HAS_IOMEM select GENERIC_PHY select REGMAP_MMIO help Support for the PCIe PHY(s) on the Lantiq / Intel VRX200 and ARX300 family SoCs. If unsure, say N. config PHY_LANTIQ_RCU_USB2 tristate "Lantiq XWAY SoC RCU based USB PHY" depends on OF && (SOC_TYPE_XWAY || COMPILE_TEST) select GENERIC_PHY help Support for the USB PHY(s) on the Lantiq / Intel XWAY family SoCs. phy/lantiq/Makefile 0000644 00000000244 14722053666 0010307 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_LANTIQ_RCU_USB2) += phy-lantiq-rcu-usb2.o obj-$(CONFIG_PHY_LANTIQ_VRX200_PCIE) += phy-lantiq-vrx200-pcie.o phy/renesas/Kconfig 0000644 00000001763 14722053666 0010331 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Phy drivers for Renesas platforms # config PHY_RCAR_GEN2 tristate "Renesas R-Car generation 2 USB PHY driver" depends on ARCH_RENESAS depends on GENERIC_PHY help Support for USB PHY found on Renesas R-Car generation 2 SoCs. config PHY_RCAR_GEN3_PCIE tristate "Renesas R-Car generation 3 PCIe PHY driver" depends on ARCH_RENESAS select GENERIC_PHY help Support for the PCIe PHY found on Renesas R-Car generation 3 SoCs. config PHY_RCAR_GEN3_USB2 tristate "Renesas R-Car generation 3 USB 2.0 PHY driver" depends on ARCH_RENESAS depends on EXTCON || !EXTCON # if EXTCON=m, this cannot be built-in depends on USB_SUPPORT select GENERIC_PHY select USB_COMMON help Support for USB 2.0 PHY found on Renesas R-Car generation 3 SoCs. config PHY_RCAR_GEN3_USB3 tristate "Renesas R-Car generation 3 USB 3.0 PHY driver" depends on ARCH_RENESAS || COMPILE_TEST select GENERIC_PHY help Support for USB 3.0 PHY found on Renesas R-Car generation 3 SoCs. phy/renesas/Makefile 0000644 00000000376 14722053666 0010465 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PHY_RCAR_GEN2) += phy-rcar-gen2.o obj-$(CONFIG_PHY_RCAR_GEN3_PCIE) += phy-rcar-gen3-pcie.o obj-$(CONFIG_PHY_RCAR_GEN3_USB2) += phy-rcar-gen3-usb2.o obj-$(CONFIG_PHY_RCAR_GEN3_USB3) += phy-rcar-gen3-usb3.o phy/hisilicon/Kconfig 0000644 00000002665 14722053666 0010654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Hisilicon platforms # config PHY_HI6220_USB tristate "hi6220 USB PHY support" depends on (ARCH_HISI && ARM64) || COMPILE_TEST depends on HAS_IOMEM select GENERIC_PHY select MFD_SYSCON help Enable this to support the HISILICON HI6220 USB PHY. To compile this driver as a module, choose M here. config PHY_HI3660_USB tristate "hi3660 USB PHY support" depends on (ARCH_HISI && ARM64) || COMPILE_TEST select GENERIC_PHY select MFD_SYSCON help Enable this to support the HISILICON HI3660 USB PHY. To compile this driver as a module, choose M here. config PHY_HISTB_COMBPHY tristate "HiSilicon STB SoCs COMBPHY support" depends on (ARCH_HISI && ARM64) || COMPILE_TEST select GENERIC_PHY select MFD_SYSCON help Enable this to support the HISILICON STB SoCs COMBPHY. If unsure, say N. config PHY_HISI_INNO_USB2 tristate "HiSilicon INNO USB2 PHY support" depends on (ARCH_HISI && ARM64) || COMPILE_TEST select GENERIC_PHY select MFD_SYSCON help Support for INNO USB2 PHY on HiSilicon SoCs. This Phy supports USB 1.5Mb/s, USB 12Mb/s, USB 480Mb/s speeds. It supports one USB host port to accept one USB device. config PHY_HIX5HD2_SATA tristate "HIX5HD2 SATA PHY Driver" depends on ARCH_HIX5HD2 && OF && HAS_IOMEM select GENERIC_PHY select MFD_SYSCON help Support for SATA PHY on Hisilicon hix5hd2 Soc. phy/hisilicon/Makefile 0000644 00000000464 14722053666 0011004 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o obj-$(CONFIG_PHY_HI3660_USB) += phy-hi3660-usb3.o obj-$(CONFIG_PHY_HISTB_COMBPHY) += phy-histb-combphy.o obj-$(CONFIG_PHY_HISI_INNO_USB2) += phy-hisi-inno-usb2.o obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o phy/mediatek/Kconfig 0000644 00000002174 14722053666 0010451 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Mediatek devices # config PHY_MTK_TPHY tristate "MediaTek T-PHY Driver" depends on ARCH_MEDIATEK && OF select GENERIC_PHY help Say 'Y' here to add support for MediaTek T-PHY driver, it supports multiple usb2.0, usb3.0 ports, PCIe and SATA, and meanwhile supports two version T-PHY which have different banks layout, the T-PHY with shared banks between multi-ports is first version, otherwise is second veriosn, so you can easily distinguish them by banks layout. config PHY_MTK_UFS tristate "MediaTek UFS M-PHY driver" depends on ARCH_MEDIATEK && OF select GENERIC_PHY help Support for UFS M-PHY on MediaTek chipsets. Enable this to provide vendor-specific probing, initialization, power on and power off flow of specified M-PHYs. config PHY_MTK_XSPHY tristate "MediaTek XS-PHY Driver" depends on ARCH_MEDIATEK && OF select GENERIC_PHY help Enable this to support the SuperSpeedPlus XS-PHY transceiver for USB3.1 GEN2 controllers on MediaTek chips. The driver supports multiple USB2.0, USB3.1 GEN2 ports. phy/mediatek/Makefile 0000644 00000000322 14722053666 0010577 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the phy drivers. # obj-$(CONFIG_PHY_MTK_TPHY) += phy-mtk-tphy.o obj-$(CONFIG_PHY_MTK_UFS) += phy-mtk-ufs.o obj-$(CONFIG_PHY_MTK_XSPHY) += phy-mtk-xsphy.o phy/rockchip/Kconfig 0000644 00000003076 14722053666 0010472 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Rockchip platforms # config PHY_ROCKCHIP_DP tristate "Rockchip Display Port PHY Driver" depends on ARCH_ROCKCHIP && OF select GENERIC_PHY help Enable this to support the Rockchip Display Port PHY. config PHY_ROCKCHIP_EMMC tristate "Rockchip EMMC PHY Driver" depends on ARCH_ROCKCHIP && OF select GENERIC_PHY help Enable this to support the Rockchip EMMC PHY. config PHY_ROCKCHIP_INNO_HDMI tristate "Rockchip INNO HDMI PHY Driver" depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF depends on COMMON_CLK select GENERIC_PHY help Enable this to support the Rockchip Innosilicon HDMI PHY. config PHY_ROCKCHIP_INNO_USB2 tristate "Rockchip INNO USB2PHY Driver" depends on (ARCH_ROCKCHIP || COMPILE_TEST) && OF depends on COMMON_CLK depends on EXTCON depends on USB_SUPPORT select GENERIC_PHY select USB_COMMON help Support for Rockchip USB2.0 PHY with Innosilicon IP block. config PHY_ROCKCHIP_PCIE tristate "Rockchip PCIe PHY Driver" depends on (ARCH_ROCKCHIP && OF) || COMPILE_TEST depends on HAS_IOMEM select GENERIC_PHY select MFD_SYSCON help Enable this to support the Rockchip PCIe PHY. config PHY_ROCKCHIP_TYPEC tristate "Rockchip TYPEC PHY Driver" depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) select EXTCON select GENERIC_PHY select RESET_CONTROLLER help Enable this to support the Rockchip USB TYPEC PHY. config PHY_ROCKCHIP_USB tristate "Rockchip USB2 PHY Driver" depends on ARCH_ROCKCHIP && OF select GENERIC_PHY help Enable this to support the Rockchip USB 2.0 PHY. phy/rockchip/Makefile 0000644 00000000670 14722053666 0010624 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PHY_ROCKCHIP_DP) += phy-rockchip-dp.o obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o obj-$(CONFIG_PHY_ROCKCHIP_INNO_HDMI) += phy-rockchip-inno-hdmi.o obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB2) += phy-rockchip-inno-usb2.o obj-$(CONFIG_PHY_ROCKCHIP_PCIE) += phy-rockchip-pcie.o obj-$(CONFIG_PHY_ROCKCHIP_TYPEC) += phy-rockchip-typec.o obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o phy/samsung/Kconfig 0000644 00000005356 14722053666 0010350 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Phy drivers for Samsung platforms # config PHY_EXYNOS_DP_VIDEO tristate "EXYNOS SoC series Display Port PHY driver" depends on OF depends on ARCH_EXYNOS || COMPILE_TEST default ARCH_EXYNOS select GENERIC_PHY help Support for Display Port PHY found on Samsung EXYNOS SoCs. config PHY_EXYNOS_MIPI_VIDEO tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver" depends on HAS_IOMEM depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST select GENERIC_PHY default y if ARCH_S5PV210 || ARCH_EXYNOS help Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P and EXYNOS SoCs. config PHY_EXYNOS_PCIE bool "Exynos PCIe PHY driver" depends on OF && (ARCH_EXYNOS || COMPILE_TEST) select GENERIC_PHY help Enable PCIe PHY support for Exynos SoC series. This driver provides PHY interface for Exynos PCIe controller. config PHY_SAMSUNG_USB2 tristate "Samsung USB 2.0 PHY driver" depends on HAS_IOMEM depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2 select GENERIC_PHY select MFD_SYSCON default ARCH_EXYNOS help Enable this to support the Samsung USB 2.0 PHY driver for Samsung SoCs. This driver provides the interface for USB 2.0 PHY. Support for particular PHYs will be enabled based on the SoC type in addition to this driver. config PHY_EXYNOS4210_USB2 bool depends on PHY_SAMSUNG_USB2 default CPU_EXYNOS4210 config PHY_EXYNOS4X12_USB2 bool depends on PHY_SAMSUNG_USB2 default SOC_EXYNOS3250 || SOC_EXYNOS4412 config PHY_EXYNOS5250_USB2 bool depends on PHY_SAMSUNG_USB2 default SOC_EXYNOS5250 || SOC_EXYNOS5420 config PHY_S5PV210_USB2 bool "Support for S5PV210" depends on PHY_SAMSUNG_USB2 depends on ARCH_S5PV210 help Enable USB PHY support for S5PV210. This option requires that Samsung USB 2.0 PHY driver is enabled and means that support for this particular SoC is compiled in the driver. In case of S5PV210 two phys are available - device and host. config PHY_EXYNOS5_USBDRD tristate "Exynos5 SoC series USB DRD PHY driver" depends on ARCH_EXYNOS && OF depends on HAS_IOMEM depends on USB_DWC3_EXYNOS select GENERIC_PHY select MFD_SYSCON default y help Enable USB DRD PHY support for Exynos 5 SoC series. This driver provides PHY interface for USB 3.0 DRD controller present on Exynos5 SoC series. config PHY_EXYNOS5250_SATA tristate "Exynos5250 Sata SerDes/PHY driver" depends on SOC_EXYNOS5250 depends on HAS_IOMEM depends on OF select GENERIC_PHY select I2C select I2C_S3C2410 select MFD_SYSCON help Enable this to support SATA SerDes/Phy found on Samsung's Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s, SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host port to accept one SATA device. phy/samsung/Makefile 0000644 00000001272 14722053666 0010476 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o obj-$(CONFIG_PHY_EXYNOS_PCIE) += phy-exynos-pcie.o obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o phy-exynos-usb2-y += phy-samsung-usb2.o phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o rpmsg/Kconfig 0000644 00000002674 14722053666 0007223 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Rpmsg drivers" # RPMSG always gets selected by whoever wants it config RPMSG tristate config RPMSG_CHAR tristate "RPMSG device interface" depends on RPMSG depends on NET help Say Y here to export rpmsg endpoints as device files, usually found in /dev. They make it possible for user-space programs to send and receive rpmsg packets. config RPMSG_QCOM_GLINK_NATIVE tristate select RPMSG config RPMSG_QCOM_GLINK_RPM tristate "Qualcomm RPM Glink driver" select RPMSG_QCOM_GLINK_NATIVE depends on HAS_IOMEM depends on MAILBOX help Say y here to enable support for the GLINK RPM communication driver, which serves as a channel for communication with the RPM in GLINK enabled systems. config RPMSG_QCOM_GLINK_SMEM tristate "Qualcomm SMEM Glink driver" select RPMSG_QCOM_GLINK_NATIVE depends on MAILBOX depends on QCOM_SMEM help Say y here to enable support for the GLINK SMEM communication driver, which provides support for using the GLINK communication protocol over SMEM. config RPMSG_QCOM_SMD tristate "Qualcomm Shared Memory Driver (SMD)" depends on MAILBOX depends on QCOM_SMEM select RPMSG help Say y here to enable support for the Qualcomm Shared Memory Driver providing communication channels to remote processors in Qualcomm platforms. config RPMSG_VIRTIO tristate "Virtio RPMSG bus driver" depends on HAS_DMA select RPMSG select VIRTIO endmenu rpmsg/Makefile 0000644 00000000572 14722053666 0007353 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_RPMSG) += rpmsg_core.o obj-$(CONFIG_RPMSG_CHAR) += rpmsg_char.o obj-$(CONFIG_RPMSG_QCOM_GLINK_RPM) += qcom_glink_rpm.o obj-$(CONFIG_RPMSG_QCOM_GLINK_NATIVE) += qcom_glink_native.o obj-$(CONFIG_RPMSG_QCOM_GLINK_SMEM) += qcom_glink_smem.o obj-$(CONFIG_RPMSG_QCOM_SMD) += qcom_smd.o obj-$(CONFIG_RPMSG_VIRTIO) += virtio_rpmsg_bus.o dma-buf/Kconfig 0000644 00000003026 14722053666 0007376 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "DMABUF options" config SYNC_FILE bool "Explicit Synchronization Framework" default n select DMA_SHARED_BUFFER ---help--- The Sync File Framework adds explicit syncronization via userspace. It enables send/receive 'struct dma_fence' objects to/from userspace via Sync File fds for synchronization between drivers via userspace components. It has been ported from Android. The first and main user for this is graphics in which a fence is associated with a buffer. When a job is submitted to the GPU a fence is attached to the buffer and is transferred via userspace, using Sync Files fds, to the DRM driver for example. More details at Documentation/driver-api/sync_file.rst. config SW_SYNC bool "Sync File Validation Framework" default n depends on SYNC_FILE depends on DEBUG_FS ---help--- A sync object driver that uses a 32bit counter to coordinate synchronization. Useful when there is no hardware primitive backing the synchronization. WARNING: improper use of this can result in deadlocking kernel drivers from userspace. Intended for test and debug only. config UDMABUF bool "userspace dmabuf misc driver" default n depends on DMA_SHARED_BUFFER depends on MEMFD_CREATE || COMPILE_TEST help A driver to let userspace turn memfd regions into dma-bufs. Qemu can use this to create host dmabufs for guest framebuffers. config DMABUF_SELFTESTS tristate "Selftests for the dma-buf interfaces" default n depends on DMA_SHARED_BUFFER endmenu dma-buf/Makefile 0000644 00000000562 14722053666 0007535 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y := dma-buf.o dma-fence.o dma-fence-array.o dma-fence-chain.o \ dma-resv.o seqno-fence.o obj-$(CONFIG_SYNC_FILE) += sync_file.o obj-$(CONFIG_SW_SYNC) += sw_sync.o sync_debug.o obj-$(CONFIG_UDMABUF) += udmabuf.o dmabuf_selftests-y := \ selftest.o \ st-dma-fence.o obj-$(CONFIG_DMABUF_SELFTESTS) += dmabuf_selftests.o message/fusion/Kconfig 0000644 00000006516 14722053666 0011021 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig FUSION bool "Fusion MPT device support" depends on PCI ---help--- Say Y here to get to see options for Fusion Message Passing Technology (MPT) drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if FUSION config FUSION_SPI tristate "Fusion MPT ScsiHost drivers for SPI" depends on PCI && SCSI select SCSI_SPI_ATTRS ---help--- SCSI HOST support for a parallel SCSI host adapters. List of supported controllers: LSI53C1020 LSI53C1020A LSI53C1030 LSI53C1035 ATTO UL4D config FUSION_FC tristate "Fusion MPT ScsiHost drivers for FC" depends on PCI && SCSI depends on SCSI_FC_ATTRS ---help--- SCSI HOST support for a Fiber Channel host adapters. List of supported controllers: LSIFC909 LSIFC919 LSIFC919X LSIFC929 LSIFC929X LSIFC929XL LSIFC949X LSIFC949E Brocade FC 410/420 config FUSION_SAS tristate "Fusion MPT ScsiHost drivers for SAS" depends on PCI && SCSI select SCSI_SAS_ATTRS ---help--- SCSI HOST support for a SAS host adapters. List of supported controllers: LSISAS1064 LSISAS1068 LSISAS1064E LSISAS1068E LSISAS1078 config FUSION_MAX_SGE int "Maximum number of scatter gather entries (16 - 128)" default "128" range 16 128 help This option allows you to specify the maximum number of scatter- gather entries per I/O. The driver default is 128, which matches SCSI_MAX_PHYS_SEGMENTS. However, it may decreased down to 16. Decreasing this parameter will reduce memory requirements on a per controller instance. config FUSION_CTL tristate "Fusion MPT misc device (ioctl) driver" depends on FUSION_SPI || FUSION_FC || FUSION_SAS ---help--- The Fusion MPT misc device driver provides specialized control of MPT adapters via system ioctl calls. Use of ioctl calls to the MPT driver requires that you create and use a misc device node ala: mknod /dev/mptctl c 10 240 One use of this ioctl interface is to perform an upgrade (reflash) of the MPT adapter firmware. Refer to readme file(s) distributed with the Fusion MPT linux driver for additional details. If enabled by saying M to this, a driver named: mptctl will be compiled. If unsure whether you really want or need this, say N. config FUSION_LAN tristate "Fusion MPT LAN driver" depends on FUSION_FC && NET_FC ---help--- This module supports LAN IP traffic over Fibre Channel port(s) on Fusion MPT compatible hardware (LSIFC9xx chips). The physical interface used is defined in RFC 2625. Please refer to that document for details. Installing this driver requires the knowledge to configure and activate a new network interface, "fc0", using standard Linux tools. If enabled by saying M to this, a driver named: mptlan will be compiled. If unsure whether you really want or need this, say N. config FUSION_LOGGING bool "Fusion MPT logging facility" ---help--- This turns on a logging facility that can be used to debug a number of Fusion MPT related problems. The debug level can be programmed on the fly via SysFS (hex values) echo [level] > /sys/class/scsi_host/host#/debug_level There are various debug levels that can be found in the source: file:drivers/message/fusion/mptdebug.h endif # FUSION message/fusion/Makefile 0000644 00000000765 14722053666 0011156 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Fusion MPT drivers; recognized debug defines... # enable verbose logging # CONFIG_FUSION_LOGGING needs to be enabled in Kconfig #ccflags-y := -DMPT_DEBUG_VERBOSE #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-} LSI_LOGIC obj-$(CONFIG_FUSION_SPI) += mptbase.o mptscsih.o mptspi.o obj-$(CONFIG_FUSION_FC) += mptbase.o mptscsih.o mptfc.o obj-$(CONFIG_FUSION_SAS) += mptbase.o mptscsih.o mptsas.o obj-$(CONFIG_FUSION_CTL) += mptctl.o obj-$(CONFIG_FUSION_LAN) += mptlan.o message/Makefile 0000644 00000000164 14722053666 0007644 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for MPT based block devices # obj-$(CONFIG_FUSION) += fusion/ mux/Kconfig 0000644 00000003363 14722053666 0006700 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Multiplexer devices # config MULTIPLEXER tristate menu "Multiplexer drivers" depends on MULTIPLEXER config MUX_ADG792A tristate "Analog Devices ADG792A/ADG792G Multiplexers" depends on I2C help ADG792A and ADG792G Wide Bandwidth Triple 4:1 Multiplexers The driver supports both operating the three multiplexers in parallel and operating them independently. To compile the driver as a module, choose M here: the module will be called mux-adg792a. config MUX_ADGS1408 tristate "Analog Devices ADGS1408/ADGS1409 Multiplexers" depends on SPI help ADGS1408 8:1 multiplexer and ADGS1409 double 4:1 multiplexer switches. To compile the driver as a module, choose M here: the module will be called mux-adgs1408. config MUX_GPIO tristate "GPIO-controlled Multiplexer" depends on GPIOLIB || COMPILE_TEST help GPIO-controlled Multiplexer controller. The driver builds a single multiplexer controller using a number of gpio pins. For N pins, there will be 2^N possible multiplexer states. The GPIO pins can be connected (by the hardware) to several multiplexers, which in that case will be operated in parallel. To compile the driver as a module, choose M here: the module will be called mux-gpio. config MUX_MMIO tristate "MMIO/Regmap register bitfield-controlled Multiplexer" depends on OF || COMPILE_TEST help MMIO/Regmap register bitfield-controlled Multiplexer controller. The driver builds multiplexer controllers for bitfields in either a syscon register or a driver regmap register. For N bit wide bitfields, there will be 2^N possible multiplexer states. To compile the driver as a module, choose M here: the module will be called mux-mmio. endmenu mux/Makefile 0000644 00000000647 14722053666 0007037 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for multiplexer devices. # mux-core-objs := core.o mux-adg792a-objs := adg792a.o mux-adgs1408-objs := adgs1408.o mux-gpio-objs := gpio.o mux-mmio-objs := mmio.o obj-$(CONFIG_MULTIPLEXER) += mux-core.o obj-$(CONFIG_MUX_ADG792A) += mux-adg792a.o obj-$(CONFIG_MUX_ADGS1408) += mux-adgs1408.o obj-$(CONFIG_MUX_GPIO) += mux-gpio.o obj-$(CONFIG_MUX_MMIO) += mux-mmio.o ipack/Kconfig 0000644 00000001236 14722053666 0007153 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IPACK configuration. # menuconfig IPACK_BUS tristate "IndustryPack bus support" depends on HAS_IOMEM ---help--- This option provides support for the IndustryPack framework. There are IndustryPack carrier boards, which interface another bus (such as PCI) to an IndustryPack bus, and IndustryPack modules, that are hosted on these buses. While IndustryPack modules can provide a large variety of functionality, they are most often found in industrial control applications. Say N if unsure. if IPACK_BUS source "drivers/ipack/carriers/Kconfig" source "drivers/ipack/devices/Kconfig" endif # IPACK ipack/carriers/Kconfig 0000644 00000000406 14722053666 0010763 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config BOARD_TPCI200 tristate "Support for the TEWS TPCI-200 IndustryPack carrier board" depends on IPACK_BUS depends on PCI help This driver adds support for the TEWS TPCI200 IndustryPack carrier board. default n ipack/carriers/Makefile 0000644 00000000121 14722053666 0011112 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_BOARD_TPCI200) += tpci200.o ipack/Makefile 0000644 00000000253 14722053666 0007306 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the IPACK bridge device drivers. # obj-$(CONFIG_IPACK_BUS) += ipack.o obj-y += devices/ obj-y += carriers/ ipack/devices/Kconfig 0000644 00000000354 14722053666 0010575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SERIAL_IPOCTAL tristate "IndustryPack IP-OCTAL uart support" depends on IPACK_BUS && TTY help This driver supports the IPOCTAL serial port device for the IndustryPack bus. default n ipack/devices/Makefile 0000644 00000000122 14722053666 0010723 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SERIAL_IPOCTAL) += ipoctal.o xen/events/Makefile 0000644 00000000207 14722053666 0010314 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += events.o events-y += events_base.o events-y += events_2l.o events-y += events_fifo.o xen/xen-pciback/Makefile 0000644 00000000413 14722053666 0011173 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_XEN_PCIDEV_BACKEND) += xen-pciback.o xen-pciback-y := pci_stub.o pciback_ops.o xenbus.o xen-pciback-y += conf_space.o conf_space_header.o \ conf_space_capability.o \ conf_space_quirks.o vpci.o \ passthrough.o xen/Kconfig 0000644 00000025257 14722053666 0006667 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Xen driver support" depends on XEN config XEN_BALLOON bool "Xen memory balloon driver" default y help The balloon driver allows the Xen domain to request more memory from the system to expand the domain's memory allocation, or alternatively return unneeded memory to the system. config XEN_BALLOON_MEMORY_HOTPLUG bool "Memory hotplug support for Xen balloon driver" depends on XEN_BALLOON && MEMORY_HOTPLUG help Memory hotplug support for Xen balloon driver allows expanding memory available for the system above limit declared at system startup. It is very useful on critical systems which require long run without rebooting. Memory could be hotplugged in following steps: 1) target domain: ensure that memory auto online policy is in effect by checking /sys/devices/system/memory/auto_online_blocks file (should be 'online'). 2) control domain: xl mem-max <target-domain> <maxmem> where <maxmem> is >= requested memory size, 3) control domain: xl mem-set <target-domain> <memory> where <memory> is requested memory size; alternatively memory could be added by writing proper value to /sys/devices/system/xen_memory/xen_memory0/target or /sys/devices/system/xen_memory/xen_memory0/target_kb on the target domain. Alternatively, if memory auto onlining was not requested at step 1 the newly added memory can be manually onlined in the target domain by doing the following: for i in /sys/devices/system/memory/memory*/state; do \ [ "`cat "$i"`" = offline ] && echo online > "$i"; done or by adding the following line to udev rules: SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'" config XEN_BALLOON_MEMORY_HOTPLUG_LIMIT int "Hotplugged memory limit (in GiB) for a PV guest" default 512 if X86_64 default 4 if X86_32 range 0 64 if X86_32 depends on XEN_HAVE_PVMMU depends on XEN_BALLOON_MEMORY_HOTPLUG help Maxmium amount of memory (in GiB) that a PV guest can be expanded to when using memory hotplug. A PV guest can have more memory than this limit if is started with a larger maximum. This value is used to allocate enough space in internal tables needed for physical memory administration. config XEN_SCRUB_PAGES_DEFAULT bool "Scrub pages before returning them to system by default" depends on XEN_BALLOON default y help Scrub pages before returning them to the system for reuse by other domains. This makes sure that any confidential data is not accidentally visible to other domains. It is more secure, but slightly less efficient. This can be controlled with xen_scrub_pages=0 parameter and /sys/devices/system/xen_memory/xen_memory0/scrub_pages. This option only sets the default value. If in doubt, say yes. config XEN_DEV_EVTCHN tristate "Xen /dev/xen/evtchn device" default y help The evtchn driver allows a userspace process to trigger event channels and to receive notification of an event channel firing. If in doubt, say yes. config XEN_BACKEND bool "Backend driver support" default XEN_DOM0 help Support for backend device drivers that provide I/O services to other virtual machines. config XENFS tristate "Xen filesystem" select XEN_PRIVCMD default y help The xen filesystem provides a way for domains to share information with each other and with the hypervisor. For example, by reading and writing the "xenbus" file, guests may pass arbitrary information to the initial domain. If in doubt, say yes. config XEN_COMPAT_XENFS bool "Create compatibility mount point /proc/xen" depends on XENFS default y help The old xenstore userspace tools expect to find "xenbus" under /proc/xen, but "xenbus" is now found at the root of the xenfs filesystem. Selecting this causes the kernel to create the compatibility mount point /proc/xen if it is running on a xen platform. If in doubt, say yes. config XEN_SYS_HYPERVISOR bool "Create xen entries under /sys/hypervisor" depends on SYSFS select SYS_HYPERVISOR default y help Create entries under /sys/hypervisor describing the Xen hypervisor environment. When running native or in another virtual environment, /sys/hypervisor will still be present, but will have no xen contents. config XEN_XENBUS_FRONTEND tristate config XEN_GNTDEV tristate "userspace grant access device driver" depends on XEN default m select MMU_NOTIFIER help Allows userspace processes to use grants. config XEN_GNTDEV_DMABUF bool "Add support for dma-buf grant access device driver extension" depends on XEN_GNTDEV && XEN_GRANT_DMA_ALLOC select DMA_SHARED_BUFFER help Allows userspace processes and kernel modules to use Xen backed dma-buf implementation. With this extension grant references to the pages of an imported dma-buf can be exported for other domain use and grant references coming from a foreign domain can be converted into a local dma-buf for local export. config XEN_GRANT_DEV_ALLOC tristate "User-space grant reference allocator driver" depends on XEN default m help Allows userspace processes to create pages with access granted to other domains. This can be used to implement frontend drivers or as part of an inter-domain shared memory channel. config XEN_GRANT_DMA_ALLOC bool "Allow allocating DMA capable buffers with grant reference module" depends on XEN && HAS_DMA help Extends grant table module API to allow allocating DMA capable buffers and mapping foreign grant references on top of it. The resulting buffer is similar to one allocated by the balloon driver in that proper memory reservation is made by ({increase|decrease}_reservation and VA mappings are updated if needed). This is useful for sharing foreign buffers with HW drivers which cannot work with scattered buffers provided by the balloon driver, but require DMAable memory instead. config SWIOTLB_XEN def_bool y select SWIOTLB config XEN_PCIDEV_BACKEND tristate "Xen PCI-device backend driver" depends on PCI && X86 && XEN depends on XEN_BACKEND default m help The PCI device backend driver allows the kernel to export arbitrary PCI devices to other guests. If you select this to be a module, you will need to make sure no other driver has bound to the device(s) you want to make visible to other guests. The parameter "passthrough" allows you specify how you want the PCI devices to appear in the guest. You can choose the default (0) where PCI topology starts at 00.00.0, or (1) for passthrough if you want the PCI devices topology appear the same as in the host. The "hide" parameter (only applicable if backend driver is compiled into the kernel) allows you to bind the PCI devices to this module from the default device drivers. The argument is the list of PCI BDFs: xen-pciback.hide=(03:00.0)(04:00.0) If in doubt, say m. config XEN_PVCALLS_FRONTEND tristate "XEN PV Calls frontend driver" depends on INET && XEN select XEN_XENBUS_FRONTEND help Experimental frontend for the Xen PV Calls protocol (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It sends a small set of POSIX calls to the backend, which implements them. config XEN_PVCALLS_BACKEND bool "XEN PV Calls backend driver" depends on INET && XEN && XEN_BACKEND help Experimental backend for the Xen PV Calls protocol (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It allows PV Calls frontends to send POSIX calls to the backend, which implements them. If in doubt, say n. config XEN_SCSI_BACKEND tristate "XEN SCSI backend driver" depends on XEN && XEN_BACKEND && TARGET_CORE help The SCSI backend driver allows the kernel to export its SCSI Devices to other guests via a high-performance shared-memory interface. Only needed for systems running as XEN driver domains (e.g. Dom0) and if guests need generic access to SCSI devices. config XEN_PRIVCMD tristate depends on XEN default m config XEN_STUB bool "Xen stub drivers" depends on XEN && X86_64 && BROKEN help Allow kernel to install stub drivers, to reserve space for Xen drivers, i.e. memory hotplug and cpu hotplug, and to block native drivers loaded, so that real Xen drivers can be modular. To enable Xen features like cpu and memory hotplug, select Y here. config XEN_ACPI_HOTPLUG_MEMORY tristate "Xen ACPI memory hotplug" depends on XEN_DOM0 && XEN_STUB && ACPI help This is Xen ACPI memory hotplug. Currently Xen only support ACPI memory hot-add. If you want to hot-add memory at runtime (the hot-added memory cannot be removed until machine stop), select Y/M here, otherwise select N. config XEN_ACPI_HOTPLUG_CPU tristate "Xen ACPI cpu hotplug" depends on XEN_DOM0 && XEN_STUB && ACPI select ACPI_CONTAINER help Xen ACPI cpu enumerating and hotplugging For hotplugging, currently Xen only support ACPI cpu hotadd. If you want to hotadd cpu at runtime (the hotadded cpu cannot be removed until machine stop), select Y/M here. config XEN_ACPI_PROCESSOR tristate "Xen ACPI processor" depends on XEN && XEN_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ default m help This ACPI processor uploads Power Management information to the Xen hypervisor. To do that the driver parses the Power Management data and uploads said information to the Xen hypervisor. Then the Xen hypervisor can select the proper Cx and Pxx states. It also registers itself as the SMM so that other drivers (such as ACPI cpufreq scaling driver) will not load. To compile this driver as a module, choose M here: the module will be called xen_acpi_processor If you do not know what to choose, select M here. If the CPUFREQ drivers are built in, select Y here. config XEN_MCE_LOG bool "Xen platform mcelog" depends on XEN_DOM0 && X86_64 && X86_MCE help Allow kernel fetching MCE error from Xen platform and converting it into Linux mcelog format for mcelog tools config XEN_HAVE_PVMMU bool config XEN_EFI def_bool y depends on (ARM || ARM64 || X86_64) && EFI config XEN_AUTO_XLATE def_bool y depends on ARM || ARM64 || XEN_PVHVM help Support for auto-translated physmap guests. config XEN_ACPI def_bool y depends on X86 && ACPI config XEN_SYMS bool "Xen symbols" depends on X86 && XEN_DOM0 && XENFS default y if KALLSYMS help Exports hypervisor symbols (along with their types and addresses) via /proc/xen/xensyms file, similar to /proc/kallsyms config XEN_HAVE_VPMU bool config XEN_FRONT_PGDIR_SHBUF tristate endmenu xen/xenfs/Makefile 0000644 00000000254 14722053666 0010135 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_XENFS) += xenfs.o xenfs-y = super.o xenfs-$(CONFIG_XEN_DOM0) += xenstored.o xenfs-$(CONFIG_XEN_SYMS) += xensyms.o xen/xenbus/Makefile 0000644 00000000654 14722053666 0010322 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += xenbus.o obj-y += xenbus_dev_frontend.o xenbus-objs = xenbus-objs += xenbus_client.o xenbus-objs += xenbus_comms.o xenbus-objs += xenbus_xs.o xenbus-objs += xenbus_probe.o xenbus-be-objs-$(CONFIG_XEN_BACKEND) += xenbus_probe_backend.o xenbus-objs += $(xenbus-be-objs-y) obj-$(CONFIG_XEN_BACKEND) += xenbus_dev_backend.o obj-$(CONFIG_XEN_XENBUS_FRONTEND) += xenbus_probe_frontend.o xen/Makefile 0000644 00000003372 14722053666 0007016 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_HOTPLUG_CPU) += cpu_hotplug.o obj-y += grant-table.o features.o balloon.o manage.o preempt.o time.o obj-y += mem-reservation.o obj-y += events/ obj-y += xenbus/ nostackp := $(call cc-option, -fno-stack-protector) CFLAGS_features.o := $(nostackp) dom0-$(CONFIG_ARM64) += arm-device.o dom0-$(CONFIG_PCI) += pci.o dom0-$(CONFIG_USB_SUPPORT) += dbgp.o dom0-$(CONFIG_XEN_ACPI) += acpi.o $(xen-pad-y) xen-pad-$(CONFIG_X86) += xen-acpi-pad.o dom0-$(CONFIG_X86) += pcpu.o obj-$(CONFIG_XEN_DOM0) += $(dom0-y) obj-$(CONFIG_BLOCK) += biomerge.o obj-$(CONFIG_XEN_BALLOON) += xen-balloon.o obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o obj-$(CONFIG_XEN_GNTDEV) += xen-gntdev.o obj-$(CONFIG_XEN_GRANT_DEV_ALLOC) += xen-gntalloc.o obj-$(CONFIG_XENFS) += xenfs/ obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o obj-$(CONFIG_XEN_PVHVM) += platform-pci.o obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o obj-$(CONFIG_XEN_MCE_LOG) += mcelog.o obj-$(CONFIG_XEN_PCIDEV_BACKEND) += xen-pciback/ obj-$(CONFIG_XEN_PRIVCMD) += xen-privcmd.o obj-$(CONFIG_XEN_STUB) += xen-stub.o obj-$(CONFIG_XEN_ACPI_HOTPLUG_MEMORY) += xen-acpi-memhotplug.o obj-$(CONFIG_XEN_ACPI_HOTPLUG_CPU) += xen-acpi-cpuhotplug.o obj-$(CONFIG_XEN_ACPI_PROCESSOR) += xen-acpi-processor.o obj-$(CONFIG_XEN_EFI) += efi.o obj-$(CONFIG_XEN_SCSI_BACKEND) += xen-scsiback.o obj-$(CONFIG_XEN_AUTO_XLATE) += xlate_mmu.o obj-$(CONFIG_XEN_PVCALLS_BACKEND) += pvcalls-back.o obj-$(CONFIG_XEN_PVCALLS_FRONTEND) += pvcalls-front.o xen-evtchn-y := evtchn.o xen-gntdev-y := gntdev.o xen-gntdev-$(CONFIG_XEN_GNTDEV_DMABUF) += gntdev-dmabuf.o xen-gntalloc-y := gntalloc.o xen-privcmd-y := privcmd.o privcmd-buf.o obj-$(CONFIG_XEN_FRONT_PGDIR_SHBUF) += xen-front-pgdir-shbuf.o video/backlight/Kconfig 0000644 00000031345 14722053666 0011126 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Backlight & LCD drivers configuration # menu "Backlight & LCD device support" # # LCD # config LCD_CLASS_DEVICE tristate "Lowlevel LCD controls" help This framework adds support for low-level control of LCD. Some framebuffer devices connect to platform-specific LCD modules in order to have a platform-specific way to control the flat panel (contrast and applying power to the LCD (not to the backlight!)). To have support for your specific LCD panel you will have to select the proper drivers which depend on this option. if LCD_CLASS_DEVICE config LCD_CORGI tristate "LCD Panel support for SHARP corgi/spitz model" depends on SPI_MASTER && PXA_SHARPSL && BACKLIGHT_CLASS_DEVICE help Say y here to support the LCD panels usually found on SHARP corgi (C7x0) and spitz (Cxx00) models. config LCD_L4F00242T03 tristate "Epson L4F00242T03 LCD" depends on SPI_MASTER depends on GPIOLIB || COMPILE_TEST help SPI driver for Epson L4F00242T03. This provides basic support for init and powering the LCD up/down through a sysfs interface. config LCD_LMS283GF05 tristate "Samsung LMS283GF05 LCD" depends on SPI_MASTER depends on GPIOLIB || COMPILE_TEST help SPI driver for Samsung LMS283GF05. This provides basic support for powering the LCD up/down through a sysfs interface. config LCD_LTV350QV tristate "Samsung LTV350QV LCD Panel" depends on SPI_MASTER help If you have a Samsung LTV350QV LCD panel, say y to include a power control driver for it. The panel starts up in power off state, so you need this driver in order to see any output. The LTV350QV panel is present on all ATSTK1000 boards. config LCD_ILI922X tristate "ILI Technology ILI9221/ILI9222 support" depends on SPI help If you have a panel based on the ILI9221/9222 controller chip then say y to include a driver for it. config LCD_ILI9320 tristate "ILI Technology ILI9320 controller support" depends on SPI help If you have a panel based on the ILI9320 controller chip then say y to include a power driver for it. config LCD_TDO24M tristate "Toppoly TDO24M and TDO35S LCD Panels support" depends on SPI_MASTER help If you have a Toppoly TDO24M/TDO35S series LCD panel, say y here to include the support for it. config LCD_VGG2432A4 tristate "VGG2432A4 LCM device support" depends on SPI_MASTER select LCD_ILI9320 help If you have a VGG2432A4 panel based on the ILI9320 controller chip then say y to include a power driver for it. config LCD_PLATFORM tristate "Platform LCD controls" help This driver provides a platform-device registered LCD power control interface. config LCD_TOSA tristate "Sharp SL-6000 LCD Driver" depends on I2C && SPI && MACH_TOSA help If you have an Sharp SL-6000 Zaurus say Y to enable a driver for its LCD. config LCD_HP700 tristate "HP Jornada 700 series LCD Driver" depends on SA1100_JORNADA720_SSP && !PREEMPT default y help If you have an HP Jornada 700 series handheld (710/720/728) say Y to enable LCD control driver. config LCD_AMS369FG06 tristate "AMS369FG06 AMOLED LCD Driver" depends on SPI && BACKLIGHT_CLASS_DEVICE default n help If you have an AMS369FG06 AMOLED Panel, say Y to enable its LCD control driver. config LCD_LMS501KF03 tristate "LMS501KF03 LCD Driver" depends on SPI default n help If you have an LMS501KF03 LCD Panel, say Y to enable its LCD control driver. config LCD_HX8357 tristate "Himax HX-8357 LCD Driver" depends on SPI help If you have a HX-8357 LCD panel, say Y to enable its LCD control driver. config LCD_OTM3225A tristate "ORISE Technology OTM3225A support" depends on SPI help If you have a panel based on the OTM3225A controller chip then say y to include a driver for it. endif # LCD_CLASS_DEVICE # # Backlight # config BACKLIGHT_CLASS_DEVICE tristate "Lowlevel Backlight controls" help This framework adds support for low-level control of the LCD backlight. This includes support for brightness and power. To have support for your specific LCD panel you will have to select the proper drivers which depend on this option. if BACKLIGHT_CLASS_DEVICE config BACKLIGHT_ATMEL_LCDC bool "Atmel LCDC Contrast-as-Backlight control" depends on FB_ATMEL help This provides a backlight control internal to the Atmel LCDC driver. If the LCD "contrast control" on your board is wired so it controls the backlight brightness, select this option to export this as a PWM-based backlight control. If in doubt, it's safe to enable this option; it doesn't kick in unless the board's description says it's wired that way. config BACKLIGHT_EP93XX tristate "Cirrus EP93xx Backlight Driver" depends on FB_EP93XX help If you have a LCD backlight connected to the BRIGHT output of the EP93xx, say Y here to enable this driver. To compile this driver as a module, choose M here: the module will be called ep93xx_bl. config BACKLIGHT_GENERIC tristate "Generic (aka Sharp Corgi) Backlight Driver" default y help Say y to enable the generic platform backlight driver previously known as the Corgi backlight driver. If you have a Sharp Zaurus SL-C7xx, SL-Cxx00 or SL-6000x say y. config BACKLIGHT_IPAQ_MICRO tristate "iPAQ microcontroller backlight driver" depends on MFD_IPAQ_MICRO default y help Say y to enable the backlight driver for Compaq iPAQ handheld computers. Say yes if you have one of the h3100/h3600/h3700 machines. config BACKLIGHT_LM3533 tristate "Backlight Driver for LM3533" depends on MFD_LM3533 help Say Y to enable the backlight driver for National Semiconductor / TI LM3533 Lighting Power chips. The backlights can be controlled directly, through PWM input, or by the ambient-light-sensor interface. The chip supports 256 brightness levels. config BACKLIGHT_LOCOMO tristate "Sharp LOCOMO LCD/Backlight Driver" depends on SHARP_LOCOMO default y help If you have a Sharp Zaurus SL-5500 (Collie) or SL-5600 (Poodle) say y to enable the LCD/backlight driver. config BACKLIGHT_OMAP1 tristate "OMAP1 PWL-based LCD Backlight" depends on ARCH_OMAP1 default y help This driver controls the LCD backlight level and power for the PWL module of OMAP1 processors. Say Y if your board uses this hardware. config BACKLIGHT_HP680 tristate "HP Jornada 680 Backlight Driver" depends on SH_HP6XX default y help If you have a HP Jornada 680, say y to enable the backlight driver. config BACKLIGHT_HP700 tristate "HP Jornada 700 series Backlight Driver" depends on SA1100_JORNADA720_SSP && !PREEMPT default y help If you have an HP Jornada 700 series, say Y to include backlight control driver. config BACKLIGHT_CARILLO_RANCH tristate "Intel Carillo Ranch Backlight Driver" depends on LCD_CLASS_DEVICE && PCI && X86 && FB_LE80578 help If you have a Intel LE80578 (Carillo Ranch) say Y to enable the backlight driver. config BACKLIGHT_PWM tristate "Generic PWM based Backlight Driver" depends on PWM help If you have a LCD backlight adjustable by PWM, say Y to enable this driver. config BACKLIGHT_DA903X tristate "Backlight Driver for DA9030/DA9034 using WLED" depends on PMIC_DA903X help If you have a LCD backlight connected to the WLED output of DA9030 or DA9034 WLED output, say Y here to enable this driver. config BACKLIGHT_DA9052 tristate "Dialog DA9052/DA9053 WLED" depends on PMIC_DA9052 help Enable the Backlight Driver for DA9052-BC and DA9053-AA/Bx PMICs. config BACKLIGHT_MAX8925 tristate "Backlight driver for MAX8925" depends on MFD_MAX8925 help If you have a LCD backlight connected to the WLED output of MAX8925 WLED output, say Y here to enable this driver. config BACKLIGHT_APPLE tristate "Apple Backlight Driver" depends on X86 && ACPI help If you have an Intel-based Apple say Y to enable a driver for its backlight. config BACKLIGHT_TOSA tristate "Sharp SL-6000 Backlight Driver" depends on I2C && MACH_TOSA && LCD_TOSA help If you have an Sharp SL-6000 Zaurus say Y to enable a driver for its backlight config BACKLIGHT_PM8941_WLED tristate "Qualcomm PM8941 WLED Driver" select REGMAP help If you have the Qualcomm PM8941, say Y to enable a driver for the WLED block. config BACKLIGHT_SAHARA tristate "Tabletkiosk Sahara Touch-iT Backlight Driver" depends on X86 help If you have a Tabletkiosk Sahara Touch-iT, say y to enable the backlight driver. config BACKLIGHT_WM831X tristate "WM831x PMIC Backlight Driver" depends on MFD_WM831X help If you have a backlight driven by the ISINK and DCDC of a WM831x PMIC say y to enable the backlight driver for it. config BACKLIGHT_ADP5520 tristate "Backlight Driver for ADP5520/ADP5501 using WLED" depends on PMIC_ADP5520 help If you have a LCD backlight connected to the BST/BL_SNK output of ADP5520 or ADP5501, say Y here to enable this driver. To compile this driver as a module, choose M here: the module will be called adp5520_bl. config BACKLIGHT_ADP8860 tristate "Backlight Driver for ADP8860/ADP8861/ADP8863 using WLED" depends on I2C select NEW_LEDS select LEDS_CLASS help If you have a LCD backlight connected to the ADP8860, ADP8861 or ADP8863 say Y here to enable this driver. To compile this driver as a module, choose M here: the module will be called adp8860_bl. config BACKLIGHT_ADP8870 tristate "Backlight Driver for ADP8870 using WLED" depends on I2C select NEW_LEDS select LEDS_CLASS help If you have a LCD backlight connected to the ADP8870, say Y here to enable this driver. To compile this driver as a module, choose M here: the module will be called adp8870_bl. config BACKLIGHT_88PM860X tristate "Backlight Driver for 88PM8606 using WLED" depends on MFD_88PM860X help Say Y to enable the backlight driver for Marvell 88PM8606. config BACKLIGHT_PCF50633 tristate "Backlight driver for NXP PCF50633 MFD" depends on MFD_PCF50633 help If you have a backlight driven by a NXP PCF50633 MFD, say Y here to enable its driver. config BACKLIGHT_AAT2870 tristate "AnalogicTech AAT2870 Backlight" depends on MFD_AAT2870_CORE help If you have a AnalogicTech AAT2870 say Y to enable the backlight driver. config BACKLIGHT_LM3630A tristate "Backlight Driver for LM3630A" depends on I2C && PWM select REGMAP_I2C help This supports TI LM3630A Backlight Driver config BACKLIGHT_LM3639 tristate "Backlight Driver for LM3639" depends on I2C select REGMAP_I2C select NEW_LEDS select LEDS_CLASS help This supports TI LM3639 Backlight + 1.5A Flash LED Driver config BACKLIGHT_LP855X tristate "Backlight driver for TI LP855X" depends on I2C && PWM help This supports TI LP8550, LP8551, LP8552, LP8553, LP8555, LP8556 and LP8557 backlight driver. config BACKLIGHT_LP8788 tristate "Backlight driver for TI LP8788 MFD" depends on MFD_LP8788 && PWM help This supports TI LP8788 backlight driver. config BACKLIGHT_OT200 tristate "Backlight driver for ot200 visualisation device" depends on CS5535_MFGPT && GPIO_CS5535 help To compile this driver as a module, choose M here: the module will be called ot200_bl. config BACKLIGHT_PANDORA tristate "Backlight driver for Pandora console" depends on TWL4030_CORE help If you have a Pandora console, say Y to enable the backlight driver. config BACKLIGHT_SKY81452 tristate "Backlight driver for SKY81452" depends on MFD_SKY81452 help If you have a Skyworks SKY81452, say Y to enable the backlight driver. To compile this driver as a module, choose M here: the module will be called sky81452-backlight config BACKLIGHT_TPS65217 tristate "TPS65217 Backlight" depends on MFD_TPS65217 help If you have a Texas Instruments TPS65217 say Y to enable the backlight driver. config BACKLIGHT_AS3711 tristate "AS3711 Backlight" depends on MFD_AS3711 help If you have an Austrian Microsystems AS3711 say Y to enable the backlight driver. config BACKLIGHT_GPIO tristate "Generic GPIO based Backlight Driver" depends on GPIOLIB || COMPILE_TEST help If you have a LCD backlight adjustable by GPIO, say Y to enable this driver. config BACKLIGHT_LV5207LP tristate "Sanyo LV5207LP Backlight" depends on I2C help If you have a Sanyo LV5207LP say Y to enable the backlight driver. config BACKLIGHT_BD6107 tristate "Rohm BD6107 Backlight" depends on I2C help If you have a Rohm BD6107 say Y to enable the backlight driver. config BACKLIGHT_ARCXCNN tristate "Backlight driver for the Arctic Sands ARCxCnnnn family" depends on I2C help If you have an ARCxCnnnn family backlight say Y to enable the backlight driver. config BACKLIGHT_RAVE_SP tristate "RAVE SP Backlight driver" depends on RAVE_SP_CORE help Support for backlight control on RAVE SP device. endif # BACKLIGHT_CLASS_DEVICE endmenu video/backlight/Makefile 0000644 00000005120 14722053666 0011253 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Backlight & LCD drivers obj-$(CONFIG_LCD_AMS369FG06) += ams369fg06.o obj-$(CONFIG_LCD_CLASS_DEVICE) += lcd.o obj-$(CONFIG_LCD_CORGI) += corgi_lcd.o obj-$(CONFIG_LCD_HP700) += jornada720_lcd.o obj-$(CONFIG_LCD_HX8357) += hx8357.o obj-$(CONFIG_LCD_ILI922X) += ili922x.o obj-$(CONFIG_LCD_ILI9320) += ili9320.o obj-$(CONFIG_LCD_L4F00242T03) += l4f00242t03.o obj-$(CONFIG_LCD_LMS283GF05) += lms283gf05.o obj-$(CONFIG_LCD_LMS501KF03) += lms501kf03.o obj-$(CONFIG_LCD_LTV350QV) += ltv350qv.o obj-$(CONFIG_LCD_OTM3225A) += otm3225a.o obj-$(CONFIG_LCD_PLATFORM) += platform_lcd.o obj-$(CONFIG_LCD_TDO24M) += tdo24m.o obj-$(CONFIG_LCD_TOSA) += tosa_lcd.o obj-$(CONFIG_LCD_VGG2432A4) += vgg2432a4.o obj-$(CONFIG_BACKLIGHT_88PM860X) += 88pm860x_bl.o obj-$(CONFIG_BACKLIGHT_AAT2870) += aat2870_bl.o obj-$(CONFIG_BACKLIGHT_ADP5520) += adp5520_bl.o obj-$(CONFIG_BACKLIGHT_ADP8860) += adp8860_bl.o obj-$(CONFIG_BACKLIGHT_ADP8870) += adp8870_bl.o obj-$(CONFIG_BACKLIGHT_APPLE) += apple_bl.o obj-$(CONFIG_BACKLIGHT_AS3711) += as3711_bl.o obj-$(CONFIG_BACKLIGHT_BD6107) += bd6107.o obj-$(CONFIG_BACKLIGHT_CARILLO_RANCH) += cr_bllcd.o obj-$(CONFIG_BACKLIGHT_CLASS_DEVICE) += backlight.o obj-$(CONFIG_BACKLIGHT_DA903X) += da903x_bl.o obj-$(CONFIG_BACKLIGHT_DA9052) += da9052_bl.o obj-$(CONFIG_BACKLIGHT_EP93XX) += ep93xx_bl.o obj-$(CONFIG_BACKLIGHT_GENERIC) += generic_bl.o obj-$(CONFIG_BACKLIGHT_GPIO) += gpio_backlight.o obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o obj-$(CONFIG_BACKLIGHT_HP700) += jornada720_bl.o obj-$(CONFIG_BACKLIGHT_IPAQ_MICRO) += ipaq_micro_bl.o obj-$(CONFIG_BACKLIGHT_LM3533) += lm3533_bl.o obj-$(CONFIG_BACKLIGHT_LM3630A) += lm3630a_bl.o obj-$(CONFIG_BACKLIGHT_LM3639) += lm3639_bl.o obj-$(CONFIG_BACKLIGHT_LOCOMO) += locomolcd.o obj-$(CONFIG_BACKLIGHT_LP855X) += lp855x_bl.o obj-$(CONFIG_BACKLIGHT_LP8788) += lp8788_bl.o obj-$(CONFIG_BACKLIGHT_LV5207LP) += lv5207lp.o obj-$(CONFIG_BACKLIGHT_MAX8925) += max8925_bl.o obj-$(CONFIG_BACKLIGHT_OMAP1) += omap1_bl.o obj-$(CONFIG_BACKLIGHT_OT200) += ot200_bl.o obj-$(CONFIG_BACKLIGHT_PANDORA) += pandora_bl.o obj-$(CONFIG_BACKLIGHT_PCF50633) += pcf50633-backlight.o obj-$(CONFIG_BACKLIGHT_PM8941_WLED) += pm8941-wled.o obj-$(CONFIG_BACKLIGHT_PWM) += pwm_bl.o obj-$(CONFIG_BACKLIGHT_SAHARA) += kb3886_bl.o obj-$(CONFIG_BACKLIGHT_SKY81452) += sky81452-backlight.o obj-$(CONFIG_BACKLIGHT_TOSA) += tosa_bl.o obj-$(CONFIG_BACKLIGHT_TPS65217) += tps65217_bl.o obj-$(CONFIG_BACKLIGHT_WM831X) += wm831x_bl.o obj-$(CONFIG_BACKLIGHT_ARCXCNN) += arcxcnn_bl.o obj-$(CONFIG_BACKLIGHT_RAVE_SP) += rave-sp-backlight.o video/fbdev/geode/Kconfig 0000644 00000002710 14722053666 0011341 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Geode family framebuffer configuration # config FB_GEODE bool "AMD Geode family framebuffer support" depends on FB && PCI && (X86_32 || (X86 && COMPILE_TEST)) ---help--- Say 'Y' here to allow you to select framebuffer drivers for the AMD Geode family of processors. config FB_GEODE_LX tristate "AMD Geode LX framebuffer support" depends on FB && FB_GEODE select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the display controller integrated into the AMD Geode LX processors. To compile this driver as a module, choose M here: the module will be called lxfb. If unsure, say N. config FB_GEODE_GX tristate "AMD Geode GX framebuffer support" depends on FB && FB_GEODE select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the display controller integrated into the AMD Geode GX processors. To compile this driver as a module, choose M here: the module will be called gxfb. If unsure, say N. config FB_GEODE_GX1 tristate "AMD Geode GX1 framebuffer support" depends on FB && FB_GEODE select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the display controller integrated into the AMD Geode GX1 processor. To compile this driver as a module, choose M here: the module will be called gx1fb. If unsure, say N. video/fbdev/geode/Makefile 0000644 00000000545 14722053666 0011502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the Geode family framebuffer drivers obj-$(CONFIG_FB_GEODE_GX1) += gx1fb.o obj-$(CONFIG_FB_GEODE_GX) += gxfb.o obj-$(CONFIG_FB_GEODE_LX) += lxfb.o gx1fb-objs := gx1fb_core.o display_gx1.o video_cs5530.o gxfb-objs := gxfb_core.o display_gx.o video_gx.o suspend_gx.o lxfb-objs := lxfb_core.o lxfb_ops.o video/fbdev/savage/Makefile 0000644 00000000423 14722053666 0011660 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the S3 Savage framebuffer driver # obj-$(CONFIG_FB_SAVAGE) += savagefb.o savagefb-y += savagefb_driver.o savagefb-$(CONFIG_FB_SAVAGE_I2C) += savagefb-i2c.o savagefb-$(CONFIG_FB_SAVAGE_ACCEL) += savagefb_accel.o video/fbdev/core/Makefile 0000644 00000002113 14722053666 0011340 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FB_CMDLINE) += fb_cmdline.o obj-$(CONFIG_FB_NOTIFY) += fb_notify.o obj-$(CONFIG_FB) += fb.o fb-y := fbmem.o fbmon.o fbcmap.o fbsysfs.o \ modedb.o fbcvt.o fb-$(CONFIG_FB_DEFERRED_IO) += fb_defio.o ifeq ($(CONFIG_FRAMEBUFFER_CONSOLE),y) fb-y += fbcon.o bitblit.o softcursor.o ifeq ($(CONFIG_FB_TILEBLITTING),y) fb-y += tileblit.o endif ifeq ($(CONFIG_FRAMEBUFFER_CONSOLE_ROTATION),y) fb-y += fbcon_rotate.o fbcon_cw.o fbcon_ud.o \ fbcon_ccw.o endif endif fb-objs := $(fb-y) obj-$(CONFIG_FB_CFB_FILLRECT) += cfbfillrect.o obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o obj-$(CONFIG_FB_CFB_IMAGEBLIT) += cfbimgblt.o obj-$(CONFIG_FB_SYS_FILLRECT) += sysfillrect.o obj-$(CONFIG_FB_SYS_COPYAREA) += syscopyarea.o obj-$(CONFIG_FB_SYS_IMAGEBLIT) += sysimgblt.o obj-$(CONFIG_FB_SYS_FOPS) += fb_sys_fops.o obj-$(CONFIG_FB_SVGALIB) += svgalib.o obj-$(CONFIG_FB_DDC) += fb_ddc.o video/fbdev/Kconfig 0000644 00000211035 14722053666 0010260 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # fbdev configuration # config FB_CMDLINE bool config FB_NOTIFY bool menuconfig FB tristate "Support for frame buffer devices" select FB_CMDLINE select FB_NOTIFY ---help--- The frame buffer device provides an abstraction for the graphics hardware. It represents the frame buffer of some video hardware and allows application software to access the graphics hardware through a well-defined interface, so the software doesn't need to know anything about the low-level (hardware register) stuff. Frame buffer devices work identically across the different architectures supported by Linux and make the implementation of application programs easier and more portable; at this point, an X server exists which uses the frame buffer device exclusively. On several non-X86 architectures, the frame buffer device is the only way to use the graphics hardware. The device is accessed through special device nodes, usually located in the /dev directory, i.e. /dev/fb*. You need an utility program called fbset to make full use of frame buffer devices. Please read <file:Documentation/fb/framebuffer.rst> and the Framebuffer-HOWTO at <http://www.munted.org.uk/programming/Framebuffer-HOWTO-1.3.html> for more information. Say Y here and to the driver for your graphics board below if you are compiling a kernel for a non-x86 architecture. If you are compiling for the x86 architecture, you can say Y if you want to play with it, but it is not essential. Please note that running graphical applications that directly touch the hardware (e.g. an accelerated X server) and that are not frame buffer device-aware may cause unexpected results. If unsure, say N. config FIRMWARE_EDID bool "Enable firmware EDID" depends on FB ---help--- This enables access to the EDID transferred from the firmware. On the i386, this is from the Video BIOS. Enable this if DDC/I2C transfers do not work for your driver and if you are using nvidiafb, i810fb or savagefb. In general, choosing Y for this option is safe. If you experience extremely long delays while booting before you get something on your display, try setting this to N. Matrox cards in combination with certain motherboards and monitors are known to suffer from this problem. config FB_DDC tristate depends on FB select I2C_ALGOBIT select I2C config FB_BOOT_VESA_SUPPORT bool depends on FB ---help--- If true, at least one selected framebuffer driver can take advantage of VESA video modes set at an early boot stage via the vga= parameter. config FB_CFB_FILLRECT tristate depends on FB ---help--- Include the cfb_fillrect function for generic software rectangle filling. This is used by drivers that don't provide their own (accelerated) version. config FB_CFB_COPYAREA tristate depends on FB ---help--- Include the cfb_copyarea function for generic software area copying. This is used by drivers that don't provide their own (accelerated) version. config FB_CFB_IMAGEBLIT tristate depends on FB ---help--- Include the cfb_imageblit function for generic software image blitting. This is used by drivers that don't provide their own (accelerated) version. config FB_CFB_REV_PIXELS_IN_BYTE bool depends on FB ---help--- Allow generic frame-buffer functions to work on displays with 1, 2 and 4 bits per pixel depths which has opposite order of pixels in byte order to bytes in long order. config FB_SYS_FILLRECT tristate depends on FB ---help--- Include the sys_fillrect function for generic software rectangle filling. This is used by drivers that don't provide their own (accelerated) version and the framebuffer is in system RAM. config FB_SYS_COPYAREA tristate depends on FB ---help--- Include the sys_copyarea function for generic software area copying. This is used by drivers that don't provide their own (accelerated) version and the framebuffer is in system RAM. config FB_SYS_IMAGEBLIT tristate depends on FB ---help--- Include the sys_imageblit function for generic software image blitting. This is used by drivers that don't provide their own (accelerated) version and the framebuffer is in system RAM. config FB_PROVIDE_GET_FB_UNMAPPED_AREA bool depends on FB ---help--- Allow generic frame-buffer to provide get_fb_unmapped_area function. menuconfig FB_FOREIGN_ENDIAN bool "Framebuffer foreign endianness support" depends on FB ---help--- This menu will let you enable support for the framebuffers with non-native endianness (e.g. Little-Endian framebuffer on a Big-Endian machine). Most probably you don't have such hardware, so it's safe to say "n" here. choice prompt "Choice endianness support" depends on FB_FOREIGN_ENDIAN config FB_BOTH_ENDIAN bool "Support for Big- and Little-Endian framebuffers" config FB_BIG_ENDIAN bool "Support for Big-Endian framebuffers only" config FB_LITTLE_ENDIAN bool "Support for Little-Endian framebuffers only" endchoice config FB_SYS_FOPS tristate depends on FB config FB_DEFERRED_IO bool depends on FB config FB_HECUBA tristate depends on FB depends on FB_DEFERRED_IO config FB_SVGALIB tristate depends on FB ---help--- Common utility functions useful to fbdev drivers of VGA-based cards. config FB_MACMODES tristate depends on FB config FB_BACKLIGHT tristate depends on FB select BACKLIGHT_CLASS_DEVICE config FB_MODE_HELPERS bool "Enable Video Mode Handling Helpers" depends on FB ---help--- This enables functions for handling video modes using the Generalized Timing Formula and the EDID parser. A few drivers rely on this feature such as the radeonfb, rivafb, and the i810fb. If your driver does not take advantage of this feature, choosing Y will just increase the kernel size by about 5K. config FB_TILEBLITTING bool "Enable Tile Blitting Support" depends on FB ---help--- This enables tile blitting. Tile blitting is a drawing technique where the screen is divided into rectangular sections (tiles), whereas the standard blitting divides the screen into pixels. Because the default drawing element is a tile, drawing functions will be passed parameters in terms of number of tiles instead of number of pixels. For example, to draw a single character, instead of using bitmaps, an index to an array of bitmaps will be used. To clear or move a rectangular section of a screen, the rectangle will be described in terms of number of tiles in the x- and y-axis. This is particularly important to one driver, matroxfb. If unsure, say N. comment "Frame buffer hardware drivers" depends on FB config FB_GRVGA tristate "Aeroflex Gaisler framebuffer support" depends on FB && SPARC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- This enables support for the SVGACTRL framebuffer in the GRLIB IP library from Aeroflex Gaisler. config FB_CIRRUS tristate "Cirrus Logic support" depends on FB && (ZORRO || PCI) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- This enables support for Cirrus Logic GD542x/543x based boards on Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum. If you have a PCI-based system, this enables support for these chips: GD-543x, GD-544x, GD-5480. Please read the file <file:Documentation/fb/cirrusfb.rst>. Say N unless you have such a graphics board or plan to get one before you next recompile the kernel. config FB_PM2 tristate "Permedia2 support" depends on FB && ((AMIGA && BROKEN) || PCI) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for cards based on the 3D Labs Permedia, Permedia 2 and Permedia 2V chips. The driver was tested on the following cards: Diamond FireGL 1000 PRO AGP ELSA Gloria Synergy PCI Appian Jeronimo PRO (both heads) PCI 3DLabs Oxygen ACX aka EONtronics Picasso P2 PCI Techsource Raptor GFX-8P (aka Sun PGX-32) on SPARC ASK Graphic Blaster Exxtreme AGP To compile this driver as a module, choose M here: the module will be called pm2fb. config FB_PM2_FIFO_DISCONNECT bool "enable FIFO disconnect feature" depends on FB_PM2 && PCI help Support the Permedia2 FIFO disconnect feature. config FB_ARMCLCD tristate "ARM PrimeCell PL110 support" depends on ARM || ARM64 || COMPILE_TEST depends on FB && ARM_AMBA && HAS_IOMEM select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MODE_HELPERS if OF select VIDEOMODE_HELPERS if OF select BACKLIGHT_CLASS_DEVICE if OF help This framebuffer device driver is for the ARM PrimeCell PL110 Colour LCD controller. ARM PrimeCells provide the building blocks for System on a Chip devices. If you want to compile this as a module (=code which can be inserted into and removed from the running kernel), say M here and read <file:Documentation/kbuild/modules.rst>. The module will be called amba-clcd. config FB_ACORN bool "Acorn VIDC support" depends on (FB = y) && ARM && ARCH_ACORN select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Acorn VIDC graphics hardware found in Acorn RISC PCs and other ARM-based machines. If unsure, say N. config FB_CLPS711X tristate "CLPS711X LCD support" depends on FB && (ARCH_CLPS711X || COMPILE_TEST) select FB_MODE_HELPERS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select LCD_CLASS_DEVICE select VIDEOMODE_HELPERS help Say Y to enable the Framebuffer driver for the Cirrus Logic CLPS711X CPUs. config FB_SA1100 bool "SA-1100 LCD support" depends on (FB = y) && ARM && ARCH_SA1100 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is a framebuffer device for the SA-1100 LCD Controller. See <http://www.linux-fbdev.org/> for information on framebuffer devices. If you plan to use the LCD display with your SA-1100 system, say Y here. config FB_IMX tristate "Freescale i.MX1/21/25/27 LCD support" depends on FB && HAVE_CLK && HAS_IOMEM depends on ARCH_MXC || COMPILE_TEST select LCD_CLASS_DEVICE select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MODE_HELPERS select VIDEOMODE_HELPERS config FB_CYBER2000 tristate "CyberPro 2000/2010/5000 support" depends on FB && PCI && (BROKEN || !SPARC64) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This enables support for the Integraphics CyberPro 20x0 and 5000 VGA chips used in the Rebel.com Netwinder and other machines. Say Y if you have a NetWinder or a graphics card containing this device, otherwise say N. config FB_CYBER2000_DDC bool "DDC for CyberPro support" depends on FB_CYBER2000 select FB_DDC default y help Say Y here if you want DDC support for your CyberPro graphics card. This is only I2C bus support, driver does not use EDID. config FB_CYBER2000_I2C bool "CyberPro 2000/2010/5000 I2C support" depends on FB_CYBER2000 && I2C && ARCH_NETWINDER depends on I2C=y || FB_CYBER2000=m select I2C_ALGOBIT help Enable support for the I2C video decoder interface on the Integraphics CyberPro 20x0 and 5000 VGA chips. This is used on the Netwinder machines for the SAA7111 video capture. config FB_APOLLO bool depends on (FB = y) && APOLLO default y select FB_CFB_FILLRECT select FB_CFB_IMAGEBLIT config FB_Q40 bool depends on (FB = y) && Q40 default y select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT config FB_AMIGA tristate "Amiga native chipset support" depends on FB && AMIGA help This is the frame buffer device driver for the builtin graphics chipset found in Amigas. To compile this driver as a module, choose M here: the module will be called amifb. config FB_AMIGA_OCS bool "Amiga OCS chipset support" depends on FB_AMIGA help This enables support for the original Agnus and Denise video chips, found in the Amiga 1000 and most A500's and A2000's. If you intend to run Linux on any of these systems, say Y; otherwise say N. config FB_AMIGA_ECS bool "Amiga ECS chipset support" depends on FB_AMIGA help This enables support for the Enhanced Chip Set, found in later A500's, later A2000's, the A600, the A3000, the A3000T and CDTV. If you intend to run Linux on any of these systems, say Y; otherwise say N. config FB_AMIGA_AGA bool "Amiga AGA chipset support" depends on FB_AMIGA help This enables support for the Advanced Graphics Architecture (also known as the AGA or AA) Chip Set, found in the A1200, A4000, A4000T and CD32. If you intend to run Linux on any of these systems, say Y; otherwise say N. config FB_FM2 bool "Amiga FrameMaster II/Rainbow II support" depends on (FB = y) && ZORRO select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Amiga FrameMaster card from BSC (exhibited 1992 but not shipped as a CBM product). config FB_ARC tristate "Arc Monochrome LCD board support" depends on FB && X86 select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS help This enables support for the Arc Monochrome LCD board. The board is based on the KS-108 lcd controller and is typically a matrix of 2*n chips. This driver was tested with a 128x64 panel. This driver supports it for use with x86 SBCs through a 16 bit GPIO interface (8 bit data, 8 bit control). If you anticipate using this driver, say Y or M; otherwise say N. You must specify the GPIO IO address to be used for setting control and data. config FB_ATARI bool "Atari native chipset support" depends on (FB = y) && ATARI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the builtin graphics chipset found in Ataris. config FB_OF bool "Open Firmware frame buffer device support" depends on (FB = y) && PPC && (!PPC_PSERIES || PCI) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES help Say Y if you want support with Open Firmware for your graphics board. config FB_CONTROL bool "Apple \"control\" display support" depends on (FB = y) && PPC_PMAC && PPC32 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES help This driver supports a frame buffer for the graphics adapter in the Power Macintosh 7300 and others. config FB_PLATINUM bool "Apple \"platinum\" display support" depends on (FB = y) && PPC_PMAC && PPC32 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES help This driver supports a frame buffer for the "platinum" graphics adapter in some Power Macintoshes. config FB_VALKYRIE bool "Apple \"valkyrie\" display support" depends on (FB = y) && (MAC || (PPC_PMAC && PPC32)) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES help This driver supports a frame buffer for the "valkyrie" graphics adapter in some Power Macintoshes. config FB_CT65550 bool "Chips 65550 display support" depends on (FB = y) && PPC32 && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Chips & Technologies 65550 graphics chip in PowerBooks. config FB_ASILIANT bool "Asiliant (Chips) 69000 display support" depends on (FB = y) && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Asiliant 69030 chipset config FB_IMSTT bool "IMS Twin Turbo display support" depends on (FB = y) && PCI select FB_CFB_IMAGEBLIT select FB_MACMODES if PPC_PMAC help The IMS Twin Turbo is a PCI-based frame buffer card bundled with many Macintosh and compatible computers. config FB_VGA16 tristate "VGA 16-color graphics support" depends on FB && (X86 || PPC) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE select FONT_8x16 if FRAMEBUFFER_CONSOLE help This is the frame buffer device driver for VGA 16 color graphic cards. Say Y if you have such a card. To compile this driver as a module, choose M here: the module will be called vga16fb. config FB_STI tristate "HP STI frame buffer device support" depends on FB && PARISC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT default y ---help--- STI refers to the HP "Standard Text Interface" which is a set of BIOS routines contained in a ROM chip in HP PA-RISC based machines. Enabling this option will implement the linux framebuffer device using calls to the STI BIOS routines for initialisation. If you enable this option, you will get a planar framebuffer device /dev/fb which will work on the most common HP graphic cards of the NGLE family, including the artist chips (in the 7xx and Bxxx series), HCRX, HCRX24, CRX, CRX24 and VisEG series. It is safe to enable this option, so you should probably say "Y". config FB_MAC bool "Generic Macintosh display support" depends on (FB = y) && MAC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES config FB_HP300 bool depends on (FB = y) && DIO select FB_CFB_IMAGEBLIT default y config FB_TGA tristate "TGA/SFB+ framebuffer support" depends on FB && (ALPHA || TC) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BITREVERSE ---help--- This is the frame buffer device driver for generic TGA and SFB+ graphic cards. These include DEC ZLXp-E1, -E2 and -E3 PCI cards, also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3 TURBOchannel cards, also known as PMAGD-A, -B and -C. Due to hardware limitations ZLX-E2 and E3 cards are not supported for DECstation 5000/200 systems. Additionally due to firmware limitations these cards may cause troubles with booting DECstation 5000/240 and /260 systems, but are fully supported under Linux if you manage to get it going. ;-) Say Y if you have one of those. config FB_UVESA tristate "Userspace VESA VGA graphics support" depends on FB && CONNECTOR select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MODE_HELPERS help This is the frame buffer driver for generic VBE 2.0 compliant graphic cards. It can also take advantage of VBE 3.0 features, such as refresh rate adjustment. This driver generally provides more features than vesafb but requires a userspace helper application called 'v86d'. See <file:Documentation/fb/uvesafb.rst> for more information. If unsure, say N. config FB_VESA bool "VESA VGA graphics support" depends on (FB = y) && X86 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BOOT_VESA_SUPPORT help This is the frame buffer device driver for generic VESA 2.0 compliant graphic cards. The older VESA 1.2 cards are not supported. You will get a boot time penguin logo at no additional cost. Please read <file:Documentation/fb/vesafb.rst>. If unsure, say Y. config FB_EFI bool "EFI-based Framebuffer Support" depends on (FB = y) && !IA64 && EFI select DRM_PANEL_ORIENTATION_QUIRKS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the EFI frame buffer device driver. If the firmware on your platform is EFI 1.10 or UEFI 2.0, select Y to add support for using the EFI framebuffer as your console. config FB_N411 tristate "N411 Apollo/Hecuba devkit support" depends on FB && X86 && MMU select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO select FB_HECUBA help This enables support for the Apollo display controller in its Hecuba form using the n411 devkit. config FB_HGA tristate "Hercules mono graphics support" depends on FB && X86 help Say Y here if you have a Hercules mono graphics card. To compile this driver as a module, choose M here: the module will be called hgafb. As this card technology is at least 25 years old, most people will answer N here. config FB_GBE bool "SGI Graphics Backend frame buffer support" depends on (FB = y) && HAS_IOMEM depends on SGI_IP32 || COMPILE_TEST select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for SGI Graphics Backend. This chip is used in SGI O2 and Visual Workstation 320/540. config FB_GBE_MEM int "Video memory size in MB" depends on FB_GBE default 4 help This is the amount of memory reserved for the framebuffer, which can be any value between 1MB and 8MB. config FB_SBUS bool "SBUS and UPA framebuffers" depends on (FB = y) && SPARC help Say Y if you want support for SBUS or UPA based frame buffer device. config FB_BW2 bool "BWtwo support" depends on (FB = y) && (SPARC && FB_SBUS) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the BWtwo frame buffer. config FB_CG3 bool "CGthree support" depends on (FB = y) && (SPARC && FB_SBUS) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the CGthree frame buffer. config FB_CG6 bool "CGsix (GX,TurboGX) support" depends on (FB = y) && (SPARC && FB_SBUS) select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the CGsix (GX, TurboGX) frame buffer. config FB_FFB bool "Creator/Creator3D/Elite3D support" depends on FB_SBUS && SPARC64 select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Creator, Creator3D, and Elite3D graphics boards. config FB_TCX bool "TCX (SS4/SS5 only) support" depends on FB_SBUS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the TCX 24/8bit frame buffer. config FB_CG14 bool "CGfourteen (SX) support" depends on FB_SBUS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the CGfourteen frame buffer on Desktop SPARCsystems with the SX graphics option. config FB_P9100 bool "P9100 (Sparcbook 3 only) support" depends on FB_SBUS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the P9100 card supported on Sparcbook 3 machines. config FB_LEO bool "Leo (ZX) support" depends on FB_SBUS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the SBUS-based Sun ZX (leo) frame buffer cards. config FB_XVR500 bool "Sun XVR-500 3DLABS Wildcat support" depends on (FB = y) && PCI && SPARC64 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device for the Sun XVR-500 and similar graphics cards based upon the 3DLABS Wildcat chipset. The driver only works on sparc64 systems where the system firmware has mostly initialized the card already. It is treated as a completely dumb framebuffer device. config FB_XVR2500 bool "Sun XVR-2500 3DLABS Wildcat support" depends on (FB = y) && PCI && SPARC64 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device for the Sun XVR-2500 and similar graphics cards based upon the 3DLABS Wildcat chipset. The driver only works on sparc64 systems where the system firmware has mostly initialized the card already. It is treated as a completely dumb framebuffer device. config FB_XVR1000 bool "Sun XVR-1000 support" depends on (FB = y) && SPARC64 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer device for the Sun XVR-1000 and similar graphics cards. The driver only works on sparc64 systems where the system firmware has mostly initialized the card already. It is treated as a completely dumb framebuffer device. config FB_PVR2 tristate "NEC PowerVR 2 display support" depends on FB && HAS_IOMEM depends on SH_DREAMCAST || COMPILE_TEST select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Say Y here if you have a PowerVR 2 card in your box. If you plan to run linux on your Dreamcast, you will have to say Y here. This driver may or may not work on other PowerVR 2 cards, but is totally untested. Use at your own risk. If unsure, say N. To compile this driver as a module, choose M here: the module will be called pvr2fb. You can pass several parameters to the driver at boot time or at module load time. The parameters look like "video=pvr2:XXX", where the meaning of XXX can be found at the end of the main source file (<file:drivers/video/pvr2fb.c>). Please see the file <file:Documentation/fb/pvr2fb.rst>. config FB_OPENCORES tristate "OpenCores VGA/LCD core 2.0 framebuffer support" depends on FB && HAS_DMA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This enables support for the OpenCores VGA/LCD core. The OpenCores VGA/LCD core is typically used together with softcore CPUs (e.g. OpenRISC or Microblaze) or hard processor systems (e.g. Altera socfpga or Xilinx Zynq) on FPGAs. The source code and specification for the core is available at <http://opencores.org/project,vga_lcd> config FB_S1D13XXX tristate "Epson S1D13XXX framebuffer support" depends on FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for S1D13XXX framebuffer device family (currently only working with S1D13806). Product specs at <http://vdc.epson.com/> config FB_ATMEL tristate "AT91 LCD Controller support" depends on FB && OF && HAVE_CLK && HAS_IOMEM depends on HAVE_FB_ATMEL || COMPILE_TEST select FB_BACKLIGHT select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MODE_HELPERS select VIDEOMODE_HELPERS help This enables support for the AT91 LCD Controller. config FB_NVIDIA tristate "nVidia Framebuffer Support" depends on FB && PCI select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BITREVERSE select VGASTATE help This driver supports graphics boards with the nVidia chips, TNT and newer. For very old chipsets, such as the RIVA128, then use the rivafb. Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called nvidiafb. config FB_NVIDIA_I2C bool "Enable DDC Support" depends on FB_NVIDIA select FB_DDC help This enables I2C support for nVidia Chipsets. This is used only for getting EDID information from the attached display allowing for robust video mode handling and switching. Because fbdev-2.6 requires that drivers must be able to independently validate video mode parameters, you should say Y here. config FB_NVIDIA_DEBUG bool "Lots of debug output" depends on FB_NVIDIA help Say Y here if you want the nVidia driver to output all sorts of debugging information to provide to the maintainer when something goes wrong. config FB_NVIDIA_BACKLIGHT bool "Support for backlight control" depends on FB_NVIDIA default y help Say Y here if you want to control the backlight of your display. config FB_RIVA tristate "nVidia Riva support" depends on FB && PCI select FB_BACKLIGHT if FB_RIVA_BACKLIGHT select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select BITREVERSE select VGASTATE help This driver supports graphics boards with the nVidia Riva/Geforce chips. Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called rivafb. config FB_RIVA_I2C bool "Enable DDC Support" depends on FB_RIVA select FB_DDC help This enables I2C support for nVidia Chipsets. This is used only for getting EDID information from the attached display allowing for robust video mode handling and switching. Because fbdev-2.6 requires that drivers must be able to independently validate video mode parameters, you should say Y here. config FB_RIVA_DEBUG bool "Lots of debug output" depends on FB_RIVA help Say Y here if you want the Riva driver to output all sorts of debugging information to provide to the maintainer when something goes wrong. config FB_RIVA_BACKLIGHT bool "Support for backlight control" depends on FB_RIVA default y help Say Y here if you want to control the backlight of your display. config FB_I740 tristate "Intel740 support" depends on FB && PCI select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE select FB_DDC help This driver supports graphics cards based on Intel740 chip. config FB_I810 tristate "Intel 810/815 support" depends on FB && PCI && X86_32 && AGP_INTEL select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE help This driver supports the on-board graphics built in to the Intel 810 and 815 chipsets. Say Y if you have and plan to use such a board. To compile this driver as a module, choose M here: the module will be called i810fb. For more information, please read <file:Documentation/fb/intel810.rst> config FB_I810_GTF bool "use VESA Generalized Timing Formula" depends on FB_I810 help If you say Y, then the VESA standard, Generalized Timing Formula or GTF, will be used to calculate the required video timing values per video mode. Since the GTF allows nondiscrete timings (nondiscrete being a range of values as opposed to discrete being a set of values), you'll be able to use any combination of horizontal and vertical resolutions, and vertical refresh rates without having to specify your own timing parameters. This is especially useful to maximize the performance of an aging display, or if you just have a display with nonstandard dimensions. A VESA compliant monitor is recommended, but can still work with non-compliant ones. If you need or want this, then select this option. The timings may not be compliant with Intel's recommended values. Use at your own risk. If you say N, the driver will revert to discrete video timings using a set recommended by Intel in their documentation. If unsure, say N. config FB_I810_I2C bool "Enable DDC Support" depends on FB_I810 && FB_I810_GTF select FB_DDC help Add DDC/I2C support for i810fb. This will allow the driver to get display information, especially for monitors with fickle timings. If unsure, say Y. config FB_LE80578 tristate "Intel LE80578 (Vermilion) support" depends on FB && PCI && X86 select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This driver supports the LE80578 (Vermilion Range) chipset config FB_CARILLO_RANCH tristate "Intel Carillo Ranch support" depends on FB_LE80578 && FB && PCI && X86 help This driver supports the LE80578 (Carillo Ranch) board config FB_INTEL tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support" depends on FB && PCI && X86 && AGP_INTEL && EXPERT select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BOOT_VESA_SUPPORT if FB_INTEL = y depends on !DRM_I915 help This driver supports the on-board graphics built in to the Intel 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets. Say Y if you have and plan to use such a board. To make FB_INTEL=Y work you need to say AGP_INTEL=y too. To compile this driver as a module, choose M here: the module will be called intelfb. For more information, please read <file:Documentation/fb/intelfb.rst> config FB_INTEL_DEBUG bool "Intel driver Debug Messages" depends on FB_INTEL ---help--- Say Y here if you want the Intel driver to output all sorts of debugging information to provide to the maintainer when something goes wrong. config FB_INTEL_I2C bool "DDC/I2C for Intel framebuffer support" depends on FB_INTEL select FB_DDC default y help Say Y here if you want DDC/I2C support for your on-board Intel graphics. config FB_MATROX tristate "Matrox acceleration" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_TILEBLITTING select FB_MACMODES if PPC_PMAC ---help--- Say Y here if you have a Matrox Millennium, Matrox Millennium II, Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video, Matrox G400, G450 or G550 card in your box. To compile this driver as a module, choose M here: the module will be called matroxfb. You can pass several parameters to the driver at boot time or at module load time. The parameters look like "video=matroxfb:XXX", and are described in <file:Documentation/fb/matroxfb.rst>. config FB_MATROX_MILLENIUM bool "Millennium I/II support" depends on FB_MATROX help Say Y here if you have a Matrox Millennium or Matrox Millennium II video card. If you select "Advanced lowlevel driver options" below, you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can also use font widths different from 8. config FB_MATROX_MYSTIQUE bool "Mystique support" depends on FB_MATROX help Say Y here if you have a Matrox Mystique or Matrox Mystique 220 video card. If you select "Advanced lowlevel driver options" below, you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can also use font widths different from 8. config FB_MATROX_G bool "G100/G200/G400/G450/G550 support" depends on FB_MATROX ---help--- Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based video card. If you select "Advanced lowlevel driver options", you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can also use font widths different from 8. If you need support for G400 secondary head, you must say Y to "Matrox I2C support" and "G400 second head support" right below. G450/G550 secondary head and digital output are supported without additional modules. The driver starts in monitor mode. You must use the matroxset tool (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to swap primary and secondary head outputs, or to change output mode. Secondary head driver always start in 640x480 resolution and you must use fbset to change it. Do not forget that second head supports only 16 and 32 bpp packed pixels, so it is a good idea to compile them into the kernel too. You can use only some font widths, as the driver uses generic painting procedures (the secondary head does not use acceleration engine). G450/G550 hardware can display TV picture only from secondary CRTC, and it performs no scaling, so picture must have 525 or 625 lines. config FB_MATROX_I2C tristate "Matrox I2C support" depends on FB_MATROX select FB_DDC ---help--- This drivers creates I2C buses which are needed for accessing the DDC (I2C) bus present on all Matroxes, an I2C bus which interconnects Matrox optional devices, like MGA-TVO on G200 and G400, and the secondary head DDC bus, present on G400 only. You can say Y or M here if you want to experiment with monitor detection code. You must say Y or M here if you want to use either second head of G400 or MGA-TVO on G200 or G400. If you compile it as module, it will create a module named i2c-matroxfb. config FB_MATROX_MAVEN tristate "G400 second head support" depends on FB_MATROX_G && FB_MATROX_I2C ---help--- WARNING !!! This support does not work with G450 !!! Say Y or M here if you want to use a secondary head (meaning two monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary head is not compatible with accelerated XFree 3.3.x SVGA servers - secondary head output is blanked while you are in X. With XFree 3.9.17 preview you can use both heads if you use SVGA over fbdev or the fbdev driver on first head and the fbdev driver on second head. If you compile it as module, two modules are created, matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for both G200 and G400, matroxfb_crtc2 is needed only by G400. You must also load i2c-matroxfb to get it to run. The driver starts in monitor mode and you must use the matroxset tool (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to PAL or NTSC or to swap primary and secondary head outputs. Secondary head driver also always start in 640x480 resolution, you must use fbset to change it. Also do not forget that second head supports only 16 and 32 bpp packed pixels, so it is a good idea to compile them into the kernel too. You can use only some font widths, as the driver uses generic painting procedures (the secondary head does not use acceleration engine). config FB_RADEON tristate "ATI Radeon display support" depends on FB && PCI select FB_BACKLIGHT if FB_RADEON_BACKLIGHT select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_MACMODES if PPC help Choose this option if you want to use an ATI Radeon graphics card as a framebuffer device. There are both PCI and AGP versions. You don't need to choose this to run the Radeon in plain VGA mode. There is a product page at http://products.amd.com/en-us/GraphicCardResult.aspx config FB_RADEON_I2C bool "DDC/I2C for ATI Radeon support" depends on FB_RADEON select FB_DDC default y help Say Y here if you want DDC/I2C support for your Radeon board. config FB_RADEON_BACKLIGHT bool "Support for backlight control" depends on FB_RADEON default y help Say Y here if you want to control the backlight of your display. config FB_RADEON_DEBUG bool "Lots of debug output from Radeon driver" depends on FB_RADEON help Say Y here if you want the Radeon driver to output all sorts of debugging information to provide to the maintainer when something goes wrong. config FB_ATY128 tristate "ATI Rage128 display support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BACKLIGHT if FB_ATY128_BACKLIGHT select FB_MACMODES if PPC_PMAC help This driver supports graphics boards with the ATI Rage128 chips. Say Y if you have such a graphics board and read <file:Documentation/fb/aty128fb.rst>. To compile this driver as a module, choose M here: the module will be called aty128fb. config FB_ATY128_BACKLIGHT bool "Support for backlight control" depends on FB_ATY128 default y help Say Y here if you want to control the backlight of your display. config FB_ATY tristate "ATI Mach64 display support" if PCI || ATARI depends on FB && !SPARC32 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BACKLIGHT if FB_ATY_BACKLIGHT select FB_MACMODES if PPC select FB_ATY_CT if SPARC64 && PCI help This driver supports graphics boards with the ATI Mach64 chips. Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called atyfb. config FB_ATY_CT bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support" depends on PCI && FB_ATY help Say Y here to support use of ATI's 64-bit Rage boards (or other boards based on the Mach64 CT, VT, GT, and LT chipsets) as a framebuffer device. The ATI product support page for these boards is at <http://support.ati.com/products/pc/mach64/mach64.html>. config FB_ATY_GENERIC_LCD bool "Mach64 generic LCD support" depends on FB_ATY_CT help Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility, Rage XC, or Rage XL chipset. config FB_ATY_GX bool "Mach64 GX support" if PCI depends on FB_ATY default y if ATARI help Say Y here to support use of the ATI Mach64 Graphics Expression board (or other boards based on the Mach64 GX chipset) as a framebuffer device. The ATI product support page for these boards is at <http://support.ati.com/products/pc/mach64/graphics_xpression.html>. config FB_ATY_BACKLIGHT bool "Support for backlight control" depends on FB_ATY default y help Say Y here if you want to control the backlight of your display. config FB_S3 tristate "S3 Trio/Virge support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_TILEBLITTING select FB_SVGALIB select VGASTATE select FONT_8x16 if FRAMEBUFFER_CONSOLE ---help--- Driver for graphics boards with S3 Trio / S3 Virge chip. config FB_S3_DDC bool "DDC for S3 support" depends on FB_S3 select FB_DDC default y help Say Y here if you want DDC support for your S3 graphics card. config FB_SAVAGE tristate "S3 Savage support" depends on FB && PCI select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE help This driver supports notebooks and computers with S3 Savage PCI/AGP chips. Say Y if you have such a graphics card. To compile this driver as a module, choose M here; the module will be called savagefb. config FB_SAVAGE_I2C bool "Enable DDC2 Support" depends on FB_SAVAGE select FB_DDC help This enables I2C support for S3 Savage Chipsets. This is used only for getting EDID information from the attached display allowing for robust video mode handling and switching. Because fbdev-2.6 requires that drivers must be able to independently validate video mode parameters, you should say Y here. config FB_SAVAGE_ACCEL bool "Enable Console Acceleration" depends on FB_SAVAGE help This option will compile in console acceleration support. If the resulting framebuffer console has bothersome glitches, then choose N here. config FB_SIS tristate "SiS/XGI display support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BOOT_VESA_SUPPORT if FB_SIS = y select FB_SIS_300 if !FB_SIS_315 help This is the frame buffer device driver for the SiS 300, 315, 330 and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets. Specs available at <http://www.sis.com> and <http://www.xgitech.com>. To compile this driver as a module, choose M here; the module will be called sisfb. config FB_SIS_300 bool "SiS 300 series support" depends on FB_SIS help Say Y here to support use of the SiS 300/305, 540, 630 and 730. config FB_SIS_315 bool "SiS 315/330/340 series and XGI support" depends on FB_SIS help Say Y here to support use of the SiS 315, 330 and 340 series (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well as XGI V3XT, V5, V8 and Z7. config FB_VIA tristate "VIA UniChrome (Pro) and Chrome9 display support" depends on FB && PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select I2C_ALGOBIT help This is the frame buffer device driver for Graphics chips of VIA UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/ CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896 /P4M900,VX800) Say Y if you have a VIA UniChrome graphics board. To compile this driver as a module, choose M here: the module will be called viafb. if FB_VIA config FB_VIA_DIRECT_PROCFS bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)" help Allow direct hardware access to some output registers via procfs. This is dangerous but may provide the only chance to get the correct output device configuration. Its use is strongly discouraged. config FB_VIA_X_COMPATIBILITY bool "X server compatibility" help This option reduces the functionality (power saving, ...) of the framebuffer to avoid negative impact on the OpenChrome X server. If you use any X server other than fbdev you should enable this otherwise it should be safe to disable it and allow using all features. endif config FB_NEOMAGIC tristate "NeoMagic display support" depends on FB && PCI select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VGASTATE help This driver supports notebooks with NeoMagic PCI chips. Say Y if you have such a graphics card. To compile this driver as a module, choose M here: the module will be called neofb. config FB_KYRO tristate "IMG Kyro support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Say Y here if you have a STG4000 / Kyro / PowerVR 3 based graphics board. To compile this driver as a module, choose M here: the module will be called kyrofb. config FB_3DFX tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support" depends on FB && PCI select FB_CFB_IMAGEBLIT select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_MODE_HELPERS help This driver supports graphics boards with the 3Dfx Banshee, Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called tdfxfb. config FB_3DFX_ACCEL bool "3Dfx Acceleration functions" depends on FB_3DFX ---help--- This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer device driver with acceleration functions. config FB_3DFX_I2C bool "Enable DDC/I2C support" depends on FB_3DFX select FB_DDC default y help Say Y here if you want DDC/I2C support for your 3dfx Voodoo3. config FB_VOODOO1 tristate "3Dfx Voodoo Graphics (sst1) support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or Voodoo2 (cvg) based graphics card. To compile this driver as a module, choose M here: the module will be called sstfb. WARNING: Do not use any application that uses the 3D engine (namely glide) while using this driver. Please read the <file:Documentation/fb/sstfb.rst> for supported options and other important info support. config FB_VT8623 tristate "VIA VT8623 support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_TILEBLITTING select FB_SVGALIB select VGASTATE select FONT_8x16 if FRAMEBUFFER_CONSOLE ---help--- Driver for CastleRock integrated graphics core in the VIA VT8623 [Apollo CLE266] chipset. config FB_TRIDENT tristate "Trident/CyberXXX/CyberBlade support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_DDC select FB_MODE_HELPERS ---help--- This is the frame buffer device driver for Trident PCI/AGP chipsets. Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D and Blade XP. There are also integrated versions of these chips called CyberXXXX, CyberImage or CyberBlade. These chips are mostly found in laptops but also on some motherboards including early VIA EPIA motherboards. For more information, read <file:Documentation/fb/tridentfb.rst> Say Y if you have such a graphics board. To compile this driver as a module, choose M here: the module will be called tridentfb. config FB_ARK tristate "ARK 2000PV support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_TILEBLITTING select FB_SVGALIB select VGASTATE select FONT_8x16 if FRAMEBUFFER_CONSOLE ---help--- Driver for PCI graphics boards with ARK 2000PV chip and ICS 5342 RAMDAC. config FB_PM3 tristate "Permedia3 support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the 3DLabs Permedia3 chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 & similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000 and maybe other boards. config FB_CARMINE tristate "Fujitsu carmine frame buffer support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Fujitsu Carmine chip. The driver provides two independent frame buffer devices. choice depends on FB_CARMINE prompt "DRAM timing" default FB_CARMINE_DRAM_EVAL config FB_CARMINE_DRAM_EVAL bool "Eval board timings" help Use timings which work on the eval card. config CARMINE_DRAM_CUSTOM bool "Custom board timings" help Use custom board timings. endchoice config FB_AU1100 bool "Au1100 LCD Driver" depends on (FB = y) && MIPS_ALCHEMY select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the framebuffer driver for the AMD Au1100 SOC. It can drive various panels and CRTs by passing in kernel cmd line option au1100fb:panel=<name>. config FB_AU1200 bool "Au1200/Au1300 LCD Driver" depends on (FB = y) && MIPS_ALCHEMY select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS help This is the framebuffer driver for the Au1200/Au1300 SOCs. It can drive various panels and CRTs by passing in kernel cmd line option au1200fb:panel=<name>. config FB_VT8500 bool "VIA VT8500 framebuffer support" depends on (FB = y) && ARM && ARCH_VT8500 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS) select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS) select FB_SYS_IMAGEBLIT select FB_MODE_HELPERS select VIDEOMODE_HELPERS help This is the framebuffer driver for VIA VT8500 integrated LCD controller. config FB_WM8505 bool "Wondermedia WM8xxx-series frame buffer support" depends on (FB = y) && ARM && ARCH_VT8500 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS) select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS) select FB_SYS_IMAGEBLIT select FB_MODE_HELPERS select VIDEOMODE_HELPERS help This is the framebuffer driver for WonderMedia WM8xxx-series integrated LCD controller. This driver covers the WM8505, WM8650 and WM8850 SoCs. config FB_WMT_GE_ROPS bool "VT8500/WM8xxx accelerated raster ops support" depends on (FB = y) && (FB_VT8500 || FB_WM8505) help This adds support for accelerated raster operations on the VIA VT8500 and Wondermedia 85xx series SoCs. source "drivers/video/fbdev/geode/Kconfig" config FB_HIT tristate "HD64461 Frame Buffer support" depends on FB && HD64461 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is the frame buffer device driver for the Hitachi HD64461 LCD frame buffer card. config FB_PMAG_AA tristate "PMAG-AA TURBOchannel framebuffer support" depends on FB && TC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1) used mainly in the MIPS-based DECstation series. config FB_PMAG_BA tristate "PMAG-BA TURBOchannel framebuffer support" depends on FB && TC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8) used mainly in the MIPS-based DECstation series. config FB_PMAGB_B tristate "PMAGB-B TURBOchannel framebuffer support" depends on FB && TC select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for the PMAGB-B TURBOchannel framebuffer card used mainly in the MIPS-based DECstation series. The card is currently only supported in 1280x1024x8 mode. config FB_MAXINE bool "Maxine (Personal DECstation) onboard framebuffer support" depends on (FB = y) && MACH_DECSTATION select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Support for the onboard framebuffer (1024x768x8) in the Personal DECstation series (Personal DECstation 5000/20, /25, /33, /50, Codename "Maxine"). config FB_G364 bool "G364 frame buffer support" depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help The G364 driver is the framebuffer used in MIPS Magnum 4000 and Olivetti M700-10 systems. config FB_68328 bool "Motorola 68328 native frame buffer support" depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Say Y here if you want to support the built-in frame buffer of the Motorola 68328 CPU family. config FB_PXA168 tristate "PXA168/910 LCD framebuffer support" depends on FB && HAVE_CLK && HAS_IOMEM depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the built-in LCD controller in the Marvell MMP processor. config FB_PXA tristate "PXA LCD framebuffer support" depends on FB && ARCH_PXA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VIDEOMODE_HELPERS if OF select FB_MODE_HELPERS if OF ---help--- Frame buffer driver for the built-in LCD controller in the Intel PXA2x0 processor. This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called pxafb. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. If unsure, say N. config FB_PXA_OVERLAY bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer" depends on FB_PXA && (PXA27x || PXA3xx) config FB_PXA_SMARTPANEL bool "PXA Smartpanel LCD support" depends on FB_PXA config FB_PXA_PARAMETERS bool "PXA LCD command line parameters" depends on FB_PXA ---help--- Enable the use of kernel command line or module parameters to configure the physical properties of the LCD panel when using the PXA LCD driver. This option allows you to override the panel parameters supplied by the platform in order to support multiple different models of flatpanel. If you will only be using a single model of flatpanel then you can safely leave this option disabled. <file:Documentation/fb/pxafb.rst> describes the available parameters. config PXA3XX_GCU tristate "PXA3xx 2D graphics accelerator driver" depends on FB_PXA help Kernelspace driver for the 2D graphics controller unit (GCU) found on PXA3xx processors. There is a counterpart driver in the DirectFB suite, see http://www.directfb.org/ If you compile this as a module, it will be called pxa3xx_gcu. config FB_MBX tristate "2700G LCD framebuffer support" depends on FB && ARCH_PXA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the Intel 2700G (Marathon) Graphics Accelerator config FB_MBX_DEBUG bool "Enable debugging info via debugfs" depends on FB_MBX && DEBUG_FS ---help--- Enable this if you want debugging information using the debug filesystem (debugfs) If unsure, say N. config FB_FSL_DIU tristate "Freescale DIU framebuffer support" depends on FB && FSL_SOC select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select PPC_LIB_RHEAP ---help--- Framebuffer driver for the Freescale SoC DIU config FB_W100 tristate "W100 frame buffer support" depends on FB && ARCH_PXA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the w100 as found on the Sharp SL-Cxx series. It can also drive the w3220 chip found on iPAQ hx4700. This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called w100fb. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. If unsure, say N. config FB_SH_MOBILE_LCDC tristate "SuperH Mobile LCDC framebuffer support" depends on FB && (SUPERH || ARCH_RENESAS) && HAVE_CLK select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO select FB_BACKLIGHT ---help--- Frame buffer driver for the on-chip SH-Mobile LCD controller. config FB_TMIO tristate "Toshiba Mobile IO FrameBuffer support" depends on FB && (MFD_TMIO || COMPILE_TEST) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the Toshiba Mobile IO integrated as found on the Sharp SL-6000 series This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called tmiofb. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. If unsure, say N. config FB_TMIO_ACCELL bool "tmiofb acceleration" depends on FB_TMIO default y config FB_S3C tristate "Samsung S3C framebuffer support" depends on FB && HAVE_CLK && HAS_IOMEM depends on (CPU_S3C2416 || ARCH_S3C64XX) || COMPILE_TEST select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the built-in FB controller in the Samsung SoC line from the S3C2443 onwards, including the S3C2416, S3C2450, and the S3C64XX series such as the S3C6400 and S3C6410. These chips all have the same basic framebuffer design with the actual capabilities depending on the chip. For instance the S3C6400 and S3C6410 support 4 hardware windows whereas the S3C24XX series currently only have two. Currently the support is only for the S3C6400 and S3C6410 SoCs. config FB_S3C_DEBUG_REGWRITE bool "Debug register writes" depends on FB_S3C ---help--- Show all register writes via pr_debug() config FB_S3C2410 tristate "S3C2410 LCD framebuffer support" depends on FB && ARCH_S3C24XX select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the built-in LCD controller in the Samsung S3C2410 processor. This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called s3c2410fb. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. If unsure, say N. config FB_S3C2410_DEBUG bool "S3C2410 lcd debug messages" depends on FB_S3C2410 help Turn on debugging messages. Note that you can set/unset at run time through sysfs config FB_SM501 tristate "Silicon Motion SM501 framebuffer support" depends on FB && MFD_SM501 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for the CRT and LCD controllers in the Silicon Motion SM501. This driver is also available as a module ( = code which can be inserted and removed from the running kernel whenever you want). The module will be called sm501fb. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. If unsure, say N. config FB_SMSCUFX tristate "SMSC UFX6000/7000 USB Framebuffer support" depends on FB && USB select FB_MODE_HELPERS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO ---help--- This is a kernel framebuffer driver for SMSC UFX USB devices. Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000 (USB 3.0) devices. To compile as a module, choose M here: the module name is smscufx. config FB_UDL tristate "Displaylink USB Framebuffer support" depends on FB && USB select FB_MODE_HELPERS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO ---help--- This is a kernel framebuffer driver for DisplayLink USB devices. Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices. To compile as a module, choose M here: the module name is udlfb. config FB_IBM_GXT4500 tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors" depends on FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Say Y here to enable support for the IBM GXT4000P/6000P and GXT4500P/6500P display adaptor based on Raster Engine RC1000, found on some IBM System P (pSeries) machines. This driver doesn't use Geometry Engine GT1000. This driver also supports AGP Fire GL2/3/4 cards on x86. config FB_PS3 tristate "PS3 GPU framebuffer driver" depends on FB && PS3_PS3AV select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS ---help--- Include support for the virtual frame buffer in the PS3 platform. config FB_PS3_DEFAULT_SIZE_M int "PS3 default frame buffer size (in MiB)" depends on FB_PS3 default 9 ---help--- This is the default size (in MiB) of the virtual frame buffer in the PS3. The default value can be overridden on the kernel command line using the "ps3fb" option (e.g. "ps3fb=9M"); config FB_XILINX tristate "Xilinx frame buffer support" depends on FB && (XILINX_VIRTEX || MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Include support for the Xilinx ML300/ML403 reference design framebuffer. ML300 carries a 640*480 LCD display on the board, ML403 uses a standard DB15 VGA connector. config FB_GOLDFISH tristate "Goldfish Framebuffer" depends on FB depends on GOLDFISH || COMPILE_TEST select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for Goldfish Virtual Platform config FB_COBALT tristate "Cobalt server LCD frame buffer support" depends on FB && MIPS_COBALT config FB_SH7760 tristate "SH7760/SH7763/SH7720/SH7721 LCDC support" depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Support for the SH7760/SH7763/SH7720/SH7721 integrated (D)STN/TFT LCD Controller. Supports display resolutions up to 1024x1024 pixel, grayscale and color operation, with depths ranging from 1 bpp to 8 bpp monochrome and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for panels <= 320 pixel horizontal resolution. config FB_DA8XX tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support" depends on FB && HAVE_CLK && HAS_IOMEM depends on ARCH_DAVINCI_DA8XX || SOC_AM33XX || COMPILE_TEST select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_CFB_REV_PIXELS_IN_BYTE select FB_MODE_HELPERS select VIDEOMODE_HELPERS ---help--- This is the frame buffer device driver for the TI LCD controller found on DA8xx/OMAP-L1xx/AM335x SoCs. If unsure, say N. config FB_VIRTUAL tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)" depends on FB select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS ---help--- This is a `virtual' frame buffer device. It operates on a chunk of unswappable kernel memory instead of on the memory of a graphics board. This means you cannot see any output sent to this frame buffer device, while it does consume precious memory. The main use of this frame buffer device is testing and debugging the frame buffer subsystem. Do NOT enable it for normal systems! To protect the innocent, it has to be enabled explicitly at boot time using the kernel option `video=vfb:'. To compile this driver as a module, choose M here: the module will be called vfb. In order to load it, you must use the vfb_enable=1 option. If unsure, say N. config XEN_FBDEV_FRONTEND tristate "Xen virtual frame buffer support" depends on FB && XEN select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO select XEN_XENBUS_FRONTEND default y help This driver implements the front-end of the Xen virtual frame buffer driver. It communicates with a back-end in another domain. config FB_METRONOME tristate "E-Ink Metronome/8track controller support" depends on FB select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO help This driver implements support for the E-Ink Metronome controller. The pre-release name for this device was 8track and could also have been called by some vendors as PVI-nnnn. config FB_MB862XX tristate "Fujitsu MB862xx GDC support" depends on FB depends on PCI || (OF && PPC) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers. choice prompt "GDC variant" depends on FB_MB862XX config FB_MB862XX_PCI_GDC bool "Carmine/Coral-P(A) GDC" depends on PCI ---help--- This enables framebuffer support for Fujitsu Carmine/Coral-P(A) PCI graphics controller devices. config FB_MB862XX_LIME bool "Lime GDC" depends on OF && PPC select FB_FOREIGN_ENDIAN select FB_LITTLE_ENDIAN ---help--- Framebuffer support for Fujitsu Lime GDC on host CPU bus. endchoice config FB_MB862XX_I2C bool "Support I2C bus on MB862XX GDC" depends on FB_MB862XX && I2C depends on FB_MB862XX=m || I2C=y default y help Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter driver to support accessing I2C devices on controller's I2C bus. These are usually some video decoder chips. config FB_EP93XX tristate "EP93XX frame buffer support" depends on FB && ARCH_EP93XX select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- Framebuffer driver for the Cirrus Logic EP93XX series of processors. This driver is also available as a module. The module will be called ep93xx-fb. config FB_PRE_INIT_FB bool "Don't reinitialize, use bootloader's GDC/Display configuration" depends on FB && FB_MB862XX_LIME ---help--- Select this option if display contents should be inherited as set by the bootloader. config FB_MX3 tristate "MX3 Framebuffer support" depends on FB && MX3_IPU select BACKLIGHT_CLASS_DEVICE select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT default y help This is a framebuffer device for the i.MX31 LCD Controller. So far only synchronous displays are supported. If you plan to use an LCD display with your i.MX31 system, say Y here. config FB_BROADSHEET tristate "E-Ink Broadsheet/Epson S1D13521 controller support" depends on FB && (ARCH_PXA || COMPILE_TEST) select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO help This driver implements support for the E-Ink Broadsheet controller. The release name for this device was Epson S1D13521 and could also have been called by other names when coupled with a bridge adapter. config FB_PUV3_UNIGFX tristate "PKUnity v3 Unigfx framebuffer support" depends on FB && UNICORE32 && ARCH_PUV3 select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS help Choose this option if you want to use the Unigfx device as a framebuffer device. Without the support of PCI & AGP. config FB_HYPERV tristate "Microsoft Hyper-V Synthetic Video support" depends on FB && HYPERV select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This framebuffer driver supports Microsoft Hyper-V Synthetic Video. config FB_SIMPLE bool "Simple framebuffer support" depends on (FB = y) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Say Y if you want support for a simple frame-buffer. This driver assumes that the display hardware has been initialized before the kernel boots, and the kernel will simply render to the pre-allocated frame buffer surface. Configuration re: surface address, size, and format must be provided through device tree, or plain old platform data. config FB_SSD1307 tristate "Solomon SSD1307 framebuffer support" depends on FB && I2C depends on OF depends on GPIOLIB || COMPILE_TEST select FB_SYS_FOPS select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_DEFERRED_IO select FB_BACKLIGHT help This driver implements support for the Solomon SSD1307 OLED controller over I2C. config FB_SM712 tristate "Silicon Motion SM712 framebuffer support" depends on FB && PCI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Frame buffer driver for the Silicon Motion SM710, SM712, SM721 and SM722 chips. This driver is also available as a module. The module will be called sm712fb. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. source "drivers/video/fbdev/omap/Kconfig" source "drivers/video/fbdev/omap2/Kconfig" source "drivers/video/fbdev/mmp/Kconfig" video/fbdev/via/Makefile 0000644 00000000750 14722053666 0011174 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the VIA framebuffer driver (for Linux Kernel 2.6) # obj-$(CONFIG_FB_VIA) += viafb.o viafb-y :=viafbdev.o hw.o via_i2c.o dvi.o lcd.o ioctl.o accel.o \ via_utility.o vt1636.o global.o tblDPASetting.o viamode.o \ via-core.o via-gpio.o via_modesetting.o via_clock.o \ via_aux.o via_aux_edid.o via_aux_vt1636.o via_aux_vt1632.o \ via_aux_vt1631.o via_aux_vt1625.o via_aux_vt1622.o via_aux_vt1621.o \ via_aux_sii164.o via_aux_ch7301.o video/fbdev/aty/Makefile 0000644 00000001023 14722053666 0011204 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FB_ATY) += atyfb.o obj-$(CONFIG_FB_ATY128) += aty128fb.o obj-$(CONFIG_FB_RADEON) += radeonfb.o atyfb-y := atyfb_base.o mach64_accel.o mach64_cursor.o atyfb-$(CONFIG_FB_ATY_GX) += mach64_gx.o atyfb-$(CONFIG_FB_ATY_CT) += mach64_ct.o atyfb-objs := $(atyfb-y) radeonfb-y := radeon_base.o radeon_pm.o radeon_monitor.o radeon_accel.o radeonfb-$(CONFIG_FB_RADEON_I2C) += radeon_i2c.o radeonfb-$(CONFIG_FB_RADEON_BACKLIGHT) += radeon_backlight.o radeonfb-objs := $(radeonfb-y) video/fbdev/sis/Makefile 0000644 00000000302 14722053666 0011204 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the SiS framebuffer device driver # obj-$(CONFIG_FB_SIS) += sisfb.o sisfb-objs := sis_main.o sis_accel.o init.o init301.o initextlfb.o video/fbdev/mb862xx/Makefile 0000644 00000000350 14722053666 0011627 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the MB862xx framebuffer driver # obj-$(CONFIG_FB_MB862XX) += mb862xxfb.o mb862xxfb-y := mb862xxfbdrv.o mb862xxfb_accel.o mb862xxfb-$(CONFIG_FB_MB862XX_I2C) += mb862xx-i2c.o video/fbdev/matrox/Makefile 0000644 00000001114 14722053666 0011722 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for the Linux video drivers. # 5 Aug 1999, James Simmons, <mailto:jsimmons@edgeglobal.com> # Rewritten to use lists instead of if-statements. # Each configuration option enables a list of files. my-obj-$(CONFIG_FB_MATROX_G) += g450_pll.o matroxfb_g450.o matroxfb_crtc2.o obj-$(CONFIG_FB_MATROX) += matroxfb_base.o matroxfb_accel.o matroxfb_DAC1064.o matroxfb_Ti3026.o matroxfb_misc.o $(my-obj-y) obj-$(CONFIG_FB_MATROX_I2C) += i2c-matroxfb.o obj-$(CONFIG_FB_MATROX_MAVEN) += matroxfb_maven.o matroxfb_crtc2.o video/fbdev/kyro/Makefile 0000644 00000000341 14722053666 0011375 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Kyro framebuffer driver # obj-$(CONFIG_FB_KYRO) += kyrofb.o kyrofb-objs := STG4000Ramdac.o STG4000VTG.o STG4000OverlayDevice.o \ STG4000InitDevice.o fbdev.o video/fbdev/riva/Makefile 0000644 00000000370 14722053666 0011354 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Riva framebuffer driver # obj-$(CONFIG_FB_RIVA) += rivafb.o rivafb-objs := fbdev.o riva_hw.o nv_driver.o ifdef CONFIG_FB_RIVA_I2C rivafb-objs += rivafb-i2c.o endif video/fbdev/mmp/panel/Kconfig 0000644 00000000233 14722053666 0012144 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config MMP_PANEL_TPOHVGA bool "tpohvga panel TJ032MD01BW support" depends on SPI_MASTER help tpohvga panel support video/fbdev/mmp/panel/Makefile 0000644 00000000140 14722053666 0012276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MMP_PANEL_TPOHVGA) += tpo_tj032md01bw.o video/fbdev/mmp/Kconfig 0000644 00000000527 14722053666 0011053 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig MMP_DISP tristate "Marvell MMP Display Subsystem support" depends on CPU_PXA910 || CPU_MMP2 help Marvell Display Subsystem support. if MMP_DISP source "drivers/video/fbdev/mmp/hw/Kconfig" source "drivers/video/fbdev/mmp/panel/Kconfig" source "drivers/video/fbdev/mmp/fb/Kconfig" endif video/fbdev/mmp/hw/Kconfig 0000644 00000000764 14722053666 0011474 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if MMP_DISP config MMP_DISP_CONTROLLER bool "mmp display controller hw support" depends on CPU_PXA910 || CPU_MMP2 help Marvell MMP display hw controller support this controller is used on Marvell PXA910 and MMP2 chips config MMP_DISP_SPI bool "mmp display controller spi port" depends on MMP_DISP_CONTROLLER && SPI_MASTER default y help Marvell MMP display hw controller spi port support will register as a spi master for panel usage endif video/fbdev/mmp/hw/Makefile 0000644 00000000204 14722053666 0011616 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MMP_DISP_CONTROLLER) += mmp_ctrl.o obj-$(CONFIG_MMP_DISP_SPI) += mmp_spi.o video/fbdev/mmp/Makefile 0000644 00000000163 14722053666 0011204 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MMP_DISP) += mmp_disp.o hw/ panel/ fb/ mmp_disp-y += core.o video/fbdev/mmp/fb/Kconfig 0000644 00000000431 14722053666 0011434 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if MMP_DISP config MMP_FB tristate "fb driver for Marvell MMP Display Subsystem" depends on FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT default y help fb driver for Marvell MMP Display Subsystem endif video/fbdev/mmp/fb/Makefile 0000644 00000000111 14722053666 0011564 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MMP_FB) += mmpfb.o video/fbdev/nvidia/Makefile 0000644 00000000603 14722053666 0011664 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the nVidia framebuffer driver # obj-$(CONFIG_FB_NVIDIA) += nvidiafb.o nvidiafb-y := nvidia.o nv_hw.o nv_setup.o \ nv_accel.o nv_of.o nvidiafb-$(CONFIG_FB_NVIDIA_I2C) += nv_i2c.o nvidiafb-$(CONFIG_FB_NVIDIA_BACKLIGHT) += nv_backlight.o nvidiafb-objs := $(nvidiafb-y) video/fbdev/intelfb/Makefile 0000644 00000000362 14722053666 0012037 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FB_INTEL) += intelfb.o intelfb-y := intelfbdrv.o intelfbhw.o intelfb-$(CONFIG_FB_INTEL_I2C) += intelfb_i2c.o intelfb-objs := $(intelfb-y) ccflags-$(CONFIG_FB_INTEL_DEBUG) := -DDEBUG -DREGDUMP video/fbdev/omap2/Kconfig 0000644 00000000214 14722053666 0011271 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if OF && (ARCH_OMAP2PLUS || COMPILE_TEST) source "drivers/video/fbdev/omap2/omapfb/Kconfig" endif video/fbdev/omap2/Makefile 0000644 00000000071 14722053666 0011427 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += omapfb/ video/fbdev/omap2/omapfb/Kconfig 0000644 00000001640 14722053666 0012541 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config OMAP2_VRFB bool menuconfig FB_OMAP2 tristate "OMAP2+ frame buffer support" depends on FB depends on DRM_OMAP = n depends on GPIOLIB select FB_OMAP2_DSS select OMAP2_VRFB if ARCH_OMAP2 || ARCH_OMAP3 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Frame buffer driver for OMAP2+ based boards. if FB_OMAP2 config FB_OMAP2_DEBUG_SUPPORT bool "Debug support for OMAP2+ FB" default y depends on FB_OMAP2 help Support for debug output. You have to enable the actual printing with 'debug' module parameter. config FB_OMAP2_NUM_FBS int "Number of framebuffers" range 1 10 default 3 depends on FB_OMAP2 help Select the number of framebuffers created. OMAP2/3 has 3 overlays so normally this would be 3. source "drivers/video/fbdev/omap2/omapfb/dss/Kconfig" source "drivers/video/fbdev/omap2/omapfb/displays/Kconfig" endif video/fbdev/omap2/omapfb/displays/Kconfig 0000644 00000004436 14722053666 0014377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "OMAPFB Panel and Encoder Drivers" depends on FB_OMAP2_DSS config FB_OMAP2_ENCODER_OPA362 tristate "OPA362 external analog amplifier" help Driver for OPA362 external analog TV amplifier controlled through a GPIO. config FB_OMAP2_ENCODER_TFP410 tristate "TFP410 DPI to DVI Encoder" help Driver for TFP410 DPI to DVI encoder. config FB_OMAP2_ENCODER_TPD12S015 tristate "TPD12S015 HDMI ESD protection and level shifter" help Driver for TPD12S015, which offers HDMI ESD protection and level shifting. config FB_OMAP2_CONNECTOR_DVI tristate "DVI Connector" depends on I2C help Driver for a generic DVI connector. config FB_OMAP2_CONNECTOR_HDMI tristate "HDMI Connector" help Driver for a generic HDMI connector. config FB_OMAP2_CONNECTOR_ANALOG_TV tristate "Analog TV Connector" help Driver for a generic analog TV connector. config FB_OMAP2_PANEL_DPI tristate "Generic DPI panel" help Driver for generic DPI panels. config FB_OMAP2_PANEL_DSI_CM tristate "Generic DSI Command Mode Panel" depends on BACKLIGHT_CLASS_DEVICE help Driver for generic DSI command mode panels. config FB_OMAP2_PANEL_SONY_ACX565AKM tristate "ACX565AKM Panel" depends on SPI && BACKLIGHT_CLASS_DEVICE depends on DRM_PANEL_SONY_ACX565AKM = n help This is the LCD panel used on Nokia N900 config FB_OMAP2_PANEL_LGPHILIPS_LB035Q02 tristate "LG.Philips LB035Q02 LCD Panel" depends on SPI help LCD Panel used on the Gumstix Overo Palo35 config FB_OMAP2_PANEL_SHARP_LS037V7DW01 tristate "Sharp LS037V7DW01 LCD Panel" depends on BACKLIGHT_CLASS_DEVICE depends on DRM_PANEL_SHARP_LS037V7DW01 = n help LCD Panel used in TI's SDP3430 and EVM boards config FB_OMAP2_PANEL_TPO_TD028TTEC1 tristate "TPO TD028TTEC1 LCD Panel" depends on SPI depends on DRM_PANEL_TPO_TD028TTEC1 = n help LCD panel used in Openmoko. config FB_OMAP2_PANEL_TPO_TD043MTEA1 tristate "TPO TD043MTEA1 LCD Panel" depends on SPI depends on DRM_PANEL_TPO_TD043MTEA1 = n help LCD Panel used in OMAP3 Pandora config FB_OMAP2_PANEL_NEC_NL8048HL11 tristate "NEC NL8048HL11 Panel" depends on SPI depends on BACKLIGHT_CLASS_DEVICE depends on DRM_PANEL_NEC_NL8048HL11 = n help This NEC NL8048HL11 panel is TFT LCD used in the Zoom2/3/3630 sdp boards. endmenu video/fbdev/omap2/omapfb/displays/Makefile 0000644 00000001645 14722053666 0014533 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FB_OMAP2_ENCODER_OPA362) += encoder-opa362.o obj-$(CONFIG_FB_OMAP2_ENCODER_TFP410) += encoder-tfp410.o obj-$(CONFIG_FB_OMAP2_ENCODER_TPD12S015) += encoder-tpd12s015.o obj-$(CONFIG_FB_OMAP2_CONNECTOR_DVI) += connector-dvi.o obj-$(CONFIG_FB_OMAP2_CONNECTOR_HDMI) += connector-hdmi.o obj-$(CONFIG_FB_OMAP2_CONNECTOR_ANALOG_TV) += connector-analog-tv.o obj-$(CONFIG_FB_OMAP2_PANEL_DPI) += panel-dpi.o obj-$(CONFIG_FB_OMAP2_PANEL_DSI_CM) += panel-dsi-cm.o obj-$(CONFIG_FB_OMAP2_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o obj-$(CONFIG_FB_OMAP2_PANEL_LGPHILIPS_LB035Q02) += panel-lgphilips-lb035q02.o obj-$(CONFIG_FB_OMAP2_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o obj-$(CONFIG_FB_OMAP2_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o obj-$(CONFIG_FB_OMAP2_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o obj-$(CONFIG_FB_OMAP2_PANEL_NEC_NL8048HL11) += panel-nec-nl8048hl11.o video/fbdev/omap2/omapfb/dss/Kconfig 0000644 00000006034 14722053666 0013334 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config FB_OMAP2_DSS_INIT bool config FB_OMAP2_DSS tristate select VIDEOMODE_HELPERS select FB_OMAP2_DSS_INIT select HDMI config FB_OMAP2_DSS_DEBUG bool "Debug support" help This enables printing of debug messages. Alternatively, debug messages can also be enabled by setting CONFIG_DYNAMIC_DEBUG and then setting appropriate flags in <debugfs>/dynamic_debug/control. config FB_OMAP2_DSS_DEBUGFS bool "Debugfs filesystem support" depends on DEBUG_FS help This enables debugfs for OMAPDSS at <debugfs>/omapdss. This enables querying about clock configuration and register configuration of dss, dispc, dsi, hdmi and rfbi. config FB_OMAP2_DSS_COLLECT_IRQ_STATS bool "Collect DSS IRQ statistics" depends on FB_OMAP2_DSS_DEBUGFS help Collect DSS IRQ statistics, printable via debugfs. The statistics can be found from <debugfs>/omapdss/dispc_irq for DISPC interrupts, and <debugfs>/omapdss/dsi_irq for DSI interrupts. config FB_OMAP2_DSS_DPI bool "DPI support" default y help DPI Interface. This is the Parallel Display Interface. config FB_OMAP2_DSS_VENC bool "VENC support" default y help OMAP Video Encoder support for S-Video and composite TV-out. config FB_OMAP2_DSS_HDMI_COMMON bool config FB_OMAP4_DSS_HDMI bool "HDMI support for OMAP4" default y select FB_OMAP2_DSS_HDMI_COMMON help HDMI support for OMAP4 based SoCs. config FB_OMAP5_DSS_HDMI bool "HDMI support for OMAP5" select FB_OMAP2_DSS_HDMI_COMMON help HDMI Interface for OMAP5 and similar cores. This adds the High Definition Multimedia Interface. See http://www.hdmi.org/ for HDMI specification. config FB_OMAP2_DSS_SDI bool "SDI support" help SDI (Serial Display Interface) support. SDI is a high speed one-way display serial bus between the host processor and a display. config FB_OMAP2_DSS_DSI bool "DSI support" help MIPI DSI (Display Serial Interface) support. DSI is a high speed half-duplex serial interface between the host processor and a peripheral, such as a display or a framebuffer chip. See http://www.mipi.org/ for DSI specifications. config FB_OMAP2_DSS_MIN_FCK_PER_PCK int "Minimum FCK/PCK ratio (for scaling)" range 0 32 default 0 help This can be used to adjust the minimum FCK/PCK ratio. With this you can make sure that DISPC FCK is at least n x PCK. Video plane scaling requires higher FCK than normally. If this is set to 0, there's no extra constraint on the DISPC FCK. However, the FCK will at minimum be 2xPCK (if active matrix) or 3xPCK (if passive matrix). Max FCK is 173MHz, so this doesn't work if your PCK is very high. config FB_OMAP2_DSS_SLEEP_AFTER_VENC_RESET bool "Sleep 20ms after VENC reset" default y help There is a 20ms sleep after VENC reset which seemed to fix the reset. The reason for the bug is unclear, and it's also unclear on what platforms this happens. This option enables the sleep, and is enabled by default. You can disable the sleep if it doesn't cause problems on your platform. video/fbdev/omap2/omapfb/dss/Makefile 0000644 00000001500 14722053666 0013462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FB_OMAP2_DSS_INIT) += omapdss-boot-init.o obj-$(CONFIG_FB_OMAP2_DSS) += omapdss.o # Core DSS files omapdss-y := core.o dss.o dss_features.o dispc.o dispc_coefs.o display.o \ output.o dss-of.o pll.o video-pll.o # DSS compat layer files omapdss-y += manager.o manager-sysfs.o overlay.o overlay-sysfs.o apply.o \ dispc-compat.o display-sysfs.o omapdss-$(CONFIG_FB_OMAP2_DSS_DPI) += dpi.o omapdss-$(CONFIG_FB_OMAP2_DSS_VENC) += venc.o omapdss-$(CONFIG_FB_OMAP2_DSS_SDI) += sdi.o omapdss-$(CONFIG_FB_OMAP2_DSS_DSI) += dsi.o omapdss-$(CONFIG_FB_OMAP2_DSS_HDMI_COMMON) += hdmi_common.o hdmi_wp.o hdmi_pll.o \ hdmi_phy.o omapdss-$(CONFIG_FB_OMAP4_DSS_HDMI) += hdmi4.o hdmi4_core.o omapdss-$(CONFIG_FB_OMAP5_DSS_HDMI) += hdmi5.o hdmi5_core.o ccflags-$(CONFIG_FB_OMAP2_DSS_DEBUG) += -DDEBUG video/fbdev/omap2/omapfb/Makefile 0000644 00000000304 14722053666 0012672 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_OMAP2_VRFB) += vrfb.o obj-y += dss/ obj-y += displays/ obj-$(CONFIG_FB_OMAP2) += omap2fb.o omap2fb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o video/fbdev/mbx/Makefile 0000644 00000000151 14722053666 0011176 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for the 2700G controller driver. obj-y += mbxfb.o video/fbdev/vermilion/Makefile 0000644 00000000250 14722053666 0012414 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_FB_LE80578) += vmlfb.o obj-$(CONFIG_FB_CARILLO_RANCH) += crvml.o vmlfb-objs := vermilion.o crvml-objs := cr_pll.o video/fbdev/Makefile 0000644 00000013211 14722053666 0010411 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the Linux video drivers. # 5 Aug 1999, James Simmons, <mailto:jsimmons@users.sf.net> # Rewritten to use lists instead of if-statements. # Each configuration option enables a list of files. obj-y += core/ obj-$(CONFIG_FB_MACMODES) += macmodes.o obj-$(CONFIG_FB_WMT_GE_ROPS) += wmt_ge_rops.o # Hardware specific drivers go first obj-$(CONFIG_FB_AMIGA) += amifb.o c2p_planar.o obj-$(CONFIG_FB_ARC) += arcfb.o obj-$(CONFIG_FB_CLPS711X) += clps711x-fb.o obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o obj-$(CONFIG_FB_GRVGA) += grvga.o obj-$(CONFIG_FB_PM2) += pm2fb.o obj-$(CONFIG_FB_PM3) += pm3fb.o obj-$(CONFIG_FB_I740) += i740fb.o obj-$(CONFIG_FB_MATROX) += matrox/ obj-$(CONFIG_FB_RIVA) += riva/ obj-$(CONFIG_FB_NVIDIA) += nvidia/ obj-$(CONFIG_FB_ATY) += aty/ macmodes.o obj-$(CONFIG_FB_ATY128) += aty/ macmodes.o obj-$(CONFIG_FB_RADEON) += aty/ obj-$(CONFIG_FB_SIS) += sis/ obj-$(CONFIG_FB_VIA) += via/ obj-$(CONFIG_FB_KYRO) += kyro/ obj-$(CONFIG_FB_SAVAGE) += savage/ obj-$(CONFIG_FB_GEODE) += geode/ obj-$(CONFIG_FB_MBX) += mbx/ obj-$(CONFIG_FB_NEOMAGIC) += neofb.o obj-$(CONFIG_FB_3DFX) += tdfxfb.o obj-$(CONFIG_FB_CONTROL) += controlfb.o obj-$(CONFIG_FB_PLATINUM) += platinumfb.o obj-$(CONFIG_FB_VALKYRIE) += valkyriefb.o obj-$(CONFIG_FB_CT65550) += chipsfb.o obj-$(CONFIG_FB_IMSTT) += imsttfb.o obj-$(CONFIG_FB_FM2) += fm2fb.o obj-$(CONFIG_FB_VT8623) += vt8623fb.o obj-$(CONFIG_FB_TRIDENT) += tridentfb.o obj-$(CONFIG_FB_LE80578) += vermilion/ obj-$(CONFIG_FB_S3) += s3fb.o obj-$(CONFIG_FB_ARK) += arkfb.o obj-$(CONFIG_FB_STI) += stifb.o obj-$(CONFIG_FB_FFB) += ffb.o sbuslib.o obj-$(CONFIG_FB_CG6) += cg6.o sbuslib.o obj-$(CONFIG_FB_CG3) += cg3.o sbuslib.o obj-$(CONFIG_FB_BW2) += bw2.o sbuslib.o obj-$(CONFIG_FB_CG14) += cg14.o sbuslib.o obj-$(CONFIG_FB_P9100) += p9100.o sbuslib.o obj-$(CONFIG_FB_TCX) += tcx.o sbuslib.o obj-$(CONFIG_FB_LEO) += leo.o sbuslib.o obj-$(CONFIG_FB_ACORN) += acornfb.o obj-$(CONFIG_FB_ATARI) += atafb.o c2p_iplan2.o atafb_mfb.o \ atafb_iplan2p2.o atafb_iplan2p4.o atafb_iplan2p8.o obj-$(CONFIG_FB_MAC) += macfb.o obj-$(CONFIG_FB_HECUBA) += hecubafb.o obj-$(CONFIG_FB_N411) += n411.o obj-$(CONFIG_FB_HGA) += hgafb.o obj-$(CONFIG_FB_XVR500) += sunxvr500.o obj-$(CONFIG_FB_XVR2500) += sunxvr2500.o obj-$(CONFIG_FB_XVR1000) += sunxvr1000.o obj-$(CONFIG_FB_APOLLO) += dnfb.o obj-$(CONFIG_FB_Q40) += q40fb.o obj-$(CONFIG_FB_TGA) += tgafb.o obj-$(CONFIG_FB_HP300) += hpfb.o obj-$(CONFIG_FB_G364) += g364fb.o obj-$(CONFIG_FB_EP93XX) += ep93xx-fb.o obj-$(CONFIG_FB_SA1100) += sa1100fb.o obj-$(CONFIG_FB_HIT) += hitfb.o obj-$(CONFIG_FB_ATMEL) += atmel_lcdfb.o obj-$(CONFIG_FB_PVR2) += pvr2fb.o obj-$(CONFIG_FB_VOODOO1) += sstfb.o obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o obj-$(CONFIG_FB_GOLDFISH) += goldfishfb.o obj-$(CONFIG_FB_68328) += 68328fb.o obj-$(CONFIG_FB_GBE) += gbefb.o obj-$(CONFIG_FB_CIRRUS) += cirrusfb.o obj-$(CONFIG_FB_ASILIANT) += asiliantfb.o obj-$(CONFIG_FB_PXA) += pxafb.o obj-$(CONFIG_FB_PXA168) += pxa168fb.o obj-$(CONFIG_PXA3XX_GCU) += pxa3xx-gcu.o obj-$(CONFIG_MMP_DISP) += mmp/ obj-$(CONFIG_FB_W100) += w100fb.o obj-$(CONFIG_FB_TMIO) += tmiofb.o obj-$(CONFIG_FB_AU1100) += au1100fb.o obj-$(CONFIG_FB_AU1200) += au1200fb.o obj-$(CONFIG_FB_VT8500) += vt8500lcdfb.o obj-$(CONFIG_FB_WM8505) += wm8505fb.o obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o obj-$(CONFIG_FB_MAXINE) += maxinefb.o obj-$(CONFIG_FB_METRONOME) += metronomefb.o obj-$(CONFIG_FB_BROADSHEET) += broadsheetfb.o obj-$(CONFIG_FB_S1D13XXX) += s1d13xxxfb.o obj-$(CONFIG_FB_SH7760) += sh7760fb.o obj-$(CONFIG_FB_IMX) += imxfb.o obj-$(CONFIG_FB_S3C) += s3c-fb.o obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o obj-$(CONFIG_FB_FSL_DIU) += fsl-diu-fb.o obj-$(CONFIG_FB_COBALT) += cobalt_lcdfb.o obj-$(CONFIG_FB_IBM_GXT4500) += gxt4500.o obj-$(CONFIG_FB_PS3) += ps3fb.o obj-$(CONFIG_FB_SM501) += sm501fb.o obj-$(CONFIG_FB_UDL) += udlfb.o obj-$(CONFIG_FB_SMSCUFX) += smscufx.o obj-$(CONFIG_FB_XILINX) += xilinxfb.o obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o obj-$(CONFIG_FB_OMAP) += omap/ obj-y += omap2/ obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o obj-$(CONFIG_FB_CARMINE) += carminefb.o obj-$(CONFIG_FB_MB862XX) += mb862xx/ obj-$(CONFIG_FB_PUV3_UNIGFX) += fb-puv3.o obj-$(CONFIG_FB_HYPERV) += hyperv_fb.o obj-$(CONFIG_FB_OPENCORES) += ocfb.o obj-$(CONFIG_FB_SM712) += sm712fb.o # Platform or fallback drivers go here obj-$(CONFIG_FB_UVESA) += uvesafb.o obj-$(CONFIG_FB_VESA) += vesafb.o obj-$(CONFIG_FB_EFI) += efifb.o obj-$(CONFIG_FB_VGA16) += vga16fb.o obj-$(CONFIG_FB_OF) += offb.o obj-$(CONFIG_FB_MX3) += mx3fb.o obj-$(CONFIG_FB_DA8XX) += da8xx-fb.o obj-$(CONFIG_FB_SSD1307) += ssd1307fb.o obj-$(CONFIG_FB_SIMPLE) += simplefb.o # the test framebuffer is last obj-$(CONFIG_FB_VIRTUAL) += vfb.o video/fbdev/i810/Makefile 0000644 00000000567 14722053666 0011104 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Intel 810/815 framebuffer driver # obj-$(CONFIG_FB_I810) += i810fb.o i810fb-objs := i810_main.o i810_accel.o ifdef CONFIG_FB_I810_GTF i810fb-objs += i810_gtf.o else i810fb-objs += i810_dvt.o endif ifdef CONFIG_FB_I810_I2C i810fb-objs += i810-i2c.o endif video/fbdev/omap/Kconfig 0000644 00000003630 14722053666 0011214 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config FB_OMAP tristate "OMAP frame buffer support" depends on FB depends on ARCH_OMAP1 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Frame buffer driver for OMAP based boards. config FB_OMAP_LCDC_EXTERNAL bool "External LCD controller support" depends on FB_OMAP help Say Y here, if you want to have support for boards with an external LCD controller connected to the SoSSI/RFBI interface. config FB_OMAP_LCDC_HWA742 bool "Epson HWA742 LCD controller support" depends on FB_OMAP && FB_OMAP_LCDC_EXTERNAL help Say Y here if you want to have support for the external Epson HWA742 LCD controller. config FB_OMAP_MANUAL_UPDATE bool "Default to manual update mode" depends on FB_OMAP && FB_OMAP_LCDC_EXTERNAL help Say Y here, if your user-space applications are capable of notifying the frame buffer driver when a change has occurred in the frame buffer content and thus a reload of the image data to the external frame buffer is required. If unsure, say N. config FB_OMAP_LCD_MIPID bool "MIPI DBI-C/DCS compatible LCD support" depends on FB_OMAP && SPI_MASTER help Say Y here if you want to have support for LCDs compatible with the Mobile Industry Processor Interface DBI-C/DCS specification. (Supported LCDs: Philips LPH8923, Sharp LS041Y3) config FB_OMAP_LCD_H3 bool "TPS65010 LCD controller on OMAP-H3" depends on MACH_OMAP_H3 depends on TPS65010=y default y help Say Y here if you want to have support for the LCD on the H3 board. config FB_OMAP_DMA_TUNE bool "Set DMA SDRAM access priority high" depends on FB_OMAP help On systems in which video memory is in system memory (SDRAM) this will speed up graphics DMA operations. If you have such a system and want to use rotation answer yes. Answer no if you have a dedicated video memory, or don't use any of the accelerated features. video/fbdev/omap/Makefile 0000644 00000001526 14722053666 0011353 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the OMAP1 framebuffer device driver # obj-$(CONFIG_FB_OMAP) += omapfb.o objs-yy := omapfb_main.o lcdc.o objs-y$(CONFIG_FB_OMAP_LCDC_EXTERNAL) += sossi.o objs-y$(CONFIG_FB_OMAP_LCDC_HWA742) += hwa742.o lcds-y$(CONFIG_MACH_AMS_DELTA) += lcd_ams_delta.o lcds-y$(CONFIG_FB_OMAP_LCD_H3) += lcd_h3.o lcds-y$(CONFIG_MACH_OMAP_PALMTE) += lcd_palmte.o lcds-y$(CONFIG_MACH_OMAP_PALMTT) += lcd_palmtt.o lcds-y$(CONFIG_MACH_OMAP_PALMZ71) += lcd_palmz71.o lcds-$(CONFIG_ARCH_OMAP16XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1610.o lcds-$(CONFIG_ARCH_OMAP15XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1510.o lcds-y$(CONFIG_MACH_OMAP_OSK) += lcd_osk.o lcds-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o lcds-y$(CONFIG_MACH_HERALD) += lcd_htcherald.o omapfb-objs := $(objs-yy) obj-$(CONFIG_FB_OMAP) += $(lcds-yy) video/Kconfig 0000644 00000001252 14722053666 0007170 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Video configuration # menu "Graphics support" if HAS_IOMEM config HAVE_FB_ATMEL bool source "drivers/char/agp/Kconfig" source "drivers/gpu/vga/Kconfig" source "drivers/gpu/host1x/Kconfig" source "drivers/gpu/ipu-v3/Kconfig" source "drivers/gpu/drm/Kconfig" menu "Frame buffer Devices" source "drivers/video/fbdev/Kconfig" endmenu source "drivers/video/backlight/Kconfig" config VGASTATE tristate default n config VIDEOMODE_HELPERS bool config HDMI bool endif # HAS_IOMEM if VT source "drivers/video/console/Kconfig" endif if FB || SGI_NEWPORT_CONSOLE source "drivers/video/logo/Kconfig" endif endmenu video/logo/Kconfig 0000644 00000002442 14722053666 0010132 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Logo configuration # menuconfig LOGO bool "Bootup logo" depends on FB || SGI_NEWPORT_CONSOLE help Enable and select frame buffer bootup logos. if LOGO config FB_LOGO_EXTRA bool depends on FB=y default y if SPU_BASE config LOGO_LINUX_MONO bool "Standard black and white Linux logo" default y config LOGO_LINUX_VGA16 bool "Standard 16-color Linux logo" default y config LOGO_LINUX_CLUT224 bool "Standard 224-color Linux logo" default y config LOGO_DEC_CLUT224 bool "224-color Digital Equipment Corporation Linux logo" depends on MACH_DECSTATION || ALPHA default y config LOGO_MAC_CLUT224 bool "224-color Macintosh Linux logo" depends on MAC default y config LOGO_PARISC_CLUT224 bool "224-color PA-RISC Linux logo" depends on PARISC default y config LOGO_SGI_CLUT224 bool "224-color SGI Linux logo" depends on SGI_IP22 || SGI_IP27 || SGI_IP32 default y config LOGO_SUN_CLUT224 bool "224-color Sun Linux logo" depends on SPARC default y config LOGO_SUPERH_MONO bool "Black and white SuperH Linux logo" depends on SUPERH default y config LOGO_SUPERH_VGA16 bool "16-color SuperH Linux logo" depends on SUPERH default y config LOGO_SUPERH_CLUT224 bool "224-color SuperH Linux logo" depends on SUPERH default y endif # LOGO video/logo/Makefile 0000644 00000002633 14722053666 0010271 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the Linux logos obj-$(CONFIG_LOGO) += logo.o obj-$(CONFIG_LOGO_LINUX_MONO) += logo_linux_mono.o obj-$(CONFIG_LOGO_LINUX_VGA16) += logo_linux_vga16.o obj-$(CONFIG_LOGO_LINUX_CLUT224) += logo_linux_clut224.o obj-$(CONFIG_LOGO_DEC_CLUT224) += logo_dec_clut224.o obj-$(CONFIG_LOGO_MAC_CLUT224) += logo_mac_clut224.o obj-$(CONFIG_LOGO_PARISC_CLUT224) += logo_parisc_clut224.o obj-$(CONFIG_LOGO_SGI_CLUT224) += logo_sgi_clut224.o obj-$(CONFIG_LOGO_SUN_CLUT224) += logo_sun_clut224.o obj-$(CONFIG_LOGO_SUPERH_MONO) += logo_superh_mono.o obj-$(CONFIG_LOGO_SUPERH_VGA16) += logo_superh_vga16.o obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o obj-$(CONFIG_SPU_BASE) += logo_spe_clut224.o # How to generate logo's pnmtologo := scripts/pnmtologo # Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..." quiet_cmd_logo = LOGO $@ cmd_logo = $(pnmtologo) \ -t $(patsubst $*_%,%,$(notdir $(basename $<))) \ -n $(notdir $(basename $<)) -o $@ $< $(obj)/%_mono.c: $(src)/%_mono.pbm $(pnmtologo) FORCE $(call if_changed,logo) $(obj)/%_vga16.c: $(src)/%_vga16.ppm $(pnmtologo) FORCE $(call if_changed,logo) $(obj)/%_clut224.c: $(src)/%_clut224.ppm $(pnmtologo) FORCE $(call if_changed,logo) $(obj)/%_gray256.c: $(src)/%_gray256.pgm $(pnmtologo) FORCE $(call if_changed,logo) # generated C files targets += *_mono.c *_vga16.c *_clut224.c *_gray256.c video/Makefile 0000644 00000000665 14722053666 0007334 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VGASTATE) += vgastate.o obj-$(CONFIG_HDMI) += hdmi.o obj-$(CONFIG_VT) += console/ obj-$(CONFIG_FB_STI) += console/ obj-$(CONFIG_LOGO) += logo/ obj-y += backlight/ obj-y += fbdev/ obj-$(CONFIG_VIDEOMODE_HELPERS) += display_timing.o videomode.o ifeq ($(CONFIG_OF),y) obj-$(CONFIG_VIDEOMODE_HELPERS) += of_display_timing.o of_videomode.o endif video/console/Kconfig 0000644 00000010713 14722053666 0010634 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Video configuration # menu "Console display driver support" config VGA_CONSOLE bool "VGA text console" if EXPERT || !X86 depends on !4xx && !PPC_8xx && !SPARC && !M68K && !PARISC && !SUPERH && \ (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \ !ARM64 && !ARC && !MICROBLAZE && !OPENRISC && !NDS32 && !S390 default y help Saying Y here will allow you to use Linux in text mode through a display that complies with the generic VGA standard. Virtually everyone wants that. The program SVGATextMode can be used to utilize SVGA video cards to their full potential in text mode. Download it from <ftp://ibiblio.org/pub/Linux/utils/console/>. Say Y. config MDA_CONSOLE depends on !M68K && !PARISC && ISA tristate "MDA text console (dual-headed)" ---help--- Say Y here if you have an old MDA or monochrome Hercules graphics adapter in your system acting as a second head ( = video card). You will then be able to use two monitors with your Linux system. Do not say Y here if your MDA card is the primary card in your system; the normal VGA driver will handle it. To compile this driver as a module, choose M here: the module will be called mdacon. If unsure, say N. config SGI_NEWPORT_CONSOLE tristate "SGI Newport Console support" depends on SGI_IP22 && HAS_IOMEM select FONT_SUPPORT help Say Y here if you want the console on the Newport aka XL graphics card of your Indy. Most people say Y here. config DUMMY_CONSOLE bool depends on VGA_CONSOLE!=y || SGI_NEWPORT_CONSOLE!=y default y config DUMMY_CONSOLE_COLUMNS int "Initial number of console screen columns" depends on DUMMY_CONSOLE && !ARM default 160 if PARISC default 80 help On PA-RISC, the default value is 160, which should fit a 1280x1024 monitor. Select 80 if you use a 640x480 resolution by default. config DUMMY_CONSOLE_ROWS int "Initial number of console screen rows" depends on DUMMY_CONSOLE && !ARM default 64 if PARISC default 25 help On PA-RISC, the default value is 64, which should fit a 1280x1024 monitor. Select 25 if you use a 640x480 resolution by default. config FRAMEBUFFER_CONSOLE bool "Framebuffer Console support" depends on FB && !UML select VT_HW_CONSOLE_BINDING select CRC32 select FONT_SUPPORT help Low-level framebuffer-based console driver. config FRAMEBUFFER_CONSOLE_DETECT_PRIMARY bool "Map the console to the primary display device" depends on FRAMEBUFFER_CONSOLE default n ---help--- If this option is selected, the framebuffer console will automatically select the primary display device (if the architecture supports this feature). Otherwise, the framebuffer console will always select the first framebuffer driver that is loaded. The latter is the default behavior. You can always override the automatic selection of the primary device by using the fbcon=map: boot option. If unsure, select n. config FRAMEBUFFER_CONSOLE_ROTATION bool "Framebuffer Console Rotation" depends on FRAMEBUFFER_CONSOLE help Enable display rotation for the framebuffer console. This is done in software and may be significantly slower than a normally oriented display. Note that the rotation is done at the console level only such that other users of the framebuffer will remain normally oriented. config FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER bool "Framebuffer Console Deferred Takeover" depends on FB=y && FRAMEBUFFER_CONSOLE && DUMMY_CONSOLE help If enabled this defers the framebuffer console taking over the console from the dummy console until the first text is displayed on the console. This is useful in combination with the "quiet" kernel commandline option to keep the framebuffer contents initially put up by the firmware in place, rather then replacing the contents with a black screen as soon as fbcon loads. config STI_CONSOLE bool "STI text console" depends on PARISC && HAS_IOMEM select FONT_SUPPORT default y help The STI console is the builtin display/keyboard on HP-PARISC machines. Say Y here to build support for it into your kernel. The alternative is to use your primary serial port as a console. endmenu video/console/Makefile 0000644 00000000760 14722053666 0010772 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the Linux graphics to console drivers. # 5 Aug 1999, James Simmons, <mailto:jsimmons@users.sf.net> # Rewritten to use lists instead of if-statements. obj-$(CONFIG_DUMMY_CONSOLE) += dummycon.o obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o obj-$(CONFIG_VGA_CONSOLE) += vgacon.o obj-$(CONFIG_MDA_CONSOLE) += mdacon.o obj-$(CONFIG_FB_STI) += sticore.o thunderbolt/Kconfig 0000644 00000001007 14722053666 0010412 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig THUNDERBOLT tristate "Thunderbolt support" depends on PCI depends on X86 || COMPILE_TEST select APPLE_PROPERTIES if EFI_STUB && X86 select CRC32 select CRYPTO select CRYPTO_HASH select NVMEM help Thunderbolt Controller driver. This driver is required if you want to hotplug Thunderbolt devices on Apple hardware or on PCs with Intel Falcon Ridge or newer. To compile this driver a module, choose M here. The module will be called thunderbolt. thunderbolt/Makefile 0000644 00000000362 14722053666 0010552 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-${CONFIG_THUNDERBOLT} := thunderbolt.o thunderbolt-objs := nhi.o nhi_ops.o ctl.o tb.o switch.o cap.o path.o tunnel.o eeprom.o thunderbolt-objs += domain.o dma_port.o icm.o property.o xdomain.o lc.o iio/afe/Kconfig 0000644 00000000751 14722053666 0007400 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Analog Front End drivers # # When adding new entries keep the list in alphabetical order menu "Analog Front Ends" config IIO_RESCALE tristate "IIO rescale" depends on OF || COMPILE_TEST help Say yes here to build support for the IIO rescaling that handles voltage dividers, current sense shunts and current sense amplifiers. To compile this driver as a module, choose M here: the module will be called iio-rescale. endmenu iio/afe/Makefile 0000644 00000000314 14722053666 0007530 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for industrial I/O Analog Front Ends (AFE) # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_IIO_RESCALE) += iio-rescale.o iio/buffer/Kconfig 0000644 00000003353 14722053666 0010117 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Industrial I/O generic buffer implementations # # When adding new entries keep the list in alphabetical order config IIO_BUFFER_CB tristate "IIO callback buffer used for push in-kernel interfaces" help Should be selected by any drivers that do in-kernel push usage. That is, those where the data is pushed to the consumer. config IIO_BUFFER_DMA tristate help Provides the generic IIO DMA buffer infrastructure that can be used by drivers for devices with DMA support to implement the IIO buffer. Should be selected by drivers that want to use the generic DMA buffer infrastructure. config IIO_BUFFER_DMAENGINE tristate select IIO_BUFFER_DMA help Provides a bonding of the generic IIO DMA buffer infrastructure with the DMAengine framework. This can be used by converter drivers with a DMA port connected to an external DMA controller which is supported by the DMAengine framework. Should be selected by drivers that want to use this functionality. config IIO_BUFFER_HW_CONSUMER tristate "Industrial I/O HW buffering" help Provides a way to bonding when an IIO device has a direct connection to another device in hardware. In this case buffers for data transfers are handled by hardware. Should be selected by drivers that want to use the generic Hw consumer interface. config IIO_KFIFO_BUF tristate "Industrial I/O buffering based on kfifo" help A simple fifo based on kfifo. Note that this currently provides no buffer events so it is up to userspace to work out how often to read from the buffer. config IIO_TRIGGERED_BUFFER tristate select IIO_TRIGGER select IIO_KFIFO_BUF help Provides helper functions for setting up triggered buffers. iio/buffer/Makefile 0000644 00000001013 14722053666 0010243 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the industrial I/O buffer implementations # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_IIO_BUFFER_CB) += industrialio-buffer-cb.o obj-$(CONFIG_IIO_BUFFER_DMA) += industrialio-buffer-dma.o obj-$(CONFIG_IIO_BUFFER_DMAENGINE) += industrialio-buffer-dmaengine.o obj-$(CONFIG_IIO_BUFFER_HW_CONSUMER) += industrialio-hw-consumer.o obj-$(CONFIG_IIO_TRIGGERED_BUFFER) += industrialio-triggered-buffer.o obj-$(CONFIG_IIO_KFIFO_BUF) += kfifo_buf.o iio/light/Kconfig 0000644 00000035465 14722053666 0007766 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Light sensors # # When adding new entries keep the list in alphabetical order menu "Light sensors" config ACPI_ALS tristate "ACPI Ambient Light Sensor" depends on ACPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER select IIO_KFIFO_BUF help Say Y here if you want to build a driver for the ACPI0008 Ambient Light Sensor. To compile this driver as a module, choose M here: the module will be called acpi-als. config ADJD_S311 tristate "ADJD-S311-CR999 digital color sensor" select IIO_BUFFER select IIO_TRIGGERED_BUFFER depends on I2C help If you say yes here you get support for the Avago ADJD-S311-CR999 digital color light sensor. This driver can also be built as a module. If so, the module will be called adjd_s311. config AL3320A tristate "AL3320A ambient light sensor" depends on I2C help Say Y here if you want to build a driver for the Dyna Image AL3320A ambient light sensor. To compile this driver as a module, choose M here: the module will be called al3320a. config APDS9300 tristate "APDS9300 ambient light sensor" depends on I2C help Say Y here if you want to build a driver for the Avago APDS9300 ambient light sensor. To compile this driver as a module, choose M here: the module will be called apds9300. config APDS9960 tristate "Avago APDS9960 gesture/RGB/ALS/proximity sensor" select REGMAP_I2C select IIO_BUFFER select IIO_KFIFO_BUF depends on I2C help Say Y here to build I2C interface support for the Avago APDS9960 gesture/RGB/ALS/proximity sensor. To compile this driver as a module, choose M here: the module will be called apds9960 config BH1750 tristate "ROHM BH1750 ambient light sensor" depends on I2C help Say Y here to build support for the ROHM BH1710, BH1715, BH1721, BH1750, BH1751 ambient light sensors. To compile this driver as a module, choose M here: the module will be called bh1750. config BH1780 tristate "ROHM BH1780 ambient light sensor" depends on I2C help Say Y here to build support for the ROHM BH1780GLI ambient light sensor. To compile this driver as a module, choose M here: the module will be called bh1780. config CM32181 depends on I2C tristate "CM32181 driver" help Say Y here if you use cm32181. This option enables ambient light sensor using Capella cm32181 device driver. To compile this driver as a module, choose M here: the module will be called cm32181. config CM3232 depends on I2C tristate "CM3232 ambient light sensor" help Say Y here if you use cm3232. This option enables ambient light sensor using Capella Microsystems cm3232 device driver. To compile this driver as a module, choose M here: the module will be called cm3232. config CM3323 depends on I2C tristate "Capella CM3323 color light sensor" help Say Y here if you want to build a driver for Capella CM3323 color sensor. To compile this driver as a module, choose M here: the module will be called cm3323. config CM3605 tristate "Capella CM3605 ambient light and proximity sensor" depends on OF help Say Y here if you want to build a driver for Capella CM3605 ambient light and short range proximity sensor. To compile this driver as a module, choose M here: the module will be called cm3605. config CM36651 depends on I2C tristate "CM36651 driver" help Say Y here if you use cm36651. This option enables proximity & RGB sensor using Capella cm36651 device driver. To compile this driver as a module, choose M here: the module will be called cm36651. config IIO_CROS_EC_LIGHT_PROX tristate "ChromeOS EC Light and Proximity Sensors" depends on IIO_CROS_EC_SENSORS_CORE help Say Y here if you use the light and proximity sensors presented by the ChromeOS EC Sensor hub. To compile this driver as a module, choose M here: the module will be called cros_ec_light_prox. config GP2AP020A00F tristate "Sharp GP2AP020A00F Proximity/ALS sensor" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER select IRQ_WORK help Say Y here if you have a Sharp GP2AP020A00F proximity/ALS combo-chip hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called gp2ap020a00f. config SENSORS_ISL29018 tristate "Intersil 29018 light and proximity sensor" depends on I2C select REGMAP_I2C default n help If you say yes here you get support for ambient light sensing and proximity infrared sensing from Intersil ISL29018. This driver will provide the measurements of ambient light intensity in lux, proximity infrared sensing and normal infrared sensing. Data from sensor is accessible via sysfs. config SENSORS_ISL29028 tristate "Intersil ISL29028 Concurrent Light and Proximity Sensor" depends on I2C select REGMAP_I2C help Provides driver for the Intersil's ISL29028 device. This driver supports the sysfs interface to get the ALS, IR intensity, Proximity value via iio. The ISL29028 provides the concurrent sensing of ambient light and proximity. config ISL29125 tristate "Intersil ISL29125 digital color light sensor" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here if you want to build a driver for the Intersil ISL29125 RGB light sensor for I2C. To compile this driver as a module, choose M here: the module will be called isl29125. config HID_SENSOR_ALS depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID ALS" help Say yes here to build support for the HID SENSOR Ambient light sensor. To compile this driver as a module, choose M here: the module will be called hid-sensor-als. config HID_SENSOR_PROX depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID PROX" help Say yes here to build support for the HID SENSOR Proximity sensor. To compile this driver as a module, choose M here: the module will be called hid-sensor-prox. config JSA1212 tristate "JSA1212 ALS and proximity sensor driver" depends on I2C select REGMAP_I2C help Say Y here if you want to build a IIO driver for JSA1212 proximity & ALS sensor device. To compile this driver as a module, choose M here: the module will be called jsa1212. config RPR0521 tristate "ROHM RPR0521 ALS and proximity sensor driver" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here if you want to build support for ROHM's RPR0521 ambient light and proximity sensor device. To compile this driver as a module, choose M here: the module will be called rpr0521. config SENSORS_LM3533 tristate "LM3533 ambient light sensor" depends on MFD_LM3533 help If you say yes here you get support for the ambient light sensor interface on National Semiconductor / TI LM3533 Lighting Power chips. The sensor interface can be used to control the LEDs and backlights of the chip through defining five light zones and three sets of corresponding output-current values. The driver provides raw and mean adc readings along with the current light zone through sysfs. A threshold event can be generated on zone changes. The ALS-control output values can be set per zone for the three current output channels. config LTR501 tristate "LTR-501ALS-01 light sensor" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for the Lite-On LTR-501ALS-01 ambient light and proximity sensor. This driver also supports LTR-559 ALS/PS or LTR-301 ALS sensors. This driver can also be built as a module. If so, the module will be called ltr501. config LV0104CS tristate "LV0104CS Ambient Light Sensor" depends on I2C help Say Y here if you want to build support for the On Semiconductor LV0104CS ambient light sensor. To compile this driver as a module, choose M here: the module will be called lv0104cs. config MAX44000 tristate "MAX44000 Ambient and Infrared Proximity Sensor" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here if you want to build support for Maxim Integrated's MAX44000 ambient and infrared proximity sensor device. To compile this driver as a module, choose M here: the module will be called max44000. config MAX44009 tristate "MAX44009 Ambient Light Sensor" depends on I2C select REGMAP_I2C help Say Y here if you want to build support for Maxim Integrated's MAX44009 ambient light sensor device. To compile this driver as a module, choose M here: the module will be called max44009. config NOA1305 tristate "ON Semiconductor NOA1305 ambient light sensor" depends on I2C select REGMAP_I2C help Say Y here if you want to build support for the ON Semiconductor NOA1305 ambient light sensor. To compile this driver as a module, choose M here: The module will be called noa1305. config OPT3001 tristate "Texas Instruments OPT3001 Light Sensor" depends on I2C help If you say Y or M here, you get support for Texas Instruments OPT3001 Ambient Light Sensor. If built as a dynamically linked module, it will be called opt3001. config PA12203001 tristate "TXC PA12203001 light and proximity sensor" depends on I2C select REGMAP_I2C help If you say yes here you get support for the TXC PA12203001 ambient light and proximity sensor. This driver can also be built as a module. If so, the module will be called pa12203001. config SI1133 tristate "SI1133 UV Index Sensor and Ambient Light Sensor" depends on I2C select REGMAP_I2C help Say Y here if you want to build a driver for the Silicon Labs SI1133 UV Index Sensor and Ambient Light Sensor chip. To compile this driver as a module, choose M here: the module will be called si1133. config SI1145 tristate "SI1132 and SI1141/2/3/5/6/7 combined ALS, UV index and proximity sensor" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here if you want to build a driver for the Silicon Labs SI1132 or SI1141/2/3/5/6/7 combined ambient light, UV index and proximity sensor chips. To compile this driver as a module, choose M here: the module will be called si1145. config STK3310 tristate "STK3310 ALS and proximity sensor" depends on I2C select REGMAP_I2C help Say yes here to get support for the Sensortek STK3310 ambient light and proximity sensor. The STK3311 model is also supported by this driver. Choosing M will build the driver as a module. If so, the module will be called stk3310. config ST_UVIS25 tristate "STMicroelectronics UVIS25 sensor driver" depends on (I2C || SPI) select IIO_BUFFER select IIO_TRIGGERED_BUFFER select ST_UVIS25_I2C if (I2C) select ST_UVIS25_SPI if (SPI_MASTER) help Say yes here to build support for STMicroelectronics UVIS25 uv sensor To compile this driver as a module, choose M here: the module will be called st_uvis25. config ST_UVIS25_I2C tristate depends on ST_UVIS25 select REGMAP_I2C config ST_UVIS25_SPI tristate depends on ST_UVIS25 select REGMAP_SPI config TCS3414 tristate "TAOS TCS3414 digital color sensor" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for the TAOS TCS3414 family of digital color sensors. This driver can also be built as a module. If so, the module will be called tcs3414. config TCS3472 tristate "TAOS TCS3472 color light-to-digital converter" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for the TAOS TCS3472 family of color light-to-digital converters with IR filter. This driver can also be built as a module. If so, the module will be called tcs3472. config SENSORS_TSL2563 tristate "TAOS TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors" depends on I2C help If you say yes here you get support for the Taos TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors. This driver can also be built as a module. If so, the module will be called tsl2563. config TSL2583 tristate "TAOS TSL2580, TSL2581 and TSL2583 light-to-digital converters" depends on I2C help Provides support for the TAOS tsl2580, tsl2581 and tsl2583 devices. Access ALS data via iio, sysfs. config TSL2772 tristate "TAOS TSL/TMD2x71 and TSL/TMD2x72 Family of light and proximity sensors" depends on I2C help Support for: tsl2571, tsl2671, tmd2671, tsl2771, tmd2771, tsl2572, tsl2672, tmd2672, tsl2772, tmd2772 devices. Provides iio_events and direct access via sysfs. config TSL4531 tristate "TAOS TSL4531 ambient light sensors" depends on I2C help Say Y here if you want to build a driver for the TAOS TSL4531 family of ambient light sensors with direct lux output. To compile this driver as a module, choose M here: the module will be called tsl4531. config US5182D tristate "UPISEMI light and proximity sensor" depends on I2C help If you say yes here you get support for the UPISEMI US5182D ambient light and proximity sensor. This driver can also be built as a module. If so, the module will be called us5182d. config VCNL4000 tristate "VCNL4000/4010/4020/4200 combined ALS and proximity sensor" depends on I2C help Say Y here if you want to build a driver for the Vishay VCNL4000, VCNL4010, VCNL4020, VCNL4200 combined ambient light and proximity sensor. To compile this driver as a module, choose M here: the module will be called vcnl4000. config VCNL4035 tristate "VCNL4035 combined ALS and proximity sensor" select IIO_BUFFER select IIO_TRIGGERED_BUFFER select REGMAP_I2C depends on I2C help Say Y here if you want to build a driver for the Vishay VCNL4035, combined ambient light (ALS) and proximity sensor. Currently only ALS function is available. To compile this driver as a module, choose M here: the module will be called vcnl4035. config VEML6070 tristate "VEML6070 UV A light sensor" depends on I2C help Say Y here if you want to build a driver for the Vishay VEML6070 UV A light sensor. To compile this driver as a module, choose M here: the module will be called veml6070. config VL6180 tristate "VL6180 ALS, range and proximity sensor" depends on I2C help Say Y here if you want to build a driver for the STMicroelectronics VL6180 combined ambient light, range and proximity sensor. To compile this driver as a module, choose M here: the module will be called vl6180. config ZOPT2201 tristate "ZOPT2201 ALS and UV B sensor" depends on I2C help Say Y here if you want to build a driver for the IDT ZOPT2201 ambient light and UV B sensor. To compile this driver as a module, choose M here: the module will be called zopt2201. endmenu iio/light/Makefile 0000644 00000003667 14722053666 0010122 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for IIO Light sensors # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_ACPI_ALS) += acpi-als.o obj-$(CONFIG_ADJD_S311) += adjd_s311.o obj-$(CONFIG_AL3320A) += al3320a.o obj-$(CONFIG_APDS9300) += apds9300.o obj-$(CONFIG_APDS9960) += apds9960.o obj-$(CONFIG_BH1750) += bh1750.o obj-$(CONFIG_BH1780) += bh1780.o obj-$(CONFIG_CM32181) += cm32181.o obj-$(CONFIG_CM3232) += cm3232.o obj-$(CONFIG_CM3323) += cm3323.o obj-$(CONFIG_CM3605) += cm3605.o obj-$(CONFIG_CM36651) += cm36651.o obj-$(CONFIG_IIO_CROS_EC_LIGHT_PROX) += cros_ec_light_prox.o obj-$(CONFIG_GP2AP020A00F) += gp2ap020a00f.o obj-$(CONFIG_HID_SENSOR_ALS) += hid-sensor-als.o obj-$(CONFIG_HID_SENSOR_PROX) += hid-sensor-prox.o obj-$(CONFIG_SENSORS_ISL29018) += isl29018.o obj-$(CONFIG_SENSORS_ISL29028) += isl29028.o obj-$(CONFIG_ISL29125) += isl29125.o obj-$(CONFIG_JSA1212) += jsa1212.o obj-$(CONFIG_SENSORS_LM3533) += lm3533-als.o obj-$(CONFIG_LTR501) += ltr501.o obj-$(CONFIG_LV0104CS) += lv0104cs.o obj-$(CONFIG_MAX44000) += max44000.o obj-$(CONFIG_MAX44009) += max44009.o obj-$(CONFIG_NOA1305) += noa1305.o obj-$(CONFIG_OPT3001) += opt3001.o obj-$(CONFIG_PA12203001) += pa12203001.o obj-$(CONFIG_RPR0521) += rpr0521.o obj-$(CONFIG_SENSORS_TSL2563) += tsl2563.o obj-$(CONFIG_SI1133) += si1133.o obj-$(CONFIG_SI1145) += si1145.o obj-$(CONFIG_STK3310) += stk3310.o obj-$(CONFIG_ST_UVIS25) += st_uvis25_core.o obj-$(CONFIG_ST_UVIS25_I2C) += st_uvis25_i2c.o obj-$(CONFIG_ST_UVIS25_SPI) += st_uvis25_spi.o obj-$(CONFIG_TCS3414) += tcs3414.o obj-$(CONFIG_TCS3472) += tcs3472.o obj-$(CONFIG_TSL2583) += tsl2583.o obj-$(CONFIG_TSL2772) += tsl2772.o obj-$(CONFIG_TSL4531) += tsl4531.o obj-$(CONFIG_US5182D) += us5182d.o obj-$(CONFIG_VCNL4000) += vcnl4000.o obj-$(CONFIG_VCNL4035) += vcnl4035.o obj-$(CONFIG_VEML6070) += veml6070.o obj-$(CONFIG_VL6180) += vl6180.o obj-$(CONFIG_ZOPT2201) += zopt2201.o iio/health/Kconfig 0000644 00000003127 14722053666 0010112 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Health sensors # # When adding new entries keep the list in alphabetical order menu "Health Sensors" menu "Heart Rate Monitors" config AFE4403 tristate "TI AFE4403 Heart Rate Monitor" depends on SPI_MASTER select REGMAP_SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes to choose the Texas Instruments AFE4403 heart rate monitor and low-cost pulse oximeter. To compile this driver as a module, choose M here: the module will be called afe4403. config AFE4404 tristate "TI AFE4404 heart rate and pulse oximeter sensor" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes to choose the Texas Instruments AFE4404 heart rate monitor and low-cost pulse oximeter. To compile this driver as a module, choose M here: the module will be called afe4404. config MAX30100 tristate "MAX30100 heart rate and pulse oximeter sensor" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_KFIFO_BUF help Say Y here to build I2C interface support for the Maxim MAX30100 heart rate, and pulse oximeter sensor. To compile this driver as a module, choose M here: the module will be called max30100. config MAX30102 tristate "MAX30102 heart rate and pulse oximeter sensor" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_KFIFO_BUF help Say Y here to build I2C interface support for the Maxim MAX30102 heart rate, and pulse oximeter sensor. To compile this driver as a module, choose M here: the module will be called max30102. endmenu endmenu iio/health/Makefile 0000644 00000000442 14722053666 0010244 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for IIO Health sensors # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_AFE4403) += afe4403.o obj-$(CONFIG_AFE4404) += afe4404.o obj-$(CONFIG_MAX30100) += max30100.o obj-$(CONFIG_MAX30102) += max30102.o iio/trigger/Kconfig 0000644 00000004235 14722053666 0010311 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Industrial I/O standalone triggers # # When adding new entries keep the list in alphabetical order menu "Triggers - standalone" config IIO_HRTIMER_TRIGGER tristate "High resolution timer trigger" depends on IIO_SW_TRIGGER help Provides a frequency based IIO trigger using high resolution timers as interrupt source. To compile this driver as a module, choose M here: the module will be called iio-trig-hrtimer. config IIO_INTERRUPT_TRIGGER tristate "Generic interrupt trigger" help Provides support for using an interrupt of any type as an IIO trigger. This may be provided by a gpio driver for example. To compile this driver as a module, choose M here: the module will be called iio-trig-interrupt. config IIO_STM32_LPTIMER_TRIGGER tristate "STM32 Low-Power Timer Trigger" depends on MFD_STM32_LPTIMER || COMPILE_TEST help Select this option to enable STM32 Low-Power Timer Trigger. This can be used as trigger source for STM32 internal ADC and/or DAC. To compile this driver as a module, choose M here: the module will be called stm32-lptimer-trigger. config IIO_STM32_TIMER_TRIGGER tristate "STM32 Timer Trigger" depends on (ARCH_STM32 && OF && MFD_STM32_TIMERS) || COMPILE_TEST help Select this option to enable STM32 Timer Trigger To compile this driver as a module, choose M here: the module will be called stm32-timer-trigger. config IIO_TIGHTLOOP_TRIGGER tristate "A kthread based hammering loop trigger" depends on IIO_SW_TRIGGER help An experimental trigger, used to allow sensors to be sampled as fast as possible under the limitations of whatever else is going on. Uses a tight loop in a kthread. Will only work with lower half only trigger consumers. To compile this driver as a module, choose M here: the module will be called iio-trig-loop. config IIO_SYSFS_TRIGGER tristate "SYSFS trigger" depends on SYSFS select IRQ_WORK help Provides support for using SYSFS entries as IIO triggers. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called iio-trig-sysfs. endmenu iio/trigger/Makefile 0000644 00000001000 14722053666 0010431 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for triggers not associated with iio-devices # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_IIO_HRTIMER_TRIGGER) += iio-trig-hrtimer.o obj-$(CONFIG_IIO_INTERRUPT_TRIGGER) += iio-trig-interrupt.o obj-$(CONFIG_IIO_STM32_LPTIMER_TRIGGER) += stm32-lptimer-trigger.o obj-$(CONFIG_IIO_STM32_TIMER_TRIGGER) += stm32-timer-trigger.o obj-$(CONFIG_IIO_SYSFS_TRIGGER) += iio-trig-sysfs.o obj-$(CONFIG_IIO_TIGHTLOOP_TRIGGER) += iio-trig-loop.o iio/accel/Kconfig 0000644 00000030157 14722053666 0007717 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Accelerometer drivers # # When adding new entries keep the list in alphabetical order menu "Accelerometers" config ADIS16201 tristate "Analog Devices ADIS16201 Dual-Axis Digital Inclinometer and Accelerometer" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say Y here to build support for Analog Devices adis16201 dual-axis digital inclinometer and accelerometer. To compile this driver as a module, say M here: the module will be called adis16201. config ADIS16209 tristate "Analog Devices ADIS16209 Dual-Axis Digital Inclinometer and Accelerometer" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say Y here to build support for Analog Devices adis16209 dual-axis digital inclinometer and accelerometer. To compile this driver as a module, say M here: the module will be called adis16209. config ADXL345 tristate config ADXL345_I2C tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer I2C Driver" depends on INPUT_ADXL34X=n depends on I2C select ADXL345 select REGMAP_I2C help Say Y here if you want to build support for the Analog Devices ADXL345 or ADXL375 3-axis digital accelerometer. To compile this driver as a module, choose M here: the module will be called adxl345_i2c and you will also get adxl345_core for the core module. config ADXL345_SPI tristate "Analog Devices ADXL345 3-Axis Digital Accelerometer SPI Driver" depends on INPUT_ADXL34X=n depends on SPI select ADXL345 select REGMAP_SPI help Say Y here if you want to build support for the Analog Devices ADXL345 or ADXL375 3-axis digital accelerometer. To compile this driver as a module, choose M here: the module will be called adxl345_spi and you will also get adxl345_core for the core module. config ADXL372 tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config ADXL372_SPI tristate "Analog Devices ADXL372 3-Axis Accelerometer SPI Driver" depends on SPI select ADXL372 select REGMAP_SPI help Say yes here to add support for the Analog Devices ADXL372 triaxial acceleration sensor. To compile this driver as a module, choose M here: the module will be called adxl372_spi. config ADXL372_I2C tristate "Analog Devices ADXL372 3-Axis Accelerometer I2C Driver" depends on I2C select ADXL372 select REGMAP_I2C help Say yes here to add support for the Analog Devices ADXL372 triaxial acceleration sensor. To compile this driver as a module, choose M here: the module will be called adxl372_i2c. config BMA180 tristate "Bosch BMA180/BMA250 3-Axis Accelerometer Driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here if you want to build a driver for the Bosch BMA180 or BMA250 triaxial acceleration sensor. To compile this driver as a module, choose M here: the module will be called bma180. config BMA220 tristate "Bosch BMA220 3-Axis Accelerometer Driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to add support for the Bosch BMA220 triaxial acceleration sensor. To compile this driver as a module, choose M here: the module will be called bma220_spi. config BMC150_ACCEL tristate "Bosch BMC150 Accelerometer Driver" select IIO_BUFFER select IIO_TRIGGERED_BUFFER select REGMAP select BMC150_ACCEL_I2C if I2C select BMC150_ACCEL_SPI if SPI help Say yes here to build support for the following Bosch accelerometers: BMC150, BMI055, BMA250E, BMA222E, BMA255, BMA280. This is a combo module with both accelerometer and magnetometer. This driver is only implementing accelerometer part, which has its own address and register map. config BMC150_ACCEL_I2C tristate select REGMAP_I2C config BMC150_ACCEL_SPI tristate select REGMAP_SPI config DA280 tristate "MiraMEMS DA280 3-axis 14-bit digital accelerometer driver" depends on I2C help Say yes here to build support for the MiraMEMS DA280 3-axis 14-bit digital accelerometer. To compile this driver as a module, choose M here: the module will be called da280. config DA311 tristate "MiraMEMS DA311 3-axis 12-bit digital accelerometer driver" depends on I2C help Say yes here to build support for the MiraMEMS DA311 3-axis 12-bit digital accelerometer. To compile this driver as a module, choose M here: the module will be called da311. config DMARD06 tristate "Domintech DMARD06 Digital Accelerometer Driver" depends on OF || COMPILE_TEST depends on I2C help Say yes here to build support for the Domintech low-g tri-axial digital accelerometers: DMARD05, DMARD06, DMARD07. To compile this driver as a module, choose M here: the module will be called dmard06. config DMARD09 tristate "Domintech DMARD09 3-axis Accelerometer Driver" depends on I2C help Say yes here to get support for the Domintech DMARD09 3-axis accelerometer. Choosing M will build the driver as a module. If so, the module will be called dmard09. config DMARD10 tristate "Domintech DMARD10 3-axis Accelerometer Driver" depends on I2C help Say yes here to get support for the Domintech DMARD10 3-axis accelerometer. Choosing M will build the driver as a module. If so, the module will be called dmard10. config HID_SENSOR_ACCEL_3D depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID Accelerometers 3D" help Say yes here to build support for the HID SENSOR accelerometers 3D. To compile this driver as a module, choose M here: the module will be called hid-sensor-accel-3d. config IIO_CROS_EC_ACCEL_LEGACY tristate "ChromeOS EC Legacy Accelerometer Sensor" depends on IIO_CROS_EC_SENSORS_CORE help Say yes here to get support for accelerometers on Chromebook using legacy EC firmware. Sensor data is retrieved through IO memory. Newer devices should use IIO_CROS_EC_SENSORS. config IIO_ST_ACCEL_3AXIS tristate "STMicroelectronics accelerometers 3-Axis Driver" depends on (I2C || SPI_MASTER) && SYSFS depends on !SENSORS_LIS3_I2C depends on !SENSORS_LIS3_SPI select IIO_ST_SENSORS_CORE select IIO_ST_ACCEL_I2C_3AXIS if (I2C) select IIO_ST_ACCEL_SPI_3AXIS if (SPI_MASTER) select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) help Say yes here to build support for STMicroelectronics accelerometers: LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC, LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL, LNG2DM, LIS3DE, LIS2DE12 This driver can also be built as a module. If so, these modules will be created: - st_accel (core functions for the driver [it is mandatory]); - st_accel_i2c (necessary for the I2C devices [optional*]); - st_accel_spi (necessary for the SPI devices [optional*]); (*) one of these is necessary to do something. config IIO_ST_ACCEL_I2C_3AXIS tristate depends on IIO_ST_ACCEL_3AXIS depends on IIO_ST_SENSORS_I2C config IIO_ST_ACCEL_SPI_3AXIS tristate depends on IIO_ST_ACCEL_3AXIS depends on IIO_ST_SENSORS_SPI config KXSD9 tristate "Kionix KXSD9 Accelerometer Driver" select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the Kionix KXSD9 accelerometer. It can be accessed using an (optional) SPI or I2C interface. To compile this driver as a module, choose M here: the module will be called kxsd9. config KXSD9_SPI tristate "Kionix KXSD9 SPI transport" depends on KXSD9 depends on SPI default KXSD9 select REGMAP_SPI help Say yes here to enable the Kionix KXSD9 accelerometer SPI transport channel. config KXSD9_I2C tristate "Kionix KXSD9 I2C transport" depends on KXSD9 depends on I2C default KXSD9 select REGMAP_I2C help Say yes here to enable the Kionix KXSD9 accelerometer I2C transport channel. config KXCJK1013 tristate "Kionix 3-Axis Accelerometer Driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here if you want to build a driver for the Kionix KXCJK-1013 triaxial acceleration sensor. This driver also supports KXCJ9-1008, KXTJ2-1009 and KXTF9. To compile this driver as a module, choose M here: the module will be called kxcjk-1013. config MC3230 tristate "mCube MC3230 Digital Accelerometer Driver" depends on I2C help Say yes here to build support for the mCube MC3230 low-g tri-axial digital accelerometer. To compile this driver as a module, choose M here: the module will be called mc3230. config MMA7455 tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config MMA7455_I2C tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver" depends on I2C select MMA7455 select REGMAP_I2C help Say yes here to build support for the Freescale MMA7455L and MMA7456L 3-axis accelerometer. To compile this driver as a module, choose M here: the module will be called mma7455_i2c. config MMA7455_SPI tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver" depends on SPI_MASTER select MMA7455 select REGMAP_SPI help Say yes here to build support for the Freescale MMA7455L and MMA7456L 3-axis accelerometer. To compile this driver as a module, choose M here: the module will be called mma7455_spi. config MMA7660 tristate "Freescale MMA7660FC 3-Axis Accelerometer Driver" depends on I2C help Say yes here to get support for the Freescale MMA7660FC 3-Axis accelerometer. Choosing M will build the driver as a module. If so, the module will be called mma7660. config MMA8452 tristate "Freescale / NXP MMA8452Q and similar Accelerometers Driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the following Freescale / NXP 3-axis accelerometers: MMA8451Q, MMA8452Q, MMA8453Q, MMA8652FC, MMA8653FC, FXLS8471Q. To compile this driver as a module, choose M here: the module will be called mma8452. config MMA9551_CORE tristate config MMA9551 tristate "Freescale MMA9551L Intelligent Motion-Sensing Platform Driver" depends on I2C select MMA9551_CORE help Say yes here to build support for the Freescale MMA9551L Intelligent Motion-Sensing Platform Driver. To compile this driver as a module, choose M here: the module will be called mma9551. config MMA9553 tristate "Freescale MMA9553L Intelligent Pedometer Platform Driver" depends on I2C select MMA9551_CORE help Say yes here to build support for the Freescale MMA9553L Intelligent Pedometer Platform Driver. To compile this driver as a module, choose M here: the module will be called mma9553. config MXC4005 tristate "Memsic MXC4005XC 3-Axis Accelerometer Driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER select REGMAP_I2C help Say yes here to build support for the Memsic MXC4005XC 3-axis accelerometer. To compile this driver as a module, choose M. The module will be called mxc4005. config MXC6255 tristate "Memsic MXC6255 Orientation Sensing Accelerometer Driver" depends on I2C select REGMAP_I2C help Say yes here to build support for the Memsic MXC6255 Orientation Sensing Accelerometer Driver. To compile this driver as a module, choose M here: the module will be called mxc6255. config SCA3000 select IIO_BUFFER select IIO_KFIFO_BUF depends on SPI tristate "VTI SCA3000 series accelerometers" help Say Y here to build support for the VTI SCA3000 series of SPI accelerometers. These devices use a hardware ring buffer. To compile this driver as a module, say M here: the module will be called sca3000. config STK8312 tristate "Sensortek STK8312 3-Axis Accelerometer Driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to get support for the Sensortek STK8312 3-axis accelerometer. Choosing M will build the driver as a module. If so, the module will be called stk8312. config STK8BA50 tristate "Sensortek STK8BA50 3-Axis Accelerometer Driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to get support for the Sensortek STK8BA50 3-axis accelerometer. Choosing M will build the driver as a module. If so, the module will be called stk8ba50. endmenu iio/accel/Makefile 0000644 00000003677 14722053666 0010063 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O accelerometer drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_ADIS16201) += adis16201.o obj-$(CONFIG_ADIS16209) += adis16209.o obj-$(CONFIG_ADXL345) += adxl345_core.o obj-$(CONFIG_ADXL345_I2C) += adxl345_i2c.o obj-$(CONFIG_ADXL345_SPI) += adxl345_spi.o obj-$(CONFIG_ADXL372) += adxl372.o obj-$(CONFIG_ADXL372_I2C) += adxl372_i2c.o obj-$(CONFIG_ADXL372_SPI) += adxl372_spi.o obj-$(CONFIG_BMA180) += bma180.o obj-$(CONFIG_BMA220) += bma220_spi.o obj-$(CONFIG_BMC150_ACCEL) += bmc150-accel-core.o obj-$(CONFIG_BMC150_ACCEL_I2C) += bmc150-accel-i2c.o obj-$(CONFIG_BMC150_ACCEL_SPI) += bmc150-accel-spi.o obj-$(CONFIG_DA280) += da280.o obj-$(CONFIG_DA311) += da311.o obj-$(CONFIG_DMARD06) += dmard06.o obj-$(CONFIG_DMARD09) += dmard09.o obj-$(CONFIG_DMARD10) += dmard10.o obj-$(CONFIG_HID_SENSOR_ACCEL_3D) += hid-sensor-accel-3d.o obj-$(CONFIG_KXCJK1013) += kxcjk-1013.o obj-$(CONFIG_KXSD9) += kxsd9.o obj-$(CONFIG_KXSD9_SPI) += kxsd9-spi.o obj-$(CONFIG_KXSD9_I2C) += kxsd9-i2c.o obj-$(CONFIG_MC3230) += mc3230.o obj-$(CONFIG_MMA7455) += mma7455_core.o obj-$(CONFIG_MMA7455_I2C) += mma7455_i2c.o obj-$(CONFIG_MMA7455_SPI) += mma7455_spi.o obj-$(CONFIG_MMA7660) += mma7660.o obj-$(CONFIG_MMA8452) += mma8452.o obj-$(CONFIG_MMA9551_CORE) += mma9551_core.o obj-$(CONFIG_MMA9551) += mma9551.o obj-$(CONFIG_MMA9553) += mma9553.o obj-$(CONFIG_MXC4005) += mxc4005.o obj-$(CONFIG_MXC6255) += mxc6255.o obj-$(CONFIG_SCA3000) += sca3000.o obj-$(CONFIG_STK8312) += stk8312.o obj-$(CONFIG_STK8BA50) += stk8ba50.o obj-$(CONFIG_IIO_CROS_EC_ACCEL_LEGACY) += cros_ec_accel_legacy.o obj-$(CONFIG_IIO_SSP_SENSORS_COMMONS) += ssp_accel_sensor.o obj-$(CONFIG_IIO_ST_ACCEL_3AXIS) += st_accel.o st_accel-y := st_accel_core.o st_accel-$(CONFIG_IIO_BUFFER) += st_accel_buffer.o obj-$(CONFIG_IIO_ST_ACCEL_I2C_3AXIS) += st_accel_i2c.o obj-$(CONFIG_IIO_ST_ACCEL_SPI_3AXIS) += st_accel_spi.o iio/amplifiers/Kconfig 0000644 00000001320 14722053666 0010771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Gain Amplifiers, etc. # # When adding new entries keep the list in alphabetical order menu "Amplifiers" config AD8366 tristate "Analog Devices AD8366 and similar Gain Amplifiers" depends on SPI depends on GPIOLIB select BITREVERSE help Say yes here to build support for Analog Devices AD8366 and similar gain amplifiers. This driver supports the following gain amplifiers from Analog Devices: AD8366 Dual-Digital Variable Gain Amplifier (VGA) ADA4961 BiCMOS RF Digital Gain Amplifier (DGA) ADL5240 Digitally controlled variable gain amplifier (VGA) To compile this driver as a module, choose M here: the module will be called ad8366. endmenu iio/amplifiers/Makefile 0000644 00000000246 14722053666 0011134 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile iio/amplifiers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_AD8366) += ad8366.o iio/adc/Kconfig 0000644 00000100061 14722053666 0007367 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ADC drivers # # When adding new entries keep the list in alphabetical order menu "Analog to digital converters" config AD_SIGMA_DELTA tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config AD7124 tristate "Analog Devices AD7124 and similar sigma-delta ADCs driver" depends on SPI_MASTER select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7124-4 and AD7124-8 SPI analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7124. config AD7266 tristate "Analog Devices AD7265/AD7266 ADC driver" depends on SPI_MASTER select IIO_BUFFER select IIO_TRIGGER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7265 and AD7266 ADCs. To compile this driver as a module, choose M here: the module will be called ad7266. config AD7291 tristate "Analog Devices AD7291 ADC driver" depends on I2C help Say yes here to build support for Analog Devices AD7291 8 Channel ADC with temperature sensor. To compile this driver as a module, choose M here: the module will be called ad7291. config AD7298 tristate "Analog Devices AD7298 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7298 8 Channel ADC with temperature sensor. To compile this driver as a module, choose M here: the module will be called ad7298. config AD7476 tristate "Analog Devices AD7476 1-channel ADCs driver and other similar devices from AD an TI" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the following SPI analog to digital converters (ADCs): Analog Devices: AD7273, AD7274, AD7276, AD7277, AD7278, AD7475, AD7476, AD7477, AD7478, AD7466, AD7467, AD7468, AD7495, AD7910, AD7920. Texas Instruments: ADS7866, ADS7867, ADS7868. To compile this driver as a module, choose M here: the module will be called ad7476. config AD7606 tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config AD7606_IFACE_PARALLEL tristate "Analog Devices AD7606 ADC driver with parallel interface support" depends on HAS_IOMEM select AD7606 help Say yes here to build parallel interface support for Analog Devices: ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7606_parallel. config AD7606_IFACE_SPI tristate "Analog Devices AD7606 ADC driver with spi interface support" depends on SPI select AD7606 help Say yes here to build spi interface support for Analog Devices: ad7605-4, ad7606, ad7606-6, ad7606-4 analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7606_spi. config AD7766 tristate "Analog Devices AD7766/AD7767 ADC driver" depends on SPI_MASTER select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7766, AD7766-1, AD7766-2, AD7767, AD7767-1, AD7767-2 SPI analog to digital converters. To compile this driver as a module, choose M here: the module will be called ad7766. config AD7768_1 tristate "Analog Devices AD7768-1 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7768-1 SPI simultaneously sampling sigma-delta analog to digital converter (ADC). To compile this driver as a module, choose M here: the module will be called ad7768-1. config AD7780 tristate "Analog Devices AD7780 and similar ADCs driver" depends on SPI depends on GPIOLIB || COMPILE_TEST select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7170, AD7171, AD7780 and AD7781 SPI analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7780. config AD7791 tristate "Analog Devices AD7791 ADC driver" depends on SPI select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7787, AD7788, AD7789, AD7790 and AD7791 SPI analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called ad7791. config AD7793 tristate "Analog Devices AD7793 and similar ADCs driver" depends on SPI select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7785, AD7792, AD7793, AD7794 and AD7795 SPI analog to digital converters (ADC). To compile this driver as a module, choose M here: the module will be called AD7793. config AD7887 tristate "Analog Devices AD7887 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7887 SPI analog to digital converter (ADC). To compile this driver as a module, choose M here: the module will be called ad7887. config AD7923 tristate "Analog Devices AD7923 and similar ADCs driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices AD7904, AD7914, AD7923, AD7924 4 Channel ADCs. To compile this driver as a module, choose M here: the module will be called ad7923. config AD7949 tristate "Analog Devices AD7949 and similar ADCs driver" depends on SPI help Say yes here to build support for Analog Devices AD7949, AD7682, AD7689 8 Channel ADCs. To compile this driver as a module, choose M here: the module will be called ad7949. config AD799X tristate "Analog Devices AD799x ADC driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Analog Devices: ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998 i2c analog to digital converters (ADC). Provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad799x. config ASPEED_ADC tristate "Aspeed ADC" depends on ARCH_ASPEED || COMPILE_TEST depends on COMMON_CLK help If you say yes here you get support for the ADC included in Aspeed BMC SoCs. To compile this driver as a module, choose M here: the module will be called aspeed_adc. config AT91_ADC tristate "Atmel AT91 ADC" depends on ARCH_AT91 depends on INPUT && SYSFS select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Atmel AT91 ADC. To compile this driver as a module, choose M here: the module will be called at91_adc. config AT91_SAMA5D2_ADC tristate "Atmel AT91 SAMA5D2 ADC" depends on ARCH_AT91 || COMPILE_TEST depends on HAS_IOMEM select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Atmel SAMA5D2 ADC which is available on SAMA5D2 SoC family. To compile this driver as a module, choose M here: the module will be called at91-sama5d2_adc. config AXP20X_ADC tristate "X-Powers AXP20X and AXP22X ADC driver" depends on MFD_AXP20X help Say yes here to have support for X-Powers power management IC (PMIC) AXP20X and AXP22X ADC devices. To compile this driver as a module, choose M here: the module will be called axp20x_adc. config AXP288_ADC tristate "X-Powers AXP288 ADC driver" depends on MFD_AXP20X help Say yes here to have support for X-Powers power management IC (PMIC) ADC device. Depending on platform configuration, this general purpose ADC can be used for sampling sensors such as thermal resistors. To compile this driver as a module, choose M here: the module will be called axp288_adc. config BCM_IPROC_ADC tristate "Broadcom IPROC ADC driver" depends on ARCH_BCM_IPROC || COMPILE_TEST depends on MFD_SYSCON default ARCH_BCM_CYGNUS help Say Y here if you want to add support for the Broadcom static ADC driver. Broadcom iProc ADC driver. Broadcom iProc ADC controller has 8 channels. The driver allows the user to read voltage values. config BERLIN2_ADC tristate "Marvell Berlin2 ADC driver" depends on ARCH_BERLIN help Marvell Berlin2 ADC driver. This ADC has 8 channels, with one used for temperature measurement. config CC10001_ADC tristate "Cosmic Circuits 10001 ADC driver" depends on HAS_IOMEM && HAVE_CLK && REGULATOR select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Cosmic Circuits 10001 ADC. This driver can also be built as a module. If so, the module will be called cc10001_adc. config CPCAP_ADC tristate "Motorola CPCAP PMIC ADC driver" depends on MFD_CPCAP select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Motorola CPCAP PMIC ADC. This driver can also be built as a module. If so, the module will be called cpcap-adc. config DA9150_GPADC tristate "Dialog DA9150 GPADC driver support" depends on MFD_DA9150 help Say yes here to build support for Dialog DA9150 GPADC. This driver can also be built as a module. If chosen, the module name will be da9150-gpadc. To compile this driver as a module, choose M here: the module will be called berlin2-adc. config DLN2_ADC tristate "Diolan DLN-2 ADC driver support" depends on MFD_DLN2 select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Diolan DLN-2 ADC. This driver can also be built as a module. If so, the module will be called adc_dln2. config ENVELOPE_DETECTOR tristate "Envelope detector using a DAC and a comparator" depends on OF help Say yes here to build support for an envelope detector using a DAC and a comparator. To compile this driver as a module, choose M here: the module will be called envelope-detector. config EP93XX_ADC tristate "Cirrus Logic EP93XX ADC driver" depends on ARCH_EP93XX help Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic. It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this case driver will reduce its CPU usage by 90% in some use cases. To compile this driver as a module, choose M here: the module will be called ep93xx_adc. config EXYNOS_ADC tristate "Exynos ADC driver support" depends on ARCH_EXYNOS || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210 || (OF && COMPILE_TEST) depends on HAS_IOMEM help Core support for the ADC block found in the Samsung EXYNOS series of SoCs for drivers such as the touchscreen and hwmon to use to share this resource. To compile this driver as a module, choose M here: the module will be called exynos_adc. config MXS_LRADC_ADC tristate "Freescale i.MX23/i.MX28 LRADC ADC" depends on MFD_MXS_LRADC select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the ADC functions of the i.MX23/i.MX28 LRADC. This includes general-purpose ADC readings, battery voltage measurement, and die temperature measurement. This driver can also be built as a module. If so, the module will be called mxs-lradc-adc. config FSL_MX25_ADC tristate "Freescale MX25 ADC driver" depends on MFD_MX25_TSADC help Generic Conversion Queue driver used for general purpose ADC in the MX25. This driver supports single measurements using the MX25 ADC. config HI8435 tristate "Holt Integrated Circuits HI-8435 threshold detector" select IIO_TRIGGERED_EVENT depends on SPI help If you say yes here you get support for Holt Integrated Circuits HI-8435 chip. This driver can also be built as a module. If so, the module will be called hi8435. config HX711 tristate "AVIA HX711 ADC for weight cells" depends on GPIOLIB select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for AVIA HX711 ADC which is used for weigh cells This driver uses two GPIOs, one acts as the clock and controls the channel selection and gain, the other one is used for the measurement data Currently the raw value is read from the chip and delivered. To get an actual weight one needs to subtract the zero offset and multiply by a scale factor. This should be done in userspace. This driver can also be built as a module. If so, the module will be called hx711. config INA2XX_ADC tristate "Texas Instruments INA2xx Power Monitors IIO driver" depends on I2C && !SENSORS_INA2XX select REGMAP_I2C select IIO_BUFFER select IIO_KFIFO_BUF help Say yes here to build support for TI INA2xx family of Power Monitors. This driver is mutually exclusive with the HWMON version. config INGENIC_ADC tristate "Ingenic JZ47xx SoCs ADC driver" depends on MIPS || COMPILE_TEST help Say yes here to build support for the Ingenic JZ47xx SoCs ADC unit. This driver can also be built as a module. If so, the module will be called ingenic_adc. config IMX7D_ADC tristate "Freescale IMX7D ADC driver" depends on ARCH_MXC || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for IMX7D ADC. This driver can also be built as a module. If so, the module will be called imx7d_adc. config LP8788_ADC tristate "LP8788 ADC driver" depends on MFD_LP8788 help Say yes here to build support for TI LP8788 ADC. To compile this driver as a module, choose M here: the module will be called lp8788_adc. config LPC18XX_ADC tristate "NXP LPC18xx ADC driver" depends on ARCH_LPC18XX || COMPILE_TEST depends on OF && HAS_IOMEM help Say yes here to build support for NXP LPC18XX ADC. To compile this driver as a module, choose M here: the module will be called lpc18xx_adc. config LPC32XX_ADC tristate "NXP LPC32XX ADC" depends on ARCH_LPC32XX || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for the integrated ADC inside the LPC32XX SoC. Note that this feature uses the same hardware as the touchscreen driver, so you should either select only one of the two drivers (lpc32xx_adc or lpc32xx_ts) or, in the OpenFirmware case, activate only one via device tree selection. Provides direct access via sysfs. config LTC2471 tristate "Linear Technology LTC2471 and LTC2473 ADC driver" depends on I2C help Say yes here to build support for Linear Technology LTC2471 and LTC2473 16-bit I2C ADC. This driver can also be built as a module. If so, the module will be called ltc2471. config LTC2485 tristate "Linear Technology LTC2485 ADC driver" depends on I2C help Say yes here to build support for Linear Technology LTC2485 ADC. To compile this driver as a module, choose M here: the module will be called ltc2485. config LTC2497 tristate "Linear Technology LTC2497 ADC driver" depends on I2C help Say yes here to build support for Linear Technology LTC2497 16-Bit 8-/16-Channel Delta Sigma ADC. To compile this driver as a module, choose M here: the module will be called ltc2497. config MAX1027 tristate "Maxim max1027 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Maxim SPI ADC models max1027, max1029 and max1031. To compile this driver as a module, choose M here: the module will be called max1027. config MAX11100 tristate "Maxim max11100 ADC driver" depends on SPI_MASTER help Say yes here to build support for Maxim max11100 SPI ADC To compile this driver as a module, choose M here: the module will be called max11100. config MAX1118 tristate "Maxim max1117/max1118/max1119 ADCs driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Maxim max1117/max1118/max1119 8-bit, dual-channel ADCs. To compile this driver as a module, choose M here: the module will be called max1118. config MAX1363 tristate "Maxim max1363 ADC driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for many Maxim i2c analog to digital converters (ADC). (max1361, max1362, max1363, max1364, max1036, max1037, max1038, max1039, max1136, max1136, max1137, max1138, max1139, max1236, max1237, max11238, max1239, max11600, max11601, max11602, max11603, max11604, max11605, max11606, max11607, max11608, max11609, max11610, max11611, max11612, max11613, max11614, max11615, max11616, max11617, max11644, max11645, max11646, max11647) Provides direct access via sysfs and buffered data via the iio dev interface. To compile this driver as a module, choose M here: the module will be called max1363. config MAX9611 tristate "Maxim max9611/max9612 ADC driver" depends on I2C help Say yes here to build support for Maxim max9611/max9612 current sense amplifier with 12-bits ADC interface. To compile this driver as a module, choose M here: the module will be called max9611. config MCP320X tristate "Microchip Technology MCP3x01/02/04/08 and MCP3550/1/3" depends on SPI help Say yes here to build support for Microchip Technology's MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204, MCP3208, MCP3301, MCP3550, MCP3551 and MCP3553 analog to digital converters. This driver can also be built as a module. If so, the module will be called mcp320x. config MCP3422 tristate "Microchip Technology MCP3421/2/3/4/5/6/7/8 driver" depends on I2C help Say yes here to build support for Microchip Technology's MCP3421 MCP3422, MCP3423, MCP3424, MCP3425, MCP3426, MCP3427 or MCP3428 analog to digital converters. This driver can also be built as a module. If so, the module will be called mcp3422. config MCP3911 tristate "Microchip Technology MCP3911 driver" depends on SPI help Say yes here to build support for Microchip Technology's MCP3911 analog to digital converter. This driver can also be built as a module. If so, the module will be called mcp3911. config MEDIATEK_MT6577_AUXADC tristate "MediaTek AUXADC driver" depends on ARCH_MEDIATEK || COMPILE_TEST depends on HAS_IOMEM help Say yes here to enable support for MediaTek mt65xx AUXADC. The driver supports immediate mode operation to read from one of sixteen channels (external or internal). This driver can also be built as a module. If so, the module will be called mt6577_auxadc. config MEN_Z188_ADC tristate "MEN 16z188 ADC IP Core support" depends on MCB help Say yes here to enable support for the MEN 16z188 ADC IP-Core on a MCB carrier. This driver can also be built as a module. If so, the module will be called men_z188_adc. config MESON_SARADC tristate "Amlogic Meson SAR ADC driver" default ARCH_MESON depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST) select REGMAP_MMIO help Say yes here to build support for the SAR ADC found in Amlogic Meson SoCs. To compile this driver as a module, choose M here: the module will be called meson_saradc. config NAU7802 tristate "Nuvoton NAU7802 ADC driver" depends on I2C help Say yes here to build support for Nuvoton NAU7802 ADC. To compile this driver as a module, choose M here: the module will be called nau7802. config NPCM_ADC tristate "Nuvoton NPCM ADC driver" depends on ARCH_NPCM || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for Nuvoton NPCM ADC. This driver can also be built as a module. If so, the module will be called npcm_adc. config PALMAS_GPADC tristate "TI Palmas General Purpose ADC" depends on MFD_PALMAS help Palmas series pmic chip by Texas Instruments (twl6035/6037) is used in smartphones and tablets and supports a 16 channel general purpose ADC. config QCOM_VADC_COMMON tristate config QCOM_PM8XXX_XOADC tristate "Qualcomm SSBI PM8xxx PMIC XOADCs" depends on MFD_PM8XXX select QCOM_VADC_COMMON help ADC driver for the XOADC portions of the Qualcomm PM8xxx PMICs using SSBI transport: PM8018, PM8038, PM8058, PM8921. To compile this driver as a module, choose M here: the module will be called qcom-pm8xxx-xoadc. config QCOM_SPMI_IADC tristate "Qualcomm SPMI PMIC current ADC" depends on SPMI select REGMAP_SPMI help This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip. The driver supports single mode operation to read from one of two channels (external or internal). Hardware have additional channels internally used for gain and offset calibration. To compile this driver as a module, choose M here: the module will be called qcom-spmi-iadc. config QCOM_SPMI_VADC tristate "Qualcomm SPMI PMIC voltage ADC" depends on SPMI select REGMAP_SPMI select QCOM_VADC_COMMON help This is the IIO Voltage ADC driver for Qualcomm QPNP VADC Chip. The driver supports multiple channels read. The VADC is a 15-bit sigma-delta ADC. Some of the channels are internally used for calibration. To compile this driver as a module, choose M here: the module will be called qcom-spmi-vadc. config QCOM_SPMI_ADC5 tristate "Qualcomm Technologies Inc. SPMI PMIC5 ADC" depends on SPMI select REGMAP_SPMI select QCOM_VADC_COMMON help This is the IIO Voltage PMIC5 ADC driver for Qualcomm Technologies Inc. The driver supports multiple channels read. The ADC is a 16-bit sigma-delta ADC. The hardware supports calibrated results for conversion requests and clients include reading voltage phone power, on board system thermistors connected to the PMIC ADC, PMIC die temperature, charger temperature, battery current, USB voltage input, voltage signals connected to supported PMIC GPIO inputs. The hardware supports internal pull-up for thermistors and can choose between a 100k, 30k and 400k pull up using the ADC channels. To compile this driver as a module, choose M here: the module will be called qcom-spmi-adc5. config RCAR_GYRO_ADC tristate "Renesas R-Car GyroADC driver" depends on ARCH_RCAR_GEN2 || COMPILE_TEST help Say yes here to build support for the GyroADC found in Renesas R-Car Gen2 SoCs. This block is a simple SPI offload engine for reading data out of attached compatible ADCs in a round-robin fashion. Up to 4 or 8 ADC channels are supported by this block, depending on which ADCs are attached. To compile this driver as a module, choose M here: the module will be called rcar-gyroadc. config ROCKCHIP_SARADC tristate "Rockchip SARADC driver" depends on ARCH_ROCKCHIP || (ARM && COMPILE_TEST) depends on RESET_CONTROLLER help Say yes here to build support for the SARADC found in SoCs from Rockchip. To compile this driver as a module, choose M here: the module will be called rockchip_saradc. config SC27XX_ADC tristate "Spreadtrum SC27xx series PMICs ADC" depends on MFD_SC27XX_PMIC || COMPILE_TEST help Say yes here to build support for the integrated ADC inside the Spreadtrum SC27xx series PMICs. This driver can also be built as a module. If so, the module will be called sc27xx_adc. config SPEAR_ADC tristate "ST SPEAr ADC" depends on PLAT_SPEAR || COMPILE_TEST depends on HAS_IOMEM help Say yes here to build support for the integrated ADC inside the ST SPEAr SoC. Provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called spear_adc. config SD_ADC_MODULATOR tristate "Generic sigma delta modulator" depends on OF select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Select this option to enables sigma delta modulator. This driver can support generic sigma delta modulators. This driver can also be built as a module. If so, the module will be called sd_adc_modulator. config STM32_ADC_CORE tristate "STMicroelectronics STM32 adc core" depends on ARCH_STM32 || COMPILE_TEST depends on OF depends on REGULATOR depends on HAS_IOMEM select IIO_BUFFER select MFD_STM32_TIMERS select IIO_STM32_TIMER_TRIGGER select IIO_TRIGGERED_BUFFER help Select this option to enable the core driver for STMicroelectronics STM32 analog-to-digital converter (ADC). This driver can also be built as a module. If so, the module will be called stm32-adc-core. config STM32_ADC tristate "STMicroelectronics STM32 adc" depends on STM32_ADC_CORE help Say yes here to build support for STMicroelectronics stm32 Analog to Digital Converter (ADC). This driver can also be built as a module. If so, the module will be called stm32-adc. config STM32_DFSDM_CORE tristate "STMicroelectronics STM32 DFSDM core" depends on (ARCH_STM32 && OF) || COMPILE_TEST select REGMAP select REGMAP_MMIO help Select this option to enable the driver for STMicroelectronics STM32 digital filter for sigma delta converter. This driver can also be built as a module. If so, the module will be called stm32-dfsdm-core. config STM32_DFSDM_ADC tristate "STMicroelectronics STM32 dfsdm adc" depends on (ARCH_STM32 && OF) || COMPILE_TEST select STM32_DFSDM_CORE select REGMAP_MMIO select IIO_BUFFER select IIO_BUFFER_HW_CONSUMER select IIO_TRIGGERED_BUFFER help Select this option to support ADCSigma delta modulator for STMicroelectronics STM32 digital filter for sigma delta converter. This driver can also be built as a module. If so, the module will be called stm32-dfsdm-adc. config STMPE_ADC tristate "STMicroelectronics STMPE ADC driver" depends on OF && MFD_STMPE help Say yes here to build support for ST Microelectronics STMPE built-in ADC block (stmpe811). config SUN4I_GPADC tristate "Support for the Allwinner SoCs GPADC" depends on IIO depends on MFD_SUN4I_GPADC || MACH_SUN8I depends on THERMAL || !THERMAL_OF select REGMAP_IRQ help Say yes here to build support for Allwinner (A10, A13 and A31) SoCs GPADC. This ADC provides 4 channels which can be used as an ADC or as a touchscreen input and one channel for thermal sensor. The thermal sensor slows down ADC readings and can be disabled by disabling CONFIG_THERMAL_OF. However, the thermal sensor should be enabled by default since the SoC temperature is usually more critical than ADC readings. To compile this driver as a module, choose M here: the module will be called sun4i-gpadc-iio. config TI_ADC081C tristate "Texas Instruments ADC081C/ADC101C/ADC121C family" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC081C, ADC101C and ADC121C ADC chips. This driver can also be built as a module. If so, the module will be called ti-adc081c. config TI_ADC0832 tristate "Texas Instruments ADC0831/ADC0832/ADC0834/ADC0838" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC0831, ADC0832, ADC0834, ADC0838 ADC chips. This driver can also be built as a module. If so, the module will be called ti-adc0832. config TI_ADC084S021 tristate "Texas Instruments ADC084S021" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC084S021 chips. This driver can also be built as a module. If so, the module will be called ti-adc084s021. config TI_ADC12138 tristate "Texas Instruments ADC12130/ADC12132/ADC12138" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC12130, ADC12132 and ADC12138 chips. This driver can also be built as a module. If so, the module will be called ti-adc12138. config TI_ADC108S102 tristate "Texas Instruments ADC108S102 and ADC128S102 driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Texas Instruments ADC108S102 and ADC128S102 ADC. To compile this driver as a module, choose M here: the module will be called ti-adc108s102. config TI_ADC128S052 tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021" depends on SPI help If you say yes here you get support for Texas Instruments ADC128S052, ADC122S021 and ADC124S021 chips. This driver can also be built as a module. If so, the module will be called ti-adc128s052. config TI_ADC161S626 tristate "Texas Instruments ADC161S626 1-channel differential ADC" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADC141S626, and ADC161S626 chips. This driver can also be built as a module. If so, the module will be called ti-adc161s626. config TI_ADS1015 tristate "Texas Instruments ADS1015 ADC" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for Texas Instruments ADS1015 ADC chip. This driver can also be built as a module. If so, the module will be called ti-ads1015. config TI_ADS7950 tristate "Texas Instruments ADS7950 ADC driver" depends on SPI && GPIOLIB select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Texas Instruments ADS7950, ADS7951, ADS7952, ADS7953, ADS7954, ADS7955, ADS7956, ADS7957, ADS7958, ADS7959. ADS7960, ADS7961. To compile this driver as a module, choose M here: the module will be called ti-ads7950. config TI_ADS8344 tristate "Texas Instruments ADS8344" depends on SPI && OF help If you say yes here you get support for Texas Instruments ADS8344 ADC chips This driver can also be built as a module. If so, the module will be called ti-ads8344. config TI_ADS8688 tristate "Texas Instruments ADS8688" depends on SPI && OF help If you say yes here you get support for Texas Instruments ADS8684 and and ADS8688 ADC chips This driver can also be built as a module. If so, the module will be called ti-ads8688. config TI_ADS124S08 tristate "Texas Instruments ADS124S08" depends on SPI && OF help If you say yes here you get support for Texas Instruments ADS124S08 and ADS124S06 ADC chips This driver can also be built as a module. If so, the module will be called ti-ads124s08. config TI_AM335X_ADC tristate "TI's AM335X ADC driver" depends on MFD_TI_AM335X_TSCADC && HAS_DMA select IIO_BUFFER select IIO_KFIFO_BUF help Say yes here to build support for Texas Instruments ADC driver which is also a MFD client. To compile this driver as a module, choose M here: the module will be called ti_am335x_adc. config TI_TLC4541 tristate "Texas Instruments TLC4541 ADC driver" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Texas Instruments TLC4541 / TLC3541 ADC chips. This driver can also be built as a module. If so, the module will be called ti-tlc4541. config TWL4030_MADC tristate "TWL4030 MADC (Monitoring A/D Converter)" depends on TWL4030_CORE help This driver provides support for Triton TWL4030-MADC. The driver supports both RT and SW conversion methods. This driver can also be built as a module. If so, the module will be called twl4030-madc. config TWL6030_GPADC tristate "TWL6030 GPADC (General Purpose A/D Converter) Support" depends on TWL4030_CORE default n help Say yes here if you want support for the TWL6030/TWL6032 General Purpose A/D Converter. This will add support for battery type detection, battery voltage and temperature measurement, die temperature measurement, system supply voltage, audio accessory, USB ID detection. This driver can also be built as a module. If so, the module will be called twl6030-gpadc. config VF610_ADC tristate "Freescale vf610 ADC driver" depends on OF depends on HAS_IOMEM select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to support for Vybrid board analog-to-digital converter. Since the IP is used for i.MX6SLX, the driver also support i.MX6SLX. This driver can also be built as a module. If so, the module will be called vf610_adc. config VIPERBOARD_ADC tristate "Viperboard ADC support" depends on MFD_VIPERBOARD && USB help Say yes here to access the ADC part of the Nano River Technologies Viperboard. To compile this driver as a module, choose M here: the module will be called viperboard_adc. config XILINX_XADC tristate "Xilinx XADC driver" depends on HAS_IOMEM select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to have support for the Xilinx XADC. The driver does support both the ZYNQ interface to the XADC as well as the AXI-XADC interface. The driver can also be build as a module. If so, the module will be called xilinx-xadc. endmenu iio/adc/Makefile 0000644 00000007776 14722053666 0007547 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for IIO ADC drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_AD_SIGMA_DELTA) += ad_sigma_delta.o obj-$(CONFIG_AD7124) += ad7124.o obj-$(CONFIG_AD7266) += ad7266.o obj-$(CONFIG_AD7291) += ad7291.o obj-$(CONFIG_AD7298) += ad7298.o obj-$(CONFIG_AD7923) += ad7923.o obj-$(CONFIG_AD7476) += ad7476.o obj-$(CONFIG_AD7606_IFACE_PARALLEL) += ad7606_par.o obj-$(CONFIG_AD7606_IFACE_SPI) += ad7606_spi.o obj-$(CONFIG_AD7606) += ad7606.o obj-$(CONFIG_AD7766) += ad7766.o obj-$(CONFIG_AD7768_1) += ad7768-1.o obj-$(CONFIG_AD7780) += ad7780.o obj-$(CONFIG_AD7791) += ad7791.o obj-$(CONFIG_AD7793) += ad7793.o obj-$(CONFIG_AD7887) += ad7887.o obj-$(CONFIG_AD7949) += ad7949.o obj-$(CONFIG_AD799X) += ad799x.o obj-$(CONFIG_ASPEED_ADC) += aspeed_adc.o obj-$(CONFIG_AT91_ADC) += at91_adc.o obj-$(CONFIG_AT91_SAMA5D2_ADC) += at91-sama5d2_adc.o obj-$(CONFIG_AXP20X_ADC) += axp20x_adc.o obj-$(CONFIG_AXP288_ADC) += axp288_adc.o obj-$(CONFIG_BCM_IPROC_ADC) += bcm_iproc_adc.o obj-$(CONFIG_BERLIN2_ADC) += berlin2-adc.o obj-$(CONFIG_CC10001_ADC) += cc10001_adc.o obj-$(CONFIG_CPCAP_ADC) += cpcap-adc.o obj-$(CONFIG_DA9150_GPADC) += da9150-gpadc.o obj-$(CONFIG_DLN2_ADC) += dln2-adc.o obj-$(CONFIG_ENVELOPE_DETECTOR) += envelope-detector.o obj-$(CONFIG_EP93XX_ADC) += ep93xx_adc.o obj-$(CONFIG_EXYNOS_ADC) += exynos_adc.o obj-$(CONFIG_FSL_MX25_ADC) += fsl-imx25-gcq.o obj-$(CONFIG_HI8435) += hi8435.o obj-$(CONFIG_HX711) += hx711.o obj-$(CONFIG_IMX7D_ADC) += imx7d_adc.o obj-$(CONFIG_INA2XX_ADC) += ina2xx-adc.o obj-$(CONFIG_INGENIC_ADC) += ingenic-adc.o obj-$(CONFIG_LP8788_ADC) += lp8788_adc.o obj-$(CONFIG_LPC18XX_ADC) += lpc18xx_adc.o obj-$(CONFIG_LPC32XX_ADC) += lpc32xx_adc.o obj-$(CONFIG_LTC2471) += ltc2471.o obj-$(CONFIG_LTC2485) += ltc2485.o obj-$(CONFIG_LTC2497) += ltc2497.o obj-$(CONFIG_MAX1027) += max1027.o obj-$(CONFIG_MAX11100) += max11100.o obj-$(CONFIG_MAX1118) += max1118.o obj-$(CONFIG_MAX1363) += max1363.o obj-$(CONFIG_MAX9611) += max9611.o obj-$(CONFIG_MCP320X) += mcp320x.o obj-$(CONFIG_MCP3422) += mcp3422.o obj-$(CONFIG_MCP3911) += mcp3911.o obj-$(CONFIG_MEDIATEK_MT6577_AUXADC) += mt6577_auxadc.o obj-$(CONFIG_MEN_Z188_ADC) += men_z188_adc.o obj-$(CONFIG_MESON_SARADC) += meson_saradc.o obj-$(CONFIG_MXS_LRADC_ADC) += mxs-lradc-adc.o obj-$(CONFIG_NAU7802) += nau7802.o obj-$(CONFIG_NPCM_ADC) += npcm_adc.o obj-$(CONFIG_PALMAS_GPADC) += palmas_gpadc.o obj-$(CONFIG_QCOM_SPMI_ADC5) += qcom-spmi-adc5.o obj-$(CONFIG_QCOM_SPMI_IADC) += qcom-spmi-iadc.o obj-$(CONFIG_QCOM_VADC_COMMON) += qcom-vadc-common.o obj-$(CONFIG_QCOM_SPMI_VADC) += qcom-spmi-vadc.o obj-$(CONFIG_QCOM_PM8XXX_XOADC) += qcom-pm8xxx-xoadc.o obj-$(CONFIG_RCAR_GYRO_ADC) += rcar-gyroadc.o obj-$(CONFIG_ROCKCHIP_SARADC) += rockchip_saradc.o obj-$(CONFIG_SC27XX_ADC) += sc27xx_adc.o obj-$(CONFIG_SPEAR_ADC) += spear_adc.o obj-$(CONFIG_SUN4I_GPADC) += sun4i-gpadc-iio.o obj-$(CONFIG_STM32_ADC_CORE) += stm32-adc-core.o obj-$(CONFIG_STM32_ADC) += stm32-adc.o obj-$(CONFIG_STM32_DFSDM_CORE) += stm32-dfsdm-core.o obj-$(CONFIG_STM32_DFSDM_ADC) += stm32-dfsdm-adc.o obj-$(CONFIG_STMPE_ADC) += stmpe-adc.o obj-$(CONFIG_TI_ADC081C) += ti-adc081c.o obj-$(CONFIG_TI_ADC0832) += ti-adc0832.o obj-$(CONFIG_TI_ADC084S021) += ti-adc084s021.o obj-$(CONFIG_TI_ADC12138) += ti-adc12138.o obj-$(CONFIG_TI_ADC108S102) += ti-adc108s102.o obj-$(CONFIG_TI_ADC128S052) += ti-adc128s052.o obj-$(CONFIG_TI_ADC161S626) += ti-adc161s626.o obj-$(CONFIG_TI_ADS1015) += ti-ads1015.o obj-$(CONFIG_TI_ADS7950) += ti-ads7950.o obj-$(CONFIG_TI_ADS8344) += ti-ads8344.o obj-$(CONFIG_TI_ADS8688) += ti-ads8688.o obj-$(CONFIG_TI_ADS124S08) += ti-ads124s08.o obj-$(CONFIG_TI_AM335X_ADC) += ti_am335x_adc.o obj-$(CONFIG_TI_TLC4541) += ti-tlc4541.o obj-$(CONFIG_TWL4030_MADC) += twl4030-madc.o obj-$(CONFIG_TWL6030_GPADC) += twl6030-gpadc.o obj-$(CONFIG_VF610_ADC) += vf610_adc.o obj-$(CONFIG_VIPERBOARD_ADC) += viperboard_adc.o xilinx-xadc-y := xilinx-xadc-core.o xilinx-xadc-events.o obj-$(CONFIG_XILINX_XADC) += xilinx-xadc.o obj-$(CONFIG_SD_ADC_MODULATOR) += sd_adc_modulator.o iio/Kconfig 0000644 00000005521 14722053666 0006645 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Industrial I/O subsystem configuration # menuconfig IIO tristate "Industrial I/O support" help The industrial I/O subsystem provides a unified framework for drivers for many different types of embedded sensors using a number of different physical interfaces (i2c, spi, etc). if IIO config IIO_BUFFER bool "Enable buffer support within IIO" help Provide core support for various buffer based data acquisition methods. if IIO_BUFFER source "drivers/iio/buffer/Kconfig" endif # IIO_BUFFER config IIO_CONFIGFS tristate "Enable IIO configuration via configfs" select CONFIGFS_FS help This allows configuring various IIO bits through configfs (e.g. software triggers). For more info see Documentation/iio/iio_configfs.rst. config IIO_TRIGGER bool "Enable triggered sampling support" help Provides IIO core support for triggers. Currently these are used to initialize capture of samples to push into buffers. The triggers are effectively a 'capture data now' interrupt. config IIO_CONSUMERS_PER_TRIGGER int "Maximum number of consumers per trigger" depends on IIO_TRIGGER default "2" help This value controls the maximum number of consumers that a given trigger may handle. Default is 2. config IIO_SW_DEVICE tristate "Enable software IIO device support" select IIO_CONFIGFS help Provides IIO core support for software devices. A software device can be created via configfs or directly by a driver using the API provided. config IIO_SW_TRIGGER tristate "Enable software triggers support" select IIO_CONFIGFS help Provides IIO core support for software triggers. A software trigger can be created via configfs or directly by a driver using the API provided. config IIO_TRIGGERED_EVENT tristate select IIO_TRIGGER help Provides helper functions for setting up triggered events. source "drivers/iio/accel/Kconfig" source "drivers/iio/adc/Kconfig" source "drivers/iio/addac/Kconfig" source "drivers/iio/afe/Kconfig" source "drivers/iio/amplifiers/Kconfig" source "drivers/iio/chemical/Kconfig" source "drivers/iio/common/Kconfig" source "drivers/iio/dac/Kconfig" source "drivers/iio/dummy/Kconfig" source "drivers/iio/frequency/Kconfig" source "drivers/iio/gyro/Kconfig" source "drivers/iio/health/Kconfig" source "drivers/iio/humidity/Kconfig" source "drivers/iio/imu/Kconfig" source "drivers/iio/light/Kconfig" source "drivers/iio/magnetometer/Kconfig" source "drivers/iio/multiplexer/Kconfig" source "drivers/iio/orientation/Kconfig" if IIO_TRIGGER source "drivers/iio/trigger/Kconfig" endif #IIO_TRIGGER source "drivers/iio/potentiometer/Kconfig" source "drivers/iio/potentiostat/Kconfig" source "drivers/iio/pressure/Kconfig" source "drivers/iio/proximity/Kconfig" source "drivers/iio/resolver/Kconfig" source "drivers/iio/temperature/Kconfig" endif # IIO iio/addac/Kconfig 0000644 00000001260 14722053666 0007675 0 ustar 00 # # ADC DAC drivers # # When adding new entries keep the list in alphabetical order menu "Analog to digital and digital to analog converters" config STX104 tristate "Apex Embedded Systems STX104 driver" depends on PC104 && X86 select ISA_BUS_API select GPIOLIB help Say yes here to build support for the Apex Embedded Systems STX104 integrated analog PC/104 card. This driver supports the 16 channels of single-ended (8 channels of differential) analog inputs, 2 channels of analog output, 4 digital inputs, and 4 digital outputs provided by the STX104. The base port addresses for the devices may be configured via the base array module parameter. endmenu iio/addac/Makefile 0000644 00000000263 14722053666 0010034 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O ADDAC drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_STX104) += stx104.o iio/resolver/Kconfig 0000644 00000001430 14722053666 0010501 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Resolver/Synchro drivers # menu "Resolver to digital converters" config AD2S90 tristate "Analog Devices ad2s90 driver" depends on SPI help Say yes here to build support for Analog Devices spi resolver to digital converters, ad2s90, provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad2s90. config AD2S1200 tristate "Analog Devices ad2s1200/ad2s1205 driver" depends on SPI depends on GPIOLIB || COMPILE_TEST help Say yes here to build support for Analog Devices spi resolver to digital converters, ad2s1200 and ad2s1205, provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad2s1200. endmenu iio/resolver/Makefile 0000644 00000000233 14722053666 0010636 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Resolver/Synchro drivers # obj-$(CONFIG_AD2S90) += ad2s90.o obj-$(CONFIG_AD2S1200) += ad2s1200.o iio/gyro/Kconfig 0000644 00000011223 14722053666 0007621 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IIO Digital Gyroscope Sensor drivers configuration # # When adding new entries keep the list in alphabetical order menu "Digital gyroscope sensors" config ADIS16080 tristate "Analog Devices ADIS16080/100 Yaw Rate Gyroscope with SPI driver" depends on SPI help Say yes here to build support for Analog Devices ADIS16080, ADIS16100 Yaw Rate Gyroscope with SPI. config ADIS16130 tristate "Analog Devices ADIS16130 High Precision Angular Rate Sensor driver" depends on SPI help Say yes here to build support for Analog Devices ADIS16130 High Precision Angular Rate Sensor driver. config ADIS16136 tristate "Analog devices ADIS16136 and similar gyroscopes driver" depends on SPI_MASTER select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for the Analog Devices ADIS16133, ADIS16135, ADIS16136 gyroscope devices. config ADIS16260 tristate "Analog Devices ADIS16260 Digital Gyroscope Sensor SPI driver" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices ADIS16260 ADIS16265 ADIS16250 ADIS16255 and ADIS16251 programmable digital gyroscope sensors. This driver can also be built as a module. If so, the module will be called adis16260. config ADXRS450 tristate "Analog Devices ADXRS450/3 Digital Output Gyroscope SPI driver" depends on SPI help Say yes here to build support for Analog Devices ADXRS450 and ADXRS453 programmable digital output gyroscope. This driver can also be built as a module. If so, the module will be called adxrs450. config BMG160 tristate "BOSCH BMG160 Gyro Sensor" depends on (I2C || SPI_MASTER) select IIO_BUFFER select IIO_TRIGGERED_BUFFER select BMG160_I2C if (I2C) select BMG160_SPI if (SPI) help Say yes here to build support for BOSCH BMG160 Tri-axis Gyro Sensor driver connected via I2C or SPI. This driver also supports BMI055 gyroscope. This driver can also be built as a module. If so, the module will be called bmg160_i2c or bmg160_spi. config BMG160_I2C tristate select REGMAP_I2C config BMG160_SPI tristate select REGMAP_SPI config FXAS21002C tristate "NXP FXAS21002C Gyro Sensor" select IIO_BUFFER select IIO_TRIGGERED_BUFFER select FXAS21002C_I2C if (I2C) select FXAS21002C_SPI if (SPI) depends on (I2C || SPI_MASTER) help Say yes here to build support for NXP FXAS21002C Tri-axis Gyro Sensor driver connected via I2C or SPI. This driver can also be built as a module. If so, the module will be called fxas21002c_i2c or fxas21002c_spi. config FXAS21002C_I2C tristate select REGMAP_I2C config FXAS21002C_SPI tristate select REGMAP_SPI config HID_SENSOR_GYRO_3D depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID Gyroscope 3D" help Say yes here to build support for the HID SENSOR Gyroscope 3D. config MPU3050 tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER select REGMAP config MPU3050_I2C tristate "Invensense MPU3050 devices on I2C" depends on !(INPUT_MPU3050=y || INPUT_MPU3050=m) depends on I2C select MPU3050 select REGMAP_I2C select I2C_MUX help This driver supports the Invensense MPU3050 gyroscope over I2C. This driver can be built as a module. The module will be called inv-mpu3050-i2c. config IIO_ST_GYRO_3AXIS tristate "STMicroelectronics gyroscopes 3-Axis Driver" depends on (I2C || SPI_MASTER) && SYSFS select IIO_ST_SENSORS_CORE select IIO_ST_GYRO_I2C_3AXIS if (I2C) select IIO_ST_GYRO_SPI_3AXIS if (SPI_MASTER) select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) help Say yes here to build support for STMicroelectronics gyroscopes: L3G4200D, LSM330DL, L3GD20, LSM330DLC, L3G4IS, LSM330, LSM9DS0. This driver can also be built as a module. If so, these modules will be created: - st_gyro (core functions for the driver [it is mandatory]); - st_gyro_i2c (necessary for the I2C devices [optional*]); - st_gyro_spi (necessary for the SPI devices [optional*]); (*) one of these is necessary to do something. config IIO_ST_GYRO_I2C_3AXIS tristate depends on IIO_ST_GYRO_3AXIS depends on IIO_ST_SENSORS_I2C config IIO_ST_GYRO_SPI_3AXIS tristate depends on IIO_ST_GYRO_3AXIS depends on IIO_ST_SENSORS_SPI config ITG3200 tristate "InvenSense ITG3200 Digital 3-Axis Gyroscope I2C driver" depends on I2C select IIO_TRIGGERED_BUFFER if IIO_BUFFER help Say yes here to add support for the InvenSense ITG3200 digital 3-axis gyroscope sensor. endmenu iio/gyro/Makefile 0000644 00000002403 14722053666 0007756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O gyroscope sensor drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_ADIS16080) += adis16080.o obj-$(CONFIG_ADIS16130) += adis16130.o obj-$(CONFIG_ADIS16136) += adis16136.o obj-$(CONFIG_ADIS16260) += adis16260.o obj-$(CONFIG_ADXRS450) += adxrs450.o obj-$(CONFIG_BMG160) += bmg160_core.o obj-$(CONFIG_BMG160_I2C) += bmg160_i2c.o obj-$(CONFIG_BMG160_SPI) += bmg160_spi.o obj-$(CONFIG_FXAS21002C) += fxas21002c_core.o obj-$(CONFIG_FXAS21002C_I2C) += fxas21002c_i2c.o obj-$(CONFIG_FXAS21002C_SPI) += fxas21002c_spi.o obj-$(CONFIG_HID_SENSOR_GYRO_3D) += hid-sensor-gyro-3d.o # Currently this is rolled into one module, split it if # we ever create a separate SPI interface for MPU-3050 obj-$(CONFIG_MPU3050) += mpu3050.o mpu3050-objs := mpu3050-core.o mpu3050-i2c.o itg3200-y := itg3200_core.o itg3200-$(CONFIG_IIO_BUFFER) += itg3200_buffer.o obj-$(CONFIG_ITG3200) += itg3200.o obj-$(CONFIG_IIO_SSP_SENSORS_COMMONS) += ssp_gyro_sensor.o obj-$(CONFIG_IIO_ST_GYRO_3AXIS) += st_gyro.o st_gyro-y := st_gyro_core.o st_gyro-$(CONFIG_IIO_BUFFER) += st_gyro_buffer.o obj-$(CONFIG_IIO_ST_GYRO_I2C_3AXIS) += st_gyro_i2c.o obj-$(CONFIG_IIO_ST_GYRO_SPI_3AXIS) += st_gyro_spi.o iio/chemical/Kconfig 0000644 00000005266 14722053666 0010420 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Chemical sensors # menu "Chemical Sensors" config ATLAS_PH_SENSOR tristate "Atlas Scientific OEM SM sensors" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER select IRQ_WORK help Say Y here to build I2C interface support for the following Atlas Scientific OEM SM sensors: * pH SM sensor * EC SM sensor * ORP SM sensor To compile this driver as module, choose M here: the module will be called atlas-ph-sensor. config BME680 tristate "Bosch Sensortec BME680 sensor driver" depends on (I2C || SPI) select REGMAP select BME680_I2C if I2C select BME680_SPI if SPI help Say yes here to build support for Bosch Sensortec BME680 sensor with temperature, pressure, humidity and gas sensing capability. This driver can also be built as a module. If so, the module for I2C would be called bme680_i2c and bme680_spi for SPI support. config BME680_I2C tristate depends on I2C && BME680 select REGMAP_I2C config BME680_SPI tristate depends on SPI && BME680 select REGMAP_SPI config CCS811 tristate "AMS CCS811 VOC sensor" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here to build I2C interface support for the AMS CCS811 VOC (Volatile Organic Compounds) sensor config IAQCORE tristate "AMS iAQ-Core VOC sensors" depends on I2C help Say Y here to build I2C interface support for the AMS iAQ-Core Continuous/Pulsed VOC (Volatile Organic Compounds) sensors config PMS7003 tristate "Plantower PMS7003 particulate matter sensor" depends on SERIAL_DEV_BUS select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here to build support for the Plantower PMS7003 particulate matter sensor. To compile this driver as a module, choose M here: the module will be called pms7003. config SENSIRION_SGP30 tristate "Sensirion SGPxx gas sensors" depends on I2C select CRC8 help Say Y here to build I2C interface support for the following Sensirion SGP gas sensors: * SGP30 gas sensor * SGPC3 low power gas sensor To compile this driver as module, choose M here: the module will be called sgp30. config SPS30 tristate "SPS30 particulate matter sensor" depends on I2C select CRC8 select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here to build support for the Sensirion SPS30 particulate matter sensor. To compile this driver as a module, choose M here: the module will be called sps30. config VZ89X tristate "SGX Sensortech MiCS VZ89X VOC sensor" depends on I2C help Say Y here to build I2C interface support for the SGX Sensortech MiCS VZ89X VOC (Volatile Organic Compounds) sensors endmenu iio/chemical/Makefile 0000644 00000001020 14722053666 0010535 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for IIO chemical sensors # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_ATLAS_PH_SENSOR) += atlas-ph-sensor.o obj-$(CONFIG_BME680) += bme680_core.o obj-$(CONFIG_BME680_I2C) += bme680_i2c.o obj-$(CONFIG_BME680_SPI) += bme680_spi.o obj-$(CONFIG_CCS811) += ccs811.o obj-$(CONFIG_IAQCORE) += ams-iaq-core.o obj-$(CONFIG_PMS7003) += pms7003.o obj-$(CONFIG_SENSIRION_SGP30) += sgp30.o obj-$(CONFIG_SPS30) += sps30.o obj-$(CONFIG_VZ89X) += vz89x.o iio/dac/Kconfig 0000644 00000027700 14722053666 0007377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # DAC drivers # # When adding new entries keep the list in alphabetical order menu "Digital to analog converters" config AD5064 tristate "Analog Devices AD5064 and similar multi-channel DAC driver" depends on (SPI_MASTER && I2C!=m) || I2C help Say yes here to build support for Analog Devices AD5024, AD5025, AD5044, AD5045, AD5064, AD5064-1, AD5065, AD5625, AD5625R, AD5627, AD5627R, AD5628, AD5629R, AD5645R, AD5647R, AD5648, AD5665, AD5665R, AD5666, AD5667, AD5667R, AD5668, AD5669R, LTC2606, LTC2607, LTC2609, LTC2616, LTC2617, LTC2619, LTC2626, LTC2627, LTC2629, LTC2631, LTC2633, LTC2635 Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5064. config AD5360 tristate "Analog Devices AD5360/61/62/63/70/71/73 DAC driver" depends on SPI help Say yes here to build support for Analog Devices AD5360, AD5361, AD5362, AD5363, AD5370, AD5371, AD5373 multi-channel Digital to Analog Converters (DAC). To compile this driver as module choose M here: the module will be called ad5360. config AD5380 tristate "Analog Devices AD5380/81/82/83/84/90/91/92 DAC driver" depends on (SPI_MASTER && I2C!=m) || I2C select REGMAP_I2C if I2C select REGMAP_SPI if SPI_MASTER help Say yes here to build support for Analog Devices AD5380, AD5381, AD5382, AD5383, AD5384, AD5390, AD5391, AD5392 multi-channel Digital to Analog Converters (DAC). To compile this driver as module choose M here: the module will be called ad5380. config AD5421 tristate "Analog Devices AD5421 DAC driver" depends on SPI help Say yes here to build support for Analog Devices AD5421 loop-powered digital-to-analog convertors (DAC). To compile this driver as module choose M here: the module will be called ad5421. config AD5446 tristate "Analog Devices AD5446 and similar single channel DACs driver" depends on (SPI_MASTER && I2C!=m) || I2C help Say yes here to build support for Analog Devices AD5300, AD5301, AD5310, AD5311, AD5320, AD5321, AD5444, AD5446, AD5450, AD5451, AD5452, AD5453, AD5512A, AD5541A, AD5542A, AD5543, AD5553, AD5600, AD5601, AD5602, AD5611, AD5612, AD5620, AD5621, AD5622, AD5640, AD5641, AD5660, AD5662 DACs as well as Texas Instruments DAC081S101, DAC101S101, DAC121S101. To compile this driver as a module, choose M here: the module will be called ad5446. config AD5449 tristate "Analog Devices AD5449 and similar DACs driver" depends on SPI_MASTER help Say yes here to build support for Analog Devices AD5415, AD5426, AD5429, AD5432, AD5439, AD5443, AD5449 Digital to Analog Converters. To compile this driver as a module, choose M here: the module will be called ad5449. config AD5592R_BASE tristate config AD5592R tristate "Analog Devices AD5592R ADC/DAC driver" depends on SPI_MASTER select GPIOLIB select AD5592R_BASE help Say yes here to build support for Analog Devices AD5592R Digital to Analog / Analog to Digital Converter. To compile this driver as a module, choose M here: the module will be called ad5592r. config AD5593R tristate "Analog Devices AD5593R ADC/DAC driver" depends on I2C select GPIOLIB select AD5592R_BASE help Say yes here to build support for Analog Devices AD5593R Digital to Analog / Analog to Digital Converter. To compile this driver as a module, choose M here: the module will be called ad5593r. config AD5504 tristate "Analog Devices AD5504/AD5501 DAC SPI driver" depends on SPI help Say yes here to build support for Analog Devices AD5504, AD5501, High Voltage Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5504. config AD5624R_SPI tristate "Analog Devices AD5624/44/64R DAC spi driver" depends on SPI help Say yes here to build support for Analog Devices AD5624R, AD5644R and AD5664R converters (DAC). This driver uses the common SPI interface. config LTC1660 tristate "Linear Technology LTC1660/LTC1665 DAC SPI driver" depends on SPI help Say yes here to build support for Linear Technology LTC1660 and LTC1665 Digital to Analog Converters. To compile this driver as a module, choose M here: the module will be called ltc1660. config LTC2632 tristate "Linear Technology LTC2632-12/10/8 DAC spi driver" depends on SPI help Say yes here to build support for Linear Technology LTC2632-12, LTC2632-10, LTC2632-8 converters (DAC). To compile this driver as a module, choose M here: the module will be called ltc2632. config AD5686 tristate config AD5686_SPI tristate "Analog Devices AD5686 and similar multi-channel DACs (SPI)" depends on SPI select AD5686 help Say yes here to build support for Analog Devices AD5672R, AD5674R, AD5676, AD5676R, AD5679R, AD5684, AD5684R, AD5684R, AD5685R, AD5686, AD5686R Voltage Output Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5686. config AD5696_I2C tristate "Analog Devices AD5696 and similar multi-channel DACs (I2C)" depends on I2C select AD5686 help Say yes here to build support for Analog Devices AD5671R, AD5675R, AD5694, AD5694R, AD5695R, AD5696, AD5696R Voltage Output Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5696. config AD5755 tristate "Analog Devices AD5755/AD5755-1/AD5757/AD5735/AD5737 DAC driver" depends on SPI_MASTER help Say yes here to build support for Analog Devices AD5755, AD5755-1, AD5757, AD5735, AD5737 quad channel Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5755. config AD5758 tristate "Analog Devices AD5758 DAC driver" depends on SPI_MASTER help Say yes here to build support for Analog Devices AD5758 single channel Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5758. config AD5761 tristate "Analog Devices AD5761/61R/21/21R DAC driver" depends on SPI_MASTER help Say yes here to build support for Analog Devices AD5761, AD5761R, AD5721, AD5721R Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5761. config AD5764 tristate "Analog Devices AD5764/64R/44/44R DAC driver" depends on SPI_MASTER help Say yes here to build support for Analog Devices AD5764, AD5764R, AD5744, AD5744R Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5764. config AD5791 tristate "Analog Devices AD5760/AD5780/AD5781/AD5790/AD5791 DAC SPI driver" depends on SPI help Say yes here to build support for Analog Devices AD5760, AD5780, AD5781, AD5790, AD5791 High Resolution Voltage Output Digital to Analog Converter. To compile this driver as a module, choose M here: the module will be called ad5791. config AD7303 tristate "Analog Devices AD7303 DAC driver" depends on SPI help Say yes here to build support for Analog Devices AD7303 Digital to Analog Converters (DAC). To compile this driver as module choose M here: the module will be called ad7303. config CIO_DAC tristate "Measurement Computing CIO-DAC IIO driver" depends on X86 && (ISA_BUS || PC104) select ISA_BUS_API help Say yes here to build support for the Measurement Computing CIO-DAC analog output device family (CIO-DAC16, CIO-DAC08, PC104-DAC06). The base port addresses for the devices may be configured via the base array module parameter. config AD8801 tristate "Analog Devices AD8801/AD8803 DAC driver" depends on SPI_MASTER help Say yes here to build support for Analog Devices AD8801, AD8803 Digital to Analog Converters (DAC). To compile this driver as a module choose M here: the module will be called ad8801. config DPOT_DAC tristate "DAC emulation using a DPOT" depends on OF help Say yes here to build support for DAC emulation using a digital potentiometer. To compile this driver as a module, choose M here: the module will be called dpot-dac. config DS4424 tristate "Maxim Integrated DS4422/DS4424 DAC driver" depends on I2C help If you say yes here you get support for Maxim chips DS4422, DS4424. This driver can also be built as a module. If so, the module will be called ds4424. config LPC18XX_DAC tristate "NXP LPC18xx DAC driver" depends on ARCH_LPC18XX || COMPILE_TEST depends on OF && HAS_IOMEM help Say yes here to build support for NXP LPC18XX DAC. To compile this driver as a module, choose M here: the module will be called lpc18xx_dac. config M62332 tristate "Mitsubishi M62332 DAC driver" depends on I2C help If you say yes here you get support for the Mitsubishi M62332 (I2C 8-Bit DACs with rail-to-rail outputs). This driver can also be built as a module. If so, the module will be called m62332. config MAX517 tristate "Maxim MAX517/518/519/520/521 DAC driver" depends on I2C help If you say yes here you get support for the following Maxim chips (I2C 8-Bit DACs with rail-to-rail outputs): MAX517 - Single channel, single reference MAX518 - Dual channel, ref=Vdd MAX519 - Dual channel, dual reference MAX520 - Quad channel, quad reference MAX521 - Octal channel, independent ref for ch0-3, shared ref for ch4-7 This driver can also be built as a module. If so, the module will be called max517. config MAX5821 tristate "Maxim MAX5821 DAC driver" depends on I2C depends on OF help Say yes here to build support for Maxim MAX5821 10 bits DAC. config MCP4725 tristate "MCP4725/6 DAC driver" depends on I2C ---help--- Say Y here if you want to build a driver for the Microchip MCP 4725/6 12-bit digital-to-analog converter (DAC) with I2C interface. To compile this driver as a module, choose M here: the module will be called mcp4725. config MCP4922 tristate "MCP4902, MCP4912, MCP4922 DAC driver" depends on SPI help Say yes here to build the driver for the Microchip MCP4902 MCP4912, and MCP4922 DAC devices. To compile this driver as a module, choose M here: the module will be called mcp4922. config STM32_DAC tristate "STMicroelectronics STM32 DAC" depends on (ARCH_STM32 && OF) || COMPILE_TEST depends on REGULATOR select STM32_DAC_CORE help Say yes here to build support for STMicroelectronics STM32 Digital to Analog Converter (DAC). This driver can also be built as a module. If so, the module will be called stm32-dac. config STM32_DAC_CORE tristate config TI_DAC082S085 tristate "Texas Instruments 8/10/12-bit 2/4-channel DAC driver" depends on SPI_MASTER help Driver for the Texas Instruments (formerly National Semiconductor) DAC082S085, DAC102S085, DAC122S085, DAC084S085, DAC104S085 and DAC124S085. If compiled as a module, it will be called ti-dac082s085. config TI_DAC5571 tristate "Texas Instruments 8/10/12/16-bit 1/2/4-channel DAC driver" depends on I2C help Driver for the Texas Instruments DAC5571, DAC6571, DAC7571, DAC5574, DAC6574, DAC7574, DAC5573, DAC6573, DAC7573, DAC8571, DAC8574. If compiled as a module, it will be called ti-dac5571. config TI_DAC7311 tristate "Texas Instruments 8/10/12-bit 1-channel DAC driver" depends on SPI help Driver for the Texas Instruments DAC7311, DAC6311, DAC5311. If compiled as a module, it will be called ti-dac7311. config TI_DAC7612 tristate "Texas Instruments 12-bit 2-channel DAC driver" depends on SPI_MASTER && GPIOLIB help Driver for the Texas Instruments DAC7612, DAC7612U, DAC7612UB The driver hand drive the load pin automatically, otherwise it needs to be toggled manually. If compiled as a module, it will be called ti-dac7612. config VF610_DAC tristate "Vybrid vf610 DAC driver" depends on OF depends on HAS_IOMEM help Say yes here to support Vybrid board digital-to-analog converter. This driver can also be built as a module. If so, the module will be called vf610_dac. endmenu iio/dac/Makefile 0000644 00000003035 14722053666 0007527 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O DAC drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_AD5360) += ad5360.o obj-$(CONFIG_AD5380) += ad5380.o obj-$(CONFIG_AD5421) += ad5421.o obj-$(CONFIG_AD5624R_SPI) += ad5624r_spi.o obj-$(CONFIG_AD5064) += ad5064.o obj-$(CONFIG_AD5504) += ad5504.o obj-$(CONFIG_AD5446) += ad5446.o obj-$(CONFIG_AD5449) += ad5449.o obj-$(CONFIG_AD5592R_BASE) += ad5592r-base.o obj-$(CONFIG_AD5592R) += ad5592r.o obj-$(CONFIG_AD5593R) += ad5593r.o obj-$(CONFIG_AD5755) += ad5755.o obj-$(CONFIG_AD5758) += ad5758.o obj-$(CONFIG_AD5761) += ad5761.o obj-$(CONFIG_AD5764) += ad5764.o obj-$(CONFIG_AD5791) += ad5791.o obj-$(CONFIG_AD5686) += ad5686.o obj-$(CONFIG_AD5686_SPI) += ad5686-spi.o obj-$(CONFIG_AD5696_I2C) += ad5696-i2c.o obj-$(CONFIG_AD7303) += ad7303.o obj-$(CONFIG_AD8801) += ad8801.o obj-$(CONFIG_CIO_DAC) += cio-dac.o obj-$(CONFIG_DPOT_DAC) += dpot-dac.o obj-$(CONFIG_DS4424) += ds4424.o obj-$(CONFIG_LPC18XX_DAC) += lpc18xx_dac.o obj-$(CONFIG_LTC1660) += ltc1660.o obj-$(CONFIG_LTC2632) += ltc2632.o obj-$(CONFIG_M62332) += m62332.o obj-$(CONFIG_MAX517) += max517.o obj-$(CONFIG_MAX5821) += max5821.o obj-$(CONFIG_MCP4725) += mcp4725.o obj-$(CONFIG_MCP4922) += mcp4922.o obj-$(CONFIG_STM32_DAC_CORE) += stm32-dac-core.o obj-$(CONFIG_STM32_DAC) += stm32-dac.o obj-$(CONFIG_TI_DAC082S085) += ti-dac082s085.o obj-$(CONFIG_TI_DAC5571) += ti-dac5571.o obj-$(CONFIG_TI_DAC7311) += ti-dac7311.o obj-$(CONFIG_TI_DAC7612) += ti-dac7612.o obj-$(CONFIG_VF610_DAC) += vf610_dac.o iio/orientation/Kconfig 0000644 00000001451 14722053666 0011176 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Inclinometer sensors # # When adding new entries keep the list in alphabetical order menu "Inclinometer sensors" config HID_SENSOR_INCLINOMETER_3D depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID Inclinometer 3D" help Say yes here to build support for the HID SENSOR Inclinometer 3D. config HID_SENSOR_DEVICE_ROTATION depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID Device Rotation" help Say yes here to build support for the HID SENSOR device rotation. The output of a device rotation sensor is presented using quaternion format. endmenu iio/orientation/Makefile 0000644 00000000450 14722053666 0011331 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for industrial I/O Inclinometer sensor drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_HID_SENSOR_INCLINOMETER_3D) += hid-sensor-incl-3d.o obj-$(CONFIG_HID_SENSOR_DEVICE_ROTATION) += hid-sensor-rotation.o iio/magnetometer/Kconfig 0000644 00000013400 14722053666 0011327 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Magnetometer sensors # # When adding new entries keep the list in alphabetical order menu "Magnetometer sensors" config AK8974 tristate "Asahi Kasei AK8974 3-Axis Magnetometer" depends on I2C depends on OF select REGMAP_I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Asahi Kasei AK8974, AMI305 or AMI306 I2C-based 3-axis magnetometer chips. To compile this driver as a module, choose M here: the module will be called ak8974. config AK8975 tristate "Asahi Kasei AK8975 3-Axis Magnetometer" depends on I2C depends on GPIOLIB || COMPILE_TEST select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for Asahi Kasei AK8975, AK8963, AK09911 or AK09912 3-Axis Magnetometer. To compile this driver as a module, choose M here: the module will be called ak8975. config AK09911 tristate "Asahi Kasei AK09911 3-axis Compass" depends on I2C depends on GPIOLIB || COMPILE_TEST select AK8975 help Deprecated: AK09911 is now supported by AK8975 driver. config BMC150_MAGN tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config BMC150_MAGN_I2C tristate "Bosch BMC150 I2C Magnetometer Driver" depends on I2C select BMC150_MAGN select REGMAP_I2C help Say yes here to build support for the BMC150 magnetometer with I2C interface. This is a combo module with both accelerometer and magnetometer. This driver is only implementing magnetometer part, which has its own address and register map. This driver also supports I2C Bosch BMC156 and BMM150 chips. To compile this driver as a module, choose M here: the module will be called bmc150_magn_i2c. config BMC150_MAGN_SPI tristate "Bosch BMC150 SPI Magnetometer Driver" depends on SPI select BMC150_MAGN select REGMAP_SPI help Say yes here to build support for the BMC150 magnetometer with SPI interface. This is a combo module with both accelerometer and magnetometer. This driver is only implementing magnetometer part, which has its own address and register map. This driver also supports SPI Bosch BMC156 and BMM150 chips. To compile this driver as a module, choose M here: the module will be called bmc150_magn_spi. config MAG3110 tristate "Freescale MAG3110 3-Axis Magnetometer" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the Freescale MAG3110 3-Axis magnetometer. To compile this driver as a module, choose M here: the module will be called mag3110. config HID_SENSOR_MAGNETOMETER_3D depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID Magenetometer 3D" help Say yes here to build support for the HID SENSOR Magnetometer 3D. config MMC35240 tristate "MEMSIC MMC35240 3-axis magnetic sensor" select REGMAP_I2C depends on I2C help Say yes here to build support for the MEMSIC MMC35240 3-axis magnetic sensor. To compile this driver as a module, choose M here: the module will be called mmc35240. config IIO_ST_MAGN_3AXIS tristate "STMicroelectronics magnetometers 3-Axis Driver" depends on (I2C || SPI_MASTER) && SYSFS select IIO_ST_SENSORS_CORE select IIO_ST_MAGN_I2C_3AXIS if (I2C) select IIO_ST_MAGN_SPI_3AXIS if (SPI_MASTER) select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) help Say yes here to build support for STMicroelectronics magnetometers: LSM303DLHC, LSM303DLM, LIS3MDL. This driver can also be built as a module. If so, these modules will be created: - st_magn (core functions for the driver [it is mandatory]); - st_magn_i2c (necessary for the I2C devices [optional*]); - st_magn_spi (necessary for the SPI devices [optional*]); (*) one of these is necessary to do something. config IIO_ST_MAGN_I2C_3AXIS tristate depends on IIO_ST_MAGN_3AXIS depends on IIO_ST_SENSORS_I2C config IIO_ST_MAGN_SPI_3AXIS tristate depends on IIO_ST_MAGN_3AXIS depends on IIO_ST_SENSORS_SPI config SENSORS_HMC5843 tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config SENSORS_HMC5843_I2C tristate "Honeywell HMC5843/5883/5883L 3-Axis Magnetometer (I2C)" depends on I2C select SENSORS_HMC5843 select REGMAP_I2C help Say Y here to add support for the Honeywell HMC5843, HMC5883 and HMC5883L 3-Axis Magnetometer (digital compass). This driver can also be compiled as a set of modules. If so, these modules will be created: - hmc5843_core (core functions) - hmc5843_i2c (support for HMC5843, HMC5883, HMC5883L and HMC5983) config SENSORS_HMC5843_SPI tristate "Honeywell HMC5983 3-Axis Magnetometer (SPI)" depends on SPI_MASTER select SENSORS_HMC5843 select REGMAP_SPI help Say Y here to add support for the Honeywell HMC5983 3-Axis Magnetometer (digital compass). This driver can also be compiled as a set of modules. If so, these modules will be created: - hmc5843_core (core functions) - hmc5843_spi (support for HMC5983) config SENSORS_RM3100 tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config SENSORS_RM3100_I2C tristate "PNI RM3100 3-Axis Magnetometer (I2C)" depends on I2C select SENSORS_RM3100 select REGMAP_I2C help Say Y here to add support for the PNI RM3100 3-Axis Magnetometer. This driver can also be compiled as a module. To compile this driver as a module, choose M here: the module will be called rm3100-i2c. config SENSORS_RM3100_SPI tristate "PNI RM3100 3-Axis Magnetometer (SPI)" depends on SPI_MASTER select SENSORS_RM3100 select REGMAP_SPI help Say Y here to add support for the PNI RM3100 3-Axis Magnetometer. This driver can also be compiled as a module. To compile this driver as a module, choose M here: the module will be called rm3100-spi. endmenu iio/magnetometer/Makefile 0000644 00000002015 14722053666 0011464 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O Magnetometer sensor drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_AK8974) += ak8974.o obj-$(CONFIG_AK8975) += ak8975.o obj-$(CONFIG_BMC150_MAGN) += bmc150_magn.o obj-$(CONFIG_BMC150_MAGN_I2C) += bmc150_magn_i2c.o obj-$(CONFIG_BMC150_MAGN_SPI) += bmc150_magn_spi.o obj-$(CONFIG_MAG3110) += mag3110.o obj-$(CONFIG_HID_SENSOR_MAGNETOMETER_3D) += hid-sensor-magn-3d.o obj-$(CONFIG_MMC35240) += mmc35240.o obj-$(CONFIG_IIO_ST_MAGN_3AXIS) += st_magn.o st_magn-y := st_magn_core.o st_magn-$(CONFIG_IIO_BUFFER) += st_magn_buffer.o obj-$(CONFIG_IIO_ST_MAGN_I2C_3AXIS) += st_magn_i2c.o obj-$(CONFIG_IIO_ST_MAGN_SPI_3AXIS) += st_magn_spi.o obj-$(CONFIG_SENSORS_HMC5843) += hmc5843_core.o obj-$(CONFIG_SENSORS_HMC5843_I2C) += hmc5843_i2c.o obj-$(CONFIG_SENSORS_HMC5843_SPI) += hmc5843_spi.o obj-$(CONFIG_SENSORS_RM3100) += rm3100-core.o obj-$(CONFIG_SENSORS_RM3100_I2C) += rm3100-i2c.o obj-$(CONFIG_SENSORS_RM3100_SPI) += rm3100-spi.o iio/humidity/Kconfig 0000644 00000006270 14722053666 0010503 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # humidity sensor drivers # menu "Humidity sensors" config AM2315 tristate "Aosong AM2315 relative humidity and temperature sensor" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for the Aosong AM2315 relative humidity and ambient temperature sensor. This driver can also be built as a module. If so, the module will be called am2315. config DHT11 tristate "DHT11 (and compatible sensors) driver" depends on GPIOLIB || COMPILE_TEST help This driver supports reading data via a single interrupt generating GPIO line. Currently tested are DHT11 and DHT22. Other sensors should work as well as long as they speak the same protocol. config HDC100X tristate "TI HDC100x relative humidity and temperature sensor" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the Texas Instruments HDC1000, HDC1008, HDC1010, HDC1050, and HDC1080 relative humidity and temperature sensors. To compile this driver as a module, choose M here: the module will be called hdc100x. config HID_SENSOR_HUMIDITY tristate "HID Environmental humidity sensor" depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER help Say yes here to build support for the HID SENSOR humidity driver To compile this driver as a module, choose M here: the module will be called hid-sensor-humidity. config HTS221 tristate "STMicroelectronics HTS221 sensor Driver" depends on (I2C || SPI) select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HTS221_I2C if (I2C) select HTS221_SPI if (SPI_MASTER) help Say yes here to build support for STMicroelectronics HTS221 temperature-humidity sensor To compile this driver as a module, choose M here: the module will be called hts221. config HTS221_I2C tristate depends on HTS221 select REGMAP_I2C config HTS221_SPI tristate depends on HTS221 select REGMAP_SPI config HTU21 tristate "Measurement Specialties HTU21 humidity & temperature sensor" depends on I2C select IIO_MS_SENSORS_I2C help If you say yes here you get support for the Measurement Specialties HTU21 humidity and temperature sensor. This driver is also used for MS8607 temperature, pressure & humidity sensor This driver can also be built as a module. If so, the module will be called htu21. config SI7005 tristate "SI7005 relative humidity and temperature sensor" depends on I2C help Say yes here to build support for the Silabs Si7005 relative humidity and temperature sensor. To compile this driver as a module, choose M here: the module will be called si7005. This driver also supports Hoperf TH02 Humidity and Temperature Sensor. config SI7020 tristate "Si7013/20/21 Relative Humidity and Temperature Sensors" depends on I2C help Say yes here to build support for the Silicon Labs Si7013/20/21 Relative Humidity and Temperature Sensors. This driver also supports Hoperf TH06 Humidity and Temperature Sensor. To compile this driver as a module, choose M here: the module will be called si7020. endmenu iio/humidity/Makefile 0000644 00000001062 14722053666 0010632 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for IIO humidity sensor drivers # obj-$(CONFIG_AM2315) += am2315.o obj-$(CONFIG_DHT11) += dht11.o obj-$(CONFIG_HDC100X) += hdc100x.o obj-$(CONFIG_HID_SENSOR_HUMIDITY) += hid-sensor-humidity.o hts221-y := hts221_core.o \ hts221_buffer.o obj-$(CONFIG_HTS221) += hts221.o obj-$(CONFIG_HTS221_I2C) += hts221_i2c.o obj-$(CONFIG_HTS221_SPI) += hts221_spi.o obj-$(CONFIG_HTU21) += htu21.o obj-$(CONFIG_SI7005) += si7005.o obj-$(CONFIG_SI7020) += si7020.o ccflags-y += -I$(srctree)/drivers/iio/common/hid-sensors iio/potentiometer/Kconfig 0000644 00000007012 14722053666 0011540 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Potentiometer drivers # # When adding new entries keep the list in alphabetical order menu "Digital potentiometers" config AD5272 tristate "Analog Devices AD5272 and similar Digital Potentiometer driver" depends on I2C help Say yes here to build support for the Analog Devices AD5272 and AD5274 digital potentiometer chip. To compile this driver as a module, choose M here: the module will be called ad5272. config DS1803 tristate "Maxim Integrated DS1803 Digital Potentiometer driver" depends on I2C help Say yes here to build support for the Maxim Integrated DS1803 digital potentiometer chip. To compile this driver as a module, choose M here: the module will be called ds1803. config MAX5432 tristate "Maxim MAX5432-MAX5435 Digital Potentiometer driver" depends on I2C help Say yes here to build support for the Maxim MAX5432, MAX5433, MAX5434 and MAX5435 digital potentiometer chips. To compile this driver as a module, choose M here: the module will be called max5432. config MAX5481 tristate "Maxim MAX5481-MAX5484 Digital Potentiometer driver" depends on SPI help Say yes here to build support for the Maxim MAX5481, MAX5482, MAX5483, MAX5484 digital potentiometer chips. To compile this driver as a module, choose M here: the module will be called max5481. config MAX5487 tristate "Maxim MAX5487/MAX5488/MAX5489 Digital Potentiometer driver" depends on SPI help Say yes here to build support for the Maxim MAX5487, MAX5488, MAX5489 digital potentiometer chips. To compile this driver as a module, choose M here: the module will be called max5487. config MCP4018 tristate "Microchip MCP4017/18/19 Digital Potentiometer driver" depends on I2C help Say yes here to build support for the Microchip MCP4017, MCP4018, MCP4019 digital potentiometer chips. To compile this driver as a module, choose M here: the module will be called mcp4018. config MCP4131 tristate "Microchip MCP413X/414X/415X/416X/423X/424X/425X/426X Digital Potentiometer driver" depends on SPI help Say yes here to build support for the Microchip MCP4131, MCP4132, MCP4141, MCP4142, MCP4151, MCP4152, MCP4161, MCP4162, MCP4231, MCP4232, MCP4241, MCP4242, MCP4251, MCP4252, MCP4261, MCP4262, digital potentiometer chips. To compile this driver as a module, choose M here: the module will be called mcp4131. config MCP4531 tristate "Microchip MCP45xx/MCP46xx Digital Potentiometer driver" depends on I2C help Say yes here to build support for the Microchip MCP4531, MCP4532, MCP4541, MCP4542, MCP4551, MCP4552, MCP4561, MCP4562, MCP4631, MCP4632, MCP4641, MCP4642, MCP4651, MCP4652, MCP4661, MCP4662 digital potentiometer chips. To compile this driver as a module, choose M here: the module will be called mcp4531. config MCP41010 tristate "Microchip MCP41xxx/MCP42xxx Digital Potentiometer driver" depends on SPI help Say yes here to build support for the Microchip MCP41010, MCP41050, MCP41100, MCP42010, MCP42050, MCP42100 digital potentiometer chips. To compile this driver as a module, choose M here: the module will be called mcp41010. config TPL0102 tristate "Texas Instruments digital potentiometer driver" depends on I2C select REGMAP_I2C help Say yes here to build support for the Texas Instruments TPL0102, TPL0402 digital potentiometer chips. To compile this driver as a module, choose M here: the module will be called tpl0102. endmenu iio/potentiometer/Makefile 0000644 00000000766 14722053666 0011706 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O potentiometer drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_AD5272) += ad5272.o obj-$(CONFIG_DS1803) += ds1803.o obj-$(CONFIG_MAX5432) += max5432.o obj-$(CONFIG_MAX5481) += max5481.o obj-$(CONFIG_MAX5487) += max5487.o obj-$(CONFIG_MCP4018) += mcp4018.o obj-$(CONFIG_MCP4131) += mcp4131.o obj-$(CONFIG_MCP4531) += mcp4531.o obj-$(CONFIG_MCP41010) += mcp41010.o obj-$(CONFIG_TPL0102) += tpl0102.o iio/Makefile 0000644 00000001773 14722053666 0007007 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the industrial I/O core. # obj-$(CONFIG_IIO) += industrialio.o industrialio-y := industrialio-core.o industrialio-event.o inkern.o industrialio-$(CONFIG_IIO_BUFFER) += industrialio-buffer.o industrialio-$(CONFIG_IIO_TRIGGER) += industrialio-trigger.o obj-$(CONFIG_IIO_CONFIGFS) += industrialio-configfs.o obj-$(CONFIG_IIO_SW_DEVICE) += industrialio-sw-device.o obj-$(CONFIG_IIO_SW_TRIGGER) += industrialio-sw-trigger.o obj-$(CONFIG_IIO_TRIGGERED_EVENT) += industrialio-triggered-event.o obj-y += accel/ obj-y += adc/ obj-y += addac/ obj-y += afe/ obj-y += amplifiers/ obj-y += buffer/ obj-y += chemical/ obj-y += common/ obj-y += dac/ obj-y += dummy/ obj-y += gyro/ obj-y += frequency/ obj-y += health/ obj-y += humidity/ obj-y += imu/ obj-y += light/ obj-y += magnetometer/ obj-y += multiplexer/ obj-y += orientation/ obj-y += potentiometer/ obj-y += potentiostat/ obj-y += pressure/ obj-y += proximity/ obj-y += resolver/ obj-y += temperature/ obj-y += trigger/ iio/common/ms_sensors/Kconfig 0000644 00000000203 14722053666 0012320 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Measurements Specialties sensors common library # config IIO_MS_SENSORS_I2C tristate iio/common/ms_sensors/Makefile 0000644 00000000244 14722053666 0012462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Measurement Specialties sensor common modules. # obj-$(CONFIG_IIO_MS_SENSORS_I2C) += ms_sensors_i2c.o iio/common/cros_ec_sensors/Kconfig 0000644 00000002020 14722053666 0013315 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Chrome OS Embedded Controller managed sensors library # config IIO_CROS_EC_SENSORS_CORE tristate "ChromeOS EC Sensors Core" depends on SYSFS && CROS_EC select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Base module for the ChromeOS EC Sensors module. Contains core functions used by other IIO CrosEC sensor drivers. Define common attributes and sysfs interrupt handler. config IIO_CROS_EC_SENSORS tristate "ChromeOS EC Contiguous Sensors" depends on IIO_CROS_EC_SENSORS_CORE help Module to handle 3d contiguous sensors like Accelerometers, Gyroscope and Magnetometer that are presented by the ChromeOS EC Sensor hub. Creates an IIO device for each functions. config IIO_CROS_EC_SENSORS_LID_ANGLE tristate "ChromeOS EC Sensor for lid angle" depends on IIO_CROS_EC_SENSORS_CORE help Module to report the angle between lid and base for some convertible devices. This module is loaded when the EC can calculate the angle between the base and the lid. iio/common/cros_ec_sensors/Makefile 0000644 00000000450 14722053666 0013457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for sensors seen through the ChromeOS EC sensor hub. # obj-$(CONFIG_IIO_CROS_EC_SENSORS_CORE) += cros_ec_sensors_core.o obj-$(CONFIG_IIO_CROS_EC_SENSORS) += cros_ec_sensors.o obj-$(CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE) += cros_ec_lid_angle.o iio/common/Kconfig 0000644 00000000464 14722053666 0010136 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IIO common modules # source "drivers/iio/common/cros_ec_sensors/Kconfig" source "drivers/iio/common/hid-sensors/Kconfig" source "drivers/iio/common/ms_sensors/Kconfig" source "drivers/iio/common/ssp_sensors/Kconfig" source "drivers/iio/common/st_sensors/Kconfig" iio/common/st_sensors/Kconfig 0000644 00000000471 14722053666 0012336 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # STMicroelectronics sensors common library # config IIO_ST_SENSORS_I2C tristate select REGMAP_I2C config IIO_ST_SENSORS_SPI tristate select REGMAP_SPI config IIO_ST_SENSORS_CORE tristate select IIO_ST_SENSORS_I2C if I2C select IIO_ST_SENSORS_SPI if SPI_MASTER iio/common/st_sensors/Makefile 0000644 00000000623 14722053666 0012472 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the STMicroelectronics sensor common modules. # obj-$(CONFIG_IIO_ST_SENSORS_I2C) += st_sensors_i2c.o obj-$(CONFIG_IIO_ST_SENSORS_SPI) += st_sensors_spi.o obj-$(CONFIG_IIO_ST_SENSORS_CORE) += st_sensors.o st_sensors-y := st_sensors_core.o st_sensors-$(CONFIG_IIO_BUFFER) += st_sensors_buffer.o st_sensors-$(CONFIG_IIO_TRIGGER) += st_sensors_trigger.o iio/common/hid-sensors/Kconfig 0000644 00000001650 14722053666 0012372 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Hid Sensor common modules # menu "Hid Sensor IIO Common" config HID_SENSOR_IIO_COMMON tristate "Common modules for all HID Sensor IIO drivers" depends on HID_SENSOR_HUB select HID_SENSOR_IIO_TRIGGER if IIO_BUFFER help Say yes here to build support for HID sensor to use HID sensor common processing for attributes and IIO triggers. There are many attributes which can be shared among multiple HID sensor drivers, this module contains processing for those attributes. config HID_SENSOR_IIO_TRIGGER tristate "Common module (trigger) for all HID Sensor IIO drivers" depends on HID_SENSOR_HUB && HID_SENSOR_IIO_COMMON && IIO_BUFFER select IIO_TRIGGER help Say yes here to build trigger support for HID sensors. Triggers will be send if all requested attributes were read. If this driver is compiled as a module, it will be named hid-sensor-trigger. endmenu iio/common/hid-sensors/Makefile 0000644 00000000412 14722053666 0012522 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Hid sensor common modules. # obj-$(CONFIG_HID_SENSOR_IIO_COMMON) += hid-sensor-iio-common.o obj-$(CONFIG_HID_SENSOR_IIO_TRIGGER) += hid-sensor-trigger.o hid-sensor-iio-common-y := hid-sensor-attributes.o iio/common/Makefile 0000644 00000000760 14722053666 0010272 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the IIO common modules. # Common modules contains modules, which can be shared among multiple # IIO modules. For example if the trigger processing is common for # multiple IIO modules then this can be moved to a common module # instead of duplicating in each module. # # When adding new entries keep the list in alphabetical order obj-y += cros_ec_sensors/ obj-y += hid-sensors/ obj-y += ms_sensors/ obj-y += ssp_sensors/ obj-y += st_sensors/ iio/common/ssp_sensors/Kconfig 0000644 00000001277 14722053666 0012522 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SSP sensor drivers and commons configuration # menu "SSP Sensor Common" config IIO_SSP_SENSORS_COMMONS tristate "Commons for all SSP Sensor IIO drivers" depends on IIO_SSP_SENSORHUB select IIO_BUFFER select IIO_KFIFO_BUF help Say yes here to build commons for SSP sensors. To compile this as a module, choose M here: the module will be called ssp_iio. config IIO_SSP_SENSORHUB tristate "Samsung Sensorhub driver" depends on SPI select MFD_CORE help SSP driver for sensorhub. If you say yes here you get ssp support for sensorhub. To compile this driver as a module, choose M here: the module will be called sensorhub. endmenu iio/common/ssp_sensors/Makefile 0000644 00000000352 14722053666 0012650 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for SSP sensor drivers and commons. # sensorhub-objs := ssp_dev.o ssp_spi.o obj-$(CONFIG_IIO_SSP_SENSORHUB) += sensorhub.o obj-$(CONFIG_IIO_SSP_SENSORS_COMMONS) += ssp_iio.o iio/temperature/Kconfig 0000644 00000006055 14722053666 0011205 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Temperature sensor drivers # menu "Temperature sensors" config MAXIM_THERMOCOUPLE tristate "Maxim thermocouple sensors" depends on SPI select IIO_BUFFER select IIO_TRIGGERED_BUFFER help If you say yes here you get support for the Maxim series of thermocouple sensors connected via SPI. Supported sensors: * MAX6675 * MAX31855 This driver can also be built as a module. If so, the module will be called maxim_thermocouple. config HID_SENSOR_TEMP tristate "HID Environmental temperature sensor" depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER help Say yes here to build support for the HID SENSOR temperature driver To compile this driver as a module, choose M here: the module will be called hid-sensor-temperature. config MLX90614 tristate "MLX90614 contact-less infrared sensor" depends on I2C help If you say yes here you get support for the Melexis MLX90614 contact-less infrared sensor connected with I2C. This driver can also be built as a module. If so, the module will be called mlx90614. config MLX90632 tristate "MLX90632 contact-less infrared sensor with medical accuracy" depends on I2C select REGMAP_I2C help If you say yes here you get support for the Melexis MLX90632 contact-less infrared sensor with medical accuracy connected with I2C. This driver can also be built as a module. If so, the module will be called mlx90632. config TMP006 tristate "TMP006 infrared thermopile sensor" depends on I2C help If you say yes here you get support for the Texas Instruments TMP006 infrared thermopile sensor. This driver can also be built as a module. If so, the module will be called tmp006. config TMP007 tristate "TMP007 infrared thermopile sensor with Integrated Math Engine" depends on I2C help If you say yes here you get support for the Texas Instruments TMP007 infrared thermopile sensor with Integrated Math Engine. This driver can also be built as a module. If so, the module will be called tmp007. config TSYS01 tristate "Measurement Specialties TSYS01 temperature sensor using I2C bus connection" depends on I2C select IIO_MS_SENSORS_I2C help If you say yes here you get support for the Measurement Specialties TSYS01 I2C temperature sensor. This driver can also be built as a module. If so, the module will be called tsys01. config TSYS02D tristate "Measurement Specialties TSYS02D temperature sensor" depends on I2C select IIO_MS_SENSORS_I2C help If you say yes here you get support for the Measurement Specialties TSYS02D temperature sensor. This driver can also be built as a module. If so, the module will be called tsys02d. config MAX31856 tristate "MAX31856 thermocouple sensor" depends on SPI help If you say yes here you get support for MAX31856 thermocouple sensor chip connected via SPI. This driver can also be built as a module. If so, the module will be called max31856. endmenu iio/temperature/Makefile 0000644 00000000702 14722053666 0011333 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O temperature drivers # obj-$(CONFIG_HID_SENSOR_TEMP) += hid-sensor-temperature.o obj-$(CONFIG_MAXIM_THERMOCOUPLE) += maxim_thermocouple.o obj-$(CONFIG_MAX31856) += max31856.o obj-$(CONFIG_MLX90614) += mlx90614.o obj-$(CONFIG_MLX90632) += mlx90632.o obj-$(CONFIG_TMP006) += tmp006.o obj-$(CONFIG_TMP007) += tmp007.o obj-$(CONFIG_TSYS01) += tsys01.o obj-$(CONFIG_TSYS02D) += tsys02d.o iio/potentiostat/Kconfig 0000644 00000001042 14722053666 0011374 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Potentiostat drivers # # When adding new entries keep the list in alphabetical order menu "Digital potentiostats" config LMP91000 tristate "Texas Instruments LMP91000 potentiostat driver" depends on I2C select REGMAP_I2C select IIO_BUFFER select IIO_BUFFER_CB select IIO_TRIGGERED_BUFFER help Say yes here to build support for the Texas Instruments LMP91000 digital potentiostat chip. To compile this driver as a module, choose M here: the module will be called lmp91000 endmenu iio/potentiostat/Makefile 0000644 00000000303 14722053666 0011530 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for industrial I/O potentiostat drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_LMP91000) += lmp91000.o iio/frequency/Kconfig 0000644 00000002701 14722053666 0010643 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Frequency # Direct Digital Synthesis drivers (DDS) # Clock Distribution device drivers # Phase-Locked Loop (PLL) frequency synthesizers # # When adding new entries keep the list in alphabetical order menu "Frequency Synthesizers DDS/PLL" menu "Clock Generator/Distribution" config AD9523 tristate "Analog Devices AD9523 Low Jitter Clock Generator" depends on SPI help Say yes here to build support for Analog Devices AD9523 Low Jitter Clock Generator. The driver provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad9523. endmenu # # Phase-Locked Loop (PLL) frequency synthesizers # menu "Phase-Locked Loop (PLL) frequency synthesizers" config ADF4350 tristate "Analog Devices ADF4350/ADF4351 Wideband Synthesizers" depends on SPI help Say yes here to build support for Analog Devices ADF4350/ADF4351 Wideband Synthesizers. The driver provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called adf4350. config ADF4371 tristate "Analog Devices ADF4371/ADF4372 Wideband Synthesizers" depends on SPI select REGMAP_SPI help Say yes here to build support for Analog Devices ADF4371 and ADF4372 Wideband Synthesizers. The driver provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called adf4371. endmenu endmenu iio/frequency/Makefile 0000644 00000000353 14722053666 0011001 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile iio/frequency # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_AD9523) += ad9523.o obj-$(CONFIG_ADF4350) += adf4350.o obj-$(CONFIG_ADF4371) += adf4371.o iio/multiplexer/Kconfig 0000644 00000000641 14722053666 0011215 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Multiplexer drivers # # When adding new entries keep the list in alphabetical order menu "Multiplexers" config IIO_MUX tristate "IIO multiplexer driver" select MULTIPLEXER depends on OF || COMPILE_TEST help Say yes here to build support for the IIO multiplexer. To compile this driver as a module, choose M here: the module will be called iio-mux. endmenu iio/multiplexer/Makefile 0000644 00000000300 14722053666 0011342 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for industrial I/O multiplexer drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_IIO_MUX) += iio-mux.o iio/dummy/Kconfig 0000644 00000002117 14722053666 0007776 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Industrial I/O subsystem Dummy Driver configuration # menu "IIO dummy driver" depends on IIO config IIO_DUMMY_EVGEN select IRQ_SIM tristate config IIO_SIMPLE_DUMMY tristate "An example driver with no hardware requirements" depends on IIO_SW_DEVICE help Driver intended mainly as documentation for how to write a driver. May also be useful for testing userspace code without hardware. if IIO_SIMPLE_DUMMY config IIO_SIMPLE_DUMMY_EVENTS bool "Event generation support" select IIO_DUMMY_EVGEN help Add some dummy events to the simple dummy driver. The purpose of this is to generate 'fake' event interrupts thus allowing that driver's code to be as close as possible to that a normal driver talking to hardware. config IIO_SIMPLE_DUMMY_BUFFER bool "Buffered capture support" select IIO_BUFFER select IIO_TRIGGER select IIO_KFIFO_BUF help Add buffered data capture to the simple dummy driver. Buffer handling elements of industrial I/O reference driver. Uses the kfifo buffer. endif # IIO_SIMPLE_DUMMY endmenu iio/dummy/Makefile 0000644 00000000542 14722053666 0010133 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the IIO Dummy Driver # obj-$(CONFIG_IIO_SIMPLE_DUMMY) += iio_dummy.o iio_dummy-y := iio_simple_dummy.o iio_dummy-$(CONFIG_IIO_SIMPLE_DUMMY_EVENTS) += iio_simple_dummy_events.o iio_dummy-$(CONFIG_IIO_SIMPLE_DUMMY_BUFFER) += iio_simple_dummy_buffer.o obj-$(CONFIG_IIO_DUMMY_EVGEN) += iio_dummy_evgen.o iio/imu/st_lsm6dsx/Kconfig 0000644 00000001633 14722053666 0011545 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config IIO_ST_LSM6DSX tristate "ST_LSM6DSx driver for STM 6-axis IMU MEMS sensors" depends on (I2C || SPI || I3C) select IIO_BUFFER select IIO_KFIFO_BUF select IIO_ST_LSM6DSX_I2C if (I2C) select IIO_ST_LSM6DSX_SPI if (SPI_MASTER) select IIO_ST_LSM6DSX_I3C if (I3C) help Say yes here to build support for STMicroelectronics LSM6DSx imu sensor. Supported devices: lsm6ds3, lsm6ds3h, lsm6dsl, lsm6dsm, ism330dlc, lsm6dso, lsm6dsox, asm330lhh, lsm6dsr, lsm6ds3tr-c, ism330dhcx and the accelerometer/gyroscope of lsm9ds1. To compile this driver as a module, choose M here: the module will be called st_lsm6dsx. config IIO_ST_LSM6DSX_I2C tristate depends on IIO_ST_LSM6DSX select REGMAP_I2C config IIO_ST_LSM6DSX_SPI tristate depends on IIO_ST_LSM6DSX select REGMAP_SPI config IIO_ST_LSM6DSX_I3C tristate depends on IIO_ST_LSM6DSX select REGMAP_I3C iio/imu/st_lsm6dsx/Makefile 0000644 00000000501 14722053666 0011673 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only st_lsm6dsx-y := st_lsm6dsx_core.o st_lsm6dsx_buffer.o \ st_lsm6dsx_shub.o obj-$(CONFIG_IIO_ST_LSM6DSX) += st_lsm6dsx.o obj-$(CONFIG_IIO_ST_LSM6DSX_I2C) += st_lsm6dsx_i2c.o obj-$(CONFIG_IIO_ST_LSM6DSX_SPI) += st_lsm6dsx_spi.o obj-$(CONFIG_IIO_ST_LSM6DSX_I3C) += st_lsm6dsx_i3c.o iio/imu/Kconfig 0000644 00000003644 14722053666 0007443 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IIO imu drivers configuration # # When adding new entries keep the list in alphabetical order menu "Inertial measurement units" config ADIS16400 tristate "Analog Devices ADIS16400 and similar IMU SPI driver" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices adis16300, adis16344, adis16350, adis16354, adis16355, adis16360, adis16362, adis16364, adis16365, adis16400 and adis16405 triaxial inertial sensors (adis16400 series also have magnetometers). config ADIS16460 tristate "Analog Devices ADIS16460 and similar IMU driver" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices ADIS16460 inertial sensor. To compile this driver as a module, choose M here: the module will be called adis16460. config ADIS16480 tristate "Analog Devices ADIS16480 and similar IMU driver" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say yes here to build support for Analog Devices ADIS16375, ADIS16480, ADIS16485, ADIS16488 inertial sensors. source "drivers/iio/imu/bmi160/Kconfig" config KMX61 tristate "Kionix KMX61 6-axis accelerometer and magnetometer" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here if you want to build a driver for Kionix KMX61 6-axis accelerometer and magnetometer. To compile this driver as module, choose M here: the module will be called kmx61. source "drivers/iio/imu/inv_mpu6050/Kconfig" source "drivers/iio/imu/st_lsm6dsx/Kconfig" endmenu config IIO_ADIS_LIB tristate help A set of IO helper functions for the Analog Devices ADIS* device family. config IIO_ADIS_LIB_BUFFER bool select IIO_TRIGGERED_BUFFER help A set of buffer helper functions for the Analog Devices ADIS* device family. iio/imu/bmi160/Kconfig 0000644 00000001445 14722053666 0010436 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # BMI160 IMU driver # config BMI160 tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config BMI160_I2C tristate "Bosch BMI160 I2C driver" depends on I2C select BMI160 select REGMAP_I2C help If you say yes here you get support for BMI160 IMU on I2C with accelerometer, gyroscope and external BMG160 magnetometer. This driver can also be built as a module. If so, the module will be called bmi160_i2c. config BMI160_SPI tristate "Bosch BMI160 SPI driver" depends on SPI select BMI160 select REGMAP_SPI help If you say yes here you get support for BMI160 IMU on SPI with accelerometer, gyroscope and external BMG160 magnetometer. This driver can also be built as a module. If so, the module will be called bmi160_spi. iio/imu/bmi160/Makefile 0000644 00000000304 14722053666 0010564 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Bosch BMI160 IMU # obj-$(CONFIG_BMI160) += bmi160_core.o obj-$(CONFIG_BMI160_I2C) += bmi160_i2c.o obj-$(CONFIG_BMI160_SPI) += bmi160_spi.o iio/imu/inv_mpu6050/Kconfig 0000644 00000001627 14722053666 0011432 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # inv-mpu6050 drivers for Invensense MPU devices and combos # config INV_MPU6050_IIO tristate select IIO_BUFFER select IIO_TRIGGERED_BUFFER config INV_MPU6050_I2C tristate "Invensense MPU6050 devices (I2C)" depends on I2C_MUX select INV_MPU6050_IIO select REGMAP_I2C help This driver supports the Invensense MPU6000/6050/6500/6515, MPU9150/9250/9255 and ICM20608/20602 motion tracking devices over I2C. This driver can be built as a module. The module will be called inv-mpu6050-i2c. config INV_MPU6050_SPI tristate "Invensense MPU6050 devices (SPI)" depends on SPI_MASTER select INV_MPU6050_IIO select REGMAP_SPI help This driver supports the Invensense MPU6000/6050/6500/6515, MPU9150/9250/9255 and ICM20608/20602 motion tracking devices over SPI. This driver can be built as a module. The module will be called inv-mpu6050-spi. iio/imu/inv_mpu6050/Makefile 0000644 00000000610 14722053666 0011556 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Invensense MPU6050 device. # obj-$(CONFIG_INV_MPU6050_IIO) += inv-mpu6050.o inv-mpu6050-objs := inv_mpu_core.o inv_mpu_ring.o inv_mpu_trigger.o obj-$(CONFIG_INV_MPU6050_I2C) += inv-mpu6050-i2c.o inv-mpu6050-i2c-objs := inv_mpu_i2c.o inv_mpu_acpi.o obj-$(CONFIG_INV_MPU6050_SPI) += inv-mpu6050-spi.o inv-mpu6050-spi-objs := inv_mpu_spi.o iio/imu/Makefile 0000644 00000001023 14722053666 0007565 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Inertial Measurement Units # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_ADIS16400) += adis16400.o obj-$(CONFIG_ADIS16460) += adis16460.o obj-$(CONFIG_ADIS16480) += adis16480.o adis_lib-y += adis.o adis_lib-$(CONFIG_IIO_ADIS_LIB_BUFFER) += adis_trigger.o adis_lib-$(CONFIG_IIO_ADIS_LIB_BUFFER) += adis_buffer.o obj-$(CONFIG_IIO_ADIS_LIB) += adis_lib.o obj-y += bmi160/ obj-y += inv_mpu6050/ obj-$(CONFIG_KMX61) += kmx61.o obj-y += st_lsm6dsx/ iio/proximity/Kconfig 0000644 00000006617 14722053666 0010720 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Proximity sensors # menu "Lightning sensors" config AS3935 tristate "AS3935 Franklin lightning sensor" select IIO_BUFFER select IIO_TRIGGERED_BUFFER depends on SPI help Say Y here to build SPI interface support for the Austrian Microsystems AS3935 lightning detection sensor. To compile this driver as a module, choose M here: the module will be called as3935 endmenu menu "Proximity and distance sensors" config ISL29501 tristate "Intersil ISL29501 Time Of Flight sensor" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER select IIO_KFIFO_BUF help Say Y here if you want to build a driver for the Intersil ISL29501 Time of Flight sensor. To compile this driver as a module, choose M here: the module will be called isl29501. config LIDAR_LITE_V2 tristate "PulsedLight LIDAR sensor" select IIO_BUFFER select IIO_TRIGGERED_BUFFER depends on I2C help Say Y to build a driver for PulsedLight LIDAR range finding sensor. To compile this driver as a module, choose M here: the module will be called pulsedlight-lite-v2 config MB1232 tristate "MaxSonar I2CXL family ultrasonic sensors" depends on I2C help Say Y to build a driver for the ultrasonic sensors I2CXL of MaxBotix which have an i2c interface. It can be used to measure the distance of objects. Supported types are mb1202, mb1212, mb1222, mb1232, mb1242, mb7040, mb7137 To compile this driver as a module, choose M here: the module will be called mb1232. config RFD77402 tristate "RFD77402 ToF sensor" depends on I2C help Say Y to build a driver for the RFD77402 Time-of-Flight (distance) sensor module with I2C interface. To compile this driver as a module, choose M here: the module will be called rfd77402. config SRF04 tristate "GPIO bitbanged ultrasonic ranger sensor (SRF04, MB1000)" depends on GPIOLIB help Say Y here to build a driver for GPIO bitbanged ultrasonic ranger sensor. This driver can be used to measure the distance of objects. It is using two GPIOs. Actually Supported types are: - Devantech SRF04 - Maxbotix mb1000 - Maxbotix mb1010 - Maxbotix mb1020 - Maxbotix mb1030 - Maxbotix mb1040 To compile this driver as a module, choose M here: the module will be called srf04. config SX9500 tristate "SX9500 Semtech proximity sensor" select IIO_BUFFER select IIO_TRIGGERED_BUFFER select REGMAP_I2C depends on I2C help Say Y here to build a driver for Semtech's SX9500 capacitive proximity/button sensor. To compile this driver as a module, choose M here: the module will be called sx9500. config SRF08 tristate "Devantech SRF02/SRF08/SRF10 ultrasonic ranger sensor" select IIO_BUFFER select IIO_TRIGGERED_BUFFER depends on I2C help Say Y here to build a driver for Devantech SRF02/SRF08/SRF10 ultrasonic ranger sensors with i2c interface. This driver can be used to measure the distance of objects. To compile this driver as a module, choose M here: the module will be called srf08. config VL53L0X_I2C tristate "STMicroelectronics VL53L0X ToF ranger sensor (I2C)" depends on I2C help Say Y here to build a driver for STMicroelectronics VL53L0X ToF ranger sensors with i2c interface. This driver can be used to measure the distance of objects. To compile this driver as a module, choose M here: the module will be called vl53l0x-i2c. endmenu iio/proximity/Makefile 0000644 00000000744 14722053666 0011050 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for IIO proximity sensors # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_AS3935) += as3935.o obj-$(CONFIG_ISL29501) += isl29501.o obj-$(CONFIG_LIDAR_LITE_V2) += pulsedlight-lidar-lite-v2.o obj-$(CONFIG_MB1232) += mb1232.o obj-$(CONFIG_RFD77402) += rfd77402.o obj-$(CONFIG_SRF04) += srf04.o obj-$(CONFIG_SRF08) += srf08.o obj-$(CONFIG_SX9500) += sx9500.o obj-$(CONFIG_VL53L0X_I2C) += vl53l0x-i2c.o iio/pressure/Kconfig 0000644 00000014727 14722053666 0010525 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Pressure drivers # # When adding new entries keep the list in alphabetical order menu "Pressure sensors" config ABP060MG tristate "Honeywell ABP pressure sensor driver" depends on I2C help Say yes here to build support for the Honeywell ABP pressure sensors. To compile this driver as a module, choose M here: the module will be called abp060mg. config BMP280 tristate "Bosch Sensortec BMP180/BMP280 pressure sensor I2C driver" depends on (I2C || SPI_MASTER) select REGMAP select BMP280_I2C if (I2C) select BMP280_SPI if (SPI_MASTER) help Say yes here to build support for Bosch Sensortec BMP180 and BMP280 pressure and temperature sensors. Also supports the BME280 with an additional humidity sensor channel. To compile this driver as a module, choose M here: the core module will be called bmp280 and you will also get bmp280-i2c for I2C and/or bmp280-spi for SPI support. config BMP280_I2C tristate depends on BMP280 depends on I2C select REGMAP_I2C config BMP280_SPI tristate depends on BMP280 depends on SPI_MASTER select REGMAP config IIO_CROS_EC_BARO tristate "ChromeOS EC Barometer Sensor" depends on IIO_CROS_EC_SENSORS_CORE help Say yes here to build support for the Barometer sensor when presented by the ChromeOS EC Sensor hub. To compile this driver as a module, choose M here: the module will be called cros_ec_baro. config DPS310 tristate "Infineon DPS310 pressure and temperature sensor" depends on I2C select REGMAP_I2C help Support for the Infineon DPS310 digital barometric pressure sensor. It can be accessed over I2C bus. This driver can also be built as a module. If so, the module will be called dps310. config HID_SENSOR_PRESS depends on HID_SENSOR_HUB select IIO_BUFFER select IIO_TRIGGERED_BUFFER select HID_SENSOR_IIO_COMMON select HID_SENSOR_IIO_TRIGGER tristate "HID PRESS" help Say yes here to build support for the HID SENSOR Pressure driver To compile this driver as a module, choose M here: the module will be called hid-sensor-press. config HP03 tristate "Hope RF HP03 temperature and pressure sensor driver" depends on I2C select REGMAP_I2C help Say yes here to build support for Hope RF HP03 pressure and temperature sensor. To compile this driver as a module, choose M here: the module will be called hp03. config MPL115 tristate config MPL115_I2C tristate "Freescale MPL115A2 pressure sensor driver" depends on I2C select MPL115 help Say yes here to build support for the Freescale MPL115A2 pressure sensor connected via I2C. To compile this driver as a module, choose M here: the module will be called mpl115_i2c. config MPL115_SPI tristate "Freescale MPL115A1 pressure sensor driver" depends on SPI_MASTER select MPL115 help Say yes here to build support for the Freescale MPL115A1 pressure sensor connected via SPI. To compile this driver as a module, choose M here: the module will be called mpl115_spi. config MPL3115 tristate "Freescale MPL3115A2 pressure sensor driver" depends on I2C select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say yes here to build support for the Freescale MPL3115A2 pressure sensor / altimeter. To compile this driver as a module, choose M here: the module will be called mpl3115. config MS5611 tristate "Measurement Specialties MS5611 pressure sensor driver" select IIO_BUFFER select IIO_TRIGGERED_BUFFER help Say Y here to build support for the Measurement Specialties MS5611, MS5607 pressure and temperature sensors. To compile this driver as a module, choose M here: the module will be called ms5611_core. config MS5611_I2C tristate "support I2C bus connection" depends on I2C && MS5611 help Say Y here to build I2C bus support for MS5611. To compile this driver as a module, choose M here: the module will be called ms5611_i2c. config MS5611_SPI tristate "support SPI bus connection" depends on SPI_MASTER && MS5611 help Say Y here to build SPI bus support for MS5611. To compile this driver as a module, choose M here: the module will be called ms5611_spi. config MS5637 tristate "Measurement Specialties MS5637 pressure & temperature sensor" depends on I2C select IIO_MS_SENSORS_I2C help If you say yes here you get support for the Measurement Specialties MS5637 pressure and temperature sensor. This driver is also used for MS8607 temperature, pressure & humidity sensor This driver can also be built as a module. If so, the module will be called ms5637. config IIO_ST_PRESS tristate "STMicroelectronics pressure sensor Driver" depends on (I2C || SPI_MASTER) && SYSFS select IIO_ST_SENSORS_CORE select IIO_ST_PRESS_I2C if (I2C) select IIO_ST_PRESS_SPI if (SPI_MASTER) select IIO_TRIGGERED_BUFFER if (IIO_BUFFER) help Say yes here to build support for STMicroelectronics pressure sensors: LPS001WP, LPS25H, LPS331AP, LPS22HB, LPS22HH. This driver can also be built as a module. If so, these modules will be created: - st_pressure (core functions for the driver [it is mandatory]); - st_pressure_i2c (necessary for the I2C devices [optional*]); - st_pressure_spi (necessary for the SPI devices [optional*]); (*) one of these is necessary to do something. config IIO_ST_PRESS_I2C tristate depends on IIO_ST_PRESS depends on IIO_ST_SENSORS_I2C config IIO_ST_PRESS_SPI tristate depends on IIO_ST_PRESS depends on IIO_ST_SENSORS_SPI config T5403 tristate "EPCOS T5403 digital barometric pressure sensor driver" depends on I2C help Say yes here to build support for the EPCOS T5403 pressure sensor connected via I2C. To compile this driver as a module, choose M here: the module will be called t5403. config HP206C tristate "HOPERF HP206C precision barometer and altimeter sensor" depends on I2C help Say yes here to build support for the HOPREF HP206C precision barometer and altimeter sensor. This driver can also be built as a module. If so, the module will be called hp206c. config ZPA2326 tristate "Murata ZPA2326 pressure sensor driver" select IIO_BUFFER select IIO_TRIGGERED_BUFFER select REGMAP select ZPA2326_I2C if I2C select ZPA2326_SPI if SPI_MASTER help Say Y here to build support for the Murata ZPA2326 pressure and temperature sensor. To compile this driver as a module, choose M here: the module will be called zpa2326. config ZPA2326_I2C tristate select REGMAP_I2C config ZPA2326_SPI tristate select REGMAP_SPI endmenu iio/pressure/Makefile 0000644 00000002332 14722053666 0010647 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O pressure drivers # # When adding new entries keep the list in alphabetical order obj-$(CONFIG_ABP060MG) += abp060mg.o obj-$(CONFIG_BMP280) += bmp280.o bmp280-objs := bmp280-core.o bmp280-regmap.o obj-$(CONFIG_BMP280_I2C) += bmp280-i2c.o obj-$(CONFIG_BMP280_SPI) += bmp280-spi.o obj-$(CONFIG_DPS310) += dps310.o obj-$(CONFIG_IIO_CROS_EC_BARO) += cros_ec_baro.o obj-$(CONFIG_HID_SENSOR_PRESS) += hid-sensor-press.o obj-$(CONFIG_HP03) += hp03.o obj-$(CONFIG_MPL115) += mpl115.o obj-$(CONFIG_MPL115_I2C) += mpl115_i2c.o obj-$(CONFIG_MPL115_SPI) += mpl115_spi.o obj-$(CONFIG_MPL3115) += mpl3115.o obj-$(CONFIG_MS5611) += ms5611_core.o obj-$(CONFIG_MS5611_I2C) += ms5611_i2c.o obj-$(CONFIG_MS5611_SPI) += ms5611_spi.o obj-$(CONFIG_MS5637) += ms5637.o obj-$(CONFIG_IIO_ST_PRESS) += st_pressure.o st_pressure-y := st_pressure_core.o st_pressure-$(CONFIG_IIO_BUFFER) += st_pressure_buffer.o obj-$(CONFIG_T5403) += t5403.o obj-$(CONFIG_HP206C) += hp206c.o obj-$(CONFIG_ZPA2326) += zpa2326.o obj-$(CONFIG_ZPA2326_I2C) += zpa2326_i2c.o obj-$(CONFIG_ZPA2326_SPI) += zpa2326_spi.o obj-$(CONFIG_IIO_ST_PRESS_I2C) += st_pressure_i2c.o obj-$(CONFIG_IIO_ST_PRESS_SPI) += st_pressure_spi.o block/mtip32xx/Kconfig 0000644 00000000370 14722053666 0010652 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # mtip32xx device driver configuration # config BLK_DEV_PCIESSD_MTIP32XX tristate "Block Device Driver for Micron PCIe SSDs" depends on PCI help This enables the block driver for Micron PCIe SSDs. block/mtip32xx/Makefile 0000644 00000000232 14722053666 0011004 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Block device driver for Micron PCIe SSD # obj-$(CONFIG_BLK_DEV_PCIESSD_MTIP32XX) += mtip32xx.o block/drbd/Kconfig 0000644 00000004633 14722053666 0010075 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # DRBD device driver configuration # comment "DRBD disabled because PROC_FS or INET not selected" depends on PROC_FS='n' || INET='n' config BLK_DEV_DRBD tristate "DRBD Distributed Replicated Block Device support" depends on PROC_FS && INET select LRU_CACHE select LIBCRC32C help NOTE: In order to authenticate connections you have to select CRYPTO_HMAC and a hash function as well. DRBD is a shared-nothing, synchronously replicated block device. It is designed to serve as a building block for high availability clusters and in this context, is a "drop-in" replacement for shared storage. Simplistically, you could see it as a network RAID 1. Each minor device has a role, which can be 'primary' or 'secondary'. On the node with the primary device the application is supposed to run and to access the device (/dev/drbdX). Every write is sent to the local 'lower level block device' and, across the network, to the node with the device in 'secondary' state. The secondary device simply writes the data to its lower level block device. DRBD can also be used in dual-Primary mode (device writable on both nodes), which means it can exhibit shared disk semantics in a shared-nothing cluster. Needless to say, on top of dual-Primary DRBD utilizing a cluster file system is necessary to maintain for cache coherency. For automatic failover you need a cluster manager (e.g. heartbeat). See also: http://www.drbd.org/, http://www.linux-ha.org If unsure, say N. config DRBD_FAULT_INJECTION bool "DRBD fault injection" depends on BLK_DEV_DRBD help Say Y here if you want to simulate IO errors, in order to test DRBD's behavior. The actual simulation of IO errors is done by writing 3 values to /sys/module/drbd/parameters/ enable_faults: bitmask of... 1 meta data write 2 read 4 resync data write 8 read 16 data write 32 data read 64 read ahead 128 kmalloc of bitmap 256 allocation of peer_requests 512 insert data corruption on receiving side fault_devs: bitmask of minor numbers fault_rate: frequency in percent Example: Simulate data write errors on /dev/drbd0 with a probability of 5%. echo 16 > /sys/module/drbd/parameters/enable_faults echo 1 > /sys/module/drbd/parameters/fault_devs echo 5 > /sys/module/drbd/parameters/fault_rate If unsure, say N. block/drbd/Makefile 0000644 00000000507 14722053666 0010226 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 drbd-y := drbd_bitmap.o drbd_proc.o drbd-y += drbd_worker.o drbd_receiver.o drbd_req.o drbd_actlog.o drbd-y += drbd_main.o drbd_strings.o drbd_nl.o drbd-y += drbd_interval.o drbd_state.o drbd-y += drbd_nla.o drbd-$(CONFIG_DEBUG_FS) += drbd_debugfs.o obj-$(CONFIG_BLK_DEV_DRBD) += drbd.o block/paride/Kconfig 0000644 00000031430 14722053666 0010421 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # PARIDE configuration # # PARIDE doesn't need PARPORT, but if PARPORT is configured as a module, # PARIDE must also be a module. # PARIDE only supports PC style parports. Tough for USB or other parports... comment "Parallel IDE high-level drivers" depends on PARIDE config PARIDE_PD tristate "Parallel port IDE disks" depends on PARIDE help This option enables the high-level driver for IDE-type disk devices connected through a parallel port. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port IDE driver, otherwise you should answer M to build it as a loadable module. The module will be called pd. You must also have at least one parallel port protocol driver in your system. Among the devices supported by this driver are the SyQuest EZ-135, EZ-230 and SparQ drives, the Avatar Shark and the backpack hard drives from MicroSolutions. config PARIDE_PCD tristate "Parallel port ATAPI CD-ROMs" depends on PARIDE select CDROM select BLK_SCSI_REQUEST # only for the generic cdrom code ---help--- This option enables the high-level driver for ATAPI CD-ROM devices connected through a parallel port. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port ATAPI CD-ROM driver, otherwise you should answer M to build it as a loadable module. The module will be called pcd. You must also have at least one parallel port protocol driver in your system. Among the devices supported by this driver are the MicroSolutions backpack CD-ROM drives and the Freecom Power CD. If you have such a CD-ROM drive, you should also say Y or M to "ISO 9660 CD-ROM file system support" below, because that's the file system used on CD-ROMs. config PARIDE_PF tristate "Parallel port ATAPI disks" depends on PARIDE help This option enables the high-level driver for ATAPI disk devices connected through a parallel port. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port ATAPI disk driver, otherwise you should answer M to build it as a loadable module. The module will be called pf. You must also have at least one parallel port protocol driver in your system. Among the devices supported by this driver are the MicroSolutions backpack PD/CD drive and the Imation Superdisk LS-120 drive. config PARIDE_PT tristate "Parallel port ATAPI tapes" depends on PARIDE help This option enables the high-level driver for ATAPI tape devices connected through a parallel port. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port ATAPI disk driver, otherwise you should answer M to build it as a loadable module. The module will be called pt. You must also have at least one parallel port protocol driver in your system. Among the devices supported by this driver is the parallel port version of the HP 5GB drive. config PARIDE_PG tristate "Parallel port generic ATAPI devices" depends on PARIDE ---help--- This option enables a special high-level driver for generic ATAPI devices connected through a parallel port. The driver allows user programs, such as cdrtools, to send ATAPI commands directly to a device. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the parallel port generic ATAPI driver, otherwise you should answer M to build it as a loadable module. The module will be called pg. You must also have at least one parallel port protocol driver in your system. This driver implements an API loosely related to the generic SCSI driver. See <file:include/linux/pg.h>. for details. You can obtain the most recent version of cdrtools from <ftp://ftp.berlios.de/pub/cdrecord/>. Versions 1.6.1a3 and later fully support this driver. comment "Parallel IDE protocol modules" depends on PARIDE config PARIDE_ATEN tristate "ATEN EH-100 protocol" depends on PARIDE help This option enables support for the ATEN EH-100 parallel port IDE protocol. This protocol is used in some inexpensive low performance parallel port kits made in Hong Kong. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called aten. You must also have a high-level driver for the type of device that you want to support. config PARIDE_BPCK tristate "MicroSolutions backpack (Series 5) protocol" depends on PARIDE ---help--- This option enables support for the Micro Solutions BACKPACK parallel port Series 5 IDE protocol. (Most BACKPACK drives made before 1999 were Series 5) Series 5 drives will NOT always have the Series noted on the bottom of the drive. Series 6 drivers will. In other words, if your BACKPACK drive doesn't say "Series 6" on the bottom, enable this option. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called bpck. You must also have a high-level driver for the type of device that you want to support. config PARIDE_BPCK6 tristate "MicroSolutions backpack (Series 6) protocol" depends on PARIDE && !64BIT ---help--- This option enables support for the Micro Solutions BACKPACK parallel port Series 6 IDE protocol. (Most BACKPACK drives made after 1999 were Series 6) Series 6 drives will have the Series noted on the bottom of the drive. Series 5 drivers don't always have it noted. In other words, if your BACKPACK drive says "Series 6" on the bottom, enable this option. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called bpck6. You must also have a high-level driver for the type of device that you want to support. config PARIDE_COMM tristate "DataStor Commuter protocol" depends on PARIDE help This option enables support for the Commuter parallel port IDE protocol from DataStor. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called comm. You must also have a high-level driver for the type of device that you want to support. config PARIDE_DSTR tristate "DataStor EP-2000 protocol" depends on PARIDE help This option enables support for the EP-2000 parallel port IDE protocol from DataStor. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called dstr. You must also have a high-level driver for the type of device that you want to support. config PARIDE_FIT2 tristate "FIT TD-2000 protocol" depends on PARIDE help This option enables support for the TD-2000 parallel port IDE protocol from Fidelity International Technology. This is a simple (low speed) adapter that is used in some portable hard drives. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called ktti. You must also have a high-level driver for the type of device that you want to support. config PARIDE_FIT3 tristate "FIT TD-3000 protocol" depends on PARIDE help This option enables support for the TD-3000 parallel port IDE protocol from Fidelity International Technology. This protocol is used in newer models of their portable disk, CD-ROM and PD/CD devices. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called fit3. You must also have a high-level driver for the type of device that you want to support. config PARIDE_EPAT tristate "Shuttle EPAT/EPEZ protocol" depends on PARIDE help This option enables support for the EPAT parallel port IDE protocol. EPAT is a parallel port IDE adapter manufactured by Shuttle Technology and widely used in devices from major vendors such as Hewlett-Packard, SyQuest, Imation and Avatar. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called epat. You must also have a high-level driver for the type of device that you want to support. config PARIDE_EPATC8 bool "Support c7/c8 chips" depends on PARIDE_EPAT help This option enables support for the newer Shuttle EP1284 (aka c7 and c8) chip. You need this if you are using any recent Imation SuperDisk (LS-120) drive. config PARIDE_EPIA tristate "Shuttle EPIA protocol" depends on PARIDE help This option enables support for the (obsolete) EPIA parallel port IDE protocol from Shuttle Technology. This adapter can still be found in some no-name kits. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called epia. You must also have a high-level driver for the type of device that you want to support. config PARIDE_FRIQ tristate "Freecom IQ ASIC-2 protocol" depends on PARIDE help This option enables support for version 2 of the Freecom IQ parallel port IDE adapter. This adapter is used by the Maxell Superdisk drive. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called friq. You must also have a high-level driver for the type of device that you want to support. config PARIDE_FRPW tristate "FreeCom power protocol" depends on PARIDE help This option enables support for the Freecom power parallel port IDE protocol. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called frpw. You must also have a high-level driver for the type of device that you want to support. config PARIDE_KBIC tristate "KingByte KBIC-951A/971A protocols" depends on PARIDE help This option enables support for the KBIC-951A and KBIC-971A parallel port IDE protocols from KingByte Information Corp. KingByte's adapters appear in many no-name portable disk and CD-ROM products, especially in Europe. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called kbic. You must also have a high-level driver for the type of device that you want to support. config PARIDE_KTTI tristate "KT PHd protocol" depends on PARIDE help This option enables support for the "PHd" parallel port IDE protocol from KT Technology. This is a simple (low speed) adapter that is used in some 2.5" portable hard drives. If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called ktti. You must also have a high-level driver for the type of device that you want to support. config PARIDE_ON20 tristate "OnSpec 90c20 protocol" depends on PARIDE help This option enables support for the (obsolete) 90c20 parallel port IDE protocol from OnSpec (often marketed under the ValuStore brand name). If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called on20. You must also have a high-level driver for the type of device that you want to support. config PARIDE_ON26 tristate "OnSpec 90c26 protocol" depends on PARIDE help This option enables support for the 90c26 parallel port IDE protocol from OnSpec Electronics (often marketed under the ValuStore brand name). If you chose to build PARIDE support into your kernel, you may answer Y here to build in the protocol driver, otherwise you should answer M to build it as a loadable module. The module will be called on26. You must also have a high-level driver for the type of device that you want to support. # block/paride/Makefile 0000644 00000001664 14722053666 0010564 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Parallel port IDE device drivers. # # 7 October 2000, Bartlomiej Zolnierkiewicz <bkz@linux-ide.org> # Rewritten to use lists instead of if-statements. # obj-$(CONFIG_PARIDE) += paride.o obj-$(CONFIG_PARIDE_ATEN) += aten.o obj-$(CONFIG_PARIDE_BPCK) += bpck.o obj-$(CONFIG_PARIDE_COMM) += comm.o obj-$(CONFIG_PARIDE_DSTR) += dstr.o obj-$(CONFIG_PARIDE_KBIC) += kbic.o obj-$(CONFIG_PARIDE_EPAT) += epat.o obj-$(CONFIG_PARIDE_EPIA) += epia.o obj-$(CONFIG_PARIDE_FRPW) += frpw.o obj-$(CONFIG_PARIDE_FRIQ) += friq.o obj-$(CONFIG_PARIDE_FIT2) += fit2.o obj-$(CONFIG_PARIDE_FIT3) += fit3.o obj-$(CONFIG_PARIDE_ON20) += on20.o obj-$(CONFIG_PARIDE_ON26) += on26.o obj-$(CONFIG_PARIDE_KTTI) += ktti.o obj-$(CONFIG_PARIDE_BPCK6) += bpck6.o obj-$(CONFIG_PARIDE_PD) += pd.o obj-$(CONFIG_PARIDE_PCD) += pcd.o obj-$(CONFIG_PARIDE_PF) += pf.o obj-$(CONFIG_PARIDE_PT) += pt.o obj-$(CONFIG_PARIDE_PG) += pg.o block/Kconfig 0000644 00000041233 14722053666 0007157 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Block device driver configuration # menuconfig BLK_DEV bool "Block devices" depends on BLOCK default y ---help--- Say Y here to get to see options for various different block device drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled; only do this if you know what you are doing. if BLK_DEV config BLK_DEV_NULL_BLK tristate "Null test block driver" select CONFIGFS_FS config BLK_DEV_NULL_BLK_FAULT_INJECTION bool "Support fault injection for Null test block driver" depends on BLK_DEV_NULL_BLK && FAULT_INJECTION config BLK_DEV_FD tristate "Normal floppy disk support" depends on ARCH_MAY_HAVE_PC_FDC ---help--- If you want to use the floppy disk drive(s) of your PC under Linux, say Y. Information about this driver, especially important for IBM Thinkpad users, is contained in <file:Documentation/admin-guide/blockdev/floppy.rst>. That file also contains the location of the Floppy driver FAQ as well as location of the fdutils package used to configure additional parameters of the driver at run time. To compile this driver as a module, choose M here: the module will be called floppy. config BLK_DEV_FD_RAWCMD bool "Support for raw floppy disk commands (DEPRECATED)" depends on BLK_DEV_FD help If you want to use actual physical floppies and expect to do special low-level hardware accesses to them (access and use non-standard formats, for example), then enable this. Note that the code enabled by this option is rarely used and might be unstable or insecure, and distros should not enable it. Note: FDRAWCMD is deprecated and will be removed from the kernel in the near future. If unsure, say N. config AMIGA_FLOPPY tristate "Amiga floppy support" depends on AMIGA config ATARI_FLOPPY tristate "Atari floppy support" depends on ATARI config MAC_FLOPPY tristate "Support for PowerMac floppy" depends on PPC_PMAC && !PPC_PMAC64 help If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple) floppy controller, say Y here. Most commonly found in PowerMacs. config BLK_DEV_SWIM tristate "Support for SWIM Macintosh floppy" depends on M68K && MAC help You should select this option if you want floppy support and you don't have a II, IIfx, Q900, Q950 or AV series. config AMIGA_Z2RAM tristate "Amiga Zorro II ramdisk support" depends on ZORRO help This enables support for using Chip RAM and Zorro II RAM as a ramdisk or as a swap partition. Say Y if you want to include this driver in the kernel. To compile this driver as a module, choose M here: the module will be called z2ram. config CDROM tristate select BLK_SCSI_REQUEST config GDROM tristate "SEGA Dreamcast GD-ROM drive" depends on SH_DREAMCAST select CDROM help A standard SEGA Dreamcast comes with a modified CD ROM drive called a "GD-ROM" by SEGA to signify it is capable of reading special disks with up to 1 GB of data. This drive will also read standard CD ROM disks. Select this option to access any disks in your GD ROM drive. Most users will want to say "Y" here. You can also build this as a module which will be called gdrom. config PARIDE tristate "Parallel port IDE device support" depends on PARPORT_PC ---help--- There are many external CD-ROM and disk devices that connect through your computer's parallel port. Most of them are actually IDE devices using a parallel port IDE adapter. This option enables the PARIDE subsystem which contains drivers for many of these external drives. Read <file:Documentation/admin-guide/blockdev/paride.rst> for more information. If you have said Y to the "Parallel-port support" configuration option, you may share a single port between your printer and other parallel port devices. Answer Y to build PARIDE support into your kernel, or M if you would like to build it as a loadable module. If your parallel port support is in a loadable module, you must build PARIDE as a module. If you built PARIDE support into your kernel, you may still build the individual protocol modules and high-level drivers as loadable modules. If you build this support as a module, it will be called paride. To use the PARIDE support, you must say Y or M here and also to at least one high-level driver (e.g. "Parallel port IDE disks", "Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and to at least one protocol driver (e.g. "ATEN EH-100 protocol", "MicroSolutions backpack protocol", "DataStor Commuter protocol" etc.). source "drivers/block/paride/Kconfig" source "drivers/block/mtip32xx/Kconfig" source "drivers/block/zram/Kconfig" config BLK_DEV_UMEM tristate "Micro Memory MM5415 Battery Backed RAM support" depends on PCI ---help--- Saying Y here will include support for the MM5415 family of battery backed (Non-volatile) RAM cards. <http://www.umem.com/> The cards appear as block devices that can be partitioned into as many as 15 partitions. To compile this driver as a module, choose M here: the module will be called umem. The umem driver has not yet been allocated a MAJOR number, so one is chosen dynamically. config BLK_DEV_UBD bool "Virtual block device" depends on UML ---help--- The User-Mode Linux port includes a driver called UBD which will let you access arbitrary files on the host computer as block devices. Unless you know that you do not need such virtual block devices say Y here. config BLK_DEV_UBD_SYNC bool "Always do synchronous disk IO for UBD" depends on BLK_DEV_UBD ---help--- Writes to the virtual block device are not immediately written to the host's disk; this may cause problems if, for example, the User-Mode Linux 'Virtual Machine' uses a journalling filesystem and the host computer crashes. Synchronous operation (i.e. always writing data to the host's disk immediately) is configurable on a per-UBD basis by using a special kernel command line option. Alternatively, you can say Y here to turn on synchronous operation by default for all block devices. If you're running a journalling file system (like reiserfs, for example) in your virtual machine, you will want to say Y here. If you care for the safety of the data in your virtual machine, Y is a wise choice too. In all other cases (for example, if you're just playing around with User-Mode Linux) you can choose N. config BLK_DEV_COW_COMMON bool default BLK_DEV_UBD config BLK_DEV_LOOP tristate "Loopback device support" ---help--- Saying Y here will allow you to use a regular file as a block device; you can then create a file system on that block device and mount it just as you would mount other block devices such as hard drive partitions, CD-ROM drives or floppy drives. The loop devices are block special device files with major number 7 and typically called /dev/loop0, /dev/loop1 etc. This is useful if you want to check an ISO 9660 file system before burning the CD, or if you want to use floppy images without first writing them to floppy. Furthermore, some Linux distributions avoid the need for a dedicated Linux partition by keeping their complete root file system inside a DOS FAT file using this loop device driver. To use the loop device, you need the losetup utility, found in the util-linux package, see <https://www.kernel.org/pub/linux/utils/util-linux/>. The loop device driver can also be used to "hide" a file system in a disk partition, floppy, or regular file, either using encryption (scrambling the data) or steganography (hiding the data in the low bits of, say, a sound file). This is also safe if the file resides on a remote file server. There are several ways of encrypting disks. Some of these require kernel patches. The vanilla kernel offers the cryptoloop option and a Device Mapper target (which is superior, as it supports all file systems). If you want to use the cryptoloop, say Y to both LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12 or later) version of util-linux. Additionally, be aware that the cryptoloop is not safe for storing journaled filesystems. Note that this loop device has nothing to do with the loopback device used for network connections from the machine to itself. To compile this driver as a module, choose M here: the module will be called loop. Most users will answer N here. config BLK_DEV_LOOP_MIN_COUNT int "Number of loop devices to pre-create at init time" depends on BLK_DEV_LOOP default 8 help Static number of loop devices to be unconditionally pre-created at init time. This default value can be overwritten on the kernel command line or with module-parameter loop.max_loop. The historic default is 8. If a late 2011 version of losetup(8) is used, it can be set to 0, since needed loop devices can be dynamically allocated with the /dev/loop-control interface. config BLK_DEV_CRYPTOLOOP tristate "Cryptoloop Support (DEPRECATED)" select CRYPTO select CRYPTO_CBC depends on BLK_DEV_LOOP ---help--- Say Y here if you want to be able to use the ciphers that are provided by the CryptoAPI as loop transformation. This might be used as hard disk encryption. WARNING: This device is not safe for journaled file systems like ext3 or Reiserfs. Please use the Device Mapper crypto module instead, which can be configured to be on-disk compatible with the cryptoloop device. cryptoloop support will be removed in Linux 5.16. source "drivers/block/drbd/Kconfig" config BLK_DEV_NBD tristate "Network block device support" depends on NET ---help--- Saying Y here will allow your computer to be a client for network block devices, i.e. it will be able to use block devices exported by servers (mount file systems on them etc.). Communication between client and server works over TCP/IP networking, but to the client program this is hidden: it looks like a regular local file access to a block device special file such as /dev/nd0. Network block devices also allows you to run a block-device in userland (making server and client physically the same computer, communicating using the loopback network device). Read <file:Documentation/admin-guide/blockdev/nbd.rst> for more information, especially about where to find the server code, which runs in user space and does not need special kernel support. Note that this has nothing to do with the network file systems NFS or Coda; you can say N here even if you intend to use NFS or Coda. To compile this driver as a module, choose M here: the module will be called nbd. If unsure, say N. config BLK_DEV_SKD tristate "STEC S1120 Block Driver" depends on PCI depends on 64BIT ---help--- Saying Y or M here will enable support for the STEC, Inc. S1120 PCIe SSD. Use device /dev/skd$N amd /dev/skd$Np$M. config BLK_DEV_RAM tristate "RAM block device support" ---help--- Saying Y here will allow you to use a portion of your RAM memory as a block device, so that you can make file systems on it, read and write to it and do all the other things that you can do with normal block devices (such as hard drives). It is usually used to load and store a copy of a minimal root file system off of a floppy into RAM during the initial install of Linux. Note that the kernel command line option "ramdisk=XX" is now obsolete. For details, read <file:Documentation/admin-guide/blockdev/ramdisk.rst>. To compile this driver as a module, choose M here: the module will be called brd. An alias "rd" has been defined for historical reasons. Most normal users won't need the RAM disk functionality, and can thus say N here. config BLK_DEV_RAM_COUNT int "Default number of RAM disks" default "16" depends on BLK_DEV_RAM help The default value is 16 RAM disks. Change this if you know what you are doing. If you boot from a filesystem that needs to be extracted in memory, you will need at least one RAM disk (e.g. root on cramfs). config BLK_DEV_RAM_SIZE int "Default RAM disk size (kbytes)" depends on BLK_DEV_RAM default "4096" help The default value is 4096 kilobytes. Only change this if you know what you are doing. config CDROM_PKTCDVD tristate "Packet writing on CD/DVD media (DEPRECATED)" depends on !UML select CDROM select BLK_SCSI_REQUEST help Note: This driver is deprecated and will be removed from the kernel in the near future! If you have a CDROM/DVD drive that supports packet writing, say Y to include support. It should work with any MMC/Mt Fuji compliant ATAPI or SCSI drive, which is just about any newer DVD/CD writer. Currently only writing to CD-RW, DVD-RW, DVD+RW and DVDRAM discs is possible. DVD-RW disks must be in restricted overwrite mode. See the file <file:Documentation/cdrom/packet-writing.rst> for further information on the use of this driver. To compile this driver as a module, choose M here: the module will be called pktcdvd. config CDROM_PKTCDVD_BUFFERS int "Free buffers for data gathering" depends on CDROM_PKTCDVD default "8" help This controls the maximum number of active concurrent packets. More concurrent packets can increase write performance, but also require more memory. Each concurrent packet will require approximately 64Kb of non-swappable kernel memory, memory which will be allocated when a disc is opened for writing. config CDROM_PKTCDVD_WCACHE bool "Enable write caching" depends on CDROM_PKTCDVD help If enabled, write caching will be set for the CD-R/W device. For now this option is dangerous unless the CD-RW media is known good, as we don't do deferred write error handling yet. config ATA_OVER_ETH tristate "ATA over Ethernet support" depends on NET help This driver provides Support for ATA over Ethernet block devices like the Coraid EtherDrive (R) Storage Blade. config SUNVDC tristate "Sun Virtual Disk Client support" depends on SUN_LDOMS help Support for virtual disk devices as a client under Sun Logical Domains. source "drivers/s390/block/Kconfig" config XILINX_SYSACE tristate "Xilinx SystemACE support" depends on 4xx || MICROBLAZE help Include support for the Xilinx SystemACE CompactFlash interface config XEN_BLKDEV_FRONTEND tristate "Xen virtual block device support" depends on XEN default y select XEN_XENBUS_FRONTEND help This driver implements the front-end of the Xen virtual block device driver. It communicates with a back-end driver in another domain which drives the actual block device. config XEN_BLKDEV_BACKEND tristate "Xen block-device backend driver" depends on XEN_BACKEND help The block-device backend driver allows the kernel to export its block devices to other guests via a high-performance shared-memory interface. The corresponding Linux frontend driver is enabled by the CONFIG_XEN_BLKDEV_FRONTEND configuration option. The backend driver attaches itself to a any block device specified in the XenBus configuration. There are no limits to what the block device as long as it has a major and minor. If you are compiling a kernel to run in a Xen block backend driver domain (often this is domain 0) you should say Y here. To compile this driver as a module, chose M here: the module will be called xen-blkback. config VIRTIO_BLK tristate "Virtio block driver" depends on VIRTIO ---help--- This is the virtual block driver for virtio. It can be used with QEMU based VMMs (like KVM or Xen). Say Y or M. config VIRTIO_BLK_SCSI bool "SCSI passthrough request for the Virtio block driver" depends on VIRTIO_BLK select BLK_SCSI_REQUEST ---help--- Enable support for SCSI passthrough (e.g. the SG_IO ioctl) on virtio-blk devices. This is only supported for the legacy virtio protocol and not enabled by default by any hypervisor. You probably want to use virtio-scsi instead. config BLK_DEV_RBD tristate "Rados block device (RBD)" depends on INET && BLOCK select CEPH_LIB select LIBCRC32C select CRYPTO_AES select CRYPTO help Say Y here if you want include the Rados block device, which stripes a block device over objects stored in the Ceph distributed object store. More information at http://ceph.newdream.net/. If unsure, say N. config BLK_DEV_RSXX tristate "IBM Flash Adapter 900GB Full Height PCIe Device Driver" depends on PCI select CRC32 help Device driver for IBM's high speed PCIe SSD storage device: Flash Adapter 900GB Full Height. To compile this driver as a module, choose M here: the module will be called rsxx. endif # BLK_DEV block/aoe/Makefile 0000644 00000000262 14722053666 0010055 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for ATA over Ethernet # obj-$(CONFIG_ATA_OVER_ETH) += aoe.o aoe-y := aoeblk.o aoechr.o aoecmd.o aoedev.o aoemain.o aoenet.o block/zram/Kconfig 0000644 00000002656 14722053666 0010136 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config ZRAM tristate "Compressed RAM block device support" depends on BLOCK && SYSFS && ZSMALLOC && CRYPTO select CRYPTO_LZO help Creates virtual block devices called /dev/zramX (X = 0, 1, ...). Pages written to these disks are compressed and stored in memory itself. These disks allow very fast I/O and compression provides good amounts of memory savings. It has several use cases, for example: /tmp storage, use as swap disks and maybe many more. See Documentation/admin-guide/blockdev/zram.rst for more information. config ZRAM_WRITEBACK bool "Write back incompressible or idle page to backing device" depends on ZRAM help With incompressible page, there is no memory saving to keep it in memory. Instead, write it out to backing device. For this feature, admin should set up backing device via /sys/block/zramX/backing_dev. With /sys/block/zramX/{idle,writeback}, application could ask idle page's writeback to the backing device to save in memory. See Documentation/admin-guide/blockdev/zram.rst for more information. config ZRAM_MEMORY_TRACKING bool "Track zRam block status" depends on ZRAM && DEBUG_FS help With this feature, admin can track the state of allocated blocks of zRAM. Admin could see the information via /sys/kernel/debug/zram/zramX/block_state. See Documentation/admin-guide/blockdev/zram.rst for more information. block/zram/Makefile 0000644 00000000143 14722053666 0010260 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only zram-y := zcomp.o zram_drv.o obj-$(CONFIG_ZRAM) += zram.o block/Makefile 0000644 00000002533 14722053666 0007314 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel block device drivers. # # 12 June 2000, Christoph Hellwig <hch@infradead.org> # Rewritten to use lists instead of if-statements. # obj-$(CONFIG_MAC_FLOPPY) += swim3.o obj-$(CONFIG_BLK_DEV_SWIM) += swim_mod.o obj-$(CONFIG_BLK_DEV_FD) += floppy.o obj-$(CONFIG_AMIGA_FLOPPY) += amiflop.o obj-$(CONFIG_PS3_DISK) += ps3disk.o obj-$(CONFIG_PS3_VRAM) += ps3vram.o obj-$(CONFIG_ATARI_FLOPPY) += ataflop.o obj-$(CONFIG_AMIGA_Z2RAM) += z2ram.o obj-$(CONFIG_BLK_DEV_RAM) += brd.o obj-$(CONFIG_BLK_DEV_LOOP) += loop.o obj-$(CONFIG_XILINX_SYSACE) += xsysace.o obj-$(CONFIG_CDROM_PKTCDVD) += pktcdvd.o obj-$(CONFIG_SUNVDC) += sunvdc.o obj-$(CONFIG_BLK_DEV_SKD) += skd.o obj-$(CONFIG_BLK_DEV_UMEM) += umem.o obj-$(CONFIG_BLK_DEV_NBD) += nbd.o obj-$(CONFIG_BLK_DEV_CRYPTOLOOP) += cryptoloop.o obj-$(CONFIG_VIRTIO_BLK) += virtio_blk.o obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o obj-$(CONFIG_XEN_BLKDEV_BACKEND) += xen-blkback/ obj-$(CONFIG_BLK_DEV_DRBD) += drbd/ obj-$(CONFIG_BLK_DEV_RBD) += rbd.o obj-$(CONFIG_BLK_DEV_PCIESSD_MTIP32XX) += mtip32xx/ obj-$(CONFIG_BLK_DEV_RSXX) += rsxx/ obj-$(CONFIG_ZRAM) += zram/ obj-$(CONFIG_BLK_DEV_NULL_BLK) += null_blk.o null_blk-objs := null_blk_main.o null_blk-$(CONFIG_BLK_DEV_ZONED) += null_blk_zoned.o skd-y := skd_main.o swim_mod-y := swim.o swim_asm.o block/rsxx/Makefile 0000644 00000000176 14722053666 0010321 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_BLK_DEV_RSXX) += rsxx.o rsxx-objs := config.o core.o cregs.o dev.o dma.o block/xen-blkback/Makefile 0000644 00000000177 14722053666 0011477 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_XEN_BLKDEV_BACKEND) := xen-blkback.o xen-blkback-y := blkback.o xenbus.o hwtracing/intel_th/Kconfig 0000644 00000005425 14722053666 0011664 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INTEL_TH tristate "Intel(R) Trace Hub controller" depends on HAS_DMA && HAS_IOMEM help Intel(R) Trace Hub (TH) is a set of hardware blocks (subdevices) that produce, switch and output trace data from multiple hardware and software sources over several types of trace output ports encoded in System Trace Protocol (MIPI STPv2) and is intended to perform full system debugging. This option enables intel_th bus and common code used by TH subdevices to interact with each other and hardware and for platform glue layers to drive Intel TH devices. Say Y here to enable Intel(R) Trace Hub controller support. if INTEL_TH config INTEL_TH_PCI tristate "Intel(R) Trace Hub PCI controller" depends on PCI help Intel(R) Trace Hub may exist as a PCI device. This option enables support glue layer for PCI-based Intel TH. Say Y here to enable PCI Intel TH support. config INTEL_TH_ACPI tristate "Intel(R) Trace Hub ACPI controller" depends on ACPI help Intel(R) Trace Hub may exist as an ACPI device. This option enables support glue layer for ACPI-based Intel TH. This typically implies 'host debugger' mode, that is, the trace configuration and capture is handled by an external debug host and corresponding controls will not be available on the target. Say Y here to enable ACPI Intel TH support. config INTEL_TH_GTH tristate "Intel(R) Trace Hub Global Trace Hub" help Global Trace Hub (GTH) is the central component of the Intel TH infrastructure and acts as a switch for source and output devices. This driver is required for other Intel TH subdevices to initialize. Say Y here to enable GTH subdevice of Intel(R) Trace Hub. config INTEL_TH_STH tristate "Intel(R) Trace Hub Software Trace Hub support" depends on STM help Software Trace Hub (STH) enables trace data from software trace sources to be sent out via Intel(R) Trace Hub. It uses stm class device to interface with its sources. Say Y here to enable STH subdevice of Intel(R) Trace Hub. config INTEL_TH_MSU tristate "Intel(R) Trace Hub Memory Storage Unit" help Memory Storage Unit (MSU) trace output device enables storing STP traces to system memory. It supports single and multiblock modes of operation and provides read() and mmap() access to the collected data. Say Y here to enable MSU output device for Intel TH. config INTEL_TH_PTI tristate "Intel(R) Trace Hub PTI output" help Parallel Trace Interface unit (PTI) is a trace output device of Intel TH architecture that facilitates STP trace output via a PTI port. Say Y to enable PTI output of Intel TH data. config INTEL_TH_DEBUG bool "Intel(R) Trace Hub debugging" depends on DEBUG_FS help Say Y here to enable debugging. endif hwtracing/intel_th/Makefile 0000644 00000001227 14722053666 0012015 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_INTEL_TH) += intel_th.o intel_th-y := core.o intel_th-$(CONFIG_INTEL_TH_DEBUG) += debug.o obj-$(CONFIG_INTEL_TH_PCI) += intel_th_pci.o intel_th_pci-y := pci.o obj-$(CONFIG_INTEL_TH_ACPI) += intel_th_acpi.o intel_th_acpi-y := acpi.o obj-$(CONFIG_INTEL_TH_GTH) += intel_th_gth.o intel_th_gth-y := gth.o obj-$(CONFIG_INTEL_TH_STH) += intel_th_sth.o intel_th_sth-y := sth.o obj-$(CONFIG_INTEL_TH_MSU) += intel_th_msu.o intel_th_msu-y := msu.o obj-$(CONFIG_INTEL_TH_PTI) += intel_th_pti.o intel_th_pti-y := pti.o obj-$(CONFIG_INTEL_TH_MSU) += intel_th_msu_sink.o intel_th_msu_sink-y := msu-sink.o hwtracing/Kconfig 0000644 00000000240 14722053666 0010044 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "HW tracing support" source "drivers/hwtracing/stm/Kconfig" source "drivers/hwtracing/intel_th/Kconfig" endmenu hwtracing/stm/Kconfig 0000644 00000005140 14722053666 0010653 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config STM tristate "System Trace Module devices" select CONFIGFS_FS select SRCU help A System Trace Module (STM) is a device exporting data in System Trace Protocol (STP) format as defined by MIPI STP standards. Examples of such devices are Intel(R) Trace Hub and Coresight STM. Say Y here to enable System Trace Module device support. if STM config STM_PROTO_BASIC tristate "Basic STM framing protocol driver" default CONFIG_STM help This is a simple framing protocol for sending data over STM devices. This was the protocol that the STM framework used exclusively until the MIPI SyS-T support was added. Use this driver for compatibility with your existing STM setup. The receiving side only needs to be able to decode the MIPI STP protocol in order to extract the data. If you want to be able to use the basic protocol or want the backwards compatibility for your existing setup, say Y. config STM_PROTO_SYS_T tristate "MIPI SyS-T STM framing protocol driver" default CONFIG_STM help This is an implementation of MIPI SyS-T protocol to be used over the STP transport. In addition to the data payload, it also carries additional metadata for time correlation, better means of trace source identification, etc. The receiving side must be able to decode this protocol in addition to the MIPI STP, in order to extract the data. If you don't know what this is, say N. config STM_DUMMY tristate "Dummy STM driver" help This is a simple dummy device that pretends to be an stm device and discards your data. Use for stm class testing. If you don't know what this is, say N. config STM_SOURCE_CONSOLE tristate "Kernel console over STM devices" help This is a kernel space trace source that sends kernel log messages to trace hosts over STM devices. If you want to send kernel console messages over STM devices, say Y. config STM_SOURCE_HEARTBEAT tristate "Heartbeat over STM devices" help This is a kernel space trace source that sends periodic heartbeat messages to trace hosts over STM devices. It is also useful for testing stm class drivers and the stm class framework itself. If you want to send heartbeat messages over STM devices, say Y. config STM_SOURCE_FTRACE tristate "Copy the output from kernel Ftrace to STM engine" depends on FUNCTION_TRACER help This option can be used to copy the output from kernel Ftrace to STM engine. Enabling this option will introduce a slight timing effect. If you want to send kernel Ftrace messages over STM devices, say Y. endif hwtracing/stm/Makefile 0000644 00000001024 14722053666 0011005 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_STM) += stm_core.o stm_core-y := core.o policy.o obj-$(CONFIG_STM_PROTO_BASIC) += stm_p_basic.o obj-$(CONFIG_STM_PROTO_SYS_T) += stm_p_sys-t.o stm_p_basic-y := p_basic.o stm_p_sys-t-y := p_sys-t.o obj-$(CONFIG_STM_DUMMY) += dummy_stm.o obj-$(CONFIG_STM_SOURCE_CONSOLE) += stm_console.o obj-$(CONFIG_STM_SOURCE_HEARTBEAT) += stm_heartbeat.o obj-$(CONFIG_STM_SOURCE_FTRACE) += stm_ftrace.o stm_console-y := console.o stm_heartbeat-y := heartbeat.o stm_ftrace-y := ftrace.o hwtracing/coresight/Kconfig 0000644 00000010700 14722053666 0012035 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Coresight configuration # menuconfig CORESIGHT bool "CoreSight Tracing Support" depends on OF || ACPI select ARM_AMBA select PERF_EVENTS help This framework provides a kernel interface for the CoreSight debug and trace drivers to register themselves with. It's intended to build a topological view of the CoreSight components based on a DT specification and configure the right series of components when a trace source gets enabled. if CORESIGHT config CORESIGHT_LINKS_AND_SINKS bool "CoreSight Link and Sink drivers" help This enables support for CoreSight link and sink drivers that are responsible for transporting and collecting the trace data respectively. Link and sinks are dynamically aggregated with a trace entity at run time to form a complete trace path. config CORESIGHT_LINK_AND_SINK_TMC bool "Coresight generic TMC driver" depends on CORESIGHT_LINKS_AND_SINKS help This enables support for the Trace Memory Controller driver. Depending on its configuration the device can act as a link (embedded trace router - ETR) or sink (embedded trace FIFO). The driver complies with the generic implementation of the component without special enhancement or added features. config CORESIGHT_CATU bool "Coresight Address Translation Unit (CATU) driver" depends on CORESIGHT_LINK_AND_SINK_TMC help Enable support for the Coresight Address Translation Unit (CATU). CATU supports a scatter gather table of 4K pages, with forward/backward lookup. CATU helps TMC ETR to use a large physically non-contiguous trace buffer by translating the addresses used by ETR to the physical address by looking up the provided table. CATU can also be used in pass-through mode where the address is not translated. config CORESIGHT_SINK_TPIU bool "Coresight generic TPIU driver" depends on CORESIGHT_LINKS_AND_SINKS help This enables support for the Trace Port Interface Unit driver, responsible for bridging the gap between the on-chip coresight components and a trace for bridging the gap between the on-chip coresight components and a trace port collection engine, typically connected to an external host for use case capturing more traces than the on-board coresight memory can handle. config CORESIGHT_SINK_ETBV10 bool "Coresight ETBv1.0 driver" depends on CORESIGHT_LINKS_AND_SINKS help This enables support for the Embedded Trace Buffer version 1.0 driver that complies with the generic implementation of the component without special enhancement or added features. config CORESIGHT_SOURCE_ETM3X bool "CoreSight Embedded Trace Macrocell 3.x driver" depends on !ARM64 select CORESIGHT_LINKS_AND_SINKS help This driver provides support for processor ETM3.x and PTM1.x modules, which allows tracing the instructions that a processor is executing This is primarily useful for instruction level tracing. Depending the ETM version data tracing may also be available. config CORESIGHT_SOURCE_ETM4X bool "CoreSight Embedded Trace Macrocell 4.x driver" depends on ARM64 select CORESIGHT_LINKS_AND_SINKS select PID_IN_CONTEXTIDR help This driver provides support for the ETM4.x tracer module, tracing the instructions that a processor is executing. This is primarily useful for instruction level tracing. Depending on the implemented version data tracing may also be available. config CORESIGHT_STM bool "CoreSight System Trace Macrocell driver" depends on (ARM && !(CPU_32v3 || CPU_32v4 || CPU_32v4T)) || ARM64 select CORESIGHT_LINKS_AND_SINKS select STM help This driver provides support for hardware assisted software instrumentation based tracing. This is primarily used for logging useful software events or data coming from various entities in the system, possibly running different OSs config CORESIGHT_CPU_DEBUG tristate "CoreSight CPU Debug driver" depends on ARM || ARM64 depends on DEBUG_FS help This driver provides support for coresight debugging module. This is primarily used to dump sample-based profiling registers when system triggers panic, the driver will parse context registers so can quickly get to know program counter (PC), secure state, exception level, etc. Before use debugging functionality, platform needs to ensure the clock domain and power domain are enabled properly, please refer Documentation/trace/coresight-cpu-debug.rst for detailed description and the example for usage. endif hwtracing/coresight/Makefile 0000644 00000001507 14722053666 0012177 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for CoreSight drivers. # obj-$(CONFIG_CORESIGHT) += coresight.o coresight-etm-perf.o coresight-platform.o obj-$(CONFIG_CORESIGHT_LINK_AND_SINK_TMC) += coresight-tmc.o \ coresight-tmc-etf.o \ coresight-tmc-etr.o obj-$(CONFIG_CORESIGHT_SINK_TPIU) += coresight-tpiu.o obj-$(CONFIG_CORESIGHT_SINK_ETBV10) += coresight-etb10.o obj-$(CONFIG_CORESIGHT_LINKS_AND_SINKS) += coresight-funnel.o \ coresight-replicator.o obj-$(CONFIG_CORESIGHT_SOURCE_ETM3X) += coresight-etm3x.o coresight-etm-cp14.o \ coresight-etm3x-sysfs.o obj-$(CONFIG_CORESIGHT_SOURCE_ETM4X) += coresight-etm4x.o \ coresight-etm4x-sysfs.o obj-$(CONFIG_CORESIGHT_STM) += coresight-stm.o obj-$(CONFIG_CORESIGHT_CPU_DEBUG) += coresight-cpu-debug.o obj-$(CONFIG_CORESIGHT_CATU) += coresight-catu.o clk/zte/Makefile 0000644 00000000214 14722053666 0007567 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y := clk.o obj-$(CONFIG_SOC_ZX296702) += clk-zx296702.o obj-$(CONFIG_ARCH_ZX) += clk-zx296718.o clk/sunxi-ng/Kconfig 0000644 00000004361 14722053666 0010407 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SUNXI_CCU bool "Clock support for Allwinner SoCs" depends on ARCH_SUNXI || COMPILE_TEST select RESET_CONTROLLER default ARCH_SUNXI if SUNXI_CCU config SUNIV_F1C100S_CCU bool "Support for the Allwinner newer F1C100s CCU" default MACH_SUNIV depends on MACH_SUNIV || COMPILE_TEST config SUN50I_A64_CCU bool "Support for the Allwinner A64 CCU" default ARM64 && ARCH_SUNXI depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST config SUN50I_H6_CCU bool "Support for the Allwinner H6 CCU" default ARM64 && ARCH_SUNXI depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST config SUN50I_H6_R_CCU bool "Support for the Allwinner H6 PRCM CCU" default ARM64 && ARCH_SUNXI depends on (ARM64 && ARCH_SUNXI) || COMPILE_TEST config SUN4I_A10_CCU bool "Support for the Allwinner A10/A20 CCU" default MACH_SUN4I default MACH_SUN7I depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST config SUN5I_CCU bool "Support for the Allwinner sun5i family CCM" default MACH_SUN5I depends on MACH_SUN5I || COMPILE_TEST config SUN6I_A31_CCU bool "Support for the Allwinner A31/A31s CCU" default MACH_SUN6I depends on MACH_SUN6I || COMPILE_TEST config SUN8I_A23_CCU bool "Support for the Allwinner A23 CCU" default MACH_SUN8I depends on MACH_SUN8I || COMPILE_TEST config SUN8I_A33_CCU bool "Support for the Allwinner A33 CCU" default MACH_SUN8I depends on MACH_SUN8I || COMPILE_TEST config SUN8I_A83T_CCU bool "Support for the Allwinner A83T CCU" default MACH_SUN8I config SUN8I_H3_CCU bool "Support for the Allwinner H3 CCU" default MACH_SUN8I || (ARM64 && ARCH_SUNXI) depends on MACH_SUN8I || (ARM64 && ARCH_SUNXI) || COMPILE_TEST config SUN8I_V3S_CCU bool "Support for the Allwinner V3s CCU" default MACH_SUN8I depends on MACH_SUN8I || COMPILE_TEST config SUN8I_DE2_CCU bool "Support for the Allwinner SoCs DE2 CCU" default MACH_SUN8I || (ARM64 && ARCH_SUNXI) config SUN8I_R40_CCU bool "Support for the Allwinner R40 CCU" default MACH_SUN8I depends on MACH_SUN8I || COMPILE_TEST config SUN9I_A80_CCU bool "Support for the Allwinner A80 CCU" default MACH_SUN9I depends on MACH_SUN9I || COMPILE_TEST config SUN8I_R_CCU bool "Support for Allwinner SoCs' PRCM CCUs" default MACH_SUN8I || (ARCH_SUNXI && ARM64) endif clk/sunxi-ng/Makefile 0000644 00000002437 14722053666 0010546 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Common objects obj-y += ccu_common.o obj-y += ccu_mmc_timing.o obj-y += ccu_reset.o # Base clock types obj-y += ccu_div.o obj-y += ccu_frac.o obj-y += ccu_gate.o obj-y += ccu_mux.o obj-y += ccu_mult.o obj-y += ccu_phase.o obj-y += ccu_sdm.o # Multi-factor clocks obj-y += ccu_nk.o obj-y += ccu_nkm.o obj-y += ccu_nkmp.o obj-y += ccu_nm.o obj-y += ccu_mp.o # SoC support obj-$(CONFIG_SUNIV_F1C100S_CCU) += ccu-suniv-f1c100s.o obj-$(CONFIG_SUN50I_A64_CCU) += ccu-sun50i-a64.o obj-$(CONFIG_SUN50I_H6_CCU) += ccu-sun50i-h6.o obj-$(CONFIG_SUN50I_H6_R_CCU) += ccu-sun50i-h6-r.o obj-$(CONFIG_SUN4I_A10_CCU) += ccu-sun4i-a10.o obj-$(CONFIG_SUN5I_CCU) += ccu-sun5i.o obj-$(CONFIG_SUN6I_A31_CCU) += ccu-sun6i-a31.o obj-$(CONFIG_SUN8I_A23_CCU) += ccu-sun8i-a23.o obj-$(CONFIG_SUN8I_A33_CCU) += ccu-sun8i-a33.o obj-$(CONFIG_SUN8I_A83T_CCU) += ccu-sun8i-a83t.o obj-$(CONFIG_SUN8I_H3_CCU) += ccu-sun8i-h3.o obj-$(CONFIG_SUN8I_V3S_CCU) += ccu-sun8i-v3s.o obj-$(CONFIG_SUN8I_DE2_CCU) += ccu-sun8i-de2.o obj-$(CONFIG_SUN8I_R_CCU) += ccu-sun8i-r.o obj-$(CONFIG_SUN8I_R40_CCU) += ccu-sun8i-r40.o obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80.o obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80-de.o obj-$(CONFIG_SUN9I_A80_CCU) += ccu-sun9i-a80-usb.o clk/sunxi/Kconfig 0000644 00000002270 14722053666 0010002 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig CLK_SUNXI bool "Legacy clock support for Allwinner SoCs" depends on ARCH_SUNXI || COMPILE_TEST default y if CLK_SUNXI config CLK_SUNXI_CLOCKS bool "Legacy clock drivers" default y help Legacy clock drivers being used on older (A10, A13, A20, A23, A31, A80) SoCs. These drivers are kept around for Device Tree backward compatibility issues, in case one would still use a Device Tree with one clock provider by node. Newer Device Trees and newer SoCs use the drivers controlled by CONFIG_SUNXI_CCU. config CLK_SUNXI_PRCM_SUN6I bool "Legacy A31 PRCM driver" select MFD_SUN6I_PRCM default y help Legacy clock driver for the A31 PRCM clocks. Those are usually needed for the PMIC communication, mostly. config CLK_SUNXI_PRCM_SUN8I bool "Legacy sun8i PRCM driver" select MFD_SUN6I_PRCM default y help Legacy clock driver for the sun8i family PRCM clocks. Those are usually needed for the PMIC communication, mostly. config CLK_SUNXI_PRCM_SUN9I bool "Legacy A80 PRCM driver" default y help Legacy clock driver for the A80 PRCM clocks. Those are usually needed for the PMIC communication, mostly. endif clk/sunxi/Makefile 0000644 00000002516 14722053666 0010142 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for sunxi specific clk # obj-$(CONFIG_CLK_SUNXI) += clk-factors.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sunxi.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-codec.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-hosc.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-mod1.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-pll2.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a10-ve.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-a20-gmac.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-mod0.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-simple-gates.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun4i-display.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun4i-pll3.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun4i-tcon-ch1.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun8i-bus-gates.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun8i-mbus.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun9i-core.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun9i-mmc.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-usb.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun8i-apb0.o obj-$(CONFIG_CLK_SUNXI_CLOCKS) += clk-sun9i-cpus.o obj-$(CONFIG_CLK_SUNXI_PRCM_SUN6I) += clk-sun6i-apb0.o obj-$(CONFIG_CLK_SUNXI_PRCM_SUN6I) += clk-sun6i-apb0-gates.o obj-$(CONFIG_CLK_SUNXI_PRCM_SUN6I) += clk-sun6i-ar100.o obj-$(CONFIG_CLK_SUNXI_PRCM_SUN8I) += clk-sun8i-apb0.o obj-$(CONFIG_CLK_SUNXI_PRCM_SUN8I) += clk-sun6i-apb0-gates.o clk/ux500/Makefile 0000644 00000000354 14722053666 0007653 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for ux500 clocks # # Clock types obj-y += clk-prcc.o obj-y += clk-prcmu.o obj-y += clk-sysctrl.o # Clock definitions obj-y += u8500_of_clk.o # ABX500 clock driver obj-y += abx500-clk.o clk/berlin/Makefile 0000644 00000000326 14722053666 0010244 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += berlin2-avpll.o berlin2-pll.o berlin2-div.o obj-$(CONFIG_MACH_BERLIN_BG2) += bg2.o obj-$(CONFIG_MACH_BERLIN_BG2CD) += bg2.o obj-$(CONFIG_MACH_BERLIN_BG2Q) += bg2q.o clk/nxp/Makefile 0000644 00000000345 14722053666 0007577 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ARCH_LPC18XX) += clk-lpc18xx-cgu.o obj-$(CONFIG_ARCH_LPC18XX) += clk-lpc18xx-ccu.o obj-$(CONFIG_ARCH_LPC18XX) += clk-lpc18xx-creg.o obj-$(CONFIG_ARCH_LPC32XX) += clk-lpc32xx.o clk/ingenic/Kconfig 0000644 00000002561 14722053666 0010253 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Ingenic SoCs drivers" depends on MIPS config INGENIC_CGU_COMMON bool config INGENIC_CGU_JZ4740 bool "Ingenic JZ4740 CGU driver" default MACH_JZ4740 select INGENIC_CGU_COMMON help Support the clocks provided by the CGU hardware on Ingenic JZ4740 and compatible SoCs. If building for a JZ4740 SoC, you want to say Y here. config INGENIC_CGU_JZ4725B bool "Ingenic JZ4725B CGU driver" default MACH_JZ4725B select INGENIC_CGU_COMMON help Support the clocks provided by the CGU hardware on Ingenic JZ4725B and compatible SoCs. If building for a JZ4725B SoC, you want to say Y here. config INGENIC_CGU_JZ4770 bool "Ingenic JZ4770 CGU driver" default MACH_JZ4770 select INGENIC_CGU_COMMON help Support the clocks provided by the CGU hardware on Ingenic JZ4770 and compatible SoCs. If building for a JZ4770 SoC, you want to say Y here. config INGENIC_CGU_JZ4780 bool "Ingenic JZ4780 CGU driver" default MACH_JZ4780 select INGENIC_CGU_COMMON help Support the clocks provided by the CGU hardware on Ingenic JZ4780 and compatible SoCs. If building for a JZ4780 SoC, you want to say Y here. config INGENIC_TCU_CLK bool "Ingenic JZ47xx TCU clocks driver" default MACH_INGENIC select MFD_SYSCON help Support the clocks of the Timer/Counter Unit (TCU) of the Ingenic JZ47xx SoCs. endmenu clk/ingenic/Makefile 0000644 00000000505 14722053666 0010404 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INGENIC_CGU_COMMON) += cgu.o pm.o obj-$(CONFIG_INGENIC_CGU_JZ4740) += jz4740-cgu.o obj-$(CONFIG_INGENIC_CGU_JZ4725B) += jz4725b-cgu.o obj-$(CONFIG_INGENIC_CGU_JZ4770) += jz4770-cgu.o obj-$(CONFIG_INGENIC_CGU_JZ4780) += jz4780-cgu.o obj-$(CONFIG_INGENIC_TCU_CLK) += tcu.o clk/pxa/Makefile 0000644 00000000260 14722053666 0007556 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += clk-pxa.o obj-$(CONFIG_PXA25x) += clk-pxa25x.o obj-$(CONFIG_PXA27x) += clk-pxa27x.o obj-$(CONFIG_PXA3xx) += clk-pxa3xx.o clk/mxs/Makefile 0000644 00000000336 14722053666 0007601 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for mxs specific clk # obj-y += clk.o clk-pll.o clk-ref.o clk-div.o clk-frac.o clk-ssp.o obj-$(CONFIG_SOC_IMX23) += clk-imx23.o obj-$(CONFIG_SOC_IMX28) += clk-imx28.o clk/Kconfig 0000644 00000023674 14722053666 0006647 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config CLKDEV_LOOKUP bool select HAVE_CLK config HAVE_CLK_PREPARE bool config COMMON_CLK bool select HAVE_CLK_PREPARE select CLKDEV_LOOKUP select SRCU select RATIONAL ---help--- The common clock framework is a single definition of struct clk, useful across many platforms, as well as an implementation of the clock API in include/linux/clk.h. Architectures utilizing the common struct clk should select this option. menu "Common Clock Framework" depends on COMMON_CLK config COMMON_CLK_WM831X tristate "Clock driver for WM831x/2x PMICs" depends on MFD_WM831X ---help--- Supports the clocking subsystem of the WM831x/2x series of PMICs from Wolfson Microelectronics. source "drivers/clk/versatile/Kconfig" config CLK_HSDK bool "PLL Driver for HSDK platform" depends on OF || COMPILE_TEST ---help--- This driver supports the HSDK core, system, ddr, tunnel and hdmi PLLs control. config COMMON_CLK_MAX77686 tristate "Clock driver for Maxim 77620/77686/77802 MFD" depends on MFD_MAX77686 || MFD_MAX77620 || COMPILE_TEST ---help--- This driver supports Maxim 77620/77686/77802 crystal oscillator clock. config COMMON_CLK_MAX9485 tristate "Maxim 9485 Programmable Clock Generator" depends on I2C help This driver supports Maxim 9485 Programmable Audio Clock Generator config COMMON_CLK_RK808 tristate "Clock driver for RK805/RK808/RK809/RK817/RK818" depends on MFD_RK808 ---help--- This driver supports RK805, RK809 and RK817, RK808 and RK818 crystal oscillator clock. These multi-function devices have two fixed-rate oscillators, clocked at 32KHz each. Clkout1 is always on, Clkout2 can off by control register. config COMMON_CLK_HI655X tristate "Clock driver for Hi655x" if EXPERT depends on (MFD_HI655X_PMIC || COMPILE_TEST) select REGMAP default MFD_HI655X_PMIC ---help--- This driver supports the hi655x PMIC clock. This multi-function device has one fixed-rate oscillator, clocked at 32KHz. config COMMON_CLK_SCMI tristate "Clock driver controlled via SCMI interface" depends on ARM_SCMI_PROTOCOL || COMPILE_TEST ---help--- This driver provides support for clocks that are controlled by firmware that implements the SCMI interface. This driver uses SCMI Message Protocol to interact with the firmware providing all the clock controls. config COMMON_CLK_SCPI tristate "Clock driver controlled via SCPI interface" depends on ARM_SCPI_PROTOCOL || COMPILE_TEST ---help--- This driver provides support for clocks that are controlled by firmware that implements the SCPI interface. This driver uses SCPI Message Protocol to interact with the firmware providing all the clock controls. config COMMON_CLK_SI5341 tristate "Clock driver for SiLabs 5341 and 5340 A/B/C/D devices" depends on I2C select REGMAP_I2C help This driver supports Silicon Labs Si5341 and Si5340 programmable clock generators. Not all features of these chips are currently supported by the driver, in particular it only supports XTAL input. The chip can be pre-programmed to support other configurations and features not yet implemented in the driver. config COMMON_CLK_SI5351 tristate "Clock driver for SiLabs 5351A/B/C" depends on I2C select REGMAP_I2C select RATIONAL ---help--- This driver supports Silicon Labs 5351A/B/C programmable clock generators. config COMMON_CLK_SI514 tristate "Clock driver for SiLabs 514 devices" depends on I2C depends on OF select REGMAP_I2C help This driver supports the Silicon Labs 514 programmable clock generator. config COMMON_CLK_SI544 tristate "Clock driver for SiLabs 544 devices" depends on I2C select REGMAP_I2C help This driver supports the Silicon Labs 544 programmable clock generator. config COMMON_CLK_SI570 tristate "Clock driver for SiLabs 570 and compatible devices" depends on I2C depends on OF select REGMAP_I2C help This driver supports Silicon Labs 570/571/598/599 programmable clock generators. config COMMON_CLK_CDCE706 tristate "Clock driver for TI CDCE706 clock synthesizer" depends on I2C select REGMAP_I2C select RATIONAL ---help--- This driver supports TI CDCE706 programmable 3-PLL clock synthesizer. config COMMON_CLK_CDCE925 tristate "Clock driver for TI CDCE913/925/937/949 devices" depends on I2C depends on OF select REGMAP_I2C help This driver supports the TI CDCE913/925/937/949 programmable clock synthesizer. Each chip has different number of PLLs and outputs. For example, the CDCE925 contains two PLLs with spread-spectrum clocking support and five output dividers. The driver only supports the following setup, and uses a fixed setting for the output muxes. Y1 is derived from the input clock Y2 and Y3 derive from PLL1 Y4 and Y5 derive from PLL2 Given a target output frequency, the driver will set the PLL and divider to best approximate the desired output. config COMMON_CLK_CS2000_CP tristate "Clock driver for CS2000 Fractional-N Clock Synthesizer & Clock Multiplier" depends on I2C help If you say yes here you get support for the CS2000 clock multiplier. config COMMON_CLK_GEMINI bool "Clock driver for Cortina Systems Gemini SoC" depends on ARCH_GEMINI || COMPILE_TEST select MFD_SYSCON select RESET_CONTROLLER ---help--- This driver supports the SoC clocks on the Cortina Systems Gemini platform, also known as SL3516 or CS3516. config COMMON_CLK_ASPEED bool "Clock driver for Aspeed BMC SoCs" depends on ARCH_ASPEED || COMPILE_TEST default ARCH_ASPEED select MFD_SYSCON select RESET_CONTROLLER ---help--- This driver supports the SoC clocks on the Aspeed BMC platforms. The G4 and G5 series, including the ast2400 and ast2500, are supported by this driver. config COMMON_CLK_S2MPS11 tristate "Clock driver for S2MPS1X/S5M8767 MFD" depends on MFD_SEC_CORE || COMPILE_TEST ---help--- This driver supports S2MPS11/S2MPS14/S5M8767 crystal oscillator clock. These multi-function devices have two (S2MPS14) or three (S2MPS11, S5M8767) fixed-rate oscillators, clocked at 32KHz each. config CLK_TWL6040 tristate "External McPDM functional clock from twl6040" depends on TWL6040_CORE ---help--- Enable the external functional clock support on OMAP4+ platforms for McPDM. McPDM module is using the external bit clock on the McPDM bus as functional clock. config COMMON_CLK_AXI_CLKGEN tristate "AXI clkgen driver" depends on ARCH_ZYNQ || MICROBLAZE || COMPILE_TEST help Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx FPGAs. It is commonly used in Analog Devices' reference designs. config CLK_QORIQ bool "Clock driver for Freescale QorIQ platforms" depends on (PPC_E500MC || ARM || ARM64 || COMPILE_TEST) && OF ---help--- This adds the clock driver support for Freescale QorIQ platforms using common clock framework. config COMMON_CLK_XGENE bool "Clock driver for APM XGene SoC" default ARCH_XGENE depends on ARM64 || COMPILE_TEST ---help--- Sypport for the APM X-Gene SoC reference, PLL, and device clocks. config COMMON_CLK_LOCHNAGAR tristate "Cirrus Logic Lochnagar clock driver" depends on MFD_LOCHNAGAR help This driver supports the clocking features of the Cirrus Logic Lochnagar audio development board. config COMMON_CLK_NXP def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX) select REGMAP_MMIO if ARCH_LPC32XX select MFD_SYSCON if ARCH_LPC18XX ---help--- Support for clock providers on NXP platforms. config COMMON_CLK_PALMAS tristate "Clock driver for TI Palmas devices" depends on MFD_PALMAS ---help--- This driver supports TI Palmas devices 32KHz output KG and KG_AUDIO using common clock framework. config COMMON_CLK_PWM tristate "Clock driver for PWMs used as clock outputs" depends on PWM ---help--- Adapter driver so that any PWM output can be (mis)used as clock signal at 50% duty cycle. config COMMON_CLK_PXA def_bool COMMON_CLK && ARCH_PXA ---help--- Support for the Marvell PXA SoC. config COMMON_CLK_PIC32 def_bool COMMON_CLK && MACH_PIC32 config COMMON_CLK_OXNAS bool "Clock driver for the OXNAS SoC Family" depends on ARCH_OXNAS || COMPILE_TEST select MFD_SYSCON ---help--- Support for the OXNAS SoC Family clocks. config COMMON_CLK_VC5 tristate "Clock driver for IDT VersaClock 5,6 devices" depends on I2C depends on OF select REGMAP_I2C help This driver supports the IDT VersaClock 5 and VersaClock 6 programmable clock generators. config COMMON_CLK_STM32MP157 def_bool COMMON_CLK && MACH_STM32MP157 help Support for stm32mp157 SoC family clocks config COMMON_CLK_STM32F def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746) help Support for stm32f4 and stm32f7 SoC families clocks config COMMON_CLK_STM32H7 def_bool COMMON_CLK && MACH_STM32H743 help Support for stm32h7 SoC family clocks config COMMON_CLK_BD718XX tristate "Clock driver for ROHM BD718x7 PMIC" depends on MFD_ROHM_BD718XX || MFD_ROHM_BD70528 help This driver supports ROHM BD71837, ROHM BD71847 and ROHM BD70528 PMICs clock gates. config COMMON_CLK_FIXED_MMIO bool "Clock driver for Memory Mapped Fixed values" depends on COMMON_CLK && OF depends on HAS_IOMEM help Support for Memory Mapped IO Fixed clocks source "drivers/clk/actions/Kconfig" source "drivers/clk/analogbits/Kconfig" source "drivers/clk/bcm/Kconfig" source "drivers/clk/hisilicon/Kconfig" source "drivers/clk/imgtec/Kconfig" source "drivers/clk/imx/Kconfig" source "drivers/clk/ingenic/Kconfig" source "drivers/clk/keystone/Kconfig" source "drivers/clk/mediatek/Kconfig" source "drivers/clk/meson/Kconfig" source "drivers/clk/mvebu/Kconfig" source "drivers/clk/qcom/Kconfig" source "drivers/clk/renesas/Kconfig" source "drivers/clk/samsung/Kconfig" source "drivers/clk/sifive/Kconfig" source "drivers/clk/sprd/Kconfig" source "drivers/clk/sunxi/Kconfig" source "drivers/clk/sunxi-ng/Kconfig" source "drivers/clk/tegra/Kconfig" source "drivers/clk/ti/Kconfig" source "drivers/clk/uniphier/Kconfig" source "drivers/clk/zynqmp/Kconfig" endmenu clk/davinci/Makefile 0000644 00000001345 14722053666 0010410 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ifeq ($(CONFIG_COMMON_CLK), y) obj-$(CONFIG_ARCH_DAVINCI_DA8XX) += da8xx-cfgchip.o obj-y += pll.o obj-$(CONFIG_ARCH_DAVINCI_DA830) += pll-da830.o obj-$(CONFIG_ARCH_DAVINCI_DA850) += pll-da850.o obj-$(CONFIG_ARCH_DAVINCI_DM355) += pll-dm355.o obj-$(CONFIG_ARCH_DAVINCI_DM365) += pll-dm365.o obj-$(CONFIG_ARCH_DAVINCI_DM644x) += pll-dm644x.o obj-$(CONFIG_ARCH_DAVINCI_DM646x) += pll-dm646x.o obj-y += psc.o obj-$(CONFIG_ARCH_DAVINCI_DA830) += psc-da830.o obj-$(CONFIG_ARCH_DAVINCI_DA850) += psc-da850.o obj-$(CONFIG_ARCH_DAVINCI_DM355) += psc-dm355.o obj-$(CONFIG_ARCH_DAVINCI_DM365) += psc-dm365.o obj-$(CONFIG_ARCH_DAVINCI_DM644x) += psc-dm644x.o obj-$(CONFIG_ARCH_DAVINCI_DM646x) += psc-dm646x.o endif clk/st/Makefile 0000644 00000000147 14722053666 0007420 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += clkgen-mux.o clkgen-pll.o clkgen-fsyn.o clk-flexgen.o clk/spear/Makefile 0000644 00000000533 14722053666 0010103 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # SPEAr Clock specific Makefile # obj-y += clk.o clk-aux-synth.o clk-frac-synth.o clk-gpt-synth.o clk-vco-pll.o obj-$(CONFIG_ARCH_SPEAR3XX) += spear3xx_clock.o obj-$(CONFIG_ARCH_SPEAR6XX) += spear6xx_clock.o obj-$(CONFIG_MACH_SPEAR1310) += spear1310_clock.o obj-$(CONFIG_MACH_SPEAR1340) += spear1340_clock.o clk/pistachio/Makefile 0000644 00000000143 14722053666 0010751 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += clk.o obj-y += clk-pll.o obj-y += clk-pistachio.o clk/axs10x/Makefile 0000644 00000000126 14722053666 0010113 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += i2s_pll_clock.o obj-y += pll_clock.o clk/qcom/Kconfig 0000644 00000024734 14722053666 0007604 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config KRAIT_CLOCKS bool select KRAIT_L2_ACCESSORS config QCOM_GDSC bool select PM_GENERIC_DOMAINS if PM config QCOM_RPMCC bool menuconfig COMMON_CLK_QCOM tristate "Support for Qualcomm's clock controllers" depends on OF depends on ARCH_QCOM || COMPILE_TEST select REGMAP_MMIO select RESET_CONTROLLER if COMMON_CLK_QCOM config QCOM_A53PLL tristate "MSM8916 A53 PLL" help Support for the A53 PLL on MSM8916 devices. It provides the CPU with frequencies above 1GHz. Say Y if you want to support higher CPU frequencies on MSM8916 devices. config QCOM_CLK_APCS_MSM8916 tristate "MSM8916 APCS Clock Controller" depends on QCOM_APCS_IPC || COMPILE_TEST help Support for the APCS Clock Controller on msm8916 devices. The APCS is managing the mux and divider which feeds the CPUs. Say Y if you want to support CPU frequency scaling on devices such as msm8916. config QCOM_CLK_RPM tristate "RPM based Clock Controller" depends on MFD_QCOM_RPM select QCOM_RPMCC help The RPM (Resource Power Manager) is a dedicated hardware engine for managing the shared SoC resources in order to keep the lowest power profile. It communicates with other hardware subsystems via shared memory and accepts clock requests, aggregates the requests and turns the clocks on/off or scales them on demand. Say Y if you want to support the clocks exposed by the RPM on platforms such as apq8064, msm8660, msm8960 etc. config QCOM_CLK_SMD_RPM tristate "RPM over SMD based Clock Controller" depends on QCOM_SMD_RPM select QCOM_RPMCC help The RPM (Resource Power Manager) is a dedicated hardware engine for managing the shared SoC resources in order to keep the lowest power profile. It communicates with other hardware subsystems via shared memory and accepts clock requests, aggregates the requests and turns the clocks on/off or scales them on demand. Say Y if you want to support the clocks exposed by the RPM on platforms such as apq8016, apq8084, msm8974 etc. config QCOM_CLK_RPMH tristate "RPMh Clock Driver" depends on QCOM_RPMH help RPMh manages shared resources on some Qualcomm Technologies, Inc. SoCs. It accepts requests from other hardware subsystems via RSC. Say Y if you want to support the clocks exposed by RPMh on platforms such as SDM845. config APQ_GCC_8084 tristate "APQ8084 Global Clock Controller" select QCOM_GDSC help Support for the global clock controller on apq8084 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, SD/eMMC, SATA, PCIe, etc. config APQ_MMCC_8084 tristate "APQ8084 Multimedia Clock Controller" select APQ_GCC_8084 select QCOM_GDSC help Support for the multimedia clock controller on apq8084 devices. Say Y if you want to support multimedia devices such as display, graphics, video encode/decode, camera, etc. config IPQ_GCC_4019 tristate "IPQ4019 Global Clock Controller" help Support for the global clock controller on ipq4019 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, SD/eMMC, etc. config IPQ_GCC_806X tristate "IPQ806x Global Clock Controller" help Support for the global clock controller on ipq806x devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, SD/eMMC, etc. config IPQ_LCC_806X tristate "IPQ806x LPASS Clock Controller" select IPQ_GCC_806X help Support for the LPASS clock controller on ipq806x devices. Say Y if you want to use audio devices such as i2s, pcm, S/PDIF, etc. config IPQ_GCC_8074 tristate "IPQ8074 Global Clock Controller" help Support for global clock controller on ipq8074 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, SD/eMMC, etc. Select this for the root clock of ipq8074. config MSM_GCC_8660 tristate "MSM8660 Global Clock Controller" help Support for the global clock controller on msm8660 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, SD/eMMC, etc. config MSM_GCC_8916 tristate "MSM8916 Global Clock Controller" select QCOM_GDSC help Support for the global clock controller on msm8916 devices. Say Y if you want to use devices such as UART, SPI i2c, USB, SD/eMMC, display, graphics, camera etc. config MSM_GCC_8960 tristate "APQ8064/MSM8960 Global Clock Controller" help Support for the global clock controller on apq8064/msm8960 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, SD/eMMC, SATA, PCIe, etc. config MSM_LCC_8960 tristate "APQ8064/MSM8960 LPASS Clock Controller" select MSM_GCC_8960 help Support for the LPASS clock controller on apq8064/msm8960 devices. Say Y if you want to use audio devices such as i2s, pcm, SLIMBus, etc. config MDM_GCC_9615 tristate "MDM9615 Global Clock Controller" help Support for the global clock controller on mdm9615 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, SD/eMMC, etc. config MDM_LCC_9615 tristate "MDM9615 LPASS Clock Controller" select MDM_GCC_9615 help Support for the LPASS clock controller on mdm9615 devices. Say Y if you want to use audio devices such as i2s, pcm, SLIMBus, etc. config MSM_MMCC_8960 tristate "MSM8960 Multimedia Clock Controller" select MSM_GCC_8960 help Support for the multimedia clock controller on msm8960 devices. Say Y if you want to support multimedia devices such as display, graphics, video encode/decode, camera, etc. config MSM_GCC_8974 tristate "MSM8974 Global Clock Controller" select QCOM_GDSC help Support for the global clock controller on msm8974 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, SD/eMMC, SATA, PCIe, etc. config MSM_MMCC_8974 tristate "MSM8974 Multimedia Clock Controller" select MSM_GCC_8974 select QCOM_GDSC help Support for the multimedia clock controller on msm8974 devices. Say Y if you want to support multimedia devices such as display, graphics, video encode/decode, camera, etc. config MSM_GCC_8994 tristate "MSM8994 Global Clock Controller" help Support for the global clock controller on msm8994 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, UFS, SD/eMMC, PCIe, etc. config MSM_GCC_8996 tristate "MSM8996 Global Clock Controller" select QCOM_GDSC help Support for the global clock controller on msm8996 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, UFS, SD/eMMC, PCIe, etc. config MSM_MMCC_8996 tristate "MSM8996 Multimedia Clock Controller" select MSM_GCC_8996 select QCOM_GDSC help Support for the multimedia clock controller on msm8996 devices. Say Y if you want to support multimedia devices such as display, graphics, video encode/decode, camera, etc. config MSM_GCC_8998 tristate "MSM8998 Global Clock Controller" select QCOM_GDSC help Support for the global clock controller on msm8998 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2c, USB, UFS, SD/eMMC, PCIe, etc. config QCS_GCC_404 tristate "QCS404 Global Clock Controller" help Support for the global clock controller on QCS404 devices. Say Y if you want to use multimedia devices or peripheral devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc. config SDM_CAMCC_845 tristate "SDM845 Camera Clock Controller" select SDM_GCC_845 help Support for the camera clock controller on SDM845 devices. Say Y if you want to support camera devices and camera functionality. config SDM_GCC_660 tristate "SDM660 Global Clock Controller" select QCOM_GDSC help Support for the global clock controller on SDM660 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2C, USB, UFS, SDDC, PCIe, etc. config QCS_TURING_404 tristate "QCS404 Turing Clock Controller" help Support for the Turing Clock Controller on QCS404, provides clocks and resets for the Turing subsystem. config SDM_GCC_845 tristate "SDM845 Global Clock Controller" select QCOM_GDSC help Support for the global clock controller on SDM845 devices. Say Y if you want to use peripheral devices such as UART, SPI, i2C, USB, UFS, SDDC, PCIe, etc. config SDM_GPUCC_845 tristate "SDM845 Graphics Clock Controller" select SDM_GCC_845 help Support for the graphics clock controller on SDM845 devices. Say Y if you want to support graphics controller devices and functionality such as 3D graphics. config SDM_VIDEOCC_845 tristate "SDM845 Video Clock Controller" select SDM_GCC_845 select QCOM_GDSC help Support for the video clock controller on SDM845 devices. Say Y if you want to support video devices and functionality such as video encode and decode. config SDM_DISPCC_845 tristate "SDM845 Display Clock Controller" select SDM_GCC_845 help Support for the display clock controller on Qualcomm Technologies, Inc SDM845 devices. Say Y if you want to support display devices and functionality such as splash screen. config SDM_LPASSCC_845 tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" select SDM_GCC_845 help Support for the LPASS clock controller on SDM845 devices. Say Y if you want to use the LPASS branch clocks of the LPASS clock controller to reset the LPASS subsystem. config SM_GCC_8150 tristate "SM8150 Global Clock Controller" help Support for the global clock controller on SM8150 devices. Say Y if you want to use peripheral devices such as UART, SPI, I2C, USB, SD/UFS, PCIe etc. config SPMI_PMIC_CLKDIV tristate "SPMI PMIC clkdiv Support" depends on SPMI || COMPILE_TEST help This driver supports the clkdiv functionality on the Qualcomm Technologies, Inc. SPMI PMIC. It configures the frequency of clkdiv outputs of the PMIC. These clocks are typically wired through alternate functions on GPIO pins. config QCOM_HFPLL tristate "High-Frequency PLL (HFPLL) Clock Controller" help Support for the high-frequency PLLs present on Qualcomm devices. Say Y if you want to support CPU frequency scaling on devices such as MSM8974, APQ8084, etc. config KPSS_XCC tristate "KPSS Clock Controller" help Support for the Krait ACC and GCC clock controllers. Say Y if you want to support CPU frequency scaling on devices such as MSM8960, APQ8064, etc. config KRAITCC tristate "Krait Clock Controller" depends on ARM select KRAIT_CLOCKS help Support for the Krait CPU clocks on Qualcomm devices. Say Y if you want to support CPU frequency scaling. endif clk/qcom/Makefile 0000644 00000004257 14722053666 0007737 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_COMMON_CLK_QCOM) += clk-qcom.o clk-qcom-y += common.o clk-qcom-y += clk-regmap.o clk-qcom-y += clk-alpha-pll.o clk-qcom-y += clk-pll.o clk-qcom-y += clk-rcg.o clk-qcom-y += clk-rcg2.o clk-qcom-y += clk-branch.o clk-qcom-y += clk-regmap-divider.o clk-qcom-y += clk-regmap-mux.o clk-qcom-y += clk-regmap-mux-div.o clk-qcom-$(CONFIG_KRAIT_CLOCKS) += clk-krait.o clk-qcom-y += clk-hfpll.o clk-qcom-y += reset.o clk-qcom-$(CONFIG_QCOM_GDSC) += gdsc.o # Keep alphabetically sorted by config obj-$(CONFIG_APQ_GCC_8084) += gcc-apq8084.o obj-$(CONFIG_APQ_MMCC_8084) += mmcc-apq8084.o obj-$(CONFIG_IPQ_GCC_4019) += gcc-ipq4019.o obj-$(CONFIG_IPQ_GCC_806X) += gcc-ipq806x.o obj-$(CONFIG_IPQ_GCC_8074) += gcc-ipq8074.o obj-$(CONFIG_IPQ_LCC_806X) += lcc-ipq806x.o obj-$(CONFIG_MDM_GCC_9615) += gcc-mdm9615.o obj-$(CONFIG_MDM_LCC_9615) += lcc-mdm9615.o obj-$(CONFIG_MSM_GCC_8660) += gcc-msm8660.o obj-$(CONFIG_MSM_GCC_8916) += gcc-msm8916.o obj-$(CONFIG_MSM_GCC_8960) += gcc-msm8960.o obj-$(CONFIG_MSM_GCC_8974) += gcc-msm8974.o obj-$(CONFIG_MSM_GCC_8994) += gcc-msm8994.o obj-$(CONFIG_MSM_GCC_8996) += gcc-msm8996.o obj-$(CONFIG_MSM_LCC_8960) += lcc-msm8960.o obj-$(CONFIG_MSM_GCC_8998) += gcc-msm8998.o obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o obj-$(CONFIG_MSM_MMCC_8996) += mmcc-msm8996.o obj-$(CONFIG_QCOM_A53PLL) += a53-pll.o obj-$(CONFIG_QCOM_CLK_APCS_MSM8916) += apcs-msm8916.o obj-$(CONFIG_QCOM_CLK_RPM) += clk-rpm.o obj-$(CONFIG_QCOM_CLK_RPMH) += clk-rpmh.o obj-$(CONFIG_QCOM_CLK_SMD_RPM) += clk-smd-rpm.o obj-$(CONFIG_QCS_GCC_404) += gcc-qcs404.o obj-$(CONFIG_QCS_TURING_404) += turingcc-qcs404.o obj-$(CONFIG_SDM_CAMCC_845) += camcc-sdm845.o obj-$(CONFIG_SDM_DISPCC_845) += dispcc-sdm845.o obj-$(CONFIG_SDM_GCC_660) += gcc-sdm660.o obj-$(CONFIG_SDM_GCC_845) += gcc-sdm845.o obj-$(CONFIG_SDM_GPUCC_845) += gpucc-sdm845.o obj-$(CONFIG_SDM_LPASSCC_845) += lpasscc-sdm845.o obj-$(CONFIG_SDM_VIDEOCC_845) += videocc-sdm845.o obj-$(CONFIG_SM_GCC_8150) += gcc-sm8150.o obj-$(CONFIG_SPMI_PMIC_CLKDIV) += clk-spmi-pmic-div.o obj-$(CONFIG_KPSS_XCC) += kpss-xcc.o obj-$(CONFIG_QCOM_HFPLL) += hfpll.o obj-$(CONFIG_KRAITCC) += krait-cc.o clk/keystone/Kconfig 0000644 00000002132 14722053666 0010472 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config COMMON_CLK_KEYSTONE tristate "Clock drivers for Keystone based SOCs" depends on (ARCH_KEYSTONE || COMPILE_TEST) && OF ---help--- Supports clock drivers for Keystone based SOCs. These SOCs have local a power sleep control module that gate the clock to the IPs and PLLs. config TI_SCI_CLK tristate "TI System Control Interface clock drivers" depends on (ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST) && OF depends on TI_SCI_PROTOCOL default ARCH_KEYSTONE ---help--- This adds the clock driver support over TI System Control Interface. If you wish to use clock resources from the PMMC firmware, say Y. Otherwise, say N. config TI_SCI_CLK_PROBE_FROM_FW bool "Probe available clocks from firmware" depends on TI_SCI_CLK default n help Forces the TI SCI clock driver to probe available clocks from the firmware. By default, only the used clocks are probed from DT. This is mostly only useful for debugging purposes, and will increase the boot time of the device. If you want the clocks probed from firmware, say Y. Otherwise, say N. clk/keystone/Makefile 0000644 00000000201 14722053666 0010622 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_COMMON_CLK_KEYSTONE) += pll.o gate.o obj-$(CONFIG_TI_SCI_CLK) += sci-clk.o clk/sifive/Kconfig 0000644 00000000736 14722053666 0010126 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig CLK_SIFIVE bool "SiFive SoC driver support" depends on RISCV || COMPILE_TEST help SoC drivers for SiFive Linux-capable SoCs. if CLK_SIFIVE config CLK_SIFIVE_FU540_PRCI bool "PRCI driver for SiFive FU540 SoCs" select CLK_ANALOGBITS_WRPLL_CLN28HPC help Supports the Power Reset Clock interface (PRCI) IP block found in FU540 SoCs. If this kernel is meant to run on a SiFive FU540 SoC, enable this driver. endif clk/sifive/Makefile 0000644 00000000134 14722053666 0010253 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CLK_SIFIVE_FU540_PRCI) += fu540-prci.o clk/axis/Makefile 0000644 00000000124 14722053666 0007731 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MACH_ARTPEC6) += clk-artpec6.o clk/microchip/Makefile 0000644 00000000200 14722053666 0010735 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_COMMON_CLK_PIC32) += clk-core.o obj-$(CONFIG_PIC32MZDA) += clk-pic32mzda.o clk/x86/Makefile 0000644 00000000323 14722053666 0007413 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PMC_ATOM) += clk-pmc-atom.o obj-$(CONFIG_X86_AMD_PLATFORM_DEVICE) += clk-st.o clk-x86-lpss-objs := clk-lpt.o obj-$(CONFIG_X86_INTEL_LPSS) += clk-x86-lpss.o clk/zynq/Makefile 0000644 00000000136 14722053666 0007771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Zynq clock specific Makefile obj-y += clkc.o pll.o clk/uniphier/Kconfig 0000644 00000000551 14722053666 0010457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CLK_UNIPHIER bool "Clock driver for UniPhier SoCs" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF && MFD_SYSCON default ARCH_UNIPHIER help Support for clock controllers on UniPhier SoCs. Say Y if you want to control clocks provided by System Control block, Media I/O block, Peripheral Block. clk/uniphier/Makefile 0000644 00000000470 14722053666 0010614 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += clk-uniphier-core.o obj-y += clk-uniphier-cpugear.o obj-y += clk-uniphier-fixed-factor.o obj-y += clk-uniphier-fixed-rate.o obj-y += clk-uniphier-gate.o obj-y += clk-uniphier-mux.o obj-y += clk-uniphier-sys.o obj-y += clk-uniphier-mio.o obj-y += clk-uniphier-peri.o clk/sirf/Makefile 0000644 00000000220 14722053666 0007725 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for sirf specific clk # obj-$(CONFIG_ARCH_SIRF) += clk-prima2.o clk-atlas6.o clk-atlas7.o clk/tegra/Kconfig 0000644 00000000403 14722053666 0007732 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config TEGRA_CLK_EMC def_bool y depends on TEGRA124_EMC config CLK_TEGRA_BPMP def_bool y depends on TEGRA_BPMP config TEGRA_CLK_DFLL depends on ARCH_TEGRA_124_SOC || ARCH_TEGRA_210_SOC select PM_OPP def_bool y clk/tegra/Makefile 0000644 00000001741 14722053666 0010075 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += clk.o obj-y += clk-audio-sync.o obj-y += clk-dfll.o obj-y += clk-divider.o obj-y += clk-periph.o obj-y += clk-periph-fixed.o obj-y += clk-periph-gate.o obj-y += clk-pll.o obj-y += clk-pll-out.o obj-y += clk-sdmmc-mux.o obj-y += clk-super.o obj-y += clk-tegra-audio.o obj-y += clk-tegra-periph.o obj-y += clk-tegra-pmc.o obj-y += clk-tegra-fixed.o obj-y += clk-tegra-super-gen4.o obj-$(CONFIG_TEGRA_CLK_EMC) += clk-emc.o obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += clk-tegra20.o obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += clk-tegra30.o obj-$(CONFIG_ARCH_TEGRA_114_SOC) += clk-tegra114.o obj-$(CONFIG_ARCH_TEGRA_124_SOC) += clk-tegra124.o obj-$(CONFIG_TEGRA_CLK_DFLL) += clk-tegra124-dfll-fcpu.o obj-$(CONFIG_ARCH_TEGRA_132_SOC) += clk-tegra124.o obj-y += cvb.o obj-$(CONFIG_ARCH_TEGRA_210_SOC) += clk-tegra210.o obj-$(CONFIG_CLK_TEGRA_BPMP) += clk-bpmp.o obj-y += clk-utils.o clk/mmp/Makefile 0000644 00000000665 14722053666 0007570 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for mmp specific clk # obj-y += clk-apbc.o clk-apmu.o clk-frac.o clk-mix.o clk-gate.o clk.o obj-$(CONFIG_RESET_CONTROLLER) += reset.o obj-$(CONFIG_MACH_MMP_DT) += clk-of-pxa168.o clk-of-pxa910.o obj-$(CONFIG_MACH_MMP2_DT) += clk-of-mmp2.o obj-$(CONFIG_CPU_PXA168) += clk-pxa168.o obj-$(CONFIG_CPU_PXA910) += clk-pxa910.o obj-$(CONFIG_CPU_MMP2) += clk-mmp2.o obj-y += clk-of-pxa1928.o clk/zynqmp/Kconfig 0000644 00000000531 14722053666 0010170 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config COMMON_CLK_ZYNQMP bool "Support for Xilinx ZynqMP Ultrascale+ clock controllers" depends on ARCH_ZYNQMP || COMPILE_TEST depends on ZYNQMP_FIRMWARE help Support for the Zynqmp Ultrascale clock controller. It has a dependency on the PMU firmware. Say Y if you want to include clock support. clk/zynqmp/Makefile 0000644 00000000254 14722053666 0010327 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Zynq Ultrascale+ MPSoC clock specific Makefile obj-$(CONFIG_ARCH_ZYNQMP) += pll.o clk-gate-zynqmp.o divider.o clk-mux-zynqmp.o clkc.o clk/loongson1/Makefile 0000644 00000000234 14722053666 0010706 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += clk.o obj-$(CONFIG_LOONGSON1_LS1B) += clk-loongson1b.o obj-$(CONFIG_LOONGSON1_LS1C) += clk-loongson1c.o clk/meson/Kconfig 0000644 00000005434 14722053666 0007762 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config COMMON_CLK_MESON_REGMAP tristate select REGMAP config COMMON_CLK_MESON_DUALDIV tristate select COMMON_CLK_MESON_REGMAP config COMMON_CLK_MESON_MPLL tristate select COMMON_CLK_MESON_REGMAP config COMMON_CLK_MESON_PHASE tristate select COMMON_CLK_MESON_REGMAP config COMMON_CLK_MESON_PLL tristate select COMMON_CLK_MESON_REGMAP config COMMON_CLK_MESON_SCLK_DIV tristate select COMMON_CLK_MESON_REGMAP config COMMON_CLK_MESON_VID_PLL_DIV tristate select COMMON_CLK_MESON_REGMAP config COMMON_CLK_MESON_AO_CLKC tristate select COMMON_CLK_MESON_REGMAP select RESET_CONTROLLER config COMMON_CLK_MESON_EE_CLKC tristate select COMMON_CLK_MESON_REGMAP config COMMON_CLK_MESON_CPU_DYNDIV tristate select COMMON_CLK_MESON_REGMAP config COMMON_CLK_MESON8B bool depends on ARCH_MESON select COMMON_CLK_MESON_REGMAP select COMMON_CLK_MESON_MPLL select COMMON_CLK_MESON_PLL select MFD_SYSCON select RESET_CONTROLLER help Support for the clock controller on AmLogic S802 (Meson8), S805 (Meson8b) and S812 (Meson8m2) devices. Say Y if you want peripherals and CPU frequency scaling to work. config COMMON_CLK_GXBB bool depends on ARCH_MESON select COMMON_CLK_MESON_REGMAP select COMMON_CLK_MESON_DUALDIV select COMMON_CLK_MESON_VID_PLL_DIV select COMMON_CLK_MESON_MPLL select COMMON_CLK_MESON_PLL select COMMON_CLK_MESON_AO_CLKC select COMMON_CLK_MESON_EE_CLKC select MFD_SYSCON help Support for the clock controller on AmLogic S905 devices, aka gxbb. Say Y if you want peripherals and CPU frequency scaling to work. config COMMON_CLK_AXG bool depends on ARCH_MESON select COMMON_CLK_MESON_REGMAP select COMMON_CLK_MESON_DUALDIV select COMMON_CLK_MESON_MPLL select COMMON_CLK_MESON_PLL select COMMON_CLK_MESON_AO_CLKC select COMMON_CLK_MESON_EE_CLKC select MFD_SYSCON help Support for the clock controller on AmLogic A113D devices, aka axg. Say Y if you want peripherals and CPU frequency scaling to work. config COMMON_CLK_AXG_AUDIO tristate "Meson AXG Audio Clock Controller Driver" depends on ARCH_MESON select COMMON_CLK_MESON_REGMAP select COMMON_CLK_MESON_PHASE select COMMON_CLK_MESON_SCLK_DIV select REGMAP_MMIO help Support for the audio clock controller on AmLogic A113D devices, aka axg, Say Y if you want audio subsystem to work. config COMMON_CLK_G12A bool depends on ARCH_MESON select COMMON_CLK_MESON_REGMAP select COMMON_CLK_MESON_DUALDIV select COMMON_CLK_MESON_MPLL select COMMON_CLK_MESON_PLL select COMMON_CLK_MESON_AO_CLKC select COMMON_CLK_MESON_EE_CLKC select COMMON_CLK_MESON_CPU_DYNDIV select COMMON_CLK_MESON_VID_PLL_DIV select MFD_SYSCON help Support for the clock controller on Amlogic S905D2, S905X2 and S905Y2 devices, aka g12a. Say Y if you want peripherals to work. clk/meson/Makefile 0000644 00000001577 14722053666 0010123 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Amlogic clock drivers obj-$(CONFIG_COMMON_CLK_MESON_AO_CLKC) += meson-aoclk.o obj-$(CONFIG_COMMON_CLK_MESON_CPU_DYNDIV) += clk-cpu-dyndiv.o obj-$(CONFIG_COMMON_CLK_MESON_DUALDIV) += clk-dualdiv.o obj-$(CONFIG_COMMON_CLK_MESON_EE_CLKC) += meson-eeclk.o obj-$(CONFIG_COMMON_CLK_MESON_MPLL) += clk-mpll.o obj-$(CONFIG_COMMON_CLK_MESON_PHASE) += clk-phase.o obj-$(CONFIG_COMMON_CLK_MESON_PLL) += clk-pll.o obj-$(CONFIG_COMMON_CLK_MESON_REGMAP) += clk-regmap.o obj-$(CONFIG_COMMON_CLK_MESON_SCLK_DIV) += sclk-div.o obj-$(CONFIG_COMMON_CLK_MESON_VID_PLL_DIV) += vid-pll-div.o # Amlogic Clock controllers obj-$(CONFIG_COMMON_CLK_AXG) += axg.o axg-aoclk.o obj-$(CONFIG_COMMON_CLK_AXG_AUDIO) += axg-audio.o obj-$(CONFIG_COMMON_CLK_GXBB) += gxbb.o gxbb-aoclk.o obj-$(CONFIG_COMMON_CLK_G12A) += g12a.o g12a-aoclk.o obj-$(CONFIG_COMMON_CLK_MESON8B) += meson8b.o clk/ti/Kconfig 0000644 00000000404 14722053666 0007245 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config COMMON_CLK_TI_ADPLL tristate "Clock driver for dm814x ADPLL" depends on ARCH_OMAP2PLUS || COMPILE_TEST default y if SOC_TI81XX ---help--- ADPLL clock driver for the dm814x SoC using common clock framework. clk/ti/Makefile 0000644 00000002037 14722053666 0007406 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ifeq ($(CONFIG_ARCH_OMAP2PLUS), y) obj-y += clk.o autoidle.o clockdomain.o clk-common = dpll.o composite.o divider.o gate.o \ fixed-factor.o mux.o apll.o \ clkt_dpll.o clkt_iclk.o clkt_dflt.o \ clkctrl.o obj-$(CONFIG_SOC_AM33XX) += $(clk-common) clk-33xx.o dpll3xxx.o \ clk-33xx-compat.o obj-$(CONFIG_SOC_TI81XX) += $(clk-common) fapll.o clk-814x.o clk-816x.o obj-$(CONFIG_ARCH_OMAP2) += $(clk-common) interface.o clk-2xxx.o obj-$(CONFIG_ARCH_OMAP3) += $(clk-common) interface.o \ clk-3xxx.o dpll3xxx.o obj-$(CONFIG_ARCH_OMAP4) += $(clk-common) clk-44xx.o \ dpll3xxx.o dpll44xx.o obj-$(CONFIG_SOC_OMAP5) += $(clk-common) clk-54xx.o \ dpll3xxx.o dpll44xx.o obj-$(CONFIG_SOC_DRA7XX) += $(clk-common) clk-7xx.o \ clk-dra7-atl.o dpll3xxx.o \ dpll44xx.o clk-7xx-compat.o obj-$(CONFIG_SOC_AM43XX) += $(clk-common) dpll3xxx.o clk-43xx.o \ clk-43xx-compat.o endif # CONFIG_ARCH_OMAP2PLUS obj-$(CONFIG_COMMON_CLK_TI_ADPLL) += adpll.o clk/sprd/Kconfig 0000644 00000000575 14722053666 0007612 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SPRD_COMMON_CLK tristate "Clock support for Spreadtrum SoCs" depends on ARCH_SPRD || COMPILE_TEST default ARCH_SPRD select REGMAP_MMIO if SPRD_COMMON_CLK # SoC Drivers config SPRD_SC9860_CLK tristate "Support for the Spreadtrum SC9860 clocks" depends on (ARM64 && ARCH_SPRD) || COMPILE_TEST default ARM64 && ARCH_SPRD endif clk/sprd/Makefile 0000644 00000000425 14722053666 0007741 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SPRD_COMMON_CLK) += clk-sprd.o clk-sprd-y += common.o clk-sprd-y += gate.o clk-sprd-y += mux.o clk-sprd-y += div.o clk-sprd-y += composite.o clk-sprd-y += pll.o ## SoC support obj-$(CONFIG_SPRD_SC9860_CLK) += sc9860-clk.o clk/mvebu/Kconfig 0000644 00000001516 14722053666 0007754 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MVEBU_CLK_COMMON bool config MVEBU_CLK_CPU bool config MVEBU_CLK_COREDIV bool config ARMADA_AP_CP_HELPER bool config ARMADA_370_CLK bool select MVEBU_CLK_COMMON select MVEBU_CLK_CPU config ARMADA_375_CLK bool select MVEBU_CLK_COMMON config ARMADA_38X_CLK bool select MVEBU_CLK_COMMON config ARMADA_39X_CLK bool select MVEBU_CLK_COMMON config ARMADA_37XX_CLK bool config ARMADA_XP_CLK bool select MVEBU_CLK_COMMON select MVEBU_CLK_CPU config ARMADA_AP806_SYSCON bool select ARMADA_AP_CP_HELPER config ARMADA_AP_CPU_CLK bool select ARMADA_AP_CP_HELPER config ARMADA_CP110_SYSCON bool select ARMADA_AP_CP_HELPER config DOVE_CLK bool select MVEBU_CLK_COMMON config KIRKWOOD_CLK bool select MVEBU_CLK_COMMON config ORION_CLK bool select MVEBU_CLK_COMMON clk/mvebu/Makefile 0000644 00000001632 14722053666 0010110 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MVEBU_CLK_COMMON) += common.o obj-$(CONFIG_MVEBU_CLK_CPU) += clk-cpu.o obj-$(CONFIG_MVEBU_CLK_COREDIV) += clk-corediv.o obj-$(CONFIG_ARMADA_AP_CP_HELPER) += armada_ap_cp_helper.o obj-$(CONFIG_ARMADA_370_CLK) += armada-370.o obj-$(CONFIG_ARMADA_375_CLK) += armada-375.o obj-$(CONFIG_ARMADA_38X_CLK) += armada-38x.o obj-$(CONFIG_ARMADA_39X_CLK) += armada-39x.o obj-$(CONFIG_ARMADA_37XX_CLK) += armada-37xx-xtal.o obj-$(CONFIG_ARMADA_37XX_CLK) += armada-37xx-tbg.o obj-$(CONFIG_ARMADA_37XX_CLK) += armada-37xx-periph.o obj-$(CONFIG_ARMADA_XP_CLK) += armada-xp.o mv98dx3236.o obj-$(CONFIG_ARMADA_AP806_SYSCON) += ap806-system-controller.o obj-$(CONFIG_ARMADA_AP_CPU_CLK) += ap-cpu-clk.o obj-$(CONFIG_ARMADA_CP110_SYSCON) += cp110-system-controller.o obj-$(CONFIG_DOVE_CLK) += dove.o dove-divider.o obj-$(CONFIG_KIRKWOOD_CLK) += kirkwood.o obj-$(CONFIG_ORION_CLK) += orion.o clk/imx/Kconfig 0000644 00000001372 14722053666 0007433 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # common clock support for NXP i.MX SoC family. config MXC_CLK bool def_bool ARCH_MXC config MXC_CLK_SCU bool depends on IMX_SCU config CLK_IMX8MM bool "IMX8MM CCM Clock Driver" depends on ARCH_MXC && ARM64 help Build the driver for i.MX8MM CCM Clock Driver config CLK_IMX8MN bool "IMX8MN CCM Clock Driver" depends on ARCH_MXC && ARM64 help Build the driver for i.MX8MN CCM Clock Driver config CLK_IMX8MQ bool "IMX8MQ CCM Clock Driver" depends on ARCH_MXC && ARM64 help Build the driver for i.MX8MQ CCM Clock Driver config CLK_IMX8QXP bool "IMX8QXP SCU Clock" depends on ARCH_MXC && IMX_SCU && ARM64 select MXC_CLK_SCU select MXC_CLK help Build the driver for IMX8QXP SCU based clocks. clk/imx/Makefile 0000644 00000002326 14722053666 0007570 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MXC_CLK) += \ clk.o \ clk-busy.o \ clk-composite-8m.o \ clk-cpu.o \ clk-composite-7ulp.o \ clk-divider-gate.o \ clk-fixup-div.o \ clk-fixup-mux.o \ clk-frac-pll.o \ clk-gate-exclusive.o \ clk-gate2.o \ clk-pfd.o \ clk-pfdv2.o \ clk-pllv1.o \ clk-pllv2.o \ clk-pllv3.o \ clk-pllv4.o \ clk-sccg-pll.o \ clk-pll14xx.o obj-$(CONFIG_MXC_CLK_SCU) += \ clk-scu.o \ clk-lpcg-scu.o obj-$(CONFIG_CLK_IMX8MM) += clk-imx8mm.o obj-$(CONFIG_CLK_IMX8MN) += clk-imx8mn.o obj-$(CONFIG_CLK_IMX8MQ) += clk-imx8mq.o obj-$(CONFIG_CLK_IMX8QXP) += clk-imx8qxp.o clk-imx8qxp-lpcg.o obj-$(CONFIG_SOC_IMX1) += clk-imx1.o obj-$(CONFIG_SOC_IMX21) += clk-imx21.o obj-$(CONFIG_SOC_IMX25) += clk-imx25.o obj-$(CONFIG_SOC_IMX27) += clk-imx27.o obj-$(CONFIG_SOC_IMX31) += clk-imx31.o obj-$(CONFIG_SOC_IMX35) += clk-imx35.o obj-$(CONFIG_SOC_IMX5) += clk-imx5.o obj-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o obj-$(CONFIG_SOC_IMX6SLL) += clk-imx6sll.o obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o obj-$(CONFIG_SOC_IMX6UL) += clk-imx6ul.o obj-$(CONFIG_SOC_IMX7D) += clk-imx7d.o obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o obj-$(CONFIG_SOC_VF610) += clk-vf610.o clk/Makefile 0000644 00000011256 14722053666 0006775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # common clock types obj-$(CONFIG_HAVE_CLK) += clk-devres.o clk-bulk.o obj-$(CONFIG_CLKDEV_LOOKUP) += clkdev.o obj-$(CONFIG_COMMON_CLK) += clk.o obj-$(CONFIG_COMMON_CLK) += clk-divider.o obj-$(CONFIG_COMMON_CLK) += clk-fixed-factor.o obj-$(CONFIG_COMMON_CLK) += clk-fixed-rate.o obj-$(CONFIG_COMMON_CLK) += clk-gate.o obj-$(CONFIG_COMMON_CLK) += clk-multiplier.o obj-$(CONFIG_COMMON_CLK) += clk-mux.o obj-$(CONFIG_COMMON_CLK) += clk-composite.o obj-$(CONFIG_COMMON_CLK) += clk-fractional-divider.o obj-$(CONFIG_COMMON_CLK) += clk-gpio.o ifeq ($(CONFIG_OF), y) obj-$(CONFIG_COMMON_CLK) += clk-conf.o endif # hardware specific clock types # please keep this section sorted lexicographically by file path name obj-$(CONFIG_MACH_ASM9260) += clk-asm9260.o obj-$(CONFIG_COMMON_CLK_AXI_CLKGEN) += clk-axi-clkgen.o obj-$(CONFIG_ARCH_AXXIA) += clk-axm5516.o obj-$(CONFIG_COMMON_CLK_BD718XX) += clk-bd718x7.o obj-$(CONFIG_COMMON_CLK_CDCE706) += clk-cdce706.o obj-$(CONFIG_COMMON_CLK_CDCE925) += clk-cdce925.o obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o obj-$(CONFIG_ARCH_EFM32) += clk-efm32gg.o obj-$(CONFIG_COMMON_CLK_FIXED_MMIO) += clk-fixed-mmio.o obj-$(CONFIG_COMMON_CLK_GEMINI) += clk-gemini.o obj-$(CONFIG_COMMON_CLK_ASPEED) += clk-aspeed.o obj-$(CONFIG_MACH_ASPEED_G6) += clk-ast2600.o obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o obj-$(CONFIG_CLK_HSDK) += clk-hsdk-pll.o obj-$(CONFIG_COMMON_CLK_LOCHNAGAR) += clk-lochnagar.o obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o obj-$(CONFIG_COMMON_CLK_MAX9485) += clk-max9485.o obj-$(CONFIG_ARCH_MILBEAUT_M10V) += clk-milbeaut.o obj-$(CONFIG_ARCH_MOXART) += clk-moxart.o obj-$(CONFIG_ARCH_NOMADIK) += clk-nomadik.o obj-$(CONFIG_ARCH_NPCM7XX) += clk-npcm7xx.o obj-$(CONFIG_ARCH_NSPIRE) += clk-nspire.o obj-$(CONFIG_COMMON_CLK_OXNAS) += clk-oxnas.o obj-$(CONFIG_COMMON_CLK_PALMAS) += clk-palmas.o obj-$(CONFIG_COMMON_CLK_PWM) += clk-pwm.o obj-$(CONFIG_CLK_QORIQ) += clk-qoriq.o obj-$(CONFIG_COMMON_CLK_RK808) += clk-rk808.o obj-$(CONFIG_COMMON_CLK_HI655X) += clk-hi655x.o obj-$(CONFIG_COMMON_CLK_S2MPS11) += clk-s2mps11.o obj-$(CONFIG_COMMON_CLK_SCMI) += clk-scmi.o obj-$(CONFIG_COMMON_CLK_SCPI) += clk-scpi.o obj-$(CONFIG_COMMON_CLK_SI5341) += clk-si5341.o obj-$(CONFIG_COMMON_CLK_SI5351) += clk-si5351.o obj-$(CONFIG_COMMON_CLK_SI514) += clk-si514.o obj-$(CONFIG_COMMON_CLK_SI544) += clk-si544.o obj-$(CONFIG_COMMON_CLK_SI570) += clk-si570.o obj-$(CONFIG_COMMON_CLK_STM32F) += clk-stm32f4.o obj-$(CONFIG_COMMON_CLK_STM32H7) += clk-stm32h7.o obj-$(CONFIG_COMMON_CLK_STM32MP157) += clk-stm32mp1.o obj-$(CONFIG_ARCH_TANGO) += clk-tango4.o obj-$(CONFIG_CLK_TWL6040) += clk-twl6040.o obj-$(CONFIG_ARCH_U300) += clk-u300.o obj-$(CONFIG_ARCH_VT8500) += clk-vt8500.o obj-$(CONFIG_COMMON_CLK_VC5) += clk-versaclock5.o obj-$(CONFIG_COMMON_CLK_WM831X) += clk-wm831x.o obj-$(CONFIG_COMMON_CLK_XGENE) += clk-xgene.o # please keep this section sorted lexicographically by directory path name obj-y += actions/ obj-y += analogbits/ obj-$(CONFIG_COMMON_CLK_AT91) += at91/ obj-$(CONFIG_ARCH_ARTPEC) += axis/ obj-$(CONFIG_ARC_PLAT_AXS10X) += axs10x/ obj-y += bcm/ obj-$(CONFIG_ARCH_BERLIN) += berlin/ obj-$(CONFIG_ARCH_DAVINCI) += davinci/ obj-$(CONFIG_H8300) += h8300/ obj-$(CONFIG_ARCH_HISI) += hisilicon/ obj-y += imgtec/ obj-y += imx/ obj-y += ingenic/ obj-$(CONFIG_ARCH_K3) += keystone/ obj-$(CONFIG_ARCH_KEYSTONE) += keystone/ obj-$(CONFIG_MACH_LOONGSON32) += loongson1/ obj-y += mediatek/ obj-$(CONFIG_ARCH_MESON) += meson/ obj-$(CONFIG_MACH_PIC32) += microchip/ ifeq ($(CONFIG_COMMON_CLK), y) obj-$(CONFIG_ARCH_MMP) += mmp/ endif obj-y += mvebu/ obj-$(CONFIG_ARCH_MXS) += mxs/ obj-$(CONFIG_COMMON_CLK_NXP) += nxp/ obj-$(CONFIG_MACH_PISTACHIO) += pistachio/ obj-$(CONFIG_COMMON_CLK_PXA) += pxa/ obj-$(CONFIG_COMMON_CLK_QCOM) += qcom/ obj-y += renesas/ obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/ obj-$(CONFIG_COMMON_CLK_SAMSUNG) += samsung/ obj-$(CONFIG_CLK_SIFIVE) += sifive/ obj-$(CONFIG_ARCH_SIRF) += sirf/ obj-$(CONFIG_ARCH_SOCFPGA) += socfpga/ obj-$(CONFIG_PLAT_SPEAR) += spear/ obj-$(CONFIG_ARCH_SPRD) += sprd/ obj-$(CONFIG_ARCH_STI) += st/ obj-$(CONFIG_ARCH_STRATIX10) += socfpga/ obj-$(CONFIG_ARCH_SUNXI) += sunxi/ obj-$(CONFIG_SUNXI_CCU) += sunxi-ng/ obj-$(CONFIG_ARCH_TEGRA) += tegra/ obj-y += ti/ obj-$(CONFIG_CLK_UNIPHIER) += uniphier/ obj-$(CONFIG_ARCH_U8500) += ux500/ obj-$(CONFIG_COMMON_CLK_VERSATILE) += versatile/ ifeq ($(CONFIG_COMMON_CLK), y) obj-$(CONFIG_X86) += x86/ endif obj-$(CONFIG_ARCH_ZX) += zte/ obj-$(CONFIG_ARCH_ZYNQ) += zynq/ obj-$(CONFIG_COMMON_CLK_ZYNQMP) += zynqmp/ clk/actions/Kconfig 0000644 00000001273 14722053666 0010276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CLK_ACTIONS bool "Clock driver for Actions Semi SoCs" depends on ARCH_ACTIONS || COMPILE_TEST select REGMAP_MMIO select RESET_CONTROLLER default ARCH_ACTIONS if CLK_ACTIONS # SoC Drivers config CLK_OWL_S500 bool "Support for the Actions Semi OWL S500 clocks" depends on ARCH_ACTIONS || COMPILE_TEST default ARCH_ACTIONS config CLK_OWL_S700 bool "Support for the Actions Semi OWL S700 clocks" depends on (ARM64 && ARCH_ACTIONS) || COMPILE_TEST default ARM64 && ARCH_ACTIONS config CLK_OWL_S900 bool "Support for the Actions Semi OWL S900 clocks" depends on (ARM64 && ARCH_ACTIONS) || COMPILE_TEST default ARM64 && ARCH_ACTIONS endif clk/actions/Makefile 0000644 00000000665 14722053666 0010437 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CLK_ACTIONS) += clk-owl.o clk-owl-y += owl-common.o clk-owl-y += owl-gate.o clk-owl-y += owl-mux.o clk-owl-y += owl-divider.o clk-owl-y += owl-factor.o clk-owl-y += owl-composite.o clk-owl-y += owl-pll.o clk-owl-y += owl-reset.o # SoC support obj-$(CONFIG_CLK_OWL_S500) += owl-s500.o obj-$(CONFIG_CLK_OWL_S700) += owl-s700.o obj-$(CONFIG_CLK_OWL_S900) += owl-s900.o clk/bcm/Kconfig 0000644 00000005220 14722053666 0007373 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CLK_BCM2835 bool "Broadcom BCM2835 clock support" depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST depends on COMMON_CLK default ARCH_BCM2835 || ARCH_BRCMSTB help Enable common clock framework support for Broadcom BCM2835 SoCs. config CLK_BCM_63XX bool "Broadcom BCM63xx clock support" depends on ARCH_BCM_63XX || COMPILE_TEST select COMMON_CLK_IPROC default ARCH_BCM_63XX help Enable common clock framework support for Broadcom BCM63xx DSL SoCs based on the ARM architecture config CLK_BCM_63XX_GATE bool "Broadcom BCM63xx gated clock support" depends on BMIPS_GENERIC || COMPILE_TEST default BMIPS_GENERIC help Enable common clock framework support for Broadcom BCM63xx DSL SoCs based on the MIPS architecture config CLK_BCM_KONA bool "Broadcom Kona CCU clock support" depends on ARCH_BCM_MOBILE || COMPILE_TEST default ARCH_BCM_MOBILE help Enable common clock framework support for Broadcom SoCs using "Kona" style clock control units, including those in the BCM281xx and BCM21664 families. config COMMON_CLK_IPROC bool help Enable common clock framework support for Broadcom SoCs based on the iProc architecture config CLK_BCM_CYGNUS bool "Broadcom Cygnus clock support" depends on ARCH_BCM_CYGNUS || COMPILE_TEST select COMMON_CLK_IPROC default ARCH_BCM_CYGNUS help Enable common clock framework support for the Broadcom Cygnus SoC config CLK_BCM_HR2 bool "Broadcom Hurricane 2 clock support" depends on ARCH_BCM_HR2 || COMPILE_TEST select COMMON_CLK_IPROC default ARCH_BCM_HR2 help Enable common clock framework support for the Broadcom Hurricane 2 SoC config CLK_BCM_NSP bool "Broadcom Northstar/Northstar Plus clock support" depends on ARCH_BCM_5301X || ARCH_BCM_NSP || COMPILE_TEST select COMMON_CLK_IPROC default ARCH_BCM_5301X || ARCH_BCM_NSP help Enable common clock framework support for the Broadcom Northstar and Northstar Plus SoCs config CLK_BCM_NS2 bool "Broadcom Northstar 2 clock support" depends on ARCH_BCM_IPROC || COMPILE_TEST select COMMON_CLK_IPROC default ARCH_BCM_IPROC help Enable common clock framework support for the Broadcom Northstar 2 SoC config CLK_BCM_SR bool "Broadcom Stingray clock support" depends on ARCH_BCM_IPROC || COMPILE_TEST select COMMON_CLK_IPROC default ARCH_BCM_IPROC help Enable common clock framework support for the Broadcom Stingray SoC config CLK_RASPBERRYPI tristate "Raspberry Pi firmware based clock support" depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) help Enable common clock framework support for Raspberry Pi's firmware dependent clocks clk/bcm/Makefile 0000644 00000001424 14722053666 0007532 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CLK_BCM_63XX) += clk-bcm63xx.o obj-$(CONFIG_CLK_BCM_63XX_GATE) += clk-bcm63xx-gate.o obj-$(CONFIG_CLK_BCM_KONA) += clk-kona.o obj-$(CONFIG_CLK_BCM_KONA) += clk-kona-setup.o obj-$(CONFIG_CLK_BCM_KONA) += clk-bcm281xx.o obj-$(CONFIG_CLK_BCM_KONA) += clk-bcm21664.o obj-$(CONFIG_COMMON_CLK_IPROC) += clk-iproc-armpll.o clk-iproc-pll.o clk-iproc-asiu.o obj-$(CONFIG_CLK_BCM2835) += clk-bcm2835.o obj-$(CONFIG_CLK_BCM2835) += clk-bcm2835-aux.o obj-$(CONFIG_CLK_RASPBERRYPI) += clk-raspberrypi.o obj-$(CONFIG_ARCH_BCM_53573) += clk-bcm53573-ilp.o obj-$(CONFIG_CLK_BCM_CYGNUS) += clk-cygnus.o obj-$(CONFIG_CLK_BCM_HR2) += clk-hr2.o obj-$(CONFIG_CLK_BCM_NSP) += clk-nsp.o obj-$(CONFIG_CLK_BCM_NS2) += clk-ns2.o obj-$(CONFIG_CLK_BCM_SR) += clk-sr.o clk/renesas/Kconfig 0000644 00000011645 14722053666 0010302 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config CLK_RENESAS bool "Renesas SoC clock support" if COMPILE_TEST && !ARCH_RENESAS default y if ARCH_RENESAS select CLK_EMEV2 if ARCH_EMEV2 select CLK_RZA1 if ARCH_R7S72100 select CLK_R7S9210 if ARCH_R7S9210 select CLK_R8A73A4 if ARCH_R8A73A4 select CLK_R8A7740 if ARCH_R8A7740 select CLK_R8A7743 if ARCH_R8A7743 || ARCH_R8A7744 select CLK_R8A7745 if ARCH_R8A7745 select CLK_R8A77470 if ARCH_R8A77470 select CLK_R8A774A1 if ARCH_R8A774A1 select CLK_R8A774C0 if ARCH_R8A774C0 select CLK_R8A7778 if ARCH_R8A7778 select CLK_R8A7779 if ARCH_R8A7779 select CLK_R8A7790 if ARCH_R8A7790 select CLK_R8A7791 if ARCH_R8A7791 || ARCH_R8A7793 select CLK_R8A7792 if ARCH_R8A7792 select CLK_R8A7794 if ARCH_R8A7794 select CLK_R8A7795 if ARCH_R8A7795 select CLK_R8A7796 if ARCH_R8A7796 select CLK_R8A77965 if ARCH_R8A77965 select CLK_R8A77970 if ARCH_R8A77970 select CLK_R8A77980 if ARCH_R8A77980 select CLK_R8A77990 if ARCH_R8A77990 select CLK_R8A77995 if ARCH_R8A77995 select CLK_R9A06G032 if ARCH_R9A06G032 select CLK_SH73A0 if ARCH_SH73A0 if CLK_RENESAS config CLK_RENESAS_LEGACY bool "Legacy DT clock support" depends on CLK_R8A7790 || CLK_R8A7791 || CLK_R8A7792 || CLK_R8A7794 help Enable backward compatibility with old device trees describing a hierarchical representation of the various CPG and MSTP clocks. Say Y if you want your kernel to work with old DTBs. It is safe to say N if you use the DTS that is supplied with the current kernel source tree. # SoC config CLK_EMEV2 bool "Emma Mobile EV2 clock support" if COMPILE_TEST config CLK_RZA1 bool "RZ/A1H clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSTP config CLK_R7S9210 bool "RZ/A2 clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSSR config CLK_R8A73A4 bool "R-Mobile APE6 clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSTP select CLK_RENESAS_DIV6 config CLK_R8A7740 bool "R-Mobile A1 clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSTP select CLK_RENESAS_DIV6 config CLK_R8A7743 bool "RZ/G1M clock support" if COMPILE_TEST select CLK_RCAR_GEN2_CPG config CLK_R8A7745 bool "RZ/G1E clock support" if COMPILE_TEST select CLK_RCAR_GEN2_CPG config CLK_R8A77470 bool "RZ/G1C clock support" if COMPILE_TEST select CLK_RCAR_GEN2_CPG config CLK_R8A774A1 bool "RZ/G2M clock support" if COMPILE_TEST select CLK_RCAR_GEN3_CPG config CLK_R8A774C0 bool "RZ/G2E clock support" if COMPILE_TEST select CLK_RCAR_GEN3_CPG config CLK_R8A7778 bool "R-Car M1A clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSTP config CLK_R8A7779 bool "R-Car H1 clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSTP config CLK_R8A7790 bool "R-Car H2 clock support" if COMPILE_TEST select CLK_RCAR_GEN2 if CLK_RENESAS_LEGACY select CLK_RCAR_GEN2_CPG select CLK_RENESAS_DIV6 config CLK_R8A7791 bool "R-Car M2-W/N clock support" if COMPILE_TEST select CLK_RCAR_GEN2 if CLK_RENESAS_LEGACY select CLK_RCAR_GEN2_CPG select CLK_RENESAS_DIV6 config CLK_R8A7792 bool "R-Car V2H clock support" if COMPILE_TEST select CLK_RCAR_GEN2 if CLK_RENESAS_LEGACY select CLK_RCAR_GEN2_CPG config CLK_R8A7794 bool "R-Car E2 clock support" if COMPILE_TEST select CLK_RCAR_GEN2 if CLK_RENESAS_LEGACY select CLK_RCAR_GEN2_CPG select CLK_RENESAS_DIV6 config CLK_R8A7795 bool "R-Car H3 clock support" if COMPILE_TEST select CLK_RCAR_GEN3_CPG config CLK_R8A7796 bool "R-Car M3-W clock support" if COMPILE_TEST select CLK_RCAR_GEN3_CPG config CLK_R8A77965 bool "R-Car M3-N clock support" if COMPILE_TEST select CLK_RCAR_GEN3_CPG config CLK_R8A77970 bool "R-Car V3M clock support" if COMPILE_TEST select CLK_RCAR_GEN3_CPG config CLK_R8A77980 bool "R-Car V3H clock support" if COMPILE_TEST select CLK_RCAR_GEN3_CPG config CLK_R8A77990 bool "R-Car E3 clock support" if COMPILE_TEST select CLK_RCAR_GEN3_CPG config CLK_R8A77995 bool "R-Car D3 clock support" if COMPILE_TEST select CLK_RCAR_GEN3_CPG config CLK_R9A06G032 bool "Renesas R9A06G032 clock driver" help This is a driver for R9A06G032 clocks config CLK_SH73A0 bool "SH-Mobile AG5 clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSTP select CLK_RENESAS_DIV6 # Family config CLK_RCAR_GEN2 bool "R-Car Gen2 legacy clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSTP select CLK_RENESAS_DIV6 config CLK_RCAR_GEN2_CPG bool "R-Car Gen2 CPG clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSSR config CLK_RCAR_GEN3_CPG bool "R-Car Gen3 CPG clock support" if COMPILE_TEST select CLK_RENESAS_CPG_MSSR config CLK_RCAR_USB2_CLOCK_SEL bool "Renesas R-Car USB2 clock selector support" depends on ARCH_RENESAS || COMPILE_TEST help This is a driver for R-Car USB2 clock selector # Generic config CLK_RENESAS_CPG_MSSR bool "CPG/MSSR clock support" if COMPILE_TEST select CLK_RENESAS_DIV6 config CLK_RENESAS_CPG_MSTP bool "MSTP clock support" if COMPILE_TEST config CLK_RENESAS_DIV6 bool "DIV6 clock support" if COMPILE_TEST endif # CLK_RENESAS clk/renesas/Makefile 0000644 00000003131 14722053666 0010426 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # SoC obj-$(CONFIG_CLK_EMEV2) += clk-emev2.o obj-$(CONFIG_CLK_RZA1) += clk-rz.o obj-$(CONFIG_CLK_R7S9210) += r7s9210-cpg-mssr.o obj-$(CONFIG_CLK_R8A73A4) += clk-r8a73a4.o obj-$(CONFIG_CLK_R8A7740) += clk-r8a7740.o obj-$(CONFIG_CLK_R8A7743) += r8a7743-cpg-mssr.o obj-$(CONFIG_CLK_R8A7745) += r8a7745-cpg-mssr.o obj-$(CONFIG_CLK_R8A77470) += r8a77470-cpg-mssr.o obj-$(CONFIG_CLK_R8A774A1) += r8a774a1-cpg-mssr.o obj-$(CONFIG_CLK_R8A774C0) += r8a774c0-cpg-mssr.o obj-$(CONFIG_CLK_R8A7778) += clk-r8a7778.o obj-$(CONFIG_CLK_R8A7779) += clk-r8a7779.o obj-$(CONFIG_CLK_R8A7790) += r8a7790-cpg-mssr.o obj-$(CONFIG_CLK_R8A7791) += r8a7791-cpg-mssr.o obj-$(CONFIG_CLK_R8A7792) += r8a7792-cpg-mssr.o obj-$(CONFIG_CLK_R8A7794) += r8a7794-cpg-mssr.o obj-$(CONFIG_CLK_R8A7795) += r8a7795-cpg-mssr.o obj-$(CONFIG_CLK_R8A7796) += r8a7796-cpg-mssr.o obj-$(CONFIG_CLK_R8A77965) += r8a77965-cpg-mssr.o obj-$(CONFIG_CLK_R8A77970) += r8a77970-cpg-mssr.o obj-$(CONFIG_CLK_R8A77980) += r8a77980-cpg-mssr.o obj-$(CONFIG_CLK_R8A77990) += r8a77990-cpg-mssr.o obj-$(CONFIG_CLK_R8A77995) += r8a77995-cpg-mssr.o obj-$(CONFIG_CLK_R9A06G032) += r9a06g032-clocks.o obj-$(CONFIG_CLK_SH73A0) += clk-sh73a0.o # Family obj-$(CONFIG_CLK_RCAR_GEN2) += clk-rcar-gen2.o obj-$(CONFIG_CLK_RCAR_GEN2_CPG) += rcar-gen2-cpg.o obj-$(CONFIG_CLK_RCAR_GEN3_CPG) += rcar-gen3-cpg.o obj-$(CONFIG_CLK_RCAR_USB2_CLOCK_SEL) += rcar-usb2-clock-sel.o # Generic obj-$(CONFIG_CLK_RENESAS_CPG_MSSR) += renesas-cpg-mssr.o obj-$(CONFIG_CLK_RENESAS_CPG_MSTP) += clk-mstp.o obj-$(CONFIG_CLK_RENESAS_DIV6) += clk-div6.o clk/imgtec/Kconfig 0000644 00000000621 14722053666 0010102 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config COMMON_CLK_BOSTON bool "Clock driver for MIPS Boston boards" depends on MIPS || COMPILE_TEST select MFD_SYSCON ---help--- Enable this to support the system & CPU clocks on the MIPS Boston development board from Imagination Technologies. These are simple fixed rate clocks whose rate is determined by reading a platform provided register. clk/imgtec/Makefile 0000644 00000000131 14722053666 0010233 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_COMMON_CLK_BOSTON) += clk-boston.o clk/analogbits/Kconfig 0000644 00000000123 14722053666 0010752 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CLK_ANALOGBITS_WRPLL_CLN28HPC bool clk/analogbits/Makefile 0000644 00000000144 14722053666 0011112 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CLK_ANALOGBITS_WRPLL_CLN28HPC) += wrpll-cln28hpc.o clk/socfpga/Makefile 0000644 00000000455 14722053666 0010416 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_ARCH_SOCFPGA) += clk.o clk-gate.o clk-pll.o clk-periph.o obj-$(CONFIG_ARCH_SOCFPGA) += clk-pll-a10.o clk-periph-a10.o clk-gate-a10.o obj-$(CONFIG_ARCH_STRATIX10) += clk-s10.o obj-$(CONFIG_ARCH_STRATIX10) += clk-pll-s10.o clk-periph-s10.o clk-gate-s10.o clk/h8300/Makefile 0000644 00000000142 14722053666 0007527 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += clk-div.o obj-$(CONFIG_H8S2678) += clk-h8s2678.o clk/hisilicon/Kconfig 0000644 00000003312 14722053666 0010613 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config COMMON_CLK_HI3516CV300 tristate "HI3516CV300 Clock Driver" depends on ARCH_HISI || COMPILE_TEST select RESET_HISI default ARCH_HISI help Build the clock driver for hi3516cv300. config COMMON_CLK_HI3519 tristate "Hi3519 Clock Driver" depends on ARCH_HISI || COMPILE_TEST select RESET_HISI default ARCH_HISI help Build the clock driver for hi3519. config COMMON_CLK_HI3660 bool "Hi3660 Clock Driver" depends on ARCH_HISI || COMPILE_TEST default ARCH_HISI help Build the clock driver for hi3660. config COMMON_CLK_HI3670 bool "Hi3670 Clock Driver" depends on ARCH_HISI || COMPILE_TEST default ARCH_HISI help Build the clock driver for hi3670. config COMMON_CLK_HI3798CV200 tristate "Hi3798CV200 Clock Driver" depends on ARCH_HISI || COMPILE_TEST select RESET_HISI default ARCH_HISI help Build the clock driver for hi3798cv200. config COMMON_CLK_HI6220 bool "Hi6220 Clock Driver" depends on ARCH_HISI || COMPILE_TEST default ARCH_HISI help Build the Hisilicon Hi6220 clock driver based on the common clock framework. config RESET_HISI bool "HiSilicon Reset Controller Driver" depends on ARCH_HISI || COMPILE_TEST select RESET_CONTROLLER help Build reset controller driver for HiSilicon device chipsets. config STUB_CLK_HI6220 bool "Hi6220 Stub Clock Driver" if EXPERT depends on (COMMON_CLK_HI6220 || COMPILE_TEST) depends on MAILBOX default COMMON_CLK_HI6220 help Build the Hisilicon Hi6220 stub clock driver. config STUB_CLK_HI3660 bool "Hi3660 Stub Clock Driver" if EXPERT depends on (COMMON_CLK_HI3660 || COMPILE_TEST) depends on MAILBOX default COMMON_CLK_HI3660 help Build the Hisilicon Hi3660 stub clock driver. clk/hisilicon/Makefile 0000644 00000001321 14722053666 0010746 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Hisilicon Clock specific Makefile # obj-y += clk.o clkgate-separated.o clkdivider-hi6220.o clk-hisi-phase.o obj-$(CONFIG_ARCH_HI3xxx) += clk-hi3620.o obj-$(CONFIG_ARCH_HIP04) += clk-hip04.o obj-$(CONFIG_ARCH_HIX5HD2) += clk-hix5hd2.o obj-$(CONFIG_COMMON_CLK_HI3516CV300) += crg-hi3516cv300.o obj-$(CONFIG_COMMON_CLK_HI3519) += clk-hi3519.o obj-$(CONFIG_COMMON_CLK_HI3660) += clk-hi3660.o obj-$(CONFIG_COMMON_CLK_HI3670) += clk-hi3670.o obj-$(CONFIG_COMMON_CLK_HI3798CV200) += crg-hi3798cv200.o obj-$(CONFIG_COMMON_CLK_HI6220) += clk-hi6220.o obj-$(CONFIG_RESET_HISI) += reset.o obj-$(CONFIG_STUB_CLK_HI6220) += clk-hi6220-stub.o obj-$(CONFIG_STUB_CLK_HI3660) += clk-hi3660-stub.o clk/at91/Makefile 0000644 00000001462 14722053666 0007551 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for at91 specific clk # obj-y += pmc.o sckc.o dt-compat.o obj-y += clk-slow.o clk-main.o clk-pll.o clk-plldiv.o clk-master.o obj-y += clk-system.o clk-peripheral.o clk-programmable.o obj-$(CONFIG_HAVE_AT91_AUDIO_PLL) += clk-audio-pll.o obj-$(CONFIG_HAVE_AT91_UTMI) += clk-utmi.o obj-$(CONFIG_HAVE_AT91_USB_CLK) += clk-usb.o obj-$(CONFIG_HAVE_AT91_SMD) += clk-smd.o obj-$(CONFIG_HAVE_AT91_H32MX) += clk-h32mx.o obj-$(CONFIG_HAVE_AT91_GENERATED_CLK) += clk-generated.o obj-$(CONFIG_HAVE_AT91_I2S_MUX_CLK) += clk-i2s-mux.o obj-$(CONFIG_HAVE_AT91_SAM9X60_PLL) += clk-sam9x60-pll.o obj-$(CONFIG_SOC_AT91SAM9) += at91sam9260.o at91sam9rl.o at91sam9x5.o obj-$(CONFIG_SOC_SAM9X60) += sam9x60.o obj-$(CONFIG_SOC_SAMA5D4) += sama5d4.o obj-$(CONFIG_SOC_SAMA5D2) += sama5d2.o clk/mediatek/Kconfig 0000644 00000025123 14722053666 0010421 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MediaTek Clock Drivers # menu "Clock driver for MediaTek SoC" depends on ARCH_MEDIATEK || COMPILE_TEST config COMMON_CLK_MEDIATEK bool select RESET_CONTROLLER ---help--- MediaTek SoCs' clock support. config COMMON_CLK_MT2701 bool "Clock driver for MediaTek MT2701" depends on (ARCH_MEDIATEK && ARM) || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK && ARM ---help--- This driver supports MediaTek MT2701 basic clocks. config COMMON_CLK_MT2701_MMSYS bool "Clock driver for MediaTek MT2701 mmsys" depends on COMMON_CLK_MT2701 ---help--- This driver supports MediaTek MT2701 mmsys clocks. config COMMON_CLK_MT2701_IMGSYS bool "Clock driver for MediaTek MT2701 imgsys" depends on COMMON_CLK_MT2701 ---help--- This driver supports MediaTek MT2701 imgsys clocks. config COMMON_CLK_MT2701_VDECSYS bool "Clock driver for MediaTek MT2701 vdecsys" depends on COMMON_CLK_MT2701 ---help--- This driver supports MediaTek MT2701 vdecsys clocks. config COMMON_CLK_MT2701_HIFSYS bool "Clock driver for MediaTek MT2701 hifsys" depends on COMMON_CLK_MT2701 ---help--- This driver supports MediaTek MT2701 hifsys clocks. config COMMON_CLK_MT2701_ETHSYS bool "Clock driver for MediaTek MT2701 ethsys" depends on COMMON_CLK_MT2701 ---help--- This driver supports MediaTek MT2701 ethsys clocks. config COMMON_CLK_MT2701_BDPSYS bool "Clock driver for MediaTek MT2701 bdpsys" depends on COMMON_CLK_MT2701 ---help--- This driver supports MediaTek MT2701 bdpsys clocks. config COMMON_CLK_MT2701_AUDSYS bool "Clock driver for Mediatek MT2701 audsys" depends on COMMON_CLK_MT2701 ---help--- This driver supports Mediatek MT2701 audsys clocks. config COMMON_CLK_MT2701_G3DSYS bool "Clock driver for MediaTek MT2701 g3dsys" depends on COMMON_CLK_MT2701 ---help--- This driver supports MediaTek MT2701 g3dsys clocks. config COMMON_CLK_MT2712 bool "Clock driver for MediaTek MT2712" depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK && ARM64 ---help--- This driver supports MediaTek MT2712 basic clocks. config COMMON_CLK_MT2712_BDPSYS bool "Clock driver for MediaTek MT2712 bdpsys" depends on COMMON_CLK_MT2712 ---help--- This driver supports MediaTek MT2712 bdpsys clocks. config COMMON_CLK_MT2712_IMGSYS bool "Clock driver for MediaTek MT2712 imgsys" depends on COMMON_CLK_MT2712 ---help--- This driver supports MediaTek MT2712 imgsys clocks. config COMMON_CLK_MT2712_JPGDECSYS bool "Clock driver for MediaTek MT2712 jpgdecsys" depends on COMMON_CLK_MT2712 ---help--- This driver supports MediaTek MT2712 jpgdecsys clocks. config COMMON_CLK_MT2712_MFGCFG bool "Clock driver for MediaTek MT2712 mfgcfg" depends on COMMON_CLK_MT2712 ---help--- This driver supports MediaTek MT2712 mfgcfg clocks. config COMMON_CLK_MT2712_MMSYS bool "Clock driver for MediaTek MT2712 mmsys" depends on COMMON_CLK_MT2712 ---help--- This driver supports MediaTek MT2712 mmsys clocks. config COMMON_CLK_MT2712_VDECSYS bool "Clock driver for MediaTek MT2712 vdecsys" depends on COMMON_CLK_MT2712 ---help--- This driver supports MediaTek MT2712 vdecsys clocks. config COMMON_CLK_MT2712_VENCSYS bool "Clock driver for MediaTek MT2712 vencsys" depends on COMMON_CLK_MT2712 ---help--- This driver supports MediaTek MT2712 vencsys clocks. config COMMON_CLK_MT6779 bool "Clock driver for MediaTek MT6779" depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK && ARM64 help This driver supports MediaTek MT6779 basic clocks. config COMMON_CLK_MT6779_MMSYS bool "Clock driver for MediaTek MT6779 mmsys" depends on COMMON_CLK_MT6779 help This driver supports MediaTek MT6779 mmsys clocks. config COMMON_CLK_MT6779_IMGSYS bool "Clock driver for MediaTek MT6779 imgsys" depends on COMMON_CLK_MT6779 help This driver supports MediaTek MT6779 imgsys clocks. config COMMON_CLK_MT6779_IPESYS bool "Clock driver for MediaTek MT6779 ipesys" depends on COMMON_CLK_MT6779 help This driver supports MediaTek MT6779 ipesys clocks. config COMMON_CLK_MT6779_CAMSYS bool "Clock driver for MediaTek MT6779 camsys" depends on COMMON_CLK_MT6779 help This driver supports MediaTek MT6779 camsys clocks. config COMMON_CLK_MT6779_VDECSYS bool "Clock driver for MediaTek MT6779 vdecsys" depends on COMMON_CLK_MT6779 help This driver supports MediaTek MT6779 vdecsys clocks. config COMMON_CLK_MT6779_VENCSYS bool "Clock driver for MediaTek MT6779 vencsys" depends on COMMON_CLK_MT6779 help This driver supports MediaTek MT6779 vencsys clocks. config COMMON_CLK_MT6779_MFGCFG bool "Clock driver for MediaTek MT6779 mfgcfg" depends on COMMON_CLK_MT6779 help This driver supports MediaTek MT6779 mfgcfg clocks. config COMMON_CLK_MT6779_AUDSYS bool "Clock driver for Mediatek MT6779 audsys" depends on COMMON_CLK_MT6779 help This driver supports Mediatek MT6779 audsys clocks. config COMMON_CLK_MT6797 bool "Clock driver for MediaTek MT6797" depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK && ARM64 ---help--- This driver supports MediaTek MT6797 basic clocks. config COMMON_CLK_MT6797_MMSYS bool "Clock driver for MediaTek MT6797 mmsys" depends on COMMON_CLK_MT6797 ---help--- This driver supports MediaTek MT6797 mmsys clocks. config COMMON_CLK_MT6797_IMGSYS bool "Clock driver for MediaTek MT6797 imgsys" depends on COMMON_CLK_MT6797 ---help--- This driver supports MediaTek MT6797 imgsys clocks. config COMMON_CLK_MT6797_VDECSYS bool "Clock driver for MediaTek MT6797 vdecsys" depends on COMMON_CLK_MT6797 ---help--- This driver supports MediaTek MT6797 vdecsys clocks. config COMMON_CLK_MT6797_VENCSYS bool "Clock driver for MediaTek MT6797 vencsys" depends on COMMON_CLK_MT6797 ---help--- This driver supports MediaTek MT6797 vencsys clocks. config COMMON_CLK_MT7622 bool "Clock driver for MediaTek MT7622" depends on ARCH_MEDIATEK || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK ---help--- This driver supports MediaTek MT7622 basic clocks and clocks required for various periperals found on MediaTek. config COMMON_CLK_MT7622_ETHSYS bool "Clock driver for MediaTek MT7622 ETHSYS" depends on COMMON_CLK_MT7622 ---help--- This driver add support for clocks for Ethernet and SGMII required on MediaTek MT7622 SoC. config COMMON_CLK_MT7622_HIFSYS bool "Clock driver for MediaTek MT7622 HIFSYS" depends on COMMON_CLK_MT7622 ---help--- This driver supports MediaTek MT7622 HIFSYS clocks providing to PCI-E and USB. config COMMON_CLK_MT7622_AUDSYS bool "Clock driver for MediaTek MT7622 AUDSYS" depends on COMMON_CLK_MT7622 ---help--- This driver supports MediaTek MT7622 AUDSYS clocks providing to audio consumers such as I2S and TDM. config COMMON_CLK_MT7629 bool "Clock driver for MediaTek MT7629" depends on (ARCH_MEDIATEK && ARM) || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK && ARM ---help--- This driver supports MediaTek MT7629 basic clocks and clocks required for various periperals found on MediaTek. config COMMON_CLK_MT7629_ETHSYS bool "Clock driver for MediaTek MT7629 ETHSYS" depends on COMMON_CLK_MT7629 ---help--- This driver add support for clocks for Ethernet and SGMII required on MediaTek MT7629 SoC. config COMMON_CLK_MT7629_HIFSYS bool "Clock driver for MediaTek MT7629 HIFSYS" depends on COMMON_CLK_MT7629 ---help--- This driver supports MediaTek MT7629 HIFSYS clocks providing to PCI-E and USB. config COMMON_CLK_MT8135 bool "Clock driver for MediaTek MT8135" depends on (ARCH_MEDIATEK && ARM) || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK && ARM ---help--- This driver supports MediaTek MT8135 clocks. config COMMON_CLK_MT8173 bool "Clock driver for MediaTek MT8173" depends on ARCH_MEDIATEK || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK ---help--- This driver supports MediaTek MT8173 clocks. config COMMON_CLK_MT8183 bool "Clock driver for MediaTek MT8183" depends on (ARCH_MEDIATEK && ARM64) || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK && ARM64 help This driver supports MediaTek MT8183 basic clocks. config COMMON_CLK_MT8183_AUDIOSYS bool "Clock driver for MediaTek MT8183 audiosys" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 audiosys clocks. config COMMON_CLK_MT8183_CAMSYS bool "Clock driver for MediaTek MT8183 camsys" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 camsys clocks. config COMMON_CLK_MT8183_IMGSYS bool "Clock driver for MediaTek MT8183 imgsys" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 imgsys clocks. config COMMON_CLK_MT8183_IPU_CORE0 bool "Clock driver for MediaTek MT8183 ipu_core0" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 ipu_core0 clocks. config COMMON_CLK_MT8183_IPU_CORE1 bool "Clock driver for MediaTek MT8183 ipu_core1" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 ipu_core1 clocks. config COMMON_CLK_MT8183_IPU_ADL bool "Clock driver for MediaTek MT8183 ipu_adl" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 ipu_adl clocks. config COMMON_CLK_MT8183_IPU_CONN bool "Clock driver for MediaTek MT8183 ipu_conn" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 ipu_conn clocks. config COMMON_CLK_MT8183_MFGCFG bool "Clock driver for MediaTek MT8183 mfgcfg" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 mfgcfg clocks. config COMMON_CLK_MT8183_MMSYS bool "Clock driver for MediaTek MT8183 mmsys" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 mmsys clocks. config COMMON_CLK_MT8183_VDECSYS bool "Clock driver for MediaTek MT8183 vdecsys" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 vdecsys clocks. config COMMON_CLK_MT8183_VENCSYS bool "Clock driver for MediaTek MT8183 vencsys" depends on COMMON_CLK_MT8183 help This driver supports MediaTek MT8183 vencsys clocks. config COMMON_CLK_MT8516 bool "Clock driver for MediaTek MT8516" depends on ARCH_MEDIATEK || COMPILE_TEST select COMMON_CLK_MEDIATEK default ARCH_MEDIATEK help This driver supports MediaTek MT8516 clocks. config COMMON_CLK_MT8516_AUDSYS bool "Clock driver for MediaTek MT8516 audsys" depends on COMMON_CLK_MT8516 help This driver supports MediaTek MT8516 audsys clocks. endmenu clk/mediatek/Makefile 0000644 00000006302 14722053666 0010554 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_COMMON_CLK_MEDIATEK) += clk-mtk.o clk-pll.o clk-gate.o clk-apmixed.o clk-cpumux.o reset.o clk-mux.o obj-$(CONFIG_COMMON_CLK_MT6779) += clk-mt6779.o obj-$(CONFIG_COMMON_CLK_MT6779_MMSYS) += clk-mt6779-mm.o obj-$(CONFIG_COMMON_CLK_MT6779_IMGSYS) += clk-mt6779-img.o obj-$(CONFIG_COMMON_CLK_MT6779_IPESYS) += clk-mt6779-ipe.o obj-$(CONFIG_COMMON_CLK_MT6779_CAMSYS) += clk-mt6779-cam.o obj-$(CONFIG_COMMON_CLK_MT6779_VDECSYS) += clk-mt6779-vdec.o obj-$(CONFIG_COMMON_CLK_MT6779_VENCSYS) += clk-mt6779-venc.o obj-$(CONFIG_COMMON_CLK_MT6779_MFGCFG) += clk-mt6779-mfg.o obj-$(CONFIG_COMMON_CLK_MT6779_AUDSYS) += clk-mt6779-aud.o obj-$(CONFIG_COMMON_CLK_MT6797) += clk-mt6797.o obj-$(CONFIG_COMMON_CLK_MT6797_IMGSYS) += clk-mt6797-img.o obj-$(CONFIG_COMMON_CLK_MT6797_MMSYS) += clk-mt6797-mm.o obj-$(CONFIG_COMMON_CLK_MT6797_VDECSYS) += clk-mt6797-vdec.o obj-$(CONFIG_COMMON_CLK_MT6797_VENCSYS) += clk-mt6797-venc.o obj-$(CONFIG_COMMON_CLK_MT2701) += clk-mt2701.o obj-$(CONFIG_COMMON_CLK_MT2701_AUDSYS) += clk-mt2701-aud.o obj-$(CONFIG_COMMON_CLK_MT2701_BDPSYS) += clk-mt2701-bdp.o obj-$(CONFIG_COMMON_CLK_MT2701_ETHSYS) += clk-mt2701-eth.o obj-$(CONFIG_COMMON_CLK_MT2701_G3DSYS) += clk-mt2701-g3d.o obj-$(CONFIG_COMMON_CLK_MT2701_HIFSYS) += clk-mt2701-hif.o obj-$(CONFIG_COMMON_CLK_MT2701_IMGSYS) += clk-mt2701-img.o obj-$(CONFIG_COMMON_CLK_MT2701_MMSYS) += clk-mt2701-mm.o obj-$(CONFIG_COMMON_CLK_MT2701_VDECSYS) += clk-mt2701-vdec.o obj-$(CONFIG_COMMON_CLK_MT2712) += clk-mt2712.o obj-$(CONFIG_COMMON_CLK_MT2712_BDPSYS) += clk-mt2712-bdp.o obj-$(CONFIG_COMMON_CLK_MT2712_IMGSYS) += clk-mt2712-img.o obj-$(CONFIG_COMMON_CLK_MT2712_JPGDECSYS) += clk-mt2712-jpgdec.o obj-$(CONFIG_COMMON_CLK_MT2712_MFGCFG) += clk-mt2712-mfg.o obj-$(CONFIG_COMMON_CLK_MT2712_MMSYS) += clk-mt2712-mm.o obj-$(CONFIG_COMMON_CLK_MT2712_VDECSYS) += clk-mt2712-vdec.o obj-$(CONFIG_COMMON_CLK_MT2712_VENCSYS) += clk-mt2712-venc.o obj-$(CONFIG_COMMON_CLK_MT7622) += clk-mt7622.o obj-$(CONFIG_COMMON_CLK_MT7622_ETHSYS) += clk-mt7622-eth.o obj-$(CONFIG_COMMON_CLK_MT7622_HIFSYS) += clk-mt7622-hif.o obj-$(CONFIG_COMMON_CLK_MT7622_AUDSYS) += clk-mt7622-aud.o obj-$(CONFIG_COMMON_CLK_MT7629) += clk-mt7629.o obj-$(CONFIG_COMMON_CLK_MT7629_ETHSYS) += clk-mt7629-eth.o obj-$(CONFIG_COMMON_CLK_MT7629_HIFSYS) += clk-mt7629-hif.o obj-$(CONFIG_COMMON_CLK_MT8135) += clk-mt8135.o obj-$(CONFIG_COMMON_CLK_MT8173) += clk-mt8173.o obj-$(CONFIG_COMMON_CLK_MT8183) += clk-mt8183.o obj-$(CONFIG_COMMON_CLK_MT8183_AUDIOSYS) += clk-mt8183-audio.o obj-$(CONFIG_COMMON_CLK_MT8183_CAMSYS) += clk-mt8183-cam.o obj-$(CONFIG_COMMON_CLK_MT8183_IMGSYS) += clk-mt8183-img.o obj-$(CONFIG_COMMON_CLK_MT8183_IPU_CORE0) += clk-mt8183-ipu0.o obj-$(CONFIG_COMMON_CLK_MT8183_IPU_CORE1) += clk-mt8183-ipu1.o obj-$(CONFIG_COMMON_CLK_MT8183_IPU_ADL) += clk-mt8183-ipu_adl.o obj-$(CONFIG_COMMON_CLK_MT8183_IPU_CONN) += clk-mt8183-ipu_conn.o obj-$(CONFIG_COMMON_CLK_MT8183_MFGCFG) += clk-mt8183-mfgcfg.o obj-$(CONFIG_COMMON_CLK_MT8183_MMSYS) += clk-mt8183-mm.o obj-$(CONFIG_COMMON_CLK_MT8183_VDECSYS) += clk-mt8183-vdec.o obj-$(CONFIG_COMMON_CLK_MT8183_VENCSYS) += clk-mt8183-venc.o obj-$(CONFIG_COMMON_CLK_MT8516) += clk-mt8516.o obj-$(CONFIG_COMMON_CLK_MT8516_AUDSYS) += clk-mt8516-aud.o clk/rockchip/Makefile 0000644 00000001023 14722053666 0010566 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Rockchip Clock specific Makefile # obj-y += clk.o obj-y += clk-pll.o obj-y += clk-cpu.o obj-y += clk-half-divider.o obj-y += clk-inverter.o obj-y += clk-mmc-phase.o obj-y += clk-muxgrf.o obj-y += clk-ddr.o obj-$(CONFIG_RESET_CONTROLLER) += softrst.o obj-y += clk-px30.o obj-y += clk-rv1108.o obj-y += clk-rk3036.o obj-y += clk-rk3128.o obj-y += clk-rk3188.o obj-y += clk-rk3228.o obj-y += clk-rk3288.o obj-y += clk-rk3308.o obj-y += clk-rk3328.o obj-y += clk-rk3368.o obj-y += clk-rk3399.o clk/samsung/Kconfig 0000644 00000002734 14722053666 0010316 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Recent Exynos platforms should just select COMMON_CLK_SAMSUNG: config COMMON_CLK_SAMSUNG bool "Samsung Exynos clock controller support" if COMPILE_TEST # Clocks on ARM64 SoCs (e.g. Exynos5433, Exynos7) are chosen by # EXYNOS_ARM64_COMMON_CLK to avoid building them on ARMv7: select EXYNOS_ARM64_COMMON_CLK if ARM64 && ARCH_EXYNOS config EXYNOS_ARM64_COMMON_CLK bool "Samsung Exynos ARMv8-family clock controller support" if COMPILE_TEST depends on COMMON_CLK_SAMSUNG config EXYNOS_AUDSS_CLK_CON tristate "Samsung Exynos AUDSS clock controller support" depends on COMMON_CLK_SAMSUNG default y if ARCH_EXYNOS help Support for the Audio Subsystem CLKCON clock controller present on some Exynos SoC variants. Choose M or Y here if you want to use audio devices such as I2S, PCM, etc. # For S3C24XX platforms, select following symbols: config S3C2410_COMMON_CLK bool "Samsung S3C2410 clock controller support" if COMPILE_TEST select COMMON_CLK_SAMSUNG help Build the s3c2410 clock driver based on the common clock framework. config S3C2410_COMMON_DCLK bool select COMMON_CLK_SAMSUNG select REGMAP_MMIO help Temporary symbol to build the dclk driver based on the common clock framework. config S3C2412_COMMON_CLK bool "Samsung S3C2412 clock controller support" if COMPILE_TEST select COMMON_CLK_SAMSUNG config S3C2443_COMMON_CLK bool "Samsung S3C2443 clock controller support" if COMPILE_TEST select COMMON_CLK_SAMSUNG clk/samsung/Makefile 0000644 00000002117 14722053666 0010446 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Samsung Clock specific Makefile # obj-$(CONFIG_COMMON_CLK) += clk.o clk-pll.o clk-cpu.o obj-$(CONFIG_SOC_EXYNOS3250) += clk-exynos3250.o obj-$(CONFIG_ARCH_EXYNOS4) += clk-exynos4.o obj-$(CONFIG_ARCH_EXYNOS4) += clk-exynos4412-isp.o obj-$(CONFIG_SOC_EXYNOS5250) += clk-exynos5250.o obj-$(CONFIG_SOC_EXYNOS5250) += clk-exynos5-subcmu.o obj-$(CONFIG_SOC_EXYNOS5260) += clk-exynos5260.o obj-$(CONFIG_SOC_EXYNOS5410) += clk-exynos5410.o obj-$(CONFIG_SOC_EXYNOS5420) += clk-exynos5420.o obj-$(CONFIG_SOC_EXYNOS5420) += clk-exynos5-subcmu.o obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) += clk-exynos5433.o obj-$(CONFIG_EXYNOS_AUDSS_CLK_CON) += clk-exynos-audss.o obj-$(CONFIG_ARCH_EXYNOS) += clk-exynos-clkout.o obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) += clk-exynos7.o obj-$(CONFIG_S3C2410_COMMON_CLK)+= clk-s3c2410.o obj-$(CONFIG_S3C2410_COMMON_DCLK)+= clk-s3c2410-dclk.o obj-$(CONFIG_S3C2412_COMMON_CLK)+= clk-s3c2412.o obj-$(CONFIG_S3C2443_COMMON_CLK)+= clk-s3c2443.o obj-$(CONFIG_ARCH_S3C64XX) += clk-s3c64xx.o obj-$(CONFIG_ARCH_S5PV210) += clk-s5pv210.o clk-s5pv210-audss.o clk/versatile/Kconfig 0000644 00000002027 14722053666 0010632 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config ICST bool config COMMON_CLK_VERSATILE bool "Clock driver for ARM Reference designs" depends on ARCH_INTEGRATOR || ARCH_REALVIEW || \ ARCH_VERSATILE || ARCH_VEXPRESS || ARM64 || \ COMPILE_TEST select REGMAP_MMIO ---help--- Supports clocking on ARM Reference designs: - Integrator/AP and Integrator/CP - RealView PB1176, EB, PB11MP and PBX - Versatile Express config CLK_SP810 bool "Clock driver for ARM SP810 System Controller" depends on COMMON_CLK_VERSATILE default y if ARCH_VEXPRESS ---help--- Supports clock muxing (REFCLK/TIMCLK to TIMERCLKEN0-3) capabilities of the ARM SP810 System Controller cell. config CLK_VEXPRESS_OSC bool "Clock driver for Versatile Express OSC clock generators" depends on COMMON_CLK_VERSATILE depends on VEXPRESS_CONFIG default y if ARCH_VEXPRESS ---help--- Simple regmap-based driver driving clock generators on Versatile Express platforms hidden behind its configuration infrastructure, commonly known as OSCs. clk/versatile/Makefile 0000644 00000000425 14722053666 0010767 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for Versatile-specific clocks obj-$(CONFIG_ICST) += icst.o clk-icst.o clk-versatile.o obj-$(CONFIG_INTEGRATOR_IMPD1) += clk-impd1.o obj-$(CONFIG_CLK_SP810) += clk-sp810.o obj-$(CONFIG_CLK_VEXPRESS_OSC) += clk-vexpress-osc.o misc/cardreader/Kconfig 0000644 00000002171 14722053666 0011112 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MISC_ALCOR_PCI tristate "Alcor Micro/Alcor Link PCI-E card reader" depends on PCI select MFD_CORE help This supports for Alcor Micro PCI-Express card reader including au6601, au6621. Alcor Micro card readers support access to many types of memory cards, such as Memory Stick, Memory Stick Pro, Secure Digital and MultiMediaCard. config MISC_RTSX_PCI tristate "Realtek PCI-E card reader" depends on PCI select MFD_CORE help This supports for Realtek PCI-Express card reader including rts5209, rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, rts5260. Realtek card readers support access to many types of memory cards, such as Memory Stick, Memory Stick Pro, Secure Digital and MultiMediaCard. config MISC_RTSX_USB tristate "Realtek USB card reader" depends on USB select MFD_CORE help Select this option to get support for Realtek USB 2.0 card readers including RTS5129, RTS5139, RTS5179 and RTS5170. Realtek card reader supports access to many types of memory cards, such as Memory Stick Pro, Secure Digital and MultiMediaCard. misc/cardreader/Makefile 0000644 00000000400 14722053666 0011240 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MISC_ALCOR_PCI) += alcor_pci.o obj-$(CONFIG_MISC_RTSX_PCI) += rtsx_pci.o rtsx_pci-objs := rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o rts5249.o rts5260.o obj-$(CONFIG_MISC_RTSX_USB) += rtsx_usb.o misc/habanalabs/Kconfig 0000644 00000001331 14722053666 0011067 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # HabanaLabs AI accelerators driver # config HABANA_AI tristate "HabanaAI accelerators (habanalabs)" depends on PCI && HAS_IOMEM select FRAME_VECTOR select DMA_SHARED_BUFFER select GENERIC_ALLOCATOR select HWMON help Enables PCIe card driver for Habana's AI Processors (AIP) that are designed to accelerate Deep Learning inference and training workloads. The driver manages the PCIe devices and provides IOCTL interface for the user to submit workloads to the devices. The user-space interface is described in include/uapi/misc/habanalabs.h If unsure, say N. To compile this driver as a module, choose M here: the module will be called habanalabs. misc/habanalabs/goya/Makefile 0000644 00000000244 14722053666 0012165 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only subdir-ccflags-y += -I$(src) HL_GOYA_FILES := goya/goya.o goya/goya_security.o goya/goya_hwmgr.o \ goya/goya_coresight.o misc/habanalabs/Makefile 0000644 00000000640 14722053666 0011226 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for HabanaLabs AI accelerators driver # obj-m := habanalabs.o habanalabs-y := habanalabs_drv.o device.o context.o asid.o habanalabs_ioctl.o \ command_buffer.o hw_queue.o irq.o sysfs.o hwmon.o memory.o \ command_submission.o mmu.o firmware_if.o pci.o habanalabs-$(CONFIG_DEBUG_FS) += debugfs.o include $(src)/goya/Makefile habanalabs-y += $(HL_GOYA_FILES) misc/genwqe/Kconfig 0000644 00000000721 14722053666 0010303 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IBM Accelerator Family 'GenWQE' # menuconfig GENWQE tristate "GenWQE PCIe Accelerator" depends on PCI && 64BIT select CRC_ITU_T help Enables PCIe card driver for IBM GenWQE accelerators. The user-space interface is described in include/linux/genwqe/genwqe_card.h. config GENWQE_PLATFORM_ERROR_RECOVERY int "Use platform recovery procedures (0=off, 1=on)" depends on GENWQE default 1 if PPC64 default 0 misc/genwqe/Makefile 0000644 00000000323 14722053666 0010436 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for GenWQE driver # obj-$(CONFIG_GENWQE) := genwqe_card.o genwqe_card-objs := card_base.o card_dev.o card_ddcb.o card_sysfs.o \ card_debugfs.o card_utils.o misc/eeprom/Kconfig 0000644 00000010426 14722053666 0010307 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "EEPROM support" config EEPROM_AT24 tristate "I2C EEPROMs / RAMs / ROMs from most vendors" depends on I2C && SYSFS select NVMEM select NVMEM_SYSFS select REGMAP select REGMAP_I2C help Enable this driver to get read/write support to most I2C EEPROMs and compatible devices like FRAMs, SRAMs, ROMs etc. After you configure the driver to know about each chip on your target board. Use these generic chip names, instead of vendor-specific ones like at24c64, 24lc02 or fm24c04: 24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08, 24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024, 24c2048 Unless you like data loss puzzles, always be sure that any chip you configure as a 24c32 (32 kbit) or larger is NOT really a 24c16 (16 kbit) or smaller, and vice versa. Marking the chip as read-only won't help recover from this. Also, if your chip has any software write-protect mechanism you may want to review the code to make sure this driver won't turn it on by accident. If you use this with an SMBus adapter instead of an I2C adapter, full functionality is not available. Only smaller devices are supported (24c16 and below, max 4 kByte). This driver can also be built as a module. If so, the module will be called at24. config EEPROM_AT25 tristate "SPI EEPROMs from most vendors" depends on SPI && SYSFS select NVMEM select NVMEM_SYSFS help Enable this driver to get read/write support to most SPI EEPROMs, after you configure the board init code to know about each eeprom on your target board. This driver can also be built as a module. If so, the module will be called at25. config EEPROM_LEGACY tristate "Old I2C EEPROM reader (DEPRECATED)" depends on I2C && SYSFS help If you say yes here you get read-only access to the EEPROM data available on modern memory DIMMs and Sony Vaio laptops via I2C. Such EEPROMs could theoretically be available on other devices as well. This driver is deprecated and will be removed soon, please use the better at24 driver instead. This driver can also be built as a module. If so, the module will be called eeprom. config EEPROM_MAX6875 tristate "Maxim MAX6874/5 power supply supervisor" depends on I2C help If you say yes here you get read-only support for the user EEPROM of the Maxim MAX6874/5 EEPROM-programmable, quad power-supply sequencer/supervisor. All other features of this chip should be accessed via i2c-dev. This driver can also be built as a module. If so, the module will be called max6875. config EEPROM_93CX6 tristate "EEPROM 93CX6 support" help This is a driver for the EEPROM chipsets 93c46 and 93c66. The driver supports both read as well as write commands. If unsure, say N. config EEPROM_93XX46 tristate "Microwire EEPROM 93XX46 support" depends on SPI && SYSFS select REGMAP select NVMEM select NVMEM_SYSFS help Driver for the microwire EEPROM chipsets 93xx46x. The driver supports both read and write commands and also the command to erase the whole EEPROM. This driver can also be built as a module. If so, the module will be called eeprom_93xx46. If unsure, say N. config EEPROM_DIGSY_MTC_CFG bool "DigsyMTC display configuration EEPROMs device" depends on GPIO_MPC5200 && SPI_GPIO help This option enables access to display configuration EEPROMs on digsy_mtc board. You have to additionally select Microwire EEPROM 93XX46 driver. sysfs entries will be created for that EEPROM allowing to read/write the configuration data or to erase the whole EEPROM. If unsure, say N. config EEPROM_IDT_89HPESX tristate "IDT 89HPESx PCIe-swtiches EEPROM / CSR support" depends on I2C && SYSFS help Enable this driver to get read/write access to EEPROM / CSRs over IDT PCIe-swtich i2c-slave interface. This driver can also be built as a module. If so, the module will be called idt_89hpesx. config EEPROM_EE1004 tristate "SPD EEPROMs on DDR4 memory modules" depends on I2C && SYSFS help Enable this driver to get read support to SPD EEPROMs following the JEDEC EE1004 standard. These are typically found on DDR4 SDRAM memory modules. This driver can also be built as a module. If so, the module will be called ee1004. endmenu misc/eeprom/Makefile 0000644 00000000654 14722053666 0010446 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_EEPROM_AT24) += at24.o obj-$(CONFIG_EEPROM_AT25) += at25.o obj-$(CONFIG_EEPROM_LEGACY) += eeprom.o obj-$(CONFIG_EEPROM_MAX6875) += max6875.o obj-$(CONFIG_EEPROM_93CX6) += eeprom_93cx6.o obj-$(CONFIG_EEPROM_93XX46) += eeprom_93xx46.o obj-$(CONFIG_EEPROM_DIGSY_MTC_CFG) += digsy_mtc_eeprom.o obj-$(CONFIG_EEPROM_IDT_89HPESX) += idt_89hpesx.o obj-$(CONFIG_EEPROM_EE1004) += ee1004.o misc/sgi-gru/Makefile 0000644 00000000335 14722053666 0010530 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-$(CONFIG_SGI_GRU_DEBUG) := -DDEBUG obj-$(CONFIG_SGI_GRU) := gru.o gru-y := grufile.o grumain.o grufault.o grutlbpurge.o gruprocfs.o grukservices.o gruhandles.o grukdump.o misc/Kconfig 0000644 00000040511 14722053666 0007016 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Misc strange devices # menu "Misc devices" config SENSORS_LIS3LV02D tristate depends on INPUT select INPUT_POLLDEV config AD525X_DPOT tristate "Analog Devices Digital Potentiometers" depends on (I2C || SPI) && SYSFS help If you say yes here, you get support for the Analog Devices AD5258, AD5259, AD5251, AD5252, AD5253, AD5254, AD5255 AD5160, AD5161, AD5162, AD5165, AD5200, AD5201, AD5203, AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235, AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293, AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242, AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282, ADN2860, AD5273, AD5171, AD5170, AD5172, AD5173, AD5270, AD5271, AD5272, AD5274 digital potentiometer chips. See Documentation/misc-devices/ad525x_dpot.txt for the userspace interface. This driver can also be built as a module. If so, the module will be called ad525x_dpot. config AD525X_DPOT_I2C tristate "support I2C bus connection" depends on AD525X_DPOT && I2C help Say Y here if you have a digital potentiometers hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called ad525x_dpot-i2c. config AD525X_DPOT_SPI tristate "support SPI bus connection" depends on AD525X_DPOT && SPI_MASTER help Say Y here if you have a digital potentiometers hooked to an SPI bus. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad525x_dpot-spi. config ATMEL_TCLIB bool "Atmel AT32/AT91 Timer/Counter Library" depends on ARCH_AT91 help Select this if you want a library to allocate the Timer/Counter blocks found on many Atmel processors. This facilitates using these blocks by different drivers despite processor differences. config DUMMY_IRQ tristate "Dummy IRQ handler" ---help--- This module accepts a single 'irq' parameter, which it should register for. The sole purpose of this module is to help with debugging of systems on which spurious IRQs would happen on disabled IRQ vector. config IBM_ASM tristate "Device driver for IBM RSA service processor" depends on X86 && PCI && INPUT depends on SERIAL_8250 || SERIAL_8250=n ---help--- This option enables device driver support for in-band access to the IBM RSA (Condor) service processor in eServer xSeries systems. The ibmasm device driver allows user space application to access ASM (Advanced Systems Management) functions on the service processor. The driver is meant to be used in conjunction with a user space API. The ibmasm driver also enables the OS to use the UART on the service processor board as a regular serial port. To make use of this feature serial driver support (CONFIG_SERIAL_8250) must be enabled. WARNING: This software may not be supported or function correctly on your IBM server. Please consult the IBM ServerProven website <http://www-03.ibm.com/systems/info/x86servers/serverproven/compat/us/> for information on the specific driver level and support statement for your IBM server. config IBMVMC tristate "IBM Virtual Management Channel support" depends on PPC_PSERIES help This is the IBM POWER Virtual Management Channel This driver is to be used for the POWER Virtual Management Channel virtual adapter on the PowerVM platform. It provides both request/response and async message support through the /dev/ibmvmc node. To compile this driver as a module, choose M here: the module will be called ibmvmc. config PHANTOM tristate "Sensable PHANToM (PCI)" depends on PCI help Say Y here if you want to build a driver for Sensable PHANToM device. This driver is only for PCI PHANToMs. If you choose to build module, its name will be phantom. If unsure, say N here. config INTEL_MID_PTI tristate "Parallel Trace Interface for MIPI P1149.7 cJTAG standard" depends on PCI && TTY && (X86_INTEL_MID || COMPILE_TEST) help The PTI (Parallel Trace Interface) driver directs trace data routed from various parts in the system out through an Intel Penwell PTI port and out of the mobile device for analysis with a debugging tool (Lauterbach or Fido). You should select this driver if the target kernel is meant for an Intel Atom (non-netbook) mobile device containing a MIPI P1149.7 standard implementation. config TIFM_CORE tristate "TI Flash Media interface support" depends on PCI help If you want support for Texas Instruments(R) Flash Media adapters you should select this option and then also choose an appropriate host adapter, such as 'TI Flash Media PCI74xx/PCI76xx host adapter support', if you have a TI PCI74xx compatible card reader, for example. You will also have to select some flash card format drivers. MMC/SD cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD Interface support (MMC_TIFM_SD)'. To compile this driver as a module, choose M here: the module will be called tifm_core. config TIFM_7XX1 tristate "TI Flash Media PCI74xx/PCI76xx host adapter support" depends on PCI && TIFM_CORE default TIFM_CORE help This option enables support for Texas Instruments(R) PCI74xx and PCI76xx families of Flash Media adapters, found in many laptops. To make actual use of the device, you will have to select some flash card format drivers, as outlined in the TIFM_CORE Help. To compile this driver as a module, choose M here: the module will be called tifm_7xx1. config ICS932S401 tristate "Integrated Circuits ICS932S401" depends on I2C help If you say yes here you get support for the Integrated Circuits ICS932S401 clock control chips. This driver can also be built as a module. If so, the module will be called ics932s401. config ATMEL_SSC tristate "Device driver for Atmel SSC peripheral" depends on HAS_IOMEM && (ARCH_AT91 || COMPILE_TEST) ---help--- This option enables device driver support for Atmel Synchronized Serial Communication peripheral (SSC). The SSC peripheral supports a wide variety of serial frame based communications, i.e. I2S, SPI, etc. If unsure, say N. config ENCLOSURE_SERVICES tristate "Enclosure Services" help Provides support for intelligent enclosures (bays which contain storage devices). You also need either a host driver (SCSI/ATA) which supports enclosures or a SCSI enclosure device (SES) to use these services. config SGI_XP tristate "Support communication between SGI SSIs" depends on NET depends on (IA64_SGI_UV || X86_UV) && SMP depends on X86_64 || BROKEN select SGI_GRU if X86_64 && SMP ---help--- An SGI machine can be divided into multiple Single System Images which act independently of each other and have hardware based memory protection from the others. Enabling this feature will allow for direct communication between SSIs based on a network adapter and DMA messaging. config CS5535_MFGPT tristate "CS5535/CS5536 Geode Multi-Function General Purpose Timer (MFGPT) support" depends on MFD_CS5535 help This driver provides access to MFGPT functionality for other drivers that need timers. MFGPTs are available in the CS5535 and CS5536 companion chips that are found in AMD Geode and several other platforms. They have a better resolution and max interval than the generic PIT, and are suitable for use as high-res timers. You probably don't want to enable this manually; other drivers that make use of it should enable it. config CS5535_MFGPT_DEFAULT_IRQ int depends on CS5535_MFGPT default 7 help MFGPTs on the CS5535 require an interrupt. The selected IRQ can be overridden as a module option as well as by driver that use the cs5535_mfgpt_ API; however, different architectures might want to use a different IRQ by default. This is here for architectures to set as necessary. config CS5535_CLOCK_EVENT_SRC tristate "CS5535/CS5536 high-res timer (MFGPT) events" depends on GENERIC_CLOCKEVENTS && CS5535_MFGPT help This driver provides a clock event source based on the MFGPT timer(s) in the CS5535 and CS5536 companion chips. MFGPTs have a better resolution and max interval than the generic PIT, and are suitable for use as high-res timers. config HP_ILO tristate "Channel interface driver for the HP iLO processor" depends on PCI help The channel interface driver allows applications to communicate with iLO management processors present on HP ProLiant servers. Upon loading, the driver creates /dev/hpilo/dXccbN files, which can be used to gather data from the management processor, via read and write system calls. To compile this driver as a module, choose M here: the module will be called hpilo. config QCOM_COINCELL tristate "Qualcomm coincell charger support" depends on MFD_SPMI_PMIC || COMPILE_TEST help This driver supports the coincell block found inside of Qualcomm PMICs. The coincell charger provides a means to charge a coincell battery or backup capacitor which is used to maintain PMIC register and RTC state in the absence of external power. config QCOM_FASTRPC tristate "Qualcomm FastRPC" depends on ARCH_QCOM || COMPILE_TEST depends on RPMSG select DMA_SHARED_BUFFER help Provides a communication mechanism that allows for clients to make remote method invocations across processor boundary to applications DSP processor. Say M if you want to enable this module. config SGI_GRU tristate "SGI GRU driver" depends on X86_UV && SMP select MMU_NOTIFIER ---help--- The GRU is a hardware resource located in the system chipset. The GRU contains memory that can be mmapped into the user address space. This memory is used to communicate with the GRU to perform functions such as load/store, scatter/gather, bcopy, AMOs, etc. The GRU is directly accessed by user instructions using user virtual addresses. GRU instructions (ex., bcopy) use user virtual addresses for operands. If you are not running on a SGI UV system, say N. config SGI_GRU_DEBUG bool "SGI GRU driver debug" depends on SGI_GRU ---help--- This option enables additional debugging code for the SGI GRU driver. If you are unsure, say N. config APDS9802ALS tristate "Medfield Avago APDS9802 ALS Sensor module" depends on I2C help If you say yes here you get support for the ALS APDS9802 ambient light sensor. This driver can also be built as a module. If so, the module will be called apds9802als. config ISL29003 tristate "Intersil ISL29003 ambient light sensor" depends on I2C && SYSFS help If you say yes here you get support for the Intersil ISL29003 ambient light sensor. This driver can also be built as a module. If so, the module will be called isl29003. config ISL29020 tristate "Intersil ISL29020 ambient light sensor" depends on I2C help If you say yes here you get support for the Intersil ISL29020 ambient light sensor. This driver can also be built as a module. If so, the module will be called isl29020. config SENSORS_TSL2550 tristate "Taos TSL2550 ambient light sensor" depends on I2C && SYSFS help If you say yes here you get support for the Taos TSL2550 ambient light sensor. This driver can also be built as a module. If so, the module will be called tsl2550. config SENSORS_BH1770 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor" depends on I2C ---help--- Say Y here if you want to build a driver for BH1770GLC (ROHM) or SFH7770 (Osram) combined ambient light and proximity sensor chip. To compile this driver as a module, choose M here: the module will be called bh1770glc. If unsure, say N here. config SENSORS_APDS990X tristate "APDS990X combined als and proximity sensors" depends on I2C ---help--- Say Y here if you want to build a driver for Avago APDS990x combined ambient light and proximity sensor chip. To compile this driver as a module, choose M here: the module will be called apds990x. If unsure, say N here. config HMC6352 tristate "Honeywell HMC6352 compass" depends on I2C help This driver provides support for the Honeywell HMC6352 compass, providing configuration and heading data via sysfs. config DS1682 tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm" depends on I2C help If you say yes here you get support for Dallas Semiconductor DS1682 Total Elapsed Time Recorder. This driver can also be built as a module. If so, the module will be called ds1682. config VMWARE_BALLOON tristate "VMware Balloon Driver" depends on VMWARE_VMCI && X86 && HYPERVISOR_GUEST select MEMORY_BALLOON help This is VMware physical memory management driver which acts like a "balloon" that can be inflated to reclaim physical pages by reserving them in the guest and invalidating them in the monitor, freeing up the underlying machine pages so they can be allocated to other guests. The balloon can also be deflated to allow the guest to use more physical memory. If unsure, say N. To compile this driver as a module, choose M here: the module will be called vmw_balloon. config PCH_PHUB tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) PHUB" select GENERIC_NET_UTILS depends on PCI && (X86_32 || MIPS || COMPILE_TEST) help This driver is for PCH(Platform controller Hub) PHUB(Packet Hub) of Intel Topcliff which is an IOH(Input/Output Hub) for x86 embedded processor. The Topcliff has MAC address and Option ROM data in SROM. This driver can access MAC address and Option ROM data in SROM. This driver also can be used for LAPIS Semiconductor's IOH, ML7213/ML7223/ML7831. ML7213 which is for IVI(In-Vehicle Infotainment) use. ML7223 IOH is for MP(Media Phone) use. ML7831 IOH is for general purpose use. ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. To compile this driver as a module, choose M here: the module will be called pch_phub. config LATTICE_ECP3_CONFIG tristate "Lattice ECP3 FPGA bitstream configuration via SPI" depends on SPI && SYSFS select FW_LOADER default n help This option enables support for bitstream configuration (programming or loading) of the Lattice ECP3 FPGA family via SPI. If unsure, say N. config SRAM bool "Generic on-chip SRAM driver" depends on HAS_IOMEM select GENERIC_ALLOCATOR select SRAM_EXEC if ARM help This driver allows you to declare a memory region to be managed by the genalloc API. It is supposed to be used for small on-chip SRAM areas found on many SoCs. config SRAM_EXEC bool config VEXPRESS_SYSCFG bool "Versatile Express System Configuration driver" depends on VEXPRESS_CONFIG default y help ARM Ltd. Versatile Express uses specialised platform configuration bus. System Configuration interface is one of the possible means of generating transactions on this bus. config PCI_ENDPOINT_TEST depends on PCI select CRC32 tristate "PCI Endpoint Test driver" ---help--- Enable this configuration option to enable the host side test driver for PCI Endpoint. config XILINX_SDFEC tristate "Xilinx SDFEC 16" depends on HAS_IOMEM help This option enables support for the Xilinx SDFEC (Soft Decision Forward Error Correction) driver. This enables a char driver for the SDFEC. You may select this driver if your design instantiates the SDFEC(16nm) hardened block. To compile this as a module choose M. If unsure, say N. config MISC_RTSX tristate default MISC_RTSX_PCI || MISC_RTSX_USB config PVPANIC tristate "pvpanic device support" depends on HAS_IOMEM && (ACPI || OF) help This driver provides support for the pvpanic device. pvpanic is a paravirtualized device provided by QEMU; it lets a virtual machine (guest) communicate panic events to the host. source "drivers/misc/c2port/Kconfig" source "drivers/misc/eeprom/Kconfig" source "drivers/misc/cb710/Kconfig" source "drivers/misc/ti-st/Kconfig" source "drivers/misc/lis3lv02d/Kconfig" source "drivers/misc/altera-stapl/Kconfig" source "drivers/misc/mei/Kconfig" source "drivers/misc/vmw_vmci/Kconfig" source "drivers/misc/mic/Kconfig" source "drivers/misc/genwqe/Kconfig" source "drivers/misc/echo/Kconfig" source "drivers/misc/cxl/Kconfig" source "drivers/misc/ocxl/Kconfig" source "drivers/misc/cardreader/Kconfig" source "drivers/misc/habanalabs/Kconfig" endmenu misc/mic/card/Makefile 0000644 00000000416 14722053666 0010634 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile - Intel MIC Linux driver. # Copyright(c) 2013, Intel Corporation. # ccflags-y += -DINTEL_MIC_CARD obj-$(CONFIG_INTEL_MIC_CARD) += mic_card.o mic_card-y += mic_x100.o mic_card-y += mic_device.o mic_card-y += mic_debugfs.o misc/mic/bus/Makefile 0000644 00000000417 14722053666 0010515 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile - Intel MIC Linux driver. # Copyright(c) 2014, Intel Corporation. # obj-$(CONFIG_INTEL_MIC_BUS) += mic_bus.o obj-$(CONFIG_SCIF_BUS) += scif_bus.o obj-$(CONFIG_MIC_COSM) += cosm_bus.o obj-$(CONFIG_VOP_BUS) += vop_bus.o misc/mic/scif/Makefile 0000644 00000001002 14722053666 0010637 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile - SCIF driver. # Copyright(c) 2014, Intel Corporation. # obj-$(CONFIG_SCIF) += scif.o scif-objs := scif_main.o scif-objs += scif_peer_bus.o scif-objs += scif_ports.o scif-objs += scif_debugfs.o scif-objs += scif_fd.o scif-objs += scif_api.o scif-objs += scif_epd.o scif-objs += scif_rb.o scif-objs += scif_nodeqp.o scif-objs += scif_nm.o scif-objs += scif_dma.o scif-objs += scif_fence.o scif-objs += scif_mmap.o scif-objs += scif_rma.o scif-objs += scif_rma_list.o misc/mic/Kconfig 0000644 00000012726 14722053666 0007575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Intel MIC & related support" comment "Intel MIC Bus Driver" config INTEL_MIC_BUS tristate "Intel MIC Bus Driver" depends on 64BIT && PCI && X86 help This option is selected by any driver which registers a device or driver on the MIC Bus, such as CONFIG_INTEL_MIC_HOST, CONFIG_INTEL_MIC_CARD, CONFIG_INTEL_MIC_X100_DMA etc. If you are building a host/card kernel with an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. More information about the Intel MIC family as well as the Linux OS and tools for MIC to use with this driver are available from <http://software.intel.com/en-us/mic-developer>. comment "SCIF Bus Driver" config SCIF_BUS tristate "SCIF Bus Driver" depends on 64BIT && PCI && X86 help This option is selected by any driver which registers a device or driver on the SCIF Bus, such as CONFIG_INTEL_MIC_HOST and CONFIG_INTEL_MIC_CARD. If you are building a host/card kernel with an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. More information about the Intel MIC family as well as the Linux OS and tools for MIC to use with this driver are available from <http://software.intel.com/en-us/mic-developer>. comment "VOP Bus Driver" config VOP_BUS tristate "VOP Bus Driver" help This option is selected by any driver which registers a device or driver on the VOP Bus, such as CONFIG_INTEL_MIC_HOST and CONFIG_INTEL_MIC_CARD. If you are building a host/card kernel with an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. More information about the Intel MIC family as well as the Linux OS and tools for MIC to use with this driver are available from <http://software.intel.com/en-us/mic-developer>. comment "Intel MIC Host Driver" config INTEL_MIC_HOST tristate "Intel MIC Host Driver" depends on 64BIT && PCI && X86 depends on INTEL_MIC_BUS && SCIF_BUS && MIC_COSM && VOP_BUS help This enables Host Driver support for the Intel Many Integrated Core (MIC) family of PCIe form factor coprocessor devices that run a 64 bit Linux OS. The driver manages card OS state and enables communication between host and card. Intel MIC X100 devices are currently supported. If you are building a host kernel with an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. More information about the Intel MIC family as well as the Linux OS and tools for MIC to use with this driver are available from <http://software.intel.com/en-us/mic-developer>. comment "Intel MIC Card Driver" config INTEL_MIC_CARD tristate "Intel MIC Card Driver" depends on 64BIT && X86 depends on INTEL_MIC_BUS && SCIF_BUS && MIC_COSM && VOP_BUS select VIRTIO help This enables card driver support for the Intel Many Integrated Core (MIC) device family. The card driver communicates shutdown/ crash events to the host and allows registration/configuration of virtio devices. Intel MIC X100 devices are currently supported. If you are building a card kernel for an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. For more information see <http://software.intel.com/en-us/mic-developer>. comment "SCIF Driver" config SCIF tristate "SCIF Driver" depends on 64BIT && PCI && X86 && SCIF_BUS && IOMMU_SUPPORT select IOMMU_IOVA help This enables SCIF Driver support for the Intel Many Integrated Core (MIC) family of PCIe form factor coprocessor devices that run a 64 bit Linux OS. The Symmetric Communication Interface (SCIF (pronounced as skiff)) is a low level communications API across PCIe currently implemented for MIC. If you are building a host kernel with an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. More information about the Intel MIC family as well as the Linux OS and tools for MIC to use with this driver are available from <http://software.intel.com/en-us/mic-developer>. comment "Intel MIC Coprocessor State Management (COSM) Drivers" config MIC_COSM tristate "Intel MIC Coprocessor State Management (COSM) Drivers" depends on 64BIT && PCI && X86 && SCIF help This enables COSM driver support for the Intel Many Integrated Core (MIC) family of PCIe form factor coprocessor devices. COSM drivers implement functions such as boot, shutdown, reset and reboot of MIC devices. If you are building a host kernel with an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. More information about the Intel MIC family as well as the Linux OS and tools for MIC to use with this driver are available from <http://software.intel.com/en-us/mic-developer>. comment "VOP Driver" config VOP tristate "VOP Driver" depends on VOP_BUS select VHOST_RING select VIRTIO help This enables VOP (Virtio over PCIe) Driver support for the Intel Many Integrated Core (MIC) family of PCIe form factor coprocessor devices. The VOP driver allows virtio drivers, e.g. net, console and block drivers, on the card connect to user space virtio devices on the host. If you are building a host kernel with an Intel MIC device then say M (recommended) or Y, else say N. If unsure say N. More information about the Intel MIC family as well as the Linux OS and tools for MIC to use with this driver are available from <http://software.intel.com/en-us/mic-developer>. if VOP source "drivers/vhost/Kconfig.vringh" endif endmenu misc/mic/cosm/Makefile 0000644 00000000466 14722053666 0010671 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile - Intel MIC Coprocessor State Management (COSM) Driver # Copyright(c) 2015, Intel Corporation. # obj-$(CONFIG_MIC_COSM) += mic_cosm.o mic_cosm-objs := cosm_main.o mic_cosm-objs += cosm_debugfs.o mic_cosm-objs += cosm_sysfs.o mic_cosm-objs += cosm_scif_server.o misc/mic/cosm_client/Makefile 0000644 00000000316 14722053666 0012221 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile - Intel MIC COSM Client Driver # Copyright(c) 2015, Intel Corporation. # obj-$(CONFIG_MIC_COSM) += cosm_client.o cosm_client-objs += cosm_scif_client.o misc/mic/vop/Makefile 0000644 00000000323 14722053666 0010524 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile - Intel MIC Linux driver. # Copyright(c) 2016, Intel Corporation. # obj-m := vop.o vop-objs += vop_main.o vop-objs += vop_debugfs.o vop-objs += vop_vringh.o misc/mic/Makefile 0000644 00000000513 14722053666 0007721 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile - Intel MIC Linux driver. # Copyright(c) 2013, Intel Corporation. # obj-$(CONFIG_INTEL_MIC_HOST) += host/ obj-$(CONFIG_INTEL_MIC_CARD) += card/ obj-y += bus/ obj-$(CONFIG_SCIF) += scif/ obj-$(CONFIG_MIC_COSM) += cosm/ obj-$(CONFIG_MIC_COSM) += cosm_client/ obj-$(CONFIG_VOP) += vop/ misc/mic/host/Makefile 0000644 00000000512 14722053666 0010675 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile - Intel MIC Linux driver. # Copyright(c) 2013, Intel Corporation. # obj-$(CONFIG_INTEL_MIC_HOST) += mic_host.o mic_host-objs := mic_main.o mic_host-objs += mic_x100.o mic_host-objs += mic_smpt.o mic_host-objs += mic_intr.o mic_host-objs += mic_boot.o mic_host-objs += mic_debugfs.o misc/ibmasm/Makefile 0000644 00000000427 14722053666 0010425 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_IBM_ASM) := ibmasm.o ibmasm-y := module.o \ ibmasmfs.o \ event.o \ command.o \ remote.o \ heartbeat.o \ r_heartbeat.o \ dot_command.o \ lowlevel.o ibmasm-$(CONFIG_SERIAL_8250) += uart.o misc/lis3lv02d/Kconfig 0000644 00000002523 14722053666 0010541 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # STMicroelectonics LIS3LV02D and similar accelerometers # config SENSORS_LIS3_SPI tristate "STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (SPI)" depends on !ACPI && SPI_MASTER && INPUT select SENSORS_LIS3LV02D help This driver provides support for the LIS3LV02Dx accelerometer connected via SPI. The accelerometer data is readable via /sys/devices/platform/lis3lv02d. This driver also provides an absolute input class device, allowing the laptop to act as a pinball machine-esque joystick. This driver can also be built as modules. If so, the core module will be called lis3lv02d and a specific module for the SPI transport is called lis3lv02d_spi. config SENSORS_LIS3_I2C tristate "STMicroeletronics LIS3LV02Dx three-axis digital accelerometer (I2C)" depends on I2C && INPUT select SENSORS_LIS3LV02D help This driver provides support for the LIS3LV02Dx accelerometer connected via I2C. The accelerometer data is readable via /sys/devices/platform/lis3lv02d. This driver also provides an absolute input class device, allowing the device to act as a pinball machine-esque joystick. This driver can also be built as modules. If so, the core module will be called lis3lv02d and a specific module for the I2C transport is called lis3lv02d_i2c. misc/lis3lv02d/Makefile 0000644 00000000371 14722053666 0010675 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # STMicroelectonics LIS3LV02D and similar accelerometers # obj-$(CONFIG_SENSORS_LIS3LV02D) += lis3lv02d.o obj-$(CONFIG_SENSORS_LIS3_SPI) += lis3lv02d_spi.o obj-$(CONFIG_SENSORS_LIS3_I2C) += lis3lv02d_i2c.o misc/ti-st/Kconfig 0000644 00000001120 14722053666 0010047 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # TI's shared transport line discipline and the protocol # drivers (BT, FM and GPS) # menu "Texas Instruments shared transport line discipline" config TI_ST tristate "Shared transport core driver" depends on NET && TTY depends on GPIOLIB || COMPILE_TEST select FW_LOADER help This enables the shared transport core driver for TI BT / FM and GPS combo chips. This enables protocol drivers to register themselves with core and send data, the responses are returned to relevant protocol drivers based on their packet types. endmenu misc/ti-st/Makefile 0000644 00000000330 14722053666 0010206 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for TI's shared transport line discipline # and its protocol drivers (BT, FM, GPS) # obj-$(CONFIG_TI_ST) += st_drv.o st_drv-objs := st_core.o st_kim.o st_ll.o misc/sgi-xp/Makefile 0000644 00000000415 14722053666 0010361 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for SGI's XP devices. # obj-$(CONFIG_SGI_XP) += xp.o xp-y := xp_main.o xp_uv.o obj-$(CONFIG_SGI_XP) += xpc.o xpc-y := xpc_main.o xpc_channel.o xpc_partition.o \ xpc_uv.o obj-$(CONFIG_SGI_XP) += xpnet.o misc/ocxl/Kconfig 0000644 00000001615 14722053666 0007765 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Open Coherent Accelerator (OCXL) compatible devices # config OCXL_BASE bool select PPC_COPRO_BASE config OCXL tristate "OpenCAPI coherent accelerator support" depends on PPC_POWERNV && PCI && EEH select OCXL_BASE select HOTPLUG_PCI_POWERNV default m help Select this option to enable the ocxl driver for Open Coherent Accelerator Processor Interface (OpenCAPI) devices. OpenCAPI allows FPGA and ASIC accelerators to be coherently attached to a CPU over an OpenCAPI link. The ocxl driver enables userspace programs to access these accelerators through devices in /dev/ocxl/. For more information, see http://opencapi.org. This is not to be confused with the support for IBM CAPI accelerators (CONFIG_CXL), which are PCI-based instead of a dedicated OpenCAPI link, and don't follow the same protocol. If unsure, say N. misc/ocxl/Makefile 0000644 00000000555 14722053666 0010124 0 ustar 00 # SPDX-License-Identifier: GPL-2.0+ ccflags-$(CONFIG_PPC_WERROR) += -Werror ocxl-y += main.o pci.o config.o file.o pasid.o mmio.o ocxl-y += link.o context.o afu_irq.o sysfs.o trace.o ocxl-y += core.o obj-$(CONFIG_OCXL) += ocxl.o # For tracepoints to include our trace.h from tracepoint infrastructure: CFLAGS_trace.o := -I$(src) # ccflags-y += -DDEBUG misc/mei/Kconfig 0000644 00000002364 14722053666 0007574 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2003-2019, Intel Corporation. All rights reserved. config INTEL_MEI tristate "Intel Management Engine Interface" depends on X86 && PCI help The Intel Management Engine (Intel ME) provides Manageability, Security and Media services for system containing Intel chipsets. if selected /dev/mei misc device will be created. For more information see <http://software.intel.com/en-us/manageability/> config INTEL_MEI_ME tristate "ME Enabled Intel Chipsets" select INTEL_MEI depends on X86 && PCI help MEI support for ME Enabled Intel chipsets. Supported Chipsets are: 7 Series Chipset Family 6 Series Chipset Family 5 Series Chipset Family 4 Series Chipset Family Mobile 4 Series Chipset Family ICH9 82946GZ/GL 82G35 Express 82Q963/Q965 82P965/G965 Mobile PM965/GM965 Mobile GME965/GLE960 82Q35 Express 82G33/G31/P35/P31 Express 82Q33 Express 82X38/X48 Express config INTEL_MEI_TXE tristate "Intel Trusted Execution Environment with ME Interface" select INTEL_MEI depends on X86 && PCI help MEI Support for Trusted Execution Environment device on Intel SoCs Supported SoCs: Intel Bay Trail source "drivers/misc/mei/hdcp/Kconfig" misc/mei/Makefile 0000644 00000001302 14722053666 0007720 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Copyright (c) 2010-2019, Intel Corporation. All rights reserved. # Makefile - Intel Management Engine Interface (Intel MEI) Linux driver # obj-$(CONFIG_INTEL_MEI) += mei.o mei-objs := init.o mei-objs += hbm.o mei-objs += interrupt.o mei-objs += client.o mei-objs += main.o mei-objs += dma-ring.o mei-objs += bus.o mei-objs += bus-fixup.o mei-$(CONFIG_DEBUG_FS) += debugfs.o obj-$(CONFIG_INTEL_MEI_ME) += mei-me.o mei-me-objs := pci-me.o mei-me-objs += hw-me.o obj-$(CONFIG_INTEL_MEI_TXE) += mei-txe.o mei-txe-objs := pci-txe.o mei-txe-objs += hw-txe.o mei-$(CONFIG_EVENT_TRACING) += mei-trace.o CFLAGS_mei-trace.o = -I$(src) obj-$(CONFIG_INTEL_MEI_HDCP) += hdcp/ misc/mei/hdcp/Kconfig 0000644 00000000572 14722053666 0010511 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2019, Intel Corporation. All rights reserved. # config INTEL_MEI_HDCP tristate "Intel HDCP2.2 services of ME Interface" select INTEL_MEI_ME depends on DRM_I915 help MEI Support for HDCP2.2 Services on Intel platforms. Enables the ME FW services required for HDCP2.2 support through I915 display driver of Intel. misc/mei/hdcp/Makefile 0000644 00000000313 14722053666 0010637 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Copyright (c) 2019, Intel Corporation. All rights reserved. # # Makefile - HDCP client driver for Intel MEI Bus Driver. obj-$(CONFIG_INTEL_MEI_HDCP) += mei_hdcp.o misc/cxl/Kconfig 0000644 00000001456 14722053666 0007611 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IBM Coherent Accelerator (CXL) compatible devices # config CXL_BASE bool select PPC_COPRO_BASE config CXL_AFU_DRIVER_OPS bool config CXL_LIB bool config CXL tristate "Support for IBM Coherent Accelerators (CXL)" depends on PPC_POWERNV && PCI_MSI && EEH select CXL_BASE select CXL_AFU_DRIVER_OPS select CXL_LIB default m help Select this option to enable driver support for IBM Coherent Accelerators (CXL). CXL is otherwise known as Coherent Accelerator Processor Interface (CAPI). CAPI allows accelerators in FPGAs to be coherently attached to a CPU via an MMU. This driver enables userspace programs to access these accelerators via /dev/cxl/afuM.N devices. CAPI adapters are found in POWER8 based systems. If unsure, say N. misc/cxl/Makefile 0000644 00000001017 14722053666 0007737 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y := $(call cc-disable-warning, unused-const-variable) ccflags-$(CONFIG_PPC_WERROR) += -Werror cxl-y += main.o file.o irq.o fault.o native.o cxl-y += context.o sysfs.o pci.o trace.o cxl-y += vphb.o api.o cxllib.o cxl-$(CONFIG_PPC_PSERIES) += flash.o guest.o of.o hcalls.o cxl-$(CONFIG_DEBUG_FS) += debugfs.o obj-$(CONFIG_CXL) += cxl.o obj-$(CONFIG_CXL_BASE) += base.o # For tracepoints to include our trace.h from tracepoint infrastructure: CFLAGS_trace.o := -I$(src) misc/Makefile 0000644 00000004150 14722053666 0007152 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for misc devices that really don't fit anywhere else. # obj-$(CONFIG_IBM_ASM) += ibmasm/ obj-$(CONFIG_IBMVMC) += ibmvmc.o obj-$(CONFIG_AD525X_DPOT) += ad525x_dpot.o obj-$(CONFIG_AD525X_DPOT_I2C) += ad525x_dpot-i2c.o obj-$(CONFIG_AD525X_DPOT_SPI) += ad525x_dpot-spi.o obj-$(CONFIG_INTEL_MID_PTI) += pti.o obj-$(CONFIG_ATMEL_SSC) += atmel-ssc.o obj-$(CONFIG_ATMEL_TCLIB) += atmel_tclib.o obj-$(CONFIG_DUMMY_IRQ) += dummy-irq.o obj-$(CONFIG_ICS932S401) += ics932s401.o obj-$(CONFIG_LKDTM) += lkdtm/ obj-$(CONFIG_TIFM_CORE) += tifm_core.o obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o obj-$(CONFIG_PHANTOM) += phantom.o obj-$(CONFIG_QCOM_COINCELL) += qcom-coincell.o obj-$(CONFIG_QCOM_FASTRPC) += fastrpc.o obj-$(CONFIG_SENSORS_BH1770) += bh1770glc.o obj-$(CONFIG_SENSORS_APDS990X) += apds990x.o obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o obj-$(CONFIG_KGDB_TESTS) += kgdbts.o obj-$(CONFIG_SGI_XP) += sgi-xp/ obj-$(CONFIG_SGI_GRU) += sgi-gru/ obj-$(CONFIG_CS5535_MFGPT) += cs5535-mfgpt.o obj-$(CONFIG_HP_ILO) += hpilo.o obj-$(CONFIG_APDS9802ALS) += apds9802als.o obj-$(CONFIG_ISL29003) += isl29003.o obj-$(CONFIG_ISL29020) += isl29020.o obj-$(CONFIG_SENSORS_TSL2550) += tsl2550.o obj-$(CONFIG_DS1682) += ds1682.o obj-$(CONFIG_C2PORT) += c2port/ obj-$(CONFIG_HMC6352) += hmc6352.o obj-y += eeprom/ obj-y += cb710/ obj-$(CONFIG_VMWARE_BALLOON) += vmw_balloon.o obj-$(CONFIG_PCH_PHUB) += pch_phub.o obj-y += ti-st/ obj-y += lis3lv02d/ obj-$(CONFIG_ALTERA_STAPL) +=altera-stapl/ obj-$(CONFIG_INTEL_MEI) += mei/ obj-$(CONFIG_VMWARE_VMCI) += vmw_vmci/ obj-$(CONFIG_LATTICE_ECP3_CONFIG) += lattice-ecp3-config.o obj-$(CONFIG_SRAM) += sram.o obj-$(CONFIG_SRAM_EXEC) += sram-exec.o obj-y += mic/ obj-$(CONFIG_GENWQE) += genwqe/ obj-$(CONFIG_ECHO) += echo/ obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpress-syscfg.o obj-$(CONFIG_CXL_BASE) += cxl/ obj-$(CONFIG_PCI_ENDPOINT_TEST) += pci_endpoint_test.o obj-$(CONFIG_OCXL) += ocxl/ obj-y += cardreader/ obj-$(CONFIG_PVPANIC) += pvpanic.o obj-$(CONFIG_HABANA_AI) += habanalabs/ obj-$(CONFIG_XILINX_SDFEC) += xilinx_sdfec.o misc/lkdtm/Makefile 0000644 00000001256 14722053666 0010271 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_LKDTM) += lkdtm.o lkdtm-$(CONFIG_LKDTM) += core.o lkdtm-$(CONFIG_LKDTM) += bugs.o lkdtm-$(CONFIG_LKDTM) += heap.o lkdtm-$(CONFIG_LKDTM) += perms.o lkdtm-$(CONFIG_LKDTM) += refcount.o lkdtm-$(CONFIG_LKDTM) += rodata_objcopy.o lkdtm-$(CONFIG_LKDTM) += usercopy.o lkdtm-$(CONFIG_LKDTM) += stackleak.o lkdtm-$(CONFIG_LKDTM) += cfi.o KASAN_SANITIZE_stackleak.o := n KCOV_INSTRUMENT_rodata.o := n OBJCOPYFLAGS := OBJCOPYFLAGS_rodata_objcopy.o := \ --rename-section .noinstr.text=.rodata,alloc,readonly,load,contents targets += rodata.o rodata_objcopy.o $(obj)/rodata_objcopy.o: $(obj)/rodata.o FORCE $(call if_changed,objcopy) misc/c2port/Kconfig 0000644 00000001570 14722053666 0010231 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # C2 port devices # menuconfig C2PORT tristate "Silicon Labs C2 port support" help This option enables support for Silicon Labs C2 port used to program Silicon micro controller chips (and other 8051 compatible). If your board have no such micro controllers you don't need this interface at all. To compile this driver as a module, choose M here: the module will be called c2port_core. Note that you also need a client module usually called c2port-*. If you are not sure, say N here. if C2PORT config C2PORT_DURAMAR_2150 tristate "C2 port support for Eurotech's Duramar 2150" depends on X86 help This option enables C2 support for the Eurotech's Duramar 2150 on board micro controller. To compile this driver as a module, choose M here: the module will be called c2port-duramar2150. endif # C2PORT misc/c2port/Makefile 0000644 00000000203 14722053666 0010356 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_C2PORT) += core.o obj-$(CONFIG_C2PORT_DURAMAR_2150) += c2port-duramar2150.o misc/altera-stapl/Kconfig 0000644 00000000427 14722053666 0011411 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only comment "Altera FPGA firmware download module (requires I2C)" depends on !I2C config ALTERA_STAPL tristate "Altera FPGA firmware download module" depends on I2C help An Altera FPGA module. Say Y when you want to support this tool. misc/altera-stapl/Makefile 0000644 00000000234 14722053666 0011542 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only altera-stapl-objs = altera-lpt.o altera-jtag.o altera-comp.o altera.o obj-$(CONFIG_ALTERA_STAPL) += altera-stapl.o misc/vmw_vmci/Kconfig 0000644 00000000672 14722053666 0010651 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # VMware VMCI device # config VMWARE_VMCI tristate "VMware VMCI Driver" depends on X86 && PCI help This is VMware's Virtual Machine Communication Interface. It enables high-speed communication between host and guest in a virtual environment via the VMCI virtual device. If unsure, say N. To compile this driver as a module, choose M here: the module will be called vmw_vmci. misc/vmw_vmci/Makefile 0000644 00000000412 14722053666 0010776 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VMWARE_VMCI) += vmw_vmci.o vmw_vmci-y += vmci_context.o vmci_datagram.o vmci_doorbell.o \ vmci_driver.o vmci_event.o vmci_guest.o vmci_handle_array.o \ vmci_host.o vmci_queue_pair.o vmci_resource.o vmci_route.o misc/echo/Kconfig 0000644 00000000430 14722053666 0007730 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config ECHO tristate "Line Echo Canceller support" ---help--- This driver provides line echo cancelling support for mISDN and Zaptel drivers. To compile this driver as a module, choose M here. The module will be called echo. misc/echo/Makefile 0000644 00000000105 14722053666 0010064 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ECHO) += echo.o misc/cb710/Kconfig 0000644 00000001357 14722053666 0007637 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CB710_CORE tristate "ENE CB710/720 Flash memory card reader support" depends on PCI help This option enables support for PCI ENE CB710/720 Flash memory card reader found in some laptops (ie. some versions of HP Compaq nx9500). You will also have to select some flash card format drivers (MMC/SD, MemoryStick). This driver can also be built as a module. If so, the module will be called cb710. config CB710_DEBUG bool "Enable driver debugging" depends on CB710_CORE != n help This is an option for use by developers; most people should say N here. This adds a lot of debugging output to dmesg. config CB710_DEBUG_ASSUMPTIONS bool depends on CB710_CORE != n default y misc/cb710/Makefile 0000644 00000000274 14722053666 0007771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-$(CONFIG_CB710_DEBUG) := -DDEBUG obj-$(CONFIG_CB710_CORE) += cb710.o cb710-y := core.o sgbuf2.o cb710-$(CONFIG_CB710_DEBUG) += debug.o pnp/isapnp/Kconfig 0000644 00000000507 14722053666 0010153 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ISA Plug and Play configuration # config ISAPNP bool "ISA Plug and Play support" depends on ISA || COMPILE_TEST help Say Y here if you would like support for ISA Plug and Play devices. Some information is in <file:Documentation/driver-api/isapnp.rst>. If unsure, say Y. pnp/isapnp/Makefile 0000644 00000000242 14722053666 0010304 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the kernel ISAPNP driver. # obj-y += pnp.o pnp-y := core.o compat.o pnp-$(CONFIG_PROC_FS) += proc.o pnp/Kconfig 0000644 00000002550 14722053666 0006661 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Plug and Play configuration # menuconfig PNP bool "Plug and Play support" depends on HAS_IOMEM depends on ISA || ACPI ---help--- Plug and Play (PnP) is a standard for peripherals which allows those peripherals to be configured by software, e.g. assign IRQ's or other parameters. No jumpers on the cards are needed, instead the values are provided to the cards from the BIOS, from the operating system, or using a user-space utility. Say Y here if you would like Linux to configure your Plug and Play devices. You should then also say Y to all of the protocols below. Alternatively, you can say N here and configure your PnP devices using user space utilities such as the isapnptools package. If unsure, say Y. config PNP_DEBUG_MESSAGES default y bool "PNP debugging messages" depends on PNP help Say Y here if you want the PNP layer to be able to produce debugging messages if needed. The messages can be enabled at boot-time with the pnp.debug kernel parameter. This option allows you to save a bit of space if you do not want the messages to even be built into the kernel. If you have any doubts about this, say Y here. if PNP comment "Protocols" source "drivers/pnp/isapnp/Kconfig" source "drivers/pnp/pnpbios/Kconfig" source "drivers/pnp/pnpacpi/Kconfig" endif # PNP pnp/pnpbios/Kconfig 0000644 00000003301 14722053666 0010326 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Plug and Play BIOS configuration # config PNPBIOS bool "Plug and Play BIOS support" depends on ISA && X86_32 default n ---help--- Linux uses the PNPBIOS as defined in "Plug and Play BIOS Specification Version 1.0A May 5, 1994" to autodetect built-in mainboard resources (e.g. parallel port resources). Some features (e.g. event notification, docking station information, ISAPNP services) are not currently implemented. If you would like the kernel to detect and allocate resources to your mainboard devices (on some systems they are disabled by the BIOS) say Y here. Also the PNPBIOS can help prevent resource conflicts between mainboard devices and other bus devices. Note: ACPI is expected to supersede PNPBIOS some day, currently it co-exists nicely. If you have a non-ISA system that supports ACPI, you probably don't need PNPBIOS support. config PNPBIOS_PROC_FS bool "Plug and Play BIOS /proc interface" depends on PNPBIOS && PROC_FS ---help--- If you say Y here and to "/proc file system support", you will be able to directly access the PNPBIOS. This includes resource allocation, ESCD, and other PNPBIOS services. Using this interface is potentially dangerous because the PNPBIOS driver will not be notified of any resource changes made by writing directly. Also some buggy systems will fault when accessing certain features in the PNPBIOS /proc interface (e.g. "boot" configs). See the latest pcmcia-cs (stand-alone package) for a nice set of PNPBIOS /proc interface tools (lspnp and setpnp). Unless you are debugging or have other specific reasons, it is recommended that you say N here. pnp/pnpbios/Makefile 0000644 00000000266 14722053666 0010472 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the kernel PNPBIOS driver. # obj-y := pnp.o pnp-y := core.o bioscalls.o rsparser.o pnp-$(CONFIG_PNPBIOS_PROC_FS) += proc.o pnp/pnpacpi/Kconfig 0000644 00000000173 14722053666 0010312 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Plug and Play ACPI configuration # config PNPACPI bool default (PNP && ACPI) pnp/pnpacpi/Makefile 0000644 00000000201 14722053666 0010437 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the kernel PNPACPI driver. # obj-y += pnp.o pnp-y := core.o rsparser.o pnp/Makefile 0000644 00000000556 14722053666 0007022 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux Plug-and-Play Support. # obj-y := pnp.o pnp-y := core.o card.o driver.o resource.o manager.o support.o interface.o quirks.o obj-$(CONFIG_PNPACPI) += pnpacpi/ obj-$(CONFIG_PNPBIOS) += pnpbios/ obj-$(CONFIG_ISAPNP) += isapnp/ # pnp_system_init goes after pnpacpi/pnpbios init pnp-y += system.o mailbox/Kconfig 0000644 00000017526 14722053666 0007530 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig MAILBOX bool "Mailbox Hardware Support" help Mailbox is a framework to control hardware communication between on-chip processors through queued messages and interrupt driven signals. Say Y if your platform supports hardware mailboxes. if MAILBOX config ARM_MHU tristate "ARM MHU Mailbox" depends on ARM_AMBA help Say Y here if you want to build the ARM MHU controller driver. The controller has 3 mailbox channels, the last of which can be used in Secure mode only. config IMX_MBOX tristate "i.MX Mailbox" depends on ARCH_MXC || COMPILE_TEST help Mailbox implementation for i.MX Messaging Unit (MU). config PLATFORM_MHU tristate "Platform MHU Mailbox" depends on OF depends on HAS_IOMEM help Say Y here if you want to build a platform specific variant MHU controller driver. The controller has a maximum of 3 mailbox channels, the last of which can be used in Secure mode only. config PL320_MBOX bool "ARM PL320 Mailbox" depends on ARM_AMBA help An implementation of the ARM PL320 Interprocessor Communication Mailbox (IPCM), tailored for the Calxeda Highbank. It is used to send short messages between Highbank's A9 cores and the EnergyCore Management Engine, primarily for cpufreq. Say Y here if you want to use the PL320 IPCM support. config ARMADA_37XX_RWTM_MBOX tristate "Armada 37xx rWTM BIU Mailbox" depends on ARCH_MVEBU || COMPILE_TEST depends on OF help Mailbox implementation for communication with the the firmware running on the Cortex-M3 rWTM secure processor of the Armada 37xx SOC. Say Y here if you are building for such a device (for example the Turris Mox router). config OMAP2PLUS_MBOX tristate "OMAP2+ Mailbox framework support" depends on ARCH_OMAP2PLUS || ARCH_K3 help Mailbox implementation for OMAP family chips with hardware for interprocessor communication involving DSP, IVA1.0 and IVA2 in OMAP2/3; or IPU, IVA HD and DSP in OMAP4/5. Say Y here if you want to use OMAP2+ Mailbox framework support. config OMAP_MBOX_KFIFO_SIZE int "Mailbox kfifo default buffer size (bytes)" depends on OMAP2PLUS_MBOX default 256 help Specify the default size of mailbox's kfifo buffers (bytes). This can also be changed at runtime (via the mbox_kfifo_size module parameter). config ROCKCHIP_MBOX bool "Rockchip Soc Intergrated Mailbox Support" depends on ARCH_ROCKCHIP || COMPILE_TEST help This driver provides support for inter-processor communication between CPU cores and MCU processor on Some Rockchip SOCs. Please check it that the Soc you use have Mailbox hardware. Say Y here if you want to use the Rockchip Mailbox support. config PCC bool "Platform Communication Channel Driver" depends on ACPI default n help ACPI 5.0+ spec defines a generic mode of communication between the OS and a platform such as the BMC. This medium (PCC) is typically used by CPPC (ACPI CPU Performance management), RAS (ACPI reliability protocol) and MPST (ACPI Memory power states). Select this driver if your platform implements the PCC clients mentioned above. config ALTERA_MBOX tristate "Altera Mailbox" depends on HAS_IOMEM help An implementation of the Altera Mailbox soft core. It is used to send message between processors. Say Y here if you want to use the Altera mailbox support. config BCM2835_MBOX tristate "BCM2835 Mailbox" depends on ARCH_BCM2835 help An implementation of the BCM2385 Mailbox. It is used to invoke the services of the Videocore. Say Y here if you want to use the BCM2835 Mailbox. config STI_MBOX tristate "STI Mailbox framework support" depends on ARCH_STI && OF help Mailbox implementation for STMicroelectonics family chips with hardware for interprocessor communication. config TI_MESSAGE_MANAGER tristate "Texas Instruments Message Manager Driver" depends on ARCH_KEYSTONE || ARCH_K3 help An implementation of Message Manager slave driver for Keystone and K3 architecture SoCs from Texas Instruments. Message Manager is a communication entity found on few of Texas Instrument's keystone and K3 architecture SoCs. These may be used for communication between multiple processors within the SoC. Select this driver if your platform has support for the hardware block. config HI3660_MBOX tristate "Hi3660 Mailbox" if EXPERT depends on (ARCH_HISI || COMPILE_TEST) depends on OF default ARCH_HISI help An implementation of the hi3660 mailbox. It is used to send message between application processors and other processors/MCU/DSP. Select Y here if you want to use Hi3660 mailbox controller. config HI6220_MBOX tristate "Hi6220 Mailbox" if EXPERT depends on (ARCH_HISI || COMPILE_TEST) depends on OF default ARCH_HISI help An implementation of the hi6220 mailbox. It is used to send message between application processors and MCU. Say Y here if you want to build Hi6220 mailbox controller driver. config MAILBOX_TEST tristate "Mailbox Test Client" depends on OF depends on HAS_IOMEM help Test client to help with testing new Controller driver implementations. config QCOM_APCS_IPC tristate "Qualcomm APCS IPC driver" depends on ARCH_QCOM || COMPILE_TEST help Say y here to enable support for the APCS IPC mailbox driver, providing an interface for invoking the inter-process communication signals from the application processor to other masters. config TEGRA_HSP_MBOX bool "Tegra HSP (Hardware Synchronization Primitives) Driver" depends on ARCH_TEGRA help The Tegra HSP driver is used for the interprocessor communication between different remote processors and host processors on Tegra186 and later SoCs. Say Y here if you want to have this support. If unsure say N. config XGENE_SLIMPRO_MBOX tristate "APM SoC X-Gene SLIMpro Mailbox Controller" depends on ARCH_XGENE help An implementation of the APM X-Gene Interprocessor Communication Mailbox (IPCM) between the ARM 64-bit cores and SLIMpro controller. It is used to send short messages between ARM64-bit cores and the SLIMpro Management Engine, primarily for PM. Say Y here if you want to use the APM X-Gene SLIMpro IPCM support. config BCM_PDC_MBOX tristate "Broadcom FlexSparx DMA Mailbox" depends on ARCH_BCM_IPROC || COMPILE_TEST help Mailbox implementation for the Broadcom FlexSparx DMA ring manager, which provides access to various offload engines on Broadcom SoCs, including FA2/FA+ on Northstar Plus and PDC on Northstar 2. config BCM_FLEXRM_MBOX tristate "Broadcom FlexRM Mailbox" depends on ARM64 depends on ARCH_BCM_IPROC || COMPILE_TEST select GENERIC_MSI_IRQ_DOMAIN default m if ARCH_BCM_IPROC help Mailbox implementation of the Broadcom FlexRM ring manager, which provides access to various offload engines on Broadcom SoCs. Say Y here if you want to use the Broadcom FlexRM. config STM32_IPCC tristate "STM32 IPCC Mailbox" depends on MACH_STM32MP157 help Mailbox implementation for STMicroelectonics STM32 family chips with hardware for Inter-Processor Communication Controller (IPCC) between processors. Say Y here if you want to have this support. config MTK_CMDQ_MBOX tristate "MediaTek CMDQ Mailbox Support" depends on ARCH_MEDIATEK || COMPILE_TEST select MTK_INFRACFG help Say yes here to add support for the MediaTek Command Queue (CMDQ) mailbox driver. The CMDQ is used to help read/write registers with critical time limitation, such as updating display configuration during the vblank. config ZYNQMP_IPI_MBOX bool "Xilinx ZynqMP IPI Mailbox" depends on ARCH_ZYNQMP && OF help Say yes here to add support for Xilinx IPI mailbox driver. This mailbox driver is used to send notification or short message between processors with Xilinx ZynqMP IPI. It will place the message to the IPI buffer and will access the IPI control registers to kick the other processor or enquire status. endif mailbox/Makefile 0000644 00000002253 14722053666 0007654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Generic MAILBOX API obj-$(CONFIG_MAILBOX) += mailbox.o obj-$(CONFIG_MAILBOX_TEST) += mailbox-test.o obj-$(CONFIG_ARM_MHU) += arm_mhu.o obj-$(CONFIG_IMX_MBOX) += imx-mailbox.o obj-$(CONFIG_ARMADA_37XX_RWTM_MBOX) += armada-37xx-rwtm-mailbox.o obj-$(CONFIG_PLATFORM_MHU) += platform_mhu.o obj-$(CONFIG_PL320_MBOX) += pl320-ipc.o obj-$(CONFIG_OMAP2PLUS_MBOX) += omap-mailbox.o obj-$(CONFIG_ROCKCHIP_MBOX) += rockchip-mailbox.o obj-$(CONFIG_PCC) += pcc.o obj-$(CONFIG_ALTERA_MBOX) += mailbox-altera.o obj-$(CONFIG_BCM2835_MBOX) += bcm2835-mailbox.o obj-$(CONFIG_STI_MBOX) += mailbox-sti.o obj-$(CONFIG_TI_MESSAGE_MANAGER) += ti-msgmgr.o obj-$(CONFIG_XGENE_SLIMPRO_MBOX) += mailbox-xgene-slimpro.o obj-$(CONFIG_HI3660_MBOX) += hi3660-mailbox.o obj-$(CONFIG_HI6220_MBOX) += hi6220-mailbox.o obj-$(CONFIG_BCM_PDC_MBOX) += bcm-pdc-mailbox.o obj-$(CONFIG_BCM_FLEXRM_MBOX) += bcm-flexrm-mailbox.o obj-$(CONFIG_QCOM_APCS_IPC) += qcom-apcs-ipc-mailbox.o obj-$(CONFIG_TEGRA_HSP_MBOX) += tegra-hsp.o obj-$(CONFIG_STM32_IPCC) += stm32-ipcc.o obj-$(CONFIG_MTK_CMDQ_MBOX) += mtk-cmdq-mailbox.o obj-$(CONFIG_ZYNQMP_IPI_MBOX) += zynqmp-ipi-mailbox.o pinctrl/zte/Kconfig 0000644 00000000513 14722053666 0010336 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PINCTRL_ZX bool select PINMUX select GENERIC_PINCONF select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS config PINCTRL_ZX296718 bool "ZTE ZX296718 pinctrl driver" depends on OF && ARCH_ZX select PINCTRL_ZX help Say Y here to enable the ZX296718 pinctrl driver pinctrl/zte/Makefile 0000644 00000000206 14722053666 0010472 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PINCTRL_ZX) += pinctrl-zx.o obj-$(CONFIG_PINCTRL_ZX296718) += pinctrl-zx296718.o pinctrl/sunxi/Kconfig 0000644 00000005013 14722053666 0010702 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if ARCH_SUNXI config PINCTRL_SUNXI bool select PINMUX select GENERIC_PINCONF select GPIOLIB config PINCTRL_SUNIV_F1C100S def_bool MACH_SUNIV select PINCTRL_SUNXI config PINCTRL_SUN4I_A10 bool "Support for the Allwinner A10, A20 and R40 PIO" default MACH_SUN4I || MACH_SUN7I || MACH_SUN8I select PINCTRL_SUNXI config PINCTRL_SUN5I bool "Support for the Allwinner A10s, A13, R8 and NextThing GR8 PIO" default MACH_SUN5I select PINCTRL_SUNXI config PINCTRL_SUN6I_A31 bool "Support for the Allwinner A31 PIO" default MACH_SUN6I select PINCTRL_SUNXI config PINCTRL_SUN6I_A31_R bool "Support for the Allwinner A31 R-PIO" default MACH_SUN6I depends on RESET_CONTROLLER select PINCTRL_SUNXI config PINCTRL_SUN8I_A23 bool "Support for the Allwinner A23 PIO" default MACH_SUN8I select PINCTRL_SUNXI config PINCTRL_SUN8I_A33 bool "Support for the Allwinner A33 PIO" default MACH_SUN8I select PINCTRL_SUNXI config PINCTRL_SUN8I_A83T bool "Support for the Allwinner A83T PIO" default MACH_SUN8I select PINCTRL_SUNXI config PINCTRL_SUN8I_A83T_R bool "Support for the Allwinner A83T R-PIO" default MACH_SUN8I select PINCTRL_SUNXI config PINCTRL_SUN8I_A23_R bool "Support for the Allwinner A23 and A33 R-PIO" default MACH_SUN8I depends on RESET_CONTROLLER select PINCTRL_SUNXI config PINCTRL_SUN8I_H3 bool "Support for the Allwinner H3 PIO" default MACH_SUN8I select PINCTRL_SUNXI config PINCTRL_SUN8I_H3_R bool "Support for the Allwinner H3 and H5 R-PIO" default MACH_SUN8I || (ARM64 && ARCH_SUNXI) select PINCTRL_SUNXI config PINCTRL_SUN8I_V3S bool "Support for the Allwinner V3s PIO" default MACH_SUN8I select PINCTRL_SUNXI config PINCTRL_SUN9I_A80 bool "Support for the Allwinner A80 PIO" default MACH_SUN9I select PINCTRL_SUNXI config PINCTRL_SUN9I_A80_R bool "Support for the Allwinner A80 R-PIO" default MACH_SUN9I depends on RESET_CONTROLLER select PINCTRL_SUNXI config PINCTRL_SUN50I_A64 bool "Support for the Allwinner A64 PIO" default ARM64 && ARCH_SUNXI select PINCTRL_SUNXI config PINCTRL_SUN50I_A64_R bool "Support for the Allwinner A64 R-PIO" default ARM64 && ARCH_SUNXI select PINCTRL_SUNXI config PINCTRL_SUN50I_H5 bool "Support for the Allwinner H5 PIO" default ARM64 && ARCH_SUNXI select PINCTRL_SUNXI config PINCTRL_SUN50I_H6 bool "Support for the Allwinner H6 PIO" default ARM64 && ARCH_SUNXI select PINCTRL_SUNXI config PINCTRL_SUN50I_H6_R bool "Support for the Allwinner H6 R-PIO" default ARM64 && ARCH_SUNXI select PINCTRL_SUNXI endif pinctrl/sunxi/Makefile 0000644 00000002314 14722053666 0011040 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Core obj-y += pinctrl-sunxi.o # SoC Drivers obj-$(CONFIG_PINCTRL_SUNIV_F1C100S) += pinctrl-suniv-f1c100s.o obj-$(CONFIG_PINCTRL_SUN4I_A10) += pinctrl-sun4i-a10.o obj-$(CONFIG_PINCTRL_SUN5I) += pinctrl-sun5i.o obj-$(CONFIG_PINCTRL_SUN6I_A31) += pinctrl-sun6i-a31.o obj-$(CONFIG_PINCTRL_SUN6I_A31_R) += pinctrl-sun6i-a31-r.o obj-$(CONFIG_PINCTRL_SUN8I_A23) += pinctrl-sun8i-a23.o obj-$(CONFIG_PINCTRL_SUN8I_A23_R) += pinctrl-sun8i-a23-r.o obj-$(CONFIG_PINCTRL_SUN8I_A33) += pinctrl-sun8i-a33.o obj-$(CONFIG_PINCTRL_SUN50I_A64) += pinctrl-sun50i-a64.o obj-$(CONFIG_PINCTRL_SUN50I_A64_R) += pinctrl-sun50i-a64-r.o obj-$(CONFIG_PINCTRL_SUN8I_A83T) += pinctrl-sun8i-a83t.o obj-$(CONFIG_PINCTRL_SUN8I_A83T_R) += pinctrl-sun8i-a83t-r.o obj-$(CONFIG_PINCTRL_SUN8I_H3) += pinctrl-sun8i-h3.o obj-$(CONFIG_PINCTRL_SUN8I_H3_R) += pinctrl-sun8i-h3-r.o obj-$(CONFIG_PINCTRL_SUN8I_V3S) += pinctrl-sun8i-v3s.o obj-$(CONFIG_PINCTRL_SUN50I_H5) += pinctrl-sun50i-h5.o obj-$(CONFIG_PINCTRL_SUN50I_H6) += pinctrl-sun50i-h6.o obj-$(CONFIG_PINCTRL_SUN50I_H6_R) += pinctrl-sun50i-h6-r.o obj-$(CONFIG_PINCTRL_SUN9I_A80) += pinctrl-sun9i-a80.o obj-$(CONFIG_PINCTRL_SUN9I_A80_R) += pinctrl-sun9i-a80-r.o pinctrl/sh-pfc/Kconfig 0000644 00000012774 14722053666 0010730 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Renesas SH and SH Mobile PINCTRL drivers # config PINCTRL_SH_PFC bool "Renesas SoC pin control support" if COMPILE_TEST && !(ARCH_RENESAS || SUPERH) default y if ARCH_RENESAS || SUPERH select PINMUX select PINCONF select GENERIC_PINCONF select PINCTRL_PFC_EMEV2 if ARCH_EMEV2 select PINCTRL_PFC_R8A73A4 if ARCH_R8A73A4 select PINCTRL_PFC_R8A7740 if ARCH_R8A7740 select PINCTRL_PFC_R8A7743 if ARCH_R8A7743 select PINCTRL_PFC_R8A7744 if ARCH_R8A7744 select PINCTRL_PFC_R8A7745 if ARCH_R8A7745 select PINCTRL_PFC_R8A77470 if ARCH_R8A77470 select PINCTRL_PFC_R8A774A1 if ARCH_R8A774A1 select PINCTRL_PFC_R8A774C0 if ARCH_R8A774C0 select PINCTRL_PFC_R8A7778 if ARCH_R8A7778 select PINCTRL_PFC_R8A7779 if ARCH_R8A7779 select PINCTRL_PFC_R8A7790 if ARCH_R8A7790 select PINCTRL_PFC_R8A7791 if ARCH_R8A7791 select PINCTRL_PFC_R8A7792 if ARCH_R8A7792 select PINCTRL_PFC_R8A7793 if ARCH_R8A7793 select PINCTRL_PFC_R8A7794 if ARCH_R8A7794 select PINCTRL_PFC_R8A7795 if ARCH_R8A7795 select PINCTRL_PFC_R8A7796 if ARCH_R8A7796 select PINCTRL_PFC_R8A77965 if ARCH_R8A77965 select PINCTRL_PFC_R8A77970 if ARCH_R8A77970 select PINCTRL_PFC_R8A77980 if ARCH_R8A77980 select PINCTRL_PFC_R8A77990 if ARCH_R8A77990 select PINCTRL_PFC_R8A77995 if ARCH_R8A77995 select PINCTRL_PFC_SH7203 if CPU_SUBTYPE_SH7203 select PINCTRL_PFC_SH7264 if CPU_SUBTYPE_SH7264 select PINCTRL_PFC_SH7269 if CPU_SUBTYPE_SH7269 select PINCTRL_PFC_SH73A0 if ARCH_SH73A0 select PINCTRL_PFC_SH7720 if CPU_SUBTYPE_SH7720 select PINCTRL_PFC_SH7722 if CPU_SUBTYPE_SH7722 select PINCTRL_PFC_SH7723 if CPU_SUBTYPE_SH7723 select PINCTRL_PFC_SH7724 if CPU_SUBTYPE_SH7724 select PINCTRL_PFC_SH7734 if CPU_SUBTYPE_SH7734 select PINCTRL_PFC_SH7757 if CPU_SUBTYPE_SH7757 select PINCTRL_PFC_SH7785 if CPU_SUBTYPE_SH7785 select PINCTRL_PFC_SH7786 if CPU_SUBTYPE_SH7786 select PINCTRL_PFC_SHX3 if CPU_SUBTYPE_SHX3 help This enables pin control drivers for Renesas SuperH and ARM platforms config PINCTRL_SH_PFC_GPIO select GPIOLIB bool help This enables pin control and GPIO drivers for SH/SH Mobile platforms config PINCTRL_SH_FUNC_GPIO select PINCTRL_SH_PFC_GPIO bool help This enables legacy function GPIOs for SH platforms config PINCTRL_PFC_EMEV2 bool "Emma Mobile AV2 pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A73A4 bool "R-Mobile APE6 pin control support" if COMPILE_TEST select PINCTRL_SH_PFC_GPIO config PINCTRL_PFC_R8A7740 bool "R-Mobile A1 pin control support" if COMPILE_TEST select PINCTRL_SH_PFC_GPIO config PINCTRL_PFC_R8A7743 bool "RZ/G1M pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7744 bool "RZ/G1N pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7745 bool "RZ/G1E pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A77470 bool "RZ/G1C pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A774A1 bool "RZ/G2M pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A774C0 bool "RZ/G2E pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7778 bool "R-Car M1A pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7779 bool "R-Car H1 pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7790 bool "R-Car H2 pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7791 bool "R-Car M2-W pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7792 bool "R-Car V2H pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7793 bool "R-Car M2-N pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7794 bool "R-Car E2 pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7795 bool "R-Car H3 pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A7796 bool "R-Car M3-W pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A77965 bool "R-Car M3-N pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A77970 bool "R-Car V3M pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A77980 bool "R-Car V3H pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A77990 bool "R-Car E3 pin control support" if COMPILE_TEST config PINCTRL_PFC_R8A77995 bool "R-Car D3 pin control support" if COMPILE_TEST config PINCTRL_PFC_SH7203 bool "SH7203 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH7264 bool "SH7264 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH7269 bool "SH7269 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH73A0 bool "SH-Mobile AG5 pin control support" if COMPILE_TEST select PINCTRL_SH_PFC_GPIO select REGULATOR config PINCTRL_PFC_SH7720 bool "SH7720 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH7722 bool "SH7722 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH7723 bool "SH-Mobile R2 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH7724 bool "SH-Mobile R2R pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH7734 bool "SH7734 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH7757 bool "SH7757 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH7785 bool "SH7785 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SH7786 bool "SH7786 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO config PINCTRL_PFC_SHX3 bool "SH-X3 pin control support" if COMPILE_TEST select PINCTRL_SH_FUNC_GPIO pinctrl/sh-pfc/Makefile 0000644 00000005311 14722053666 0011052 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PINCTRL_SH_PFC) += core.o pinctrl.o obj-$(CONFIG_PINCTRL_SH_PFC_GPIO) += gpio.o obj-$(CONFIG_PINCTRL_PFC_EMEV2) += pfc-emev2.o obj-$(CONFIG_PINCTRL_PFC_R8A73A4) += pfc-r8a73a4.o obj-$(CONFIG_PINCTRL_PFC_R8A7740) += pfc-r8a7740.o obj-$(CONFIG_PINCTRL_PFC_R8A7743) += pfc-r8a7791.o obj-$(CONFIG_PINCTRL_PFC_R8A7744) += pfc-r8a7791.o obj-$(CONFIG_PINCTRL_PFC_R8A7745) += pfc-r8a7794.o obj-$(CONFIG_PINCTRL_PFC_R8A77470) += pfc-r8a77470.o obj-$(CONFIG_PINCTRL_PFC_R8A774A1) += pfc-r8a7796.o obj-$(CONFIG_PINCTRL_PFC_R8A774C0) += pfc-r8a77990.o obj-$(CONFIG_PINCTRL_PFC_R8A7778) += pfc-r8a7778.o obj-$(CONFIG_PINCTRL_PFC_R8A7779) += pfc-r8a7779.o obj-$(CONFIG_PINCTRL_PFC_R8A7790) += pfc-r8a7790.o obj-$(CONFIG_PINCTRL_PFC_R8A7791) += pfc-r8a7791.o obj-$(CONFIG_PINCTRL_PFC_R8A7792) += pfc-r8a7792.o obj-$(CONFIG_PINCTRL_PFC_R8A7793) += pfc-r8a7791.o obj-$(CONFIG_PINCTRL_PFC_R8A7794) += pfc-r8a7794.o obj-$(CONFIG_PINCTRL_PFC_R8A7795) += pfc-r8a7795.o obj-$(CONFIG_PINCTRL_PFC_R8A7795) += pfc-r8a7795-es1.o obj-$(CONFIG_PINCTRL_PFC_R8A7796) += pfc-r8a7796.o obj-$(CONFIG_PINCTRL_PFC_R8A77965) += pfc-r8a77965.o obj-$(CONFIG_PINCTRL_PFC_R8A77970) += pfc-r8a77970.o obj-$(CONFIG_PINCTRL_PFC_R8A77980) += pfc-r8a77980.o obj-$(CONFIG_PINCTRL_PFC_R8A77990) += pfc-r8a77990.o obj-$(CONFIG_PINCTRL_PFC_R8A77995) += pfc-r8a77995.o obj-$(CONFIG_PINCTRL_PFC_SH7203) += pfc-sh7203.o obj-$(CONFIG_PINCTRL_PFC_SH7264) += pfc-sh7264.o obj-$(CONFIG_PINCTRL_PFC_SH7269) += pfc-sh7269.o obj-$(CONFIG_PINCTRL_PFC_SH73A0) += pfc-sh73a0.o obj-$(CONFIG_PINCTRL_PFC_SH7720) += pfc-sh7720.o obj-$(CONFIG_PINCTRL_PFC_SH7722) += pfc-sh7722.o obj-$(CONFIG_PINCTRL_PFC_SH7723) += pfc-sh7723.o obj-$(CONFIG_PINCTRL_PFC_SH7724) += pfc-sh7724.o obj-$(CONFIG_PINCTRL_PFC_SH7734) += pfc-sh7734.o obj-$(CONFIG_PINCTRL_PFC_SH7757) += pfc-sh7757.o obj-$(CONFIG_PINCTRL_PFC_SH7785) += pfc-sh7785.o obj-$(CONFIG_PINCTRL_PFC_SH7786) += pfc-sh7786.o obj-$(CONFIG_PINCTRL_PFC_SHX3) += pfc-shx3.o ifeq ($(CONFIG_COMPILE_TEST),y) CFLAGS_pfc-sh7203.o += -I$(srctree)/arch/sh/include/cpu-sh2a CFLAGS_pfc-sh7264.o += -I$(srctree)/arch/sh/include/cpu-sh2a CFLAGS_pfc-sh7269.o += -I$(srctree)/arch/sh/include/cpu-sh2a CFLAGS_pfc-sh7720.o += -I$(srctree)/arch/sh/include/cpu-sh3 CFLAGS_pfc-sh7722.o += -I$(srctree)/arch/sh/include/cpu-sh4 CFLAGS_pfc-sh7723.o += -I$(srctree)/arch/sh/include/cpu-sh4 CFLAGS_pfc-sh7724.o += -I$(srctree)/arch/sh/include/cpu-sh4 CFLAGS_pfc-sh7734.o += -I$(srctree)/arch/sh/include/cpu-sh4 CFLAGS_pfc-sh7757.o += -I$(srctree)/arch/sh/include/cpu-sh4 CFLAGS_pfc-sh7785.o += -I$(srctree)/arch/sh/include/cpu-sh4 CFLAGS_pfc-sh7786.o += -I$(srctree)/arch/sh/include/cpu-sh4 CFLAGS_pfc-shx3.o += -I$(srctree)/arch/sh/include/cpu-sh4 endif pinctrl/berlin/Kconfig 0000644 00000001204 14722053666 0011005 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if (ARCH_BERLIN || COMPILE_TEST) config PINCTRL_BERLIN bool select PINMUX select REGMAP_MMIO config PINCTRL_AS370 bool "Synaptics as370 pin controller driver" depends on OF select PINCTRL_BERLIN config PINCTRL_BERLIN_BG2 def_bool MACH_BERLIN_BG2 depends on OF select PINCTRL_BERLIN config PINCTRL_BERLIN_BG2CD def_bool MACH_BERLIN_BG2CD depends on OF select PINCTRL_BERLIN config PINCTRL_BERLIN_BG2Q def_bool MACH_BERLIN_BG2Q depends on OF select PINCTRL_BERLIN config PINCTRL_BERLIN_BG4CT bool "Marvell berlin4ct pin controller driver" depends on OF select PINCTRL_BERLIN endif pinctrl/berlin/Makefile 0000644 00000000474 14722053666 0011152 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += berlin.o obj-$(CONFIG_PINCTRL_BERLIN_BG2) += berlin-bg2.o obj-$(CONFIG_PINCTRL_BERLIN_BG2CD) += berlin-bg2cd.o obj-$(CONFIG_PINCTRL_BERLIN_BG2Q) += berlin-bg2q.o obj-$(CONFIG_PINCTRL_BERLIN_BG4CT) += berlin-bg4ct.o obj-$(CONFIG_PINCTRL_AS370) += pinctrl-as370.o pinctrl/stm32/Kconfig 0000644 00000002462 14722053666 0010511 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if ARCH_STM32 || COMPILE_TEST config PINCTRL_STM32 bool depends on OF select PINMUX select GENERIC_PINCONF select GPIOLIB select IRQ_DOMAIN_HIERARCHY select MFD_SYSCON config PINCTRL_STM32F429 bool "STMicroelectronics STM32F429 pin control" if COMPILE_TEST && !MACH_STM32F429 depends on OF && HAS_IOMEM default MACH_STM32F429 select PINCTRL_STM32 config PINCTRL_STM32F469 bool "STMicroelectronics STM32F469 pin control" if COMPILE_TEST && !MACH_STM32F469 depends on OF && HAS_IOMEM default MACH_STM32F469 select PINCTRL_STM32 config PINCTRL_STM32F746 bool "STMicroelectronics STM32F746 pin control" if COMPILE_TEST && !MACH_STM32F746 depends on OF && HAS_IOMEM default MACH_STM32F746 select PINCTRL_STM32 config PINCTRL_STM32F769 bool "STMicroelectronics STM32F769 pin control" if COMPILE_TEST && !MACH_STM32F769 depends on OF && HAS_IOMEM default MACH_STM32F769 select PINCTRL_STM32 config PINCTRL_STM32H743 bool "STMicroelectronics STM32H743 pin control" if COMPILE_TEST && !MACH_STM32H743 depends on OF && HAS_IOMEM default MACH_STM32H743 select PINCTRL_STM32 config PINCTRL_STM32MP157 bool "STMicroelectronics STM32MP157 pin control" if COMPILE_TEST && !MACH_STM32MP157 depends on OF && HAS_IOMEM default MACH_STM32MP157 select PINCTRL_STM32 endif pinctrl/stm32/Makefile 0000644 00000000664 14722053666 0010650 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Core obj-$(CONFIG_PINCTRL_STM32) += pinctrl-stm32.o # SoC Drivers obj-$(CONFIG_PINCTRL_STM32F429) += pinctrl-stm32f429.o obj-$(CONFIG_PINCTRL_STM32F469) += pinctrl-stm32f469.o obj-$(CONFIG_PINCTRL_STM32F746) += pinctrl-stm32f746.o obj-$(CONFIG_PINCTRL_STM32F769) += pinctrl-stm32f769.o obj-$(CONFIG_PINCTRL_STM32H743) += pinctrl-stm32h743.o obj-$(CONFIG_PINCTRL_STM32MP157) += pinctrl-stm32mp157.o pinctrl/aspeed/Kconfig 0000644 00000001772 14722053666 0011005 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PINCTRL_ASPEED bool depends on (ARCH_ASPEED || COMPILE_TEST) && OF depends on MFD_SYSCON select PINMUX select PINCONF select GENERIC_PINCONF select REGMAP_MMIO config PINCTRL_ASPEED_G4 bool "Aspeed G4 SoC pin control" depends on (MACH_ASPEED_G4 || COMPILE_TEST) && OF select PINCTRL_ASPEED help Say Y here to enable pin controller support for Aspeed's 4th generation SoCs. GPIO is provided by a separate GPIO driver. config PINCTRL_ASPEED_G5 bool "Aspeed G5 SoC pin control" depends on (MACH_ASPEED_G5 || COMPILE_TEST) && OF select PINCTRL_ASPEED help Say Y here to enable pin controller support for Aspeed's 5th generation SoCs. GPIO is provided by a separate GPIO driver. config PINCTRL_ASPEED_G6 bool "Aspeed G6 SoC pin control" depends on (MACH_ASPEED_G6 || COMPILE_TEST) && OF select PINCTRL_ASPEED help Say Y here to enable pin controller support for Aspeed's 6th generation SoCs. GPIO is provided by a separate GPIO driver. pinctrl/aspeed/Makefile 0000644 00000000527 14722053666 0011137 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Aspeed pinctrl support ccflags-y += $(call cc-option,-Woverride-init) obj-$(CONFIG_PINCTRL_ASPEED) += pinctrl-aspeed.o pinmux-aspeed.o obj-$(CONFIG_PINCTRL_ASPEED_G4) += pinctrl-aspeed-g4.o obj-$(CONFIG_PINCTRL_ASPEED_G5) += pinctrl-aspeed-g5.o obj-$(CONFIG_PINCTRL_ASPEED_G6) += pinctrl-aspeed-g6.o pinctrl/pxa/Kconfig 0000644 00000001150 14722053666 0010322 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if (ARCH_PXA || COMPILE_TEST) config PINCTRL_PXA bool select PINMUX select PINCONF select GENERIC_PINCONF config PINCTRL_PXA25X tristate "Marvell PXA25x pin controller driver" select PINCTRL_PXA default y if PXA25x help This is the pinctrl, pinmux, pinconf driver for the Marvell PXA2xx block found in the pxa25x platforms. config PINCTRL_PXA27X tristate "Marvell PXA27x pin controller driver" select PINCTRL_PXA default y if PXA27x help This is the pinctrl, pinmux, pinconf driver for the Marvell PXA2xx block found in the pxa27x platforms. endif pinctrl/pxa/Makefile 0000644 00000000316 14722053666 0010462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Marvell PXA pin control drivers obj-$(CONFIG_PINCTRL_PXA25X) += pinctrl-pxa2xx.o pinctrl-pxa25x.o obj-$(CONFIG_PINCTRL_PXA27X) += pinctrl-pxa2xx.o pinctrl-pxa27x.o pinctrl/Kconfig 0000644 00000025470 14722053666 0007545 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PINCTRL infrastructure and drivers # menuconfig PINCTRL bool "Pin controllers" if PINCTRL config GENERIC_PINCTRL_GROUPS bool config PINMUX bool "Support pin multiplexing controllers" if COMPILE_TEST config GENERIC_PINMUX_FUNCTIONS bool select PINMUX config PINCONF bool "Support pin configuration controllers" if COMPILE_TEST config GENERIC_PINCONF bool select PINCONF config DEBUG_PINCTRL bool "Debug PINCTRL calls" depends on DEBUG_KERNEL help Say Y here to add some extra checks and diagnostics to PINCTRL calls. config PINCTRL_ARTPEC6 bool "Axis ARTPEC-6 pin controller driver" depends on MACH_ARTPEC6 select PINMUX select GENERIC_PINCONF help This is the driver for the Axis ARTPEC-6 pin controller. This driver supports pin function multiplexing as well as pin bias and drive strength configuration. Device tree integration instructions can be found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt config PINCTRL_AS3722 tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" depends on MFD_AS3722 && GPIOLIB select PINMUX select GENERIC_PINCONF help AS3722 device supports the configuration of GPIO pins for different functionality. This driver supports the pinmux, push-pull and open drain configuration for the GPIO pins of AS3722 devices. It also supports the GPIO functionality through gpiolib. config PINCTRL_AXP209 tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support" depends on MFD_AXP20X depends on OF select PINMUX select GENERIC_PINCONF select GPIOLIB help AXP PMICs provides multiple GPIOs that can be muxed for different functions. This driver bundles a pinctrl driver to select the function muxing and a GPIO driver to handle the GPIO when the GPIO function is selected. Say yes to enable pinctrl and GPIO support for the AXP209 PMIC config PINCTRL_AT91 bool "AT91 pinctrl driver" depends on OF depends on ARCH_AT91 select PINMUX select PINCONF select GPIOLIB select OF_GPIO select GPIOLIB_IRQCHIP help Say Y here to enable the at91 pinctrl driver config PINCTRL_AT91PIO4 bool "AT91 PIO4 pinctrl driver" depends on OF depends on ARCH_AT91 select PINMUX select GENERIC_PINCONF select GPIOLIB select GPIOLIB_IRQCHIP select OF_GPIO help Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4 controller available on sama5d2 SoC. config PINCTRL_AMD tristate "AMD GPIO pin control" depends on HAS_IOMEM select GPIOLIB select GPIOLIB_IRQCHIP select PINMUX select PINCONF select GENERIC_PINCONF help driver for memory mapped GPIO functionality on AMD platforms (x86 or arm).Most pins are usually muxed to some other functionality by firmware,so only a small amount is available for gpio use. Requires ACPI/FDT device enumeration code to set up a platform device. config PINCTRL_BM1880 bool "Bitmain BM1880 Pinctrl driver" depends on OF && (ARCH_BITMAIN || COMPILE_TEST) default ARCH_BITMAIN select PINMUX help Pinctrl driver for Bitmain BM1880 SoC. config PINCTRL_DA850_PUPD tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups" depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) select PINCONF select GENERIC_PINCONF help Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control pullup/pulldown pin groups. config PINCTRL_DIGICOLOR bool depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST) select PINMUX select GENERIC_PINCONF config PINCTRL_LANTIQ bool depends on LANTIQ select PINMUX select PINCONF config PINCTRL_LPC18XX bool "NXP LPC18XX/43XX SCU pinctrl driver" depends on OF && (ARCH_LPC18XX || COMPILE_TEST) default ARCH_LPC18XX select PINMUX select GENERIC_PINCONF help Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). config PINCTRL_FALCON bool depends on SOC_FALCON depends on PINCTRL_LANTIQ config PINCTRL_GEMINI bool depends on ARCH_GEMINI default ARCH_GEMINI select PINMUX select GENERIC_PINCONF select MFD_SYSCON config PINCTRL_MCP23S08 tristate "Microchip MCP23xxx I/O expander" depends on SPI_MASTER || I2C depends on I2C || I2C=n select GPIOLIB select GPIOLIB_IRQCHIP select REGMAP_I2C if I2C select REGMAP_SPI if SPI_MASTER select GENERIC_PINCONF help SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 / MCP23008 / MCP23017 / MCP23018 I/O expanders. This provides a GPIO interface supporting inputs and outputs and a corresponding interrupt-controller. config PINCTRL_OXNAS bool depends on OF select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB select OF_GPIO select GPIOLIB_IRQCHIP select MFD_SYSCON config PINCTRL_ROCKCHIP bool select PINMUX select GENERIC_PINCONF select GENERIC_IRQ_CHIP select MFD_SYSCON config PINCTRL_RZA1 bool "Renesas RZ/A1 gpio and pinctrl driver" depends on OF depends on ARCH_R7S72100 || COMPILE_TEST select GPIOLIB select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS select GENERIC_PINCONF help This selects pinctrl driver for Renesas RZ/A1 platforms. config PINCTRL_RZA2 bool "Renesas RZ/A2 gpio and pinctrl driver" depends on OF depends on ARCH_R7S9210 || COMPILE_TEST select GPIOLIB select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS select GENERIC_PINCONF help This selects GPIO and pinctrl driver for Renesas RZ/A2 platforms. config PINCTRL_RZN1 bool "Renesas RZ/N1 pinctrl driver" depends on OF depends on ARCH_RZN1 || COMPILE_TEST select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS select GENERIC_PINCONF help This selects pinctrl driver for Renesas RZ/N1 devices. config PINCTRL_SINGLE tristate "One-register-per-pin type device tree based pinctrl driver" depends on OF depends on HAS_IOMEM select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS select GENERIC_PINCONF help This selects the device tree based generic pinctrl driver. config PINCTRL_SIRF bool "CSR SiRFprimaII pin controller driver" depends on ARCH_SIRF select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB_IRQCHIP config PINCTRL_SX150X bool "Semtech SX150x I2C GPIO expander pinctrl driver" depends on I2C=y select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB select GPIOLIB_IRQCHIP select REGMAP help Say yes here to provide support for Semtech SX150x-series I2C GPIO expanders as pinctrl module. Compatible models include: - 8 bits: sx1508q, sx1502q - 16 bits: sx1509q, sx1506q config PINCTRL_PISTACHIO def_bool y if MACH_PISTACHIO depends on GPIOLIB select PINMUX select GENERIC_PINCONF select GPIOLIB_IRQCHIP select OF_GPIO config PINCTRL_ST bool depends on OF select PINMUX select PINCONF select GPIOLIB_IRQCHIP config PINCTRL_STMFX tristate "STMicroelectronics STMFX GPIO expander pinctrl driver" depends on I2C depends on OF_GPIO select GENERIC_PINCONF select GPIOLIB_IRQCHIP select MFD_STMFX help Driver for STMicroelectronics Multi-Function eXpander (STMFX) GPIO expander. This provides a GPIO interface supporting inputs and outputs, and configuring push-pull, open-drain, and can also be used as interrupt-controller. config PINCTRL_U300 bool "U300 pin controller driver" depends on ARCH_U300 select PINMUX select GENERIC_PINCONF config PINCTRL_COH901 bool "ST-Ericsson U300 COH 901 335/571 GPIO" depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 select GPIOLIB_IRQCHIP help Say yes here to support GPIO interface on ST-Ericsson U300. The names of the two IP block variants supported are COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 ports of 8 GPIO pins each. config PINCTRL_MAX77620 tristate "MAX77620/MAX20024 Pincontrol support" depends on MFD_MAX77620 && OF select PINMUX select GENERIC_PINCONF help Say Yes here to enable Pin control support for Maxim PMIC MAX77620. This PMIC has 8 GPIO pins that work as GPIO as well as special function in alternate mode. This driver also configure push-pull, open drain, FPS slots etc. config PINCTRL_PALMAS tristate "Pinctrl driver for the PALMAS Series MFD devices" depends on OF && MFD_PALMAS select PINMUX select GENERIC_PINCONF help Palmas device supports the configuration of pins for different functionality. This driver supports the pinmux, push-pull and open drain configuration for the Palmas series devices like TPS65913, TPS80036 etc. config PINCTRL_PIC32 bool "Microchip PIC32 pin controller driver" depends on OF depends on MACH_PIC32 select PINMUX select GENERIC_PINCONF select GPIOLIB_IRQCHIP select OF_GPIO help This is the pin controller and gpio driver for Microchip PIC32 microcontrollers. This option is selected automatically when specific machine and arch are selected to build. config PINCTRL_PIC32MZDA def_bool y if PIC32MZDA select PINCTRL_PIC32 config PINCTRL_ZYNQ bool "Pinctrl driver for Xilinx Zynq" depends on ARCH_ZYNQ select PINMUX select GENERIC_PINCONF help This selects the pinctrl driver for Xilinx Zynq. config PINCTRL_INGENIC bool "Pinctrl driver for the Ingenic JZ47xx SoCs" default MACH_INGENIC depends on OF depends on MIPS || COMPILE_TEST select GENERIC_PINCONF select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS select GPIOLIB select GPIOLIB_IRQCHIP select REGMAP_MMIO config PINCTRL_RK805 tristate "Pinctrl and GPIO driver for RK805 PMIC" depends on MFD_RK808 select GPIOLIB select PINMUX select GENERIC_PINCONF help This selects the pinctrl driver for RK805. config PINCTRL_OCELOT bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs" depends on OF depends on HAS_IOMEM select GPIOLIB select GPIOLIB_IRQCHIP select GENERIC_PINCONF select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS select OF_GPIO select REGMAP_MMIO source "drivers/pinctrl/actions/Kconfig" source "drivers/pinctrl/aspeed/Kconfig" source "drivers/pinctrl/bcm/Kconfig" source "drivers/pinctrl/berlin/Kconfig" source "drivers/pinctrl/freescale/Kconfig" source "drivers/pinctrl/intel/Kconfig" source "drivers/pinctrl/mvebu/Kconfig" source "drivers/pinctrl/nomadik/Kconfig" source "drivers/pinctrl/nuvoton/Kconfig" source "drivers/pinctrl/pxa/Kconfig" source "drivers/pinctrl/qcom/Kconfig" source "drivers/pinctrl/samsung/Kconfig" source "drivers/pinctrl/sh-pfc/Kconfig" source "drivers/pinctrl/spear/Kconfig" source "drivers/pinctrl/sprd/Kconfig" source "drivers/pinctrl/stm32/Kconfig" source "drivers/pinctrl/sunxi/Kconfig" source "drivers/pinctrl/tegra/Kconfig" source "drivers/pinctrl/ti/Kconfig" source "drivers/pinctrl/uniphier/Kconfig" source "drivers/pinctrl/vt8500/Kconfig" source "drivers/pinctrl/mediatek/Kconfig" source "drivers/pinctrl/zte/Kconfig" source "drivers/pinctrl/meson/Kconfig" source "drivers/pinctrl/cirrus/Kconfig" config PINCTRL_XWAY bool depends on SOC_TYPE_XWAY depends on PINCTRL_LANTIQ config PINCTRL_TB10X bool depends on OF && ARC_PLAT_TB10X select GPIOLIB endif pinctrl/spear/Kconfig 0000644 00000002466 14722053666 0010657 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ST Microelectronics SPEAr PINCTRL drivers # if PLAT_SPEAR config PINCTRL_SPEAR bool depends on OF select PINMUX help This enables pin control drivers for SPEAr Platform config PINCTRL_SPEAR3XX bool depends on ARCH_SPEAR3XX select PINCTRL_SPEAR config PINCTRL_SPEAR300 bool "ST Microelectronics SPEAr300 SoC pin controller driver" depends on MACH_SPEAR300 select PINCTRL_SPEAR3XX config PINCTRL_SPEAR310 bool "ST Microelectronics SPEAr310 SoC pin controller driver" depends on MACH_SPEAR310 select PINCTRL_SPEAR3XX select PINCTRL_SPEAR_PLGPIO config PINCTRL_SPEAR320 bool "ST Microelectronics SPEAr320 SoC pin controller driver" depends on MACH_SPEAR320 select PINCTRL_SPEAR3XX select PINCTRL_SPEAR_PLGPIO config PINCTRL_SPEAR1310 bool "ST Microelectronics SPEAr1310 SoC pin controller driver" depends on MACH_SPEAR1310 select PINCTRL_SPEAR select PINCTRL_SPEAR_PLGPIO config PINCTRL_SPEAR1340 bool "ST Microelectronics SPEAr1340 SoC pin controller driver" depends on MACH_SPEAR1340 select PINCTRL_SPEAR select PINCTRL_SPEAR_PLGPIO config PINCTRL_SPEAR_PLGPIO bool "SPEAr SoC PLGPIO Controller" depends on GPIOLIB && PINCTRL_SPEAR select GPIOLIB_IRQCHIP help Say yes here to support PLGPIO controller on ST Microelectronics SPEAr SoCs. endif pinctrl/spear/Makefile 0000644 00000000720 14722053666 0011003 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # SPEAr pinmux support obj-$(CONFIG_PINCTRL_SPEAR_PLGPIO) += pinctrl-plgpio.o obj-y += pinctrl-spear.o obj-$(CONFIG_PINCTRL_SPEAR3XX) += pinctrl-spear3xx.o obj-$(CONFIG_PINCTRL_SPEAR300) += pinctrl-spear300.o obj-$(CONFIG_PINCTRL_SPEAR310) += pinctrl-spear310.o obj-$(CONFIG_PINCTRL_SPEAR320) += pinctrl-spear320.o obj-$(CONFIG_PINCTRL_SPEAR1310) += pinctrl-spear1310.o obj-$(CONFIG_PINCTRL_SPEAR1340) += pinctrl-spear1340.o pinctrl/nomadik/Kconfig 0000644 00000001622 14722053666 0011160 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if ARCH_U8500 config PINCTRL_ABX500 bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions" depends on AB8500_CORE select GENERIC_PINCONF help Select this to enable the ABx500 family IC GPIO driver config PINCTRL_AB8500 bool "AB8500 pin controller driver" depends on PINCTRL_ABX500 && ARCH_U8500 config PINCTRL_AB8505 bool "AB8505 pin controller driver" depends on PINCTRL_ABX500 && ARCH_U8500 endif if (ARCH_U8500 || ARCH_NOMADIK) config PINCTRL_NOMADIK bool "Nomadik pin controller driver" depends on ARCH_U8500 || ARCH_NOMADIK depends on OF && GPIOLIB select PINMUX select PINCONF select OF_GPIO select GPIOLIB_IRQCHIP config PINCTRL_STN8815 bool "STN8815 pin controller driver" depends on PINCTRL_NOMADIK && ARCH_NOMADIK config PINCTRL_DB8500 bool "DB8500 pin controller driver" depends on PINCTRL_NOMADIK && ARCH_U8500 endif pinctrl/nomadik/Makefile 0000644 00000000602 14722053666 0011312 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Nomadik family pin control drivers obj-$(CONFIG_PINCTRL_ABX500) += pinctrl-abx500.o obj-$(CONFIG_PINCTRL_AB8500) += pinctrl-ab8500.o obj-$(CONFIG_PINCTRL_AB8505) += pinctrl-ab8505.o obj-$(CONFIG_PINCTRL_NOMADIK) += pinctrl-nomadik.o obj-$(CONFIG_PINCTRL_STN8815) += pinctrl-nomadik-stn8815.o obj-$(CONFIG_PINCTRL_DB8500) += pinctrl-nomadik-db8500.o pinctrl/nuvoton/Kconfig 0000644 00000000577 14722053666 0011256 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PINCTRL_NPCM7XX bool "Pinctrl and GPIO driver for Nuvoton NPCM7XX" depends on (ARCH_NPCM7XX || COMPILE_TEST) && OF select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y here to enable pin controller and GPIO support for Nuvoton NPCM750/730/715/705 SoCs. pinctrl/nuvoton/Makefile 0000644 00000000161 14722053666 0011400 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Nuvoton pinctrl support obj-$(CONFIG_PINCTRL_NPCM7XX) += pinctrl-npcm7xx.o pinctrl/qcom/Kconfig 0000644 00000014650 14722053666 0010502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if (ARCH_QCOM || COMPILE_TEST) config PINCTRL_MSM bool select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB_IRQCHIP config PINCTRL_APQ8064 tristate "Qualcomm APQ8064 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm APQ8064 platform. config PINCTRL_APQ8084 tristate "Qualcomm APQ8084 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm APQ8084 platform. config PINCTRL_IPQ4019 tristate "Qualcomm IPQ4019 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm IPQ4019 platform. config PINCTRL_IPQ8064 tristate "Qualcomm IPQ8064 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm IPQ8064 platform. config PINCTRL_IPQ8074 tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm Technologies Inc. TLMM block found on the Qualcomm Technologies Inc. IPQ8074 platform. Select this for IPQ8074. config PINCTRL_MSM8660 tristate "Qualcomm 8660 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm 8660 platform. config PINCTRL_MSM8960 tristate "Qualcomm 8960 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm 8960 platform. config PINCTRL_MDM9615 tristate "Qualcomm 9615 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm 9615 platform. config PINCTRL_MSM8X74 tristate "Qualcomm 8x74 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm 8974 platform. config PINCTRL_MSM8916 tristate "Qualcomm 8916 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found on the Qualcomm 8916 platform. config PINCTRL_MSM8994 tristate "Qualcomm 8994 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm 8994 platform. The Qualcomm 8992 platform is also supported by this driver. config PINCTRL_MSM8996 tristate "Qualcomm MSM8996 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm MSM8996 platform. config PINCTRL_MSM8998 tristate "Qualcomm MSM8998 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm MSM8998 platform. config PINCTRL_QCS404 tristate "Qualcomm QCS404 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the TLMM block found in the Qualcomm QCS404 platform. config PINCTRL_QDF2XXX tristate "Qualcomm Technologies QDF2xxx pin controller driver" depends on GPIOLIB && ACPI select PINCTRL_MSM help This is the GPIO driver for the TLMM block found on the Qualcomm Technologies QDF2xxx SOCs. config PINCTRL_QCOM_SPMI_PMIC tristate "Qualcomm SPMI PMIC pin controller driver" depends on GPIOLIB && OF && SPMI select REGMAP_SPMI select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB_IRQCHIP select IRQ_DOMAIN_HIERARCHY help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips, which are using SPMI for communication with SoC. Example PMIC's devices are pm8841, pm8941 and pma8084. config PINCTRL_QCOM_SSBI_PMIC tristate "Qualcomm SSBI PMIC pin controller driver" depends on GPIOLIB && OF select PINMUX select PINCONF select GENERIC_PINCONF select IRQ_DOMAIN_HIERARCHY help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips, which are using SSBI for communication with SoC. Example PMIC's devices are pm8058 and pm8921. config PINCTRL_SC7180 tristate "Qualcomm Technologies Inc SC7180 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm Technologies Inc TLMM block found on the Qualcomm Technologies Inc SC7180 platform. config PINCTRL_SDM660 tristate "Qualcomm Technologies Inc SDM660 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm Technologies Inc TLMM block found on the Qualcomm Technologies Inc SDM660 platform. config PINCTRL_SDM845 tristate "Qualcomm Technologies Inc SDM845 pin controller driver" depends on GPIOLIB && (OF || ACPI) select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm Technologies Inc TLMM block found on the Qualcomm Technologies Inc SDM845 platform. config PINCTRL_SM8150 tristate "Qualcomm Technologies Inc SM8150 pin controller driver" depends on GPIOLIB && OF select PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm Technologies Inc TLMM block found on the Qualcomm Technologies Inc SM8150 platform. endif pinctrl/qcom/Makefile 0000644 00000002442 14722053666 0010633 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Qualcomm pin control drivers obj-$(CONFIG_PINCTRL_MSM) += pinctrl-msm.o obj-$(CONFIG_PINCTRL_APQ8064) += pinctrl-apq8064.o obj-$(CONFIG_PINCTRL_APQ8084) += pinctrl-apq8084.o obj-$(CONFIG_PINCTRL_IPQ4019) += pinctrl-ipq4019.o obj-$(CONFIG_PINCTRL_IPQ8064) += pinctrl-ipq8064.o obj-$(CONFIG_PINCTRL_IPQ8074) += pinctrl-ipq8074.o obj-$(CONFIG_PINCTRL_MSM8660) += pinctrl-msm8660.o obj-$(CONFIG_PINCTRL_MSM8960) += pinctrl-msm8960.o obj-$(CONFIG_PINCTRL_MSM8X74) += pinctrl-msm8x74.o obj-$(CONFIG_PINCTRL_MSM8916) += pinctrl-msm8916.o obj-$(CONFIG_PINCTRL_MSM8994) += pinctrl-msm8994.o obj-$(CONFIG_PINCTRL_MSM8996) += pinctrl-msm8996.o obj-$(CONFIG_PINCTRL_MSM8998) += pinctrl-msm8998.o obj-$(CONFIG_PINCTRL_QCS404) += pinctrl-qcs404.o obj-$(CONFIG_PINCTRL_QDF2XXX) += pinctrl-qdf2xxx.o obj-$(CONFIG_PINCTRL_MDM9615) += pinctrl-mdm9615.o obj-$(CONFIG_PINCTRL_QCOM_SPMI_PMIC) += pinctrl-spmi-gpio.o obj-$(CONFIG_PINCTRL_QCOM_SPMI_PMIC) += pinctrl-spmi-mpp.o obj-$(CONFIG_PINCTRL_QCOM_SSBI_PMIC) += pinctrl-ssbi-gpio.o obj-$(CONFIG_PINCTRL_QCOM_SSBI_PMIC) += pinctrl-ssbi-mpp.o obj-$(CONFIG_PINCTRL_SC7180) += pinctrl-sc7180.o obj-$(CONFIG_PINCTRL_SDM660) += pinctrl-sdm660.o obj-$(CONFIG_PINCTRL_SDM845) += pinctrl-sdm845.o obj-$(CONFIG_PINCTRL_SM8150) += pinctrl-sm8150.o pinctrl/freescale/Kconfig 0000644 00000007320 14722053666 0011470 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PINCTRL_IMX bool select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS select GENERIC_PINCONF select REGMAP config PINCTRL_IMX_SCU bool depends on IMX_SCU select PINCTRL_IMX config PINCTRL_IMX1_CORE bool select PINMUX select PINCONF config PINCTRL_IMX1 bool "IMX1 pinctrl driver" depends on SOC_IMX1 select PINCTRL_IMX1_CORE help Say Y here to enable the imx1 pinctrl driver config PINCTRL_IMX21 bool "i.MX21 pinctrl driver" depends on SOC_IMX21 select PINCTRL_IMX1_CORE help Say Y here to enable the i.MX21 pinctrl driver config PINCTRL_IMX27 bool "IMX27 pinctrl driver" depends on SOC_IMX27 select PINCTRL_IMX1_CORE help Say Y here to enable the imx27 pinctrl driver config PINCTRL_IMX25 bool "IMX25 pinctrl driver" depends on OF depends on SOC_IMX25 select PINCTRL_IMX help Say Y here to enable the imx25 pinctrl driver config PINCTRL_IMX35 bool "IMX35 pinctrl driver" depends on SOC_IMX35 select PINCTRL_IMX help Say Y here to enable the imx35 pinctrl driver config PINCTRL_IMX50 bool "IMX50 pinctrl driver" depends on SOC_IMX50 select PINCTRL_IMX help Say Y here to enable the imx50 pinctrl driver config PINCTRL_IMX51 bool "IMX51 pinctrl driver" depends on SOC_IMX51 select PINCTRL_IMX help Say Y here to enable the imx51 pinctrl driver config PINCTRL_IMX53 bool "IMX53 pinctrl driver" depends on SOC_IMX53 select PINCTRL_IMX help Say Y here to enable the imx53 pinctrl driver config PINCTRL_IMX6Q bool "IMX6Q/DL pinctrl driver" depends on SOC_IMX6Q select PINCTRL_IMX help Say Y here to enable the imx6q/dl pinctrl driver config PINCTRL_IMX6SL bool "IMX6SL pinctrl driver" depends on SOC_IMX6SL select PINCTRL_IMX help Say Y here to enable the imx6sl pinctrl driver config PINCTRL_IMX6SLL bool "IMX6SLL pinctrl driver" depends on SOC_IMX6SLL select PINCTRL_IMX help Say Y here to enable the imx6sll pinctrl driver config PINCTRL_IMX6SX bool "IMX6SX pinctrl driver" depends on SOC_IMX6SX select PINCTRL_IMX help Say Y here to enable the imx6sx pinctrl driver config PINCTRL_IMX6UL bool "IMX6UL pinctrl driver" depends on SOC_IMX6UL select PINCTRL_IMX help Say Y here to enable the imx6ul pinctrl driver config PINCTRL_IMX7D bool "IMX7D pinctrl driver" depends on SOC_IMX7D select PINCTRL_IMX help Say Y here to enable the imx7d pinctrl driver config PINCTRL_IMX7ULP bool "IMX7ULP pinctrl driver" depends on SOC_IMX7ULP select PINCTRL_IMX help Say Y here to enable the imx7ulp pinctrl driver config PINCTRL_IMX8MM bool "IMX8MM pinctrl driver" depends on ARCH_MXC && ARM64 select PINCTRL_IMX help Say Y here to enable the imx8mm pinctrl driver config PINCTRL_IMX8MN bool "IMX8MN pinctrl driver" depends on ARCH_MXC && ARM64 select PINCTRL_IMX help Say Y here to enable the imx8mn pinctrl driver config PINCTRL_IMX8MQ bool "IMX8MQ pinctrl driver" depends on ARCH_MXC && ARM64 select PINCTRL_IMX help Say Y here to enable the imx8mq pinctrl driver config PINCTRL_IMX8QM bool "IMX8QM pinctrl driver" depends on IMX_SCU && ARCH_MXC && ARM64 select PINCTRL_IMX_SCU help Say Y here to enable the imx8qm pinctrl driver config PINCTRL_IMX8QXP bool "IMX8QXP pinctrl driver" depends on IMX_SCU && ARCH_MXC && ARM64 select PINCTRL_IMX_SCU help Say Y here to enable the imx8qxp pinctrl driver config PINCTRL_VF610 bool "Freescale Vybrid VF610 pinctrl driver" depends on SOC_VF610 select PINCTRL_IMX help Say Y here to enable the Freescale Vybrid VF610 pinctrl driver config PINCTRL_MXS bool select PINMUX select PINCONF config PINCTRL_IMX23 bool select PINCTRL_MXS config PINCTRL_IMX28 bool select PINCTRL_MXS pinctrl/freescale/Makefile 0000644 00000002600 14722053666 0011621 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Freescale pin control drivers obj-$(CONFIG_PINCTRL_IMX) += pinctrl-imx.o obj-$(CONFIG_PINCTRL_IMX_SCU) += pinctrl-scu.o obj-$(CONFIG_PINCTRL_IMX1_CORE) += pinctrl-imx1-core.o obj-$(CONFIG_PINCTRL_IMX1) += pinctrl-imx1.o obj-$(CONFIG_PINCTRL_IMX21) += pinctrl-imx21.o obj-$(CONFIG_PINCTRL_IMX27) += pinctrl-imx27.o obj-$(CONFIG_PINCTRL_IMX35) += pinctrl-imx35.o obj-$(CONFIG_PINCTRL_IMX50) += pinctrl-imx50.o obj-$(CONFIG_PINCTRL_IMX51) += pinctrl-imx51.o obj-$(CONFIG_PINCTRL_IMX53) += pinctrl-imx53.o obj-$(CONFIG_PINCTRL_IMX6Q) += pinctrl-imx6q.o obj-$(CONFIG_PINCTRL_IMX6Q) += pinctrl-imx6dl.o obj-$(CONFIG_PINCTRL_IMX6SL) += pinctrl-imx6sl.o obj-$(CONFIG_PINCTRL_IMX6SLL) += pinctrl-imx6sll.o obj-$(CONFIG_PINCTRL_IMX6SX) += pinctrl-imx6sx.o obj-$(CONFIG_PINCTRL_IMX6UL) += pinctrl-imx6ul.o obj-$(CONFIG_PINCTRL_IMX7D) += pinctrl-imx7d.o obj-$(CONFIG_PINCTRL_IMX7ULP) += pinctrl-imx7ulp.o obj-$(CONFIG_PINCTRL_IMX8MM) += pinctrl-imx8mm.o obj-$(CONFIG_PINCTRL_IMX8MN) += pinctrl-imx8mn.o obj-$(CONFIG_PINCTRL_IMX8MQ) += pinctrl-imx8mq.o obj-$(CONFIG_PINCTRL_IMX8QM) += pinctrl-imx8qm.o obj-$(CONFIG_PINCTRL_IMX8QXP) += pinctrl-imx8qxp.o obj-$(CONFIG_PINCTRL_VF610) += pinctrl-vf610.o obj-$(CONFIG_PINCTRL_MXS) += pinctrl-mxs.o obj-$(CONFIG_PINCTRL_IMX23) += pinctrl-imx23.o obj-$(CONFIG_PINCTRL_IMX25) += pinctrl-imx25.o obj-$(CONFIG_PINCTRL_IMX28) += pinctrl-imx28.o pinctrl/uniphier/Kconfig 0000644 00000001766 14722053666 0011372 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig PINCTRL_UNIPHIER bool "UniPhier SoC pinctrl drivers" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF && MFD_SYSCON default y select PINMUX select GENERIC_PINCONF if PINCTRL_UNIPHIER config PINCTRL_UNIPHIER_LD4 bool "UniPhier LD4 SoC pinctrl driver" default ARM config PINCTRL_UNIPHIER_PRO4 bool "UniPhier Pro4 SoC pinctrl driver" default ARM config PINCTRL_UNIPHIER_SLD8 bool "UniPhier sLD8 SoC pinctrl driver" default ARM config PINCTRL_UNIPHIER_PRO5 bool "UniPhier Pro5 SoC pinctrl driver" default ARM config PINCTRL_UNIPHIER_PXS2 bool "UniPhier PXs2 SoC pinctrl driver" default ARM config PINCTRL_UNIPHIER_LD6B bool "UniPhier LD6b SoC pinctrl driver" default ARM config PINCTRL_UNIPHIER_LD11 bool "UniPhier LD11 SoC pinctrl driver" default ARM64 config PINCTRL_UNIPHIER_LD20 bool "UniPhier LD20 SoC pinctrl driver" default ARM64 config PINCTRL_UNIPHIER_PXS3 bool "UniPhier PXs3 SoC pinctrl driver" default ARM64 endif pinctrl/uniphier/Makefile 0000644 00000001176 14722053666 0011522 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += pinctrl-uniphier-core.o obj-$(CONFIG_PINCTRL_UNIPHIER_LD4) += pinctrl-uniphier-ld4.o obj-$(CONFIG_PINCTRL_UNIPHIER_PRO4) += pinctrl-uniphier-pro4.o obj-$(CONFIG_PINCTRL_UNIPHIER_SLD8) += pinctrl-uniphier-sld8.o obj-$(CONFIG_PINCTRL_UNIPHIER_PRO5) += pinctrl-uniphier-pro5.o obj-$(CONFIG_PINCTRL_UNIPHIER_PXS2) += pinctrl-uniphier-pxs2.o obj-$(CONFIG_PINCTRL_UNIPHIER_LD6B) += pinctrl-uniphier-ld6b.o obj-$(CONFIG_PINCTRL_UNIPHIER_LD11) += pinctrl-uniphier-ld11.o obj-$(CONFIG_PINCTRL_UNIPHIER_LD20) += pinctrl-uniphier-ld20.o obj-$(CONFIG_PINCTRL_UNIPHIER_PXS3) += pinctrl-uniphier-pxs3.o pinctrl/sirf/Makefile 0000644 00000000254 14722053666 0010636 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # CSR SiRFsoc pinmux support obj-y += pinctrl-sirf.o obj-y += pinctrl-prima2.o obj-y += pinctrl-atlas6.o obj-y += pinctrl-atlas7.o pinctrl/tegra/Kconfig 0000644 00000001006 14722053666 0010634 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PINCTRL_TEGRA bool select PINMUX select PINCONF config PINCTRL_TEGRA20 bool select PINCTRL_TEGRA config PINCTRL_TEGRA30 bool select PINCTRL_TEGRA config PINCTRL_TEGRA114 bool select PINCTRL_TEGRA config PINCTRL_TEGRA124 bool select PINCTRL_TEGRA config PINCTRL_TEGRA210 bool select PINCTRL_TEGRA config PINCTRL_TEGRA194 bool select PINCTRL_TEGRA config PINCTRL_TEGRA_XUSB def_bool y if ARCH_TEGRA select GENERIC_PHY select PINCONF select PINMUX pinctrl/tegra/Makefile 0000644 00000000714 14722053666 0010776 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PINCTRL_TEGRA) += pinctrl-tegra.o obj-$(CONFIG_PINCTRL_TEGRA20) += pinctrl-tegra20.o obj-$(CONFIG_PINCTRL_TEGRA30) += pinctrl-tegra30.o obj-$(CONFIG_PINCTRL_TEGRA114) += pinctrl-tegra114.o obj-$(CONFIG_PINCTRL_TEGRA124) += pinctrl-tegra124.o obj-$(CONFIG_PINCTRL_TEGRA210) += pinctrl-tegra210.o obj-$(CONFIG_PINCTRL_TEGRA194) += pinctrl-tegra194.o obj-$(CONFIG_PINCTRL_TEGRA_XUSB) += pinctrl-tegra-xusb.o pinctrl/cirrus/Kconfig 0000644 00000001314 14722053666 0011043 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PINCTRL_LOCHNAGAR tristate "Cirrus Logic Lochnagar pinctrl driver" # Avoid clash caused by MIPS defining RST, which is used in the driver depends on MFD_LOCHNAGAR && !MIPS select GPIOLIB select PINMUX select PINCONF select GENERIC_PINCONF help This driver supports configuring the GPIO and other pin configuration of the Cirrus Logic Lochnagar audio development board. # This is all selected by the Madera MFD driver Kconfig options config PINCTRL_MADERA tristate select PINMUX select GENERIC_PINCONF config PINCTRL_CS47L15 bool config PINCTRL_CS47L35 bool config PINCTRL_CS47L85 bool config PINCTRL_CS47L90 bool config PINCTRL_CS47L92 bool pinctrl/cirrus/Makefile 0000644 00000001176 14722053666 0011206 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Cirrus Logic pinctrl drivers obj-$(CONFIG_PINCTRL_LOCHNAGAR) += pinctrl-lochnagar.o pinctrl-madera-objs := pinctrl-madera-core.o ifeq ($(CONFIG_PINCTRL_CS47L15),y) pinctrl-madera-objs += pinctrl-cs47l15.o endif ifeq ($(CONFIG_PINCTRL_CS47L35),y) pinctrl-madera-objs += pinctrl-cs47l35.o endif ifeq ($(CONFIG_PINCTRL_CS47L85),y) pinctrl-madera-objs += pinctrl-cs47l85.o endif ifeq ($(CONFIG_PINCTRL_CS47L90),y) pinctrl-madera-objs += pinctrl-cs47l90.o endif ifeq ($(CONFIG_PINCTRL_CS47L92),y) pinctrl-madera-objs += pinctrl-cs47l92.o endif obj-$(CONFIG_PINCTRL_MADERA) += pinctrl-madera.o pinctrl/intel/Kconfig 0000644 00000006461 14722053666 0010657 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Intel pin control drivers if (X86 || COMPILE_TEST) config PINCTRL_BAYTRAIL bool "Intel Baytrail GPIO pin control" depends on ACPI select GPIOLIB select GPIOLIB_IRQCHIP select PINMUX select PINCONF select GENERIC_PINCONF help driver for memory mapped GPIO functionality on Intel Baytrail platforms. Supports 3 banks with 102, 28 and 44 gpios. Most pins are usually muxed to some other functionality by firmware, so only a small amount is available for gpio use. Requires ACPI device enumeration code to set up a platform device. config PINCTRL_CHERRYVIEW tristate "Intel Cherryview/Braswell pinctrl and GPIO driver" depends on ACPI select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB select GPIOLIB_IRQCHIP help Cherryview/Braswell pinctrl driver provides an interface that allows configuring of SoC pins and using them as GPIOs. config PINCTRL_MERRIFIELD tristate "Intel Merrifield pinctrl driver" depends on X86_INTEL_MID select PINMUX select PINCONF select GENERIC_PINCONF help Merrifield Family-Level Interface Shim (FLIS) driver provides an interface that allows configuring of SoC pins and using them as GPIOs. config PINCTRL_INTEL tristate select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB select GPIOLIB_IRQCHIP config PINCTRL_BROXTON tristate "Intel Broxton pinctrl and GPIO driver" depends on ACPI select PINCTRL_INTEL help Broxton pinctrl driver provides an interface that allows configuring of SoC pins and using them as GPIOs. config PINCTRL_CANNONLAKE tristate "Intel Cannon Lake PCH pinctrl and GPIO driver" depends on ACPI select PINCTRL_INTEL help This pinctrl driver provides an interface that allows configuring of Intel Cannon Lake PCH pins and using them as GPIOs. config PINCTRL_CEDARFORK tristate "Intel Cedar Fork pinctrl and GPIO driver" depends on ACPI select PINCTRL_INTEL help This pinctrl driver provides an interface that allows configuring of Intel Cedar Fork PCH pins and using them as GPIOs. config PINCTRL_DENVERTON tristate "Intel Denverton pinctrl and GPIO driver" depends on ACPI select PINCTRL_INTEL help This pinctrl driver provides an interface that allows configuring of Intel Denverton SoC pins and using them as GPIOs. config PINCTRL_GEMINILAKE tristate "Intel Gemini Lake SoC pinctrl and GPIO driver" depends on ACPI select PINCTRL_INTEL help This pinctrl driver provides an interface that allows configuring of Intel Gemini Lake SoC pins and using them as GPIOs. config PINCTRL_ICELAKE tristate "Intel Ice Lake PCH pinctrl and GPIO driver" depends on ACPI select PINCTRL_INTEL help This pinctrl driver provides an interface that allows configuring of Intel Ice Lake PCH pins and using them as GPIOs. config PINCTRL_LEWISBURG tristate "Intel Lewisburg pinctrl and GPIO driver" depends on ACPI select PINCTRL_INTEL help This pinctrl driver provides an interface that allows configuring of Intel Lewisburg pins and using them as GPIOs. config PINCTRL_SUNRISEPOINT tristate "Intel Sunrisepoint pinctrl and GPIO driver" depends on ACPI select PINCTRL_INTEL help Sunrisepoint is the PCH of Intel Skylake. This pinctrl driver provides an interface that allows configuring of PCH pins and using them as GPIOs. endif pinctrl/intel/Makefile 0000644 00000001327 14722053666 0011010 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Intel pin control drivers obj-$(CONFIG_PINCTRL_BAYTRAIL) += pinctrl-baytrail.o obj-$(CONFIG_PINCTRL_CHERRYVIEW) += pinctrl-cherryview.o obj-$(CONFIG_PINCTRL_MERRIFIELD) += pinctrl-merrifield.o obj-$(CONFIG_PINCTRL_INTEL) += pinctrl-intel.o obj-$(CONFIG_PINCTRL_BROXTON) += pinctrl-broxton.o obj-$(CONFIG_PINCTRL_CANNONLAKE) += pinctrl-cannonlake.o obj-$(CONFIG_PINCTRL_CEDARFORK) += pinctrl-cedarfork.o obj-$(CONFIG_PINCTRL_DENVERTON) += pinctrl-denverton.o obj-$(CONFIG_PINCTRL_GEMINILAKE) += pinctrl-geminilake.o obj-$(CONFIG_PINCTRL_ICELAKE) += pinctrl-icelake.o obj-$(CONFIG_PINCTRL_LEWISBURG) += pinctrl-lewisburg.o obj-$(CONFIG_PINCTRL_SUNRISEPOINT) += pinctrl-sunrisepoint.o pinctrl/meson/Kconfig 0000644 00000002034 14722053666 0010655 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig PINCTRL_MESON bool "Amlogic SoC pinctrl drivers" depends on ARCH_MESON depends on OF select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB select OF_GPIO select REGMAP_MMIO if PINCTRL_MESON config PINCTRL_MESON8 bool "Meson 8 SoC pinctrl driver" depends on ARM select PINCTRL_MESON8_PMX default y config PINCTRL_MESON8B bool "Meson 8b SoC pinctrl driver" depends on ARM select PINCTRL_MESON8_PMX default y config PINCTRL_MESON_GXBB bool "Meson gxbb SoC pinctrl driver" depends on ARM64 select PINCTRL_MESON8_PMX default y config PINCTRL_MESON_GXL bool "Meson gxl SoC pinctrl driver" depends on ARM64 select PINCTRL_MESON8_PMX default y config PINCTRL_MESON8_PMX bool config PINCTRL_MESON_AXG bool "Meson axg Soc pinctrl driver" depends on ARM64 select PINCTRL_MESON_AXG_PMX default y config PINCTRL_MESON_AXG_PMX bool config PINCTRL_MESON_G12A bool "Meson g12a Soc pinctrl driver" depends on ARM64 select PINCTRL_MESON_AXG_PMX default y endif pinctrl/meson/Makefile 0000644 00000001023 14722053666 0011007 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PINCTRL_MESON) += pinctrl-meson.o obj-$(CONFIG_PINCTRL_MESON8_PMX) += pinctrl-meson8-pmx.o obj-$(CONFIG_PINCTRL_MESON8) += pinctrl-meson8.o obj-$(CONFIG_PINCTRL_MESON8B) += pinctrl-meson8b.o obj-$(CONFIG_PINCTRL_MESON_GXBB) += pinctrl-meson-gxbb.o obj-$(CONFIG_PINCTRL_MESON_GXL) += pinctrl-meson-gxl.o obj-$(CONFIG_PINCTRL_MESON_AXG_PMX) += pinctrl-meson-axg-pmx.o obj-$(CONFIG_PINCTRL_MESON_AXG) += pinctrl-meson-axg.o obj-$(CONFIG_PINCTRL_MESON_G12A) += pinctrl-meson-g12a.o pinctrl/ti/Kconfig 0000644 00000000611 14722053666 0010147 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PINCTRL_TI_IODELAY tristate "TI IODelay Module pinconf driver" depends on OF && (SOC_DRA7XX || COMPILE_TEST) select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS select GENERIC_PINCONF select REGMAP_MMIO help Say Y here to support Texas Instruments' IO delay pinconf driver. IO delay module is used for the DRA7 SoC family. pinctrl/ti/Makefile 0000644 00000000141 14722053666 0010302 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PINCTRL_TI_IODELAY) += pinctrl-ti-iodelay.o pinctrl/sprd/Kconfig 0000644 00000000746 14722053666 0010514 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Spreadtrum pin control drivers # config PINCTRL_SPRD bool "Spreadtrum pinctrl driver" depends on OF depends on ARCH_SPRD || COMPILE_TEST select PINMUX select PINCONF select GENERIC_PINCONF select GENERIC_PINMUX_FUNCTIONS help Say Y here to enable Spreadtrum pinctrl driver config PINCTRL_SPRD_SC9860 bool "Spreadtrum SC9860 pinctrl driver" depends on PINCTRL_SPRD help Say Y here to enable Spreadtrum SC9860 pinctrl driver pinctrl/sprd/Makefile 0000644 00000000221 14722053666 0010635 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PINCTRL_SPRD) += pinctrl-sprd.o obj-$(CONFIG_PINCTRL_SPRD_SC9860) += pinctrl-sprd-sc9860.o pinctrl/mvebu/Kconfig 0000644 00000001433 14722053666 0010654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PINCTRL_MVEBU bool select PINMUX select PINCONF config PINCTRL_DOVE bool select PINCTRL_MVEBU select MFD_SYSCON config PINCTRL_KIRKWOOD bool select PINCTRL_MVEBU config PINCTRL_ARMADA_370 bool select PINCTRL_MVEBU config PINCTRL_ARMADA_375 bool select PINCTRL_MVEBU config PINCTRL_ARMADA_38X bool select PINCTRL_MVEBU config PINCTRL_ARMADA_39X bool select PINCTRL_MVEBU config PINCTRL_ARMADA_AP806 bool select PINCTRL_MVEBU config PINCTRL_ARMADA_CP110 bool select PINCTRL_MVEBU config PINCTRL_ARMADA_XP bool select PINCTRL_MVEBU config PINCTRL_ORION bool select PINCTRL_MVEBU config PINCTRL_ARMADA_37XX bool select GENERIC_PINCONF select MFD_SYSCON select PINCONF select PINMUX pinctrl/mvebu/Makefile 0000644 00000001266 14722053666 0011015 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PINCTRL_MVEBU) += pinctrl-mvebu.o obj-$(CONFIG_PINCTRL_DOVE) += pinctrl-dove.o obj-$(CONFIG_PINCTRL_KIRKWOOD) += pinctrl-kirkwood.o obj-$(CONFIG_PINCTRL_ARMADA_370) += pinctrl-armada-370.o obj-$(CONFIG_PINCTRL_ARMADA_375) += pinctrl-armada-375.o obj-$(CONFIG_PINCTRL_ARMADA_38X) += pinctrl-armada-38x.o obj-$(CONFIG_PINCTRL_ARMADA_39X) += pinctrl-armada-39x.o obj-$(CONFIG_PINCTRL_ARMADA_AP806) += pinctrl-armada-ap806.o obj-$(CONFIG_PINCTRL_ARMADA_CP110) += pinctrl-armada-cp110.o obj-$(CONFIG_PINCTRL_ARMADA_XP) += pinctrl-armada-xp.o obj-$(CONFIG_PINCTRL_ARMADA_37XX) += pinctrl-armada-37xx.o obj-$(CONFIG_PINCTRL_ORION) += pinctrl-orion.o pinctrl/Makefile 0000644 00000005404 14722053666 0007675 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # generic pinmux support subdir-ccflags-$(CONFIG_DEBUG_PINCTRL) += -DDEBUG obj-y += core.o pinctrl-utils.o obj-$(CONFIG_PINMUX) += pinmux.o obj-$(CONFIG_PINCONF) += pinconf.o obj-$(CONFIG_OF) += devicetree.o obj-$(CONFIG_GENERIC_PINCONF) += pinconf-generic.o obj-$(CONFIG_PINCTRL_ARTPEC6) += pinctrl-artpec6.o obj-$(CONFIG_PINCTRL_AS3722) += pinctrl-as3722.o obj-$(CONFIG_PINCTRL_AXP209) += pinctrl-axp209.o obj-$(CONFIG_PINCTRL_AT91) += pinctrl-at91.o obj-$(CONFIG_PINCTRL_AT91PIO4) += pinctrl-at91-pio4.o obj-$(CONFIG_PINCTRL_AMD) += pinctrl-amd.o obj-$(CONFIG_PINCTRL_BM1880) += pinctrl-bm1880.o obj-$(CONFIG_PINCTRL_DA850_PUPD) += pinctrl-da850-pupd.o obj-$(CONFIG_PINCTRL_DIGICOLOR) += pinctrl-digicolor.o obj-$(CONFIG_PINCTRL_FALCON) += pinctrl-falcon.o obj-$(CONFIG_PINCTRL_GEMINI) += pinctrl-gemini.o obj-$(CONFIG_PINCTRL_MAX77620) += pinctrl-max77620.o obj-$(CONFIG_PINCTRL_MCP23S08) += pinctrl-mcp23s08.o obj-$(CONFIG_PINCTRL_MESON) += meson/ obj-$(CONFIG_PINCTRL_OXNAS) += pinctrl-oxnas.o obj-$(CONFIG_PINCTRL_PALMAS) += pinctrl-palmas.o obj-$(CONFIG_PINCTRL_PIC32) += pinctrl-pic32.o obj-$(CONFIG_PINCTRL_PISTACHIO) += pinctrl-pistachio.o obj-$(CONFIG_PINCTRL_ROCKCHIP) += pinctrl-rockchip.o obj-$(CONFIG_PINCTRL_RZA1) += pinctrl-rza1.o obj-$(CONFIG_PINCTRL_RZA2) += pinctrl-rza2.o obj-$(CONFIG_PINCTRL_RZN1) += pinctrl-rzn1.o obj-$(CONFIG_PINCTRL_SINGLE) += pinctrl-single.o obj-$(CONFIG_PINCTRL_SIRF) += sirf/ obj-$(CONFIG_PINCTRL_SX150X) += pinctrl-sx150x.o obj-$(CONFIG_ARCH_TEGRA) += tegra/ obj-$(CONFIG_PINCTRL_U300) += pinctrl-u300.o obj-$(CONFIG_PINCTRL_COH901) += pinctrl-coh901.o obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o obj-$(CONFIG_PINCTRL_LANTIQ) += pinctrl-lantiq.o obj-$(CONFIG_PINCTRL_LPC18XX) += pinctrl-lpc18xx.o obj-$(CONFIG_PINCTRL_TB10X) += pinctrl-tb10x.o obj-$(CONFIG_PINCTRL_ST) += pinctrl-st.o obj-$(CONFIG_PINCTRL_STMFX) += pinctrl-stmfx.o obj-$(CONFIG_PINCTRL_ZYNQ) += pinctrl-zynq.o obj-$(CONFIG_PINCTRL_INGENIC) += pinctrl-ingenic.o obj-$(CONFIG_PINCTRL_RK805) += pinctrl-rk805.o obj-$(CONFIG_PINCTRL_OCELOT) += pinctrl-ocelot.o obj-y += actions/ obj-$(CONFIG_ARCH_ASPEED) += aspeed/ obj-y += bcm/ obj-$(CONFIG_PINCTRL_BERLIN) += berlin/ obj-y += freescale/ obj-$(CONFIG_X86) += intel/ obj-y += mvebu/ obj-y += nomadik/ obj-$(CONFIG_ARCH_NPCM7XX) += nuvoton/ obj-$(CONFIG_PINCTRL_PXA) += pxa/ obj-$(CONFIG_ARCH_QCOM) += qcom/ obj-$(CONFIG_PINCTRL_SAMSUNG) += samsung/ obj-$(CONFIG_PINCTRL_SH_PFC) += sh-pfc/ obj-$(CONFIG_PINCTRL_SPEAR) += spear/ obj-y += sprd/ obj-$(CONFIG_PINCTRL_STM32) += stm32/ obj-$(CONFIG_PINCTRL_SUNXI) += sunxi/ obj-y += ti/ obj-$(CONFIG_PINCTRL_UNIPHIER) += uniphier/ obj-$(CONFIG_ARCH_VT8500) += vt8500/ obj-y += mediatek/ obj-$(CONFIG_PINCTRL_ZX) += zte/ obj-y += cirrus/ pinctrl/actions/Kconfig 0000644 00000001133 14722053666 0011173 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PINCTRL_OWL bool "Actions Semi OWL pinctrl driver" depends on (ARCH_ACTIONS || COMPILE_TEST) && OF select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB select GPIOLIB_IRQCHIP help Say Y here to enable Actions Semi OWL pinctrl driver config PINCTRL_S700 bool "Actions Semi S700 pinctrl driver" depends on PINCTRL_OWL help Say Y here to enable Actions Semi S700 pinctrl driver config PINCTRL_S900 bool "Actions Semi S900 pinctrl driver" depends on PINCTRL_OWL help Say Y here to enable Actions Semi S900 pinctrl driver pinctrl/actions/Makefile 0000644 00000000257 14722053666 0011336 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PINCTRL_OWL) += pinctrl-owl.o obj-$(CONFIG_PINCTRL_S700) += pinctrl-s700.o obj-$(CONFIG_PINCTRL_S900) += pinctrl-s900.o pinctrl/bcm/Kconfig 0000644 00000010567 14722053666 0010307 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Broadcom pinctrl drivers # config PINCTRL_BCM281XX bool "Broadcom BCM281xx pinctrl driver" depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST) select PINMUX select PINCONF select GENERIC_PINCONF select REGMAP_MMIO default ARCH_BCM_MOBILE help Say Y here to support Broadcom BCM281xx pinctrl driver, which is used for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. This driver requires the pinctrl framework. GPIO is provided by a separate GPIO driver. config PINCTRL_BCM2835 bool "Broadcom BCM2835 GPIO (with PINCONF) driver" depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST) select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB select GPIOLIB_IRQCHIP default ARCH_BCM2835 || ARCH_BRCMSTB help Say Y here to enable the Broadcom BCM2835 GPIO driver. config PINCTRL_IPROC_GPIO bool "Broadcom iProc GPIO (with PINCONF) driver" depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) select GPIOLIB_IRQCHIP select PINCONF select GENERIC_PINCONF default ARCH_BCM_IPROC help Say yes here to enable the Broadcom iProc GPIO driver. The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use same GPIO Controller IP hence this driver could be used for all. The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are supported by this driver. The Broadcom NSP has two GPIO controllers including the ChipcommonA GPIO, the ChipcommonB GPIO. Later controller is supported by this driver. The Broadcom NS2 has two GPIO controller including the CRMU GPIO, the ChipcommonG GPIO. Both controllers are supported by this driver. The Broadcom Stingray GPIO controllers are supported by this driver. All above SoCs GPIO controllers support basic PINCONF functions such as bias pull up, pull down, and drive strength configurations, when these pins are muxed to GPIO. It provides the framework where pins from the individual GPIO can be individually muxed to GPIO function, through interaction with the SoCs IOMUX controller. This features could be used only on SoCs which support individual pin muxing. config PINCTRL_CYGNUS_MUX bool "Broadcom Cygnus IOMUX driver" depends on (ARCH_BCM_CYGNUS || COMPILE_TEST) depends on OF select PINMUX select GENERIC_PINCONF default ARCH_BCM_CYGNUS help Say yes here to enable the Broadcom Cygnus IOMUX driver. The Broadcom Cygnus IOMUX driver supports group based IOMUX configuration, with the exception that certain individual pins can be overridden to GPIO function config PINCTRL_NS bool "Broadcom Northstar pins driver" depends on OF && (ARCH_BCM_5301X || COMPILE_TEST) select PINMUX select GENERIC_PINCONF default ARCH_BCM_5301X help Say yes here to enable the Broadcom NS SoC pins driver. The Broadcom Northstar pins driver supports muxing multi-purpose pins that can be used for various functions (e.g. SPI, I2C, UART) as well as GPIOs. config PINCTRL_NSP_GPIO bool "Broadcom NSP GPIO (with PINCONF) driver" depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST) select GPIOLIB_IRQCHIP select PINCONF select GENERIC_PINCONF default ARCH_BCM_NSP help Say yes here to enable the Broadcom NSP GPIO driver. The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is supported by this driver. The ChipcommonA GPIO controller support basic PINCONF functions such as bias pull up, pull down, and drive strength configurations, when these pins are muxed to GPIO. config PINCTRL_NS2_MUX bool "Broadcom Northstar2 pinmux driver" depends on OF depends on ARCH_BCM_IPROC || COMPILE_TEST select PINMUX select GENERIC_PINCONF default ARM64 && ARCH_BCM_IPROC help Say yes here to enable the Broadcom NS2 MUX driver. The Broadcom Northstar2 IOMUX driver supports group based IOMUX configuration. config PINCTRL_NSP_MUX bool "Broadcom NSP IOMUX driver" depends on (ARCH_BCM_NSP || COMPILE_TEST) depends on OF select PINMUX select GENERIC_PINCONF default ARCH_BCM_NSP help Say yes here to enable the Broadcom NSP SOC IOMUX driver. The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX configuration, with certain individual pins can be overridden to GPIO function. pinctrl/bcm/Makefile 0000644 00000000743 14722053666 0010437 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Broadcom pinctrl support obj-$(CONFIG_PINCTRL_BCM281XX) += pinctrl-bcm281xx.o obj-$(CONFIG_PINCTRL_BCM2835) += pinctrl-bcm2835.o obj-$(CONFIG_PINCTRL_IPROC_GPIO) += pinctrl-iproc-gpio.o obj-$(CONFIG_PINCTRL_CYGNUS_MUX) += pinctrl-cygnus-mux.o obj-$(CONFIG_PINCTRL_NS) += pinctrl-ns.o obj-$(CONFIG_PINCTRL_NSP_GPIO) += pinctrl-nsp-gpio.o obj-$(CONFIG_PINCTRL_NS2_MUX) += pinctrl-ns2-mux.o obj-$(CONFIG_PINCTRL_NSP_MUX) += pinctrl-nsp-mux.o pinctrl/vt8500/Kconfig 0000644 00000002246 14722053666 0010507 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # VIA/Wondermedia PINCTRL drivers # if ARCH_VT8500 config PINCTRL_WMT bool select PINMUX select GENERIC_PINCONF config PINCTRL_VT8500 bool "VIA VT8500 pin controller driver" depends on ARCH_WM8505 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on VIA VT8500 SoCs. config PINCTRL_WM8505 bool "Wondermedia WM8505 pin controller driver" depends on ARCH_WM8505 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on Wondermedia WM8505 SoCs. config PINCTRL_WM8650 bool "Wondermedia WM8650 pin controller driver" depends on ARCH_WM8505 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on Wondermedia WM8650 SoCs. config PINCTRL_WM8750 bool "Wondermedia WM8750 pin controller driver" depends on ARCH_WM8750 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on Wondermedia WM8750 SoCs. config PINCTRL_WM8850 bool "Wondermedia WM8850 pin controller driver" depends on ARCH_WM8850 select PINCTRL_WMT help Say yes here to support the gpio/pin control module on Wondermedia WM8850 SoCs. endif pinctrl/vt8500/Makefile 0000644 00000000546 14722053666 0010645 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # VIA/Wondermedia pinctrl support obj-$(CONFIG_PINCTRL_WMT) += pinctrl-wmt.o obj-$(CONFIG_PINCTRL_VT8500) += pinctrl-vt8500.o obj-$(CONFIG_PINCTRL_WM8505) += pinctrl-wm8505.o obj-$(CONFIG_PINCTRL_WM8650) += pinctrl-wm8650.o obj-$(CONFIG_PINCTRL_WM8750) += pinctrl-wm8750.o obj-$(CONFIG_PINCTRL_WM8850) += pinctrl-wm8850.o pinctrl/mediatek/Kconfig 0000644 00000005521 14722053666 0011323 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "MediaTek pinctrl drivers" depends on ARCH_MEDIATEK || COMPILE_TEST config EINT_MTK bool "MediaTek External Interrupt Support" depends on PINCTRL_MTK || PINCTRL_MTK_MOORE || PINCTRL_MTK_PARIS || COMPILE_TEST select GPIOLIB select IRQ_DOMAIN config PINCTRL_MTK bool depends on OF select PINMUX select GENERIC_PINCONF select GPIOLIB select EINT_MTK select OF_GPIO config PINCTRL_MTK_MOORE bool depends on OF select GENERIC_PINCONF select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS select GPIOLIB select OF_GPIO config PINCTRL_MTK_PARIS bool depends on OF select PINMUX select GENERIC_PINCONF select GPIOLIB select EINT_MTK select OF_GPIO # For ARMv7 SoCs config PINCTRL_MT2701 bool "Mediatek MT2701 pin control" depends on MACH_MT7623 || MACH_MT2701 || COMPILE_TEST depends on OF default MACH_MT2701 select PINCTRL_MTK config PINCTRL_MT7623 bool "Mediatek MT7623 pin control with generic binding" depends on MACH_MT7623 || COMPILE_TEST depends on OF default MACH_MT7623 select PINCTRL_MTK_MOORE config PINCTRL_MT7629 bool "Mediatek MT7629 pin control" depends on MACH_MT7629 || COMPILE_TEST depends on OF default MACH_MT7629 select PINCTRL_MTK_MOORE config PINCTRL_MT8135 bool "Mediatek MT8135 pin control" depends on MACH_MT8135 || COMPILE_TEST depends on OF default MACH_MT8135 select PINCTRL_MTK config PINCTRL_MT8127 bool "Mediatek MT8127 pin control" depends on MACH_MT8127 || COMPILE_TEST depends on OF default MACH_MT8127 select PINCTRL_MTK # For ARMv8 SoCs config PINCTRL_MT2712 bool "MediaTek MT2712 pin control" depends on OF depends on ARM64 || COMPILE_TEST default ARM64 && ARCH_MEDIATEK select PINCTRL_MTK config PINCTRL_MT6765 bool "Mediatek MT6765 pin control" depends on OF depends on ARM64 || COMPILE_TEST default ARM64 && ARCH_MEDIATEK select PINCTRL_MTK_PARIS config PINCTRL_MT6797 bool "Mediatek MT6797 pin control" depends on OF depends on ARM64 || COMPILE_TEST default ARM64 && ARCH_MEDIATEK select PINCTRL_MTK_PARIS config PINCTRL_MT7622 bool "MediaTek MT7622 pin control" depends on OF depends on ARM64 || COMPILE_TEST default ARM64 && ARCH_MEDIATEK select PINCTRL_MTK_MOORE config PINCTRL_MT8173 bool "Mediatek MT8173 pin control" depends on OF depends on ARM64 || COMPILE_TEST default ARM64 && ARCH_MEDIATEK select PINCTRL_MTK config PINCTRL_MT8183 bool "Mediatek MT8183 pin control" depends on OF depends on ARM64 || COMPILE_TEST default ARM64 && ARCH_MEDIATEK select PINCTRL_MTK_PARIS config PINCTRL_MT8516 bool "Mediatek MT8516 pin control" depends on OF depends on ARM64 || COMPILE_TEST default ARM64 && ARCH_MEDIATEK select PINCTRL_MTK # For PMIC config PINCTRL_MT6397 bool "Mediatek MT6397 pin control" depends on MFD_MT6397 || COMPILE_TEST depends on OF default MFD_MT6397 select PINCTRL_MTK endmenu pinctrl/mediatek/Makefile 0000644 00000001644 14722053666 0011462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Core obj-$(CONFIG_EINT_MTK) += mtk-eint.o obj-$(CONFIG_PINCTRL_MTK) += pinctrl-mtk-common.o obj-$(CONFIG_PINCTRL_MTK_MOORE) += pinctrl-moore.o pinctrl-mtk-common-v2.o obj-$(CONFIG_PINCTRL_MTK_PARIS) += pinctrl-paris.o pinctrl-mtk-common-v2.o # SoC Drivers obj-$(CONFIG_PINCTRL_MT2701) += pinctrl-mt2701.o obj-$(CONFIG_PINCTRL_MT2712) += pinctrl-mt2712.o obj-$(CONFIG_PINCTRL_MT8135) += pinctrl-mt8135.o obj-$(CONFIG_PINCTRL_MT8127) += pinctrl-mt8127.o obj-$(CONFIG_PINCTRL_MT6765) += pinctrl-mt6765.o obj-$(CONFIG_PINCTRL_MT6797) += pinctrl-mt6797.o obj-$(CONFIG_PINCTRL_MT7622) += pinctrl-mt7622.o obj-$(CONFIG_PINCTRL_MT7623) += pinctrl-mt7623.o obj-$(CONFIG_PINCTRL_MT7629) += pinctrl-mt7629.o obj-$(CONFIG_PINCTRL_MT8173) += pinctrl-mt8173.o obj-$(CONFIG_PINCTRL_MT8183) += pinctrl-mt8183.o obj-$(CONFIG_PINCTRL_MT8516) += pinctrl-mt8516.o obj-$(CONFIG_PINCTRL_MT6397) += pinctrl-mt6397.o pinctrl/samsung/Kconfig 0000644 00000001577 14722053666 0011224 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Samsung Pin control drivers # config PINCTRL_SAMSUNG bool select PINMUX select PINCONF config PINCTRL_EXYNOS bool "Pinctrl driver data for Samsung EXYNOS SoCs" depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210) select PINCTRL_SAMSUNG select PINCTRL_EXYNOS_ARM if ARM && (ARCH_EXYNOS || ARCH_S5PV210) select PINCTRL_EXYNOS_ARM64 if ARM64 && ARCH_EXYNOS config PINCTRL_EXYNOS_ARM bool "ARMv7-specific pinctrl driver data for Exynos" if COMPILE_TEST depends on PINCTRL_EXYNOS config PINCTRL_EXYNOS_ARM64 bool "ARMv8-specific pinctrl driver data for Exynos" if COMPILE_TEST depends on PINCTRL_EXYNOS config PINCTRL_S3C24XX bool "Samsung S3C24XX SoC pinctrl driver" depends on ARCH_S3C24XX && OF select PINCTRL_SAMSUNG config PINCTRL_S3C64XX bool "Samsung S3C64XX SoC pinctrl driver" depends on ARCH_S3C64XX select PINCTRL_SAMSUNG pinctrl/samsung/Makefile 0000644 00000000602 14722053666 0011345 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Samsung pin control drivers obj-$(CONFIG_PINCTRL_SAMSUNG) += pinctrl-samsung.o obj-$(CONFIG_PINCTRL_EXYNOS) += pinctrl-exynos.o obj-$(CONFIG_PINCTRL_EXYNOS_ARM) += pinctrl-exynos-arm.o obj-$(CONFIG_PINCTRL_EXYNOS_ARM64) += pinctrl-exynos-arm64.o obj-$(CONFIG_PINCTRL_S3C24XX) += pinctrl-s3c24xx.o obj-$(CONFIG_PINCTRL_S3C64XX) += pinctrl-s3c64xx.o soc/zte/Kconfig 0000644 00000000372 14722053666 0007452 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ZTE SoC drivers # menuconfig SOC_ZTE depends on ARCH_ZX || COMPILE_TEST bool "ZTE SoC driver support" if SOC_ZTE config ZX2967_PM_DOMAINS bool "ZX2967 PM domains" depends on PM_GENERIC_DOMAINS endif soc/zte/Makefile 0000644 00000000256 14722053666 0007610 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ZTE SOC drivers # obj-$(CONFIG_ZX2967_PM_DOMAINS) += zx2967_pm_domains.o obj-$(CONFIG_ZX2967_PM_DOMAINS) += zx296718_pm_domains.o soc/sunxi/Kconfig 0000644 00000000467 14722053666 0010023 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Allwinner sunXi SoC drivers # config SUNXI_SRAM bool default ARCH_SUNXI select REGMAP_MMIO help Say y here to enable the SRAM controller support. This device is responsible on mapping the SRAM in the sunXi SoCs whether to the CPU/DMA, or to the devices. soc/sunxi/Makefile 0000644 00000000121 14722053666 0010143 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SUNXI_SRAM) += sunxi_sram.o soc/ux500/Kconfig 0000644 00000000440 14722053666 0007525 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config UX500_SOC_ID bool "SoC bus for ST-Ericsson ux500" depends on ARCH_U8500 || COMPILE_TEST default ARCH_U8500 help Include support for the SoC bus on the ARM RealView platforms providing some sysfs information about the ASIC variant. soc/ux500/Makefile 0000644 00000000125 14722053666 0007662 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_UX500_SOC_ID) += ux500-soc-id.o soc/atmel/Kconfig 0000644 00000000327 14722053666 0007752 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config AT91_SOC_ID bool "SoC bus for Atmel ARM SoCs" depends on ARCH_AT91 || COMPILE_TEST default ARCH_AT91 help Include support for the SoC bus on the Atmel ARM SoCs. soc/atmel/Makefile 0000644 00000000113 14722053666 0010100 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_AT91_SOC_ID) += soc.o soc/aspeed/Kconfig 0000644 00000002126 14722053666 0010110 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Aspeed SoC drivers" config SOC_ASPEED def_bool y depends on ARCH_ASPEED || COMPILE_TEST config ASPEED_LPC_CTRL depends on SOC_ASPEED && REGMAP && MFD_SYSCON tristate "Aspeed ast2400/2500 HOST LPC to BMC bridge control" ---help--- Control Aspeed ast2400/2500 HOST LPC to BMC mappings through ioctl()s, the driver also provides a read/write interface to a BMC ram region where the host LPC read/write region can be buffered. config ASPEED_LPC_SNOOP tristate "Aspeed ast2500 HOST LPC snoop support" depends on SOC_ASPEED && REGMAP && MFD_SYSCON help Provides a driver to control the LPC snoop interface which allows the BMC to listen on and save the data written by the host to an arbitrary LPC I/O port. config ASPEED_P2A_CTRL depends on SOC_ASPEED && REGMAP && MFD_SYSCON tristate "Aspeed ast2400/2500 HOST P2A VGA MMIO to BMC bridge control" help Control Aspeed ast2400/2500 HOST P2A VGA MMIO to BMC mappings through ioctl()s, the driver also provides an interface for userspace mappings to a pre-defined region. endmenu soc/aspeed/Makefile 0000644 00000000303 14722053666 0010240 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o obj-$(CONFIG_ASPEED_P2A_CTRL) += aspeed-p2a-ctrl.o soc/ixp4xx/Kconfig 0000644 00000001014 14722053666 0010106 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if ARCH_IXP4XX || COMPILE_TEST menu "IXP4xx SoC drivers" config IXP4XX_QMGR tristate "IXP4xx Queue Manager support" help This driver supports IXP4xx built-in hardware queue manager and is automatically selected by Ethernet and HSS drivers. config IXP4XX_NPE tristate "IXP4xx Network Processor Engine support" select FW_LOADER help This driver supports IXP4xx built-in network coprocessors and is automatically selected by Ethernet and HSS drivers. endmenu endif soc/ixp4xx/Makefile 0000644 00000000174 14722053666 0010251 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_IXP4XX_QMGR) += ixp4xx-qmgr.o obj-$(CONFIG_IXP4XX_NPE) += ixp4xx-npe.o soc/Kconfig 0000644 00000001444 14722053666 0006651 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "SOC (System On Chip) specific Drivers" source "drivers/soc/actions/Kconfig" source "drivers/soc/amlogic/Kconfig" source "drivers/soc/aspeed/Kconfig" source "drivers/soc/atmel/Kconfig" source "drivers/soc/bcm/Kconfig" source "drivers/soc/fsl/Kconfig" source "drivers/soc/imx/Kconfig" source "drivers/soc/ixp4xx/Kconfig" source "drivers/soc/mediatek/Kconfig" source "drivers/soc/qcom/Kconfig" source "drivers/soc/renesas/Kconfig" source "drivers/soc/rockchip/Kconfig" source "drivers/soc/samsung/Kconfig" source "drivers/soc/sunxi/Kconfig" source "drivers/soc/tegra/Kconfig" source "drivers/soc/ti/Kconfig" source "drivers/soc/ux500/Kconfig" source "drivers/soc/versatile/Kconfig" source "drivers/soc/xilinx/Kconfig" source "drivers/soc/zte/Kconfig" endmenu soc/fsl/Kconfig 0000644 00000002624 14722053666 0007436 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # NXP/Freescale QorIQ series SOC drivers # menu "NXP/Freescale QorIQ SoC drivers" source "drivers/soc/fsl/qbman/Kconfig" source "drivers/soc/fsl/qe/Kconfig" config FSL_GUTS bool select SOC_BUS help The global utilities block controls power management, I/O device enabling, power-onreset(POR) configuration monitoring, alternate function selection for multiplexed signals,and clock control. This driver is to manage and access global utilities block. Initially only reading SVR and registering soc device are supported. Other guts accesses, such as reading RCW, should eventually be moved into this driver as well. config FSL_MC_DPIO tristate "QorIQ DPAA2 DPIO driver" depends on FSL_MC_BUS select SOC_BUS select FSL_GUTS help Driver for the DPAA2 DPIO object. A DPIO provides queue and buffer management facilities for software to interact with other DPAA2 objects. This driver does not expose the DPIO objects individually, but groups them under a service layer API. config DPAA2_CONSOLE tristate "QorIQ DPAA2 console driver" depends on OF && (ARCH_LAYERSCAPE || COMPILE_TEST) default y help Console driver for DPAA2 platforms. Exports 2 char devices, /dev/dpaa2_mc_console and /dev/dpaa2_aiop_console, which can be used to dump the Management Complex and AIOP firmware logs. endmenu soc/fsl/qe/Kconfig 0000644 00000001671 14722053666 0010044 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # QE Communication options # config QUICC_ENGINE bool "QUICC Engine (QE) framework support" depends on FSL_SOC && PPC32 select GENERIC_ALLOCATOR select CRC32 help The QUICC Engine (QE) is a new generation of communications coprocessors on Freescale embedded CPUs (akin to CPM in older chips). Selecting this option means that you wish to build a kernel for a machine with a QE coprocessor. config UCC_SLOW bool default y if SERIAL_QE help This option provides qe_lib support to UCC slow protocols: UART, BISYNC, QMC config UCC_FAST bool default y if UCC_GETH || QE_TDM help This option provides qe_lib support to UCC fast protocols: HDLC, Ethernet, ATM, transparent config UCC bool default y if UCC_FAST || UCC_SLOW config QE_TDM bool default y if FSL_UCC_HDLC config QE_USB bool depends on QUICC_ENGINE default y if USB_FSL_QE help QE USB Controller support soc/fsl/qe/Makefile 0000644 00000000574 14722053666 0010202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the linux ppc-specific parts of QE # obj-$(CONFIG_QUICC_ENGINE)+= qe.o qe_common.o qe_ic.o qe_io.o obj-$(CONFIG_CPM) += qe_common.o obj-$(CONFIG_UCC) += ucc.o obj-$(CONFIG_UCC_SLOW) += ucc_slow.o obj-$(CONFIG_UCC_FAST) += ucc_fast.o obj-$(CONFIG_QE_TDM) += qe_tdm.o obj-$(CONFIG_QE_USB) += usb.o obj-$(CONFIG_QE_GPIO) += gpio.o soc/fsl/dpio/Makefile 0000644 00000000265 14722053666 0010525 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # QorIQ DPAA2 DPIO driver # obj-$(CONFIG_FSL_MC_DPIO) += fsl-mc-dpio.o fsl-mc-dpio-objs := dpio.o qbman-portal.o dpio-service.o dpio-driver.o soc/fsl/qbman/Kconfig 0000644 00000004405 14722053666 0010533 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig FSL_DPAA bool "QorIQ DPAA1 framework support" depends on ((FSL_SOC_BOOKE || ARCH_LAYERSCAPE) && ARCH_DMA_ADDR_T_64BIT) select GENERIC_ALLOCATOR help The Freescale Data Path Acceleration Architecture (DPAA) is a set of hardware components on specific QorIQ multicore processors. This architecture provides the infrastructure to support simplified sharing of networking interfaces and accelerators by multiple CPUs. The major h/w blocks composing DPAA are BMan and QMan. The Buffer Manager (BMan) is a hardware buffer pool management block that allows software and accelerators on the datapath to acquire and release buffers in order to build frames. The Queue Manager (QMan) is a hardware queue management block that allows software and accelerators on the datapath to enqueue and dequeue frames in order to communicate. if FSL_DPAA config FSL_DPAA_CHECKING bool "Additional driver checking" help Compiles in additional checks, to sanity-check the drivers and any use of the exported API. Not recommended for performance. config FSL_BMAN_TEST tristate "BMan self-tests" help Compile the BMan self-test code. These tests will exercise the BMan APIs to confirm functionality of both the software drivers and hardware device. config FSL_BMAN_TEST_API bool "High-level API self-test" depends on FSL_BMAN_TEST default y help This requires the presence of cpu-affine portals, and performs high-level API testing with them (whichever portal(s) are affine to the cpu(s) the test executes on). config FSL_QMAN_TEST tristate "QMan self-tests" help Compile self-test code for QMan. config FSL_QMAN_TEST_API bool "QMan high-level self-test" depends on FSL_QMAN_TEST default y help This requires the presence of cpu-affine portals, and performs high-level API testing with them (whichever portal(s) are affine to the cpu(s) the test executes on). config FSL_QMAN_TEST_STASH bool "QMan 'hot potato' data-stashing self-test" depends on FSL_QMAN_TEST default y help This performs a "hot potato" style test enqueuing/dequeuing a frame across a series of FQs scheduled to different portals (and cpus), with DQRR, data and context stashing always on. endif # FSL_DPAA soc/fsl/qbman/Makefile 0000644 00000001100 14722053666 0010655 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FSL_DPAA) += bman_ccsr.o qman_ccsr.o \ bman_portal.o qman_portal.o \ bman.o qman.o dpaa_sys.o obj-$(CONFIG_FSL_BMAN_TEST) += bman-test.o bman-test-y = bman_test.o bman-test-$(CONFIG_FSL_BMAN_TEST_API) += bman_test_api.o obj-$(CONFIG_FSL_QMAN_TEST) += qman-test.o qman-test-y = qman_test.o qman-test-$(CONFIG_FSL_QMAN_TEST_API) += qman_test_api.o qman-test-$(CONFIG_FSL_QMAN_TEST_STASH) += qman_test_stash.o soc/fsl/Makefile 0000644 00000000524 14722053666 0007570 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Linux Kernel SOC fsl specific device drivers # obj-$(CONFIG_FSL_DPAA) += qbman/ obj-$(CONFIG_QUICC_ENGINE) += qe/ obj-$(CONFIG_CPM) += qe/ obj-$(CONFIG_FSL_GUTS) += guts.o obj-$(CONFIG_FSL_MC_DPIO) += dpio/ obj-$(CONFIG_DPAA2_CONSOLE) += dpaa2-console.o soc/gemini/Makefile 0000644 00000000071 14722053666 0010251 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += soc-gemini.o soc/dove/Makefile 0000644 00000000070 14722053666 0007735 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += pmu.o soc/qcom/Kconfig 0000644 00000014416 14722053666 0007613 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # QCOM Soc drivers # menu "Qualcomm SoC drivers" config QCOM_AOSS_QMP tristate "Qualcomm AOSS Driver" depends on ARCH_QCOM || COMPILE_TEST depends on MAILBOX depends on COMMON_CLK && PM select PM_GENERIC_DOMAINS help This driver provides the means of communicating with and controlling the low-power state for resources related to the remoteproc subsystems as well as controlling the debug clocks exposed by the Always On Subsystem (AOSS) using Qualcomm Messaging Protocol (QMP). config QCOM_COMMAND_DB bool "Qualcomm Command DB" depends on ARCH_QCOM || COMPILE_TEST depends on OF_RESERVED_MEM help Command DB queries shared memory by key string for shared system resources. Platform drivers that require to set state of a shared resource on a RPM-hardened platform must use this database to get SoC specific identifier and information for the shared resources. config QCOM_GENI_SE tristate "QCOM GENI Serial Engine Driver" depends on ARCH_QCOM || COMPILE_TEST help This driver is used to manage Generic Interface (GENI) firmware based Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This driver is also used to manage the common aspects of multiple Serial Engines present in the QUP. config QCOM_GLINK_SSR tristate "Qualcomm Glink SSR driver" depends on RPMSG depends on QCOM_RPROC_COMMON help Say y here to enable GLINK SSR support. The GLINK SSR driver implements the SSR protocol for notifying the remote processor about neighboring subsystems going up or down. config QCOM_GSBI tristate "QCOM General Serial Bus Interface" depends on ARCH_QCOM || COMPILE_TEST select MFD_SYSCON help Say y here to enable GSBI support. The GSBI provides control functions for connecting the underlying serial UART, SPI, and I2C devices to the output pins. config QCOM_LLCC tristate "Qualcomm Technologies, Inc. LLCC driver" depends on ARCH_QCOM || COMPILE_TEST select REGMAP_MMIO help Qualcomm Technologies, Inc. platform specific Last Level Cache Controller(LLCC) driver for platforms such as, SDM845. This provides interfaces to clients that use the LLCC. Say yes here to enable LLCC slice driver. config QCOM_MDT_LOADER tristate select QCOM_SCM config QCOM_PM bool "Qualcomm Power Management" depends on ARCH_QCOM && !ARM64 select ARM_CPU_SUSPEND select QCOM_SCM help QCOM Platform specific power driver to manage cores and L2 low power modes. It interface with various system drivers to put the cores in low power modes. config QCOM_QMI_HELPERS tristate depends on ARCH_QCOM || COMPILE_TEST depends on NET config QCOM_RMTFS_MEM tristate "Qualcomm Remote Filesystem memory driver" depends on ARCH_QCOM select QCOM_SCM help The Qualcomm remote filesystem memory driver is used for allocating and exposing regions of shared memory with remote processors for the purpose of exchanging sector-data between the remote filesystem service and its clients. Say y here if you intend to boot the modem remoteproc. config QCOM_RPMH bool "Qualcomm RPM-Hardened (RPMH) Communication" depends on ARCH_QCOM && ARM64 || COMPILE_TEST help Support for communication with the hardened-RPM blocks in Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an internal bus to transmit state requests for shared resources. A set of hardware components aggregate requests for these resources and help apply the aggregated state on the resource. config QCOM_RPMHPD bool "Qualcomm RPMh Power domain driver" depends on QCOM_RPMH && QCOM_COMMAND_DB help QCOM RPMh Power domain driver to support power-domains with performance states. The driver communicates a performance state value to RPMh which then translates it into corresponding voltage for the voltage rail. config QCOM_RPMPD bool "Qualcomm RPM Power domain driver" depends on QCOM_SMD_RPM=y help QCOM RPM Power domain driver to support power-domains with performance states. The driver communicates a performance state value to RPM which then translates it into corresponding voltage for the voltage rail. config QCOM_SMEM tristate "Qualcomm Shared Memory Manager (SMEM)" depends on ARCH_QCOM || COMPILE_TEST depends on HWSPINLOCK help Say y here to enable support for the Qualcomm Shared Memory Manager. The driver provides an interface to items in a heap shared among all processors in a Qualcomm platform. config QCOM_SMD_RPM tristate "Qualcomm Resource Power Manager (RPM) over SMD" depends on ARCH_QCOM || COMPILE_TEST depends on RPMSG help If you say yes to this option, support will be included for the Resource Power Manager system found in the Qualcomm 8974 based devices. This is required to access many regulators, clocks and bus frequencies controlled by the RPM on these devices. Say M here if you want to include support for the Qualcomm RPM as a module. This will build a module called "qcom-smd-rpm". config QCOM_SMEM_STATE bool config QCOM_SMP2P tristate "Qualcomm Shared Memory Point to Point support" depends on MAILBOX depends on QCOM_SMEM select QCOM_SMEM_STATE select IRQ_DOMAIN help Say yes here to support the Qualcomm Shared Memory Point to Point protocol. config QCOM_SMSM tristate "Qualcomm Shared Memory State Machine" depends on QCOM_SMEM select QCOM_SMEM_STATE select IRQ_DOMAIN help Say yes here to support the Qualcomm Shared Memory State Machine. The state machine is represented by bits in shared memory. config QCOM_SOCINFO tristate "Qualcomm socinfo driver" depends on QCOM_SMEM select SOC_BUS help Say yes here to support the Qualcomm socinfo driver, providing information about the SoC to user space. config QCOM_WCNSS_CTRL tristate "Qualcomm WCNSS control driver" depends on ARCH_QCOM || COMPILE_TEST depends on RPMSG help Client driver for the WCNSS_CTRL SMD channel, used to download nv firmware to a newly booted WCNSS chip. config QCOM_APR tristate "Qualcomm APR Bus (Asynchronous Packet Router)" depends on ARCH_QCOM || COMPILE_TEST depends on RPMSG help Enable APR IPC protocol support between application processor and QDSP6. APR is used by audio driver to configure QDSP6 ASM, ADM and AFE modules. endmenu soc/qcom/Makefile 0000644 00000001756 14722053666 0007753 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 CFLAGS_rpmh-rsc.o := -I$(src) obj-$(CONFIG_QCOM_AOSS_QMP) += qcom_aoss.o obj-$(CONFIG_QCOM_GENI_SE) += qcom-geni-se.o obj-$(CONFIG_QCOM_COMMAND_DB) += cmd-db.o obj-$(CONFIG_QCOM_GLINK_SSR) += glink_ssr.o obj-$(CONFIG_QCOM_GSBI) += qcom_gsbi.o obj-$(CONFIG_QCOM_MDT_LOADER) += mdt_loader.o obj-$(CONFIG_QCOM_PM) += spm.o obj-$(CONFIG_QCOM_QMI_HELPERS) += qmi_helpers.o qmi_helpers-y += qmi_encdec.o qmi_interface.o obj-$(CONFIG_QCOM_RMTFS_MEM) += rmtfs_mem.o obj-$(CONFIG_QCOM_RPMH) += qcom_rpmh.o qcom_rpmh-y += rpmh-rsc.o qcom_rpmh-y += rpmh.o obj-$(CONFIG_QCOM_SMD_RPM) += smd-rpm.o obj-$(CONFIG_QCOM_SMEM) += smem.o obj-$(CONFIG_QCOM_SMEM_STATE) += smem_state.o obj-$(CONFIG_QCOM_SMP2P) += smp2p.o obj-$(CONFIG_QCOM_SMSM) += smsm.o obj-$(CONFIG_QCOM_SOCINFO) += socinfo.o obj-$(CONFIG_QCOM_WCNSS_CTRL) += wcnss_ctrl.o obj-$(CONFIG_QCOM_APR) += apr.o obj-$(CONFIG_QCOM_LLCC) += llcc-qcom.o obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o obj-$(CONFIG_QCOM_RPMPD) += rpmpd.o soc/amlogic/Kconfig 0000644 00000003220 14722053666 0010256 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Amlogic SoC drivers" config MESON_CANVAS tristate "Amlogic Meson Canvas driver" depends on ARCH_MESON || COMPILE_TEST default n help Say yes to support the canvas IP for Amlogic SoCs. config MESON_CLK_MEASURE bool "Amlogic Meson SoC Clock Measure driver" depends on ARCH_MESON || COMPILE_TEST default ARCH_MESON select REGMAP_MMIO help Say yes to support of Measuring a set of internal SoC clocks from the debugfs interface. config MESON_GX_SOCINFO bool "Amlogic Meson GX SoC Information driver" depends on ARCH_MESON || COMPILE_TEST default ARCH_MESON select SOC_BUS help Say yes to support decoding of Amlogic Meson GX SoC family information about the type, package and version. config MESON_GX_PM_DOMAINS bool "Amlogic Meson GX Power Domains driver" depends on ARCH_MESON || COMPILE_TEST depends on PM && OF default ARCH_MESON select PM_GENERIC_DOMAINS select PM_GENERIC_DOMAINS_OF help Say yes to expose Amlogic Meson GX Power Domains as Generic Power Domains. config MESON_EE_PM_DOMAINS bool "Amlogic Meson Everything-Else Power Domains driver" depends on ARCH_MESON || COMPILE_TEST depends on PM && OF default ARCH_MESON select PM_GENERIC_DOMAINS select PM_GENERIC_DOMAINS_OF help Say yes to expose Amlogic Meson Everything-Else Power Domains as Generic Power Domains. config MESON_MX_SOCINFO bool "Amlogic Meson MX SoC Information driver" depends on ARCH_MESON || COMPILE_TEST default ARCH_MESON select SOC_BUS help Say yes to support decoding of Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoC family information about the type and version. endmenu soc/amlogic/Makefile 0000644 00000000544 14722053666 0010421 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MESON_CANVAS) += meson-canvas.o obj-$(CONFIG_MESON_CLK_MEASURE) += meson-clk-measure.o obj-$(CONFIG_MESON_GX_SOCINFO) += meson-gx-socinfo.o obj-$(CONFIG_MESON_GX_PM_DOMAINS) += meson-gx-pwrc-vpu.o obj-$(CONFIG_MESON_MX_SOCINFO) += meson-mx-socinfo.o obj-$(CONFIG_MESON_EE_PM_DOMAINS) += meson-ee-pwrc.o soc/tegra/Kconfig 0000644 00000007324 14722053666 0007756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if ARCH_TEGRA # 32-bit ARM SoCs if ARM config ARCH_TEGRA_2x_SOC bool "Enable support for Tegra20 family" select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP select ARM_ERRATA_720789 select ARM_ERRATA_754327 if SMP select ARM_ERRATA_764369 if SMP select PINCTRL_TEGRA20 select PL310_ERRATA_727915 if CACHE_L2X0 select PL310_ERRATA_769419 if CACHE_L2X0 select SOC_TEGRA_FLOWCTRL select SOC_TEGRA_PMC select TEGRA_TIMER help Support for NVIDIA Tegra AP20 and T20 processors, based on the ARM CortexA9MP CPU and the ARM PL310 L2 cache controller config ARCH_TEGRA_3x_SOC bool "Enable support for Tegra30 family" select ARM_ERRATA_754322 select ARM_ERRATA_764369 if SMP select PINCTRL_TEGRA30 select PL310_ERRATA_769419 if CACHE_L2X0 select SOC_TEGRA_FLOWCTRL select SOC_TEGRA_PMC select TEGRA_TIMER help Support for NVIDIA Tegra T30 processor family, based on the ARM CortexA9MP CPU and the ARM PL310 L2 cache controller config ARCH_TEGRA_114_SOC bool "Enable support for Tegra114 family" select ARM_ERRATA_798181 if SMP select HAVE_ARM_ARCH_TIMER select PINCTRL_TEGRA114 select SOC_TEGRA_FLOWCTRL select SOC_TEGRA_PMC select TEGRA_TIMER help Support for NVIDIA Tegra T114 processor family, based on the ARM CortexA15MP CPU config ARCH_TEGRA_124_SOC bool "Enable support for Tegra124 family" select HAVE_ARM_ARCH_TIMER select PINCTRL_TEGRA124 select SOC_TEGRA_FLOWCTRL select SOC_TEGRA_PMC select TEGRA_TIMER help Support for NVIDIA Tegra T124 processor family, based on the ARM CortexA15MP CPU endif # 64-bit ARM SoCs if ARM64 config ARCH_TEGRA_132_SOC bool "NVIDIA Tegra132 SoC" select PINCTRL_TEGRA124 select SOC_TEGRA_FLOWCTRL select SOC_TEGRA_PMC help Enable support for NVIDIA Tegra132 SoC, based on the Denver ARMv8 CPU. The Tegra132 SoC is similar to the Tegra124 SoC, but contains an NVIDIA Denver CPU complex in place of Tegra124's "4+1" Cortex-A15 CPU complex. config ARCH_TEGRA_210_SOC bool "NVIDIA Tegra210 SoC" select PINCTRL_TEGRA210 select SOC_TEGRA_FLOWCTRL select SOC_TEGRA_PMC select TEGRA_TIMER help Enable support for the NVIDIA Tegra210 SoC. Also known as Tegra X1, the Tegra210 has four Cortex-A57 cores paired with four Cortex-A53 cores in a switched configuration. It features a GPU of the Maxwell architecture with support for DX11, SM4, OpenGL 4.5, OpenGL ES 3.1 and providing 256 CUDA cores. It supports hardware-accelerated en- and decoding of various video standards including H.265, H.264 and VP8 at 4K resolution and up to 60 fps. Besides the multimedia features it also comes with a variety of I/O controllers, such as GPIO, I2C, SPI, SDHCI, PCIe, SATA and XHCI, to name only a few. config ARCH_TEGRA_186_SOC bool "NVIDIA Tegra186 SoC" select MAILBOX select TEGRA_BPMP select TEGRA_HSP_MBOX select TEGRA_IVC select SOC_TEGRA_PMC help Enable support for the NVIDIA Tegar186 SoC. The Tegra186 features a combination of Denver and Cortex-A57 CPU cores and a GPU based on the Pascal architecture. It contains an ADSP with a Cortex-A9 CPU used for audio processing, hardware video encoders/decoders with multi-format support, ISP for image capture processing and BPMP for power management. config ARCH_TEGRA_194_SOC bool "NVIDIA Tegra194 SoC" select MAILBOX select PINCTRL_TEGRA194 select TEGRA_BPMP select TEGRA_HSP_MBOX select TEGRA_IVC select SOC_TEGRA_PMC help Enable support for the NVIDIA Tegra194 SoC. endif endif config SOC_TEGRA_FUSE def_bool y depends on ARCH_TEGRA select SOC_BUS config SOC_TEGRA_FLOWCTRL bool config SOC_TEGRA_PMC bool select GENERIC_PINCONF config SOC_TEGRA_POWERGATE_BPMP def_bool y depends on PM_GENERIC_DOMAINS depends on TEGRA_BPMP soc/tegra/Makefile 0000644 00000000324 14722053666 0010104 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += fuse/ obj-y += common.o obj-$(CONFIG_SOC_TEGRA_FLOWCTRL) += flowctrl.o obj-$(CONFIG_SOC_TEGRA_PMC) += pmc.o obj-$(CONFIG_SOC_TEGRA_POWERGATE_BPMP) += powergate-bpmp.o soc/tegra/fuse/Makefile 0000644 00000000753 14722053666 0011054 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += fuse-tegra.o obj-y += fuse-tegra30.o obj-y += tegra-apbmisc.o obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += fuse-tegra20.o obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += speedo-tegra20.o obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += speedo-tegra30.o obj-$(CONFIG_ARCH_TEGRA_114_SOC) += speedo-tegra114.o obj-$(CONFIG_ARCH_TEGRA_124_SOC) += speedo-tegra124.o obj-$(CONFIG_ARCH_TEGRA_132_SOC) += speedo-tegra124.o obj-$(CONFIG_ARCH_TEGRA_210_SOC) += speedo-tegra210.o soc/ti/Kconfig 0000644 00000004675 14722053666 0007276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # 64-bit ARM SoCs from TI if ARM64 if ARCH_K3 config ARCH_K3_AM6_SOC bool "K3 AM6 SoC" help Enable support for TI's AM6 SoC Family support config ARCH_K3_J721E_SOC bool "K3 J721E SoC" help Enable support for TI's J721E SoC Family support endif endif # # TI SOC drivers # menuconfig SOC_TI bool "TI SOC drivers support" if SOC_TI config KEYSTONE_NAVIGATOR_QMSS tristate "Keystone Queue Manager Sub System" depends on ARCH_KEYSTONE help Say y here to support the Keystone multicore Navigator Queue Manager support. The Queue Manager is a hardware module that is responsible for accelerating management of the packet queues. Packets are queued/de-queued by writing/reading descriptor address to a particular memory mapped location in the Queue Manager module. If unsure, say N. config KEYSTONE_NAVIGATOR_DMA tristate "TI Keystone Navigator Packet DMA support" depends on ARCH_KEYSTONE help Say y tp enable support for the Keystone Navigator Packet DMA on on Keystone family of devices. It sets up the dma channels for the Queue Manager Sub System. If unsure, say N. config AMX3_PM tristate "AMx3 Power Management" depends on SOC_AM33XX || SOC_AM43XX depends on WKUP_M3_IPC && TI_EMIF_SRAM && SRAM && RTC_DRV_OMAP help Enable power management on AM335x and AM437x. Required for suspend to mem and standby states on both AM335x and AM437x platforms and for deeper cpuidle c-states on AM335x. Also required for rtc and ddr in self-refresh low power mode on AM437x platforms. config WKUP_M3_IPC tristate "TI AMx3 Wkup-M3 IPC Driver" depends on WKUP_M3_RPROC depends on OMAP2PLUS_MBOX help TI AM33XX and AM43XX have a Cortex M3, the Wakeup M3, to handle low power transitions. This IPC driver provides the necessary API to communicate and use the Wakeup M3 for PM features like suspend resume and boots it using wkup_m3_rproc driver. config TI_SCI_PM_DOMAINS tristate "TI SCI PM Domains Driver" depends on TI_SCI_PROTOCOL depends on PM_GENERIC_DOMAINS help Generic power domain implementation for TI device implementing the TI SCI protocol. To compile this as a module, choose M here. The module will be called ti_sci_pm_domains. Note this is needed early in boot before rootfs may be available. endif # SOC_TI config TI_SCI_INTA_MSI_DOMAIN bool select GENERIC_MSI_IRQ_DOMAIN help Driver to enable Interrupt Aggregator specific MSI Domain. soc/ti/Makefile 0000644 00000000634 14722053666 0007422 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # TI Keystone SOC drivers # obj-$(CONFIG_KEYSTONE_NAVIGATOR_QMSS) += knav_qmss.o knav_qmss-y := knav_qmss_queue.o knav_qmss_acc.o obj-$(CONFIG_KEYSTONE_NAVIGATOR_DMA) += knav_dma.o obj-$(CONFIG_AMX3_PM) += pm33xx.o obj-$(CONFIG_WKUP_M3_IPC) += wkup_m3_ipc.o obj-$(CONFIG_TI_SCI_PM_DOMAINS) += ti_sci_pm_domains.o obj-$(CONFIG_TI_SCI_INTA_MSI_DOMAIN) += ti_sci_inta_msi.o soc/imx/Kconfig 0000644 00000001017 14722053666 0007442 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "i.MX SoC drivers" config IMX_GPCV2_PM_DOMAINS bool "i.MX GPCv2 PM domains" depends on ARCH_MXC || (COMPILE_TEST && OF) depends on PM select PM_GENERIC_DOMAINS default y if SOC_IMX7D config IMX_SCU_SOC bool "i.MX System Controller Unit SoC info support" depends on IMX_SCU select SOC_BUS help If you say yes here you get support for the NXP i.MX System Controller Unit SoC info module, it will provide the SoC info like SoC family, ID and revision etc. endmenu soc/imx/Makefile 0000644 00000000312 14722053666 0007574 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_HAVE_IMX_GPC) += gpc.o obj-$(CONFIG_IMX_GPCV2_PM_DOMAINS) += gpcv2.o obj-$(CONFIG_ARCH_MXC) += soc-imx8.o obj-$(CONFIG_IMX_SCU_SOC) += soc-imx-scu.o soc/Makefile 0000644 00000001456 14722053666 0007011 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux Kernel SOC specific device drivers. # obj-$(CONFIG_ARCH_ACTIONS) += actions/ obj-$(CONFIG_SOC_ASPEED) += aspeed/ obj-$(CONFIG_ARCH_AT91) += atmel/ obj-y += bcm/ obj-$(CONFIG_ARCH_DOVE) += dove/ obj-$(CONFIG_MACH_DOVE) += dove/ obj-y += fsl/ obj-$(CONFIG_ARCH_GEMINI) += gemini/ obj-$(CONFIG_ARCH_MXC) += imx/ obj-$(CONFIG_ARCH_IXP4XX) += ixp4xx/ obj-$(CONFIG_SOC_XWAY) += lantiq/ obj-y += mediatek/ obj-y += amlogic/ obj-y += qcom/ obj-y += renesas/ obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/ obj-$(CONFIG_SOC_SAMSUNG) += samsung/ obj-y += sunxi/ obj-$(CONFIG_ARCH_TEGRA) += tegra/ obj-y += ti/ obj-$(CONFIG_ARCH_U8500) += ux500/ obj-$(CONFIG_PLAT_VERSATILE) += versatile/ obj-y += xilinx/ obj-$(CONFIG_ARCH_ZX) += zte/ soc/xilinx/Kconfig 0000644 00000002306 14722053666 0010162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Xilinx SoC drivers" config XILINX_VCU tristate "Xilinx VCU logicoreIP Init" depends on HAS_IOMEM help Provides the driver to enable and disable the isolation between the processing system and programmable logic part by using the logicoreIP register set. This driver also configures the frequency based on the clock information from the logicoreIP register set. If you say yes here you get support for the logicoreIP. If unsure, say N. To compile this driver as a module, choose M here: the module will be called xlnx_vcu. config ZYNQMP_POWER bool "Enable Xilinx Zynq MPSoC Power Management driver" depends on PM && ZYNQMP_FIRMWARE default y help Say yes to enable power management support for ZyqnMP SoC. This driver uses firmware driver as an interface for power management request to firmware. It registers isr to handle power management callbacks from firmware. If in doubt, say N. config ZYNQMP_PM_DOMAINS bool "Enable Zynq MPSoC generic PM domains" default y depends on PM && ZYNQMP_FIRMWARE select PM_GENERIC_DOMAINS help Say yes to enable device power management through PM domains If in doubt, say N. endmenu soc/xilinx/Makefile 0000644 00000000256 14722053666 0010321 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_XILINX_VCU) += xlnx_vcu.o obj-$(CONFIG_ZYNQMP_POWER) += zynqmp_power.o obj-$(CONFIG_ZYNQMP_PM_DOMAINS) += zynqmp_pm_domains.o soc/lantiq/Makefile 0000644 00000000076 14722053666 0010276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += fpi-bus.o soc/actions/Kconfig 0000644 00000000630 14722053666 0010305 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if ARCH_ACTIONS || COMPILE_TEST config OWL_PM_DOMAINS_HELPER bool config OWL_PM_DOMAINS bool "Actions Semi SPS power domains" depends on PM select OWL_PM_DOMAINS_HELPER select PM_GENERIC_DOMAINS help Say 'y' here to enable support for Smart Power System (SPS) power-gating on Actions Semiconductor S500, S700 and S900 SoCs. If unsure, say 'n'. endif soc/actions/Makefile 0000644 00000000207 14722053666 0010442 0 ustar 00 # SPDX-License-Identifier: GPL-2.0+ obj-$(CONFIG_OWL_PM_DOMAINS_HELPER) += owl-sps-helper.o obj-$(CONFIG_OWL_PM_DOMAINS) += owl-sps.o soc/bcm/brcmstb/Kconfig 0000644 00000000363 14722053666 0011045 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if SOC_BRCMSTB config BRCMSTB_PM bool "Support suspend/resume for STB platforms" default y depends on PM depends on ARCH_BRCMSTB || BMIPS_GENERIC select ARM_CPU_SUSPEND if ARM endif # SOC_BRCMSTB soc/bcm/brcmstb/Makefile 0000644 00000000147 14722053666 0011202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += common.o biuctrl.o obj-$(CONFIG_BRCMSTB_PM) += pm/ soc/bcm/brcmstb/pm/Makefile 0000644 00000000261 14722053666 0011613 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ARM) += s2-arm.o pm-arm.o AFLAGS_s2-arm.o := -march=armv7-a obj-$(CONFIG_BMIPS_GENERIC) += s2-mips.o s3-mips.o pm-mips.o soc/bcm/Kconfig 0000644 00000002263 14722053666 0007412 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Broadcom SoC drivers" config BCM2835_POWER bool "BCM2835 power domain driver" depends on ARCH_BCM2835 || (COMPILE_TEST && OF) default y if ARCH_BCM2835 select PM_GENERIC_DOMAINS if PM select RESET_CONTROLLER help This enables support for the BCM2835 power domains and reset controller. Any usage of power domains by the Raspberry Pi firmware means that Linux usage of the same power domain must be accessed using the RASPBERRYPI_POWER driver config RASPBERRYPI_POWER bool "Raspberry Pi power domain driver" depends on ARCH_BCM2835 || (COMPILE_TEST && OF) depends on RASPBERRYPI_FIRMWARE=y select PM_GENERIC_DOMAINS if PM help This enables support for the RPi power domains which can be enabled or disabled via the RPi firmware. config SOC_BRCMSTB bool "Broadcom STB SoC drivers" depends on ARM || ARM64 || BMIPS_GENERIC || COMPILE_TEST select SOC_BUS help Enables drivers for the Broadcom Set-Top Box (STB) series of chips. This option alone enables only some support code, while the drivers can be enabled individually within this menu. If unsure, say N. source "drivers/soc/bcm/brcmstb/Kconfig" endmenu soc/bcm/Makefile 0000644 00000000264 14722053666 0007546 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_BCM2835_POWER) += bcm2835-power.o obj-$(CONFIG_RASPBERRYPI_POWER) += raspberrypi-power.o obj-$(CONFIG_SOC_BRCMSTB) += brcmstb/ soc/renesas/Kconfig 0000644 00000015223 14722053666 0010311 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config SOC_RENESAS bool "Renesas SoC driver support" if COMPILE_TEST && !ARCH_RENESAS default y if ARCH_RENESAS select SOC_BUS if SOC_RENESAS config ARCH_RCAR_GEN1 bool select PM select PM_GENERIC_DOMAINS select RENESAS_INTC_IRQPIN select RST_RCAR select SYS_SUPPORTS_SH_TMU config ARCH_RCAR_GEN2 bool select HAVE_ARM_ARCH_TIMER select PM select PM_GENERIC_DOMAINS select RENESAS_IRQC select RST_RCAR select SYS_SUPPORTS_SH_CMT config ARCH_RCAR_GEN3 bool select PM select PM_GENERIC_DOMAINS select RENESAS_IRQC select RST_RCAR select SYS_SUPPORTS_SH_CMT select SYS_SUPPORTS_SH_TMU config ARCH_RMOBILE bool select PM select PM_GENERIC_DOMAINS select SYS_SUPPORTS_SH_CMT select SYS_SUPPORTS_SH_TMU select SYSC_RMOBILE config ARCH_RZN1 bool select ARM_AMBA if ARM && ARCH_RENESAS #comment "Renesas ARM SoCs System Type" config ARCH_EMEV2 bool "Emma Mobile EV2" select HAVE_ARM_SCU if SMP select SYS_SUPPORTS_EM_STI config ARCH_R7S72100 bool "RZ/A1H (R7S72100)" select ARM_ERRATA_754322 select PM select PM_GENERIC_DOMAINS select RENESAS_OSTM select RENESAS_RZA1_IRQC select SYS_SUPPORTS_SH_MTU2 config ARCH_R7S9210 bool "RZ/A2 (R7S9210)" select PM select PM_GENERIC_DOMAINS select RENESAS_OSTM select RENESAS_RZA1_IRQC config ARCH_R8A73A4 bool "R-Mobile APE6 (R8A73A40)" select ARCH_RMOBILE select ARM_ERRATA_798181 if SMP select ARM_ERRATA_814220 select HAVE_ARM_ARCH_TIMER select RENESAS_IRQC config ARCH_R8A7740 bool "R-Mobile A1 (R8A77400)" select ARCH_RMOBILE select ARM_ERRATA_754322 select RENESAS_INTC_IRQPIN config ARCH_R8A7743 bool "RZ/G1M (R8A77430)" select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select SYSC_R8A7743 config ARCH_R8A7744 bool "RZ/G1N (R8A77440)" select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select SYSC_R8A7743 config ARCH_R8A7745 bool "RZ/G1E (R8A77450)" select ARCH_RCAR_GEN2 select ARM_ERRATA_814220 select SYSC_R8A7745 config ARCH_R8A77470 bool "RZ/G1C (R8A77470)" select ARCH_RCAR_GEN2 select ARM_ERRATA_814220 select SYSC_R8A77470 config ARCH_R8A7778 bool "R-Car M1A (R8A77781)" select ARCH_RCAR_GEN1 select ARM_ERRATA_754322 config ARCH_R8A7779 bool "R-Car H1 (R8A77790)" select ARCH_RCAR_GEN1 select ARM_ERRATA_754322 select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select SYSC_R8A7779 config ARCH_R8A7790 bool "R-Car H2 (R8A77900)" select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select ARM_ERRATA_814220 select I2C select SYSC_R8A7790 config ARCH_R8A7791 bool "R-Car M2-W (R8A77910)" select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select I2C select SYSC_R8A7791 config ARCH_R8A7792 bool "R-Car V2H (R8A77920)" select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select SYSC_R8A7792 config ARCH_R8A7793 bool "R-Car M2-N (R8A7793)" select ARCH_RCAR_GEN2 select ARM_ERRATA_798181 if SMP select I2C select SYSC_R8A7791 config ARCH_R8A7794 bool "R-Car E2 (R8A77940)" select ARCH_RCAR_GEN2 select ARM_ERRATA_814220 select SYSC_R8A7794 config ARCH_R9A06G032 bool "RZ/N1D (R9A06G032)" select ARCH_RZN1 select ARM_ERRATA_814220 config ARCH_SH73A0 bool "SH-Mobile AG5 (R8A73A00)" select ARCH_RMOBILE select ARM_ERRATA_754322 select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select RENESAS_INTC_IRQPIN endif # ARM if ARM64 config ARCH_R8A774A1 bool "Renesas RZ/G2M SoC Platform" select ARCH_RCAR_GEN3 select SYSC_R8A774A1 help This enables support for the Renesas RZ/G2M SoC. config ARCH_R8A774C0 bool "Renesas RZ/G2E SoC Platform" select ARCH_RCAR_GEN3 select SYSC_R8A774C0 help This enables support for the Renesas RZ/G2E SoC. config ARCH_R8A7795 bool "Renesas R-Car H3 SoC Platform" select ARCH_RCAR_GEN3 select SYSC_R8A7795 help This enables support for the Renesas R-Car H3 SoC. config ARCH_R8A7796 bool "Renesas R-Car M3-W SoC Platform" select ARCH_RCAR_GEN3 select SYSC_R8A7796 help This enables support for the Renesas R-Car M3-W SoC. config ARCH_R8A77965 bool "Renesas R-Car M3-N SoC Platform" select ARCH_RCAR_GEN3 select SYSC_R8A77965 help This enables support for the Renesas R-Car M3-N SoC. config ARCH_R8A77970 bool "Renesas R-Car V3M SoC Platform" select ARCH_RCAR_GEN3 select SYSC_R8A77970 help This enables support for the Renesas R-Car V3M SoC. config ARCH_R8A77980 bool "Renesas R-Car V3H SoC Platform" select ARCH_RCAR_GEN3 select SYSC_R8A77980 help This enables support for the Renesas R-Car V3H SoC. config ARCH_R8A77990 bool "Renesas R-Car E3 SoC Platform" select ARCH_RCAR_GEN3 select SYSC_R8A77990 help This enables support for the Renesas R-Car E3 SoC. config ARCH_R8A77995 bool "Renesas R-Car D3 SoC Platform" select ARCH_RCAR_GEN3 select SYSC_R8A77995 help This enables support for the Renesas R-Car D3 SoC. endif # ARM64 # SoC config SYSC_R8A7743 bool "RZ/G1M System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A7745 bool "RZ/G1E System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A77470 bool "RZ/G1C System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A774A1 bool "RZ/G2M System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A774C0 bool "RZ/G2E System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A7779 bool "R-Car H1 System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A7790 bool "R-Car H2 System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A7791 bool "R-Car M2-W/N System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A7792 bool "R-Car V2H System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A7794 bool "R-Car E2 System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A7795 bool "R-Car H3 System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A7796 bool "R-Car M3-W System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A77965 bool "R-Car M3-N System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A77970 bool "R-Car V3M System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A77980 bool "R-Car V3H System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A77990 bool "R-Car E3 System Controller support" if COMPILE_TEST select SYSC_RCAR config SYSC_R8A77995 bool "R-Car D3 System Controller support" if COMPILE_TEST select SYSC_RCAR # Family config RST_RCAR bool "R-Car Reset Controller support" if COMPILE_TEST config SYSC_RCAR bool "R-Car System Controller support" if COMPILE_TEST config SYSC_RMOBILE bool "R-Mobile System Controller support" if COMPILE_TEST endif # SOC_RENESAS soc/renesas/Makefile 0000644 00000002150 14722053666 0010441 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Generic, must be first because of soc_device_register() obj-$(CONFIG_SOC_RENESAS) += renesas-soc.o # SoC obj-$(CONFIG_SYSC_R8A7743) += r8a7743-sysc.o obj-$(CONFIG_SYSC_R8A7745) += r8a7745-sysc.o obj-$(CONFIG_SYSC_R8A77470) += r8a77470-sysc.o obj-$(CONFIG_SYSC_R8A774A1) += r8a774a1-sysc.o obj-$(CONFIG_SYSC_R8A774C0) += r8a774c0-sysc.o obj-$(CONFIG_SYSC_R8A7779) += r8a7779-sysc.o obj-$(CONFIG_SYSC_R8A7790) += r8a7790-sysc.o obj-$(CONFIG_SYSC_R8A7791) += r8a7791-sysc.o obj-$(CONFIG_SYSC_R8A7792) += r8a7792-sysc.o obj-$(CONFIG_SYSC_R8A7794) += r8a7794-sysc.o obj-$(CONFIG_SYSC_R8A7795) += r8a7795-sysc.o obj-$(CONFIG_SYSC_R8A7796) += r8a7796-sysc.o obj-$(CONFIG_SYSC_R8A77965) += r8a77965-sysc.o obj-$(CONFIG_SYSC_R8A77970) += r8a77970-sysc.o obj-$(CONFIG_SYSC_R8A77980) += r8a77980-sysc.o obj-$(CONFIG_SYSC_R8A77990) += r8a77990-sysc.o obj-$(CONFIG_SYSC_R8A77995) += r8a77995-sysc.o ifdef CONFIG_SMP obj-$(CONFIG_ARCH_R9A06G032) += r9a06g032-smp.o endif # Family obj-$(CONFIG_RST_RCAR) += rcar-rst.o obj-$(CONFIG_SYSC_RCAR) += rcar-sysc.o obj-$(CONFIG_SYSC_RMOBILE) += rmobile-sysc.o soc/mediatek/Kconfig 0000644 00000002404 14722053666 0010431 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MediaTek SoC drivers # menu "MediaTek SoC drivers" depends on ARCH_MEDIATEK || COMPILE_TEST config MTK_CMDQ tristate "MediaTek CMDQ Support" depends on ARCH_MEDIATEK || COMPILE_TEST select MAILBOX select MTK_CMDQ_MBOX select MTK_INFRACFG help Say yes here to add support for the MediaTek Command Queue (CMDQ) driver. The CMDQ is used to help read/write registers with critical time limitation, such as updating display configuration during the vblank. config MTK_INFRACFG bool "MediaTek INFRACFG Support" select REGMAP help Say yes here to add support for the MediaTek INFRACFG controller. The INFRACFG controller contains various infrastructure registers not directly associated to any device. config MTK_PMIC_WRAP tristate "MediaTek PMIC Wrapper Support" depends on RESET_CONTROLLER select REGMAP help Say yes here to add support for MediaTek PMIC Wrapper found on different MediaTek SoCs. The PMIC wrapper is a proprietary hardware to connect the PMIC. config MTK_SCPSYS bool "MediaTek SCPSYS Support" default ARCH_MEDIATEK select REGMAP select MTK_INFRACFG select PM_GENERIC_DOMAINS if PM help Say yes here to add support for the MediaTek SCPSYS power domain driver. endmenu soc/mediatek/Makefile 0000644 00000000331 14722053666 0010563 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MTK_CMDQ) += mtk-cmdq-helper.o obj-$(CONFIG_MTK_INFRACFG) += mtk-infracfg.o obj-$(CONFIG_MTK_PMIC_WRAP) += mtk-pmic-wrap.o obj-$(CONFIG_MTK_SCPSYS) += mtk-scpsys.o soc/rockchip/Kconfig 0000644 00000001705 14722053666 0010453 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if ARCH_ROCKCHIP || COMPILE_TEST # # Rockchip Soc drivers # config ROCKCHIP_GRF bool "Rockchip General Register Files support" if COMPILE_TEST default y if ARCH_ROCKCHIP help The General Register Files are a central component providing special additional settings registers for a lot of soc-components. In a lot of cases there also need to be default settings initialized to make some of them conform to expectations of the kernel. config ROCKCHIP_PM_DOMAINS bool "Rockchip generic power domain" depends on PM select PM_GENERIC_DOMAINS help Say y here to enable power domain support. In order to meet high performance and low power requirements, a power management unit is designed or saving power when RK3288 in low power mode. The RK3288 PMU is dedicated for managing the power of the whole chip. If unsure, say N. endif soc/rockchip/Makefile 0000644 00000000231 14722053666 0010601 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Rockchip Soc drivers # obj-$(CONFIG_ROCKCHIP_GRF) += grf.o obj-$(CONFIG_ROCKCHIP_PM_DOMAINS) += pm_domains.o soc/samsung/Kconfig 0000644 00000001422 14722053666 0010322 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # SAMSUNG SoC drivers # menuconfig SOC_SAMSUNG bool "Samsung SoC driver support" if COMPILE_TEST if SOC_SAMSUNG config EXYNOS_CHIPID bool "Exynos Chipid controller driver" if COMPILE_TEST depends on ARCH_EXYNOS || COMPILE_TEST select MFD_SYSCON select SOC_BUS config EXYNOS_PMU bool "Exynos PMU controller driver" if COMPILE_TEST depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST) select EXYNOS_PMU_ARM_DRIVERS if ARM && ARCH_EXYNOS # There is no need to enable these drivers for ARMv8 config EXYNOS_PMU_ARM_DRIVERS bool "Exynos PMU ARMv7-specific driver extensions" if COMPILE_TEST depends on EXYNOS_PMU config EXYNOS_PM_DOMAINS bool "Exynos PM domains" if COMPILE_TEST depends on PM_GENERIC_DOMAINS || COMPILE_TEST endif soc/samsung/Makefile 0000644 00000000435 14722053666 0010462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_EXYNOS_CHIPID) += exynos-chipid.o obj-$(CONFIG_EXYNOS_PMU) += exynos-pmu.o obj-$(CONFIG_EXYNOS_PMU_ARM_DRIVERS) += exynos3250-pmu.o exynos4-pmu.o \ exynos5250-pmu.o exynos5420-pmu.o obj-$(CONFIG_EXYNOS_PM_DOMAINS) += pm_domains.o soc/versatile/Kconfig 0000644 00000001135 14722053666 0010644 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ARM Versatile SoC drivers # config SOC_INTEGRATOR_CM bool "SoC bus device for the ARM Integrator platform core modules" depends on ARCH_INTEGRATOR select SOC_BUS help Include support for the SoC bus on the ARM Integrator platform core modules providing some sysfs information about the ASIC variant. config SOC_REALVIEW bool "SoC bus device for the ARM RealView platforms" depends on ARCH_REALVIEW select SOC_BUS help Include support for the SoC bus on the ARM RealView platforms providing some sysfs information about the ASIC variant. soc/versatile/Makefile 0000644 00000000211 14722053666 0010773 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SOC_INTEGRATOR_CM) += soc-integrator.o obj-$(CONFIG_SOC_REALVIEW) += soc-realview.o thermal/broadcom/Kconfig 0000644 00000002150 14722053666 0011302 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config BCM2835_THERMAL tristate "Thermal sensors on bcm2835 SoC" depends on ARCH_BCM2835 || COMPILE_TEST depends on HAS_IOMEM depends on THERMAL_OF help Support for thermal sensors on Broadcom bcm2835 SoCs. config BRCMSTB_THERMAL tristate "Broadcom STB AVS TMON thermal driver" depends on ARCH_BRCMSTB || COMPILE_TEST help Enable this driver if you have a Broadcom STB SoC and would like thermal framework support. config BCM_NS_THERMAL tristate "Northstar thermal driver" depends on ARCH_BCM_IPROC || COMPILE_TEST default y if ARCH_BCM_IPROC help Support for the Northstar and Northstar Plus family of SoCs (e.g. BCM4708, BCM4709, BCM5301x, BCM95852X, etc). It contains DMU (Device Management Unit) block with a thermal sensor that allows checking CPU temperature. config BCM_SR_THERMAL tristate "Stingray thermal driver" depends on ARCH_BCM_IPROC || COMPILE_TEST default ARCH_BCM_IPROC help Support for the Stingray family of SoCs. Its different blocks like iHost, CRMU and NITRO has thermal sensor that allows checking its temperature. thermal/broadcom/Makefile 0000644 00000000354 14722053666 0011443 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_BCM2835_THERMAL) += bcm2835_thermal.o obj-$(CONFIG_BRCMSTB_THERMAL) += brcmstb_thermal.o obj-$(CONFIG_BCM_NS_THERMAL) += ns-thermal.o obj-$(CONFIG_BCM_SR_THERMAL) += sr-thermal.o thermal/Kconfig 0000644 00000032550 14722053666 0007523 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Generic thermal sysfs drivers configuration # menuconfig THERMAL bool "Generic Thermal sysfs driver" help Generic Thermal Sysfs driver offers a generic mechanism for thermal management. Usually it's made up of one or more thermal zone and cooling device. Each thermal zone contains its own temperature, trip points, cooling devices. All platforms with ACPI thermal support can use this driver. If you want this support, you should say Y here. if THERMAL config THERMAL_STATISTICS bool "Thermal state transition statistics" help Export thermal state transition statistics information through sysfs. If in doubt, say N. config THERMAL_EMERGENCY_POWEROFF_DELAY_MS int "Emergency poweroff delay in milli-seconds" default 0 help Thermal subsystem will issue a graceful shutdown when critical temperatures are reached using orderly_poweroff(). In case of failure of an orderly_poweroff(), the thermal emergency poweroff kicks in after a delay has elapsed and shuts down the system. This config is number of milliseconds to delay before emergency poweroff kicks in. Similarly to the critical trip point, the delay should be carefully profiled so as to give adequate time for orderly_poweroff() to finish on regular execution. If set to 0 emergency poweroff will not be supported. In doubt, leave as 0. config THERMAL_HWMON bool prompt "Expose thermal sensors as hwmon device" depends on HWMON=y || HWMON=THERMAL default y help In case a sensor is registered with the thermal framework, this option will also register it as a hwmon. The sensor will then have the common hwmon sysfs interface. Say 'Y' here if you want all thermal sensors to have hwmon sysfs interface too. config THERMAL_OF bool prompt "APIs to parse thermal data out of device tree" depends on OF default y help This options provides helpers to add the support to read and parse thermal data definitions out of the device tree blob. Say 'Y' here if you need to build thermal infrastructure based on device tree. config THERMAL_WRITABLE_TRIPS bool "Enable writable trip points" help This option allows the system integrator to choose whether trip temperatures can be changed from userspace. The writable trips need to be specified when setting up the thermal zone but the choice here takes precedence. Say 'Y' here if you would like to allow userspace tools to change trip temperatures. choice prompt "Default Thermal governor" default THERMAL_DEFAULT_GOV_STEP_WISE help This option sets which thermal governor shall be loaded at startup. If in doubt, select 'step_wise'. config THERMAL_DEFAULT_GOV_STEP_WISE bool "step_wise" select THERMAL_GOV_STEP_WISE help Use the step_wise governor as default. This throttles the devices one step at a time. config THERMAL_DEFAULT_GOV_FAIR_SHARE bool "fair_share" select THERMAL_GOV_FAIR_SHARE help Use the fair_share governor as default. This throttles the devices based on their 'contribution' to a zone. The contribution should be provided through platform data. config THERMAL_DEFAULT_GOV_USER_SPACE bool "user_space" select THERMAL_GOV_USER_SPACE help Select this if you want to let the user space manage the platform thermals. config THERMAL_DEFAULT_GOV_POWER_ALLOCATOR bool "power_allocator" select THERMAL_GOV_POWER_ALLOCATOR help Select this if you want to control temperature based on system and device power allocation. This governor can only operate on cooling devices that implement the power API. endchoice config THERMAL_GOV_FAIR_SHARE bool "Fair-share thermal governor" help Enable this to manage platform thermals using fair-share governor. config THERMAL_GOV_STEP_WISE bool "Step_wise thermal governor" help Enable this to manage platform thermals using a simple linear governor. config THERMAL_GOV_BANG_BANG bool "Bang Bang thermal governor" default n help Enable this to manage platform thermals using bang bang governor. Say 'Y' here if you want to use two point temperature regulation used for fans without throttling. Some fan drivers depend on this governor to be enabled (e.g. acerhdf). config THERMAL_GOV_USER_SPACE bool "User_space thermal governor" help Enable this to let the user space manage the platform thermals. config THERMAL_GOV_POWER_ALLOCATOR bool "Power allocator thermal governor" help Enable this to manage platform thermals by dynamically allocating and limiting power to devices. config CPU_THERMAL bool "Generic cpu cooling support" depends on CPU_FREQ depends on THERMAL_OF help This implements the generic cpu cooling mechanism through frequency reduction. An ACPI version of this already exists (drivers/acpi/processor_thermal.c). This will be useful for platforms using the generic thermal interface and not the ACPI interface. If you want this support, you should say Y here. config CLOCK_THERMAL bool "Generic clock cooling support" depends on COMMON_CLK depends on PM_OPP help This entry implements the generic clock cooling mechanism through frequency clipping. Typically used to cool off co-processors. The device that is configured to use this cooling mechanism will be controlled to reduce clock frequency whenever temperature is high. config DEVFREQ_THERMAL bool "Generic device cooling support" depends on PM_DEVFREQ depends on PM_OPP help This implements the generic devfreq cooling mechanism through frequency reduction for devices using devfreq. This will throttle the device by limiting the maximum allowed DVFS frequency corresponding to the cooling level. In order to use the power extensions of the cooling device, devfreq should use the simple_ondemand governor. If you want this support, you should say Y here. config THERMAL_EMULATION bool "Thermal emulation mode support" help Enable this option to make a emul_temp sysfs node in thermal zone directory to support temperature emulation. With emulation sysfs node, user can manually input temperature and test the different trip threshold behaviour for simulation purpose. WARNING: Be careful while enabling this option on production systems, because userland can easily disable the thermal policy by simply flooding this sysfs node with low temperature values. config THERMAL_MMIO tristate "Generic Thermal MMIO driver" depends on OF || COMPILE_TEST depends on HAS_IOMEM help This option enables the generic thermal MMIO driver that will use memory-mapped reads to get the temperature. Any HW/System that allows temperature reading by a single memory-mapped reading, be it register or shared memory, is a potential candidate to work with this driver. config HISI_THERMAL tristate "Hisilicon thermal driver" depends on ARCH_HISI || COMPILE_TEST depends on HAS_IOMEM depends on OF default y help Enable this to plug hisilicon's thermal sensor driver into the Linux thermal framework. cpufreq is used as the cooling device to throttle CPUs when the passive trip is crossed. config IMX_THERMAL tristate "Temperature sensor driver for Freescale i.MX SoCs" depends on ARCH_MXC || COMPILE_TEST depends on NVMEM || !NVMEM depends on MFD_SYSCON depends on OF help Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs. It supports one critical trip point and one passive trip point. The cpufreq is used as the cooling device to throttle CPUs when the passive trip is crossed. config MAX77620_THERMAL tristate "Temperature sensor driver for Maxim MAX77620 PMIC" depends on MFD_MAX77620 depends on OF help Support for die junction temperature warning alarm for Maxim Semiconductor PMIC MAX77620 device. Device generates two alarm interrupts when PMIC die temperature cross the threshold of 120 degC and 140 degC. config QORIQ_THERMAL tristate "QorIQ Thermal Monitoring Unit" depends on THERMAL_OF depends on HAS_IOMEM help Support for Thermal Monitoring Unit (TMU) found on QorIQ platforms. It supports one critical trip point and one passive trip point. The cpufreq is used as the cooling device to throttle CPUs when the passive trip is crossed. config SPEAR_THERMAL tristate "SPEAr thermal sensor driver" depends on PLAT_SPEAR || COMPILE_TEST depends on HAS_IOMEM depends on OF help Enable this to plug the SPEAr thermal sensor driver into the Linux thermal framework. config ROCKCHIP_THERMAL tristate "Rockchip thermal driver" depends on ARCH_ROCKCHIP || COMPILE_TEST depends on RESET_CONTROLLER depends on HAS_IOMEM help Rockchip thermal driver provides support for Temperature sensor ADC (TS-ADC) found on Rockchip SoCs. It supports one critical trip point. Cpufreq is used as the cooling device and will throttle CPUs when the Temperature crosses the passive trip point. config RCAR_THERMAL tristate "Renesas R-Car thermal driver" depends on ARCH_RENESAS || COMPILE_TEST depends on HAS_IOMEM help Enable this to plug the R-Car thermal sensor driver into the Linux thermal framework. config RCAR_GEN3_THERMAL tristate "Renesas R-Car Gen3 thermal driver" depends on ARCH_RENESAS || COMPILE_TEST depends on HAS_IOMEM depends on OF help Enable this to plug the R-Car Gen3 thermal sensor driver into the Linux thermal framework. config KIRKWOOD_THERMAL tristate "Temperature sensor on Marvell Kirkwood SoCs" depends on MACH_KIRKWOOD || COMPILE_TEST depends on HAS_IOMEM depends on OF help Support for the Kirkwood thermal sensor driver into the Linux thermal framework. Only kirkwood 88F6282 and 88F6283 have this sensor. config DOVE_THERMAL tristate "Temperature sensor on Marvell Dove SoCs" depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST depends on HAS_IOMEM depends on OF help Support for the Dove thermal sensor driver in the Linux thermal framework. config DB8500_THERMAL tristate "DB8500 thermal management" depends on MFD_DB8500_PRCMU && OF default y help Adds DB8500 thermal management implementation according to the thermal management framework. A thermal zone with several trip points will be created. Cooling devices can be bound to the trip points to cool this thermal zone if trip points reached. config ARMADA_THERMAL tristate "Marvell EBU Armada SoCs thermal management" depends on ARCH_MVEBU || COMPILE_TEST depends on HAS_IOMEM depends on OF help Enable this option if you want to have support for thermal management controller present in Marvell EBU Armada SoCs (370,375,XP,38x,7K,8K). config DA9062_THERMAL tristate "DA9062/DA9061 Dialog Semiconductor thermal driver" depends on MFD_DA9062 || COMPILE_TEST depends on OF help Enable this for the Dialog Semiconductor thermal sensor driver. This will report PMIC junction over-temperature for one thermal trip zone. Compatible with the DA9062 and DA9061 PMICs. config MTK_THERMAL tristate "Temperature sensor driver for mediatek SoCs" depends on ARCH_MEDIATEK || COMPILE_TEST depends on HAS_IOMEM depends on NVMEM || NVMEM=n depends on RESET_CONTROLLER default y help Enable this option if you want to have support for thermal management controller present in Mediatek SoCs menu "Intel thermal drivers" depends on X86 || X86_INTEL_QUARK || COMPILE_TEST source "drivers/thermal/intel/Kconfig" endmenu menu "Broadcom thermal drivers" depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \ COMPILE_TEST source "drivers/thermal/broadcom/Kconfig" endmenu menu "Texas Instruments thermal drivers" depends on ARCH_HAS_BANDGAP || COMPILE_TEST depends on HAS_IOMEM source "drivers/thermal/ti-soc-thermal/Kconfig" endmenu menu "Samsung thermal drivers" depends on ARCH_EXYNOS || COMPILE_TEST source "drivers/thermal/samsung/Kconfig" endmenu menu "STMicroelectronics thermal drivers" depends on (ARCH_STI || ARCH_STM32) && OF source "drivers/thermal/st/Kconfig" endmenu config TANGO_THERMAL tristate "Tango thermal management" depends on ARCH_TANGO || COMPILE_TEST help Enable the Tango thermal driver, which supports the primitive temperature sensor embedded in Tango chips since the SMP8758. This sensor only generates a 1-bit signal to indicate whether the die temperature exceeds a programmable threshold. source "drivers/thermal/tegra/Kconfig" config GENERIC_ADC_THERMAL tristate "Generic ADC based thermal sensor" depends on IIO help This enabled a thermal sysfs driver for the temperature sensor which is connected to the General Purpose ADC. The ADC channel is read via IIO framework and the channel information is provided to this driver. This driver reports the temperature by reading ADC channel and converts it to temperature based on lookup table. menu "Qualcomm thermal drivers" depends on (ARCH_QCOM && OF) || COMPILE_TEST source "drivers/thermal/qcom/Kconfig" endmenu config ZX2967_THERMAL tristate "Thermal sensors on zx2967 SoC" depends on ARCH_ZX || COMPILE_TEST help Enable the zx2967 thermal sensors driver, which supports the primitive temperature sensor embedded in zx2967 SoCs. This sensor generates the real time die temperature. config UNIPHIER_THERMAL tristate "Socionext UniPhier thermal driver" depends on ARCH_UNIPHIER || COMPILE_TEST depends on THERMAL_OF && MFD_SYSCON help Enable this to plug in UniPhier on-chip PVT thermal driver into the thermal framework. The driver supports CPU thermal zone temperature reporting and a couple of trip points. endif thermal/st/Kconfig 0000644 00000001610 14722053666 0010142 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # STMicroelectronics thermal drivers configuration # config ST_THERMAL tristate "Thermal sensors on STMicroelectronics STi series of SoCs" help Support for thermal sensors on STMicroelectronics STi series of SoCs. config ST_THERMAL_SYSCFG select ST_THERMAL tristate "STi series syscfg register access based thermal sensors" config ST_THERMAL_MEMMAP select ST_THERMAL tristate "STi series memory mapped access based thermal sensors" config STM32_THERMAL tristate "Thermal framework support on STMicroelectronics STM32 series of SoCs" depends on MACH_STM32MP157 default y help Support for thermal framework on STMicroelectronics STM32 series of SoCs. This thermal driver allows to access to general thermal framework functionalities and to acces to SoC sensor functionalities. This configuration is fully dependent of MACH_STM32MP157. thermal/st/Makefile 0000644 00000000360 14722053666 0010300 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ST_THERMAL) := st_thermal.o obj-$(CONFIG_ST_THERMAL_SYSCFG) += st_thermal_syscfg.o obj-$(CONFIG_ST_THERMAL_MEMMAP) += st_thermal_memmap.o obj-$(CONFIG_STM32_THERMAL) += stm_thermal.o thermal/ti-soc-thermal/Kconfig 0000644 00000004400 14722053666 0012344 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config TI_SOC_THERMAL tristate "Texas Instruments SoCs temperature sensor driver" help If you say yes here you get support for the Texas Instruments OMAP4460+ on die bandgap temperature sensor support. The register set is part of system control module. This includes alert interrupts generation and also the TSHUT support. config TI_THERMAL bool "Texas Instruments SoCs thermal framework support" depends on TI_SOC_THERMAL help If you say yes here you want to get support for generic thermal framework for the Texas Instruments on die bandgap temperature sensor. This includes trip points definitions, extrapolation rules and CPU cooling device bindings. config OMAP3_THERMAL bool "Texas Instruments OMAP3 thermal support" depends on TI_SOC_THERMAL depends on ARCH_OMAP3 || COMPILE_TEST help If you say yes here you get thermal support for the Texas Instruments OMAP3 SoC family. The current chips supported are: - OMAP3430 OMAP3 chips normally don't need thermal management, and sensors in this generation are not accurate, nor they are very close to the important hotspots. Say 'N' here. config OMAP4_THERMAL bool "Texas Instruments OMAP4 thermal support" depends on TI_SOC_THERMAL depends on ARCH_OMAP4 || COMPILE_TEST help If you say yes here you get thermal support for the Texas Instruments OMAP4 SoC family. The current chip supported are: - OMAP4430 - OMAP4460 - OMAP4470 This includes alert interrupts generation and also the TSHUT support. config OMAP5_THERMAL bool "Texas Instruments OMAP5 thermal support" depends on TI_SOC_THERMAL depends on SOC_OMAP5 || COMPILE_TEST help If you say yes here you get thermal support for the Texas Instruments OMAP5 SoC family. The current chip supported are: - OMAP5430 This includes alert interrupts generation and also the TSHUT support. config DRA752_THERMAL bool "Texas Instruments DRA752 thermal support" depends on TI_SOC_THERMAL depends on SOC_DRA7XX || COMPILE_TEST help If you say yes here you get thermal support for the Texas Instruments DRA752 SoC family. The current chip supported are: - DRA752 This includes alert interrupts generation and also the TSHUT support. thermal/ti-soc-thermal/Makefile 0000644 00000000661 14722053666 0012506 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TI_SOC_THERMAL) += ti-soc-thermal.o ti-soc-thermal-y := ti-bandgap.o ti-soc-thermal-$(CONFIG_TI_THERMAL) += ti-thermal-common.o ti-soc-thermal-$(CONFIG_DRA752_THERMAL) += dra752-thermal-data.o ti-soc-thermal-$(CONFIG_OMAP3_THERMAL) += omap3-thermal-data.o ti-soc-thermal-$(CONFIG_OMAP4_THERMAL) += omap4-thermal-data.o ti-soc-thermal-$(CONFIG_OMAP5_THERMAL) += omap5-thermal-data.o thermal/qcom/Kconfig 0000644 00000001731 14722053666 0010457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config QCOM_TSENS tristate "Qualcomm TSENS Temperature Alarm" depends on QCOM_QFPROM depends on ARCH_QCOM || COMPILE_TEST help This enables the thermal sysfs driver for the TSENS device. It shows up in Sysfs as a thermal zone with multiple trip points. Disabling the thermal zone device via the mode file results in disabling the sensor. Also able to set threshold temperature for both hot and cold and update when a threshold is reached. config QCOM_SPMI_TEMP_ALARM tristate "Qualcomm SPMI PMIC Temperature Alarm" depends on OF && SPMI && IIO select REGMAP_SPMI help This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP) PMIC devices. It shows up in sysfs as a thermal sensor with multiple trip points. The temperature reported by the thermal sensor reflects the real time die temperature if an ADC is present or an estimate of the temperature based upon the over temperature stage value. thermal/qcom/Makefile 0000644 00000000361 14722053666 0010612 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_QCOM_TSENS) += qcom_tsens.o qcom_tsens-y += tsens.o tsens-common.o tsens-v0_1.o \ tsens-8960.o tsens-v2.o tsens-v1.o obj-$(CONFIG_QCOM_SPMI_TEMP_ALARM) += qcom-spmi-temp-alarm.o thermal/tegra/Kconfig 0000644 00000001402 14722053666 0010615 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "NVIDIA Tegra thermal drivers" depends on ARCH_TEGRA config TEGRA_SOCTHERM tristate "Tegra SOCTHERM thermal management" help Enable this option for integrated thermal management support on NVIDIA Tegra systems-on-chip. The driver supports four thermal zones (CPU, GPU, MEM, PLLX). Cooling devices can be bound to the thermal zones to manage temperatures. This option is also required for the emergency thermal reset (thermtrip) feature to function. config TEGRA_BPMP_THERMAL tristate "Tegra BPMP thermal sensing" depends on TEGRA_BPMP || COMPILE_TEST help Enable this option for support for sensing system temperature of NVIDIA Tegra systems-on-chip with the BPMP coprocessor (Tegra186). endmenu thermal/tegra/Makefile 0000644 00000000612 14722053666 0010754 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TEGRA_SOCTHERM) += tegra-soctherm.o obj-$(CONFIG_TEGRA_BPMP_THERMAL) += tegra-bpmp-thermal.o tegra-soctherm-y := soctherm.o soctherm-fuse.o tegra-soctherm-$(CONFIG_ARCH_TEGRA_124_SOC) += tegra124-soctherm.o tegra-soctherm-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-soctherm.o tegra-soctherm-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-soctherm.o thermal/intel/Kconfig 0000644 00000006003 14722053666 0010630 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INTEL_POWERCLAMP tristate "Intel PowerClamp idle injection driver" depends on X86 depends on CPU_SUP_INTEL help Enable this to enable Intel PowerClamp idle injection driver. This enforce idle time which results in more package C-state residency. The user interface is exposed via generic thermal framework. config X86_PKG_TEMP_THERMAL tristate "X86 package temperature thermal driver" depends on X86_THERMAL_VECTOR select THERMAL_GOV_USER_SPACE select THERMAL_WRITABLE_TRIPS default m help Enable this to register CPU digital sensor for package temperature as thermal zone. Each package will have its own thermal zone. There are two trip points which can be set by user to get notifications via thermal notification methods. config INTEL_SOC_DTS_IOSF_CORE tristate depends on X86 && PCI select IOSF_MBI help This is becoming a common feature for Intel SoCs to expose the additional digital temperature sensors (DTSs) using side band interface (IOSF). This implements the common set of helper functions to register, get temperature and get/set thresholds on DTSs. config INTEL_SOC_DTS_THERMAL tristate "Intel SoCs DTS thermal driver" depends on X86 && PCI && ACPI select INTEL_SOC_DTS_IOSF_CORE select THERMAL_WRITABLE_TRIPS help Enable this to register Intel SoCs (e.g. Bay Trail) platform digital temperature sensor (DTS). These SoCs have two additional DTSs in addition to DTSs on CPU cores. Each DTS will be registered as a thermal zone. There are two trip points. One of the trip point can be set by user mode programs to get notifications via Linux thermal notification methods.The other trip is a critical trip point, which was set by the driver based on the TJ MAX temperature. config INTEL_QUARK_DTS_THERMAL tristate "Intel Quark DTS thermal driver" depends on X86_INTEL_QUARK help Enable this to register Intel Quark SoC (e.g. X1000) platform digital temperature sensor (DTS). For X1000 SoC, it has one on-die DTS. The DTS will be registered as a thermal zone. There are two trip points: hot & critical. The critical trip point default value is set by underlying BIOS/Firmware. menu "ACPI INT340X thermal drivers" source "drivers/thermal/intel/int340x_thermal/Kconfig" endmenu config INTEL_BXT_PMIC_THERMAL tristate "Intel Broxton PMIC thermal driver" depends on X86 && INTEL_SOC_PMIC_BXTWC select REGMAP help Select this driver for Intel Broxton PMIC with ADC channels monitoring system temperature measurements and alerts. This driver is used for monitoring the ADC channels of PMIC and handles the alert trip point interrupts and notifies the thermal framework with the trip point and temperature details of the zone. config INTEL_PCH_THERMAL tristate "Intel PCH Thermal Reporting Driver" depends on X86 && PCI help Enable this to support thermal reporting on certain intel PCHs. Thermal reporting device will provide temperature reading, programmable trip points and other information. thermal/intel/Makefile 0000644 00000001061 14722053666 0010764 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for various Intel thermal drivers. obj-$(CONFIG_INTEL_POWERCLAMP) += intel_powerclamp.o obj-$(CONFIG_X86_PKG_TEMP_THERMAL) += x86_pkg_temp_thermal.o obj-$(CONFIG_INTEL_SOC_DTS_IOSF_CORE) += intel_soc_dts_iosf.o obj-$(CONFIG_INTEL_SOC_DTS_THERMAL) += intel_soc_dts_thermal.o obj-$(CONFIG_INTEL_QUARK_DTS_THERMAL) += intel_quark_dts_thermal.o obj-$(CONFIG_INT340X_THERMAL) += int340x_thermal/ obj-$(CONFIG_INTEL_BXT_PMIC_THERMAL) += intel_bxt_pmic_thermal.o obj-$(CONFIG_INTEL_PCH_THERMAL) += intel_pch_thermal.o thermal/intel/int340x_thermal/Kconfig 0000644 00000003166 14722053666 0013564 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ACPI INT340x thermal drivers configuration # config INT340X_THERMAL tristate "ACPI INT340X thermal drivers" depends on X86 && ACPI && PCI select THERMAL_GOV_USER_SPACE select ACPI_THERMAL_REL select ACPI_FAN select INTEL_SOC_DTS_IOSF_CORE help Newer laptops and tablets that use ACPI may have thermal sensors and other devices with thermal control capabilities outside the core CPU/SOC, for thermal safety reasons. They are exposed for the OS to use via the INT3400 ACPI device object as the master, and INT3401~INT340B ACPI device objects as the slaves. Enable this to expose the temperature information and cooling ability from these objects to userspace via the normal thermal framework. This means that a wide range of applications and GUI widgets can show the information to the user or use this information for making decisions. For example, the Intel Thermal Daemon can use this information to allow the user to select his laptop to run without turning on the fans. config ACPI_THERMAL_REL tristate depends on ACPI if INT340X_THERMAL config INT3406_THERMAL tristate "ACPI INT3406 display thermal driver" depends on ACPI_VIDEO help The display thermal device represents the LED/LCD display panel that may or may not include touch support. The main function of the display thermal device is to allow control of the display brightness in order to address a thermal condition or to reduce power consumed by display device. config PROC_THERMAL_MMIO_RAPL bool depends on 64BIT depends on POWERCAP select INTEL_RAPL_CORE default y endif thermal/intel/int340x_thermal/Makefile 0000644 00000000630 14722053666 0013712 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_INT340X_THERMAL) += int3400_thermal.o obj-$(CONFIG_INT340X_THERMAL) += int340x_thermal_zone.o obj-$(CONFIG_INT340X_THERMAL) += int3402_thermal.o obj-$(CONFIG_INT340X_THERMAL) += int3403_thermal.o obj-$(CONFIG_INT340X_THERMAL) += processor_thermal_device.o obj-$(CONFIG_INT3406_THERMAL) += int3406_thermal.o obj-$(CONFIG_ACPI_THERMAL_REL) += acpi_thermal_rel.o thermal/Makefile 0000644 00000003771 14722053666 0007663 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for sensor chip drivers. # obj-$(CONFIG_THERMAL) += thermal_sys.o thermal_sys-y += thermal_core.o thermal_sysfs.o \ thermal_helpers.o # interface to/from other layers providing sensors thermal_sys-$(CONFIG_THERMAL_HWMON) += thermal_hwmon.o thermal_sys-$(CONFIG_THERMAL_OF) += of-thermal.o # governors thermal_sys-$(CONFIG_THERMAL_GOV_FAIR_SHARE) += fair_share.o thermal_sys-$(CONFIG_THERMAL_GOV_BANG_BANG) += gov_bang_bang.o thermal_sys-$(CONFIG_THERMAL_GOV_STEP_WISE) += step_wise.o thermal_sys-$(CONFIG_THERMAL_GOV_USER_SPACE) += user_space.o thermal_sys-$(CONFIG_THERMAL_GOV_POWER_ALLOCATOR) += power_allocator.o # cpufreq cooling thermal_sys-$(CONFIG_CPU_THERMAL) += cpu_cooling.o # clock cooling thermal_sys-$(CONFIG_CLOCK_THERMAL) += clock_cooling.o # devfreq cooling thermal_sys-$(CONFIG_DEVFREQ_THERMAL) += devfreq_cooling.o # platform thermal drivers obj-y += broadcom/ obj-$(CONFIG_THERMAL_MMIO) += thermal_mmio.o obj-$(CONFIG_SPEAR_THERMAL) += spear_thermal.o obj-$(CONFIG_ROCKCHIP_THERMAL) += rockchip_thermal.o obj-$(CONFIG_RCAR_THERMAL) += rcar_thermal.o obj-$(CONFIG_RCAR_GEN3_THERMAL) += rcar_gen3_thermal.o obj-$(CONFIG_KIRKWOOD_THERMAL) += kirkwood_thermal.o obj-y += samsung/ obj-$(CONFIG_DOVE_THERMAL) += dove_thermal.o obj-$(CONFIG_DB8500_THERMAL) += db8500_thermal.o obj-$(CONFIG_ARMADA_THERMAL) += armada_thermal.o obj-$(CONFIG_TANGO_THERMAL) += tango_thermal.o obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o obj-$(CONFIG_MAX77620_THERMAL) += max77620_thermal.o obj-$(CONFIG_QORIQ_THERMAL) += qoriq_thermal.o obj-$(CONFIG_DA9062_THERMAL) += da9062-thermal.o obj-y += intel/ obj-$(CONFIG_TI_SOC_THERMAL) += ti-soc-thermal/ obj-y += st/ obj-$(CONFIG_QCOM_TSENS) += qcom/ obj-y += tegra/ obj-$(CONFIG_HISI_THERMAL) += hisi_thermal.o obj-$(CONFIG_MTK_THERMAL) += mtk_thermal.o obj-$(CONFIG_GENERIC_ADC_THERMAL) += thermal-generic-adc.o obj-$(CONFIG_ZX2967_THERMAL) += zx2967_thermal.o obj-$(CONFIG_UNIPHIER_THERMAL) += uniphier_thermal.o thermal/samsung/Kconfig 0000644 00000000744 14722053666 0011200 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config EXYNOS_THERMAL tristate "Exynos thermal management unit driver" depends on THERMAL_OF depends on HAS_IOMEM help If you say yes here you get support for the TMU (Thermal Management Unit) driver for SAMSUNG EXYNOS series of SoCs. This driver initialises the TMU, reports temperature and handles cooling action if defined. This driver uses the Exynos core thermal APIs and TMU configuration data from the supported SoCs. thermal/samsung/Makefile 0000644 00000000247 14722053666 0011333 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Samsung thermal specific Makefile # obj-$(CONFIG_EXYNOS_THERMAL) += exynos_thermal.o exynos_thermal-y := exynos_tmu.o virtio/Kconfig 0000644 00000005450 14722053666 0007402 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIRTIO tristate ---help--- This option is selected by any driver which implements the virtio bus, such as CONFIG_VIRTIO_PCI, CONFIG_VIRTIO_MMIO, CONFIG_RPMSG or CONFIG_S390_GUEST. menuconfig VIRTIO_MENU bool "Virtio drivers" default y if VIRTIO_MENU config VIRTIO_PCI tristate "PCI driver for virtio devices" depends on PCI select VIRTIO ---help--- This driver provides support for virtio based paravirtual device drivers over PCI. This requires that your VMM has appropriate PCI virtio backends. Most QEMU based VMMs should support these devices (like KVM or Xen). If unsure, say M. config VIRTIO_PCI_LEGACY bool "Support for legacy virtio draft 0.9.X and older devices" default y depends on VIRTIO_PCI ---help--- Virtio PCI Card 0.9.X Draft (circa 2014) and older device support. This option enables building a transitional driver, supporting both devices conforming to Virtio 1 specification, and legacy devices. If disabled, you get a slightly smaller, non-transitional driver, with no legacy compatibility. So look out into your driveway. Do you have a flying car? If so, you can happily disable this option and virtio will not break. Otherwise, leave it set. Unless you're testing what life will be like in The Future. If unsure, say Y. config VIRTIO_PMEM tristate "Support for virtio pmem driver" depends on VIRTIO depends on LIBNVDIMM help This driver provides access to virtio-pmem devices, storage devices that are mapped into the physical address space - similar to NVDIMMs - with a virtio-based flushing interface. If unsure, say Y. config VIRTIO_BALLOON tristate "Virtio balloon driver" depends on VIRTIO select MEMORY_BALLOON ---help--- This driver supports increasing and decreasing the amount of memory within a KVM guest. If unsure, say M. config VIRTIO_INPUT tristate "Virtio input driver" depends on VIRTIO depends on INPUT ---help--- This driver supports virtio input devices such as keyboards, mice and tablets. If unsure, say M. config VIRTIO_MMIO tristate "Platform bus driver for memory mapped virtio devices" depends on HAS_IOMEM && HAS_DMA select VIRTIO ---help--- This drivers provides support for memory mapped virtio platform device driver. If unsure, say N. config VIRTIO_MMIO_CMDLINE_DEVICES bool "Memory mapped virtio devices parameter parsing" depends on VIRTIO_MMIO ---help--- Allow virtio-mmio devices instantiation via the kernel command line or module parameters. Be aware that using incorrect parameters (base address in particular) can crash your system - you have been warned. See Documentation/admin-guide/kernel-parameters.rst for details. If unsure, say 'N'. endif # VIRTIO_MENU virtio/Makefile 0000644 00000000572 14722053666 0007537 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIRTIO) += virtio.o virtio_ring.o obj-$(CONFIG_VIRTIO_MMIO) += virtio_mmio.o obj-$(CONFIG_VIRTIO_PCI) += virtio_pci.o virtio_pci-y := virtio_pci_modern.o virtio_pci_common.o virtio_pci-$(CONFIG_VIRTIO_PCI_LEGACY) += virtio_pci_legacy.o obj-$(CONFIG_VIRTIO_BALLOON) += virtio_balloon.o obj-$(CONFIG_VIRTIO_INPUT) += virtio_input.o rapidio/switches/Kconfig 0000644 00000001477 14722053666 0011353 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # RapidIO switches configuration # config RAPIDIO_TSI57X tristate "IDT Tsi57x SRIO switches support" ---help--- Includes support for IDT Tsi57x family of serial RapidIO switches. config RAPIDIO_CPS_XX tristate "IDT CPS-xx SRIO switches support" ---help--- Includes support for IDT CPS-16/12/10/8 serial RapidIO switches. config RAPIDIO_TSI568 tristate "Tsi568 SRIO switch support" default n ---help--- Includes support for IDT Tsi568 serial RapidIO switch. config RAPIDIO_CPS_GEN2 tristate "IDT CPS Gen.2 SRIO switch support" default n ---help--- Includes support for ITD CPS Gen.2 serial RapidIO switches. config RAPIDIO_RXS_GEN3 tristate "IDT RXS Gen.3 SRIO switch support" default n ---help--- Includes support for ITD RXS Gen.3 serial RapidIO switches. rapidio/switches/Makefile 0000644 00000000431 14722053666 0011475 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for RIO switches # obj-$(CONFIG_RAPIDIO_TSI57X) += tsi57x.o obj-$(CONFIG_RAPIDIO_CPS_XX) += idtcps.o obj-$(CONFIG_RAPIDIO_TSI568) += tsi568.o obj-$(CONFIG_RAPIDIO_CPS_GEN2) += idt_gen2.o obj-$(CONFIG_RAPIDIO_RXS_GEN3) += idt_gen3.o rapidio/Kconfig 0000644 00000006213 14722053666 0007513 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # RapidIO configuration # config HAVE_RAPIDIO bool menuconfig RAPIDIO tristate "RapidIO support" depends on HAVE_RAPIDIO || PCI help If you say Y here, the kernel will include drivers and infrastructure code to support RapidIO interconnect devices. source "drivers/rapidio/devices/Kconfig" config RAPIDIO_DISC_TIMEOUT int "Discovery timeout duration (seconds)" depends on RAPIDIO default "30" ---help--- Amount of time a discovery node waits for a host to complete enumeration before giving up. config RAPIDIO_ENABLE_RX_TX_PORTS bool "Enable RapidIO Input/Output Ports" depends on RAPIDIO ---help--- The RapidIO specification describes a Output port transmit enable and a Input port receive enable. The recommended state for Input ports and Output ports should be disabled. When this switch is set the RapidIO subsystem will enable all ports for Input/Output direction to allow other traffic than Maintenance transfers. config RAPIDIO_DMA_ENGINE bool "DMA Engine support for RapidIO" depends on RAPIDIO depends on DMADEVICES select DMA_ENGINE help Say Y here if you want to use DMA Engine frameork for RapidIO data transfers to/from target RIO devices. RapidIO uses NREAD and NWRITE (NWRITE_R, SWRITE) requests to transfer data between local memory and memory on remote target device. You need a DMA controller capable to perform data transfers to/from RapidIO. If you are unsure about this, say Y here. config RAPIDIO_DEBUG bool "RapidIO subsystem debug messages" depends on RAPIDIO help Say Y here if you want the RapidIO subsystem to produce a bunch of debug messages to the system log. Select this if you are having a problem with the RapidIO subsystem and want to see more of what is going on. If you are unsure about this, say N here. choice prompt "Enumeration method" depends on RAPIDIO default RAPIDIO_ENUM_BASIC help There are different enumeration and discovery mechanisms offered for RapidIO subsystem. You may select single built-in method or or any number of methods to be built as modules. Selecting a built-in method disables use of loadable methods. If unsure, select Basic built-in. config RAPIDIO_ENUM_BASIC tristate "Basic" help This option includes basic RapidIO fabric enumeration and discovery mechanism similar to one described in RapidIO specification Annex 1. endchoice config RAPIDIO_CHMAN tristate "RapidIO Channelized Messaging driver" depends on RAPIDIO help This option includes RapidIO channelized messaging driver which provides socket-like interface to allow sharing of single RapidIO messaging mailbox between multiple user-space applications. See "Documentation/driver-api/rapidio/rio_cm.rst" for driver description. config RAPIDIO_MPORT_CDEV tristate "RapidIO /dev mport device driver" depends on RAPIDIO help This option includes generic RapidIO mport device driver which allows to user space applications to perform RapidIO-specific operations through selected RapidIO mport. menu "RapidIO Switch drivers" depends on RAPIDIO source "drivers/rapidio/switches/Kconfig" endmenu rapidio/Makefile 0000644 00000000603 14722053666 0007645 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for RapidIO interconnect services # obj-$(CONFIG_RAPIDIO) += rapidio.o rapidio-y := rio.o rio-access.o rio-driver.o rio-sysfs.o obj-$(CONFIG_RAPIDIO_ENUM_BASIC) += rio-scan.o obj-$(CONFIG_RAPIDIO_CHMAN) += rio_cm.o obj-$(CONFIG_RAPIDIO) += switches/ obj-$(CONFIG_RAPIDIO) += devices/ subdir-ccflags-$(CONFIG_RAPIDIO_DEBUG) := -DDEBUG rapidio/devices/Kconfig 0000644 00000000447 14722053666 0011140 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # RapidIO master port configuration # config RAPIDIO_TSI721 tristate "IDT Tsi721 PCI Express SRIO Controller support" depends on RAPIDIO && PCIEPORTBUS default "n" ---help--- Include support for IDT Tsi721 PCI Express Serial RapidIO controller. rapidio/devices/Makefile 0000644 00000000407 14722053666 0011271 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for RapidIO devices # obj-$(CONFIG_RAPIDIO_TSI721) += tsi721_mport.o tsi721_mport-y := tsi721.o tsi721_mport-$(CONFIG_RAPIDIO_DMA_ENGINE) += tsi721_dma.o obj-$(CONFIG_RAPIDIO_MPORT_CDEV) += rio_mport_cdev.o input/mouse/Kconfig 0000644 00000031244 14722053666 0010355 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Mouse driver configuration # menuconfig INPUT_MOUSE bool "Mice" default y help Say Y here, and a list of supported mice will be displayed. This option doesn't affect the kernel. If unsure, say Y. if INPUT_MOUSE config MOUSE_PS2 tristate "PS/2 mouse" default y select SERIO select SERIO_LIBPS2 select SERIO_I8042 if ARCH_MIGHT_HAVE_PC_SERIO select SERIO_GSCPS2 if GSC help Say Y here if you have a PS/2 mouse connected to your system. This includes the standard 2 or 3-button PS/2 mouse, as well as PS/2 mice with wheels and extra buttons, Microsoft, Logitech or Genius compatible. Synaptics, ALPS or Elantech TouchPad users might be interested in a specialized Xorg/XFree86 driver at: <http://w1.894.telia.com/~u89404340/touchpad/index.html> and a new version of GPM at: <http://www.geocities.com/dt_or/gpm/gpm.html> <http://xorg.freedesktop.org/archive/individual/driver/> to take advantage of the advanced features of the touchpad. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called psmouse. config MOUSE_PS2_ALPS bool "ALPS PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have an ALPS PS/2 touchpad connected to your system. If unsure, say Y. config MOUSE_PS2_BYD bool "BYD PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have a BYD PS/2 touchpad connected to your system. If unsure, say Y. config MOUSE_PS2_LOGIPS2PP bool "Logitech PS/2++ mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have a Logitech PS/2++ mouse connected to your system. If unsure, say Y. config MOUSE_PS2_SYNAPTICS bool "Synaptics PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have a Synaptics PS/2 TouchPad connected to your system. If unsure, say Y. config MOUSE_PS2_SYNAPTICS_SMBUS bool "Synaptics PS/2 SMbus companion" if EXPERT default y depends on MOUSE_PS2 depends on I2C=y || I2C=MOUSE_PS2 select MOUSE_PS2_SMBUS help Say Y here if you have a Synaptics RMI4 touchpad connected to to an SMBus, but enumerated through PS/2. If unsure, say Y. config MOUSE_PS2_CYPRESS bool "Cypress PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have a Cypress PS/2 Trackpad connected to your system. If unsure, say Y. config MOUSE_PS2_LIFEBOOK bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 && X86 && DMI help Say Y here if you have a Fujitsu B-series Lifebook PS/2 TouchScreen connected to your system. If unsure, say Y. config MOUSE_PS2_TRACKPOINT bool "IBM Trackpoint PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have an IBM Trackpoint PS/2 mouse connected to your system. If unsure, say Y. config MOUSE_PS2_ELANTECH bool "Elantech PS/2 protocol extension" depends on MOUSE_PS2 help Say Y here if you have an Elantech PS/2 touchpad connected to your system. This driver exposes some configuration registers via sysfs entries. For further information, see <file:Documentation/input/devices/elantech.rst>. If unsure, say N. config MOUSE_PS2_ELANTECH_SMBUS bool "Elantech PS/2 SMbus companion" if EXPERT default y depends on MOUSE_PS2 && MOUSE_PS2_ELANTECH depends on I2C=y || I2C=MOUSE_PS2 select MOUSE_PS2_SMBUS help Say Y here if you have a Elantech touchpad connected to to an SMBus, but enumerated through PS/2. If unsure, say Y. config MOUSE_PS2_SENTELIC bool "Sentelic Finger Sensing Pad PS/2 protocol extension" depends on MOUSE_PS2 help Say Y here if you have a laptop (such as MSI WIND Netbook) with Sentelic Finger Sensing Pad touchpad. If unsure, say N. config MOUSE_PS2_TOUCHKIT bool "eGalax TouchKit PS/2 protocol extension" depends on MOUSE_PS2 help Say Y here if you have an eGalax TouchKit PS/2 touchscreen connected to your system. If unsure, say N. config MOUSE_PS2_OLPC bool "OLPC PS/2 mouse protocol extension" depends on MOUSE_PS2 && OLPC help Say Y here if you have an OLPC XO-1 laptop (with built-in PS/2 touchpad/tablet device). The manufacturer calls the touchpad an HGPK. If unsure, say N. config MOUSE_PS2_FOCALTECH bool "FocalTech PS/2 mouse protocol extension" if EXPERT default y depends on MOUSE_PS2 help Say Y here if you have a FocalTech PS/2 TouchPad connected to your system. If unsure, say Y. config MOUSE_PS2_VMMOUSE bool "Virtual mouse (vmmouse)" depends on MOUSE_PS2 && X86 && HYPERVISOR_GUEST help Say Y here if you are running under control of VMware hypervisor (ESXi, Workstation or Fusion). Also make sure that when you enable this option, you remove the xf86-input-vmmouse user-space driver or upgrade it to at least xf86-input-vmmouse 13.1.0, which doesn't load in the presence of an in-kernel vmmouse driver. If unsure, say N. config MOUSE_PS2_SMBUS bool depends on MOUSE_PS2 config MOUSE_SERIAL tristate "Serial mouse" select SERIO help Say Y here if you have a serial (RS-232, COM port) mouse connected to your system. This includes Sun, MouseSystems, Microsoft, Logitech and all other compatible serial mice. If unsure, say N. To compile this driver as a module, choose M here: the module will be called sermouse. config MOUSE_APPLETOUCH tristate "Apple USB Touchpad support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use an Apple USB Touchpad. These are the touchpads that can be found on post-February 2005 Apple Powerbooks (prior models have a Synaptics touchpad connected to the ADB bus). This driver provides a basic mouse driver but can be interfaced with the synaptics X11 driver to provide acceleration and scrolling in X11. For further information, see <file:Documentation/input/devices/appletouch.rst>. To compile this driver as a module, choose M here: the module will be called appletouch. config MOUSE_BCM5974 tristate "Apple USB BCM5974 Multitouch trackpad support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you have an Apple USB BCM5974 Multitouch trackpad. The BCM5974 is the multitouch trackpad found in the Macbook Air (JAN2008) and Macbook Pro Penryn (FEB2008) laptops. It is also found in the IPhone (2007) and Ipod Touch (2008). This driver provides multitouch functionality together with the synaptics X11 driver. The interface is currently identical to the appletouch interface, for further information, see <file:Documentation/input/devices/appletouch.rst>. To compile this driver as a module, choose M here: the module will be called bcm5974. config MOUSE_CYAPA tristate "Cypress APA I2C Trackpad support" depends on I2C select CRC_ITU_T help This driver adds support for Cypress All Points Addressable (APA) I2C Trackpads, including the ones used in 2012 Samsung Chromebooks. Say Y here if you have a Cypress APA I2C Trackpad. To compile this driver as a module, choose M here: the module will be called cyapa. config MOUSE_ELAN_I2C tristate "ELAN I2C Touchpad support" depends on I2C help This driver adds support for Elan I2C/SMbus Trackpads. Say Y here if you have a ELAN I2C/SMbus Touchpad. To compile this driver as a module, choose M here: the module will be called elan_i2c. config MOUSE_ELAN_I2C_I2C bool "Enable I2C support" depends on MOUSE_ELAN_I2C default y help Say Y here if Elan Touchpad in your system is connected to a standard I2C controller. If unsure, say Y. config MOUSE_ELAN_I2C_SMBUS bool "Enable SMbus support" depends on MOUSE_ELAN_I2C help Say Y here if Elan Touchpad in your system is connected to a SMbus adapter. If unsure, say Y. config MOUSE_INPORT tristate "InPort/MS/ATIXL busmouse" depends on ISA help Say Y here if you have an InPort, Microsoft or ATI XL busmouse. They are rather rare these days. To compile this driver as a module, choose M here: the module will be called inport. config MOUSE_ATIXL bool "ATI XL variant" depends on MOUSE_INPORT help Say Y here if your mouse is of the ATI XL variety. config MOUSE_LOGIBM tristate "Logitech busmouse" depends on ISA help Say Y here if you have a Logitech busmouse. They are rather rare these days. To compile this driver as a module, choose M here: the module will be called logibm. config MOUSE_PC110PAD tristate "IBM PC110 touchpad" depends on ISA help Say Y if you have the IBM PC-110 micro-notebook and want its touchpad supported. To compile this driver as a module, choose M here: the module will be called pc110pad. config MOUSE_AMIGA tristate "Amiga mouse" depends on AMIGA help Say Y here if you have an Amiga and want its native mouse supported by the kernel. To compile this driver as a module, choose M here: the module will be called amimouse. config MOUSE_ATARI tristate "Atari mouse" depends on ATARI select ATARI_KBD_CORE help Say Y here if you have an Atari and want its native mouse supported by the kernel. To compile this driver as a module, choose M here: the module will be called atarimouse. config MOUSE_RISCPC tristate "Acorn RiscPC mouse" depends on ARCH_ACORN help Say Y here if you have the Acorn RiscPC computer and want its native mouse supported. To compile this driver as a module, choose M here: the module will be called rpcmouse. config MOUSE_VSXXXAA tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" select SERIO help Say Y (or M) if you want to use a DEC VSXXX-AA (hockey puck) or a VSXXX-GA (rectangular) mouse. Theses mice are typically used on DECstations or VAXstations, but can also be used on any box capable of RS232 (with some adaptor described in the source file). This driver also works with the digitizer (VSXXX-AB) DEC produced. config MOUSE_GPIO tristate "GPIO mouse" depends on GPIOLIB || COMPILE_TEST select INPUT_POLLDEV help This driver simulates a mouse on GPIO lines of various CPUs (and some other chips). Say Y here if your device has buttons or a simple joystick connected directly to GPIO lines. Your board-specific setup logic must also provide a platform device and platform data saying which GPIOs are used. To compile this driver as a module, choose M here: the module will be called gpio_mouse. config MOUSE_PXA930_TRKBALL tristate "PXA930 Trackball mouse" depends on CPU_PXA930 || CPU_PXA935 help Say Y here to support PXA930 Trackball mouse. config MOUSE_MAPLE tristate "Maple mouse (for the Dreamcast)" depends on MAPLE help This driver supports the Maple mouse on the SEGA Dreamcast. Most Dreamcast users, who have a mouse, will say Y here. To compile this driver as a module choose M here: the module will be called maplemouse. config MOUSE_SYNAPTICS_I2C tristate "Synaptics I2C Touchpad support" depends on I2C help This driver supports Synaptics I2C touchpad controller on eXeda mobile device. The device will not work the synaptics X11 driver because (i) it reports only relative coordinates and has no capabilities to report absolute coordinates (ii) the eXeda device itself uses Xfbdev as X Server and it does not allow using xf86-input-* drivers. Say y here if you have eXeda device and want to use a Synaptics I2C Touchpad. To compile this driver as a module, choose M here: the module will be called synaptics_i2c. config MOUSE_SYNAPTICS_USB tristate "Synaptics USB device support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use a Synaptics USB touchpad or pointing stick. While these devices emulate an USB mouse by default and can be used with standard usbhid driver, this driver, together with its X.Org counterpart, allows you to fully utilize capabilities of the device. More information can be found at: <http://jan-steinhoff.de/linux/synaptics-usb.html> To compile this driver as a module, choose M here: the module will be called synaptics_usb. config MOUSE_NAVPOINT_PXA27x tristate "Synaptics NavPoint (PXA27x SSP/SPI)" depends on PXA27x && PXA_SSP help This driver adds support for the Synaptics NavPoint touchpad connected to a PXA27x SSP port in SPI slave mode. The device emulates a mouse; a tap or tap-and-a-half drag gesture emulates the left mouse button. For example, use the xf86-input-evdev driver for an X pointing device. To compile this driver as a module, choose M here: the module will be called navpoint. endif input/mouse/Makefile 0000644 00000003461 14722053666 0010512 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the mouse drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o obj-$(CONFIG_MOUSE_APPLETOUCH) += appletouch.o obj-$(CONFIG_MOUSE_ATARI) += atarimouse.o obj-$(CONFIG_MOUSE_BCM5974) += bcm5974.o obj-$(CONFIG_MOUSE_CYAPA) += cyapatp.o obj-$(CONFIG_MOUSE_ELAN_I2C) += elan_i2c.o obj-$(CONFIG_MOUSE_GPIO) += gpio_mouse.o obj-$(CONFIG_MOUSE_INPORT) += inport.o obj-$(CONFIG_MOUSE_LOGIBM) += logibm.o obj-$(CONFIG_MOUSE_MAPLE) += maplemouse.o obj-$(CONFIG_MOUSE_NAVPOINT_PXA27x) += navpoint.o obj-$(CONFIG_MOUSE_PC110PAD) += pc110pad.o obj-$(CONFIG_MOUSE_PS2) += psmouse.o obj-$(CONFIG_MOUSE_PXA930_TRKBALL) += pxa930_trkball.o obj-$(CONFIG_MOUSE_RISCPC) += rpcmouse.o obj-$(CONFIG_MOUSE_SERIAL) += sermouse.o obj-$(CONFIG_MOUSE_SYNAPTICS_I2C) += synaptics_i2c.o obj-$(CONFIG_MOUSE_SYNAPTICS_USB) += synaptics_usb.o obj-$(CONFIG_MOUSE_VSXXXAA) += vsxxxaa.o cyapatp-objs := cyapa.o cyapa_gen3.o cyapa_gen5.o cyapa_gen6.o psmouse-objs := psmouse-base.o synaptics.o focaltech.o psmouse-$(CONFIG_MOUSE_PS2_ALPS) += alps.o psmouse-$(CONFIG_MOUSE_PS2_BYD) += byd.o psmouse-$(CONFIG_MOUSE_PS2_ELANTECH) += elantech.o psmouse-$(CONFIG_MOUSE_PS2_OLPC) += hgpk.o psmouse-$(CONFIG_MOUSE_PS2_LOGIPS2PP) += logips2pp.o psmouse-$(CONFIG_MOUSE_PS2_LIFEBOOK) += lifebook.o psmouse-$(CONFIG_MOUSE_PS2_SENTELIC) += sentelic.o psmouse-$(CONFIG_MOUSE_PS2_TRACKPOINT) += trackpoint.o psmouse-$(CONFIG_MOUSE_PS2_TOUCHKIT) += touchkit_ps2.o psmouse-$(CONFIG_MOUSE_PS2_CYPRESS) += cypress_ps2.o psmouse-$(CONFIG_MOUSE_PS2_VMMOUSE) += vmmouse.o psmouse-$(CONFIG_MOUSE_PS2_SMBUS) += psmouse-smbus.o elan_i2c-objs := elan_i2c_core.o elan_i2c-$(CONFIG_MOUSE_ELAN_I2C_I2C) += elan_i2c_i2c.o elan_i2c-$(CONFIG_MOUSE_ELAN_I2C_SMBUS) += elan_i2c_smbus.o input/touchscreen/Kconfig 0000644 00000107126 14722053666 0011552 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Touchscreen driver configuration # menuconfig INPUT_TOUCHSCREEN bool "Touchscreens" help Say Y here, and a list of supported touchscreens will be displayed. This option doesn't affect the kernel. If unsure, say Y. if INPUT_TOUCHSCREEN config TOUCHSCREEN_PROPERTIES def_tristate INPUT depends on INPUT config TOUCHSCREEN_88PM860X tristate "Marvell 88PM860x touchscreen" depends on MFD_88PM860X help Say Y here if you have a 88PM860x PMIC and want to enable support for the built-in touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called 88pm860x-ts. config TOUCHSCREEN_ADS7846 tristate "ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens" depends on SPI_MASTER depends on HWMON = n || HWMON help Say Y here if you have a touchscreen interface using the ADS7846/TSC2046/AD7873 or ADS7843/AD7843 controller, and your board-specific setup code includes that in its table of SPI devices. If HWMON is selected, and the driver is told the reference voltage on your board, you will also get hwmon interfaces for the voltage (and on ads7846/tsc2046/ad7873, temperature) sensors of this chip. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ads7846. config TOUCHSCREEN_AD7877 tristate "AD7877 based touchscreens" depends on SPI_MASTER help Say Y here if you have a touchscreen interface using the AD7877 controller, and your board-specific initialization code includes that in its table of SPI devices. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7877. config TOUCHSCREEN_AD7879 tristate "Analog Devices AD7879-1/AD7889-1 touchscreen interface" help Say Y here if you want to support a touchscreen interface using the AD7879-1/AD7889-1 controller. You should select a bus connection too. To compile this driver as a module, choose M here: the module will be called ad7879. config TOUCHSCREEN_AD7879_I2C tristate "support I2C bus connection" depends on TOUCHSCREEN_AD7879 && I2C select REGMAP_I2C help Say Y here if you have AD7879-1/AD7889-1 hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called ad7879-i2c. config TOUCHSCREEN_AD7879_SPI tristate "support SPI bus connection" depends on TOUCHSCREEN_AD7879 && SPI_MASTER select REGMAP_SPI help Say Y here if you have AD7879-1/AD7889-1 hooked to a SPI bus. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7879-spi. config TOUCHSCREEN_ADC tristate "Generic ADC based resistive touchscreen" depends on IIO select IIO_BUFFER select IIO_BUFFER_CB help Say Y here if you want to use the generic ADC resistive touchscreen driver. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called resistive-adc-touch.ko. config TOUCHSCREEN_AR1021_I2C tristate "Microchip AR1020/1021 i2c touchscreen" depends on I2C && OF help Say Y here if you have the Microchip AR1020 or AR1021 touchscreen controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called ar1021_i2c. config TOUCHSCREEN_ATMEL_MXT tristate "Atmel mXT I2C Touchscreen" depends on I2C select FW_LOADER help Say Y here if you have Atmel mXT series I2C touchscreen, such as AT42QT602240/ATMXT224, connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called atmel_mxt_ts. config TOUCHSCREEN_ATMEL_MXT_T37 bool "Support T37 Diagnostic Data" depends on TOUCHSCREEN_ATMEL_MXT depends on VIDEO_V4L2=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_V4L2=m) select VIDEOBUF2_VMALLOC help Say Y here if you want support to output data from the T37 Diagnostic Data object using a V4L device. config TOUCHSCREEN_AUO_PIXCIR tristate "AUO in-cell touchscreen using Pixcir ICs" depends on I2C depends on GPIOLIB || COMPILE_TEST help Say Y here if you have a AUO display with in-cell touchscreen using Pixcir ICs. If unsure, say N. To compile this driver as a module, choose M here: the module will be called auo-pixcir-ts. config TOUCHSCREEN_BU21013 tristate "BU21013 based touch panel controllers" depends on I2C help Say Y here if you have a bu21013 touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called bu21013_ts. config TOUCHSCREEN_BU21029 tristate "Rohm BU21029 based touch panel controllers" depends on I2C help Say Y here if you have a Rohm BU21029 touchscreen controller connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called bu21029_ts. config TOUCHSCREEN_CHIPONE_ICN8318 tristate "chipone icn8318 touchscreen controller" depends on GPIOLIB || COMPILE_TEST depends on I2C depends on OF help Say Y here if you have a ChipOne icn8318 based I2C touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called chipone_icn8318. config TOUCHSCREEN_CHIPONE_ICN8505 tristate "chipone icn8505 touchscreen controller" depends on I2C && ACPI help Say Y here if you have a ChipOne icn8505 based I2C touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called chipone_icn8505. config TOUCHSCREEN_CY8CTMG110 tristate "cy8ctmg110 touchscreen" depends on I2C depends on GPIOLIB || COMPILE_TEST help Say Y here if you have a cy8ctmg110 capacitive touchscreen on an AAVA device. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cy8ctmg110_ts. config TOUCHSCREEN_CYTTSP_CORE tristate "Cypress TTSP touchscreen" help Say Y here if you have a touchscreen using controller from the Cypress TrueTouch(tm) Standard Product family connected to your system. You will also need to select appropriate bus connection below. If unsure, say N. To compile this driver as a module, choose M here: the module will be called cyttsp_core. config TOUCHSCREEN_CYTTSP_I2C tristate "support I2C bus connection" depends on TOUCHSCREEN_CYTTSP_CORE && I2C help Say Y here if the touchscreen is connected via I2C bus. To compile this driver as a module, choose M here: the module will be called cyttsp_i2c. config TOUCHSCREEN_CYTTSP_SPI tristate "support SPI bus connection" depends on TOUCHSCREEN_CYTTSP_CORE && SPI_MASTER help Say Y here if the touchscreen is connected via SPI bus. To compile this driver as a module, choose M here: the module will be called cyttsp_spi. config TOUCHSCREEN_CYTTSP4_CORE tristate "Cypress TrueTouch Gen4 Touchscreen Driver" help Core driver for Cypress TrueTouch(tm) Standard Product Generation4 touchscreen controllers. Say Y here if you have a Cypress Gen4 touchscreen. If unsure, say N. To compile this driver as a module, choose M here. config TOUCHSCREEN_CYTTSP4_I2C tristate "support I2C bus connection" depends on TOUCHSCREEN_CYTTSP4_CORE && I2C help Say Y here if the touchscreen is connected via I2C bus. To compile this driver as a module, choose M here: the module will be called cyttsp4_i2c. config TOUCHSCREEN_CYTTSP4_SPI tristate "support SPI bus connection" depends on TOUCHSCREEN_CYTTSP4_CORE && SPI_MASTER help Say Y here if the touchscreen is connected via SPI bus. To compile this driver as a module, choose M here: the module will be called cyttsp4_spi. config TOUCHSCREEN_DA9034 tristate "Touchscreen support for Dialog Semiconductor DA9034" depends on PMIC_DA903X default y help Say Y here to enable the support for the touchscreen found on Dialog Semiconductor DA9034 PMIC. If unsure, say N. To compile this driver as a module, choose M here: the module will be called da9034-ts. config TOUCHSCREEN_DA9052 tristate "Dialog DA9052/DA9053 TSI" depends on PMIC_DA9052 help Say Y here to support the touchscreen found on Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs. If unsure, say N. To compile this driver as a module, choose M here: the module will be called da9052_tsi. config TOUCHSCREEN_DYNAPRO tristate "Dynapro serial touchscreen" select SERIO help Say Y here if you have a Dynapro serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called dynapro. config TOUCHSCREEN_HAMPSHIRE tristate "Hampshire serial touchscreen" select SERIO help Say Y here if you have a Hampshire serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called hampshire. config TOUCHSCREEN_EETI tristate "EETI touchscreen panel support" depends on I2C help Say Y here to enable support for I2C connected EETI touch panels. To compile this driver as a module, choose M here: the module will be called eeti_ts. config TOUCHSCREEN_EGALAX tristate "EETI eGalax multi-touch panel support" depends on I2C && OF help Say Y here to enable support for I2C connected EETI eGalax multi-touch panels. To compile this driver as a module, choose M here: the module will be called egalax_ts. config TOUCHSCREEN_EGALAX_SERIAL tristate "EETI eGalax serial touchscreen" select SERIO help Say Y here to enable support for serial connected EETI eGalax touch panels. To compile this driver as a module, choose M here: the module will be called egalax_ts_serial. config TOUCHSCREEN_EXC3000 tristate "EETI EXC3000 multi-touch panel support" depends on I2C help Say Y here to enable support for I2C connected EETI EXC3000 multi-touch panels. To compile this driver as a module, choose M here: the module will be called exc3000. config TOUCHSCREEN_FUJITSU tristate "Fujitsu serial touchscreen" select SERIO help Say Y here if you have the Fujitsu touchscreen (such as one installed in Lifebook P series laptop) connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called fujitsu-ts. config TOUCHSCREEN_GOODIX tristate "Goodix I2C touchscreen" depends on I2C depends on GPIOLIB || COMPILE_TEST help Say Y here if you have the Goodix touchscreen (such as one installed in Onda v975w tablets) connected to your system. It also supports 5-finger chip models, which can be found on ARM tablets, like Wexler TAB7200 and MSI Primo73. If unsure, say N. To compile this driver as a module, choose M here: the module will be called goodix. config TOUCHSCREEN_HIDEEP tristate "HiDeep Touch IC" depends on I2C help Say Y here if you have a touchscreen using HiDeep. If unsure, say N. To compile this driver as a module, choose M here : the module will be called hideep_ts. config TOUCHSCREEN_ILI210X tristate "Ilitek ILI210X based touchscreen" depends on I2C help Say Y here if you have a ILI210X based touchscreen controller. This driver supports models ILI2102, ILI2102s, ILI2103, ILI2103s and ILI2105. Such kind of chipsets can be found in Amazon Kindle Fire touchscreens. If unsure, say N. To compile this driver as a module, choose M here: the module will be called ili210x. config TOUCHSCREEN_IPROC tristate "IPROC touch panel driver support" depends on ARCH_BCM_IPROC || COMPILE_TEST help Say Y here if you want to add support for the IPROC touch controller to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called bcm_iproc_tsc. config TOUCHSCREEN_S3C2410 tristate "Samsung S3C2410/generic touchscreen input driver" depends on ARCH_S3C24XX || SAMSUNG_DEV_TS depends on S3C_ADC help Say Y here if you have the s3c2410 touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called s3c2410_ts. config TOUCHSCREEN_S6SY761 tristate "Samsung S6SY761 Touchscreen driver" depends on I2C help Say Y if you have the Samsung S6SY761 driver If unsure, say N To compile this driver as module, choose M here: the module will be called s6sy761. config TOUCHSCREEN_GUNZE tristate "Gunze AHL-51S touchscreen" select SERIO help Say Y here if you have the Gunze AHL-51 touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called gunze. config TOUCHSCREEN_EKTF2127 tristate "Elan eKTF2127 I2C touchscreen" depends on I2C help Say Y here if you have an Elan eKTF2127 touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called ektf2127. config TOUCHSCREEN_ELAN tristate "Elan eKTH I2C touchscreen" depends on I2C help Say Y here if you have an Elan eKTH I2C touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called elants_i2c. config TOUCHSCREEN_ELO tristate "Elo serial touchscreens" select SERIO help Say Y here if you have an Elo serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called elo. config TOUCHSCREEN_WACOM_W8001 tristate "Wacom W8001 penabled serial touchscreen" select SERIO help Say Y here if you have an Wacom W8001 penabled serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called wacom_w8001. config TOUCHSCREEN_WACOM_I2C tristate "Wacom Tablet support (I2C)" depends on I2C help Say Y here if you want to use the I2C version of the Wacom Pen Tablet. If unsure, say N. To compile this driver as a module, choose M here: the module will be called wacom_i2c. config TOUCHSCREEN_LPC32XX tristate "LPC32XX touchscreen controller" depends on ARCH_LPC32XX help Say Y here if you have a LPC32XX device and want to support the built-in touchscreen. To compile this driver as a module, choose M here: the module will be called lpc32xx_ts. config TOUCHSCREEN_MAX11801 tristate "MAX11801 based touchscreens" depends on I2C help Say Y here if you have a MAX11801 based touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called max11801_ts. config TOUCHSCREEN_MCS5000 tristate "MELFAS MCS-5000 touchscreen" depends on I2C help Say Y here if you have the MELFAS MCS-5000 touchscreen controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mcs5000_ts. config TOUCHSCREEN_MMS114 tristate "MELFAS MMS114 touchscreen" depends on I2C help Say Y here if you have the MELFAS MMS114 touchscreen controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mms114. config TOUCHSCREEN_MELFAS_MIP4 tristate "MELFAS MIP4 Touchscreen" depends on I2C help Say Y here if you have a MELFAS MIP4 Touchscreen device. If unsure, say N. To compile this driver as a module, choose M here: the module will be called melfas_mip4. config TOUCHSCREEN_MTOUCH tristate "MicroTouch serial touchscreens" select SERIO help Say Y here if you have a MicroTouch (3M) serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mtouch. config TOUCHSCREEN_IMX6UL_TSC tristate "Freescale i.MX6UL touchscreen controller" depends on (OF && GPIOLIB) || COMPILE_TEST help Say Y here if you have a Freescale i.MX6UL, and want to use the internal touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called imx6ul_tsc. config TOUCHSCREEN_INEXIO tristate "iNexio serial touchscreens" select SERIO help Say Y here if you have an iNexio serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called inexio. config TOUCHSCREEN_MK712 tristate "ICS MicroClock MK712 touchscreen" help Say Y here if you have the ICS MicroClock MK712 touchscreen controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mk712. config TOUCHSCREEN_HP600 tristate "HP Jornada 6xx touchscreen" depends on SH_HP6XX && SH_ADC help Say Y here if you have a HP Jornada 620/660/680/690 and want to support the built-in touchscreen. To compile this driver as a module, choose M here: the module will be called hp680_ts_input. config TOUCHSCREEN_HP7XX tristate "HP Jornada 7xx touchscreen" depends on SA1100_JORNADA720_SSP help Say Y here if you have a HP Jornada 710/720/728 and want to support the built-in touchscreen. To compile this driver as a module, choose M here: the module will be called jornada720_ts. config TOUCHSCREEN_IPAQ_MICRO tristate "HP iPAQ Atmel Micro ASIC touchscreen" depends on MFD_IPAQ_MICRO help Say Y here to enable support for the touchscreen attached to the Atmel Micro peripheral controller on iPAQ h3100/h3600/h3700 If unsure, say N. To compile this driver as a module, choose M here: the module will be called ipaq-micro-ts. config TOUCHSCREEN_HTCPEN tristate "HTC Shift X9500 touchscreen" depends on ISA help Say Y here if you have an HTC Shift UMPC also known as HTC X9500 Clio / Shangrila and want to support the built-in touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called htcpen. config TOUCHSCREEN_PENMOUNT tristate "Penmount serial touchscreen" select SERIO help Say Y here if you have a Penmount serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called penmount. config TOUCHSCREEN_EDT_FT5X06 tristate "EDT FocalTech FT5x06 I2C Touchscreen support" depends on I2C help Say Y here if you have an EDT "Polytouch" touchscreen based on the FocalTech FT5x06 family of controllers connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called edt-ft5x06. config TOUCHSCREEN_RASPBERRYPI_FW tristate "Raspberry Pi's firmware base touch screen support" depends on RASPBERRYPI_FIRMWARE || (RASPBERRYPI_FIRMWARE=n && COMPILE_TEST) select INPUT_POLLDEV help Say Y here if you have the official Raspberry Pi 7 inch screen on your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called raspberrypi-ts. config TOUCHSCREEN_MIGOR tristate "Renesas MIGO-R touchscreen" depends on (SH_MIGOR || COMPILE_TEST) && I2C help Say Y here to enable MIGO-R touchscreen support. If unsure, say N. To compile this driver as a module, choose M here: the module will be called migor_ts. config TOUCHSCREEN_TOUCHRIGHT tristate "Touchright serial touchscreen" select SERIO help Say Y here if you have a Touchright serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called touchright. config TOUCHSCREEN_TOUCHWIN tristate "Touchwin serial touchscreen" select SERIO help Say Y here if you have a Touchwin serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called touchwin. config TOUCHSCREEN_TI_AM335X_TSC tristate "TI Touchscreen Interface" depends on MFD_TI_AM335X_TSCADC help Say Y here if you have 4/5/8 wire touchscreen controller to be connected to the ADC controller on your TI AM335x SoC. If unsure, say N. To compile this driver as a module, choose M here: the module will be called ti_am335x_tsc. config TOUCHSCREEN_UCB1400 tristate "Philips UCB1400 touchscreen" depends on AC97_BUS depends on UCB1400_CORE help This enables support for the Philips UCB1400 touchscreen interface. The UCB1400 is an AC97 audio codec. The touchscreen interface will be initialized only after the ALSA subsystem has been brought up and the UCB1400 detected. You therefore have to configure ALSA support as well (either built-in or modular, independently of whether this driver is itself built-in or modular) for this driver to work. To compile this driver as a module, choose M here: the module will be called ucb1400_ts. config TOUCHSCREEN_PIXCIR tristate "PIXCIR I2C touchscreens" depends on I2C help Say Y here if you have a pixcir i2c touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called pixcir_i2c_ts. config TOUCHSCREEN_WDT87XX_I2C tristate "Weida HiTech I2C touchscreen" depends on I2C help Say Y here if you have a Weida WDT87XX I2C touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called wdt87xx_i2c. config TOUCHSCREEN_WM831X tristate "Support for WM831x touchscreen controllers" depends on MFD_WM831X help This enables support for the touchscreen controller on the WM831x series of PMICs. To compile this driver as a module, choose M here: the module will be called wm831x-ts. config TOUCHSCREEN_WM97XX tristate "Support for WM97xx AC97 touchscreen controllers" depends on AC97_BUS || AC97_BUS_NEW help Say Y here if you have a Wolfson Microelectronics WM97xx touchscreen connected to your system. Note that this option only enables core driver, you will also need to select support for appropriate chip below. If unsure, say N. To compile this driver as a module, choose M here: the module will be called wm97xx-ts. config TOUCHSCREEN_WM9705 bool "WM9705 Touchscreen interface support" depends on TOUCHSCREEN_WM97XX default y help Say Y here to enable support for the Wolfson Microelectronics WM9705 touchscreen controller. config TOUCHSCREEN_WM9712 bool "WM9712 Touchscreen interface support" depends on TOUCHSCREEN_WM97XX default y help Say Y here to enable support for the Wolfson Microelectronics WM9712 touchscreen controller. config TOUCHSCREEN_WM9713 bool "WM9713 Touchscreen interface support" depends on TOUCHSCREEN_WM97XX default y help Say Y here to enable support for the Wolfson Microelectronics WM9713 touchscreen controller. config TOUCHSCREEN_WM97XX_MAINSTONE tristate "WM97xx Mainstone/Palm accelerated touch" depends on TOUCHSCREEN_WM97XX && ARCH_PXA help Say Y here for support for streaming mode with WM97xx touchscreens on Mainstone, Palm Tungsten T5, TX and LifeDrive systems. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mainstone-wm97xx. config TOUCHSCREEN_WM97XX_ZYLONITE tristate "Zylonite accelerated touch" depends on TOUCHSCREEN_WM97XX && MACH_ZYLONITE select TOUCHSCREEN_WM9713 help Say Y here for support for streaming mode with the touchscreen on Zylonite systems. If unsure, say N. To compile this driver as a module, choose M here: the module will be called zylonite-wm97xx. config TOUCHSCREEN_USB_COMPOSITE tristate "USB Touchscreen Driver" depends on USB_ARCH_HAS_HCD select USB help USB Touchscreen driver for: - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700) - PanJit TouchSet USB - 3M MicroTouch USB (EX II series) - ITM - some other eTurboTouch - Gunze AHL61 - DMC TSC-10/25 - IRTOUCHSYSTEMS/UNITOP - IdealTEK URTC1000 - GoTop Super_Q2/GogoPen/PenPower tablets - JASTEC USB Touch Controller/DigiTech DTR-02U - Zytronic controllers - Elo TouchSystems 2700 IntelliTouch - EasyTouch USB Touch Controller from Data Modul - e2i (Mimo monitors) Have a look at <http://linux.chapter7.ch/touchkit/> for a usage description and the required user-space stuff. To compile this driver as a module, choose M here: the module will be called usbtouchscreen. config TOUCHSCREEN_MXS_LRADC tristate "Freescale i.MX23/i.MX28 LRADC touchscreen" depends on MFD_MXS_LRADC help Say Y here if you have a touchscreen connected to the low-resolution analog-to-digital converter (LRADC) on an i.MX23 or i.MX28 processor. To compile this driver as a module, choose M here: the module will be called mxs-lradc-ts. config TOUCHSCREEN_MX25 tristate "Freescale i.MX25 touchscreen input driver" depends on MFD_MX25_TSADC help Enable support for touchscreen connected to your i.MX25. To compile this driver as a module, choose M here: the module will be called fsl-imx25-tcq. config TOUCHSCREEN_MC13783 tristate "Freescale MC13783 touchscreen input driver" depends on MFD_MC13XXX help Say Y here if you have an Freescale MC13783 PMIC on your board and want to use its touchscreen If unsure, say N. To compile this driver as a module, choose M here: the module will be called mc13783_ts. config TOUCHSCREEN_USB_EGALAX default y bool "eGalax, eTurboTouch CT-410/510/700 device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_PANJIT default y bool "PanJit device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_3M default y bool "3M/Microtouch EX II series device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ITM default y bool "ITM device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ETURBO default y bool "eTurboTouch (non-eGalax compatible) device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_GUNZE default y bool "Gunze AHL61 device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_DMC_TSC10 default y bool "DMC TSC-10/25 device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_IRTOUCH default y bool "IRTOUCHSYSTEMS/UNITOP device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_IDEALTEK default y bool "IdealTEK URTC1000 device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_GENERAL_TOUCH default y bool "GeneralTouch Touchscreen device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_GOTOP default y bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_JASTEC default y bool "JASTEC/DigiTech DTR-02U USB touch controller device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ELO default y bool "Elo TouchSystems 2700 IntelliTouch controller device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_E2I default y bool "e2i Touchscreen controller (e.g. from Mimo 740)" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ZYTRONIC default y bool "Zytronic controller" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_ETT_TC45USB default y bool "ET&T USB series TC4UM/TC5UH touchscreen controller support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_NEXIO default y bool "NEXIO/iNexio device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE config TOUCHSCREEN_USB_EASYTOUCH default y bool "EasyTouch USB Touch controller device support" if EXPERT depends on TOUCHSCREEN_USB_COMPOSITE help Say Y here if you have an EasyTouch USB Touch controller. If unsure, say N. config TOUCHSCREEN_TOUCHIT213 tristate "Sahara TouchIT-213 touchscreen" select SERIO help Say Y here if you have a Sahara TouchIT-213 Tablet PC. If unsure, say N. To compile this driver as a module, choose M here: the module will be called touchit213. config TOUCHSCREEN_TS4800 tristate "TS-4800 touchscreen" depends on HAS_IOMEM && OF depends on SOC_IMX51 || COMPILE_TEST select MFD_SYSCON select INPUT_POLLDEV help Say Y here if you have a touchscreen on a TS-4800 board. On TS-4800, the touchscreen is not handled directly by Linux but by a companion FPGA. If unsure, say N. To compile this driver as a module, choose M here: the module will be called ts4800_ts. config TOUCHSCREEN_TSC_SERIO tristate "TSC-10/25/40 serial touchscreen support" select SERIO help Say Y here if you have a TSC-10, 25 or 40 serial touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called tsc40. config TOUCHSCREEN_TSC200X_CORE tristate config TOUCHSCREEN_TSC2004 tristate "TSC2004 based touchscreens" depends on I2C select REGMAP_I2C select TOUCHSCREEN_TSC200X_CORE help Say Y here if you have a TSC2004 based touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called tsc2004. config TOUCHSCREEN_TSC2005 tristate "TSC2005 based touchscreens" depends on SPI_MASTER select REGMAP_SPI select TOUCHSCREEN_TSC200X_CORE help Say Y here if you have a TSC2005 based touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called tsc2005. config TOUCHSCREEN_TSC2007 tristate "TSC2007 based touchscreens" depends on I2C help Say Y here if you have a TSC2007 based touchscreen. If unsure, say N. To compile this driver as a module, choose M here: the module will be called tsc2007. config TOUCHSCREEN_TSC2007_IIO bool "IIO interface for external ADC input and temperature" depends on TOUCHSCREEN_TSC2007 depends on IIO=y || IIO=TOUCHSCREEN_TSC2007 help Saying Y here adds an iio interface to the tsc2007 which provides values for the AUX input (used for e.g. battery or ambient light monitoring), temperature and raw input values. config TOUCHSCREEN_PCAP tristate "Motorola PCAP touchscreen" depends on EZX_PCAP help Say Y here if you have a Motorola EZX telephone and want to enable support for the built-in touchscreen. To compile this driver as a module, choose M here: the module will be called pcap_ts. config TOUCHSCREEN_RM_TS tristate "Raydium I2C Touchscreen" depends on I2C depends on GPIOLIB || COMPILE_TEST help Say Y here if you have Raydium series I2C touchscreen, such as RM32380, connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called raydium_i2c_ts. config TOUCHSCREEN_SILEAD tristate "Silead I2C touchscreen" depends on I2C help Say Y here if you have the Silead touchscreen connected to your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called silead. config TOUCHSCREEN_SIS_I2C tristate "SiS 9200 family I2C touchscreen" depends on I2C select CRC_ITU_T depends on GPIOLIB || COMPILE_TEST help This enables support for SiS 9200 family over I2C based touchscreens. If unsure, say N. To compile this driver as a module, choose M here: the module will be called sis_i2c. config TOUCHSCREEN_ST1232 tristate "Sitronix ST1232 or ST1633 touchscreen controllers" depends on I2C help Say Y here if you want to support the Sitronix ST1232 or ST1633 touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called st1232_ts. config TOUCHSCREEN_STMFTS tristate "STMicroelectronics STMFTS touchscreen" depends on I2C depends on LEDS_CLASS help Say Y here if you want support for STMicroelectronics STMFTS touchscreen. To compile this driver as a module, choose M here: the module will be called stmfts. config TOUCHSCREEN_STMPE tristate "STMicroelectronics STMPE touchscreens" depends on MFD_STMPE depends on (OF || COMPILE_TEST) help Say Y here if you want support for STMicroelectronics STMPE touchscreen controllers. To compile this driver as a module, choose M here: the module will be called stmpe-ts. config TOUCHSCREEN_SUN4I tristate "Allwinner sun4i resistive touchscreen controller support" depends on ARCH_SUNXI || COMPILE_TEST depends on HWMON depends on THERMAL || !THERMAL_OF help This selects support for the resistive touchscreen controller found on Allwinner sunxi SoCs. To compile this driver as a module, choose M here: the module will be called sun4i-ts. config TOUCHSCREEN_SUR40 tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen" depends on USB && MEDIA_USB_SUPPORT && HAS_DMA depends on VIDEO_V4L2 select INPUT_POLLDEV select VIDEOBUF2_DMA_SG help Say Y here if you want support for the Samsung SUR40 touchscreen (also known as Microsoft Surface 2.0 or Microsoft PixelSense). To compile this driver as a module, choose M here: the module will be called sur40. config TOUCHSCREEN_SURFACE3_SPI tristate "Ntrig/Microsoft Surface 3 SPI touchscreen" depends on SPI depends on GPIOLIB || COMPILE_TEST help Say Y here if you have the Ntrig/Microsoft SPI touchscreen controller chip as found on the Surface 3 in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called surface3_spi. config TOUCHSCREEN_SX8654 tristate "Semtech SX8654 touchscreen" depends on I2C help Say Y here if you have a Semtech SX8654 touchscreen controller. If unsure, say N To compile this driver as a module, choose M here: the module will be called sx8654. config TOUCHSCREEN_TPS6507X tristate "TPS6507x based touchscreens" depends on I2C select INPUT_POLLDEV help Say Y here if you have a TPS6507x based touchscreen controller. If unsure, say N. To compile this driver as a module, choose M here: the module will be called tps6507x_ts. config TOUCHSCREEN_ZET6223 tristate "Zeitec ZET6223 touchscreen driver" depends on I2C help Say Y here if you have a touchscreen using Zeitec ZET6223 If unsure, say N. To compile this driver as a module, choose M here: the module will be called zet6223. config TOUCHSCREEN_ZFORCE tristate "Neonode zForce infrared touchscreens" depends on I2C depends on GPIOLIB || COMPILE_TEST help Say Y here if you have a touchscreen using the zforce infraread technology from Neonode. If unsure, say N. To compile this driver as a module, choose M here: the module will be called zforce_ts. config TOUCHSCREEN_COLIBRI_VF50 tristate "Toradex Colibri on board touchscreen driver" depends on IIO && VF610_ADC depends on GPIOLIB || COMPILE_TEST help Say Y here if you have a Colibri VF50 and plan to use the on-board provided 4-wire touchscreen driver. If unsure, say N. To compile this driver as a module, choose M here: the module will be called colibri_vf50_ts. config TOUCHSCREEN_ROHM_BU21023 tristate "ROHM BU21023/24 Dual touch support resistive touchscreens" depends on I2C help Say Y here if you have a touchscreen using ROHM BU21023/24. If unsure, say N. To compile this driver as a module, choose M here: the module will be called bu21023_ts. config TOUCHSCREEN_IQS5XX tristate "Azoteq IQS550/572/525 trackpad/touchscreen controller" depends on I2C help Say Y to enable support for the Azoteq IQS550/572/525 family of trackpad/touchscreen controllers. To compile this driver as a module, choose M here: the module will be called iqs5xx. endif input/touchscreen/Makefile 0000644 00000012474 14722053666 0011710 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the touchscreen drivers. # # Each configuration option enables a list of files. wm97xx-ts-y := wm97xx-core.o obj-$(CONFIG_TOUCHSCREEN_PROPERTIES) += of_touchscreen.o obj-$(CONFIG_TOUCHSCREEN_88PM860X) += 88pm860x-ts.o obj-$(CONFIG_TOUCHSCREEN_AD7877) += ad7877.o obj-$(CONFIG_TOUCHSCREEN_AD7879) += ad7879.o obj-$(CONFIG_TOUCHSCREEN_AD7879_I2C) += ad7879-i2c.o obj-$(CONFIG_TOUCHSCREEN_AD7879_SPI) += ad7879-spi.o obj-$(CONFIG_TOUCHSCREEN_ADC) += resistive-adc-touch.o obj-$(CONFIG_TOUCHSCREEN_ADS7846) += ads7846.o obj-$(CONFIG_TOUCHSCREEN_AR1021_I2C) += ar1021_i2c.o obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT) += atmel_mxt_ts.o obj-$(CONFIG_TOUCHSCREEN_AUO_PIXCIR) += auo-pixcir-ts.o obj-$(CONFIG_TOUCHSCREEN_BU21013) += bu21013_ts.o obj-$(CONFIG_TOUCHSCREEN_BU21029) += bu21029_ts.o obj-$(CONFIG_TOUCHSCREEN_CHIPONE_ICN8318) += chipone_icn8318.o obj-$(CONFIG_TOUCHSCREEN_CHIPONE_ICN8505) += chipone_icn8505.o obj-$(CONFIG_TOUCHSCREEN_CY8CTMG110) += cy8ctmg110_ts.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP_CORE) += cyttsp_core.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP_I2C) += cyttsp_i2c.o cyttsp_i2c_common.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP_SPI) += cyttsp_spi.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_CORE) += cyttsp4_core.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_I2C) += cyttsp4_i2c.o cyttsp_i2c_common.o obj-$(CONFIG_TOUCHSCREEN_CYTTSP4_SPI) += cyttsp4_spi.o obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o obj-$(CONFIG_TOUCHSCREEN_DA9052) += da9052_tsi.o obj-$(CONFIG_TOUCHSCREEN_DYNAPRO) += dynapro.o obj-$(CONFIG_TOUCHSCREEN_EDT_FT5X06) += edt-ft5x06.o obj-$(CONFIG_TOUCHSCREEN_HAMPSHIRE) += hampshire.o obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o obj-$(CONFIG_TOUCHSCREEN_EETI) += eeti_ts.o obj-$(CONFIG_TOUCHSCREEN_EKTF2127) += ektf2127.o obj-$(CONFIG_TOUCHSCREEN_ELAN) += elants_i2c.o obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o obj-$(CONFIG_TOUCHSCREEN_EGALAX) += egalax_ts.o obj-$(CONFIG_TOUCHSCREEN_EGALAX_SERIAL) += egalax_ts_serial.o obj-$(CONFIG_TOUCHSCREEN_EXC3000) += exc3000.o obj-$(CONFIG_TOUCHSCREEN_FUJITSU) += fujitsu_ts.o obj-$(CONFIG_TOUCHSCREEN_GOODIX) += goodix.o obj-$(CONFIG_TOUCHSCREEN_HIDEEP) += hideep.o obj-$(CONFIG_TOUCHSCREEN_ILI210X) += ili210x.o obj-$(CONFIG_TOUCHSCREEN_IMX6UL_TSC) += imx6ul_tsc.o obj-$(CONFIG_TOUCHSCREEN_INEXIO) += inexio.o obj-$(CONFIG_TOUCHSCREEN_IPROC) += bcm_iproc_tsc.o obj-$(CONFIG_TOUCHSCREEN_LPC32XX) += lpc32xx_ts.o obj-$(CONFIG_TOUCHSCREEN_MAX11801) += max11801_ts.o obj-$(CONFIG_TOUCHSCREEN_MXS_LRADC) += mxs-lradc-ts.o obj-$(CONFIG_TOUCHSCREEN_MX25) += fsl-imx25-tcq.o obj-$(CONFIG_TOUCHSCREEN_MC13783) += mc13783_ts.o obj-$(CONFIG_TOUCHSCREEN_MCS5000) += mcs5000_ts.o obj-$(CONFIG_TOUCHSCREEN_MELFAS_MIP4) += melfas_mip4.o obj-$(CONFIG_TOUCHSCREEN_MIGOR) += migor_ts.o obj-$(CONFIG_TOUCHSCREEN_MMS114) += mms114.o obj-$(CONFIG_TOUCHSCREEN_MTOUCH) += mtouch.o obj-$(CONFIG_TOUCHSCREEN_MK712) += mk712.o obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680_ts_input.o obj-$(CONFIG_TOUCHSCREEN_HP7XX) += jornada720_ts.o obj-$(CONFIG_TOUCHSCREEN_IPAQ_MICRO) += ipaq-micro-ts.o obj-$(CONFIG_TOUCHSCREEN_HTCPEN) += htcpen.o obj-$(CONFIG_TOUCHSCREEN_USB_COMPOSITE) += usbtouchscreen.o obj-$(CONFIG_TOUCHSCREEN_PCAP) += pcap_ts.o obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o obj-$(CONFIG_TOUCHSCREEN_PIXCIR) += pixcir_i2c_ts.o obj-$(CONFIG_TOUCHSCREEN_RM_TS) += raydium_i2c_ts.o obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o obj-$(CONFIG_TOUCHSCREEN_S6SY761) += s6sy761.o obj-$(CONFIG_TOUCHSCREEN_SILEAD) += silead.o obj-$(CONFIG_TOUCHSCREEN_SIS_I2C) += sis_i2c.o obj-$(CONFIG_TOUCHSCREEN_ST1232) += st1232.o obj-$(CONFIG_TOUCHSCREEN_STMFTS) += stmfts.o obj-$(CONFIG_TOUCHSCREEN_STMPE) += stmpe-ts.o obj-$(CONFIG_TOUCHSCREEN_SUN4I) += sun4i-ts.o obj-$(CONFIG_TOUCHSCREEN_SUR40) += sur40.o obj-$(CONFIG_TOUCHSCREEN_SURFACE3_SPI) += surface3_spi.o obj-$(CONFIG_TOUCHSCREEN_TI_AM335X_TSC) += ti_am335x_tsc.o obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213) += touchit213.o obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o obj-$(CONFIG_TOUCHSCREEN_TS4800) += ts4800-ts.o obj-$(CONFIG_TOUCHSCREEN_TSC_SERIO) += tsc40.o obj-$(CONFIG_TOUCHSCREEN_TSC200X_CORE) += tsc200x-core.o obj-$(CONFIG_TOUCHSCREEN_TSC2004) += tsc2004.o obj-$(CONFIG_TOUCHSCREEN_TSC2005) += tsc2005.o tsc2007-y := tsc2007_core.o tsc2007-$(CONFIG_TOUCHSCREEN_TSC2007_IIO) += tsc2007_iio.o obj-$(CONFIG_TOUCHSCREEN_TSC2007) += tsc2007.o obj-$(CONFIG_TOUCHSCREEN_UCB1400) += ucb1400_ts.o obj-$(CONFIG_TOUCHSCREEN_WACOM_W8001) += wacom_w8001.o obj-$(CONFIG_TOUCHSCREEN_WACOM_I2C) += wacom_i2c.o obj-$(CONFIG_TOUCHSCREEN_WDT87XX_I2C) += wdt87xx_i2c.o obj-$(CONFIG_TOUCHSCREEN_WM831X) += wm831x-ts.o obj-$(CONFIG_TOUCHSCREEN_WM97XX) += wm97xx-ts.o wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9705) += wm9705.o wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9712) += wm9712.o wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9713) += wm9713.o obj-$(CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE) += mainstone-wm97xx.o obj-$(CONFIG_TOUCHSCREEN_WM97XX_ZYLONITE) += zylonite-wm97xx.o obj-$(CONFIG_TOUCHSCREEN_SX8654) += sx8654.o obj-$(CONFIG_TOUCHSCREEN_TPS6507X) += tps6507x-ts.o obj-$(CONFIG_TOUCHSCREEN_ZET6223) += zet6223.o obj-$(CONFIG_TOUCHSCREEN_ZFORCE) += zforce_ts.o obj-$(CONFIG_TOUCHSCREEN_COLIBRI_VF50) += colibri-vf50-ts.o obj-$(CONFIG_TOUCHSCREEN_ROHM_BU21023) += rohm_bu21023.o obj-$(CONFIG_TOUCHSCREEN_RASPBERRYPI_FW) += raspberrypi-ts.o obj-$(CONFIG_TOUCHSCREEN_IQS5XX) += iqs5xx.o input/gameport/Kconfig 0000644 00000003556 14722053666 0011050 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Gameport configuration # config GAMEPORT tristate "Gameport support" ---help--- Gameport support is for the standard 15-pin PC gameport. If you have a joystick, gamepad, gameport card, a soundcard with a gameport or anything else that uses the gameport, say Y or M here and also to at least one of the hardware specific drivers. For Ensoniq AudioPCI (ES1370), AudioPCI 97 (ES1371), ESS Solo1, S3 SonicVibes, Trident 4DWave, SiS7018, and ALi 5451 gameport support is provided by the sound drivers, so you won't need any from the below listed modules. You still need to say Y here. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called gameport. if GAMEPORT config GAMEPORT_NS558 tristate "Classic ISA and PnP gameport support" help Say Y here if you have an ISA or PnP gameport. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called ns558. config GAMEPORT_L4 tristate "PDPI Lightning 4 gamecard support" help Say Y here if you have a PDPI Lightning 4 gamecard. To compile this driver as a module, choose M here: the module will be called lightning. config GAMEPORT_EMU10K1 tristate "SB Live and Audigy gameport support" depends on PCI help Say Y here if you have a SoundBlaster Live! or SoundBlaster Audigy card and want to use its gameport. To compile this driver as a module, choose M here: the module will be called emu10k1-gp. config GAMEPORT_FM801 tristate "ForteMedia FM801 gameport support" depends on PCI help Say Y here if you have ForteMedia FM801 PCI audio controller (Abit AU10, Genius Sound Maker, HP Workstation zx2000, and others), and want to use its gameport. To compile this driver as a module, choose M here: the module will be called fm801-gp. endif input/gameport/Makefile 0000644 00000000524 14722053666 0011175 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the gameport drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_GAMEPORT) += gameport.o obj-$(CONFIG_GAMEPORT_EMU10K1) += emu10k1-gp.o obj-$(CONFIG_GAMEPORT_FM801) += fm801-gp.o obj-$(CONFIG_GAMEPORT_L4) += lightning.o obj-$(CONFIG_GAMEPORT_NS558) += ns558.o input/Kconfig 0000644 00000014013 14722053666 0007220 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Input device configuration # menu "Input device support" depends on !UML config INPUT tristate "Generic input layer (needed for keyboard, mouse, ...)" if EXPERT default y help Say Y here if you have any input device (mouse, keyboard, tablet, joystick, steering wheel ...) connected to your system and want it to be available to applications. This includes standard PS/2 keyboard and mouse. Say N here if you have a headless (no monitor, no keyboard) system. More information is available: <file:Documentation/input/input.rst> If unsure, say Y. To compile this driver as a module, choose M here: the module will be called input. if INPUT config INPUT_LEDS tristate "Export input device LEDs in sysfs" depends on LEDS_CLASS default INPUT help Say Y here if you would like to export LEDs on input devices as standard LED class devices in sysfs. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called input-leds. config INPUT_FF_MEMLESS tristate "Support for memoryless force-feedback devices" help Say Y here if you have memoryless force-feedback input device such as Logitech WingMan Force 3D, ThrustMaster FireStorm Dual Power 2, or similar. You will also need to enable hardware-specific driver. If unsure, say N. To compile this driver as a module, choose M here: the module will be called ff-memless. config INPUT_POLLDEV tristate "Polled input device skeleton" help Say Y here if you are using a driver for an input device that periodically polls hardware state. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. If unsure, say N. To compile this driver as a module, choose M here: the module will be called input-polldev. config INPUT_SPARSEKMAP tristate "Sparse keymap support library" help Say Y here if you are using a driver for an input device that uses sparse keymap. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. If unsure, say N. To compile this driver as a module, choose M here: the module will be called sparse-keymap. config INPUT_MATRIXKMAP tristate "Matrix keymap support library" help Say Y here if you are using a driver for an input device that uses matrix keymap. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. If unsure, say N. To compile this driver as a module, choose M here: the module will be called matrix-keymap. comment "Userland interfaces" config INPUT_MOUSEDEV tristate "Mouse interface" help Say Y here if you want your mouse to be accessible as char devices 13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an emulated IntelliMouse Explorer PS/2 mouse. That way, all user space programs (including SVGAlib, GPM and X) will be able to use your mouse. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called mousedev. config INPUT_MOUSEDEV_PSAUX bool "Provide legacy /dev/psaux device" depends on INPUT_MOUSEDEV help Say Y here if you want your mouse also be accessible as char device 10:1 - /dev/psaux. The data available through /dev/psaux is exactly the same as the data from /dev/input/mice. If unsure, say Y. config INPUT_MOUSEDEV_SCREEN_X int "Horizontal screen resolution" depends on INPUT_MOUSEDEV default "1024" help If you're using a digitizer, or a graphic tablet, and want to use it as a mouse then the mousedev driver needs to know the X window screen resolution you are using to correctly scale the data. If you're not using a digitizer, this value is ignored. config INPUT_MOUSEDEV_SCREEN_Y int "Vertical screen resolution" depends on INPUT_MOUSEDEV default "768" help If you're using a digitizer, or a graphic tablet, and want to use it as a mouse then the mousedev driver needs to know the X window screen resolution you are using to correctly scale the data. If you're not using a digitizer, this value is ignored. config INPUT_JOYDEV tristate "Joystick interface" help Say Y here if you want your joystick or gamepad to be accessible as char device 13:0+ - /dev/input/jsX device. If unsure, say Y. More information is available: <file:Documentation/input/joydev/joystick.rst> To compile this driver as a module, choose M here: the module will be called joydev. config INPUT_EVDEV tristate "Event interface" help Say Y here if you want your input device events be accessible under char device 13:64+ - /dev/input/eventX in a generic way. To compile this driver as a module, choose M here: the module will be called evdev. config INPUT_EVBUG tristate "Event debugging" help Say Y here if you have a problem with the input subsystem and want all events (keypresses, mouse movements), to be output to the system log. While this is useful for debugging, it's also a security threat - your keypresses include your passwords, of course. If unsure, say N. To compile this driver as a module, choose M here: the module will be called evbug. config INPUT_APMPOWER tristate "Input Power Event -> APM Bridge" if EXPERT depends on INPUT && APM_EMULATION help Say Y here if you want suspend key events to trigger a user requested suspend through APM. This is useful on embedded systems where such behaviour is desired without userspace interaction. If unsure, say N. To compile this driver as a module, choose M here: the module will be called apm-power. comment "Input Device Drivers" source "drivers/input/keyboard/Kconfig" source "drivers/input/mouse/Kconfig" source "drivers/input/joystick/Kconfig" source "drivers/input/tablet/Kconfig" source "drivers/input/touchscreen/Kconfig" source "drivers/input/misc/Kconfig" source "drivers/input/rmi4/Kconfig" endif menu "Hardware I/O ports" source "drivers/input/serio/Kconfig" source "drivers/input/gameport/Kconfig" endmenu endmenu input/misc/Kconfig 0000644 00000064116 14722053666 0010164 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Input misc drivers configuration # menuconfig INPUT_MISC bool "Miscellaneous devices" help Say Y here, and a list of miscellaneous input drivers will be displayed. Everything that didn't fit into the other categories is here. This option doesn't affect the kernel. If unsure, say Y. if INPUT_MISC config INPUT_88PM860X_ONKEY tristate "88PM860x ONKEY support" depends on MFD_88PM860X help Support the ONKEY of Marvell 88PM860x PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called 88pm860x_onkey. config INPUT_88PM80X_ONKEY tristate "88PM80x ONKEY support" depends on MFD_88PM800 help Support the ONKEY of Marvell 88PM80x PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called 88pm80x_onkey. config INPUT_AB8500_PONKEY tristate "AB8500 Pon (PowerOn) Key" depends on AB8500_CORE help Say Y here to use the PowerOn Key for ST-Ericsson's AB8500 Mix-Sig PMIC. To compile this driver as a module, choose M here: the module will be called ab8500-ponkey. config INPUT_AD714X tristate "Analog Devices AD714x Capacitance Touch Sensor" help Say Y here if you want to support an AD7142/3/7/8/7A touch sensor. You should select a bus connection too. To compile this driver as a module, choose M here: the module will be called ad714x. config INPUT_AD714X_I2C tristate "support I2C bus connection" depends on INPUT_AD714X && I2C default y help Say Y here if you have AD7142/AD7147 hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called ad714x-i2c. config INPUT_AD714X_SPI tristate "support SPI bus connection" depends on INPUT_AD714X && SPI default y help Say Y here if you have AD7142/AD7147 hooked to a SPI bus. To compile this driver as a module, choose M here: the module will be called ad714x-spi. config INPUT_ARIZONA_HAPTICS tristate "Arizona haptics support" depends on MFD_ARIZONA && SND_SOC select INPUT_FF_MEMLESS help Say Y to enable support for the haptics module in Arizona CODECs. To compile this driver as a module, choose M here: the module will be called arizona-haptics. config INPUT_ATMEL_CAPTOUCH tristate "Atmel Capacitive Touch Button Driver" depends on OF || COMPILE_TEST depends on I2C help Say Y here if an Atmel Capacitive Touch Button device which implements "captouch" protocol is connected to I2C bus. Typically this device consists of Atmel Touch sensor controlled by AtMegaXX MCU running firmware based on Qtouch library. One should find "atmel,captouch" node in the board specific DTS. To compile this driver as a module, choose M here: the module will be called atmel_captouch. config INPUT_BMA150 tristate "BMA150/SMB380 acceleration sensor support" depends on I2C select INPUT_POLLDEV help Say Y here if you have Bosch Sensortec's BMA150 or SMB380 acceleration sensor hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called bma150. config INPUT_E3X0_BUTTON tristate "NI Ettus Research USRP E3xx Button support." default n help Say Y here to enable support for the NI Ettus Research USRP E3xx Button. To compile this driver as a module, choose M here: the module will be called e3x0_button. config INPUT_MSM_VIBRATOR tristate "Qualcomm MSM vibrator driver" select INPUT_FF_MEMLESS help Support for the vibrator that is found on various Qualcomm MSM SOCs. To compile this driver as a module, choose M here: the module will be called msm_vibrator. config INPUT_PCSPKR tristate "PC Speaker support" depends on PCSPKR_PLATFORM help Say Y here if you want the standard PC Speaker to be used for bells and whistles. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called pcspkr. config INPUT_PM8941_PWRKEY tristate "Qualcomm PM8941 power key support" depends on MFD_SPMI_PMIC help Say Y here if you want support for the power key usually found on boards using a Qualcomm PM8941 compatible PMIC. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called pm8941-pwrkey. config INPUT_PM8XXX_VIBRATOR tristate "Qualcomm PM8XXX vibrator support" depends on MFD_PM8XXX || MFD_SPMI_PMIC select INPUT_FF_MEMLESS help This option enables device driver support for the vibrator on Qualcomm PM8xxx chip. This driver supports ff-memless interface from input framework. To compile this driver as module, choose M here: the module will be called pm8xxx-vibrator. config INPUT_PMIC8XXX_PWRKEY tristate "PMIC8XXX power key support" depends on MFD_PM8XXX help Say Y here if you want support for the PMIC8XXX power key. If unsure, say N. To compile this driver as a module, choose M here: the module will be called pmic8xxx-pwrkey. config INPUT_SPARCSPKR tristate "SPARC Speaker support" depends on PCI && SPARC64 help Say Y here if you want the standard Speaker on Sparc PCI systems to be used for bells and whistles. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called sparcspkr. config INPUT_M68K_BEEP tristate "M68k Beeper support" depends on M68K config INPUT_MAX77650_ONKEY tristate "Maxim MAX77650 ONKEY support" depends on MFD_MAX77650 help Support the ONKEY of the MAX77650 PMIC as an input device. To compile this driver as a module, choose M here: the module will be called max77650-onkey. config INPUT_MAX77693_HAPTIC tristate "MAXIM MAX77693/MAX77843 haptic controller support" depends on (MFD_MAX77693 || MFD_MAX77843) && PWM select INPUT_FF_MEMLESS help This option enables support for the haptic controller on MAXIM MAX77693 and MAX77843 chips. To compile this driver as module, choose M here: the module will be called max77693-haptic. config INPUT_MAX8925_ONKEY tristate "MAX8925 ONKEY support" depends on MFD_MAX8925 help Support the ONKEY of MAX8925 PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called max8925_onkey. config INPUT_MAX8997_HAPTIC tristate "MAXIM MAX8997 haptic controller support" depends on PWM && MFD_MAX8997 select INPUT_FF_MEMLESS help This option enables device driver support for the haptic controller on MAXIM MAX8997 chip. This driver supports ff-memless interface from input framework. To compile this driver as module, choose M here: the module will be called max8997-haptic. config INPUT_MC13783_PWRBUTTON tristate "MC13783 ON buttons" depends on MFD_MC13XXX help Support the ON buttons of MC13783 PMIC as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called mc13783-pwrbutton. config INPUT_MMA8450 tristate "MMA8450 - Freescale's 3-Axis, 8/12-bit Digital Accelerometer" depends on I2C select INPUT_POLLDEV help Say Y here if you want to support Freescale's MMA8450 Accelerometer through I2C interface. To compile this driver as a module, choose M here: the module will be called mma8450. config INPUT_APANEL tristate "Fujitsu Lifebook Application Panel buttons" depends on X86 && I2C && LEDS_CLASS select INPUT_POLLDEV select CHECK_SIGNATURE help Say Y here for support of the Application Panel buttons, used on Fujitsu Lifebook. These are attached to the mainboard through an SMBus interface managed by the I2C Intel ICH (i801) driver, which you should also build for this kernel. To compile this driver as a module, choose M here: the module will be called apanel. config INPUT_GP2A tristate "Sharp GP2AP002A00F I2C Proximity/Opto sensor driver" depends on I2C depends on GPIOLIB || COMPILE_TEST help Say Y here if you have a Sharp GP2AP002A00F proximity/als combo-chip hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called gp2ap002a00f. config INPUT_GPIO_BEEPER tristate "Generic GPIO Beeper support" depends on GPIOLIB || COMPILE_TEST help Say Y here if you have a beeper connected to a GPIO pin. To compile this driver as a module, choose M here: the module will be called gpio-beeper. config INPUT_GPIO_DECODER tristate "Polled GPIO Decoder Input driver" depends on GPIOLIB || COMPILE_TEST select INPUT_POLLDEV help Say Y here if you want driver to read status of multiple GPIO lines and report the encoded value as an absolute integer to input subsystem. To compile this driver as a module, choose M here: the module will be called gpio_decoder. config INPUT_GPIO_VIBRA tristate "GPIO vibrator support" depends on GPIOLIB || COMPILE_TEST select INPUT_FF_MEMLESS help Say Y here to get support for GPIO based vibrator devices. If unsure, say N. To compile this driver as a module, choose M here: the module will be called gpio-vibra. config INPUT_IXP4XX_BEEPER tristate "IXP4XX Beeper support" depends on ARCH_IXP4XX help If you say yes here, you can connect a beeper to the ixp4xx gpio pins. This is used by the LinkSys NSLU2. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called ixp4xx-beeper. config INPUT_COBALT_BTNS tristate "Cobalt button interface" depends on MIPS_COBALT select INPUT_POLLDEV help Say Y here if you want to support MIPS Cobalt button interface. To compile this driver as a module, choose M here: the module will be called cobalt_btns. config INPUT_CPCAP_PWRBUTTON tristate "CPCAP OnKey" depends on MFD_CPCAP help Say Y here if you want to enable power key reporting via the Motorola CPCAP chip. To compile this driver as a module, choose M here. The module will be called cpcap-pwrbutton. config INPUT_WISTRON_BTNS tristate "x86 Wistron laptop button interface" depends on X86_32 select INPUT_POLLDEV select INPUT_SPARSEKMAP select NEW_LEDS select LEDS_CLASS select CHECK_SIGNATURE help Say Y here for support of Wistron laptop button interfaces, used on laptops of various brands, including Acer and Fujitsu-Siemens. If available, mail and wifi LEDs will be controllable via /sys/class/leds. To compile this driver as a module, choose M here: the module will be called wistron_btns. config INPUT_ATLAS_BTNS tristate "x86 Atlas button interface" depends on X86 && ACPI help Say Y here for support of Atlas wallmount touchscreen buttons. The events will show up as scancodes F1 through F9 via evdev. To compile this driver as a module, choose M here: the module will be called atlas_btns. config INPUT_ATI_REMOTE2 tristate "ATI / Philips USB RF remote control" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use an ATI or Philips USB RF remote control. These are RF remotes with USB receivers. ATI Remote Wonder II comes with some ATI's All-In-Wonder video cards and is also available as a separate product. This driver provides mouse pointer, left and right mouse buttons, and maps all the other remote buttons to keypress events. To compile this driver as a module, choose M here: the module will be called ati_remote2. config INPUT_KEYSPAN_REMOTE tristate "Keyspan DMR USB remote control" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use a Keyspan DMR USB remote control. Currently only the UIA-11 type of receiver has been tested. The tag on the receiver that connects to the USB port should have a P/N that will tell you what type of DMR you have. The UIA-10 type is not supported at this time. This driver maps all buttons to keypress events. To compile this driver as a module, choose M here: the module will be called keyspan_remote. config INPUT_KXTJ9 tristate "Kionix KXTJ9 tri-axis digital accelerometer" depends on I2C help Say Y here to enable support for the Kionix KXTJ9 digital tri-axis accelerometer. To compile this driver as a module, choose M here: the module will be called kxtj9. config INPUT_KXTJ9_POLLED_MODE bool "Enable polling mode support" depends on INPUT_KXTJ9 select INPUT_POLLDEV help Say Y here if you need accelerometer to work in polling mode. config INPUT_POWERMATE tristate "Griffin PowerMate and Contour Jog support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use Griffin PowerMate or Contour Jog devices. These are aluminum dials which can measure clockwise and anticlockwise rotation. The dial also acts as a pushbutton. The base contains an LED which can be instructed to pulse or to switch to a particular intensity. You can download userspace tools from <http://sowerbutts.com/powermate/>. To compile this driver as a module, choose M here: the module will be called powermate. config INPUT_YEALINK tristate "Yealink usb-p1k voip phone" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to enable keyboard and LCD functions of the Yealink usb-p1k usb phones. The audio part is enabled by the generic usb sound driver, so you might want to enable that as well. For information about how to use these additional functions, see <file:Documentation/input/devices/yealink.rst>. To compile this driver as a module, choose M here: the module will be called yealink. config INPUT_CM109 tristate "C-Media CM109 USB I/O Controller" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to enable keyboard and buzzer functions of the C-Media CM109 usb phones. The audio part is enabled by the generic usb sound driver, so you might want to enable that as well. To compile this driver as a module, choose M here: the module will be called cm109. config INPUT_REGULATOR_HAPTIC tristate "Regulator haptics support" depends on REGULATOR select INPUT_FF_MEMLESS help This option enables device driver support for the haptic controlled by a regulator. This driver supports ff-memless interface from input framework. To compile this driver as a module, choose M here: the module will be called regulator-haptic. config INPUT_RETU_PWRBUTTON tristate "Retu Power button Driver" depends on MFD_RETU help Say Y here if you want to enable power key reporting via the Retu chips found in Nokia Internet Tablets (770, N800, N810). To compile this driver as a module, choose M here. The module will be called retu-pwrbutton. config INPUT_TPS65218_PWRBUTTON tristate "TPS65218 Power button driver" depends on (MFD_TPS65217 || MFD_TPS65218) help Say Y here if you want to enable power button reporting for TPS65217 and TPS65218 Power Management IC devices. To compile this driver as a module, choose M here. The module will be called tps65218-pwrbutton. config INPUT_AXP20X_PEK tristate "X-Powers AXP20X power button driver" depends on MFD_AXP20X help Say Y here if you want to enable power key reporting via the AXP20X PMIC. To compile this driver as a module, choose M here. The module will be called axp20x-pek. config INPUT_TWL4030_PWRBUTTON tristate "TWL4030 Power button Driver" depends on TWL4030_CORE help Say Y here if you want to enable power key reporting via the TWL4030 family of chips. To compile this driver as a module, choose M here. The module will be called twl4030_pwrbutton. config INPUT_TWL4030_VIBRA tristate "Support for TWL4030 Vibrator" depends on TWL4030_CORE select MFD_TWL4030_AUDIO select INPUT_FF_MEMLESS help This option enables support for TWL4030 Vibrator Driver. To compile this driver as a module, choose M here. The module will be called twl4030_vibra. config INPUT_TWL6040_VIBRA tristate "Support for TWL6040 Vibrator" depends on TWL6040_CORE select INPUT_FF_MEMLESS help This option enables support for TWL6040 Vibrator Driver. To compile this driver as a module, choose M here. The module will be called twl6040_vibra. config INPUT_UINPUT tristate "User level driver support" help Say Y here if you want to support user level drivers for input subsystem accessible under char device 10:223 - /dev/input/uinput. To compile this driver as a module, choose M here: the module will be called uinput. config INPUT_SGI_BTNS tristate "SGI Indy/O2 volume button interface" depends on SGI_IP22 || SGI_IP32 select INPUT_POLLDEV help Say Y here if you want to support SGI Indy/O2 volume button interface. To compile this driver as a module, choose M here: the module will be called sgi_btns. config HP_SDC_RTC tristate "HP SDC Real Time Clock" depends on (GSC || HP300) && SERIO select HP_SDC help Say Y here if you want to support the built-in real time clock of the HP SDC controller. config INPUT_PALMAS_PWRBUTTON tristate "Palmas Power button Driver" depends on MFD_PALMAS help Say Y here if you want to enable power key reporting via the Palmas family of PMICs. To compile this driver as a module, choose M here. The module will be called palmas_pwrbutton. config INPUT_PCF50633_PMU tristate "PCF50633 PMU events" depends on MFD_PCF50633 help Say Y to include support for delivering PMU events via input layer on NXP PCF50633. config INPUT_PCF8574 tristate "PCF8574 Keypad input device" depends on I2C help Say Y here if you want to support a keypad connected via I2C with a PCF8574. To compile this driver as a module, choose M here: the module will be called pcf8574_keypad. config INPUT_PWM_BEEPER tristate "PWM beeper support" depends on PWM help Say Y here to get support for PWM based beeper devices. If unsure, say N. To compile this driver as a module, choose M here: the module will be called pwm-beeper. config INPUT_PWM_VIBRA tristate "PWM vibrator support" depends on PWM select INPUT_FF_MEMLESS help Say Y here to get support for PWM based vibrator devices. If unsure, say N. To compile this driver as a module, choose M here: the module will be called pwm-vibra. config INPUT_RK805_PWRKEY tristate "Rockchip RK805 PMIC power key support" depends on MFD_RK808 help Select this option to enable power key driver for RK805. If unsure, say N. To compile this driver as a module, choose M here: the module will be called rk805_pwrkey. config INPUT_GPIO_ROTARY_ENCODER tristate "Rotary encoders connected to GPIO pins" depends on GPIOLIB || COMPILE_TEST help Say Y here to add support for rotary encoders connected to GPIO lines. Check file:Documentation/input/devices/rotary-encoder.rst for more information. To compile this driver as a module, choose M here: the module will be called rotary_encoder. config INPUT_RB532_BUTTON tristate "Mikrotik Routerboard 532 button interface" depends on MIKROTIK_RB532 depends on GPIOLIB select INPUT_POLLDEV help Say Y here if you want support for the S1 button built into Mikrotik's Routerboard 532. To compile this driver as a module, choose M here: the module will be called rb532_button. config INPUT_DA9052_ONKEY tristate "Dialog DA9052/DA9053 Onkey" depends on PMIC_DA9052 help Support the ONKEY of Dialog DA9052 PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called da9052_onkey. config INPUT_DA9055_ONKEY tristate "Dialog Semiconductor DA9055 ONKEY" depends on MFD_DA9055 help Support the ONKEY of DA9055 PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called da9055_onkey. config INPUT_DA9063_ONKEY tristate "Dialog DA9063/62/61 OnKey" depends on MFD_DA9063 || MFD_DA9062 help Support the ONKEY of Dialog DA9063, DA9062 and DA9061 Power Management ICs as an input device capable of reporting the power button status. To compile this driver as a module, choose M here: the module will be called da9063_onkey. config INPUT_DM355EVM tristate "TI DaVinci DM355 EVM Keypad and IR Remote" depends on MFD_DM355EVM_MSP select INPUT_SPARSEKMAP help Supports the pushbuttons and IR remote used with the DM355 EVM board. To compile this driver as a module, choose M here: the module will be called dm355evm_keys. config INPUT_WM831X_ON tristate "WM831X ON pin" depends on MFD_WM831X help Support the ON pin of WM831X PMICs as an input device reporting power button status. To compile this driver as a module, choose M here: the module will be called wm831x_on. config INPUT_PCAP tristate "Motorola EZX PCAP misc input events" depends on EZX_PCAP help Say Y here if you want to use Power key and Headphone button on Motorola EZX phones. To compile this driver as a module, choose M here: the module will be called pcap_keys. config INPUT_ADXL34X tristate "Analog Devices ADXL34x Three-Axis Digital Accelerometer" default n help Say Y here if you have a Accelerometer interface using the ADXL345/6 controller, and your board-specific initialization code includes that in its table of devices. This driver can use either I2C or SPI communication to the ADXL345/6 controller. Select the appropriate method for your system. If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called adxl34x. config INPUT_ADXL34X_I2C tristate "support I2C bus connection" depends on INPUT_ADXL34X && I2C default y help Say Y here if you have ADXL345/6 hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called adxl34x-i2c. config INPUT_ADXL34X_SPI tristate "support SPI bus connection" depends on INPUT_ADXL34X && SPI default y help Say Y here if you have ADXL345/6 hooked to a SPI bus. To compile this driver as a module, choose M here: the module will be called adxl34x-spi. config INPUT_IMS_PCU tristate "IMS Passenger Control Unit driver" depends on USB depends on LEDS_CLASS help Say Y here if you have system with IMS Rave Passenger Control Unit. To compile this driver as a module, choose M here: the module will be called ims_pcu. config INPUT_CMA3000 tristate "VTI CMA3000 Tri-axis accelerometer" help Say Y here if you want to use VTI CMA3000_D0x Accelerometer driver This driver currently only supports I2C interface to the controller. Also select the I2C method. If unsure, say N To compile this driver as a module, choose M here: the module will be called cma3000_d0x. config INPUT_CMA3000_I2C tristate "Support I2C bus connection" depends on INPUT_CMA3000 && I2C help Say Y here if you want to use VTI CMA3000_D0x Accelerometer through I2C interface. To compile this driver as a module, choose M here: the module will be called cma3000_d0x_i2c. config INPUT_XEN_KBDDEV_FRONTEND tristate "Xen virtual keyboard and mouse support" depends on XEN default y select XEN_XENBUS_FRONTEND help This driver implements the front-end of the Xen virtual keyboard and mouse device driver. It communicates with a back-end in another domain. To compile this driver as a module, choose M here: the module will be called xen-kbdfront. config INPUT_SIRFSOC_ONKEY tristate "CSR SiRFSoC power on/off/suspend key support" depends on ARCH_SIRF && OF default y help Say Y here if you want to support for the SiRFSoC power on/off/suspend key in Linux, after you press the onkey, system will suspend. If unsure, say N. config INPUT_IDEAPAD_SLIDEBAR tristate "IdeaPad Laptop Slidebar" depends on INPUT depends on SERIO_I8042 help Say Y here if you have an IdeaPad laptop with a slidebar. To compile this driver as a module, choose M here: the module will be called ideapad_slidebar. config INPUT_SOC_BUTTON_ARRAY tristate "Windows-compatible SoC Button Array" depends on KEYBOARD_GPIO && ACPI help Say Y here if you have a SoC-based tablet that originally runs Windows 8 or a Microsoft Surface Book 2, Pro 5, Laptop 1 or later. To compile this driver as a module, choose M here: the module will be called soc_button_array. config INPUT_DRV260X_HAPTICS tristate "TI DRV260X haptics support" depends on INPUT && I2C depends on GPIOLIB || COMPILE_TEST select INPUT_FF_MEMLESS select REGMAP_I2C help Say Y to enable support for the TI DRV260X haptics driver. To compile this driver as a module, choose M here: the module will be called drv260x-haptics. config INPUT_DRV2665_HAPTICS tristate "TI DRV2665 haptics support" depends on INPUT && I2C select INPUT_FF_MEMLESS select REGMAP_I2C help Say Y to enable support for the TI DRV2665 haptics driver. To compile this driver as a module, choose M here: the module will be called drv2665-haptics. config INPUT_DRV2667_HAPTICS tristate "TI DRV2667 haptics support" depends on INPUT && I2C select INPUT_FF_MEMLESS select REGMAP_I2C help Say Y to enable support for the TI DRV2667 haptics driver. To compile this driver as a module, choose M here: the module will be called drv2667-haptics. config INPUT_HISI_POWERKEY tristate "Hisilicon PMIC ONKEY support" depends on ARCH_HISI || COMPILE_TEST help Say Y to enable support for PMIC ONKEY. To compile this driver as a module, choose M here: the module will be called hisi_powerkey. config INPUT_RAVE_SP_PWRBUTTON tristate "RAVE SP Power button Driver" depends on RAVE_SP_CORE help Say Y here if you want to enable power key reporting from RAVE SP To compile this driver as a module, choose M here: the module will be called rave-sp-pwrbutton. config INPUT_SC27XX_VIBRA tristate "Spreadtrum sc27xx vibrator support" depends on MFD_SC27XX_PMIC || COMPILE_TEST select INPUT_FF_MEMLESS help This option enables support for Spreadtrum sc27xx vibrator driver. To compile this driver as a module, choose M here. The module will be called sc27xx_vibra. config INPUT_STPMIC1_ONKEY tristate "STPMIC1 PMIC Onkey support" depends on MFD_STPMIC1 help Say Y to enable support of onkey embedded into STPMIC1 PMIC. onkey can be used to wakeup from low power modes and force a shut-down on long press. To compile this driver as a module, choose M here: the module will be called stpmic1_onkey. endif input/misc/Makefile 0000644 00000010112 14722053666 0010304 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the input misc drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_INPUT_88PM860X_ONKEY) += 88pm860x_onkey.o obj-$(CONFIG_INPUT_88PM80X_ONKEY) += 88pm80x_onkey.o obj-$(CONFIG_INPUT_AB8500_PONKEY) += ab8500-ponkey.o obj-$(CONFIG_INPUT_AD714X) += ad714x.o obj-$(CONFIG_INPUT_AD714X_I2C) += ad714x-i2c.o obj-$(CONFIG_INPUT_AD714X_SPI) += ad714x-spi.o obj-$(CONFIG_INPUT_ADXL34X) += adxl34x.o obj-$(CONFIG_INPUT_ADXL34X_I2C) += adxl34x-i2c.o obj-$(CONFIG_INPUT_ADXL34X_SPI) += adxl34x-spi.o obj-$(CONFIG_INPUT_APANEL) += apanel.o obj-$(CONFIG_INPUT_ARIZONA_HAPTICS) += arizona-haptics.o obj-$(CONFIG_INPUT_ATI_REMOTE2) += ati_remote2.o obj-$(CONFIG_INPUT_ATLAS_BTNS) += atlas_btns.o obj-$(CONFIG_INPUT_ATMEL_CAPTOUCH) += atmel_captouch.o obj-$(CONFIG_INPUT_BMA150) += bma150.o obj-$(CONFIG_INPUT_CM109) += cm109.o obj-$(CONFIG_INPUT_CMA3000) += cma3000_d0x.o obj-$(CONFIG_INPUT_CMA3000_I2C) += cma3000_d0x_i2c.o obj-$(CONFIG_INPUT_COBALT_BTNS) += cobalt_btns.o obj-$(CONFIG_INPUT_CPCAP_PWRBUTTON) += cpcap-pwrbutton.o obj-$(CONFIG_INPUT_DA9052_ONKEY) += da9052_onkey.o obj-$(CONFIG_INPUT_DA9055_ONKEY) += da9055_onkey.o obj-$(CONFIG_INPUT_DA9063_ONKEY) += da9063_onkey.o obj-$(CONFIG_INPUT_DM355EVM) += dm355evm_keys.o obj-$(CONFIG_INPUT_E3X0_BUTTON) += e3x0-button.o obj-$(CONFIG_INPUT_DRV260X_HAPTICS) += drv260x.o obj-$(CONFIG_INPUT_DRV2665_HAPTICS) += drv2665.o obj-$(CONFIG_INPUT_DRV2667_HAPTICS) += drv2667.o obj-$(CONFIG_INPUT_GP2A) += gp2ap002a00f.o obj-$(CONFIG_INPUT_GPIO_BEEPER) += gpio-beeper.o obj-$(CONFIG_INPUT_GPIO_DECODER) += gpio_decoder.o obj-$(CONFIG_INPUT_GPIO_VIBRA) += gpio-vibra.o obj-$(CONFIG_INPUT_HISI_POWERKEY) += hisi_powerkey.o obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o obj-$(CONFIG_INPUT_IMS_PCU) += ims-pcu.o obj-$(CONFIG_INPUT_IXP4XX_BEEPER) += ixp4xx-beeper.o obj-$(CONFIG_INPUT_KEYSPAN_REMOTE) += keyspan_remote.o obj-$(CONFIG_INPUT_KXTJ9) += kxtj9.o obj-$(CONFIG_INPUT_M68K_BEEP) += m68kspkr.o obj-$(CONFIG_INPUT_MAX77650_ONKEY) += max77650-onkey.o obj-$(CONFIG_INPUT_MAX77693_HAPTIC) += max77693-haptic.o obj-$(CONFIG_INPUT_MAX8925_ONKEY) += max8925_onkey.o obj-$(CONFIG_INPUT_MAX8997_HAPTIC) += max8997_haptic.o obj-$(CONFIG_INPUT_MC13783_PWRBUTTON) += mc13783-pwrbutton.o obj-$(CONFIG_INPUT_MMA8450) += mma8450.o obj-$(CONFIG_INPUT_MSM_VIBRATOR) += msm-vibrator.o obj-$(CONFIG_INPUT_PALMAS_PWRBUTTON) += palmas-pwrbutton.o obj-$(CONFIG_INPUT_PCAP) += pcap_keys.o obj-$(CONFIG_INPUT_PCF50633_PMU) += pcf50633-input.o obj-$(CONFIG_INPUT_PCF8574) += pcf8574_keypad.o obj-$(CONFIG_INPUT_PCSPKR) += pcspkr.o obj-$(CONFIG_INPUT_PM8941_PWRKEY) += pm8941-pwrkey.o obj-$(CONFIG_INPUT_PM8XXX_VIBRATOR) += pm8xxx-vibrator.o obj-$(CONFIG_INPUT_PMIC8XXX_PWRKEY) += pmic8xxx-pwrkey.o obj-$(CONFIG_INPUT_POWERMATE) += powermate.o obj-$(CONFIG_INPUT_PWM_BEEPER) += pwm-beeper.o obj-$(CONFIG_INPUT_PWM_VIBRA) += pwm-vibra.o obj-$(CONFIG_INPUT_RAVE_SP_PWRBUTTON) += rave-sp-pwrbutton.o obj-$(CONFIG_INPUT_RB532_BUTTON) += rb532_button.o obj-$(CONFIG_INPUT_REGULATOR_HAPTIC) += regulator-haptic.o obj-$(CONFIG_INPUT_RETU_PWRBUTTON) += retu-pwrbutton.o obj-$(CONFIG_INPUT_AXP20X_PEK) += axp20x-pek.o obj-$(CONFIG_INPUT_GPIO_ROTARY_ENCODER) += rotary_encoder.o obj-$(CONFIG_INPUT_RK805_PWRKEY) += rk805-pwrkey.o obj-$(CONFIG_INPUT_SC27XX_VIBRA) += sc27xx-vibra.o obj-$(CONFIG_INPUT_SGI_BTNS) += sgi_btns.o obj-$(CONFIG_INPUT_SIRFSOC_ONKEY) += sirfsoc-onkey.o obj-$(CONFIG_INPUT_SOC_BUTTON_ARRAY) += soc_button_array.o obj-$(CONFIG_INPUT_SPARCSPKR) += sparcspkr.o obj-$(CONFIG_INPUT_STPMIC1_ONKEY) += stpmic1_onkey.o obj-$(CONFIG_INPUT_TPS65218_PWRBUTTON) += tps65218-pwrbutton.o obj-$(CONFIG_INPUT_TWL4030_PWRBUTTON) += twl4030-pwrbutton.o obj-$(CONFIG_INPUT_TWL4030_VIBRA) += twl4030-vibra.o obj-$(CONFIG_INPUT_TWL6040_VIBRA) += twl6040-vibra.o obj-$(CONFIG_INPUT_UINPUT) += uinput.o obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o obj-$(CONFIG_INPUT_WM831X_ON) += wm831x-on.o obj-$(CONFIG_INPUT_XEN_KBDDEV_FRONTEND) += xen-kbdfront.o obj-$(CONFIG_INPUT_YEALINK) += yealink.o obj-$(CONFIG_INPUT_IDEAPAD_SLIDEBAR) += ideapad_slidebar.o input/joystick/iforce/Kconfig 0000644 00000001721 14722053666 0012330 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # I-Force driver configuration # config JOYSTICK_IFORCE tristate "I-Force devices" depends on INPUT && INPUT_JOYSTICK help Say Y here if you have an I-Force joystick or steering wheel You also must choose at least one of the two options below. To compile this driver as a module, choose M here: the module will be called iforce. config JOYSTICK_IFORCE_USB tristate "I-Force USB joysticks and wheels" depends on JOYSTICK_IFORCE && USB help Say Y here if you have an I-Force joystick or steering wheel connected to your USB port. config JOYSTICK_IFORCE_232 tristate "I-Force Serial joysticks and wheels" depends on JOYSTICK_IFORCE && SERIO help Say Y here if you have an I-Force joystick or steering wheel connected to your serial (COM) port. You will need an additional utility called inputattach, see <file:Documentation/input/joydev/joystick.rst> and <file:Documentation/input/ff.rst>. input/joystick/iforce/Makefile 0000644 00000000506 14722053666 0012465 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the I-Force driver # # By Johann Deneux <johann.deneux@gmail.com> # obj-$(CONFIG_JOYSTICK_IFORCE) += iforce.o iforce-y := iforce-ff.o iforce-main.o iforce-packets.o obj-$(CONFIG_JOYSTICK_IFORCE_232) += iforce-serio.o obj-$(CONFIG_JOYSTICK_IFORCE_USB) += iforce-usb.o input/joystick/Kconfig 0000644 00000027226 14722053666 0011071 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Joystick driver configuration # menuconfig INPUT_JOYSTICK bool "Joysticks/Gamepads" help If you have a joystick, 6dof controller, gamepad, steering wheel, weapon control system or something like that you can say Y here and the list of supported devices will be displayed. This option doesn't affect the kernel. Please read the file <file:Documentation/input/joydev/joystick.rst> which contains more information. if INPUT_JOYSTICK config JOYSTICK_ANALOG tristate "Classic PC analog joysticks and gamepads" select GAMEPORT ---help--- Say Y here if you have a joystick that connects to the PC gameport. In addition to the usual PC analog joystick, this driver supports many extensions, including joysticks with throttle control, with rudders, additional hats and buttons compatible with CH Flightstick Pro, ThrustMaster FCS, 6 and 8 button gamepads, or Saitek Cyborg joysticks. Please read the file <file:Documentation/input/joydev/joystick.rst> which contains more information. To compile this driver as a module, choose M here: the module will be called analog. config JOYSTICK_A3D tristate "Assassin 3D and MadCatz Panther devices" select GAMEPORT help Say Y here if you have an FPGaming or MadCatz controller using the A3D protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called a3d. config JOYSTICK_ADI tristate "Logitech ADI digital joysticks and gamepads" select GAMEPORT help Say Y here if you have a Logitech controller using the ADI protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called adi. config JOYSTICK_COBRA tristate "Creative Labs Blaster Cobra gamepad" select GAMEPORT help Say Y here if you have a Creative Labs Blaster Cobra gamepad. To compile this driver as a module, choose M here: the module will be called cobra. config JOYSTICK_GF2K tristate "Genius Flight2000 Digital joysticks and gamepads" select GAMEPORT help Say Y here if you have a Genius Flight2000 or MaxFighter digitally communicating joystick or gamepad. To compile this driver as a module, choose M here: the module will be called gf2k. config JOYSTICK_GRIP tristate "Gravis GrIP joysticks and gamepads" select GAMEPORT help Say Y here if you have a Gravis controller using the GrIP protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called grip. config JOYSTICK_GRIP_MP tristate "Gravis GrIP MultiPort" select GAMEPORT help Say Y here if you have the original Gravis GrIP MultiPort, a hub that connects to the gameport and you connect gamepads to it. To compile this driver as a module, choose M here: the module will be called grip_mp. config JOYSTICK_GUILLEMOT tristate "Guillemot joysticks and gamepads" select GAMEPORT help Say Y here if you have a Guillemot joystick using a digital protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called guillemot. config JOYSTICK_INTERACT tristate "InterAct digital joysticks and gamepads" select GAMEPORT help Say Y here if you have an InterAct gameport or joystick communicating digitally over the gameport. To compile this driver as a module, choose M here: the module will be called interact. config JOYSTICK_SIDEWINDER tristate "Microsoft SideWinder digital joysticks and gamepads" select GAMEPORT help Say Y here if you have a Microsoft controller using the Digital Overdrive protocol over PC gameport. To compile this driver as a module, choose M here: the module will be called sidewinder. config JOYSTICK_TMDC tristate "ThrustMaster DirectConnect joysticks and gamepads" select GAMEPORT help Say Y here if you have a ThrustMaster controller using the DirectConnect (BSP) protocol over the PC gameport. To compile this driver as a module, choose M here: the module will be called tmdc. source "drivers/input/joystick/iforce/Kconfig" config JOYSTICK_WARRIOR tristate "Logitech WingMan Warrior joystick" select SERIO help Say Y here if you have a Logitech WingMan Warrior joystick connected to your computer's serial port. To compile this driver as a module, choose M here: the module will be called warrior. config JOYSTICK_MAGELLAN tristate "LogiCad3d Magellan/SpaceMouse 6dof controllers" select SERIO help Say Y here if you have a Magellan or Space Mouse 6DOF controller connected to your computer's serial port. To compile this driver as a module, choose M here: the module will be called magellan. config JOYSTICK_SPACEORB tristate "SpaceTec SpaceOrb/Avenger 6dof controllers" select SERIO help Say Y here if you have a SpaceOrb 360 or SpaceBall Avenger 6DOF controller connected to your computer's serial port. To compile this driver as a module, choose M here: the module will be called spaceorb. config JOYSTICK_SPACEBALL tristate "SpaceTec SpaceBall 6dof controllers" select SERIO help Say Y here if you have a SpaceTec SpaceBall 2003/3003/4000 FLX controller connected to your computer's serial port. For the SpaceBall 4000 USB model, use the USB HID driver. To compile this driver as a module, choose M here: the module will be called spaceball. config JOYSTICK_STINGER tristate "Gravis Stinger gamepad" select SERIO help Say Y here if you have a Gravis Stinger connected to one of your serial ports. To compile this driver as a module, choose M here: the module will be called stinger. config JOYSTICK_TWIDJOY tristate "Twiddler as a joystick" select SERIO help Say Y here if you have a Handykey Twiddler connected to your computer's serial port and want to use it as a joystick. To compile this driver as a module, choose M here: the module will be called twidjoy. config JOYSTICK_ZHENHUA tristate "5-byte Zhenhua RC transmitter" select SERIO select BITREVERSE help Say Y here if you have a Zhen Hua PPM-4CH transmitter which is supplied with a ready to fly micro electric indoor helicopters such as EasyCopter, Lama, MiniCopter, DragonFly or Jabo and want to use it via serial cable as a joystick. To compile this driver as a module, choose M here: the module will be called zhenhua. config JOYSTICK_DB9 tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" depends on PARPORT help Say Y here if you have a Sega Master System gamepad, Sega Genesis gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga, Commodore, Amstrad CPC joystick connected to your parallel port. For more information on how to use the driver please read <file:Documentation/input/devices/joystick-parport.rst>. To compile this driver as a module, choose M here: the module will be called db9. config JOYSTICK_GAMECON tristate "Multisystem, NES, SNES, N64, PSX joysticks and gamepads" depends on PARPORT select INPUT_FF_MEMLESS ---help--- Say Y here if you have a Nintendo Entertainment System gamepad, Super Nintendo Entertainment System gamepad, Nintendo 64 gamepad, Sony PlayStation gamepad or a Multisystem -- Atari, Amiga, Commodore, Amstrad CPC joystick connected to your parallel port. For more information on how to use the driver please read <file:Documentation/input/devices/joystick-parport.rst>. To compile this driver as a module, choose M here: the module will be called gamecon. config JOYSTICK_TURBOGRAFX tristate "Multisystem joysticks via TurboGraFX device" depends on PARPORT help Say Y here if you have the TurboGraFX interface by Steffen Schwenke, and want to use it with Multisystem -- Atari, Amiga, Commodore, Amstrad CPC joystick. For more information on how to use the driver please read <file:Documentation/input/devices/joystick-parport.rst>. To compile this driver as a module, choose M here: the module will be called turbografx. config JOYSTICK_AMIGA tristate "Amiga joysticks" depends on AMIGA help Say Y here if you have an Amiga with a digital joystick connected to it. To compile this driver as a module, choose M here: the module will be called amijoy. config JOYSTICK_AS5011 tristate "Austria Microsystem AS5011 joystick" depends on I2C help Say Y here if you have an AS5011 digital joystick connected to your system. To compile this driver as a module, choose M here: the module will be called as5011. config JOYSTICK_JOYDUMP tristate "Gameport data dumper" select GAMEPORT help Say Y here if you want to dump data from your joystick into the system log for debugging purposes. Say N if you are making a production configuration or aren't sure. To compile this driver as a module, choose M here: the module will be called joydump. config JOYSTICK_XPAD tristate "X-Box gamepad support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the X-Box pad with your computer. Make sure to say Y to "Joystick support" (CONFIG_INPUT_JOYDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. For information about how to connect the X-Box pad to USB, see <file:Documentation/input/devices/xpad.rst>. To compile this driver as a module, choose M here: the module will be called xpad. config JOYSTICK_XPAD_FF bool "X-Box gamepad rumble support" depends on JOYSTICK_XPAD && INPUT select INPUT_FF_MEMLESS ---help--- Say Y here if you want to take advantage of xbox 360 rumble features. config JOYSTICK_XPAD_LEDS bool "LED Support for Xbox360 controller 'BigX' LED" depends on JOYSTICK_XPAD && (LEDS_CLASS=y || LEDS_CLASS=JOYSTICK_XPAD) ---help--- This option enables support for the LED which surrounds the Big X on XBox 360 controller. config JOYSTICK_WALKERA0701 tristate "Walkera WK-0701 RC transmitter" depends on HIGH_RES_TIMERS && PARPORT help Say Y or M here if you have a Walkera WK-0701 transmitter which is supplied with a ready to fly Walkera helicopters such as HM36, HM37, HM60 and want to use it via parport as a joystick. More information is available: <file:Documentation/input/devices/walkera0701.rst> To compile this driver as a module, choose M here: the module will be called walkera0701. config JOYSTICK_MAPLE tristate "Dreamcast control pad" depends on MAPLE help Say Y here if you have a SEGA Dreamcast and want to use your controller as a joystick. Most Dreamcast users will say Y. To compile this as a module choose M here: the module will be called maplecontrol. config JOYSTICK_PSXPAD_SPI tristate "PlayStation 1/2 joypads via SPI interface" depends on SPI select INPUT_POLLDEV help Say Y here if you wish to connect PlayStation 1/2 joypads via SPI interface. To compile this driver as a module, choose M here: the module will be called psxpad-spi. config JOYSTICK_PSXPAD_SPI_FF bool "PlayStation 1/2 joypads force feedback (rumble) support" depends on JOYSTICK_PSXPAD_SPI select INPUT_FF_MEMLESS help Say Y here if you want to take advantage of PlayStation 1/2 joypads rumble features. To drive rumble motor a dedicated power supply is required. config JOYSTICK_PXRC tristate "PhoenixRC Flight Controller Adapter" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the PhoenixRC Flight Controller Adapter. To compile this driver as a module, choose M here: the module will be called pxrc. config JOYSTICK_FSIA6B tristate "FlySky FS-iA6B RC Receiver" select SERIO help Say Y here if you use a FlySky FS-i6 RC remote control along with the FS-iA6B RC receiver as a joystick input device. To compile this driver as a module, choose M here: the module will be called fsia6b. endif input/joystick/Makefile 0000644 00000002730 14722053666 0011217 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the input core drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_JOYSTICK_A3D) += a3d.o obj-$(CONFIG_JOYSTICK_ADI) += adi.o obj-$(CONFIG_JOYSTICK_AMIGA) += amijoy.o obj-$(CONFIG_JOYSTICK_AS5011) += as5011.o obj-$(CONFIG_JOYSTICK_ANALOG) += analog.o obj-$(CONFIG_JOYSTICK_COBRA) += cobra.o obj-$(CONFIG_JOYSTICK_DB9) += db9.o obj-$(CONFIG_JOYSTICK_FSIA6B) += fsia6b.o obj-$(CONFIG_JOYSTICK_GAMECON) += gamecon.o obj-$(CONFIG_JOYSTICK_GF2K) += gf2k.o obj-$(CONFIG_JOYSTICK_GRIP) += grip.o obj-$(CONFIG_JOYSTICK_GRIP_MP) += grip_mp.o obj-$(CONFIG_JOYSTICK_GUILLEMOT) += guillemot.o obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/ obj-$(CONFIG_JOYSTICK_INTERACT) += interact.o obj-$(CONFIG_JOYSTICK_JOYDUMP) += joydump.o obj-$(CONFIG_JOYSTICK_MAGELLAN) += magellan.o obj-$(CONFIG_JOYSTICK_MAPLE) += maplecontrol.o obj-$(CONFIG_JOYSTICK_PSXPAD_SPI) += psxpad-spi.o obj-$(CONFIG_JOYSTICK_PXRC) += pxrc.o obj-$(CONFIG_JOYSTICK_SIDEWINDER) += sidewinder.o obj-$(CONFIG_JOYSTICK_SPACEBALL) += spaceball.o obj-$(CONFIG_JOYSTICK_SPACEORB) += spaceorb.o obj-$(CONFIG_JOYSTICK_STINGER) += stinger.o obj-$(CONFIG_JOYSTICK_TMDC) += tmdc.o obj-$(CONFIG_JOYSTICK_TURBOGRAFX) += turbografx.o obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o obj-$(CONFIG_JOYSTICK_WALKERA0701) += walkera0701.o obj-$(CONFIG_JOYSTICK_XPAD) += xpad.o obj-$(CONFIG_JOYSTICK_ZHENHUA) += zhenhua.o input/rmi4/Kconfig 0000644 00000005715 14722053666 0010104 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # RMI4 configuration # config RMI4_CORE tristate "Synaptics RMI4 bus support" select IRQ_DOMAIN help Say Y here if you want to support the Synaptics RMI4 bus. This is required for all RMI4 device support. If unsure, say Y. if RMI4_CORE config RMI4_I2C tristate "RMI4 I2C Support" depends on I2C help Say Y here if you want to support RMI4 devices connected to an I2C bus. If unsure, say Y. config RMI4_SPI tristate "RMI4 SPI Support" depends on SPI help Say Y here if you want to support RMI4 devices connected to a SPI bus. If unsure, say N. config RMI4_SMB tristate "RMI4 SMB Support" depends on I2C help Say Y here if you want to support RMI4 devices connected to an SMB bus. If unsure, say N. To compile this driver as a module, choose M here: the module will be called rmi_smbus. config RMI4_F03 bool "RMI4 Function 03 (PS2 Guest)" depends on RMI4_CORE help Say Y here if you want to add support for RMI4 function 03. Function 03 provides PS2 guest support for RMI4 devices. This includes support for TrackPoints on TouchPads. config RMI4_F03_SERIO tristate depends on RMI4_CORE depends on RMI4_F03 default RMI4_CORE select SERIO config RMI4_2D_SENSOR bool config RMI4_F11 bool "RMI4 Function 11 (2D pointing)" select RMI4_2D_SENSOR help Say Y here if you want to add support for RMI4 function 11. Function 11 provides 2D multifinger pointing for touchscreens and touchpads. For sensors that support relative pointing, F11 also provides mouse input. config RMI4_F12 bool "RMI4 Function 12 (2D pointing)" select RMI4_2D_SENSOR help Say Y here if you want to add support for RMI4 function 12. Function 12 provides 2D multifinger pointing for touchscreens and touchpads. For sensors that support relative pointing, F12 also provides mouse input. config RMI4_F30 bool "RMI4 Function 30 (GPIO LED)" help Say Y here if you want to add support for RMI4 function 30. Function 30 provides GPIO and LED support for RMI4 devices. This includes support for buttons on TouchPads and ClickPads. config RMI4_F34 bool "RMI4 Function 34 (Device reflash)" select FW_LOADER help Say Y here if you want to add support for RMI4 function 34. Function 34 provides support for upgrading the firmware on the RMI4 device via the firmware loader interface. This is triggered using a sysfs attribute. config RMI4_F54 bool "RMI4 Function 54 (Analog diagnostics)" depends on VIDEO_V4L2=y || (RMI4_CORE=m && VIDEO_V4L2=m) select VIDEOBUF2_VMALLOC select RMI4_F55 help Say Y here if you want to add support for RMI4 function 54 Function 54 provides access to various diagnostic features in certain RMI4 touch sensors. config RMI4_F55 bool "RMI4 Function 55 (Sensor tuning)" help Say Y here if you want to add support for RMI4 function 55 Function 55 provides access to the RMI4 touch sensor tuning mechanism. endif # RMI_CORE input/rmi4/Makefile 0000644 00000001151 14722053666 0010227 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_RMI4_CORE) += rmi_core.o rmi_core-y := rmi_bus.o rmi_driver.o rmi_f01.o rmi_core-$(CONFIG_RMI4_2D_SENSOR) += rmi_2d_sensor.o # Function drivers rmi_core-$(CONFIG_RMI4_F03) += rmi_f03.o rmi_core-$(CONFIG_RMI4_F11) += rmi_f11.o rmi_core-$(CONFIG_RMI4_F12) += rmi_f12.o rmi_core-$(CONFIG_RMI4_F30) += rmi_f30.o rmi_core-$(CONFIG_RMI4_F34) += rmi_f34.o rmi_f34v7.o rmi_core-$(CONFIG_RMI4_F54) += rmi_f54.o rmi_core-$(CONFIG_RMI4_F55) += rmi_f55.o # Transports obj-$(CONFIG_RMI4_I2C) += rmi_i2c.o obj-$(CONFIG_RMI4_SPI) += rmi_spi.o obj-$(CONFIG_RMI4_SMB) += rmi_smbus.o input/serio/Kconfig 0000644 00000022243 14722053666 0010345 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Input core configuration # config SERIO tristate "Serial I/O support" default y help Say Yes here if you have any input device that uses serial I/O to communicate with the system. This includes the * standard AT keyboard and PS/2 mouse * as well as serial mice, Sun keyboards, some joysticks and 6dof devices and more. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called serio. config ARCH_MIGHT_HAVE_PC_SERIO bool help Select this config option from the architecture Kconfig if the architecture might use a PC serio device (i8042) to communicate with keyboard, mouse, etc. if SERIO config SERIO_I8042 tristate "i8042 PC Keyboard controller" default y depends on ARCH_MIGHT_HAVE_PC_SERIO help i8042 is the chip over which the standard AT keyboard and PS/2 mouse are connected to the computer. If you use these devices, you'll need to say Y here. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called i8042. config SERIO_SERPORT tristate "Serial port line discipline" default y depends on TTY help Say Y here if you plan to use an input device (mouse, joystick, tablet, 6dof) that communicates over the RS232 serial (COM) port. More information is available: <file:Documentation/input/input.rst> If unsure, say Y. To compile this driver as a module, choose M here: the module will be called serport. config SERIO_CT82C710 tristate "ct82c710 Aux port controller" depends on X86 help Say Y here if you have a Texas Instruments TravelMate notebook equipped with the ct82c710 chip and want to use a mouse connected to the "QuickPort". If unsure, say N. To compile this driver as a module, choose M here: the module will be called ct82c710. config SERIO_Q40KBD tristate "Q40 keyboard controller" depends on Q40 config SERIO_PARKBD tristate "Parallel port keyboard adapter" depends on PARPORT help Say Y here if you built a simple parallel port adapter to attach an additional AT keyboard, XT keyboard or PS/2 mouse. More information is available: <file:Documentation/input/input.rst> If unsure, say N. To compile this driver as a module, choose M here: the module will be called parkbd. config SERIO_RPCKBD tristate "Acorn RiscPC keyboard controller" depends on ARCH_ACORN default y help Say Y here if you have the Acorn RiscPC and want to use an AT keyboard connected to its keyboard controller. To compile this driver as a module, choose M here: the module will be called rpckbd. config SERIO_AMBAKMI tristate "AMBA KMI keyboard controller" depends on ARM_AMBA config SERIO_SA1111 tristate "Intel SA1111 keyboard controller" depends on SA1111 config SERIO_GSCPS2 tristate "HP GSC PS/2 keyboard and PS/2 mouse controller" depends on GSC default y help This driver provides support for the PS/2 ports on PA-RISC machines over which HP PS/2 keyboards and PS/2 mice may be connected. If you use these devices, you'll need to say Y here. It's safe to enable this driver, so if unsure, say Y. To compile this driver as a module, choose M here: the module will be called gscps2. config HP_SDC tristate "HP System Device Controller i8042 Support" depends on (GSC || HP300) && SERIO default y help This option enables support for the "System Device Controller", an i8042 carrying microcode to manage a few miscellaneous devices on some Hewlett Packard systems. The SDC itself contains a 10ms resolution timer/clock capable of delivering interrupts on a periodic and one-shot basis. The SDC may also be connected to a battery-backed real-time clock, a basic audio waveform generator, and an HP-HIL Master Link Controller serving up to seven input devices. By itself this option is rather useless, but enabling it will enable selection of drivers for the abovementioned devices. It is, however, incompatible with the old, reliable HIL keyboard driver, and the new HIL driver is experimental, so if you plan to use a HIL keyboard as your primary keyboard, you may wish to keep using that driver until the new HIL drivers have had more testing. config HIL_MLC tristate "HIL MLC Support (needed for HIL input devices)" depends on HP_SDC config SERIO_PCIPS2 tristate "PCI PS/2 keyboard and PS/2 mouse controller" depends on PCI help Say Y here if you have a Mobility Docking station with PS/2 keyboard and mice ports. To compile this driver as a module, choose M here: the module will be called pcips2. config SERIO_MACEPS2 tristate "SGI O2 MACE PS/2 controller" depends on SGI_IP32 help Say Y here if you have SGI O2 workstation and want to use its PS/2 ports. To compile this driver as a module, choose M here: the module will be called maceps2. config SERIO_LIBPS2 tristate "PS/2 driver library" depends on SERIO_I8042 || SERIO_I8042=n help Say Y here if you are using a driver for device connected to a PS/2 port, such as PS/2 mouse or standard AT keyboard. To compile this driver as a module, choose M here: the module will be called libps2. config SERIO_RAW tristate "Raw access to serio ports" help Say Y here if you want to have raw access to serio ports, such as AUX ports on i8042 keyboard controller. Each serio port that is bound to this driver will be accessible via a char device with major 10 and dynamically allocated minor. The driver will try allocating minor 1 (that historically corresponds to /dev/psaux) first. To bind this driver to a serio port use sysfs interface: echo -n "serio_raw" > /sys/bus/serio/devices/serioX/drvctl To compile this driver as a module, choose M here: the module will be called serio_raw. config SERIO_XILINX_XPS_PS2 tristate "Xilinx XPS PS/2 Controller Support" depends on PPC || MICROBLAZE help This driver supports XPS PS/2 IP from the Xilinx EDK on PowerPC platform. To compile this driver as a module, choose M here: the module will be called xilinx_ps2. config SERIO_ALTERA_PS2 tristate "Altera UP PS/2 controller" depends on HAS_IOMEM help Say Y here if you have Altera University Program PS/2 ports. To compile this driver as a module, choose M here: the module will be called altera_ps2. config SERIO_AMS_DELTA tristate "Amstrad Delta (E3) mailboard support" depends on MACH_AMS_DELTA default y ---help--- Say Y here if you have an E3 and want to use its mailboard, or any standard AT keyboard connected to the mailboard port. When used for the E3 mailboard, a non-standard key table must be loaded from userspace, possibly using udev extras provided keymap helper utility. To compile this driver as a module, choose M here; the module will be called ams_delta_serio. config SERIO_PS2MULT tristate "TQC PS/2 multiplexer" help Say Y here if you have the PS/2 line multiplexer like the one present on TQC boards. To compile this driver as a module, choose M here: the module will be called ps2mult. config SERIO_ARC_PS2 tristate "ARC PS/2 support" depends on HAS_IOMEM help Say Y here if you have an ARC FPGA platform with a PS/2 controller in it. To compile this driver as a module, choose M here; the module will be called arc_ps2. config SERIO_APBPS2 tristate "GRLIB APBPS2 PS/2 keyboard/mouse controller" depends on OF help Say Y here if you want support for GRLIB APBPS2 peripherals used to connect to PS/2 keyboard and/or mouse. To compile this driver as a module, choose M here: the module will be called apbps2. config SERIO_OLPC_APSP tristate "OLPC AP-SP input support" depends on ARCH_MMP || COMPILE_TEST help Say Y here if you want support for the keyboard and touchpad included in the OLPC XO-1.75 and XO-4 laptops. To compile this driver as a module, choose M here: the module will be called olpc_apsp. config HYPERV_KEYBOARD tristate "Microsoft Synthetic Keyboard driver" depends on HYPERV default HYPERV help Select this option to enable the Hyper-V Keyboard driver. To compile this driver as a module, choose M here: the module will be called hyperv_keyboard. config SERIO_SUN4I_PS2 tristate "Allwinner A10 PS/2 controller support" depends on ARCH_SUNXI || COMPILE_TEST help This selects support for the PS/2 Host Controller on Allwinner A10. To compile this driver as a module, choose M here: the module will be called sun4i-ps2. config SERIO_GPIO_PS2 tristate "GPIO PS/2 bit banging driver" depends on GPIOLIB help Say Y here if you want PS/2 bit banging support via GPIO. To compile this driver as a module, choose M here: the module will be called ps2-gpio. If you are unsure, say N. config USERIO tristate "User space serio port driver support" help Say Y here if you want to support user level drivers for serio subsystem accessible under char device 10:240 - /dev/userio. Using this facility userspace programs can implement serio ports that will be used by the standard in-kernel serio consumer drivers, such as psmouse and atkbd. To compile this driver as a module, choose M here: the module will be called userio. If you are unsure, say N. endif input/serio/Makefile 0000644 00000002347 14722053666 0010505 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the input core drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_SERIO) += serio.o obj-$(CONFIG_SERIO_I8042) += i8042.o obj-$(CONFIG_SERIO_PARKBD) += parkbd.o obj-$(CONFIG_SERIO_SERPORT) += serport.o obj-$(CONFIG_SERIO_CT82C710) += ct82c710.o obj-$(CONFIG_SERIO_RPCKBD) += rpckbd.o obj-$(CONFIG_SERIO_SA1111) += sa1111ps2.o obj-$(CONFIG_SERIO_AMBAKMI) += ambakmi.o obj-$(CONFIG_SERIO_Q40KBD) += q40kbd.o obj-$(CONFIG_SERIO_GSCPS2) += gscps2.o obj-$(CONFIG_HP_SDC) += hp_sdc.o obj-$(CONFIG_HIL_MLC) += hp_sdc_mlc.o hil_mlc.o obj-$(CONFIG_SERIO_PCIPS2) += pcips2.o obj-$(CONFIG_SERIO_PS2MULT) += ps2mult.o obj-$(CONFIG_SERIO_MACEPS2) += maceps2.o obj-$(CONFIG_SERIO_LIBPS2) += libps2.o obj-$(CONFIG_SERIO_RAW) += serio_raw.o obj-$(CONFIG_SERIO_AMS_DELTA) += ams_delta_serio.o obj-$(CONFIG_SERIO_XILINX_XPS_PS2) += xilinx_ps2.o obj-$(CONFIG_SERIO_ALTERA_PS2) += altera_ps2.o obj-$(CONFIG_SERIO_ARC_PS2) += arc_ps2.o obj-$(CONFIG_SERIO_APBPS2) += apbps2.o obj-$(CONFIG_SERIO_OLPC_APSP) += olpc_apsp.o obj-$(CONFIG_HYPERV_KEYBOARD) += hyperv-keyboard.o obj-$(CONFIG_SERIO_SUN4I_PS2) += sun4i-ps2.o obj-$(CONFIG_SERIO_GPIO_PS2) += ps2-gpio.o obj-$(CONFIG_USERIO) += userio.o input/tablet/Kconfig 0000644 00000006151 14722053666 0010477 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Tablet driver configuration # menuconfig INPUT_TABLET bool "Tablets" help Say Y here, and a list of supported tablets will be displayed. This option doesn't affect the kernel. If unsure, say Y. if INPUT_TABLET config TABLET_USB_ACECAD tristate "Acecad Flair tablet support (USB)" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the USB version of the Acecad Flair tablet. Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. To compile this driver as a module, choose M here: the module will be called acecad. config TABLET_USB_AIPTEK tristate "Aiptek 6000U/8000U and Genius G_PEN tablet support (USB)" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the USB version of the Aiptek 6000U, Aiptek 8000U or Genius G-PEN 560 tablet. Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. To compile this driver as a module, choose M here: the module will be called aiptek. config TABLET_USB_GTCO tristate "GTCO CalComp/InterWrite USB Support" depends on USB && INPUT help Say Y here if you want to use the USB version of the GTCO CalComp/InterWrite Tablet. Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. To compile this driver as a module, choose M here: the module will be called gtco. config TABLET_USB_HANWANG tristate "Hanwang Art Master III tablet support (USB)" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the USB version of the Hanwang Art Master III tablet. To compile this driver as a module, choose M here: the module will be called hanwang. config TABLET_USB_KBTAB tristate "KB Gear JamStudio tablet support (USB)" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the USB version of the KB Gear JamStudio tablet. Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or "Event interface support" (CONFIG_INPUT_EVDEV) as well. To compile this driver as a module, choose M here: the module will be called kbtab. config TABLET_USB_PEGASUS tristate "Pegasus Mobile Notetaker Pen input tablet support" depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the Pegasus Mobile Notetaker, also known as: Genie e-note The Notetaker, Staedtler Digital ballpoint pen 990 01, IRISnotes Express or NEWLink Digital Note Taker. To compile this driver as a module, choose M here: the module will be called pegasus_notetaker. config TABLET_SERIAL_WACOM4 tristate "Wacom protocol 4 serial tablet support" select SERIO help Say Y here if you want to use Wacom protocol 4 serial tablets. E.g. serial versions of the Cintiq, Graphire or Penpartner. To compile this driver as a module, choose M here: the module will be called wacom_serial4. endif input/tablet/Makefile 0000644 00000000621 14722053666 0010630 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the tablet drivers # obj-$(CONFIG_TABLET_USB_ACECAD) += acecad.o obj-$(CONFIG_TABLET_USB_AIPTEK) += aiptek.o obj-$(CONFIG_TABLET_USB_GTCO) += gtco.o obj-$(CONFIG_TABLET_USB_HANWANG) += hanwang.o obj-$(CONFIG_TABLET_USB_KBTAB) += kbtab.o obj-$(CONFIG_TABLET_USB_PEGASUS) += pegasus_notetaker.o obj-$(CONFIG_TABLET_SERIAL_WACOM4) += wacom_serial4.o input/Makefile 0000644 00000001677 14722053666 0007371 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the input core drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_INPUT) += input-core.o input-core-y := input.o input-compat.o input-mt.o input-poller.o ff-core.o obj-$(CONFIG_INPUT_FF_MEMLESS) += ff-memless.o obj-$(CONFIG_INPUT_POLLDEV) += input-polldev.o obj-$(CONFIG_INPUT_SPARSEKMAP) += sparse-keymap.o obj-$(CONFIG_INPUT_MATRIXKMAP) += matrix-keymap.o obj-$(CONFIG_INPUT_LEDS) += input-leds.o obj-$(CONFIG_INPUT_MOUSEDEV) += mousedev.o obj-$(CONFIG_INPUT_JOYDEV) += joydev.o obj-$(CONFIG_INPUT_EVDEV) += evdev.o obj-$(CONFIG_INPUT_EVBUG) += evbug.o obj-$(CONFIG_INPUT_KEYBOARD) += keyboard/ obj-$(CONFIG_INPUT_MOUSE) += mouse/ obj-$(CONFIG_INPUT_JOYSTICK) += joystick/ obj-$(CONFIG_INPUT_TABLET) += tablet/ obj-$(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/ obj-$(CONFIG_INPUT_MISC) += misc/ obj-$(CONFIG_INPUT_APMPOWER) += apm-power.o obj-$(CONFIG_RMI4_CORE) += rmi4/ input/keyboard/Kconfig 0000644 00000055230 14722053666 0011026 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Input core configuration # menuconfig INPUT_KEYBOARD bool "Keyboards" default y help Say Y here, and a list of supported keyboards will be displayed. This option doesn't affect the kernel. If unsure, say Y. if INPUT_KEYBOARD config KEYBOARD_ADC tristate "ADC Ladder Buttons" depends on IIO select INPUT_POLLDEV help This driver implements support for buttons connected to an ADC using a resistor ladder. Say Y here if your device has such buttons connected to an ADC. Your board-specific setup logic must also provide a configuration data for mapping voltages to buttons. To compile this driver as a module, choose M here: the module will be called adc_keys. config KEYBOARD_ADP5520 tristate "Keypad Support for ADP5520 PMIC" depends on PMIC_ADP5520 help This option enables support for the keypad scan matrix on Analog Devices ADP5520 PMICs. To compile this driver as a module, choose M here: the module will be called adp5520-keys. config KEYBOARD_ADP5588 tristate "ADP5588/87 I2C QWERTY Keypad and IO Expander" depends on I2C help Say Y here if you want to use a ADP5588/87 attached to your system I2C bus. To compile this driver as a module, choose M here: the module will be called adp5588-keys. config KEYBOARD_ADP5589 tristate "ADP5585/ADP5589 I2C QWERTY Keypad and IO Expander" depends on I2C help Say Y here if you want to use a ADP5585/ADP5589 attached to your system I2C bus. To compile this driver as a module, choose M here: the module will be called adp5589-keys. config KEYBOARD_AMIGA tristate "Amiga keyboard" depends on AMIGA help Say Y here if you are running Linux on any AMIGA and have a keyboard attached. To compile this driver as a module, choose M here: the module will be called amikbd. config KEYBOARD_APPLESPI tristate "Apple SPI keyboard and trackpad" depends on ACPI && EFI depends on SPI depends on X86 || COMPILE_TEST depends on LEDS_CLASS select CRC16 help Say Y here if you are running Linux on any Apple MacBook8,1 or later, or any MacBookPro13,* or MacBookPro14,*. You will also need to enable appropriate SPI master controllers: spi_pxa2xx_platform and spi_pxa2xx_pci for MacBook8,1, and spi_pxa2xx_platform and intel_lpss_pci for the rest. To compile this driver as a module, choose M here: the module will be called applespi. config KEYBOARD_ATARI tristate "Atari keyboard" depends on ATARI select ATARI_KBD_CORE help Say Y here if you are running Linux on any Atari and have a keyboard attached. To compile this driver as a module, choose M here: the module will be called atakbd. config KEYBOARD_ATKBD tristate "AT keyboard" default y select SERIO select SERIO_LIBPS2 select SERIO_I8042 if ARCH_MIGHT_HAVE_PC_SERIO select SERIO_GSCPS2 if GSC help Say Y here if you want to use a standard AT or PS/2 keyboard. Usually you'll need this, unless you have a different type keyboard (USB, ADB or other). This also works for AT and PS/2 keyboards connected over a PS/2 to serial converter. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called atkbd. config KEYBOARD_ATKBD_HP_KEYCODES bool "Use HP keyboard scancodes" depends on PARISC && KEYBOARD_ATKBD default y help Say Y here if you have a PA-RISC machine and want to use an AT or PS/2 keyboard, and your keyboard uses keycodes that are specific to PA-RISC keyboards. Say N if you use a standard keyboard. config KEYBOARD_ATKBD_RDI_KEYCODES bool "Use PrecisionBook keyboard scancodes" depends on KEYBOARD_ATKBD_HP_KEYCODES default n help If you have an RDI PrecisionBook, say Y here if you want to use its built-in keyboard (as opposed to an external keyboard). The PrecisionBook has five keys that conflict with those used by most AT and PS/2 keyboards. These are as follows: PrecisionBook Standard AT or PS/2 F1 F12 Left Ctrl Left Alt Caps Lock Left Ctrl Right Ctrl Caps Lock Left 102nd key (the key to the right of Left Shift) If you say N here, and use the PrecisionBook keyboard, then each key in the left-hand column will be interpreted as the corresponding key in the right-hand column. If you say Y here, and use an external keyboard, then each key in the right-hand column will be interpreted as the key shown in the left-hand column. config KEYBOARD_QT1050 tristate "Microchip AT42QT1050 Touch Sensor Chip" depends on I2C select REGMAP_I2C help Say Y here if you want to use Microchip AT42QT1050 QTouch Sensor chip as input device. To compile this driver as a module, choose M here: the module will be called qt1050 config KEYBOARD_QT1070 tristate "Atmel AT42QT1070 Touch Sensor Chip" depends on I2C help Say Y here if you want to use Atmel AT42QT1070 QTouch Sensor chip as input device. To compile this driver as a module, choose M here: the module will be called qt1070 config KEYBOARD_QT2160 tristate "Atmel AT42QT2160 Touch Sensor Chip" depends on I2C help If you say yes here you get support for Atmel AT42QT2160 Touch Sensor chip as a keyboard input. This driver can also be built as a module. If so, the module will be called qt2160. config KEYBOARD_CLPS711X tristate "CLPS711X Keypad support" depends on OF_GPIO && (ARCH_CLPS711X || COMPILE_TEST) select INPUT_MATRIXKMAP select INPUT_POLLDEV help Say Y here to enable the matrix keypad on the Cirrus Logic CLPS711X CPUs. To compile this driver as a module, choose M here: the module will be called clps711x-keypad. config KEYBOARD_DLINK_DIR685 tristate "D-Link DIR-685 touchkeys support" depends on I2C default ARCH_GEMINI help If you say yes here you get support for the D-Link DIR-685 touchkeys. To compile this driver as a module, choose M here: the module will be called dlink-dir685-touchkeys. config KEYBOARD_LKKBD tristate "DECstation/VAXstation LK201/LK401 keyboard" select SERIO help Say Y here if you want to use a LK201 or LK401 style serial keyboard. This keyboard is also useable on PCs if you attach it with the inputattach program. The connector pinout is described within lkkbd.c. To compile this driver as a module, choose M here: the module will be called lkkbd. config KEYBOARD_EP93XX tristate "EP93xx Matrix Keypad support" depends on ARCH_EP93XX || COMPILE_TEST select INPUT_MATRIXKMAP help Say Y here to enable the matrix keypad on the Cirrus EP93XX. To compile this driver as a module, choose M here: the module will be called ep93xx_keypad. config KEYBOARD_GPIO tristate "GPIO Buttons" depends on GPIOLIB || COMPILE_TEST help This driver implements support for buttons connected to GPIO pins of various CPUs (and some other chips). Say Y here if your device has buttons connected directly to such GPIO pins. Your board-specific setup logic must also provide a platform device, with configuration data saying which GPIOs are used. To compile this driver as a module, choose M here: the module will be called gpio_keys. config KEYBOARD_GPIO_POLLED tristate "Polled GPIO buttons" depends on GPIOLIB select INPUT_POLLDEV help This driver implements support for buttons connected to GPIO pins that are not capable of generating interrupts. Say Y here if your device has buttons connected directly to such GPIO pins. Your board-specific setup logic must also provide a platform device, with configuration data saying which GPIOs are used. To compile this driver as a module, choose M here: the module will be called gpio_keys_polled. config KEYBOARD_TCA6416 tristate "TCA6416/TCA6408A Keypad Support" depends on I2C help This driver implements basic keypad functionality for keys connected through TCA6416/TCA6408A IO expanders. Say Y here if your device has keys connected to TCA6416/TCA6408A IO expander. Your board-specific setup logic must also provide pin-mask details(of which TCA6416 pins are used for keypad). If enabled the entire TCA6416 device will be managed through this driver. To compile this driver as a module, choose M here: the module will be called tca6416_keypad. config KEYBOARD_TCA8418 tristate "TCA8418 Keypad Support" depends on I2C select INPUT_MATRIXKMAP help This driver implements basic keypad functionality for keys connected through TCA8418 keypad decoder. Say Y here if your device has keys connected to TCA8418 keypad decoder. If enabled the complete TCA8418 device will be managed through this driver. To compile this driver as a module, choose M here: the module will be called tca8418_keypad. config KEYBOARD_MATRIX tristate "GPIO driven matrix keypad support" depends on GPIOLIB || COMPILE_TEST select INPUT_MATRIXKMAP help Enable support for GPIO driven matrix keypad. To compile this driver as a module, choose M here: the module will be called matrix_keypad. config KEYBOARD_HIL_OLD tristate "HP HIL keyboard support (simple driver)" depends on GSC || HP300 default y help The "Human Interface Loop" is a older, 8-channel USB-like controller used in several Hewlett Packard models. This driver was adapted from the one written for m68k/hp300, and implements support for a keyboard attached to the HIL port, but not for any other types of HIL input devices like mice or tablets. However, it has been thoroughly tested and is stable. If you want full HIL support including support for multiple keyboards, mice, and tablets, you have to enable the "HP System Device Controller i8042 Support" in the input/serio submenu. config KEYBOARD_HIL tristate "HP HIL keyboard/pointer support" depends on GSC || HP300 default y select HP_SDC select HIL_MLC select SERIO help The "Human Interface Loop" is a older, 8-channel USB-like controller used in several Hewlett Packard models. This driver implements support for HIL-keyboards and pointing devices (mice, tablets, touchscreens) attached to your machine, so normally you should say Y here. config KEYBOARD_HP6XX tristate "HP Jornada 6xx keyboard" depends on SH_HP6XX select INPUT_POLLDEV help Say Y here if you have a HP Jornada 620/660/680/690 and want to support the built-in keyboard. To compile this driver as a module, choose M here: the module will be called jornada680_kbd. config KEYBOARD_HP7XX tristate "HP Jornada 7xx keyboard" depends on SA1100_JORNADA720_SSP && SA1100_SSP help Say Y here if you have a HP Jornada 710/720/728 and want to support the built-in keyboard. To compile this driver as a module, choose M here: the module will be called jornada720_kbd. config KEYBOARD_LM8323 tristate "LM8323 keypad chip" depends on I2C depends on LEDS_CLASS help If you say yes here you get support for the National Semiconductor LM8323 keypad controller. To compile this driver as a module, choose M here: the module will be called lm8323. config KEYBOARD_LM8333 tristate "LM8333 keypad chip" depends on I2C select INPUT_MATRIXKMAP help If you say yes here you get support for the National Semiconductor LM8333 keypad controller. To compile this driver as a module, choose M here: the module will be called lm8333. config KEYBOARD_LOCOMO tristate "LoCoMo Keyboard Support" depends on SHARP_LOCOMO help Say Y here if you are running Linux on a Sharp Zaurus Collie or Poodle based PDA To compile this driver as a module, choose M here: the module will be called locomokbd. config KEYBOARD_LPC32XX tristate "LPC32XX matrix key scanner support" depends on ARCH_LPC32XX && OF select INPUT_MATRIXKMAP help Say Y here if you want to use NXP LPC32XX SoC key scanner interface, connected to a key matrix. To compile this driver as a module, choose M here: the module will be called lpc32xx-keys. config KEYBOARD_MAPLE tristate "Maple bus keyboard" depends on SH_DREAMCAST && MAPLE help Say Y here if you have a Dreamcast console running Linux and have a keyboard attached to its Maple bus. To compile this driver as a module, choose M here: the module will be called maple_keyb. config KEYBOARD_MAX7359 tristate "Maxim MAX7359 Key Switch Controller" select INPUT_MATRIXKMAP depends on I2C help If you say yes here you get support for the Maxim MAX7359 Key Switch Controller chip. This providers microprocessors with management of up to 64 key switches To compile this driver as a module, choose M here: the module will be called max7359_keypad. config KEYBOARD_MCS tristate "MELFAS MCS Touchkey" depends on I2C help Say Y here if you have the MELFAS MCS5000/5080 touchkey controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mcs_touchkey. config KEYBOARD_MPR121 tristate "Freescale MPR121 Touchkey" depends on I2C help Say Y here if you have Freescale MPR121 touchkey controller chip in your system. If unsure, say N. To compile this driver as a module, choose M here: the module will be called mpr121_touchkey. config KEYBOARD_SNVS_PWRKEY tristate "IMX SNVS Power Key Driver" depends on ARCH_MXC || COMPILE_TEST depends on OF help This is the snvs powerkey driver for the Freescale i.MX application processors that are newer than i.MX6 SX. To compile this driver as a module, choose M here; the module will be called snvs_pwrkey. config KEYBOARD_IMX tristate "IMX keypad support" depends on ARCH_MXC select INPUT_MATRIXKMAP help Enable support for IMX keypad port. To compile this driver as a module, choose M here: the module will be called imx_keypad. config KEYBOARD_NEWTON tristate "Newton keyboard" select SERIO help Say Y here if you have a Newton keyboard on a serial port. To compile this driver as a module, choose M here: the module will be called newtonkbd. config KEYBOARD_NOMADIK tristate "ST-Ericsson Nomadik SKE keyboard" depends on (ARCH_NOMADIK || ARCH_U8500) select INPUT_MATRIXKMAP help Say Y here if you want to use a keypad provided on the SKE controller used on the Ux500 and Nomadik platforms To compile this driver as a module, choose M here: the module will be called nmk-ske-keypad. config KEYBOARD_NSPIRE tristate "TI-NSPIRE built-in keyboard" depends on ARCH_NSPIRE && OF select INPUT_MATRIXKMAP help Say Y here if you want to use the built-in keypad on TI-NSPIRE. To compile this driver as a module, choose M here: the module will be called nspire-keypad. config KEYBOARD_TEGRA tristate "NVIDIA Tegra internal matrix keyboard controller support" depends on ARCH_TEGRA && OF select INPUT_MATRIXKMAP help Say Y here if you want to use a matrix keyboard connected directly to the internal keyboard controller on Tegra SoCs. To compile this driver as a module, choose M here: the module will be called tegra-kbc. config KEYBOARD_OPENCORES tristate "OpenCores Keyboard Controller" depends on HAS_IOMEM help Say Y here if you want to use the OpenCores Keyboard Controller http://www.opencores.org/project,keyboardcontroller To compile this driver as a module, choose M here; the module will be called opencores-kbd. config KEYBOARD_PXA27x tristate "PXA27x/PXA3xx keypad support" depends on PXA27x || PXA3xx || ARCH_MMP select INPUT_MATRIXKMAP help Enable support for PXA27x/PXA3xx keypad controller. To compile this driver as a module, choose M here: the module will be called pxa27x_keypad. config KEYBOARD_PXA930_ROTARY tristate "PXA930/PXA935 Enhanced Rotary Controller Support" depends on CPU_PXA930 || CPU_PXA935 help Enable support for PXA930/PXA935 Enhanced Rotary Controller. To compile this driver as a module, choose M here: the module will be called pxa930_rotary. config KEYBOARD_PMIC8XXX tristate "Qualcomm PMIC8XXX keypad support" depends on MFD_PM8XXX select INPUT_MATRIXKMAP help Say Y here if you want to enable the driver for the PMIC8XXX keypad provided as a reference design from Qualcomm. This is intended to support upto 18x8 matrix based keypad design. To compile this driver as a module, choose M here: the module will be called pmic8xxx-keypad. config KEYBOARD_SAMSUNG tristate "Samsung keypad support" depends on HAVE_CLK select INPUT_MATRIXKMAP help Say Y here if you want to use the keypad on your Samsung mobile device. To compile this driver as a module, choose M here: the module will be called samsung-keypad. config KEYBOARD_GOLDFISH_EVENTS depends on GOLDFISH || COMPILE_TEST tristate "Generic Input Event device for Goldfish" help Say Y here to get an input event device for the Goldfish virtual device emulator. To compile this driver as a module, choose M here: the module will be called goldfish-events. config KEYBOARD_STOWAWAY tristate "Stowaway keyboard" select SERIO help Say Y here if you have a Stowaway keyboard on a serial port. Stowaway compatible keyboards like Dicota Input-PDA keyboard are also supported by this driver. To compile this driver as a module, choose M here: the module will be called stowaway. config KEYBOARD_ST_KEYSCAN tristate "STMicroelectronics keyscan support" depends on ARCH_STI || COMPILE_TEST select INPUT_MATRIXKMAP help Say Y here if you want to use a keypad attached to the keyscan block on some STMicroelectronics SoC devices. To compile this driver as a module, choose M here: the module will be called st-keyscan. config KEYBOARD_SUNKBD tristate "Sun Type 4 and Type 5 keyboard" select SERIO help Say Y here if you want to use a Sun Type 4 or Type 5 keyboard, connected either to the Sun keyboard connector or to an serial (RS-232) port via a simple adapter. To compile this driver as a module, choose M here: the module will be called sunkbd. config KEYBOARD_SH_KEYSC tristate "SuperH KEYSC keypad support" depends on ARCH_SHMOBILE || COMPILE_TEST help Say Y here if you want to use a keypad attached to the KEYSC block on SuperH processors such as sh7722 and sh7343. To compile this driver as a module, choose M here: the module will be called sh_keysc. config KEYBOARD_STMPE tristate "STMPE keypad support" depends on MFD_STMPE depends on OF select INPUT_MATRIXKMAP help Say Y here if you want to use the keypad controller on STMPE I/O expanders. To compile this driver as a module, choose M here: the module will be called stmpe-keypad. config KEYBOARD_SUN4I_LRADC tristate "Allwinner sun4i low res adc attached tablet keys support" depends on ARCH_SUNXI help This selects support for the Allwinner low res adc attached tablet keys found on Allwinner sunxi SoCs. To compile this driver as a module, choose M here: the module will be called sun4i-lradc-keys. config KEYBOARD_DAVINCI tristate "TI DaVinci Key Scan" depends on ARCH_DAVINCI_DM365 help Say Y to enable keypad module support for the TI DaVinci platforms (DM365). To compile this driver as a module, choose M here: the module will be called davinci_keyscan. config KEYBOARD_IPAQ_MICRO tristate "Buttons on Micro SoC (iPaq h3100,h3600,h3700)" depends on MFD_IPAQ_MICRO help Say Y to enable support for the buttons attached to Micro peripheral controller on iPAQ h3100/h3600/h3700 To compile this driver as a module, choose M here: the module will be called ipaq-micro-keys. config KEYBOARD_OMAP tristate "TI OMAP keypad support" depends on ARCH_OMAP1 select INPUT_MATRIXKMAP help Say Y here if you want to use the OMAP keypad. To compile this driver as a module, choose M here: the module will be called omap-keypad. config KEYBOARD_OMAP4 tristate "TI OMAP4+ keypad support" depends on OF || ARCH_OMAP2PLUS select INPUT_MATRIXKMAP help Say Y here if you want to use the OMAP4+ keypad. To compile this driver as a module, choose M here: the module will be called omap4-keypad. config KEYBOARD_SPEAR tristate "ST SPEAR keyboard support" depends on PLAT_SPEAR select INPUT_MATRIXKMAP help Say Y here if you want to use the SPEAR keyboard. To compile this driver as a module, choose M here: the module will be called spear-keboard. config KEYBOARD_TC3589X tristate "TC3589X Keypad support" depends on MFD_TC3589X select INPUT_MATRIXKMAP help Say Y here if you want to use the keypad controller on TC35892/3 I/O expander. To compile this driver as a module, choose M here: the module will be called tc3589x-keypad. config KEYBOARD_TM2_TOUCHKEY tristate "TM2 touchkey support" depends on I2C depends on LEDS_CLASS help Say Y here to enable device driver for tm2-touchkey with LED control for the Exynos5433 TM2 board. To compile this driver as a module, choose M here. module will be called tm2-touchkey. config KEYBOARD_TWL4030 tristate "TI TWL4030/TWL5030/TPS659x0 keypad support" depends on TWL4030_CORE select INPUT_MATRIXKMAP help Say Y here if your board use the keypad controller on TWL4030 family chips. It's safe to say enable this even on boards that don't use the keypad controller. To compile this driver as a module, choose M here: the module will be called twl4030_keypad. config KEYBOARD_XTKBD tristate "XT keyboard" select SERIO help Say Y here if you want to use the old IBM PC/XT keyboard (or compatible) on your system. This is only possible with a parallel port keyboard adapter, you cannot connect it to the keyboard port on a PC that runs Linux. To compile this driver as a module, choose M here: the module will be called xtkbd. config KEYBOARD_CROS_EC tristate "ChromeOS EC keyboard" select INPUT_MATRIXKMAP depends on CROS_EC help Say Y here to enable the matrix keyboard used by ChromeOS devices and implemented on the ChromeOS EC. You must enable one bus option (CROS_EC_I2C or CROS_EC_SPI) to use this. To compile this driver as a module, choose M here: the module will be called cros_ec_keyb. config KEYBOARD_CAP11XX tristate "Microchip CAP11XX based touch sensors" depends on OF && I2C select REGMAP_I2C help Say Y here to enable the CAP11XX touch sensor driver. To compile this driver as a module, choose M here: the module will be called cap11xx. config KEYBOARD_BCM tristate "Broadcom keypad driver" depends on OF && HAVE_CLK select INPUT_MATRIXKMAP default ARCH_BCM_CYGNUS help Say Y here if you want to use Broadcom keypad. To compile this driver as a module, choose M here: the module will be called bcm-keypad. config KEYBOARD_MTK_PMIC tristate "MediaTek PMIC keys support" depends on MFD_MT6397 help Say Y here if you want to use the pmic keys (powerkey/homekey). To compile this driver as a module, choose M here: the module will be called pmic-keys. endif input/keyboard/Makefile 0000644 00000006226 14722053666 0011164 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the input core drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_KEYBOARD_ADC) += adc-keys.o obj-$(CONFIG_KEYBOARD_ADP5520) += adp5520-keys.o obj-$(CONFIG_KEYBOARD_ADP5588) += adp5588-keys.o obj-$(CONFIG_KEYBOARD_ADP5589) += adp5589-keys.o obj-$(CONFIG_KEYBOARD_AMIGA) += amikbd.o obj-$(CONFIG_KEYBOARD_APPLESPI) += applespi.o obj-$(CONFIG_KEYBOARD_ATARI) += atakbd.o obj-$(CONFIG_KEYBOARD_ATKBD) += atkbd.o obj-$(CONFIG_KEYBOARD_BCM) += bcm-keypad.o obj-$(CONFIG_KEYBOARD_CAP11XX) += cap11xx.o obj-$(CONFIG_KEYBOARD_CLPS711X) += clps711x-keypad.o obj-$(CONFIG_KEYBOARD_CROS_EC) += cros_ec_keyb.o obj-$(CONFIG_KEYBOARD_DAVINCI) += davinci_keyscan.o obj-$(CONFIG_KEYBOARD_DLINK_DIR685) += dlink-dir685-touchkeys.o obj-$(CONFIG_KEYBOARD_EP93XX) += ep93xx_keypad.o obj-$(CONFIG_KEYBOARD_GOLDFISH_EVENTS) += goldfish_events.o obj-$(CONFIG_KEYBOARD_GPIO) += gpio_keys.o obj-$(CONFIG_KEYBOARD_GPIO_POLLED) += gpio_keys_polled.o obj-$(CONFIG_KEYBOARD_TCA6416) += tca6416-keypad.o obj-$(CONFIG_KEYBOARD_TCA8418) += tca8418_keypad.o obj-$(CONFIG_KEYBOARD_HIL) += hil_kbd.o obj-$(CONFIG_KEYBOARD_HIL_OLD) += hilkbd.o obj-$(CONFIG_KEYBOARD_IPAQ_MICRO) += ipaq-micro-keys.o obj-$(CONFIG_KEYBOARD_IMX) += imx_keypad.o obj-$(CONFIG_KEYBOARD_HP6XX) += jornada680_kbd.o obj-$(CONFIG_KEYBOARD_HP7XX) += jornada720_kbd.o obj-$(CONFIG_KEYBOARD_LKKBD) += lkkbd.o obj-$(CONFIG_KEYBOARD_LM8323) += lm8323.o obj-$(CONFIG_KEYBOARD_LM8333) += lm8333.o obj-$(CONFIG_KEYBOARD_LOCOMO) += locomokbd.o obj-$(CONFIG_KEYBOARD_LPC32XX) += lpc32xx-keys.o obj-$(CONFIG_KEYBOARD_MAPLE) += maple_keyb.o obj-$(CONFIG_KEYBOARD_MATRIX) += matrix_keypad.o obj-$(CONFIG_KEYBOARD_MAX7359) += max7359_keypad.o obj-$(CONFIG_KEYBOARD_MCS) += mcs_touchkey.o obj-$(CONFIG_KEYBOARD_MPR121) += mpr121_touchkey.o obj-$(CONFIG_KEYBOARD_MTK_PMIC) += mtk-pmic-keys.o obj-$(CONFIG_KEYBOARD_NEWTON) += newtonkbd.o obj-$(CONFIG_KEYBOARD_NOMADIK) += nomadik-ske-keypad.o obj-$(CONFIG_KEYBOARD_NSPIRE) += nspire-keypad.o obj-$(CONFIG_KEYBOARD_OMAP) += omap-keypad.o obj-$(CONFIG_KEYBOARD_OMAP4) += omap4-keypad.o obj-$(CONFIG_KEYBOARD_OPENCORES) += opencores-kbd.o obj-$(CONFIG_KEYBOARD_PMIC8XXX) += pmic8xxx-keypad.o obj-$(CONFIG_KEYBOARD_PXA27x) += pxa27x_keypad.o obj-$(CONFIG_KEYBOARD_PXA930_ROTARY) += pxa930_rotary.o obj-$(CONFIG_KEYBOARD_QT1050) += qt1050.o obj-$(CONFIG_KEYBOARD_QT1070) += qt1070.o obj-$(CONFIG_KEYBOARD_QT2160) += qt2160.o obj-$(CONFIG_KEYBOARD_SAMSUNG) += samsung-keypad.o obj-$(CONFIG_KEYBOARD_SH_KEYSC) += sh_keysc.o obj-$(CONFIG_KEYBOARD_SNVS_PWRKEY) += snvs_pwrkey.o obj-$(CONFIG_KEYBOARD_SPEAR) += spear-keyboard.o obj-$(CONFIG_KEYBOARD_STMPE) += stmpe-keypad.o obj-$(CONFIG_KEYBOARD_STOWAWAY) += stowaway.o obj-$(CONFIG_KEYBOARD_ST_KEYSCAN) += st-keyscan.o obj-$(CONFIG_KEYBOARD_SUN4I_LRADC) += sun4i-lradc-keys.o obj-$(CONFIG_KEYBOARD_SUNKBD) += sunkbd.o obj-$(CONFIG_KEYBOARD_TC3589X) += tc3589x-keypad.o obj-$(CONFIG_KEYBOARD_TEGRA) += tegra-kbc.o obj-$(CONFIG_KEYBOARD_TM2_TOUCHKEY) += tm2-touchkey.o obj-$(CONFIG_KEYBOARD_TWL4030) += twl4030_keypad.o obj-$(CONFIG_KEYBOARD_XTKBD) += xtkbd.o atm/Kconfig 0000644 00000034133 14722053666 0006647 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # ATM device configuration # menuconfig ATM_DRIVERS bool "ATM drivers" depends on NETDEVICES && ATM default y ---help--- Say Y here to get to see options for Asynchronous Transfer Mode device drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if ATM_DRIVERS && NETDEVICES && ATM config ATM_DUMMY tristate "Dummy ATM driver" help Dummy ATM driver. Useful for proxy signalling, testing, and development. If unsure, say N. config ATM_TCP tristate "ATM over TCP" depends on INET help ATM over TCP driver. Useful mainly for development and for experiments. If unsure, say N. config ATM_LANAI tristate "Efficient Networks Speedstream 3010" depends on PCI && ATM help Supports ATM cards based on the Efficient Networks "Lanai" chipset such as the Speedstream 3010 and the ENI-25p. The Speedstream 3060 is currently not supported since we don't have the code to drive the on-board Alcatel DSL chipset (yet). config ATM_ENI tristate "Efficient Networks ENI155P" depends on PCI ---help--- Driver for the Efficient Networks ENI155p series and SMC ATM Power155 155 Mbps ATM adapters. Both, the versions with 512KB and 2MB on-board RAM (Efficient calls them "C" and "S", respectively), and the FPGA and the ASIC Tonga versions of the board are supported. The driver works with MMF (-MF or ...F) and UTP-5 (-U5 or ...D) adapters. To compile this driver as a module, choose M here: the module will be called eni. config ATM_ENI_DEBUG bool "Enable extended debugging" depends on ATM_ENI help Extended debugging records various events and displays that list when an inconsistency is detected. This mechanism is faster than generally using printks, but still has some impact on performance. Note that extended debugging may create certain race conditions itself. Enable this ONLY if you suspect problems with the driver. config ATM_ENI_TUNE_BURST bool "Fine-tune burst settings" depends on ATM_ENI ---help--- In order to obtain good throughput, the ENI NIC can transfer multiple words of data per PCI bus access cycle. Such a multi-word transfer is called a burst. The default settings for the burst sizes are suitable for most PCI chipsets. However, in some cases, large bursts may overrun buffers in the PCI chipset and cause data corruption. In such cases, large bursts must be disabled and only (slower) small bursts can be used. The burst sizes can be set independently in the send (TX) and receive (RX) direction. Note that enabling many different burst sizes in the same direction may increase the cost of setting up a transfer such that the resulting throughput is lower than when using only the largest available burst size. Also, sometimes larger bursts lead to lower throughput, e.g. on an Intel 440FX board, a drop from 135 Mbps to 103 Mbps was observed when going from 8W to 16W bursts. config ATM_ENI_BURST_TX_16W bool "Enable 16W TX bursts (discouraged)" depends on ATM_ENI_TUNE_BURST help Burst sixteen words at once in the send direction. This may work with recent PCI chipsets, but is known to fail with older chipsets. config ATM_ENI_BURST_TX_8W bool "Enable 8W TX bursts (recommended)" depends on ATM_ENI_TUNE_BURST help Burst eight words at once in the send direction. This is the default setting. config ATM_ENI_BURST_TX_4W bool "Enable 4W TX bursts (optional)" depends on ATM_ENI_TUNE_BURST help Burst four words at once in the send direction. You may want to try this if you have disabled 8W bursts. Enabling 4W if 8W is also set may or may not improve throughput. config ATM_ENI_BURST_TX_2W bool "Enable 2W TX bursts (optional)" depends on ATM_ENI_TUNE_BURST help Burst two words at once in the send direction. You may want to try this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or 8W are also set may or may not improve throughput. config ATM_ENI_BURST_RX_16W bool "Enable 16W RX bursts (discouraged)" depends on ATM_ENI_TUNE_BURST help Burst sixteen words at once in the receive direction. This may work with recent PCI chipsets, but is known to fail with older chipsets. config ATM_ENI_BURST_RX_8W bool "Enable 8W RX bursts (discouraged)" depends on ATM_ENI_TUNE_BURST help Burst eight words at once in the receive direction. This may work with recent PCI chipsets, but is known to fail with older chipsets, such as the Intel Neptune series. config ATM_ENI_BURST_RX_4W bool "Enable 4W RX bursts (recommended)" depends on ATM_ENI_TUNE_BURST help Burst four words at once in the receive direction. This is the default setting. Enabling 4W if 8W is also set may or may not improve throughput. config ATM_ENI_BURST_RX_2W bool "Enable 2W RX bursts (optional)" depends on ATM_ENI_TUNE_BURST help Burst two words at once in the receive direction. You may want to try this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or 8W are also set may or may not improve throughput. config ATM_FIRESTREAM tristate "Fujitsu FireStream (FS50/FS155) " depends on PCI && VIRT_TO_BUS help Driver for the Fujitsu FireStream 155 (MB86697) and FireStream 50 (MB86695) ATM PCI chips. To compile this driver as a module, choose M here: the module will be called firestream. config ATM_ZATM tristate "ZeitNet ZN1221/ZN1225" depends on PCI && VIRT_TO_BUS help Driver for the ZeitNet ZN1221 (MMF) and ZN1225 (UTP-5) 155 Mbps ATM adapters. To compile this driver as a module, choose M here: the module will be called zatm. config ATM_ZATM_DEBUG bool "Enable extended debugging" depends on ATM_ZATM help Extended debugging records various events and displays that list when an inconsistency is detected. This mechanism is faster than generally using printks, but still has some impact on performance. Note that extended debugging may create certain race conditions itself. Enable this ONLY if you suspect problems with the driver. config ATM_NICSTAR tristate "IDT 77201 (NICStAR) (ForeRunnerLE)" depends on PCI help The NICStAR chipset family is used in a large number of ATM NICs for 25 and for 155 Mbps, including IDT cards and the Fore ForeRunnerLE series. Say Y if you have one of those. To compile this driver as a module, choose M here: the module will be called nicstar. config ATM_NICSTAR_USE_SUNI bool "Use suni PHY driver (155Mbps)" depends on ATM_NICSTAR help Support for the S-UNI and compatible PHYsical layer chips. These are found in most 155Mbps NICStAR based ATM cards, namely in the ForeRunner LE155 cards. This driver provides detection of cable~ removal and reinsertion and provides some statistics. This driver doesn't have removal capability when compiled as a module, so if you need that capability don't include S-UNI support (it's not needed to make the card work). config ATM_NICSTAR_USE_IDT77105 bool "Use IDT77105 PHY driver (25Mbps)" depends on ATM_NICSTAR help Support for the PHYsical layer chip in ForeRunner LE25 cards. In addition to cable removal/reinsertion detection, this driver allows you to control the loopback mode of the chip via a dedicated IOCTL. This driver is required for proper handling of temporary carrier loss, so if you have a 25Mbps NICStAR based ATM card you must say Y. config ATM_IDT77252 tristate "IDT 77252 (NICStAR II)" depends on PCI help Driver for the IDT 77252 ATM PCI chips. To compile this driver as a module, choose M here: the module will be called idt77252. config ATM_IDT77252_DEBUG bool "Enable debugging messages" depends on ATM_IDT77252 help Somewhat useful debugging messages are available. The choice of messages is controlled by a bitmap. This may be specified as a module argument. See the file <file:drivers/atm/idt77252.h> for the meanings of the bits in the mask. When active, these messages can have a significant impact on the speed of the driver, and the size of your syslog files! When inactive, they will have only a modest impact on performance. config ATM_IDT77252_RCV_ALL bool "Receive ALL cells in raw queue" depends on ATM_IDT77252 help Enable receiving of all cells on the ATM link, that do not match an open connection in the raw cell queue of the driver. Useful for debugging or special applications only, so the safe answer is N. config ATM_IDT77252_USE_SUNI bool depends on ATM_IDT77252 default y config ATM_AMBASSADOR tristate "Madge Ambassador (Collage PCI 155 Server)" depends on PCI && VIRT_TO_BUS select BITREVERSE help This is a driver for ATMizer based ATM card produced by Madge Networks Ltd. Say Y (or M to compile as a module named ambassador) here if you have one of these cards. config ATM_AMBASSADOR_DEBUG bool "Enable debugging messages" depends on ATM_AMBASSADOR ---help--- Somewhat useful debugging messages are available. The choice of messages is controlled by a bitmap. This may be specified as a module argument (kernel command line argument as well?), changed dynamically using an ioctl (not yet) or changed by sending the string "Dxxxx" to VCI 1023 (where x is a hex digit). See the file <file:drivers/atm/ambassador.h> for the meanings of the bits in the mask. When active, these messages can have a significant impact on the speed of the driver, and the size of your syslog files! When inactive, they will have only a modest impact on performance. config ATM_HORIZON tristate "Madge Horizon [Ultra] (Collage PCI 25 and Collage PCI 155 Client)" depends on PCI && VIRT_TO_BUS help This is a driver for the Horizon chipset ATM adapter cards once produced by Madge Networks Ltd. Say Y (or M to compile as a module named horizon) here if you have one of these cards. config ATM_HORIZON_DEBUG bool "Enable debugging messages" depends on ATM_HORIZON ---help--- Somewhat useful debugging messages are available. The choice of messages is controlled by a bitmap. This may be specified as a module argument (kernel command line argument as well?), changed dynamically using an ioctl (not yet) or changed by sending the string "Dxxxx" to VCI 1023 (where x is a hex digit). See the file <file:drivers/atm/horizon.h> for the meanings of the bits in the mask. When active, these messages can have a significant impact on the speed of the driver, and the size of your syslog files! When inactive, they will have only a modest impact on performance. config ATM_IA tristate "Interphase ATM PCI x575/x525/x531" depends on PCI ---help--- This is a driver for the Interphase (i)ChipSAR adapter cards which include a variety of variants in term of the size of the control memory (128K-1KVC, 512K-4KVC), the size of the packet memory (128K, 512K, 1M), and the PHY type (Single/Multi mode OC3, UTP155, UTP25, DS3 and E3). Go to: <http://www.iphase.com/> for more info about the cards. Say Y (or M to compile as a module named iphase) here if you have one of these cards. See the file <file:Documentation/networking/iphase.txt> for further details. config ATM_IA_DEBUG bool "Enable debugging messages" depends on ATM_IA ---help--- Somewhat useful debugging messages are available. The choice of messages is controlled by a bitmap. This may be specified as a module argument (kernel command line argument as well?), changed dynamically using an ioctl (Get the debug utility, iadbg, from <ftp://ftp.iphase.com/pub/atm/pci/>). See the file <file:drivers/atm/iphase.h> for the meanings of the bits in the mask. When active, these messages can have a significant impact on the speed of the driver, and the size of your syslog files! When inactive, they will have only a modest impact on performance. config ATM_FORE200E tristate "FORE Systems 200E-series" depends on (PCI || SBUS) select FW_LOADER ---help--- This is a driver for the FORE Systems 200E-series ATM adapter cards. It simultaneously supports PCA-200E and SBA-200E models on PCI and SBUS hosts. Say Y (or M to compile as a module named fore_200e) here if you have one of these ATM adapters. See the file <file:Documentation/networking/fore200e.txt> for further details. config ATM_FORE200E_USE_TASKLET bool "Defer interrupt work to a tasklet" depends on ATM_FORE200E default n help This defers work to be done by the interrupt handler to a tasklet instead of handling everything at interrupt time. This may improve the responsive of the host. config ATM_FORE200E_TX_RETRY int "Maximum number of tx retries" depends on ATM_FORE200E default "16" ---help--- Specifies the number of times the driver attempts to transmit a message before giving up, if the transmit queue of the ATM card is transiently saturated. Saturation of the transmit queue may occur only under extreme conditions, e.g. when a fast host continuously submits very small frames (<64 bytes) or raw AAL0 cells (48 bytes) to the ATM adapter. Note that under common conditions, it is unlikely that you encounter a saturation of the transmit queue, so the retry mechanism never comes into play. config ATM_FORE200E_DEBUG int "Debugging level (0-3)" depends on ATM_FORE200E default "0" help Specifies the level of debugging messages issued by the driver. The verbosity of the driver increases with the value of this parameter. When active, these messages can have a significant impact on the performances of the driver, and the size of your syslog files! Keep the debugging level to 0 during normal operations. config ATM_HE tristate "ForeRunner HE Series" depends on PCI help This is a driver for the Marconi ForeRunner HE-series ATM adapter cards. It simultaneously supports the 155 and 622 versions. config ATM_HE_USE_SUNI bool "Use S/UNI PHY driver" depends on ATM_HE help Support for the S/UNI-Ultra and S/UNI-622 found in the ForeRunner HE cards. This driver provides carrier detection some statistics. config ATM_SOLOS tristate "Solos ADSL2+ PCI Multiport card driver" depends on PCI select FW_LOADER help Support for the Solos multiport ADSL2+ card. endif # ATM atm/Makefile 0000644 00000001770 14722053666 0007005 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux network (ATM) device drivers. # fore_200e-y := fore200e.o obj-$(CONFIG_ATM_ZATM) += zatm.o uPD98402.o obj-$(CONFIG_ATM_NICSTAR) += nicstar.o obj-$(CONFIG_ATM_AMBASSADOR) += ambassador.o obj-$(CONFIG_ATM_HORIZON) += horizon.o obj-$(CONFIG_ATM_IA) += iphase.o suni.o obj-$(CONFIG_ATM_FORE200E) += fore_200e.o obj-$(CONFIG_ATM_ENI) += eni.o suni.o obj-$(CONFIG_ATM_IDT77252) += idt77252.o obj-$(CONFIG_ATM_SOLOS) += solos-pci.o ifeq ($(CONFIG_ATM_NICSTAR_USE_SUNI),y) obj-$(CONFIG_ATM_NICSTAR) += suni.o endif ifeq ($(CONFIG_ATM_NICSTAR_USE_IDT77105),y) obj-$(CONFIG_ATM_NICSTAR) += idt77105.o endif ifeq ($(CONFIG_ATM_IDT77252_USE_SUNI),y) obj-$(CONFIG_ATM_IDT77252) += suni.o endif obj-$(CONFIG_ATM_DUMMY) += adummy.o obj-$(CONFIG_ATM_TCP) += atmtcp.o obj-$(CONFIG_ATM_FIRESTREAM) += firestream.o obj-$(CONFIG_ATM_LANAI) += lanai.o obj-$(CONFIG_ATM_HE) += he.o ifeq ($(CONFIG_ATM_HE_USE_SUNI),y) obj-$(CONFIG_ATM_HE) += suni.o endif vhost/Kconfig 0000644 00000003340 14722053666 0007225 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VHOST_NET tristate "Host kernel accelerator for virtio net" depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP) select VHOST ---help--- This kernel module can be loaded in host kernel to accelerate guest networking with virtio_net. Not to be confused with virtio_net module itself which needs to be loaded in guest kernel. To compile this driver as a module, choose M here: the module will be called vhost_net. config VHOST_SCSI tristate "VHOST_SCSI TCM fabric driver" depends on TARGET_CORE && EVENTFD select VHOST default n ---help--- Say M here to enable the vhost_scsi TCM fabric module for use with virtio-scsi guests config VHOST_VSOCK tristate "vhost virtio-vsock driver" depends on VSOCKETS && EVENTFD select VIRTIO_VSOCKETS_COMMON select VHOST default n ---help--- This kernel module can be loaded in the host kernel to provide AF_VSOCK sockets for communicating with guests. The guests must have the virtio_transport.ko driver loaded to use the virtio-vsock device. To compile this driver as a module, choose M here: the module will be called vhost_vsock. config VHOST tristate ---help--- This option is selected by any driver which needs to access the core of vhost. config VHOST_CROSS_ENDIAN_LEGACY bool "Cross-endian support for vhost" default n ---help--- This option allows vhost to support guests with a different byte ordering from host while using legacy virtio. Userspace programs can control the feature using the VHOST_SET_VRING_ENDIAN and VHOST_GET_VRING_ENDIAN ioctls. This is only useful on a few platforms (ppc64 and arm64). Since it adds some overhead, it is disabled by default. If unsure, say "N". vhost/Kconfig.vringh 0000644 00000000262 14722053666 0010521 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VHOST_RING tristate ---help--- This option is selected by any driver which needs to access the host side of a virtio ring. vhost/Makefile 0000644 00000000453 14722053666 0007364 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VHOST_NET) += vhost_net.o vhost_net-y := net.o obj-$(CONFIG_VHOST_SCSI) += vhost_scsi.o vhost_scsi-y := scsi.o obj-$(CONFIG_VHOST_VSOCK) += vhost_vsock.o vhost_vsock-y := vsock.o obj-$(CONFIG_VHOST_RING) += vringh.o obj-$(CONFIG_VHOST) += vhost.o char/xilinx_hwicap/Makefile 0000644 00000000314 14722053666 0012000 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Xilinx OPB hwicap driver # obj-$(CONFIG_XILINX_HWICAP) += xilinx_hwicap_m.o xilinx_hwicap_m-y := xilinx_hwicap.o fifo_icap.o buffer_icap.o char/xillybus/Kconfig 0000644 00000001461 14722053666 0010654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Xillybus devices # config XILLYBUS tristate "Xillybus generic FPGA interface" depends on PCI || OF select CRC32 help Xillybus is a generic interface for peripherals designed on programmable logic (FPGA). The driver probes the hardware for its capabilities, and creates device files accordingly. If unsure, say N. if XILLYBUS config XILLYBUS_PCIE tristate "Xillybus over PCIe" depends on PCI_MSI help Set to M if you want Xillybus to use PCI Express for communicating with the FPGA. config XILLYBUS_OF tristate "Xillybus over Device Tree" depends on OF && HAS_DMA help Set to M if you want Xillybus to find its resources from the Open Firmware Flattened Device Tree. If the target is an embedded system, say M. endif # if XILLYBUS char/xillybus/Makefile 0000644 00000000321 14722053666 0011003 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Xillybus driver # obj-$(CONFIG_XILLYBUS) += xillybus_core.o obj-$(CONFIG_XILLYBUS_PCIE) += xillybus_pcie.o obj-$(CONFIG_XILLYBUS_OF) += xillybus_of.o char/ipmi/Kconfig 0000644 00000011221 14722053666 0007732 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IPMI device configuration # menuconfig IPMI_HANDLER tristate 'IPMI top-level message handler' depends on HAS_IOMEM select IPMI_DMI_DECODE if DMI help This enables the central IPMI message handler, required for IPMI to work. IPMI is a standard for managing sensors (temperature, voltage, etc.) in a system. See <file:Documentation/IPMI.txt> for more details on the driver. If unsure, say N. config IPMI_DMI_DECODE select IPMI_PLAT_DATA bool config IPMI_PLAT_DATA bool if IPMI_HANDLER config IPMI_PANIC_EVENT bool 'Generate a panic event to all BMCs on a panic' help When a panic occurs, this will cause the IPMI message handler to, by default, generate an IPMI event describing the panic to each interface registered with the message handler. This is always available, the module parameter for ipmi_msghandler named panic_op can be set to "event" to chose this value, this config simply causes the default value to be set to "event". config IPMI_PANIC_STRING bool 'Generate OEM events containing the panic string' depends on IPMI_PANIC_EVENT help When a panic occurs, this will cause the IPMI message handler to, by default, generate IPMI OEM type f0 events holding the IPMB address of the panic generator (byte 4 of the event), a sequence number for the string (byte 5 of the event) and part of the string (the rest of the event). Bytes 1, 2, and 3 are the normal usage for an OEM event. You can fetch these events and use the sequence numbers to piece the string together. This config parameter sets the default value to generate these events, the module parameter for ipmi_msghandler named panic_op can be set to "string" to chose this value, this config simply causes the default value to be set to "string". config IPMI_DEVICE_INTERFACE tristate 'Device interface for IPMI' help This provides an IOCTL interface to the IPMI message handler so userland processes may use IPMI. It supports poll() and select(). config IPMI_SI tristate 'IPMI System Interface handler' select IPMI_PLAT_DATA help Provides a driver for System Interfaces (KCS, SMIC, BT). Currently, only KCS and SMIC are supported. If you are using IPMI, you should probably say "y" here. config IPMI_SSIF tristate 'IPMI SMBus handler (SSIF)' select I2C help Provides a driver for a SMBus interface to a BMC, meaning that you have a driver that must be accessed over an I2C bus instead of a standard interface. This module requires I2C support. config IPMI_POWERNV depends on PPC_POWERNV tristate 'POWERNV (OPAL firmware) IPMI interface' help Provides a driver for OPAL firmware-based IPMI interfaces. config IPMI_WATCHDOG tristate 'IPMI Watchdog Timer' help This enables the IPMI watchdog timer. config IPMI_POWEROFF tristate 'IPMI Poweroff' help This enables a function to power off the system with IPMI if the IPMI management controller is capable of this. endif # IPMI_HANDLER config IPMI_KCS_BMC tristate config ASPEED_KCS_IPMI_BMC depends on ARCH_ASPEED || COMPILE_TEST select IPMI_KCS_BMC select REGMAP_MMIO tristate "Aspeed KCS IPMI BMC driver" help Provides a driver for the KCS (Keyboard Controller Style) IPMI interface found on Aspeed SOCs (AST2400 and AST2500). The driver implements the BMC side of the KCS contorller, it provides the access of KCS IO space for BMC side. config NPCM7XX_KCS_IPMI_BMC depends on ARCH_NPCM7XX || COMPILE_TEST select IPMI_KCS_BMC select REGMAP_MMIO tristate "NPCM7xx KCS IPMI BMC driver" help Provides a driver for the KCS (Keyboard Controller Style) IPMI interface found on Nuvoton NPCM7xx SOCs. The driver implements the BMC side of the KCS contorller, it provides the access of KCS IO space for BMC side. This support is also available as a module. If so, the module will be called kcs_bmc_npcm7xx. config ASPEED_BT_IPMI_BMC depends on ARCH_ASPEED || COMPILE_TEST depends on REGMAP && REGMAP_MMIO && MFD_SYSCON tristate "BT IPMI bmc driver" help Provides a driver for the BT (Block Transfer) IPMI interface found on Aspeed SOCs (AST2400 and AST2500). The driver implements the BMC side of the BT interface. config IPMB_DEVICE_INTERFACE tristate 'IPMB Interface handler' depends on I2C depends on I2C_SLAVE help Provides a driver for a device (Satellite MC) to receive requests and send responses back to the BMC via the IPMB interface. This module requires I2C support. char/ipmi/Makefile 0000644 00000001753 14722053666 0010100 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the ipmi drivers. # ipmi_si-y := ipmi_si_intf.o ipmi_kcs_sm.o ipmi_smic_sm.o ipmi_bt_sm.o \ ipmi_si_hotmod.o ipmi_si_hardcode.o ipmi_si_platform.o \ ipmi_si_port_io.o ipmi_si_mem_io.o ifdef CONFIG_PCI ipmi_si-y += ipmi_si_pci.o endif ifdef CONFIG_PARISC ipmi_si-y += ipmi_si_parisc.o endif obj-$(CONFIG_IPMI_HANDLER) += ipmi_msghandler.o obj-$(CONFIG_IPMI_DEVICE_INTERFACE) += ipmi_devintf.o obj-$(CONFIG_IPMI_SI) += ipmi_si.o obj-$(CONFIG_IPMI_DMI_DECODE) += ipmi_dmi.o obj-$(CONFIG_IPMI_PLAT_DATA) += ipmi_plat_data.o obj-$(CONFIG_IPMI_SSIF) += ipmi_ssif.o obj-$(CONFIG_IPMI_POWERNV) += ipmi_powernv.o obj-$(CONFIG_IPMI_WATCHDOG) += ipmi_watchdog.o obj-$(CONFIG_IPMI_POWEROFF) += ipmi_poweroff.o obj-$(CONFIG_IPMI_KCS_BMC) += kcs_bmc.o obj-$(CONFIG_ASPEED_BT_IPMI_BMC) += bt-bmc.o obj-$(CONFIG_ASPEED_KCS_IPMI_BMC) += kcs_bmc_aspeed.o obj-$(CONFIG_NPCM7XX_KCS_IPMI_BMC) += kcs_bmc_npcm7xx.o obj-$(CONFIG_IPMB_DEVICE_INTERFACE) += ipmb_dev_int.o char/mwave/Makefile 0000644 00000000677 14722053666 0010265 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for ACP Modem (Mwave). # # See the README file in this directory for more info. <paulsch@us.ibm.com> # obj-$(CONFIG_MWAVE) += mwave.o mwave-y := mwavedd.o smapi.o tp3780i.o 3780i.o # To have the mwave driver disable other uarts if necessary # ccflags-y := -DMWAVE_FUTZ_WITH_OTHER_DEVICES # To compile in lots (~20 KiB) of run-time enablable printk()s for debugging: ccflags-y += -DMW_TRACE char/Kconfig 0000644 00000047456 14722053666 0007017 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Character device configuration # menu "Character devices" source "drivers/tty/Kconfig" config DEVMEM bool "/dev/mem virtual device support" default y help Say Y here if you want to support the /dev/mem device. The /dev/mem device is used to access areas of physical memory. When in doubt, say "Y". config DEVKMEM bool "/dev/kmem virtual device support" # On arm64, VMALLOC_START < PAGE_OFFSET, which confuses kmem read/write depends on !ARM64 help Say Y here if you want to support the /dev/kmem device. The /dev/kmem device is rarely used, but can be used for certain kind of kernel debugging operations. When in doubt, say "N". source "drivers/tty/serial/Kconfig" source "drivers/tty/serdev/Kconfig" config TTY_PRINTK tristate "TTY driver to output user messages via printk" depends on EXPERT && TTY default n ---help--- If you say Y here, the support for writing user messages (i.e. console messages) via printk is available. The feature is useful to inline user messages with kernel messages. In order to use this feature, you should output user messages to /dev/ttyprintk or redirect console to this TTY. If unsure, say N. config TTY_PRINTK_LEVEL depends on TTY_PRINTK int "ttyprintk log level (1-7)" range 1 7 default "6" help Printk log level to use for ttyprintk messages. config PRINTER tristate "Parallel printer support" depends on PARPORT ---help--- If you intend to attach a printer to the parallel port of your Linux box (as opposed to using a serial printer; if the connector at the printer has 9 or 25 holes ["female"], then it's serial), say Y. Also read the Printing-HOWTO, available from <http://www.tldp.org/docs.html#howto>. It is possible to share one parallel port among several devices (e.g. printer and ZIP drive) and it is safe to compile the corresponding drivers into the kernel. To compile this driver as a module, choose M here and read <file:Documentation/admin-guide/parport.rst>. The module will be called lp. If you have several parallel ports, you can specify which ports to use with the "lp" kernel command line option. (Try "man bootparam" or see the documentation of your boot loader (lilo or loadlin) about how to pass options to the kernel at boot time.) The syntax of the "lp" command line option can be found in <file:drivers/char/lp.c>. If you have more than 8 printers, you need to increase the LP_NO macro in lp.c and the PARPORT_MAX macro in parport.h. config LP_CONSOLE bool "Support for console on line printer" depends on PRINTER ---help--- If you want kernel messages to be printed out as they occur, you can have a console on the printer. This option adds support for doing that; to actually get it to happen you need to pass the option "console=lp0" to the kernel at boot time. If the printer is out of paper (or off, or unplugged, or too busy..) the kernel will stall until the printer is ready again. By defining CONSOLE_LP_STRICT to 0 (at your own risk) you can make the kernel continue when this happens, but it'll lose the kernel messages. If unsure, say N. config PPDEV tristate "Support for user-space parallel port device drivers" depends on PARPORT ---help--- Saying Y to this adds support for /dev/parport device nodes. This is needed for programs that want portable access to the parallel port, for instance deviceid (which displays Plug-and-Play device IDs). This is the parallel port equivalent of SCSI generic support (sg). It is safe to say N to this -- it is not needed for normal printing or parallel port CD-ROM/disk support. To compile this driver as a module, choose M here: the module will be called ppdev. If unsure, say N. source "drivers/tty/hvc/Kconfig" config VIRTIO_CONSOLE tristate "Virtio console" depends on VIRTIO && TTY select HVC_DRIVER help Virtio console for use with hypervisors. Also serves as a general-purpose serial device for data transfer between the guest and host. Character devices at /dev/vportNpn will be created when corresponding ports are found, where N is the device number and n is the port number within that device. If specified by the host, a sysfs attribute called 'name' will be populated with a name for the port which can be used by udev scripts to create a symlink to the device. config IBM_BSR tristate "IBM POWER Barrier Synchronization Register support" depends on PPC_PSERIES help This devices exposes a hardware mechanism for fast synchronization of threads across a large system which avoids bouncing a cacheline between several cores on a system config POWERNV_OP_PANEL tristate "IBM POWERNV Operator Panel Display support" depends on PPC_POWERNV default m help If you say Y here, a special character device node, /dev/op_panel, will be created which exposes the operator panel display on IBM Power Systems machines with FSPs. If you don't require access to the operator panel display from user space, say N. If unsure, say M here to build it as a module called powernv-op-panel. source "drivers/char/ipmi/Kconfig" config DS1620 tristate "NetWinder thermometer support" depends on ARCH_NETWINDER help Say Y here to include support for the thermal management hardware found in the NetWinder. This driver allows the user to control the temperature set points and to read the current temperature. It is also possible to say M here to build it as a module (ds1620) It is recommended to be used on a NetWinder, but it is not a necessity. config NWBUTTON tristate "NetWinder Button" depends on ARCH_NETWINDER ---help--- If you say Y here and create a character device node /dev/nwbutton with major and minor numbers 10 and 158 ("man mknod"), then every time the orange button is pressed a number of times, the number of times the button was pressed will be written to that device. This is most useful for applications, as yet unwritten, which perform actions based on how many times the button is pressed in a row. Do not hold the button down for too long, as the driver does not alter the behaviour of the hardware reset circuitry attached to the button; it will still execute a hard reset if the button is held down for longer than approximately five seconds. To compile this driver as a module, choose M here: the module will be called nwbutton. Most people will answer Y to this question and "Reboot Using Button" below to be able to initiate a system shutdown from the button. config NWBUTTON_REBOOT bool "Reboot Using Button" depends on NWBUTTON help If you say Y here, then you will be able to initiate a system shutdown and reboot by pressing the orange button a number of times. The number of presses to initiate the shutdown is two by default, but this can be altered by modifying the value of NUM_PRESSES_REBOOT in nwbutton.h and recompiling the driver or, if you compile the driver as a module, you can specify the number of presses at load time with "insmod button reboot_count=<something>". config NWFLASH tristate "NetWinder flash support" depends on ARCH_NETWINDER ---help--- If you say Y here and create a character device /dev/flash with major 10 and minor 160 you can manipulate the flash ROM containing the NetWinder firmware. Be careful as accidentally overwriting the flash contents can render your computer unbootable. On no account allow random users access to this device. :-) To compile this driver as a module, choose M here: the module will be called nwflash. If you're not sure, say N. source "drivers/char/hw_random/Kconfig" config NVRAM tristate "/dev/nvram support" depends on X86 || HAVE_ARCH_NVRAM_OPS default M68K || PPC ---help--- If you say Y here and create a character special file /dev/nvram with major number 10 and minor number 144 using mknod ("man mknod"), you get read and write access to the non-volatile memory. /dev/nvram may be used to view settings in NVRAM or to change them (with some utility). It could also be used to frequently save a few bits of very important data that may not be lost over power-off and for which writing to disk is too insecure. Note however that most NVRAM space in a PC belongs to the BIOS and you should NEVER idly tamper with it. See Ralf Brown's interrupt list for a guide to the use of CMOS bytes by your BIOS. This memory is conventionally called "NVRAM" on PowerPC machines, "CMOS RAM" on PCs, "NVRAM" on Ataris and "PRAM" on Macintoshes. To compile this driver as a module, choose M here: the module will be called nvram. # # These legacy RTC drivers just cause too many conflicts with the generic # RTC framework ... let's not even try to coexist any more. # if RTC_LIB=n config RTC tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)" depends on ALPHA ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you will get access to the real time clock (or hardware clock) built into your computer. Every PC has such a clock built in. It can be used to generate signals from as low as 1Hz up to 8192Hz, and can also be used as a 24 hour alarm. It reports status information via the file /proc/driver/rtc and its behaviour is set by various ioctls on /dev/rtc. If you run Linux on a multiprocessor machine and said Y to "Symmetric Multi Processing" above, you should say Y here to read and set the RTC in an SMP compatible fashion. If you think you have a use for such a device (such as periodic data sampling), then say Y here, and read <file:Documentation/admin-guide/rtc.rst> for details. To compile this driver as a module, choose M here: the module will be called rtc. config JS_RTC tristate "Enhanced Real Time Clock Support" depends on SPARC32 && PCI ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you will get access to the real time clock (or hardware clock) built into your computer. Every PC has such a clock built in. It can be used to generate signals from as low as 1Hz up to 8192Hz, and can also be used as a 24 hour alarm. It reports status information via the file /proc/driver/rtc and its behaviour is set by various ioctls on /dev/rtc. If you think you have a use for such a device (such as periodic data sampling), then say Y here, and read <file:Documentation/admin-guide/rtc.rst> for details. To compile this driver as a module, choose M here: the module will be called js-rtc. config EFI_RTC bool "EFI Real Time Clock Services" depends on IA64 endif # RTC_LIB config DTLK tristate "Double Talk PC internal speech card support" depends on ISA help This driver is for the DoubleTalk PC, a speech synthesizer manufactured by RC Systems (<http://www.rcsys.com/>). It is also called the `internal DoubleTalk'. To compile this driver as a module, choose M here: the module will be called dtlk. config XILINX_HWICAP tristate "Xilinx HWICAP Support" depends on XILINX_VIRTEX || MICROBLAZE help This option enables support for Xilinx Internal Configuration Access Port (ICAP) driver. The ICAP is used on Xilinx Virtex FPGA platforms to partially reconfigure the FPGA at runtime. If unsure, say N. config R3964 tristate "Siemens R3964 line discipline" depends on TTY && BROKEN ---help--- This driver allows synchronous communication with devices using the Siemens R3964 packet protocol. Unless you are dealing with special hardware like PLCs, you are unlikely to need this. To compile this driver as a module, choose M here: the module will be called n_r3964. If unsure, say N. config APPLICOM tristate "Applicom intelligent fieldbus card support" depends on PCI ---help--- This driver provides the kernel-side support for the intelligent fieldbus cards made by Applicom International. More information about these cards can be found on the WWW at the address <http://www.applicom-int.com/>, or by email from David Woodhouse <dwmw2@infradead.org>. To compile this driver as a module, choose M here: the module will be called applicom. If unsure, say N. config SONYPI tristate "Sony Vaio Programmable I/O Control Device support" depends on X86_32 && PCI && INPUT ---help--- This driver enables access to the Sony Programmable I/O Control Device which can be found in many (all ?) Sony Vaio laptops. If you have one of those laptops, read <file:Documentation/admin-guide/laptops/sonypi.rst>, and say Y or M here. To compile this driver as a module, choose M here: the module will be called sonypi. config GPIO_TB0219 tristate "TANBAC TB0219 GPIO support" depends on TANBAC_TB022X select GPIO_VR41XX source "drivers/char/pcmcia/Kconfig" config MWAVE tristate "ACP Modem (Mwave) support" depends on X86 && TTY select SERIAL_8250 ---help--- The ACP modem (Mwave) for Linux is a WinModem. It is composed of a kernel driver and a user level application. Together these components support direct attachment to public switched telephone networks (PSTNs) and support selected world wide countries. This version of the ACP Modem driver supports the IBM Thinkpad 600E, 600, and 770 that include on board ACP modem hardware. The modem also supports the standard communications port interface (ttySx) and is compatible with the Hayes AT Command Set. The user level application needed to use this driver can be found at the IBM Linux Technology Center (LTC) web site: <http://www.ibm.com/linux/ltc/>. If you own one of the above IBM Thinkpads which has the Mwave chipset in it, say Y. To compile this driver as a module, choose M here: the module will be called mwave. config SCx200_GPIO tristate "NatSemi SCx200 GPIO Support" depends on SCx200 select NSC_GPIO help Give userspace access to the GPIO pins on the National Semiconductor SCx200 processors. If compiled as a module, it will be called scx200_gpio. config PC8736x_GPIO tristate "NatSemi PC8736x GPIO Support" depends on X86_32 && !UML default SCx200_GPIO # mostly N select NSC_GPIO # needed for support routines help Give userspace access to the GPIO pins on the National Semiconductor PC-8736x (x=[03456]) SuperIO chip. The chip has multiple functional units, inc several managed by hwmon/pc87360 driver. Tested with PC-87366 If compiled as a module, it will be called pc8736x_gpio. config NSC_GPIO tristate "NatSemi Base GPIO Support" depends on X86_32 # selected by SCx200_GPIO and PC8736x_GPIO # what about 2 selectors differing: m != y help Common support used (and needed) by scx200_gpio and pc8736x_gpio drivers. If those drivers are built as modules, this one will be too, named nsc_gpio config RAW_DRIVER tristate "RAW driver (/dev/raw/rawN)" depends on BLOCK help The raw driver permits block devices to be bound to /dev/raw/rawN. Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O. See the raw(8) manpage for more details. Applications should preferably open the device (eg /dev/hda1) with the O_DIRECT flag. config MAX_RAW_DEVS int "Maximum number of RAW devices to support (1-65536)" depends on RAW_DRIVER range 1 65536 default "256" help The maximum number of RAW devices that are supported. Default is 256. Increase this number in case you need lots of raw devices. config HPET bool "HPET - High Precision Event Timer" if (X86 || IA64) default n depends on ACPI help If you say Y here, you will have a miscdevice named "/dev/hpet/". Each open selects one of the timers supported by the HPET. The timers are non-periodic and/or periodic. config HPET_MMAP bool "Allow mmap of HPET" default y depends on HPET help If you say Y here, user applications will be able to mmap the HPET registers. config HPET_MMAP_DEFAULT bool "Enable HPET MMAP access by default" default y depends on HPET_MMAP help In some hardware implementations, the page containing HPET registers may also contain other things that shouldn't be exposed to the user. This option selects the default (if kernel parameter hpet_mmap is not set) user access to the registers for applications that require it. config HANGCHECK_TIMER tristate "Hangcheck timer" depends on X86 || IA64 || PPC64 || S390 help The hangcheck-timer module detects when the system has gone out to lunch past a certain margin. It can reboot the system or merely print a warning. config UV_MMTIMER tristate "UV_MMTIMER Memory mapped RTC for SGI UV" depends on X86_UV default m help The uv_mmtimer device allows direct userspace access to the UV system timer. source "drivers/char/tpm/Kconfig" config TELCLOCK tristate "Telecom clock driver for ATCA SBC" depends on X86 default n help The telecom clock device is specific to the MPCBL0010 and MPCBL0050 ATCA computers and allows direct userspace access to the configuration of the telecom clock configuration settings. This device is used for hardware synchronization across the ATCA backplane fabric. Upon loading, the driver exports a sysfs directory, /sys/devices/platform/telco_clock, with a number of files for controlling the behavior of this hardware. config DEVPORT bool "/dev/port character device" depends on ISA || PCI default y help Say Y here if you want to support the /dev/port device. The /dev/port device is similar to /dev/mem, but for I/O ports. source "drivers/s390/char/Kconfig" source "drivers/char/xillybus/Kconfig" config ADI tristate "SPARC Privileged ADI driver" depends on SPARC64 default m help SPARC M7 and newer processors utilize ADI (Application Data Integrity) to version and protect memory. This driver provides read/write access to the ADI versions for privileged processes. This feature is also known as MCD (Memory Corruption Detection) and SSM (Silicon Secured Memory). Intended consumers of this driver include crash and makedumpfile. config RANDOM_TRUST_CPU bool "Initialize RNG using CPU RNG instructions" default y depends on ARCH_RANDOM help Initialize the RNG using random numbers supplied by the CPU's RNG instructions (e.g. RDRAND), if supported and available. These random numbers are never used directly, but are rather hashed into the main input pool, and this happens regardless of whether or not this option is enabled. Instead, this option controls whether the they are credited and hence can initialize the RNG. Additionally, other sources of randomness are always used, regardless of this setting. Enabling this implies trusting that the CPU can supply high quality and non-backdoored random numbers. Say Y here unless you have reason to mistrust your CPU or believe its RNG facilities may be faulty. This may also be configured at boot time with "random.trust_cpu=on/off". config RANDOM_TRUST_BOOTLOADER bool "Initialize RNG using bootloader-supplied seed" default y help Initialize the RNG using a seed supplied by the bootloader or boot environment (e.g. EFI or a bootloader-generated device tree). This seed is not used directly, but is rather hashed into the main input pool, and this happens regardless of whether or not this option is enabled. Instead, this option controls whether the seed is credited and hence can initialize the RNG. Additionally, other sources of randomness are always used, regardless of this setting. Enabling this implies trusting that the bootloader can supply high quality and non-backdoored seeds. Say Y here unless you have reason to mistrust your bootloader or believe its RNG facilities may be faulty. This may also be configured at boot time with "random.trust_bootloader=on/off". endmenu char/hw_random/Kconfig 0000644 00000034277 14722053666 0010772 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Hardware Random Number Generator (RNG) configuration # menuconfig HW_RANDOM tristate "Hardware Random Number Generator Core support" default m ---help--- Hardware Random Number Generator Core infrastructure. To compile this driver as a module, choose M here: the module will be called rng-core. This provides a device that's usually called /dev/hwrng, and which exposes one of possibly several hardware random number generators. These hardware random number generators do feed into the kernel's random number generator entropy pool. If unsure, say Y. if HW_RANDOM config HW_RANDOM_TIMERIOMEM tristate "Timer IOMEM HW Random Number Generator support" depends on HAS_IOMEM ---help--- This driver provides kernel-side support for a generic Random Number Generator used by reading a 'dumb' iomem address that is to be read no faster than, for example, once a second; the default FPGA bitstream on the TS-7800 has such functionality. To compile this driver as a module, choose M here: the module will be called timeriomem-rng. If unsure, say Y. config HW_RANDOM_INTEL tristate "Intel HW Random Number Generator support" depends on (X86 || IA64) && PCI default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Intel i8xx-based motherboards. To compile this driver as a module, choose M here: the module will be called intel-rng. If unsure, say Y. config HW_RANDOM_AMD tristate "AMD HW Random Number Generator support" depends on (X86 || PPC_MAPLE) && PCI default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on AMD 76x-based motherboards. To compile this driver as a module, choose M here: the module will be called amd-rng. If unsure, say Y. config HW_RANDOM_ATMEL tristate "Atmel Random Number Generator support" depends on ARCH_AT91 && HAVE_CLK && OF default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Atmel AT91 devices. To compile this driver as a module, choose M here: the module will be called atmel-rng. If unsure, say Y. config HW_RANDOM_BCM2835 tristate "Broadcom BCM2835/BCM63xx Random Number Generator support" depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X || \ ARCH_BCM_63XX || BCM63XX || BMIPS_GENERIC default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on the Broadcom BCM2835 and BCM63xx SoCs. To compile this driver as a module, choose M here: the module will be called bcm2835-rng If unsure, say Y. config HW_RANDOM_IPROC_RNG200 tristate "Broadcom iProc/STB RNG200 support" depends on ARCH_BCM_IPROC || ARCH_BRCMSTB default HW_RANDOM ---help--- This driver provides kernel-side support for the RNG200 hardware found on the Broadcom iProc and STB SoCs. To compile this driver as a module, choose M here: the module will be called iproc-rng200 If unsure, say Y. config HW_RANDOM_GEODE tristate "AMD Geode HW Random Number Generator support" depends on X86_32 && PCI default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on the AMD Geode LX. To compile this driver as a module, choose M here: the module will be called geode-rng. If unsure, say Y. config HW_RANDOM_N2RNG tristate "Niagara2 Random Number Generator support" depends on SPARC64 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Niagara2 cpus. To compile this driver as a module, choose M here: the module will be called n2-rng. If unsure, say Y. config HW_RANDOM_VIA tristate "VIA HW Random Number Generator support" depends on X86 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on VIA based motherboards. To compile this driver as a module, choose M here: the module will be called via-rng. If unsure, say Y. config HW_RANDOM_IXP4XX tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support" depends on ARCH_IXP4XX default HW_RANDOM ---help--- This driver provides kernel-side support for the Pseudo-Random Number Generator hardware found on the Intel IXP45x/46x NPU. To compile this driver as a module, choose M here: the module will be called ixp4xx-rng. If unsure, say Y. config HW_RANDOM_OMAP tristate "OMAP Random Number Generator support" depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx multimedia processors, and Marvell Armada 7k/8k SoCs. To compile this driver as a module, choose M here: the module will be called omap-rng. If unsure, say Y. config HW_RANDOM_OMAP3_ROM tristate "OMAP3 ROM Random Number Generator support" depends on ARCH_OMAP3 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on OMAP34xx processors. To compile this driver as a module, choose M here: the module will be called omap3-rom-rng. If unsure, say Y. config HW_RANDOM_OCTEON tristate "Octeon Random Number Generator support" depends on CAVIUM_OCTEON_SOC default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Octeon processors. To compile this driver as a module, choose M here: the module will be called octeon-rng. If unsure, say Y. config HW_RANDOM_PASEMI tristate "PA Semi HW Random Number Generator support" depends on PPC_PASEMI default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on PA Semi PWRficient SoCs. To compile this driver as a module, choose M here: the module will be called pasemi-rng. If unsure, say Y. config HW_RANDOM_VIRTIO tristate "VirtIO Random Number Generator support" depends on VIRTIO ---help--- This driver provides kernel-side support for the virtual Random Number Generator hardware. To compile this driver as a module, choose M here: the module will be called virtio-rng. If unsure, say N. config HW_RANDOM_TX4939 tristate "TX4939 Random Number Generator support" depends on SOC_TX4939 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on TX4939 SoC. To compile this driver as a module, choose M here: the module will be called tx4939-rng. If unsure, say Y. config HW_RANDOM_MXC_RNGA tristate "Freescale i.MX RNGA Random Number Generator" depends on SOC_IMX31 default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Freescale i.MX processors. To compile this driver as a module, choose M here: the module will be called mxc-rnga. If unsure, say Y. config HW_RANDOM_IMX_RNGC tristate "Freescale i.MX RNGC Random Number Generator" depends on ARCH_MXC default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator Version C hardware found on some Freescale i.MX processors. Version B is also supported by this driver. To compile this driver as a module, choose M here: the module will be called imx-rngc. If unsure, say Y. config HW_RANDOM_NOMADIK tristate "ST-Ericsson Nomadik Random Number Generator support" depends on ARCH_NOMADIK default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on ST-Ericsson SoCs (8815 and 8500). To compile this driver as a module, choose M here: the module will be called nomadik-rng. If unsure, say Y. config HW_RANDOM_PSERIES tristate "pSeries HW Random Number Generator support" depends on PPC64 && IBMVIO default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on POWER7+ machines and above To compile this driver as a module, choose M here: the module will be called pseries-rng. If unsure, say Y. config HW_RANDOM_POWERNV tristate "PowerNV Random Number Generator support" depends on PPC_POWERNV default HW_RANDOM ---help--- This is the driver for Random Number Generator hardware found in POWER7+ and above machines for PowerNV platform. To compile this driver as a module, choose M here: the module will be called powernv-rng. If unsure, say Y. config HW_RANDOM_HISI tristate "Hisilicon Random Number Generator support" depends on HW_RANDOM && ARCH_HISI default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Hisilicon Hip04 and Hip05 SoC. To compile this driver as a module, choose M here: the module will be called hisi-rng. If unsure, say Y. config HW_RANDOM_HISI_V2 tristate "HiSilicon True Random Number Generator V2 support" depends on HW_RANDOM && ARM64 && ACPI default HW_RANDOM help This driver provides kernel-side support for the True Random Number Generator V2 hardware found on HiSilicon Hi1620 SoC. To compile this driver as a module, choose M here: the module will be called hisi-trng-v2. If unsure, say Y. config HW_RANDOM_ST tristate "ST Microelectronics HW Random Number Generator support" depends on HW_RANDOM && ARCH_STI ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on STi series of SoCs. To compile this driver as a module, choose M here: the module will be called st-rng. config HW_RANDOM_XGENE tristate "APM X-Gene True Random Number Generator (TRNG) support" depends on HW_RANDOM && ARCH_XGENE default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on APM X-Gene SoC. To compile this driver as a module, choose M here: the module will be called xgene_rng. If unsure, say Y. config HW_RANDOM_STM32 tristate "STMicroelectronics STM32 random number generator" depends on HW_RANDOM && (ARCH_STM32 || COMPILE_TEST) depends on HAS_IOMEM default HW_RANDOM help This driver provides kernel-side support for the Random Number Generator hardware found on STM32 microcontrollers. To compile this driver as a module, choose M here: the module will be called stm32-rng. If unsure, say N. config HW_RANDOM_PIC32 tristate "Microchip PIC32 Random Number Generator support" depends on HW_RANDOM && MACH_PIC32 default y ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on a PIC32. To compile this driver as a module, choose M here. the module will be called pic32-rng. If unsure, say Y. config HW_RANDOM_MESON tristate "Amlogic Meson Random Number Generator support" depends on HW_RANDOM depends on ARCH_MESON || COMPILE_TEST default y ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Amlogic Meson SoCs. To compile this driver as a module, choose M here. the module will be called meson-rng. If unsure, say Y. config HW_RANDOM_CAVIUM tristate "Cavium ThunderX Random Number Generator support" depends on HW_RANDOM && PCI && (ARM64 || (COMPILE_TEST && 64BIT)) default HW_RANDOM ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Cavium SoCs. To compile this driver as a module, choose M here: the module will be called cavium_rng. If unsure, say Y. config HW_RANDOM_MTK tristate "Mediatek Random Number Generator support" depends on HW_RANDOM depends on ARCH_MEDIATEK || COMPILE_TEST default y ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Mediatek SoCs. To compile this driver as a module, choose M here. the module will be called mtk-rng. If unsure, say Y. config HW_RANDOM_S390 tristate "S390 True Random Number Generator support" depends on S390 default HW_RANDOM ---help--- This driver provides kernel-side support for the True Random Number Generator available as CPACF extension on modern s390 hardware platforms. To compile this driver as a module, choose M here: the module will be called s390-trng. If unsure, say Y. config HW_RANDOM_EXYNOS tristate "Samsung Exynos True Random Number Generator support" depends on ARCH_EXYNOS || COMPILE_TEST default HW_RANDOM ---help--- This driver provides support for the True Random Number Generator available in Exynos SoCs. To compile this driver as a module, choose M here: the module will be called exynos-trng. If unsure, say Y. config HW_RANDOM_OPTEE tristate "OP-TEE based Random Number Generator support" depends on OPTEE default HW_RANDOM help This driver provides support for OP-TEE based Random Number Generator on ARM SoCs where hardware entropy sources are not accessible to normal world (Linux). To compile this driver as a module, choose M here: the module will be called optee-rng. If unsure, say Y. endif # HW_RANDOM config UML_RANDOM depends on UML tristate "Hardware random number generator" help This option enables UML's "hardware" random number generator. It attaches itself to the host's /dev/random, supplying as much entropy as the host has, rather than the small amount the UML gets from its own drivers. It registers itself as a standard hardware random number generator, major 10, minor 183, and the canonical device name is /dev/hwrng. The way to make use of this is to install the rng-tools package (check your distro, or download from http://sourceforge.net/projects/gkernel/). rngd periodically reads /dev/hwrng and injects the entropy into /dev/random. config HW_RANDOM_KEYSTONE depends on ARCH_KEYSTONE default HW_RANDOM tristate "TI Keystone NETCP SA Hardware random number generator" help This option enables Keystone's hardware random generator. char/hw_random/Makefile 0000644 00000003370 14722053666 0011115 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for HW Random Number Generator (RNG) device drivers. # obj-$(CONFIG_HW_RANDOM) += rng-core.o rng-core-y := core.o obj-$(CONFIG_HW_RANDOM_TIMERIOMEM) += timeriomem-rng.o obj-$(CONFIG_HW_RANDOM_INTEL) += intel-rng.o obj-$(CONFIG_HW_RANDOM_AMD) += amd-rng.o obj-$(CONFIG_HW_RANDOM_ATMEL) += atmel-rng.o obj-$(CONFIG_HW_RANDOM_GEODE) += geode-rng.o obj-$(CONFIG_HW_RANDOM_N2RNG) += n2-rng.o n2-rng-y := n2-drv.o n2-asm.o obj-$(CONFIG_HW_RANDOM_VIA) += via-rng.o obj-$(CONFIG_HW_RANDOM_EXYNOS) += exynos-trng.o obj-$(CONFIG_HW_RANDOM_IXP4XX) += ixp4xx-rng.o obj-$(CONFIG_HW_RANDOM_OMAP) += omap-rng.o obj-$(CONFIG_HW_RANDOM_OMAP3_ROM) += omap3-rom-rng.o obj-$(CONFIG_HW_RANDOM_PASEMI) += pasemi-rng.o obj-$(CONFIG_HW_RANDOM_VIRTIO) += virtio-rng.o obj-$(CONFIG_HW_RANDOM_TX4939) += tx4939-rng.o obj-$(CONFIG_HW_RANDOM_MXC_RNGA) += mxc-rnga.o obj-$(CONFIG_HW_RANDOM_IMX_RNGC) += imx-rngc.o obj-$(CONFIG_HW_RANDOM_OCTEON) += octeon-rng.o obj-$(CONFIG_HW_RANDOM_NOMADIK) += nomadik-rng.o obj-$(CONFIG_HW_RANDOM_PSERIES) += pseries-rng.o obj-$(CONFIG_HW_RANDOM_POWERNV) += powernv-rng.o obj-$(CONFIG_HW_RANDOM_HISI) += hisi-rng.o obj-$(CONFIG_HW_RANDOM_HISI_V2) += hisi-trng-v2.o obj-$(CONFIG_HW_RANDOM_BCM2835) += bcm2835-rng.o obj-$(CONFIG_HW_RANDOM_IPROC_RNG200) += iproc-rng200.o obj-$(CONFIG_HW_RANDOM_ST) += st-rng.o obj-$(CONFIG_HW_RANDOM_XGENE) += xgene-rng.o obj-$(CONFIG_HW_RANDOM_STM32) += stm32-rng.o obj-$(CONFIG_HW_RANDOM_PIC32) += pic32-rng.o obj-$(CONFIG_HW_RANDOM_MESON) += meson-rng.o obj-$(CONFIG_HW_RANDOM_CAVIUM) += cavium-rng.o cavium-rng-vf.o obj-$(CONFIG_HW_RANDOM_MTK) += mtk-rng.o obj-$(CONFIG_HW_RANDOM_S390) += s390-trng.o obj-$(CONFIG_HW_RANDOM_KEYSTONE) += ks-sa-rng.o obj-$(CONFIG_HW_RANDOM_OPTEE) += optee-rng.o char/tpm/Kconfig 0000644 00000014274 14722053666 0007607 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # TPM device configuration # menuconfig TCG_TPM tristate "TPM Hardware Support" depends on HAS_IOMEM imply SECURITYFS select CRYPTO select CRYPTO_HASH_INFO ---help--- If you have a TPM security chip in your system, which implements the Trusted Computing Group's specification, say Yes and it will be accessible from within Linux. For more information see <http://www.trustedcomputinggroup.org>. An implementation of the Trusted Software Stack (TSS), the userspace enablement piece of the specification, can be obtained at: <http://sourceforge.net/projects/trousers>. To compile this driver as a module, choose M here; the module will be called tpm. If unsure, say N. Notes: 1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI and CONFIG_PNPACPI. 2) Without ACPI enabled, the BIOS event log won't be accessible, which is required to validate the PCR 0-7 values. if TCG_TPM config HW_RANDOM_TPM bool "TPM HW Random Number Generator support" depends on TCG_TPM && HW_RANDOM && !(TCG_TPM=y && HW_RANDOM=m) default y ---help--- This setting exposes the TPM's Random Number Generator as a hwrng device. This allows the kernel to collect randomness from the TPM at boot, and provides the TPM randomines in /dev/hwrng. If unsure, say Y. config TCG_TIS_CORE tristate ---help--- TCG TIS TPM core driver. It implements the TPM TCG TIS logic and hooks into the TPM kernel APIs. Physical layers will register against it. config TCG_TIS tristate "TPM Interface Specification 1.2 Interface / TPM 2.0 FIFO Interface" depends on X86 || OF select TCG_TIS_CORE ---help--- If you have a TPM security chip that is compliant with the TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO specification (TPM2.0) say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_tis. config TCG_TIS_SPI tristate "TPM Interface Specification 1.3 Interface / TPM 2.0 FIFO Interface - (SPI)" depends on SPI select TCG_TIS_CORE ---help--- If you have a TPM security chip which is connected to a regular, non-tcg SPI master (i.e. most embedded platforms) that is compliant with the TCG TIS 1.3 TPM specification (TPM1.2) or the TCG PTP FIFO specification (TPM2.0) say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_tis_spi. config TCG_TIS_I2C_ATMEL tristate "TPM Interface Specification 1.2 Interface (I2C - Atmel)" depends on I2C ---help--- If you have an Atmel I2C TPM security chip say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_tis_i2c_atmel. config TCG_TIS_I2C_INFINEON tristate "TPM Interface Specification 1.2 Interface (I2C - Infineon)" depends on I2C ---help--- If you have a TPM security chip that is compliant with the TCG TIS 1.2 TPM specification and Infineon's I2C Protocol Stack Specification 0.20 say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_i2c_infineon. config TCG_TIS_I2C_NUVOTON tristate "TPM Interface Specification 1.2 Interface (I2C - Nuvoton)" depends on I2C ---help--- If you have a TPM security chip with an I2C interface from Nuvoton Technology Corp. say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_i2c_nuvoton. config TCG_NSC tristate "National Semiconductor TPM Interface" depends on X86 ---help--- If you have a TPM security chip from National Semiconductor say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_nsc. config TCG_ATMEL tristate "Atmel TPM Interface" depends on PPC64 || HAS_IOPORT_MAP ---help--- If you have a TPM security chip from Atmel say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_atmel. config TCG_INFINEON tristate "Infineon Technologies TPM Interface" depends on PNP ---help--- If you have a TPM security chip from Infineon Technologies (either SLD 9630 TT 1.1 or SLB 9635 TT 1.2) say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_infineon. Further information on this driver and the supported hardware can be found at http://www.trust.rub.de/projects/linux-device-driver-infineon-tpm/ config TCG_IBMVTPM tristate "IBM VTPM Interface" depends on PPC_PSERIES ---help--- If you have IBM virtual TPM (VTPM) support say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_ibmvtpm. config TCG_XEN tristate "XEN TPM Interface" depends on TCG_TPM && XEN select XEN_XENBUS_FRONTEND ---help--- If you want to make TPM support available to a Xen user domain, say Yes and it will be accessible from within Linux. See the manpages for xl, xl.conf, and docs/misc/vtpm.txt in the Xen source repository for more details. To compile this driver as a module, choose M here; the module will be called xen-tpmfront. config TCG_CRB tristate "TPM 2.0 CRB Interface" depends on ACPI ---help--- If you have a TPM security chip that is compliant with the TCG CRB 2.0 TPM specification say Yes and it will be accessible from within Linux. To compile this driver as a module, choose M here; the module will be called tpm_crb. config TCG_VTPM_PROXY tristate "VTPM Proxy Interface" depends on TCG_TPM ---help--- This driver proxies for an emulated TPM (vTPM) running in userspace. A device /dev/vtpmx is provided that creates a device pair /dev/vtpmX and a server-side file descriptor on which the vTPM can receive commands. config TCG_FTPM_TEE tristate "TEE based fTPM Interface" depends on TEE && OPTEE help This driver proxies for firmware TPM running in TEE. source "drivers/char/tpm/st33zp24/Kconfig" endif # TCG_TPM char/tpm/st33zp24/Kconfig 0000644 00000002072 14722053666 0011114 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config TCG_TIS_ST33ZP24 tristate ---help--- STMicroelectronics ST33ZP24 core driver. It implements the core TPM1.2 logic and hooks into the TPM kernel APIs. Physical layers will register against it. To compile this driver as a module, choose m here. The module will be called tpm_st33zp24. config TCG_TIS_ST33ZP24_I2C tristate "STMicroelectronics TPM Interface Specification 1.2 Interface (I2C)" depends on I2C select TCG_TIS_ST33ZP24 ---help--- This module adds support for the STMicroelectronics TPM security chip ST33ZP24 with i2c interface. To compile this driver as a module, choose M here; the module will be called tpm_st33zp24_i2c. config TCG_TIS_ST33ZP24_SPI tristate "STMicroelectronics TPM Interface Specification 1.2 Interface (SPI)" depends on SPI select TCG_TIS_ST33ZP24 ---help--- This module adds support for the STMicroelectronics TPM security chip ST33ZP24 with spi interface. To compile this driver as a module, choose M here; the module will be called tpm_st33zp24_spi. char/tpm/st33zp24/Makefile 0000644 00000000517 14722053666 0011253 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for ST33ZP24 TPM 1.2 driver # tpm_st33zp24-objs = st33zp24.o obj-$(CONFIG_TCG_TIS_ST33ZP24) += tpm_st33zp24.o tpm_st33zp24_i2c-objs = i2c.o obj-$(CONFIG_TCG_TIS_ST33ZP24_I2C) += tpm_st33zp24_i2c.o tpm_st33zp24_spi-objs = spi.o obj-$(CONFIG_TCG_TIS_ST33ZP24_SPI) += tpm_st33zp24_spi.o char/tpm/Makefile 0000644 00000002217 14722053666 0007736 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel tpm device drivers. # obj-$(CONFIG_TCG_TPM) += tpm.o tpm-y := tpm-chip.o tpm-y += tpm-dev-common.o tpm-y += tpm-dev.o tpm-y += tpm-interface.o tpm-y += tpm1-cmd.o tpm-y += tpm2-cmd.o tpm-y += tpmrm-dev.o tpm-y += tpm2-space.o tpm-y += tpm-sysfs.o tpm-y += eventlog/common.o tpm-y += eventlog/tpm1.o tpm-y += eventlog/tpm2.o tpm-$(CONFIG_ACPI) += tpm_ppi.o eventlog/acpi.o tpm-$(CONFIG_EFI) += eventlog/efi.o tpm-$(CONFIG_OF) += eventlog/of.o obj-$(CONFIG_TCG_TIS_CORE) += tpm_tis_core.o obj-$(CONFIG_TCG_TIS) += tpm_tis.o obj-$(CONFIG_TCG_TIS_SPI) += tpm_tis_spi.o obj-$(CONFIG_TCG_TIS_I2C_ATMEL) += tpm_i2c_atmel.o obj-$(CONFIG_TCG_TIS_I2C_INFINEON) += tpm_i2c_infineon.o obj-$(CONFIG_TCG_TIS_I2C_NUVOTON) += tpm_i2c_nuvoton.o obj-$(CONFIG_TCG_NSC) += tpm_nsc.o obj-$(CONFIG_TCG_ATMEL) += tpm_atmel.o obj-$(CONFIG_TCG_INFINEON) += tpm_infineon.o obj-$(CONFIG_TCG_IBMVTPM) += tpm_ibmvtpm.o obj-$(CONFIG_TCG_TIS_ST33ZP24) += st33zp24/ obj-$(CONFIG_TCG_XEN) += xen-tpmfront.o obj-$(CONFIG_TCG_CRB) += tpm_crb.o obj-$(CONFIG_TCG_VTPM_PROXY) += tpm_vtpm_proxy.o obj-$(CONFIG_TCG_FTPM_TEE) += tpm_ftpm_tee.o char/agp/Kconfig 0000644 00000011627 14722053666 0007555 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig AGP tristate "/dev/agpgart (AGP Support)" depends on ALPHA || IA64 || PARISC || PPC || X86 depends on PCI ---help--- AGP (Accelerated Graphics Port) is a bus system mainly used to connect graphics cards to the rest of the system. If you have an AGP system and you say Y here, it will be possible to use the AGP features of your 3D rendering video card. This code acts as a sort of "AGP driver" for the motherboard's chipset. If you need more texture memory than you can get with the AGP GART (theoretically up to 256 MB, but in practice usually 64 or 128 MB due to kernel allocation issues), you could use PCI accesses and have up to a couple gigs of texture space. Note that this is the only means to have X/GLX use write-combining with MTRR support on the AGP bus. Without it, OpenGL direct rendering will be a lot slower but still faster than PIO. To compile this driver as a module, choose M here: the module will be called agpgart. You should say Y here if you want to use GLX or DRI. If unsure, say N. config AGP_ALI tristate "ALI chipset support" depends on AGP && X86_32 ---help--- This option gives you AGP support for the GLX component of X on the following ALi chipsets. The supported chipsets include M1541, M1621, M1631, M1632, M1641,M1647,and M1651. For the ALi-chipset question, ALi suggests you refer to <http://www.ali.com.tw/>. The M1541 chipset can do AGP 1x and 2x, but note that there is an acknowledged incompatibility with Matrox G200 cards. Due to timing issues, this chipset cannot do AGP 2x with the G200. This is a hardware limitation. AGP 1x seems to be fine, though. config AGP_ATI tristate "ATI chipset support" depends on AGP && X86_32 ---help--- This option gives you AGP support for the GLX component of X on the ATI RadeonIGP family of chipsets. config AGP_AMD tristate "AMD Irongate, 761, and 762 chipset support" depends on AGP && X86_32 help This option gives you AGP support for the GLX component of X on AMD Irongate, 761, and 762 chipsets. config AGP_AMD64 tristate "AMD Opteron/Athlon64 on-CPU GART support" depends on AGP && X86 && AMD_NB help This option gives you AGP support for the GLX component of X using the on-CPU northbridge of the AMD Athlon64/Opteron CPUs. You still need an external AGP bridge like the AMD 8151, VIA K8T400M, SiS755. It may also support other AGP bridges when loaded with agp_try_unsupported=1. config AGP_INTEL tristate "Intel 440LX/BX/GX, I8xx and E7x05 chipset support" depends on AGP && X86 select INTEL_GTT help This option gives you AGP support for the GLX component of X on Intel 440LX/BX/GX, 815, 820, 830, 840, 845, 850, 860, 875, E7205 and E7505 chipsets and full support for the 810, 815, 830M, 845G, 852GM, 855GM, 865G and I915 integrated graphics chipsets. config AGP_NVIDIA tristate "NVIDIA nForce/nForce2 chipset support" depends on AGP && X86_32 help This option gives you AGP support for the GLX component of X on NVIDIA chipsets including nForce and nForce2 config AGP_SIS tristate "SiS chipset support" depends on AGP && X86 help This option gives you AGP support for the GLX component of X on Silicon Integrated Systems [SiS] chipsets. Note that 5591/5592 AGP chipsets are NOT supported. config AGP_SWORKS tristate "Serverworks LE/HE chipset support" depends on AGP && X86_32 help Say Y here to support the Serverworks AGP card. See <http://www.serverworks.com/> for product descriptions and images. config AGP_VIA tristate "VIA chipset support" depends on AGP && X86 help This option gives you AGP support for the GLX component of X on VIA MVP3/Apollo Pro chipsets. config AGP_I460 tristate "Intel 460GX chipset support" depends on AGP && IA64 help This option gives you AGP GART support for the Intel 460GX chipset for IA64 processors. config AGP_HP_ZX1 tristate "HP ZX1 chipset AGP support" depends on AGP && IA64 help This option gives you AGP GART support for the HP ZX1 chipset for IA64 processors. config AGP_PARISC tristate "HP Quicksilver AGP support" depends on AGP && PARISC && 64BIT && IOMMU_SBA help This option gives you AGP GART support for the HP Quicksilver AGP bus adapter on HP PA-RISC machines (Ok, just on the C8000 workstation...) config AGP_ALPHA_CORE tristate "Alpha AGP support" depends on AGP && (ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL) default AGP config AGP_UNINORTH tristate "Apple UniNorth & U3 AGP support" depends on AGP && PPC_PMAC help This option gives you AGP support for Apple machines with a UniNorth or U3 (Apple G5) bridge. config AGP_EFFICEON tristate "Transmeta Efficeon support" depends on AGP && X86_32 help This option gives you AGP support for the Transmeta Efficeon series processors with integrated northbridges. config INTEL_GTT tristate depends on X86 && PCI char/agp/Makefile 0000644 00000001437 14722053666 0007710 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 agpgart-y := backend.o frontend.o generic.o isoch.o agpgart-$(CONFIG_COMPAT) += compat_ioctl.o obj-$(CONFIG_AGP) += agpgart.o obj-$(CONFIG_AGP_ALI) += ali-agp.o obj-$(CONFIG_AGP_ATI) += ati-agp.o obj-$(CONFIG_AGP_AMD) += amd-k7-agp.o obj-$(CONFIG_AGP_AMD64) += amd64-agp.o obj-$(CONFIG_AGP_ALPHA_CORE) += alpha-agp.o obj-$(CONFIG_AGP_EFFICEON) += efficeon-agp.o obj-$(CONFIG_AGP_HP_ZX1) += hp-agp.o obj-$(CONFIG_AGP_PARISC) += parisc-agp.o obj-$(CONFIG_AGP_I460) += i460-agp.o obj-$(CONFIG_AGP_INTEL) += intel-agp.o obj-$(CONFIG_INTEL_GTT) += intel-gtt.o obj-$(CONFIG_AGP_NVIDIA) += nvidia-agp.o obj-$(CONFIG_AGP_SIS) += sis-agp.o obj-$(CONFIG_AGP_SWORKS) += sworks-agp.o obj-$(CONFIG_AGP_UNINORTH) += uninorth-agp.o obj-$(CONFIG_AGP_VIA) += via-agp.o char/Makefile 0000644 00000003015 14722053666 0007133 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel character device drivers. # obj-y += mem.o random.o obj-$(CONFIG_TTY_PRINTK) += ttyprintk.o obj-y += misc.o obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o obj-$(CONFIG_VIRTIO_CONSOLE) += virtio_console.o obj-$(CONFIG_RAW_DRIVER) += raw.o obj-$(CONFIG_MSPEC) += mspec.o obj-$(CONFIG_UV_MMTIMER) += uv_mmtimer.o obj-$(CONFIG_IBM_BSR) += bsr.o obj-$(CONFIG_PRINTER) += lp.o obj-$(CONFIG_APM_EMULATION) += apm-emulation.o obj-$(CONFIG_DTLK) += dtlk.o obj-$(CONFIG_APPLICOM) += applicom.o obj-$(CONFIG_SONYPI) += sonypi.o obj-$(CONFIG_RTC) += rtc.o obj-$(CONFIG_HPET) += hpet.o obj-$(CONFIG_EFI_RTC) += efirtc.o obj-$(CONFIG_XILINX_HWICAP) += xilinx_hwicap/ obj-$(CONFIG_NVRAM) += nvram.o obj-$(CONFIG_TOSHIBA) += toshiba.o obj-$(CONFIG_DS1620) += ds1620.o obj-$(CONFIG_HW_RANDOM) += hw_random/ obj-$(CONFIG_PPDEV) += ppdev.o obj-$(CONFIG_NWBUTTON) += nwbutton.o obj-$(CONFIG_NWFLASH) += nwflash.o obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o obj-$(CONFIG_GPIO_TB0219) += tb0219.o obj-$(CONFIG_TELCLOCK) += tlclk.o obj-$(CONFIG_MWAVE) += mwave/ obj-y += agp/ obj-$(CONFIG_PCMCIA) += pcmcia/ obj-$(CONFIG_HANGCHECK_TIMER) += hangcheck-timer.o obj-$(CONFIG_TCG_TPM) += tpm/ obj-$(CONFIG_PS3_FLASH) += ps3flash.o obj-$(CONFIG_JS_RTC) += js-rtc.o js-rtc-y = rtc.o obj-$(CONFIG_XILLYBUS) += xillybus/ obj-$(CONFIG_POWERNV_OP_PANEL) += powernv-op-panel.o obj-$(CONFIG_ADI) += adi.o char/pcmcia/Kconfig 0000644 00000004052 14722053666 0010234 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PCMCIA character device configuration # menu "PCMCIA character devices" depends on PCMCIA!=n config SYNCLINK_CS tristate "SyncLink PC Card support" depends on PCMCIA && TTY help Enable support for the SyncLink PC Card serial adapter, running asynchronous and HDLC communications up to 512Kbps. The port is selectable for RS-232, V.35, RS-449, RS-530, and X.21 This driver may be built as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called synclink_cs. If you want to do that, say M here. config CARDMAN_4000 tristate "Omnikey Cardman 4000 support" depends on PCMCIA select BITREVERSE help Enable support for the Omnikey Cardman 4000 PCMCIA Smartcard reader. This kernel driver requires additional userspace support, either by the vendor-provided PC/SC ifd_handler (http://www.omnikey.com/), or via the cm4000 backend of OpenCT (http://www.opensc-project.org/opensc). config CARDMAN_4040 tristate "Omnikey CardMan 4040 support" depends on PCMCIA help Enable support for the Omnikey CardMan 4040 PCMCIA Smartcard reader. This card is basically a USB CCID device connected to a FIFO in I/O space. To use the kernel driver, you will need either the PC/SC ifdhandler provided from the Omnikey homepage (http://www.omnikey.com/), or a current development version of OpenCT (http://www.opensc-project.org/opensc). config SCR24X tristate "SCR24x Chip Card Interface support" depends on PCMCIA help Enable support for the SCR24x PCMCIA Chip Card Interface. To compile this driver as a module, choose M here. The module will be called scr24x_cs.. If unsure say N. config IPWIRELESS tristate "IPWireless 3G UMTS PCMCIA card support" depends on PCMCIA && NETDEVICES && TTY select PPP help This is a driver for 3G UMTS PCMCIA card from IPWireless company. In some countries (for example Czech Republic, T-Mobile ISP) this card is shipped for service called UMTS 4G. endmenu char/pcmcia/Makefile 0000644 00000000446 14722053666 0010374 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # drivers/char/pcmcia/Makefile # # Makefile for the Linux PCMCIA char device drivers. # obj-$(CONFIG_SYNCLINK_CS) += synclink_cs.o obj-$(CONFIG_CARDMAN_4000) += cm4000_cs.o obj-$(CONFIG_CARDMAN_4040) += cm4040_cs.o obj-$(CONFIG_SCR24X) += scr24x_cs.o dio/Makefile 0000644 00000000166 14722053666 0006775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the linux kernel. # obj-y := dio.o dio-driver.o dio-sysfs.o ras/Kconfig 0000644 00000002741 14722053666 0006653 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig RAS bool "Reliability, Availability and Serviceability (RAS) features" help Reliability, availability and serviceability (RAS) is a computer hardware engineering term. Computers designed with higher levels of RAS have a multitude of features that protect data integrity and help them stay available for long periods of time without failure. Reliability can be defined as the probability that the system will produce correct outputs up to some given time. Reliability is enhanced by features that help to avoid, detect and repair hardware faults. Availability is the probability a system is operational at a given time, i.e. the amount of time a device is actually operating as the percentage of total time it should be operating. Serviceability or maintainability is the simplicity and speed with which a system can be repaired or maintained; if the time to repair a failed system increases, then availability will decrease. Note that Reliability and Availability are distinct concepts: Reliability is a measure of the ability of a system to function correctly, including avoiding data corruption, whereas Availability measures how often it is available for use, even though it may not be functioning correctly. For example, a server may run forever and so have ideal availability, but may be unreliable, with frequent data corruption. if RAS source "arch/x86/ras/Kconfig" endif ras/Makefile 0000644 00000000206 14722053666 0007002 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_RAS) += ras.o obj-$(CONFIG_DEBUG_FS) += debugfs.o obj-$(CONFIG_RAS_CEC) += cec.o counter/Kconfig 0000644 00000003630 14722053666 0007543 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Counter devices # menuconfig COUNTER tristate "Counter support" help This enables counter device support through the Generic Counter interface. You only need to enable this, if you also want to enable one or more of the counter device drivers below. if COUNTER config 104_QUAD_8 tristate "ACCES 104-QUAD-8 driver" depends on PC104 && X86 && IIO select ISA_BUS_API help Say yes here to build support for the ACCES 104-QUAD-8 quadrature encoder counter/interface device family (104-QUAD-8, 104-QUAD-4). A counter's respective error flag may be cleared by performing a write operation on the respective count value attribute. Although the 104-QUAD-8 counters have a 25-bit range, only the lower 24 bits may be set, either directly or via the counter's preset attribute. Interrupts are not supported by this driver. The base port addresses for the devices may be configured via the base array module parameter. config STM32_TIMER_CNT tristate "STM32 Timer encoder counter driver" depends on MFD_STM32_TIMERS || COMPILE_TEST help Select this option to enable STM32 Timer quadrature encoder and counter driver. To compile this driver as a module, choose M here: the module will be called stm32-timer-cnt. config STM32_LPTIMER_CNT tristate "STM32 LP Timer encoder counter driver" depends on (MFD_STM32_LPTIMER || COMPILE_TEST) && IIO help Select this option to enable STM32 Low-Power Timer quadrature encoder and counter driver. To compile this driver as a module, choose M here: the module will be called stm32-lptimer-cnt. config FTM_QUADDEC tristate "Flex Timer Module Quadrature decoder driver" depends on HAS_IOMEM && OF help Select this option to enable the Flex Timer Quadrature decoder driver. To compile this driver as a module, choose M here: the module will be called ftm-quaddec. endif # COUNTER counter/Makefile 0000644 00000000456 14722053666 0007703 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Counter devices # obj-$(CONFIG_COUNTER) += counter.o obj-$(CONFIG_104_QUAD_8) += 104-quad-8.o obj-$(CONFIG_STM32_TIMER_CNT) += stm32-timer-cnt.o obj-$(CONFIG_STM32_LPTIMER_CNT) += stm32-lptimer-cnt.o obj-$(CONFIG_FTM_QUADDEC) += ftm-quaddec.o nvmem/Kconfig 0000644 00000015772 14722053666 0007220 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig NVMEM bool "NVMEM Support" help Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES... This framework is designed to provide a generic interface to NVMEM from both the Linux Kernel and the userspace. This driver can also be built as a module. If so, the module will be called nvmem_core. If unsure, say no. if NVMEM config NVMEM_SYSFS bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)" depends on SYSFS default y help Say Y here to add a sysfs interface for NVMEM. This interface is mostly used by userspace applications to read/write directly into nvmem. config NVMEM_IMX_IIM tristate "i.MX IC Identification Module support" depends on ARCH_MXC || COMPILE_TEST help This is a driver for the IC Identification Module (IIM) available on i.MX SoCs, providing access to 4 Kbits of programmable eFuses. This driver can also be built as a module. If so, the module will be called nvmem-imx-iim. config NVMEM_IMX_OCOTP tristate "i.MX 6/7/8 On-Chip OTP Controller support" depends on ARCH_MXC || COMPILE_TEST depends on HAS_IOMEM help This is a driver for the On-Chip OTP Controller (OCOTP) available on i.MX6 SoCs, providing access to 4 Kbits of one-time programmable eFuses. This driver can also be built as a module. If so, the module will be called nvmem-imx-ocotp. config NVMEM_IMX_OCOTP_SCU tristate "i.MX8 SCU On-Chip OTP Controller support" depends on IMX_SCU help This is a driver for the SCU On-Chip OTP Controller (OCOTP) available on i.MX8 SoCs. config NVMEM_LPC18XX_EEPROM tristate "NXP LPC18XX EEPROM Memory Support" depends on ARCH_LPC18XX || COMPILE_TEST depends on HAS_IOMEM help Say Y here to include support for NXP LPC18xx EEPROM memory found in NXP LPC185x/3x and LPC435x/3x/2x/1x devices. To compile this driver as a module, choose M here: the module will be called nvmem_lpc18xx_eeprom. config NVMEM_LPC18XX_OTP tristate "NXP LPC18XX OTP Memory Support" depends on ARCH_LPC18XX || COMPILE_TEST depends on HAS_IOMEM help Say Y here to include support for NXP LPC18xx OTP memory found on all LPC18xx and LPC43xx devices. To compile this driver as a module, choose M here: the module will be called nvmem_lpc18xx_otp. config NVMEM_MXS_OCOTP tristate "Freescale MXS On-Chip OTP Memory Support" depends on ARCH_MXS || COMPILE_TEST depends on HAS_IOMEM help If you say Y here, you will get readonly access to the One Time Programmable memory pages that are stored on the Freescale i.MX23/i.MX28 processor. This driver can also be built as a module. If so, the module will be called nvmem-mxs-ocotp. config MTK_EFUSE tristate "Mediatek SoCs EFUSE support" depends on ARCH_MEDIATEK || COMPILE_TEST depends on HAS_IOMEM help This is a driver to access hardware related data like sensor calibration, HDMI impedance etc. This driver can also be built as a module. If so, the module will be called efuse-mtk. config QCOM_QFPROM tristate "QCOM QFPROM Support" depends on ARCH_QCOM || COMPILE_TEST depends on HAS_IOMEM help Say y here to enable QFPROM support. The QFPROM provides access functions for QFPROM data to rest of the drivers via nvmem interface. This driver can also be built as a module. If so, the module will be called nvmem_qfprom. config ROCKCHIP_EFUSE tristate "Rockchip eFuse Support" depends on ARCH_ROCKCHIP || COMPILE_TEST depends on HAS_IOMEM help This is a simple drive to dump specified values of Rockchip SoC from eFuse, such as cpu-leakage. This driver can also be built as a module. If so, the module will be called nvmem_rockchip_efuse. config NVMEM_BCM_OCOTP tristate "Broadcom On-Chip OTP Controller support" depends on ARCH_BCM_IPROC || COMPILE_TEST depends on HAS_IOMEM default ARCH_BCM_IPROC help Say y here to enable read/write access to the Broadcom OTP controller. This driver can also be built as a module. If so, the module will be called nvmem-bcm-ocotp. config NVMEM_STM32_ROMEM tristate "STMicroelectronics STM32 factory-programmed memory support" depends on ARCH_STM32 || COMPILE_TEST help Say y here to enable read-only access for STMicroelectronics STM32 factory-programmed memory area. This driver can also be built as a module. If so, the module will be called nvmem-stm32-romem. config NVMEM_SUNXI_SID tristate "Allwinner SoCs SID support" depends on ARCH_SUNXI help This is a driver for the 'security ID' available on various Allwinner devices. This driver can also be built as a module. If so, the module will be called nvmem_sunxi_sid. config UNIPHIER_EFUSE tristate "UniPhier SoCs eFuse support" depends on ARCH_UNIPHIER || COMPILE_TEST depends on HAS_IOMEM help This is a simple driver to dump specified values of UniPhier SoC from eFuse. This driver can also be built as a module. If so, the module will be called nvmem-uniphier-efuse. config NVMEM_VF610_OCOTP tristate "VF610 SoC OCOTP support" depends on SOC_VF610 || COMPILE_TEST depends on HAS_IOMEM help This is a driver for the 'OCOTP' peripheral available on Vybrid devices like VF5xx and VF6xx. This driver can also be build as a module. If so, the module will be called nvmem-vf610-ocotp. config MESON_EFUSE tristate "Amlogic Meson GX eFuse Support" depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM help This is a driver to retrieve specific values from the eFuse found on the Amlogic Meson GX SoCs. This driver can also be built as a module. If so, the module will be called nvmem_meson_efuse. config MESON_MX_EFUSE tristate "Amlogic Meson6/Meson8/Meson8b eFuse Support" depends on ARCH_MESON || COMPILE_TEST help This is a driver to retrieve specific values from the eFuse found on the Amlogic Meson6, Meson8 and Meson8b SoCs. This driver can also be built as a module. If so, the module will be called nvmem_meson_mx_efuse. config NVMEM_SNVS_LPGPR tristate "Support for Low Power General Purpose Register" depends on ARCH_MXC || COMPILE_TEST help This is a driver for Low Power General Purpose Register (LPGPR) available on i.MX6 and i.MX7 SoCs in Secure Non-Volatile Storage (SNVS) of this chip. This driver can also be built as a module. If so, the module will be called nvmem-snvs-lpgpr. config RAVE_SP_EEPROM tristate "Rave SP EEPROM Support" depends on RAVE_SP_CORE help Say y here to enable Rave SP EEPROM support. config SC27XX_EFUSE tristate "Spreadtrum SC27XX eFuse Support" depends on MFD_SC27XX_PMIC || COMPILE_TEST depends on HAS_IOMEM help This is a simple driver to dump specified values of Spreadtrum SC27XX PMICs from eFuse. This driver can also be built as a module. If so, the module will be called nvmem-sc27xx-efuse. config NVMEM_ZYNQMP bool "Xilinx ZYNQMP SoC nvmem firmware support" depends on ARCH_ZYNQMP help This is a driver to access hardware related data like soc revision, IDCODE... etc by using the firmware interface. If sure, say yes. If unsure, say no. endif nvmem/Makefile 0000644 00000003756 14722053666 0007354 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for nvmem drivers. # obj-$(CONFIG_NVMEM) += nvmem_core.o nvmem_core-y := core.o obj-$(CONFIG_NVMEM_SYSFS) += nvmem_sysfs.o nvmem_sysfs-y := nvmem-sysfs.o # Devices obj-$(CONFIG_NVMEM_BCM_OCOTP) += nvmem-bcm-ocotp.o nvmem-bcm-ocotp-y := bcm-ocotp.o obj-$(CONFIG_NVMEM_IMX_IIM) += nvmem-imx-iim.o nvmem-imx-iim-y := imx-iim.o obj-$(CONFIG_NVMEM_IMX_OCOTP) += nvmem-imx-ocotp.o nvmem-imx-ocotp-y := imx-ocotp.o obj-$(CONFIG_NVMEM_IMX_OCOTP_SCU) += nvmem-imx-ocotp-scu.o nvmem-imx-ocotp-scu-y := imx-ocotp-scu.o obj-$(CONFIG_NVMEM_LPC18XX_EEPROM) += nvmem_lpc18xx_eeprom.o nvmem_lpc18xx_eeprom-y := lpc18xx_eeprom.o obj-$(CONFIG_NVMEM_LPC18XX_OTP) += nvmem_lpc18xx_otp.o nvmem_lpc18xx_otp-y := lpc18xx_otp.o obj-$(CONFIG_NVMEM_MXS_OCOTP) += nvmem-mxs-ocotp.o nvmem-mxs-ocotp-y := mxs-ocotp.o obj-$(CONFIG_MTK_EFUSE) += nvmem_mtk-efuse.o nvmem_mtk-efuse-y := mtk-efuse.o obj-$(CONFIG_QCOM_QFPROM) += nvmem_qfprom.o nvmem_qfprom-y := qfprom.o obj-$(CONFIG_ROCKCHIP_EFUSE) += nvmem_rockchip_efuse.o nvmem_rockchip_efuse-y := rockchip-efuse.o obj-$(CONFIG_NVMEM_SUNXI_SID) += nvmem_sunxi_sid.o nvmem_stm32_romem-y := stm32-romem.o obj-$(CONFIG_NVMEM_STM32_ROMEM) += nvmem_stm32_romem.o nvmem_sunxi_sid-y := sunxi_sid.o obj-$(CONFIG_UNIPHIER_EFUSE) += nvmem-uniphier-efuse.o nvmem-uniphier-efuse-y := uniphier-efuse.o obj-$(CONFIG_NVMEM_VF610_OCOTP) += nvmem-vf610-ocotp.o nvmem-vf610-ocotp-y := vf610-ocotp.o obj-$(CONFIG_MESON_EFUSE) += nvmem_meson_efuse.o nvmem_meson_efuse-y := meson-efuse.o obj-$(CONFIG_MESON_MX_EFUSE) += nvmem_meson_mx_efuse.o nvmem_meson_mx_efuse-y := meson-mx-efuse.o obj-$(CONFIG_NVMEM_SNVS_LPGPR) += nvmem_snvs_lpgpr.o nvmem_snvs_lpgpr-y := snvs_lpgpr.o obj-$(CONFIG_RAVE_SP_EEPROM) += nvmem-rave-sp-eeprom.o nvmem-rave-sp-eeprom-y := rave-sp-eeprom.o obj-$(CONFIG_SC27XX_EFUSE) += nvmem-sc27xx-efuse.o nvmem-sc27xx-efuse-y := sc27xx-efuse.o obj-$(CONFIG_NVMEM_ZYNQMP) += nvmem_zynqmp_nvmem.o nvmem_zynqmp_nvmem-y := zynqmp_nvmem.o s390/block/Kconfig 0000644 00000004626 14722053666 0007662 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 comment "S/390 block device drivers" depends on S390 && BLOCK config BLK_DEV_XPRAM def_tristate m prompt "XPRAM disk support" depends on S390 && BLOCK help Select this option if you want to use your expanded storage on S/390 or zSeries as a disk. This is useful as a _fast_ swap device if you want to access more than 2G of memory when running in 31 bit mode. This option is also available as a module which will be called xpram. If unsure, say "N". config DCSSBLK def_tristate m select FS_DAX_LIMITED select DAX_DRIVER prompt "DCSSBLK support" depends on S390 && BLOCK help Support for dcss block device config DASD def_tristate y prompt "Support for DASD devices" depends on CCW && BLOCK select IOSCHED_DEADLINE help Enable this option if you want to access DASDs directly utilizing S/390s channel subsystem commands. This is necessary for running natively on a single image or an LPAR. config DASD_PROFILE def_bool y prompt "Profiling support for dasd devices" depends on DASD help Enable this option if you want to see profiling information in /proc/dasd/statistics. config DASD_ECKD def_tristate y prompt "Support for ECKD Disks" depends on DASD help ECKD devices are the most commonly used devices. You should enable this option unless you are very sure to have no ECKD device. config DASD_FBA def_tristate y prompt "Support for FBA Disks" depends on DASD help Select this option to be able to access FBA devices. It is safe to say "Y". config DASD_DIAG def_tristate y prompt "Support for DIAG access to Disks" depends on DASD help Select this option if you want to use Diagnose250 command to access Disks under VM. If you are not running under VM or unsure what it is, say "N". config DASD_EER def_bool y prompt "Extended error reporting (EER)" depends on DASD help This driver provides a character device interface to the DASD extended error reporting. This is only needed if you want to use applications written for the EER facility. config SCM_BLOCK def_tristate m prompt "Support for Storage Class Memory" depends on S390 && BLOCK && EADM_SCH && SCM_BUS help Block device driver for Storage Class Memory (SCM). This driver provides a block device interface for each available SCM increment. To compile this driver as a module, choose M here: the module will be called scm_block. s390/block/Makefile 0000644 00000001230 14722053666 0010003 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # S/390 block devices # dasd_eckd_mod-objs := dasd_eckd.o dasd_3990_erp.o dasd_alias.o dasd_fba_mod-objs := dasd_fba.o dasd_diag_mod-objs := dasd_diag.o dasd_mod-objs := dasd.o dasd_ioctl.o dasd_proc.o dasd_devmap.o \ dasd_genhd.o dasd_erp.o ifdef CONFIG_DASD_EER dasd_mod-objs += dasd_eer.o endif obj-$(CONFIG_DASD) += dasd_mod.o obj-$(CONFIG_DASD_DIAG) += dasd_diag_mod.o obj-$(CONFIG_DASD_ECKD) += dasd_eckd_mod.o obj-$(CONFIG_DASD_FBA) += dasd_fba_mod.o obj-$(CONFIG_BLK_DEV_XPRAM) += xpram.o obj-$(CONFIG_DCSSBLK) += dcssblk.o scm_block-objs := scm_drv.o scm_blk.o obj-$(CONFIG_SCM_BLOCK) += scm_block.o s390/virtio/Makefile 0000644 00000000223 14722053666 0010226 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for kvm guest drivers on s390 # # Copyright IBM Corp. 2008 obj-$(CONFIG_S390_GUEST) += virtio_ccw.o s390/char/Kconfig 0000644 00000012244 14722053666 0007500 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 comment "S/390 character device drivers" depends on S390 config TN3270 def_tristate y prompt "Support for locally attached 3270 terminals" depends on CCW help Include support for IBM 3270 terminals. config TN3270_TTY def_tristate y prompt "Support for tty input/output on 3270 terminals" depends on TN3270 && TTY help Include support for using an IBM 3270 terminal as a Linux tty. config TN3270_FS def_tristate m prompt "Support for fullscreen applications on 3270 terminals" depends on TN3270 help Include support for fullscreen applications on an IBM 3270 terminal. config TN3270_CONSOLE def_bool y prompt "Support for console on 3270 terminal" depends on TN3270=y && TN3270_TTY=y help Include support for using an IBM 3270 terminal as a Linux system console. Available only if 3270 support is compiled in statically. config TN3215 def_bool y prompt "Support for 3215 line mode terminal" depends on CCW && TTY help Include support for IBM 3215 line-mode terminals. config TN3215_CONSOLE def_bool y prompt "Support for console on 3215 line mode terminal" depends on TN3215 help Include support for using an IBM 3215 line-mode terminal as a Linux system console. config CCW_CONSOLE def_bool y if TN3215_CONSOLE || TN3270_CONSOLE config SCLP_TTY def_bool y prompt "Support for SCLP line mode terminal" depends on S390 && TTY help Include support for IBM SCLP line-mode terminals. config SCLP_CONSOLE def_bool y prompt "Support for console on SCLP line mode terminal" depends on SCLP_TTY help Include support for using an IBM HWC line-mode terminal as the Linux system console. config SCLP_VT220_TTY def_bool y prompt "Support for SCLP VT220-compatible terminal" depends on S390 && TTY help Include support for an IBM SCLP VT220-compatible terminal. config SCLP_VT220_CONSOLE def_bool y prompt "Support for console on SCLP VT220-compatible terminal" depends on SCLP_VT220_TTY help Include support for using an IBM SCLP VT220-compatible terminal as a Linux system console. config HMC_DRV def_tristate m prompt "Support for file transfers from HMC drive CD/DVD-ROM" depends on S390 select CRC16 help This option enables support for file transfers from a Hardware Management Console (HMC) drive CD/DVD-ROM. It is available as a module, called 'hmcdrv', and also as kernel built-in. There is one optional parameter for this module: cachesize=N, which modifies the transfer cache size from it's default value 0.5MB to N bytes. If N is zero, then no caching is performed. config SCLP_OFB def_bool n prompt "Support for Open-for-Business SCLP Event" depends on S390 help This option enables the Open-for-Business interface to the s390 Service Element. config S390_TAPE def_tristate m prompt "S/390 tape device support" depends on CCW help Select this option if you want to access channel-attached tape devices on IBM S/390 or zSeries. If you select this option you will also want to select at least one of the tape interface options and one of the tape hardware options in order to access a tape device. This option is also available as a module. The module will be called tape390 and include all selected interfaces and hardware drivers. comment "S/390 tape hardware support" depends on S390_TAPE config S390_TAPE_34XX def_tristate m prompt "Support for 3480/3490 tape hardware" depends on S390_TAPE help Select this option if you want to access IBM 3480/3490 magnetic tape subsystems and 100% compatibles. It is safe to say "Y" here. config S390_TAPE_3590 def_tristate m prompt "Support for 3590 tape hardware" depends on S390_TAPE help Select this option if you want to access IBM 3590 magnetic tape subsystems and 100% compatibles. It is safe to say "Y" here. config VMLOGRDR def_tristate m prompt "Support for the z/VM recording system services (VM only)" depends on IUCV help Select this option if you want to be able to receive records collected by the z/VM recording system services, eg. from *LOGREC, *ACCOUNT or *SYMPTOM. This driver depends on the IUCV support driver. config VMCP def_bool y prompt "Support for the z/VM CP interface" depends on S390 select CMA help Select this option if you want to be able to interact with the control program on z/VM config VMCP_CMA_SIZE int "Memory in MiB reserved for z/VM CP interface" default "4" depends on VMCP help Specify the default amount of memory in MiB reserved for the z/VM CP interface. If needed this memory is used for large contiguous memory allocations. The default can be changed with the kernel command line parameter "vmcp_cma". config MONREADER def_tristate m prompt "API for reading z/VM monitor service records" depends on IUCV help Character device driver for reading z/VM monitor service records config MONWRITER def_tristate m prompt "API for writing z/VM monitor service records" depends on S390 help Character device driver for writing z/VM monitor service records config S390_VMUR def_tristate m prompt "z/VM unit record device driver" depends on S390 help Character device driver for z/VM reader, puncher and printer. s390/char/Makefile 0000644 00000003105 14722053666 0007631 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # S/390 character devices # ifdef CONFIG_FUNCTION_TRACER # Do not trace early setup code CFLAGS_REMOVE_sclp_early_core.o = $(CC_FLAGS_FTRACE) endif GCOV_PROFILE_sclp_early_core.o := n KCOV_INSTRUMENT_sclp_early_core.o := n UBSAN_SANITIZE_sclp_early_core.o := n KASAN_SANITIZE_sclp_early_core.o := n CFLAGS_sclp_early_core.o += -D__NO_FORTIFY CFLAGS_REMOVE_sclp_early_core.o += $(CC_FLAGS_EXPOLINE) obj-y += ctrlchar.o keyboard.o defkeymap.o sclp.o sclp_rw.o sclp_quiesce.o \ sclp_cmd.o sclp_config.o sclp_cpi_sys.o sclp_ocf.o sclp_ctl.o \ sclp_early.o sclp_early_core.o sclp_sd.o obj-$(CONFIG_TN3270) += raw3270.o obj-$(CONFIG_TN3270_CONSOLE) += con3270.o obj-$(CONFIG_TN3270_TTY) += tty3270.o obj-$(CONFIG_TN3270_FS) += fs3270.o obj-$(CONFIG_TN3215) += con3215.o obj-$(CONFIG_SCLP_TTY) += sclp_tty.o obj-$(CONFIG_SCLP_CONSOLE) += sclp_con.o obj-$(CONFIG_SCLP_VT220_TTY) += sclp_vt220.o obj-$(CONFIG_PCI) += sclp_pci.o obj-$(subst m,y,$(CONFIG_ZCRYPT)) += sclp_ap.o obj-$(CONFIG_VMLOGRDR) += vmlogrdr.o obj-$(CONFIG_VMCP) += vmcp.o tape-$(CONFIG_PROC_FS) += tape_proc.o tape-objs := tape_core.o tape_std.o tape_char.o $(tape-y) obj-$(CONFIG_S390_TAPE) += tape.o tape_class.o obj-$(CONFIG_S390_TAPE_34XX) += tape_34xx.o obj-$(CONFIG_S390_TAPE_3590) += tape_3590.o obj-$(CONFIG_MONREADER) += monreader.o obj-$(CONFIG_MONWRITER) += monwriter.o obj-$(CONFIG_S390_VMUR) += vmur.o obj-$(CONFIG_CRASH_DUMP) += sclp_sdias.o zcore.o hmcdrv-objs := hmcdrv_mod.o hmcdrv_dev.o hmcdrv_ftp.o hmcdrv_cache.o diag_ftp.o sclp_ftp.o obj-$(CONFIG_HMC_DRV) += hmcdrv.o s390/cio/Makefile 0000644 00000001510 14722053666 0007464 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the S/390 common i/o drivers # # The following is required for define_trace.h to find ./trace.h CFLAGS_trace.o := -I$(src) CFLAGS_vfio_ccw_fsm.o := -I$(src) obj-y += airq.o blacklist.o chsc.o cio.o css.o chp.o idset.o isc.o \ fcx.o itcw.o crw.o ccwreq.o trace.o ioasm.o ccw_device-objs += device.o device_fsm.o device_ops.o ccw_device-objs += device_id.o device_pgid.o device_status.o obj-y += ccw_device.o cmf.o obj-$(CONFIG_CHSC_SCH) += chsc_sch.o obj-$(CONFIG_EADM_SCH) += eadm_sch.o obj-$(CONFIG_SCM_BUS) += scm.o obj-$(CONFIG_CCWGROUP) += ccwgroup.o qdio-objs := qdio_main.o qdio_thinint.o qdio_debug.o qdio_setup.o obj-$(CONFIG_QDIO) += qdio.o vfio_ccw-objs += vfio_ccw_drv.o vfio_ccw_cp.o vfio_ccw_ops.o vfio_ccw_fsm.o \ vfio_ccw_async.o obj-$(CONFIG_VFIO_CCW) += vfio_ccw.o s390/crypto/Makefile 0000644 00000001256 14722053666 0010241 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # S/390 crypto devices # ap-objs := ap_bus.o ap_card.o ap_queue.o obj-$(subst m,y,$(CONFIG_ZCRYPT)) += ap.o # zcrypt_api.o and zcrypt_msgtype*.o depend on ap.o zcrypt-objs := zcrypt_api.o zcrypt_card.o zcrypt_queue.o zcrypt-objs += zcrypt_msgtype6.o zcrypt_msgtype50.o zcrypt-objs += zcrypt_ccamisc.o zcrypt_ep11misc.o obj-$(CONFIG_ZCRYPT) += zcrypt.o # adapter drivers depend on ap.o and zcrypt.o obj-$(CONFIG_ZCRYPT) += zcrypt_cex2c.o zcrypt_cex2a.o zcrypt_cex4.o # pkey kernel module pkey-objs := pkey_api.o obj-$(CONFIG_PKEY) += pkey.o # adjunct processor matrix vfio_ap-objs := vfio_ap_drv.o vfio_ap_ops.o obj-$(CONFIG_VFIO_AP) += vfio_ap.o s390/Makefile 0000644 00000000217 14722053666 0006715 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the S/390 specific device drivers # obj-y += cio/ block/ char/ crypto/ net/ scsi/ virtio/ s390/scsi/Makefile 0000644 00000000422 14722053666 0007654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the S/390 specific device drivers # zfcp-objs := zfcp_aux.o zfcp_ccw.o zfcp_dbf.o zfcp_erp.o \ zfcp_fc.o zfcp_fsf.o zfcp_qdio.o zfcp_scsi.o zfcp_sysfs.o \ zfcp_unit.o zfcp_diag.o obj-$(CONFIG_ZFCP) += zfcp.o s390/net/Kconfig 0000644 00000006702 14722053666 0007353 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "S/390 network device drivers" depends on NETDEVICES && S390 config LCS def_tristate m prompt "Lan Channel Station Interface" depends on CCW && NETDEVICES && (ETHERNET || FDDI) help Select this option if you want to use LCS networking on IBM System z. This device driver supports FDDI (IEEE 802.7) and Ethernet. To compile as a module, choose M. The module name is lcs. If you do not know what it is, it's safe to choose Y. config CTCM def_tristate m prompt "CTC and MPC SNA device support" depends on CCW && NETDEVICES help Select this option if you want to use channel-to-channel point-to-point networking on IBM System z. This device driver supports real CTC coupling using ESCON. It also supports virtual CTCs when running under VM. This driver also supports channel-to-channel MPC SNA devices. MPC is an SNA protocol device used by Communication Server for Linux. To compile as a module, choose M. The module name is ctcm. To compile into the kernel, choose Y. If you do not need any channel-to-channel connection, choose N. config NETIUCV def_tristate m prompt "IUCV network device support (VM only)" depends on IUCV && NETDEVICES help Select this option if you want to use inter-user communication vehicle networking under VM or VIF. It enables a fast communication link between VM guests. Using ifconfig a point-to-point connection can be established to the Linux on IBM System z running on the other VM guest. To compile as a module, choose M. The module name is netiucv. If unsure, choose Y. config SMSGIUCV def_tristate m prompt "IUCV special message support (VM only)" depends on IUCV help Select this option if you want to be able to receive SMSG messages from other VM guest systems. config SMSGIUCV_EVENT def_tristate m prompt "Deliver IUCV special messages as uevents (VM only)" depends on SMSGIUCV help Select this option to deliver CP special messages (SMSGs) as uevents. The driver handles only those special messages that start with "APP". To compile as a module, choose M. The module name is "smsgiucv_app". config QETH def_tristate y prompt "Gigabit Ethernet device support" depends on CCW && NETDEVICES && IP_MULTICAST && QDIO && ETHERNET help This driver supports the IBM System z OSA Express adapters in QDIO mode (all media types), HiperSockets interfaces and z/VM virtual NICs for Guest LAN and VSWITCH. For details please refer to the documentation provided by IBM at <http://www.ibm.com/developerworks/linux/linux390> To compile this driver as a module, choose M. The module name is qeth. config QETH_L2 def_tristate y prompt "qeth layer 2 device support" depends on QETH help Select this option to be able to run qeth devices in layer 2 mode. To compile as a module, choose M. The module name is qeth_l2. If unsure, choose y. config QETH_L3 def_tristate y prompt "qeth layer 3 device support" depends on QETH help Select this option to be able to run qeth devices in layer 3 mode. To compile as a module choose M. The module name is qeth_l3. If unsure, choose Y. config CCWGROUP tristate default (LCS || CTCM || QETH) config ISM tristate "Support for ISM vPCI Adapter" depends on PCI && SMC default n help Select this option if you want to use the Internal Shared Memory vPCI Adapter. To compile as a module choose M. The module name is ism. If unsure, choose N. endmenu s390/net/Makefile 0000644 00000001161 14722053666 0007502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # S/390 network devices # ctcm-y += ctcm_main.o ctcm_fsms.o ctcm_mpc.o ctcm_sysfs.o ctcm_dbug.o obj-$(CONFIG_CTCM) += ctcm.o fsm.o obj-$(CONFIG_NETIUCV) += netiucv.o fsm.o obj-$(CONFIG_SMSGIUCV) += smsgiucv.o obj-$(CONFIG_SMSGIUCV_EVENT) += smsgiucv_app.o obj-$(CONFIG_LCS) += lcs.o qeth-y += qeth_core_sys.o qeth_core_main.o qeth_core_mpc.o qeth_ethtool.o obj-$(CONFIG_QETH) += qeth.o qeth_l2-y += qeth_l2_main.o qeth_l2_sys.o obj-$(CONFIG_QETH_L2) += qeth_l2.o qeth_l3-y += qeth_l3_main.o qeth_l3_sys.o obj-$(CONFIG_QETH_L3) += qeth_l3.o ism-y := ism_drv.o obj-$(CONFIG_ISM) += ism.o android/Kconfig 0000644 00000003446 14722053666 0007511 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Android" config ANDROID bool "Android Drivers" ---help--- Enable support for various drivers needed on the Android platform if ANDROID config ANDROID_BINDER_IPC tristate "Android Binder IPC Driver" depends on MMU default n ---help--- Binder is used in Android for both communication between processes, and remote method invocation. This means one Android process can call a method/routine in another Android process, using Binder to identify, invoke and pass arguments between said processes. config ANDROID_BINDERFS tristate "Android Binderfs filesystem" depends on (ANDROID_BINDER_IPC=y) || (ANDROID_BINDER_IPC=m && m) default n ---help--- Binderfs is a pseudo-filesystem for the Android Binder IPC driver which can be mounted per-ipc namespace allowing to run multiple instances of Android. Each binderfs mount initially only contains a binder-control device. It can be used to dynamically allocate new binder IPC devices via ioctls. config ANDROID_BINDER_DEVICES string "Android Binder devices" depends on ANDROID_BINDER_IPC default "binder,hwbinder,vndbinder" ---help--- Default value for the binder.devices parameter. The binder.devices parameter is a comma-separated list of strings that specifies the names of the binder device nodes that will be created. Each binder device has its own context manager, and is therefore logically separated from the other devices. config ANDROID_BINDER_IPC_SELFTEST bool "Android Binder IPC Driver Selftest" depends on ANDROID_BINDER_IPC ---help--- This feature allows binder selftest to run. Binder selftest checks the allocation and free of binder buffers exhaustively with combinations of various buffer sizes and alignments. endif # if ANDROID endmenu android/Makefile 0000644 00000000660 14722053666 0007641 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y += -I$(src) # needed for trace events binder_linux-y := binder.o binder_alloc.o obj-$(CONFIG_ANDROID_BINDER_IPC) += binder_linux.o binder_linux-$(CONFIG_ANDROID_BINDERFS) += binderfs.o binder_linux-$(CONFIG_ANDROID_BINDER_IPC_SELFTEST) += binder_alloc_selftest.o # binder-$(CONFIG_ANDROID_BINDER_IPC) := binder.o binder_alloc.o # binder-$(CONFIG_ANDROID_BINDERFS) += binderfs.o vlynq/Kconfig 0000644 00000000725 14722053666 0007237 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "TI VLYNQ" depends on AR7 config VLYNQ bool "TI VLYNQ bus support" help Support for Texas Instruments(R) VLYNQ bus. The VLYNQ bus is a high-speed, serial and packetized data bus which allows external peripherals of a SoC to appear into the system's main memory. If unsure, say N config VLYNQ_DEBUG bool "VLYNQ bus debug" depends on VLYNQ && DEBUG_KERNEL help Turn on VLYNQ bus debugging. endmenu vlynq/Makefile 0000644 00000000160 14722053666 0007365 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for kernel vlynq drivers # obj-$(CONFIG_VLYNQ) += vlynq.o base/firmware_loader/Kconfig 0000644 00000017114 14722053666 0012142 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Firmware loader" config FW_LOADER tristate "Firmware loading facility" if EXPERT default y help This enables the firmware loading facility in the kernel. The kernel will first look for built-in firmware, if it has any. Next, it will look for the requested firmware in a series of filesystem paths: o firmware_class path module parameter or kernel boot param o /lib/firmware/updates/UTS_RELEASE o /lib/firmware/updates o /lib/firmware/UTS_RELEASE o /lib/firmware Enabling this feature only increases your kernel image by about 828 bytes, enable this option unless you are certain you don't need firmware. You typically want this built-in (=y) but you can also enable this as a module, in which case the firmware_class module will be built. You also want to be sure to enable this built-in if you are going to enable built-in firmware (CONFIG_EXTRA_FIRMWARE). if FW_LOADER config FW_LOADER_PAGED_BUF bool config EXTRA_FIRMWARE string "Build named firmware blobs into the kernel binary" help Device drivers which require firmware can typically deal with having the kernel load firmware from the various supported /lib/firmware/ paths. This option enables you to build into the kernel firmware files. Built-in firmware searches are preceded over firmware lookups using your filesystem over the supported /lib/firmware paths documented on CONFIG_FW_LOADER. This may be useful for testing or if the firmware is required early on in boot and cannot rely on the firmware being placed in an initrd or initramfs. This option is a string and takes the (space-separated) names of the firmware files -- the same names that appear in MODULE_FIRMWARE() and request_firmware() in the source. These files should exist under the directory specified by the EXTRA_FIRMWARE_DIR option, which is /lib/firmware by default. For example, you might set CONFIG_EXTRA_FIRMWARE="usb8388.bin", copy the usb8388.bin file into /lib/firmware, and build the kernel. Then any request_firmware("usb8388.bin") will be satisfied internally inside the kernel without ever looking at your filesystem at runtime. WARNING: If you include additional firmware files into your binary kernel image that are not available under the terms of the GPL, then it may be a violation of the GPL to distribute the resulting image since it combines both GPL and non-GPL work. You should consult a lawyer of your own before distributing such an image. config EXTRA_FIRMWARE_DIR string "Firmware blobs root directory" depends on EXTRA_FIRMWARE != "" default "/lib/firmware" help This option controls the directory in which the kernel build system looks for the firmware files listed in the EXTRA_FIRMWARE option. config FW_LOADER_USER_HELPER bool "Enable the firmware sysfs fallback mechanism" select FW_LOADER_PAGED_BUF help This option enables a sysfs loading facility to enable firmware loading to the kernel through userspace as a fallback mechanism if and only if the kernel's direct filesystem lookup for the firmware failed using the different /lib/firmware/ paths, or the path specified in the firmware_class path module parameter, or the firmware_class path kernel boot parameter if the firmware_class is built-in. For details on how to work with the sysfs fallback mechanism refer to Documentation/driver-api/firmware/fallback-mechanisms.rst. The direct filesystem lookup for firmware is always used first now. If the kernel's direct filesystem lookup for firmware fails to find the requested firmware a sysfs fallback loading facility is made available and userspace is informed about this through uevents. The uevent can be suppressed if the driver explicitly requested it, this is known as the driver using the custom fallback mechanism. If the custom fallback mechanism is used userspace must always acknowledge failure to find firmware as the timeout for the fallback mechanism is disabled, and failed requests will linger forever. This used to be the default firmware loading facility, and udev used to listen for uvents to load firmware for the kernel. The firmware loading facility functionality in udev has been removed, as such it can no longer be relied upon as a fallback mechanism. Linux no longer relies on or uses a fallback mechanism in userspace. If you need to rely on one refer to the permissively licensed firmwared: https://github.com/teg/firmwared Since this was the default firmware loading facility at one point, old userspace may exist which relies upon it, and as such this mechanism can never be removed from the kernel. You should only enable this functionality if you are certain you require a fallback mechanism and have a userspace mechanism ready to load firmware in case it is not found. One main reason for this may be if you have drivers which require firmware built-in and for whatever reason cannot place the required firmware in initramfs. Another reason kernels may have this feature enabled is to support a driver which explicitly relies on this fallback mechanism. Only two drivers need this today: o CONFIG_LEDS_LP55XX_COMMON o CONFIG_DELL_RBU Outside of supporting the above drivers, another reason for needing this may be that your firmware resides outside of the paths the kernel looks for and cannot possibly be specified using the firmware_class path module parameter or kernel firmware_class path boot parameter if firmware_class is built-in. A modern use case may be to temporarily mount a custom partition during provisioning which is only accessible to userspace, and then to use it to look for and fetch the required firmware. Such type of driver functionality may not even ever be desirable upstream by vendors, and as such is only required to be supported as an interface for provisioning. Since udev's firmware loading facility has been removed you can use firmwared or a fork of it to customize how you want to load firmware based on uevents issued. Enabling this option will increase your kernel image size by about 13436 bytes. If you are unsure about this, say N here, unless you are Linux distribution and need to support the above two drivers, or you are certain you need to support some really custom firmware loading facility in userspace. config FW_LOADER_USER_HELPER_FALLBACK bool "Force the firmware sysfs fallback mechanism when possible" depends on FW_LOADER_USER_HELPER help Enabling this option forces a sysfs userspace fallback mechanism to be used for all firmware requests which explicitly do not disable a a fallback mechanism. Firmware calls which do prohibit a fallback mechanism is request_firmware_direct(). This option is kept for backward compatibility purposes given this precise mechanism can also be enabled by setting the proc sysctl value to true: /proc/sys/kernel/firmware_config/force_sysfs_fallback If you are unsure about this, say N here. config FW_LOADER_COMPRESS bool "Enable compressed firmware support" select FW_LOADER_PAGED_BUF select XZ_DEC help This option enables the support for loading compressed firmware files. The caller of firmware API receives the decompressed file content. The compressed file is loaded as a fallback, only after loading the raw file failed at first. Currently only XZ-compressed files are supported, and they have to be compressed with either none or crc32 integrity check type (pass "-C crc32" option to xz command). endif # FW_LOADER endmenu base/firmware_loader/builtin/Makefile 0000644 00000003041 14722053666 0013737 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Create $(fwdir) from $(CONFIG_EXTRA_FIRMWARE_DIR) -- if it doesn't have a # leading /, it's relative to $(srctree). fwdir := $(subst $(quote),,$(CONFIG_EXTRA_FIRMWARE_DIR)) fwdir := $(addprefix $(srctree)/,$(filter-out /%,$(fwdir)))$(filter /%,$(fwdir)) obj-y := $(addsuffix .gen.o, $(subst $(quote),,$(CONFIG_EXTRA_FIRMWARE))) FWNAME = $(patsubst $(obj)/%.gen.S,%,$@) comma := , FWSTR = $(subst $(comma),_,$(subst /,_,$(subst .,_,$(subst -,_,$(FWNAME))))) ASM_WORD = $(if $(CONFIG_64BIT),.quad,.long) ASM_ALIGN = $(if $(CONFIG_64BIT),3,2) PROGBITS = $(if $(CONFIG_ARM),%,@)progbits filechk_fwbin = \ echo "/* Generated by $(src)/Makefile */" ;\ echo " .section .rodata" ;\ echo " .p2align 4" ;\ echo "_fw_$(FWSTR)_bin:" ;\ echo " .incbin \"$(fwdir)/$(FWNAME)\"" ;\ echo "_fw_end:" ;\ echo " .section .rodata.str,\"aMS\",$(PROGBITS),1" ;\ echo " .p2align $(ASM_ALIGN)" ;\ echo "_fw_$(FWSTR)_name:" ;\ echo " .string \"$(FWNAME)\"" ;\ echo " .section .builtin_fw,\"a\",$(PROGBITS)" ;\ echo " .p2align $(ASM_ALIGN)" ;\ echo " $(ASM_WORD) _fw_$(FWSTR)_name" ;\ echo " $(ASM_WORD) _fw_$(FWSTR)_bin" ;\ echo " $(ASM_WORD) _fw_end - _fw_$(FWSTR)_bin" $(obj)/%.gen.S: FORCE $(call filechk,fwbin) # The .o files depend on the binaries directly; the .S files don't. $(addprefix $(obj)/, $(obj-y)): $(obj)/%.gen.o: $(fwdir)/% targets := $(patsubst $(obj)/%,%, \ $(shell find $(obj) -name \*.gen.S 2>/dev/null)) base/firmware_loader/Makefile 0000644 00000000437 14722053666 0012277 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the Linux firmware loader obj-$(CONFIG_FW_LOADER_USER_HELPER) += fallback_table.o obj-$(CONFIG_FW_LOADER) += firmware_class.o firmware_class-objs := main.o firmware_class-$(CONFIG_FW_LOADER_USER_HELPER) += fallback.o obj-y += builtin/ base/test/Kconfig 0000644 00000000535 14722053666 0007756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config TEST_ASYNC_DRIVER_PROBE tristate "Build kernel module to test asynchronous driver probing" depends on m help Enabling this option produces a kernel module that allows testing asynchronous driver probing by the device core. The module name will be test_async_driver_probe.ko If unsure say N. base/test/Makefile 0000644 00000000146 14722053666 0010111 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TEST_ASYNC_DRIVER_PROBE) += test_async_driver_probe.o base/Kconfig 0000644 00000015433 14722053666 0007002 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Generic Driver Options" config UEVENT_HELPER bool "Support for uevent helper" help The uevent helper program is forked by the kernel for every uevent. Before the switch to the netlink-based uevent source, this was used to hook hotplug scripts into kernel device events. It usually pointed to a shell script at /sbin/hotplug. This should not be used today, because usual systems create many events at bootup or device discovery in a very short time frame. One forked process per event can create so many processes that it creates a high system load, or on smaller systems it is known to create out-of-memory situations during bootup. config UEVENT_HELPER_PATH string "path to uevent helper" depends on UEVENT_HELPER default "" help To disable user space helper program execution at by default specify an empty string here. This setting can still be altered via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper later at runtime. config DEVTMPFS bool "Maintain a devtmpfs filesystem to mount at /dev" help This creates a tmpfs/ramfs filesystem instance early at bootup. In this filesystem, the kernel driver core maintains device nodes with their default names and permissions for all registered devices with an assigned major/minor number. Userspace can modify the filesystem content as needed, add symlinks, and apply needed permissions. It provides a fully functional /dev directory, where usually udev runs on top, managing permissions and adding meaningful symlinks. In very limited environments, it may provide a sufficient functional /dev without any further help. It also allows simple rescue systems, and reliably handles dynamic major/minor numbers. Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs file system will be used instead. config DEVTMPFS_MOUNT bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs" depends on DEVTMPFS help This will instruct the kernel to automatically mount the devtmpfs filesystem at /dev, directly after the kernel has mounted the root filesystem. The behavior can be overridden with the commandline parameter: devtmpfs.mount=0|1. This option does not affect initramfs based booting, here the devtmpfs filesystem always needs to be mounted manually after the rootfs is mounted. With this option enabled, it allows to bring up a system in rescue mode with init=/bin/sh, even when the /dev directory on the rootfs is completely empty. config STANDALONE bool "Select only drivers that don't need compile-time external firmware" default y help Select this option if you don't have magic firmware for drivers that need it. If unsure, say Y. config PREVENT_FIRMWARE_BUILD bool "Disable drivers features which enable custom firmware building" default y help Say yes to disable driver features which enable building a custom driver firmware at kernel build time. These drivers do not use the kernel firmware API to load firmware (CONFIG_FW_LOADER), instead they use their own custom loading mechanism. The required firmware is usually shipped with the driver, building the driver firmware should only be needed if you have an updated firmware source. Firmware should not be being built as part of kernel, these days you should always prevent this and say Y here. There are only two old drivers which enable building of its firmware at kernel build time: o CONFIG_WANXL through CONFIG_WANXL_BUILD_FIRMWARE o CONFIG_SCSI_AIC79XX through CONFIG_AIC79XX_BUILD_FIRMWARE source "drivers/base/firmware_loader/Kconfig" config WANT_DEV_COREDUMP bool help Drivers should "select" this option if they desire to use the device coredump mechanism. config ALLOW_DEV_COREDUMP bool "Allow device coredump" if EXPERT default y help This option controls if the device coredump mechanism is available or not; if disabled, the mechanism will be omitted even if drivers that can use it are enabled. Say 'N' for more sensitive systems or systems that don't want to ever access the information to not have the code, nor keep any data. If unsure, say Y. config DEV_COREDUMP bool default y if WANT_DEV_COREDUMP depends on ALLOW_DEV_COREDUMP config DEBUG_DRIVER bool "Driver Core verbose debug messages" depends on DEBUG_KERNEL help Say Y here if you want the Driver core to produce a bunch of debug messages to the system log. Select this if you are having a problem with the driver core and want to see more of what is going on. If you are unsure about this, say N here. config DEBUG_DEVRES bool "Managed device resources verbose debug messages" depends on DEBUG_KERNEL help This option enables kernel parameter devres.log. If set to non-zero, devres debug messages are printed. Select this if you are having a problem with devres or want to debug resource management for a managed device. devres.log can be switched on and off from sysfs node. If you are unsure about this, Say N here. config DEBUG_TEST_DRIVER_REMOVE bool "Test driver remove calls during probe (UNSTABLE)" depends on DEBUG_KERNEL help Say Y here if you want the Driver core to test driver remove functions by calling probe, remove, probe. This tests the remove path without having to unbind the driver or unload the driver module. This option is expected to find errors and may render your system unusable. You should say N here unless you are explicitly looking to test this functionality. config HMEM_REPORTING bool default n depends on NUMA help Enable reporting for heterogenous memory access attributes under their non-uniform memory nodes. source "drivers/base/test/Kconfig" config SYS_HYPERVISOR bool default n config GENERIC_CPU_DEVICES bool default n config GENERIC_CPU_AUTOPROBE bool config GENERIC_CPU_VULNERABILITIES bool config SOC_BUS bool select GLOB source "drivers/base/regmap/Kconfig" config DMA_SHARED_BUFFER bool default n select IRQ_WORK help This option enables the framework for buffer-sharing between multiple drivers. A buffer is associated with a file using driver APIs extension; the file's descriptor can then be passed on to other driver. config DMA_FENCE_TRACE bool "Enable verbose DMA_FENCE_TRACE messages" depends on DMA_SHARED_BUFFER help Enable the DMA_FENCE_TRACE printks. This will add extra spam to the console log, but will make it easier to diagnose lockup related problems for dma-buffers shared across multiple devices. config GENERIC_ARCH_TOPOLOGY bool help Enable support for architectures common topology code: e.g., parsing CPU capacity information from DT, usage of such information for appropriate scaling, sysfs interface for reading capacity values at runtime. endmenu base/regmap/Kconfig 0000644 00000001717 14722053666 0010255 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Generic register map support. There are no user servicable options here, # this is an API intended to be used by other kernel subsystems. These # subsystems should select the appropriate symbols. config REGMAP default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_W1 || REGMAP_AC97 || REGMAP_MMIO || REGMAP_IRQ || REGMAP_SCCB || REGMAP_I3C) select IRQ_DOMAIN if REGMAP_IRQ bool config REGCACHE_COMPRESSED select LZO_COMPRESS select LZO_DECOMPRESS bool config REGMAP_AC97 tristate config REGMAP_I2C tristate depends on I2C config REGMAP_SLIMBUS tristate depends on SLIMBUS config REGMAP_SPI tristate depends on SPI config REGMAP_SPMI tristate depends on SPMI config REGMAP_W1 tristate depends on W1 config REGMAP_MMIO tristate config REGMAP_IRQ bool config REGMAP_SOUNDWIRE tristate depends on SOUNDWIRE config REGMAP_SCCB tristate depends on I2C config REGMAP_I3C tristate depends on I3C base/regmap/Makefile 0000644 00000001422 14722053666 0010403 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # For include/trace/define_trace.h to include trace.h CFLAGS_regmap.o := -I$(src) obj-$(CONFIG_REGMAP) += regmap.o regcache.o obj-$(CONFIG_REGMAP) += regcache-rbtree.o regcache-flat.o obj-$(CONFIG_REGCACHE_COMPRESSED) += regcache-lzo.o obj-$(CONFIG_DEBUG_FS) += regmap-debugfs.o obj-$(CONFIG_REGMAP_AC97) += regmap-ac97.o obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o obj-$(CONFIG_REGMAP_SLIMBUS) += regmap-slimbus.o obj-$(CONFIG_REGMAP_SPI) += regmap-spi.o obj-$(CONFIG_REGMAP_SPMI) += regmap-spmi.o obj-$(CONFIG_REGMAP_MMIO) += regmap-mmio.o obj-$(CONFIG_REGMAP_IRQ) += regmap-irq.o obj-$(CONFIG_REGMAP_W1) += regmap-w1.o obj-$(CONFIG_REGMAP_SOUNDWIRE) += regmap-sdw.o obj-$(CONFIG_REGMAP_SCCB) += regmap-sccb.o obj-$(CONFIG_REGMAP_I3C) += regmap-i3c.o base/Makefile 0000644 00000001673 14722053666 0007140 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the Linux device tree obj-y := component.o core.o bus.o dd.o syscore.o \ driver.o class.o platform.o \ cpu.o firmware.o init.o map.o devres.o \ attribute_container.o transport_class.o \ topology.o container.o property.o cacheinfo.o \ devcon.o swnode.o obj-$(CONFIG_DEVTMPFS) += devtmpfs.o obj-y += power/ obj-$(CONFIG_ISA_BUS_API) += isa.o obj-y += firmware_loader/ obj-$(CONFIG_NUMA) += node.o obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o ifeq ($(CONFIG_SYSFS),y) obj-$(CONFIG_MODULES) += module.o endif obj-$(CONFIG_SYS_HYPERVISOR) += hypervisor.o obj-$(CONFIG_REGMAP) += regmap/ obj-$(CONFIG_SOC_BUS) += soc.o obj-$(CONFIG_PINCTRL) += pinctrl.o obj-$(CONFIG_DEV_COREDUMP) += devcoredump.o obj-$(CONFIG_GENERIC_MSI_IRQ_DOMAIN) += platform-msi.o obj-$(CONFIG_GENERIC_ARCH_TOPOLOGY) += arch_topology.o obj-y += test/ ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG base/power/Makefile 0000644 00000000540 14722053666 0010264 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PM) += sysfs.o generic_ops.o common.o qos.o runtime.o wakeirq.o obj-$(CONFIG_PM_SLEEP) += main.o wakeup.o wakeup_stats.o obj-$(CONFIG_PM_TRACE_RTC) += trace.o obj-$(CONFIG_PM_GENERIC_DOMAINS) += domain.o domain_governor.o obj-$(CONFIG_HAVE_CLK) += clock_ops.o ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG md/persistent-data/Kconfig 0000644 00000000460 14722053666 0011571 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DM_PERSISTENT_DATA tristate depends on BLK_DEV_DM select LIBCRC32C select DM_BUFIO ---help--- Library providing immutable on-disk data structure support for device-mapper targets such as the thin provisioning target. md/persistent-data/Makefile 0000644 00000000510 14722053666 0011722 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DM_PERSISTENT_DATA) += dm-persistent-data.o dm-persistent-data-objs := \ dm-array.o \ dm-bitset.o \ dm-block-manager.o \ dm-space-map-common.o \ dm-space-map-disk.o \ dm-space-map-metadata.o \ dm-transaction-manager.o \ dm-btree.o \ dm-btree-remove.o \ dm-btree-spine.o md/bcache/Kconfig 0000644 00000001365 14722053666 0007674 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config BCACHE tristate "Block device as cache" select CRC64 help Allows a block device to be used as cache for other devices; uses a btree for indexing and the layout is optimized for SSDs. See Documentation/admin-guide/bcache.rst for details. config BCACHE_DEBUG bool "Bcache debugging" depends on BCACHE help Don't select this option unless you're a developer Enables extra debugging tools, allows expensive runtime checks to be turned on. config BCACHE_CLOSURES_DEBUG bool "Debug closures" depends on BCACHE select DEBUG_FS help Keeps all active closures in a linked list and provides a debugfs interface to list them, which makes it possible to see asynchronous operations that get stuck. md/bcache/Makefile 0000644 00000000376 14722053666 0010032 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_BCACHE) += bcache.o bcache-y := alloc.o bset.o btree.o closure.o debug.o extents.o\ io.o journal.o movinggc.o request.o stats.o super.o sysfs.o trace.o\ util.o writeback.o CFLAGS_request.o += -Iblock md/Kconfig 0000644 00000046565 14722053666 0006502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Block device driver configuration # menuconfig MD bool "Multiple devices driver support (RAID and LVM)" depends on BLOCK select SRCU help Support multiple physical spindles through a single logical device. Required for RAID and logical volume management. if MD config BLK_DEV_MD tristate "RAID support" ---help--- This driver lets you combine several hard disk partitions into one logical block device. This can be used to simply append one partition to another one or to combine several redundant hard disks into a RAID1/4/5 device so as to provide protection against hard disk failures. This is called "Software RAID" since the combining of the partitions is done by the kernel. "Hardware RAID" means that the combining is done by a dedicated controller; if you have such a controller, you do not need to say Y here. More information about Software RAID on Linux is contained in the Software RAID mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>. There you will also learn where to get the supporting user space utilities raidtools. If unsure, say N. config MD_AUTODETECT bool "Autodetect RAID arrays during kernel boot" depends on BLK_DEV_MD=y default y ---help--- If you say Y here, then the kernel will try to autodetect raid arrays as part of its boot process. If you don't use raid and say Y, this autodetection can cause a several-second delay in the boot time due to various synchronisation steps that are part of this step. If unsure, say Y. config MD_LINEAR tristate "Linear (append) mode" depends on BLK_DEV_MD ---help--- If you say Y here, then your multiple devices driver will be able to use the so-called linear mode, i.e. it will combine the hard disk partitions by simply appending one to the other. To compile this as a module, choose M here: the module will be called linear. If unsure, say Y. config MD_RAID0 tristate "RAID-0 (striping) mode" depends on BLK_DEV_MD ---help--- If you say Y here, then your multiple devices driver will be able to use the so-called raid0 mode, i.e. it will combine the hard disk partitions into one logical device in such a fashion as to fill them up evenly, one chunk here and one chunk there. This will increase the throughput rate if the partitions reside on distinct disks. Information about Software RAID on Linux is contained in the Software-RAID mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>. There you will also learn where to get the supporting user space utilities raidtools. To compile this as a module, choose M here: the module will be called raid0. If unsure, say Y. config MD_RAID1 tristate "RAID-1 (mirroring) mode" depends on BLK_DEV_MD ---help--- A RAID-1 set consists of several disk drives which are exact copies of each other. In the event of a mirror failure, the RAID driver will continue to use the operational mirrors in the set, providing an error free MD (multiple device) to the higher levels of the kernel. In a set with N drives, the available space is the capacity of a single drive, and the set protects against a failure of (N - 1) drives. Information about Software RAID on Linux is contained in the Software-RAID mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>. There you will also learn where to get the supporting user space utilities raidtools. If you want to use such a RAID-1 set, say Y. To compile this code as a module, choose M here: the module will be called raid1. If unsure, say Y. config MD_RAID10 tristate "RAID-10 (mirrored striping) mode" depends on BLK_DEV_MD ---help--- RAID-10 provides a combination of striping (RAID-0) and mirroring (RAID-1) with easier configuration and more flexible layout. Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to be the same size (or at least, only as much as the smallest device will be used). RAID-10 provides a variety of layouts that provide different levels of redundancy and performance. RAID-10 requires mdadm-1.7.0 or later, available at: https://www.kernel.org/pub/linux/utils/raid/mdadm/ If unsure, say Y. config MD_RAID456 tristate "RAID-4/RAID-5/RAID-6 mode" depends on BLK_DEV_MD select RAID6_PQ select LIBCRC32C select ASYNC_MEMCPY select ASYNC_XOR select ASYNC_PQ select ASYNC_RAID6_RECOV ---help--- A RAID-5 set of N drives with a capacity of C MB per drive provides the capacity of C * (N - 1) MB, and protects against a failure of a single drive. For a given sector (row) number, (N - 1) drives contain data sectors, and one drive contains the parity protection. For a RAID-4 set, the parity blocks are present on a single drive, while a RAID-5 set distributes the parity across the drives in one of the available parity distribution methods. A RAID-6 set of N drives with a capacity of C MB per drive provides the capacity of C * (N - 2) MB, and protects against a failure of any two drives. For a given sector (row) number, (N - 2) drives contain data sectors, and two drives contains two independent redundancy syndromes. Like RAID-5, RAID-6 distributes the syndromes across the drives in one of the available parity distribution methods. Information about Software RAID on Linux is contained in the Software-RAID mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>. There you will also learn where to get the supporting user space utilities raidtools. If you want to use such a RAID-4/RAID-5/RAID-6 set, say Y. To compile this code as a module, choose M here: the module will be called raid456. If unsure, say Y. config MD_MULTIPATH tristate "Multipath I/O support" depends on BLK_DEV_MD help MD_MULTIPATH provides a simple multi-path personality for use the MD framework. It is not under active development. New projects should consider using DM_MULTIPATH which has more features and more testing. If unsure, say N. config MD_FAULTY tristate "Faulty test module for MD" depends on BLK_DEV_MD help The "faulty" module allows for a block device that occasionally returns read or write errors. It is useful for testing. In unsure, say N. config MD_CLUSTER tristate "Cluster Support for MD" depends on BLK_DEV_MD depends on DLM default n ---help--- Clustering support for MD devices. This enables locking and synchronization across multiple systems on the cluster, so all nodes in the cluster can access the MD devices simultaneously. This brings the redundancy (and uptime) of RAID levels across the nodes of the cluster. Currently, it can work with raid1 and raid10 (limited support). If unsure, say N. source "drivers/md/bcache/Kconfig" config BLK_DEV_DM_BUILTIN bool config BLK_DEV_DM tristate "Device mapper support" select BLK_DEV_DM_BUILTIN depends on DAX || DAX=n ---help--- Device-mapper is a low level volume manager. It works by allowing people to specify mappings for ranges of logical sectors. Various mapping types are available, in addition people may write their own modules containing custom mappings if they wish. Higher level volume managers such as LVM2 use this driver. To compile this as a module, choose M here: the module will be called dm-mod. If unsure, say N. config DM_DEBUG bool "Device mapper debugging support" depends on BLK_DEV_DM ---help--- Enable this for messages that may help debug device-mapper problems. If unsure, say N. config DM_BUFIO tristate depends on BLK_DEV_DM ---help--- This interface allows you to do buffered I/O on a device and acts as a cache, holding recently-read blocks in memory and performing delayed writes. config DM_DEBUG_BLOCK_MANAGER_LOCKING bool "Block manager locking" depends on DM_BUFIO ---help--- Block manager locking can catch various metadata corruption issues. If unsure, say N. config DM_DEBUG_BLOCK_STACK_TRACING bool "Keep stack trace of persistent data block lock holders" depends on STACKTRACE_SUPPORT && DM_DEBUG_BLOCK_MANAGER_LOCKING select STACKTRACE ---help--- Enable this for messages that may help debug problems with the block manager locking used by thin provisioning and caching. If unsure, say N. config DM_BIO_PRISON tristate depends on BLK_DEV_DM ---help--- Some bio locking schemes used by other device-mapper targets including thin provisioning. source "drivers/md/persistent-data/Kconfig" config DM_UNSTRIPED tristate "Unstriped target" depends on BLK_DEV_DM ---help--- Unstripes I/O so it is issued solely on a single drive in a HW RAID0 or dm-striped target. config DM_CRYPT tristate "Crypt target support" depends on BLK_DEV_DM select CRYPTO select CRYPTO_CBC select CRYPTO_ESSIV ---help--- This device-mapper target allows you to create a device that transparently encrypts the data on it. You'll need to activate the ciphers you're going to use in the cryptoapi configuration. For further information on dm-crypt and userspace tools see: <https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt> To compile this code as a module, choose M here: the module will be called dm-crypt. If unsure, say N. config DM_SNAPSHOT tristate "Snapshot target" depends on BLK_DEV_DM select DM_BUFIO ---help--- Allow volume managers to take writable snapshots of a device. config DM_THIN_PROVISIONING tristate "Thin provisioning target" depends on BLK_DEV_DM select DM_PERSISTENT_DATA select DM_BIO_PRISON ---help--- Provides thin provisioning and snapshots that share a data store. config DM_CACHE tristate "Cache target (EXPERIMENTAL)" depends on BLK_DEV_DM default n select DM_PERSISTENT_DATA select DM_BIO_PRISON ---help--- dm-cache attempts to improve performance of a block device by moving frequently used data to a smaller, higher performance device. Different 'policy' plugins can be used to change the algorithms used to select which blocks are promoted, demoted, cleaned etc. It supports writeback and writethrough modes. config DM_CACHE_SMQ tristate "Stochastic MQ Cache Policy (EXPERIMENTAL)" depends on DM_CACHE default y ---help--- A cache policy that uses a multiqueue ordered by recent hits to select which blocks should be promoted and demoted. This is meant to be a general purpose policy. It prioritises reads over writes. This SMQ policy (vs MQ) offers the promise of less memory utilization, improved performance and increased adaptability in the face of changing workloads. config DM_WRITECACHE tristate "Writecache target" depends on BLK_DEV_DM ---help--- The writecache target caches writes on persistent memory or SSD. It is intended for databases or other programs that need extremely low commit latency. The writecache target doesn't cache reads because reads are supposed to be cached in standard RAM. config DM_ERA tristate "Era target (EXPERIMENTAL)" depends on BLK_DEV_DM default n select DM_PERSISTENT_DATA select DM_BIO_PRISON ---help--- dm-era tracks which parts of a block device are written to over time. Useful for maintaining cache coherency when using vendor snapshots. config DM_CLONE tristate "Clone target (EXPERIMENTAL)" depends on BLK_DEV_DM default n select DM_PERSISTENT_DATA ---help--- dm-clone produces a one-to-one copy of an existing, read-only source device into a writable destination device. The cloned device is visible/mountable immediately and the copy of the source device to the destination device happens in the background, in parallel with user I/O. If unsure, say N. config DM_MIRROR tristate "Mirror target" depends on BLK_DEV_DM ---help--- Allow volume managers to mirror logical volumes, also needed for live data migration tools such as 'pvmove'. config DM_LOG_USERSPACE tristate "Mirror userspace logging" depends on DM_MIRROR && NET select CONNECTOR ---help--- The userspace logging module provides a mechanism for relaying the dm-dirty-log API to userspace. Log designs which are more suited to userspace implementation (e.g. shared storage logs) or experimental logs can be implemented by leveraging this framework. config DM_RAID tristate "RAID 1/4/5/6/10 target" depends on BLK_DEV_DM select MD_RAID0 select MD_RAID1 select MD_RAID10 select MD_RAID456 select BLK_DEV_MD ---help--- A dm target that supports RAID1, RAID10, RAID4, RAID5 and RAID6 mappings A RAID-5 set of N drives with a capacity of C MB per drive provides the capacity of C * (N - 1) MB, and protects against a failure of a single drive. For a given sector (row) number, (N - 1) drives contain data sectors, and one drive contains the parity protection. For a RAID-4 set, the parity blocks are present on a single drive, while a RAID-5 set distributes the parity across the drives in one of the available parity distribution methods. A RAID-6 set of N drives with a capacity of C MB per drive provides the capacity of C * (N - 2) MB, and protects against a failure of any two drives. For a given sector (row) number, (N - 2) drives contain data sectors, and two drives contains two independent redundancy syndromes. Like RAID-5, RAID-6 distributes the syndromes across the drives in one of the available parity distribution methods. config DM_ZERO tristate "Zero target" depends on BLK_DEV_DM ---help--- A target that discards writes, and returns all zeroes for reads. Useful in some recovery situations. config DM_MULTIPATH tristate "Multipath target" depends on BLK_DEV_DM # nasty syntax but means make DM_MULTIPATH independent # of SCSI_DH if the latter isn't defined but if # it is, DM_MULTIPATH must depend on it. We get a build # error if SCSI_DH=m and DM_MULTIPATH=y depends on !SCSI_DH || SCSI ---help--- Allow volume managers to support multipath hardware. config DM_MULTIPATH_QL tristate "I/O Path Selector based on the number of in-flight I/Os" depends on DM_MULTIPATH ---help--- This path selector is a dynamic load balancer which selects the path with the least number of in-flight I/Os. If unsure, say N. config DM_MULTIPATH_ST tristate "I/O Path Selector based on the service time" depends on DM_MULTIPATH ---help--- This path selector is a dynamic load balancer which selects the path expected to complete the incoming I/O in the shortest time. If unsure, say N. config DM_DELAY tristate "I/O delaying target" depends on BLK_DEV_DM ---help--- A target that delays reads and/or writes and can send them to different devices. Useful for testing. If unsure, say N. config DM_DUST tristate "Bad sector simulation target" depends on BLK_DEV_DM ---help--- A target that simulates bad sector behavior. Useful for testing. If unsure, say N. config DM_INIT bool "DM \"dm-mod.create=\" parameter support" depends on BLK_DEV_DM=y ---help--- Enable "dm-mod.create=" parameter to create mapped devices at init time. This option is useful to allow mounting rootfs without requiring an initramfs. See Documentation/admin-guide/device-mapper/dm-init.rst for dm-mod.create="..." format. If unsure, say N. config DM_UEVENT bool "DM uevents" depends on BLK_DEV_DM ---help--- Generate udev events for DM events. config DM_FLAKEY tristate "Flakey target" depends on BLK_DEV_DM ---help--- A target that intermittently fails I/O for debugging purposes. config DM_VERITY tristate "Verity target support" depends on BLK_DEV_DM select CRYPTO select CRYPTO_HASH select DM_BUFIO ---help--- This device-mapper target creates a read-only device that transparently validates the data on one underlying device against a pre-generated tree of cryptographic checksums stored on a second device. You'll need to activate the digests you're going to use in the cryptoapi configuration. To compile this code as a module, choose M here: the module will be called dm-verity. If unsure, say N. config DM_VERITY_VERIFY_ROOTHASH_SIG def_bool n bool "Verity data device root hash signature verification support" depends on DM_VERITY select SYSTEM_DATA_VERIFICATION help Add ability for dm-verity device to be validated if the pre-generated tree of cryptographic checksums passed has a pkcs#7 signature file that can validate the roothash of the tree. If unsure, say N. config DM_VERITY_FEC bool "Verity forward error correction support" depends on DM_VERITY select REED_SOLOMON select REED_SOLOMON_DEC8 ---help--- Add forward error correction support to dm-verity. This option makes it possible to use pre-generated error correction data to recover from corrupted blocks. If unsure, say N. config DM_SWITCH tristate "Switch target support (EXPERIMENTAL)" depends on BLK_DEV_DM ---help--- This device-mapper target creates a device that supports an arbitrary mapping of fixed-size regions of I/O across a fixed set of paths. The path used for any specific region can be switched dynamically by sending the target a message. To compile this code as a module, choose M here: the module will be called dm-switch. If unsure, say N. config DM_LOG_WRITES tristate "Log writes target support" depends on BLK_DEV_DM ---help--- This device-mapper target takes two devices, one device to use normally, one to log all write operations done to the first device. This is for use by file system developers wishing to verify that their fs is writing a consistent file system at all times by allowing them to replay the log in a variety of ways and to check the contents. To compile this code as a module, choose M here: the module will be called dm-log-writes. If unsure, say N. config DM_INTEGRITY tristate "Integrity target support" depends on BLK_DEV_DM select BLK_DEV_INTEGRITY select DM_BUFIO select CRYPTO select CRYPTO_SKCIPHER select ASYNC_XOR ---help--- This device-mapper target emulates a block device that has additional per-sector tags that can be used for storing integrity information. This integrity target is used with the dm-crypt target to provide authenticated disk encryption or it can be used standalone. To compile this code as a module, choose M here: the module will be called dm-integrity. config DM_ZONED tristate "Drive-managed zoned block device target support" depends on BLK_DEV_DM depends on BLK_DEV_ZONED ---help--- This device-mapper target takes a host-managed or host-aware zoned block device and exposes most of its capacity as a regular block device (drive-managed zoned block device) without any write constraints. This is mainly intended for use with file systems that do not natively support zoned block devices but still want to benefit from the increased capacity offered by SMR disks. Other uses by applications using raw block devices (for example object stores) are also possible. To compile this code as a module, choose M here: the module will be called dm-zoned. If unsure, say N. endif # MD md/Makefile 0000644 00000006230 14722053666 0006620 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel software RAID and LVM drivers. # dm-mod-y += dm.o dm-table.o dm-target.o dm-linear.o dm-stripe.o \ dm-ioctl.o dm-io.o dm-kcopyd.o dm-sysfs.o dm-stats.o \ dm-rq.o dm-multipath-y += dm-path-selector.o dm-mpath.o dm-snapshot-y += dm-snap.o dm-exception-store.o dm-snap-transient.o \ dm-snap-persistent.o dm-mirror-y += dm-raid1.o dm-log-userspace-y \ += dm-log-userspace-base.o dm-log-userspace-transfer.o dm-bio-prison-y += dm-bio-prison-v1.o dm-bio-prison-v2.o dm-thin-pool-y += dm-thin.o dm-thin-metadata.o dm-cache-y += dm-cache-target.o dm-cache-metadata.o dm-cache-policy.o \ dm-cache-background-tracker.o dm-cache-smq-y += dm-cache-policy-smq.o dm-era-y += dm-era-target.o dm-clone-y += dm-clone-target.o dm-clone-metadata.o dm-verity-y += dm-verity-target.o md-mod-y += md.o md-bitmap.o raid456-y += raid5.o raid5-cache.o raid5-ppl.o dm-zoned-y += dm-zoned-target.o dm-zoned-metadata.o dm-zoned-reclaim.o linear-y += md-linear.o multipath-y += md-multipath.o faulty-y += md-faulty.o # Note: link order is important. All raid personalities # and must come before md.o, as they each initialise # themselves, and md.o may use the personalities when it # auto-initialised. obj-$(CONFIG_MD_LINEAR) += linear.o obj-$(CONFIG_MD_RAID0) += raid0.o obj-$(CONFIG_MD_RAID1) += raid1.o obj-$(CONFIG_MD_RAID10) += raid10.o obj-$(CONFIG_MD_RAID456) += raid456.o obj-$(CONFIG_MD_MULTIPATH) += multipath.o obj-$(CONFIG_MD_FAULTY) += faulty.o obj-$(CONFIG_MD_CLUSTER) += md-cluster.o obj-$(CONFIG_BCACHE) += bcache/ obj-$(CONFIG_BLK_DEV_MD) += md-mod.o obj-$(CONFIG_BLK_DEV_DM) += dm-mod.o obj-$(CONFIG_BLK_DEV_DM_BUILTIN) += dm-builtin.o obj-$(CONFIG_DM_UNSTRIPED) += dm-unstripe.o obj-$(CONFIG_DM_BUFIO) += dm-bufio.o obj-$(CONFIG_DM_BIO_PRISON) += dm-bio-prison.o obj-$(CONFIG_DM_CRYPT) += dm-crypt.o obj-$(CONFIG_DM_DELAY) += dm-delay.o obj-$(CONFIG_DM_DUST) += dm-dust.o obj-$(CONFIG_DM_FLAKEY) += dm-flakey.o obj-$(CONFIG_DM_MULTIPATH) += dm-multipath.o dm-round-robin.o obj-$(CONFIG_DM_MULTIPATH_QL) += dm-queue-length.o obj-$(CONFIG_DM_MULTIPATH_ST) += dm-service-time.o obj-$(CONFIG_DM_SWITCH) += dm-switch.o obj-$(CONFIG_DM_SNAPSHOT) += dm-snapshot.o obj-$(CONFIG_DM_PERSISTENT_DATA) += persistent-data/ obj-$(CONFIG_DM_MIRROR) += dm-mirror.o dm-log.o dm-region-hash.o obj-$(CONFIG_DM_LOG_USERSPACE) += dm-log-userspace.o obj-$(CONFIG_DM_ZERO) += dm-zero.o obj-$(CONFIG_DM_RAID) += dm-raid.o obj-$(CONFIG_DM_THIN_PROVISIONING) += dm-thin-pool.o obj-$(CONFIG_DM_VERITY) += dm-verity.o obj-$(CONFIG_DM_CACHE) += dm-cache.o obj-$(CONFIG_DM_CACHE_SMQ) += dm-cache-smq.o obj-$(CONFIG_DM_ERA) += dm-era.o obj-$(CONFIG_DM_CLONE) += dm-clone.o obj-$(CONFIG_DM_LOG_WRITES) += dm-log-writes.o obj-$(CONFIG_DM_INTEGRITY) += dm-integrity.o obj-$(CONFIG_DM_ZONED) += dm-zoned.o obj-$(CONFIG_DM_WRITECACHE) += dm-writecache.o ifeq ($(CONFIG_DM_INIT),y) dm-mod-objs += dm-init.o endif ifeq ($(CONFIG_DM_UEVENT),y) dm-mod-objs += dm-uevent.o endif ifeq ($(CONFIG_DM_VERITY_FEC),y) dm-verity-objs += dm-verity-fec.o endif ifeq ($(CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG),y) dm-verity-objs += dm-verity-verify-sig.o endif pci/switch/Kconfig 0000644 00000000720 14722053666 0010135 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "PCI switch controller drivers" depends on PCI config PCI_SW_SWITCHTEC tristate "MicroSemi Switchtec PCIe Switch Management Driver" help Enables support for the management interface for the MicroSemi Switchtec series of PCIe switches. Supports userspace access to submit MRPC commands to the switch via /dev/switchtecX devices. See <file:Documentation/driver-api/switchtec.rst> for more information. endmenu pci/switch/Makefile 0000644 00000000121 14722053666 0010265 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PCI_SW_SWITCHTEC) += switchtec.o pci/Kconfig 0000644 00000012160 14722053666 0006635 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # PCI configuration # # select this to offer the PCI prompt config HAVE_PCI bool # select this to unconditionally force on PCI support config FORCE_PCI bool select HAVE_PCI select PCI menuconfig PCI bool "PCI support" depends on HAVE_PCI help This option enables support for the PCI local bus, including support for PCI-X and the foundations for PCI Express support. Say 'Y' here unless you know what you are doing. if PCI config PCI_DOMAINS bool depends on PCI config PCI_DOMAINS_GENERIC bool select PCI_DOMAINS config PCI_SYSCALL bool source "drivers/pci/pcie/Kconfig" config PCI_MSI bool "Message Signaled Interrupts (MSI and MSI-X)" select GENERIC_MSI_IRQ help This allows device drivers to enable MSI (Message Signaled Interrupts). Message Signaled Interrupts enable a device to generate an interrupt using an inbound Memory Write on its PCI bus instead of asserting a device IRQ pin. Use of PCI MSI interrupts can be disabled at kernel boot time by using the 'pci=nomsi' option. This disables MSI for the entire system. If you don't know what to do here, say Y. config PCI_MSI_IRQ_DOMAIN def_bool ARC || ARM || ARM64 || X86 || RISCV depends on PCI_MSI select GENERIC_MSI_IRQ_DOMAIN config PCI_QUIRKS default y bool "Enable PCI quirk workarounds" if EXPERT help This enables workarounds for various PCI chipset bugs/quirks. Disable this only if your target machine is unaffected by PCI quirks. config PCI_DEBUG bool "PCI Debugging" depends on DEBUG_KERNEL help Say Y here if you want the PCI core to produce a bunch of debug messages to the system log. Select this if you are having a problem with PCI support and want to see more of what is going on. When in doubt, say N. config PCI_REALLOC_ENABLE_AUTO bool "Enable PCI resource re-allocation detection" depends on PCI_IOV help Say Y here if you want the PCI core to detect if PCI resource re-allocation needs to be enabled. You can always use pci=realloc=on or pci=realloc=off to override it. It will automatically re-allocate PCI resources if SR-IOV BARs have not been allocated by the BIOS. When in doubt, say N. config PCI_STUB tristate "PCI Stub driver" help Say Y or M here if you want be able to reserve a PCI device when it is going to be assigned to a guest operating system. When in doubt, say N. config PCI_PF_STUB tristate "PCI PF Stub driver" depends on PCI_IOV help Say Y or M here if you want to enable support for devices that require SR-IOV support, while at the same time the PF (Physical Function) itself is not providing any actual services on the host itself such as storage or networking. When in doubt, say N. config XEN_PCIDEV_FRONTEND tristate "Xen PCI Frontend" depends on X86 && XEN select PCI_XEN select XEN_XENBUS_FRONTEND default y help The PCI device frontend driver allows the kernel to import arbitrary PCI devices from a PCI backend to support PCI driver domains. config PCI_ATS bool config PCI_ECAM bool config PCI_LOCKLESS_CONFIG bool config PCI_BRIDGE_EMUL bool config PCI_IOV bool "PCI IOV support" select PCI_ATS help I/O Virtualization is a PCI feature supported by some devices which allows them to create virtual devices which share their physical resources. If unsure, say N. config PCI_PRI bool "PCI PRI support" select PCI_ATS help PRI is the PCI Page Request Interface. It allows PCI devices that are behind an IOMMU to recover from page faults. If unsure, say N. config PCI_PASID bool "PCI PASID support" select PCI_ATS help Process Address Space Identifiers (PASIDs) can be used by PCI devices to access more than one IO address space at the same time. To make use of this feature an IOMMU is required which also supports PASIDs. Select this option if you have such an IOMMU and want to compile the driver for it into your kernel. If unsure, say N. config PCI_P2PDMA bool "PCI peer-to-peer transfer support" depends on ZONE_DEVICE select GENERIC_ALLOCATOR help Enableѕ drivers to do PCI peer-to-peer transactions to and from BARs that are exposed in other devices that are the part of the hierarchy where peer-to-peer DMA is guaranteed by the PCI specification to work (ie. anything below a single PCI bridge). Many PCIe root complexes do not support P2P transactions and it's hard to tell which support it at all, so at this time, P2P DMA transactions must be between devices behind the same root port. If unsure, say N. config PCI_LABEL def_bool y if (DMI || ACPI) select NLS config PCI_HYPERV tristate "Hyper-V PCI Frontend" depends on X86_64 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && SYSFS select PCI_HYPERV_INTERFACE help The PCI device frontend driver allows the kernel to import arbitrary PCI devices from a PCI backend to support PCI driver domains. source "drivers/pci/hotplug/Kconfig" source "drivers/pci/controller/Kconfig" source "drivers/pci/endpoint/Kconfig" source "drivers/pci/switch/Kconfig" endif pci/hotplug/Kconfig 0000644 00000010342 14722053666 0010317 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # PCI Hotplug support # menuconfig HOTPLUG_PCI bool "Support for PCI Hotplug" depends on PCI && SYSFS ---help--- Say Y here if you have a motherboard with a PCI Hotplug controller. This allows you to add and remove PCI cards while the machine is powered up and running. When in doubt, say N. if HOTPLUG_PCI config HOTPLUG_PCI_COMPAQ tristate "Compaq PCI Hotplug driver" depends on X86 && PCI_BIOS help Say Y here if you have a motherboard with a Compaq PCI Hotplug controller. To compile this driver as a module, choose M here: the module will be called cpqphp. When in doubt, say N. config HOTPLUG_PCI_COMPAQ_NVRAM bool "Save configuration into NVRAM on Compaq servers" depends on HOTPLUG_PCI_COMPAQ help Say Y here if you have a Compaq server that has a PCI Hotplug controller. This will allow the PCI Hotplug driver to store the PCI system configuration options in NVRAM. When in doubt, say N. config HOTPLUG_PCI_IBM tristate "IBM PCI Hotplug driver" depends on X86_IO_APIC && X86 && PCI_BIOS help Say Y here if you have a motherboard with a IBM PCI Hotplug controller. To compile this driver as a module, choose M here: the module will be called ibmphp. When in doubt, say N. config HOTPLUG_PCI_ACPI bool "ACPI PCI Hotplug driver" depends on HOTPLUG_PCI=y && ((!ACPI_DOCK && ACPI) || (ACPI_DOCK)) help Say Y here if you have a system that supports PCI Hotplug using ACPI. When in doubt, say N. config HOTPLUG_PCI_ACPI_IBM tristate "ACPI PCI Hotplug driver IBM extensions" depends on HOTPLUG_PCI_ACPI help Say Y here if you have an IBM system that supports PCI Hotplug using ACPI. To compile this driver as a module, choose M here: the module will be called acpiphp_ibm. When in doubt, say N. config HOTPLUG_PCI_CPCI bool "CompactPCI Hotplug driver" help Say Y here if you have a CompactPCI system card with CompactPCI hotswap support per the PICMG 2.1 specification. When in doubt, say N. config HOTPLUG_PCI_CPCI_ZT5550 tristate "Ziatech ZT5550 CompactPCI Hotplug driver" depends on HOTPLUG_PCI_CPCI && X86 help Say Y here if you have an Performance Technologies (formerly Intel, formerly just Ziatech) Ziatech ZT5550 CompactPCI system card. To compile this driver as a module, choose M here: the module will be called cpcihp_zt5550. When in doubt, say N. config HOTPLUG_PCI_CPCI_GENERIC tristate "Generic port I/O CompactPCI Hotplug driver" depends on HOTPLUG_PCI_CPCI && X86 help Say Y here if you have a CompactPCI system card that exposes the #ENUM hotswap signal as a bit in a system register that can be read through standard port I/O. To compile this driver as a module, choose M here: the module will be called cpcihp_generic. When in doubt, say N. config HOTPLUG_PCI_SHPC bool "SHPC PCI Hotplug driver" help Say Y here if you have a motherboard with a SHPC PCI Hotplug controller. When in doubt, say N. config HOTPLUG_PCI_POWERNV tristate "PowerPC PowerNV PCI Hotplug driver" depends on PPC_POWERNV && EEH select OF_DYNAMIC help Say Y here if you run PowerPC PowerNV platform that supports PCI Hotplug To compile this driver as a module, choose M here: the module will be called pnv-php. When in doubt, say N. config HOTPLUG_PCI_RPA tristate "RPA PCI Hotplug driver" depends on PPC_PSERIES && EEH help Say Y here if you have a RPA system that supports PCI Hotplug. To compile this driver as a module, choose M here: the module will be called rpaphp. When in doubt, say N. config HOTPLUG_PCI_RPA_DLPAR tristate "RPA Dynamic Logical Partitioning for I/O slots" depends on HOTPLUG_PCI_RPA help Say Y here if your system supports Dynamic Logical Partitioning for I/O slots. To compile this driver as a module, choose M here: the module will be called rpadlpar_io. When in doubt, say N. config HOTPLUG_PCI_S390 bool "System z PCI Hotplug Support" depends on S390 && 64BIT help Say Y here if you want to use the System z PCI Hotplug driver for PCI devices. Without this driver it is not possible to access stand-by PCI functions nor to deconfigure PCI functions. When in doubt, say Y. endif # HOTPLUG_PCI pci/hotplug/Makefile 0000644 00000003472 14722053666 0010462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux kernel pci hotplug controller drivers. # obj-$(CONFIG_HOTPLUG_PCI) += pci_hotplug.o obj-$(CONFIG_HOTPLUG_PCI_COMPAQ) += cpqphp.o obj-$(CONFIG_HOTPLUG_PCI_IBM) += ibmphp.o # native drivers should be linked before acpiphp in order to allow the # native driver to attempt to bind first. We can then fall back to # generic support. obj-$(CONFIG_HOTPLUG_PCI_PCIE) += pciehp.o obj-$(CONFIG_HOTPLUG_PCI_CPCI_ZT5550) += cpcihp_zt5550.o obj-$(CONFIG_HOTPLUG_PCI_CPCI_GENERIC) += cpcihp_generic.o obj-$(CONFIG_HOTPLUG_PCI_SHPC) += shpchp.o obj-$(CONFIG_HOTPLUG_PCI_POWERNV) += pnv-php.o obj-$(CONFIG_HOTPLUG_PCI_RPA) += rpaphp.o obj-$(CONFIG_HOTPLUG_PCI_RPA_DLPAR) += rpadlpar_io.o obj-$(CONFIG_HOTPLUG_PCI_ACPI) += acpiphp.o obj-$(CONFIG_HOTPLUG_PCI_S390) += s390_pci_hpc.o # acpiphp_ibm extends acpiphp, so should be linked afterwards. obj-$(CONFIG_HOTPLUG_PCI_ACPI_IBM) += acpiphp_ibm.o pci_hotplug-objs := pci_hotplug_core.o ifdef CONFIG_HOTPLUG_PCI_CPCI pci_hotplug-objs += cpci_hotplug_core.o \ cpci_hotplug_pci.o endif ifdef CONFIG_ACPI pci_hotplug-objs += acpi_pcihp.o endif cpqphp-objs := cpqphp_core.o \ cpqphp_ctrl.o \ cpqphp_sysfs.o \ cpqphp_pci.o cpqphp-$(CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM) += cpqphp_nvram.o cpqphp-objs += $(cpqphp-y) ibmphp-objs := ibmphp_core.o \ ibmphp_ebda.o \ ibmphp_pci.o \ ibmphp_res.o \ ibmphp_hpc.o acpiphp-objs := acpiphp_core.o \ acpiphp_glue.o pnv-php-objs := pnv_php.o rpaphp-objs := rpaphp_core.o \ rpaphp_pci.o \ rpaphp_slot.o rpadlpar_io-objs := rpadlpar_core.o \ rpadlpar_sysfs.o pciehp-objs := pciehp_core.o \ pciehp_ctrl.o \ pciehp_pci.o \ pciehp_hpc.o shpchp-objs := shpchp_core.o \ shpchp_ctrl.o \ shpchp_pci.o \ shpchp_sysfs.o \ shpchp_hpc.o pci/pcie/Kconfig 0000644 00000007675 14722053666 0007574 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # PCI Express Port Bus Configuration # config PCIEPORTBUS bool "PCI Express Port Bus support" depends on PCI help This enables PCI Express Port Bus support. Users can then enable support for Native Hot-Plug, Advanced Error Reporting, Power Management Events, and Downstream Port Containment. # # Include service Kconfig here # config HOTPLUG_PCI_PCIE bool "PCI Express Hotplug driver" depends on HOTPLUG_PCI && PCIEPORTBUS help Say Y here if you have a motherboard that supports PCI Express Native Hotplug When in doubt, say N. config PCIEAER bool "PCI Express Advanced Error Reporting support" depends on PCIEPORTBUS select RAS default y help This enables PCI Express Root Port Advanced Error Reporting (AER) driver support. Error reporting messages sent to Root Port will be handled by PCI Express AER driver. config PCIEAER_INJECT tristate "PCI Express error injection support" depends on PCIEAER help This enables PCI Express Root Port Advanced Error Reporting (AER) software error injector. Debugging AER code is quite difficult because it is hard to trigger various real hardware errors. Software-based error injection can fake almost all kinds of errors with the help of a user space helper tool aer-inject, which can be gotten from: http://www.kernel.org/pub/linux/utils/pci/aer-inject/ # # PCI Express ECRC # config PCIE_ECRC bool "PCI Express ECRC settings control" depends on PCIEAER help Used to override firmware/bios settings for PCI Express ECRC (transaction layer end-to-end CRC checking). When in doubt, say N. # # PCI Express ASPM # config PCIEASPM bool "PCI Express ASPM control" if EXPERT depends on PCI && PCIEPORTBUS default y help This enables OS control over PCI Express ASPM (Active State Power Management) and Clock Power Management. ASPM supports state L0/L0s/L1. ASPM is initially set up by the firmware. With this option enabled, Linux can modify this state in order to disable ASPM on known-bad hardware or configurations and enable it when known-safe. ASPM can be disabled or enabled at runtime via /sys/module/pcie_aspm/parameters/policy When in doubt, say Y. choice prompt "Default ASPM policy" default PCIEASPM_DEFAULT depends on PCIEASPM config PCIEASPM_DEFAULT bool "BIOS default" depends on PCIEASPM help Use the BIOS defaults for PCI Express ASPM. config PCIEASPM_POWERSAVE bool "Powersave" depends on PCIEASPM help Enable PCI Express ASPM L0s and L1 where possible, even if the BIOS did not. config PCIEASPM_POWER_SUPERSAVE bool "Power Supersave" depends on PCIEASPM help Same as PCIEASPM_POWERSAVE, except it also enables L1 substates where possible. This would result in higher power savings while staying in L1 where the components support it. config PCIEASPM_PERFORMANCE bool "Performance" depends on PCIEASPM help Disable PCI Express ASPM L0s and L1, even if the BIOS enabled them. endchoice config PCIE_PME def_bool y depends on PCIEPORTBUS && PM config PCIE_DPC bool "PCI Express Downstream Port Containment support" depends on PCIEPORTBUS && PCIEAER help This enables PCI Express Downstream Port Containment (DPC) driver support. DPC events from Root and Downstream ports will be handled by the DPC driver. If your system doesn't have this capability or you do not want to use this feature, it is safe to answer N. config PCIE_PTM bool "PCI Express Precision Time Measurement support" depends on PCIEPORTBUS help This enables PCI Express Precision Time Measurement (PTM) support. This is only useful if you have devices that support PTM, but it is safe to enable even if you don't. config PCIE_BW bool "PCI Express Bandwidth Change Notification" depends on PCIEPORTBUS help This enables PCI Express Bandwidth Change Notification. If you know link width or rate changes occur only to correct unreliable links, you may answer Y. pci/pcie/Makefile 0000644 00000000673 14722053666 0007720 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for PCI Express features and port driver pcieportdrv-y := portdrv_core.o portdrv_pci.o err.o obj-$(CONFIG_PCIEPORTBUS) += pcieportdrv.o obj-$(CONFIG_PCIEASPM) += aspm.o obj-$(CONFIG_PCIEAER) += aer.o obj-$(CONFIG_PCIEAER_INJECT) += aer_inject.o obj-$(CONFIG_PCIE_PME) += pme.o obj-$(CONFIG_PCIE_DPC) += dpc.o obj-$(CONFIG_PCIE_PTM) += ptm.o obj-$(CONFIG_PCIE_BW) += bw_notification.o pci/Makefile 0000644 00000002254 14722053666 0006775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the PCI bus specific drivers. obj-$(CONFIG_PCI) += access.o bus.o probe.o host-bridge.o \ remove.o pci.o pci-driver.o search.o \ pci-sysfs.o rom.o setup-res.o irq.o vpd.o \ setup-bus.o vc.o mmap.o setup-irq.o ifdef CONFIG_PCI obj-$(CONFIG_PROC_FS) += proc.o obj-$(CONFIG_SYSFS) += slot.o obj-$(CONFIG_ACPI) += pci-acpi.o endif obj-$(CONFIG_OF) += of.o obj-$(CONFIG_PCI_QUIRKS) += quirks.o obj-$(CONFIG_PCIEPORTBUS) += pcie/ obj-$(CONFIG_HOTPLUG_PCI) += hotplug/ obj-$(CONFIG_PCI_MSI) += msi.o obj-$(CONFIG_PCI_ATS) += ats.o obj-$(CONFIG_PCI_IOV) += iov.o obj-$(CONFIG_PCI_BRIDGE_EMUL) += pci-bridge-emul.o obj-$(CONFIG_PCI_LABEL) += pci-label.o obj-$(CONFIG_X86_INTEL_MID) += pci-mid.o obj-$(CONFIG_PCI_SYSCALL) += syscall.o obj-$(CONFIG_PCI_STUB) += pci-stub.o obj-$(CONFIG_PCI_PF_STUB) += pci-pf-stub.o obj-$(CONFIG_PCI_ECAM) += ecam.o obj-$(CONFIG_PCI_P2PDMA) += p2pdma.o obj-$(CONFIG_XEN_PCIDEV_FRONTEND) += xen-pcifront.o # Endpoint library must be initialized before its users obj-$(CONFIG_PCI_ENDPOINT) += endpoint/ obj-y += controller/ obj-y += switch/ ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG pci/controller/Kconfig 0000644 00000020563 14722053666 0011026 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "PCI controller drivers" depends on PCI config PCI_MVEBU bool "Marvell EBU PCIe controller" depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST depends on MVEBU_MBUS depends on ARM depends on OF select PCI_BRIDGE_EMUL config PCI_AARDVARK bool "Aardvark PCIe controller" depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST depends on OF depends on PCI_MSI_IRQ_DOMAIN select PCI_BRIDGE_EMUL help Add support for Aardvark 64bit PCIe Host Controller. This controller is part of the South Bridge of the Marvel Armada 3700 SoC. menu "Cadence PCIe controllers support" config PCIE_CADENCE bool config PCIE_CADENCE_HOST bool "Cadence PCIe host controller" depends on OF depends on PCI select IRQ_DOMAIN select PCIE_CADENCE help Say Y here if you want to support the Cadence PCIe controller in host mode. This PCIe controller may be embedded into many different vendors SoCs. config PCIE_CADENCE_EP bool "Cadence PCIe endpoint controller" depends on OF depends on PCI_ENDPOINT select PCIE_CADENCE help Say Y here if you want to support the Cadence PCIe controller in endpoint mode. This PCIe controller may be embedded into many different vendors SoCs. endmenu config PCIE_XILINX_NWL bool "NWL PCIe Core" depends on ARCH_ZYNQMP || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN help Say 'Y' here if you want kernel support for Xilinx NWL PCIe controller. The controller can act as Root Port or End Point. The current option selection will only support root port enabling. config PCI_FTPCI100 bool "Faraday Technology FTPCI100 PCI controller" depends on OF default ARCH_GEMINI config PCI_TEGRA bool "NVIDIA Tegra PCIe controller" depends on ARCH_TEGRA || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN help Say Y here if you want support for the PCIe host controller found on NVIDIA Tegra SoCs. config PCI_RCAR_GEN2 bool "Renesas R-Car Gen2 Internal PCI controller" depends on ARCH_RENESAS || COMPILE_TEST depends on ARM help Say Y here if you want internal PCI support on R-Car Gen2 SoC. There are 3 internal PCI controllers available with a single built-in EHCI/OHCI host controller present on each one. config PCIE_RCAR bool "Renesas R-Car PCIe controller" depends on ARCH_RENESAS || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN help Say Y here if you want PCIe controller support on R-Car SoCs. config PCI_HOST_COMMON bool select PCI_ECAM config PCI_HOST_GENERIC bool "Generic PCI host controller" depends on OF select PCI_HOST_COMMON select IRQ_DOMAIN help Say Y here if you want to support a simple generic PCI host controller, such as the one emulated by kvmtool. config PCIE_XILINX bool "Xilinx AXI PCIe host bridge support" depends on OF || COMPILE_TEST help Say 'Y' here if you want kernel to support the Xilinx AXI PCIe Host Bridge driver. config PCI_XGENE bool "X-Gene PCIe controller" depends on ARM64 || COMPILE_TEST depends on OF || (ACPI && PCI_QUIRKS) help Say Y here if you want internal PCI support on APM X-Gene SoC. There are 5 internal PCIe ports available. Each port is GEN3 capable and have varied lanes from x1 to x8. config PCI_XGENE_MSI bool "X-Gene v1 PCIe MSI feature" depends on PCI_XGENE depends on PCI_MSI_IRQ_DOMAIN default y help Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC. This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC. config PCI_V3_SEMI bool "V3 Semiconductor PCI controller" depends on OF depends on ARM || COMPILE_TEST default ARCH_INTEGRATOR_AP config PCI_VERSATILE bool "ARM Versatile PB PCI controller" depends on ARCH_VERSATILE config PCIE_IPROC tristate help This enables the iProc PCIe core controller support for Broadcom's iProc family of SoCs. An appropriate bus interface driver needs to be enabled to select this. config PCIE_IPROC_PLATFORM tristate "Broadcom iProc PCIe platform bus driver" depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST) depends on OF select PCIE_IPROC default ARCH_BCM_IPROC help Say Y here if you want to use the Broadcom iProc PCIe controller through the generic platform bus interface config PCIE_IPROC_BCMA tristate "Broadcom iProc PCIe BCMA bus driver" depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST) select PCIE_IPROC select BCMA default ARCH_BCM_5301X help Say Y here if you want to use the Broadcom iProc PCIe controller through the BCMA bus interface config PCIE_IPROC_MSI bool "Broadcom iProc PCIe MSI support" depends on PCIE_IPROC_PLATFORM || PCIE_IPROC_BCMA depends on PCI_MSI_IRQ_DOMAIN default ARCH_BCM_IPROC help Say Y here if you want to enable MSI support for Broadcom's iProc PCIe controller config PCIE_ALTERA tristate "Altera PCIe controller" depends on ARM || NIOS2 || ARM64 || COMPILE_TEST help Say Y here if you want to enable PCIe controller support on Altera FPGA. config PCIE_ALTERA_MSI tristate "Altera PCIe MSI feature" depends on PCIE_ALTERA depends on PCI_MSI_IRQ_DOMAIN help Say Y here if you want PCIe MSI support for the Altera FPGA. This MSI driver supports Altera MSI to GIC controller IP. config PCI_HOST_THUNDER_PEM bool "Cavium Thunder PCIe controller to off-chip devices" depends on ARM64 || COMPILE_TEST depends on OF || (ACPI && PCI_QUIRKS) select PCI_HOST_COMMON help Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. config PCI_HOST_THUNDER_ECAM bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" depends on ARM64 || COMPILE_TEST depends on OF || (ACPI && PCI_QUIRKS) select PCI_HOST_COMMON help Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. config PCIE_ROCKCHIP bool depends on PCI config PCIE_ROCKCHIP_HOST tristate "Rockchip PCIe host controller" depends on ARCH_ROCKCHIP || COMPILE_TEST depends on OF depends on PCI_MSI_IRQ_DOMAIN select MFD_SYSCON select PCIE_ROCKCHIP help Say Y here if you want internal PCI support on Rockchip SoC. There is 1 internal PCIe port available to support GEN2 with 4 slots. config PCIE_ROCKCHIP_EP bool "Rockchip PCIe endpoint controller" depends on ARCH_ROCKCHIP || COMPILE_TEST depends on OF depends on PCI_ENDPOINT select MFD_SYSCON select PCIE_ROCKCHIP help Say Y here if you want to support Rockchip PCIe controller in endpoint mode on Rockchip SoC. There is 1 internal PCIe port available to support GEN2 with 4 slots. config PCIE_MEDIATEK tristate "MediaTek PCIe controller" depends on ARCH_MEDIATEK || COMPILE_TEST depends on OF depends on PCI_MSI_IRQ_DOMAIN help Say Y here if you want to enable PCIe controller support on MediaTek SoCs. config PCIE_MOBIVEIL bool "Mobiveil AXI PCIe controller" depends on ARCH_ZYNQMP || COMPILE_TEST depends on OF depends on PCI_MSI_IRQ_DOMAIN help Say Y here if you want to enable support for the Mobiveil AXI PCIe Soft IP. It has up to 8 outbound and inbound windows for address translation and it is a PCIe Gen4 IP. config PCIE_TANGO_SMP8759 bool "Tango SMP8759 PCIe controller (DANGEROUS)" depends on ARCH_TANGO && PCI_MSI && OF depends on BROKEN select PCI_HOST_COMMON help Say Y here to enable PCIe controller support for Sigma Designs Tango SMP8759-based systems. Note: The SMP8759 controller multiplexes PCI config and MMIO accesses, and Linux doesn't provide a way to serialize them. This can lead to data corruption if drivers perform concurrent config and MMIO accesses. config VMD depends on PCI_MSI && X86_64 && SRCU select X86_DEV_DMA_OPS tristate "Intel Volume Management Device Driver" ---help--- Adds support for the Intel Volume Management Device (VMD). VMD is a secondary PCI host bridge that allows PCI Express root ports, and devices attached to them, to be removed from the default PCI domain and placed within the VMD domain. This provides more bus resources than are otherwise possible with a single domain. If you know your system provides one of these and has devices attached to it, say Y; if you are not sure, say N. To compile this driver as a module, choose M here: the module will be called vmd. config PCI_HYPERV_INTERFACE tristate "Hyper-V PCI Interface" depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64 help The Hyper-V PCI Interface is a helper driver allows other drivers to have a common interface with the Hyper-V PCI frontend driver. source "drivers/pci/controller/dwc/Kconfig" endmenu pci/controller/dwc/Kconfig 0000644 00000021025 14722053666 0011575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "DesignWare PCI Core Support" depends on PCI config PCIE_DW bool config PCIE_DW_HOST bool depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW config PCIE_DW_EP bool depends on PCI_ENDPOINT select PCIE_DW config PCI_DRA7XX bool config PCI_DRA7XX_HOST bool "TI DRA7xx PCIe controller Host Mode" depends on SOC_DRA7XX || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN depends on OF && HAS_IOMEM && TI_PIPE3 select PCIE_DW_HOST select PCI_DRA7XX default y help Enables support for the PCIe controller in the DRA7xx SoC to work in host mode. There are two instances of PCIe controller in DRA7xx. This controller can work either as EP or RC. In order to enable host-specific features PCI_DRA7XX_HOST must be selected and in order to enable device-specific features PCI_DRA7XX_EP must be selected. This uses the DesignWare core. config PCI_DRA7XX_EP bool "TI DRA7xx PCIe controller Endpoint Mode" depends on SOC_DRA7XX || COMPILE_TEST depends on PCI_ENDPOINT depends on OF && HAS_IOMEM && TI_PIPE3 select PCIE_DW_EP select PCI_DRA7XX help Enables support for the PCIe controller in the DRA7xx SoC to work in endpoint mode. There are two instances of PCIe controller in DRA7xx. This controller can work either as EP or RC. In order to enable host-specific features PCI_DRA7XX_HOST must be selected and in order to enable device-specific features PCI_DRA7XX_EP must be selected. This uses the DesignWare core. config PCIE_DW_PLAT bool config PCIE_DW_PLAT_HOST bool "Platform bus based DesignWare PCIe Controller - Host mode" depends on PCI && PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST select PCIE_DW_PLAT help Enables support for the PCIe controller in the Designware IP to work in host mode. There are two instances of PCIe controller in Designware IP. This controller can work either as EP or RC. In order to enable host-specific features PCIE_DW_PLAT_HOST must be selected and in order to enable device-specific features PCI_DW_PLAT_EP must be selected. config PCIE_DW_PLAT_EP bool "Platform bus based DesignWare PCIe Controller - Endpoint mode" depends on PCI && PCI_MSI_IRQ_DOMAIN depends on PCI_ENDPOINT select PCIE_DW_EP select PCIE_DW_PLAT help Enables support for the PCIe controller in the Designware IP to work in endpoint mode. There are two instances of PCIe controller in Designware IP. This controller can work either as EP or RC. In order to enable host-specific features PCIE_DW_PLAT_HOST must be selected and in order to enable device-specific features PCI_DW_PLAT_EP must be selected. config PCI_EXYNOS bool "Samsung Exynos PCIe controller" depends on SOC_EXYNOS5440 || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST config PCI_IMX6 bool "Freescale i.MX6/7/8 PCIe controller" depends on ARCH_MXC || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST config PCIE_SPEAR13XX bool "STMicroelectronics SPEAr PCIe controller" depends on ARCH_SPEAR13XX || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST help Say Y here if you want PCIe support on SPEAr13XX SoCs. config PCI_KEYSTONE bool config PCI_KEYSTONE_HOST bool "PCI Keystone Host Mode" depends on ARCH_KEYSTONE || ARCH_K3 || ((ARM || ARM64) && COMPILE_TEST) depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST select PCI_KEYSTONE default y help Enables support for the PCIe controller in the Keystone SoC to work in host mode. The PCI controller on Keystone is based on DesignWare hardware and therefore the driver re-uses the DesignWare core functions to implement the driver. config PCI_KEYSTONE_EP bool "PCI Keystone Endpoint Mode" depends on ARCH_KEYSTONE || ARCH_K3 || ((ARM || ARM64) && COMPILE_TEST) depends on PCI_ENDPOINT select PCIE_DW_EP select PCI_KEYSTONE help Enables support for the PCIe controller in the Keystone SoC to work in endpoint mode. The PCI controller on Keystone is based on DesignWare hardware and therefore the driver re-uses the DesignWare core functions to implement the driver. config PCI_LAYERSCAPE bool "Freescale Layerscape PCIe controller - Host mode" depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) depends on PCI_MSI_IRQ_DOMAIN select MFD_SYSCON select PCIE_DW_HOST help Say Y here if you want to enable PCIe controller support on Layerscape SoCs to work in Host mode. This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] determines which PCIe controller works in EP mode and which PCIe controller works in RC mode. config PCI_LAYERSCAPE_EP bool "Freescale Layerscape PCIe controller - Endpoint mode" depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST) depends on PCI_ENDPOINT select PCIE_DW_EP help Say Y here if you want to enable PCIe controller support on Layerscape SoCs to work in Endpoint mode. This controller can work either as EP or RC. The RCW[HOST_AGT_PEX] determines which PCIe controller works in EP mode and which PCIe controller works in RC mode. config PCI_HISI depends on OF && (ARM64 || COMPILE_TEST) bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers" depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST select PCI_HOST_COMMON help Say Y here if you want PCIe controller support on HiSilicon Hip05 and Hip06 SoCs config PCIE_QCOM bool "Qualcomm PCIe controller" depends on OF && (ARCH_QCOM || COMPILE_TEST) depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST help Say Y here to enable PCIe controller support on Qualcomm SoCs. The PCIe controller uses the DesignWare core plus Qualcomm-specific hardware wrappers. config PCIE_ARMADA_8K bool "Marvell Armada-8K PCIe controller" depends on ARCH_MVEBU || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST help Say Y here if you want to enable PCIe controller support on Armada-8K SoCs. The PCIe controller on Armada-8K is based on DesignWare hardware and therefore the driver re-uses the DesignWare core functions to implement the driver. config PCIE_ARTPEC6 bool config PCIE_ARTPEC6_HOST bool "Axis ARTPEC-6 PCIe controller Host Mode" depends on MACH_ARTPEC6 || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST select PCIE_ARTPEC6 help Enables support for the PCIe controller in the ARTPEC-6 SoC to work in host mode. This uses the DesignWare core. config PCIE_ARTPEC6_EP bool "Axis ARTPEC-6 PCIe controller Endpoint Mode" depends on MACH_ARTPEC6 || COMPILE_TEST depends on PCI_ENDPOINT select PCIE_DW_EP select PCIE_ARTPEC6 help Enables support for the PCIe controller in the ARTPEC-6 SoC to work in endpoint mode. This uses the DesignWare core. config PCIE_KIRIN depends on OF && (ARM64 || COMPILE_TEST) bool "HiSilicon Kirin series SoCs PCIe controllers" depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST help Say Y here if you want PCIe controller support on HiSilicon Kirin series SoCs. config PCIE_HISI_STB bool "HiSilicon STB SoCs PCIe controllers" depends on ARCH_HISI || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST help Say Y here if you want PCIe controller support on HiSilicon STB SoCs config PCI_MESON bool "MESON PCIe controller" depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST help Say Y here if you want to enable PCI controller support on Amlogic SoCs. The PCI controller on Amlogic is based on DesignWare hardware and therefore the driver re-uses the DesignWare core functions to implement the driver. config PCIE_TEGRA194 tristate "NVIDIA Tegra194 (and later) PCIe controller" depends on ARCH_TEGRA_194_SOC || COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST select PHY_TEGRA194_P2U help Say Y here if you want support for DesignWare core based PCIe host controller found in NVIDIA Tegra194 SoC. config PCIE_UNIPHIER bool "Socionext UniPhier PCIe controllers" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF && HAS_IOMEM depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST help Say Y here if you want PCIe controller support on UniPhier SoCs. This driver supports LD20 and PXs3 SoCs. config PCIE_AL bool "Amazon Annapurna Labs PCIe controller" depends on OF && (ARM64 || COMPILE_TEST) depends on PCI_MSI_IRQ_DOMAIN select PCIE_DW_HOST help Say Y here to enable support of the Amazon's Annapurna Labs PCIe controller IP on Amazon SoCs. The PCIe controller uses the DesignWare core plus Annapurna Labs proprietary hardware wrappers. This is required only for DT-based platforms. ACPI platforms with the Annapurna Labs PCIe controller don't need to enable this. endmenu pci/controller/dwc/Makefile 0000644 00000002762 14722053666 0011741 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PCIE_DW) += pcie-designware.o obj-$(CONFIG_PCIE_DW_HOST) += pcie-designware-host.o obj-$(CONFIG_PCIE_DW_EP) += pcie-designware-ep.o obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o obj-$(CONFIG_PCI_DRA7XX) += pci-dra7xx.o obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o obj-$(CONFIG_PCI_IMX6) += pci-imx6.o obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o obj-$(CONFIG_PCI_KEYSTONE) += pci-keystone.o obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o obj-$(CONFIG_PCI_LAYERSCAPE_EP) += pci-layerscape-ep.o obj-$(CONFIG_PCIE_QCOM) += pcie-qcom.o obj-$(CONFIG_PCIE_ARMADA_8K) += pcie-armada8k.o obj-$(CONFIG_PCIE_ARTPEC6) += pcie-artpec6.o obj-$(CONFIG_PCIE_KIRIN) += pcie-kirin.o obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.o obj-$(CONFIG_PCI_MESON) += pci-meson.o obj-$(CONFIG_PCIE_TEGRA194) += pcie-tegra194.o obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o # The following drivers are for devices that use the generic ACPI # pci_root.c driver but don't support standard ECAM config access. # They contain MCFG quirks to replace the generic ECAM accessors with # device-specific ones that are shared with the DT driver. # The ACPI driver is generic and should not require driver-specific # config options to be enabled, so we always build these drivers on # ARM64 and use internal ifdefs to only build the pieces we need # depending on whether ACPI, the DT driver, or both are enabled. ifdef CONFIG_PCI obj-$(CONFIG_ARM64) += pcie-al.o obj-$(CONFIG_ARM64) += pcie-hisi.o endif pci/controller/Makefile 0000644 00000004303 14722053666 0011155 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PCIE_CADENCE) += pcie-cadence.o obj-$(CONFIG_PCIE_CADENCE_HOST) += pcie-cadence-host.o obj-$(CONFIG_PCIE_CADENCE_EP) += pcie-cadence-ep.o obj-$(CONFIG_PCI_FTPCI100) += pci-ftpci100.o obj-$(CONFIG_PCI_HYPERV) += pci-hyperv.o obj-$(CONFIG_PCI_HYPERV_INTERFACE) += pci-hyperv-intf.o obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o obj-$(CONFIG_PCI_AARDVARK) += pci-aardvark.o obj-$(CONFIG_PCI_TEGRA) += pci-tegra.o obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o obj-$(CONFIG_PCIE_RCAR) += pcie-rcar.o obj-$(CONFIG_PCI_HOST_COMMON) += pci-host-common.o obj-$(CONFIG_PCI_HOST_GENERIC) += pci-host-generic.o obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o obj-$(CONFIG_PCIE_XILINX_NWL) += pcie-xilinx-nwl.o obj-$(CONFIG_PCI_V3_SEMI) += pci-v3-semi.o obj-$(CONFIG_PCI_XGENE_MSI) += pci-xgene-msi.o obj-$(CONFIG_PCI_VERSATILE) += pci-versatile.o obj-$(CONFIG_PCIE_IPROC) += pcie-iproc.o obj-$(CONFIG_PCIE_IPROC_MSI) += pcie-iproc-msi.o obj-$(CONFIG_PCIE_IPROC_PLATFORM) += pcie-iproc-platform.o obj-$(CONFIG_PCIE_IPROC_BCMA) += pcie-iproc-bcma.o obj-$(CONFIG_PCIE_ALTERA) += pcie-altera.o obj-$(CONFIG_PCIE_ALTERA_MSI) += pcie-altera-msi.o obj-$(CONFIG_PCIE_ROCKCHIP) += pcie-rockchip.o obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-rockchip-ep.o obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o obj-$(CONFIG_PCIE_MOBIVEIL) += pcie-mobiveil.o obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o obj-$(CONFIG_VMD) += vmd.o # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW obj-y += dwc/ # The following drivers are for devices that use the generic ACPI # pci_root.c driver but don't support standard ECAM config access. # They contain MCFG quirks to replace the generic ECAM accessors with # device-specific ones that are shared with the DT driver. # The ACPI driver is generic and should not require driver-specific # config options to be enabled, so we always build these drivers on # ARM64 and use internal ifdefs to only build the pieces we need # depending on whether ACPI, the DT driver, or both are enabled. ifdef CONFIG_PCI obj-$(CONFIG_ARM64) += pci-thunder-ecam.o obj-$(CONFIG_ARM64) += pci-thunder-pem.o obj-$(CONFIG_ARM64) += pci-xgene.o endif pci/endpoint/Kconfig 0000644 00000001545 14722053666 0010462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # PCI Endpoint Support # menu "PCI Endpoint" config PCI_ENDPOINT bool "PCI Endpoint Support" depends on HAVE_PCI help Enable this configuration option to support configurable PCI endpoint. This should be enabled if the platform has a PCI controller that can operate in endpoint mode. Enabling this option will build the endpoint library, which includes endpoint controller library and endpoint function library. If in doubt, say "N" to disable Endpoint support. config PCI_ENDPOINT_CONFIGFS bool "PCI Endpoint Configfs Support" depends on PCI_ENDPOINT select CONFIGFS_FS help This will enable the configfs entry that can be used to configure the endpoint function and used to bind the function with a endpoint controller. source "drivers/pci/endpoint/functions/Kconfig" endmenu pci/endpoint/Makefile 0000644 00000000337 14722053666 0010615 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for PCI Endpoint Support # obj-$(CONFIG_PCI_ENDPOINT_CONFIGFS) += pci-ep-cfs.o obj-$(CONFIG_PCI_ENDPOINT) += pci-epc-core.o pci-epf-core.o\ pci-epc-mem.o functions/ pci/endpoint/functions/Kconfig 0000644 00000000467 14722053666 0012474 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # PCI Endpoint Functions # config PCI_EPF_TEST tristate "PCI Endpoint Test driver" depends on PCI_ENDPOINT select CRC32 help Enable this configuration option to enable the test driver for PCI Endpoint. If in doubt, say "N" to disable Endpoint test driver. pci/endpoint/functions/Makefile 0000644 00000000174 14722053666 0012624 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for PCI Endpoint Functions # obj-$(CONFIG_PCI_EPF_TEST) += pci-epf-test.o watchdog/Kconfig 0000644 00000204367 14722053666 0007676 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Watchdog device configuration # menuconfig WATCHDOG bool "Watchdog Timer Support" ---help--- If you say Y here (and to one of the following options) and create a character special file /dev/watchdog with major number 10 and minor number 130 using mknod ("man mknod"), you will get a watchdog, i.e.: subsequently opening the file and then failing to write to it for longer than 1 minute will result in rebooting the machine. This could be useful for a networked machine that needs to come back on-line as fast as possible after a lock-up. There's both a watchdog implementation entirely in software (which can sometimes fail to reboot the machine) and a driver for hardware watchdog boards, which are more robust and can also keep track of the temperature inside your computer. For details, read <file:Documentation/watchdog/watchdog-api.rst> in the kernel source. The watchdog is usually used together with the watchdog daemon which is available from <ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can also monitor NFS connections and can reboot the machine when the process table is full. If unsure, say N. if WATCHDOG config WATCHDOG_CORE tristate "WatchDog Timer Driver Core" ---help--- Say Y here if you want to use the new watchdog timer driver core. This driver provides a framework for all watchdog timer drivers and gives them the /dev/watchdog interface (and later also the sysfs interface). config WATCHDOG_NOWAYOUT bool "Disable watchdog shutdown on close" help The default watchdog behaviour (which you get if you say N here) is to stop the timer if the process managing it closes the file /dev/watchdog. It's always remotely possible that this process might get killed. If you say Y here, the watchdog cannot be stopped once it has been started. config WATCHDOG_HANDLE_BOOT_ENABLED bool "Update boot-enabled watchdog until userspace takes over" default y help The default watchdog behaviour (which you get if you say Y here) is to ping watchdog devices that were enabled before the driver has been loaded until control is taken over from userspace using the /dev/watchdog file. If you say N here, the kernel will not update the watchdog on its own. Thus if your userspace does not start fast enough your device will reboot. config WATCHDOG_OPEN_TIMEOUT int "Timeout value for opening watchdog device" default 0 help The maximum time, in seconds, for which the watchdog framework takes care of pinging a hardware watchdog. A value of 0 means infinite. The value set here can be overridden by the commandline parameter "watchdog.open_timeout". config WATCHDOG_SYSFS bool "Read different watchdog information through sysfs" help Say Y here if you want to enable watchdog device status read through sysfs attributes. comment "Watchdog Pretimeout Governors" config WATCHDOG_PRETIMEOUT_GOV bool "Enable watchdog pretimeout governors" depends on WATCHDOG_CORE help The option allows to select watchdog pretimeout governors. config WATCHDOG_PRETIMEOUT_GOV_SEL tristate depends on WATCHDOG_PRETIMEOUT_GOV default m select WATCHDOG_PRETIMEOUT_GOV_PANIC if WATCHDOG_PRETIMEOUT_GOV_NOOP=n if WATCHDOG_PRETIMEOUT_GOV config WATCHDOG_PRETIMEOUT_GOV_NOOP tristate "Noop watchdog pretimeout governor" depends on WATCHDOG_CORE default WATCHDOG_CORE help Noop watchdog pretimeout governor, only an informational message is added to kernel log buffer. config WATCHDOG_PRETIMEOUT_GOV_PANIC tristate "Panic watchdog pretimeout governor" depends on WATCHDOG_CORE default WATCHDOG_CORE help Panic watchdog pretimeout governor, on watchdog pretimeout event put the kernel into panic. choice prompt "Default Watchdog Pretimeout Governor" default WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC help This option selects a default watchdog pretimeout governor. The governor takes its action, if a watchdog is capable to report a pretimeout event. config WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP bool "noop" depends on WATCHDOG_PRETIMEOUT_GOV_NOOP help Use noop watchdog pretimeout governor by default. If noop governor is selected by a user, write a short message to the kernel log buffer and don't do any system changes. config WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC bool "panic" depends on WATCHDOG_PRETIMEOUT_GOV_PANIC help Use panic watchdog pretimeout governor by default, if a watchdog pretimeout event happens, consider that a watchdog feeder is dead and reboot is unavoidable. endchoice endif # WATCHDOG_PRETIMEOUT_GOV # # General Watchdog drivers # comment "Watchdog Device Drivers" # Architecture Independent config SOFT_WATCHDOG tristate "Software watchdog" select WATCHDOG_CORE help A software monitoring watchdog. This will fail to reboot your system from some situations that the hardware watchdog will recover from. Equally it's a lot cheaper to install. To compile this driver as a module, choose M here: the module will be called softdog. config SOFT_WATCHDOG_PRETIMEOUT bool "Software watchdog pretimeout governor support" depends on SOFT_WATCHDOG && WATCHDOG_PRETIMEOUT_GOV help Enable this if you want to use pretimeout governors with the software watchdog. Be aware that governors might affect the watchdog because it is purely software, e.g. the panic governor will stall it! config BD70528_WATCHDOG tristate "ROHM BD70528 PMIC Watchdog" depends on MFD_ROHM_BD70528 select WATCHDOG_CORE help Support for the watchdog in the ROHM BD70528 PMIC. Watchdog trigger cause system reset. Say Y here to include support for the ROHM BD70528 watchdog. Alternatively say M to compile the driver as a module, which will be called bd70528_wdt. config DA9052_WATCHDOG tristate "Dialog DA9052 Watchdog" depends on PMIC_DA9052 || COMPILE_TEST select WATCHDOG_CORE help Support for the watchdog in the DA9052 PMIC. Watchdog trigger cause system reset. Say Y here to include support for the DA9052 watchdog. Alternatively say M to compile the driver as a module, which will be called da9052_wdt. config DA9055_WATCHDOG tristate "Dialog Semiconductor DA9055 Watchdog" depends on MFD_DA9055 || COMPILE_TEST select WATCHDOG_CORE help If you say yes here you get support for watchdog on the Dialog Semiconductor DA9055 PMIC. This driver can also be built as a module. If so, the module will be called da9055_wdt. config DA9063_WATCHDOG tristate "Dialog DA9063 Watchdog" depends on MFD_DA9063 || COMPILE_TEST select WATCHDOG_CORE help Support for the watchdog in the DA9063 PMIC. This driver can be built as a module. The module name is da9063_wdt. config DA9062_WATCHDOG tristate "Dialog DA9062/61 Watchdog" depends on MFD_DA9062 || COMPILE_TEST select WATCHDOG_CORE help Support for the watchdog in the DA9062 and DA9061 PMICs. This driver can be built as a module. The module name is da9062_wdt. config GPIO_WATCHDOG tristate "Watchdog device controlled through GPIO-line" depends on OF_GPIO select WATCHDOG_CORE help If you say yes here you get support for watchdog device controlled through GPIO-line. config GPIO_WATCHDOG_ARCH_INITCALL bool "Register the watchdog as early as possible" depends on GPIO_WATCHDOG=y help In some situations, the default initcall level (module_init) in not early enough in the boot process to avoid the watchdog to be triggered. If you say yes here, the initcall level would be raised to arch_initcall. If in doubt, say N. config MENF21BMC_WATCHDOG tristate "MEN 14F021P00 BMC Watchdog" depends on MFD_MENF21BMC || COMPILE_TEST depends on I2C select WATCHDOG_CORE help Say Y here to include support for the MEN 14F021P00 BMC Watchdog. This driver can also be built as a module. If so the module will be called menf21bmc_wdt. config MENZ069_WATCHDOG tristate "MEN 16Z069 Watchdog" depends on MCB select WATCHDOG_CORE help Say Y here to include support for the MEN 16Z069 Watchdog. This driver can also be built as a module. If so the module will be called menz069_wdt. config TANGOX_WATCHDOG tristate "Sigma Designs SMP86xx/SMP87xx watchdog" select WATCHDOG_CORE depends on ARCH_TANGO || COMPILE_TEST depends on HAS_IOMEM help Support for the watchdog in Sigma Designs SMP86xx (tango3) and SMP87xx (tango4) family chips. This driver can be built as a module. The module name is tangox_wdt. config WDAT_WDT tristate "ACPI Watchdog Action Table (WDAT)" depends on ACPI select WATCHDOG_CORE select ACPI_WATCHDOG help This driver adds support for systems with ACPI Watchdog Action Table (WDAT) table. Servers typically have this but it can be found on some desktop machines as well. This driver will take over the native iTCO watchdog driver found on many Intel CPUs. To compile this driver as module, choose M here: the module will be called wdat_wdt. config WM831X_WATCHDOG tristate "WM831x watchdog" depends on MFD_WM831X select WATCHDOG_CORE help Support for the watchdog in the WM831x AudioPlus PMICs. When the watchdog triggers the system will be reset. config WM8350_WATCHDOG tristate "WM8350 watchdog" depends on MFD_WM8350 select WATCHDOG_CORE help Support for the watchdog in the WM8350 AudioPlus PMIC. When the watchdog triggers the system will be reset. config XILINX_WATCHDOG tristate "Xilinx Watchdog timer" depends on HAS_IOMEM select WATCHDOG_CORE help Watchdog driver for the xps_timebase_wdt ip core. To compile this driver as a module, choose M here: the module will be called of_xilinx_wdt. config ZIIRAVE_WATCHDOG tristate "Zodiac RAVE Watchdog Timer" depends on I2C select WATCHDOG_CORE help Watchdog driver for the Zodiac Aerospace RAVE Switch Watchdog Processor. To compile this driver as a module, choose M here: the module will be called ziirave_wdt. config RAVE_SP_WATCHDOG tristate "RAVE SP Watchdog timer" depends on RAVE_SP_CORE depends on NVMEM || !NVMEM select WATCHDOG_CORE help Support for the watchdog on RAVE SP device. config MLX_WDT tristate "Mellanox Watchdog" depends on MELLANOX_PLATFORM select WATCHDOG_CORE select REGMAP help This is the driver for the hardware watchdog on Mellanox systems. If you are going to use it, say Y here, otherwise N. This driver can be used together with the watchdog daemon. It can also watch your kernel to make sure it doesn't freeze, and if it does, it reboots your system after a certain amount of time. To compile this driver as a module, choose M here: the module will be called mlx-wdt. # ALPHA Architecture # ARM Architecture config ARM_SP805_WATCHDOG tristate "ARM SP805 Watchdog" depends on (ARM || ARM64 || COMPILE_TEST) && ARM_AMBA select WATCHDOG_CORE help ARM Primecell SP805 Watchdog timer. This will reboot your system when the timeout is reached. config ARM_SBSA_WATCHDOG tristate "ARM SBSA Generic Watchdog" depends on ARM64 depends on ARM_ARCH_TIMER select WATCHDOG_CORE help ARM SBSA Generic Watchdog has two stage timeouts: the first signal (WS0) is for alerting the system by interrupt, the second one (WS1) is a real hardware reset. More details: ARM DEN0029B - Server Base System Architecture (SBSA) This driver can operate ARM SBSA Generic Watchdog as a single stage or a two stages watchdog, it depends on the module parameter "action". Note: the maximum timeout in the two stages mode is half of that in the single stage mode. To compile this driver as module, choose M here: The module will be called sbsa_gwdt. config ARMADA_37XX_WATCHDOG tristate "Armada 37xx watchdog" depends on ARCH_MVEBU || COMPILE_TEST depends on HAS_IOMEM select MFD_SYSCON select WATCHDOG_CORE help Say Y here to include support for the watchdog timer found on Marvell Armada 37xx SoCs. To compile this driver as a module, choose M here: the module will be called armada_37xx_wdt. config ASM9260_WATCHDOG tristate "Alphascale ASM9260 watchdog" depends on MACH_ASM9260 || COMPILE_TEST depends on OF select WATCHDOG_CORE select RESET_CONTROLLER help Watchdog timer embedded into Alphascale asm9260 chips. This will reboot your system when the timeout is reached. config AT91RM9200_WATCHDOG tristate "AT91RM9200 watchdog" depends on (SOC_AT91RM9200 && MFD_SYSCON) || COMPILE_TEST help Watchdog timer embedded into AT91RM9200 chips. This will reboot your system when the timeout is reached. config AT91SAM9X_WATCHDOG tristate "AT91SAM9X / AT91CAP9 watchdog" depends on ARCH_AT91 || COMPILE_TEST select WATCHDOG_CORE help Watchdog timer embedded into AT91SAM9X and AT91CAP9 chips. This will reboot your system when the timeout is reached. config SAMA5D4_WATCHDOG tristate "Atmel SAMA5D4 Watchdog Timer" depends on ARCH_AT91 || COMPILE_TEST select WATCHDOG_CORE help Atmel SAMA5D4 watchdog timer is embedded into SAMA5D4 chips. Its Watchdog Timer Mode Register can be written more than once. This will reboot your system when the timeout is reached. config CADENCE_WATCHDOG tristate "Cadence Watchdog Timer" depends on HAS_IOMEM select WATCHDOG_CORE help Say Y here if you want to include support for the watchdog timer in the Xilinx Zynq. config 21285_WATCHDOG tristate "DC21285 watchdog" depends on FOOTBRIDGE help The Intel Footbridge chip contains a built-in watchdog circuit. Say Y here if you wish to use this. Alternatively say M to compile the driver as a module, which will be called wdt285. This driver does not work on all machines. In particular, early CATS boards have hardware problems that will cause the machine to simply lock up if the watchdog fires. "If in doubt, leave it out" - say N. config 977_WATCHDOG tristate "NetWinder WB83C977 watchdog" depends on (FOOTBRIDGE && ARCH_NETWINDER) || (ARM && COMPILE_TEST) help Say Y here to include support for the WB977 watchdog included in NetWinder machines. Alternatively say M to compile the driver as a module, which will be called wdt977. Not sure? It's safe to say N. config FTWDT010_WATCHDOG tristate "Faraday Technology FTWDT010 watchdog" depends on ARM || COMPILE_TEST select WATCHDOG_CORE default ARCH_GEMINI help Say Y here if to include support for the Faraday Technology FTWDT010 watchdog timer embedded in the Cortina Systems Gemini family of devices. To compile this driver as a module, choose M here: the module will be called ftwdt010_wdt. config IXP4XX_WATCHDOG tristate "IXP4xx Watchdog" depends on ARCH_IXP4XX help Say Y here if to include support for the watchdog timer in the Intel IXP4xx network processors. This driver can be built as a module by choosing M. The module will be called ixp4xx_wdt. Note: The internal IXP4xx watchdog does a soft CPU reset which doesn't reset any peripherals. There are circumstances where the watchdog will fail to reset the board correctly (e.g., if the boot ROM is in an unreadable state). Say N if you are unsure. config HAVE_S3C2410_WATCHDOG bool help This will include watchdog timer support for Samsung SoCs. If you want to include watchdog support for any machine, kindly select this in the respective mach-XXXX/Kconfig file. config S3C2410_WATCHDOG tristate "S3C2410 Watchdog" depends on HAVE_S3C2410_WATCHDOG || COMPILE_TEST select WATCHDOG_CORE select MFD_SYSCON if ARCH_EXYNOS help Watchdog timer block in the Samsung SoCs. This will reboot the system when the timer expires with the watchdog enabled. The driver is limited by the speed of the system's PCLK signal, so with reasonably fast systems (PCLK around 50-66MHz) then watchdog intervals of over approximately 20seconds are unavailable. The driver can be built as a module by choosing M, and will be called s3c2410_wdt config SA1100_WATCHDOG tristate "SA1100/PXA2xx watchdog" depends on ARCH_SA1100 || ARCH_PXA help Watchdog timer embedded into SA11x0 and PXA2xx chips. This will reboot your system when timeout is reached. NOTE: once enabled, this timer cannot be disabled. To compile this driver as a module, choose M here: the module will be called sa1100_wdt. config DW_WATCHDOG tristate "Synopsys DesignWare watchdog" depends on HAS_IOMEM select WATCHDOG_CORE help Say Y here if to include support for the Synopsys DesignWare watchdog timer found in many chips. To compile this driver as a module, choose M here: the module will be called dw_wdt. config EP93XX_WATCHDOG tristate "EP93xx Watchdog" depends on ARCH_EP93XX || COMPILE_TEST select WATCHDOG_CORE help Say Y here if to include support for the watchdog timer embedded in the Cirrus Logic EP93xx family of devices. To compile this driver as a module, choose M here: the module will be called ep93xx_wdt. config OMAP_WATCHDOG tristate "OMAP Watchdog" depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || COMPILE_TEST select WATCHDOG_CORE help Support for TI OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog. Say 'Y' here to enable the OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog timer. config PNX4008_WATCHDOG tristate "LPC32XX Watchdog" depends on ARCH_LPC32XX || COMPILE_TEST select WATCHDOG_CORE help Say Y here if to include support for the watchdog timer in the LPC32XX processor. This driver can be built as a module by choosing M. The module will be called pnx4008_wdt. Say N if you are unsure. config IOP_WATCHDOG tristate "IOP Watchdog" depends on ARCH_IOP13XX select WATCHDOG_NOWAYOUT if (ARCH_IOP32X || ARCH_IOP33X) help Say Y here if to include support for the watchdog timer in the Intel IOP3XX & IOP13XX I/O Processors. This driver can be built as a module by choosing M. The module will be called iop_wdt. Note: The IOP13XX watchdog does an Internal Bus Reset which will affect both cores and the peripherals of the IOP. The ATU-X and/or ATUe configuration registers will remain intact, but if operating as an Root Complex and/or Central Resource, the PCI-X and/or PCIe busses will also be reset. THIS IS A VERY BIG HAMMER. config DAVINCI_WATCHDOG tristate "DaVinci watchdog" depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST select WATCHDOG_CORE help Say Y here if to include support for the watchdog timer in the DaVinci DM644x/DM646x or Keystone processors. To compile this driver as a module, choose M here: the module will be called davinci_wdt. NOTE: once enabled, this timer cannot be disabled. Say N if you are unsure. config ORION_WATCHDOG tristate "Orion watchdog" depends on ARCH_ORION5X || ARCH_DOVE || MACH_DOVE || ARCH_MVEBU || (COMPILE_TEST && !ARCH_EBSA110) depends on ARM select WATCHDOG_CORE help Say Y here if to include support for the watchdog timer in the Marvell Orion5x and Kirkwood ARM SoCs. To compile this driver as a module, choose M here: the module will be called orion_wdt. config RN5T618_WATCHDOG tristate "Ricoh RN5T618 watchdog" depends on MFD_RN5T618 || COMPILE_TEST select WATCHDOG_CORE help If you say yes here you get support for watchdog on the Ricoh RN5T618 PMIC. This driver can also be built as a module. If so, the module will be called rn5t618_wdt. config SUNXI_WATCHDOG tristate "Allwinner SoCs watchdog support" depends on ARCH_SUNXI || COMPILE_TEST select WATCHDOG_CORE help Say Y here to include support for the watchdog timer in Allwinner SoCs. To compile this driver as a module, choose M here: the module will be called sunxi_wdt. config COH901327_WATCHDOG bool "ST-Ericsson COH 901 327 watchdog" depends on ARCH_U300 || (ARM && COMMON_CLK && COMPILE_TEST) default y if MACH_U300 select WATCHDOG_CORE help Say Y here to include Watchdog timer support for the watchdog embedded into the ST-Ericsson U300 series platforms. This watchdog is used to reset the system and thus cannot be compiled as a module. config NPCM7XX_WATCHDOG tristate "Nuvoton NPCM750 watchdog" depends on ARCH_NPCM || COMPILE_TEST default y if ARCH_NPCM7XX select WATCHDOG_CORE help Say Y here to include Watchdog timer support for the watchdog embedded into the NPCM7xx. This watchdog is used to reset the system and thus cannot be compiled as a module. config TWL4030_WATCHDOG tristate "TWL4030 Watchdog" depends on TWL4030_CORE select WATCHDOG_CORE help Support for TI TWL4030 watchdog. Say 'Y' here to enable the watchdog timer support for TWL4030 chips. config STMP3XXX_RTC_WATCHDOG tristate "Freescale STMP3XXX & i.MX23/28 watchdog" depends on RTC_DRV_STMP || COMPILE_TEST select WATCHDOG_CORE help Say Y here to include support for the watchdog timer inside the RTC for the STMP37XX/378X or i.MX23/28 SoC. To compile this driver as a module, choose M here: the module will be called stmp3xxx_rtc_wdt. config TS4800_WATCHDOG tristate "TS-4800 Watchdog" depends on HAS_IOMEM && OF depends on SOC_IMX51 || COMPILE_TEST select WATCHDOG_CORE select MFD_SYSCON help Technologic Systems TS-4800 has watchdog timer implemented in an external FPGA. Say Y here if you want to support for the watchdog timer on TS-4800 board. config TS72XX_WATCHDOG tristate "TS-72XX SBC Watchdog" depends on MACH_TS72XX || COMPILE_TEST help Technologic Systems TS-7200, TS-7250 and TS-7260 boards have watchdog timer implemented in a external CPLD chip. Say Y here if you want to support for the watchdog timer on TS-72XX boards. To compile this driver as a module, choose M here: the module will be called ts72xx_wdt. config MAX63XX_WATCHDOG tristate "Max63xx watchdog" depends on HAS_IOMEM select WATCHDOG_CORE help Support for memory mapped max63{69,70,71,72,73,74} watchdog timer. config MAX77620_WATCHDOG tristate "Maxim Max77620 Watchdog Timer" depends on MFD_MAX77620 || COMPILE_TEST select WATCHDOG_CORE help This is the driver for the Max77620 watchdog timer. Say 'Y' here to enable the watchdog timer support for MAX77620 chips. To compile this driver as a module, choose M here: the module will be called max77620_wdt. config IMX2_WDT tristate "IMX2+ Watchdog" depends on ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST select REGMAP_MMIO select WATCHDOG_CORE help This is the driver for the hardware watchdog on the Freescale IMX2 and later processors. If you have one of these processors and wish to have watchdog support enabled, say Y, otherwise say N. To compile this driver as a module, choose M here: the module will be called imx2_wdt. config IMX_SC_WDT tristate "IMX SC Watchdog" depends on HAVE_ARM_SMCCC depends on IMX_SCU select WATCHDOG_CORE help This is the driver for the system controller watchdog on the NXP i.MX SoCs with system controller inside, the watchdog driver will call ARM SMC API and trap into ARM-Trusted-Firmware for operations, ARM-Trusted-Firmware will request system controller to execute the operations. If you have one of these processors and wish to have watchdog support enabled, say Y, otherwise say N. To compile this driver as a module, choose M here: the module will be called imx_sc_wdt. config IMX7ULP_WDT tristate "IMX7ULP Watchdog" depends on ARCH_MXC || COMPILE_TEST select WATCHDOG_CORE help This is the driver for the hardware watchdog on the Freescale IMX7ULP and later processors. If you have one of these processors and wish to have watchdog support enabled, say Y, otherwise say N. To compile this driver as a module, choose M here: the module will be called imx7ulp_wdt. config UX500_WATCHDOG tristate "ST-Ericsson Ux500 watchdog" depends on MFD_DB8500_PRCMU select WATCHDOG_CORE default y help Say Y here to include Watchdog timer support for the watchdog existing in the prcmu of ST-Ericsson Ux500 series platforms. To compile this driver as a module, choose M here: the module will be called ux500_wdt. config RETU_WATCHDOG tristate "Retu watchdog" depends on MFD_RETU select WATCHDOG_CORE help Retu watchdog driver for Nokia Internet Tablets (770, N800, N810). At least on N800 the watchdog cannot be disabled, so this driver is essential and you should enable it. To compile this driver as a module, choose M here: the module will be called retu_wdt. config MOXART_WDT tristate "MOXART watchdog" depends on ARCH_MOXART || COMPILE_TEST help Say Y here to include Watchdog timer support for the watchdog existing on the MOXA ART SoC series platforms. To compile this driver as a module, choose M here: the module will be called moxart_wdt. config SIRFSOC_WATCHDOG tristate "SiRFSOC watchdog" depends on HAS_IOMEM depends on ARCH_SIRF || COMPILE_TEST select WATCHDOG_CORE default y help Support for CSR SiRFprimaII and SiRFatlasVI watchdog. When the watchdog triggers the system will be reset. config ST_LPC_WATCHDOG tristate "STMicroelectronics LPC Watchdog" depends on ARCH_STI || COMPILE_TEST depends on OF select WATCHDOG_CORE help Say Y here to include STMicroelectronics Low Power Controller (LPC) based Watchdog timer support. To compile this driver as a module, choose M here: the module will be called st_lpc_wdt. config TEGRA_WATCHDOG tristate "Tegra watchdog" depends on (ARCH_TEGRA || COMPILE_TEST) && HAS_IOMEM select WATCHDOG_CORE help Say Y here to include support for the watchdog timer embedded in NVIDIA Tegra SoCs. To compile this driver as a module, choose M here: the module will be called tegra_wdt. config QCOM_WDT tristate "QCOM watchdog" depends on HAS_IOMEM depends on ARCH_QCOM || COMPILE_TEST select WATCHDOG_CORE help Say Y here to include Watchdog timer support for the watchdog found on QCOM chipsets. Currently supported targets are the MSM8960, APQ8064, and IPQ8064. To compile this driver as a module, choose M here: the module will be called qcom_wdt. config MESON_GXBB_WATCHDOG tristate "Amlogic Meson GXBB SoCs watchdog support" depends on ARCH_MESON || COMPILE_TEST select WATCHDOG_CORE help Say Y here to include support for the watchdog timer in Amlogic Meson GXBB SoCs. To compile this driver as a module, choose M here: the module will be called meson_gxbb_wdt. config MESON_WATCHDOG tristate "Amlogic Meson SoCs watchdog support" depends on ARCH_MESON || COMPILE_TEST select WATCHDOG_CORE help Say Y here to include support for the watchdog timer in Amlogic Meson SoCs. To compile this driver as a module, choose M here: the module will be called meson_wdt. config MEDIATEK_WATCHDOG tristate "Mediatek SoCs watchdog support" depends on ARCH_MEDIATEK || COMPILE_TEST select WATCHDOG_CORE help Say Y here to include support for the watchdog timer in Mediatek SoCs. To compile this driver as a module, choose M here: the module will be called mtk_wdt. config DIGICOLOR_WATCHDOG tristate "Conexant Digicolor SoCs watchdog support" depends on ARCH_DIGICOLOR || COMPILE_TEST select WATCHDOG_CORE help Say Y here to include support for the watchdog timer in Conexant Digicolor SoCs. To compile this driver as a module, choose M here: the module will be called digicolor_wdt. config LPC18XX_WATCHDOG tristate "LPC18xx/43xx Watchdog" depends on ARCH_LPC18XX || COMPILE_TEST depends on HAS_IOMEM select WATCHDOG_CORE help Say Y here if to include support for the watchdog timer in NXP LPC SoCs family, which includes LPC18xx/LPC43xx processors. To compile this driver as a module, choose M here: the module will be called lpc18xx_wdt. config ATLAS7_WATCHDOG tristate "CSRatlas7 watchdog" depends on ARCH_ATLAS7 || COMPILE_TEST help Say Y here to include Watchdog timer support for the watchdog existing on the CSRatlas7 series platforms. To compile this driver as a module, choose M here: the module will be called atlas7_wdt. config RENESAS_WDT tristate "Renesas WDT Watchdog" depends on ARCH_RENESAS || COMPILE_TEST select WATCHDOG_CORE help This driver adds watchdog support for the integrated watchdogs in the Renesas R-Car and other SH-Mobile SoCs (usually named RWDT or SWDT). config RENESAS_RZAWDT tristate "Renesas RZ/A WDT Watchdog" depends on ARCH_RENESAS || COMPILE_TEST select WATCHDOG_CORE help This driver adds watchdog support for the integrated watchdogs in the Renesas RZ/A SoCs. These watchdogs can be used to reset a system. config ASPEED_WATCHDOG tristate "Aspeed BMC watchdog support" depends on ARCH_ASPEED || COMPILE_TEST select WATCHDOG_CORE help Say Y here to include support for the watchdog timer in Aspeed BMC SoCs. This driver is required to reboot the SoC. To compile this driver as a module, choose M here: the module will be called aspeed_wdt. config ZX2967_WATCHDOG tristate "ZTE zx2967 SoCs watchdog support" depends on ARCH_ZX select WATCHDOG_CORE help Say Y here to include support for the watchdog timer in ZTE zx2967 SoCs. To compile this driver as a module, choose M here: the module will be called zx2967_wdt. config STM32_WATCHDOG tristate "STM32 Independent WatchDoG (IWDG) support" depends on ARCH_STM32 select WATCHDOG_CORE default y help Say Y here to include support for the watchdog timer in stm32 SoCs. To compile this driver as a module, choose M here: the module will be called stm32_iwdg. config STPMIC1_WATCHDOG tristate "STPMIC1 PMIC watchdog support" depends on MFD_STPMIC1 select WATCHDOG_CORE help Say Y here to include watchdog support embedded into STPMIC1 PMIC. If the watchdog timer expires, stpmic1 will shut down all its power supplies. To compile this driver as a module, choose M here: the module will be called spmic1_wdt. config UNIPHIER_WATCHDOG tristate "UniPhier watchdog support" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF && MFD_SYSCON select WATCHDOG_CORE help Say Y here to include support watchdog timer embedded into the UniPhier system. To compile this driver as a module, choose M here: the module will be called uniphier_wdt. config RTD119X_WATCHDOG bool "Realtek RTD119x/RTD129x watchdog support" depends on ARCH_REALTEK || COMPILE_TEST depends on OF select WATCHDOG_CORE default ARCH_REALTEK help Say Y here to include support for the watchdog timer in Realtek RTD1295 SoCs. config SPRD_WATCHDOG tristate "Spreadtrum watchdog support" depends on ARCH_SPRD || COMPILE_TEST select WATCHDOG_CORE help Say Y here to include watchdog timer supported by Spreadtrum system. config PM8916_WATCHDOG tristate "QCOM PM8916 pmic watchdog" depends on OF && MFD_SPMI_PMIC select WATCHDOG_CORE help Say Y here to include support watchdog timer embedded into the pm8916 module. # X86 (i386 + ia64 + x86_64) Architecture config ACQUIRE_WDT tristate "Acquire SBC Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on Single Board Computers produced by Acquire Inc (and others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called acquirewdt. Most people will say N. config ADVANTECH_WDT tristate "Advantech SBC Watchdog Timer" depends on X86 help If you are configuring a Linux kernel for the Advantech single-board computer, say `Y' here to support its built-in watchdog timer feature. More information can be found at <http://www.advantech.com.tw/products/> config ALIM1535_WDT tristate "ALi M1535 PMU Watchdog Timer" depends on X86 && PCI ---help--- This is the driver for the hardware watchdog on the ALi M1535 PMU. To compile this driver as a module, choose M here: the module will be called alim1535_wdt. Most people will say N. config ALIM7101_WDT tristate "ALi M7101 PMU Computer Watchdog" depends on PCI help This is the driver for the hardware watchdog on the ALi M7101 PMU as used in the x86 Cobalt servers and also found in some SPARC Netra servers too. To compile this driver as a module, choose M here: the module will be called alim7101_wdt. Most people will say N. config EBC_C384_WDT tristate "WinSystems EBC-C384 Watchdog Timer" depends on X86 select ISA_BUS_API select WATCHDOG_CORE help Enables watchdog timer support for the watchdog timer on the WinSystems EBC-C384 motherboard. The timeout may be configured via the timeout module parameter. config F71808E_WDT tristate "Fintek F718xx, F818xx Super I/O Watchdog" depends on X86 help This is the driver for the hardware watchdog on the Fintek F71808E, F71862FG, F71868, F71869, F71882FG, F71889FG, F81803, F81865, and F81866 Super I/O controllers. You can compile this driver directly into the kernel, or use it as a module. The module will be called f71808e_wdt. config SP5100_TCO tristate "AMD/ATI SP5100 TCO Timer/Watchdog" depends on X86 && PCI select WATCHDOG_CORE ---help--- Hardware watchdog driver for the AMD/ATI SP5100 chipset. The TCO (Total Cost of Ownership) timer is a watchdog timer that will reboot the machine after its expiration. The expiration time can be configured with the "heartbeat" parameter. To compile this driver as a module, choose M here: the module will be called sp5100_tco. config GEODE_WDT tristate "AMD Geode CS5535/CS5536 Watchdog" depends on CS5535_MFGPT help This driver enables a watchdog capability built into the CS5535/CS5536 companion chips for the AMD Geode GX and LX processors. This watchdog watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. You can compile this driver directly into the kernel, or use it as a module. The module will be called geodewdt. config SC520_WDT tristate "AMD Elan SC520 processor Watchdog" depends on MELAN || COMPILE_TEST help This is the driver for the hardware watchdog built in to the AMD "Elan" SC520 microcomputer commonly used in embedded systems. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. You can compile this driver directly into the kernel, or use it as a module. The module will be called sc520_wdt. config SBC_FITPC2_WATCHDOG tristate "Compulab SBC-FITPC2 watchdog" depends on X86 ---help--- This is the driver for the built-in watchdog timer on the fit-PC2, fit-PC2i, CM-iAM single-board computers made by Compulab. It`s possible to enable watchdog timer either from BIOS (F2) or from booted Linux. When "Watchdog Timer Value" enabled one can set 31-255 s operational range. Entering BIOS setup temporary disables watchdog operation regardless to current state, so system will not be restarted while user in BIOS setup. Once watchdog was enabled the system will be restarted every "Watchdog Timer Value" period, so to prevent it user can restart or disable the watchdog. To compile this driver as a module, choose M here: the module will be called sbc_fitpc2_wdt. Most people will say N. config EUROTECH_WDT tristate "Eurotech CPU-1220/1410 Watchdog Timer" depends on X86 help Enable support for the watchdog timer on the Eurotech CPU-1220 and CPU-1410 cards. These are PC/104 SBCs. Spec sheets and product information are at <http://www.eurotech.it/>. config IB700_WDT tristate "IB700 SBC Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the IB700 Single Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. This driver is like the WDT501 driver but for slightly different hardware. To compile this driver as a module, choose M here: the module will be called ib700wdt. Most people will say N. config IBMASR tristate "IBM Automatic Server Restart" depends on X86 help This is the driver for the IBM Automatic Server Restart watchdog timer built-in into some eServer xSeries machines. To compile this driver as a module, choose M here: the module will be called ibmasr. config WAFER_WDT tristate "ICP Single Board Computer Watchdog Timer" depends on X86 help This is a driver for the hardware watchdog on the ICP Single Board Computer. This driver is working on (at least) the following IPC SBC's: Wafer 5823, Rocky 4783, Rocky 3703 and Rocky 3782. To compile this driver as a module, choose M here: the module will be called wafer5823wdt. config I6300ESB_WDT tristate "Intel 6300ESB Timer/Watchdog" depends on PCI select WATCHDOG_CORE ---help--- Hardware driver for the watchdog timer built into the Intel 6300ESB controller hub. To compile this driver as a module, choose M here: the module will be called i6300esb. config IE6XX_WDT tristate "Intel Atom E6xx Watchdog" depends on X86 && PCI select WATCHDOG_CORE select MFD_CORE select LPC_SCH ---help--- Hardware driver for the watchdog timer built into the Intel Atom E6XX (TunnelCreek) processor. To compile this driver as a module, choose M here: the module will be called ie6xx_wdt. config INTEL_SCU_WATCHDOG bool "Intel SCU Watchdog for Mobile Platforms" depends on X86_INTEL_MID ---help--- Hardware driver for the watchdog time built into the Intel SCU for Intel Mobile Platforms. To compile this driver as a module, choose M here. config INTEL_MID_WATCHDOG tristate "Intel MID Watchdog Timer" depends on X86_INTEL_MID select WATCHDOG_CORE ---help--- Watchdog timer driver built into the Intel SCU for Intel MID Platforms. This driver currently supports only the watchdog evolution implementation in SCU, available for Merrifield generation. To compile this driver as a module, choose M here. config ITCO_WDT tristate "Intel TCO Timer/Watchdog" depends on (X86 || IA64) && PCI select WATCHDOG_CORE depends on I2C || I2C=n select LPC_ICH if !EXPERT select I2C_I801 if !EXPERT && I2C ---help--- Hardware driver for the intel TCO timer based watchdog devices. These drivers are included in the Intel 82801 I/O Controller Hub family (from ICH0 up to ICH10) and in the Intel 63xxESB controller hub. The TCO (Total Cost of Ownership) timer is a watchdog timer that will reboot the machine after its second expiration. The expiration time can be configured with the "heartbeat" parameter. On some motherboards the driver may fail to reset the chipset's NO_REBOOT flag which prevents the watchdog from rebooting the machine. If this is the case you will get a kernel message like "failed to reset NO_REBOOT flag, reboot disabled by hardware". To compile this driver as a module, choose M here: the module will be called iTCO_wdt. config ITCO_VENDOR_SUPPORT bool "Intel TCO Timer/Watchdog Specific Vendor Support" depends on ITCO_WDT ---help--- Add vendor specific support to the intel TCO timer based watchdog devices. At this moment we only have additional support for some SuperMicro Inc. motherboards. config IT8712F_WDT tristate "IT8712F (Smart Guardian) Watchdog Timer" depends on X86 ---help--- This is the driver for the built-in watchdog timer on the IT8712F Super I/0 chipset used on many motherboards. If the driver does not work, then make sure that the game port in the BIOS is enabled. To compile this driver as a module, choose M here: the module will be called it8712f_wdt. config IT87_WDT tristate "IT87 Watchdog Timer" depends on X86 select WATCHDOG_CORE ---help--- This is the driver for the hardware watchdog on the ITE IT8607, IT8620, IT8622, IT8625, IT8628, IT8655, IT8665, IT8686, IT8702, IT8712, IT8716, IT8718, IT8720, IT8721, IT8726, IT8728, and IT8783 Super I/O chips. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called it87_wdt. config HP_WATCHDOG tristate "HP ProLiant iLO2+ Hardware Watchdog Timer" select WATCHDOG_CORE depends on X86 && PCI help A software monitoring watchdog and NMI handling driver. This driver will detect lockups and provide a stack trace. This is a driver that will only load on an HP ProLiant system with a minimum of iLO2 support. To compile this driver as a module, choose M here: the module will be called hpwdt. config HPWDT_NMI_DECODING bool "NMI support for the HP ProLiant iLO2+ Hardware Watchdog Timer" depends on HP_WATCHDOG default y help Enables the NMI handler for the watchdog pretimeout NMI and the iLO "Generate NMI to System" virtual button. When an NMI is claimed by the driver, panic is called. config KEMPLD_WDT tristate "Kontron COM Watchdog Timer" depends on MFD_KEMPLD select WATCHDOG_CORE help Support for the PLD watchdog on some Kontron ETX and COMexpress (ETXexpress) modules This driver can also be built as a module. If so, the module will be called kempld_wdt. config SC1200_WDT tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog" depends on X86 help This is a driver for National Semiconductor PC87307/PC97307 hardware watchdog cards as found on the SC1200. This watchdog is mainly used for power management purposes and can be used to power down the device during inactivity periods (includes interrupt activity monitoring). To compile this driver as a module, choose M here: the module will be called sc1200wdt. Most people will say N. config SCx200_WDT tristate "National Semiconductor SCx200 Watchdog" depends on SCx200 && PCI help Enable the built-in watchdog timer support on the National Semiconductor SCx200 processors. If compiled as a module, it will be called scx200_wdt. config PC87413_WDT tristate "NS PC87413 watchdog" depends on X86 ---help--- This is the driver for the hardware watchdog on the PC87413 chipset This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called pc87413_wdt. Most people will say N. config NV_TCO tristate "nVidia TCO Timer/Watchdog" depends on X86 && PCI ---help--- Hardware driver for the TCO timer built into the nVidia Hub family (such as the MCP51). The TCO (Total Cost of Ownership) timer is a watchdog timer that will reboot the machine after its second expiration. The expiration time can be configured with the "heartbeat" parameter. On some motherboards the driver may fail to reset the chipset's NO_REBOOT flag which prevents the watchdog from rebooting the machine. If this is the case you will get a kernel message like "failed to reset NO_REBOOT flag, reboot disabled by hardware". To compile this driver as a module, choose M here: the module will be called nv_tco. config RDC321X_WDT tristate "RDC R-321x SoC watchdog" depends on X86_RDC321X || COMPILE_TEST depends on PCI help This is the driver for the built in hardware watchdog in the RDC R-321x SoC. To compile this driver as a module, choose M here: the module will be called rdc321x_wdt. config 60XX_WDT tristate "SBC-60XX Watchdog Timer" depends on X86 help This driver can be used with the watchdog timer found on some single board computers, namely the 6010 PII based computer. It may well work with other cards. It reads port 0x443 to enable and re-set the watchdog timer, and reads port 0x45 to disable the watchdog. If you have a card that behave in similar ways, you can probably make this driver work with your card as well. You can compile this driver directly into the kernel, or use it as a module. The module will be called sbc60xxwdt. config SBC8360_WDT tristate "SBC8360 Watchdog Timer" depends on X86_32 ---help--- This is the driver for the hardware watchdog on the SBC8360 Single Board Computer produced by Axiomtek Co., Ltd. (www.axiomtek.com). To compile this driver as a module, choose M here: the module will be called sbc8360. Most people will say N. config SBC7240_WDT tristate "SBC Nano 7240 Watchdog Timer" depends on X86_32 && !UML ---help--- This is the driver for the hardware watchdog found on the IEI single board computers EPIC Nano 7240 (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called sbc7240_wdt. config CPU5_WDT tristate "SMA CPU5 Watchdog" depends on X86 ---help--- TBD. To compile this driver as a module, choose M here: the module will be called cpu5wdt. config SMSC_SCH311X_WDT tristate "SMSC SCH311X Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog timer on the SMSC SCH3112, SCH3114 and SCH3116 Super IO chipset (LPC IO with 8042 KBC, Reset Generation, HWM and multiple serial ports). To compile this driver as a module, choose M here: the module will be called sch311x_wdt. config SMSC37B787_WDT tristate "Winbond SMsC37B787 Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog component on the Winbond SMsC37B787 chipset as used on the NetRunner Mainboard from Vision Systems and maybe others. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. Usually a userspace daemon will notify the kernel WDT driver that userspace is still alive, at regular intervals. To compile this driver as a module, choose M here: the module will be called smsc37b787_wdt. Most people will say N. config TQMX86_WDT tristate "TQ-Systems TQMX86 Watchdog Timer" depends on X86 select WATCHDOG_CORE help This is the driver for the hardware watchdog timer in the TQMX86 IO controller found on some of their ComExpress Modules. To compile this driver as a module, choose M here; the module will be called tqmx86_wdt. Most people will say N. config VIA_WDT tristate "VIA Watchdog Timer" depends on X86 && PCI select WATCHDOG_CORE ---help--- This is the driver for the hardware watchdog timer on VIA southbridge chipset CX700, VX800/VX820 or VX855/VX875. To compile this driver as a module, choose M here; the module will be called via_wdt. Most people will say N. config W83627HF_WDT tristate "Watchdog timer for W83627HF/W83627DHG and compatibles" depends on X86 select WATCHDOG_CORE ---help--- This is the driver for the hardware watchdog on the following Super I/O chips. W83627DHG/DHG-P/EHF/EHG/F/G/HF/S/SF/THF/UHG/UG W83637HF W83667HG/HG-B W83687THF W83697HF W83697UG NCT6775 NCT6776 NCT6779 NCT6791 NCT6792 NCT6102D/04D/06D This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83627hf_wdt. Most people will say N. config W83877F_WDT tristate "W83877F (EMACS) Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the W83877F chipset as used in EMACS PC-104 motherboards (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83877f_wdt. Most people will say N. config W83977F_WDT tristate "W83977F (PCM-5335) Watchdog Timer" depends on X86 ---help--- This is the driver for the hardware watchdog on the W83977F I/O chip as used in AAEON's PCM-5335 SBC (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83977f_wdt. config MACHZ_WDT tristate "ZF MachZ Watchdog" depends on X86 ---help--- If you are using a ZF Micro MachZ processor, say Y here, otherwise N. This is the driver for the watchdog timer built-in on that processor using ZF-Logic interface. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called machzwd. config SBC_EPX_C3_WATCHDOG tristate "Winsystems SBC EPX-C3 watchdog" depends on X86 ---help--- This is the driver for the built-in watchdog timer on the EPX-C3 Single-board computer made by Winsystems, Inc. *Note*: This hardware watchdog is not probeable and thus there is no way to know if writing to its IO address will corrupt your system or have any real effect. The only way to be sure that this driver does what you want is to make sure you are running it on an EPX-C3 from Winsystems with the watchdog timer at IO address 0x1ee and 0x1ef. It will write to both those IO ports. Basically, the assumption is made that if you compile this driver into your kernel and/or load it as a module, that you know what you are doing and that you are in fact running on an EPX-C3 board! To compile this driver as a module, choose M here: the module will be called sbc_epx_c3. config INTEL_MEI_WDT tristate "Intel MEI iAMT Watchdog" depends on INTEL_MEI && X86 select WATCHDOG_CORE ---help--- A device driver for the Intel MEI iAMT watchdog. The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog. Whenever the OS hangs or crashes, iAMT will send an event to any subscriber to this event. The watchdog doesn't reset the the platform. To compile this driver as a module, choose M here: the module will be called mei_wdt. config NI903X_WDT tristate "NI 903x/913x Watchdog" depends on X86 && ACPI select WATCHDOG_CORE ---help--- This is the driver for the watchdog timer on the National Instruments 903x/913x real-time controllers. To compile this driver as a module, choose M here: the module will be called ni903x_wdt. config NIC7018_WDT tristate "NIC7018 Watchdog" depends on X86 && ACPI select WATCHDOG_CORE ---help--- Support for National Instruments NIC7018 Watchdog. To compile this driver as a module, choose M here: the module will be called nic7018_wdt. config AHC1EC0_WDT tristate "Advantech AHC1EC0 Watchdog Function" depends on MFD_AHC1EC0 depends on UBUNTU_ODM_DRIVERS help This is sub-device for Advantech AHC1EC0 embedded controller. This driver provide watchdog functionality for Advantech related applications to restart the system. To compile thie driver as a module, choose M here: the module will be called ahc1ec0-wdt. # M68K Architecture config M54xx_WATCHDOG tristate "MCF54xx watchdog support" depends on M548x help To compile this driver as a module, choose M here: the module will be called m54xx_wdt. # MicroBlaze Architecture # MIPS Architecture config ATH79_WDT tristate "Atheros AR71XX/AR724X/AR913X hardware watchdog" depends on ATH79 || (ARM && COMPILE_TEST) help Hardware driver for the built-in watchdog timer on the Atheros AR71XX/AR724X/AR913X SoCs. config BCM47XX_WDT tristate "Broadcom BCM47xx Watchdog Timer" depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST select WATCHDOG_CORE help Hardware driver for the Broadcom BCM47xx Watchdog Timer. config RC32434_WDT tristate "IDT RC32434 SoC Watchdog Timer" depends on MIKROTIK_RB532 help Hardware driver for the IDT RC32434 SoC built-in watchdog timer. To compile this driver as a module, choose M here: the module will be called rc32434_wdt. config INDYDOG tristate "Indy/I2 Hardware Watchdog" depends on SGI_HAS_INDYDOG help Hardware driver for the Indy's/I2's watchdog. This is a watchdog timer that will reboot the machine after a 60 second timer expired and no process has written to /dev/watchdog during that time. config JZ4740_WDT tristate "Ingenic jz4740 SoC hardware watchdog" depends on MACH_JZ4740 || MACH_JZ4780 select WATCHDOG_CORE help Hardware driver for the built-in watchdog timer on Ingenic jz4740 SoCs. config WDT_MTX1 tristate "MTX-1 Hardware Watchdog" depends on MIPS_MTX1 || (MIPS && COMPILE_TEST) help Hardware driver for the MTX-1 boards. This is a watchdog timer that will reboot the machine after a 100 seconds timer expired. config PNX833X_WDT tristate "PNX833x Hardware Watchdog" depends on SOC_PNX8335 depends on BROKEN help Hardware driver for the PNX833x's watchdog. This is a watchdog timer that will reboot the machine after a programmable timer has expired and no process has written to /dev/watchdog during that time. config SIBYTE_WDOG tristate "Sibyte SoC hardware watchdog" depends on CPU_SB1 || (MIPS && COMPILE_TEST) help Watchdog driver for the built in watchdog hardware in Sibyte SoC processors. There are apparently two watchdog timers on such processors; this driver supports only the first one, because currently Linux only supports exporting one watchdog to userspace. To compile this driver as a loadable module, choose M here. The module will be called sb_wdog. config AR7_WDT tristate "TI AR7 Watchdog Timer" depends on AR7 || (MIPS && 32BIT && COMPILE_TEST) help Hardware driver for the TI AR7 Watchdog Timer. config TXX9_WDT tristate "Toshiba TXx9 Watchdog Timer" depends on CPU_TX39XX || CPU_TX49XX || (MIPS && COMPILE_TEST) select WATCHDOG_CORE help Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs. config OCTEON_WDT tristate "Cavium OCTEON SOC family Watchdog Timer" depends on CAVIUM_OCTEON_SOC default y select WATCHDOG_CORE select EXPORT_UASM if OCTEON_WDT = m help Hardware driver for OCTEON's on chip watchdog timer. Enables the watchdog for all cores running Linux. It installs a NMI handler and pokes the watchdog based on an interrupt. On first expiration of the watchdog, the interrupt handler pokes it. The second expiration causes an NMI that prints a message. The third expiration causes a global soft reset. When userspace has /dev/watchdog open, no poking is done from the first interrupt, it is then only poked when the device is written. config BCM63XX_WDT tristate "Broadcom BCM63xx hardware watchdog" depends on BCM63XX help Watchdog driver for the built in watchdog hardware in Broadcom BCM63xx SoC. To compile this driver as a loadable module, choose M here. The module will be called bcm63xx_wdt. config BCM2835_WDT tristate "Broadcom BCM2835 hardware watchdog" depends on ARCH_BCM2835 || (OF && COMPILE_TEST) select WATCHDOG_CORE help Watchdog driver for the built in watchdog hardware in Broadcom BCM2835 SoC. To compile this driver as a loadable module, choose M here. The module will be called bcm2835_wdt. config BCM_KONA_WDT tristate "BCM Kona Watchdog" depends on ARCH_BCM_MOBILE || COMPILE_TEST select WATCHDOG_CORE help Support for the watchdog timer on the following Broadcom BCM281xx family, which includes BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155 variants. Say 'Y' or 'M' here to enable the driver. The module will be called bcm_kona_wdt. config BCM_KONA_WDT_DEBUG bool "DEBUGFS support for BCM Kona Watchdog" depends on BCM_KONA_WDT help If enabled, adds /sys/kernel/debug/bcm_kona_wdt/info which provides access to the driver's internal data structures as well as watchdog timer hardware registres. If in doubt, say 'N'. config BCM7038_WDT tristate "BCM7038 Watchdog" select WATCHDOG_CORE depends on HAS_IOMEM depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST help Watchdog driver for the built-in hardware in Broadcom 7038 and later SoCs used in set-top boxes. BCM7038 was made public during the 2004 CES, and since then, many Broadcom chips use this watchdog block, including some cable modem chips. config IMGPDC_WDT tristate "Imagination Technologies PDC Watchdog Timer" depends on HAS_IOMEM depends on MIPS || COMPILE_TEST select WATCHDOG_CORE help Driver for Imagination Technologies PowerDown Controller Watchdog Timer. To compile this driver as a loadable module, choose M here. The module will be called imgpdc_wdt. config LANTIQ_WDT tristate "Lantiq SoC watchdog" depends on LANTIQ select WATCHDOG_CORE help Hardware driver for the Lantiq SoC Watchdog Timer. config LOONGSON1_WDT tristate "Loongson1 SoC hardware watchdog" depends on MACH_LOONGSON32 select WATCHDOG_CORE help Hardware driver for the Loongson1 SoC Watchdog Timer. config RALINK_WDT tristate "Ralink SoC watchdog" select WATCHDOG_CORE depends on RALINK help Hardware driver for the Ralink SoC Watchdog Timer. config MT7621_WDT tristate "Mediatek SoC watchdog" select WATCHDOG_CORE depends on SOC_MT7620 || SOC_MT7621 help Hardware driver for the Mediatek/Ralink MT7621/8 SoC Watchdog Timer. config PIC32_WDT tristate "Microchip PIC32 hardware watchdog" select WATCHDOG_CORE depends on MACH_PIC32 || (MIPS && COMPILE_TEST) help Watchdog driver for the built in watchdog hardware in a PIC32. Configuration bits must be set appropriately for the watchdog to be controlled by this driver. To compile this driver as a loadable module, choose M here. The module will be called pic32-wdt. config PIC32_DMT tristate "Microchip PIC32 Deadman Timer" select WATCHDOG_CORE depends on MACH_PIC32 || (MIPS && COMPILE_TEST) help Watchdog driver for PIC32 instruction fetch counting timer. This specific timer is typically be used in misson critical and safety critical applications, where any single failure of the software functionality and sequencing must be detected. To compile this driver as a loadable module, choose M here. The module will be called pic32-dmt. # PARISC Architecture # POWERPC Architecture config GEF_WDT tristate "GE Watchdog Timer" depends on GE_FPGA ---help--- Watchdog timer found in a number of GE single board computers. config MPC5200_WDT bool "MPC52xx Watchdog Timer" depends on PPC_MPC52xx || COMPILE_TEST help Use General Purpose Timer (GPT) 0 on the MPC5200 as Watchdog. config 8xxx_WDT tristate "MPC8xxx Platform Watchdog Timer" depends on PPC_8xx || PPC_83xx || PPC_86xx || PPC_MPC512x select WATCHDOG_CORE help This driver is for a SoC level watchdog that exists on some Freescale PowerPC processors. So far this driver supports: - MPC8xx watchdogs - MPC83xx watchdogs - MPC86xx watchdogs For BookE processors (MPC85xx) use the BOOKE_WDT driver instead. config MV64X60_WDT tristate "MV64X60 (Marvell Discovery) Watchdog Timer" depends on MV64X60 || COMPILE_TEST config PIKA_WDT tristate "PIKA FPGA Watchdog" depends on WARP || (PPC64 && COMPILE_TEST) default y help This enables the watchdog in the PIKA FPGA. Currently used on the Warp platform. config BOOKE_WDT tristate "PowerPC Book-E Watchdog Timer" depends on BOOKE || 4xx select WATCHDOG_CORE ---help--- Watchdog driver for PowerPC Book-E chips, such as the Freescale MPC85xx SOCs and the IBM PowerPC 440. Please see Documentation/watchdog/watchdog-api.rst for more information. config BOOKE_WDT_DEFAULT_TIMEOUT int "PowerPC Book-E Watchdog Timer Default Timeout" depends on BOOKE_WDT default 38 if PPC_FSL_BOOK3E range 0 63 if PPC_FSL_BOOK3E default 3 if !PPC_FSL_BOOK3E range 0 3 if !PPC_FSL_BOOK3E help Select the default watchdog timer period to be used by the PowerPC Book-E watchdog driver. A watchdog "event" occurs when the bit position represented by this number transitions from zero to one. For Freescale Book-E processors, this is a number between 0 and 63. For other Book-E processors, this is a number between 0 and 3. The value can be overridden by the wdt_period command-line parameter. config MEN_A21_WDT tristate "MEN A21 VME CPU Carrier Board Watchdog Timer" select WATCHDOG_CORE depends on GPIOLIB || COMPILE_TEST help Watchdog driver for MEN A21 VMEbus CPU Carrier Boards. The driver can also be built as a module. If so, the module will be called mena21_wdt. If unsure select N here. # PPC64 Architecture config WATCHDOG_RTAS tristate "RTAS watchdog" depends on PPC_RTAS help This driver adds watchdog support for the RTAS watchdog. To compile this driver as a module, choose M here. The module will be called wdrtas. # S390 Architecture config DIAG288_WATCHDOG tristate "System z diag288 Watchdog" depends on S390 select WATCHDOG_CORE help IBM s/390 and zSeries machines running under z/VM 5.1 or later provide a virtual watchdog timer to their guest that cause a user define Control Program command to be executed after a timeout. LPAR provides a very similar interface. This driver handles both. To compile this driver as a module, choose M here. The module will be called diag288_wdt. # SUPERH (sh + sh64) Architecture config SH_WDT tristate "SuperH Watchdog" depends on SUPERH && (CPU_SH3 || CPU_SH4 || COMPILE_TEST) select WATCHDOG_CORE help This driver adds watchdog support for the integrated watchdog in the SuperH processors. If you have one of these processors and wish to have watchdog support enabled, say Y, otherwise say N. As a side note, saying Y here will automatically boost HZ to 1000 so that the timer has a chance to clear the overflow counter. On slower systems (such as the SH-2 and SH-3) this will likely yield some performance issues. As such, the WDT should be avoided here unless it is absolutely necessary. To compile this driver as a module, choose M here: the module will be called shwdt. # SPARC Architecture # SPARC64 Architecture config WATCHDOG_CP1XXX tristate "CP1XXX Hardware Watchdog support" depends on SPARC64 && PCI ---help--- This is the driver for the hardware watchdog timers present on Sun Microsystems CompactPCI models CP1400 and CP1500. To compile this driver as a module, choose M here: the module will be called cpwatchdog. If you do not have a CompactPCI model CP1400 or CP1500, or another UltraSPARC-IIi-cEngine boardset with hardware watchdog, you should say N to this option. config WATCHDOG_RIO tristate "RIO Hardware Watchdog support" depends on SPARC64 && PCI help Say Y here to support the hardware watchdog capability on Sun RIO machines. The watchdog timeout period is normally one minute but can be changed with a boot-time parameter. config WATCHDOG_SUN4V tristate "Sun4v Watchdog support" select WATCHDOG_CORE depends on SPARC64 help Say Y here to support the hypervisor watchdog capability embedded in the SPARC sun4v architecture. To compile this driver as a module, choose M here. The module will be called sun4v_wdt. # XTENSA Architecture # Xen Architecture config XEN_WDT tristate "Xen Watchdog support" depends on XEN select WATCHDOG_CORE help Say Y here to support the hypervisor watchdog capability provided by Xen 4.0 and newer. The watchdog timeout period is normally one minute but can be changed with a boot-time parameter. config UML_WATCHDOG tristate "UML watchdog" depends on UML || COMPILE_TEST # # ISA-based Watchdog Cards # comment "ISA-based Watchdog Cards" depends on ISA config PCWATCHDOG tristate "Berkshire Products ISA-PC Watchdog" depends on ISA ---help--- This is the driver for the Berkshire Products ISA-PC Watchdog card. This card simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. This driver is like the WDT501 driver but for different hardware. Please read <file:Documentation/watchdog/pcwd-watchdog.rst>. The PC watchdog cards can be ordered from <http://www.berkprod.com/>. To compile this driver as a module, choose M here: the module will be called pcwd. Most people will say N. config MIXCOMWD tristate "Mixcom Watchdog" depends on ISA ---help--- This is a driver for the Mixcom hardware watchdog cards. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called mixcomwd. Most people will say N. config WDT tristate "WDT Watchdog timer" depends on ISA ---help--- If you have a WDT500P or WDT501P watchdog board, say Y here, otherwise N. It is not possible to probe for this board, which means that you have to inform the kernel about the IO port and IRQ that is needed (you can do this via the io and irq parameters) To compile this driver as a module, choose M here: the module will be called wdt. # # PCI-based Watchdog Cards # comment "PCI-based Watchdog Cards" depends on PCI config PCIPCWATCHDOG tristate "Berkshire Products PCI-PC Watchdog" depends on PCI ---help--- This is the driver for the Berkshire Products PCI-PC Watchdog card. This card simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. The card can also monitor the internal temperature of the PC. More info is available at <http://www.berkprod.com/pci_pc_watchdog.htm>. To compile this driver as a module, choose M here: the module will be called pcwd_pci. Most people will say N. config WDTPCI tristate "PCI-WDT500/501 Watchdog timer" depends on PCI ---help--- If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N. If you have a PCI-WDT501 watchdog board then you can enable the temperature sensor by setting the type parameter to 501. If you want to enable the Fan Tachometer on the PCI-WDT501, then you can do this via the tachometer parameter. Only do this if you have a fan tachometer actually set up. To compile this driver as a module, choose M here: the module will be called wdt_pci. # # USB-based Watchdog Cards # comment "USB-based Watchdog Cards" depends on USB config USBPCWATCHDOG tristate "Berkshire Products USB-PC Watchdog" depends on USB ---help--- This is the driver for the Berkshire Products USB-PC Watchdog card. This card simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. The card can also monitor the internal temperature of the PC. More info is available at <http://www.berkprod.com/usb_pc_watchdog.htm>. To compile this driver as a module, choose M here: the module will be called pcwd_usb. Most people will say N. endif # WATCHDOG watchdog/Makefile 0000644 00000020317 14722053666 0010022 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the WatchDog device drivers. # # The WatchDog Timer Driver Core. obj-$(CONFIG_WATCHDOG_CORE) += watchdog.o watchdog-objs += watchdog_core.o watchdog_dev.o watchdog-$(CONFIG_WATCHDOG_PRETIMEOUT_GOV) += watchdog_pretimeout.o obj-$(CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP) += pretimeout_noop.o obj-$(CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC) += pretimeout_panic.o # Only one watchdog can succeed. We probe the ISA/PCI/USB based # watchdog-cards first, then the architecture specific watchdog # drivers and then the architecture independent "softdog" driver. # This means that if your ISA/PCI/USB card isn't detected that # you can fall back to an architecture specific driver and if # that also fails then you can fall back to the software watchdog # to give you some cover. # ISA-based Watchdog Cards obj-$(CONFIG_PCWATCHDOG) += pcwd.o obj-$(CONFIG_MIXCOMWD) += mixcomwd.o obj-$(CONFIG_WDT) += wdt.o # PCI-based Watchdog Cards obj-$(CONFIG_PCIPCWATCHDOG) += pcwd_pci.o obj-$(CONFIG_WDTPCI) += wdt_pci.o # USB-based Watchdog Cards obj-$(CONFIG_USBPCWATCHDOG) += pcwd_usb.o # ALPHA Architecture # ARM Architecture obj-$(CONFIG_ARM_SP805_WATCHDOG) += sp805_wdt.o obj-$(CONFIG_ARM_SBSA_WATCHDOG) += sbsa_gwdt.o obj-$(CONFIG_ARMADA_37XX_WATCHDOG) += armada_37xx_wdt.o obj-$(CONFIG_ASM9260_WATCHDOG) += asm9260_wdt.o obj-$(CONFIG_AT91RM9200_WATCHDOG) += at91rm9200_wdt.o obj-$(CONFIG_AT91SAM9X_WATCHDOG) += at91sam9_wdt.o obj-$(CONFIG_CADENCE_WATCHDOG) += cadence_wdt.o obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o obj-$(CONFIG_TWL4030_WATCHDOG) += twl4030_wdt.o obj-$(CONFIG_21285_WATCHDOG) += wdt285.o obj-$(CONFIG_977_WATCHDOG) += wdt977.o obj-$(CONFIG_FTWDT010_WATCHDOG) += ftwdt010_wdt.o obj-$(CONFIG_IXP4XX_WATCHDOG) += ixp4xx_wdt.o obj-$(CONFIG_S3C2410_WATCHDOG) += s3c2410_wdt.o obj-$(CONFIG_SA1100_WATCHDOG) += sa1100_wdt.o obj-$(CONFIG_SAMA5D4_WATCHDOG) += sama5d4_wdt.o obj-$(CONFIG_DW_WATCHDOG) += dw_wdt.o obj-$(CONFIG_EP93XX_WATCHDOG) += ep93xx_wdt.o obj-$(CONFIG_PNX4008_WATCHDOG) += pnx4008_wdt.o obj-$(CONFIG_IOP_WATCHDOG) += iop_wdt.o obj-$(CONFIG_DAVINCI_WATCHDOG) += davinci_wdt.o obj-$(CONFIG_ORION_WATCHDOG) += orion_wdt.o obj-$(CONFIG_SUNXI_WATCHDOG) += sunxi_wdt.o obj-$(CONFIG_RN5T618_WATCHDOG) += rn5t618_wdt.o obj-$(CONFIG_COH901327_WATCHDOG) += coh901327_wdt.o obj-$(CONFIG_NPCM7XX_WATCHDOG) += npcm_wdt.o obj-$(CONFIG_STMP3XXX_RTC_WATCHDOG) += stmp3xxx_rtc_wdt.o obj-$(CONFIG_TS4800_WATCHDOG) += ts4800_wdt.o obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o obj-$(CONFIG_IMX2_WDT) += imx2_wdt.o obj-$(CONFIG_IMX_SC_WDT) += imx_sc_wdt.o obj-$(CONFIG_IMX7ULP_WDT) += imx7ulp_wdt.o obj-$(CONFIG_UX500_WATCHDOG) += ux500_wdt.o obj-$(CONFIG_RETU_WATCHDOG) += retu_wdt.o obj-$(CONFIG_BCM2835_WDT) += bcm2835_wdt.o obj-$(CONFIG_MOXART_WDT) += moxart_wdt.o obj-$(CONFIG_SIRFSOC_WATCHDOG) += sirfsoc_wdt.o obj-$(CONFIG_ST_LPC_WATCHDOG) += st_lpc_wdt.o obj-$(CONFIG_QCOM_WDT) += qcom-wdt.o obj-$(CONFIG_BCM_KONA_WDT) += bcm_kona_wdt.o obj-$(CONFIG_TEGRA_WATCHDOG) += tegra_wdt.o obj-$(CONFIG_MESON_GXBB_WATCHDOG) += meson_gxbb_wdt.o obj-$(CONFIG_MESON_WATCHDOG) += meson_wdt.o obj-$(CONFIG_MEDIATEK_WATCHDOG) += mtk_wdt.o obj-$(CONFIG_DIGICOLOR_WATCHDOG) += digicolor_wdt.o obj-$(CONFIG_LPC18XX_WATCHDOG) += lpc18xx_wdt.o obj-$(CONFIG_BCM7038_WDT) += bcm7038_wdt.o obj-$(CONFIG_ATLAS7_WATCHDOG) += atlas7_wdt.o obj-$(CONFIG_RENESAS_WDT) += renesas_wdt.o obj-$(CONFIG_RENESAS_RZAWDT) += rza_wdt.o obj-$(CONFIG_ASPEED_WATCHDOG) += aspeed_wdt.o obj-$(CONFIG_ZX2967_WATCHDOG) += zx2967_wdt.o obj-$(CONFIG_STM32_WATCHDOG) += stm32_iwdg.o obj-$(CONFIG_UNIPHIER_WATCHDOG) += uniphier_wdt.o obj-$(CONFIG_RTD119X_WATCHDOG) += rtd119x_wdt.o obj-$(CONFIG_SPRD_WATCHDOG) += sprd_wdt.o obj-$(CONFIG_PM8916_WATCHDOG) += pm8916_wdt.o # X86 (i386 + ia64 + x86_64) Architecture obj-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o obj-$(CONFIG_ADVANTECH_WDT) += advantechwdt.o obj-$(CONFIG_ALIM1535_WDT) += alim1535_wdt.o obj-$(CONFIG_ALIM7101_WDT) += alim7101_wdt.o obj-$(CONFIG_EBC_C384_WDT) += ebc-c384_wdt.o obj-$(CONFIG_F71808E_WDT) += f71808e_wdt.o obj-$(CONFIG_SP5100_TCO) += sp5100_tco.o obj-$(CONFIG_GEODE_WDT) += geodewdt.o obj-$(CONFIG_SC520_WDT) += sc520_wdt.o obj-$(CONFIG_SBC_FITPC2_WATCHDOG) += sbc_fitpc2_wdt.o obj-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o obj-$(CONFIG_IB700_WDT) += ib700wdt.o obj-$(CONFIG_IBMASR) += ibmasr.o obj-$(CONFIG_WAFER_WDT) += wafer5823wdt.o obj-$(CONFIG_I6300ESB_WDT) += i6300esb.o obj-$(CONFIG_IE6XX_WDT) += ie6xx_wdt.o obj-$(CONFIG_ITCO_WDT) += iTCO_wdt.o ifeq ($(CONFIG_ITCO_VENDOR_SUPPORT),y) obj-$(CONFIG_ITCO_WDT) += iTCO_vendor_support.o endif obj-$(CONFIG_IT8712F_WDT) += it8712f_wdt.o obj-$(CONFIG_IT87_WDT) += it87_wdt.o obj-$(CONFIG_HP_WATCHDOG) += hpwdt.o obj-$(CONFIG_KEMPLD_WDT) += kempld_wdt.o obj-$(CONFIG_SC1200_WDT) += sc1200wdt.o obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o obj-$(CONFIG_PC87413_WDT) += pc87413_wdt.o obj-$(CONFIG_NV_TCO) += nv_tco.o obj-$(CONFIG_RDC321X_WDT) += rdc321x_wdt.o obj-$(CONFIG_60XX_WDT) += sbc60xxwdt.o obj-$(CONFIG_SBC8360_WDT) += sbc8360.o obj-$(CONFIG_SBC7240_WDT) += sbc7240_wdt.o obj-$(CONFIG_CPU5_WDT) += cpu5wdt.o obj-$(CONFIG_SMSC_SCH311X_WDT) += sch311x_wdt.o obj-$(CONFIG_SMSC37B787_WDT) += smsc37b787_wdt.o obj-$(CONFIG_TQMX86_WDT) += tqmx86_wdt.o obj-$(CONFIG_VIA_WDT) += via_wdt.o obj-$(CONFIG_W83627HF_WDT) += w83627hf_wdt.o obj-$(CONFIG_W83877F_WDT) += w83877f_wdt.o obj-$(CONFIG_W83977F_WDT) += w83977f_wdt.o obj-$(CONFIG_MACHZ_WDT) += machzwd.o obj-$(CONFIG_SBC_EPX_C3_WATCHDOG) += sbc_epx_c3.o obj-$(CONFIG_INTEL_SCU_WATCHDOG) += intel_scu_watchdog.o obj-$(CONFIG_INTEL_MID_WATCHDOG) += intel-mid_wdt.o obj-$(CONFIG_INTEL_MEI_WDT) += mei_wdt.o obj-$(CONFIG_NI903X_WDT) += ni903x_wdt.o obj-$(CONFIG_NIC7018_WDT) += nic7018_wdt.o obj-$(CONFIG_AHC1EC0_WDT) += ahc1ec0-wdt.o obj-$(CONFIG_MLX_WDT) += mlx_wdt.o # M68K Architecture obj-$(CONFIG_M54xx_WATCHDOG) += m54xx_wdt.o # MicroBlaze Architecture obj-$(CONFIG_XILINX_WATCHDOG) += of_xilinx_wdt.o # MIPS Architecture obj-$(CONFIG_ATH79_WDT) += ath79_wdt.o obj-$(CONFIG_BCM47XX_WDT) += bcm47xx_wdt.o obj-$(CONFIG_BCM63XX_WDT) += bcm63xx_wdt.o obj-$(CONFIG_RC32434_WDT) += rc32434_wdt.o obj-$(CONFIG_INDYDOG) += indydog.o obj-$(CONFIG_JZ4740_WDT) += jz4740_wdt.o obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt.o obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o obj-$(CONFIG_AR7_WDT) += ar7_wdt.o obj-$(CONFIG_TXX9_WDT) += txx9wdt.o obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o octeon-wdt-y := octeon-wdt-main.o octeon-wdt-nmi.o obj-$(CONFIG_LANTIQ_WDT) += lantiq_wdt.o obj-$(CONFIG_LOONGSON1_WDT) += loongson1_wdt.o obj-$(CONFIG_RALINK_WDT) += rt2880_wdt.o obj-$(CONFIG_IMGPDC_WDT) += imgpdc_wdt.o obj-$(CONFIG_MT7621_WDT) += mt7621_wdt.o obj-$(CONFIG_PIC32_WDT) += pic32-wdt.o obj-$(CONFIG_PIC32_DMT) += pic32-dmt.o # PARISC Architecture # POWERPC Architecture obj-$(CONFIG_GEF_WDT) += gef_wdt.o obj-$(CONFIG_8xxx_WDT) += mpc8xxx_wdt.o obj-$(CONFIG_MV64X60_WDT) += mv64x60_wdt.o obj-$(CONFIG_PIKA_WDT) += pika_wdt.o obj-$(CONFIG_BOOKE_WDT) += booke_wdt.o obj-$(CONFIG_MEN_A21_WDT) += mena21_wdt.o # PPC64 Architecture obj-$(CONFIG_WATCHDOG_RTAS) += wdrtas.o # S390 Architecture obj-$(CONFIG_DIAG288_WATCHDOG) += diag288_wdt.o # SUPERH (sh + sh64) Architecture obj-$(CONFIG_SH_WDT) += shwdt.o # SPARC Architecture # SPARC64 Architecture obj-$(CONFIG_WATCHDOG_RIO) += riowd.o obj-$(CONFIG_WATCHDOG_CP1XXX) += cpwd.o obj-$(CONFIG_WATCHDOG_SUN4V) += sun4v_wdt.o # XTENSA Architecture # Xen obj-$(CONFIG_XEN_WDT) += xen_wdt.o # Architecture Independent obj-$(CONFIG_BD70528_WATCHDOG) += bd70528_wdt.o obj-$(CONFIG_DA9052_WATCHDOG) += da9052_wdt.o obj-$(CONFIG_DA9055_WATCHDOG) += da9055_wdt.o obj-$(CONFIG_DA9062_WATCHDOG) += da9062_wdt.o obj-$(CONFIG_DA9063_WATCHDOG) += da9063_wdt.o obj-$(CONFIG_GPIO_WATCHDOG) += gpio_wdt.o obj-$(CONFIG_TANGOX_WATCHDOG) += tangox_wdt.o obj-$(CONFIG_WDAT_WDT) += wdat_wdt.o obj-$(CONFIG_WM831X_WATCHDOG) += wm831x_wdt.o obj-$(CONFIG_WM8350_WATCHDOG) += wm8350_wdt.o obj-$(CONFIG_MAX63XX_WATCHDOG) += max63xx_wdt.o obj-$(CONFIG_MAX77620_WATCHDOG) += max77620_wdt.o obj-$(CONFIG_ZIIRAVE_WATCHDOG) += ziirave_wdt.o obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o obj-$(CONFIG_MENF21BMC_WATCHDOG) += menf21bmc_wdt.o obj-$(CONFIG_MENZ069_WATCHDOG) += menz69_wdt.o obj-$(CONFIG_RAVE_SP_WATCHDOG) += rave-sp-wdt.o obj-$(CONFIG_STPMIC1_WATCHDOG) += stpmic1_wdt.o mfd/Kconfig 0000644 00000173217 14722053666 0006643 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Multifunction miscellaneous devices # if HAS_IOMEM menu "Multifunction device drivers" config MFD_CORE tristate select IRQ_DOMAIN default n config MFD_CS5535 tristate "AMD CS5535 and CS5536 southbridge core functions" select MFD_CORE depends on PCI && (X86_32 || (X86 && COMPILE_TEST)) ---help--- This is the core driver for CS5535/CS5536 MFD functions. This is necessary for using the board's GPIO and MFGPT functionality. config MFD_ALTERA_A10SR bool "Altera Arria10 DevKit System Resource chip" depends on ARCH_SOCFPGA && SPI_MASTER=y && OF select REGMAP_SPI select MFD_CORE help Support for the Altera Arria10 DevKit MAX5 System Resource chip using the SPI interface. This driver provides common support for accessing the external gpio extender (LEDs & buttons) and power supply alarms (hwmon). config MFD_ALTERA_SYSMGR bool "Altera SOCFPGA System Manager" depends on (ARCH_SOCFPGA || ARCH_STRATIX10) && OF select MFD_SYSCON help Select this to get System Manager support for all Altera branded SOCFPGAs. The SOCFPGA System Manager handles all SOCFPGAs by using regmap_mmio accesses for ARM32 parts and SMC calls to EL3 for ARM64 parts. config MFD_ACT8945A tristate "Active-semi ACT8945A" select MFD_CORE select REGMAP_I2C depends on I2C && OF help Support for the ACT8945A PMIC from Active-semi. This device features three step-down DC/DC converters and four low-dropout linear regulators, along with a complete ActivePath battery charger. config MFD_SUN4I_GPADC tristate "Allwinner sunxi platforms' GPADC MFD driver" select MFD_CORE select REGMAP_MMIO select REGMAP_IRQ depends on ARCH_SUNXI || COMPILE_TEST depends on !TOUCHSCREEN_SUN4I help Select this to get support for Allwinner SoCs (A10, A13 and A31) ADC. This driver will only map the hardware interrupt and registers, you have to select individual drivers based on this MFD to be able to use the ADC or the thermal sensor. This will try to probe the ADC driver sun4i-gpadc-iio and the hwmon driver iio_hwmon. To compile this driver as a module, choose M here: the module will be called sun4i-gpadc. config MFD_AS3711 bool "AMS AS3711" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C=y help Support for the AS3711 PMIC from AMS config MFD_AS3722 tristate "ams AS3722 Power Management IC" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C=y && OF help The ams AS3722 is a compact system PMU suitable for mobile phones, tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down controllers, 11 LDOs, RTC, automatic battery, temperature and over current monitoring, GPIOs, ADC and a watchdog. config PMIC_ADP5520 bool "Analog Devices ADP5520/01 MFD PMIC Core Support" depends on I2C=y help Say yes here to add support for Analog Devices AD5520 and ADP5501, Multifunction Power Management IC. This includes the I2C driver and the core APIs _only_, you have to select individual components like LCD backlight, LEDs, GPIOs and Kepad under the corresponding menus. config MFD_AAT2870_CORE bool "AnalogicTech AAT2870" select MFD_CORE depends on I2C=y depends on GPIOLIB || COMPILE_TEST help If you say yes here you get support for the AAT2870. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_AT91_USART tristate "AT91 USART Driver" select MFD_CORE depends on ARCH_AT91 || COMPILE_TEST help Select this to get support for AT91 USART IP. This is a wrapper over at91-usart-serial driver and usart-spi-driver. Only one function can be used at a time. The choice is done at boot time by the probe function of this MFD driver according to a device tree property. config MFD_ATMEL_FLEXCOM tristate "Atmel Flexcom (Flexible Serial Communication Unit)" select MFD_CORE depends on OF help Select this to get support for Atmel Flexcom. This is a wrapper which embeds a SPI controller, a I2C controller and a USART. Only one function can be used at a time. The choice is done at boot time by the probe function of this MFD driver according to a device tree property. config MFD_ATMEL_HLCDC tristate "Atmel HLCDC (High-end LCD Controller)" select MFD_CORE select REGMAP_MMIO depends on OF help If you say yes here you get support for the HLCDC block. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_ATMEL_SMC bool select MFD_SYSCON config MFD_BCM590XX tristate "Broadcom BCM590xx PMUs" select MFD_CORE select REGMAP_I2C depends on I2C help Support for the BCM590xx PMUs from Broadcom config MFD_BD9571MWV tristate "ROHM BD9571MWV PMIC" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C help Support for the ROHM BD9571MWV PMIC, which contains single voltage regulator, voltage sampling units, GPIO block and watchdog block. This driver can also be built as a module. If so, the module will be called bd9571mwv. config MFD_AC100 tristate "X-Powers AC100" select MFD_CORE depends on SUNXI_RSB help If you say Y here you get support for the X-Powers AC100 audio codec IC. This driver include only the core APIs. You have to select individual components like codecs or RTC under the corresponding menus. config MFD_AXP20X tristate select MFD_CORE select REGMAP_IRQ config MFD_AXP20X_I2C tristate "X-Powers AXP series PMICs with I2C" select MFD_AXP20X select REGMAP_I2C depends on I2C help If you say Y here you get support for the X-Powers AXP series power management ICs (PMICs) controlled with I2C. This driver include only the core APIs. You have to select individual components like regulators or the PEK (Power Enable Key) under the corresponding menus. Note on x86 this provides an ACPI OpRegion, so this must be 'y' (builtin) and not a module, as the OpRegion must be available as soon as possible. For the same reason the I2C bus driver options I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL must be 'y' too. config MFD_AXP20X_RSB tristate "X-Powers AXP series PMICs with RSB" select MFD_AXP20X depends on SUNXI_RSB help If you say Y here you get support for the X-Powers AXP series power management ICs (PMICs) controlled with RSB. This driver include only the core APIs. You have to select individual components like regulators or the PEK (Power Enable Key) under the corresponding menus. config MFD_CROS_EC_DEV tristate "ChromeOS Embedded Controller multifunction device" select MFD_CORE depends on CROS_EC default CROS_EC help Select this to get support for ChromeOS Embedded Controller sub-devices. This driver will instantiate additional drivers such as RTC, USBPD, etc. but you have to select the individual drivers. To compile this driver as a module, choose M here: the module will be called cros-ec-dev. config MFD_MADERA tristate "Cirrus Logic Madera codecs" select MFD_CORE select REGMAP select REGMAP_IRQ select MADERA_IRQ select PINCTRL select PINCTRL_MADERA help Support for the Cirrus Logic Madera platform audio codecs config MFD_MADERA_I2C tristate "Cirrus Logic Madera codecs with I2C" depends on MFD_MADERA depends on I2C select REGMAP_I2C help Support for the Cirrus Logic Madera platform audio SoC core functionality controlled via I2C. config MFD_MADERA_SPI tristate "Cirrus Logic Madera codecs with SPI" depends on MFD_MADERA depends on SPI_MASTER select REGMAP_SPI help Support for the Cirrus Logic Madera platform audio SoC core functionality controlled via SPI. config MFD_CS47L15 bool "Cirrus Logic CS47L15" select PINCTRL_CS47L15 depends on MFD_MADERA help Support for Cirrus Logic CS47L15 Smart Codec config MFD_CS47L35 bool "Cirrus Logic CS47L35" select PINCTRL_CS47L35 depends on MFD_MADERA help Support for Cirrus Logic CS47L35 Smart Codec config MFD_CS47L85 bool "Cirrus Logic CS47L85" select PINCTRL_CS47L85 depends on MFD_MADERA help Support for Cirrus Logic CS47L85 Smart Codec config MFD_CS47L90 bool "Cirrus Logic CS47L90/91" select PINCTRL_CS47L90 depends on MFD_MADERA help Support for Cirrus Logic CS47L90 and CS47L91 Smart Codecs config MFD_CS47L92 bool "Cirrus Logic CS47L92/93" select PINCTRL_CS47L92 depends on MFD_MADERA help Support for Cirrus Logic CS42L92, CS47L92 and CS47L93 Smart Codecs config MFD_ASIC3 bool "Compaq ASIC3" depends on GPIOLIB && ARM select MFD_CORE ---help--- This driver supports the ASIC3 multifunction chip found on many PDAs (mainly iPAQ and HTC based ones) config PMIC_DA903X bool "Dialog Semiconductor DA9030/DA9034 PMIC Support" depends on I2C=y help Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC usually found on PXA processors-based platforms. This includes the I2C driver and the core APIs _only_, you have to select individual components like LCD backlight, voltage regulators, LEDs and battery-charger under the corresponding menus. config PMIC_DA9052 bool select MFD_CORE config MFD_DA9052_SPI bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI" select REGMAP_SPI select REGMAP_IRQ select PMIC_DA9052 depends on SPI_MASTER=y help Support for the Dialog Semiconductor DA9052 PMIC when controlled using SPI. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_DA9052_I2C bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C" select REGMAP_I2C select REGMAP_IRQ select PMIC_DA9052 depends on I2C=y help Support for the Dialog Semiconductor DA9052 PMIC when controlled using I2C. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_DA9055 bool "Dialog Semiconductor DA9055 PMIC Support" select REGMAP_I2C select REGMAP_IRQ select MFD_CORE depends on I2C=y help Say yes here for support of Dialog Semiconductor DA9055. This is a Power Management IC. This driver provides common support for accessing the device as well as the I2C interface to the chip itself. Additional drivers must be enabled in order to use the functionality of the device. This driver can be built as a module. If built as a module it will be called "da9055" config MFD_DA9062 tristate "Dialog Semiconductor DA9062/61 PMIC Support" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C help Say yes here for support for the Dialog Semiconductor DA9061 and DA9062 PMICs. This includes the I2C driver and core APIs. Additional drivers must be enabled in order to use the functionality of the device. config MFD_DA9063 tristate "Dialog Semiconductor DA9063 PMIC Support" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C help Say yes here for support for the Dialog Semiconductor DA9063 PMIC. This includes the I2C driver and core APIs. Additional drivers must be enabled in order to use the functionality of the device. config MFD_DA9150 tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip" depends on I2C select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help This adds support for the DA9150 integrated charger and fuel-gauge chip. This driver provides common support for accessing the device. Additional drivers must be enabled in order to use the specific features of the device. config MFD_DLN2 tristate "Diolan DLN2 support" select MFD_CORE depends on USB help This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2, etc. must be enabled in order to use the functionality of the device. config MFD_EXYNOS_LPASS tristate "Samsung Exynos SoC Low Power Audio Subsystem" depends on ARCH_EXYNOS || COMPILE_TEST select MFD_CORE select REGMAP_MMIO help Select this option to enable support for Samsung Exynos Low Power Audio Subsystem. config MFD_MC13XXX tristate depends on (SPI_MASTER || I2C) select MFD_CORE select REGMAP_IRQ help Enable support for the Freescale MC13783 and MC13892 PMICs. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_MC13XXX_SPI tristate "Freescale MC13783 and MC13892 SPI interface" depends on SPI_MASTER select REGMAP_SPI select MFD_MC13XXX help Select this if your MC13xxx is connected via an SPI bus. config MFD_MC13XXX_I2C tristate "Freescale MC13892 I2C interface" depends on I2C select REGMAP_I2C select MFD_MC13XXX help Select this if your MC13xxx is connected via an I2C bus. config MFD_MXS_LRADC tristate "Freescale i.MX23/i.MX28 LRADC" depends on ARCH_MXS || COMPILE_TEST select MFD_CORE select STMP_DEVICE help Say yes here to build support for the Low Resolution Analog-to-Digital Converter (LRADC) found on the i.MX23 and i.MX28 processors. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device: mxs-lradc-adc for ADC readings mxs-lradc-ts for touchscreen support This driver can also be built as a module. If so, the module will be called mxs-lradc. config MFD_MX25_TSADC tristate "Freescale i.MX25 integrated Touchscreen and ADC unit" select REGMAP_MMIO depends on (SOC_IMX25 && OF) || COMPILE_TEST help Enable support for the integrated Touchscreen and ADC unit of the i.MX25 processors. They consist of a conversion queue for general purpose ADC and a queue for Touchscreens. config MFD_HI6421_PMIC tristate "HiSilicon Hi6421 PMU/Codec IC" depends on OF select MFD_CORE select REGMAP_MMIO help Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi- functions, such as regulators, RTC, codec, Coulomb counter, etc. This driver includes core APIs _only_. You have to select individul components like voltage regulators under corresponding menus in order to enable them. We communicate with the Hi6421 via memory-mapped I/O. config MFD_HI655X_PMIC tristate "HiSilicon Hi655X series PMU/Codec IC" depends on ARCH_HISI || COMPILE_TEST depends on OF select MFD_CORE select REGMAP_MMIO select REGMAP_IRQ help Select this option to enable Hisilicon hi655x series pmic driver. config HTC_PASIC3 tristate "HTC PASIC3 LED/DS1WM chip support" select MFD_CORE help This core driver provides register access for the LED/DS1WM chips labeled "AIC2" and "AIC3", found on HTC Blueangel and HTC Magician devices, respectively. Actual functionality is handled by the leds-pasic3 and ds1wm drivers. config HTC_I2CPLD bool "HTC I2C PLD chip support" depends on I2C=y && GPIOLIB help If you say yes here you get support for the supposed CPLD found on omap850 HTC devices like the HTC Wizard and HTC Herald. This device provides input and output GPIOs through an I2C interface to one or more sub-chips. config MFD_INTEL_QUARK_I2C_GPIO tristate "Intel Quark MFD I2C GPIO" depends on PCI depends on X86 depends on COMMON_CLK select MFD_CORE help This MFD provides support for I2C and GPIO that exist only in a single PCI device. It splits the 2 IO devices to their respective IO driver. The GPIO exports a total amount of 8 interrupt-capable GPIOs. config LPC_ICH tristate "Intel ICH LPC" depends on PCI select MFD_CORE help The LPC bridge function of the Intel ICH provides support for many functional units. This driver provides needed support for other drivers to control these functions, currently GPIO and watchdog. config LPC_SCH tristate "Intel SCH LPC" depends on PCI select MFD_CORE help LPC bridge function of the Intel SCH provides support for System Management Bus and General Purpose I/O. config INTEL_SOC_PMIC bool "Support for Crystal Cove PMIC" depends on ACPI && HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK depends on X86 || COMPILE_TEST depends on I2C_DESIGNWARE_PLATFORM=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help Select this option to enable support for Crystal Cove PMIC on some Intel SoC systems. The PMIC provides ADC, GPIO, thermal, charger and related power management functions on these systems. This option is a bool as it provides an ACPI OpRegion which must be available before any devices using it are probed. This option also causes the designware-i2c driver to be builtin for the same reason. config INTEL_SOC_PMIC_BXTWC tristate "Support for Intel Broxton Whiskey Cove PMIC" depends on INTEL_PMC_IPC select MFD_CORE select REGMAP_IRQ help Select this option to enable support for Whiskey Cove PMIC on Intel Broxton systems. The PMIC provides ADC, GPIO, thermal, charger and related power management functions on these systems. config INTEL_SOC_PMIC_CHTWC bool "Support for Intel Cherry Trail Whiskey Cove PMIC" depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK depends on X86 || COMPILE_TEST depends on I2C_DESIGNWARE_PLATFORM=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help Select this option to enable support for the Intel Cherry Trail Whiskey Cove PMIC found on some Intel Cherry Trail systems. This option is a bool as it provides an ACPI OpRegion which must be available before any devices using it are probed. This option also causes the designware-i2c driver to be builtin for the same reason. config INTEL_SOC_PMIC_CHTDC_TI tristate "Support for Intel Cherry Trail Dollar Cove TI PMIC" depends on GPIOLIB depends on I2C depends on ACPI depends on X86 select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help Select this option for supporting Dollar Cove (TI version) PMIC device that is found on some Intel Cherry Trail systems. config INTEL_SOC_PMIC_MRFLD tristate "Support for Intel Merrifield Basin Cove PMIC" depends on GPIOLIB depends on ACPI depends on INTEL_SCU_IPC select MFD_CORE select REGMAP_IRQ help Select this option for supporting Basin Cove PMIC device that is found on Intel Merrifield systems. config MFD_INTEL_LPSS tristate select COMMON_CLK select MFD_CORE config MFD_INTEL_LPSS_ACPI tristate "Intel Low Power Subsystem support in ACPI mode" select MFD_INTEL_LPSS depends on X86 && ACPI help This driver supports Intel Low Power Subsystem (LPSS) devices such as I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake PCH) in ACPI mode. config MFD_INTEL_LPSS_PCI tristate "Intel Low Power Subsystem support in PCI mode" select MFD_INTEL_LPSS depends on X86 && PCI help This driver supports Intel Low Power Subsystem (LPSS) devices such as I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake PCH) in PCI mode. config MFD_INTEL_MSIC bool "Intel MSIC" depends on INTEL_SCU_IPC select MFD_CORE help Select this option to enable access to Intel MSIC (Avatele Passage) chip. This chip embeds audio, battery, GPIO, etc. devices used in Intel Medfield platforms. config MFD_IPAQ_MICRO bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support" depends on SA1100_H3100 || SA1100_H3600 select MFD_CORE help Select this to get support for the Microcontroller found in the Compaq iPAQ handheld computers. This is an Atmel AT90LS8535 microcontroller flashed with a special iPAQ firmware using the custom protocol implemented in this driver. config MFD_JANZ_CMODIO tristate "Janz CMOD-IO PCI MODULbus Carrier Board" select MFD_CORE depends on PCI help This is the core driver for the Janz CMOD-IO PCI MODULbus carrier board. This device is a PCI to MODULbus bridge which may host many different types of MODULbus daughterboards, including CAN and GPIO controllers. config MFD_KEMPLD tristate "Kontron module PLD device" select MFD_CORE help This is the core driver for the PLD (Programmable Logic Device) found on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD device may provide functions like watchdog, GPIO, UART and I2C bus. The following modules are supported: * COMe-bBD# * COMe-bBL6 * COMe-bHL6 * COMe-bSL6 * COMe-bIP# * COMe-bKL6 * COMe-bPC2 (ETXexpress-PC) * COMe-bSC# (ETXexpress-SC T#) * COMe-cAL6 * COMe-cBL6 * COMe-cBT6 * COMe-cBW6 * COMe-cCT6 * COMe-cDC2 (microETXexpress-DC) * COMe-cHL6 * COMe-cKL6 * COMe-cPC2 (microETXexpress-PC) * COMe-cSL6 * COMe-mAL10 * COMe-mBT10 * COMe-mCT10 * COMe-mTT10 (nanoETXexpress-TT) * ETX-OH This driver can also be built as a module. If so, the module will be called kempld-core. config MFD_88PM800 tristate "Marvell 88PM800" depends on I2C select REGMAP_I2C select REGMAP_IRQ select MFD_CORE help This supports for Marvell 88PM800 Power Management IC. This includes the I2C driver and the core APIs _only_, you have to select individual components like voltage regulators, RTC and battery-charger under the corresponding menus. config MFD_88PM805 tristate "Marvell 88PM805" depends on I2C select REGMAP_I2C select REGMAP_IRQ select MFD_CORE help This supports for Marvell 88PM805 Power Management IC. This includes the I2C driver and the core APIs _only_, you have to select individual components like codec device, headset/Mic device under the corresponding menus. config MFD_88PM860X bool "Marvell 88PM8606/88PM8607" depends on I2C=y select REGMAP_I2C select MFD_CORE help This supports for Marvell 88PM8606/88PM8607 Power Management IC. This includes the I2C driver and the core APIs _only_, you have to select individual components like voltage regulators, RTC and battery-charger under the corresponding menus. config MFD_MAX14577 tristate "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support" depends on I2C select MFD_CORE select REGMAP_I2C select REGMAP_IRQ select IRQ_DOMAIN help Say yes here to add support for Maxim Semiconductor MAX14577 and MAX77836 Micro-USB ICs with battery charger. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX77620 bool "Maxim Semiconductor MAX77620 and MAX20024 PMIC Support" depends on I2C=y depends on OF || COMPILE_TEST select MFD_CORE select REGMAP_I2C select REGMAP_IRQ select IRQ_DOMAIN help Say yes here to add support for Maxim Semiconductor MAX77620 and MAX20024 which are Power Management IC with General purpose pins, RTC, regulators, clock generator, watchdog etc. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX77650 tristate "Maxim MAX77650/77651 PMIC Support" depends on I2C depends on OF || COMPILE_TEST select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help Say Y here to add support for Maxim Semiconductor MAX77650 and MAX77651 Power Management ICs. This is the core multifunction driver for interacting with the device. The module name is 'max77650'. Additional drivers can be enabled in order to use the following functionalities of the device: GPIO, regulator, charger, LED, onkey. config MFD_MAX77686 tristate "Maxim Semiconductor MAX77686/802 PMIC Support" depends on I2C depends on OF || COMPILE_TEST select MFD_CORE select REGMAP_I2C select REGMAP_IRQ select IRQ_DOMAIN help Say yes here to add support for Maxim Semiconductor MAX77686 and MAX77802 which are Power Management IC with an RTC on chip. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX77693 tristate "Maxim Semiconductor MAX77693 PMIC Support" depends on I2C select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help Say yes here to add support for Maxim Semiconductor MAX77693. This is a companion Power Management IC with Flash, Haptic, Charger, and MUIC(Micro USB Interface Controller) controls on chip. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX77843 bool "Maxim Semiconductor MAX77843 PMIC Support" depends on I2C=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help Say yes here to add support for Maxim Semiconductor MAX77843. This is companion Power Management IC with LEDs, Haptic, Charger, Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX8907 tristate "Maxim Semiconductor MAX8907 PMIC Support" select MFD_CORE depends on I2C select REGMAP_I2C select REGMAP_IRQ help Say yes here to add support for Maxim Semiconductor MAX8907. This is a Power Management IC. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX8925 bool "Maxim Semiconductor MAX8925 PMIC Support" depends on I2C=y select MFD_CORE help Say yes here to add support for Maxim Semiconductor MAX8925. This is a Power Management IC. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX8997 bool "Maxim Semiconductor MAX8997/8966 PMIC Support" depends on I2C=y select MFD_CORE select IRQ_DOMAIN help Say yes here to add support for Maxim Semiconductor MAX8997/8966. This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic, MUIC controls on chip. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MAX8998 bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support" depends on I2C=y select MFD_CORE select IRQ_DOMAIN help Say yes here to add support for Maxim Semiconductor MAX8998 and National Semiconductor LP3974. This is a Power Management IC. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_MT6397 tristate "MediaTek MT6397 PMIC Support" select MFD_CORE select IRQ_DOMAIN help Say yes here to add support for MediaTek MT6397 PMIC. This is a Power Management IC. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the functionality of the device. config MFD_MENF21BMC tristate "MEN 14F021P00 Board Management Controller Support" depends on I2C select MFD_CORE help Say yes here to add support for the MEN 14F021P00 BMC which is a Board Management Controller connected to the I2C bus. The device supports multiple sub-devices like LED, HWMON and WDT. This driver provides common support for accessing the devices; additional drivers must be enabled in order to use the functionality of the BMC device. This driver can also be built as a module. If so the module will be called menf21bmc. config EZX_PCAP bool "Motorola EZXPCAP Support" depends on SPI_MASTER help This enables the PCAP ASIC present on EZX Phones. This is needed for MMC, TouchScreen, Sound, USB, etc.. config MFD_CPCAP tristate "Support for Motorola CPCAP" depends on SPI depends on OF || COMPILE_TEST select REGMAP_SPI select REGMAP_IRQ help Say yes here if you want to include driver for CPCAP. It is used on many Motorola phones and tablets as a PMIC. At least Motorola Droid 4 is known to use CPCAP. config MFD_VIPERBOARD tristate "Nano River Technologies Viperboard" select MFD_CORE depends on USB default n help Say yes here if you want support for Nano River Technologies Viperboard. There are mfd cell drivers available for i2c master, adc and both gpios found on the board. The spi part does not yet have a driver. You need to select the mfd cell drivers separately. The drivers do not support all features the board exposes. config MFD_RETU tristate "Nokia Retu and Tahvo multi-function device" select MFD_CORE depends on I2C select REGMAP_IRQ help Retu and Tahvo are a multi-function devices found on Nokia Internet Tablets (770, N800 and N810). config MFD_PCF50633 tristate "NXP PCF50633" depends on I2C select REGMAP_I2C help Say yes here if you have NXP PCF50633 chip on your board. This core driver provides register access and IRQ handling facilities, and registers devices for the various functions so that function-specific drivers can bind to them. config PCF50633_ADC tristate "NXP PCF50633 ADC" depends on MFD_PCF50633 help Say yes here if you want to include support for ADC in the NXP PCF50633 chip. config PCF50633_GPIO tristate "NXP PCF50633 GPIO" depends on MFD_PCF50633 help Say yes here if you want to include support GPIO for pins on the PCF50633 chip. config UCB1400_CORE tristate "Philips UCB1400 Core driver" depends on AC97_BUS depends on GPIOLIB help This enables support for the Philips UCB1400 core functions. The UCB1400 is an AC97 audio codec. To compile this driver as a module, choose M here: the module will be called ucb1400_core. config MFD_PM8XXX tristate "Qualcomm PM8xxx PMIC chips driver" depends on (ARM || HEXAGON || COMPILE_TEST) select IRQ_DOMAIN_HIERARCHY select MFD_CORE select REGMAP help If you say yes to this option, support will be included for the built-in PM8xxx PMIC chips. This is required if your board has a PM8xxx and uses its features, such as: MPPs, GPIOs, regulators, interrupts, and PWM. Say M here if you want to include support for PM8xxx chips as a module. This will build a module called "pm8xxx-core". config MFD_QCOM_RPM tristate "Qualcomm Resource Power Manager (RPM)" depends on ARCH_QCOM && OF help If you say yes to this option, support will be included for the Resource Power Manager system found in the Qualcomm 8660, 8960 and 8064 based devices. This is required to access many regulators, clocks and bus frequencies controlled by the RPM on these devices. Say M here if you want to include support for the Qualcomm RPM as a module. This will build a module called "qcom_rpm". config MFD_SPMI_PMIC tristate "Qualcomm SPMI PMICs" depends on ARCH_QCOM || COMPILE_TEST depends on OF depends on SPMI select REGMAP_SPMI help This enables support for the Qualcomm SPMI PMICs. These PMICs are currently used with the Snapdragon 800 series of SoCs. Note, that this will only be useful paired with descriptions of the independent functions as children nodes in the device tree. Say M here if you want to include support for the SPMI PMIC series as a module. The module will be called "qcom-spmi-pmic". config MFD_RDC321X tristate "RDC R-321x southbridge" select MFD_CORE depends on PCI help Say yes here if you want to have support for the RDC R-321x SoC southbridge which provides access to GPIOs and Watchdog using the southbridge PCI device configuration space. config MFD_RT5033 tristate "Richtek RT5033 Power Management IC" depends on I2C select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help This driver provides for the Richtek RT5033 Power Management IC, which includes the I2C driver and the Core APIs. This driver provides common support for accessing the device. The device supports multiple sub-devices like charger, fuel gauge, flash LED, current source, LDO and Buck. config MFD_RC5T583 bool "Ricoh RC5T583 Power Management system device" depends on I2C=y select MFD_CORE select REGMAP_I2C help Select this option to get support for the RICOH583 Power Management system device. This driver provides common support for accessing the device through i2c interface. The device supports multiple sub-devices like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey. Additional drivers must be enabled in order to use the different functionality of the device. config MFD_RK808 tristate "Rockchip RK805/RK808/RK809/RK817/RK818 Power Management Chip" depends on I2C && OF select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help If you say yes here you get support for the RK805, RK808, RK809, RK817 and RK818 Power Management chips. This driver provides common support for accessing the device through I2C interface. The device supports multiple sub-devices including interrupts, RTC, LDO & DCDC regulators, and onkey. config MFD_RN5T618 tristate "Ricoh RN5T567/618 PMIC" depends on I2C depends on OF select MFD_CORE select REGMAP_I2C help Say yes here to add support for the Ricoh RN5T567, RN5T618, RC5T619 PMIC. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_SEC_CORE tristate "SAMSUNG Electronics PMIC Series Support" depends on I2C=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help Support for the Samsung Electronics PMIC devices coming usually along with Samsung Exynos SoC chipset. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device To compile this driver as a module, choose M here: the module will be called sec-core. Have in mind that important core drivers (like regulators) depend on this driver so building this as a module might require proper initial ramdisk or might not boot up as well in certain scenarios. config MFD_SI476X_CORE tristate "Silicon Laboratories 4761/64/68 AM/FM radio." depends on I2C select MFD_CORE select REGMAP_I2C help This is the core driver for the SI476x series of AM/FM radio. This MFD driver connects the radio-si476x V4L2 module and the si476x audio codec. To compile this driver as a module, choose M here: the module will be called si476x-core. config MFD_SM501 tristate "Silicon Motion SM501" depends on HAS_DMA ---help--- This is the core driver for the Silicon Motion SM501 multimedia companion chip. This device is a multifunction device which may provide numerous interfaces including USB host controller, USB gadget, asynchronous serial ports, audio functions, and a dual display video interface. The device may be connected by PCI or local bus with varying functions enabled. config MFD_SM501_GPIO bool "Export GPIO via GPIO layer" depends on MFD_SM501 && GPIOLIB ---help--- This option uses the gpio library layer to export the 64 GPIO lines on the SM501. The platform data is used to supply the base number for the first GPIO line to register. config MFD_SKY81452 tristate "Skyworks Solutions SKY81452" select MFD_CORE select REGMAP_I2C depends on I2C help This is the core driver for the Skyworks SKY81452 backlight and voltage regulator device. This driver can also be built as a module. If so, the module will be called sky81452. config MFD_SMSC bool "SMSC ECE1099 series chips" depends on I2C=y select MFD_CORE select REGMAP_I2C help If you say yes here you get support for the ece1099 chips from SMSC. To compile this driver as a module, choose M here: the module will be called smsc. config MFD_SC27XX_PMIC tristate "Spreadtrum SC27xx PMICs" depends on ARCH_SPRD || COMPILE_TEST depends on SPI_MASTER select MFD_CORE select REGMAP_SPI select REGMAP_IRQ help This enables support for the Spreadtrum SC27xx PMICs with SPI interface. The SC27xx series PMICs integrate power management, audio codec, battery management and user interface support function (such as RTC, Typec, indicator and so on) in a single chip. This driver provides common support for accessing the SC27xx PMICs, and it also adds the irq_chip parts for handling the PMIC chip events. config ABX500_CORE bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions" default y if ARCH_U300 || ARCH_U8500 || COMPILE_TEST help Say yes here if you have the ABX500 Mixed Signal IC family chips. This core driver expose register access functions. Functionality specific drivers using these functions can remain unchanged when IC changes. Binding of the functions to actual register access is done by the IC core driver. config AB3100_CORE bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions" depends on I2C=y && ABX500_CORE select MFD_CORE default y if ARCH_U300 help Select this to enable the AB3100 Mixed Signal IC core functionality. This connects to a AB3100 on the I2C bus and expose a number of symbols needed for dependent devices to read and write registers and subscribe to events from this multi-functional IC. This is needed to use other features of the AB3100 such as battery-backed RTC, charging control, LEDs, vibrator, system power and temperature, power management and ALSA sound. config AB3100_OTP tristate "ST-Ericsson AB3100 OTP functions" depends on AB3100_CORE default y if AB3100_CORE help Select this to enable the AB3100 Mixed Signal IC OTP (one-time programmable memory) support. This exposes a sysfs file to read out OTP values. config AB8500_CORE bool "ST-Ericsson AB8500 Mixed Signal Power Management chip" depends on ABX500_CORE && MFD_DB8500_PRCMU select POWER_SUPPLY select MFD_CORE select IRQ_DOMAIN help Select this option to enable access to AB8500 power management chip. This connects to U8500 either on the SSP/SPI bus (deprecated since hardware version v1.0) or the I2C bus via PRCMU. It also adds the irq_chip parts for handling the Mixed Signal chip events. This chip embeds various other multimedia funtionalities as well. config AB8500_DEBUG bool "Enable debug info via debugfs" depends on AB8500_GPADC && DEBUG_FS default y if DEBUG_FS help Select this option if you want debug information using the debug filesystem, debugfs. config AB8500_GPADC bool "ST-Ericsson AB8500 GPADC driver" depends on AB8500_CORE && REGULATOR_AB8500 default y help AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage config MFD_DB8500_PRCMU bool "ST-Ericsson DB8500 Power Reset Control Management Unit" depends on UX500_SOC_DB8500 select MFD_CORE help Select this option to enable support for the DB8500 Power Reset and Control Management Unit. This is basically an autonomous system controller running an XP70 microprocessor, which is accessed through a register map. config MFD_STMPE bool "STMicroelectronics STMPE" depends on (I2C=y || SPI_MASTER=y) depends on OF select MFD_CORE help Support for the STMPE family of I/O Expanders from STMicroelectronics. Currently supported devices are: STMPE811: GPIO, Touchscreen, ADC STMPE1601: GPIO, Keypad STMPE1801: GPIO, Keypad STMPE2401: GPIO, Keypad STMPE2403: GPIO, Keypad This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. Currently available sub drivers are: GPIO: stmpe-gpio Keypad: stmpe-keypad Touchscreen: stmpe-ts ADC: stmpe-adc menu "STMicroelectronics STMPE Interface Drivers" depends on MFD_STMPE config STMPE_I2C bool "STMicroelectronics STMPE I2C Interface" depends on I2C=y default y help This is used to enable I2C interface of STMPE config STMPE_SPI bool "STMicroelectronics STMPE SPI Interface" depends on SPI_MASTER help This is used to enable SPI interface of STMPE endmenu config MFD_STA2X11 bool "STMicroelectronics STA2X11" depends on STA2X11 select MFD_CORE select REGMAP_MMIO config MFD_SUN6I_PRCM bool "Allwinner A31 PRCM controller" depends on ARCH_SUNXI || COMPILE_TEST select MFD_CORE help Support for the PRCM (Power/Reset/Clock Management) unit available in A31 SoC. config MFD_SYSCON bool "System Controller Register R/W Based on Regmap" select REGMAP_MMIO help Select this option to enable accessing system control registers via regmap. config MFD_DAVINCI_VOICECODEC tristate select MFD_CORE select REGMAP_MMIO config MFD_TI_AM335X_TSCADC tristate "TI ADC / Touch Screen chip support" depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST select MFD_CORE select REGMAP select REGMAP_MMIO help If you say yes here you get support for Texas Instruments series of Touch Screen /ADC chips. To compile this driver as a module, choose M here: the module will be called ti_am335x_tscadc. config MFD_DM355EVM_MSP bool "TI DaVinci DM355 EVM microcontroller" depends on I2C=y && MACH_DAVINCI_DM355_EVM help This driver supports the MSP430 microcontroller used on these boards. MSP430 firmware manages resets and power sequencing, inputs from buttons and the IR remote, LEDs, an RTC, and more. config MFD_LP3943 tristate "TI/National Semiconductor LP3943 MFD Driver" depends on I2C select MFD_CORE select REGMAP_I2C help Support for the TI/National Semiconductor LP3943. This driver consists of GPIO and PWM drivers. With these functionalities, it can be used for LED string control or general usage such like a GPIO controller and a PWM controller. config MFD_LP8788 bool "TI LP8788 Power Management Unit Driver" depends on I2C=y select MFD_CORE select REGMAP_I2C select IRQ_DOMAIN help TI LP8788 PMU supports regulators, battery charger, RTC, ADC, backlight driver and current sinks. config MFD_TI_LMU tristate "TI Lighting Management Unit driver" depends on I2C select MFD_CORE select REGMAP_I2C help Say yes here to enable support for TI LMU chips. TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and LM36274. It consists of backlight, LED and regulator driver. It provides consistent device controls for lighting functions. config MFD_OMAP_USB_HOST bool "TI OMAP USBHS core and TLL driver" depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3 default y help This is the core driver for the OAMP EHCI and OHCI drivers. This MFD driver does the required setup functionalities for OMAP USB Host drivers. config MFD_PALMAS bool "TI Palmas series chips" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C=y help If you say yes here you get support for the Palmas series of PMIC chips from Texas Instruments. config TPS6105X tristate "TI TPS61050/61052 Boost Converters" depends on I2C select REGMAP_I2C select REGULATOR select MFD_CORE select REGULATOR_FIXED_VOLTAGE help This option enables a driver for the TP61050/TPS61052 high-power "white LED driver". This boost converter is sometimes used for other things than white LEDs, and also contains a GPIO pin. config TPS65010 tristate "TI TPS6501x Power Management chips" depends on I2C && GPIOLIB default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK help If you say yes here you get support for the TPS6501x series of Power Management chips. These include voltage regulators, lithium ion/polymer battery charging, and other features that are often used in portable devices like cell phones and cameras. This driver can also be built as a module. If so, the module will be called tps65010. config TPS6507X tristate "TI TPS6507x Power Management / Touch Screen chips" select MFD_CORE depends on I2C help If you say yes here you get support for the TPS6507x series of Power Management / Touch Screen chips. These include voltage regulators, lithium ion/polymer battery charging, touch screen and other features that are often used in portable devices. This driver can also be built as a module. If so, the module will be called tps6507x. config MFD_TPS65086 tristate "TI TPS65086 Power Management Integrated Chips (PMICs)" select MFD_CORE select REGMAP select REGMAP_IRQ select REGMAP_I2C depends on I2C help If you say yes here you get support for the TPS65086 series of Power Management chips. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config TPS65911_COMPARATOR tristate config MFD_TPS65090 bool "TI TPS65090 Power Management chips" depends on I2C=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help If you say yes here you get support for the TPS65090 series of Power Management chips. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_TPS65217 tristate "TI TPS65217 Power Management / White LED chips" depends on I2C && OF select MFD_CORE select REGMAP_I2C select IRQ_DOMAIN help If you say yes here you get support for the TPS65217 series of Power Management / White LED chips. These include voltage regulators, lithium ion/polymer battery charger, wled and other features that are often used in portable devices. This driver can also be built as a module. If so, the module will be called tps65217. config MFD_TPS68470 bool "TI TPS68470 Power Management / LED chips" depends on ACPI && PCI && I2C=y depends on I2C_DESIGNWARE_PLATFORM=y select MFD_CORE select REGMAP_I2C help If you say yes here you get support for the TPS68470 series of Power Management / LED chips. These include voltage regulators, LEDs and other features that are often used in portable devices. This option is a bool as it provides an ACPI operation region, which must be available before any of the devices using this are probed. This option also configures the designware-i2c driver to be built-in, for the same reason. config MFD_TI_LP873X tristate "TI LP873X Power Management IC" depends on I2C select MFD_CORE select REGMAP_I2C help If you say yes here then you get support for the LP873X series of Power Management Integrated Circuits (PMIC). These include voltage regulators, thermal protection, configurable General Purpose Outputs (GPO) that are used in portable devices. This driver can also be built as a module. If so, the module will be called lp873x. config MFD_TI_LP87565 tristate "TI LP87565 Power Management IC" depends on I2C && OF select MFD_CORE select REGMAP_I2C help If you say yes here then you get support for the LP87565 series of Power Management Integrated Circuits (PMIC). These include voltage regulators, thermal protection, configurable General Purpose Outputs (GPO) that are used in portable devices. This driver can also be built as a module. If so, the module will be called lp87565. config MFD_TPS65218 tristate "TI TPS65218 Power Management chips" depends on I2C && OF select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help If you say yes here you get support for the TPS65218 series of Power Management chips. These include voltage regulators, gpio and other features that are often used in portable devices. This driver can also be built as a module. If so, the module will be called tps65218. config MFD_TPS6586X bool "TI TPS6586x Power Management chips" depends on I2C=y select MFD_CORE select REGMAP_I2C help If you say yes here you get support for the TPS6586X series of Power Management chips. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. This driver can also be built as a module. If so, the module will be called tps6586x. config MFD_TPS65910 bool "TI TPS65910 Power Management chip" depends on I2C=y depends on GPIOLIB || COMPILE_TEST select MFD_CORE select REGMAP_I2C select REGMAP_IRQ select IRQ_DOMAIN help if you say yes here you get support for the TPS65910 series of Power Management chips. config MFD_TPS65912 tristate select MFD_CORE select REGMAP select REGMAP_IRQ config MFD_TPS65912_I2C tristate "TI TPS65912 Power Management chip with I2C" select MFD_TPS65912 select REGMAP_I2C depends on I2C help If you say yes here you get support for the TPS65912 series of PM chips with I2C interface. config MFD_TPS65912_SPI tristate "TI TPS65912 Power Management chip with SPI" select MFD_TPS65912 select REGMAP_SPI depends on SPI_MASTER help If you say yes here you get support for the TPS65912 series of PM chips with SPI interface. config MFD_TPS80031 bool "TI TPS80031/TPS80032 Power Management chips" depends on I2C=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ help If you say yes here you get support for the Texas Instruments TPS80031/ TPS80032 Fully Integrated Power Management with Power Path and Battery Charger. The device provides five configurable step-down converters, 11 general purpose LDOs, USB OTG Module, ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with Power Path from USB, 32K clock generator. config TWL4030_CORE bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support" depends on I2C=y select IRQ_DOMAIN select REGMAP_I2C help Say yes here if you have TWL4030 / TWL6030 family chip on your board. This core driver provides register access and IRQ handling facilities, and registers devices for the various functions so that function-specific drivers can bind to them. These multi-function chips are found on many OMAP2 and OMAP3 boards, providing power management, RTC, GPIO, keypad, a high speed USB OTG transceiver, an audio codec (on most versions) and many other features. config TWL4030_POWER bool "TI TWL4030 power resources" depends on TWL4030_CORE && ARM help Say yes here if you want to use the power resources on the TWL4030 family chips. Most of these resources are regulators, which have a separate driver; some are control signals, such as clock request handshaking. This driver uses board-specific data to initialize the resources and load scripts controlling which resources are switched off/on or reset when a sleep, wakeup or warm reset event occurs. config MFD_TWL4030_AUDIO bool "TI TWL4030 Audio" depends on TWL4030_CORE select MFD_CORE default n config TWL6040_CORE bool "TI TWL6040 audio codec" depends on I2C=y select MFD_CORE select REGMAP_I2C select REGMAP_IRQ default n help Say yes here if you want support for Texas Instruments TWL6040 audio codec. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device (audio, vibra). config MENELAUS bool "TI TWL92330/Menelaus PM chip" depends on I2C=y && ARCH_OMAP2 help If you say yes here you get support for the Texas Instruments TWL92330/Menelaus Power Management chip. This include voltage regulators, Dual slot memory card transceivers, real-time clock and other features that are often used in portable devices like cell phones and PDAs. config MFD_WL1273_CORE tristate "TI WL1273 FM radio" depends on I2C select MFD_CORE default n help This is the core driver for the TI WL1273 FM radio. This MFD driver connects the radio-wl1273 V4L2 module and the wl1273 audio codec. config MFD_LM3533 tristate "TI/National Semiconductor LM3533 Lighting Power chip" depends on I2C select MFD_CORE select REGMAP_I2C help Say yes here to enable support for National Semiconductor / TI LM3533 Lighting Power chips. This driver provides common support for accessing the device; additional drivers must be enabled in order to use the LED, backlight or ambient-light-sensor functionality of the device. config MFD_TIMBERDALE tristate "Timberdale FPGA" select MFD_CORE depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST) ---help--- This is the core driver for the timberdale FPGA. This device is a multifunction device which exposes numerous platform devices. The timberdale FPGA can be found on the Intel Atom development board for in-vehicle infontainment, called Russellville. config MFD_TC3589X bool "Toshiba TC35892 and variants" depends on I2C=y depends on OF select MFD_CORE help Support for the Toshiba TC35892 and variants I/O Expander. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_TMIO bool default n config MFD_T7L66XB bool "Toshiba T7L66XB" depends on ARM && HAVE_CLK select MFD_CORE select MFD_TMIO help Support for Toshiba Mobile IO Controller T7L66XB config MFD_TC6387XB bool "Toshiba TC6387XB" depends on ARM && HAVE_CLK select MFD_CORE select MFD_TMIO help Support for Toshiba Mobile IO Controller TC6387XB config MFD_TC6393XB bool "Toshiba TC6393XB" depends on ARM && HAVE_CLK select GPIOLIB select MFD_CORE select MFD_TMIO help Support for Toshiba Mobile IO Controller TC6393XB config MFD_TQMX86 tristate "TQ-Systems IO controller TQMX86" select MFD_CORE help Say yes here to enable support for various functions of the TQ-Systems IO controller and watchdog device, found on their ComExpress CPU modules. config MFD_VX855 tristate "VIA VX855/VX875 integrated south bridge" depends on PCI select MFD_CORE help Say yes here to enable support for various functions of the VIA VX855/VX875 south bridge. You will need to enable the vx855_spi and/or vx855_gpio drivers for this to do anything useful. config MFD_LOCHNAGAR bool "Cirrus Logic Lochnagar Audio Development Board" select MFD_CORE select REGMAP_I2C depends on I2C=y && OF help Support for Cirrus Logic Lochnagar audio development board. config MFD_ARIZONA select REGMAP select REGMAP_IRQ select MFD_CORE bool config MFD_ARIZONA_I2C tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C" select MFD_ARIZONA select REGMAP_I2C depends on I2C help Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform audio SoC core functionality controlled via I2C. config MFD_ARIZONA_SPI tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI" select MFD_ARIZONA select REGMAP_SPI depends on SPI_MASTER help Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform audio SoC core functionality controlled via SPI. config MFD_CS47L24 bool "Cirrus Logic CS47L24 and WM1831" depends on MFD_ARIZONA help Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC config MFD_WM5102 bool "Wolfson Microelectronics WM5102" depends on MFD_ARIZONA help Support for Wolfson Microelectronics WM5102 low power audio SoC config MFD_WM5110 bool "Wolfson Microelectronics WM5110 and WM8280/WM8281" depends on MFD_ARIZONA help Support for Wolfson Microelectronics WM5110 and WM8280/WM8281 low power audio SoC config MFD_WM8997 bool "Wolfson Microelectronics WM8997" depends on MFD_ARIZONA help Support for Wolfson Microelectronics WM8997 low power audio SoC config MFD_WM8998 bool "Wolfson Microelectronics WM8998" depends on MFD_ARIZONA help Support for Wolfson Microelectronics WM8998 low power audio SoC config MFD_WM8400 bool "Wolfson Microelectronics WM8400" select MFD_CORE depends on I2C=y select REGMAP_I2C help Support for the Wolfson Microelecronics WM8400 PMIC and audio CODEC. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_WM831X bool config MFD_WM831X_I2C bool "Wolfson Microelectronics WM831x/2x PMICs with I2C" select MFD_CORE select MFD_WM831X select REGMAP_I2C select IRQ_DOMAIN depends on I2C=y help Support for the Wolfson Microelecronics WM831x and WM832x PMICs when controlled using I2C. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_WM831X_SPI bool "Wolfson Microelectronics WM831x/2x PMICs with SPI" select MFD_CORE select MFD_WM831X select REGMAP_SPI select IRQ_DOMAIN depends on SPI_MASTER help Support for the Wolfson Microelecronics WM831x and WM832x PMICs when controlled using SPI. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. config MFD_WM8350 bool config MFD_WM8350_I2C bool "Wolfson Microelectronics WM8350 with I2C" select MFD_WM8350 select REGMAP_I2C depends on I2C=y help The WM8350 is an integrated audio and power management subsystem with watchdog and RTC functionality for embedded systems. This option enables core support for the WM8350 with I2C as the control interface. Additional options must be selected to enable support for the functionality of the chip. config MFD_WM8994 tristate "Wolfson Microelectronics WM8994" select MFD_CORE select REGMAP_I2C select REGMAP_IRQ depends on I2C help The WM8994 is a highly integrated hi-fi CODEC designed for smartphone applications. As well as audio functionality it has on board GPIO and regulator functionality which is supported via the relevant subsystems. This driver provides core support for the WM8994, in order to use the actual functionaltiy of the device other drivers must be enabled. config MFD_WM97xx tristate "Wolfson Microelectronics WM97xx" select MFD_CORE select REGMAP_AC97 select AC97_BUS_COMPAT depends on AC97_BUS_NEW help The WM9705, WM9712 and WM9713 is a highly integrated hi-fi CODEC designed for smartphone applications. As well as audio functionality it has on board GPIO and a touchscreen functionality which is supported via the relevant subsystems. This driver provides core support for the WM97xx, in order to use the actual functionaltiy of the device other drivers must be enabled. config MFD_STW481X tristate "Support for ST Microelectronics STw481x" depends on I2C && (ARCH_NOMADIK || COMPILE_TEST) select REGMAP_I2C select MFD_CORE help Select this option to enable the STw481x chip driver used in various ST Microelectronics and ST-Ericsson embedded Nomadik series. config MFD_ROHM_BD718XX tristate "ROHM BD71837 Power Management IC" depends on I2C=y depends on OF select REGMAP_I2C select REGMAP_IRQ select MFD_CORE help Select this option to get support for the ROHM BD71837 Power Management ICs. BD71837 is designed to power processors like NXP i.MX8. It contains 8 BUCK outputs and 7 LDOs, voltage monitoring and emergency shut down as well as 32,768KHz clock output. config MFD_ROHM_BD70528 tristate "ROHM BD70528 Power Management IC" depends on I2C=y depends on OF select REGMAP_I2C select REGMAP_IRQ select MFD_CORE help Select this option to get support for the ROHM BD70528 Power Management IC. BD71837 is general purpose single-chip power management IC for battery-powered portable devices. It contains 3 ultra-low current consumption buck converters, 3 LDOs and 2 LED drivers. Also included are 4 GPIOs, a real-time clock (RTC), a 32kHz crystal oscillator, high-accuracy VREF for use with an external ADC, 10 bits SAR ADC for battery temperature monitor and 1S battery charger. config MFD_STM32_LPTIMER tristate "Support for STM32 Low-Power Timer" depends on (ARCH_STM32 && OF) || COMPILE_TEST select MFD_CORE select REGMAP select REGMAP_MMIO help Select this option to enable STM32 Low-Power Timer driver used for PWM, IIO Trigger, IIO Encoder and Counter. Shared resources are also dealt with here. To compile this driver as a module, choose M here: the module will be called stm32-lptimer. config MFD_STM32_TIMERS tristate "Support for STM32 Timers" depends on (ARCH_STM32 && OF) || COMPILE_TEST select MFD_CORE select REGMAP select REGMAP_MMIO help Select this option to enable STM32 timers driver used for PWM and IIO Timer. This driver allow to share the registers between the others drivers. config MFD_STPMIC1 tristate "Support for STPMIC1 PMIC" depends on (I2C=y && OF) select REGMAP_I2C select REGMAP_IRQ select MFD_CORE help Support for ST Microelectronics STPMIC1 PMIC. STPMIC1 has power on key, watchdog and regulator functionalities which are supported via the relevant subsystems. This driver provides core support for the STPMIC1. In order to use the actual functionaltiy of the device other drivers must be enabled. To compile this driver as a module, choose M here: the module will be called stpmic1. config MFD_STMFX tristate "Support for STMicroelectronics Multi-Function eXpander (STMFX)" depends on I2C depends on OF || COMPILE_TEST select MFD_CORE select REGMAP_I2C help Support for the STMicroelectronics Multi-Function eXpander. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality of the device. menu "Multimedia Capabilities Port drivers" depends on ARCH_SA1100 config MCP tristate # Interface drivers config MCP_SA11X0 tristate "Support SA11x0 MCP interface" depends on ARCH_SA1100 select MCP # Chip drivers config MCP_UCB1200 tristate "Support for UCB1200 / UCB1300" depends on MCP_SA11X0 select MCP config MCP_UCB1200_TS tristate "Touchscreen interface support" depends on MCP_UCB1200 && INPUT endmenu config MFD_VEXPRESS_SYSREG bool "Versatile Express System Registers" depends on VEXPRESS_CONFIG && GPIOLIB && !ARCH_USES_GETTIMEOFFSET default y select CLKSRC_MMIO select GPIO_GENERIC_PLATFORM select MFD_CORE select MFD_SYSCON help System Registers are the platform configuration block on the ARM Ltd. Versatile Express board. config RAVE_SP_CORE tristate "RAVE SP MCU core driver" depends on SERIAL_DEV_BUS select CRC_CCITT help Select this to get support for the Supervisory Processor device found on several devices in RAVE line of hardware. config MFD_AHC1EC0 tristate "Advantech AHC1EC0 Embedded Controller Module" depends on X86 depends on UBUNTU_ODM_DRIVERS select MFD_CORE help This is the core function that for Advantech EC drivers. It includes the sub-devices such as hwmon, watchdog, etc. And also provides expose functions for sub-devices to read/write the value to embedded controller. endmenu endif mfd/Makefile 0000644 00000022667 14722053666 0007002 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for multifunction miscellaneous devices # 88pm860x-objs := 88pm860x-core.o 88pm860x-i2c.o obj-$(CONFIG_MFD_88PM860X) += 88pm860x.o obj-$(CONFIG_MFD_88PM800) += 88pm800.o 88pm80x.o obj-$(CONFIG_MFD_88PM805) += 88pm805.o 88pm80x.o obj-$(CONFIG_MFD_ACT8945A) += act8945a.o obj-$(CONFIG_MFD_SM501) += sm501.o obj-$(CONFIG_MFD_ASIC3) += asic3.o tmio_core.o obj-$(CONFIG_ARCH_BCM2835) += bcm2835-pm.o obj-$(CONFIG_MFD_BCM590XX) += bcm590xx.o obj-$(CONFIG_MFD_BD9571MWV) += bd9571mwv.o obj-$(CONFIG_MFD_CROS_EC_DEV) += cros_ec_dev.o obj-$(CONFIG_MFD_EXYNOS_LPASS) += exynos-lpass.o obj-$(CONFIG_HTC_PASIC3) += htc-pasic3.o obj-$(CONFIG_HTC_I2CPLD) += htc-i2cpld.o obj-$(CONFIG_MFD_TI_LP873X) += lp873x.o obj-$(CONFIG_MFD_TI_LP87565) += lp87565.o obj-$(CONFIG_MFD_DAVINCI_VOICECODEC) += davinci_voicecodec.o obj-$(CONFIG_MFD_DM355EVM_MSP) += dm355evm_msp.o obj-$(CONFIG_MFD_TI_AM335X_TSCADC) += ti_am335x_tscadc.o obj-$(CONFIG_MFD_STA2X11) += sta2x11-mfd.o obj-$(CONFIG_MFD_STMPE) += stmpe.o obj-$(CONFIG_STMPE_I2C) += stmpe-i2c.o obj-$(CONFIG_STMPE_SPI) += stmpe-spi.o obj-$(CONFIG_MFD_SUN6I_PRCM) += sun6i-prcm.o obj-$(CONFIG_MFD_TC3589X) += tc3589x.o obj-$(CONFIG_MFD_T7L66XB) += t7l66xb.o tmio_core.o obj-$(CONFIG_MFD_TC6387XB) += tc6387xb.o tmio_core.o obj-$(CONFIG_MFD_TC6393XB) += tc6393xb.o tmio_core.o obj-$(CONFIG_MFD_TQMX86) += tqmx86.o obj-$(CONFIG_MFD_LOCHNAGAR) += lochnagar-i2c.o obj-$(CONFIG_MFD_ARIZONA) += arizona-core.o obj-$(CONFIG_MFD_ARIZONA) += arizona-irq.o obj-$(CONFIG_MFD_ARIZONA_I2C) += arizona-i2c.o obj-$(CONFIG_MFD_ARIZONA_SPI) += arizona-spi.o ifeq ($(CONFIG_MFD_WM5102),y) obj-$(CONFIG_MFD_ARIZONA) += wm5102-tables.o endif ifeq ($(CONFIG_MFD_WM5110),y) obj-$(CONFIG_MFD_ARIZONA) += wm5110-tables.o endif ifeq ($(CONFIG_MFD_WM8997),y) obj-$(CONFIG_MFD_ARIZONA) += wm8997-tables.o endif ifeq ($(CONFIG_MFD_WM8998),y) obj-$(CONFIG_MFD_ARIZONA) += wm8998-tables.o endif ifeq ($(CONFIG_MFD_CS47L24),y) obj-$(CONFIG_MFD_ARIZONA) += cs47l24-tables.o endif obj-$(CONFIG_MFD_WM8400) += wm8400-core.o wm831x-objs := wm831x-core.o wm831x-irq.o wm831x-otp.o wm831x-objs += wm831x-auxadc.o obj-$(CONFIG_MFD_WM831X) += wm831x.o obj-$(CONFIG_MFD_WM831X_I2C) += wm831x-i2c.o obj-$(CONFIG_MFD_WM831X_SPI) += wm831x-spi.o wm8350-objs := wm8350-core.o wm8350-regmap.o wm8350-gpio.o wm8350-objs += wm8350-irq.o obj-$(CONFIG_MFD_WM8350) += wm8350.o obj-$(CONFIG_MFD_WM8350_I2C) += wm8350-i2c.o wm8994-objs := wm8994-core.o wm8994-irq.o wm8994-regmap.o obj-$(CONFIG_MFD_WM8994) += wm8994.o obj-$(CONFIG_MFD_WM97xx) += wm97xx-core.o madera-objs := madera-core.o ifeq ($(CONFIG_MFD_CS47L15),y) madera-objs += cs47l15-tables.o endif ifeq ($(CONFIG_MFD_CS47L35),y) madera-objs += cs47l35-tables.o endif ifeq ($(CONFIG_MFD_CS47L85),y) madera-objs += cs47l85-tables.o endif ifeq ($(CONFIG_MFD_CS47L90),y) madera-objs += cs47l90-tables.o endif ifeq ($(CONFIG_MFD_CS47L92),y) madera-objs += cs47l92-tables.o endif obj-$(CONFIG_MFD_MADERA) += madera.o obj-$(CONFIG_MFD_MADERA_I2C) += madera-i2c.o obj-$(CONFIG_MFD_MADERA_SPI) += madera-spi.o obj-$(CONFIG_TPS6105X) += tps6105x.o obj-$(CONFIG_TPS65010) += tps65010.o obj-$(CONFIG_TPS6507X) += tps6507x.o obj-$(CONFIG_MFD_TPS65086) += tps65086.o obj-$(CONFIG_MFD_TPS65217) += tps65217.o obj-$(CONFIG_MFD_TPS65218) += tps65218.o obj-$(CONFIG_MFD_TPS65910) += tps65910.o obj-$(CONFIG_MFD_TPS65912) += tps65912-core.o obj-$(CONFIG_MFD_TPS65912_I2C) += tps65912-i2c.o obj-$(CONFIG_MFD_TPS65912_SPI) += tps65912-spi.o obj-$(CONFIG_MFD_TPS68470) += tps68470.o obj-$(CONFIG_MFD_TPS80031) += tps80031.o obj-$(CONFIG_MENELAUS) += menelaus.o obj-$(CONFIG_TWL4030_CORE) += twl-core.o twl4030-irq.o twl6030-irq.o obj-$(CONFIG_TWL4030_POWER) += twl4030-power.o obj-$(CONFIG_MFD_TWL4030_AUDIO) += twl4030-audio.o obj-$(CONFIG_TWL6040_CORE) += twl6040.o obj-$(CONFIG_MFD_MX25_TSADC) += fsl-imx25-tsadc.o obj-$(CONFIG_MFD_MC13XXX) += mc13xxx-core.o obj-$(CONFIG_MFD_MC13XXX_SPI) += mc13xxx-spi.o obj-$(CONFIG_MFD_MC13XXX_I2C) += mc13xxx-i2c.o obj-$(CONFIG_MFD_CORE) += mfd-core.o obj-$(CONFIG_EZX_PCAP) += ezx-pcap.o obj-$(CONFIG_MFD_CPCAP) += motorola-cpcap.o obj-$(CONFIG_MCP) += mcp-core.o obj-$(CONFIG_MCP_SA11X0) += mcp-sa11x0.o obj-$(CONFIG_MCP_UCB1200) += ucb1x00-core.o obj-$(CONFIG_MFD_SMSC) += smsc-ece1099.o obj-$(CONFIG_MCP_UCB1200_TS) += ucb1x00-ts.o ifeq ($(CONFIG_SA1100_ASSABET),y) obj-$(CONFIG_MCP_UCB1200) += ucb1x00-assabet.o endif obj-$(CONFIG_UCB1400_CORE) += ucb1400_core.o obj-$(CONFIG_PMIC_DA903X) += da903x.o obj-$(CONFIG_PMIC_DA9052) += da9052-irq.o obj-$(CONFIG_PMIC_DA9052) += da9052-core.o obj-$(CONFIG_MFD_DA9052_SPI) += da9052-spi.o obj-$(CONFIG_MFD_DA9052_I2C) += da9052-i2c.o obj-$(CONFIG_MFD_AC100) += ac100.o obj-$(CONFIG_MFD_AXP20X) += axp20x.o obj-$(CONFIG_MFD_AXP20X_I2C) += axp20x-i2c.o obj-$(CONFIG_MFD_AXP20X_RSB) += axp20x-rsb.o obj-$(CONFIG_MFD_LP3943) += lp3943.o obj-$(CONFIG_MFD_LP8788) += lp8788.o lp8788-irq.o obj-$(CONFIG_MFD_TI_LMU) += ti-lmu.o da9055-objs := da9055-core.o da9055-i2c.o obj-$(CONFIG_MFD_DA9055) += da9055.o obj-$(CONFIG_MFD_DA9062) += da9062-core.o da9063-objs := da9063-core.o da9063-irq.o da9063-i2c.o obj-$(CONFIG_MFD_DA9063) += da9063.o obj-$(CONFIG_MFD_DA9150) += da9150-core.o obj-$(CONFIG_MFD_MAX14577) += max14577.o obj-$(CONFIG_MFD_MAX77620) += max77620.o obj-$(CONFIG_MFD_MAX77650) += max77650.o obj-$(CONFIG_MFD_MAX77686) += max77686.o obj-$(CONFIG_MFD_MAX77693) += max77693.o obj-$(CONFIG_MFD_MAX77843) += max77843.o obj-$(CONFIG_MFD_MAX8907) += max8907.o max8925-objs := max8925-core.o max8925-i2c.o obj-$(CONFIG_MFD_MAX8925) += max8925.o obj-$(CONFIG_MFD_MAX8997) += max8997.o max8997-irq.o obj-$(CONFIG_MFD_MAX8998) += max8998.o max8998-irq.o pcf50633-objs := pcf50633-core.o pcf50633-irq.o obj-$(CONFIG_MFD_PCF50633) += pcf50633.o obj-$(CONFIG_PCF50633_ADC) += pcf50633-adc.o obj-$(CONFIG_PCF50633_GPIO) += pcf50633-gpio.o obj-$(CONFIG_ABX500_CORE) += abx500-core.o obj-$(CONFIG_AB3100_CORE) += ab3100-core.o obj-$(CONFIG_AB3100_OTP) += ab3100-otp.o obj-$(CONFIG_AB8500_DEBUG) += ab8500-debugfs.o obj-$(CONFIG_AB8500_GPADC) += ab8500-gpadc.o obj-$(CONFIG_MFD_DB8500_PRCMU) += db8500-prcmu.o # ab8500-core need to come after db8500-prcmu (which provides the channel) obj-$(CONFIG_AB8500_CORE) += ab8500-core.o ab8500-sysctrl.o obj-$(CONFIG_MFD_TIMBERDALE) += timberdale.o obj-$(CONFIG_PMIC_ADP5520) += adp5520.o obj-$(CONFIG_MFD_KEMPLD) += kempld-core.o obj-$(CONFIG_MFD_INTEL_QUARK_I2C_GPIO) += intel_quark_i2c_gpio.o obj-$(CONFIG_LPC_SCH) += lpc_sch.o obj-$(CONFIG_LPC_ICH) += lpc_ich.o obj-$(CONFIG_MFD_RDC321X) += rdc321x-southbridge.o obj-$(CONFIG_MFD_JANZ_CMODIO) += janz-cmodio.o obj-$(CONFIG_MFD_TPS6586X) += tps6586x.o obj-$(CONFIG_MFD_VX855) += vx855.o obj-$(CONFIG_MFD_WL1273_CORE) += wl1273-core.o si476x-core-y := si476x-cmd.o si476x-prop.o si476x-i2c.o obj-$(CONFIG_MFD_SI476X_CORE) += si476x-core.o obj-$(CONFIG_MFD_CS5535) += cs5535-mfd.o obj-$(CONFIG_MFD_OMAP_USB_HOST) += omap-usb-host.o omap-usb-tll.o obj-$(CONFIG_MFD_PM8XXX) += qcom-pm8xxx.o ssbi.o obj-$(CONFIG_MFD_QCOM_RPM) += qcom_rpm.o obj-$(CONFIG_MFD_SPMI_PMIC) += qcom-spmi-pmic.o obj-$(CONFIG_TPS65911_COMPARATOR) += tps65911-comparator.o obj-$(CONFIG_MFD_TPS65090) += tps65090.o obj-$(CONFIG_MFD_AAT2870_CORE) += aat2870-core.o obj-$(CONFIG_MFD_AT91_USART) += at91-usart.o obj-$(CONFIG_MFD_ATMEL_FLEXCOM) += atmel-flexcom.o obj-$(CONFIG_MFD_ATMEL_HLCDC) += atmel-hlcdc.o obj-$(CONFIG_MFD_ATMEL_SMC) += atmel-smc.o obj-$(CONFIG_MFD_INTEL_LPSS) += intel-lpss.o obj-$(CONFIG_MFD_INTEL_LPSS_PCI) += intel-lpss-pci.o obj-$(CONFIG_MFD_INTEL_LPSS_ACPI) += intel-lpss-acpi.o obj-$(CONFIG_MFD_INTEL_MSIC) += intel_msic.o obj-$(CONFIG_MFD_PALMAS) += palmas.o obj-$(CONFIG_MFD_VIPERBOARD) += viperboard.o obj-$(CONFIG_MFD_RC5T583) += rc5t583.o rc5t583-irq.o obj-$(CONFIG_MFD_RK808) += rk808.o obj-$(CONFIG_MFD_RN5T618) += rn5t618.o obj-$(CONFIG_MFD_SEC_CORE) += sec-core.o sec-irq.o obj-$(CONFIG_MFD_SYSCON) += syscon.o obj-$(CONFIG_MFD_LM3533) += lm3533-core.o lm3533-ctrlbank.o obj-$(CONFIG_MFD_VEXPRESS_SYSREG) += vexpress-sysreg.o obj-$(CONFIG_MFD_RETU) += retu-mfd.o obj-$(CONFIG_MFD_AS3711) += as3711.o obj-$(CONFIG_MFD_AS3722) += as3722.o obj-$(CONFIG_MFD_STW481X) += stw481x.o obj-$(CONFIG_MFD_IPAQ_MICRO) += ipaq-micro.o obj-$(CONFIG_MFD_MENF21BMC) += menf21bmc.o obj-$(CONFIG_MFD_HI6421_PMIC) += hi6421-pmic-core.o obj-$(CONFIG_MFD_HI655X_PMIC) += hi655x-pmic.o obj-$(CONFIG_MFD_DLN2) += dln2.o obj-$(CONFIG_MFD_RT5033) += rt5033.o obj-$(CONFIG_MFD_SKY81452) += sky81452.o intel-soc-pmic-objs := intel_soc_pmic_core.o intel_soc_pmic_crc.o obj-$(CONFIG_INTEL_SOC_PMIC) += intel-soc-pmic.o obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC) += intel_soc_pmic_bxtwc.o obj-$(CONFIG_INTEL_SOC_PMIC_CHTWC) += intel_soc_pmic_chtwc.o obj-$(CONFIG_INTEL_SOC_PMIC_CHTDC_TI) += intel_soc_pmic_chtdc_ti.o mt6397-objs := mt6397-core.o mt6397-irq.o obj-$(CONFIG_MFD_MT6397) += mt6397.o obj-$(CONFIG_INTEL_SOC_PMIC_MRFLD) += intel_soc_pmic_mrfld.o obj-$(CONFIG_MFD_ALTERA_A10SR) += altera-a10sr.o obj-$(CONFIG_MFD_ALTERA_SYSMGR) += altera-sysmgr.o obj-$(CONFIG_MFD_STPMIC1) += stpmic1.o obj-$(CONFIG_MFD_SUN4I_GPADC) += sun4i-gpadc.o obj-$(CONFIG_MFD_STM32_LPTIMER) += stm32-lptimer.o obj-$(CONFIG_MFD_STM32_TIMERS) += stm32-timers.o obj-$(CONFIG_MFD_MXS_LRADC) += mxs-lradc.o obj-$(CONFIG_MFD_SC27XX_PMIC) += sprd-sc27xx-spi.o obj-$(CONFIG_RAVE_SP_CORE) += rave-sp.o obj-$(CONFIG_MFD_ROHM_BD70528) += rohm-bd70528.o obj-$(CONFIG_MFD_ROHM_BD718XX) += rohm-bd718x7.o obj-$(CONFIG_MFD_STMFX) += stmfx.o obj-$(CONFIG_MFD_AHC1EC0) += ahc1ec0.o regulator/Kconfig 0000644 00000105455 14722053666 0010100 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig REGULATOR bool "Voltage and Current Regulator Support" help Generic Voltage and Current Regulator support. This framework is designed to provide a generic interface to voltage and current regulators within the Linux kernel. It's intended to provide voltage and current control to client or consumer drivers and also provide status information to user space applications through a sysfs interface. The intention is to allow systems to dynamically control regulator output in order to save power and prolong battery life. This applies to both voltage regulators (where voltage output is controllable) and current sinks (where current output is controllable). This framework safely compiles out if not selected so that client drivers can still be used in systems with no software controllable regulators. If unsure, say no. if REGULATOR config REGULATOR_DEBUG bool "Regulator debug support" help Say yes here to enable debugging support. config REGULATOR_FIXED_VOLTAGE tristate "Fixed voltage regulator support" help This driver provides support for fixed voltage regulators, useful for systems which use a combination of software managed regulators and simple non-configurable regulators. config REGULATOR_VIRTUAL_CONSUMER tristate "Virtual regulator consumer support" help This driver provides a virtual consumer for the voltage and current regulator API which provides sysfs controls for configuring the supplies requested. This is mainly useful for test purposes. If unsure, say no. config REGULATOR_USERSPACE_CONSUMER tristate "Userspace regulator consumer support" help There are some classes of devices that are controlled entirely from user space. Userspace consumer driver provides ability to control power supplies for such devices. If unsure, say no. config REGULATOR_88PG86X tristate "Marvell 88PG86X voltage regulators" depends on I2C select REGMAP_I2C help This driver supports Marvell 88PG867 and 88PG868 voltage regulators. They provide two I2C-controlled DC/DC step-down converters with sleep mode and separate enable pins. config REGULATOR_88PM800 tristate "Marvell 88PM800 Power regulators" depends on MFD_88PM800 help This driver supports Marvell 88PM800 voltage regulator chips. It delivers digitally programmable output, the voltage is programmed via I2C interface. It's suitable to support PXA988 chips to control VCC_MAIN and various voltages. config REGULATOR_88PM8607 tristate "Marvell 88PM8607 Power regulators" depends on MFD_88PM860X=y help This driver supports 88PM8607 voltage regulator chips. config REGULATOR_ACT8865 tristate "Active-semi act8865 voltage regulator" depends on I2C depends on POWER_SUPPLY select REGMAP_I2C help This driver controls a active-semi act8865 voltage output regulator via I2C bus. config REGULATOR_ACT8945A tristate "Active-semi ACT8945A voltage regulator" depends on MFD_ACT8945A help This driver controls a active-semi ACT8945A voltage regulator via I2C bus. The ACT8945A features three step-down DC/DC converters and four low-dropout linear regulators, along with a ActivePath battery charger. config REGULATOR_AD5398 tristate "Analog Devices AD5398/AD5821 regulators" depends on I2C help This driver supports AD5398 and AD5821 current regulator chips. If building into module, its name is ad5398.ko. config REGULATOR_ANATOP tristate "Freescale i.MX on-chip ANATOP LDO regulators" depends on MFD_SYSCON help Say y here to support Freescale i.MX on-chip ANATOP LDOs regulators. It is recommended that this option be enabled on i.MX6 platform. config REGULATOR_AAT2870 tristate "AnalogicTech AAT2870 Regulators" depends on MFD_AAT2870_CORE help If you have a AnalogicTech AAT2870 say Y to enable the regulator driver. config REGULATOR_AB3100 tristate "ST-Ericsson AB3100 Regulator functions" depends on AB3100_CORE default y if AB3100_CORE help These regulators correspond to functionality in the AB3100 analog baseband dealing with power regulators for the system. config REGULATOR_AB8500 bool "ST-Ericsson AB8500 Power Regulators" depends on AB8500_CORE help This driver supports the regulators found on the ST-Ericsson mixed signal AB8500 PMIC config REGULATOR_ARIZONA_LDO1 tristate "Cirrus Madera and Wolfson Arizona class devices LDO1" depends on MFD_ARIZONA || MFD_MADERA depends on SND_SOC help Support for the LDO1 regulators found on Cirrus Logic Madera codecs and Wolfson Microelectronic Arizona codecs. config REGULATOR_ARIZONA_MICSUPP tristate "Cirrus Madera and Wolfson Arizona class devices MICSUPP" depends on MFD_ARIZONA || MFD_MADERA depends on SND_SOC help Support for the MICSUPP regulators found on Cirrus Logic Madera codecs and Wolfson Microelectronic Arizona codecs devices. config REGULATOR_AS3711 tristate "AS3711 PMIC" depends on MFD_AS3711 help This driver provides support for the voltage regulators on the AS3711 PMIC config REGULATOR_AS3722 tristate "AMS AS3722 PMIC Regulators" depends on MFD_AS3722 help This driver provides support for the voltage regulators on the AS3722 PMIC. This will enable support for all the software controllable DCDC/LDO regulators. config REGULATOR_AXP20X tristate "X-POWERS AXP20X PMIC Regulators" depends on MFD_AXP20X help This driver provides support for the voltage regulators on the AXP20X PMIC. config REGULATOR_BCM590XX tristate "Broadcom BCM590xx PMU Regulators" depends on MFD_BCM590XX help This driver provides support for the voltage regulators on the BCM590xx PMUs. This will enable support for the software controllable LDO/Switching regulators. config REGULATOR_BD70528 tristate "ROHM BD70528 Power Regulator" depends on MFD_ROHM_BD70528 help This driver supports voltage regulators on ROHM BD70528 PMIC. This will enable support for the software controllable buck and LDO regulators. This driver can also be built as a module. If so, the module will be called bd70528-regulator. config REGULATOR_BD718XX tristate "ROHM BD71837 Power Regulator" depends on MFD_ROHM_BD718XX help This driver supports voltage regulators on ROHM BD71837 PMIC. This will enable support for the software controllable buck and LDO regulators. This driver can also be built as a module. If so, the module will be called bd718x7-regulator. config REGULATOR_BD9571MWV tristate "ROHM BD9571MWV Regulators" depends on MFD_BD9571MWV help This driver provides support for the voltage regulators on the ROHM BD9571MWV PMIC. This will enable support for the software controllable regulator and voltage sampling units. This driver can also be built as a module. If so, the module will be called bd9571mwv-regulator. config REGULATOR_CPCAP tristate "Motorola CPCAP regulator" depends on MFD_CPCAP help Say y here for CPCAP regulator found on some Motorola phones and tablets such as Droid 4. config REGULATOR_DA903X tristate "Dialog Semiconductor DA9030/DA9034 regulators" depends on PMIC_DA903X depends on !CC_IS_CLANG # https://bugs.llvm.org/show_bug.cgi?id=38789 help Say y here to support the BUCKs and LDOs regulators found on Dialog Semiconductor DA9030/DA9034 PMIC. config REGULATOR_DA9052 tristate "Dialog Semiconductor DA9052/DA9053 regulators" depends on PMIC_DA9052 help This driver supports the voltage regulators of DA9052-BC and DA9053-AA/Bx PMIC. config REGULATOR_DA9055 tristate "Dialog Semiconductor DA9055 regulators" depends on MFD_DA9055 help Say y here to support the BUCKs and LDOs regulators found on Dialog Semiconductor DA9055 PMIC. This driver can also be built as a module. If so, the module will be called da9055-regulator. config REGULATOR_DA9062 tristate "Dialog Semiconductor DA9061/62 regulators" depends on MFD_DA9062 help Say y here to support the BUCKs and LDOs regulators found on DA9061 and DA9062 PMICs. This driver can also be built as a module. If so, the module will be called da9062-regulator. config REGULATOR_DA9063 tristate "Dialog Semiconductor DA9063 regulators" depends on MFD_DA9063 && OF help Say y here to support the BUCKs and LDOs regulators found on DA9063 PMICs. This driver can also be built as a module. If so, the module will be called da9063-regulator. config REGULATOR_DA9210 tristate "Dialog Semiconductor DA9210 regulator" depends on I2C select REGMAP_I2C help Say y here to support for the Dialog Semiconductor DA9210. The DA9210 is a multi-phase synchronous step down converter 12A DC-DC Buck controlled through an I2C interface. config REGULATOR_DA9211 tristate "Dialog Semiconductor DA9211/DA9212/DA9213/DA9223/DA9214/DA9224/DA9215/DA9225 regulator" depends on I2C select REGMAP_I2C help Say y here to support for the Dialog Semiconductor DA9211/DA9212 /DA9213/DA9214/DA9215. The DA9211/DA9212/DA9213/DA9214/DA9215 is a multi-phase synchronous step down converter 12A or 16A DC-DC Buck controlled through an I2C interface. config REGULATOR_DBX500_PRCMU bool config REGULATOR_DB8500_PRCMU bool "ST-Ericsson DB8500 Voltage Domain Regulators" depends on MFD_DB8500_PRCMU select REGULATOR_DBX500_PRCMU help This driver supports the voltage domain regulators controlled by the DB8500 PRCMU config REGULATOR_FAN53555 tristate "Fairchild FAN53555 Regulator" depends on I2C select REGMAP_I2C help This driver supports Fairchild FAN53555 Digitally Programmable TinyBuck Regulator. The FAN53555 is a step-down switching voltage regulator that delivers a digitally programmable output from an input voltage supply of 2.5V to 5.5V. The output voltage is programmed through an I2C interface. config REGULATOR_GPIO tristate "GPIO regulator support" depends on GPIOLIB || COMPILE_TEST help This driver provides support for regulators that can be controlled via gpios. It is capable of supporting current and voltage regulators and the platform has to provide a mapping of GPIO-states to target volts/amps. config REGULATOR_HI6421 tristate "HiSilicon Hi6421 PMIC voltage regulator support" depends on MFD_HI6421_PMIC && OF help This driver provides support for the voltage regulators on the HiSilicon Hi6421 PMU / Codec IC. Hi6421 is a multi-function device which, on regulator part, provides 21 general purpose LDOs, 3 dedicated LDOs, and 5 BUCKs. All of them come with support to either ECO (idle) or sleep mode. config REGULATOR_HI6421V530 tristate "HiSilicon Hi6421v530 PMIC voltage regulator support" depends on MFD_HI6421_PMIC && OF help This driver provides support for the voltage regulators on HiSilicon Hi6421v530 PMU / Codec IC. Hi6421v530 is a multi-function device which, on regulator part, provides 5 general purpose LDOs, and all of them come with support to either ECO (idle) or sleep mode. config REGULATOR_HI655X tristate "Hisilicon HI655X PMIC regulators support" depends on ARCH_HISI || COMPILE_TEST depends on MFD_HI655X_PMIC && OF help This driver provides support for the voltage regulators of the Hisilicon Hi655x PMIC device. config REGULATOR_ISL9305 tristate "Intersil ISL9305 regulator" depends on I2C select REGMAP_I2C help This driver supports ISL9305 voltage regulator chip. config REGULATOR_ISL6271A tristate "Intersil ISL6271A Power regulator" depends on I2C help This driver supports ISL6271A voltage regulator chip. config REGULATOR_LM363X tristate "TI LM363X voltage regulators" depends on MFD_TI_LMU help This driver supports LM3631, LM3632 and LM36274 voltage regulators for the LCD bias. One boost output voltage is configurable and always on. Other LDOs are used for the display module. config REGULATOR_LOCHNAGAR tristate "Cirrus Logic Lochnagar regulator driver" depends on MFD_LOCHNAGAR help This enables regulator support on the Cirrus Logic Lochnagar audio development board. config REGULATOR_LP3971 tristate "National Semiconductors LP3971 PMIC regulator driver" depends on I2C help Say Y here to support the voltage regulators and convertors on National Semiconductors LP3971 PMIC config REGULATOR_LP3972 tristate "National Semiconductors LP3972 PMIC regulator driver" depends on I2C help Say Y here to support the voltage regulators and convertors on National Semiconductors LP3972 PMIC config REGULATOR_LP872X tristate "TI/National Semiconductor LP8720/LP8725 voltage regulators" depends on I2C select REGMAP_I2C help This driver supports LP8720/LP8725 PMIC config REGULATOR_LP873X tristate "TI LP873X Power regulators" depends on MFD_TI_LP873X && OF help This driver supports LP873X voltage regulator chips. LP873X provides two step-down converters and two general-purpose LDO voltage regulators. It supports software based voltage control for different voltage domains config REGULATOR_LP8755 tristate "TI LP8755 High Performance PMU driver" depends on I2C select REGMAP_I2C help This driver supports LP8755 High Performance PMU driver. This chip contains six step-down DC/DC converters which can support 9 mode multiphase configuration. config REGULATOR_LP87565 tristate "TI LP87565 Power regulators" depends on MFD_TI_LP87565 && OF help This driver supports LP87565 voltage regulator chips. LP87565 provides four step-down converters. It supports software based voltage control for different voltage domains config REGULATOR_LP8788 tristate "TI LP8788 Power Regulators" depends on MFD_LP8788 help This driver supports LP8788 voltage regulator chip. config REGULATOR_LTC3589 tristate "LTC3589 8-output voltage regulator" depends on I2C select REGMAP_I2C help This enables support for the LTC3589, LTC3589-1, and LTC3589-2 8-output regulators controlled via I2C. config REGULATOR_LTC3676 tristate "LTC3676 8-output voltage regulator" depends on I2C select REGMAP_I2C help This enables support for the LTC3676 8-output regulators controlled via I2C. config REGULATOR_MAX14577 tristate "Maxim 14577/77836 regulator" depends on MFD_MAX14577 help This driver controls a Maxim MAX14577/77836 regulator via I2C bus. The MAX14577 regulators include safeout LDO and charger current regulator. The MAX77836 has two additional LDOs. config REGULATOR_MAX1586 tristate "Maxim 1586/1587 voltage regulator" depends on I2C help This driver controls a Maxim 1586 or 1587 voltage output regulator via I2C bus. The provided regulator is suitable for PXA27x chips to control VCC_CORE and VCC_USIM voltages. config REGULATOR_MAX77620 tristate "Maxim 77620/MAX20024 voltage regulator" depends on MFD_MAX77620 help This driver controls Maxim MAX77620 voltage output regulator via I2C bus. The provided regulator is suitable for Tegra chip to control Step-Down DC-DC and LDOs. Say Y here to enable the regulator driver. config REGULATOR_MAX77650 tristate "Maxim MAX77650/77651 regulator support" depends on MFD_MAX77650 help Regulator driver for MAX77650/77651 PMIC from Maxim Semiconductor. This device has a SIMO with three independent power rails and an LDO. config REGULATOR_MAX8649 tristate "Maxim 8649 voltage regulator" depends on I2C select REGMAP_I2C help This driver controls a Maxim 8649 voltage output regulator via I2C bus. config REGULATOR_MAX8660 tristate "Maxim 8660/8661 voltage regulator" depends on I2C help This driver controls a Maxim 8660/8661 voltage output regulator via I2C bus. config REGULATOR_MAX8907 tristate "Maxim 8907 voltage regulator" depends on MFD_MAX8907 help This driver controls a Maxim 8907 voltage output regulator via I2C bus. The provided regulator is suitable for Tegra chip to control Step-Down DC-DC and LDOs. config REGULATOR_MAX8925 tristate "Maxim MAX8925 Power Management IC" depends on MFD_MAX8925 help Say y here to support the voltage regulator of Maxim MAX8925 PMIC. config REGULATOR_MAX8952 tristate "Maxim MAX8952 Power Management IC" depends on I2C help This driver controls a Maxim 8952 voltage output regulator via I2C bus. Maxim 8952 has one voltage output and supports 4 DVS modes ranging from 0.77V to 1.40V by 0.01V steps. config REGULATOR_MAX8973 tristate "Maxim MAX8973 voltage regulator " depends on I2C depends on THERMAL && THERMAL_OF select REGMAP_I2C help The MAXIM MAX8973 high-efficiency. three phase, DC-DC step-down switching regulator delivers up to 9A of output current. Each phase operates at a 2MHz fixed frequency with a 120 deg shift from the adjacent phase, allowing the use of small magnetic component. config REGULATOR_MAX8997 tristate "Maxim 8997/8966 regulator" depends on MFD_MAX8997 help This driver controls a Maxim 8997/8966 regulator via I2C bus. The provided regulator is suitable for S5PC110, S5PV210, and Exynos-4 chips to control VCC_CORE and VCC_USIM voltages. config REGULATOR_MAX8998 tristate "Maxim 8998 voltage regulator" depends on MFD_MAX8998 help This driver controls a Maxim 8998 voltage output regulator via I2C bus. The provided regulator is suitable for S3C6410 and S5PC1XX chips to control VCC_CORE and VCC_USIM voltages. config REGULATOR_MAX77686 tristate "Maxim 77686 regulator" depends on MFD_MAX77686 help This driver controls a Maxim 77686 regulator via I2C bus. The provided regulator is suitable for Exynos-4 chips to control VARM and VINT voltages. config REGULATOR_MAX77693 tristate "Maxim 77693/77843 regulator" depends on (MFD_MAX77693 || MFD_MAX77843) help This driver controls a Maxim 77693/77843 regulators via I2C bus. The regulators include two LDOs, 'SAFEOUT1', 'SAFEOUT2' and one current regulator 'CHARGER'. This is suitable for Exynos-4x12 (MAX77693) or Exynos5433 (MAX77843) SoC chips. config REGULATOR_MAX77802 tristate "Maxim 77802 regulator" depends on MFD_MAX77686 help This driver controls a Maxim 77802 regulator via I2C bus. The provided regulator is suitable for Exynos5420/Exynos5800 SoCs to control various voltages. It includes support for control of voltage and ramp speed. config REGULATOR_MC13XXX_CORE tristate config REGULATOR_MC13783 tristate "Freescale MC13783 regulator driver" depends on MFD_MC13XXX select REGULATOR_MC13XXX_CORE help Say y here to support the regulators found on the Freescale MC13783 PMIC. config REGULATOR_MC13892 tristate "Freescale MC13892 regulator driver" depends on MFD_MC13XXX select REGULATOR_MC13XXX_CORE help Say y here to support the regulators found on the Freescale MC13892 PMIC. config REGULATOR_MCP16502 tristate "Microchip MCP16502 PMIC" depends on I2C && OF select REGMAP_I2C help Say y here to support the MCP16502 PMIC. This driver supports basic operations (get/set voltage, get/set operating mode) through the regulator interface. In addition it enables suspend-to-ram/standby transition. config REGULATOR_MT6311 tristate "MediaTek MT6311 PMIC" depends on I2C select REGMAP_I2C help Say y here to select this option to enable the power regulator of MediaTek MT6311 PMIC. This driver supports the control of different power rails of device through regulator interface. config REGULATOR_MT6323 tristate "MediaTek MT6323 PMIC" depends on MFD_MT6397 help Say y here to select this option to enable the power regulator of MediaTek MT6323 PMIC. This driver supports the control of different power rails of device through regulator interface. config REGULATOR_MT6358 tristate "MediaTek MT6358 PMIC" depends on MFD_MT6397 && BROKEN help Say y here to select this option to enable the power regulator of MediaTek MT6358 PMIC. This driver supports the control of different power rails of device through regulator interface. config REGULATOR_MT6380 tristate "MediaTek MT6380 PMIC" depends on MTK_PMIC_WRAP help Say y here to select this option to enable the power regulator of MediaTek MT6380 PMIC. This driver supports the control of different power rails of device through regulator interface. config REGULATOR_MT6397 tristate "MediaTek MT6397 PMIC" depends on MFD_MT6397 help Say y here to select this option to enable the power regulator of MediaTek MT6397 PMIC. This driver supports the control of different power rails of device through regulator interface. config REGULATOR_PALMAS tristate "TI Palmas PMIC Regulators" depends on MFD_PALMAS help If you wish to control the regulators on the Palmas series of chips say Y here. This will enable support for all the software controllable SMPS/LDO regulators. The regulators available on Palmas series chips vary depending on the muxing. This is handled automatically in the driver by reading the mux info from OTP. config REGULATOR_PBIAS tristate "PBIAS OMAP regulator driver" depends on (ARCH_OMAP || COMPILE_TEST) && MFD_SYSCON help Say y here to support pbias regulator for mmc1:SD card i/o on OMAP SoCs. This driver provides support for OMAP pbias modelled regulators. config REGULATOR_PCAP tristate "Motorola PCAP2 regulator driver" depends on EZX_PCAP help This driver provides support for the voltage regulators of the PCAP2 PMIC. config REGULATOR_PCF50633 tristate "NXP PCF50633 regulator driver" depends on MFD_PCF50633 help Say Y here to support the voltage regulators and converters on PCF50633 config REGULATOR_PFUZE100 tristate "Freescale PFUZE100/200/3000/3001 regulator driver" depends on I2C select REGMAP_I2C help Say y here to support the regulators found on the Freescale PFUZE100/200/3000/3001 PMIC. config REGULATOR_PV88060 tristate "Powerventure Semiconductor PV88060 regulator" depends on I2C select REGMAP_I2C help Say y here to support the voltage regulators and convertors PV88060 config REGULATOR_PV88080 tristate "Powerventure Semiconductor PV88080 regulator" depends on I2C select REGMAP_I2C help Say y here to support the buck convertors on PV88080 config REGULATOR_PV88090 tristate "Powerventure Semiconductor PV88090 regulator" depends on I2C select REGMAP_I2C help Say y here to support the voltage regulators and convertors on PV88090 config REGULATOR_PWM tristate "PWM voltage regulator" depends on PWM help This driver supports PWM controlled voltage regulators. PWM duty cycle can increase or decrease the voltage. config REGULATOR_QCOM_RPM tristate "Qualcomm RPM regulator driver" depends on MFD_QCOM_RPM help If you say yes to this option, support will be included for the regulators exposed by the Resource Power Manager found in Qualcomm 8660, 8960 and 8064 based devices. Say M here if you want to include support for the regulators on the Qualcomm RPM as a module. The module will be named "qcom_rpm-regulator". config REGULATOR_QCOM_RPMH tristate "Qualcomm Technologies, Inc. RPMh regulator driver" depends on QCOM_RPMH || COMPILE_TEST help This driver supports control of PMIC regulators via the RPMh hardware block found on Qualcomm Technologies Inc. SoCs. RPMh regulator control allows for voting on regulator state between multiple processors within the SoC. config REGULATOR_QCOM_SMD_RPM tristate "Qualcomm SMD based RPM regulator driver" depends on QCOM_SMD_RPM help If you say yes to this option, support will be included for the regulators exposed by the Resource Power Manager found in Qualcomm 8974 based devices. Say M here if you want to include support for the regulators on the Qualcomm RPM as a module. The module will be named "qcom_smd-regulator". config REGULATOR_QCOM_SPMI tristate "Qualcomm SPMI regulator driver" depends on SPMI || COMPILE_TEST help If you say yes to this option, support will be included for the regulators found in Qualcomm SPMI PMICs. Say M here if you want to include support for the regulators on the Qualcomm SPMI PMICs as a module. The module will be named "qcom_spmi-regulator". config REGULATOR_RC5T583 tristate "RICOH RC5T583 Power regulators" depends on MFD_RC5T583 help Select this option to enable the power regulator of RICOH PMIC RC5T583. This driver supports the control of different power rails of device through regulator interface. The device supports multiple DCDC/LDO outputs which can be controlled by i2c communication. config REGULATOR_RK808 tristate "Rockchip RK805/RK808/RK809/RK817/RK818 Power regulators" depends on MFD_RK808 help Select this option to enable the power regulator of ROCKCHIP PMIC RK805,RK809&RK817,RK808 and RK818. This driver supports the control of different power rails of device through regulator interface. The device supports multiple DCDC/LDO outputs which can be controlled by i2c communication. config REGULATOR_RN5T618 tristate "Ricoh RN5T567/618 voltage regulators" depends on MFD_RN5T618 help Say y here to support the regulators found on Ricoh RN5T567, RN5T618 or RC5T619 PMIC. config REGULATOR_RT5033 tristate "Richtek RT5033 Regulators" depends on MFD_RT5033 help This adds support for voltage and current regulators in Richtek RT5033 PMIC. The device supports multiple regulators like current source, LDO and Buck. config REGULATOR_S2MPA01 tristate "Samsung S2MPA01 voltage regulator" depends on MFD_SEC_CORE help This driver controls Samsung S2MPA01 voltage output regulator via I2C bus. S2MPA01 has 10 Bucks and 26 LDO outputs. config REGULATOR_S2MPS11 tristate "Samsung S2MPS11/13/14/15/S2MPU02 voltage regulator" depends on MFD_SEC_CORE help This driver supports a Samsung S2MPS11/13/14/15/S2MPU02 voltage output regulator via I2C bus. The chip is comprised of high efficient Buck converters including Dual-Phase Buck converter, Buck-Boost converter, various LDOs. config REGULATOR_S5M8767 tristate "Samsung S5M8767A voltage regulator" depends on MFD_SEC_CORE help This driver supports a Samsung S5M8767A voltage output regulator via I2C bus. S5M8767A have 9 Bucks and 28 LDOs output and supports DVS mode with 8bits of output voltage control. config REGULATOR_SC2731 tristate "Spreadtrum SC2731 power regulator driver" depends on MFD_SC27XX_PMIC || COMPILE_TEST help This driver provides support for the voltage regulators on the SC2731 PMIC. config REGULATOR_SKY81452 tristate "Skyworks Solutions SKY81452 voltage regulator" depends on MFD_SKY81452 help This driver supports Skyworks SKY81452 voltage output regulator via I2C bus. SKY81452 has one voltage linear regulator can be programmed from 4.5V to 20V. This driver can also be built as a module. If so, the module will be called sky81452-regulator. config REGULATOR_SLG51000 tristate "Dialog Semiconductor SLG51000 regulators" depends on I2C select REGMAP_I2C help Say y here to support for the Dialog Semiconductor SLG51000. The SLG51000 is seven compact and customizable low dropout regulators. config REGULATOR_STM32_BOOSTER tristate "STMicroelectronics STM32 BOOSTER" depends on ARCH_STM32 || COMPILE_TEST help This driver supports internal booster (3V3) embedded in some STMicroelectronics STM32 chips. It can be used to supply ADC analog input switches when vdda supply is below 2.7V. This driver can also be built as a module. If so, the module will be called stm32-booster. config REGULATOR_STM32_VREFBUF tristate "STMicroelectronics STM32 VREFBUF" depends on ARCH_STM32 || COMPILE_TEST help This driver supports STMicroelectronics STM32 VREFBUF (voltage reference buffer) which can be used as voltage reference for internal ADCs, DACs and also for external components through dedicated Vref+ pin. This driver can also be built as a module. If so, the module will be called stm32-vrefbuf. config REGULATOR_STM32_PWR bool "STMicroelectronics STM32 PWR" depends on ARCH_STM32 || COMPILE_TEST help This driver supports internal regulators (1V1, 1V8, 3V3) in the STMicroelectronics STM32 chips. config REGULATOR_STPMIC1 tristate "STMicroelectronics STPMIC1 PMIC Regulators" depends on MFD_STPMIC1 help This driver supports STMicroelectronics STPMIC1 PMIC voltage regulators and switches. The STPMIC1 regulators supply power to an application processor as well as to external system peripherals such as DDR, Flash memories and system devices. To compile this driver as a module, choose M here: the module will be called stpmic1_regulator. config REGULATOR_TI_ABB tristate "TI Adaptive Body Bias on-chip LDO" depends on ARCH_OMAP help Select this option to support Texas Instruments' on-chip Adaptive Body Bias (ABB) LDO regulators. It is recommended that this option be enabled on required TI SoC. Certain Operating Performance Points on TI SoCs may be unstable without enabling this as it provides device specific optimized bias to allow/optimize functionality. config REGULATOR_STW481X_VMMC bool "ST Microelectronics STW481X VMMC regulator" depends on MFD_STW481X || COMPILE_TEST default y if MFD_STW481X help This driver supports the internal VMMC regulator in the STw481x PMIC chips. config REGULATOR_SY8106A tristate "Silergy SY8106A regulator" depends on I2C && (OF || COMPILE_TEST) select REGMAP_I2C help This driver supports SY8106A single output regulator. config REGULATOR_SY8824X tristate "Silergy SY8824C/SY8824E regulator" depends on I2C && (OF || COMPILE_TEST) select REGMAP_I2C help This driver supports SY8824C single output regulator. config REGULATOR_TPS51632 tristate "TI TPS51632 Power Regulator" depends on I2C select REGMAP_I2C help This driver supports TPS51632 voltage regulator chip. The TPS51632 is 3-2-1 Phase D-Cap+ Step Down Driverless Controller with Serial VID control and DVFS. The voltage output can be configure through I2C interface or PWM interface. config REGULATOR_TPS6105X tristate "TI TPS6105X Power regulators" depends on TPS6105X default y if TPS6105X help This driver supports TPS61050/TPS61052 voltage regulator chips. It is a single boost converter primarily for white LEDs and audio amplifiers. config REGULATOR_TPS62360 tristate "TI TPS6236x Power Regulator" depends on I2C select REGMAP_I2C help This driver supports TPS6236x voltage regulator chip. This regulator is meant for processor core supply. This chip is high-frequency synchronous step down dc-dc converter optimized for battery-powered portable applications. config REGULATOR_TPS65023 tristate "TI TPS65023 Power regulators" depends on I2C select REGMAP_I2C help This driver supports TPS65023 voltage regulator chips. TPS65023 provides three step-down converters and two general-purpose LDO voltage regulators. It supports TI's software based Class-2 SmartReflex implementation. config REGULATOR_TPS6507X tristate "TI TPS6507X Power regulators" depends on I2C help This driver supports TPS6507X voltage regulator chips. TPS6507X provides three step-down converters and two general-purpose LDO voltage regulators. It supports TI's software based Class-2 SmartReflex implementation. config REGULATOR_TPS65086 tristate "TI TPS65086 Power regulators" depends on MFD_TPS65086 help This driver provides support for the voltage regulators on TI TPS65086 PMICs. config REGULATOR_TPS65090 tristate "TI TPS65090 Power regulator" depends on MFD_TPS65090 help This driver provides support for the voltage regulators on the TI TPS65090 PMIC. config REGULATOR_TPS65132 tristate "TI TPS65132 Dual Output Power regulators" depends on I2C && GPIOLIB select REGMAP_I2C help This driver supports TPS65132 single inductor - dual output power supply specifically designed for display panels. config REGULATOR_TPS65217 tristate "TI TPS65217 Power regulators" depends on MFD_TPS65217 help This driver supports TPS65217 voltage regulator chips. TPS65217 provides three step-down converters and four general-purpose LDO voltage regulators. It supports software based voltage control for different voltage domains config REGULATOR_TPS65218 tristate "TI TPS65218 Power regulators" depends on MFD_TPS65218 && OF help This driver supports TPS65218 voltage regulator chips. TPS65218 provides six step-down converters and one general-purpose LDO voltage regulators. It supports software based voltage control for different voltage domains config REGULATOR_TPS6524X tristate "TI TPS6524X Power regulators" depends on SPI help This driver supports TPS6524X voltage regulator chips. TPS6524X provides three step-down converters and two general-purpose LDO voltage regulators. This device is interfaced using a customized serial interface currently supported on the sequencer serial port controller. config REGULATOR_TPS6586X tristate "TI TPS6586X Power regulators" depends on MFD_TPS6586X help This driver supports TPS6586X voltage regulator chips. config REGULATOR_TPS65910 tristate "TI TPS65910/TPS65911 Power Regulators" depends on MFD_TPS65910 help This driver supports TPS65910/TPS65911 voltage regulator chips. config REGULATOR_TPS65912 tristate "TI TPS65912 Power regulator" depends on MFD_TPS65912 help This driver supports TPS65912 voltage regulator chip. config REGULATOR_TPS80031 tristate "TI TPS80031/TPS80032 power regulator driver" depends on MFD_TPS80031 help TPS80031/ TPS80032 Fully Integrated Power Management with Power Path and Battery Charger. It has 5 configurable step-down converters, 11 general purpose LDOs, VBUS generator and digital output to control regulators. config REGULATOR_TWL4030 tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0 PMIC" depends on TWL4030_CORE help This driver supports the voltage regulators provided by this family of companion chips. config REGULATOR_UNIPHIER tristate "UniPhier regulator driver" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF select REGMAP_MMIO default ARCH_UNIPHIER help Support for regulators implemented on Socionext UniPhier SoCs. config REGULATOR_VCTRL tristate "Voltage controlled regulators" depends on OF help This driver provides support for voltage regulators whose output voltage is controlled by the voltage of another regulator. config REGULATOR_VEXPRESS tristate "Versatile Express regulators" depends on VEXPRESS_CONFIG help This driver provides support for voltage regulators available on the ARM Ltd's Versatile Express platform. config REGULATOR_WM831X tristate "Wolfson Microelectronics WM831x PMIC regulators" depends on MFD_WM831X help Support the voltage and current regulators of the WM831x series of PMIC devices. config REGULATOR_WM8350 tristate "Wolfson Microelectronics WM8350 AudioPlus PMIC" depends on MFD_WM8350 help This driver provides support for the voltage and current regulators of the WM8350 AudioPlus PMIC. config REGULATOR_WM8400 tristate "Wolfson Microelectronics WM8400 AudioPlus PMIC" depends on MFD_WM8400 help This driver provides support for the voltage regulators of the WM8400 AudioPlus PMIC. config REGULATOR_WM8994 tristate "Wolfson Microelectronics WM8994 CODEC" depends on MFD_WM8994 help This driver provides support for the voltage regulators on the WM8994 CODEC. endif regulator/Makefile 0000644 00000016046 14722053666 0010232 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for regulator drivers. # obj-$(CONFIG_REGULATOR) += core.o dummy.o fixed-helper.o helpers.o devres.o obj-$(CONFIG_OF) += of_regulator.o obj-$(CONFIG_REGULATOR_FIXED_VOLTAGE) += fixed.o obj-$(CONFIG_REGULATOR_VIRTUAL_CONSUMER) += virtual.o obj-$(CONFIG_REGULATOR_USERSPACE_CONSUMER) += userspace-consumer.o obj-$(CONFIG_REGULATOR_88PG86X) += 88pg86x.o obj-$(CONFIG_REGULATOR_88PM800) += 88pm800-regulator.o obj-$(CONFIG_REGULATOR_88PM8607) += 88pm8607.o obj-$(CONFIG_REGULATOR_CPCAP) += cpcap-regulator.o obj-$(CONFIG_REGULATOR_AAT2870) += aat2870-regulator.o obj-$(CONFIG_REGULATOR_AB3100) += ab3100.o obj-$(CONFIG_REGULATOR_AB8500) += ab8500-ext.o ab8500.o obj-$(CONFIG_REGULATOR_ACT8865) += act8865-regulator.o obj-$(CONFIG_REGULATOR_ACT8945A) += act8945a-regulator.o obj-$(CONFIG_REGULATOR_AD5398) += ad5398.o obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o obj-$(CONFIG_REGULATOR_ARIZONA_LDO1) += arizona-ldo1.o obj-$(CONFIG_REGULATOR_ARIZONA_MICSUPP) += arizona-micsupp.o obj-$(CONFIG_REGULATOR_AS3711) += as3711-regulator.o obj-$(CONFIG_REGULATOR_AS3722) += as3722-regulator.o obj-$(CONFIG_REGULATOR_AXP20X) += axp20x-regulator.o obj-$(CONFIG_REGULATOR_BCM590XX) += bcm590xx-regulator.o obj-$(CONFIG_REGULATOR_BD70528) += bd70528-regulator.o obj-$(CONFIG_REGULATOR_BD718XX) += bd718x7-regulator.o obj-$(CONFIG_REGULATOR_BD9571MWV) += bd9571mwv-regulator.o obj-$(CONFIG_REGULATOR_DA903X) += da903x.o obj-$(CONFIG_REGULATOR_DA9052) += da9052-regulator.o obj-$(CONFIG_REGULATOR_DA9055) += da9055-regulator.o obj-$(CONFIG_REGULATOR_DA9062) += da9062-regulator.o obj-$(CONFIG_REGULATOR_DA9063) += da9063-regulator.o obj-$(CONFIG_REGULATOR_DA9210) += da9210-regulator.o obj-$(CONFIG_REGULATOR_DA9211) += da9211-regulator.o obj-$(CONFIG_REGULATOR_DBX500_PRCMU) += dbx500-prcmu.o obj-$(CONFIG_REGULATOR_DB8500_PRCMU) += db8500-prcmu.o obj-$(CONFIG_REGULATOR_FAN53555) += fan53555.o obj-$(CONFIG_REGULATOR_GPIO) += gpio-regulator.o obj-$(CONFIG_REGULATOR_HI6421) += hi6421-regulator.o obj-$(CONFIG_REGULATOR_HI6421V530) += hi6421v530-regulator.o obj-$(CONFIG_REGULATOR_HI655X) += hi655x-regulator.o obj-$(CONFIG_REGULATOR_ISL6271A) += isl6271a-regulator.o obj-$(CONFIG_REGULATOR_ISL9305) += isl9305.o obj-$(CONFIG_REGULATOR_LM363X) += lm363x-regulator.o obj-$(CONFIG_REGULATOR_LOCHNAGAR) += lochnagar-regulator.o obj-$(CONFIG_REGULATOR_LP3971) += lp3971.o obj-$(CONFIG_REGULATOR_LP3972) += lp3972.o obj-$(CONFIG_REGULATOR_LP872X) += lp872x.o obj-$(CONFIG_REGULATOR_LP873X) += lp873x-regulator.o obj-$(CONFIG_REGULATOR_LP87565) += lp87565-regulator.o obj-$(CONFIG_REGULATOR_LP8788) += lp8788-buck.o obj-$(CONFIG_REGULATOR_LP8788) += lp8788-ldo.o obj-$(CONFIG_REGULATOR_LP8755) += lp8755.o obj-$(CONFIG_REGULATOR_LTC3589) += ltc3589.o obj-$(CONFIG_REGULATOR_LTC3676) += ltc3676.o obj-$(CONFIG_REGULATOR_MAX14577) += max14577-regulator.o obj-$(CONFIG_REGULATOR_MAX1586) += max1586.o obj-$(CONFIG_REGULATOR_MAX77620) += max77620-regulator.o obj-$(CONFIG_REGULATOR_MAX77650) += max77650-regulator.o obj-$(CONFIG_REGULATOR_MAX8649) += max8649.o obj-$(CONFIG_REGULATOR_MAX8660) += max8660.o obj-$(CONFIG_REGULATOR_MAX8907) += max8907-regulator.o obj-$(CONFIG_REGULATOR_MAX8925) += max8925-regulator.o obj-$(CONFIG_REGULATOR_MAX8952) += max8952.o obj-$(CONFIG_REGULATOR_MAX8973) += max8973-regulator.o obj-$(CONFIG_REGULATOR_MAX8997) += max8997-regulator.o obj-$(CONFIG_REGULATOR_MAX8998) += max8998.o obj-$(CONFIG_REGULATOR_MAX77686) += max77686-regulator.o obj-$(CONFIG_REGULATOR_MAX77693) += max77693-regulator.o obj-$(CONFIG_REGULATOR_MAX77802) += max77802-regulator.o obj-$(CONFIG_REGULATOR_MC13783) += mc13783-regulator.o obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o obj-$(CONFIG_REGULATOR_MC13XXX_CORE) += mc13xxx-regulator-core.o obj-$(CONFIG_REGULATOR_MCP16502) += mcp16502.o obj-$(CONFIG_REGULATOR_MT6311) += mt6311-regulator.o obj-$(CONFIG_REGULATOR_MT6323) += mt6323-regulator.o obj-$(CONFIG_REGULATOR_MT6358) += mt6358-regulator.o obj-$(CONFIG_REGULATOR_MT6380) += mt6380-regulator.o obj-$(CONFIG_REGULATOR_MT6397) += mt6397-regulator.o obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o obj-$(CONFIG_REGULATOR_QCOM_RPMH) += qcom-rpmh-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o obj-$(CONFIG_REGULATOR_PFUZE100) += pfuze100-regulator.o obj-$(CONFIG_REGULATOR_PV88060) += pv88060-regulator.o obj-$(CONFIG_REGULATOR_PV88080) += pv88080-regulator.o obj-$(CONFIG_REGULATOR_PV88090) += pv88090-regulator.o obj-$(CONFIG_REGULATOR_PWM) += pwm-regulator.o obj-$(CONFIG_REGULATOR_TPS51632) += tps51632-regulator.o obj-$(CONFIG_REGULATOR_PBIAS) += pbias-regulator.o obj-$(CONFIG_REGULATOR_PCAP) += pcap-regulator.o obj-$(CONFIG_REGULATOR_PCF50633) += pcf50633-regulator.o obj-$(CONFIG_REGULATOR_RC5T583) += rc5t583-regulator.o obj-$(CONFIG_REGULATOR_RK808) += rk808-regulator.o obj-$(CONFIG_REGULATOR_RN5T618) += rn5t618-regulator.o obj-$(CONFIG_REGULATOR_RT5033) += rt5033-regulator.o obj-$(CONFIG_REGULATOR_S2MPA01) += s2mpa01.o obj-$(CONFIG_REGULATOR_S2MPS11) += s2mps11.o obj-$(CONFIG_REGULATOR_S5M8767) += s5m8767.o obj-$(CONFIG_REGULATOR_SC2731) += sc2731-regulator.o obj-$(CONFIG_REGULATOR_SKY81452) += sky81452-regulator.o obj-$(CONFIG_REGULATOR_SLG51000) += slg51000-regulator.o obj-$(CONFIG_REGULATOR_STM32_BOOSTER) += stm32-booster.o obj-$(CONFIG_REGULATOR_STM32_VREFBUF) += stm32-vrefbuf.o obj-$(CONFIG_REGULATOR_STM32_PWR) += stm32-pwr.o obj-$(CONFIG_REGULATOR_STPMIC1) += stpmic1_regulator.o obj-$(CONFIG_REGULATOR_STW481X_VMMC) += stw481x-vmmc.o obj-$(CONFIG_REGULATOR_SY8106A) += sy8106a-regulator.o obj-$(CONFIG_REGULATOR_SY8824X) += sy8824x.o obj-$(CONFIG_REGULATOR_TI_ABB) += ti-abb-regulator.o obj-$(CONFIG_REGULATOR_TPS6105X) += tps6105x-regulator.o obj-$(CONFIG_REGULATOR_TPS62360) += tps62360-regulator.o obj-$(CONFIG_REGULATOR_TPS65023) += tps65023-regulator.o obj-$(CONFIG_REGULATOR_TPS6507X) += tps6507x-regulator.o obj-$(CONFIG_REGULATOR_TPS65086) += tps65086-regulator.o obj-$(CONFIG_REGULATOR_TPS65090) += tps65090-regulator.o obj-$(CONFIG_REGULATOR_TPS65217) += tps65217-regulator.o obj-$(CONFIG_REGULATOR_TPS65218) += tps65218-regulator.o obj-$(CONFIG_REGULATOR_TPS6524X) += tps6524x-regulator.o obj-$(CONFIG_REGULATOR_TPS6586X) += tps6586x-regulator.o obj-$(CONFIG_REGULATOR_TPS65910) += tps65910-regulator.o obj-$(CONFIG_REGULATOR_TPS65912) += tps65912-regulator.o obj-$(CONFIG_REGULATOR_TPS80031) += tps80031-regulator.o obj-$(CONFIG_REGULATOR_TPS65132) += tps65132-regulator.o obj-$(CONFIG_REGULATOR_TWL4030) += twl-regulator.o twl6030-regulator.o obj-$(CONFIG_REGULATOR_UNIPHIER) += uniphier-regulator.o obj-$(CONFIG_REGULATOR_VCTRL) += vctrl-regulator.o obj-$(CONFIG_REGULATOR_VEXPRESS) += vexpress-regulator.o obj-$(CONFIG_REGULATOR_WM831X) += wm831x-dcdc.o obj-$(CONFIG_REGULATOR_WM831X) += wm831x-isink.o obj-$(CONFIG_REGULATOR_WM831X) += wm831x-ldo.o obj-$(CONFIG_REGULATOR_WM8350) += wm8350-regulator.o obj-$(CONFIG_REGULATOR_WM8400) += wm8400-regulator.o obj-$(CONFIG_REGULATOR_WM8994) += wm8994-regulator.o ccflags-$(CONFIG_REGULATOR_DEBUG) += -DDEBUG bcma/Kconfig 0000644 00000005410 14722053666 0006764 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config BCMA_POSSIBLE bool depends on HAS_IOMEM && HAS_DMA default y menuconfig BCMA tristate "Broadcom specific AMBA" depends on BCMA_POSSIBLE help Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture. if BCMA # Support for Block-I/O. SELECT this from the driver that needs it. config BCMA_BLOCKIO bool config BCMA_HOST_PCI_POSSIBLE bool depends on PCI = y default y config BCMA_HOST_PCI bool "Support for BCMA on PCI-host bus" depends on BCMA_HOST_PCI_POSSIBLE select BCMA_DRIVER_PCI default y config BCMA_HOST_SOC bool "Support for BCMA in a SoC" depends on HAS_IOMEM help Host interface for a Broadcom AIX bus directly mapped into the memory. This only works with the Broadcom SoCs from the BCM47XX line. If unsure, say N config BCMA_DRIVER_PCI bool "BCMA Broadcom PCI core driver" depends on PCI default y help BCMA bus may have many versions of PCIe core. This driver supports: 1) PCIe core working in clientmode 2) PCIe Gen 2 clientmode core In general PCIe (Gen 2) clientmode core is required on PCIe hosted buses. It's responsible for initialization and basic hardware management. This driver is also prerequisite for a hostmode PCIe core support. config BCMA_DRIVER_PCI_HOSTMODE bool "Driver for PCI core working in hostmode" depends on MIPS && BCMA_DRIVER_PCI && PCI_DRIVERS_LEGACY && BCMA = y help PCI core hostmode operation (external PCI bus). config BCMA_DRIVER_MIPS bool "BCMA Broadcom MIPS core driver" depends on MIPS || COMPILE_TEST help Driver for the Broadcom MIPS core attached to Broadcom specific Advanced Microcontroller Bus. If unsure, say N config BCMA_PFLASH bool depends on BCMA_DRIVER_MIPS default y config BCMA_SFLASH bool "ChipCommon-attached serial flash support" depends on BCMA_HOST_SOC default y help Some cheap devices have serial flash connected to the ChipCommon instead of independent SPI controller. It requires using a separated driver that implements ChipCommon specific interface communication. Enabling this symbol will let bcma recognize serial flash and register it as platform device. config BCMA_NFLASH bool depends on BCMA_DRIVER_MIPS default y config BCMA_DRIVER_GMAC_CMN bool "BCMA Broadcom GBIT MAC COMMON core driver" help Driver for the Broadcom GBIT MAC COMMON core attached to Broadcom specific Advanced Microcontroller Bus. If unsure, say N config BCMA_DRIVER_GPIO bool "BCMA GPIO driver" depends on GPIOLIB select GPIOLIB_IRQCHIP if BCMA_HOST_SOC help Driver to provide access to the GPIO pins of the bcma bus. If unsure, say N config BCMA_DEBUG bool "BCMA debugging" help This turns on additional debugging messages. If unsure, say N endif # BCMA bcma/Makefile 0000644 00000001467 14722053666 0007131 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 bcma-y += main.o scan.o core.o sprom.o bcma-y += driver_chipcommon.o driver_chipcommon_pmu.o bcma-y += driver_chipcommon_b.o bcma-$(CONFIG_BCMA_PFLASH) += driver_chipcommon_pflash.o bcma-$(CONFIG_BCMA_SFLASH) += driver_chipcommon_sflash.o bcma-$(CONFIG_BCMA_NFLASH) += driver_chipcommon_nflash.o bcma-$(CONFIG_BCMA_DRIVER_PCI) += driver_pci.o bcma-$(CONFIG_BCMA_DRIVER_PCI) += driver_pcie2.o bcma-$(CONFIG_BCMA_DRIVER_PCI_HOSTMODE) += driver_pci_host.o bcma-$(CONFIG_BCMA_DRIVER_MIPS) += driver_mips.o bcma-$(CONFIG_BCMA_DRIVER_GMAC_CMN) += driver_gmac_cmn.o bcma-$(CONFIG_BCMA_DRIVER_GPIO) += driver_gpio.o bcma-$(CONFIG_BCMA_HOST_PCI) += host_pci.o bcma-$(CONFIG_BCMA_HOST_SOC) += host_soc.o obj-$(CONFIG_BCMA) += bcma.o ccflags-$(CONFIG_BCMA_DEBUG) := -DDEBUG ata/Kconfig 0000644 00000067172 14722053666 0006644 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # SATA/PATA driver configuration # config HAVE_PATA_PLATFORM bool help This is an internal configuration node for any machine that uses pata-platform driver to enable the relevant driver in the configuration structure without having to submit endless patches to update the PATA_PLATFORM entry. menuconfig ATA tristate "Serial ATA and Parallel ATA drivers (libata)" depends on HAS_IOMEM depends on BLOCK select SCSI select GLOB ---help--- If you want to use an ATA hard disk, ATA tape drive, ATA CD-ROM or any other ATA device under Linux, say Y and make sure that you know the name of your ATA host adapter (the card inside your computer that "speaks" the ATA protocol, also called ATA controller), because you will be asked for it. NOTE: ATA enables basic SCSI support; *however*, 'SCSI disk support', 'SCSI tape support', or 'SCSI CDROM support' may also be needed, depending on your hardware configuration. if ATA config ATA_NONSTANDARD bool config ATA_VERBOSE_ERROR bool "Verbose ATA error reporting" default y help This option adds parsing of ATA command descriptions and error bits in libata kernel output, making it easier to interpret. This option will enlarge the kernel by approx. 6KB. Disable it only if kernel size is more important than ease of debugging. If unsure, say Y. config ATA_ACPI bool "ATA ACPI Support" depends on ACPI default y help This option adds support for ATA-related ACPI objects. These ACPI objects add the ability to retrieve taskfiles from the ACPI BIOS and write them to the disk controller. These objects may be related to performance, security, power management, or other areas. You can disable this at kernel boot time by using the option libata.noacpi=1 config SATA_ZPODD bool "SATA Zero Power Optical Disc Drive (ZPODD) support" depends on ATA_ACPI && PM help This option adds support for SATA Zero Power Optical Disc Drive (ZPODD). It requires both the ODD and the platform support, and if enabled, will automatically power on/off the ODD when certain condition is satisfied. This does not impact end user's experience of the ODD, only power is saved when the ODD is not in use (i.e. no disc inside). If unsure, say N. config SATA_PMP bool "SATA Port Multiplier support" default y help This option adds support for SATA Port Multipliers (the SATA version of an ethernet hub, or SAS expander). if HAS_DMA comment "Controllers with non-SFF native interface" config SATA_AHCI tristate "AHCI SATA support" depends on PCI help This option enables support for AHCI Serial ATA. If unsure, say N. config SATA_MOBILE_LPM_POLICY int "Default SATA Link Power Management policy for mobile chipsets" range 0 4 default 0 depends on SATA_AHCI help Select the Default SATA Link Power Management (LPM) policy to use for mobile / laptop variants of chipsets / "South Bridges". The value set has the following meanings: 0 => Keep firmware settings 1 => Maximum performance 2 => Medium power 3 => Medium power with Device Initiated PM enabled 4 => Minimum power Note "Minimum power" is known to cause issues, including disk corruption, with some disks and should not be used. config SATA_AHCI_PLATFORM tristate "Platform AHCI SATA support" help This option enables support for Platform AHCI Serial ATA controllers. If unsure, say N. config AHCI_BRCM tristate "Broadcom AHCI SATA support" depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_NSP || \ ARCH_BCM_63XX help This option enables support for the AHCI SATA3 controller found on Broadcom SoC's. If unsure, say N. config AHCI_DA850 tristate "DaVinci DA850 AHCI SATA support" depends on ARCH_DAVINCI_DA850 help This option enables support for the DaVinci DA850 SoC's onboard AHCI SATA. If unsure, say N. config AHCI_DM816 tristate "DaVinci DM816 AHCI SATA support" depends on ARCH_OMAP2PLUS help This option enables support for the DaVinci DM816 SoC's onboard AHCI SATA controller. If unsure, say N. config AHCI_ST tristate "ST AHCI SATA support" depends on ARCH_STI help This option enables support for ST AHCI SATA controller. If unsure, say N. config AHCI_IMX tristate "Freescale i.MX AHCI SATA support" depends on MFD_SYSCON && (ARCH_MXC || COMPILE_TEST) depends on (HWMON && (THERMAL || !THERMAL_OF)) || !HWMON help This option enables support for the Freescale i.MX SoC's onboard AHCI SATA. If unsure, say N. config AHCI_CEVA tristate "CEVA AHCI SATA support" depends on OF help This option enables support for the CEVA AHCI SATA. It can be found on the Xilinx Zynq UltraScale+ MPSoC. If unsure, say N. config AHCI_MTK tristate "MediaTek AHCI SATA support" depends on ARCH_MEDIATEK select MFD_SYSCON help This option enables support for the MediaTek SoC's onboard AHCI SATA controller. If unsure, say N. config AHCI_MVEBU tristate "Marvell EBU AHCI SATA support" depends on ARCH_MVEBU help This option enables support for the Marvebu EBU SoC's onboard AHCI SATA. If unsure, say N. config AHCI_OCTEON tristate "Cavium Octeon Soc Serial ATA" depends on SATA_AHCI_PLATFORM && CAVIUM_OCTEON_SOC default y help This option enables support for Cavium Octeon SoC Serial ATA. If unsure, say N. config AHCI_SUNXI tristate "Allwinner sunxi AHCI SATA support" depends on ARCH_SUNXI help This option enables support for the Allwinner sunxi SoC's onboard AHCI SATA. If unsure, say N. config AHCI_TEGRA tristate "NVIDIA Tegra AHCI SATA support" depends on ARCH_TEGRA help This option enables support for the NVIDIA Tegra SoC's onboard AHCI SATA. If unsure, say N. config AHCI_XGENE tristate "APM X-Gene 6.0Gbps AHCI SATA host controller support" depends on PHY_XGENE help This option enables support for APM X-Gene SoC SATA host controller. config AHCI_QORIQ tristate "Freescale QorIQ AHCI SATA support" depends on OF help This option enables support for the Freescale QorIQ AHCI SoC's onboard AHCI SATA. If unsure, say N. config SATA_FSL tristate "Freescale 3.0Gbps SATA support" depends on FSL_SOC help This option enables support for Freescale 3.0Gbps SATA controller. It can be found on MPC837x and MPC8315. If unsure, say N. config SATA_GEMINI tristate "Gemini SATA bridge support" depends on ARCH_GEMINI || COMPILE_TEST default ARCH_GEMINI help This enabled support for the FTIDE010 to SATA bridge found in Cortina Systems Gemini platform. If unsure, say N. config SATA_AHCI_SEATTLE tristate "AMD Seattle 6.0Gbps AHCI SATA host controller support" depends on ARCH_SEATTLE help This option enables support for AMD Seattle SATA host controller. If unsure, say N config SATA_INIC162X tristate "Initio 162x SATA support (Very Experimental)" depends on PCI help This option enables support for Initio 162x Serial ATA. config SATA_ACARD_AHCI tristate "ACard AHCI variant (ATP 8620)" depends on PCI help This option enables support for Acard. If unsure, say N. config SATA_SIL24 tristate "Silicon Image 3124/3132 SATA support" depends on PCI help This option enables support for Silicon Image 3124/3132 Serial ATA. If unsure, say N. endif # HAS_DMA config ATA_SFF bool "ATA SFF support (for legacy IDE and PATA)" default y help This option adds support for ATA controllers with SFF compliant or similar programming interface. SFF is the legacy IDE interface that has been around since the dawn of time. Almost all PATA controllers have an SFF interface. Many SATA controllers have an SFF interface when configured into a legacy compatibility mode. For users with exclusively modern controllers like AHCI, Silicon Image 3124, or Marvell 6440, you may choose to disable this unneeded SFF support. If unsure, say Y. if ATA_SFF comment "SFF controllers with custom DMA interface" config PDC_ADMA tristate "Pacific Digital ADMA support" depends on PCI help This option enables support for Pacific Digital ADMA controllers If unsure, say N. config PATA_OCTEON_CF tristate "OCTEON Boot Bus Compact Flash support" depends on CAVIUM_OCTEON_SOC help This option enables a polled compact flash driver for use with compact flash cards attached to the OCTEON boot bus. If unsure, say N. config SATA_QSTOR tristate "Pacific Digital SATA QStor support" depends on PCI help This option enables support for Pacific Digital Serial ATA QStor. If unsure, say N. config SATA_SX4 tristate "Promise SATA SX4 support (Experimental)" depends on PCI help This option enables support for Promise Serial ATA SX4. If unsure, say N. config ATA_BMDMA bool "ATA BMDMA support" depends on HAS_DMA default y help This option adds support for SFF ATA controllers with BMDMA capability. BMDMA stands for bus-master DMA and is the de facto DMA interface for SFF controllers. If unsure, say Y. if ATA_BMDMA comment "SATA SFF controllers with BMDMA" config ATA_PIIX tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support" depends on PCI help This option enables support for ICH5/6/7/8 Serial ATA and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series host controllers. If unsure, say N. config SATA_DWC tristate "DesignWare Cores SATA support" depends on DMADEVICES select GENERIC_PHY help This option enables support for the on-chip SATA controller of the AppliedMicro processor 460EX. If unsure, say N. config SATA_DWC_OLD_DMA bool "Support old device trees" depends on SATA_DWC select DW_DMAC_CORE default y if 460EX help This option enables support for old device trees without the "dmas" property. config SATA_DWC_DEBUG bool "Debugging driver version" depends on SATA_DWC help This option enables debugging output in the driver. config SATA_DWC_VDEBUG bool "Verbose debug output" depends on SATA_DWC_DEBUG help This option enables the taskfile dumping and NCQ debugging. config SATA_HIGHBANK tristate "Calxeda Highbank SATA support" depends on ARCH_HIGHBANK || COMPILE_TEST help This option enables support for the Calxeda Highbank SoC's onboard SATA. If unsure, say N. config SATA_MV tristate "Marvell SATA support" depends on PCI || ARCH_DOVE || ARCH_MV78XX0 || \ ARCH_MVEBU || ARCH_ORION5X || COMPILE_TEST select GENERIC_PHY help This option enables support for the Marvell Serial ATA family. Currently supports 88SX[56]0[48][01] PCI(-X) chips, as well as the newer [67]042 PCI-X/PCIe and SOC devices. If unsure, say N. config SATA_NV tristate "NVIDIA SATA support" depends on PCI help This option enables support for NVIDIA Serial ATA. If unsure, say N. config SATA_PROMISE tristate "Promise SATA TX2/TX4 support" depends on PCI help This option enables support for Promise Serial ATA TX2/TX4. If unsure, say N. config SATA_RCAR tristate "Renesas R-Car SATA support" depends on ARCH_RENESAS || COMPILE_TEST help This option enables support for Renesas R-Car Serial ATA. If unsure, say N. config SATA_SIL tristate "Silicon Image SATA support" depends on PCI help This option enables support for Silicon Image Serial ATA. If unsure, say N. config SATA_SIS tristate "SiS 964/965/966/180 SATA support" depends on PCI select PATA_SIS help This option enables support for SiS Serial ATA on SiS 964/965/966/180 and Parallel ATA on SiS 180. The PATA support for SiS 180 requires additionally to enable the PATA_SIS driver in the config. If unsure, say N. config SATA_SVW tristate "ServerWorks Frodo / Apple K2 SATA support" depends on PCI help This option enables support for Broadcom/Serverworks/Apple K2 SATA support. If unsure, say N. config SATA_ULI tristate "ULi Electronics SATA support" depends on PCI help This option enables support for ULi Electronics SATA. If unsure, say N. config SATA_VIA tristate "VIA SATA support" depends on PCI help This option enables support for VIA Serial ATA. If unsure, say N. config SATA_VITESSE tristate "VITESSE VSC-7174 / INTEL 31244 SATA support" depends on PCI help This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA. If unsure, say N. comment "PATA SFF controllers with BMDMA" config PATA_ALI tristate "ALi PATA support" depends on PCI help This option enables support for the ALi ATA interfaces found on the many ALi chipsets. If unsure, say N. config PATA_AMD tristate "AMD/NVidia PATA support" depends on PCI help This option enables support for the AMD and NVidia PATA interfaces found on the chipsets for Athlon/Athlon64. If unsure, say N. config PATA_ARASAN_CF tristate "ARASAN CompactFlash PATA Controller Support" depends on ARCH_SPEAR13XX || COMPILE_TEST depends on DMADEVICES select DMA_ENGINE help Say Y here to support the ARASAN CompactFlash PATA controller config PATA_ARTOP tristate "ARTOP 6210/6260 PATA support" depends on PCI help This option enables support for ARTOP PATA controllers. If unsure, say N. config PATA_ATIIXP tristate "ATI PATA support" depends on PCI help This option enables support for the ATI ATA interfaces found on the many ATI chipsets. If unsure, say N. config PATA_ATP867X tristate "ARTOP/Acard ATP867X PATA support" depends on PCI help This option enables support for ARTOP/Acard ATP867X PATA controllers. If unsure, say N. config PATA_BK3710 tristate "Palmchip BK3710 PATA support" depends on ARCH_DAVINCI help This option enables support for the integrated IDE controller on the TI DaVinci SoC. If unsure, say N. config PATA_CMD64X tristate "CMD64x PATA support" depends on PCI help This option enables support for the CMD64x series chips except for the CMD640. If unsure, say N. config PATA_CS5520 tristate "CS5510/5520 PATA support" depends on PCI && (X86_32 || COMPILE_TEST) help This option enables support for the Cyrix 5510/5520 companion chip used with the MediaGX/Geode processor family. If unsure, say N. config PATA_CS5530 tristate "CS5530 PATA support" depends on PCI && (X86_32 || COMPILE_TEST) help This option enables support for the Cyrix/NatSemi/AMD CS5530 companion chip used with the MediaGX/Geode processor family. If unsure, say N. config PATA_CS5535 tristate "CS5535 PATA support (Experimental)" depends on PCI && X86_32 help This option enables support for the NatSemi/AMD CS5535 companion chip used with the Geode processor family. If unsure, say N. config PATA_CS5536 tristate "CS5536 PATA support" depends on PCI && (X86_32 || MIPS || COMPILE_TEST) help This option enables support for the AMD CS5536 companion chip used with the Geode LX processor family. If unsure, say N. config PATA_CYPRESS tristate "Cypress CY82C693 PATA support (Very Experimental)" depends on PCI help This option enables support for the Cypress/Contaq CY82C693 chipset found in some Alpha systems If unsure, say N. config PATA_EFAR tristate "EFAR SLC90E66 support" depends on PCI help This option enables support for the EFAR SLC90E66 IDE controller found on some older machines. If unsure, say N. config PATA_EP93XX tristate "Cirrus Logic EP93xx PATA support" depends on ARCH_EP93XX help This option enables support for the PATA controller in the Cirrus Logic EP9312 and EP9315 ARM CPU. If unsure, say N. config PATA_FTIDE010 tristate "Faraday Technology FTIDE010 PATA support" depends on OF depends on ARM depends on SATA_GEMINI help This option enables support for the Faraday FTIDE010 PATA controller found in the Cortina Gemini SoCs. If unsure, say N. config PATA_HPT366 tristate "HPT 366/368 PATA support" depends on PCI help This option enables support for the HPT 366 and 368 PATA controllers via the new ATA layer. If unsure, say N. config PATA_HPT37X tristate "HPT 370/370A/371/372/374/302 PATA support" depends on PCI help This option enables support for the majority of the later HPT PATA controllers via the new ATA layer. If unsure, say N. config PATA_HPT3X2N tristate "HPT 371N/372N/302N PATA support" depends on PCI help This option enables support for the N variant HPT PATA controllers via the new ATA layer. If unsure, say N. config PATA_HPT3X3 tristate "HPT 343/363 PATA support" depends on PCI help This option enables support for the HPT 343/363 PATA controllers via the new ATA layer If unsure, say N. config PATA_HPT3X3_DMA bool "HPT 343/363 DMA support" depends on PATA_HPT3X3 help This option enables DMA support for the HPT343/363 controllers. Enable with care as there are still some problems with DMA on this chipset. config PATA_ICSIDE tristate "Acorn ICS PATA support" depends on ARM && ARCH_ACORN help On Acorn systems, say Y here if you wish to use the ICS PATA interface card. This is not required for ICS partition support. If you are unsure, say N to this. config PATA_IMX tristate "PATA support for Freescale iMX" depends on ARCH_MXC help This option enables support for the PATA host available on Freescale iMX SoCs. If unsure, say N. config PATA_IT8213 tristate "IT8213 PATA support (Experimental)" depends on PCI help This option enables support for the ITE 821 PATA controllers via the new ATA layer. If unsure, say N. config PATA_IT821X tristate "IT8211/2 PATA support" depends on PCI help This option enables support for the ITE 8211 and 8212 PATA controllers via the new ATA layer, including RAID mode. If unsure, say N. config PATA_JMICRON tristate "JMicron PATA support" depends on PCI help Enable support for the JMicron IDE controller, via the new ATA layer. If unsure, say N. config PATA_MACIO tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE" depends on PPC_PMAC help Most IDE capable PowerMacs have IDE busses driven by a variant of this controller which is part of the Apple chipset used on most PowerMac models. Some models have multiple busses using different chipsets, though generally, MacIO is one of them. config PATA_MARVELL tristate "Marvell PATA support via legacy mode" depends on PCI help This option enables limited support for the Marvell 88SE61xx ATA controllers. If you wish to use only the SATA ports then select the AHCI driver alone. If you wish to the use the PATA port or both SATA and PATA include this driver. If unsure, say N. config PATA_MPC52xx tristate "Freescale MPC52xx SoC internal IDE" depends on PPC_MPC52xx && PPC_BESTCOMM select PPC_BESTCOMM_ATA help This option enables support for integrated IDE controller of the Freescale MPC52xx SoC. If unsure, say N. config PATA_NETCELL tristate "NETCELL Revolution RAID support" depends on PCI help This option enables support for the Netcell Revolution RAID PATA controller. If unsure, say N. config PATA_NINJA32 tristate "Ninja32/Delkin Cardbus ATA support" depends on PCI help This option enables support for the Ninja32, Delkin and possibly other brands of Cardbus ATA adapter If unsure, say N. config PATA_NS87415 tristate "Nat Semi NS87415 PATA support" depends on PCI help This option enables support for the National Semiconductor NS87415 PCI-IDE controller. If unsure, say N. config PATA_OLDPIIX tristate "Intel PATA old PIIX support" depends on PCI help This option enables support for early PIIX PATA support. If unsure, say N. config PATA_OPTIDMA tristate "OPTI FireStar PATA support (Very Experimental)" depends on PCI help This option enables DMA/PIO support for the later OPTi controllers found on some old motherboards and in some laptops. If unsure, say N. config PATA_PDC2027X tristate "Promise PATA 2027x support" depends on PCI help This option enables support for Promise PATA pdc20268 to pdc20277 host adapters. If unsure, say N. config PATA_PDC_OLD tristate "Older Promise PATA controller support" depends on PCI help This option enables support for the Promise 20246, 20262, 20263, 20265 and 20267 adapters. If unsure, say N. config PATA_RADISYS tristate "RADISYS 82600 PATA support (Experimental)" depends on PCI help This option enables support for the RADISYS 82600 PATA controllers via the new ATA layer If unsure, say N. config PATA_RDC tristate "RDC PATA support" depends on PCI help This option enables basic support for the later RDC PATA controllers controllers via the new ATA layer. For the RDC 1010, you need to enable the IT821X driver instead. If unsure, say N. config PATA_SC1200 tristate "SC1200 PATA support" depends on PCI && (X86_32 || COMPILE_TEST) help This option enables support for the NatSemi/AMD SC1200 SoC companion chip used with the Geode processor family. If unsure, say N. config PATA_SCH tristate "Intel SCH PATA support" depends on PCI help This option enables support for Intel SCH PATA on the Intel SCH (US15W, US15L, UL11L) series host controllers. If unsure, say N. config PATA_SERVERWORKS tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support" depends on PCI help This option enables support for the Serverworks OSB4/CSB5/CSB6 and HT1000 PATA controllers, via the new ATA layer. If unsure, say N. config PATA_SIL680 tristate "CMD / Silicon Image 680 PATA support" depends on PCI help This option enables support for CMD / Silicon Image 680 PATA. If unsure, say N. config PATA_SIS tristate "SiS PATA support" depends on PCI help This option enables support for SiS PATA controllers If unsure, say N. config PATA_TOSHIBA tristate "Toshiba Piccolo support (Experimental)" depends on PCI help Support for the Toshiba Piccolo controllers. Currently only the primary channel is supported by this driver. If unsure, say N. config PATA_TRIFLEX tristate "Compaq Triflex PATA support" depends on PCI help Enable support for the Compaq 'Triflex' IDE controller as found on many Compaq Pentium-Pro systems, via the new ATA layer. If unsure, say N. config PATA_VIA tristate "VIA PATA support" depends on PCI help This option enables support for the VIA PATA interfaces found on the many VIA chipsets. If unsure, say N. config PATA_PXA tristate "PXA DMA-capable PATA support" depends on ARCH_PXA help This option enables support for harddrive attached to PXA CPU's bus. NOTE: This driver utilizes PXA DMA controller, in case your hardware is not capable of doing MWDMA, use pata_platform instead. If unsure, say N. config PATA_WINBOND tristate "Winbond SL82C105 PATA support" depends on PCI help This option enables support for SL82C105 PATA devices found in the Netwinder and some other systems If unsure, say N. endif # ATA_BMDMA comment "PIO-only SFF controllers" config PATA_CMD640_PCI tristate "CMD640 PCI PATA support (Experimental)" depends on PCI help This option enables support for the CMD640 PCI IDE interface chip. Only the primary channel is currently supported. If unsure, say N. config PATA_FALCON tristate "Atari Falcon PATA support" depends on M68K && ATARI help This option enables support for the on-board IDE interface on the Atari Falcon. If unsure, say N. config PATA_GAYLE tristate "Amiga Gayle PATA support" depends on M68K && AMIGA help This option enables support for the on-board IDE interfaces on some Amiga models (A600, A1200, A4000 and A4000T) and also for IDE interfaces on the Zorro expansion bus (M-Tech E-Matrix 530 expansion card). If unsure, say N. config PATA_BUDDHA tristate "Buddha/Catweasel/X-Surf PATA support" depends on ZORRO help This option enables support for the IDE interfaces on the Buddha, Catweasel and X-Surf expansion boards on the Zorro expansion bus. It supports up to two interfaces on the Buddha, three on the Catweasel and two on the X-Surf. If unsure, say N. config PATA_ISAPNP tristate "ISA Plug and Play PATA support" depends on ISAPNP help This option enables support for ISA plug & play ATA controllers such as those found on old soundcards. If unsure, say N. config PATA_IXP4XX_CF tristate "IXP4XX Compact Flash support" depends on ARCH_IXP4XX help This option enables support for a Compact Flash connected on the ixp4xx expansion bus. This driver had been written for Loft/Avila boards in mind but can work with others. If unsure, say N. config PATA_MPIIX tristate "Intel PATA MPIIX support" depends on PCI help This option enables support for MPIIX PATA support. If unsure, say N. config PATA_NS87410 tristate "Nat Semi NS87410 PATA support" depends on PCI help This option enables support for the National Semiconductor NS87410 PCI-IDE controller. If unsure, say N. config PATA_OPTI tristate "OPTI621/6215 PATA support (Very Experimental)" depends on PCI help This option enables full PIO support for the early Opti ATA controllers found on some old motherboards. If unsure, say N. config PATA_PALMLD tristate "Palm LifeDrive PATA support" depends on MACH_PALMLD help This option enables support for Palm LifeDrive's internal ATA port via the new ATA layer. If unsure, say N. config PATA_PCMCIA tristate "PCMCIA PATA support" depends on PCMCIA help This option enables support for PCMCIA ATA interfaces, including compact flash card adapters via the new ATA layer. If unsure, say N. config PATA_PLATFORM tristate "Generic platform device PATA support" depends on EXPERT || PPC || HAVE_PATA_PLATFORM help This option enables support for generic directly connected ATA devices commonly found on embedded systems. If unsure, say N. config PATA_OF_PLATFORM tristate "OpenFirmware platform device PATA support" depends on PATA_PLATFORM && OF help This option enables support for generic directly connected ATA devices commonly found on embedded systems with OpenFirmware bindings. If unsure, say N. config PATA_QDI tristate "QDI VLB PATA support" depends on ISA select PATA_LEGACY help Support for QDI 6500 and 6580 PATA controllers on VESA local bus. config PATA_RB532 tristate "RouterBoard 532 PATA CompactFlash support" depends on MIKROTIK_RB532 help This option enables support for the RouterBoard 532 PATA CompactFlash controller. If unsure, say N. config PATA_RZ1000 tristate "PC Tech RZ1000 PATA support" depends on PCI help This option enables basic support for the PC Tech RZ1000/1 PATA controllers via the new ATA layer If unsure, say N. config PATA_SAMSUNG_CF tristate "Samsung SoC PATA support" depends on SAMSUNG_DEV_IDE help This option enables basic support for Samsung's S3C/S5P board PATA controllers via the new ATA layer If unsure, say N. config PATA_WINBOND_VLB tristate "Winbond W83759A VLB PATA support (Experimental)" depends on ISA select PATA_LEGACY help Support for the Winbond W83759A controller on Vesa Local Bus systems. comment "Generic fallback / legacy drivers" config PATA_ACPI tristate "ACPI firmware driver for PATA" depends on ATA_ACPI && ATA_BMDMA && PCI help This option enables an ACPI method driver which drives motherboard PATA controller interfaces through the ACPI firmware in the BIOS. This driver can sometimes handle otherwise unsupported hardware. config ATA_GENERIC tristate "Generic ATA support" depends on PCI && ATA_BMDMA help This option enables support for generic BIOS configured ATA controllers via the new ATA layer If unsure, say N. config PATA_LEGACY tristate "Legacy ISA PATA support (Experimental)" depends on (ISA || PCI) help This option enables support for ISA/VLB/PCI bus legacy PATA ports and allows them to be accessed via the new ATA layer. If unsure, say N. endif # ATA_SFF endif # ATA ata/Makefile 0000644 00000012443 14722053666 0006770 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_ATA) += libata.o # non-SFF interface obj-$(CONFIG_SATA_AHCI) += ahci.o libahci.o obj-$(CONFIG_SATA_ACARD_AHCI) += acard-ahci.o libahci.o obj-$(CONFIG_SATA_AHCI_SEATTLE) += ahci_seattle.o libahci.o libahci_platform.o obj-$(CONFIG_SATA_AHCI_PLATFORM) += ahci_platform.o libahci.o libahci_platform.o obj-$(CONFIG_SATA_FSL) += sata_fsl.o obj-$(CONFIG_SATA_GEMINI) += sata_gemini.o obj-$(CONFIG_SATA_INIC162X) += sata_inic162x.o obj-$(CONFIG_SATA_SIL24) += sata_sil24.o obj-$(CONFIG_SATA_DWC) += sata_dwc_460ex.o obj-$(CONFIG_SATA_HIGHBANK) += sata_highbank.o libahci.o obj-$(CONFIG_AHCI_BRCM) += ahci_brcm.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_CEVA) += ahci_ceva.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_DA850) += ahci_da850.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_DM816) += ahci_dm816.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_IMX) += ahci_imx.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_MTK) += ahci_mtk.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_MVEBU) += ahci_mvebu.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_OCTEON) += ahci_octeon.o obj-$(CONFIG_AHCI_SUNXI) += ahci_sunxi.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_ST) += ahci_st.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_TEGRA) += ahci_tegra.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_XGENE) += ahci_xgene.o libahci.o libahci_platform.o obj-$(CONFIG_AHCI_QORIQ) += ahci_qoriq.o libahci.o libahci_platform.o # SFF w/ custom DMA obj-$(CONFIG_PDC_ADMA) += pdc_adma.o obj-$(CONFIG_PATA_ARASAN_CF) += pata_arasan_cf.o obj-$(CONFIG_PATA_OCTEON_CF) += pata_octeon_cf.o obj-$(CONFIG_SATA_QSTOR) += sata_qstor.o obj-$(CONFIG_SATA_SX4) += sata_sx4.o # SFF SATA w/ BMDMA obj-$(CONFIG_ATA_PIIX) += ata_piix.o obj-$(CONFIG_SATA_MV) += sata_mv.o obj-$(CONFIG_SATA_NV) += sata_nv.o obj-$(CONFIG_SATA_PROMISE) += sata_promise.o obj-$(CONFIG_SATA_RCAR) += sata_rcar.o obj-$(CONFIG_SATA_SIL) += sata_sil.o obj-$(CONFIG_SATA_SIS) += sata_sis.o obj-$(CONFIG_SATA_SVW) += sata_svw.o obj-$(CONFIG_SATA_ULI) += sata_uli.o obj-$(CONFIG_SATA_VIA) += sata_via.o obj-$(CONFIG_SATA_VITESSE) += sata_vsc.o # SFF PATA w/ BMDMA obj-$(CONFIG_PATA_ALI) += pata_ali.o obj-$(CONFIG_PATA_AMD) += pata_amd.o obj-$(CONFIG_PATA_ARTOP) += pata_artop.o obj-$(CONFIG_PATA_ATIIXP) += pata_atiixp.o obj-$(CONFIG_PATA_ATP867X) += pata_atp867x.o obj-$(CONFIG_PATA_BK3710) += pata_bk3710.o obj-$(CONFIG_PATA_CMD64X) += pata_cmd64x.o obj-$(CONFIG_PATA_CS5520) += pata_cs5520.o obj-$(CONFIG_PATA_CS5530) += pata_cs5530.o obj-$(CONFIG_PATA_CS5535) += pata_cs5535.o obj-$(CONFIG_PATA_CS5536) += pata_cs5536.o obj-$(CONFIG_PATA_CYPRESS) += pata_cypress.o obj-$(CONFIG_PATA_EFAR) += pata_efar.o obj-$(CONFIG_PATA_EP93XX) += pata_ep93xx.o obj-$(CONFIG_PATA_FTIDE010) += pata_ftide010.o obj-$(CONFIG_PATA_HPT366) += pata_hpt366.o obj-$(CONFIG_PATA_HPT37X) += pata_hpt37x.o obj-$(CONFIG_PATA_HPT3X2N) += pata_hpt3x2n.o obj-$(CONFIG_PATA_HPT3X3) += pata_hpt3x3.o obj-$(CONFIG_PATA_ICSIDE) += pata_icside.o obj-$(CONFIG_PATA_IMX) += pata_imx.o obj-$(CONFIG_PATA_IT8213) += pata_it8213.o obj-$(CONFIG_PATA_IT821X) += pata_it821x.o obj-$(CONFIG_PATA_JMICRON) += pata_jmicron.o obj-$(CONFIG_PATA_MACIO) += pata_macio.o obj-$(CONFIG_PATA_MARVELL) += pata_marvell.o obj-$(CONFIG_PATA_MPC52xx) += pata_mpc52xx.o obj-$(CONFIG_PATA_NETCELL) += pata_netcell.o obj-$(CONFIG_PATA_NINJA32) += pata_ninja32.o obj-$(CONFIG_PATA_NS87415) += pata_ns87415.o obj-$(CONFIG_PATA_OLDPIIX) += pata_oldpiix.o obj-$(CONFIG_PATA_OPTIDMA) += pata_optidma.o obj-$(CONFIG_PATA_PDC2027X) += pata_pdc2027x.o obj-$(CONFIG_PATA_PDC_OLD) += pata_pdc202xx_old.o obj-$(CONFIG_PATA_RADISYS) += pata_radisys.o obj-$(CONFIG_PATA_RDC) += pata_rdc.o obj-$(CONFIG_PATA_SC1200) += pata_sc1200.o obj-$(CONFIG_PATA_SCH) += pata_sch.o obj-$(CONFIG_PATA_SERVERWORKS) += pata_serverworks.o obj-$(CONFIG_PATA_SIL680) += pata_sil680.o obj-$(CONFIG_PATA_SIS) += pata_sis.o obj-$(CONFIG_PATA_TOSHIBA) += pata_piccolo.o obj-$(CONFIG_PATA_TRIFLEX) += pata_triflex.o obj-$(CONFIG_PATA_VIA) += pata_via.o obj-$(CONFIG_PATA_WINBOND) += pata_sl82c105.o # SFF PIO only obj-$(CONFIG_PATA_CMD640_PCI) += pata_cmd640.o obj-$(CONFIG_PATA_FALCON) += pata_falcon.o obj-$(CONFIG_PATA_GAYLE) += pata_gayle.o obj-$(CONFIG_PATA_BUDDHA) += pata_buddha.o obj-$(CONFIG_PATA_ISAPNP) += pata_isapnp.o obj-$(CONFIG_PATA_IXP4XX_CF) += pata_ixp4xx_cf.o obj-$(CONFIG_PATA_MPIIX) += pata_mpiix.o obj-$(CONFIG_PATA_NS87410) += pata_ns87410.o obj-$(CONFIG_PATA_OPTI) += pata_opti.o obj-$(CONFIG_PATA_PCMCIA) += pata_pcmcia.o obj-$(CONFIG_PATA_PALMLD) += pata_palmld.o obj-$(CONFIG_PATA_PLATFORM) += pata_platform.o obj-$(CONFIG_PATA_OF_PLATFORM) += pata_of_platform.o obj-$(CONFIG_PATA_RB532) += pata_rb532_cf.o obj-$(CONFIG_PATA_RZ1000) += pata_rz1000.o obj-$(CONFIG_PATA_SAMSUNG_CF) += pata_samsung_cf.o obj-$(CONFIG_PATA_PXA) += pata_pxa.o # Should be last but two libata driver obj-$(CONFIG_PATA_ACPI) += pata_acpi.o # Should be last but one libata driver obj-$(CONFIG_ATA_GENERIC) += ata_generic.o # Should be last libata driver obj-$(CONFIG_PATA_LEGACY) += pata_legacy.o libata-y := libata-core.o libata-scsi.o libata-eh.o \ libata-transport.o libata-trace.o libata-$(CONFIG_ATA_SFF) += libata-sff.o libata-$(CONFIG_SATA_PMP) += libata-pmp.o libata-$(CONFIG_ATA_ACPI) += libata-acpi.o libata-$(CONFIG_SATA_ZPODD) += libata-zpodd.o extcon/Kconfig 0000644 00000014076 14722053666 0007372 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig EXTCON tristate "External Connector Class (extcon) support" help Say Y here to enable external connector class (extcon) support. This allows monitoring external connectors by userspace via sysfs and uevent and supports external connectors with multiple states; i.e., an extcon that may have multiple cables attached. For example, an external connector of a device may be used to connect an HDMI cable and a AC adaptor, and to host USB ports. Many of 30-pin connectors including PDMI are also good examples. if EXTCON comment "Extcon Device Drivers" config EXTCON_ADC_JACK tristate "ADC Jack extcon support" depends on IIO help Say Y here to enable extcon device driver based on ADC values. config EXTCON_ARIZONA tristate "Wolfson Arizona EXTCON support" depends on MFD_ARIZONA && INPUT && SND_SOC help Say Y here to enable support for external accessory detection with Wolfson Arizona devices. These are audio CODECs with advanced audio accessory detection support. config EXTCON_AXP288 tristate "X-Power AXP288 EXTCON support" depends on MFD_AXP20X && USB_SUPPORT && X86 && ACPI select USB_ROLE_SWITCH help Say Y here to enable support for USB peripheral detection and USB MUX switching by X-Power AXP288 PMIC. config EXTCON_FSA9480 tristate "FSA9480 EXTCON Support" depends on INPUT && I2C select IRQ_DOMAIN select REGMAP_I2C help If you say yes here you get support for the Fairchild Semiconductor FSA9480 microUSB switch and accessory detector chip. The FSA9480 is a USB port accessory detector and switch. The FSA9480 is fully controlled using I2C and enables USB data, stereo and mono audio, video, microphone and UART data to use a common connector port. config EXTCON_GPIO tristate "GPIO extcon support" depends on GPIOLIB || COMPILE_TEST help Say Y here to enable GPIO based extcon support. Note that GPIO extcon supports single state per extcon instance. config EXTCON_INTEL_INT3496 tristate "Intel INT3496 ACPI device extcon driver" depends on GPIOLIB && ACPI && (X86 || COMPILE_TEST) help Say Y here to enable extcon support for USB OTG ports controlled by an Intel INT3496 ACPI device. This ACPI device is typically found on Intel Baytrail or Cherrytrail based tablets, or other Baytrail / Cherrytrail devices. config EXTCON_INTEL_CHT_WC tristate "Intel Cherrytrail Whiskey Cove PMIC extcon driver" depends on INTEL_SOC_PMIC_CHTWC help Say Y here to enable extcon support for charger detection / control on the Intel Cherrytrail Whiskey Cove PMIC. config EXTCON_INTEL_MRFLD tristate "Intel Merrifield Basin Cove PMIC extcon driver" depends on INTEL_SOC_PMIC_MRFLD help Say Y here to enable extcon support for charger detection / control on the Intel Merrifield Basin Cove PMIC. config EXTCON_MAX14577 tristate "Maxim MAX14577/77836 EXTCON Support" depends on MFD_MAX14577 select IRQ_DOMAIN select REGMAP_I2C help If you say yes here you get support for the MUIC device of Maxim MAX14577/77836. The MAX14577/77836 MUIC is a USB port accessory detector and switch. config EXTCON_MAX3355 tristate "Maxim MAX3355 USB OTG EXTCON Support" depends on GPIOLIB || COMPILE_TEST help If you say yes here you get support for the USB OTG role detection by MAX3355. The MAX3355 chip integrates a charge pump and comparators to enable a system with an integrated USB OTG dual-role transceiver to function as an USB OTG dual-role device. config EXTCON_MAX77693 tristate "Maxim MAX77693 EXTCON Support" depends on MFD_MAX77693 && INPUT select IRQ_DOMAIN select REGMAP_I2C help If you say yes here you get support for the MUIC device of Maxim MAX77693 PMIC. The MAX77693 MUIC is a USB port accessory detector and switch. config EXTCON_MAX77843 tristate "Maxim MAX77843 EXTCON Support" depends on MFD_MAX77843 select IRQ_DOMAIN select REGMAP_I2C help If you say yes here you get support for the MUIC device of Maxim MAX77843. The MAX77843 MUIC is a USB port accessory detector add switch. config EXTCON_MAX8997 tristate "Maxim MAX8997 EXTCON Support" depends on MFD_MAX8997 select IRQ_DOMAIN help If you say yes here you get support for the MUIC device of Maxim MAX8997 PMIC. The MAX8997 MUIC is a USB port accessory detector and switch. config EXTCON_PALMAS tristate "Palmas USB EXTCON support" depends on MFD_PALMAS help Say Y here to enable support for USB peripheral and USB host detection by palmas usb. config EXTCON_PTN5150 tristate "NXP PTN5150 CC LOGIC USB EXTCON support" depends on I2C && (GPIOLIB || COMPILE_TEST) select REGMAP_I2C help Say Y here to enable support for USB peripheral and USB host detection by NXP PTN5150 CC (Configuration Channel) logic chip. config EXTCON_QCOM_SPMI_MISC tristate "Qualcomm USB extcon support" depends on ARCH_QCOM || COMPILE_TEST help Say Y here to enable SPMI PMIC based USB cable detection support on Qualcomm PMICs such as PM8941. config EXTCON_RT8973A tristate "Richtek RT8973A EXTCON support" depends on I2C select IRQ_DOMAIN select REGMAP_I2C select REGMAP_IRQ help If you say yes here you get support for the MUIC device of Richtek RT8973A. The RT8973A is a USB port accessory detector and switch that is optimized to protect low voltage system from abnormal high input voltage (up to 28V). config EXTCON_SM5502 tristate "Silicon Mitus SM5502 EXTCON support" depends on I2C select IRQ_DOMAIN select REGMAP_I2C select REGMAP_IRQ help If you say yes here you get support for the MUIC device of Silicon Mitus SM5502. The SM5502 is a USB port accessory detector and switch. config EXTCON_USB_GPIO tristate "USB GPIO extcon support" depends on GPIOLIB || COMPILE_TEST help Say Y here to enable GPIO based USB cable detection extcon support. Used typically if GPIO is used for USB ID pin detection. config EXTCON_USBC_CROS_EC tristate "ChromeOS Embedded Controller EXTCON support" depends on CROS_EC help Say Y here to enable USB Type C cable detection extcon support when using Chrome OS EC based USB Type-C ports. endif extcon/Makefile 0000644 00000002266 14722053666 0007525 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for external connector class (extcon) devices # obj-$(CONFIG_EXTCON) += extcon-core.o extcon-core-objs += extcon.o devres.o obj-$(CONFIG_EXTCON_ADC_JACK) += extcon-adc-jack.o obj-$(CONFIG_EXTCON_ARIZONA) += extcon-arizona.o obj-$(CONFIG_EXTCON_AXP288) += extcon-axp288.o obj-$(CONFIG_EXTCON_FSA9480) += extcon-fsa9480.o obj-$(CONFIG_EXTCON_GPIO) += extcon-gpio.o obj-$(CONFIG_EXTCON_INTEL_INT3496) += extcon-intel-int3496.o obj-$(CONFIG_EXTCON_INTEL_CHT_WC) += extcon-intel-cht-wc.o obj-$(CONFIG_EXTCON_INTEL_MRFLD) += extcon-intel-mrfld.o obj-$(CONFIG_EXTCON_MAX14577) += extcon-max14577.o obj-$(CONFIG_EXTCON_MAX3355) += extcon-max3355.o obj-$(CONFIG_EXTCON_MAX77693) += extcon-max77693.o obj-$(CONFIG_EXTCON_MAX77843) += extcon-max77843.o obj-$(CONFIG_EXTCON_MAX8997) += extcon-max8997.o obj-$(CONFIG_EXTCON_PALMAS) += extcon-palmas.o obj-$(CONFIG_EXTCON_PTN5150) += extcon-ptn5150.o obj-$(CONFIG_EXTCON_QCOM_SPMI_MISC) += extcon-qcom-spmi-misc.o obj-$(CONFIG_EXTCON_RT8973A) += extcon-rt8973a.o obj-$(CONFIG_EXTCON_SM5502) += extcon-sm5502.o obj-$(CONFIG_EXTCON_USB_GPIO) += extcon-usb-gpio.o obj-$(CONFIG_EXTCON_USBC_CROS_EC) += extcon-usbc-cros-ec.o visorbus/Kconfig 0000644 00000001100 14722053666 0007726 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Unisys visorbus configuration # config UNISYS_VISORBUS tristate "Unisys visorbus driver" depends on X86_64 && ACPI ---help--- The visorbus driver is a virtualized bus for the Unisys s-Par firmware. Virtualized devices allow Linux guests on a system to share disks and network cards that do not have SR-IOV support, and to be accessed using the partition desktop application. The visorbus driver is required to discover devices on an s-Par guest, and must be present for any other s-Par guest driver to function correctly. visorbus/Makefile 0000644 00000000314 14722053666 0010071 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Unisys visorbus # obj-$(CONFIG_UNISYS_VISORBUS) += visorbus.o visorbus-y := visorbus_main.o visorbus-y += visorchannel.o visorbus-y += visorchipset.o perf/Kconfig 0000644 00000007255 14722053666 0007027 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Performance Monitor Drivers # menu "Performance monitor support" depends on PERF_EVENTS config ARM_CCI_PMU tristate "ARM CCI PMU driver" depends on (ARM && CPU_V7) || ARM64 select ARM_CCI help Support for PMU events monitoring on the ARM CCI (Cache Coherent Interconnect) family of products. If compiled as a module, it will be called arm-cci. config ARM_CCI400_PMU bool "support CCI-400" default y depends on ARM_CCI_PMU select ARM_CCI400_COMMON help CCI-400 provides 4 independent event counters counting events related to the connected slave/master interfaces, plus a cycle counter. config ARM_CCI5xx_PMU bool "support CCI-500/CCI-550" default y depends on ARM_CCI_PMU help CCI-500/CCI-550 both provide 8 independent event counters, which can count events pertaining to the slave/master interfaces as well as the internal events to the CCI. config ARM_CCN tristate "ARM CCN driver support" depends on ARM || ARM64 help PMU (perf) driver supporting the ARM CCN (Cache Coherent Network) interconnect. config ARM_PMU depends on ARM || ARM64 bool "ARM PMU framework" default y help Say y if you want to use CPU performance monitors on ARM-based systems. config ARM_PMU_ACPI depends on ARM_PMU && ACPI def_bool y config ARM_SMMU_V3_PMU tristate "ARM SMMUv3 Performance Monitors Extension" depends on ARM64 && ACPI && ARM_SMMU_V3 help Provides support for the ARM SMMUv3 Performance Monitor Counter Groups (PMCG), which provide monitoring of transactions passing through the SMMU and allow the resulting information to be filtered based on the Stream ID of the corresponding master. config ARM_DSU_PMU tristate "ARM DynamIQ Shared Unit (DSU) PMU" depends on ARM64 help Provides support for performance monitor unit in ARM DynamIQ Shared Unit (DSU). The DSU integrates one or more cores with an L3 memory system, control logic. The PMU allows counting various events related to DSU. config FSL_IMX8_DDR_PMU tristate "Freescale i.MX8 DDR perf monitor" depends on ARCH_MXC help Provides support for the DDR performance monitor in i.MX8, which can give information about memory throughput and other related events. config QCOM_L2_PMU bool "Qualcomm Technologies L2-cache PMU" depends on ARCH_QCOM && ARM64 && ACPI help Provides support for the L2 cache performance monitor unit (PMU) in Qualcomm Technologies processors. Adds the L2 cache PMU into the perf events subsystem for monitoring L2 cache events. config QCOM_L3_PMU bool "Qualcomm Technologies L3-cache PMU" depends on ARCH_QCOM && ARM64 && ACPI select QCOM_IRQ_COMBINER help Provides support for the L3 cache performance monitor unit (PMU) in Qualcomm Technologies processors. Adds the L3 cache PMU into the perf events subsystem for monitoring L3 cache events. config THUNDERX2_PMU tristate "Cavium ThunderX2 SoC PMU UNCORE" depends on ARCH_THUNDER2 && ARM64 && ACPI && NUMA default m help Provides support for ThunderX2 UNCORE events. The SoC has PMU support in its L3 cache controller (L3C) and in the DDR4 Memory Controller (DMC). config XGENE_PMU depends on ARCH_XGENE bool "APM X-Gene SoC PMU" default n help Say y if you want to use APM X-Gene SoC performance monitors. config ARM_SPE_PMU tristate "Enable support for the ARMv8.2 Statistical Profiling Extension" depends on ARM64 help Enable perf support for the ARMv8.2 Statistical Profiling Extension, which provides periodic sampling of operations in the CPU pipeline and reports this via the perf AUX interface. source "drivers/perf/hisilicon/Kconfig" endmenu perf/Makefile 0000644 00000001137 14722053666 0007155 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_ARM_CCI_PMU) += arm-cci.o obj-$(CONFIG_ARM_CCN) += arm-ccn.o obj-$(CONFIG_ARM_DSU_PMU) += arm_dsu_pmu.o obj-$(CONFIG_ARM_PMU) += arm_pmu.o arm_pmu_platform.o obj-$(CONFIG_ARM_PMU_ACPI) += arm_pmu_acpi.o obj-$(CONFIG_ARM_SMMU_V3_PMU) += arm_smmuv3_pmu.o obj-$(CONFIG_FSL_IMX8_DDR_PMU) += fsl_imx8_ddr_perf.o obj-$(CONFIG_HISI_PMU) += hisilicon/ obj-$(CONFIG_QCOM_L2_PMU) += qcom_l2_pmu.o obj-$(CONFIG_QCOM_L3_PMU) += qcom_l3_pmu.o obj-$(CONFIG_THUNDERX2_PMU) += thunderx2_pmu.o obj-$(CONFIG_XGENE_PMU) += xgene_pmu.o obj-$(CONFIG_ARM_SPE_PMU) += arm_spe_pmu.o perf/hisilicon/Kconfig 0000644 00000000413 14722053666 0010775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config HISI_PMU tristate "HiSilicon SoC PMU drivers" depends on ARM64 && ACPI help Support for HiSilicon SoC L3 Cache performance monitor, Hydra Home Agent performance monitor and DDR Controller performance monitor. perf/hisilicon/Makefile 0000644 00000000236 14722053666 0011135 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_HISI_PMU) += hisi_uncore_pmu.o hisi_uncore_l3c_pmu.o \ hisi_uncore_hha_pmu.o hisi_uncore_ddrc_pmu.o fsi/Kconfig 0000644 00000004644 14722053666 0006653 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # FSI subsystem # menuconfig FSI tristate "FSI support" depends on OF select CRC4 ---help--- FSI - the FRU Support Interface - is a simple bus for low-level access to POWER-based hardware. if FSI config FSI_NEW_DEV_NODE bool "Create '/dev/fsi' directory for char devices" default n ---help--- This option causes char devices created for FSI devices to be located under a common /dev/fsi/ directory. Set to N unless your userspace has been updated to handle the new location. Additionally, it also causes the char device names to be offset by one so that chip 0 will have /dev/scom1 and chip1 /dev/scom2 to match old userspace expectations. New userspace will use udev rules to generate predictable access symlinks in /dev/fsi/by-path when this option is enabled. config FSI_MASTER_GPIO tristate "GPIO-based FSI master" depends on GPIOLIB select CRC4 ---help--- This option enables a FSI master driver using GPIO lines. config FSI_MASTER_HUB tristate "FSI hub master" ---help--- This option enables a FSI hub master driver. Hub is a type of FSI master that is connected to the upstream master via a slave. Hubs allow chaining of FSI links to an arbitrary depth. This allows for a high target device fanout. config FSI_MASTER_AST_CF tristate "FSI master based on Aspeed ColdFire coprocessor" depends on GPIOLIB depends on GPIO_ASPEED select GENERIC_ALLOCATOR ---help--- This option enables a FSI master using the AST2400 and AST2500 GPIO lines driven by the internal ColdFire coprocessor. This requires the corresponding machine specific ColdFire firmware to be available. config FSI_SCOM tristate "SCOM FSI client device driver" ---help--- This option enables an FSI based SCOM device driver. config FSI_SBEFIFO tristate "SBEFIFO FSI client device driver" depends on OF_ADDRESS ---help--- This option enables an FSI based SBEFIFO device driver. The SBEFIFO is a pipe-like FSI device for communicating with the self boot engine (SBE) on POWER processors. config FSI_OCC tristate "OCC SBEFIFO client device driver" depends on FSI_SBEFIFO ---help--- This option enables an SBEFIFO based On-Chip Controller (OCC) device driver. The OCC is a device embedded on a POWER processor that collects and aggregates sensor data from the processor and system. The OCC can provide the raw sensor data as well as perform thermal and power management on the system. endif fsi/Makefile 0000644 00000000527 14722053666 0007004 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_FSI) += fsi-core.o obj-$(CONFIG_FSI_MASTER_HUB) += fsi-master-hub.o obj-$(CONFIG_FSI_MASTER_GPIO) += fsi-master-gpio.o obj-$(CONFIG_FSI_MASTER_AST_CF) += fsi-master-ast-cf.o obj-$(CONFIG_FSI_SCOM) += fsi-scom.o obj-$(CONFIG_FSI_SBEFIFO) += fsi-sbefifo.o obj-$(CONFIG_FSI_OCC) += fsi-occ.o spi/Kconfig 0000644 00000072553 14722053666 0006671 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SPI driver configuration # menuconfig SPI bool "SPI support" depends on HAS_IOMEM help The "Serial Peripheral Interface" is a low level synchronous protocol. Chips that support SPI can have data transfer rates up to several tens of Mbit/sec. Chips are addressed with a controller and a chipselect. Most SPI slaves don't support dynamic device discovery; some are even write-only or read-only. SPI is widely used by microcontrollers to talk with sensors, eeprom and flash memory, codecs and various other controller chips, analog to digital (and d-to-a) converters, and more. MMC and SD cards can be accessed using SPI protocol; and for DataFlash cards used in MMC sockets, SPI must always be used. SPI is one of a family of similar protocols using a four wire interface (select, clock, data in, data out) including Microwire (half duplex), SSP, SSI, and PSP. This driver framework should work with most such devices and controllers. if SPI config SPI_DEBUG bool "Debug support for SPI drivers" depends on DEBUG_KERNEL help Say "yes" to enable debug messaging (like dev_dbg and pr_debug), sysfs, and debugfs support in SPI controller and protocol drivers. # # MASTER side ... talking to discrete SPI slave chips including microcontrollers # config SPI_MASTER # bool "SPI Master Support" bool default SPI help If your system has an master-capable SPI controller (which provides the clock and chipselect), you can enable that controller and the protocol drivers for the SPI slave chips that are connected. if SPI_MASTER config SPI_MEM bool "SPI memory extension" help Enable this option if you want to enable the SPI memory extension. This extension is meant to simplify interaction with SPI memories by providing a high-level interface to send memory-like commands. comment "SPI Master Controller Drivers" config SPI_ALTERA tristate "Altera SPI Controller" help This is the driver for the Altera SPI Controller. config SPI_ATH79 tristate "Atheros AR71XX/AR724X/AR913X SPI controller driver" depends on ATH79 || COMPILE_TEST select SPI_BITBANG help This enables support for the SPI controller present on the Atheros AR71XX/AR724X/AR913X SoCs. config SPI_ARMADA_3700 tristate "Marvell Armada 3700 SPI Controller" depends on (ARCH_MVEBU && OF) || COMPILE_TEST help This enables support for the SPI controller present on the Marvell Armada 3700 SoCs. config SPI_ATMEL tristate "Atmel SPI Controller" depends on ARCH_AT91 || COMPILE_TEST help This selects a driver for the Atmel SPI Controller, present on many AT91 ARM chips. config SPI_AT91_USART tristate "Atmel USART Controller SPI driver" depends on (ARCH_AT91 || COMPILE_TEST) depends on MFD_AT91_USART help This selects a driver for the AT91 USART Controller as SPI Master, present on AT91 and SAMA5 SoC series. config SPI_ATMEL_QUADSPI tristate "Atmel Quad SPI Controller" depends on ARCH_AT91 || (ARM && COMPILE_TEST && !ARCH_EBSA110) depends on OF && HAS_IOMEM help This enables support for the Quad SPI controller in master mode. This driver does not support generic SPI. The implementation only supports spi-mem interface. config SPI_AU1550 tristate "Au1550/Au1200/Au1300 SPI Controller" depends on MIPS_ALCHEMY select SPI_BITBANG help If you say yes to this option, support will be included for the PSC SPI controller found on Au1550, Au1200 and Au1300 series. config SPI_AXI_SPI_ENGINE tristate "Analog Devices AXI SPI Engine controller" depends on HAS_IOMEM help This enables support for the Analog Devices AXI SPI Engine SPI controller. It is part of the SPI Engine framework that is used in some Analog Devices reference designs for FPGAs. config SPI_BCM2835 tristate "BCM2835 SPI controller" depends on GPIOLIB depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST help This selects a driver for the Broadcom BCM2835 SPI master. The BCM2835 contains two types of SPI master controller; the "universal SPI master", and the regular SPI controller. This driver is for the regular SPI controller. Slave mode operation is not also not supported. config SPI_BCM2835AUX tristate "BCM2835 SPI auxiliary controller" depends on ((ARCH_BCM2835 || ARCH_BRCMSTB) && GPIOLIB) || COMPILE_TEST help This selects a driver for the Broadcom BCM2835 SPI aux master. The BCM2835 contains two types of SPI master controller; the "universal SPI master", and the regular SPI controller. This driver is for the universal/auxiliary SPI controller. config SPI_BCM63XX tristate "Broadcom BCM63xx SPI controller" depends on BCM63XX || COMPILE_TEST help Enable support for the SPI controller on the Broadcom BCM63xx SoCs. config SPI_BCM63XX_HSSPI tristate "Broadcom BCM63XX HS SPI controller driver" depends on BCM63XX || ARCH_BCM_63XX || COMPILE_TEST help This enables support for the High Speed SPI controller present on newer Broadcom BCM63XX SoCs. config SPI_BCM_QSPI tristate "Broadcom BSPI and MSPI controller support" depends on ARCH_BRCMSTB || ARCH_BCM || ARCH_BCM_IPROC || \ BMIPS_GENERIC || COMPILE_TEST default ARCH_BCM_IPROC help Enables support for the Broadcom SPI flash and MSPI controller. Select this option for any one of BRCMSTB, iProc NSP and NS2 SoCs based platforms. This driver works for both SPI master for spi-nor flash device as well as MSPI device. config SPI_BITBANG tristate "Utilities for Bitbanging SPI masters" help With a few GPIO pins, your system can bitbang the SPI protocol. Select this to get SPI support through I/O pins (GPIO, parallel port, etc). Or, some systems' SPI master controller drivers use this code to manage the per-word or per-transfer accesses to the hardware shift registers. This is library code, and is automatically selected by drivers that need it. You only need to select this explicitly to support driver modules that aren't part of this kernel tree. config SPI_BUTTERFLY tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)" depends on PARPORT select SPI_BITBANG help This uses a custom parallel port cable to connect to an AVR Butterfly <http://www.atmel.com/products/avr/butterfly>, an inexpensive battery powered microcontroller evaluation board. This same cable can be used to flash new firmware. config SPI_CADENCE tristate "Cadence SPI controller" help This selects the Cadence SPI controller master driver used by Xilinx Zynq and ZynqMP. config SPI_CLPS711X tristate "CLPS711X host SPI controller" depends on ARCH_CLPS711X || COMPILE_TEST help This enables dedicated general purpose SPI/Microwire1-compatible master mode interface (SSI1) for CLPS711X-based CPUs. config SPI_COLDFIRE_QSPI tristate "Freescale Coldfire QSPI controller" depends on (M520x || M523x || M5249 || M525x || M527x || M528x || M532x) help This enables support for the Coldfire QSPI controller in master mode. config SPI_DAVINCI tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller" depends on ARCH_DAVINCI || ARCH_KEYSTONE select SPI_BITBANG help SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules. config SPI_DESIGNWARE tristate "DesignWare SPI controller core support" help general driver for SPI controller core from DesignWare config SPI_DW_PCI tristate "PCI interface driver for DW SPI core" depends on SPI_DESIGNWARE && PCI config SPI_DW_MID_DMA bool "DMA support for DW SPI controller on Intel MID platform" depends on SPI_DW_PCI && DW_DMAC_PCI config SPI_DW_MMIO tristate "Memory-mapped io interface driver for DW SPI core" depends on SPI_DESIGNWARE config SPI_DLN2 tristate "Diolan DLN-2 USB SPI adapter" depends on MFD_DLN2 help If you say yes to this option, support will be included for Diolan DLN2, a USB to SPI interface. This driver can also be built as a module. If so, the module will be called spi-dln2. config SPI_EFM32 tristate "EFM32 SPI controller" depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) select SPI_BITBANG help Driver for the spi controller found on Energy Micro's EFM32 SoCs. config SPI_EP93XX tristate "Cirrus Logic EP93xx SPI controller" depends on ARCH_EP93XX || COMPILE_TEST help This enables using the Cirrus EP93xx SPI controller in master mode. config SPI_FALCON bool "Falcon SPI controller support" depends on SOC_FALCON help The external bus unit (EBU) found on the FALC-ON SoC has SPI emulation that is designed for serial flash access. This driver has only been tested with m25p80 type chips. The hardware has no support for other types of SPI peripherals. config SPI_FSL_LPSPI tristate "Freescale i.MX LPSPI controller" depends on ARCH_MXC || COMPILE_TEST help This enables Freescale i.MX LPSPI controllers in master mode. config SPI_FSL_QUADSPI tristate "Freescale QSPI controller" depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST depends on HAS_IOMEM help This enables support for the Quad SPI controller in master mode. Up to four flash chips can be connected on two buses with two chipselects each. This controller does not support generic SPI messages. It only supports the high-level SPI memory interface. config SPI_HISI_SFC_V3XX tristate "HiSilicon SPI-NOR Flash Controller for Hi16XX chipsets" depends on (ARM64 && ACPI) || COMPILE_TEST depends on HAS_IOMEM select CONFIG_MTD_SPI_NOR help This enables support for HiSilicon v3xx SPI-NOR flash controller found in hi16xx chipsets. config SPI_NXP_FLEXSPI tristate "NXP Flex SPI controller" depends on ARCH_LAYERSCAPE || HAS_IOMEM help This enables support for the Flex SPI controller in master mode. Up to four slave devices can be connected on two buses with two chipselects each. This controller does not support generic SPI messages and only supports the high-level SPI memory interface. config SPI_GPIO tristate "GPIO-based bitbanging SPI Master" depends on GPIOLIB || COMPILE_TEST select SPI_BITBANG help This simple GPIO bitbanging SPI master uses the arch-neutral GPIO interface to manage MOSI, MISO, SCK, and chipselect signals. SPI slaves connected to a bus using this driver are configured as usual, except that the spi_board_info.controller_data holds the GPIO number for the chipselect used by this controller driver. Note that this driver often won't achieve even 1 Mbit/sec speeds, making it unusually slow for SPI. If your platform can inline GPIO operations, you should be able to leverage that for better speed with a custom version of this driver; see the source code. config SPI_IMG_SPFI tristate "IMG SPFI controller" depends on MIPS || COMPILE_TEST help This enables support for the SPFI master controller found on IMG SoCs. config SPI_IMX tristate "Freescale i.MX SPI controllers" depends on ARCH_MXC || COMPILE_TEST select SPI_BITBANG help This enables support for the Freescale i.MX SPI controllers. config SPI_JCORE tristate "J-Core SPI Master" depends on OF && (SUPERH || COMPILE_TEST) help This enables support for the SPI master controller in the J-Core synthesizable, open source SoC. config SPI_LM70_LLP tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)" depends on PARPORT select SPI_BITBANG help This driver supports the NS LM70 LLP Evaluation Board, which interfaces to an LM70 temperature sensor using a parallel port. config SPI_LP8841_RTC tristate "ICP DAS LP-8841 SPI Controller for RTC" depends on MACH_PXA27X_DT || COMPILE_TEST help This driver provides an SPI master device to drive Maxim DS-1302 real time clock. Say N here unless you plan to run the kernel on an ICP DAS LP-8x4x industrial computer. config SPI_MPC52xx tristate "Freescale MPC52xx SPI (non-PSC) controller support" depends on PPC_MPC52xx help This drivers supports the MPC52xx SPI controller in master SPI mode. config SPI_MPC52xx_PSC tristate "Freescale MPC52xx PSC SPI controller" depends on PPC_MPC52xx help This enables using the Freescale MPC52xx Programmable Serial Controller in master SPI mode. config SPI_MPC512x_PSC tristate "Freescale MPC512x PSC SPI controller" depends on PPC_MPC512x help This enables using the Freescale MPC5121 Programmable Serial Controller in SPI master mode. config SPI_FSL_LIB tristate depends on OF config SPI_FSL_CPM tristate depends on FSL_SOC config SPI_FSL_SPI tristate "Freescale SPI controller and Aeroflex Gaisler GRLIB SPI controller" depends on OF select SPI_FSL_LIB select SPI_FSL_CPM if FSL_SOC help This enables using the Freescale SPI controllers in master mode. MPC83xx platform uses the controller in cpu mode or CPM/QE mode. MPC8569 uses the controller in QE mode, MPC8610 in cpu mode. This also enables using the Aeroflex Gaisler GRLIB SPI controller in master mode. config SPI_FSL_DSPI tristate "Freescale DSPI controller" select REGMAP_MMIO depends on SOC_VF610 || SOC_LS1021A || ARCH_LAYERSCAPE || M5441x || COMPILE_TEST help This enables support for the Freescale DSPI controller in master mode. VF610, LS1021A and ColdFire platforms uses the controller. config SPI_FSL_ESPI tristate "Freescale eSPI controller" depends on FSL_SOC help This enables using the Freescale eSPI controllers in master mode. From MPC8536, 85xx platform uses the controller, and all P10xx, P20xx, P30xx,P40xx, P50xx uses this controller. config SPI_MESON_SPICC tristate "Amlogic Meson SPICC controller" depends on ARCH_MESON || COMPILE_TEST help This enables master mode support for the SPICC (SPI communication controller) available in Amlogic Meson SoCs. config SPI_MESON_SPIFC tristate "Amlogic Meson SPIFC controller" depends on ARCH_MESON || COMPILE_TEST select REGMAP_MMIO help This enables master mode support for the SPIFC (SPI flash controller) available in Amlogic Meson SoCs. config SPI_MT65XX tristate "MediaTek SPI controller" depends on ARCH_MEDIATEK || COMPILE_TEST help This selects the MediaTek(R) SPI bus driver. If you want to use MediaTek(R) SPI interface, say Y or M here.If you are not sure, say N. SPI drivers for Mediatek MT65XX and MT81XX series ARM SoCs. config SPI_MT7621 tristate "MediaTek MT7621 SPI Controller" depends on RALINK || COMPILE_TEST help This selects a driver for the MediaTek MT7621 SPI Controller. config SPI_NPCM_FIU tristate "Nuvoton NPCM FLASH Interface Unit" depends on ARCH_NPCM || COMPILE_TEST depends on OF && HAS_IOMEM help This enables support for the Flash Interface Unit SPI controller in master mode. This driver does not support generic SPI. The implementation only supports spi-mem interface. config SPI_NPCM_PSPI tristate "Nuvoton NPCM PSPI Controller" depends on ARCH_NPCM || COMPILE_TEST help This driver provides support for Nuvoton NPCM BMC Peripheral SPI controller in master mode. config SPI_LANTIQ_SSC tristate "Lantiq SSC SPI controller" depends on LANTIQ || COMPILE_TEST help This driver supports the Lantiq SSC SPI controller in master mode. This controller is found on Intel (former Lantiq) SoCs like the Danube, Falcon, xRX200, xRX300. config SPI_OC_TINY tristate "OpenCores tiny SPI" depends on GPIOLIB || COMPILE_TEST select SPI_BITBANG help This is the driver for OpenCores tiny SPI master controller. config SPI_OCTEON tristate "Cavium OCTEON SPI controller" depends on CAVIUM_OCTEON_SOC help SPI host driver for the hardware found on some Cavium OCTEON SOCs. config SPI_OMAP_UWIRE tristate "OMAP1 MicroWire" depends on ARCH_OMAP1 select SPI_BITBANG help This hooks up to the MicroWire controller on OMAP1 chips. config SPI_OMAP24XX tristate "McSPI driver for OMAP" depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST select SG_SPLIT help SPI master controller for OMAP24XX and later Multichannel SPI (McSPI) modules. config SPI_TI_QSPI tristate "DRA7xxx QSPI controller support" depends on ARCH_OMAP2PLUS || COMPILE_TEST help QSPI master controller for DRA7xxx used for flash devices. This device supports single, dual and quad read support, while it only supports single write mode. config SPI_OMAP_100K tristate "OMAP SPI 100K" depends on ARCH_OMAP850 || ARCH_OMAP730 || COMPILE_TEST help OMAP SPI 100K master controller for omap7xx boards. config SPI_ORION tristate "Orion SPI master" depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST help This enables using the SPI master controller on the Orion and MVEBU chips. config SPI_PIC32 tristate "Microchip PIC32 series SPI" depends on MACH_PIC32 || COMPILE_TEST help SPI driver for Microchip PIC32 SPI master controller. config SPI_PIC32_SQI tristate "Microchip PIC32 Quad SPI driver" depends on MACH_PIC32 || COMPILE_TEST help SPI driver for PIC32 Quad SPI controller. config SPI_PL022 tristate "ARM AMBA PL022 SSP controller" depends on ARM_AMBA default y if MACH_U300 default y if ARCH_REALVIEW default y if INTEGRATOR_IMPD1 default y if ARCH_VERSATILE help This selects the ARM(R) AMBA(R) PrimeCell PL022 SSP controller. If you have an embedded system with an AMBA(R) bus and a PL022 controller, say Y or M here. config SPI_PPC4xx tristate "PPC4xx SPI Controller" depends on PPC32 && 4xx select SPI_BITBANG help This selects a driver for the PPC4xx SPI Controller. config SPI_PXA2XX tristate "PXA2xx SSP SPI master" depends on (ARCH_PXA || ARCH_MMP || PCI || ACPI) select PXA_SSP if ARCH_PXA || ARCH_MMP help This enables using a PXA2xx or Sodaville SSP port as a SPI master controller. The driver can be configured to use any SSP port and additional documentation can be found a Documentation/spi/pxa2xx.rst. config SPI_PXA2XX_PCI def_tristate SPI_PXA2XX && PCI && COMMON_CLK config SPI_ROCKCHIP tristate "Rockchip SPI controller driver" help This selects a driver for Rockchip SPI controller. If you say yes to this option, support will be included for RK3066, RK3188 and RK3288 families of SPI controller. Rockchip SPI controller support DMA transport and PIO mode. The main usecase of this controller is to use spi flash as boot device. config SPI_RB4XX tristate "Mikrotik RB4XX SPI master" depends on SPI_MASTER && ATH79 help SPI controller driver for the Mikrotik RB4xx series boards. config SPI_RSPI tristate "Renesas RSPI/QSPI controller" depends on SUPERH || ARCH_RENESAS || COMPILE_TEST help SPI driver for Renesas RSPI and QSPI blocks. config SPI_QCOM_QSPI tristate "QTI QSPI controller" depends on ARCH_QCOM help QSPI(Quad SPI) driver for Qualcomm QSPI controller. config SPI_QUP tristate "Qualcomm SPI controller with QUP interface" depends on ARCH_QCOM || (ARM && COMPILE_TEST) help Qualcomm Universal Peripheral (QUP) core is an AHB slave that provides a common data path (an output FIFO and an input FIFO) for serial peripheral interface (SPI) mini-core. SPI in master mode supports up to 50MHz, up to four chip selects, programmable data path from 4 bits to 32 bits and numerous protocol variants. This driver can also be built as a module. If so, the module will be called spi_qup. config SPI_QCOM_GENI tristate "Qualcomm GENI based SPI controller" depends on QCOM_GENI_SE help This driver supports GENI serial engine based SPI controller in master mode on the Qualcomm Technologies Inc.'s SoCs. If you say yes to this option, support will be included for the built-in SPI interface on the Qualcomm Technologies Inc.'s SoCs. This driver can also be built as a module. If so, the module will be called spi-geni-qcom. config SPI_S3C24XX tristate "Samsung S3C24XX series SPI" depends on ARCH_S3C24XX select SPI_BITBANG help SPI driver for Samsung S3C24XX series ARM SoCs config SPI_S3C24XX_FIQ bool "S3C24XX driver with FIQ pseudo-DMA" depends on SPI_S3C24XX select FIQ help Enable FIQ support for the S3C24XX SPI driver to provide pseudo DMA by using the fast-interrupt request framework, This allows the driver to get DMA-like performance when there are either no free DMA channels, or when doing transfers that required both TX and RX data paths. config SPI_S3C64XX tristate "Samsung S3C64XX series type SPI" depends on (PLAT_SAMSUNG || ARCH_EXYNOS || COMPILE_TEST) help SPI driver for Samsung S3C64XX and newer SoCs. config SPI_SC18IS602 tristate "NXP SC18IS602/602B/603 I2C to SPI bridge" depends on I2C help SPI driver for NXP SC18IS602/602B/603 I2C to SPI bridge. config SPI_SH_MSIOF tristate "SuperH MSIOF SPI controller" depends on HAVE_CLK depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST help SPI driver for SuperH and SH Mobile MSIOF blocks. config SPI_SH tristate "SuperH SPI controller" depends on SUPERH || COMPILE_TEST help SPI driver for SuperH SPI blocks. config SPI_SH_SCI tristate "SuperH SCI SPI controller" depends on SUPERH select SPI_BITBANG help SPI driver for SuperH SCI blocks. config SPI_SH_HSPI tristate "SuperH HSPI controller" depends on ARCH_RENESAS || COMPILE_TEST help SPI driver for SuperH HSPI blocks. config SPI_SIFIVE tristate "SiFive SPI controller" depends on HAS_IOMEM help This exposes the SPI controller IP from SiFive. config SPI_SIRF tristate "CSR SiRFprimaII SPI controller" depends on SIRF_DMA select SPI_BITBANG help SPI driver for CSR SiRFprimaII SoCs config SPI_SLAVE_MT27XX tristate "MediaTek SPI slave device" depends on ARCH_MEDIATEK || COMPILE_TEST depends on SPI_SLAVE help This selects the MediaTek(R) SPI slave device driver. If you want to use MediaTek(R) SPI slave interface, say Y or M here.If you are not sure, say N. SPI slave drivers for Mediatek MT27XX series ARM SoCs. config SPI_SPRD tristate "Spreadtrum SPI controller" depends on ARCH_SPRD || COMPILE_TEST help SPI driver for Spreadtrum SoCs. config SPI_SPRD_ADI tristate "Spreadtrum ADI controller" depends on ARCH_SPRD || COMPILE_TEST depends on HWSPINLOCK || (COMPILE_TEST && !HWSPINLOCK) help ADI driver based on SPI for Spreadtrum SoCs. config SPI_STM32 tristate "STMicroelectronics STM32 SPI controller" depends on ARCH_STM32 || COMPILE_TEST help SPI driver for STMicroelectronics STM32 SoCs. STM32 SPI controller supports DMA and PIO modes. When DMA is not available, the driver automatically falls back to PIO mode. config SPI_STM32_QSPI tristate "STMicroelectronics STM32 QUAD SPI controller" depends on ARCH_STM32 || COMPILE_TEST depends on OF help This enables support for the Quad SPI controller in master mode. This driver does not support generic SPI. The implementation only supports spi-mem interface. config SPI_ST_SSC4 tristate "STMicroelectronics SPI SSC-based driver" depends on ARCH_STI || COMPILE_TEST help STMicroelectronics SoCs support for SPI. If you say yes to this option, support will be included for the SSC driven SPI. config SPI_SUN4I tristate "Allwinner A10 SoCs SPI controller" depends on ARCH_SUNXI || COMPILE_TEST help SPI driver for Allwinner sun4i, sun5i and sun7i SoCs config SPI_SUN6I tristate "Allwinner A31 SPI controller" depends on ARCH_SUNXI || COMPILE_TEST depends on RESET_CONTROLLER help This enables using the SPI controller on the Allwinner A31 SoCs. config SPI_SYNQUACER tristate "Socionext's SynQuacer HighSpeed SPI controller" depends on ARCH_SYNQUACER || COMPILE_TEST help SPI driver for Socionext's High speed SPI controller which provides various operating modes for interfacing to serial peripheral devices that use the de-facto standard SPI protocol. It also supports the new dual-bit and quad-bit SPI protocol. config SPI_MXIC tristate "Macronix MX25F0A SPI controller" depends on SPI_MASTER help This selects the Macronix MX25F0A SPI controller driver. config SPI_MXS tristate "Freescale MXS SPI controller" depends on ARCH_MXS select STMP_DEVICE help SPI driver for Freescale MXS devices. config SPI_TEGRA114 tristate "NVIDIA Tegra114 SPI Controller" depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST depends on RESET_CONTROLLER help SPI driver for NVIDIA Tegra114 SPI Controller interface. This controller is different than the older SoCs SPI controller and also register interface get changed with this controller. config SPI_TEGRA20_SFLASH tristate "Nvidia Tegra20 Serial flash Controller" depends on ARCH_TEGRA || COMPILE_TEST depends on RESET_CONTROLLER help SPI driver for Nvidia Tegra20 Serial flash Controller interface. The main usecase of this controller is to use spi flash as boot device. config SPI_TEGRA20_SLINK tristate "Nvidia Tegra20/Tegra30 SLINK Controller" depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST depends on RESET_CONTROLLER help SPI driver for Nvidia Tegra20/Tegra30 SLINK Controller interface. config SPI_THUNDERX tristate "Cavium ThunderX SPI controller" depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) help SPI host driver for the hardware found on Cavium ThunderX SOCs. config SPI_TOPCLIFF_PCH tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) SPI" depends on PCI && (X86_32 || MIPS || COMPILE_TEST) help SPI driver for the Topcliff PCH (Platform Controller Hub) SPI bus used in some x86 embedded processors. This driver also supports the ML7213/ML7223/ML7831, a companion chip for the Atom E6xx series and compatible with the Intel EG20T PCH. config SPI_TXX9 tristate "Toshiba TXx9 SPI controller" depends on GPIOLIB && (CPU_TX49XX || COMPILE_TEST) help SPI driver for Toshiba TXx9 MIPS SoCs config SPI_UNIPHIER tristate "Socionext UniPhier SPI Controller" depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF help This enables a driver for the Socionext UniPhier SoC SCSSI SPI controller. UniPhier SoCs have SCSSI and MCSSI SPI controllers. Every UniPhier SoC has SCSSI which supports single channel. Older UniPhier Pro4/Pro5 also has MCSSI which support multiple channels. This driver supports SCSSI only. If your SoC supports SCSSI, say Y here. config SPI_XCOMM tristate "Analog Devices AD-FMCOMMS1-EBZ SPI-I2C-bridge driver" depends on I2C help Support for the SPI-I2C bridge found on the Analog Devices AD-FMCOMMS1-EBZ board. config SPI_XILINX tristate "Xilinx SPI controller common module" depends on HAS_IOMEM select SPI_BITBANG help This exposes the SPI controller IP from the Xilinx EDK. See the "OPB Serial Peripheral Interface (SPI) (v1.00e)" Product Specification document (DS464) for hardware details. Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)" config SPI_XLP tristate "Netlogic XLP SPI controller driver" depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST help Enable support for the SPI controller on the Netlogic XLP SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX, XLP9XX and XLP5XX. If you have a Netlogic XLP platform say Y here. If unsure, say N. config SPI_XTENSA_XTFPGA tristate "Xtensa SPI controller for xtfpga" depends on (XTENSA && XTENSA_PLATFORM_XTFPGA) || COMPILE_TEST select SPI_BITBANG help SPI driver for xtfpga SPI master controller. This simple SPI master controller is built into xtfpga bitstreams and is used to control daughterboard audio codec. It always transfers 16 bit words in SPI mode 0, automatically asserting CS on transfer start and deasserting on end. config SPI_ZYNQ_QSPI tristate "Xilinx Zynq QSPI controller" depends on ARCH_ZYNQ || COMPILE_TEST depends on SPI_MEM help This enables support for the Zynq Quad SPI controller in master mode. This controller only supports SPI memory interface. config SPI_ZYNQMP_GQSPI tristate "Xilinx ZynqMP GQSPI controller" depends on (SPI_MASTER && HAS_DMA) || COMPILE_TEST help Enables Xilinx GQSPI controller driver for Zynq UltraScale+ MPSoC. # # Add new SPI master controllers in alphabetical order above this line # # # There are lots of SPI device types, with sensors and memory # being probably the most widely used ones. # comment "SPI Protocol Masters" config SPI_SPIDEV tristate "User mode SPI device driver support" help This supports user mode SPI protocol drivers. Note that this application programming interface is EXPERIMENTAL and hence SUBJECT TO CHANGE WITHOUT NOTICE while it stabilizes. config SPI_LOOPBACK_TEST tristate "spi loopback test framework support" depends on m help This enables the SPI loopback testing framework driver primarily used for development of spi_master drivers and to detect regressions config SPI_TLE62X0 tristate "Infineon TLE62X0 (for power switching)" depends on SYSFS help SPI driver for Infineon TLE62X0 series line driver chips, such as the TLE6220, TLE6230 and TLE6240. This provides a sysfs interface, with each line presented as a kind of GPIO exposing both switch control and diagnostic feedback. # # Add new SPI protocol masters in alphabetical order above this line # endif # SPI_MASTER # # SLAVE side ... listening to other SPI masters # config SPI_SLAVE bool "SPI slave protocol handlers" help If your system has a slave-capable SPI controller, you can enable slave protocol handlers. if SPI_SLAVE config SPI_SLAVE_TIME tristate "SPI slave handler reporting boot up time" help SPI slave handler responding with the time of reception of the last SPI message. config SPI_SLAVE_SYSTEM_CONTROL tristate "SPI slave handler controlling system state" help SPI slave handler to allow remote control of system reboot, power off, halt, and suspend. endif # SPI_SLAVE config SPI_DYNAMIC def_bool ACPI || OF_DYNAMIC || SPI_SLAVE endif # SPI spi/Makefile 0000644 00000013061 14722053666 0007013 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for kernel SPI drivers. # ccflags-$(CONFIG_SPI_DEBUG) := -DDEBUG # small core, mostly translating board-specific # config declarations into driver model code obj-$(CONFIG_SPI_MASTER) += spi.o obj-$(CONFIG_SPI_MEM) += spi-mem.o obj-$(CONFIG_SPI_SPIDEV) += spidev.o obj-$(CONFIG_SPI_LOOPBACK_TEST) += spi-loopback-test.o # SPI master controller drivers (bus) obj-$(CONFIG_SPI_ALTERA) += spi-altera.o obj-$(CONFIG_SPI_ARMADA_3700) += spi-armada-3700.o obj-$(CONFIG_SPI_ATMEL) += spi-atmel.o obj-$(CONFIG_SPI_ATMEL_QUADSPI) += atmel-quadspi.o obj-$(CONFIG_SPI_AT91_USART) += spi-at91-usart.o obj-$(CONFIG_SPI_ATH79) += spi-ath79.o obj-$(CONFIG_SPI_AU1550) += spi-au1550.o obj-$(CONFIG_SPI_AXI_SPI_ENGINE) += spi-axi-spi-engine.o obj-$(CONFIG_SPI_BCM2835) += spi-bcm2835.o obj-$(CONFIG_SPI_BCM2835AUX) += spi-bcm2835aux.o obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o obj-$(CONFIG_SPI_BCM63XX_HSSPI) += spi-bcm63xx-hsspi.o obj-$(CONFIG_SPI_BCM_QSPI) += spi-iproc-qspi.o spi-brcmstb-qspi.o spi-bcm-qspi.o obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.o obj-$(CONFIG_SPI_BUTTERFLY) += spi-butterfly.o obj-$(CONFIG_SPI_CADENCE) += spi-cadence.o obj-$(CONFIG_SPI_CLPS711X) += spi-clps711x.o obj-$(CONFIG_SPI_COLDFIRE_QSPI) += spi-coldfire-qspi.o obj-$(CONFIG_SPI_DAVINCI) += spi-davinci.o obj-$(CONFIG_SPI_DLN2) += spi-dln2.o obj-$(CONFIG_SPI_DESIGNWARE) += spi-dw.o obj-$(CONFIG_SPI_DW_MMIO) += spi-dw-mmio.o obj-$(CONFIG_SPI_DW_PCI) += spi-dw-midpci.o spi-dw-midpci-objs := spi-dw-pci.o spi-dw-mid.o obj-$(CONFIG_SPI_EFM32) += spi-efm32.o obj-$(CONFIG_SPI_EP93XX) += spi-ep93xx.o obj-$(CONFIG_SPI_FALCON) += spi-falcon.o obj-$(CONFIG_SPI_FSL_CPM) += spi-fsl-cpm.o obj-$(CONFIG_SPI_FSL_DSPI) += spi-fsl-dspi.o obj-$(CONFIG_SPI_FSL_LIB) += spi-fsl-lib.o obj-$(CONFIG_SPI_FSL_ESPI) += spi-fsl-espi.o obj-$(CONFIG_SPI_FSL_LPSPI) += spi-fsl-lpspi.o obj-$(CONFIG_SPI_FSL_QUADSPI) += spi-fsl-qspi.o obj-$(CONFIG_SPI_FSL_SPI) += spi-fsl-spi.o obj-$(CONFIG_SPI_GPIO) += spi-gpio.o obj-$(CONFIG_SPI_HISI_SFC_V3XX) += spi-hisi-sfc-v3xx.o obj-$(CONFIG_SPI_IMG_SPFI) += spi-img-spfi.o obj-$(CONFIG_SPI_IMX) += spi-imx.o obj-$(CONFIG_SPI_LANTIQ_SSC) += spi-lantiq-ssc.o obj-$(CONFIG_SPI_JCORE) += spi-jcore.o obj-$(CONFIG_SPI_LM70_LLP) += spi-lm70llp.o obj-$(CONFIG_SPI_LP8841_RTC) += spi-lp8841-rtc.o obj-$(CONFIG_SPI_MESON_SPICC) += spi-meson-spicc.o obj-$(CONFIG_SPI_MESON_SPIFC) += spi-meson-spifc.o obj-$(CONFIG_SPI_MPC512x_PSC) += spi-mpc512x-psc.o obj-$(CONFIG_SPI_MPC52xx_PSC) += spi-mpc52xx-psc.o obj-$(CONFIG_SPI_MPC52xx) += spi-mpc52xx.o obj-$(CONFIG_SPI_MT65XX) += spi-mt65xx.o obj-$(CONFIG_SPI_MT7621) += spi-mt7621.o obj-$(CONFIG_SPI_MXIC) += spi-mxic.o obj-$(CONFIG_SPI_MXS) += spi-mxs.o obj-$(CONFIG_SPI_NPCM_FIU) += spi-npcm-fiu.o obj-$(CONFIG_SPI_NPCM_PSPI) += spi-npcm-pspi.o obj-$(CONFIG_SPI_NXP_FLEXSPI) += spi-nxp-fspi.o obj-$(CONFIG_SPI_OC_TINY) += spi-oc-tiny.o spi-octeon-objs := spi-cavium.o spi-cavium-octeon.o obj-$(CONFIG_SPI_OCTEON) += spi-octeon.o obj-$(CONFIG_SPI_OMAP_UWIRE) += spi-omap-uwire.o obj-$(CONFIG_SPI_OMAP_100K) += spi-omap-100k.o obj-$(CONFIG_SPI_OMAP24XX) += spi-omap2-mcspi.o obj-$(CONFIG_SPI_TI_QSPI) += spi-ti-qspi.o obj-$(CONFIG_SPI_ORION) += spi-orion.o obj-$(CONFIG_SPI_PIC32) += spi-pic32.o obj-$(CONFIG_SPI_PIC32_SQI) += spi-pic32-sqi.o obj-$(CONFIG_SPI_PL022) += spi-pl022.o obj-$(CONFIG_SPI_PPC4xx) += spi-ppc4xx.o spi-pxa2xx-platform-objs := spi-pxa2xx.o spi-pxa2xx-dma.o obj-$(CONFIG_SPI_PXA2XX) += spi-pxa2xx-platform.o obj-$(CONFIG_SPI_PXA2XX_PCI) += spi-pxa2xx-pci.o obj-$(CONFIG_SPI_QCOM_GENI) += spi-geni-qcom.o obj-$(CONFIG_SPI_QCOM_QSPI) += spi-qcom-qspi.o obj-$(CONFIG_SPI_QUP) += spi-qup.o obj-$(CONFIG_SPI_ROCKCHIP) += spi-rockchip.o obj-$(CONFIG_SPI_RB4XX) += spi-rb4xx.o obj-$(CONFIG_SPI_RSPI) += spi-rspi.o obj-$(CONFIG_SPI_S3C24XX) += spi-s3c24xx-hw.o spi-s3c24xx-hw-y := spi-s3c24xx.o spi-s3c24xx-hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi-s3c24xx-fiq.o obj-$(CONFIG_SPI_S3C64XX) += spi-s3c64xx.o obj-$(CONFIG_SPI_SC18IS602) += spi-sc18is602.o obj-$(CONFIG_SPI_SH) += spi-sh.o obj-$(CONFIG_SPI_SH_HSPI) += spi-sh-hspi.o obj-$(CONFIG_SPI_SH_MSIOF) += spi-sh-msiof.o obj-$(CONFIG_SPI_SH_SCI) += spi-sh-sci.o obj-$(CONFIG_SPI_SIFIVE) += spi-sifive.o obj-$(CONFIG_SPI_SIRF) += spi-sirf.o obj-$(CONFIG_SPI_SLAVE_MT27XX) += spi-slave-mt27xx.o obj-$(CONFIG_SPI_SPRD) += spi-sprd.o obj-$(CONFIG_SPI_SPRD_ADI) += spi-sprd-adi.o obj-$(CONFIG_SPI_STM32) += spi-stm32.o obj-$(CONFIG_SPI_STM32_QSPI) += spi-stm32-qspi.o obj-$(CONFIG_SPI_ST_SSC4) += spi-st-ssc4.o obj-$(CONFIG_SPI_SUN4I) += spi-sun4i.o obj-$(CONFIG_SPI_SUN6I) += spi-sun6i.o obj-$(CONFIG_SPI_SYNQUACER) += spi-synquacer.o obj-$(CONFIG_SPI_TEGRA114) += spi-tegra114.o obj-$(CONFIG_SPI_TEGRA20_SFLASH) += spi-tegra20-sflash.o obj-$(CONFIG_SPI_TEGRA20_SLINK) += spi-tegra20-slink.o obj-$(CONFIG_SPI_TLE62X0) += spi-tle62x0.o spi-thunderx-objs := spi-cavium.o spi-cavium-thunderx.o obj-$(CONFIG_SPI_THUNDERX) += spi-thunderx.o obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-topcliff-pch.o obj-$(CONFIG_SPI_TXX9) += spi-txx9.o obj-$(CONFIG_SPI_UNIPHIER) += spi-uniphier.o obj-$(CONFIG_SPI_XCOMM) += spi-xcomm.o obj-$(CONFIG_SPI_XILINX) += spi-xilinx.o obj-$(CONFIG_SPI_XLP) += spi-xlp.o obj-$(CONFIG_SPI_XTENSA_XTFPGA) += spi-xtensa-xtfpga.o obj-$(CONFIG_SPI_ZYNQ_QSPI) += spi-zynq-qspi.o obj-$(CONFIG_SPI_ZYNQMP_GQSPI) += spi-zynqmp-gqspi.o # SPI slave protocol handlers obj-$(CONFIG_SPI_SLAVE_TIME) += spi-slave-time.o obj-$(CONFIG_SPI_SLAVE_SYSTEM_CONTROL) += spi-slave-system-control.o sh/superhyway/Makefile 0000644 00000000255 14722053666 0011053 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the SuperHyway bus drivers. # obj-$(CONFIG_SUPERHYWAY) += superhyway.o obj-$(CONFIG_SYSFS) += superhyway-sysfs.o sh/Kconfig 0000644 00000000174 14722053666 0006476 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "SuperH / SH-Mobile Driver Options" source "drivers/sh/intc/Kconfig" endmenu sh/clk/Makefile 0000644 00000000133 14722053666 0007377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y := core.o obj-$(CONFIG_SH_CLK_CPG) += cpg.o sh/maple/Makefile 0000644 00000000141 14722053666 0007723 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for Maple Bus obj-$(CONFIG_MAPLE) := maple.o sh/Makefile 0000644 00000000436 14722053666 0006634 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the SuperH specific drivers. # obj-$(CONFIG_SH_INTC) += intc/ ifneq ($(CONFIG_COMMON_CLK),y) obj-$(CONFIG_HAVE_CLK) += clk/ endif obj-$(CONFIG_MAPLE) += maple/ obj-$(CONFIG_SUPERHYWAY) += superhyway/ obj-y += pm_runtime.o sh/intc/Kconfig 0000644 00000002253 14722053666 0007433 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SH_INTC bool select IRQ_DOMAIN if SH_INTC comment "Interrupt controller options" config INTC_USERIMASK bool "Userspace interrupt masking support" depends on (SUPERH && CPU_SH4A) || COMPILE_TEST help This enables support for hardware-assisted userspace hardirq masking. SH-4A and newer interrupt blocks all support a special shadowed page with all non-masking registers obscured when mapped in to userspace. This is primarily for use by userspace device drivers that are using special priority levels. If in doubt, say N. config INTC_BALANCING bool "Hardware IRQ balancing support" depends on SMP && SUPERH && CPU_SHX3 help This enables support for IRQ auto-distribution mode on SH-X3 SMP parts. All of the balancing and CPU wakeup decisions are taken care of automatically by hardware for distributed vectors. If in doubt, say N. config INTC_MAPPING_DEBUG bool "Expose IRQ to per-controller id mapping via debugfs" depends on DEBUG_FS help This will create a debugfs entry for showing the relationship between system IRQs and the per-controller id tables. If in doubt, say N. endif sh/intc/Makefile 0000644 00000000363 14722053666 0007570 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y := access.o chip.o core.o handle.o irqdomain.o virq.o obj-$(CONFIG_INTC_BALANCING) += balancing.o obj-$(CONFIG_INTC_USERIMASK) += userimask.o obj-$(CONFIG_INTC_MAPPING_DEBUG) += virq-debugfs.o cpuidle/Kconfig.powerpc 0000644 00000001010 14722053666 0011155 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # POWERPC CPU Idle Drivers # config PSERIES_CPUIDLE bool "Cpuidle driver for pSeries platforms" depends on CPU_IDLE depends on PPC_PSERIES default y help Select this option to enable processor idle state management through cpuidle subsystem. config POWERNV_CPUIDLE bool "Cpuidle driver for powernv platforms" depends on CPU_IDLE depends on PPC_POWERNV default y help Select this option to enable processor idle state management through cpuidle subsystem. cpuidle/Kconfig 0000644 00000004225 14722053666 0007512 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "CPU Idle" config CPU_IDLE bool "CPU idle PM support" default y if ACPI || PPC_PSERIES select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE) select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO help CPU idle is a generic framework for supporting software-controlled idle processor power management. It includes modular cross-platform governors that can be swapped during runtime. If you're using an ACPI-enabled platform, you should say Y here. if CPU_IDLE config CPU_IDLE_MULTIPLE_DRIVERS bool config CPU_IDLE_GOV_LADDER bool "Ladder governor (for periodic timer tick)" config CPU_IDLE_GOV_MENU bool "Menu governor (for tickless system)" config CPU_IDLE_GOV_TEO bool "Timer events oriented (TEO) governor (for tickless systems)" help This governor implements a simplified idle state selection method focused on timer events and does not do any interactivity boosting. Some workloads benefit from using it and it generally should be safe to use. Say Y here if you are not happy with the alternatives. config CPU_IDLE_GOV_HALTPOLL bool "Haltpoll governor (for virtualized systems)" depends on KVM_GUEST help This governor implements haltpoll idle state selection, to be used in conjunction with the haltpoll cpuidle driver, allowing for polling for a certain amount of time before entering idle state. Some virtualized workloads benefit from using it. config DT_IDLE_STATES bool menu "ARM CPU Idle Drivers" depends on ARM || ARM64 source "drivers/cpuidle/Kconfig.arm" endmenu menu "MIPS CPU Idle Drivers" depends on MIPS source "drivers/cpuidle/Kconfig.mips" endmenu menu "POWERPC CPU Idle Drivers" depends on PPC source "drivers/cpuidle/Kconfig.powerpc" endmenu config HALTPOLL_CPUIDLE tristate "Halt poll cpuidle driver" depends on X86 && KVM_GUEST default y help This option enables halt poll cpuidle driver, which allows to poll before halting in the guest (more efficient than polling in the host via halt_poll_ns for some scenarios). endif config ARCH_NEEDS_CPU_IDLE_COUPLED def_bool n endmenu cpuidle/governors/Makefile 0000644 00000000401 14722053666 0011663 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for cpuidle governors. # obj-$(CONFIG_CPU_IDLE_GOV_LADDER) += ladder.o obj-$(CONFIG_CPU_IDLE_GOV_MENU) += menu.o obj-$(CONFIG_CPU_IDLE_GOV_TEO) += teo.o obj-$(CONFIG_CPU_IDLE_GOV_HALTPOLL) += haltpoll.o cpuidle/Kconfig.mips 0000644 00000001222 14722053666 0010453 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MIPS CPU Idle Drivers # config MIPS_CPS_CPUIDLE bool "CPU Idle driver for MIPS CPS platforms" depends on CPU_IDLE && MIPS_CPS depends on SYS_SUPPORTS_MIPS_CPS select ARCH_NEEDS_CPU_IDLE_COUPLED if MIPS_MT || CPU_MIPSR6 select GENERIC_CLOCKEVENTS_BROADCAST if SMP select MIPS_CPS_PM default y help Select this option to enable processor idle state management through cpuidle for systems built around the MIPS Coherent Processing System (CPS) architecture. In order to make use of the deepest idle states you will need to ensure that you are also using the CONFIG_MIPS_CPS SMP implementation. cpuidle/Kconfig.arm 0000644 00000005454 14722053666 0010275 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ARM CPU Idle drivers # config ARM_CPUIDLE bool "Generic ARM/ARM64 CPU idle Driver" select DT_IDLE_STATES select CPU_IDLE_MULTIPLE_DRIVERS help Select this to enable generic cpuidle driver for ARM. It provides a generic idle driver whose idle states are configured at run-time through DT nodes. The CPUidle suspend backend is initialized by calling the CPU operations init idle hook provided by architecture code. config ARM_PSCI_CPUIDLE bool "PSCI CPU idle Driver" depends on ARM_PSCI_FW select DT_IDLE_STATES select CPU_IDLE_MULTIPLE_DRIVERS help Select this to enable PSCI firmware based CPUidle driver for ARM. It provides an idle driver that is capable of detecting and managing idle states through the PSCI firmware interface. config ARM_BIG_LITTLE_CPUIDLE bool "Support for ARM big.LITTLE processors" depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS depends on MCPM && !ARM64 select ARM_CPU_SUSPEND select CPU_IDLE_MULTIPLE_DRIVERS select DT_IDLE_STATES help Select this option to enable CPU idle driver for big.LITTLE based ARM systems. Driver manages CPUs coordination through MCPM and define different C-states for little and big cores through the multiple CPU idle drivers infrastructure. config ARM_CLPS711X_CPUIDLE bool "CPU Idle Driver for CLPS711X processors" depends on ARCH_CLPS711X && !ARM64 || COMPILE_TEST help Select this to enable cpuidle on Cirrus Logic CLPS711X SOCs. config ARM_HIGHBANK_CPUIDLE bool "CPU Idle Driver for Calxeda processors" depends on ARM_PSCI && !ARM64 select ARM_CPU_SUSPEND help Select this to enable cpuidle on Calxeda processors. config ARM_KIRKWOOD_CPUIDLE bool "CPU Idle Driver for Marvell Kirkwood SoCs" depends on MACH_KIRKWOOD && !ARM64 help This adds the CPU Idle driver for Marvell Kirkwood SoCs. config ARM_ZYNQ_CPUIDLE bool "CPU Idle Driver for Xilinx Zynq processors" depends on ARCH_ZYNQ && !ARM64 help Select this to enable cpuidle on Xilinx Zynq processors. config ARM_U8500_CPUIDLE bool "Cpu Idle Driver for the ST-E u8500 processors" depends on ARCH_U8500 && !ARM64 help Select this to enable cpuidle for ST-E u8500 processors config ARM_AT91_CPUIDLE bool "Cpu Idle Driver for the AT91 processors" default y depends on ARCH_AT91 && !ARM64 help Select this to enable cpuidle for AT91 processors config ARM_EXYNOS_CPUIDLE bool "Cpu Idle Driver for the Exynos processors" depends on ARCH_EXYNOS && !ARM64 select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP help Select this to enable cpuidle for Exynos processors config ARM_MVEBU_V7_CPUIDLE bool "CPU Idle Driver for mvebu v7 family processors" depends on ARCH_MVEBU && !ARM64 help Select this to enable cpuidle on Armada 370, 38x and XP processors. cpuidle/Makefile 0000644 00000002563 14722053666 0007652 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for cpuidle. # obj-y += cpuidle.o driver.o governor.o sysfs.o governors/ obj-$(CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED) += coupled.o obj-$(CONFIG_DT_IDLE_STATES) += dt_idle_states.o obj-$(CONFIG_ARCH_HAS_CPU_RELAX) += poll_state.o obj-$(CONFIG_HALTPOLL_CPUIDLE) += cpuidle-haltpoll.o ################################################################################## # ARM SoC drivers obj-$(CONFIG_ARM_MVEBU_V7_CPUIDLE) += cpuidle-mvebu-v7.o obj-$(CONFIG_ARM_BIG_LITTLE_CPUIDLE) += cpuidle-big_little.o obj-$(CONFIG_ARM_CLPS711X_CPUIDLE) += cpuidle-clps711x.o obj-$(CONFIG_ARM_HIGHBANK_CPUIDLE) += cpuidle-calxeda.o obj-$(CONFIG_ARM_KIRKWOOD_CPUIDLE) += cpuidle-kirkwood.o obj-$(CONFIG_ARM_ZYNQ_CPUIDLE) += cpuidle-zynq.o obj-$(CONFIG_ARM_U8500_CPUIDLE) += cpuidle-ux500.o obj-$(CONFIG_ARM_AT91_CPUIDLE) += cpuidle-at91.o obj-$(CONFIG_ARM_EXYNOS_CPUIDLE) += cpuidle-exynos.o obj-$(CONFIG_ARM_CPUIDLE) += cpuidle-arm.o obj-$(CONFIG_ARM_PSCI_CPUIDLE) += cpuidle-psci.o ############################################################################### # MIPS drivers obj-$(CONFIG_MIPS_CPS_CPUIDLE) += cpuidle-cps.o ############################################################################### # POWERPC drivers obj-$(CONFIG_PSERIES_CPUIDLE) += cpuidle-pseries.o obj-$(CONFIG_POWERNV_CPUIDLE) += cpuidle-powernv.o staging/sm750fb/Kconfig 0000644 00000001010 14722053666 0010671 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config FB_SM750 tristate "Silicon Motion SM750 framebuffer support" depends on FB && PCI select FB_MODE_HELPERS select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help Frame buffer driver for the Silicon Motion SM750 chip with 2D accelearion and dual head support. This driver is also available as a module. The module will be called sm750fb. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. staging/sm750fb/Makefile 0000644 00000000421 14722053666 0011033 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FB_SM750) += sm750fb.o sm750fb-objs := sm750.o sm750_hw.o sm750_accel.o sm750_cursor.o ddk750_chip.o ddk750_power.o ddk750_mode.o sm750fb-objs += ddk750_display.o ddk750_swi2c.o ddk750_sii164.o ddk750_dvi.o ddk750_hwi2c.o staging/rtl8712/Kconfig 0000644 00000001020 14722053666 0010632 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config R8712U tristate "RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver" depends on WLAN && USB select WIRELESS_EXT select WEXT_PRIV select FW_LOADER help This option adds the Realtek RTL8712 USB device such as the D-Link DWA-130. If built as a module, it will be called r8712u. config R8712_TX_AGGR bool "Realtek RTL8712U Transmit Aggregation code" depends on R8712U && BROKEN help This option provides transmit aggregation for the Realtek RTL8712 USB device. staging/rtl8712/Makefile 0000644 00000001243 14722053666 0010776 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 r8712u-y := \ rtl871x_cmd.o \ rtl8712_cmd.o \ rtl871x_security.o \ rtl871x_eeprom.o \ rtl8712_efuse.o \ hal_init.o \ usb_halinit.o \ usb_ops.o \ usb_ops_linux.o \ rtl871x_io.o \ rtl8712_io.o \ rtl871x_ioctl_linux.o \ rtl871x_ioctl_rtl.o \ rtl871x_ioctl_set.o \ rtl8712_led.o \ rtl871x_mlme.o \ ieee80211.o \ rtl871x_mp_ioctl.o \ rtl871x_mp.o \ mlme_linux.o \ recv_linux.o \ xmit_linux.o \ usb_intf.o \ os_intfs.o \ rtl871x_pwrctrl.o \ rtl8712_recv.o \ rtl871x_recv.o \ rtl871x_sta_mgt.o \ rtl871x_xmit.o \ rtl8712_xmit.o obj-$(CONFIG_R8712U) := r8712u.o staging/isdn/gigaset/Kconfig 0000644 00000004015 14722053666 0012076 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig ISDN_DRV_GIGASET tristate "Siemens Gigaset support" depends on TTY select CRC_CCITT select BITREVERSE help This driver supports the Siemens Gigaset SX205/255 family of ISDN DECT bases, including the predecessors Gigaset 3070/3075 and 4170/4175 and their T-Com versions Sinus 45isdn and Sinus 721X. If you have one of these devices, say M here and for at least one of the connection specific parts that follow. This will build a module called "gigaset". Note: If you build your ISDN subsystem (ISDN_CAPI or ISDN_I4L) as a module, you have to build this driver as a module too, otherwise the Gigaset device won't show up as an ISDN device. if ISDN_DRV_GIGASET config GIGASET_CAPI bool "Gigaset CAPI support" depends on ISDN_CAPI='y'||(ISDN_CAPI='m'&&ISDN_DRV_GIGASET='m') default 'y' help Build the Gigaset driver as a CAPI 2.0 driver interfacing with the Kernel CAPI subsystem. To use it with the old ISDN4Linux subsystem you'll have to enable the capidrv glue driver. (select ISDN_CAPI_CAPIDRV.) Say N to build the old native ISDN4Linux variant. If unsure, say Y. config GIGASET_BASE tristate "Gigaset base station support" depends on USB help Say M here if you want to use the USB interface of the Gigaset base for connection to your system. This will build a module called "bas_gigaset". config GIGASET_M105 tristate "Gigaset M105 support" depends on USB help Say M here if you want to connect to the Gigaset base via DECT using a Gigaset M105 (Sinus 45 Data 2) USB DECT device. This will build a module called "usb_gigaset". config GIGASET_M101 tristate "Gigaset M101 support" help Say M here if you want to connect to the Gigaset base via DECT using a Gigaset M101 (Sinus 45 Data 1) RS232 DECT device. This will build a module called "ser_gigaset". config GIGASET_DEBUG bool "Gigaset debugging" help This enables debugging code in the Gigaset drivers. If in doubt, say yes. endif # ISDN_DRV_GIGASET staging/isdn/gigaset/Makefile 0000644 00000000716 14722053666 0012237 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 gigaset-y := common.o interface.o proc.o ev-layer.o asyncdata.o ifdef CONFIG_GIGASET_CAPI gigaset-y += capi.o else gigaset-y += dummyll.o endif usb_gigaset-y := usb-gigaset.o ser_gigaset-y := ser-gigaset.o bas_gigaset-y := bas-gigaset.o isocdata.o obj-$(CONFIG_ISDN_DRV_GIGASET) += gigaset.o obj-$(CONFIG_GIGASET_M105) += usb_gigaset.o obj-$(CONFIG_GIGASET_BASE) += bas_gigaset.o obj-$(CONFIG_GIGASET_M101) += ser_gigaset.o staging/isdn/Kconfig 0000644 00000000350 14722053666 0010451 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "ISDN CAPI drivers" depends on ISDN_CAPI source "drivers/staging/isdn/avm/Kconfig" source "drivers/staging/isdn/gigaset/Kconfig" source "drivers/staging/isdn/hysdn/Kconfig" endmenu staging/isdn/hysdn/Kconfig 0000644 00000001033 14722053666 0011575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config HYSDN tristate "Hypercope HYSDN cards (Champ, Ergo, Metro) support (module only)" depends on m && PROC_FS && PCI help Say Y here if you have one of Hypercope's active PCI ISDN cards Champ, Ergo and Metro. You will then get a module called hysdn. Please read the file <file:Documentation/isdn/hysdn.rst> for more information. config HYSDN_CAPI bool "HYSDN CAPI 2.0 support" depends on HYSDN && ISDN_CAPI help Say Y here if you like to use Hypercope's CAPI 2.0 interface. staging/isdn/hysdn/Makefile 0000644 00000000541 14722053666 0011735 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for the hysdn ISDN device driver # Each configuration option enables a list of files. obj-$(CONFIG_HYSDN) += hysdn.o # Multipart objects. hysdn-y := hysdn_procconf.o hysdn_proclog.o boardergo.o \ hysdn_boot.o hysdn_sched.o hysdn_net.o hysdn_init.o hysdn-$(CONFIG_HYSDN_CAPI) += hycapi.o staging/isdn/avm/Kconfig 0000644 00000002763 14722053666 0011246 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ISDN AVM drivers # menuconfig CAPI_AVM bool "Active AVM cards" help Enable support for AVM active ISDN cards. if CAPI_AVM config ISDN_DRV_AVMB1_B1ISA tristate "AVM B1 ISA support" depends on ISA help Enable support for the ISA version of the AVM B1 card. config ISDN_DRV_AVMB1_B1PCI tristate "AVM B1 PCI support" depends on PCI help Enable support for the PCI version of the AVM B1 card. config ISDN_DRV_AVMB1_B1PCIV4 bool "AVM B1 PCI V4 support" depends on ISDN_DRV_AVMB1_B1PCI help Enable support for the V4 version of AVM B1 PCI card. config ISDN_DRV_AVMB1_T1ISA tristate "AVM T1/T1-B ISA support" depends on ISA help Enable support for the AVM T1 T1B card. Note: This is a PRI card and handle 30 B-channels. config ISDN_DRV_AVMB1_B1PCMCIA tristate "AVM B1/M1/M2 PCMCIA support" depends on PCMCIA help Enable support for the PCMCIA version of the AVM B1 card. config ISDN_DRV_AVMB1_AVM_CS tristate "AVM B1/M1/M2 PCMCIA cs module" depends on ISDN_DRV_AVMB1_B1PCMCIA help Enable the PCMCIA client driver for the AVM B1/M1/M2 PCMCIA cards. config ISDN_DRV_AVMB1_T1PCI tristate "AVM T1/T1-B PCI support" depends on PCI help Enable support for the AVM T1 T1B card. Note: This is a PRI card and handle 30 B-channels. config ISDN_DRV_AVMB1_C4 tristate "AVM C4/C2 support" depends on PCI help Enable support for the AVM C4/C2 PCI cards. These cards handle 4/2 BRI ISDN lines (8/4 channels). endif # CAPI_AVM staging/isdn/avm/Makefile 0000644 00000000770 14722053666 0011377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the AVM ISDN device drivers # Each configuration option enables a list of files. obj-$(CONFIG_ISDN_DRV_AVMB1_B1ISA) += b1isa.o b1.o obj-$(CONFIG_ISDN_DRV_AVMB1_B1PCI) += b1pci.o b1.o b1dma.o obj-$(CONFIG_ISDN_DRV_AVMB1_B1PCMCIA) += b1pcmcia.o b1.o obj-$(CONFIG_ISDN_DRV_AVMB1_AVM_CS) += avm_cs.o obj-$(CONFIG_ISDN_DRV_AVMB1_T1ISA) += t1isa.o b1.o obj-$(CONFIG_ISDN_DRV_AVMB1_T1PCI) += t1pci.o b1.o b1dma.o obj-$(CONFIG_ISDN_DRV_AVMB1_C4) += c4.o b1.o staging/isdn/Makefile 0000644 00000000360 14722053666 0010607 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the kernel ISDN subsystem and device drivers. # Object files in subdirectories obj-$(CONFIG_CAPI_AVM) += avm/ obj-$(CONFIG_HYSDN) += hysdn/ obj-$(CONFIG_ISDN_DRV_GIGASET) += gigaset/ staging/nvec/Kconfig 0000644 00000003150 14722053666 0010450 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config MFD_NVEC tristate "NV Tegra Embedded Controller SMBus Interface" depends on I2C && GPIOLIB && ARCH_TEGRA select MFD_CORE help Say Y here to enable support for a nVidia compliant embedded controller. To compile this driver as a module, say M here: the module will be called mfd-nvec config KEYBOARD_NVEC tristate "Keyboard on nVidia compliant EC" depends on MFD_NVEC && INPUT help Say Y here to enable support for a keyboard connected to a nVidia compliant embedded controller. To compile this driver as a module, say M here: the module will be called keyboard-nvec config SERIO_NVEC_PS2 tristate "PS2 on nVidia EC" depends on MFD_NVEC && SERIO help Say Y here to enable support for a Touchpad / Mouse connected to a nVidia compliant embedded controller. To compile this driver as a module, say M here: the module will be called serio-nvec-ps2 config NVEC_POWER tristate "NVEC charger and battery" depends on MFD_NVEC && POWER_SUPPLY help Say Y to enable support for battery and charger interface for nVidia compliant embedded controllers. To compile this driver as a module, say M here: the module will be called nvec-power config NVEC_PAZ00 tristate "Support for OEM specific functions on Compal PAZ00 based devices" depends on MFD_NVEC && LEDS_CLASS help Say Y to enable control of the yellow side leds on Compal PAZ00 based devices, e.g. Toshbia AC100 and Dynabooks AZ netbooks. To compile this driver as a module, say M here: the module will be called nvec-paz00 staging/nvec/Makefile 0000644 00000000357 14722053666 0010613 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_SERIO_NVEC_PS2) += nvec_ps2.o obj-$(CONFIG_MFD_NVEC) += nvec.o obj-$(CONFIG_NVEC_POWER) += nvec_power.o obj-$(CONFIG_KEYBOARD_NVEC) += nvec_kbd.o obj-$(CONFIG_NVEC_PAZ00) += nvec_paz00.o staging/wusbcore/Kconfig 0000644 00000002173 14722053666 0011352 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Wireless USB Core configuration # config USB_WUSB tristate "Enable Wireless USB extensions" depends on UWB && USB select CRYPTO select CRYPTO_AES select CRYPTO_CCM help Enable the host-side support for Wireless USB. To compile this support select Y (built in). It is safe to select even if you don't have the hardware. config USB_WUSB_CBAF tristate "Support WUSB Cable Based Association (CBA)" depends on USB help Some WUSB devices support Cable Based Association. It's used to enable the secure communication between the host and the device. Enable this option if your WUSB device must to be connected via wired USB before establishing a wireless link. It is safe to select even if you don't have a compatible hardware. config USB_WUSB_CBAF_DEBUG bool "Enable CBA debug messages" depends on USB_WUSB_CBAF help Say Y here if you want the CBA to produce a bunch of debug messages to the system log. Select this if you are having a problem with CBA support and want to see more of what is going on. source "drivers/staging/wusbcore/host/Kconfig" staging/wusbcore/Makefile 0000644 00000000672 14722053666 0011511 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_USB_WUSB_CBAF_DEBUG) := -DDEBUG obj-$(CONFIG_USB_WUSB) += wusbcore.o obj-$(CONFIG_USB_HWA_HCD) += wusb-wa.o obj-$(CONFIG_USB_WUSB_CBAF) += wusb-cbaf.o wusbcore-y := \ crypto.o \ devconnect.o \ dev-sysfs.o \ mmc.o \ pal.o \ rh.o \ reservation.o \ security.o \ wusbhc.o wusb-cbaf-y := cbaf.o wusb-wa-y := \ wa-hc.o \ wa-nep.o \ wa-rpipe.o \ wa-xfer.o obj-y += host/ staging/wusbcore/host/whci/Makefile 0000644 00000000261 14722053666 0013412 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_WHCI_HCD) += whci-hcd.o whci-hcd-y := \ asl.o \ debug.o \ hcd.o \ hw.o \ init.o \ int.o \ pzl.o \ qset.o \ wusb.o staging/wusbcore/host/Kconfig 0000644 00000001520 14722053666 0012322 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_WHCI_HCD tristate "Wireless USB Host Controller Interface (WHCI) driver" depends on USB_PCI && USB && UWB select USB_WUSB select UWB_WHCI help A driver for PCI-based Wireless USB Host Controllers that are compliant with the WHCI specification. To compile this driver a module, choose M here: the module will be called "whci-hcd". config USB_HWA_HCD tristate "Host Wire Adapter (HWA) driver" depends on USB && UWB select USB_WUSB select UWB_HWA help This driver enables you to connect Wireless USB devices to your system using a Host Wire Adaptor USB dongle. This is an UWB Radio Controller and WUSB Host Controller connected to your machine via USB (specified in WUSB1.0). To compile this driver a module, choose M here: the module will be called "hwa-hc". staging/wusbcore/host/Makefile 0000644 00000000155 14722053666 0012462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_WHCI_HCD) += whci/ obj-$(CONFIG_USB_HWA_HCD) += hwa-hc.o staging/greybus/tools/Makefile 0000644 00000001107 14722053666 0012472 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ifeq ($(strip $(V)), 1) Q = else Q = @ endif CFLAGS += -std=gnu99 -Wall -Wextra -g \ -D_GNU_SOURCE \ -Wno-unused-parameter \ -Wmaybe-uninitialized \ -Wredundant-decls \ -Wcast-align \ -Wsign-compare \ -Wno-missing-field-initializers CC := $(CROSS_COMPILE)gcc TOOLS = loopback_test all: $(TOOLS) %.o: %.c ../greybus_protocols.h @echo ' TARGET_CC $@' $(Q)$(CC) $(CFLAGS) -c $< -o $@ loopback_%: loopback_%.o @echo ' TARGET_LD $@' $(Q)$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ clean:: rm -f *.o $(TOOLS) staging/greybus/Kconfig 0000644 00000013617 14722053666 0011206 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 if GREYBUS config GREYBUS_AUDIO tristate "Greybus Audio Class driver" depends on SOUND ---help--- Select this option if you have a device that follows the Greybus Audio Class specification. To compile this code as a module, chose M here: the module will be called gb-audio.ko config GREYBUS_BOOTROM tristate "Greybus Bootrom Class driver" ---help--- Select this option if you have a device that follows the Greybus Bootrom Class specification. To compile this code as a module, chose M here: the module will be called gb-bootrom.ko config GREYBUS_CAMERA tristate "Greybus Camera Class driver" depends on MEDIA_SUPPORT && LEDS_CLASS_FLASH && BROKEN ---help--- Select this option if you have a device that follows the Greybus Camera Class specification. To compile this code as a module, chose M here: the module will be called gb-camera.ko config GREYBUS_FIRMWARE tristate "Greybus Firmware Download Class driver" depends on SPI ---help--- Select this option if you have a device that follows the Greybus Firmware Download Class specification. To compile this code as a module, chose M here: the module will be called gb-firmware.ko config GREYBUS_HID tristate "Greybus HID Class driver" depends on HID && INPUT ---help--- Select this option if you have a device that follows the Greybus HID Class specification. To compile this code as a module, chose M here: the module will be called gb-hid.ko config GREYBUS_LIGHT tristate "Greybus LED Class driver" depends on LEDS_CLASS ---help--- Select this option if you have a device that follows the Greybus LED Class specification. To compile this code as a module, chose M here: the module will be called gb-light.ko config GREYBUS_LOG tristate "Greybus Debug Log Class driver" ---help--- Select this option if you have a device that follows the Greybus Debug Log Class specification. To compile this code as a module, chose M here: the module will be called gb-log.ko config GREYBUS_LOOPBACK tristate "Greybus Loopback Class driver" ---help--- Select this option if you have a device that follows the Greybus Debug Log Class specification. To compile this code as a module, chose M here: the module will be called gb-log.ko config GREYBUS_POWER tristate "Greybus Powersupply Class driver" depends on POWER_SUPPLY ---help--- Select this option if you have a device that follows the Greybus Powersupply Class specification. To compile this code as a module, chose M here: the module will be called gb-power-supply.ko config GREYBUS_RAW tristate "Greybus Raw Class driver" ---help--- Select this option if you have a device that follows the Greybus Raw Class specification. To compile this code as a module, chose M here: the module will be called gb-raw.ko config GREYBUS_VIBRATOR tristate "Greybus Vibrator Motor Class driver" ---help--- Select this option if you have a device that follows the Greybus Vibrator Motor Class specification. To compile this code as a module, chose M here: the module will be called gb-vibrator.ko menuconfig GREYBUS_BRIDGED_PHY tristate "Greybus Bridged PHY Class drivers" ---help--- Select this option to pick from a variety of Greybus Bridged PHY class drivers. These drivers emulate a number of different "traditional" busses by tunneling them over Greybus. Examples of this include serial, SPI, USB, and others. To compile this code as a module, chose M here: the module will be called gb-phy.ko if GREYBUS_BRIDGED_PHY config GREYBUS_GPIO tristate "Greybus GPIO Bridged PHY driver" depends on GPIOLIB select GPIOLIB_IRQCHIP ---help--- Select this option if you have a device that follows the Greybus GPIO Bridged PHY Class specification. To compile this code as a module, chose M here: the module will be called gb-gpio.ko config GREYBUS_I2C tristate "Greybus I2C Bridged PHY driver" depends on I2C ---help--- Select this option if you have a device that follows the Greybus I2C Bridged PHY Class specification. To compile this code as a module, chose M here: the module will be called gb-i2c.ko config GREYBUS_PWM tristate "Greybus PWM Bridged PHY driver" depends on PWM ---help--- Select this option if you have a device that follows the Greybus PWM Bridged PHY Class specification. To compile this code as a module, chose M here: the module will be called gb-pwm.ko config GREYBUS_SDIO tristate "Greybus SDIO Bridged PHY driver" depends on MMC ---help--- Select this option if you have a device that follows the Greybus SDIO Bridged PHY Class specification. To compile this code as a module, chose M here: the module will be called gb-sdio.ko config GREYBUS_SPI tristate "Greybus SPI Bridged PHY driver" depends on SPI ---help--- Select this option if you have a device that follows the Greybus SPI Bridged PHY Class specification. To compile this code as a module, chose M here: the module will be called gb-spi.ko config GREYBUS_UART tristate "Greybus UART Bridged PHY driver" depends on TTY ---help--- Select this option if you have a device that follows the Greybus UART Bridged PHY Class specification. To compile this code as a module, chose M here: the module will be called gb-uart.ko config GREYBUS_USB tristate "Greybus USB Host Bridged PHY driver" depends on USB ---help--- Select this option if you have a device that follows the Greybus USB Host Bridged PHY Class specification. To compile this code as a module, chose M here: the module will be called gb-usb.ko endif # GREYBUS_BRIDGED_PHY config GREYBUS_ARCHE tristate "Greybus Arche Platform driver" depends on USB_HSIC_USB3613 || COMPILE_TEST ---help--- Select this option if you have an Arche device. To compile this code as a module, chose M here: the module will be called gb-arche.ko endif # GREYBUS staging/greybus/Makefile 0000644 00000004343 14722053666 0011337 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # needed for trace events ccflags-y += -I$(src) # Greybus class drivers gb-bootrom-y := bootrom.o gb-camera-y := camera.o gb-firmware-y := fw-core.o fw-download.o fw-management.o authentication.o gb-spilib-y := spilib.o gb-hid-y := hid.o gb-light-y := light.o gb-log-y := log.o gb-loopback-y := loopback.o gb-power-supply-y := power_supply.o gb-raw-y := raw.o gb-vibrator-y := vibrator.o obj-$(CONFIG_GREYBUS_BOOTROM) += gb-bootrom.o obj-$(CONFIG_GREYBUS_CAMERA) += gb-camera.o obj-$(CONFIG_GREYBUS_FIRMWARE) += gb-firmware.o gb-spilib.o obj-$(CONFIG_GREYBUS_HID) += gb-hid.o obj-$(CONFIG_GREYBUS_LIGHT) += gb-light.o obj-$(CONFIG_GREYBUS_LOG) += gb-log.o obj-$(CONFIG_GREYBUS_LOOPBACK) += gb-loopback.o obj-$(CONFIG_GREYBUS_POWER) += gb-power-supply.o obj-$(CONFIG_GREYBUS_RAW) += gb-raw.o obj-$(CONFIG_GREYBUS_VIBRATOR) += gb-vibrator.o # Greybus Audio is a bunch of modules gb-audio-module-y := audio_module.o audio_topology.o gb-audio-codec-y := audio_codec.o gb-audio-gb-y := audio_gb.o gb-audio-apbridgea-y := audio_apbridgea.o gb-audio-manager-y := audio_manager.o audio_manager_module.o # Greybus Audio sysfs helpers can be useful when debugging #GB_AUDIO_MANAGER_SYSFS ?= true #ifeq ($(GB_AUDIO_MANAGER_SYSFS),true) #gb-audio-manager-y += audio_manager_sysfs.o #ccflags-y += -DGB_AUDIO_MANAGER_SYSFS #endif obj-$(CONFIG_GREYBUS_AUDIO_MSM8994) += gb-audio-codec.o obj-$(CONFIG_GREYBUS_AUDIO_MSM8994) += gb-audio-module.o obj-$(CONFIG_GREYBUS_AUDIO) += gb-audio-gb.o obj-$(CONFIG_GREYBUS_AUDIO) += gb-audio-apbridgea.o obj-$(CONFIG_GREYBUS_AUDIO) += gb-audio-manager.o # Greybus Bridged PHY drivers gb-gbphy-y := gbphy.o gb-gpio-y := gpio.o gb-i2c-y := i2c.o gb-pwm-y := pwm.o gb-sdio-y := sdio.o gb-spi-y := spi.o gb-uart-y := uart.o gb-usb-y := usb.o obj-$(CONFIG_GREYBUS_BRIDGED_PHY) += gb-gbphy.o obj-$(CONFIG_GREYBUS_GPIO) += gb-gpio.o obj-$(CONFIG_GREYBUS_I2C) += gb-i2c.o obj-$(CONFIG_GREYBUS_PWM) += gb-pwm.o obj-$(CONFIG_GREYBUS_SDIO) += gb-sdio.o obj-$(CONFIG_GREYBUS_SPI) += gb-spi.o gb-spilib.o obj-$(CONFIG_GREYBUS_UART) += gb-uart.o obj-$(CONFIG_GREYBUS_USB) += gb-usb.o # Greybus Platform driver gb-arche-y := arche-platform.o arche-apb-ctrl.o obj-$(CONFIG_GREYBUS_ARCHE) += gb-arche.o staging/vt6655/Kconfig 0000644 00000000277 14722053666 0010503 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VT6655 tristate "VIA Technologies VT6655 support" depends on PCI && MAC80211 && m help This is a vendor-written driver for VIA VT6655. staging/vt6655/Makefile 0000644 00000000503 14722053666 0010630 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # TODO: all of these should be removed ccflags-y := -DLINUX -D__KERNEL__ -D__NO_VERSION__ ccflags-y += -DHOSTAP vt6655_stage-y += device_main.o \ card.o \ channel.o \ mac.o \ baseband.o \ rxtx.o \ dpc.o \ power.o \ srom.o \ key.o \ rf.o obj-$(CONFIG_VT6655) += vt6655_stage.o staging/vt6656/Kconfig 0000644 00000000321 14722053666 0010472 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VT6656 tristate "VIA Technologies VT6656 support" depends on MAC80211 && USB && WLAN && m select FW_LOADER help This is a vendor-written driver for VIA VT6656. staging/vt6656/Makefile 0000644 00000000620 14722053666 0010631 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # TODO: all of these should be removed ccflags-y := -DLINUX -D__KERNEL__ -DEXPORT_SYMTAB -D__NO_VERSION__ ccflags-y += -DHOSTAP vt6656_stage-y += main_usb.o \ card.o \ mac.o \ baseband.o \ wcmd.o\ rxtx.o \ dpc.o \ power.o \ key.o \ rf.o \ usbpipe.o \ channel.o \ firmware.o \ int.o obj-$(CONFIG_VT6656) += vt6656_stage.o staging/fwserial/Kconfig 0000644 00000002036 14722053666 0011333 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config FIREWIRE_SERIAL tristate "TTY over Firewire" depends on FIREWIRE && TTY help This enables TTY over IEEE 1394, providing high-speed serial connectivity to cabled peers. This driver implements a ad-hoc transport protocol and is currently limited to Linux-to-Linux communication. To compile this driver as a module, say M here: the module will be called firewire-serial. if FIREWIRE_SERIAL config FWTTY_MAX_TOTAL_PORTS int "Maximum number of serial ports supported" default "64" help Set this to the maximum number of serial ports you want the firewire-serial driver to support. config FWTTY_MAX_CARD_PORTS int "Maximum number of serial ports supported per adapter" range 0 FWTTY_MAX_TOTAL_PORTS default "32" help Set this to the maximum number of serial ports each firewire adapter supports. The actual number of serial ports registered is set with the module parameter "ttys". endif staging/fwserial/Makefile 0000644 00000000204 14722053666 0011463 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FIREWIRE_SERIAL) += firewire-serial.o firewire-serial-objs := fwserial.o dma_fifo.o staging/emxx_udc/Kconfig 0000644 00000000723 14722053666 0011334 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config USB_EMXX tristate "EMXX USB Function Device Controller" depends on USB_GADGET && (ARCH_RENESAS || (ARM && COMPILE_TEST)) help The Emma Mobile series of SoCs from Renesas Electronics and former NEC Electronics include USB Function hardware. Say "y" to link the driver statically, or "m" to build a dynamically linked module called "emxx_udc" and force all gadget drivers to also be dynamically linked. staging/emxx_udc/Makefile 0000644 00000000110 14722053666 0011457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_EMXX) := emxx_udc.o staging/netlogic/Kconfig 0000644 00000000321 14722053666 0011316 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config NETLOGIC_XLR_NET tristate "Netlogic XLR/XLS network device" depends on CPU_XLR select PHYLIB help This driver support Netlogic XLR/XLS on chip gigabit Ethernet. staging/netlogic/Makefile 0000644 00000000136 14722053666 0011457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_NETLOGIC_XLR_NET) += xlr_net.o platform_net.o staging/uwb/Kconfig 0000644 00000004753 14722053666 0010324 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # UWB device configuration # menuconfig UWB tristate "Ultra Wideband devices" default n select GENERIC_NET_UTILS help UWB is a high-bandwidth, low-power, point-to-point radio technology using a wide spectrum (3.1-10.6GHz). It is optimized for in-room use (480Mbps at 2 meters, 110Mbps at 10m). It serves as the transport layer for other protocols, such as Wireless USB (WUSB). The topology is peer to peer; however, higher level protocols (such as WUSB) might impose a master/slave relationship. Say Y here if your computer has UWB radio controllers (USB or PCI) based. You will need to enable the radio controllers below. It is ok to select all of them, no harm done. For more help check the UWB and WUSB related files in <file:Documentation/usb/>. To compile the UWB stack as a module, choose M here. if UWB config UWB_HWA tristate "UWB Radio Control driver for WUSB-compliant USB dongles (HWA)" depends on USB help This driver enables the radio controller for HWA USB devices. HWA stands for Host Wire Adapter, and it is a UWB Radio Controller connected to your system via USB. Most of them come with a Wireless USB host controller also. To compile this driver select Y (built in) or M (module). It is safe to select any even if you do not have the hardware. config UWB_WHCI tristate "UWB Radio Control driver for WHCI-compliant cards" depends on PCI help This driver enables the radio controller for WHCI cards. WHCI is a specification developed by Intel (http://www.intel.com/technology/comms/wusb/whci.htm) much in the spirit of USB's EHCI, but for UWB and Wireless USB radio/host controllers connected via memory mapping (eg: PCI). Most of these cards come also with a Wireless USB host controller. To compile this driver select Y (built in) or M (module). It is safe to select any even if you do not have the hardware. config UWB_I1480U tristate "Support for Intel Wireless UWB Link 1480 HWA" depends on UWB_HWA select FW_LOADER help This driver enables support for the i1480 when connected via USB. It consists of a firmware uploader that will enable it to behave as an HWA device. To compile this driver select Y (built in) or M (module). It is safe to select any even if you do not have the hardware. endif # UWB staging/uwb/i1480/dfu/Makefile 0000644 00000000215 14722053666 0011771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_UWB_I1480U) += i1480-dfu-usb.o i1480-dfu-usb-objs := \ dfu.o \ mac.o \ phy.o \ usb.o staging/uwb/i1480/Makefile 0000644 00000000125 14722053666 0011213 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_UWB_I1480U) += dfu/ i1480-est.o staging/uwb/Makefile 0000644 00000000743 14722053666 0010454 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_UWB) += uwb.o obj-$(CONFIG_UWB_WHCI) += umc.o whci.o whc-rc.o obj-$(CONFIG_UWB_HWA) += hwa-rc.o obj-$(CONFIG_UWB_I1480U) += i1480/ uwb-objs := \ address.o \ allocator.o \ beacon.o \ driver.o \ drp.o \ drp-avail.o \ drp-ie.o \ est.o \ ie.o \ ie-rcv.o \ lc-dev.o \ lc-rc.o \ neh.o \ pal.o \ radio.o \ reset.o \ rsv.o \ scan.o \ uwb-debug.o \ uwbd.o umc-objs := \ umc-bus.o \ umc-dev.o \ umc-drv.o staging/olpc_dcon/Kconfig 0000644 00000002612 14722053666 0011457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config FB_OLPC_DCON tristate "One Laptop Per Child Display CONtroller support" depends on OLPC && FB depends on I2C depends on (GPIO_CS5535 || GPIO_CS5535=n) select BACKLIGHT_CLASS_DEVICE help In order to support very low power operation, the XO laptop uses a secondary Display CONtroller, or DCON. This secondary controller is present in the video pipeline between the primary display controller (integrate into the processor or chipset) and the LCD panel. It allows the main processor/display controller to be completely powered off while still retaining an image on the display. This controller is only available on OLPC platforms. Unless you have one of these platforms, you will want to say 'N'. config FB_OLPC_DCON_1 bool "OLPC XO-1 DCON support" depends on FB_OLPC_DCON && GPIO_CS5535 default y help Enable support for the DCON in XO-1 model laptops. The kernel communicates with the DCON using model-specific code. If you have an XO-1 (or if you're unsure what model you have), you should say 'Y'. config FB_OLPC_DCON_1_5 bool "OLPC XO-1.5 DCON support" depends on FB_OLPC_DCON && ACPI default y help Enable support for the DCON in XO-1.5 model laptops. The kernel communicates with the DCON using model-specific code. If you have an XO-1.5 (or if you're unsure what model you have), you should say 'Y'. staging/olpc_dcon/Makefile 0000644 00000000337 14722053666 0011616 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 olpc-dcon-objs += olpc_dcon.o olpc-dcon-$(CONFIG_FB_OLPC_DCON_1) += olpc_dcon_xo_1.o olpc-dcon-$(CONFIG_FB_OLPC_DCON_1_5) += olpc_dcon_xo_1_5.o obj-$(CONFIG_FB_OLPC_DCON) += olpc-dcon.o staging/Kconfig 0000644 00000006033 14722053666 0007520 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig STAGING bool "Staging drivers" ---help--- This option allows you to select a number of drivers that are not of the "normal" Linux kernel quality level. These drivers are placed here in order to get a wider audience to make use of them. Please note that these drivers are under heavy development, may or may not work, and may contain userspace interfaces that most likely will be changed in the near future. Using any of these drivers will taint your kernel which might affect support options from both the community, and various commercial support organizations. If you wish to work on these drivers, to help improve them, or to report problems you have with them, please see the drivers/staging/<driver_name>/TODO file to see what needs to be worked on, and who to contact. If in doubt, say N here. if STAGING source "drivers/staging/wlan-ng/Kconfig" source "drivers/staging/comedi/Kconfig" source "drivers/staging/olpc_dcon/Kconfig" source "drivers/staging/rtl8192u/Kconfig" source "drivers/staging/rtl8192e/Kconfig" source "drivers/staging/rtl8723bs/Kconfig" source "drivers/staging/rtl8712/Kconfig" source "drivers/staging/rtl8188eu/Kconfig" source "drivers/staging/rts5208/Kconfig" source "drivers/staging/octeon/Kconfig" source "drivers/staging/octeon-usb/Kconfig" source "drivers/staging/vt6655/Kconfig" source "drivers/staging/vt6656/Kconfig" source "drivers/staging/iio/Kconfig" source "drivers/staging/sm750fb/Kconfig" source "drivers/staging/emxx_udc/Kconfig" source "drivers/staging/speakup/Kconfig" source "drivers/staging/nvec/Kconfig" source "drivers/staging/media/Kconfig" source "drivers/staging/android/Kconfig" source "drivers/staging/board/Kconfig" source "drivers/staging/gdm724x/Kconfig" source "drivers/staging/fwserial/Kconfig" source "drivers/staging/goldfish/Kconfig" source "drivers/staging/netlogic/Kconfig" source "drivers/staging/gs_fpgaboot/Kconfig" source "drivers/staging/unisys/Kconfig" source "drivers/staging/clocking-wizard/Kconfig" source "drivers/staging/fbtft/Kconfig" source "drivers/staging/fsl-dpaa2/Kconfig" source "drivers/staging/wilc1000/Kconfig" source "drivers/staging/most/Kconfig" source "drivers/staging/ks7010/Kconfig" source "drivers/staging/greybus/Kconfig" source "drivers/staging/vc04_services/Kconfig" source "drivers/staging/pi433/Kconfig" source "drivers/staging/mt7621-pci/Kconfig" source "drivers/staging/mt7621-pci-phy/Kconfig" source "drivers/staging/mt7621-pinctrl/Kconfig" source "drivers/staging/mt7621-dma/Kconfig" source "drivers/staging/ralink-gdma/Kconfig" source "drivers/staging/mt7621-dts/Kconfig" source "drivers/staging/gasket/Kconfig" source "drivers/staging/axis-fifo/Kconfig" source "drivers/staging/fieldbus/Kconfig" source "drivers/staging/kpc2000/Kconfig" source "drivers/staging/isdn/Kconfig" source "drivers/staging/wusbcore/Kconfig" source "drivers/staging/uwb/Kconfig" source "drivers/staging/exfat/Kconfig" source "drivers/staging/qlge/Kconfig" endif # STAGING staging/mt7621-dts/Kconfig 0000644 00000000367 14722053666 0011254 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DTB_GNUBEE1 bool "GnuBee1 2.5inch NAS" depends on SOC_MT7621 && DTB_RT_NONE select BUILTIN_DTB config DTB_GNUBEE2 bool "GnuBee2 3.5inch NAS" depends on SOC_MT7621 && DTB_RT_NONE select BUILTIN_DTB staging/mt7621-dts/Makefile 0000644 00000000255 14722053666 0011405 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_DTB_GNUBEE1) += gbpc1.dtb dtb-$(CONFIG_DTB_GNUBEE2) += gbpc2.dtb obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) staging/most/sound/Kconfig 0000644 00000000455 14722053666 0011634 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # MOST ALSA configuration # config MOST_SOUND tristate "Sound" depends on SND select SND_PCM help Say Y here if you want to commumicate via ALSA/sound devices. To compile this driver as a module, choose M here: the module will be called most_sound. staging/most/sound/Makefile 0000644 00000000224 14722053666 0011763 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MOST_SOUND) += most_sound.o most_sound-objs := sound.o ccflags-y += -I $(srctree)/drivers/staging/ staging/most/usb/Kconfig 0000644 00000000525 14722053666 0011273 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # MOST USB configuration # config MOST_USB tristate "USB" depends on USB && NET help Say Y here if you want to connect via USB to network tranceiver. This device driver depends on the networking AIM. To compile this driver as a module, choose M here: the module will be called most_usb. staging/most/usb/Makefile 0000644 00000000214 14722053666 0011423 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MOST_USB) += most_usb.o most_usb-objs := usb.o ccflags-y += -I $(srctree)/drivers/staging/ staging/most/Kconfig 0000644 00000001536 14722053666 0010505 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig MOST tristate "MOST support" depends on HAS_DMA && CONFIGFS_FS default n help Say Y here if you want to enable MOST support. This driver needs at least one additional component to enable the desired access from userspace (e.g. character devices) and one that matches the network controller's hardware interface (e.g. USB). To compile this driver as a module, choose M here: the module will be called most_core. If in doubt, say N here. if MOST source "drivers/staging/most/cdev/Kconfig" source "drivers/staging/most/net/Kconfig" source "drivers/staging/most/sound/Kconfig" source "drivers/staging/most/video/Kconfig" source "drivers/staging/most/dim2/Kconfig" source "drivers/staging/most/i2c/Kconfig" source "drivers/staging/most/usb/Kconfig" endif staging/most/i2c/Kconfig 0000644 00000000431 14722053666 0011153 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # MOST I2C configuration # config MOST_I2C tristate "I2C" depends on I2C help Say Y here if you want to connect via I2C to network tranceiver. To compile this driver as a module, choose M here: the module will be called most_i2c. staging/most/i2c/Makefile 0000644 00000000214 14722053666 0011307 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MOST_I2C) += most_i2c.o most_i2c-objs := i2c.o ccflags-y += -I $(srctree)/drivers/staging/ staging/most/video/Kconfig 0000644 00000000437 14722053666 0011612 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # MOST V4L2 configuration # config MOST_VIDEO tristate "Video" depends on VIDEO_V4L2 help Say Y here if you want to commumicate via Video 4 Linux. To compile this driver as a module, choose M here: the module will be called most_video. staging/most/video/Makefile 0000644 00000000224 14722053666 0011741 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MOST_VIDEO) += most_video.o most_video-objs := video.o ccflags-y += -I $(srctree)/drivers/staging/ staging/most/cdev/Kconfig 0000644 00000000420 14722053666 0011415 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # MOST Cdev configuration # config MOST_CDEV tristate "Cdev" ---help--- Say Y here if you want to commumicate via character devices. To compile this driver as a module, choose M here: the module will be called most_cdev. staging/most/cdev/Makefile 0000644 00000000220 14722053666 0011550 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MOST_CDEV) += most_cdev.o most_cdev-objs := cdev.o ccflags-y += -I $(srctree)/drivers/staging/ staging/most/dim2/Kconfig 0000644 00000000726 14722053666 0011340 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # MediaLB configuration # config MOST_DIM2 tristate "DIM2" depends on HAS_IOMEM && OF ---help--- Say Y here if you want to connect via MediaLB to network transceiver. This device driver is platform dependent and needs an additional platform driver to be installed. For more information contact maintainer of this driver. To compile this driver as a module, choose M here: the module will be called most_dim2. staging/most/dim2/Makefile 0000644 00000000236 14722053666 0011471 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MOST_DIM2) += most_dim2.o most_dim2-objs := dim2.o hal.o sysfs.o ccflags-y += -I $(srctree)/drivers/staging/ staging/most/Makefile 0000644 00000000607 14722053666 0010640 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MOST) += most_core.o most_core-y := core.o most_core-y += configfs.o ccflags-y += -I $(srctree)/drivers/staging/ obj-$(CONFIG_MOST_CDEV) += cdev/ obj-$(CONFIG_MOST_NET) += net/ obj-$(CONFIG_MOST_SOUND) += sound/ obj-$(CONFIG_MOST_VIDEO) += video/ obj-$(CONFIG_MOST_DIM2) += dim2/ obj-$(CONFIG_MOST_I2C) += i2c/ obj-$(CONFIG_MOST_USB) += usb/ staging/most/net/Kconfig 0000644 00000000437 14722053666 0011272 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # MOST Networking configuration # config MOST_NET tristate "Net" depends on NET help Say Y here if you want to commumicate via a networking device. To compile this driver as a module, choose M here: the module will be called most_net. staging/most/net/Makefile 0000644 00000000214 14722053666 0011420 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MOST_NET) += most_net.o most_net-objs := net.o ccflags-y += -I $(srctree)/drivers/staging/ staging/mt7621-pinctrl/Kconfig 0000644 00000000252 14722053666 0012126 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config PINCTRL_RT2880 bool "RT2800 pinctrl driver for RALINK/Mediatek SOCs" depends on RALINK select PINMUX select GENERIC_PINCONF staging/mt7621-pinctrl/Makefile 0000644 00000000201 14722053666 0012255 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PINCTRL_RT2880) += pinctrl-rt2880.o ccflags-y += -I$(srctree)/drivers/pinctrl staging/unisys/visorhba/Kconfig 0000644 00000000744 14722053666 0012672 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Unisys visorhba configuration # config UNISYS_VISORHBA tristate "Unisys visorhba driver" depends on UNISYSSPAR && UNISYS_VISORBUS && SCSI help The Unisys visorhba driver provides support for s-Par HBA devices exposed on the s-Par visorbus. When a message is sent to visorbus to create a HBA device, the probe function of visorhba is called to create the scsi device. If you say Y here, you will enable the Unisys visorhba driver. staging/unisys/visorhba/Makefile 0000644 00000000277 14722053666 0013030 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Unisys channel # obj-$(CONFIG_UNISYS_VISORHBA) += visorhba.o visorhba-y := visorhba_main.o ccflags-y += -I $(srctree)/$(src)/../include staging/unisys/Kconfig 0000644 00000000551 14722053666 0011051 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Unisys SPAR driver configuration # menuconfig UNISYSSPAR bool "Unisys SPAR driver support" help Support for the Unisys SPAR drivers if UNISYSSPAR source "drivers/staging/unisys/visornic/Kconfig" source "drivers/staging/unisys/visorinput/Kconfig" source "drivers/staging/unisys/visorhba/Kconfig" endif # UNISYSSPAR staging/unisys/visorinput/Kconfig 0000644 00000001111 14722053666 0013264 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Unisys visorinput configuration # config UNISYS_VISORINPUT tristate "Unisys visorinput driver" depends on UNISYSSPAR && UNISYS_VISORBUS && INPUT help The Unisys s-Par visorinput driver provides a virtualized system console (keyboard and mouse) that is accessible through the s-Par firmware's user interface. s-Par provides video using the EFI GOP protocol, so If this driver is not present, the Linux guest should still boot with visible output in the partition desktop, but keyboard and mouse interaction will not be available. staging/unisys/visorinput/Makefile 0000644 00000000172 14722053666 0013427 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Unisys visorinput # obj-$(CONFIG_UNISYS_VISORINPUT) += visorinput.o staging/unisys/visornic/Kconfig 0000644 00000001072 14722053666 0012704 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Unisys visornic configuration # config UNISYS_VISORNIC tristate "Unisys visornic driver" depends on UNISYSSPAR && UNISYS_VISORBUS && NET help The Unisys Visornic driver provides support for s-Par network devices exposed on the s-Par visorbus. When a message is sent to visorbus to create a network device, the probe function of visornic is called to create the netdev device. Networking on s-Par switches will not work if this driver is not selected. If you say Y here, you will enable the Unisys visornic driver. staging/unisys/visornic/Makefile 0000644 00000000277 14722053666 0013047 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Unisys channel # obj-$(CONFIG_UNISYS_VISORNIC) += visornic.o visornic-y := visornic_main.o ccflags-y += -I $(srctree)/$(src)/../include staging/unisys/Makefile 0000644 00000000322 14722053666 0011202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Unisys SPAR drivers # obj-$(CONFIG_UNISYS_VISORNIC) += visornic/ obj-$(CONFIG_UNISYS_VISORINPUT) += visorinput/ obj-$(CONFIG_UNISYS_VISORHBA) += visorhba/ staging/iio/impedance-analyzer/Kconfig 0000644 00000000721 14722053666 0014046 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Impedance Converter, Network Analyzer drivers # menu "Network Analyzer, Impedance Converters" config AD5933 tristate "Analog Devices AD5933, AD5934 driver" depends on I2C select IIO_BUFFER select IIO_KFIFO_BUF help Say yes here to build support for Analog Devices Impedance Converter, Network Analyzer, AD5933/4. To compile this driver as a module, choose M here: the module will be called ad5933. endmenu staging/iio/impedance-analyzer/Makefile 0000644 00000000206 14722053666 0014201 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Impedance Converter, Network Analyzer drivers # obj-$(CONFIG_AD5933) += ad5933.o staging/iio/accel/Kconfig 0000644 00000001512 14722053666 0011344 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Accelerometer drivers # menu "Accelerometers" config ADIS16203 tristate "Analog Devices ADIS16203 Programmable 360 Degrees Inclinometer" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say Y here to build support for Analog Devices adis16203 Programmable 360 Degrees Inclinometer. To compile this driver as a module, say M here: the module will be called adis16203. config ADIS16240 tristate "Analog Devices ADIS16240 Programmable Impact Sensor and Recorder" depends on SPI select IIO_ADIS_LIB select IIO_ADIS_LIB_BUFFER if IIO_BUFFER help Say Y here to build support for Analog Devices adis16240 programmable impact Sensor and recorder. To compile this driver as a module, say M here: the module will be called adis16240. endmenu staging/iio/accel/Makefile 0000644 00000000252 14722053666 0011501 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O accelerometer drivers # obj-$(CONFIG_ADIS16203) += adis16203.o obj-$(CONFIG_ADIS16240) += adis16240.o staging/iio/adc/Kconfig 0000644 00000002165 14722053666 0011031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # ADC drivers # menu "Analog to digital converters" config AD7816 tristate "Analog Devices AD7816/7/8 temperature sensor and ADC driver" depends on SPI depends on GPIOLIB || COMPILE_TEST help Say yes here to build support for Analog Devices AD7816/7/8 temperature sensors and ADC. To compile this driver as a module, choose M here: the module will be called ad7816. config AD7192 tristate "Analog Devices AD7190 AD7192 AD7193 AD7195 ADC driver" depends on SPI select AD_SIGMA_DELTA help Say yes here to build support for Analog Devices AD7190, AD7192, AD7193 or AD7195 SPI analog to digital converters (ADC). If unsure, say N (but it's safe to say "Y"). To compile this driver as a module, choose M here: the module will be called ad7192. config AD7280 tristate "Analog Devices AD7280A Lithium Ion Battery Monitoring System" depends on SPI select CRC8 help Say yes here to build support for Analog Devices AD7280A Lithium Ion Battery Monitoring System. To compile this driver as a module, choose M here: the module will be called ad7280a endmenu staging/iio/adc/Makefile 0000644 00000000266 14722053666 0011166 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O ADC drivers # obj-$(CONFIG_AD7816) += ad7816.o obj-$(CONFIG_AD7192) += ad7192.o obj-$(CONFIG_AD7280) += ad7280a.o staging/iio/Kconfig 0000644 00000000755 14722053666 0010305 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Industrial I/O subsystem configuration # menu "IIO staging drivers" depends on IIO source "drivers/staging/iio/accel/Kconfig" source "drivers/staging/iio/adc/Kconfig" source "drivers/staging/iio/addac/Kconfig" source "drivers/staging/iio/cdc/Kconfig" source "drivers/staging/iio/frequency/Kconfig" source "drivers/staging/iio/impedance-analyzer/Kconfig" source "drivers/staging/iio/meter/Kconfig" source "drivers/staging/iio/resolver/Kconfig" endmenu staging/iio/meter/Kconfig 0000644 00000001747 14722053666 0011423 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # IIO meter drivers configuration # menu "Active energy metering IC" config ADE7854 tristate "Analog Devices ADE7854/58/68/78 Polyphase Multifunction Energy Metering IC Driver" depends on SPI || I2C help Say yes here to build support for Analog Devices ADE7854/58/68/78 Polyphase Multifunction Energy Metering IC Driver. To compile this driver as a module, choose M here: the module will be called ade7854. config ADE7854_I2C tristate "support I2C bus connection" depends on ADE7854 && I2C default y help Say Y here if you have ADE7854/58/68/78 hooked to an I2C bus. To compile this driver as a module, choose M here: the module will be called ade7854-i2c. config ADE7854_SPI tristate "support SPI bus connection" depends on ADE7854 && SPI default y help Say Y here if you have ADE7854/58/68/78 hooked to a SPI bus. To compile this driver as a module, choose M here: the module will be called ade7854-spi. endmenu staging/iio/meter/Makefile 0000644 00000000304 14722053666 0011544 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for metering ic drivers # obj-$(CONFIG_ADE7854) += ade7854.o obj-$(CONFIG_ADE7854_I2C) += ade7854-i2c.o obj-$(CONFIG_ADE7854_SPI) += ade7854-spi.o staging/iio/addac/Kconfig 0000644 00000002055 14722053666 0011334 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # ADDAC drivers # menu "Analog digital bi-direction converters" config ADT7316 tristate "Analog Devices ADT7316/7/8 ADT7516/7/9 temperature sensor, ADC and DAC driver" depends on GPIOLIB || COMPILE_TEST help Say yes here to build support for Analog Devices ADT7316, ADT7317, ADT7318 and ADT7516, ADT7517, ADT7519 temperature sensors, ADC and DAC. To compile this driver as a module, choose M here: the module will be called adt7316. config ADT7316_SPI tristate "support SPI bus connection" depends on SPI && ADT7316 default y help Say yes here to build SPI bus support for Analog Devices ADT7316/7/8 and ADT7516/7/9. To compile this driver as a module, choose M here: the module will be called adt7316_spi. config ADT7316_I2C tristate "support I2C bus connection" depends on I2C && ADT7316 help Say yes here to build I2C bus support for Analog Devices ADT7316/7/8 and ADT7516/7/9. To compile this driver as a module, choose M here: the module will be called adt7316_i2c. endmenu staging/iio/addac/Makefile 0000644 00000000315 14722053666 0011466 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O ADDAC drivers # obj-$(CONFIG_ADT7316) += adt7316.o obj-$(CONFIG_ADT7316_SPI) += adt7316-spi.o obj-$(CONFIG_ADT7316_I2C) += adt7316-i2c.o staging/iio/resolver/Kconfig 0000644 00000000714 14722053666 0012141 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Resolver/Synchro drivers # menu "Resolver to digital converters" config AD2S1210 tristate "Analog Devices ad2s1210 driver" depends on SPI depends on GPIOLIB || COMPILE_TEST help Say yes here to build support for Analog Devices spi resolver to digital converters, ad2s1210, provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad2s1210. endmenu staging/iio/resolver/Makefile 0000644 00000000165 14722053666 0012276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Resolver/Synchro drivers # obj-$(CONFIG_AD2S1210) += ad2s1210.o staging/iio/Makefile 0000644 00000000340 14722053666 0010430 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the industrial I/O core. # obj-y += accel/ obj-y += adc/ obj-y += addac/ obj-y += cdc/ obj-y += frequency/ obj-y += impedance-analyzer/ obj-y += meter/ obj-y += resolver/ staging/iio/frequency/Kconfig 0000644 00000001311 14722053666 0012273 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Direct Digital Synthesis drivers # menu "Direct Digital Synthesis" config AD9832 tristate "Analog Devices ad9832/5 driver" depends on SPI help Say yes here to build support for Analog Devices DDS chip AD9832 and AD9835, provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad9832. config AD9834 tristate "Analog Devices AD9833/4/7/8 driver" depends on SPI help Say yes here to build support for Analog Devices DDS chip AD9833, AD9834, AD9837 and AD9838, provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad9834. endmenu staging/iio/frequency/Makefile 0000644 00000000232 14722053666 0012431 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Direct Digital Synthesis drivers # obj-$(CONFIG_AD9832) += ad9832.o obj-$(CONFIG_AD9834) += ad9834.o staging/iio/cdc/Kconfig 0000644 00000001376 14722053666 0011036 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # CDC drivers # menu "Capacitance to digital converters" config AD7150 tristate "Analog Devices ad7150/1/6 capacitive sensor driver" depends on I2C help Say yes here to build support for Analog Devices capacitive sensors. (ad7150, ad7151, ad7156) Provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad7150. config AD7746 tristate "Analog Devices AD7745, AD7746 AD7747 capacitive sensor driver" depends on I2C help Say yes here to build support for Analog Devices capacitive sensors. (AD7745, AD7746, AD7747) Provides direct access via sysfs. To compile this driver as a module, choose M here: the module will be called ad7746. endmenu staging/iio/cdc/Makefile 0000644 00000000224 14722053666 0011162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for industrial I/O DAC drivers # obj-$(CONFIG_AD7150) += ad7150.o obj-$(CONFIG_AD7746) += ad7746.o staging/wlan-ng/Kconfig 0000644 00000000565 14722053666 0011067 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config PRISM2_USB tristate "Prism2.5/3 USB driver" depends on WLAN && USB && CFG80211 select WIRELESS_EXT select WEXT_PRIV select CRC32 help This is the wlan-ng prism 2.5/3 USB driver for a wide range of old USB wireless devices. To compile this driver as a module, choose M here: the module will be called prism2_usb. staging/wlan-ng/Makefile 0000644 00000000255 14722053666 0011220 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PRISM2_USB) += prism2_usb.o prism2_usb-y := prism2usb.o \ p80211conv.o \ p80211req.o \ p80211wep.o \ p80211netdev.o staging/mt7621-pci-phy/Kconfig 0000644 00000000333 14722053666 0012024 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config PCI_MT7621_PHY tristate "MediaTek MT7621 PCI PHY Driver" depends on RALINK && OF select GENERIC_PHY help Say 'Y' here to add support for MediaTek MT7621 PCI PHY driver, staging/mt7621-pci-phy/Makefile 0000644 00000000132 14722053666 0012156 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PCI_MT7621_PHY) += pci-mt7621-phy.o staging/octeon/Kconfig 0000644 00000000755 14722053666 0011014 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config OCTEON_ETHERNET tristate "Cavium Networks Octeon Ethernet support" depends on CAVIUM_OCTEON_SOC || COMPILE_TEST depends on NETDEVICES select PHYLIB select MDIO_OCTEON help This driver supports the builtin ethernet ports on Cavium Networks' products in the Octeon family. This driver supports the CN3XXX and CN5XXX Octeon processors. To compile this driver as a module, choose M here. The module will be called octeon-ethernet. staging/octeon/Makefile 0000644 00000000741 14722053666 0011144 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Copyright (C) 2005-2009 Cavium Networks # # # Makefile for Cavium OCTEON on-board ethernet driver # obj-${CONFIG_OCTEON_ETHERNET} := octeon-ethernet.o octeon-ethernet-y := ethernet.o octeon-ethernet-y += ethernet-mdio.o octeon-ethernet-y += ethernet-mem.o octeon-ethernet-y += ethernet-rgmii.o octeon-ethernet-y += ethernet-rx.o octeon-ethernet-y += ethernet-sgmii.o octeon-ethernet-y += ethernet-spi.o octeon-ethernet-y += ethernet-tx.o staging/fieldbus/Kconfig 0000644 00000001174 14722053666 0011316 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig FIELDBUS_DEV tristate "Fieldbus Device Support" help Support for Fieldbus Device Adapters. Fieldbus device (client) adapters allow data exchange with a PLC aka. "Fieldbus Controller" over a fieldbus (Profinet, FLNet, etc.) They are typically used when a Linux device wants to expose itself as an actuator, motor, console light, switch, etc. over the fieldbus. This framework is designed to provide a generic interface to Fieldbus Devices from both the Linux Kernel and the userspace. If unsure, say no. source "drivers/staging/fieldbus/anybuss/Kconfig" staging/fieldbus/Makefile 0000644 00000000242 14722053666 0011446 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for fieldbus_dev drivers. # obj-$(CONFIG_FIELDBUS_DEV) += fieldbus_dev.o anybuss/ fieldbus_dev-y := dev_core.o staging/fieldbus/anybuss/Kconfig 0000644 00000002353 14722053666 0013002 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config HMS_ANYBUSS_BUS tristate "HMS Anybus-S Bus Support" select REGMAP depends on OF && FIELDBUS_DEV help Driver for the HMS Industrial Networks Anybus-S bus. You can attach a single Anybus-S compatible card to it, which typically provides fieldbus and industrial ethernet functionality. if HMS_ANYBUSS_BUS config ARCX_ANYBUS_CONTROLLER tristate "Arcx Anybus-S Controller" depends on OF && GPIOLIB && HAS_IOMEM && REGULATOR select REGMAP_MMIO help Select this to get support for the Arcx Anybus controller. It connects to the SoC via a parallel memory bus, and embeds up to two Anybus-S buses (slots). There is also a CAN power readout, unrelated to the Anybus, modelled as a regulator. config HMS_PROFINET tristate "HMS Profinet IRT Controller (Anybus-S)" depends on FIELDBUS_DEV && HMS_ANYBUSS_BUS help If you say yes here you get support for the HMS Industrial Networks Profinet IRT Controller. It will be registered with the kernel as a fieldbus_dev, so userspace can interact with it via the fieldbus_dev userspace interface(s). This driver can also be built as a module. If so, the module will be called hms-profinet. If unsure, say N. endif staging/fieldbus/anybuss/Makefile 0000644 00000000367 14722053666 0013142 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for anybuss drivers. # obj-$(CONFIG_HMS_ANYBUSS_BUS) += anybuss_core.o anybuss_core-y += host.o obj-$(CONFIG_ARCX_ANYBUS_CONTROLLER) += arcx-anybus.o obj-$(CONFIG_HMS_PROFINET) += hms-profinet.o staging/ks7010/Kconfig 0000644 00000000715 14722053666 0010446 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config KS7010 tristate "KeyStream KS7010 SDIO support" depends on MMC && WIRELESS select WIRELESS_EXT select WEXT_PRIV select FW_LOADER select CRYPTO select CRYPTO_HASH select CRYPTO_MICHAEL_MIC help This is a driver for KeyStream KS7010 based SDIO WIFI cards. It is found on at least later Spectec SDW-821 (FCC-ID "S2Y-WLAN-11G-K" only, sadly not FCC-ID "S2Y-WLAN-11B-G") and Spectec SDW-823 microSD cards. staging/ks7010/Makefile 0000644 00000000171 14722053666 0010577 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_KS7010) += ks7010.o ks7010-y := ks_hostif.o ks_wlan_net.o ks7010_sdio.o staging/mt7621-pci/Kconfig 0000644 00000000327 14722053666 0011231 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config PCI_MT7621 tristate "MediaTek MT7621 PCI Controller" depends on RALINK select PCI_DRIVERS_GENERIC help This selects a driver for the MediaTek MT7621 PCI Controller. staging/mt7621-pci/Makefile 0000644 00000000122 14722053666 0011357 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PCI_MT7621) += pci-mt7621.o staging/rtl8188eu/Kconfig 0000644 00000001223 14722053666 0011200 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config R8188EU tristate "Realtek RTL8188EU Wireless LAN NIC driver" depends on WLAN && USB && CFG80211 depends on m select WIRELESS_EXT select WEXT_PRIV select LIB80211 select LIB80211_CRYPT_WEP select LIB80211_CRYPT_CCMP help This option adds the Realtek RTL8188EU USB device such as TP-Link TL-WN725N. If built as a module, it will be called r8188eu. if R8188EU config 88EU_AP_MODE bool "Realtek RTL8188EU AP mode" default y help This option enables Access Point mode. Unless you know that your system will never be used as an AP, or the target system has limited memory, "Y" should be selected. endif staging/rtl8188eu/Makefile 0000644 00000002332 14722053666 0011337 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 r8188eu-y := \ core/rtw_ap.o \ core/rtw_cmd.o \ core/rtw_debug.o \ core/rtw_efuse.o \ core/rtw_ieee80211.o \ core/rtw_ioctl_set.o \ core/rtw_iol.o \ core/rtw_led.o \ core/rtw_mlme.o \ core/rtw_mlme_ext.o \ core/rtw_pwrctrl.o \ core/rtw_recv.o \ core/rtw_rf.o \ core/rtw_security.o \ core/rtw_sreset.o \ core/rtw_sta_mgt.o \ core/rtw_wlan_util.o \ core/rtw_xmit.o \ hal/fw.o \ hal/mac_cfg.o \ hal/bb_cfg.o \ hal/rf_cfg.o \ hal/pwrseqcmd.o \ hal/pwrseq.o \ hal/hal8188e_rate_adaptive.o \ hal/hal_intf.o \ hal/hal_com.o \ hal/odm.o \ hal/odm_hwconfig.o \ hal/odm_rtl8188e.o \ hal/rtl8188e_cmd.o \ hal/rtl8188e_dm.o \ hal/rtl8188e_hal_init.o \ hal/phy.o \ hal/rf.o \ hal/rtl8188e_rxdesc.o \ hal/rtl8188e_xmit.o \ hal/rtl8188eu_led.o \ hal/rtl8188eu_recv.o \ hal/rtl8188eu_xmit.o \ hal/usb_halinit.o \ os_dep/ioctl_linux.o \ os_dep/mlme_linux.o \ os_dep/mon.o \ os_dep/os_intfs.o \ os_dep/osdep_service.o \ os_dep/recv_linux.o \ os_dep/rtw_android.o \ os_dep/usb_intf.o \ os_dep/usb_ops_linux.o \ os_dep/xmit_linux.o obj-$(CONFIG_R8188EU) := r8188eu.o ccflags-y += -I$(srctree)/$(src)/include staging/fsl-dpaa2/Kconfig 0000644 00000000763 14722053666 0011275 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Freescale DataPath Acceleration Architecture Gen2 (DPAA2) drivers # config FSL_DPAA2 bool "Freescale DPAA2 devices" depends on FSL_MC_BUS help Build drivers for Freescale DataPath Acceleration Architecture (DPAA2) family of SoCs. config FSL_DPAA2_ETHSW tristate "Freescale DPAA2 Ethernet Switch" depends on FSL_DPAA2 depends on NET_SWITCHDEV help Driver for Freescale DPAA2 Ethernet Switch. Select BRIDGE to have support for bridge tools. staging/fsl-dpaa2/ethsw/Makefile 0000644 00000000413 14722053666 0012554 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Freescale DPAA2 Ethernet Switch # # Copyright 2014-2017 Freescale Semiconductor Inc. # Copyright 2017-2018 NXP obj-$(CONFIG_FSL_DPAA2_ETHSW) += dpaa2-ethsw.o dpaa2-ethsw-objs := ethsw.o ethsw-ethtool.o dpsw.o staging/fsl-dpaa2/Makefile 0000644 00000000225 14722053666 0011423 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Freescale DataPath Acceleration Architecture Gen2 (DPAA2) drivers # obj-$(CONFIG_FSL_DPAA2_ETHSW) += ethsw/ staging/gs_fpgaboot/Kconfig 0000644 00000000305 14722053666 0012006 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # "xilinx FPGA firmware download, fpgaboot" # config GS_FPGABOOT tristate "Xilinx FPGA firmware download module" help Xilinx FPGA firmware download module staging/gs_fpgaboot/Makefile 0000644 00000000152 14722053666 0012143 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 gs_fpga-y += gs_fpgaboot.o io.o obj-$(CONFIG_GS_FPGABOOT) += gs_fpga.o staging/ralink-gdma/Kconfig 0000644 00000000276 14722053666 0011711 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DMA_RALINK tristate "RALINK DMA support" depends on RALINK && !SOC_RT288X depends on DMADEVICES select DMA_ENGINE select DMA_VIRTUAL_CHANNELS staging/ralink-gdma/Makefile 0000644 00000000164 14722053666 0012042 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DMA_RALINK) += ralink-gdma.o ccflags-y += -I$(srctree)/drivers/dma staging/android/Kconfig 0000644 00000001475 14722053666 0011145 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Android" if ANDROID config ASHMEM tristate "Enable the Anonymous Shared Memory Subsystem" depends on SHMEM help The ashmem subsystem is a new shared memory allocator, similar to POSIX SHM but with different behavior and sporting a simpler file-based API. It is, in theory, a good memory allocator for low-memory devices, because it can discard shared memory units when under memory pressure. config ANDROID_VSOC tristate "Android Virtual SoC support" depends on PCI_MSI help This option adds support for the Virtual SoC driver needed to boot a 'cuttlefish' Android image inside QEmu. The driver interacts with a QEmu ivshmem device. If built as a module, it will be called vsoc. source "drivers/staging/android/ion/Kconfig" endif # if ANDROID endmenu staging/android/ion/Kconfig 0000644 00000001531 14722053666 0011723 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig ION bool "Ion Memory Manager" depends on HAS_DMA && MMU select GENERIC_ALLOCATOR select DMA_SHARED_BUFFER help Choose this option to enable the ION Memory Manager, used by Android to efficiently allocate buffers from userspace that can be shared between drivers. If you're not using Android its probably safe to say N here. config ION_SYSTEM_HEAP bool "Ion system heap" depends on ION help Choose this option to enable the Ion system heap. The system heap is backed by pages from the buddy allocator. If in doubt, say Y. config ION_CMA_HEAP bool "Ion CMA heap support" depends on ION && DMA_CMA help Choose this option to enable CMA heaps with Ion. This heap is backed by the Contiguous Memory Allocator (CMA). If your system has these regions, you should say Y here. staging/android/ion/Makefile 0000644 00000000271 14722053666 0012060 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_ION) += ion.o ion_heap.o obj-$(CONFIG_ION_SYSTEM_HEAP) += ion_system_heap.o ion_page_pool.o obj-$(CONFIG_ION_CMA_HEAP) += ion_cma_heap.o staging/android/Makefile 0000644 00000000326 14722053666 0011274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y += -I$(src) # needed for trace events obj-y += ion/ ashmem_linux-y += ashmem.o obj-$(CONFIG_ASHMEM) += ashmem_linux.o obj-$(CONFIG_ANDROID_VSOC) += vsoc.o staging/rtl8192u/Kconfig 0000644 00000000361 14722053666 0011030 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config RTL8192U tristate "RealTek RTL8192U Wireless LAN NIC driver" depends on PCI && WLAN && USB depends on m select WIRELESS_EXT select WEXT_PRIV select CRYPTO select CRYPTO_AES select CRYPTO_CCM staging/rtl8192u/ieee80211/Makefile 0000644 00000001404 14722053666 0012467 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 NIC_SELECT = RTL8192U ccflags-y := -O2 ccflags-y += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX ieee80211-rsl-objs := ieee80211_rx.o \ ieee80211_softmac.o \ ieee80211_tx.o \ ieee80211_wx.o \ ieee80211_module.o \ ieee80211_softmac_wx.o\ rtl819x_HTProc.o\ rtl819x_TSProc.o\ rtl819x_BAProc.o\ dot11d.o ieee80211_crypt-rsl-objs := ieee80211_crypt.o ieee80211_crypt_tkip-rsl-objs := ieee80211_crypt_tkip.o ieee80211_crypt_ccmp-rsl-objs := ieee80211_crypt_ccmp.o ieee80211_crypt_wep-rsl-objs := ieee80211_crypt_wep.o obj-m +=ieee80211-rsl.o obj-m +=ieee80211_crypt-rsl.o obj-m +=ieee80211_crypt_wep-rsl.o obj-m +=ieee80211_crypt_tkip-rsl.o obj-m +=ieee80211_crypt_ccmp-rsl.o staging/rtl8192u/Makefile 0000644 00000002003 14722053666 0011160 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 NIC_SELECT = RTL8192U ccflags-y := -std=gnu89 ccflags-y += -O2 ccflags-y += -DCONFIG_FORCE_HARD_FLOAT=y ccflags-y += -DJACKSON_NEW_8187 -DJACKSON_NEW_RX ccflags-y += -DTHOMAS_BEACON -DTHOMAS_TASKLET -DTHOMAS_SKB -DTHOMAS_TURBO ccflags-y += -I $(srctree)/$(src)/ieee80211 r8192u_usb-y := r8192U_core.o r8180_93cx6.o r8192U_wx.o \ r8190_rtl8256.o r819xU_phy.o r819xU_firmware.o \ r819xU_cmdpkt.o r8192U_dm.o r819xU_firmware_img.o \ ieee80211/ieee80211_crypt.o \ ieee80211/ieee80211_crypt_tkip.o \ ieee80211/ieee80211_crypt_ccmp.o \ ieee80211/ieee80211_crypt_wep.o \ ieee80211/ieee80211_rx.o \ ieee80211/ieee80211_softmac.o \ ieee80211/ieee80211_tx.o \ ieee80211/ieee80211_wx.o \ ieee80211/ieee80211_module.o \ ieee80211/ieee80211_softmac_wx.o \ ieee80211/rtl819x_HTProc.o \ ieee80211/rtl819x_TSProc.o \ ieee80211/rtl819x_BAProc.o \ ieee80211/dot11d.o obj-$(CONFIG_RTL8192U) += r8192u_usb.o staging/rts5208/Kconfig 0000644 00000000463 14722053666 0010650 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config RTS5208 tristate "Realtek PCI-E Card Reader RTS5208/5288 support" depends on PCI && SCSI help Say Y here to include driver code to support the Realtek PCI-E card reader rts5208/rts5288. If this driver is compiled as a module, it will be named rts5208. staging/rts5208/Makefile 0000644 00000000317 14722053666 0011003 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_RTS5208) := rts5208.o ccflags-y := -Idrivers/scsi rts5208-y := rtsx.o rtsx_chip.o rtsx_transport.o rtsx_scsi.o \ rtsx_card.o general.o sd.o xd.o ms.o spi.o staging/fbtft/Kconfig 0000644 00000011671 14722053666 0010631 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig FB_TFT tristate "Support for small TFT LCD display modules" depends on FB && SPI && OF depends on GPIOLIB || COMPILE_TEST select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS select FB_DEFERRED_IO select FB_BACKLIGHT config FB_TFT_AGM1264K_FL tristate "FB driver for the AGM1264K-FL LCD display" depends on FB_TFT help Framebuffer support for the AGM1264K-FL LCD display (two Samsung KS0108 compatible chips) config FB_TFT_BD663474 tristate "FB driver for the BD663474 LCD Controller" depends on FB_TFT help Generic Framebuffer support for BD663474 config FB_TFT_HX8340BN tristate "FB driver for the HX8340BN LCD Controller" depends on FB_TFT help Generic Framebuffer support for HX8340BN config FB_TFT_HX8347D tristate "FB driver for the HX8347D LCD Controller" depends on FB_TFT help Generic Framebuffer support for HX8347D config FB_TFT_HX8353D tristate "FB driver for the HX8353D LCD Controller" depends on FB_TFT help Generic Framebuffer support for HX8353D config FB_TFT_HX8357D tristate "FB driver for the HX8357D LCD Controller" depends on FB_TFT help Generic Framebuffer support for HX8357D config FB_TFT_ILI9163 tristate "FB driver for the ILI9163 LCD Controller" depends on FB_TFT help Generic Framebuffer support for ILI9163 config FB_TFT_ILI9320 tristate "FB driver for the ILI9320 LCD Controller" depends on FB_TFT help Generic Framebuffer support for ILI9320 config FB_TFT_ILI9325 tristate "FB driver for the ILI9325 LCD Controller" depends on FB_TFT help Generic Framebuffer support for ILI9325 config FB_TFT_ILI9340 tristate "FB driver for the ILI9340 LCD Controller" depends on FB_TFT help Generic Framebuffer support for ILI9340 config FB_TFT_ILI9341 tristate "FB driver for the ILI9341 LCD Controller" depends on FB_TFT help Generic Framebuffer support for ILI9341 config FB_TFT_ILI9481 tristate "FB driver for the ILI9481 LCD Controller" depends on FB_TFT help Generic Framebuffer support for ILI9481 config FB_TFT_ILI9486 tristate "FB driver for the ILI9486 LCD Controller" depends on FB_TFT help Generic Framebuffer support for ILI9486 config FB_TFT_PCD8544 tristate "FB driver for the PCD8544 LCD Controller" depends on FB_TFT help Generic Framebuffer support for PCD8544 config FB_TFT_RA8875 tristate "FB driver for the RA8875 LCD Controller" depends on FB_TFT help Generic Framebuffer support for RA8875 config FB_TFT_S6D02A1 tristate "FB driver for the S6D02A1 LCD Controller" depends on FB_TFT help Generic Framebuffer support for S6D02A1 config FB_TFT_S6D1121 tristate "FB driver for the S6D1211 LCD Controller" depends on FB_TFT help Generic Framebuffer support for S6D1121 config FB_TFT_SH1106 tristate "FB driver for the SH1106 OLED Controller" depends on FB_TFT help Framebuffer support for SH1106 config FB_TFT_SSD1289 tristate "FB driver for the SSD1289 LCD Controller" depends on FB_TFT help Framebuffer support for SSD1289 config FB_TFT_SSD1305 tristate "FB driver for the SSD1305 OLED Controller" depends on FB_TFT help Framebuffer support for SSD1305 config FB_TFT_SSD1306 tristate "FB driver for the SSD1306 OLED Controller" depends on FB_TFT help Framebuffer support for SSD1306 config FB_TFT_SSD1331 tristate "FB driver for the SSD1331 LCD Controller" depends on FB_TFT help Framebuffer support for SSD1331 config FB_TFT_SSD1351 tristate "FB driver for the SSD1351 LCD Controller" depends on FB_TFT help Framebuffer support for SSD1351 config FB_TFT_ST7735R tristate "FB driver for the ST7735R LCD Controller" depends on FB_TFT help Generic Framebuffer support for ST7735R config FB_TFT_ST7789V tristate "FB driver for the ST7789V LCD Controller" depends on FB_TFT help This enables generic framebuffer support for the Sitronix ST7789V display controller. The controller is intended for small color displays with a resolution of up to 320x240 pixels. Say Y if you have such a display that utilizes this controller. config FB_TFT_TINYLCD tristate "FB driver for tinylcd.com display" depends on FB_TFT help Custom Framebuffer support for tinylcd.com display config FB_TFT_TLS8204 tristate "FB driver for the TLS8204 LCD Controller" depends on FB_TFT help Generic Framebuffer support for TLS8204 config FB_TFT_UC1611 tristate "FB driver for the UC1611 LCD controller" depends on FB_TFT help Generic Framebuffer support for UC1611 config FB_TFT_UC1701 tristate "FB driver for the UC1701 LCD Controller" depends on FB_TFT help Generic Framebuffer support for UC1701 config FB_TFT_UPD161704 tristate "FB driver for the uPD161704 LCD Controller" depends on FB_TFT help Generic Framebuffer support for uPD161704 config FB_TFT_WATTEROTT tristate "FB driver for the WATTEROTT LCD Controller" depends on FB_TFT help Generic Framebuffer support for WATTEROTT staging/fbtft/Makefile 0000644 00000003344 14722053666 0010764 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Core module obj-$(CONFIG_FB_TFT) += fbtft.o fbtft-y += fbtft-core.o fbtft-sysfs.o fbtft-bus.o fbtft-io.o # drivers obj-$(CONFIG_FB_TFT_AGM1264K_FL) += fb_agm1264k-fl.o obj-$(CONFIG_FB_TFT_BD663474) += fb_bd663474.o obj-$(CONFIG_FB_TFT_HX8340BN) += fb_hx8340bn.o obj-$(CONFIG_FB_TFT_HX8347D) += fb_hx8347d.o obj-$(CONFIG_FB_TFT_HX8353D) += fb_hx8353d.o obj-$(CONFIG_FB_TFT_HX8357D) += fb_hx8357d.o obj-$(CONFIG_FB_TFT_ILI9163) += fb_ili9163.o obj-$(CONFIG_FB_TFT_ILI9320) += fb_ili9320.o obj-$(CONFIG_FB_TFT_ILI9325) += fb_ili9325.o obj-$(CONFIG_FB_TFT_ILI9340) += fb_ili9340.o obj-$(CONFIG_FB_TFT_ILI9341) += fb_ili9341.o obj-$(CONFIG_FB_TFT_ILI9481) += fb_ili9481.o obj-$(CONFIG_FB_TFT_ILI9486) += fb_ili9486.o obj-$(CONFIG_FB_TFT_PCD8544) += fb_pcd8544.o obj-$(CONFIG_FB_TFT_RA8875) += fb_ra8875.o obj-$(CONFIG_FB_TFT_S6D02A1) += fb_s6d02a1.o obj-$(CONFIG_FB_TFT_S6D1121) += fb_s6d1121.o obj-$(CONFIG_FB_TFT_SH1106) += fb_sh1106.o obj-$(CONFIG_FB_TFT_SSD1289) += fb_ssd1289.o obj-$(CONFIG_FB_TFT_SSD1305) += fb_ssd1305.o obj-$(CONFIG_FB_TFT_SSD1306) += fb_ssd1306.o obj-$(CONFIG_FB_TFT_SSD1305) += fb_ssd1325.o obj-$(CONFIG_FB_TFT_SSD1331) += fb_ssd1331.o obj-$(CONFIG_FB_TFT_SSD1351) += fb_ssd1351.o obj-$(CONFIG_FB_TFT_ST7735R) += fb_st7735r.o obj-$(CONFIG_FB_TFT_ST7789V) += fb_st7789v.o obj-$(CONFIG_FB_TFT_TINYLCD) += fb_tinylcd.o obj-$(CONFIG_FB_TFT_TLS8204) += fb_tls8204.o obj-$(CONFIG_FB_TFT_UC1611) += fb_uc1611.o obj-$(CONFIG_FB_TFT_UC1701) += fb_uc1701.o obj-$(CONFIG_FB_TFT_UPD161704) += fb_upd161704.o obj-$(CONFIG_FB_TFT_WATTEROTT) += fb_watterott.o staging/pi433/Kconfig 0000644 00000001426 14722053666 0010363 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config PI433 tristate "Pi433 - a 433MHz radio module for Raspberry Pi" depends on SPI help This option allows you to enable support for the radio module Pi433. Pi433 is a shield that fits onto the GPIO header of a Raspberry Pi or compatible. It extends the Raspberry Pi with the option, to send and receive data in the 433MHz ISM band - for example to communicate between two systems without using ethernet or bluetooth or for control or read sockets, actors, sensors, widely available for low price. For details or the option to buy, please visit https://pi433.de/en.html If in doubt, say N here, but saying yes most probably won't hurt staging/pi433/Makefile 0000644 00000000143 14722053666 0010513 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PI433) += pi433.o pi433-objs := pi433_if.o rf69.o staging/media/sunxi/cedrus/Kconfig 0000644 00000000763 14722053666 0013236 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_SUNXI_CEDRUS tristate "Allwinner Cedrus VPU driver" depends on VIDEO_DEV && VIDEO_V4L2 && MEDIA_CONTROLLER depends on HAS_DMA depends on OF depends on MEDIA_CONTROLLER_REQUEST_API select SUNXI_SRAM select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help Support for the VPU found in Allwinner SoCs, also known as the Cedar video engine. To compile this driver as a module, choose M here: the module will be called sunxi-cedrus. staging/media/sunxi/cedrus/Makefile 0000644 00000000273 14722053666 0013367 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIDEO_SUNXI_CEDRUS) += sunxi-cedrus.o sunxi-cedrus-y = cedrus.o cedrus_video.o cedrus_hw.o cedrus_dec.o \ cedrus_mpeg2.o cedrus_h264.o staging/media/sunxi/Kconfig 0000644 00000000703 14722053666 0011743 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_SUNXI bool "Allwinner sunXi family Video Devices" depends on ARCH_SUNXI || COMPILE_TEST help If you have an Allwinner SoC based on the sunXi family, say Y. Note that this option doesn't include new drivers in the kernel: saying N will just cause Kconfig to skip all the questions about Allwinner media devices. if VIDEO_SUNXI source "drivers/staging/media/sunxi/cedrus/Kconfig" endif staging/media/sunxi/Makefile 0000644 00000000117 14722053666 0012077 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIDEO_SUNXI_CEDRUS) += cedrus/ staging/media/hantro/Kconfig 0000644 00000001363 14722053666 0012073 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_HANTRO tristate "Hantro VPU driver" depends on ARCH_ROCKCHIP || COMPILE_TEST depends on VIDEO_DEV && VIDEO_V4L2 && MEDIA_CONTROLLER depends on MEDIA_CONTROLLER_REQUEST_API select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_VMALLOC select V4L2_MEM2MEM_DEV help Support for the Hantro IP based Video Processing Unit present on Rockchip SoC, which accelerates video and image encoding and decoding. To compile this driver as a module, choose M here: the module will be called hantro-vpu. config VIDEO_HANTRO_ROCKCHIP bool "Hantro VPU Rockchip support" depends on VIDEO_HANTRO depends on ARCH_ROCKCHIP || COMPILE_TEST default y help Enable support for RK3288, RK3328, and RK3399 SoCs. staging/media/hantro/Makefile 0000644 00000000671 14722053666 0012231 0 ustar 00 obj-$(CONFIG_VIDEO_HANTRO) += hantro-vpu.o hantro-vpu-y += \ hantro_drv.o \ hantro_v4l2.o \ hantro_h1_jpeg_enc.o \ hantro_g1_h264_dec.o \ hantro_g1_mpeg2_dec.o \ hantro_g1_vp8_dec.o \ rk3399_vpu_hw_jpeg_enc.o \ rk3399_vpu_hw_mpeg2_dec.o \ rk3399_vpu_hw_vp8_dec.o \ hantro_jpeg.o \ hantro_h264.o \ hantro_mpeg2.o \ hantro_vp8.o hantro-vpu-$(CONFIG_VIDEO_HANTRO_ROCKCHIP) += \ rk3288_vpu_hw.o \ rk3399_vpu_hw.o staging/media/ipu3/Kconfig 0000644 00000001012 14722053666 0011447 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_IPU3_IMGU tristate "Intel ipu3-imgu driver" depends on PCI && VIDEO_V4L2 depends on MEDIA_CONTROLLER && VIDEO_V4L2_SUBDEV_API depends on X86 select IOMMU_IOVA select VIDEOBUF2_DMA_SG help This is the Video4Linux2 driver for Intel IPU3 image processing unit, found in Intel Skylake and Kaby Lake SoCs and used for processing images and video. Say Y or M here if you have a Skylake/Kaby Lake SoC with a MIPI camera. The module will be called ipu3-imgu. staging/media/ipu3/Makefile 0000644 00000001075 14722053666 0011615 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the IPU3 ImgU drivers # ipu3-imgu-objs += \ ipu3-mmu.o ipu3-dmamap.o \ ipu3-tables.o ipu3-css-pool.o \ ipu3-css-fw.o ipu3-css-params.o \ ipu3-css.o ipu3-v4l2.o ipu3.o obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3-imgu.o # HACK! While this driver is in bad shape, don't enable several warnings # that would be otherwise enabled with W=1 ccflags-y += $(call cc-disable-warning, packed-not-aligned) ccflags-y += $(call cc-disable-warning, type-limits) ccflags-y += $(call cc-disable-warning, unused-const-variable) staging/media/omap4iss/Kconfig 0000644 00000000425 14722053666 0012335 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_OMAP4 tristate "OMAP 4 Camera support" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && I2C depends on ARCH_OMAP4 || COMPILE_TEST select MFD_SYSCON select VIDEOBUF2_DMA_CONTIG help Driver for an OMAP 4 ISS controller. staging/media/omap4iss/Makefile 0000644 00000000331 14722053666 0012466 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for OMAP4 ISS driver # omap4-iss-objs += \ iss.o iss_csi2.o iss_csiphy.o iss_ipipeif.o iss_ipipe.o iss_resizer.o iss_video.o obj-$(CONFIG_VIDEO_OMAP4) += omap4-iss.o staging/media/Kconfig 0000644 00000002223 14722053666 0010574 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig STAGING_MEDIA bool "Media staging drivers" default n help This option allows you to select a number of media drivers that don't have the "normal" Linux kernel quality level. Most of them don't follow properly the V4L, DVB and/or RC API's, so, they won't likely work fine with the existing applications. That also means that, once fixed, their API's will change to match the existing ones. If you wish to work on these drivers, to help improve them, or to report problems you have with them, please use the linux-media@vger.kernel.org mailing list. If in doubt, say N here. if STAGING_MEDIA && MEDIA_SUPPORT # Please keep them in alphabetic order source "drivers/staging/media/allegro-dvt/Kconfig" source "drivers/staging/media/hantro/Kconfig" source "drivers/staging/media/imx/Kconfig" source "drivers/staging/media/meson/vdec/Kconfig" source "drivers/staging/media/omap4iss/Kconfig" source "drivers/staging/media/sunxi/Kconfig" source "drivers/staging/media/tegra-vde/Kconfig" source "drivers/staging/media/ipu3/Kconfig" source "drivers/staging/media/soc_camera/Kconfig" endif staging/media/allegro-dvt/Kconfig 0000644 00000001035 14722053666 0013014 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_ALLEGRO_DVT tristate "Allegro DVT Video IP Core" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_ZYNQMP || COMPILE_TEST select V4L2_MEM2MEM_DEV select VIDEOBUF2_DMA_CONTIG select REGMAP select REGMAP_MMIO help Support for the encoder video IP core by Allegro DVT. This core is found for example on the Xilinx ZynqMP SoC in the EV family and is called VCU in the reference manual. To compile this driver as a module, choose M here: the module will be called allegro. staging/media/allegro-dvt/Makefile 0000644 00000000174 14722053666 0013154 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 allegro-objs := allegro-core.o nal-h264.o obj-$(CONFIG_VIDEO_ALLEGRO_DVT) += allegro.o staging/media/soc_camera/Kconfig 0000644 00000002710 14722053666 0012671 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config SOC_CAMERA tristate "SoC camera support" depends on VIDEO_V4L2 && HAS_DMA && I2C && BROKEN select VIDEOBUF2_CORE help SoC Camera is a common API to several cameras, not connecting over a bus like PCI or USB. For example some i2c camera connected directly to the data bus of an SoC. comment "soc_camera sensor drivers" config SOC_CAMERA_MT9M111 tristate "legacy soc_camera mt9m111, mt9m112 and mt9m131 support" depends on SOC_CAMERA && I2C select VIDEO_MT9M111 help This driver supports MT9M111, MT9M112 and MT9M131 cameras from Micron/Aptina. This is the legacy configuration which shouldn't be used anymore, while VIDEO_MT9M111 should be used instead. config SOC_CAMERA_MT9V022 tristate "mt9v022 and mt9v024 support" depends on SOC_CAMERA && I2C help This driver supports MT9V022 cameras from Micron config SOC_CAMERA_OV5642 tristate "ov5642 camera support" depends on SOC_CAMERA && I2C help This is a V4L2 camera driver for the OmniVision OV5642 sensor config SOC_CAMERA_OV9740 tristate "ov9740 camera support" depends on SOC_CAMERA && I2C help This is a ov9740 camera driver config SOC_CAMERA_IMX074 tristate "imx074 support (DEPRECATED)" depends on SOC_CAMERA && I2C help This driver supports IMX074 cameras from Sony config SOC_CAMERA_MT9T031 tristate "mt9t031 support (DEPRECATED)" depends on SOC_CAMERA && I2C help This driver supports MT9T031 cameras from Micron. staging/media/soc_camera/Makefile 0000644 00000000513 14722053666 0013025 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_SOC_CAMERA) += soc_camera.o soc_mediabus.o obj-$(CONFIG_SOC_CAMERA_MT9V022) += soc_mt9v022.o obj-$(CONFIG_SOC_CAMERA_OV5642) += soc_ov5642.o obj-$(CONFIG_SOC_CAMERA_OV9740) += soc_ov9740.o obj-$(CONFIG_SOC_CAMERA_IMX074) += imx074.o obj-$(CONFIG_SOC_CAMERA_MT9T031) += mt9t031.o staging/media/meson/vdec/Kconfig 0000644 00000000510 14722053666 0012633 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_MESON_VDEC tristate "Amlogic video decoder driver" depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA depends on ARCH_MESON || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV select MESON_CANVAS help Support for the video decoder found in gxbb/gxl/gxm chips. staging/media/meson/vdec/Makefile 0000644 00000000407 14722053666 0012775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for Amlogic meson video decoder driver meson-vdec-objs = esparser.o vdec.o vdec_helpers.o vdec_platform.o meson-vdec-objs += vdec_1.o meson-vdec-objs += codec_mpeg12.o obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o staging/media/tegra-vde/Kconfig 0000644 00000000505 14722053666 0012453 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config TEGRA_VDE tristate "NVIDIA Tegra Video Decoder Engine driver" depends on ARCH_TEGRA || COMPILE_TEST select DMA_SHARED_BUFFER select IOMMU_IOVA if (IOMMU_SUPPORT || COMPILE_TEST) select SRAM help Say Y here to enable support for the NVIDIA Tegra video decoder driver. staging/media/tegra-vde/Makefile 0000644 00000000166 14722053666 0012613 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 tegra-vde-y := vde.o iommu.o dmabuf-cache.o obj-$(CONFIG_TEGRA_VDE) += tegra-vde.o staging/media/imx/Kconfig 0000644 00000001654 14722053666 0011400 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_IMX_MEDIA tristate "i.MX5/6 V4L2 media core driver" depends on ARCH_MXC || COMPILE_TEST depends on MEDIA_CONTROLLER && VIDEO_V4L2 && IMX_IPUV3_CORE depends on VIDEO_V4L2_SUBDEV_API depends on HAS_DMA select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE select V4L2_MEM2MEM_DEV help Say yes here to enable support for video4linux media controller driver for the i.MX5/6 SOC. if VIDEO_IMX_MEDIA menu "i.MX5/6/7 Media Sub devices" config VIDEO_IMX_CSI tristate "i.MX5/6 Camera Sensor Interface driver" depends on VIDEO_IMX_MEDIA && VIDEO_DEV && I2C default y help A video4linux camera sensor interface driver for i.MX5/6. config VIDEO_IMX7_CSI tristate "i.MX6UL/L / i.MX7 Camera Sensor Interface driver" depends on VIDEO_IMX_MEDIA && VIDEO_DEV && I2C default y help Enable support for video4linux camera sensor interface driver for i.MX6UL/L or i.MX7. endmenu endif staging/media/imx/Makefile 0000644 00000001203 14722053666 0011523 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 imx6-media-objs := imx-media-dev.o imx-media-internal-sd.o \ imx-ic-common.o imx-ic-prp.o imx-ic-prpencvf.o imx-media-vdic.o \ imx-media-csc-scaler.o imx-media-common-objs := imx-media-capture.o imx-media-dev-common.o \ imx-media-of.o imx-media-utils.o imx6-media-csi-objs := imx-media-csi.o imx-media-fim.o obj-$(CONFIG_VIDEO_IMX_MEDIA) += imx6-media.o obj-$(CONFIG_VIDEO_IMX_MEDIA) += imx-media-common.o obj-$(CONFIG_VIDEO_IMX_CSI) += imx6-media-csi.o obj-$(CONFIG_VIDEO_IMX_CSI) += imx6-mipi-csi2.o obj-$(CONFIG_VIDEO_IMX7_CSI) += imx7-media-csi.o obj-$(CONFIG_VIDEO_IMX7_CSI) += imx7-mipi-csis.o staging/media/Makefile 0000644 00000000616 14722053666 0010735 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIDEO_ALLEGRO_DVT) += allegro-dvt/ obj-$(CONFIG_VIDEO_IMX_MEDIA) += imx/ obj-$(CONFIG_VIDEO_MESON_VDEC) += meson/vdec/ obj-$(CONFIG_VIDEO_OMAP4) += omap4iss/ obj-$(CONFIG_VIDEO_SUNXI) += sunxi/ obj-$(CONFIG_TEGRA_VDE) += tegra-vde/ obj-$(CONFIG_VIDEO_HANTRO) += hantro/ obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3/ obj-$(CONFIG_SOC_CAMERA) += soc_camera/ staging/exfat/Kconfig 0000644 00000002271 14722053666 0010627 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config EXFAT_FS tristate "exFAT fs support" depends on BLOCK select NLS help This adds support for the exFAT file system. config EXFAT_DONT_MOUNT_VFAT bool "Prohibit mounting of fat/vfat filesystems by exFAT" depends on EXFAT_FS default y help By default, the exFAT driver will only mount exFAT filesystems, and refuse to mount fat/vfat filesystems. Set this to 'n' to allow the exFAT driver to mount these filesystems. config EXFAT_DISCARD bool "enable discard support" depends on EXFAT_FS default y config EXFAT_DELAYED_SYNC bool "enable delayed sync" depends on EXFAT_FS default n config EXFAT_KERNEL_DEBUG bool "enable kernel debug features via ioctl" depends on EXFAT_FS default n config EXFAT_DEBUG_MSG bool "print debug messages" depends on EXFAT_FS default n config EXFAT_DEFAULT_CODEPAGE int "Default codepage for exFAT" default 437 depends on EXFAT_FS help This option should be set to the codepage of your exFAT filesystems. config EXFAT_DEFAULT_IOCHARSET string "Default iocharset for exFAT" default "utf8" depends on EXFAT_FS help Set this to the default input/output character set you'd like exFAT to use. staging/exfat/Makefile 0000644 00000000302 14722053666 0010755 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-or-later obj-$(CONFIG_EXFAT_FS) += exfat.o exfat-y := exfat_core.o \ exfat_super.o \ exfat_blkdev.o \ exfat_cache.o \ exfat_nls.o \ exfat_upcase.o staging/gdm724x/Kconfig 0000644 00000001013 14722053666 0010705 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # GCT GDM724x LTE driver configuration # config LTE_GDM724X tristate "GCT GDM724x LTE support" depends on NET && USB && TTY && m help This driver supports GCT GDM724x LTE chip based USB modem devices. It exposes 4 network devices to be used per PDN and 2 tty devices to be used for AT commands and DM monitoring applications. The modules will be called gdmulte.ko and gdmtty.ko GCT-ATCx can be used for AT Commands GCT-DMx can be used for LTE protocol monitoring staging/gdm724x/Makefile 0000644 00000000331 14722053666 0011044 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_LTE_GDM724X) := gdmulte.o gdmulte-y += gdm_lte.o netlink_k.o gdmulte-y += gdm_usb.o gdm_endian.o obj-$(CONFIG_LTE_GDM724X) += gdmtty.o gdmtty-y := gdm_tty.o gdm_mux.o staging/mt7621-dma/Kconfig 0000644 00000000244 14722053666 0011215 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config MTK_HSDMA tristate "MTK HSDMA support" depends on RALINK && SOC_MT7621 select DMA_ENGINE select DMA_VIRTUAL_CHANNELS staging/mt7621-dma/Makefile 0000644 00000000164 14722053666 0011353 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MTK_HSDMA) += hsdma-mt7621.o ccflags-y += -I$(srctree)/drivers/dma staging/qlge/Kconfig 0000644 00000000427 14722053666 0010451 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config QLGE tristate "QLogic QLGE 10Gb Ethernet Driver Support" depends on ETHERNET && PCI help This driver supports QLogic ISP8XXX 10Gb Ethernet cards. To compile this driver as a module, choose M here. The module will be called qlge. staging/qlge/Makefile 0000644 00000000305 14722053666 0010601 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Qlogic 10GbE PCI Express ethernet driver # obj-$(CONFIG_QLGE) += qlge.o qlge-objs := qlge_main.o qlge_dbg.o qlge_mpi.o qlge_ethtool.o staging/vc04_services/Kconfig 0000644 00000001311 14722053666 0012171 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menuconfig BCM_VIDEOCORE tristate "Broadcom VideoCore support" depends on OF depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) default y help Support for Broadcom VideoCore services including the BCM2835 family of products which is used by the Raspberry PI. if BCM_VIDEOCORE config BCM2835_VCHIQ tristate "BCM2835 VCHIQ" help Kernel to VideoCore communication interface for the BCM2835 family of products. Defaults to Y when the Broadcom Videocore services are included in the build, N otherwise. source "drivers/staging/vc04_services/bcm2835-audio/Kconfig" source "drivers/staging/vc04_services/bcm2835-camera/Kconfig" endif staging/vc04_services/Makefile 0000644 00000001027 14722053666 0012332 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_BCM2835_VCHIQ) += vchiq.o vchiq-objs := \ interface/vchiq_arm/vchiq_core.o \ interface/vchiq_arm/vchiq_arm.o \ interface/vchiq_arm/vchiq_2835_arm.o \ interface/vchiq_arm/vchiq_debugfs.o \ interface/vchiq_arm/vchiq_shim.o \ interface/vchiq_arm/vchiq_util.o \ interface/vchiq_arm/vchiq_connected.o \ obj-$(CONFIG_SND_BCM2835) += bcm2835-audio/ obj-$(CONFIG_VIDEO_BCM2835) += bcm2835-camera/ ccflags-y += -Idrivers/staging/vc04_services -D__VCCOREVER__=0x04000000 staging/vc04_services/bcm2835-audio/Kconfig 0000644 00000000425 14722053666 0014360 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config SND_BCM2835 tristate "BCM2835 Audio" depends on (ARCH_BCM2835 || COMPILE_TEST) && SND select SND_PCM select BCM2835_VCHIQ help Say Y or M if you want to support BCM2835 built in audio staging/vc04_services/bcm2835-audio/Makefile 0000644 00000000332 14722053666 0014512 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_SND_BCM2835) += snd-bcm2835.o snd-bcm2835-objs := bcm2835.o bcm2835-ctl.o bcm2835-pcm.o bcm2835-vchiq.o ccflags-y += -I $(srctree)/$(src)/.. -D__VCCOREVER__=0x04000000 staging/vc04_services/bcm2835-camera/Kconfig 0000644 00000000612 14722053666 0014505 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_BCM2835 tristate "BCM2835 Camera" depends on MEDIA_SUPPORT depends on VIDEO_V4L2 && (ARCH_BCM2835 || COMPILE_TEST) select BCM2835_VCHIQ select VIDEOBUF2_VMALLOC select BTREE help Say Y here to enable camera host interface devices for Broadcom BCM2835 SoC. This operates over the VCHIQ interface to a service running on VideoCore. staging/vc04_services/bcm2835-camera/Makefile 0000644 00000000363 14722053666 0014645 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 bcm2835-v4l2-$(CONFIG_VIDEO_BCM2835) := \ bcm2835-camera.o \ controls.o \ mmal-vchiq.o obj-$(CONFIG_VIDEO_BCM2835) += bcm2835-v4l2.o ccflags-y += \ -I $(srctree)/$(src)/.. \ -D__VCCOREVER__=0x04000000 staging/rtl8723bs/Kconfig 0000644 00000000660 14722053666 0011172 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config RTL8723BS tristate "Realtek RTL8723BS SDIO Wireless LAN NIC driver" depends on WLAN && MMC && CFG80211 depends on m select WIRELESS_EXT select WEXT_PRIV help This option enables support for RTL8723BS SDIO drivers, such as the wifi found on the 1st gen Intel Compute Stick, the CHIP and many other Intel Atom and ARM based devices. If built as a module, it will be called r8723bs. staging/rtl8723bs/Makefile 0000644 00000003160 14722053666 0011325 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 r8723bs-y = \ core/rtw_ap.o \ core/rtw_btcoex.o \ core/rtw_cmd.o \ core/rtw_debug.o \ core/rtw_efuse.o \ core/rtw_io.o \ core/rtw_ioctl_set.o \ core/rtw_ieee80211.o \ core/rtw_mlme.o \ core/rtw_mlme_ext.o \ core/rtw_odm.o \ core/rtw_pwrctrl.o \ core/rtw_recv.o \ core/rtw_rf.o \ core/rtw_security.o \ core/rtw_sta_mgt.o \ core/rtw_wlan_util.o \ core/rtw_xmit.o \ hal/hal_intf.o \ hal/hal_com.o \ hal/hal_com_phycfg.o \ hal/hal_btcoex.o \ hal/hal_sdio.o \ hal/hal_pwr_seq.o \ hal/HalPhyRf.o \ hal/HalPwrSeqCmd.o \ hal/odm.o \ hal/odm_CfoTracking.o \ hal/odm_debug.o \ hal/odm_DIG.o \ hal/odm_DynamicBBPowerSaving.o \ hal/odm_DynamicTxPower.o \ hal/odm_EdcaTurboCheck.o \ hal/odm_HWConfig.o \ hal/odm_NoiseMonitor.o \ hal/odm_PathDiv.o \ hal/odm_RegConfig8723B.o \ hal/odm_RTL8723B.o \ hal/rtl8723b_cmd.o \ hal/rtl8723b_dm.o \ hal/rtl8723b_hal_init.o \ hal/rtl8723b_phycfg.o \ hal/rtl8723b_rf6052.o \ hal/rtl8723b_rxdesc.o \ hal/rtl8723bs_recv.o \ hal/rtl8723bs_xmit.o \ hal/sdio_halinit.o \ hal/sdio_ops.o \ hal/HalBtc8723b1Ant.o \ hal/HalBtc8723b2Ant.o \ hal/HalHWImg8723B_BB.o \ hal/HalHWImg8723B_MAC.o \ hal/HalHWImg8723B_RF.o \ hal/HalPhyRf_8723B.o \ os_dep/ioctl_cfg80211.o \ os_dep/ioctl_linux.o \ os_dep/mlme_linux.o \ os_dep/osdep_service.o \ os_dep/os_intfs.o \ os_dep/recv_linux.o \ os_dep/sdio_intf.o \ os_dep/sdio_ops_linux.o \ os_dep/wifi_regd.o \ os_dep/xmit_linux.o obj-$(CONFIG_RTL8723BS) := r8723bs.o ccflags-y += -I$(srctree)/$(src)/include -I$(srctree)/$(src)/hal staging/clocking-wizard/Kconfig 0000644 00000000360 14722053666 0012604 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Xilinx Clocking Wizard Driver # config COMMON_CLK_XLNX_CLKWZRD tristate "Xilinx Clocking Wizard" depends on COMMON_CLK && OF help Support for the Xilinx Clocking Wizard IP core clock generator. staging/clocking-wizard/Makefile 0000644 00000000144 14722053666 0012741 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_COMMON_CLK_XLNX_CLKWZRD) += clk-xlnx-clock-wizard.o staging/octeon-usb/Kconfig 0000644 00000000527 14722053666 0011600 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config OCTEON_USB tristate "Cavium Networks Octeon USB support" depends on CAVIUM_OCTEON_SOC && USB help This driver supports USB host controller on some Cavium Networks' products in the Octeon family. To compile this driver as a module, choose M here. The module will be called octeon-hcd. staging/octeon-usb/Makefile 0000644 00000000114 14722053666 0011725 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-${CONFIG_OCTEON_USB} := octeon-hcd.o staging/comedi/Kconfig 0000644 00000117336 14722053666 0010771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config COMEDI tristate "Data acquisition support (comedi)" help Enable support for a wide range of data acquisition devices for Linux. if COMEDI config COMEDI_DEBUG bool "Comedi debugging" help This is an option for use by developers; most people should say N here. This enables comedi core and driver debugging. config COMEDI_DEFAULT_BUF_SIZE_KB int "Comedi default initial asynchronous buffer size in KiB" default "2048" help This is the default asynchronous buffer size which is used for commands running in the background in kernel space. This defaults to 2048 KiB of memory so that a 16 channel card running at 10 kHz has of 2-4 seconds of buffer. config COMEDI_DEFAULT_BUF_MAXSIZE_KB int "Comedi default maximum asynchronous buffer size in KiB" default "20480" help This is the default maximum asynchronous buffer size which can be requested by a userspace program without root privileges. This is set to 20480 KiB so that a fast I/O card with 16 channels running at 100 kHz has 2-4 seconds of buffer. menuconfig COMEDI_MISC_DRIVERS bool "Comedi misc drivers" help Enable comedi misc drivers to be built Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about misc non-hardware comedi drivers. if COMEDI_MISC_DRIVERS config COMEDI_BOND tristate "Comedi device bonding support" select COMEDI_KCOMEDILIB help Enable support for a driver to 'bond' (merge) multiple subdevices from multiple devices together as one. Currently, it only handles digital I/O subdevices. To compile this driver as a module, choose M here: the module will be called comedi_bond. config COMEDI_TEST tristate "Fake waveform generator support" help Enable support for the fake waveform generator. This driver is mainly for testing purposes, but can also be used to generate sample waveforms on systems that don't have data acquisition hardware. To compile this driver as a module, choose M here: the module will be called comedi_test. config COMEDI_PARPORT tristate "Parallel port support" help Enable support for the standard parallel port. A cheap and easy way to get a few more digital I/O lines. Steal additional parallel ports from old computers or your neighbors' computers. To compile this driver as a module, choose M here: the module will be called comedi_parport. config COMEDI_SSV_DNP tristate "SSV Embedded Systems DIL/Net-PC support" depends on X86_32 || COMPILE_TEST help Enable support for SSV Embedded Systems DIL/Net-PC To compile this driver as a module, choose M here: the module will be called ssv_dnp. endif # COMEDI_MISC_DRIVERS menuconfig COMEDI_ISA_DRIVERS bool "Comedi ISA and PC/104 drivers" help Enable comedi ISA and PC/104 drivers to be built Note that the answer to this question won't directly affect the kernel: saying N will just cause the configurator to skip all the questions about ISA and PC/104 comedi drivers. if COMEDI_ISA_DRIVERS config COMEDI_PCL711 tristate "Advantech PCL-711/711b and ADlink ACL-8112 ISA card support" select COMEDI_8254 help Enable support for Advantech PCL-711 and 711b, ADlink ACL-8112 To compile this driver as a module, choose M here: the module will be called pcl711. config COMEDI_PCL724 tristate "Advantech PCL-722/724/731 and ADlink ACL-7122/7124/PET-48DIO" select COMEDI_8255 help Enable support for ISA and PC/104 based 8255 digital i/o boards. This driver provides a legacy comedi driver wrapper for the generic 8255 support driver. Supported boards include: Advantech PCL-724 24 channels Advantech PCL-722 144 (or 96) channels Advantech PCL-731 48 channels ADlink ACL-7122 144 (or 96) channels ADlink ACL-7124 24 channels ADlink PET-48DIO 48 channels WinSystems PCM-IO48 48 channels (PC/104) Diamond Systems ONYX-MM-DIO 48 channels (PC/104) To compile this driver as a module, choose M here: the module will be called pcl724. config COMEDI_PCL726 tristate "Advantech PCL-726 and compatible ISA card support" help Enable support for Advantech PCL-726 and compatible ISA cards. To compile this driver as a module, choose M here: the module will be called pcl726. config COMEDI_PCL730 tristate "Simple Digital I/O board support (8-bit ports)" help Enable support for various simple ISA or PC/104 Digital I/O boards. These boards all use 8-bit I/O ports. Advantech PCL-730 iso - 16 in/16 out ttl - 16 in/16 out ICP ISO-730 iso - 16 in/16 out ttl - 16 in/16 out ADlink ACL-7130 iso - 16 in/16 out ttl - 16 in/16 out Advantech PCM-3730 iso - 8 in/8 out ttl - 16 in/16 out Advantech PCL-725 iso - 8 in/8 out ICP P8R8-DIO iso - 8 in/8 out ADlink ACL-7225b iso - 16 in/16 out ICP P16R16-DIO iso - 16 in/16 out Advantech PCL-733 iso - 32 in Advantech PCL-734 iso - 32 out Diamond Systems OPMM-1616-XT iso - 16 in/16 out Diamond Systems PEARL-MM-P iso - 16 out Diamond Systems IR104-PBF iso - 20 in/20 out To compile this driver as a module, choose M here: the module will be called pcl730. config COMEDI_PCL812 tristate "Advantech PCL-812/813 and ADlink ACL-8112/8113/8113/8216" select COMEDI_ISADMA if ISA_DMA_API select COMEDI_8254 help Enable support for Advantech PCL-812/PG, PCL-813/B, ADLink ACL-8112DG/HG/PG, ACL-8113, ACL-8216, ICP DAS A-821PGH/PGL/PGL-NDA, A-822PGH/PGL, A-823PGH/PGL, A-826PG and ICP DAS ISO-813 ISA cards To compile this driver as a module, choose M here: the module will be called pcl812. config COMEDI_PCL816 tristate "Advantech PCL-814 and PCL-816 ISA card support" select COMEDI_ISADMA if ISA_DMA_API select COMEDI_8254 help Enable support for Advantech PCL-814 and PCL-816 ISA cards To compile this driver as a module, choose M here: the module will be called pcl816. config COMEDI_PCL818 tristate "Advantech PCL-718 and PCL-818 ISA card support" select COMEDI_ISADMA if ISA_DMA_API select COMEDI_8254 help Enable support for Advantech PCL-818 ISA cards PCL-818L, PCL-818H, PCL-818HD, PCL-818HG, PCL-818 and PCL-718 To compile this driver as a module, choose M here: the module will be called pcl818. config COMEDI_PCM3724 tristate "Advantech PCM-3724 PC/104 card support" select COMEDI_8255 help Enable support for Advantech PCM-3724 PC/104 cards. To compile this driver as a module, choose M here: the module will be called pcm3724. config COMEDI_AMPLC_DIO200_ISA tristate "Amplicon PC212E/PC214E/PC215E/PC218E/PC272E" select COMEDI_AMPLC_DIO200 help Enable support for Amplicon PC212E, PC214E, PC215E, PC218E and PC272E ISA DIO boards To compile this driver as a module, choose M here: the module will be called amplc_dio200. config COMEDI_AMPLC_PC236_ISA tristate "Amplicon PC36AT DIO board support" select COMEDI_AMPLC_PC236 help Enable support for Amplicon PC36AT ISA DIO board. To compile this driver as a module, choose M here: the module will be called amplc_pc236. config COMEDI_AMPLC_PC263_ISA tristate "Amplicon PC263 relay board support" help Enable support for Amplicon PC263 ISA relay board. This board has 16 reed relay output channels. To compile this driver as a module, choose M here: the module will be called amplc_pc263. config COMEDI_RTI800 tristate "Analog Devices RTI-800/815 ISA card support" help Enable support for Analog Devices RTI-800/815 ISA cards To compile this driver as a module, choose M here: the module will be called rti800. config COMEDI_RTI802 tristate "Analog Devices RTI-802 ISA card support" help Enable support for Analog Devices RTI-802 ISA cards To compile this driver as a module, choose M here: the module will be called rti802. config COMEDI_DAC02 tristate "Keithley Metrabyte DAC02 compatible ISA card support" help Enable support for Keithley Metrabyte DAC02 compatible ISA cards. To compile this driver as a module, choose M here: the module will be called dac02. config COMEDI_DAS16M1 tristate "MeasurementComputing CIO-DAS16/M1DAS-16 ISA card support" select COMEDI_8254 select COMEDI_8255 help Enable support for Measurement Computing CIO-DAS16/M1 ISA cards. To compile this driver as a module, choose M here: the module will be called das16m1. config COMEDI_DAS08_ISA tristate "DAS-08 compatible ISA and PC/104 card support" select COMEDI_DAS08 help Enable support for Keithley Metrabyte/ComputerBoards DAS08 and compatible ISA and PC/104 cards: Keithley Metrabyte/ComputerBoards DAS08, DAS08-PGM, DAS08-PGH, DAS08-PGL, DAS08-AOH, DAS08-AOL, DAS08-AOM, DAS08/JR-AO, DAS08/JR-16-AO, PC104-DAS08, DAS08/JR/16. To compile this driver as a module, choose M here: the module will be called das08_isa. config COMEDI_DAS16 tristate "DAS-16 compatible ISA and PC/104 card support" select COMEDI_ISADMA if ISA_DMA_API select COMEDI_8254 select COMEDI_8255 help Enable support for Keithley Metrabyte/ComputerBoards DAS16 and compatible ISA and PC/104 cards: Keithley Metrabyte DAS-16, DAS-16G, DAS-16F, DAS-1201, DAS-1202, DAS-1401, DAS-1402, DAS-1601, DAS-1602 and ComputerBoards/MeasurementComputing PC104-DAS16/JR/, PC104-DAS16JR/16, CIO-DAS16JR/16, CIO-DAS16/JR, CIO-DAS1401/12, CIO-DAS1402/12, CIO-DAS1402/16, CIO-DAS1601/12, CIO-DAS1602/12, CIO-DAS1602/16, CIO-DAS16/330 To compile this driver as a module, choose M here: the module will be called das16. config COMEDI_DAS800 tristate "DAS800 and compatible ISA card support" select COMEDI_8254 help Enable support for Keithley Metrabyte DAS800 and compatible ISA cards Keithley Metrabyte DAS-800, DAS-801, DAS-802 Measurement Computing CIO-DAS800, CIO-DAS801, CIO-DAS802 and CIO-DAS802/16 To compile this driver as a module, choose M here: the module will be called das800. config COMEDI_DAS1800 tristate "DAS1800 and compatible ISA card support" select COMEDI_ISADMA if ISA_DMA_API select COMEDI_8254 help Enable support for DAS1800 and compatible ISA cards Keithley Metrabyte DAS-1701ST, DAS-1701ST-DA, DAS-1701/AO, DAS-1702ST, DAS-1702ST-DA, DAS-1702HR, DAS-1702HR-DA, DAS-1702/AO, DAS-1801ST, DAS-1801ST-DA, DAS-1801HC, DAS-1801AO, DAS-1802ST, DAS-1802ST-DA, DAS-1802HR, DAS-1802HR-DA, DAS-1802HC and DAS-1802AO To compile this driver as a module, choose M here: the module will be called das1800. config COMEDI_DAS6402 tristate "DAS6402 and compatible ISA card support" select COMEDI_8254 help Enable support for DAS6402 and compatible ISA cards Computerboards, Keithley Metrabyte DAS6402 and compatibles To compile this driver as a module, choose M here: the module will be called das6402. config COMEDI_DT2801 tristate "Data Translation DT2801 ISA card support" help Enable support for Data Translation DT2801 ISA cards To compile this driver as a module, choose M here: the module will be called dt2801. config COMEDI_DT2811 tristate "Data Translation DT2811 ISA card support" help Enable support for Data Translation DT2811 ISA cards To compile this driver as a module, choose M here: the module will be called dt2811. config COMEDI_DT2814 tristate "Data Translation DT2814 ISA card support" help Enable support for Data Translation DT2814 ISA cards To compile this driver as a module, choose M here: the module will be called dt2814. config COMEDI_DT2815 tristate "Data Translation DT2815 ISA card support" help Enable support for Data Translation DT2815 ISA cards To compile this driver as a module, choose M here: the module will be called dt2815. config COMEDI_DT2817 tristate "Data Translation DT2817 ISA card support" help Enable support for Data Translation DT2817 ISA cards To compile this driver as a module, choose M here: the module will be called dt2817. config COMEDI_DT282X tristate "Data Translation DT2821 series and DT-EZ ISA card support" select COMEDI_ISADMA if ISA_DMA_API help Enable support for Data Translation DT2821 series including DT-EZ DT2821, DT2821-F-16SE, DT2821-F-8DI, DT2821-G-16SE, DT2821-G-8DI, DT2823 (dt2823), DT2824-PGH, DT2824-PGL, DT2825, DT2827, DT2828, DT21-EZ, DT23-EZ, DT24-EZ and DT24-EZ-PGL To compile this driver as a module, choose M here: the module will be called dt282x. config COMEDI_DMM32AT tristate "Diamond Systems MM-32-AT PC/104 board support" select COMEDI_8255 help Enable support for Diamond Systems MM-32-AT PC/104 boards To compile this driver as a module, choose M here: the module will be called dmm32at. config COMEDI_FL512 tristate "FL512 ISA card support" help Enable support for FL512 ISA card To compile this driver as a module, choose M here: the module will be called fl512. config COMEDI_AIO_AIO12_8 tristate "I/O Products PC/104 AIO12-8 Analog I/O Board support" select COMEDI_8254 select COMEDI_8255 help Enable support for I/O Products PC/104 AIO12-8 Analog I/O Board To compile this driver as a module, choose M here: the module will be called aio_aio12_8. config COMEDI_AIO_IIRO_16 tristate "I/O Products PC/104 IIRO16 Board support" help Enable support for I/O Products PC/104 IIRO16 Relay And Isolated Input Board To compile this driver as a module, choose M here: the module will be called aio_iiro_16. config COMEDI_II_PCI20KC tristate "Intelligent Instruments PCI-20001C carrier support" depends on HAS_IOMEM help Enable support for Intelligent Instruments PCI-20001C carrier PCI-20001, PCI-20006 and PCI-20341 To compile this driver as a module, choose M here: the module will be called ii_pci20kc. config COMEDI_C6XDIGIO tristate "Mechatronic Systems Inc. C6x_DIGIO DSP daughter card support" help Enable support for Mechatronic Systems Inc. C6x_DIGIO DSP daughter card To compile this driver as a module, choose M here: the module will be called c6xdigio. config COMEDI_MPC624 tristate "Micro/sys MPC-624 PC/104 board support" help Enable support for Micro/sys MPC-624 PC/104 board To compile this driver as a module, choose M here: the module will be called mpc624. config COMEDI_ADQ12B tristate "MicroAxial ADQ12-B data acquisition and control card support" help Enable MicroAxial ADQ12-B daq and control card support. To compile this driver as a module, choose M here: the module will be called adq12b. config COMEDI_NI_AT_A2150 tristate "NI AT-A2150 ISA card support" select COMEDI_ISADMA if ISA_DMA_API select COMEDI_8254 help Enable support for National Instruments AT-A2150 cards To compile this driver as a module, choose M here: the module will be called ni_at_a2150. config COMEDI_NI_AT_AO tristate "NI AT-AO-6/10 EISA card support" select COMEDI_8254 help Enable support for National Instruments AT-AO-6/10 cards To compile this driver as a module, choose M here: the module will be called ni_at_ao. config COMEDI_NI_ATMIO tristate "NI AT-MIO E series ISA-PNP card support" select COMEDI_8255 select COMEDI_NI_TIO help Enable support for National Instruments AT-MIO E series cards National Instruments AT-MIO-16E-1 (ni_atmio), AT-MIO-16E-2, AT-MIO-16E-10, AT-MIO-16DE-10, AT-MIO-64E-3, AT-MIO-16XE-50, AT-MIO-16XE-10, AT-AI-16XE-10 To compile this driver as a module, choose M here: the module will be called ni_atmio. config COMEDI_NI_ATMIO16D tristate "NI AT-MIO-16/AT-MIO-16D series ISA card support" select COMEDI_8255 help Enable support for National Instruments AT-MIO-16/AT-MIO-16D cards. To compile this driver as a module, choose M here: the module will be called ni_atmio16d. config COMEDI_NI_LABPC_ISA tristate "NI Lab-PC and compatibles ISA support" select COMEDI_NI_LABPC help Enable support for National Instruments Lab-PC and compatibles Lab-PC-1200, Lab-PC-1200AI, Lab-PC+. Kernel-level ISA plug-and-play support for the lab-pc-1200 boards has not yet been added to the driver. To compile this driver as a module, choose M here: the module will be called ni_labpc. config COMEDI_PCMAD tristate "Winsystems PCM-A/D12 and PCM-A/D16 PC/104 board support" help Enable support for Winsystems PCM-A/D12 and PCM-A/D16 PC/104 boards. To compile this driver as a module, choose M here: the module will be called pcmad. config COMEDI_PCMDA12 tristate "Winsystems PCM-D/A-12 8-channel AO PC/104 board support" help Enable support for Winsystems PCM-D/A-12 8-channel AO PC/104 boards. Note that the board is not ISA-PNP capable and thus needs the I/O port comedi_config parameter. To compile this driver as a module, choose M here: the module will be called pcmda12. config COMEDI_PCMMIO tristate "Winsystems PCM-MIO PC/104 board support" help Enable support for Winsystems PCM-MIO multifunction PC/104 boards. To compile this driver as a module, choose M here: the module will be called pcmmio. config COMEDI_PCMUIO tristate "Winsystems PCM-UIO48A and PCM-UIO96A PC/104 board support" help Enable support for PCM-UIO48A and PCM-UIO96A PC/104 boards. To compile this driver as a module, choose M here: the module will be called pcmuio. config COMEDI_MULTIQ3 tristate "Quanser Consulting MultiQ-3 ISA card support" help Enable support for Quanser Consulting MultiQ-3 ISA cards To compile this driver as a module, choose M here: the module will be called multiq3. config COMEDI_S526 tristate "Sensoray s526 support" help Enable support for Sensoray s526 To compile this driver as a module, choose M here: the module will be called s526. endif # COMEDI_ISA_DRIVERS menuconfig COMEDI_PCI_DRIVERS tristate "Comedi PCI drivers" depends on PCI help Enable support for comedi PCI drivers. To compile this support as a module, choose M here: the module will be called comedi_pci. if COMEDI_PCI_DRIVERS config COMEDI_8255_PCI tristate "Generic PCI based 8255 digital i/o board support" select COMEDI_8255 help Enable support for PCI based 8255 digital i/o boards. This driver provides a PCI wrapper around the generic 8255 driver. Supported boards: ADlink - PCI-7224, PCI-7248, and PCI-7296 Measurement Computing - PCI-DIO24, PCI-DIO24H, PCI-DIO48H and PCI-DIO96H National Instruments - PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503, PCI-6503B, PCI-6503X, and PXI-6503 To compile this driver as a module, choose M here: the module will be called 8255_pci. config COMEDI_ADDI_WATCHDOG tristate help Provides support for the watchdog subdevice found on many ADDI-DATA boards. This module will be automatically selected when needed. The module will be called addi_watchdog. config COMEDI_ADDI_APCI_1032 tristate "ADDI-DATA APCI_1032 support" help Enable support for ADDI-DATA APCI_1032 cards To compile this driver as a module, choose M here: the module will be called addi_apci_1032. config COMEDI_ADDI_APCI_1500 tristate "ADDI-DATA APCI_1500 support" help Enable support for ADDI-DATA APCI_1500 cards To compile this driver as a module, choose M here: the module will be called addi_apci_1500. config COMEDI_ADDI_APCI_1516 tristate "ADDI-DATA APCI-1016/1516/2016 support" select COMEDI_ADDI_WATCHDOG help Enable support for ADDI-DATA APCI-1016, APCI-1516 and APCI-2016 boards. These are 16 channel, optically isolated, digital I/O boards. The 1516 and 2016 boards also have a watchdog for resetting the outputs to "0". To compile this driver as a module, choose M here: the module will be called addi_apci_1516. config COMEDI_ADDI_APCI_1564 tristate "ADDI-DATA APCI_1564 support" select COMEDI_ADDI_WATCHDOG help Enable support for ADDI-DATA APCI_1564 cards To compile this driver as a module, choose M here: the module will be called addi_apci_1564. config COMEDI_ADDI_APCI_16XX tristate "ADDI-DATA APCI_16xx support" help Enable support for ADDI-DATA APCI_16xx cards To compile this driver as a module, choose M here: the module will be called addi_apci_16xx. config COMEDI_ADDI_APCI_2032 tristate "ADDI-DATA APCI_2032 support" select COMEDI_ADDI_WATCHDOG help Enable support for ADDI-DATA APCI_2032 cards To compile this driver as a module, choose M here: the module will be called addi_apci_2032. config COMEDI_ADDI_APCI_2200 tristate "ADDI-DATA APCI_2200 support" select COMEDI_ADDI_WATCHDOG help Enable support for ADDI-DATA APCI_2200 cards To compile this driver as a module, choose M here: the module will be called addi_apci_2200. config COMEDI_ADDI_APCI_3120 tristate "ADDI-DATA APCI_3120/3001 support" depends on HAS_DMA help Enable support for ADDI-DATA APCI_3120/3001 cards To compile this driver as a module, choose M here: the module will be called addi_apci_3120. config COMEDI_ADDI_APCI_3501 tristate "ADDI-DATA APCI_3501 support" help Enable support for ADDI-DATA APCI_3501 cards To compile this driver as a module, choose M here: the module will be called addi_apci_3501. config COMEDI_ADDI_APCI_3XXX tristate "ADDI-DATA APCI_3xxx support" help Enable support for ADDI-DATA APCI_3xxx cards To compile this driver as a module, choose M here: the module will be called addi_apci_3xxx. config COMEDI_ADL_PCI6208 tristate "ADLink PCI-6208A support" help Enable support for ADLink PCI-6208A cards To compile this driver as a module, choose M here: the module will be called adl_pci6208. config COMEDI_ADL_PCI7X3X tristate "ADLink PCI-723X/743X isolated digital i/o board support" help Enable support for ADlink PCI-723X/743X isolated digital i/o boards. Supported boards include the 32-channel PCI-7230 (16 in/16 out), PCI-7233 (32 in), and PCI-7234 (32 out) as well as the 64-channel PCI-7432 (32 in/32 out), PCI-7433 (64 in), and PCI-7434 (64 out). To compile this driver as a module, choose M here: the module will be called adl_pci7x3x. config COMEDI_ADL_PCI8164 tristate "ADLink PCI-8164 4 Axes Motion Control board support" help Enable support for ADlink PCI-8164 4 Axes Motion Control board To compile this driver as a module, choose M here: the module will be called adl_pci8164. config COMEDI_ADL_PCI9111 tristate "ADLink PCI-9111HR support" select COMEDI_8254 help Enable support for ADlink PCI9111 cards To compile this driver as a module, choose M here: the module will be called adl_pci9111. config COMEDI_ADL_PCI9118 tristate "ADLink PCI-9118DG, PCI-9118HG, PCI-9118HR support" depends on HAS_DMA select COMEDI_8254 help Enable support for ADlink PCI-9118DG, PCI-9118HG, PCI-9118HR cards To compile this driver as a module, choose M here: the module will be called adl_pci9118. config COMEDI_ADV_PCI1710 tristate "Advantech PCI-171x and PCI-1731 support" select COMEDI_8254 help Enable support for Advantech PCI-1710, PCI-1710HG, PCI-1711, PCI-1713 and PCI-1731 To compile this driver as a module, choose M here: the module will be called adv_pci1710. config COMEDI_ADV_PCI1720 tristate "Advantech PCI-1720 support" help Enable support for Advantech PCI-1720 Analog Output board. To compile this driver as a module, choose M here: the module will be called adv_pci1720. config COMEDI_ADV_PCI1723 tristate "Advantech PCI-1723 support" help Enable support for Advantech PCI-1723 cards To compile this driver as a module, choose M here: the module will be called adv_pci1723. config COMEDI_ADV_PCI1724 tristate "Advantech PCI-1724U support" help Enable support for Advantech PCI-1724U cards. These are 32-channel analog output cards with voltage and current loop output ranges and 14-bit resolution. To compile this driver as a module, choose M here: the module will be called adv_pci1724. config COMEDI_ADV_PCI1760 tristate "Advantech PCI-1760 support" help Enable support for Advantech PCI-1760 board. To compile this driver as a module, choose M here: the module will be called adv_pci1760. config COMEDI_ADV_PCI_DIO tristate "Advantech PCI DIO card support" select COMEDI_8254 select COMEDI_8255 help Enable support for Advantech PCI DIO cards PCI-1730, PCI-1733, PCI-1734, PCI-1735U, PCI-1736UP, PCI-1739U, PCI-1750, PCI-1751, PCI-1752, PCI-1753/E, PCI-1754, PCI-1756, PCI-1761 and PCI-1762 To compile this driver as a module, choose M here: the module will be called adv_pci_dio. config COMEDI_AMPLC_DIO200_PCI tristate "Amplicon PCI215/PCI272/PCIe215/PCIe236/PCIe296 DIO support" select COMEDI_AMPLC_DIO200 help Enable support for Amplicon PCI215, PCI272, PCIe215, PCIe236 and PCIe296 DIO boards. To compile this driver as a module, choose M here: the module will be called amplc_dio200_pci. config COMEDI_AMPLC_PC236_PCI tristate "Amplicon PCI236 DIO board support" select COMEDI_AMPLC_PC236 help Enable support for Amplicon PCI236 DIO board. To compile this driver as a module, choose M here: the module will be called amplc_pci236. config COMEDI_AMPLC_PC263_PCI tristate "Amplicon PCI263 relay board support" help Enable support for Amplicon PCI263 relay board. This is a PCI board with 16 reed relay output channels. To compile this driver as a module, choose M here: the module will be called amplc_pci263. config COMEDI_AMPLC_PCI224 tristate "Amplicon PCI224 and PCI234 support" select COMEDI_8254 help Enable support for Amplicon PCI224 and PCI234 AO boards To compile this driver as a module, choose M here: the module will be called amplc_pci224. config COMEDI_AMPLC_PCI230 tristate "Amplicon PCI230 and PCI260 support" select COMEDI_8254 select COMEDI_8255 help Enable support for Amplicon PCI230 and PCI260 Multifunction I/O boards To compile this driver as a module, choose M here: the module will be called amplc_pci230. config COMEDI_CONTEC_PCI_DIO tristate "Contec PIO1616L digital I/O board support" help Enable support for the Contec PIO1616L digital I/O board To compile this driver as a module, choose M here: the module will be called contec_pci_dio. config COMEDI_DAS08_PCI tristate "DAS-08 PCI support" select COMEDI_DAS08 help Enable support for PCI DAS-08 cards. To compile this driver as a module, choose M here: the module will be called das08_pci. config COMEDI_DT3000 tristate "Data Translation DT3000 series support" help Enable support for Data Translation DT3000 series DT3001, DT3001-PGL, DT3002, DT3003, DT3003-PGL, DT3004, DT3005 and DT3004-200 To compile this driver as a module, choose M here: the module will be called dt3000. config COMEDI_DYNA_PCI10XX tristate "Dynalog PCI DAQ series support" help Enable support for Dynalog PCI DAQ series PCI-1050 To compile this driver as a module, choose M here: the module will be called dyna_pci10xx. config COMEDI_GSC_HPDI tristate "General Standards PCI-HPDI32 / PMC-HPDI32 support" help Enable support for General Standards Corporation high speed parallel digital interface rs485 boards PCI-HPDI32 and PMC-HPDI32. Only receive mode works, transmit not supported. To compile this driver as a module, choose M here: the module will be called gsc_hpdi. config COMEDI_MF6X4 tristate "Humusoft MF634 and MF624 DAQ Card support" help This driver supports both Humusoft MF634 and MF624 Data acquisition cards. The legacy Humusoft MF614 card is not supported. config COMEDI_ICP_MULTI tristate "Inova ICP_MULTI support" help Enable support for Inova ICP_MULTI card To compile this driver as a module, choose M here: the module will be called icp_multi. config COMEDI_DAQBOARD2000 tristate "IOtech DAQboard/2000 support" select COMEDI_8255 help Enable support for the IOtech DAQboard/2000 To compile this driver as a module, choose M here: the module will be called daqboard2000. config COMEDI_JR3_PCI tristate "JR3/PCI force sensor board support" help Enable support for JR3/PCI force sensor boards To compile this driver as a module, choose M here: the module will be called jr3_pci. config COMEDI_KE_COUNTER tristate "Kolter-Electronic PCI Counter 1 card support" help Enable support for Kolter-Electronic PCI Counter 1 cards To compile this driver as a module, choose M here: the module will be called ke_counter. config COMEDI_CB_PCIDAS64 tristate "MeasurementComputing PCI-DAS 64xx, 60xx, and 4020 support" select COMEDI_8255 help Enable support for ComputerBoards/MeasurementComputing PCI-DAS 64xx, 60xx, and 4020 series with the PLX 9080 PCI controller To compile this driver as a module, choose M here: the module will be called cb_pcidas64. config COMEDI_CB_PCIDAS tristate "MeasurementComputing PCI-DAS support" select COMEDI_8254 select COMEDI_8255 help Enable support for ComputerBoards/MeasurementComputing PCI-DAS with AMCC S5933 PCIcontroller: PCI-DAS1602/16, PCI-DAS1602/16jr, PCI-DAS1602/12, PCI-DAS1200, PCI-DAS1200jr, PCI-DAS1000, PCI-DAS1001 and PCI_DAS1002. To compile this driver as a module, choose M here: the module will be called cb_pcidas. config COMEDI_CB_PCIDDA tristate "MeasurementComputing PCI-DDA series support" select COMEDI_8255 help Enable support for ComputerBoards/MeasurementComputing PCI-DDA series: PCI-DDA08/12, PCI-DDA04/12, PCI-DDA02/12, PCI-DDA08/16, PCI-DDA04/16 and PCI-DDA02/16 To compile this driver as a module, choose M here: the module will be called cb_pcidda. config COMEDI_CB_PCIMDAS tristate "MeasurementComputing PCIM-DAS1602/16, PCIe-DAS1602/16 support" select COMEDI_8254 select COMEDI_8255 help Enable support for ComputerBoards/MeasurementComputing PCI Migration series PCIM-DAS1602/16 and PCIe-DAS1602/16. To compile this driver as a module, choose M here: the module will be called cb_pcimdas. config COMEDI_CB_PCIMDDA tristate "MeasurementComputing PCIM-DDA06-16 support" select COMEDI_8255 help Enable support for ComputerBoards/MeasurementComputing PCIM-DDA06-16 To compile this driver as a module, choose M here: the module will be called cb_pcimdda. config COMEDI_ME4000 tristate "Meilhaus ME-4000 support" select COMEDI_8254 help Enable support for Meilhaus PCI data acquisition cards ME-4650, ME-4670i, ME-4680, ME-4680i and ME-4680is To compile this driver as a module, choose M here: the module will be called me4000. config COMEDI_ME_DAQ tristate "Meilhaus ME-2000i, ME-2600i, ME-3000vm1 support" help Enable support for Meilhaus PCI data acquisition cards ME-2000i, ME-2600i and ME-3000vm1 To compile this driver as a module, choose M here: the module will be called me_daq. config COMEDI_NI_6527 tristate "NI 6527 support" help Enable support for the National Instruments 6527 PCI card To compile this driver as a module, choose M here: the module will be called ni_6527. config COMEDI_NI_65XX tristate "NI 65xx static dio PCI card support" help Enable support for National Instruments 65xx static dio boards. Supported devices: National Instruments PCI-6509 (ni_65xx), PXI-6509, PCI-6510, PCI-6511, PXI-6511, PCI-6512, PXI-6512, PCI-6513, PXI-6513, PCI-6514, PXI-6514, PCI-6515, PXI-6515, PCI-6516, PCI-6517, PCI-6518, PCI-6519, PCI-6520, PCI-6521, PXI-6521, PCI-6528, PXI-6528 To compile this driver as a module, choose M here: the module will be called ni_65xx. config COMEDI_NI_660X tristate "NI 660x counter/timer PCI card support" depends on HAS_DMA select COMEDI_NI_TIOCMD help Enable support for National Instruments PCI-6601 (ni_660x), PCI-6602, PXI-6602, PXI-6608, PCI-6624, and PXI-6624. To compile this driver as a module, choose M here: the module will be called ni_660x. config COMEDI_NI_670X tristate "NI 670x PCI card support" help Enable support for National Instruments PCI-6703 and PCI-6704 To compile this driver as a module, choose M here: the module will be called ni_670x. config COMEDI_NI_LABPC_PCI tristate "NI Lab-PC PCI-1200 support" select COMEDI_NI_LABPC help Enable support for National Instruments Lab-PC PCI-1200. To compile this driver as a module, choose M here: the module will be called ni_labpc_pci. config COMEDI_NI_PCIDIO tristate "NI PCI-DIO32HS, PCI-6533, PCI-6534 support" depends on HAS_DMA select COMEDI_MITE select COMEDI_8255 help Enable support for National Instruments PCI-DIO-32HS, PXI-6533, PCI-6533 and PCI-6534 To compile this driver as a module, choose M here: the module will be called ni_pcidio. config COMEDI_NI_PCIMIO tristate "NI PCI-MIO-E series and M series support" depends on HAS_DMA select COMEDI_NI_TIOCMD select COMEDI_8255 help Enable support for National Instruments PCI-MIO-E series and M series (all boards): PCI-MIO-16XE-10, PXI-6030E, PCI-MIO-16E-1, PCI-MIO-16E-4, PCI-6014, PCI-6040E, PXI-6040E, PCI-6030E, PCI-6031E, PCI-6032E, PCI-6033E, PCI-6071E, PCI-6023E, PCI-6024E, PCI-6025E, PXI-6025E, PCI-6034E, PCI-6035E, PCI-6052E, PCI-6110, PCI-6111, PCI-6220, PXI-6220, PCI-6221, PXI-6221, PCI-6224, PXI-6224, PCI-6225, PXI-6225, PCI-6229, PXI-6229, PCI-6250, PXI-6250, PCI-6251, PXI-6251, PCIe-6251, PXIe-6251, PCI-6254, PXI-6254, PCI-6259, PXI-6259, PCIe-6259, PXIe-6259, PCI-6280, PXI-6280, PCI-6281, PXI-6281, PCI-6284, PXI-6284, PCI-6289, PXI-6289, PCI-6711, PXI-6711, PCI-6713, PXI-6713, PXI-6071E, PCI-6070E, PXI-6070E, PXI-6052E, PCI-6036E, PCI-6731, PCI-6733, PXI-6733, PCI-6143, PXI-6143 To compile this driver as a module, choose M here: the module will be called ni_pcimio. config COMEDI_RTD520 tristate "Real Time Devices PCI4520/DM7520 support" select COMEDI_8254 help Enable support for Real Time Devices PCI4520/DM7520 To compile this driver as a module, choose M here: the module will be called rtd520. config COMEDI_S626 tristate "Sensoray 626 support" help Enable support for Sensoray 626 To compile this driver as a module, choose M here: the module will be called s626. config COMEDI_MITE depends on HAS_DMA tristate config COMEDI_NI_TIOCMD tristate depends on HAS_DMA select COMEDI_NI_TIO select COMEDI_MITE endif # COMEDI_PCI_DRIVERS menuconfig COMEDI_PCMCIA_DRIVERS tristate "Comedi PCMCIA drivers" depends on PCMCIA help Enable support for comedi PCMCIA drivers. To compile this support as a module, choose M here: the module will be called comedi_pcmcia. if COMEDI_PCMCIA_DRIVERS config COMEDI_CB_DAS16_CS tristate "CB DAS16 series PCMCIA support" select COMEDI_8254 help Enable support for the ComputerBoards/MeasurementComputing PCMCIA cards DAS16/16, PCM-DAS16D/12 and PCM-DAS16s/16 To compile this driver as a module, choose M here: the module will be called cb_das16_cs. config COMEDI_DAS08_CS tristate "CB DAS08 PCMCIA support" select COMEDI_DAS08 help Enable support for the ComputerBoards/MeasurementComputing DAS-08 PCMCIA card To compile this driver as a module, choose M here: the module will be called das08_cs. config COMEDI_NI_DAQ_700_CS tristate "NI DAQCard-700 PCMCIA support" help Enable support for the National Instruments PCMCIA DAQCard-700 DIO To compile this driver as a module, choose M here: the module will be called ni_daq_700. config COMEDI_NI_DAQ_DIO24_CS tristate "NI DAQ-Card DIO-24 PCMCIA support" select COMEDI_8255 help Enable support for the National Instruments PCMCIA DAQ-Card DIO-24 To compile this driver as a module, choose M here: the module will be called ni_daq_dio24. config COMEDI_NI_LABPC_CS tristate "NI DAQCard-1200 PCMCIA support" select COMEDI_NI_LABPC help Enable support for the National Instruments PCMCIA DAQCard-1200 To compile this driver as a module, choose M here: the module will be called ni_labpc_cs. config COMEDI_NI_MIO_CS tristate "NI DAQCard E series PCMCIA support" select COMEDI_NI_TIO select COMEDI_8255 help Enable support for the National Instruments PCMCIA DAQCard E series DAQCard-ai-16xe-50, DAQCard-ai-16e-4, DAQCard-6062E, DAQCard-6024E and DAQCard-6036E To compile this driver as a module, choose M here: the module will be called ni_mio_cs. config COMEDI_QUATECH_DAQP_CS tristate "Quatech DAQP PCMCIA data capture card support" help Enable support for the Quatech DAQP PCMCIA data capture cards DAQP-208 and DAQP-308 To compile this driver as a module, choose M here: the module will be called quatech_daqp_cs. endif # COMEDI_PCMCIA_DRIVERS menuconfig COMEDI_USB_DRIVERS tristate "Comedi USB drivers" depends on USB help Enable support for comedi USB drivers. To compile this support as a module, choose M here: the module will be called comedi_usb. if COMEDI_USB_DRIVERS config COMEDI_DT9812 tristate "DataTranslation DT9812 USB module support" help Enable support for the Data Translation DT9812 USB module To compile this driver as a module, choose M here: the module will be called dt9812. config COMEDI_NI_USB6501 tristate "NI USB-6501 support" help Enable support for the National Instruments USB-6501 module. The NI USB-6501 is a Full-Speed USB 2.0 (12 Mbit/s) device that provides 24 digital I/O lines channels and one 32-bit counter. To compile this driver as a module, choose M here: the module will be called ni_usb6501. config COMEDI_USBDUX tristate "ITL USB-DUX-D support" help Enable support for the Incite Technology Ltd USB-DUX-D Board To compile this driver as a module, choose M here: the module will be called usbdux. config COMEDI_USBDUXFAST tristate "ITL USB-DUXfast support" help Enable support for the Incite Technology Ltd USB-DUXfast Board To compile this driver as a module, choose M here: the module will be called usbduxfast. config COMEDI_USBDUXSIGMA tristate "ITL USB-DUXsigma support" help Enable support for the Incite Technology Ltd USB-DUXsigma Board To compile this driver as a module, choose M here: the module will be called usbduxsigma. config COMEDI_VMK80XX tristate "Velleman VM110/VM140 USB Board support" help Build the Velleman USB Board Low-Level Driver supporting the K8055/K8061 aka VM110/VM140 devices To compile this driver as a module, choose M here: the module will be called vmk80xx. endif # COMEDI_USB_DRIVERS config COMEDI_8254 tristate config COMEDI_8255 tristate config COMEDI_8255_SA tristate "Standalone 8255 support" select COMEDI_8255 help Enable support for 8255 digital I/O as a standalone driver. You should enable compilation this driver if you plan to use a board that has an 8255 chip at a known I/O base address and there are no other Comedi drivers for the board. Note that Comedi drivers for most multi-function boards incorporating an 8255 chip use the 'comedi_8255' module. Most PCI-based 8255 boards use the 8255_pci driver as a wrapper around the 'comedi_8255' module. To compile this driver as a module, choose M here: the module will be called 8255. config COMEDI_KCOMEDILIB tristate "Comedi kcomedilib" help Build the kcomedilib. This is a kernel module used to open and manipulate Comedi devices from within kernel code. It is currently only used by the comedi_bond driver, and its functionality has been stripped down to the needs of that driver, so is currently not very useful for anything else. To compile kcomedilib as a module, choose M here: the module will be called kcomedilib. config COMEDI_AMPLC_DIO200 select COMEDI_8254 tristate config COMEDI_AMPLC_PC236 tristate select COMEDI_8255 config COMEDI_DAS08 tristate select COMEDI_8254 select COMEDI_8255 config COMEDI_ISADMA tristate config COMEDI_NI_LABPC tristate select COMEDI_8254 select COMEDI_8255 config COMEDI_NI_LABPC_ISADMA tristate default COMEDI_NI_LABPC depends on COMEDI_NI_LABPC_ISA != n depends on ISA_DMA_API select COMEDI_ISADMA config COMEDI_NI_TIO tristate select COMEDI_NI_ROUTING config COMEDI_NI_ROUTING tristate endif # COMEDI staging/comedi/kcomedilib/Makefile 0000644 00000000245 14722053666 0013216 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_COMEDI_DEBUG) := -DDEBUG obj-$(CONFIG_COMEDI_KCOMEDILIB) += kcomedilib.o kcomedilib-objs := kcomedilib_main.o staging/comedi/drivers/ni_routing/tools/Makefile 0000644 00000005461 14722053666 0016114 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # this make file is simply to help autogenerate these files: # ni_route_values.h # ni_device_routes.h # in order to do this, we are also generating a python representation (using # ctypesgen) of ../../comedi.h. # This allows us to sort NI signal/terminal names numerically to use a binary # search through the device_routes tables to find valid routes. ALL: @echo Typical targets: @echo "\`make csv-files\`" @echo " Creates new csv-files using content of c-files of existing" @echo " ni_routing/* content. New csv files are placed in csv" @echo " sub-directory." @echo "\`make c-files\`" @echo " Creates new c-files using content of csv sub-directory. These" @echo " new c-files can be compared to the active content in the" @echo " ni_routing directory." @echo "\`make csv-blank\`" @echo " Create a new blank csv file. This is useful for establishing a" @echo " new data table for either a device family \(less likely\) or a" @echo " specific board of an existing device family \(more likely\)." @echo "\`make clean-partial\`" @echo " Remove all generated files/directories EXCEPT for csv/c files." @echo "\`make clean\`" @echo " Remove all generated files/directories." @echo "\`make everything\`" @echo " Build all csv-files, then all new c-files." everything : csv-files c-files csv-blank CPPFLAGS=-D"BIT(x)=(1UL<<(x))" -D__user= comedi_h.py : ../../../comedi.h ctypesgen $< --include "sys/ioctl.h" --cpp 'gcc -E $(CPPFLAGS)' -o $@ convert_c_to_py: all_cfiles.c gcc -g convert_c_to_py.c -o convert_c_to_py -std=c99 ni_values.py: convert_c_to_py ./convert_c_to_py csv-files : ni_values.py comedi_h.py ./convert_py_to_csv.py csv-blank : ./make_blank_csv.py @echo New blank csv signal table in csv/blank_route_table.csv c-files : comedi_h.py ./convert_csv_to_c.py --route_values --device_routes ROUTE_VALUES_SRC=$(wildcard ../ni_route_values/*.c) DEVICE_ROUTES_SRC=$(wildcard ../ni_device_routes/*.c) all_cfiles.c : $(DEVICE_ROUTES_SRC) $(ROUTE_VALUES_SRC) @for i in $(DEVICE_ROUTES_SRC) $(ROUTE_VALUES_SRC); do \ echo "#include \"$$i\"" >> all_cfiles.c; \ done clean-partial : $(RM) -rf comedi_h.py ni_values.py convert_c_to_py all_cfiles.c *.pyc \ __pycache__/ clean : partial_clean $(RM) -rf c/ csv/ # Note: One could also use ctypeslib in order to generate these files. The # caveat is that ctypeslib does not do a great job at handling macro functions. # The make rules are as follows: # comedi.h.xml : ../../comedi.h # # note that we have to use PWD here to avoid h2xml finding a system # # installed version of the comedilib/comedi.h file # h2xml ${PWD}/../../comedi.h -c -D__user="" -D"BIT(x)=(1<<(x))" \ # -o comedi.h.xml # # comedi_h.py : comedi.h.xml # xml2py ./comedi.h.xml -o comedi_h.py # clean : # rm -f comedi.h.xml comedi_h.py comedi_h.pyc staging/comedi/drivers/tests/Makefile 0000644 00000000336 14722053666 0013735 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for comedi drivers unit tests # ccflags-$(CONFIG_COMEDI_DEBUG) := -DDEBUG obj-$(CONFIG_COMEDI_TESTS) += example_test.o ni_routes_test.o CFLAGS_ni_routes_test.o := -DDEBUG staging/comedi/drivers/Makefile 0000644 00000016707 14722053666 0012604 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for individual comedi drivers # ccflags-$(CONFIG_COMEDI_DEBUG) := -DDEBUG # Comedi "helper" modules obj-$(CONFIG_COMEDI_8254) += comedi_8254.o obj-$(CONFIG_COMEDI_ISADMA) += comedi_isadma.o # Comedi misc drivers obj-$(CONFIG_COMEDI_BOND) += comedi_bond.o obj-$(CONFIG_COMEDI_TEST) += comedi_test.o obj-$(CONFIG_COMEDI_PARPORT) += comedi_parport.o # Comedi ISA drivers obj-$(CONFIG_COMEDI_AMPLC_DIO200_ISA) += amplc_dio200.o obj-$(CONFIG_COMEDI_AMPLC_PC236_ISA) += amplc_pc236.o obj-$(CONFIG_COMEDI_AMPLC_PC263_ISA) += amplc_pc263.o obj-$(CONFIG_COMEDI_PCL711) += pcl711.o obj-$(CONFIG_COMEDI_PCL724) += pcl724.o obj-$(CONFIG_COMEDI_PCL726) += pcl726.o obj-$(CONFIG_COMEDI_PCL730) += pcl730.o obj-$(CONFIG_COMEDI_PCL812) += pcl812.o obj-$(CONFIG_COMEDI_PCL816) += pcl816.o obj-$(CONFIG_COMEDI_PCL818) += pcl818.o obj-$(CONFIG_COMEDI_PCM3724) += pcm3724.o obj-$(CONFIG_COMEDI_RTI800) += rti800.o obj-$(CONFIG_COMEDI_RTI802) += rti802.o obj-$(CONFIG_COMEDI_DAC02) += dac02.o obj-$(CONFIG_COMEDI_DAS16M1) += das16m1.o obj-$(CONFIG_COMEDI_DAS08_ISA) += das08_isa.o obj-$(CONFIG_COMEDI_DAS16) += das16.o obj-$(CONFIG_COMEDI_DAS800) += das800.o obj-$(CONFIG_COMEDI_DAS1800) += das1800.o obj-$(CONFIG_COMEDI_DAS6402) += das6402.o obj-$(CONFIG_COMEDI_DT2801) += dt2801.o obj-$(CONFIG_COMEDI_DT2811) += dt2811.o obj-$(CONFIG_COMEDI_DT2814) += dt2814.o obj-$(CONFIG_COMEDI_DT2815) += dt2815.o obj-$(CONFIG_COMEDI_DT2817) += dt2817.o obj-$(CONFIG_COMEDI_DT282X) += dt282x.o obj-$(CONFIG_COMEDI_DMM32AT) += dmm32at.o obj-$(CONFIG_COMEDI_FL512) += fl512.o obj-$(CONFIG_COMEDI_AIO_AIO12_8) += aio_aio12_8.o obj-$(CONFIG_COMEDI_AIO_IIRO_16) += aio_iiro_16.o obj-$(CONFIG_COMEDI_II_PCI20KC) += ii_pci20kc.o obj-$(CONFIG_COMEDI_C6XDIGIO) += c6xdigio.o obj-$(CONFIG_COMEDI_MPC624) += mpc624.o obj-$(CONFIG_COMEDI_ADQ12B) += adq12b.o obj-$(CONFIG_COMEDI_NI_AT_A2150) += ni_at_a2150.o obj-$(CONFIG_COMEDI_NI_AT_AO) += ni_at_ao.o obj-$(CONFIG_COMEDI_NI_ATMIO) += ni_atmio.o obj-$(CONFIG_COMEDI_NI_ATMIO16D) += ni_atmio16d.o obj-$(CONFIG_COMEDI_NI_LABPC_ISA) += ni_labpc.o obj-$(CONFIG_COMEDI_PCMAD) += pcmad.o obj-$(CONFIG_COMEDI_PCMDA12) += pcmda12.o obj-$(CONFIG_COMEDI_PCMMIO) += pcmmio.o obj-$(CONFIG_COMEDI_PCMUIO) += pcmuio.o obj-$(CONFIG_COMEDI_MULTIQ3) += multiq3.o obj-$(CONFIG_COMEDI_S526) += s526.o # Comedi PCI drivers obj-$(CONFIG_COMEDI_8255_PCI) += 8255_pci.o obj-$(CONFIG_COMEDI_ADDI_WATCHDOG) += addi_watchdog.o obj-$(CONFIG_COMEDI_ADDI_APCI_1032) += addi_apci_1032.o obj-$(CONFIG_COMEDI_ADDI_APCI_1500) += addi_apci_1500.o obj-$(CONFIG_COMEDI_ADDI_APCI_1516) += addi_apci_1516.o obj-$(CONFIG_COMEDI_ADDI_APCI_1564) += addi_apci_1564.o obj-$(CONFIG_COMEDI_ADDI_APCI_16XX) += addi_apci_16xx.o obj-$(CONFIG_COMEDI_ADDI_APCI_2032) += addi_apci_2032.o obj-$(CONFIG_COMEDI_ADDI_APCI_2200) += addi_apci_2200.o obj-$(CONFIG_COMEDI_ADDI_APCI_3120) += addi_apci_3120.o obj-$(CONFIG_COMEDI_ADDI_APCI_3501) += addi_apci_3501.o obj-$(CONFIG_COMEDI_ADDI_APCI_3XXX) += addi_apci_3xxx.o obj-$(CONFIG_COMEDI_ADL_PCI6208) += adl_pci6208.o obj-$(CONFIG_COMEDI_ADL_PCI7X3X) += adl_pci7x3x.o obj-$(CONFIG_COMEDI_ADL_PCI8164) += adl_pci8164.o obj-$(CONFIG_COMEDI_ADL_PCI9111) += adl_pci9111.o obj-$(CONFIG_COMEDI_ADL_PCI9118) += adl_pci9118.o obj-$(CONFIG_COMEDI_ADV_PCI1710) += adv_pci1710.o obj-$(CONFIG_COMEDI_ADV_PCI1720) += adv_pci1720.o obj-$(CONFIG_COMEDI_ADV_PCI1723) += adv_pci1723.o obj-$(CONFIG_COMEDI_ADV_PCI1724) += adv_pci1724.o obj-$(CONFIG_COMEDI_ADV_PCI1760) += adv_pci1760.o obj-$(CONFIG_COMEDI_ADV_PCI_DIO) += adv_pci_dio.o obj-$(CONFIG_COMEDI_AMPLC_DIO200_PCI) += amplc_dio200_pci.o obj-$(CONFIG_COMEDI_AMPLC_PC236_PCI) += amplc_pci236.o obj-$(CONFIG_COMEDI_AMPLC_PC263_PCI) += amplc_pci263.o obj-$(CONFIG_COMEDI_AMPLC_PCI224) += amplc_pci224.o obj-$(CONFIG_COMEDI_AMPLC_PCI230) += amplc_pci230.o obj-$(CONFIG_COMEDI_CONTEC_PCI_DIO) += contec_pci_dio.o obj-$(CONFIG_COMEDI_DAS08_PCI) += das08_pci.o obj-$(CONFIG_COMEDI_DT3000) += dt3000.o obj-$(CONFIG_COMEDI_DYNA_PCI10XX) += dyna_pci10xx.o obj-$(CONFIG_COMEDI_GSC_HPDI) += gsc_hpdi.o obj-$(CONFIG_COMEDI_ICP_MULTI) += icp_multi.o obj-$(CONFIG_COMEDI_DAQBOARD2000) += daqboard2000.o obj-$(CONFIG_COMEDI_JR3_PCI) += jr3_pci.o obj-$(CONFIG_COMEDI_KE_COUNTER) += ke_counter.o obj-$(CONFIG_COMEDI_CB_PCIDAS64) += cb_pcidas64.o obj-$(CONFIG_COMEDI_CB_PCIDAS) += cb_pcidas.o obj-$(CONFIG_COMEDI_CB_PCIDDA) += cb_pcidda.o obj-$(CONFIG_COMEDI_CB_PCIMDAS) += cb_pcimdas.o obj-$(CONFIG_COMEDI_CB_PCIMDDA) += cb_pcimdda.o obj-$(CONFIG_COMEDI_ME4000) += me4000.o obj-$(CONFIG_COMEDI_ME_DAQ) += me_daq.o obj-$(CONFIG_COMEDI_NI_6527) += ni_6527.o obj-$(CONFIG_COMEDI_NI_65XX) += ni_65xx.o obj-$(CONFIG_COMEDI_NI_660X) += ni_660x.o obj-$(CONFIG_COMEDI_NI_670X) += ni_670x.o obj-$(CONFIG_COMEDI_NI_LABPC_PCI) += ni_labpc_pci.o obj-$(CONFIG_COMEDI_NI_PCIDIO) += ni_pcidio.o obj-$(CONFIG_COMEDI_NI_PCIMIO) += ni_pcimio.o obj-$(CONFIG_COMEDI_RTD520) += rtd520.o obj-$(CONFIG_COMEDI_S626) += s626.o obj-$(CONFIG_COMEDI_SSV_DNP) += ssv_dnp.o obj-$(CONFIG_COMEDI_MF6X4) += mf6x4.o # Comedi PCMCIA drivers obj-$(CONFIG_COMEDI_CB_DAS16_CS) += cb_das16_cs.o obj-$(CONFIG_COMEDI_DAS08_CS) += das08_cs.o obj-$(CONFIG_COMEDI_NI_DAQ_700_CS) += ni_daq_700.o obj-$(CONFIG_COMEDI_NI_DAQ_DIO24_CS) += ni_daq_dio24.o obj-$(CONFIG_COMEDI_NI_LABPC_CS) += ni_labpc_cs.o obj-$(CONFIG_COMEDI_NI_MIO_CS) += ni_mio_cs.o obj-$(CONFIG_COMEDI_QUATECH_DAQP_CS) += quatech_daqp_cs.o # Comedi USB drivers obj-$(CONFIG_COMEDI_DT9812) += dt9812.o obj-$(CONFIG_COMEDI_NI_USB6501) += ni_usb6501.o obj-$(CONFIG_COMEDI_USBDUX) += usbdux.o obj-$(CONFIG_COMEDI_USBDUXFAST) += usbduxfast.o obj-$(CONFIG_COMEDI_USBDUXSIGMA) += usbduxsigma.o obj-$(CONFIG_COMEDI_VMK80XX) += vmk80xx.o # Comedi NI drivers obj-$(CONFIG_COMEDI_MITE) += mite.o obj-$(CONFIG_COMEDI_NI_TIO) += ni_tio.o obj-$(CONFIG_COMEDI_NI_TIOCMD) += ni_tiocmd.o obj-$(CONFIG_COMEDI_NI_ROUTING) += ni_routing.o ni_routing-objs += ni_routes.o \ ni_routing/ni_route_values.o \ ni_routing/ni_route_values/ni_660x.o \ ni_routing/ni_route_values/ni_eseries.o \ ni_routing/ni_route_values/ni_mseries.o \ ni_routing/ni_device_routes.o \ ni_routing/ni_device_routes/pxi-6030e.o \ ni_routing/ni_device_routes/pci-6070e.o \ ni_routing/ni_device_routes/pci-6220.o \ ni_routing/ni_device_routes/pci-6221.o \ ni_routing/ni_device_routes/pxi-6224.o \ ni_routing/ni_device_routes/pxi-6225.o \ ni_routing/ni_device_routes/pci-6229.o \ ni_routing/ni_device_routes/pci-6251.o \ ni_routing/ni_device_routes/pxi-6251.o \ ni_routing/ni_device_routes/pxie-6251.o \ ni_routing/ni_device_routes/pci-6254.o \ ni_routing/ni_device_routes/pci-6259.o \ ni_routing/ni_device_routes/pci-6534.o \ ni_routing/ni_device_routes/pxie-6535.o \ ni_routing/ni_device_routes/pci-6602.o \ ni_routing/ni_device_routes/pci-6713.o \ ni_routing/ni_device_routes/pci-6723.o \ ni_routing/ni_device_routes/pci-6733.o \ ni_routing/ni_device_routes/pxi-6733.o \ ni_routing/ni_device_routes/pxie-6738.o obj-$(CONFIG_COMEDI_NI_LABPC) += ni_labpc_common.o obj-$(CONFIG_COMEDI_NI_LABPC_ISADMA) += ni_labpc_isadma.o obj-$(CONFIG_COMEDI_8255) += comedi_8255.o obj-$(CONFIG_COMEDI_8255_SA) += 8255.o obj-$(CONFIG_COMEDI_AMPLC_DIO200) += amplc_dio200_common.o obj-$(CONFIG_COMEDI_AMPLC_PC236) += amplc_pc236_common.o obj-$(CONFIG_COMEDI_DAS08) += das08.o obj-$(CONFIG_COMEDI_TESTS) += tests/ staging/comedi/Makefile 0000644 00000000760 14722053666 0011116 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_COMEDI_DEBUG) := -DDEBUG comedi-y := comedi_fops.o range.o drivers.o \ comedi_buf.o comedi-$(CONFIG_PROC_FS) += proc.o comedi-$(CONFIG_COMPAT) += comedi_compat32.o obj-$(CONFIG_COMEDI_PCI_DRIVERS) += comedi_pci.o obj-$(CONFIG_COMEDI_PCMCIA_DRIVERS) += comedi_pcmcia.o obj-$(CONFIG_COMEDI_USB_DRIVERS) += comedi_usb.o obj-$(CONFIG_COMEDI) += comedi.o obj-$(CONFIG_COMEDI) += kcomedilib/ obj-$(CONFIG_COMEDI) += drivers/ staging/axis-fifo/Kconfig 0000644 00000000705 14722053666 0011405 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # "Xilinx AXI-Stream FIFO IP core driver" # config XIL_AXIS_FIFO tristate "Xilinx AXI-Stream FIFO IP core driver" depends on OF && HAS_IOMEM help This adds support for the Xilinx AXI-Stream FIFO IP core driver. The AXI Streaming FIFO allows memory mapped access to a AXI Streaming interface. The Xilinx AXI-Stream FIFO IP core can be used to interface to the AXI Ethernet without the need to use DMA. staging/axis-fifo/Makefile 0000644 00000000116 14722053666 0011536 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_XIL_AXIS_FIFO) += axis-fifo.o staging/wilc1000/Kconfig 0000644 00000003415 14722053666 0010760 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config WILC1000 tristate help This module only support IEEE 802.11n WiFi. config WILC1000_SDIO tristate "Atmel WILC1000 SDIO (WiFi only)" depends on CFG80211 && INET && MMC select WILC1000 help This module adds support for the SDIO interface of adapters using WILC1000 chipset. The Atmel WILC1000 SDIO is a full speed interface. It meets SDIO card specification version 2.0. The interface supports the 1-bit/4-bit SD transfer mode at the clock range of 0-50 MHz. The host can use this interface to read and write from any register within the chip as well as configure the WILC1000 for data DMA. To use this interface, pin9 (SDIO_SPI_CFG) must be grounded. Select this if your platform is using the SDIO bus. config WILC1000_SPI tristate "Atmel WILC1000 SPI (WiFi only)" depends on CFG80211 && INET && SPI select WILC1000 help This module adds support for the SPI interface of adapters using WILC1000 chipset. The Atmel WILC1000 has a Serial Peripheral Interface (SPI) that operates as a SPI slave. This SPI interface can be used for control and for serial I/O of 802.11 data. The SPI is a full-duplex slave synchronous serial interface that is available immediately following reset when pin 9 (SDIO_SPI_CFG) is tied to VDDIO. Select this if your platform is using the SPI bus. config WILC1000_HW_OOB_INTR bool "WILC1000 out of band interrupt" depends on WILC1000_SDIO help This option enables out-of-band interrupt support for the WILC1000 chipset. This OOB interrupt is intended to provide a faster interrupt mechanism for SDIO host controllers that don't support SDIO interrupt. Select this option If the SDIO host controller in your platform doesn't support SDIO time devision interrupt. staging/wilc1000/Makefile 0000644 00000000712 14722053666 0011112 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_WILC1000) += wilc1000.o ccflags-y += -DFIRMWARE_1002=\"atmel/wilc1002_firmware.bin\" \ -DFIRMWARE_1003=\"atmel/wilc1003_firmware.bin\" wilc1000-objs := wilc_wfi_cfgoperations.o wilc_netdev.o wilc_mon.o \ wilc_hif.o wilc_wlan_cfg.o wilc_wlan.o obj-$(CONFIG_WILC1000_SDIO) += wilc1000-sdio.o wilc1000-sdio-objs += wilc_sdio.o obj-$(CONFIG_WILC1000_SPI) += wilc1000-spi.o wilc1000-spi-objs += wilc_spi.o staging/Makefile 0000644 00000003726 14722053666 0007663 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for staging directory obj-y += media/ obj-$(CONFIG_PRISM2_USB) += wlan-ng/ obj-$(CONFIG_COMEDI) += comedi/ obj-$(CONFIG_FB_OLPC_DCON) += olpc_dcon/ obj-$(CONFIG_RTL8192U) += rtl8192u/ obj-$(CONFIG_RTL8192E) += rtl8192e/ obj-$(CONFIG_RTL8723BS) += rtl8723bs/ obj-$(CONFIG_R8712U) += rtl8712/ obj-$(CONFIG_R8188EU) += rtl8188eu/ obj-$(CONFIG_RTS5208) += rts5208/ obj-$(CONFIG_NETLOGIC_XLR_NET) += netlogic/ obj-$(CONFIG_OCTEON_ETHERNET) += octeon/ obj-$(CONFIG_OCTEON_USB) += octeon-usb/ obj-$(CONFIG_VT6655) += vt6655/ obj-$(CONFIG_VT6656) += vt6656/ obj-$(CONFIG_VME_BUS) += vme/ obj-$(CONFIG_IIO) += iio/ obj-$(CONFIG_FB_SM750) += sm750fb/ obj-$(CONFIG_USB_EMXX) += emxx_udc/ obj-$(CONFIG_SPEAKUP) += speakup/ obj-$(CONFIG_MFD_NVEC) += nvec/ obj-$(CONFIG_ANDROID) += android/ obj-$(CONFIG_STAGING_BOARD) += board/ obj-$(CONFIG_LTE_GDM724X) += gdm724x/ obj-$(CONFIG_FIREWIRE_SERIAL) += fwserial/ obj-$(CONFIG_GOLDFISH) += goldfish/ obj-$(CONFIG_GS_FPGABOOT) += gs_fpgaboot/ obj-$(CONFIG_UNISYSSPAR) += unisys/ obj-$(CONFIG_COMMON_CLK_XLNX_CLKWZRD) += clocking-wizard/ obj-$(CONFIG_FB_TFT) += fbtft/ obj-$(CONFIG_FSL_DPAA2) += fsl-dpaa2/ obj-$(CONFIG_WILC1000) += wilc1000/ obj-$(CONFIG_MOST) += most/ obj-$(CONFIG_KS7010) += ks7010/ obj-$(CONFIG_GREYBUS) += greybus/ obj-$(CONFIG_BCM2835_VCHIQ) += vc04_services/ obj-$(CONFIG_PI433) += pi433/ obj-$(CONFIG_PCI_MT7621) += mt7621-pci/ obj-$(CONFIG_PCI_MT7621_PHY) += mt7621-pci-phy/ obj-$(CONFIG_PINCTRL_RT2880) += mt7621-pinctrl/ obj-$(CONFIG_SOC_MT7621) += mt7621-dma/ obj-$(CONFIG_DMA_RALINK) += ralink-gdma/ obj-$(CONFIG_SOC_MT7621) += mt7621-dts/ obj-$(CONFIG_STAGING_GASKET_FRAMEWORK) += gasket/ obj-$(CONFIG_XIL_AXIS_FIFO) += axis-fifo/ obj-$(CONFIG_FIELDBUS_DEV) += fieldbus/ obj-$(CONFIG_KPC2000) += kpc2000/ obj-$(CONFIG_ISDN_CAPI) += isdn/ obj-$(CONFIG_UWB) += uwb/ obj-$(CONFIG_USB_WUSB) += wusbcore/ obj-$(CONFIG_EXFAT_FS) += exfat/ obj-$(CONFIG_QLGE) += qlge/ staging/kpc2000/kpc_dma/Makefile 0000644 00000000210 14722053666 0012321 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-m := kpc_dma.o kpc_dma-objs += dma.o kpc_dma-objs += fileops.o kpc_dma-objs += kpc_dma_driver.o staging/kpc2000/Kconfig 0000644 00000002540 14722053666 0010576 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config KPC2000 bool "Daktronics KPC Device support" select MFD_CORE depends on PCI depends on UIO help Select this if you wish to use the Daktronics KPC PCI devices If unsure, say N. config KPC2000_CORE tristate "Daktronics KPC PCI UIO device" depends on KPC2000 help Say Y here if you wish to support the Daktronics KPC PCI device in UIO mode. To compile this driver as a module, choose M here: the module will be called kpc2000 If unsure, say N. config KPC2000_SPI tristate "Daktronics KPC SPI device" depends on KPC2000 && SPI help Say Y here if you wish to support the Daktronics KPC PCI device in SPI mode. To compile this driver as a module, choose M here: the module will be called kpc2000_spi If unsure, say N. config KPC2000_I2C tristate "Daktronics KPC I2C device" depends on KPC2000 && I2C help Say Y here if you wish to support the Daktronics KPC PCI device in I2C mode. To compile this driver as a module, choose M here: the module will be called kpc2000_i2c If unsure, say N. config KPC2000_DMA tristate "Daktronics KPC DMA controller" depends on KPC2000 help Say Y here if you wish to support the Daktronics DMA controller. To compile this driver as a module, choose M here: the module will be called kpc2000_dma If unsure, say N. staging/kpc2000/Makefile 0000644 00000000302 14722053666 0010725 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_KPC2000) += kpc2000/ obj-$(CONFIG_KPC2000_I2C) += kpc2000_i2c.o obj-$(CONFIG_KPC2000_SPI) += kpc2000_spi.o obj-$(CONFIG_KPC2000_DMA) += kpc_dma/ staging/kpc2000/kpc2000/Makefile 0000644 00000000134 14722053666 0012007 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-m := kpc2000.o kpc2000-objs += core.o cell_probe.o staging/speakup/Kconfig 0000644 00000015420 14722053666 0011170 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Speakup console speech" config SPEAKUP depends on VT tristate "Speakup core" help This is the Speakup screen reader. Think of it as a video console for blind people. If built in to the kernel, it can speak everything on the text console from boot up to shutdown. For more information on Speakup, point your browser at <http://www.linux-speakup.org/>. There is also a mailing list at the above url that you can subscribe to. Supported synthesizers are accent sa, accent pc, appollo II., Auddapter, Braille 'n Speak, Dectalk external (old), Dectalk PC (full length isa board), Dectalk express, Doubletalk, Doubletalk LT or Litetalk, Keynote Gold internal PC, software synthesizers, Speakout, transport, and a dummy module that can be used with a plain text terminal. Speakup can either be built in or compiled as a module by answering y or m. If you answer y here, then you must answer either y or m to at least one of the synthesizer drivers below. If you answer m here, then the synthesizer drivers below can only be built as modules. These drivers are not standalone drivers, but must be used in conjunction with Speakup. Think of them as video cards for blind people. The Dectalk pc driver can only be built as a module, and requires software to be pre-loaded on to the card before the module can be loaded. See the decpc choice below for more details. If you are not a blind person, or don't have access to one of the listed synthesizers, you should say n. if SPEAKUP config SPEAKUP_SYNTH_ACNTSA tristate "Accent SA synthesizer support" help This is the Speakup driver for the Accent SA synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_ACNTPC tristate "Accent PC synthesizer support" depends on ISA || COMPILE_TEST help This is the Speakup driver for the accent pc synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_APOLLO tristate "Apollo II synthesizer support" help This is the Speakup driver for the Apollo II synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_AUDPTR tristate "Audapter synthesizer support" help This is the Speakup driver for the Audapter synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_BNS tristate "Braille 'n' Speak synthesizer support" help This is the Speakup driver for the Braille 'n' Speak synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_DECTLK tristate "DECtalk Express synthesizer support" help This is the Speakup driver for the DecTalk Express synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_DECEXT tristate "DECtalk External (old) synthesizer support" help This is the Speakup driver for the DecTalk External (old) synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_DECPC depends on m depends on ISA || COMPILE_TEST tristate "DECtalk PC (big ISA card) synthesizer support" help This is the Speakup driver for the DecTalk PC (full length ISA) synthesizer. You can say m to build it as a module. See the configuration help on the Speakup choice above for more info. In order to use the DecTalk PC driver, you must download the dec_pc.tgz file from linux-speakup.org. It is in the pub/linux/goodies directory. The dec_pc.tgz file contains the software which must be pre-loaded on to the DecTalk PC board in order to use it with this driver. This driver must be built as a module, and can not be loaded until the file system is mounted and the DecTalk PC software has been pre-loaded on to the board. See the README file in the dec_pc.tgz file for more details. config SPEAKUP_SYNTH_DTLK tristate "DoubleTalk PC synthesizer support" depends on ISA || COMPILE_TEST help This is the Speakup driver for the internal DoubleTalk PC synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_KEYPC tristate "Keynote Gold PC synthesizer support" depends on ISA || COMPILE_TEST help This is the Speakup driver for the Keynote Gold PC synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_LTLK tristate "DoubleTalk LT/LiteTalk synthesizer support" help This is the Speakup driver for the LiteTalk/DoubleTalk LT synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_SOFT tristate "Userspace software synthesizer support" help This is the software synthesizer device node. It will register a device /dev/softsynth which midware programs and speech daemons may open and read to provide kernel output to software synths such as espeak, festival, flite and so forth. You can select 'y' or 'm' to have it built-in to the kernel or loaded as a module. config SPEAKUP_SYNTH_SPKOUT tristate "Speak Out synthesizer support" help This is the Speakup driver for the Speakout synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_TXPRT tristate "Transport synthesizer support" help This is the Speakup driver for the Transport synthesizer. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. config SPEAKUP_SYNTH_DUMMY tristate "Dummy synthesizer driver (for testing)" help This is a dummy Speakup driver for plugging a mere serial terminal. This is handy if you want to test speakup but don't have the hardware. You can say y to build it into the kernel, or m to build it as a module. See the configuration help on the Speakup choice above for more info. endif # SPEAKUP endmenu staging/speakup/Makefile 0000644 00000002036 14722053666 0011324 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_SPEAKUP_SYNTH_ACNTSA) += speakup_acntsa.o obj-$(CONFIG_SPEAKUP_SYNTH_ACNTPC) += speakup_acntpc.o obj-$(CONFIG_SPEAKUP_SYNTH_APOLLO) += speakup_apollo.o obj-$(CONFIG_SPEAKUP_SYNTH_AUDPTR) += speakup_audptr.o obj-$(CONFIG_SPEAKUP_SYNTH_BNS) += speakup_bns.o obj-$(CONFIG_SPEAKUP_SYNTH_DECTLK) += speakup_dectlk.o obj-$(CONFIG_SPEAKUP_SYNTH_DECEXT) += speakup_decext.o obj-$(CONFIG_SPEAKUP_SYNTH_DECPC) += speakup_decpc.o obj-$(CONFIG_SPEAKUP_SYNTH_DTLK) += speakup_dtlk.o obj-$(CONFIG_SPEAKUP_SYNTH_KEYPC) += speakup_keypc.o obj-$(CONFIG_SPEAKUP_SYNTH_LTLK) += speakup_ltlk.o obj-$(CONFIG_SPEAKUP_SYNTH_SOFT) += speakup_soft.o obj-$(CONFIG_SPEAKUP_SYNTH_SPKOUT) += speakup_spkout.o obj-$(CONFIG_SPEAKUP_SYNTH_TXPRT) += speakup_txprt.o obj-$(CONFIG_SPEAKUP_SYNTH_DUMMY) += speakup_dummy.o obj-$(CONFIG_SPEAKUP) += speakup.o speakup-y := \ buffers.o \ devsynth.o \ i18n.o \ fakekey.o \ main.o \ keyhelp.o \ kobjects.o \ selection.o \ serialio.o \ spk_ttyio.o \ synth.o \ thread.o \ varhandlers.o staging/vme/Makefile 0000644 00000000070 14722053666 0010437 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += devices/ staging/vme/devices/Kconfig 0000644 00000000726 14722053666 0011734 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 comment "VME Device Drivers" config VME_USER tristate "VME user space access driver" depends on STAGING help If you say Y here you want to be able to access a limited number of VME windows in a manner at least semi-compatible with the interface provided with the original driver at <http://www.vmelinux.org/>. To compile this driver as a module, choose M here. The module will be called vme_user. If unsure, say N. staging/vme/devices/Makefile 0000644 00000000165 14722053666 0012066 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the VME device drivers. # obj-$(CONFIG_VME_USER) += vme_user.o staging/board/Kconfig 0000644 00000000340 14722053666 0010602 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config STAGING_BOARD bool "Staging Board Support" depends on OF_ADDRESS && OF_IRQ && CLKDEV_LOOKUP help Select to enable per-board staging support code. If in doubt, say N here. staging/board/Makefile 0000644 00000000210 14722053666 0010733 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y := board.o obj-$(CONFIG_ARCH_EMEV2) += kzm9d.o obj-$(CONFIG_ARCH_R8A7740) += armadillo800eva.o staging/goldfish/Kconfig 0000644 00000000275 14722053666 0011321 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config GOLDFISH_AUDIO tristate "Goldfish AVD Audio Device" depends on GOLDFISH help Emulated audio channel for the Goldfish Android Virtual Device staging/goldfish/Makefile 0000644 00000000202 14722053666 0011444 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Goldfish audio driver # obj-$(CONFIG_GOLDFISH_AUDIO) += goldfish_audio.o staging/gasket/Kconfig 0000644 00000001356 14722053666 0011001 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Gasket devices" config STAGING_GASKET_FRAMEWORK tristate "Gasket framework" depends on PCI && (X86_64 || ARM64) help This framework supports Gasket-compatible devices, such as Apex. It is required for any of the following module(s). To compile this driver as a module, choose M here. The module will be called "gasket". config STAGING_APEX_DRIVER tristate "Apex Driver" depends on STAGING_GASKET_FRAMEWORK help This driver supports the Apex Edge TPU device. See https://cloud.google.com/edge-tpu/ for more information. Say Y if you want to include this driver in the kernel. To compile this driver as a module, choose M here. The module will be called "apex". endmenu staging/gasket/Makefile 0000644 00000000475 14722053666 0011137 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Gasket framework and dependent drivers. # obj-$(CONFIG_STAGING_GASKET_FRAMEWORK) += gasket.o obj-$(CONFIG_STAGING_APEX_DRIVER) += apex.o gasket-objs := gasket_core.o gasket_ioctl.o gasket_interrupt.o gasket_page_table.o gasket_sysfs.o apex-objs := apex_driver.o staging/rtl8192e/Kconfig 0000644 00000001727 14722053666 0011017 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config RTLLIB tristate "Support for rtllib wireless devices" depends on WLAN && m select LIB80211 help If you have a wireless card that uses rtllib, say Y. Currently the only card is the rtl8192e. If unsure, say N. if RTLLIB config RTLLIB_CRYPTO_CCMP tristate "Support for rtllib CCMP crypto" depends on RTLLIB select CRYPTO_AES select CRYPTO_CCM default y help CCMP crypto driver for rtllib. If you enabled RTLLIB, you want this. config RTLLIB_CRYPTO_TKIP tristate "Support for rtllib TKIP crypto" depends on RTLLIB select CRYPTO_ARC4 select CRYPTO_MICHAEL_MIC default y help TKIP crypto driver for rtllib. If you enabled RTLLIB, you want this. config RTLLIB_CRYPTO_WEP tristate "Support for rtllib WEP crypto" select CRYPTO_ARC4 depends on RTLLIB default y help TKIP crypto driver for rtllib. If you enabled RTLLIB, you want this. source "drivers/staging/rtl8192e/rtl8192e/Kconfig" endif staging/rtl8192e/Makefile 0000644 00000000732 14722053666 0011147 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtllib-objs := \ dot11d.o \ rtllib_module.o \ rtllib_rx.o \ rtllib_tx.o \ rtllib_wx.o \ rtllib_softmac.o \ rtllib_softmac_wx.o \ rtl819x_BAProc.o \ rtl819x_HTProc.o \ rtl819x_TSProc.o obj-$(CONFIG_RTLLIB) += rtllib.o obj-$(CONFIG_RTLLIB_CRYPTO_CCMP) += rtllib_crypt_ccmp.o obj-$(CONFIG_RTLLIB_CRYPTO_TKIP) += rtllib_crypt_tkip.o obj-$(CONFIG_RTLLIB_CRYPTO_WEP) += rtllib_crypt_wep.o obj-$(CONFIG_RTL8192E) += rtl8192e/ staging/rtl8192e/rtl8192e/Kconfig 0000644 00000000340 14722053666 0012277 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config RTL8192E tristate "RealTek RTL8192E Wireless LAN NIC driver" depends on PCI && WLAN && RTLLIB depends on m select WIRELESS_EXT select WEXT_PRIV select CRYPTO select FW_LOADER staging/rtl8192e/rtl8192e/Makefile 0000644 00000000525 14722053666 0012441 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 r8192e_pci-objs := \ r8192E_dev.o \ r8192E_phy.o \ r8192E_firmware.o \ r8192E_cmdpkt.o \ r8192E_hwimg.o \ r8190P_rtl8256.o \ rtl_cam.o \ rtl_core.o \ rtl_dm.o \ rtl_eeprom.o \ rtl_ethtool.o \ rtl_pci.o \ rtl_pm.o \ rtl_ps.o \ rtl_wx.o \ obj-$(CONFIG_RTL8192E) += r8192e_pci.o bluetooth/Kconfig 0000644 00000031375 14722053666 0010100 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Bluetooth device drivers" depends on BT config BT_INTEL tristate select REGMAP config BT_BCM tristate select FW_LOADER config BT_RTL tristate select FW_LOADER config BT_QCA tristate select FW_LOADER config BT_HCIBTUSB tristate "HCI USB driver" depends on USB select BT_INTEL help Bluetooth HCI USB driver. This driver is required if you want to use Bluetooth devices with USB interface. Say Y here to compile support for Bluetooth USB devices into the kernel or say M to compile it as module (btusb). config BT_HCIBTUSB_AUTOSUSPEND bool "Enable USB autosuspend for Bluetooth USB devices by default" depends on BT_HCIBTUSB help Say Y here to enable USB autosuspend for Bluetooth USB devices by default. This can be overridden by passing btusb.enable_autosuspend=[y|n] on the kernel commandline. config BT_HCIBTUSB_BCM bool "Broadcom protocol support" depends on BT_HCIBTUSB select BT_BCM default y help The Broadcom protocol support enables firmware and patchram download support for Broadcom Bluetooth controllers. Say Y here to compile support for Broadcom protocol. config BT_HCIBTUSB_MTK bool "MediaTek protocol support" depends on BT_HCIBTUSB default n help The MediaTek protocol support enables firmware download support and chip initialization for MediaTek Bluetooth USB controllers. Say Y here to compile support for MediaTek protocol. config BT_HCIBTUSB_RTL bool "Realtek protocol support" depends on BT_HCIBTUSB select BT_RTL default y help The Realtek protocol support enables firmware and configuration download support for Realtek Bluetooth controllers. Say Y here to compile support for Realtek protocol. config BT_HCIBTSDIO tristate "HCI SDIO driver" depends on MMC help Bluetooth HCI SDIO driver. This driver is required if you want to use Bluetooth device with SDIO interface. Say Y here to compile support for Bluetooth SDIO devices into the kernel or say M to compile it as module (btsdio). config BT_HCIUART tristate "HCI UART driver" depends on SERIAL_DEV_BUS || !SERIAL_DEV_BUS depends on NVMEM || !NVMEM depends on TTY help Bluetooth HCI UART driver. This driver is required if you want to use Bluetooth devices with serial port interface. You will also need this driver if you have UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card adapter and BrainBoxes Bluetooth PC Card. Say Y here to compile support for Bluetooth UART devices into the kernel or say M to compile it as module (hci_uart). config BT_HCIUART_SERDEV bool depends on SERIAL_DEV_BUS && BT_HCIUART default y config BT_HCIUART_H4 bool "UART (H4) protocol support" depends on BT_HCIUART help UART (H4) is serial protocol for communication between Bluetooth device and host. This protocol is required for most Bluetooth devices with UART interface, including PCMCIA and CF cards. Say Y here to compile support for HCI UART (H4) protocol. config BT_HCIUART_NOKIA tristate "UART Nokia H4+ protocol support" depends on BT_HCIUART depends on BT_HCIUART_SERDEV depends on GPIOLIB depends on PM select BT_HCIUART_H4 select BT_BCM help Nokia H4+ is serial protocol for communication between Bluetooth device and host. This protocol is required for Bluetooth devices with UART interface in Nokia devices. Say Y here to compile support for Nokia's H4+ protocol. config BT_HCIUART_BCSP bool "BCSP protocol support" depends on BT_HCIUART select BITREVERSE help BCSP (BlueCore Serial Protocol) is serial protocol for communication between Bluetooth device and host. This protocol is required for non USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and CF cards. Say Y here to compile support for HCI BCSP protocol. config BT_HCIUART_ATH3K bool "Atheros AR300x serial support" depends on BT_HCIUART select BT_HCIUART_H4 help HCIATH3K (HCI Atheros AR300x) is a serial protocol for communication between host and Atheros AR300x Bluetooth devices. This protocol enables AR300x chips to be enabled with power management support. Enable this if you have Atheros AR300x serial Bluetooth device. Say Y here to compile support for HCI UART ATH3K protocol. config BT_HCIUART_LL bool "HCILL protocol support" depends on BT_HCIUART_SERDEV select BT_HCIUART_H4 help HCILL (HCI Low Level) is a serial protocol for communication between Bluetooth device and host. This protocol is required for serial Bluetooth devices that are based on Texas Instruments' BRF chips. Say Y here to compile support for HCILL protocol. config BT_HCIUART_3WIRE bool "Three-wire UART (H5) protocol support" depends on BT_HCIUART depends on BT_HCIUART_SERDEV help The HCI Three-wire UART Transport Layer makes it possible to user the Bluetooth HCI over a serial port interface. The HCI Three-wire UART Transport Layer assumes that the UART communication may have bit errors, overrun errors or burst errors and thereby making CTS/RTS lines unnecessary. Say Y here to compile support for Three-wire UART protocol. config BT_HCIUART_INTEL bool "Intel protocol support" depends on BT_HCIUART depends on GPIOLIB select BT_HCIUART_H4 select BT_INTEL help The Intel protocol support enables Bluetooth HCI over serial port interface for Intel Bluetooth controllers. Say Y here to compile support for Intel protocol. config BT_HCIUART_BCM bool "Broadcom protocol support" depends on BT_HCIUART depends on BT_HCIUART_SERDEV depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT) depends on GPIOLIB select BT_HCIUART_H4 select BT_BCM help The Broadcom protocol support enables Bluetooth HCI over serial port interface for Broadcom Bluetooth controllers. Say Y here to compile support for Broadcom protocol. config BT_HCIUART_RTL bool "Realtek protocol support" depends on BT_HCIUART depends on BT_HCIUART_SERDEV depends on GPIOLIB depends on ACPI select BT_HCIUART_3WIRE select BT_RTL help The Realtek protocol support enables Bluetooth HCI over 3-Wire serial port internface for Realtek Bluetooth controllers. Say Y here to compile support for Realtek protocol. config BT_HCIUART_QCA bool "Qualcomm Atheros protocol support" depends on BT_HCIUART depends on BT_HCIUART_SERDEV select BT_HCIUART_H4 select BT_QCA help The Qualcomm Atheros protocol supports HCI In-Band Sleep feature over serial port interface(H4) between controller and host. This protocol is required for UART clock control for QCA Bluetooth devices. Say Y here to compile support for QCA protocol. config BT_HCIUART_AG6XX bool "Intel AG6XX protocol support" depends on BT_HCIUART select BT_HCIUART_H4 select BT_INTEL help The Intel/AG6XX protocol support enables Bluetooth HCI over serial port interface for Intel ibt 2.1 Bluetooth controllers. Say Y here to compile support for Intel AG6XX protocol. config BT_HCIUART_MRVL bool "Marvell protocol support" depends on BT_HCIUART depends on BT_HCIUART_SERDEV select BT_HCIUART_H4 help Marvell is serial protocol for communication between Bluetooth device and host. This protocol is required for most Marvell Bluetooth devices with UART interface. Say Y here to compile support for HCI MRVL protocol. config BT_HCIBCM203X tristate "HCI BCM203x USB driver" depends on USB select FW_LOADER help Bluetooth HCI BCM203x USB driver. This driver provides the firmware loading mechanism for the Broadcom Blutonium based devices. Say Y here to compile support for HCI BCM203x devices into the kernel or say M to compile it as module (bcm203x). config BT_HCIBPA10X tristate "HCI BPA10x USB driver" depends on USB help Bluetooth HCI BPA10x USB driver. This driver provides support for the Digianswer BPA 100/105 Bluetooth sniffer devices. Say Y here to compile support for HCI BPA10x devices into the kernel or say M to compile it as module (bpa10x). config BT_HCIBFUSB tristate "HCI BlueFRITZ! USB driver" depends on USB select FW_LOADER help Bluetooth HCI BlueFRITZ! USB driver. This driver provides support for Bluetooth USB devices with AVM interface: AVM BlueFRITZ! USB Say Y here to compile support for HCI BFUSB devices into the kernel or say M to compile it as module (bfusb). config BT_HCIDTL1 tristate "HCI DTL1 (PC Card) driver" depends on PCMCIA help Bluetooth HCI DTL1 (PC Card) driver. This driver provides support for Bluetooth PCMCIA devices with Nokia DTL1 interface: Nokia Bluetooth Card Socket Bluetooth CF Card Say Y here to compile support for HCI DTL1 devices into the kernel or say M to compile it as module (dtl1_cs). config BT_HCIBT3C tristate "HCI BT3C (PC Card) driver" depends on PCMCIA select FW_LOADER help Bluetooth HCI BT3C (PC Card) driver. This driver provides support for Bluetooth PCMCIA devices with 3Com BT3C interface: 3Com Bluetooth Card (3CRWB6096) HP Bluetooth Card Say Y here to compile support for HCI BT3C devices into the kernel or say M to compile it as module (bt3c_cs). config BT_HCIBLUECARD tristate "HCI BlueCard (PC Card) driver" depends on PCMCIA help Bluetooth HCI BlueCard (PC Card) driver. This driver provides support for Bluetooth PCMCIA devices with Anycom BlueCard interface: Anycom Bluetooth PC Card Anycom Bluetooth CF Card Say Y here to compile support for HCI BlueCard devices into the kernel or say M to compile it as module (bluecard_cs). config BT_HCIVHCI tristate "HCI VHCI (Virtual HCI device) driver" help Bluetooth Virtual HCI device driver. This driver is required if you want to use HCI Emulation software. Say Y here to compile support for virtual HCI devices into the kernel or say M to compile it as module (hci_vhci). config BT_MRVL tristate "Marvell Bluetooth driver support" help The core driver to support Marvell Bluetooth devices. This driver is required if you want to support Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8977/8987/8997. Say Y here to compile Marvell Bluetooth driver into the kernel or say M to compile it as module. config BT_MRVL_SDIO tristate "Marvell BT-over-SDIO driver" depends on BT_MRVL && MMC select FW_LOADER select WANT_DEV_COREDUMP help The driver for Marvell Bluetooth chipsets with SDIO interface. This driver is required if you want to use Marvell Bluetooth devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8977/SD8987/SD8997 chipsets are supported. Say Y here to compile support for Marvell BT-over-SDIO driver into the kernel or say M to compile it as module. config BT_ATH3K tristate "Atheros firmware download driver" depends on BT_HCIBTUSB select FW_LOADER help Bluetooth firmware download driver. This driver loads the firmware into the Atheros Bluetooth chipset. Say Y here to compile support for "Atheros firmware download driver" into the kernel or say M to compile it as module (ath3k). config BT_WILINK tristate "Texas Instruments WiLink7 driver" depends on TI_ST help This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS combo devices. This makes use of shared transport line discipline core driver to communicate with the BT core of the combo chip. Say Y here to compile support for Texas Instrument's WiLink7 driver into the kernel or say M to compile it as module (btwilink). config BT_MTKSDIO tristate "MediaTek HCI SDIO driver" depends on MMC help MediaTek Bluetooth HCI SDIO driver. This driver is required if you want to use MediaTek Bluetooth with SDIO interface. Say Y here to compile support for MediaTek Bluetooth SDIO devices into the kernel or say M to compile it as module (btmtksdio). config BT_MTKUART tristate "MediaTek HCI UART driver" depends on SERIAL_DEV_BUS help MediaTek Bluetooth HCI UART driver. This driver is required if you want to use MediaTek Bluetooth with serial interface. Say Y here to compile support for MediaTek Bluetooth UART devices into the kernel or say M to compile it as module (btmtkuart). config BT_QCOMSMD tristate "Qualcomm SMD based HCI support" depends on RPMSG || (COMPILE_TEST && RPMSG=n) depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n) select BT_QCA help Qualcomm SMD based HCI driver. This driver is used to bridge HCI data onto the shared memory channels to the WCNSS core. Say Y here to compile support for HCI over Qualcomm SMD into the kernel or say M to compile as a module. config BT_HCIRSI tristate help Redpine BT driver. This driver handles BT traffic from upper layers and pass to the RSI_91x coex module for further scheduling to device Say Y here to compile support for HCI over Redpine into the kernel or say M to compile as a module. endmenu bluetooth/Makefile 0000644 00000003170 14722053666 0010225 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux Bluetooth HCI device drivers. # obj-$(CONFIG_BT_HCIVHCI) += hci_vhci.o obj-$(CONFIG_BT_HCIUART) += hci_uart.o obj-$(CONFIG_BT_HCIBCM203X) += bcm203x.o obj-$(CONFIG_BT_HCIBPA10X) += bpa10x.o obj-$(CONFIG_BT_HCIBFUSB) += bfusb.o obj-$(CONFIG_BT_HCIDTL1) += dtl1_cs.o obj-$(CONFIG_BT_HCIBT3C) += bt3c_cs.o obj-$(CONFIG_BT_HCIBLUECARD) += bluecard_cs.o obj-$(CONFIG_BT_HCIBTUSB) += btusb.o obj-$(CONFIG_BT_HCIBTSDIO) += btsdio.o obj-$(CONFIG_BT_INTEL) += btintel.o obj-$(CONFIG_BT_ATH3K) += ath3k.o obj-$(CONFIG_BT_MRVL) += btmrvl.o obj-$(CONFIG_BT_MRVL_SDIO) += btmrvl_sdio.o obj-$(CONFIG_BT_WILINK) += btwilink.o obj-$(CONFIG_BT_MTKSDIO) += btmtksdio.o obj-$(CONFIG_BT_MTKUART) += btmtkuart.o obj-$(CONFIG_BT_QCOMSMD) += btqcomsmd.o obj-$(CONFIG_BT_BCM) += btbcm.o obj-$(CONFIG_BT_RTL) += btrtl.o obj-$(CONFIG_BT_QCA) += btqca.o obj-$(CONFIG_BT_HCIUART_NOKIA) += hci_nokia.o obj-$(CONFIG_BT_HCIRSI) += btrsi.o btmrvl-y := btmrvl_main.o btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o hci_uart-y := hci_ldisc.o hci_uart-$(CONFIG_BT_HCIUART_SERDEV) += hci_serdev.o hci_uart-$(CONFIG_BT_HCIUART_H4) += hci_h4.o hci_uart-$(CONFIG_BT_HCIUART_BCSP) += hci_bcsp.o hci_uart-$(CONFIG_BT_HCIUART_LL) += hci_ll.o hci_uart-$(CONFIG_BT_HCIUART_ATH3K) += hci_ath.o hci_uart-$(CONFIG_BT_HCIUART_3WIRE) += hci_h5.o hci_uart-$(CONFIG_BT_HCIUART_INTEL) += hci_intel.o hci_uart-$(CONFIG_BT_HCIUART_BCM) += hci_bcm.o hci_uart-$(CONFIG_BT_HCIUART_QCA) += hci_qca.o hci_uart-$(CONFIG_BT_HCIUART_AG6XX) += hci_ag6xx.o hci_uart-$(CONFIG_BT_HCIUART_MRVL) += hci_mrvl.o hci_uart-objs := $(hci_uart-y) media/mmc/Kconfig 0000644 00000000167 14722053666 0007721 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only comment "Supported MMC/SDIO adapters" source "drivers/media/mmc/siano/Kconfig" media/mmc/siano/Kconfig 0000644 00000000601 14722053666 0011023 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Siano Mobile Silicon Digital TV device configuration # config SMS_SDIO_DRV tristate "Siano SMS1xxx based MDTV via SDIO interface" depends on DVB_CORE && HAS_DMA depends on MMC depends on !RC_CORE || RC_CORE select MEDIA_COMMON_OPTIONS select SMS_SIANO_MDTV help Choose if you would like to have Siano's support for SDIO interface media/mmc/siano/Makefile 0000644 00000000207 14722053666 0011162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SMS_SDIO_DRV) += smssdio.o ccflags-y += -I $(srctree)/drivers/media/common/siano media/mmc/Makefile 0000644 00000000063 14722053666 0010051 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += siano/ media/usb/as102/Kconfig 0000644 00000000430 14722053666 0010555 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_AS102 tristate "Abilis AS102 DVB receiver" depends on DVB_CORE && USB && I2C && INPUT select FW_LOADER help Choose Y or M here if you have a device containing an AS102 To compile this driver as a module, choose M here media/usb/as102/Makefile 0000644 00000000361 14722053666 0010715 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 dvb-as102-objs := as102_drv.o as102_fw.o as10x_cmd.o as10x_cmd_stream.o \ as102_usb_drv.o as10x_cmd_cfg.o obj-$(CONFIG_DVB_AS102) += dvb-as102.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/usb/msi2500/Kconfig 0000644 00000000251 14722053666 0011027 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_MSI2500 tristate "Mirics MSi2500" depends on VIDEO_V4L2 && SPI select VIDEOBUF2_VMALLOC select MEDIA_TUNER_MSI001 media/usb/msi2500/Makefile 0000644 00000000133 14722053666 0011163 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_MSI2500) += msi2500.o media/usb/zr364xx/Kconfig 0000644 00000000716 14722053666 0011206 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_ZR364XX tristate "USB ZR364XX Camera support" depends on VIDEO_V4L2 select VIDEOBUF_GEN select VIDEOBUF_VMALLOC help Say Y here if you want to connect this type of camera to your computer's USB port. See <file:Documentation/media/v4l-drivers/zr364xx.rst> for more info and list of supported cameras. To compile this driver as a module, choose M here: the module will be called zr364xx. media/usb/zr364xx/Makefile 0000644 00000000126 14722053666 0011336 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_ZR364XX) += zr364xx.o media/usb/hackrf/Kconfig 0000644 00000000430 14722053666 0011165 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_HACKRF tristate "HackRF" depends on VIDEO_V4L2 select VIDEOBUF2_VMALLOC help This is a video4linux2 driver for HackRF SDR device. To compile this driver as a module, choose M here: the module will be called hackrf media/usb/hackrf/Makefile 0000644 00000000132 14722053666 0011321 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_HACKRF) += hackrf.o media/usb/pulse8-cec/Kconfig 0000644 00000000513 14722053666 0011701 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_PULSE8_CEC tristate "Pulse Eight HDMI CEC" depends on USB_ACM select CEC_CORE select SERIO select SERIO_SERPORT help This is a cec driver for the Pulse Eight HDMI CEC device. To compile this driver as a module, choose M here: the module will be called pulse8-cec. media/usb/pulse8-cec/Makefile 0000644 00000000125 14722053666 0012035 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_PULSE8_CEC) += pulse8-cec.o media/usb/pwc/Kconfig 0000644 00000003034 14722053666 0010523 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_PWC tristate "USB Philips Cameras" depends on VIDEO_V4L2 select VIDEOBUF2_VMALLOC help Say Y or M here if you want to use one of these Philips & OEM webcams: * Philips PCA645, PCA646 * Philips PCVC675, PCVC680, PCVC690 * Philips PCVC720/40, PCVC730, PCVC740, PCVC750 * Philips SPC900NC * Askey VC010 * Logitech QuickCam Pro 3000, 4000, 'Zoom', 'Notebook Pro' and 'Orbit'/'Sphere' * Samsung MPC-C10, MPC-C30 * Creative Webcam 5, Pro Ex * SOTEC Afina Eye * Visionite VCS-UC300, VCS-UM100 The PCA635, PCVC665 and PCVC720/20 are not supported by this driver and never will be, but the 665 and 720/20 are supported by other drivers. Some newer logitech webcams are not handled by this driver but by the Usb Video Class driver (linux-uvc). The built-in microphone is enabled by selecting USB Audio support. To compile this driver as a module, choose M here: the module will be called pwc. config USB_PWC_DEBUG bool "USB Philips Cameras verbose debug" depends on USB_PWC help Say Y here in order to have the pwc driver generate verbose debugging messages. A special module options 'trace' is used to control the verbosity. config USB_PWC_INPUT_EVDEV bool "USB Philips Cameras input events device support" default y depends on USB_PWC && (USB_PWC=INPUT || INPUT=y) help This option makes USB Philips cameras register the snapshot button as an input device to report button events. If you are in doubt, say Y. media/usb/pwc/Makefile 0000644 00000000311 14722053666 0010653 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only pwc-objs += pwc-if.o pwc-misc.o pwc-ctrl.o pwc-v4l.o pwc-uncompress.o pwc-objs += pwc-dec1.o pwc-dec23.o pwc-kiara.o pwc-timon.o obj-$(CONFIG_USB_PWC) += pwc.o media/usb/pvrusb2/Kconfig 0000644 00000004077 14722053666 0011345 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_PVRUSB2 tristate "Hauppauge WinTV-PVR USB2 support" depends on VIDEO_V4L2 && I2C select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_CX2341X select VIDEO_SAA711X select VIDEO_CX25840 select VIDEO_MSP3400 select VIDEO_WM8775 select VIDEO_CS53L32A help This is a video4linux driver for Conexant 23416 based usb2 personal video recorder devices. To compile this driver as a module, choose M here: the module will be called pvrusb2 config VIDEO_PVRUSB2_SYSFS bool "pvrusb2 sysfs support" default y depends on VIDEO_PVRUSB2 && SYSFS help This option enables the operation of a sysfs based interface for query and control of the pvrusb2 driver. This is not generally needed for v4l applications, although certain applications are optimized to take advantage of this feature. If you are in doubt, say Y. Note: This feature is experimental and subject to change. config VIDEO_PVRUSB2_DVB bool "pvrusb2 ATSC/DVB support" default y depends on VIDEO_PVRUSB2 && DVB_CORE select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3306A if MEDIA_SUBDRV_AUTOSELECT select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT help This option enables a DVB interface for the pvrusb2 driver. If your device does not support digital television, this feature will have no affect on the driver's operation. If you are in doubt, say Y. config VIDEO_PVRUSB2_DEBUGIFC bool "pvrusb2 debug interface" depends on VIDEO_PVRUSB2_SYSFS help This option enables the inclusion of a debug interface in the pvrusb2 driver, hosted through sysfs. You do not need to select this option unless you plan on debugging the driver or performing a manual firmware extraction. If you are in doubt, say N. media/usb/pvrusb2/Makefile 0000644 00000001475 14722053666 0011501 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-pvrusb2-sysfs-$(CONFIG_VIDEO_PVRUSB2_SYSFS) := pvrusb2-sysfs.o obj-pvrusb2-debugifc-$(CONFIG_VIDEO_PVRUSB2_DEBUGIFC) := pvrusb2-debugifc.o obj-pvrusb2-dvb-$(CONFIG_VIDEO_PVRUSB2_DVB) := pvrusb2-dvb.o pvrusb2-objs := pvrusb2-i2c-core.o \ pvrusb2-audio.o \ pvrusb2-encoder.o pvrusb2-video-v4l.o \ pvrusb2-eeprom.o \ pvrusb2-main.o pvrusb2-hdw.o pvrusb2-v4l2.o \ pvrusb2-ctrl.o pvrusb2-std.o pvrusb2-devattr.o \ pvrusb2-context.o pvrusb2-io.o pvrusb2-ioread.o \ pvrusb2-cx2584x-v4l.o pvrusb2-wm8775.o \ pvrusb2-cs53l32a.o \ $(obj-pvrusb2-dvb-y) \ $(obj-pvrusb2-sysfs-y) $(obj-pvrusb2-debugifc-y) obj-$(CONFIG_VIDEO_PVRUSB2) += pvrusb2.o ccflags-y += -I $(srctree)/drivers/media/tuners ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/usb/Kconfig 0000644 00000004037 14722053666 0007736 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if USB && MEDIA_SUPPORT menuconfig MEDIA_USB_SUPPORT bool "Media USB Adapters" help Enable media drivers for USB bus. If you have such devices, say Y. if MEDIA_USB_SUPPORT if MEDIA_CAMERA_SUPPORT comment "Webcam devices" source "drivers/media/usb/uvc/Kconfig" source "drivers/media/usb/gspca/Kconfig" source "drivers/media/usb/pwc/Kconfig" source "drivers/media/usb/cpia2/Kconfig" source "drivers/media/usb/zr364xx/Kconfig" source "drivers/media/usb/stkwebcam/Kconfig" source "drivers/media/usb/s2255/Kconfig" source "drivers/media/usb/usbtv/Kconfig" endif if MEDIA_ANALOG_TV_SUPPORT comment "Analog TV USB devices" source "drivers/media/usb/pvrusb2/Kconfig" source "drivers/media/usb/hdpvr/Kconfig" source "drivers/media/usb/usbvision/Kconfig" source "drivers/media/usb/stk1160/Kconfig" source "drivers/media/usb/go7007/Kconfig" endif if (MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT) comment "Analog/digital TV USB devices" source "drivers/media/usb/au0828/Kconfig" source "drivers/media/usb/cx231xx/Kconfig" source "drivers/media/usb/tm6000/Kconfig" endif if I2C && MEDIA_DIGITAL_TV_SUPPORT comment "Digital TV USB devices" source "drivers/media/usb/dvb-usb/Kconfig" source "drivers/media/usb/dvb-usb-v2/Kconfig" source "drivers/media/usb/ttusb-budget/Kconfig" source "drivers/media/usb/ttusb-dec/Kconfig" source "drivers/media/usb/siano/Kconfig" source "drivers/media/usb/b2c2/Kconfig" source "drivers/media/usb/as102/Kconfig" endif if (MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT) comment "Webcam, TV (analog/digital) USB devices" source "drivers/media/usb/em28xx/Kconfig" endif if MEDIA_SDR_SUPPORT comment "Software defined radio USB devices" source "drivers/media/usb/airspy/Kconfig" source "drivers/media/usb/hackrf/Kconfig" source "drivers/media/usb/msi2500/Kconfig" endif if MEDIA_CEC_SUPPORT comment "USB HDMI CEC adapters" source "drivers/media/usb/pulse8-cec/Kconfig" source "drivers/media/usb/rainshadow-cec/Kconfig" endif endif #MEDIA_USB_SUPPORT endif #USB media/usb/cx231xx/Kconfig 0000644 00000003627 14722053666 0011162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX231XX tristate "Conexant cx231xx USB video capture support" depends on VIDEO_DEV && I2C && I2C_MUX select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEOBUF_VMALLOC select VIDEO_CX25840 select VIDEO_CX2341X help This is a video4linux driver for Conexant 231xx USB based TV cards. To compile this driver as a module, choose M here: the module will be called cx231xx config VIDEO_CX231XX_RC bool "Conexant cx231xx Remote Controller additional support" depends on RC_CORE=y || RC_CORE=VIDEO_CX231XX depends on VIDEO_CX231XX default y help cx231xx hardware has a builtin RX/TX support. However, a few designs opted to not use it, but, instead, some other hardware. This module enables the usage of those other hardware, like the ones used with ISDB-T boards. On most cases, all you need for IR is mceusb module. config VIDEO_CX231XX_ALSA tristate "Conexant Cx231xx ALSA audio module" depends on VIDEO_CX231XX && SND select SND_PCM help This is an ALSA driver for Cx231xx USB based TV cards. To compile this driver as a module, choose M here: the module will be called cx231xx-alsa config VIDEO_CX231XX_DVB tristate "DVB/ATSC Support for Cx231xx based TV cards" depends on VIDEO_CX231XX && DVB_CORE select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3306A if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT select DVB_SI2165 if MEDIA_SUBDRV_AUTOSELECT select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT select DVB_MN88473 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_R820T if MEDIA_SUBDRV_AUTOSELECT help This adds support for DVB cards based on the Conexant cx231xx chips. media/usb/cx231xx/Makefile 0000644 00000001013 14722053666 0011302 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 cx231xx-y += cx231xx-video.o cx231xx-i2c.o cx231xx-cards.o cx231xx-core.o cx231xx-y += cx231xx-avcore.o cx231xx-417.o cx231xx-pcb-cfg.o cx231xx-vbi.o cx231xx-$(CONFIG_VIDEO_CX231XX_RC) += cx231xx-input.o cx231xx-alsa-objs := cx231xx-audio.o obj-$(CONFIG_VIDEO_CX231XX) += cx231xx.o obj-$(CONFIG_VIDEO_CX231XX_ALSA) += cx231xx-alsa.o obj-$(CONFIG_VIDEO_CX231XX_DVB) += cx231xx-dvb.o ccflags-y += -I $(srctree)/drivers/media/tuners ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/usb/rainshadow-cec/Kconfig 0000644 00000000533 14722053666 0012622 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_RAINSHADOW_CEC tristate "RainShadow Tech HDMI CEC" depends on USB_ACM select CEC_CORE select SERIO select SERIO_SERPORT help This is a cec driver for the RainShadow Tech HDMI CEC device. To compile this driver as a module, choose M here: the module will be called rainshadow-cec. media/usb/rainshadow-cec/Makefile 0000644 00000000135 14722053666 0012755 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_RAINSHADOW_CEC) += rainshadow-cec.o media/usb/dvb-usb/Kconfig 0000644 00000030152 14722053666 0011275 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_USB tristate "Support for various USB DVB devices" depends on DVB_CORE && USB && I2C && RC_CORE help By enabling this you will be able to choose the various supported USB1.1 and USB2.0 DVB devices. Almost every USB device needs a firmware, please look into <file:Documentation/media/dvb-drivers/dvb-usb.rst>. For a complete list of supported USB devices see the LinuxTV DVB Wiki: <https://linuxtv.org/wiki/index.php/DVB_USB> Say Y if you own a USB DVB device. config DVB_USB_DEBUG bool "Enable extended debug support for all DVB-USB devices" depends on DVB_USB help Say Y if you want to enable debugging. See modinfo dvb-usb (and the appropriate drivers) for debug levels. config DVB_USB_DIB3000MC tristate depends on DVB_USB select DVB_DIB3000MC help This is a module with helper functions for accessing the DIB3000MC from USB DVB devices. It must be a separate module in case DVB_USB is built-in and DVB_DIB3000MC is a module, and gets selected automatically when needed. config DVB_USB_A800 tristate "AVerMedia AverTV DVB-T USB 2.0 (A800)" depends on DVB_USB select DVB_USB_DIB3000MC select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the AVerMedia AverTV DVB-T USB 2.0 (A800) receiver. config DVB_USB_DIBUSB_MB tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB3000MB depends on DVB_DIB3000MC || !DVB_DIB3000MC select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help Support for USB 1.1 and 2.0 DVB-T receivers based on reference designs made by DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-B demodulator. For an up-to-date list of devices supported by this driver, have a look on the Linux-DVB Wiki at www.linuxtv.org. Say Y if you own such a device and want to use it. You should build it as a module. config DVB_USB_DIBUSB_MB_FAULTY bool "Support faulty USB IDs" depends on DVB_USB_DIBUSB_MB help Support for faulty USB IDs due to an invalid EEPROM on some Artec devices. config DVB_USB_DIBUSB_MC tristate "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)" depends on DVB_USB select DVB_USB_DIB3000MC select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help Support for USB2.0 DVB-T receivers based on reference designs made by DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-C/P demodulator. For an up-to-date list of devices supported by this driver, have a look on the Linux-DVB Wiki at www.linuxtv.org. Say Y if you own such a device and want to use it. You should build it as a module. config DVB_USB_DIB0700 tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)" depends on DVB_USB select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB7000M if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB8000 if MEDIA_SUBDRV_AUTOSELECT select DVB_USB_DIB3000MC if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_MN88472 if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_DIB0070 if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_DIB0090 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2266 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC4000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18250 if MEDIA_SUBDRV_AUTOSELECT help Support for USB2.0/1.1 DVB receivers based on the DiB0700 USB bridge. The USB bridge is also present in devices having the DiB7700 DVB-T-USB silicon. This chip can be found in devices offered by Hauppauge, Avermedia and other big and small companies. For an up-to-date list of devices supported by this driver, have a look on the LinuxTV Wiki at www.linuxtv.org. Say Y if you own such a device and want to use it. You should build it as a module. config DVB_USB_UMT_010 tristate "HanfTek UMT-010 DVB-T USB2.0 support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_USB_DIB3000MC select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the HanfTek UMT-010 USB2.0 stick-sized DVB-T receiver. config DVB_USB_CXUSB tristate "Conexant USB2.0 hybrid reference design support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_CX22702 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_DIB0070 if MEDIA_SUBDRV_AUTOSELECT select DVB_ATBM8830 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGS8GXX if MEDIA_SUBDRV_AUTOSELECT select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MAX2165 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Conexant USB2.0 hybrid reference design. DVB and ATSC modes are supported, for a basic analog mode support see the next option ("Analog support for the Conexant USB2.0 hybrid reference design"). Devices that require this module: Medion MD95700 hybrid USB2.0 device. DViCO FusionHDTV (Bluebird) USB2.0 devices config DVB_USB_CXUSB_ANALOG bool "Analog support for the Conexant USB2.0 hybrid reference design" depends on DVB_USB_CXUSB && VIDEO_V4L2 depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_USB_CXUSB select VIDEO_CX25840 select VIDEOBUF2_VMALLOC help Say Y here to enable basic analog mode support for the Conexant USB2.0 hybrid reference design. Currently this mode is supported only on a Medion MD95700 device. config DVB_USB_M920X tristate "Uli m920x DVB-T USB2.0 support" depends on DVB_USB select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the MSI Mega Sky 580 USB2.0 DVB-T receiver. Currently, only devices with a product id of "DTV USB MINI" (in cold state) are supported. Firmware required. config DVB_USB_DIGITV tristate "Nebula Electronics uDigiTV DVB-T USB2.0 support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Nebula Electronics uDigitV USB2.0 DVB-T receiver. config DVB_USB_VP7045 tristate "TwinhanDTV Alpha/MagicBoxII, DNTV tinyUSB2, Beetle USB2.0 support" depends on DVB_USB help Say Y here to support the TwinhanDTV Alpha (stick) (VP-7045), TwinhanDTV MagicBox II (VP-7046), DigitalNow TinyUSB 2 DVB-t, DigitalRise USB 2.0 Ter (Beetle) and TYPHOON DVB-T USB DRIVE DVB-T USB2.0 receivers. config DVB_USB_VP702X tristate "TwinhanDTV StarBox and clones DVB-S USB2.0 support" depends on DVB_USB help Say Y here to support the TwinhanDTV StarBox, DigitalRise USB Starbox and TYPHOON DVB-S USB 2.0 BOX DVB-S USB2.0 receivers. config DVB_USB_GP8PSK tristate "GENPIX 8PSK->USB module support" depends on DVB_USB help Say Y here to support the GENPIX 8psk module DVB-S USB2.0 receivers. config DVB_USB_NOVA_T_USB2 tristate "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support" depends on DVB_USB select DVB_USB_DIB3000MC select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 receiver. config DVB_USB_TTUSB2 tristate "Pinnacle 400e DVB-S USB2.0 support" depends on DVB_USB select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Pinnacle 400e DVB-S USB2.0 receiver and the TechnoTrend CT-3650 CI DVB-C/T USB2.0 receiver. The firmware protocol used by this module is similar to the one used by the old ttusb-driver - that's why the module is called dvb-usb-ttusb2. config DVB_USB_DTT200U tristate "WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Yakumo/Hama/Typhoon/Yuan)" depends on DVB_USB help Say Y here to support the WideView/Yakumo/Hama/Typhoon/Yuan DVB-T USB2.0 receiver. The receivers are also known as DTT200U (Yakumo) and UB300 (Yuan). The WT-220U and its clones are pen-sized. config DVB_USB_OPERA1 tristate "Opera1 DVB-S USB2.0 receiver" depends on DVB_USB select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Opera DVB-S USB2.0 receiver. config DVB_USB_AF9005 tristate "Afatech AF9005 DVB-T USB1.1 support" depends on DVB_USB select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Afatech AF9005 based DVB-T USB1.1 receiver and the TerraTec Cinergy T USB XE (Rev.1) config DVB_USB_AF9005_REMOTE tristate "Afatech AF9005 default remote control support" depends on DVB_USB_AF9005 help Say Y here to support the default remote control decoding for the Afatech AF9005 based receiver. config DVB_USB_PCTV452E tristate "Pinnacle PCTV HDTV Pro USB device/TT Connect S2-3600" depends on DVB_USB select TTPCI_EEPROM select DVB_LNBP22 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT help Support for external USB adapter designed by Pinnacle, shipped under the brand name 'PCTV HDTV Pro USB'. Also supports TT Connect S2-3600/3650 cards. Say Y if you own such a device and want to use it. config DVB_USB_DW2102 tristate "DvbWorld & TeVii DVB-S/S2 USB2.0 support" depends on DVB_USB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_SI21XX if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10039 if MEDIA_SUBDRV_AUTOSELECT select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT select DVB_M88RS2000 if MEDIA_SUBDRV_AUTOSELECT select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the DvbWorld, TeVii, Prof, TechnoTrend DVB-S/S2 USB2.0 receivers. config DVB_USB_CINERGY_T2 tristate "Terratec CinergyT2/qanu USB 2.0 DVB-T receiver" depends on DVB_USB help Support for "TerraTec CinergyT2" USB2.0 Highspeed DVB Receivers Say Y if you own such a device and want to use it. config DVB_USB_DTV5100 tristate "AME DTV-5100 USB2.0 DVB-T support" depends on DVB_USB select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the AME DTV-5100 USB2.0 DVB-T receiver. config DVB_USB_AZ6027 tristate "Azurewave DVB-S/S2 USB2.0 AZ6027 support" depends on DVB_USB select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the AZ6027 device config DVB_USB_TECHNISAT_USB2 tristate "Technisat DVB-S/S2 USB2.0 support" depends on DVB_USB select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Technisat USB2 DVB-S/S2 device media/usb/dvb-usb/Makefile 0000644 00000005326 14722053666 0011437 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 dvb-usb-objs += dvb-usb-firmware.o dvb-usb-init.o dvb-usb-urb.o dvb-usb-i2c.o dvb-usb-objs += dvb-usb-dvb.o dvb-usb-remote.o usb-urb.o obj-$(CONFIG_DVB_USB) += dvb-usb.o dvb-usb-vp7045-objs := vp7045.o vp7045-fe.o obj-$(CONFIG_DVB_USB_VP7045) += dvb-usb-vp7045.o dvb-usb-vp702x-objs := vp702x.o vp702x-fe.o obj-$(CONFIG_DVB_USB_VP702X) += dvb-usb-vp702x.o dvb-usb-gp8psk-objs := gp8psk.o obj-$(CONFIG_DVB_USB_GP8PSK) += dvb-usb-gp8psk.o dvb-usb-dtt200u-objs := dtt200u.o dtt200u-fe.o obj-$(CONFIG_DVB_USB_DTT200U) += dvb-usb-dtt200u.o dvb-usb-dibusb-common-objs := dibusb-common.o dvb-usb-dibusb-mc-common-objs := dibusb-mc-common.o obj-$(CONFIG_DVB_USB_DIB3000MC) += dvb-usb-dibusb-common.o dvb-usb-dibusb-mc-common.o dvb-usb-a800-objs := a800.o obj-$(CONFIG_DVB_USB_A800) += dvb-usb-a800.o dvb-usb-dibusb-mb-objs := dibusb-mb.o obj-$(CONFIG_DVB_USB_DIBUSB_MB) += dvb-usb-dibusb-common.o dvb-usb-dibusb-mb.o dvb-usb-dibusb-mc-objs := dibusb-mc.o obj-$(CONFIG_DVB_USB_DIBUSB_MC) += dvb-usb-dibusb-mc.o dvb-usb-nova-t-usb2-objs := nova-t-usb2.o obj-$(CONFIG_DVB_USB_NOVA_T_USB2) += dvb-usb-nova-t-usb2.o dvb-usb-umt-010-objs := umt-010.o obj-$(CONFIG_DVB_USB_UMT_010) += dvb-usb-umt-010.o dvb-usb-m920x-objs := m920x.o obj-$(CONFIG_DVB_USB_M920X) += dvb-usb-m920x.o dvb-usb-digitv-objs := digitv.o obj-$(CONFIG_DVB_USB_DIGITV) += dvb-usb-digitv.o dvb-usb-cxusb-objs := cxusb.o ifeq ($(CONFIG_DVB_USB_CXUSB_ANALOG),y) dvb-usb-cxusb-objs += cxusb-analog.o endif obj-$(CONFIG_DVB_USB_CXUSB) += dvb-usb-cxusb.o dvb-usb-ttusb2-objs := ttusb2.o obj-$(CONFIG_DVB_USB_TTUSB2) += dvb-usb-ttusb2.o dvb-usb-dib0700-objs := dib0700_core.o dib0700_devices.o obj-$(CONFIG_DVB_USB_DIB0700) += dvb-usb-dib0700.o dvb-usb-opera-objs := opera1.o obj-$(CONFIG_DVB_USB_OPERA1) += dvb-usb-opera.o dvb-usb-af9005-objs := af9005.o af9005-fe.o obj-$(CONFIG_DVB_USB_AF9005) += dvb-usb-af9005.o dvb-usb-af9005-remote-objs := af9005-remote.o obj-$(CONFIG_DVB_USB_AF9005_REMOTE) += dvb-usb-af9005-remote.o dvb-usb-pctv452e-objs := pctv452e.o obj-$(CONFIG_DVB_USB_PCTV452E) += dvb-usb-pctv452e.o dvb-usb-dw2102-objs := dw2102.o obj-$(CONFIG_DVB_USB_DW2102) += dvb-usb-dw2102.o dvb-usb-dtv5100-objs := dtv5100.o obj-$(CONFIG_DVB_USB_DTV5100) += dvb-usb-dtv5100.o dvb-usb-cinergyT2-objs := cinergyT2-core.o cinergyT2-fe.o obj-$(CONFIG_DVB_USB_CINERGY_T2) += dvb-usb-cinergyT2.o dvb-usb-az6027-objs := az6027.o obj-$(CONFIG_DVB_USB_AZ6027) += dvb-usb-az6027.o dvb-usb-technisat-usb2-objs := technisat-usb2.o obj-$(CONFIG_DVB_USB_TECHNISAT_USB2) += dvb-usb-technisat-usb2.o ccflags-y += -I$(srctree)/drivers/media/dvb-frontends/ # due to tuner-xc3028 ccflags-y += -I$(srctree)/drivers/media/tuners ccflags-y += -I$(srctree)/drivers/media/pci/ttpci media/usb/uvc/Kconfig 0000644 00000001157 14722053666 0010533 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_VIDEO_CLASS tristate "USB Video Class (UVC)" depends on VIDEO_V4L2 select VIDEOBUF2_VMALLOC help Support for the USB Video Class (UVC). Currently only video input devices, such as webcams, are supported. For more information see: <http://linux-uvc.berlios.de/> config USB_VIDEO_CLASS_INPUT_EVDEV bool "UVC input events device support" default y depends on USB_VIDEO_CLASS depends on USB_VIDEO_CLASS=INPUT || INPUT=y help This option makes USB Video Class devices register an input device to report button events. If you are in doubt, say Y. media/usb/uvc/Makefile 0000644 00000000442 14722053666 0010664 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 uvcvideo-objs := uvc_driver.o uvc_queue.o uvc_v4l2.o uvc_video.o uvc_ctrl.o \ uvc_status.o uvc_isight.o uvc_debugfs.o uvc_metadata.o ifeq ($(CONFIG_MEDIA_CONTROLLER),y) uvcvideo-objs += uvc_entity.o endif obj-$(CONFIG_USB_VIDEO_CLASS) += uvcvideo.o media/usb/usbvision/Kconfig 0000644 00000000724 14722053666 0011756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_USBVISION tristate "USB video devices based on Nogatech NT1003/1004/1005" depends on I2C && VIDEO_V4L2 select VIDEO_TUNER select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT help There are more than 50 different USB video devices based on NT1003/1004/1005 USB Bridges. This driver enables using those devices. To compile this driver as a module, choose M here: the module will be called usbvision. media/usb/usbvision/Makefile 0000644 00000000256 14722053666 0012113 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only usbvision-objs := usbvision-core.o usbvision-video.o usbvision-i2c.o usbvision-cards.o obj-$(CONFIG_VIDEO_USBVISION) += usbvision.o media/usb/ttusb-budget/Kconfig 0000644 00000001426 14722053666 0012346 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_TTUSB_BUDGET tristate "Technotrend/Hauppauge Nova-USB devices" depends on DVB_CORE && USB && I2C && PCI select DVB_CX22700 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT help Support for external USB adapters designed by Technotrend and produced by Hauppauge, shipped under the brand name 'Nova-USB'. These devices don't have a MPEG decoder built in, so you need an external software decoder to watch TV. Say Y if you own such a device and want to use it. media/usb/ttusb-budget/Makefile 0000644 00000000225 14722053666 0012477 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DVB_TTUSB_BUDGET) += dvb-ttusb-budget.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/usb/b2c2/Kconfig 0000644 00000001040 14722053666 0010455 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_B2C2_FLEXCOP_USB tristate "Technisat/B2C2 Air/Sky/Cable2PC USB" depends on DVB_CORE && I2C help Support for the Air/Sky/Cable2PC USB1.1 box (DVB/ATSC) by Technisat/B2C2, Say Y if you own such a device and want to use it. config DVB_B2C2_FLEXCOP_USB_DEBUG bool "Enable debug for the B2C2 FlexCop drivers" depends on DVB_B2C2_FLEXCOP_USB select DVB_B2C2_FLEXCOP_DEBUG help Say Y if you want to enable the module option to control debug messages of all B2C2 FlexCop drivers. media/usb/b2c2/Makefile 0000644 00000000277 14722053666 0010625 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only b2c2-flexcop-usb-objs := flexcop-usb.o obj-$(CONFIG_DVB_B2C2_FLEXCOP_USB) += b2c2-flexcop-usb.o ccflags-y += -I $(srctree)/drivers/media/common/b2c2/ media/usb/cpia2/Kconfig 0000644 00000000612 14722053666 0010727 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CPIA2 tristate "CPiA2 Video For Linux" depends on VIDEO_DEV && USB && VIDEO_V4L2 help This is the video4linux driver for cameras based on Vision's CPiA2 (Colour Processor Interface ASIC), such as the Digital Blue QX5 Microscope. If you have one of these cameras, say Y here This driver is also available as a module (cpia2). media/usb/cpia2/Makefile 0000644 00000000201 14722053666 0011056 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only cpia2-objs := cpia2_v4l.o cpia2_usb.o cpia2_core.o obj-$(CONFIG_VIDEO_CPIA2) += cpia2.o media/usb/go7007/Kconfig 0000644 00000003142 14722053666 0010655 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_GO7007 tristate "WIS GO7007 MPEG encoder support" depends on VIDEO_DEV && I2C depends on SND && USB select VIDEOBUF2_VMALLOC select VIDEO_TUNER select CYPRESS_FIRMWARE select SND_PCM select VIDEO_SONY_BTF_MPX if MEDIA_SUBDRV_AUTOSELECT select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TW2804 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TW9903 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TW9906 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_OV7640 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT select VIDEO_UDA1342 if MEDIA_SUBDRV_AUTOSELECT help This is a video4linux driver for the WIS GO7007 MPEG encoder chip. To compile this driver as a module, choose M here: the module will be called go7007. config VIDEO_GO7007_USB tristate "WIS GO7007 USB support" depends on VIDEO_GO7007 && USB help This is a video4linux driver for the WIS GO7007 MPEG encoder chip over USB. To compile this driver as a module, choose M here: the module will be called go7007-usb. config VIDEO_GO7007_LOADER tristate "WIS GO7007 Loader support" depends on VIDEO_GO7007 default y help This is a go7007 firmware loader driver for the WIS GO7007 MPEG encoder chip over USB. To compile this driver as a module, choose M here: the module will be called go7007-loader. config VIDEO_GO7007_USB_S2250_BOARD tristate "Sensoray 2250/2251 support" depends on VIDEO_GO7007_USB && USB help This is a video4linux driver for the Sensoray 2250/2251 device. To compile this driver as a module, choose M here: the module will be called s2250. media/usb/go7007/Makefile 0000644 00000000644 14722053666 0011016 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIDEO_GO7007) += go7007.o obj-$(CONFIG_VIDEO_GO7007_USB) += go7007-usb.o obj-$(CONFIG_VIDEO_GO7007_LOADER) += go7007-loader.o obj-$(CONFIG_VIDEO_GO7007_USB_S2250_BOARD) += s2250.o go7007-y := go7007-v4l2.o go7007-driver.o go7007-i2c.o go7007-fw.o \ snd-go7007.o s2250-y := s2250-board.o ccflags-$(CONFIG_VIDEO_GO7007_LOADER:m=y) += -I $(srctree)/drivers/media/common media/usb/em28xx/Kconfig 0000644 00000006127 14722053666 0011073 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_EM28XX tristate "Empia EM28xx USB devices support" depends on VIDEO_DEV && I2C select VIDEO_TUNER select VIDEO_TVEEPROM config VIDEO_EM28XX_V4L2 tristate "Empia EM28xx analog TV, video capture and/or webcam support" depends on VIDEO_EM28XX select VIDEOBUF2_VMALLOC select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TVP5150 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_MT9V011 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT select VIDEO_OV2640 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT help This is a video4linux driver for Empia 28xx based TV cards. To compile this driver as a module, choose M here: the module will be called em28xx config VIDEO_EM28XX_ALSA depends on VIDEO_EM28XX && SND select SND_PCM tristate "Empia EM28xx ALSA audio module" help This is an ALSA driver for some Empia 28xx based TV cards. This is not required for em2800/em2820/em2821 boards. However, newer em28xx devices uses Vendor Class for audio, instead of implementing the USB Audio Class. For those chips, this module will enable digital audio. To compile this driver as a module, choose M here: the module will be called em28xx-alsa config VIDEO_EM28XX_DVB tristate "DVB/ATSC Support for em28xx based TV cards" depends on VIDEO_EM28XX && DVB_CORE select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3306A if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_S921 if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXD if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2820R if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10071 if MEDIA_SUBDRV_AUTOSELECT select DVB_A8293 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT select DVB_DRX39XYJ if MEDIA_SUBDRV_AUTOSELECT select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QM1D1C0042 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help This adds support for DVB cards based on the Empiatech em28xx chips. config VIDEO_EM28XX_RC tristate "EM28XX Remote Controller support" depends on RC_CORE depends on VIDEO_EM28XX depends on !(RC_CORE=m && VIDEO_EM28XX=y) default VIDEO_EM28XX help Enables Remote Controller support on em28xx driver. media/usb/em28xx/Makefile 0000644 00000001052 14722053666 0011220 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 em28xx-y += em28xx-core.o em28xx-i2c.o em28xx-cards.o em28xx-camera.o em28xx-v4l-objs := em28xx-video.o em28xx-vbi.o em28xx-alsa-objs := em28xx-audio.o em28xx-rc-objs := em28xx-input.o obj-$(CONFIG_VIDEO_EM28XX) += em28xx.o obj-$(CONFIG_VIDEO_EM28XX_V4L2) += em28xx-v4l.o obj-$(CONFIG_VIDEO_EM28XX_ALSA) += em28xx-alsa.o obj-$(CONFIG_VIDEO_EM28XX_DVB) += em28xx-dvb.o obj-$(CONFIG_VIDEO_EM28XX_RC) += em28xx-rc.o ccflags-y += -I $(srctree)/drivers/media/tuners ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/usb/ttusb-dec/Kconfig 0000644 00000001652 14722053666 0011630 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_TTUSB_DEC tristate "Technotrend/Hauppauge USB DEC devices" depends on DVB_CORE && USB && INPUT && PCI select CRC32 help Support for external USB adapters designed by Technotrend and produced by Hauppauge, shipped under the brand name 'DEC2000-t' and 'DEC3000-s'. Even if these devices have a MPEG decoder built in, they transmit only compressed MPEG data over the USB bus, so you need an external software decoder to watch TV on your computer. This driver needs external firmware. Please use the commands "<kerneldir>/scripts/get_dvb_firmware dec2000t", "<kerneldir>/scripts/get_dvb_firmware dec2540t", "<kerneldir>/scripts/get_dvb_firmware dec3000s", download/extract them, and then copy them to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). Say Y if you own such a device and want to use it. media/usb/ttusb-dec/Makefile 0000644 00000000140 14722053666 0011754 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DVB_TTUSB_DEC) += ttusb_dec.o ttusbdecfe.o media/usb/siano/Kconfig 0000644 00000000546 14722053666 0011050 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Siano Mobile Silicon Digital TV device configuration # config SMS_USB_DRV tristate "Siano SMS1xxx based MDTV receiver" depends on DVB_CORE && HAS_DMA depends on !RC_CORE || RC_CORE select MEDIA_COMMON_OPTIONS select SMS_SIANO_MDTV help Choose if you would like to have Siano's support for USB interface media/usb/siano/Makefile 0000644 00000000267 14722053666 0011205 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SMS_USB_DRV) += smsusb.o ccflags-y += -I $(srctree)/drivers/media/common/siano ccflags-y += $(extra-cflags-y) $(extra-cflags-m) media/usb/airspy/Kconfig 0000644 00000000430 14722053666 0011236 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_AIRSPY tristate "AirSpy" depends on VIDEO_V4L2 select VIDEOBUF2_VMALLOC help This is a video4linux2 driver for AirSpy SDR device. To compile this driver as a module, choose M here: the module will be called airspy media/usb/airspy/Makefile 0000644 00000000132 14722053666 0011372 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_AIRSPY) += airspy.o media/usb/Makefile 0000644 00000001770 14722053666 0010074 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the USB media device drivers # # DVB USB-only drivers obj-y += ttusb-dec/ ttusb-budget/ dvb-usb/ dvb-usb-v2/ siano/ b2c2/ obj-y += zr364xx/ stkwebcam/ s2255/ obj-$(CONFIG_USB_VIDEO_CLASS) += uvc/ obj-$(CONFIG_USB_GSPCA) += gspca/ obj-$(CONFIG_USB_PWC) += pwc/ obj-$(CONFIG_USB_AIRSPY) += airspy/ obj-$(CONFIG_USB_HACKRF) += hackrf/ obj-$(CONFIG_USB_MSI2500) += msi2500/ obj-$(CONFIG_VIDEO_CPIA2) += cpia2/ obj-$(CONFIG_VIDEO_AU0828) += au0828/ obj-$(CONFIG_VIDEO_HDPVR) += hdpvr/ obj-$(CONFIG_VIDEO_PVRUSB2) += pvrusb2/ obj-$(CONFIG_VIDEO_USBVISION) += usbvision/ obj-$(CONFIG_VIDEO_STK1160) += stk1160/ obj-$(CONFIG_VIDEO_CX231XX) += cx231xx/ obj-$(CONFIG_VIDEO_TM6000) += tm6000/ obj-$(CONFIG_VIDEO_EM28XX) += em28xx/ obj-$(CONFIG_VIDEO_USBTV) += usbtv/ obj-$(CONFIG_VIDEO_GO7007) += go7007/ obj-$(CONFIG_DVB_AS102) += as102/ obj-$(CONFIG_USB_PULSE8_CEC) += pulse8-cec/ obj-$(CONFIG_USB_RAINSHADOW_CEC) += rainshadow-cec/ media/usb/s2255/Kconfig 0000644 00000000445 14722053666 0010515 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_S2255 tristate "USB Sensoray 2255 video capture device" depends on VIDEO_V4L2 select VIDEOBUF2_VMALLOC help Say Y here if you want support for the Sensoray 2255 USB device. This driver can be compiled as a module, called s2255drv. media/usb/s2255/Makefile 0000644 00000000120 14722053666 0010640 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_USB_S2255) += s2255drv.o media/usb/dvb-usb-v2/Kconfig 0000644 00000014321 14722053666 0011622 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_USB_V2 tristate "Support for various USB DVB devices v2" depends on DVB_CORE && USB && I2C && (RC_CORE || RC_CORE=n) help By enabling this you will be able to choose the various supported USB1.1 and USB2.0 DVB devices. Almost every USB device needs a firmware, please look into <file:Documentation/media/dvb-drivers/dvb-usb.rst>. For a complete list of supported USB devices see the LinuxTV DVB Wiki: <https://linuxtv.org/wiki/index.php/DVB_USB> Say Y if you own a USB DVB device. config DVB_USB_AF9015 tristate "Afatech AF9015 DVB-T USB2.0 support" depends on DVB_USB_V2 && I2C_MUX select REGMAP select DVB_AF9013 select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MC44S803 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18218 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Afatech AF9015 based DVB-T USB2.0 receiver config DVB_USB_AF9035 tristate "Afatech AF9035 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_AF9033 select MEDIA_TUNER_TUA9001 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC0011 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18218 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC2580 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_IT913X if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Afatech AF9035 based DVB USB receiver. config DVB_USB_ANYSEE tristate "Anysee DVB-T/C USB2.0 support" depends on DVB_USB_V2 select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6423 if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2820R if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Anysee E30, Anysee E30 Plus or Anysee E30 C Plus DVB USB2.0 receiver. config DVB_USB_AU6610 tristate "Alcor Micro AU6610 USB2.0 support" depends on DVB_USB_V2 select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Sigmatek DVB-110 DVB-T USB2.0 receiver. config DVB_USB_AZ6007 tristate "AzureWave 6007 and clones DVB-T/C USB2.0 support" depends on DVB_USB_V2 select CYPRESS_FIRMWARE select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2063 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the AZ6007 receivers like Terratec H7. config DVB_USB_CE6230 tristate "Intel CE6230 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_ZL10353 select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Intel CE6230 DVB-T USB2.0 receiver config DVB_USB_EC168 tristate "E3C EC168 DVB-T USB2.0 support" depends on DVB_USB_V2 select DVB_EC100 select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the E3C EC168 DVB-T USB2.0 receiver. config DVB_USB_GL861 tristate "Genesys Logic GL861 USB2.0 support" depends on DVB_USB_V2 select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the MSI Megasky 580 (55801) DVB-T USB2.0 receiver with USB ID 0db0:5581, Friio White ISDB-T receiver with USB ID 0x7a69:0001. config DVB_USB_LME2510 tristate "LME DM04/QQBOX DVB-S USB2.0 support" depends on DVB_USB_V2 depends on RC_CORE select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_IX2505V if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_M88RS2000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the LME DM04/QQBOX DVB-S USB2.0 config DVB_USB_MXL111SF tristate "MxL111SF DTV USB2.0 support" depends on DVB_USB_V2 select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_LG2160 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TVEEPROM help Say Y here to support the MxL111SF USB2.0 DTV receiver. config DVB_USB_RTL28XXU tristate "Realtek RTL28xxU DVB USB support" depends on DVB_USB_V2 && I2C_MUX select DVB_MN88472 if MEDIA_SUBDRV_AUTOSELECT select DVB_MN88473 if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2841ER if MEDIA_SUBDRV_AUTOSELECT select DVB_RTL2830 select DVB_RTL2832 select DVB_RTL2832_SDR if (MEDIA_SUBDRV_AUTOSELECT && MEDIA_SDR_SUPPORT) select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_E4000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC0012 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC0013 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_FC2580 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_R820T if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TUA9001 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Realtek RTL28xxU DVB USB receiver. config DVB_USB_DVBSKY tristate "DVBSky USB support" depends on DVB_USB_V2 select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT select DVB_SP2 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the USB receivers from DVBSky. config DVB_USB_ZD1301 tristate "ZyDAS ZD1301" depends on DVB_USB_V2 select DVB_ZD1301_DEMOD if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the ZyDAS ZD1301 DVB USB receiver. media/usb/dvb-usb-v2/Makefile 0000644 00000002766 14722053666 0011771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 dvb_usb_v2-objs := dvb_usb_core.o dvb_usb_urb.o usb_urb.o obj-$(CONFIG_DVB_USB_V2) += dvb_usb_v2.o dvb-usb-af9015-objs := af9015.o obj-$(CONFIG_DVB_USB_AF9015) += dvb-usb-af9015.o dvb-usb-af9035-objs := af9035.o obj-$(CONFIG_DVB_USB_AF9035) += dvb-usb-af9035.o dvb-usb-anysee-objs := anysee.o obj-$(CONFIG_DVB_USB_ANYSEE) += dvb-usb-anysee.o dvb-usb-au6610-objs := au6610.o obj-$(CONFIG_DVB_USB_AU6610) += dvb-usb-au6610.o dvb-usb-az6007-objs := az6007.o obj-$(CONFIG_DVB_USB_AZ6007) += dvb-usb-az6007.o dvb-usb-ce6230-objs := ce6230.o obj-$(CONFIG_DVB_USB_CE6230) += dvb-usb-ce6230.o dvb-usb-ec168-objs := ec168.o obj-$(CONFIG_DVB_USB_EC168) += dvb-usb-ec168.o dvb-usb-lmedm04-objs := lmedm04.o obj-$(CONFIG_DVB_USB_LME2510) += dvb-usb-lmedm04.o dvb-usb-gl861-objs := gl861.o obj-$(CONFIG_DVB_USB_GL861) += dvb-usb-gl861.o dvb-usb-mxl111sf-objs += mxl111sf.o mxl111sf-phy.o mxl111sf-i2c.o dvb-usb-mxl111sf-objs += mxl111sf-gpio.o obj-$(CONFIG_DVB_USB_MXL111SF) += dvb-usb-mxl111sf.o obj-$(CONFIG_DVB_USB_MXL111SF) += mxl111sf-demod.o obj-$(CONFIG_DVB_USB_MXL111SF) += mxl111sf-tuner.o dvb-usb-rtl28xxu-objs := rtl28xxu.o obj-$(CONFIG_DVB_USB_RTL28XXU) += dvb-usb-rtl28xxu.o dvb-usb-dvbsky-objs := dvbsky.o obj-$(CONFIG_DVB_USB_DVBSKY) += dvb-usb-dvbsky.o dvb-usb-zd1301-objs := zd1301.o obj-$(CONFIG_DVB_USB_ZD1301) += zd1301.o ccflags-y += -I$(srctree)/drivers/media/dvb-frontends ccflags-y += -I$(srctree)/drivers/media/tuners ccflags-y += -I$(srctree)/drivers/media/common media/usb/hdpvr/Kconfig 0000644 00000000451 14722053666 0011055 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_HDPVR tristate "Hauppauge HD PVR support" depends on VIDEO_DEV && VIDEO_V4L2 help This is a video4linux driver for Hauppauge's HD PVR USB device. To compile this driver as a module, choose M here: the module will be called hdpvr media/usb/hdpvr/Makefile 0000644 00000000223 14722053666 0011207 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only hdpvr-objs := hdpvr-control.o hdpvr-core.o hdpvr-video.o hdpvr-i2c.o obj-$(CONFIG_VIDEO_HDPVR) += hdpvr.o media/usb/gspca/gl860/Kconfig 0000644 00000000457 14722053666 0011675 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_GL860 tristate "GL860 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the GL860 chip. To compile this driver as a module, choose M here: the module will be called gspca_gl860. media/usb/gspca/gl860/Makefile 0000644 00000000371 14722053666 0012025 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_GL860) += gspca_gl860.o gspca_gl860-objs := gl860.o \ gl860-mi1320.o \ gl860-ov2640.o \ gl860-ov9655.o \ gl860-mi2020.o ccflags-y += -I$(srctree)/drivers/media/usb/gspca media/usb/gspca/Kconfig 0000644 00000033717 14722053666 0011042 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig USB_GSPCA tristate "GSPCA based webcams" depends on VIDEO_V4L2 depends on INPUT || INPUT=n select VIDEOBUF2_VMALLOC default m help Say Y here if you want to enable selecting webcams based on the GSPCA framework. See <file:Documentation/media/v4l-drivers/gspca-cardlist.rst> for more info. This driver uses the Video For Linux API. You must say Y or M to "Video For Linux" to use this driver. To compile this driver as modules, choose M here: the module will be called gspca_main. if USB_GSPCA && VIDEO_V4L2 source "drivers/media/usb/gspca/m5602/Kconfig" source "drivers/media/usb/gspca/stv06xx/Kconfig" source "drivers/media/usb/gspca/gl860/Kconfig" config USB_GSPCA_BENQ tristate "Benq USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for the Benq DC E300 camera. To compile this driver as a module, choose M here: the module will be called gspca_benq. config USB_GSPCA_CONEX tristate "Conexant Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Conexant chip. To compile this driver as a module, choose M here: the module will be called gspca_conex. config USB_GSPCA_CPIA1 tristate "cpia CPiA (version 1) Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for USB cameras based on the cpia CPiA chip. Note that you need at least version 0.6.4 of libv4l for applications to understand the videoformat generated by this driver. To compile this driver as a module, choose M here: the module will be called gspca_cpia1. config USB_GSPCA_DTCS033 tristate "DTCS033 (Scopium) USB Astro-Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for the Scopium camera for planetary astrophotography. To compile this driver as a module, choose M here: the module will be called gspca_dtcs033. config USB_GSPCA_ETOMS tristate "Etoms USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Etoms chip. To compile this driver as a module, choose M here: the module will be called gspca_etoms. config USB_GSPCA_FINEPIX tristate "Fujifilm FinePix USB V4L2 driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the FinePix chip. To compile this driver as a module, choose M here: the module will be called gspca_finepix. config USB_GSPCA_JEILINJ tristate "Jeilin JPEG USB V4L2 driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on this Jeilin chip. To compile this driver as a module, choose M here: the module will be called gspca_jeilinj. config USB_GSPCA_JL2005BCD tristate "JL2005B/C/D USB V4L2 driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based the JL2005B, JL2005C, or JL2005D chip. To compile this driver as a module, choose M here: the module will be called gspca_jl2005bcd. config USB_GSPCA_KINECT tristate "Kinect sensor device USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for the Microsoft Kinect sensor device. To compile this driver as a module, choose M here: the module will be called gspca_kinect. config USB_GSPCA_KONICA tristate "Konica USB Camera V4L2 driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Konica chip. To compile this driver as a module, choose M here: the module will be called gspca_konica. config USB_GSPCA_MARS tristate "Mars USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Mars chip. To compile this driver as a module, choose M here: the module will be called gspca_mars. config USB_GSPCA_MR97310A tristate "Mars-Semi MR97310A USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the MR97310A chip. To compile this driver as a module, choose M here: the module will be called gspca_mr97310a. config USB_GSPCA_NW80X tristate "Divio based (NW80x) USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the NW80x chips. To compile this driver as a module, choose M here: the module will be called gspca_nw80x. config USB_GSPCA_OV519 tristate "OV51x / OVFX2 / W996xCF USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on one of these: OV511(+), OV518(+), OV519, OVFX2, W9967CF, W9968CF To compile this driver as a module, choose M here: the module will be called gspca_ov519. config USB_GSPCA_OV534 tristate "OV534 OV772x USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the OV534 chip and sensor OV772x (e.g. Sony Playstation EYE) To compile this driver as a module, choose M here: the module will be called gspca_ov534. config USB_GSPCA_OV534_9 tristate "OV534 OV965x USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the OV534 chip and sensor OV965x (e.g. Hercules Dualpix) To compile this driver as a module, choose M here: the module will be called gspca_ov534_9. config USB_GSPCA_PAC207 tristate "Pixart PAC207 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the PAC207 chip. To compile this driver as a module, choose M here: the module will be called gspca_pac207. config USB_GSPCA_PAC7302 tristate "Pixart PAC7302 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the PAC7302 chip. To compile this driver as a module, choose M here: the module will be called gspca_pac7302. config USB_GSPCA_PAC7311 tristate "Pixart PAC7311 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the PAC7311 chip. To compile this driver as a module, choose M here: the module will be called gspca_pac7311. config USB_GSPCA_SE401 tristate "SE401 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Endpoints (formerly known as AOX) se401 chip. To compile this driver as a module, choose M here: the module will be called gspca_se401. config USB_GSPCA_SN9C2028 tristate "SONIX Dual-Mode USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want streaming support for Sonix SN9C2028 cameras. These are supported as stillcams in libgphoto2/camlibs/sonix. To compile this driver as a module, choose M here: the module will be called gspca_sn9c2028. config USB_GSPCA_SN9C20X tristate "SN9C20X USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the sn9c20x chips (SN9C201 and SN9C202). To compile this driver as a module, choose M here: the module will be called gspca_sn9c20x. config USB_GSPCA_SONIXB tristate "SONIX Bayer USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Sonix chips with Bayer format (SN9C101, SN9C102 and SN9C103). To compile this driver as a module, choose M here: the module will be called gspca_sonixb. config USB_GSPCA_SONIXJ tristate "SONIX JPEG USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Sonix chips with JPEG format (SN9C102P, SN9C105 and >= SN9C110). To compile this driver as a module, choose M here: the module will be called gspca_sonixj config USB_GSPCA_SPCA500 tristate "SPCA500 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA500 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca500. config USB_GSPCA_SPCA501 tristate "SPCA501 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA501 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca501. config USB_GSPCA_SPCA505 tristate "SPCA505 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA505 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca505. config USB_GSPCA_SPCA506 tristate "SPCA506 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA506 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca506. config USB_GSPCA_SPCA508 tristate "SPCA508 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA508 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca508. config USB_GSPCA_SPCA561 tristate "SPCA561 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA561 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca561. config USB_GSPCA_SPCA1528 tristate "SPCA1528 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SPCA1528 chip. To compile this driver as a module, choose M here: the module will be called gspca_spca1528. config USB_GSPCA_SQ905 tristate "SQ Technologies SQ905 based USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SQ905 chip. To compile this driver as a module, choose M here: the module will be called gspca_sq905. config USB_GSPCA_SQ905C tristate "SQ Technologies SQ905C based USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SQ905C chip. To compile this driver as a module, choose M here: the module will be called gspca_sq905c. config USB_GSPCA_SQ930X tristate "SQ Technologies SQ930X based USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the SQ930X chip. To compile this driver as a module, choose M here: the module will be called gspca_sq930x. config USB_GSPCA_STK014 tristate "Syntek DV4000 (STK014) USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the STK014 chip. To compile this driver as a module, choose M here: the module will be called gspca_stk014. config USB_GSPCA_STK1135 tristate "Syntek STK1135 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the STK1135 chip. To compile this driver as a module, choose M here: the module will be called gspca_stk1135. config USB_GSPCA_STV0680 tristate "STV0680 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the STV0680 chip. To compile this driver as a module, choose M here: the module will be called gspca_stv0680. config USB_GSPCA_SUNPLUS tristate "SUNPLUS USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the Sunplus SPCA504(abc) SPCA533 SPCA536 chips. To compile this driver as a module, choose M here: the module will be called gspca_sunplus. config USB_GSPCA_T613 tristate "T613 (JPEG Compliance) USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the T613 chip. To compile this driver as a module, choose M here: the module will be called gspca_t613. config USB_GSPCA_TOPRO tristate "TOPRO USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the TP6800 and TP6810 Topro chips. To compile this driver as a module, choose M here: the module will be called gspca_topro. config USB_GSPCA_TOUPTEK tristate "Touptek USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the ToupTek UCMOS / AmScope MU series camera. To compile this driver as a module, choose M here: the module will be called gspca_touptek. config USB_GSPCA_TV8532 tristate "TV8532 USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the TV8531 chip. To compile this driver as a module, choose M here: the module will be called gspca_tv8532. config USB_GSPCA_VC032X tristate "VC032X USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the VC032X chip. To compile this driver as a module, choose M here: the module will be called gspca_vc032x. config USB_GSPCA_VICAM tristate "ViCam USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for the 3com homeconnect camera (vicam). To compile this driver as a module, choose M here: the module will be called gspca_vicam. config USB_GSPCA_XIRLINK_CIT tristate "Xirlink C-It USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for Xirlink C-It bases cameras. To compile this driver as a module, choose M here: the module will be called gspca_xirlink_cit. config USB_GSPCA_ZC3XX tristate "ZC3XX USB Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the ZC3XX chip. To compile this driver as a module, choose M here: the module will be called gspca_zc3xx. endif media/usb/gspca/m5602/Kconfig 0000644 00000000530 14722053666 0011576 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_M5602 tristate "ALi USB m5602 Camera Driver" depends on VIDEO_V4L2 && USB_GSPCA help Say Y here if you want support for cameras based on the ALi m5602 connected to various image sensors. To compile this driver as a module, choose M here: the module will be called gspca_m5602. media/usb/gspca/m5602/Makefile 0000644 00000000454 14722053666 0011740 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_M5602) += gspca_m5602.o gspca_m5602-objs := m5602_core.o \ m5602_ov9650.o \ m5602_ov7660.o \ m5602_mt9m111.o \ m5602_po1030.o \ m5602_s5k83a.o \ m5602_s5k4aa.o ccflags-y += -I$(srctree)/drivers/media/usb/gspca media/usb/gspca/stv06xx/Kconfig 0000644 00000000457 14722053666 0012377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_STV06XX tristate "STV06XX USB Camera Driver" depends on USB_GSPCA help Say Y here if you want support for cameras based on the ST STV06XX chip. To compile this driver as a module, choose M here: the module will be called gspca_stv06xx. media/usb/gspca/stv06xx/Makefile 0000644 00000000417 14722053666 0012530 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_STV06XX) += gspca_stv06xx.o gspca_stv06xx-objs := stv06xx.o \ stv06xx_vv6410.o \ stv06xx_hdcs.o \ stv06xx_pb0100.o \ stv06xx_st6422.o ccflags-y += -I$(srctree)/drivers/media/usb/gspca media/usb/gspca/Makefile 0000644 00000010007 14722053666 0011162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_USB_GSPCA) += gspca_main.o obj-$(CONFIG_USB_GSPCA_BENQ) += gspca_benq.o obj-$(CONFIG_USB_GSPCA_CONEX) += gspca_conex.o obj-$(CONFIG_USB_GSPCA_CPIA1) += gspca_cpia1.o obj-$(CONFIG_USB_GSPCA_DTCS033) += gspca_dtcs033.o obj-$(CONFIG_USB_GSPCA_ETOMS) += gspca_etoms.o obj-$(CONFIG_USB_GSPCA_FINEPIX) += gspca_finepix.o obj-$(CONFIG_USB_GSPCA_JEILINJ) += gspca_jeilinj.o obj-$(CONFIG_USB_GSPCA_JL2005BCD) += gspca_jl2005bcd.o obj-$(CONFIG_USB_GSPCA_KINECT) += gspca_kinect.o obj-$(CONFIG_USB_GSPCA_KONICA) += gspca_konica.o obj-$(CONFIG_USB_GSPCA_MARS) += gspca_mars.o obj-$(CONFIG_USB_GSPCA_MR97310A) += gspca_mr97310a.o obj-$(CONFIG_USB_GSPCA_NW80X) += gspca_nw80x.o obj-$(CONFIG_USB_GSPCA_OV519) += gspca_ov519.o obj-$(CONFIG_USB_GSPCA_OV534) += gspca_ov534.o obj-$(CONFIG_USB_GSPCA_OV534_9) += gspca_ov534_9.o obj-$(CONFIG_USB_GSPCA_PAC207) += gspca_pac207.o obj-$(CONFIG_USB_GSPCA_PAC7302) += gspca_pac7302.o obj-$(CONFIG_USB_GSPCA_PAC7311) += gspca_pac7311.o obj-$(CONFIG_USB_GSPCA_SE401) += gspca_se401.o obj-$(CONFIG_USB_GSPCA_SN9C2028) += gspca_sn9c2028.o obj-$(CONFIG_USB_GSPCA_SN9C20X) += gspca_sn9c20x.o obj-$(CONFIG_USB_GSPCA_SONIXB) += gspca_sonixb.o obj-$(CONFIG_USB_GSPCA_SONIXJ) += gspca_sonixj.o obj-$(CONFIG_USB_GSPCA_SPCA500) += gspca_spca500.o obj-$(CONFIG_USB_GSPCA_SPCA501) += gspca_spca501.o obj-$(CONFIG_USB_GSPCA_SPCA505) += gspca_spca505.o obj-$(CONFIG_USB_GSPCA_SPCA506) += gspca_spca506.o obj-$(CONFIG_USB_GSPCA_SPCA508) += gspca_spca508.o obj-$(CONFIG_USB_GSPCA_SPCA561) += gspca_spca561.o obj-$(CONFIG_USB_GSPCA_SPCA1528) += gspca_spca1528.o obj-$(CONFIG_USB_GSPCA_SQ905) += gspca_sq905.o obj-$(CONFIG_USB_GSPCA_SQ905C) += gspca_sq905c.o obj-$(CONFIG_USB_GSPCA_SQ930X) += gspca_sq930x.o obj-$(CONFIG_USB_GSPCA_SUNPLUS) += gspca_sunplus.o obj-$(CONFIG_USB_GSPCA_STK014) += gspca_stk014.o obj-$(CONFIG_USB_GSPCA_STK1135) += gspca_stk1135.o obj-$(CONFIG_USB_GSPCA_STV0680) += gspca_stv0680.o obj-$(CONFIG_USB_GSPCA_T613) += gspca_t613.o obj-$(CONFIG_USB_GSPCA_TOPRO) += gspca_topro.o obj-$(CONFIG_USB_GSPCA_TOUPTEK) += gspca_touptek.o obj-$(CONFIG_USB_GSPCA_TV8532) += gspca_tv8532.o obj-$(CONFIG_USB_GSPCA_VC032X) += gspca_vc032x.o obj-$(CONFIG_USB_GSPCA_VICAM) += gspca_vicam.o obj-$(CONFIG_USB_GSPCA_XIRLINK_CIT) += gspca_xirlink_cit.o obj-$(CONFIG_USB_GSPCA_ZC3XX) += gspca_zc3xx.o gspca_main-objs := gspca.o autogain_functions.o gspca_benq-objs := benq.o gspca_conex-objs := conex.o gspca_cpia1-objs := cpia1.o gspca_dtcs033-objs := dtcs033.o gspca_etoms-objs := etoms.o gspca_finepix-objs := finepix.o gspca_jeilinj-objs := jeilinj.o gspca_jl2005bcd-objs := jl2005bcd.o gspca_kinect-objs := kinect.o gspca_konica-objs := konica.o gspca_mars-objs := mars.o gspca_mr97310a-objs := mr97310a.o gspca_nw80x-objs := nw80x.o gspca_ov519-objs := ov519.o gspca_ov534-objs := ov534.o gspca_ov534_9-objs := ov534_9.o gspca_pac207-objs := pac207.o gspca_pac7302-objs := pac7302.o gspca_pac7311-objs := pac7311.o gspca_se401-objs := se401.o gspca_sn9c2028-objs := sn9c2028.o gspca_sn9c20x-objs := sn9c20x.o gspca_sonixb-objs := sonixb.o gspca_sonixj-objs := sonixj.o gspca_spca500-objs := spca500.o gspca_spca501-objs := spca501.o gspca_spca505-objs := spca505.o gspca_spca506-objs := spca506.o gspca_spca508-objs := spca508.o gspca_spca561-objs := spca561.o gspca_spca1528-objs := spca1528.o gspca_sq905-objs := sq905.o gspca_sq905c-objs := sq905c.o gspca_sq930x-objs := sq930x.o gspca_stk014-objs := stk014.o gspca_stk1135-objs := stk1135.o gspca_stv0680-objs := stv0680.o gspca_sunplus-objs := sunplus.o gspca_t613-objs := t613.o gspca_topro-objs := topro.o gspca_touptek-objs := touptek.o gspca_tv8532-objs := tv8532.o gspca_vc032x-objs := vc032x.o gspca_vicam-objs := vicam.o gspca_xirlink_cit-objs := xirlink_cit.o gspca_zc3xx-objs := zc3xx.o obj-$(CONFIG_USB_M5602) += m5602/ obj-$(CONFIG_USB_STV06XX) += stv06xx/ obj-$(CONFIG_USB_GL860) += gl860/ media/usb/au0828/Kconfig 0000644 00000002425 14722053666 0010664 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_AU0828 tristate "Auvitek AU0828 support" depends on I2C && INPUT && DVB_CORE && USB && VIDEO_V4L2 select MEDIA_CONTROLLER select MEDIA_CONTROLLER_DVB select I2C_ALGOBIT select VIDEO_TVEEPROM select VIDEOBUF2_VMALLOC if VIDEO_V4L2 select DVB_AU8522_DTV if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT help This is a hybrid analog/digital tv capture driver for Auvitek's AU0828 USB device. To compile this driver as a module, choose M here: the module will be called au0828 config VIDEO_AU0828_V4L2 bool "Auvitek AU0828 v4l2 analog video support" depends on VIDEO_AU0828 depends on VIDEO_V4L2=y || VIDEO_V4L2=VIDEO_AU0828 select DVB_AU8522_V4L if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TUNER default y help This is a video4linux driver for Auvitek's USB device. Choose Y here to include support for v4l2 analog video capture within the au0828 driver. config VIDEO_AU0828_RC bool "AU0828 Remote Controller support" depends on RC_CORE depends on !(RC_CORE=m && VIDEO_AU0828=y) depends on VIDEO_AU0828 help Enables Remote Controller support on au0828 driver. media/usb/au0828/Makefile 0000644 00000000722 14722053666 0011017 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 au0828-objs := au0828-core.o au0828-i2c.o au0828-cards.o au0828-dvb.o ifeq ($(CONFIG_VIDEO_AU0828_V4L2),y) au0828-objs += au0828-video.o au0828-vbi.o endif ifeq ($(CONFIG_VIDEO_AU0828_RC),y) au0828-objs += au0828-input.o endif obj-$(CONFIG_VIDEO_AU0828) += au0828.o ccflags-y += -I $(srctree)/drivers/media/tuners ccflags-y += -I $(srctree)/drivers/media/dvb-frontends ccflags-y += $(extra-cflags-y) $(extra-cflags-m) media/usb/tm6000/Kconfig 0000644 00000002107 14722053666 0010660 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TM6000 tristate "TV Master TM5600/6000/6010 driver" depends on VIDEO_DEV && I2C && INPUT && RC_CORE && USB select VIDEO_TUNER select MEDIA_TUNER_XC2028 select MEDIA_TUNER_XC5000 select VIDEOBUF_VMALLOC help Support for TM5600/TM6000/TM6010 USB Device Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the usb bus, so you need an external software decoder to watch TV on your computer. Say Y if you own such a device and want to use it. config VIDEO_TM6000_ALSA tristate "TV Master TM5600/6000/6010 audio support" depends on VIDEO_TM6000 && SND select SND_PCM help This is a video4linux driver for direct (DMA) audio for TM5600/TM6000/TM6010 USB Devices. To compile this driver as a module, choose M here: the module will be called tm6000-alsa. config VIDEO_TM6000_DVB tristate "DVB Support for tm6000 based TV cards" depends on VIDEO_TM6000 && DVB_CORE && USB select DVB_ZL10353 help This adds support for DVB cards based on the tm5600/tm6000 chip. media/usb/tm6000/Makefile 0000644 00000000633 14722053666 0011017 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 tm6000-y := tm6000-cards.o \ tm6000-core.o \ tm6000-i2c.o \ tm6000-video.o \ tm6000-stds.o \ tm6000-input.o obj-$(CONFIG_VIDEO_TM6000) += tm6000.o obj-$(CONFIG_VIDEO_TM6000_ALSA) += tm6000-alsa.o obj-$(CONFIG_VIDEO_TM6000_DVB) += tm6000-dvb.o ccflags-y += -I $(srctree)/drivers/media/tuners ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/usb/usbtv/Kconfig 0000644 00000000532 14722053666 0011075 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_USBTV tristate "USBTV007 video capture support" depends on VIDEO_V4L2 && SND select SND_PCM select VIDEOBUF2_VMALLOC help This is a video4linux2 driver for USBTV007 based video capture devices. To compile this driver as a module, choose M here: the module will be called usbtv media/usb/usbtv/Makefile 0000644 00000000210 14722053666 0011223 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only usbtv-y := usbtv-core.o \ usbtv-video.o \ usbtv-audio.o obj-$(CONFIG_VIDEO_USBTV) += usbtv.o media/usb/stkwebcam/Kconfig 0000644 00000001027 14722053666 0011712 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_STKWEBCAM tristate "USB Syntek DC1125 Camera support" depends on VIDEO_V4L2 help Say Y here if you want to use this type of camera. Supported devices are typically found in some Asus laptops, with USB id 174f:a311 and 05e1:0501. Other Syntek cameras may be supported by the stk11xx driver, from which this is derived, see <http://sourceforge.net/projects/syntekdriver/> To compile this driver as a module, choose M here: the module will be called stkwebcam. media/usb/stkwebcam/Makefile 0000644 00000000205 14722053666 0012044 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only stkwebcam-objs := stk-webcam.o stk-sensor.o obj-$(CONFIG_USB_STKWEBCAM) += stkwebcam.o media/usb/stk1160/Kconfig 0000644 00000001123 14722053666 0011040 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_STK1160_COMMON tristate "STK1160 USB video capture support" depends on VIDEO_DEV && I2C help This is a video4linux driver for STK1160 based video capture devices. To compile this driver as a module, choose M here: the module will be called stk1160. This driver only provides support for video capture. For audio capture, you need to select the snd-usb-audio driver (i.e. CONFIG_SND_USB_AUDIO). config VIDEO_STK1160 tristate depends on VIDEO_STK1160_COMMON default y select VIDEOBUF2_VMALLOC select VIDEO_SAA711X media/usb/stk1160/Makefile 0000644 00000000264 14722053666 0011202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 stk1160-y := stk1160-core.o \ stk1160-v4l.o \ stk1160-video.o \ stk1160-i2c.o \ stk1160-ac97.o obj-$(CONFIG_VIDEO_STK1160) += stk1160.o media/v4l2-core/Kconfig 0000644 00000003512 14722053666 0010657 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Generic video config states # # Enable the V4L2 core and API config VIDEO_V4L2 tristate depends on (I2C || I2C=n) && VIDEO_DEV select RATIONAL select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE default (I2C || I2C=n) && VIDEO_DEV config VIDEO_V4L2_I2C bool depends on I2C && VIDEO_V4L2 default y config VIDEO_ADV_DEBUG bool "Enable advanced debug functionality on V4L2 drivers" help Say Y here to enable advanced debugging functionality on some V4L devices. In doubt, say N. config VIDEO_FIXED_MINOR_RANGES bool "Enable old-style fixed minor ranges on drivers/video devices" help Say Y here to enable the old-style fixed-range minor assignments. Only useful if you rely on the old behavior and use mknod instead of udev. When in doubt, say N. config VIDEO_PCI_SKELETON tristate "Skeleton PCI V4L2 driver" depends on PCI depends on SAMPLES depends on VIDEO_V4L2 && VIDEOBUF2_CORE depends on VIDEOBUF2_MEMOPS && VIDEOBUF2_DMA_CONTIG help Enable build of the skeleton PCI driver, used as a reference when developing new drivers. # Used by drivers that need tuner.ko config VIDEO_TUNER tristate # Used by drivers that need v4l2-mem2mem.ko config V4L2_MEM2MEM_DEV tristate depends on VIDEOBUF2_CORE # Used by LED subsystem flash drivers config V4L2_FLASH_LED_CLASS tristate "V4L2 flash API for LED flash class devices" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on LEDS_CLASS_FLASH help Say Y here to enable V4L2 flash API support for LED flash class drivers. When in doubt, say N. config V4L2_FWNODE tristate # Used by drivers that need Videobuf modules config VIDEOBUF_GEN tristate config VIDEOBUF_DMA_SG tristate select VIDEOBUF_GEN config VIDEOBUF_VMALLOC tristate select VIDEOBUF_GEN config VIDEOBUF_DMA_CONTIG tristate select VIDEOBUF_GEN media/v4l2-core/Makefile 0000644 00000002061 14722053666 0011012 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the V4L2 core # tuner-objs := tuner-core.o videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \ v4l2-event.o v4l2-ctrls.o v4l2-subdev.o v4l2-clk.o \ v4l2-async.o v4l2-common.o videodev-$(CONFIG_COMPAT) += v4l2-compat-ioctl32.o videodev-$(CONFIG_TRACEPOINTS) += v4l2-trace.o videodev-$(CONFIG_MEDIA_CONTROLLER) += v4l2-mc.o videodev-$(CONFIG_SPI) += v4l2-spi.o videodev-$(CONFIG_VIDEO_V4L2_I2C) += v4l2-i2c.o obj-$(CONFIG_V4L2_FWNODE) += v4l2-fwnode.o obj-$(CONFIG_VIDEO_V4L2) += videodev.o obj-$(CONFIG_VIDEO_V4L2) += v4l2-dv-timings.o obj-$(CONFIG_VIDEO_TUNER) += tuner.o obj-$(CONFIG_V4L2_MEM2MEM_DEV) += v4l2-mem2mem.o obj-$(CONFIG_V4L2_FLASH_LED_CLASS) += v4l2-flash-led-class.o obj-$(CONFIG_VIDEOBUF_GEN) += videobuf-core.o obj-$(CONFIG_VIDEOBUF_DMA_SG) += videobuf-dma-sg.o obj-$(CONFIG_VIDEOBUF_DMA_CONTIG) += videobuf-dma-contig.o obj-$(CONFIG_VIDEOBUF_VMALLOC) += videobuf-vmalloc.o ccflags-y += -I$(srctree)/drivers/media/dvb-frontends ccflags-y += -I$(srctree)/drivers/media/tuners media/Kconfig 0000644 00000013571 14722053666 0007150 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Multimedia device configuration # config CEC_CORE tristate config CEC_NOTIFIER bool config CEC_PIN bool source "drivers/media/rc/Kconfig" menuconfig MEDIA_SUPPORT tristate "Multimedia support" depends on HAS_IOMEM help If you want to use Webcams, Video grabber devices and/or TV devices enable this option and other options below. Additional info and docs are available on the web at <https://linuxtv.org> if MEDIA_SUPPORT comment "Multimedia core support" # # Multimedia support - automatically enable V4L2 and DVB core # config MEDIA_CAMERA_SUPPORT bool "Cameras/video grabbers support" help Enable support for webcams and video grabbers. Say Y when you have a webcam or a video capture grabber board. config MEDIA_ANALOG_TV_SUPPORT bool "Analog TV support" help Enable analog TV support. Say Y when you have a TV board with analog support or with a hybrid analog/digital TV chipset. Note: There are several DVB cards that are based on chips that support both analog and digital TV. Disabling this option will disable support for them. config MEDIA_DIGITAL_TV_SUPPORT bool "Digital TV support" help Enable digital TV support. Say Y when you have a board with digital support or a board with hybrid digital TV and analog TV. config MEDIA_RADIO_SUPPORT bool "AM/FM radio receivers/transmitters support" help Enable AM/FM radio support. Additional info and docs are available on the web at <https://linuxtv.org> Say Y when you have a board with radio support. Note: There are several TV cards that are based on chips that support radio reception. Disabling this option will disable support for them. config MEDIA_SDR_SUPPORT bool "Software defined radio support" help Enable software defined radio support. Say Y when you have a software defined radio device. config MEDIA_CEC_SUPPORT bool "HDMI CEC support" help Enable support for HDMI CEC (Consumer Electronics Control), which is an optional HDMI feature. Say Y when you have an HDMI receiver, transmitter or a USB CEC adapter that supports HDMI CEC. source "drivers/media/cec/Kconfig" source "drivers/media/mc/Kconfig" # # Video4Linux support # Only enables if one of the V4L2 types (ATV, webcam, radio) is selected # config VIDEO_DEV tristate depends on MEDIA_SUPPORT depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT default y config VIDEO_V4L2_SUBDEV_API bool "V4L2 sub-device userspace API" depends on VIDEO_DEV && MEDIA_CONTROLLER help Enables the V4L2 sub-device pad-level userspace API used to configure video format, size and frame rate between hardware blocks. This API is mostly used by camera interfaces in embedded platforms. source "drivers/media/v4l2-core/Kconfig" # # DVB Core # Only enables if one of DTV is selected # config DVB_CORE tristate depends on MEDIA_SUPPORT depends on MEDIA_DIGITAL_TV_SUPPORT depends on (I2C || I2C=n) default y select CRC32 config DVB_MMAP bool "Enable DVB memory-mapped API (EXPERIMENTAL)" depends on DVB_CORE depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE select VIDEOBUF2_VMALLOC help This option enables DVB experimental memory-mapped API, which reduces the number of context switches to read DVB buffers, as the buffers can use mmap() syscalls. Support for it is experimental. Use with care. If unsure, say N. config DVB_NET bool "DVB Network Support" default (NET && INET) depends on NET && INET && DVB_CORE help This option enables DVB Network Support which is a part of the DVB standard. It is used, for example, by automatic firmware updates used on Set-Top-Boxes. It can also be used to access the Internet via the DVB card, if the network provider supports it. You may want to disable the network support on embedded devices. If unsure say Y. # This Kconfig option is used by both PCI and USB drivers config TTPCI_EEPROM tristate depends on I2C source "drivers/media/dvb-core/Kconfig" comment "Media drivers" # # V4L platform/mem2mem drivers # source "drivers/media/usb/Kconfig" source "drivers/media/pci/Kconfig" source "drivers/media/platform/Kconfig" source "drivers/media/mmc/Kconfig" source "drivers/media/radio/Kconfig" comment "Supported FireWire (IEEE 1394) Adapters" depends on DVB_CORE && FIREWIRE source "drivers/media/firewire/Kconfig" # Common driver options source "drivers/media/common/Kconfig" comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)" # # Ancillary drivers (tuners, i2c, spi, frontends) # config MEDIA_SUBDRV_AUTOSELECT bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)" depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT depends on HAS_IOMEM select I2C select I2C_MUX default y if !EMBEDDED help By default, a media driver auto-selects all possible ancillary devices such as tuners, sensors, video encoders/decoders and frontends, that are used by any of the supported devices. This is generally the right thing to do, except when there are strict constraints with regards to the kernel size, like on embedded systems. Use this option with care, as deselecting ancillary drivers which are, in fact, necessary will result in the lack of the needed functionality for your device (it may not tune or may not have the needed demodulators). If unsure say Y. config MEDIA_HIDE_ANCILLARY_SUBDRV bool depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT default y config MEDIA_ATTACH bool depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT depends on MODULES default MODULES source "drivers/media/i2c/Kconfig" source "drivers/media/spi/Kconfig" source "drivers/media/tuners/Kconfig" source "drivers/media/dvb-frontends/Kconfig" endif # MEDIA_SUPPORT media/i2c/adv748x/Makefile 0000644 00000000255 14722053666 0011162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only adv748x-objs := \ adv748x-afe.o \ adv748x-core.o \ adv748x-csi2.o \ adv748x-hdmi.o obj-$(CONFIG_VIDEO_ADV748X) += adv748x.o media/i2c/smiapp/Kconfig 0000644 00000000466 14722053666 0011115 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_SMIAPP tristate "SMIA++/SMIA sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAVE_CLK depends on MEDIA_CAMERA_SUPPORT select VIDEO_SMIAPP_PLL select V4L2_FWNODE help This is a generic driver for SMIA++/SMIA camera modules. media/i2c/smiapp/Makefile 0000644 00000000322 14722053666 0011241 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only smiapp-objs += smiapp-core.o smiapp-regs.o \ smiapp-quirk.o smiapp-limits.o obj-$(CONFIG_VIDEO_SMIAPP) += smiapp.o ccflags-y += -I $(srctree)/drivers/media/i2c media/i2c/et8ek8/Kconfig 0000644 00000000446 14722053666 0010732 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_ET8EK8 tristate "ET8EK8 camera sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE help This is a driver for the Toshiba ET8EK8 5 MP camera sensor. It is used for example in Nokia N900 (RX-51). media/i2c/et8ek8/Makefile 0000644 00000000176 14722053666 0011067 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only et8ek8-objs += et8ek8_mode.o et8ek8_driver.o obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8.o media/i2c/Kconfig 0000644 00000101254 14722053666 0007621 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Multimedia Video device configuration # if VIDEO_V4L2 config VIDEO_IR_I2C tristate "I2C module for IR" if !MEDIA_SUBDRV_AUTOSELECT || EXPERT depends on I2C && RC_CORE default y help Most boards have an IR chip directly connected via GPIO. However, some video boards have the IR connected via I2C bus. If your board doesn't have an I2C IR chip, you may disable this option. In doubt, say Y. # # Encoder / Decoder module configuration # comment "I2C drivers hidden by 'Autoselect ancillary drivers'" depends on MEDIA_HIDE_ANCILLARY_SUBDRV menu "I2C Encoders, decoders, sensors and other helper chips" visible if !MEDIA_HIDE_ANCILLARY_SUBDRV comment "Audio decoders, processors and mixers" config VIDEO_TVAUDIO tristate "Simple audio decoder chips" depends on VIDEO_V4L2 && I2C help Support for several audio decoder chips found on some bt8xx boards: Philips: tda9840, tda9873h, tda9874h/a, tda9850, tda985x, tea6300, tea6320, tea6420, tda8425, ta8874z. Microchip: pic16c54 based design on ProVideo PV951 board. To compile this driver as a module, choose M here: the module will be called tvaudio. config VIDEO_TDA7432 tristate "Philips TDA7432 audio processor" depends on VIDEO_V4L2 && I2C help Support for tda7432 audio decoder chip found on some bt8xx boards. To compile this driver as a module, choose M here: the module will be called tda7432. config VIDEO_TDA9840 tristate "Philips TDA9840 audio processor" depends on I2C help Support for tda9840 audio decoder chip found on some Zoran boards. To compile this driver as a module, choose M here: the module will be called tda9840. config VIDEO_TDA1997X tristate "NXP TDA1997x HDMI receiver" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API depends on SND_SOC select HDMI select SND_PCM select V4L2_FWNODE help V4L2 subdevice driver for the NXP TDA1997x HDMI receivers. To compile this driver as a module, choose M here: the module will be called tda1997x. config VIDEO_TEA6415C tristate "Philips TEA6415C audio processor" depends on I2C help Support for tea6415c audio decoder chip found on some bt8xx boards. To compile this driver as a module, choose M here: the module will be called tea6415c. config VIDEO_TEA6420 tristate "Philips TEA6420 audio processor" depends on I2C help Support for tea6420 audio decoder chip found on some bt8xx boards. To compile this driver as a module, choose M here: the module will be called tea6420. config VIDEO_MSP3400 tristate "Micronas MSP34xx audio decoders" depends on VIDEO_V4L2 && I2C help Support for the Micronas MSP34xx series of audio decoders. To compile this driver as a module, choose M here: the module will be called msp3400. config VIDEO_CS3308 tristate "Cirrus Logic CS3308 audio ADC" depends on VIDEO_V4L2 && I2C help Support for the Cirrus Logic CS3308 High Performance 8-Channel Analog Volume Control To compile this driver as a module, choose M here: the module will be called cs3308. config VIDEO_CS5345 tristate "Cirrus Logic CS5345 audio ADC" depends on VIDEO_V4L2 && I2C help Support for the Cirrus Logic CS5345 24-bit, 192 kHz stereo A/D converter. To compile this driver as a module, choose M here: the module will be called cs5345. config VIDEO_CS53L32A tristate "Cirrus Logic CS53L32A audio ADC" depends on VIDEO_V4L2 && I2C help Support for the Cirrus Logic CS53L32A low voltage stereo A/D converter. To compile this driver as a module, choose M here: the module will be called cs53l32a. config VIDEO_TLV320AIC23B tristate "Texas Instruments TLV320AIC23B audio codec" depends on VIDEO_V4L2 && I2C help Support for the Texas Instruments TLV320AIC23B audio codec. To compile this driver as a module, choose M here: the module will be called tlv320aic23b. config VIDEO_UDA1342 tristate "Philips UDA1342 audio codec" depends on VIDEO_V4L2 && I2C help Support for the Philips UDA1342 audio codec. To compile this driver as a module, choose M here: the module will be called uda1342. config VIDEO_WM8775 tristate "Wolfson Microelectronics WM8775 audio ADC with input mixer" depends on VIDEO_V4L2 && I2C help Support for the Wolfson Microelectronics WM8775 high performance stereo A/D Converter with a 4 channel input mixer. To compile this driver as a module, choose M here: the module will be called wm8775. config VIDEO_WM8739 tristate "Wolfson Microelectronics WM8739 stereo audio ADC" depends on VIDEO_V4L2 && I2C help Support for the Wolfson Microelectronics WM8739 stereo A/D Converter. To compile this driver as a module, choose M here: the module will be called wm8739. config VIDEO_VP27SMPX tristate "Panasonic VP27's internal MPX" depends on VIDEO_V4L2 && I2C help Support for the internal MPX of the Panasonic VP27s tuner. To compile this driver as a module, choose M here: the module will be called vp27smpx. config VIDEO_SONY_BTF_MPX tristate "Sony BTF's internal MPX" depends on VIDEO_V4L2 && I2C help Support for the internal MPX of the Sony BTF-PG472Z tuner. To compile this driver as a module, choose M here: the module will be called sony-btf-mpx. comment "RDS decoders" config VIDEO_SAA6588 tristate "SAA6588 Radio Chip RDS decoder support" depends on VIDEO_V4L2 && I2C help Support for this Radio Data System (RDS) decoder. This allows seeing radio station identification transmitted using this standard. To compile this driver as a module, choose M here: the module will be called saa6588. comment "Video decoders" config VIDEO_ADV7180 tristate "Analog Devices ADV7180 decoder" depends on GPIOLIB && VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API help Support for the Analog Devices ADV7180 video decoder. To compile this driver as a module, choose M here: the module will be called adv7180. config VIDEO_ADV7183 tristate "Analog Devices ADV7183 decoder" depends on VIDEO_V4L2 && I2C help V4l2 subdevice driver for the Analog Devices ADV7183 video decoder. To compile this driver as a module, choose M here: the module will be called adv7183. config VIDEO_ADV748X tristate "Analog Devices ADV748x decoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API depends on OF select REGMAP_I2C select V4L2_FWNODE help V4L2 subdevice driver for the Analog Devices ADV7481 and ADV7482 HDMI/Analog video decoders. To compile this driver as a module, choose M here: the module will be called adv748x. config VIDEO_ADV7604 tristate "Analog Devices ADV7604 decoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API depends on GPIOLIB || COMPILE_TEST select HDMI select V4L2_FWNODE help Support for the Analog Devices ADV7604 video decoder. This is a Analog Devices Component/Graphics Digitizer with 4:1 Multiplexed HDMI Receiver. To compile this driver as a module, choose M here: the module will be called adv7604. config VIDEO_ADV7604_CEC bool "Enable Analog Devices ADV7604 CEC support" depends on VIDEO_ADV7604 select CEC_CORE help When selected the adv7604 will support the optional HDMI CEC feature. config VIDEO_ADV7842 tristate "Analog Devices ADV7842 decoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API select HDMI help Support for the Analog Devices ADV7842 video decoder. This is a Analog Devices Component/Graphics/SD Digitizer with 2:1 Multiplexed HDMI Receiver. To compile this driver as a module, choose M here: the module will be called adv7842. config VIDEO_ADV7842_CEC bool "Enable Analog Devices ADV7842 CEC support" depends on VIDEO_ADV7842 select CEC_CORE help When selected the adv7842 will support the optional HDMI CEC feature. config VIDEO_BT819 tristate "BT819A VideoStream decoder" depends on VIDEO_V4L2 && I2C help Support for BT819A video decoder. To compile this driver as a module, choose M here: the module will be called bt819. config VIDEO_BT856 tristate "BT856 VideoStream decoder" depends on VIDEO_V4L2 && I2C help Support for BT856 video decoder. To compile this driver as a module, choose M here: the module will be called bt856. config VIDEO_BT866 tristate "BT866 VideoStream decoder" depends on VIDEO_V4L2 && I2C help Support for BT866 video decoder. To compile this driver as a module, choose M here: the module will be called bt866. config VIDEO_KS0127 tristate "KS0127 video decoder" depends on VIDEO_V4L2 && I2C help Support for KS0127 video decoder. This chip is used on AverMedia AVS6EYES Zoran-based MJPEG cards. To compile this driver as a module, choose M here: the module will be called ks0127. config VIDEO_ML86V7667 tristate "OKI ML86V7667 video decoder" depends on VIDEO_V4L2 && I2C help Support for the OKI Semiconductor ML86V7667 video decoder. To compile this driver as a module, choose M here: the module will be called ml86v7667. config VIDEO_SAA7110 tristate "Philips SAA7110 video decoder" depends on VIDEO_V4L2 && I2C help Support for the Philips SAA7110 video decoders. To compile this driver as a module, choose M here: the module will be called saa7110. config VIDEO_SAA711X tristate "Philips SAA7111/3/4/5 video decoders" depends on VIDEO_V4L2 && I2C help Support for the Philips SAA7111/3/4/5 video decoders. To compile this driver as a module, choose M here: the module will be called saa7115. config VIDEO_TC358743 tristate "Toshiba TC358743 decoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API select HDMI select V4L2_FWNODE help Support for the Toshiba TC358743 HDMI to MIPI CSI-2 bridge. To compile this driver as a module, choose M here: the module will be called tc358743. config VIDEO_TC358743_CEC bool "Enable Toshiba TC358743 CEC support" depends on VIDEO_TC358743 select CEC_CORE help When selected the tc358743 will support the optional HDMI CEC feature. config VIDEO_TVP514X tristate "Texas Instruments TVP514x video decoder" depends on VIDEO_V4L2 && I2C select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the TI TVP5146/47 decoder. It is currently working with the TI OMAP3 camera controller. To compile this driver as a module, choose M here: the module will be called tvp514x. config VIDEO_TVP5150 tristate "Texas Instruments TVP5150 video decoder" depends on VIDEO_V4L2 && I2C select V4L2_FWNODE help Support for the Texas Instruments TVP5150 video decoder. To compile this driver as a module, choose M here: the module will be called tvp5150. config VIDEO_TVP7002 tristate "Texas Instruments TVP7002 video decoder" depends on VIDEO_V4L2 && I2C select V4L2_FWNODE help Support for the Texas Instruments TVP7002 video decoder. To compile this driver as a module, choose M here: the module will be called tvp7002. config VIDEO_TW2804 tristate "Techwell TW2804 multiple video decoder" depends on VIDEO_V4L2 && I2C help Support for the Techwell tw2804 multiple video decoder. To compile this driver as a module, choose M here: the module will be called tw2804. config VIDEO_TW9903 tristate "Techwell TW9903 video decoder" depends on VIDEO_V4L2 && I2C help Support for the Techwell tw9903 multi-standard video decoder with high quality down scaler. To compile this driver as a module, choose M here: the module will be called tw9903. config VIDEO_TW9906 tristate "Techwell TW9906 video decoder" depends on VIDEO_V4L2 && I2C help Support for the Techwell tw9906 enhanced multi-standard comb filter video decoder with YCbCr input support. To compile this driver as a module, choose M here: the module will be called tw9906. config VIDEO_TW9910 tristate "Techwell TW9910 video decoder" depends on VIDEO_V4L2 && I2C help Support for Techwell TW9910 NTSC/PAL/SECAM video decoder. To compile this driver as a module, choose M here: the module will be called tw9910. config VIDEO_VPX3220 tristate "vpx3220a, vpx3216b & vpx3214c video decoders" depends on VIDEO_V4L2 && I2C help Support for VPX322x video decoders. To compile this driver as a module, choose M here: the module will be called vpx3220. comment "Video and audio decoders" config VIDEO_SAA717X tristate "Philips SAA7171/3/4 audio/video decoders" depends on VIDEO_V4L2 && I2C help Support for the Philips SAA7171/3/4 audio/video decoders. To compile this driver as a module, choose M here: the module will be called saa717x. source "drivers/media/i2c/cx25840/Kconfig" comment "Video encoders" config VIDEO_SAA7127 tristate "Philips SAA7127/9 digital video encoders" depends on VIDEO_V4L2 && I2C help Support for the Philips SAA7127/9 digital video encoders. To compile this driver as a module, choose M here: the module will be called saa7127. config VIDEO_SAA7185 tristate "Philips SAA7185 video encoder" depends on VIDEO_V4L2 && I2C help Support for the Philips SAA7185 video encoder. To compile this driver as a module, choose M here: the module will be called saa7185. config VIDEO_ADV7170 tristate "Analog Devices ADV7170 video encoder" depends on VIDEO_V4L2 && I2C help Support for the Analog Devices ADV7170 video encoder driver To compile this driver as a module, choose M here: the module will be called adv7170. config VIDEO_ADV7175 tristate "Analog Devices ADV7175 video encoder" depends on VIDEO_V4L2 && I2C help Support for the Analog Devices ADV7175 video encoder driver To compile this driver as a module, choose M here: the module will be called adv7175. config VIDEO_ADV7343 tristate "ADV7343 video encoder" depends on I2C help Support for Analog Devices I2C bus based ADV7343 encoder. To compile this driver as a module, choose M here: the module will be called adv7343. config VIDEO_ADV7393 tristate "ADV7393 video encoder" depends on I2C help Support for Analog Devices I2C bus based ADV7393 encoder. To compile this driver as a module, choose M here: the module will be called adv7393. config VIDEO_ADV7511 tristate "Analog Devices ADV7511 encoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API depends on DRM_I2C_ADV7511=n || COMPILE_TEST select HDMI help Support for the Analog Devices ADV7511 video encoder. This is a Analog Devices HDMI transmitter. To compile this driver as a module, choose M here: the module will be called adv7511. config VIDEO_ADV7511_CEC bool "Enable Analog Devices ADV7511 CEC support" depends on VIDEO_ADV7511 select CEC_CORE help When selected the adv7511 will support the optional HDMI CEC feature. config VIDEO_AD9389B tristate "Analog Devices AD9389B encoder" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API help Support for the Analog Devices AD9389B video encoder. This is a Analog Devices HDMI transmitter. To compile this driver as a module, choose M here: the module will be called ad9389b. config VIDEO_AK881X tristate "AK8813/AK8814 video encoders" depends on I2C help Video output driver for AKM AK8813 and AK8814 TV encoders config VIDEO_THS8200 tristate "Texas Instruments THS8200 video encoder" depends on VIDEO_V4L2 && I2C help Support for the Texas Instruments THS8200 video encoder. To compile this driver as a module, choose M here: the module will be called ths8200. comment "Camera sensor devices" config VIDEO_APTINA_PLL tristate config VIDEO_SMIAPP_PLL tristate config VIDEO_IMX214 tristate "Sony IMX214 sensor support" depends on GPIOLIB && I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT depends on V4L2_FWNODE help This is a Video4Linux2 sensor driver for the Sony IMX214 camera. To compile this driver as a module, choose M here: the module will be called imx214. config VIDEO_IMX258 tristate "Sony IMX258 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the Sony IMX258 camera. To compile this driver as a module, choose M here: the module will be called imx258. config VIDEO_IMX274 tristate "Sony IMX274 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select REGMAP_I2C help This is a V4L2 sensor driver for the Sony IMX274 CMOS image sensor. config VIDEO_IMX319 tristate "Sony IMX319 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the Sony IMX319 camera. To compile this driver as a module, choose M here: the module will be called imx319. config VIDEO_IMX355 tristate "Sony IMX355 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the Sony IMX355 camera. To compile this driver as a module, choose M here: the module will be called imx355. config VIDEO_OV2640 tristate "OmniVision OV2640 sensor support" depends on VIDEO_V4L2 && I2C depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the OmniVision OV2640 camera. To compile this driver as a module, choose M here: the module will be called ov2640. config VIDEO_OV2659 tristate "OmniVision OV2659 sensor support" depends on VIDEO_V4L2 && I2C depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV2659 camera. To compile this driver as a module, choose M here: the module will be called ov2659. config VIDEO_OV2680 tristate "OmniVision OV2680 sensor support" depends on VIDEO_V4L2 && I2C && MEDIA_CONTROLLER depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV2680 camera. To compile this driver as a module, choose M here: the module will be called ov2680. config VIDEO_OV2685 tristate "OmniVision OV2685 sensor support" depends on VIDEO_V4L2 && I2C && MEDIA_CONTROLLER depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV2685 camera. To compile this driver as a module, choose M here: the module will be called ov2685. config VIDEO_OV5640 tristate "OmniVision OV5640 sensor support" depends on OF depends on GPIOLIB && VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the Omnivision OV5640 camera sensor with a MIPI CSI-2 interface. config VIDEO_OV5645 tristate "OmniVision OV5645 sensor support" depends on OF depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV5645 camera. To compile this driver as a module, choose M here: the module will be called ov5645. config VIDEO_OV5647 tristate "OmniVision OV5647 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV5647 camera. To compile this driver as a module, choose M here: the module will be called ov5647. config VIDEO_OV6650 tristate "OmniVision OV6650 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the OmniVision OV6650 camera. To compile this driver as a module, choose M here: the module will be called ov6650. config VIDEO_OV5670 tristate "OmniVision OV5670 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT depends on MEDIA_CONTROLLER select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV5670 camera. To compile this driver as a module, choose M here: the module will be called ov5670. config VIDEO_OV5675 tristate "OmniVision OV5675 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT depends on MEDIA_CONTROLLER select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV5675 camera. To compile this driver as a module, choose M here: the module will be called ov5675. config VIDEO_OV5695 tristate "OmniVision OV5695 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the OmniVision OV5695 camera. To compile this driver as a module, choose M here: the module will be called ov5695. config VIDEO_OV7251 tristate "OmniVision OV7251 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV7251 camera. To compile this driver as a module, choose M here: the module will be called ov7251. config VIDEO_OV772X tristate "OmniVision OV772x sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT select REGMAP_SCCB help This is a Video4Linux2 sensor driver for the OmniVision OV772x camera. To compile this driver as a module, choose M here: the module will be called ov772x. config VIDEO_OV7640 tristate "OmniVision OV7640 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the OmniVision OV7640 camera. To compile this driver as a module, choose M here: the module will be called ov7640. config VIDEO_OV7670 tristate "OmniVision OV7670 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV7670 VGA camera. It currently only works with the M88ALP01 controller. config VIDEO_OV7740 tristate "OmniVision OV7740 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the OmniVision OV7740 VGA camera sensor. config VIDEO_OV8856 tristate "OmniVision OV8856 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV8856 camera sensor. To compile this driver as a module, choose M here: the module will be called ov8856. config VIDEO_OV9640 tristate "OmniVision OV9640 sensor support" depends on I2C && VIDEO_V4L2 help This is a Video4Linux2 sensor driver for the OmniVision OV9640 camera sensor. config VIDEO_OV9650 tristate "OmniVision OV9650/OV9652 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API select REGMAP_SCCB help This is a V4L2 sensor driver for the Omnivision OV9650 and OV9652 camera sensors. config VIDEO_OV13858 tristate "OmniVision OV13858 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the OmniVision OV13858 camera. config VIDEO_VS6624 tristate "ST VS6624 sensor support" depends on VIDEO_V4L2 && I2C depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the ST VS6624 camera. To compile this driver as a module, choose M here: the module will be called vs6624. config VIDEO_MT9M001 tristate "mt9m001 support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT help This driver supports MT9M001 cameras from Micron, monochrome and colour models. config VIDEO_MT9M032 tristate "MT9M032 camera sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select VIDEO_APTINA_PLL help This driver supports MT9M032 camera sensors from Aptina, monochrome models only. config VIDEO_MT9M111 tristate "mt9m111, mt9m112 and mt9m131 support" depends on I2C && VIDEO_V4L2 select V4L2_FWNODE help This driver supports MT9M111, MT9M112 and MT9M131 cameras from Micron/Aptina config VIDEO_MT9P031 tristate "Aptina MT9P031 support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select VIDEO_APTINA_PLL help This is a Video4Linux2 sensor driver for the Aptina (Micron) mt9p031 5 Mpixel camera. config VIDEO_MT9T001 tristate "Aptina MT9T001 support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the Aptina (Micron) mt0t001 3 Mpixel camera. config VIDEO_MT9T112 tristate "Aptina MT9T111/MT9T112 support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the Aptina (Micron) MT9T111 and MT9T112 3 Mpixel camera. To compile this driver as a module, choose M here: the module will be called mt9t112. config VIDEO_MT9V011 tristate "Micron mt9v011 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the Micron mt0v011 1.3 Mpixel camera. It currently only works with the em28xx driver. config VIDEO_MT9V032 tristate "Micron MT9V032 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select REGMAP_I2C select V4L2_FWNODE help This is a Video4Linux2 sensor driver for the Micron MT9V032 752x480 CMOS sensor. config VIDEO_MT9V111 tristate "Aptina MT9V111 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help This is a Video4Linux2 sensor driver for the Aptina/Micron MT9V111 sensor. To compile this driver as a module, choose M here: the module will be called mt9v111. config VIDEO_SR030PC30 tristate "Siliconfile SR030PC30 sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help This driver supports SR030PC30 VGA camera from Siliconfile config VIDEO_NOON010PC30 tristate "Siliconfile NOON010PC30 sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT help This driver supports NOON010PC30 CIF camera from Siliconfile source "drivers/media/i2c/m5mols/Kconfig" config VIDEO_RJ54N1 tristate "Sharp RJ54N1CB0C sensor support" depends on I2C && VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help This is a V4L2 sensor driver for Sharp RJ54N1CB0C CMOS image sensor. To compile this driver as a module, choose M here: the module will be called rj54n1. config VIDEO_S5K6AA tristate "Samsung S5K6AAFX sensor support" depends on MEDIA_CAMERA_SUPPORT depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API help This is a V4L2 sensor driver for Samsung S5K6AA(FX) 1.3M camera sensor with an embedded SoC image signal processor. config VIDEO_S5K6A3 tristate "Samsung S5K6A3 sensor support" depends on MEDIA_CAMERA_SUPPORT depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API help This is a V4L2 sensor driver for Samsung S5K6A3 raw camera sensor. config VIDEO_S5K4ECGX tristate "Samsung S5K4ECGX sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API select CRC32 help This is a V4L2 sensor driver for Samsung S5K4ECGX 5M camera sensor with an embedded SoC image signal processor. config VIDEO_S5K5BAF tristate "Samsung S5K5BAF sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE help This is a V4L2 sensor driver for Samsung S5K5BAF 2M camera sensor with an embedded SoC image signal processor. source "drivers/media/i2c/smiapp/Kconfig" source "drivers/media/i2c/et8ek8/Kconfig" config VIDEO_S5C73M3 tristate "Samsung S5C73M3 sensor support" depends on I2C && SPI && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE help This is a V4L2 sensor driver for Samsung S5C73M3 8 Mpixel camera. comment "Lens drivers" config VIDEO_AD5820 tristate "AD5820 lens voice coil support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER help This is a driver for the AD5820 camera lens voice coil. It is used for example in Nokia N900 (RX-51). config VIDEO_AK7375 tristate "AK7375 lens voice coil support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER depends on VIDEO_V4L2_SUBDEV_API help This is a driver for the AK7375 camera lens voice coil. AK7375 is a 12 bit DAC with 120mA output current sink capability. This is designed for linear control of voice coil motors, controlled via I2C serial interface. config VIDEO_DW9714 tristate "DW9714 lens voice coil support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER depends on VIDEO_V4L2_SUBDEV_API help This is a driver for the DW9714 camera lens voice coil. DW9714 is a 10 bit DAC with 120mA output current sink capability. This is designed for linear control of voice coil motors, controlled via I2C serial interface. config VIDEO_DW9807_VCM tristate "DW9807 lens voice coil support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER depends on VIDEO_V4L2_SUBDEV_API help This is a driver for the DW9807 camera lens voice coil. DW9807 is a 10 bit DAC with 100mA output current sink capability. This is designed for linear control of voice coil motors, controlled via I2C serial interface. comment "Flash devices" config VIDEO_ADP1653 tristate "ADP1653 flash support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER depends on MEDIA_CAMERA_SUPPORT help This is a driver for the ADP1653 flash controller. It is used for example in Nokia N900. config VIDEO_LM3560 tristate "LM3560 dual flash driver support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER depends on MEDIA_CAMERA_SUPPORT select REGMAP_I2C help This is a driver for the lm3560 dual flash controllers. It controls flash, torch LEDs. config VIDEO_LM3646 tristate "LM3646 dual flash driver support" depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER depends on MEDIA_CAMERA_SUPPORT select REGMAP_I2C help This is a driver for the lm3646 dual flash controllers. It controls flash, torch LEDs. comment "Video improvement chips" config VIDEO_UPD64031A tristate "NEC Electronics uPD64031A Ghost Reduction" depends on VIDEO_V4L2 && I2C help Support for the NEC Electronics uPD64031A Ghost Reduction video chip. It is most often found in NTSC TV cards made for Japan and is used to reduce the 'ghosting' effect that can be present in analog TV broadcasts. To compile this driver as a module, choose M here: the module will be called upd64031a. config VIDEO_UPD64083 tristate "NEC Electronics uPD64083 3-Dimensional Y/C separation" depends on VIDEO_V4L2 && I2C help Support for the NEC Electronics uPD64083 3-Dimensional Y/C separation video chip. It is used to improve the quality of the colors of a composite signal. To compile this driver as a module, choose M here: the module will be called upd64083. comment "Audio/Video compression chips" config VIDEO_SAA6752HS tristate "Philips SAA6752HS MPEG-2 Audio/Video Encoder" depends on VIDEO_V4L2 && I2C select CRC32 help Support for the Philips SAA6752HS MPEG-2 video and MPEG-audio/AC-3 audio encoder with multiplexer. To compile this driver as a module, choose M here: the module will be called saa6752hs. comment "SDR tuner chips" config SDR_MAX2175 tristate "Maxim 2175 RF to Bits tuner" depends on VIDEO_V4L2 && MEDIA_SDR_SUPPORT && I2C select REGMAP_I2C help Support for Maxim 2175 tuner. It is an advanced analog/digital radio receiver with RF-to-Bits front-end designed for SDR solutions. To compile this driver as a module, choose M here; the module will be called max2175. comment "Miscellaneous helper chips" config VIDEO_THS7303 tristate "THS7303/53 Video Amplifier" depends on VIDEO_V4L2 && I2C help Support for TI THS7303/53 video amplifier To compile this driver as a module, choose M here: the module will be called ths7303. config VIDEO_M52790 tristate "Mitsubishi M52790 A/V switch" depends on VIDEO_V4L2 && I2C help Support for the Mitsubishi M52790 A/V switch. To compile this driver as a module, choose M here: the module will be called m52790. config VIDEO_I2C tristate "I2C transport video support" depends on VIDEO_V4L2 && I2C select VIDEOBUF2_VMALLOC imply HWMON help Enable the I2C transport video support which supports the following: * Panasonic AMG88xx Grid-Eye Sensors * Melexis MLX90640 Thermal Cameras To compile this driver as a module, choose M here: the module will be called video-i2c config VIDEO_ST_MIPID02 tristate "STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT select V4L2_FWNODE help Support for STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge. It is used to allow usage of CSI-2 sensor with PARALLEL port controller. To compile this driver as a module, choose M here: the module will be called st-mipid02. endmenu endif media/i2c/cx25840/Kconfig 0000644 00000000451 14722053666 0010633 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX25840 tristate "Conexant CX2584x audio/video decoders" depends on VIDEO_V4L2 && I2C help Support for the Conexant CX2584x audio/video decoders. To compile this driver as a module, choose M here: the module will be called cx25840 media/i2c/cx25840/Makefile 0000644 00000000271 14722053666 0010770 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only cx25840-objs := cx25840-core.o cx25840-audio.o cx25840-firmware.o \ cx25840-vbi.o cx25840-ir.o obj-$(CONFIG_VIDEO_CX25840) += cx25840.o media/i2c/Makefile 0000644 00000011215 14722053666 0007753 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 msp3400-objs := msp3400-driver.o msp3400-kthreads.o obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o obj-$(CONFIG_VIDEO_SMIAPP) += smiapp/ obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8/ obj-$(CONFIG_VIDEO_CX25840) += cx25840/ obj-$(CONFIG_VIDEO_M5MOLS) += m5mols/ obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o obj-$(CONFIG_VIDEO_TVAUDIO) += tvaudio.o obj-$(CONFIG_VIDEO_TDA7432) += tda7432.o obj-$(CONFIG_VIDEO_SAA6588) += saa6588.o obj-$(CONFIG_VIDEO_TDA9840) += tda9840.o obj-$(CONFIG_VIDEO_TDA1997X) += tda1997x.o obj-$(CONFIG_VIDEO_TEA6415C) += tea6415c.o obj-$(CONFIG_VIDEO_TEA6420) += tea6420.o obj-$(CONFIG_VIDEO_SAA7110) += saa7110.o obj-$(CONFIG_VIDEO_SAA711X) += saa7115.o obj-$(CONFIG_VIDEO_SAA717X) += saa717x.o obj-$(CONFIG_VIDEO_SAA7127) += saa7127.o obj-$(CONFIG_VIDEO_SAA7185) += saa7185.o obj-$(CONFIG_VIDEO_SAA6752HS) += saa6752hs.o obj-$(CONFIG_VIDEO_AD5820) += ad5820.o obj-$(CONFIG_VIDEO_AK7375) += ak7375.o obj-$(CONFIG_VIDEO_DW9714) += dw9714.o obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o obj-$(CONFIG_VIDEO_ADV7170) += adv7170.o obj-$(CONFIG_VIDEO_ADV7175) += adv7175.o obj-$(CONFIG_VIDEO_ADV7180) += adv7180.o obj-$(CONFIG_VIDEO_ADV7183) += adv7183.o obj-$(CONFIG_VIDEO_ADV7343) += adv7343.o obj-$(CONFIG_VIDEO_ADV7393) += adv7393.o obj-$(CONFIG_VIDEO_ADV748X) += adv748x/ obj-$(CONFIG_VIDEO_ADV7604) += adv7604.o obj-$(CONFIG_VIDEO_ADV7842) += adv7842.o obj-$(CONFIG_VIDEO_AD9389B) += ad9389b.o obj-$(CONFIG_VIDEO_ADV7511) += adv7511-v4l2.o obj-$(CONFIG_VIDEO_VPX3220) += vpx3220.o obj-$(CONFIG_VIDEO_VS6624) += vs6624.o obj-$(CONFIG_VIDEO_BT819) += bt819.o obj-$(CONFIG_VIDEO_BT856) += bt856.o obj-$(CONFIG_VIDEO_BT866) += bt866.o obj-$(CONFIG_VIDEO_KS0127) += ks0127.o obj-$(CONFIG_VIDEO_THS7303) += ths7303.o obj-$(CONFIG_VIDEO_THS8200) += ths8200.o obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o obj-$(CONFIG_VIDEO_TVP514X) += tvp514x.o obj-$(CONFIG_VIDEO_TVP7002) += tvp7002.o obj-$(CONFIG_VIDEO_TW2804) += tw2804.o obj-$(CONFIG_VIDEO_TW9903) += tw9903.o obj-$(CONFIG_VIDEO_TW9906) += tw9906.o obj-$(CONFIG_VIDEO_TW9910) += tw9910.o obj-$(CONFIG_VIDEO_CS3308) += cs3308.o obj-$(CONFIG_VIDEO_CS5345) += cs5345.o obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o obj-$(CONFIG_VIDEO_M52790) += m52790.o obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o obj-$(CONFIG_VIDEO_WM8775) += wm8775.o obj-$(CONFIG_VIDEO_WM8739) += wm8739.o obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o obj-$(CONFIG_VIDEO_SONY_BTF_MPX) += sony-btf-mpx.o obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o obj-$(CONFIG_VIDEO_OV2640) += ov2640.o obj-$(CONFIG_VIDEO_OV2680) += ov2680.o obj-$(CONFIG_VIDEO_OV2685) += ov2685.o obj-$(CONFIG_VIDEO_OV5640) += ov5640.o obj-$(CONFIG_VIDEO_OV5645) += ov5645.o obj-$(CONFIG_VIDEO_OV5647) += ov5647.o obj-$(CONFIG_VIDEO_OV5670) += ov5670.o obj-$(CONFIG_VIDEO_OV5675) += ov5675.o obj-$(CONFIG_VIDEO_OV5695) += ov5695.o obj-$(CONFIG_VIDEO_OV6650) += ov6650.o obj-$(CONFIG_VIDEO_OV7251) += ov7251.o obj-$(CONFIG_VIDEO_OV7640) += ov7640.o obj-$(CONFIG_VIDEO_OV7670) += ov7670.o obj-$(CONFIG_VIDEO_OV772X) += ov772x.o obj-$(CONFIG_VIDEO_OV7740) += ov7740.o obj-$(CONFIG_VIDEO_OV8856) += ov8856.o obj-$(CONFIG_VIDEO_OV9640) += ov9640.o obj-$(CONFIG_VIDEO_OV9650) += ov9650.o obj-$(CONFIG_VIDEO_OV13858) += ov13858.o obj-$(CONFIG_VIDEO_MT9M001) += mt9m001.o obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o obj-$(CONFIG_VIDEO_MT9M111) += mt9m111.o obj-$(CONFIG_VIDEO_MT9P031) += mt9p031.o obj-$(CONFIG_VIDEO_MT9T001) += mt9t001.o obj-$(CONFIG_VIDEO_MT9T112) += mt9t112.o obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o obj-$(CONFIG_VIDEO_SR030PC30) += sr030pc30.o obj-$(CONFIG_VIDEO_NOON010PC30) += noon010pc30.o obj-$(CONFIG_VIDEO_RJ54N1) += rj54n1cb0c.o obj-$(CONFIG_VIDEO_S5K6AA) += s5k6aa.o obj-$(CONFIG_VIDEO_S5K6A3) += s5k6a3.o obj-$(CONFIG_VIDEO_S5K4ECGX) += s5k4ecgx.o obj-$(CONFIG_VIDEO_S5K5BAF) += s5k5baf.o obj-$(CONFIG_VIDEO_S5C73M3) += s5c73m3/ obj-$(CONFIG_VIDEO_ADP1653) += adp1653.o obj-$(CONFIG_VIDEO_LM3560) += lm3560.o obj-$(CONFIG_VIDEO_LM3646) += lm3646.o obj-$(CONFIG_VIDEO_SMIAPP_PLL) += smiapp-pll.o obj-$(CONFIG_VIDEO_AK881X) += ak881x.o obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o obj-$(CONFIG_VIDEO_I2C) += video-i2c.o obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o obj-$(CONFIG_VIDEO_OV2659) += ov2659.o obj-$(CONFIG_VIDEO_TC358743) += tc358743.o obj-$(CONFIG_VIDEO_IMX214) += imx214.o obj-$(CONFIG_VIDEO_IMX258) += imx258.o obj-$(CONFIG_VIDEO_IMX274) += imx274.o obj-$(CONFIG_VIDEO_IMX319) += imx319.o obj-$(CONFIG_VIDEO_IMX355) += imx355.o obj-$(CONFIG_VIDEO_ST_MIPID02) += st-mipid02.o obj-$(CONFIG_SDR_MAX2175) += max2175.o media/i2c/m5mols/Kconfig 0000644 00000000410 14722053666 0011025 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_M5MOLS tristate "Fujitsu M-5MOLS 8MP sensor support" depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on MEDIA_CAMERA_SUPPORT help This driver supports Fujitsu M-5MOLS camera sensor with ISP media/i2c/m5mols/Makefile 0000644 00000000221 14722053666 0011162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only m5mols-objs := m5mols_core.o m5mols_controls.o m5mols_capture.o obj-$(CONFIG_VIDEO_M5MOLS) += m5mols.o media/i2c/s5c73m3/Makefile 0000644 00000000220 14722053666 0011051 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only s5c73m3-objs := s5c73m3-core.o s5c73m3-spi.o s5c73m3-ctrls.o obj-$(CONFIG_VIDEO_S5C73M3) += s5c73m3.o media/dvb-frontends/cxd2880/Kconfig 0000644 00000000346 14722053666 0013017 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DVB_CXD2880 tristate "Sony CXD2880 DVB-T2/T tuner + demodulator" depends on DVB_CORE && SPI default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. media/dvb-frontends/cxd2880/Makefile 0000644 00000000563 14722053666 0013155 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 cxd2880-objs := cxd2880_common.o \ cxd2880_devio_spi.o \ cxd2880_integ.o \ cxd2880_io.o \ cxd2880_spi_device.o \ cxd2880_tnrdmd.o \ cxd2880_tnrdmd_dvbt2.o \ cxd2880_tnrdmd_dvbt2_mon.o \ cxd2880_tnrdmd_dvbt.o \ cxd2880_tnrdmd_dvbt_mon.o\ cxd2880_tnrdmd_mon.o\ cxd2880_top.o obj-$(CONFIG_DVB_CXD2880) += cxd2880.o media/dvb-frontends/Kconfig 0000644 00000064576 14722053666 0011736 0 ustar 00 comment "DVB Frontend drivers hidden by 'Autoselect ancillary drivers'" depends on MEDIA_HIDE_ANCILLARY_SUBDRV menu "Customise DVB Frontends" visible if !MEDIA_HIDE_ANCILLARY_SUBDRV comment "Multistandard (satellite) frontends" depends on DVB_CORE config DVB_STB0899 tristate "STB0899 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2/DSS Multistandard demodulator. Say Y when you want to support this demodulator based frontends config DVB_STB6100 tristate "STB6100 based tuners" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A Silicon tuner from ST used in conjunction with the STB0899 demodulator. Say Y when you want to support this tuner. config DVB_STV090x tristate "STV0900/STV0903(A/B) based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help DVB-S/S2/DSS Multistandard Professional/Broadcast demodulators. Say Y when you want to support these frontends. config DVB_STV0910 tristate "STV0910 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help ST STV0910 DVB-S/S2 demodulator driver. Say Y when you want to support these frontends. config DVB_STV6110x tristate "STV6110/(A) based tuners" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A Silicon tuner that supports DVB-S and DVB-S2 modes config DVB_STV6111 tristate "STV6111 based tuners" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A Silicon tuner that supports DVB-S and DVB-S2 modes Say Y when you want to support these frontends. config DVB_MXL5XX tristate "MaxLinear MxL5xx based tuner-demodulators" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help MaxLinear MxL5xx family of DVB-S/S2 tuners/demodulators. Say Y when you want to support these frontends. config DVB_M88DS3103 tristate "Montage Technology M88DS3103" depends on DVB_CORE && I2C && I2C_MUX select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. comment "Multistandard (cable + terrestrial) frontends" depends on DVB_CORE config DVB_DRXK tristate "Micronas DRXK based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Micronas DRX-K DVB-C/T demodulator. Say Y when you want to support this frontend. config DVB_TDA18271C2DD tristate "NXP TDA18271C2 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help NXP TDA18271 silicon tuner. Say Y when you want to support this tuner. config DVB_SI2165 tristate "Silicon Labs si2165 based" depends on DVB_CORE && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-C/T demodulator. Say Y when you want to support this frontend. config DVB_MN88472 tristate "Panasonic MN88472" depends on DVB_CORE && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_MN88473 tristate "Panasonic MN88473" depends on DVB_CORE && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. comment "DVB-S (satellite) frontends" depends on DVB_CORE config DVB_CX24110 tristate "Conexant CX24110 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_CX24123 tristate "Conexant CX24123 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_MT312 tristate "Zarlink VP310/MT312/ZL10313 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_ZL10036 tristate "Zarlink ZL10036 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_ZL10039 tristate "Zarlink ZL10039 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_S5H1420 tristate "Samsung S5H1420 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_STV0288 tristate "ST STV0288 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_STB6000 tristate "ST STB6000 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S silicon tuner module. Say Y when you want to support this tuner. config DVB_STV0299 tristate "ST STV0299 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_STV6110 tristate "ST STV6110 silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S silicon tuner module. Say Y when you want to support this tuner. config DVB_STV0900 tristate "ST STV0900 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2 demodulator. Say Y when you want to support this frontend. config DVB_TDA8083 tristate "Philips TDA8083 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TDA10086 tristate "Philips TDA10086 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TDA8261 tristate "Philips TDA8261 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_VES1X93 tristate "VLSI VES1893 or VES1993 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TUNER_ITD1000 tristate "Integrant ITD1000 Zero IF tuner for DVB-S/DSS" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TUNER_CX24113 tristate "Conexant CX24113/CX24128 tuner for DVB-S/DSS" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TDA826X tristate "Philips TDA826X silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S silicon tuner module. Say Y when you want to support this tuner. config DVB_TUA6100 tristate "Infineon TUA6100 PLL" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S PLL chip. config DVB_CX24116 tristate "Conexant CX24116 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2 tuner module. Say Y when you want to support this frontend. config DVB_CX24117 tristate "Conexant CX24117 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A Dual DVB-S/S2 tuner module. Say Y when you want to support this frontend. config DVB_CX24120 tristate "Conexant CX24120 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2 tuner module. Say Y when you want to support this frontend. config DVB_SI21XX tristate "Silicon Labs SI21XX based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_TS2020 tristate "Montage Tehnology TS2020 based tuners" depends on DVB_CORE && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2 silicon tuner. Say Y when you want to support this tuner. config DVB_DS3000 tristate "Montage Tehnology DS3000 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/S2 tuner module. Say Y when you want to support this frontend. config DVB_MB86A16 tristate "Fujitsu MB86A16 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S/DSS Direct Conversion reveiver. Say Y when you want to support this frontend. config DVB_TDA10071 tristate "NXP TDA10071" depends on DVB_CORE && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. comment "DVB-T (terrestrial) frontends" depends on DVB_CORE config DVB_SP8870 tristate "Spase sp8870 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the command "<kerneldir>/scripts/get_dvb_firmware sp8870" to download/extract it, and then copy it to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_SP887X tristate "Spase sp887x based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the command "<kerneldir>/scripts/get_dvb_firmware sp887x" to download/extract it, and then copy it to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_CX22700 tristate "Conexant CX22700 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_CX22702 tristate "Conexant cx22702 demodulator (OFDM)" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_S5H1432 tristate "Samsung s5h1432 demodulator (OFDM)" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_DRXD tristate "Micronas DRXD driver" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. Note: this driver was based on vendor driver reference code (released under the GPL) as opposed to the existing drx397xd driver, which was written via reverse engineering. config DVB_L64781 tristate "LSI L64781" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_TDA1004X tristate "Philips TDA10045H/TDA10046H based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the commands "<kerneldir>/scripts/get_dvb_firmware tda10045", "<kerneldir>/scripts/get_dvb_firmware tda10046" to download/extract them, and then copy them to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_NXT6000 tristate "NxtWave Communications NXT6000 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_MT352 tristate "Zarlink MT352 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_ZL10353 tristate "Zarlink ZL10353 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_DIB3000MB tristate "DiBcom 3000M-B" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_DIB3000MC tristate "DiBcom 3000P/M-C" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_DIB7000M tristate "DiBcom 7000MA/MB/PA/PB/MC" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_DIB7000P tristate "DiBcom 7000PC" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_DIB9000 tristate "DiBcom 9000" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Designed for mobile usage. Say Y when you want to support this frontend. config DVB_TDA10048 tristate "Philips TDA10048HN based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T tuner module. Say Y when you want to support this frontend. config DVB_AF9013 tristate "Afatech AF9013 demodulator" depends on DVB_CORE && I2C && I2C_MUX select REGMAP default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_EC100 tristate "E3C EC100" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_STV0367 tristate "ST STV0367 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T/C tuner module. Say Y when you want to support this frontend. config DVB_CXD2820R tristate "Sony CXD2820R" depends on DVB_CORE && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_CXD2841ER tristate "Sony CXD2841ER" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_RTL2830 tristate "Realtek RTL2830 DVB-T" depends on DVB_CORE && I2C && I2C_MUX select REGMAP default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_RTL2832 tristate "Realtek RTL2832 DVB-T" depends on DVB_CORE && I2C && I2C_MUX select REGMAP default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_RTL2832_SDR tristate "Realtek RTL2832 SDR" depends on DVB_CORE && I2C && I2C_MUX && VIDEO_V4L2 && MEDIA_SDR_SUPPORT && USB select DVB_RTL2832 select VIDEOBUF2_VMALLOC default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this SDR module. config DVB_SI2168 tristate "Silicon Labs Si2168" depends on DVB_CORE && I2C && I2C_MUX default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_AS102_FE tristate depends on DVB_CORE default DVB_AS102 config DVB_ZD1301_DEMOD tristate "ZyDAS ZD1301" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_GP8PSK_FE tristate depends on DVB_CORE default DVB_USB_GP8PSK source "drivers/media/dvb-frontends/cxd2880/Kconfig" comment "DVB-C (cable) frontends" depends on DVB_CORE config DVB_VES1820 tristate "VLSI VES1820 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-C tuner module. Say Y when you want to support this frontend. config DVB_TDA10021 tristate "Philips TDA10021 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-C tuner module. Say Y when you want to support this frontend. config DVB_TDA10023 tristate "Philips TDA10023 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-C tuner module. Say Y when you want to support this frontend. config DVB_STV0297 tristate "ST STV0297 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-C tuner module. Say Y when you want to support this frontend. comment "ATSC (North American/Korean Terrestrial/Cable DTV) frontends" depends on DVB_CORE config DVB_NXT200X tristate "NxtWave Communications NXT2002/NXT2004 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the commands "<kerneldir>/scripts/get_dvb_firmware nxt2002" and "<kerneldir>/scripts/get_dvb_firmware nxt2004" to download/extract them, and then copy them to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_OR51211 tristate "Oren OR51211 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the command "<kerneldir>/scripts/get_dvb_firmware or51211" to download it, and then copy it to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_OR51132 tristate "Oren OR51132 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. This driver needs external firmware. Please use the commands "<kerneldir>/scripts/get_dvb_firmware or51132_vsb" and/or "<kerneldir>/scripts/get_dvb_firmware or51132_qam" to download firmwares for 8VSB and QAM64/256, respectively. Copy them to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). config DVB_BCM3510 tristate "Broadcom BCM3510" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB/16VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. config DVB_LGDT330X tristate "LG Electronics LGDT3302/LGDT3303 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. config DVB_LGDT3305 tristate "LG Electronics LGDT3304 and LGDT3305 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. config DVB_LGDT3306A tristate "LG Electronics LGDT3306A based" depends on DVB_CORE && I2C && I2C_MUX default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM-B 64/256 demodulator module. Say Y when you want to support this frontend. config DVB_LG2160 tristate "LG Electronics LG216x based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC/MH demodulator module. Say Y when you want to support this frontend. config DVB_S5H1409 tristate "Samsung S5H1409 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. config DVB_AU8522 depends on DVB_CORE && I2C tristate config DVB_AU8522_DTV tristate "Auvitek AU8522 based DTV demod" depends on DVB_CORE && I2C select DVB_AU8522 default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB, QAM64/256 & NTSC demodulator module. Say Y when you want to enable DTV demodulation support for this frontend. config DVB_AU8522_V4L tristate "Auvitek AU8522 based ATV demod" depends on VIDEO_V4L2 && DVB_CORE && I2C select DVB_AU8522 default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB, QAM64/256 & NTSC demodulator module. Say Y when you want to enable ATV demodulation support for this frontend. config DVB_S5H1411 tristate "Samsung S5H1411 based" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. comment "ISDB-T (terrestrial) frontends" depends on DVB_CORE config DVB_S921 tristate "Sharp S921 frontend" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help AN ISDB-T DQPSK, QPSK, 16QAM and 64QAM 1seg tuner module. Say Y when you want to support this frontend. config DVB_DIB8000 tristate "DiBcom 8000MB/MC" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for DiBcom's DiB8000 ISDB-T/ISDB-Tsb demodulator. Say Y when you want to support this frontend. config DVB_MB86A20S tristate "Fujitsu mb86a20s" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for Fujitsu mb86a20s ISDB-T/ISDB-Tsb demodulator. Say Y when you want to support this frontend. comment "ISDB-S (satellite) & ISDB-T (terrestrial) frontends" depends on DVB_CORE config DVB_TC90522 tristate "Toshiba TC90522" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Toshiba TC90522 2xISDB-S 8PSK + 2xISDB-T OFDM demodulator. Say Y when you want to support this frontend. config DVB_MN88443X tristate "Socionext MN88443x" depends on DVB_CORE && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for Socionext/Panasonic MN884433 and MN884434 ISDB-S + ISDB-T demodulator. Say Y when you want to support this frontend. comment "Digital terrestrial only tuners/PLL" depends on DVB_CORE config DVB_PLL tristate "Generic I2C PLL based tuners" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help This module drives a number of tuners based on PLL chips with a common I2C interface. Say Y when you want to support these tuners. config DVB_TUNER_DIB0070 tristate "DiBcom DiB0070 silicon base-band tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon baseband tuner DiB0070 from DiBcom. This device is only used inside a SiP called together with a demodulator for now. config DVB_TUNER_DIB0090 tristate "DiBcom DiB0090 silicon base-band tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon baseband tuner DiB0090 from DiBcom. This device is only used inside a SiP called together with a demodulator for now. comment "SEC control devices for DVB-S" depends on DVB_CORE source "drivers/media/dvb-frontends/drx39xyj/Kconfig" config DVB_LNBH25 tristate "LNBH25 SEC controller" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An SEC control chip. Say Y when you want to support this chip. config DVB_LNBH29 tristate "LNBH29 SEC controller" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help LNB power supply and control voltage regulator chip with step-up converter and I2C interface for STMicroelectronics LNBH29. Say Y when you want to support this chip. config DVB_LNBP21 tristate "LNBP21/LNBH24 SEC controllers" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An SEC control chips. config DVB_LNBP22 tristate "LNBP22 SEC controllers" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help LNB power supply and control voltage regulator chip with step-up converter and I2C interface. Say Y when you want to support this chip. config DVB_ISL6405 tristate "ISL6405 SEC controller" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An SEC control chip. config DVB_ISL6421 tristate "ISL6421 SEC controller" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An SEC control chip. config DVB_ISL6423 tristate "ISL6423 SEC controller" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A SEC controller chip from Intersil config DVB_A8293 tristate "Allegro A8293" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT config DVB_LGS8GL5 tristate "Silicon Legend LGS-8GL5 demodulator (OFDM)" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DMB-TH tuner module. Say Y when you want to support this frontend. config DVB_LGS8GXX tristate "Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator" depends on DVB_CORE && I2C select FW_LOADER default m if !MEDIA_SUBDRV_AUTOSELECT help A DMB-TH tuner module. Say Y when you want to support this frontend. config DVB_ATBM8830 tristate "AltoBeam ATBM8830/8831 DMB-TH demodulator" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DMB-TH tuner module. Say Y when you want to support this frontend. config DVB_TDA665x tristate "TDA665x tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Support for tuner modules based on Philips TDA6650/TDA6651 chips. Say Y when you want to support this chip. Currently supported tuners: * Panasonic ENV57H12D5 (ET-50DT) config DVB_IX2505V tristate "Sharp IX2505V silicon tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_M88RS2000 tristate "M88RS2000 DVB-S demodulator and tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-S tuner module. Say Y when you want to support this frontend. config DVB_AF9033 tristate "Afatech AF9033 DVB-T demodulator" depends on DVB_CORE && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT config DVB_HORUS3A tristate "Sony Horus3A tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_ASCOT2E tristate "Sony Ascot2E tuner" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. config DVB_HELENE tristate "Sony HELENE Sat/Ter tuner (CXD2858ER)" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y when you want to support this frontend. comment "Common Interface (EN50221) controller drivers" depends on DVB_CORE config DVB_CXD2099 tristate "Sony CXD2099AR Common Interface driver" depends on DVB_CORE && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the CI controller currently found mostly on Digital Devices DuoFlex CI (single) addon modules. Say Y when you want to support these devices. config DVB_SP2 tristate "CIMaX SP2" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help CIMaX SP2/SP2HF Common Interface module. comment "Tools to develop new frontends" config DVB_DUMMY_FE tristate "Dummy frontend driver" depends on DVB_CORE endmenu media/dvb-frontends/drx39xyj/Kconfig 0000644 00000000411 14722053666 0013414 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_DRX39XYJ tristate "Micronas DRX-J demodulator" depends on DVB_CORE && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. media/dvb-frontends/drx39xyj/Makefile 0000644 00000000233 14722053666 0013553 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only drx39xyj-objs := drxj.o obj-$(CONFIG_DVB_DRX39XYJ) += drx39xyj.o ccflags-y += -I$(srctree)/drivers/media/tuners/ media/dvb-frontends/Makefile 0000644 00000012176 14722053666 0012060 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel DVB frontend device drivers. # ccflags-y += -I$(srctree)/drivers/media/tuners/ # FIXME: RTL2832 SDR driver uses power management directly from USB IF driver ifdef CONFIG_DVB_RTL2832_SDR ccflags-y += -I$(srctree)/drivers/media/usb/dvb-usb-v2 endif stb0899-objs := stb0899_drv.o stb0899_algo.o stv0900-objs := stv0900_core.o stv0900_sw.o drxd-objs := drxd_firm.o drxd_hard.o cxd2820r-objs := cxd2820r_core.o cxd2820r_c.o cxd2820r_t.o cxd2820r_t2.o drxk-objs := drxk_hard.o obj-$(CONFIG_DVB_PLL) += dvb-pll.o obj-$(CONFIG_DVB_STV0299) += stv0299.o obj-$(CONFIG_DVB_STB0899) += stb0899.o obj-$(CONFIG_DVB_STB6100) += stb6100.o obj-$(CONFIG_DVB_SP8870) += sp8870.o obj-$(CONFIG_DVB_CX22700) += cx22700.o obj-$(CONFIG_DVB_S5H1432) += s5h1432.o obj-$(CONFIG_DVB_CX24110) += cx24110.o obj-$(CONFIG_DVB_TDA8083) += tda8083.o obj-$(CONFIG_DVB_L64781) += l64781.o obj-$(CONFIG_DVB_DIB3000MB) += dib3000mb.o obj-$(CONFIG_DVB_DIB3000MC) += dib3000mc.o dibx000_common.o obj-$(CONFIG_DVB_DIB7000M) += dib7000m.o dibx000_common.o obj-$(CONFIG_DVB_DIB7000P) += dib7000p.o dibx000_common.o obj-$(CONFIG_DVB_DIB8000) += dib8000.o dibx000_common.o obj-$(CONFIG_DVB_DIB9000) += dib9000.o dibx000_common.o obj-$(CONFIG_DVB_MT312) += mt312.o obj-$(CONFIG_DVB_VES1820) += ves1820.o obj-$(CONFIG_DVB_VES1X93) += ves1x93.o obj-$(CONFIG_DVB_TDA1004X) += tda1004x.o obj-$(CONFIG_DVB_SP887X) += sp887x.o obj-$(CONFIG_DVB_NXT6000) += nxt6000.o obj-$(CONFIG_DVB_MT352) += mt352.o obj-$(CONFIG_DVB_ZL10036) += zl10036.o obj-$(CONFIG_DVB_ZL10039) += zl10039.o obj-$(CONFIG_DVB_ZL10353) += zl10353.o obj-$(CONFIG_DVB_CX22702) += cx22702.o obj-$(CONFIG_DVB_DRXD) += drxd.o obj-$(CONFIG_DVB_TDA10021) += tda10021.o obj-$(CONFIG_DVB_TDA10023) += tda10023.o obj-$(CONFIG_DVB_STV0297) += stv0297.o obj-$(CONFIG_DVB_NXT200X) += nxt200x.o obj-$(CONFIG_DVB_OR51211) += or51211.o obj-$(CONFIG_DVB_OR51132) += or51132.o obj-$(CONFIG_DVB_BCM3510) += bcm3510.o obj-$(CONFIG_DVB_S5H1420) += s5h1420.o obj-$(CONFIG_DVB_LGDT330X) += lgdt330x.o obj-$(CONFIG_DVB_LGDT3305) += lgdt3305.o obj-$(CONFIG_DVB_LGDT3306A) += lgdt3306a.o obj-$(CONFIG_DVB_LG2160) += lg2160.o obj-$(CONFIG_DVB_CX24123) += cx24123.o obj-$(CONFIG_DVB_LNBH25) += lnbh25.o obj-$(CONFIG_DVB_LNBH29) += lnbh29.o obj-$(CONFIG_DVB_LNBP21) += lnbp21.o obj-$(CONFIG_DVB_LNBP22) += lnbp22.o obj-$(CONFIG_DVB_ISL6405) += isl6405.o obj-$(CONFIG_DVB_ISL6421) += isl6421.o obj-$(CONFIG_DVB_TDA10086) += tda10086.o obj-$(CONFIG_DVB_TDA826X) += tda826x.o obj-$(CONFIG_DVB_TDA8261) += tda8261.o obj-$(CONFIG_DVB_TUNER_DIB0070) += dib0070.o obj-$(CONFIG_DVB_TUNER_DIB0090) += dib0090.o obj-$(CONFIG_DVB_TUA6100) += tua6100.o obj-$(CONFIG_DVB_S5H1409) += s5h1409.o obj-$(CONFIG_DVB_TUNER_ITD1000) += itd1000.o obj-$(CONFIG_DVB_AU8522) += au8522_common.o obj-$(CONFIG_DVB_AU8522_DTV) += au8522_dig.o obj-$(CONFIG_DVB_AU8522_V4L) += au8522_decoder.o obj-$(CONFIG_DVB_TDA10048) += tda10048.o obj-$(CONFIG_DVB_TUNER_CX24113) += cx24113.o obj-$(CONFIG_DVB_S5H1411) += s5h1411.o obj-$(CONFIG_DVB_LGS8GL5) += lgs8gl5.o obj-$(CONFIG_DVB_TDA665x) += tda665x.o obj-$(CONFIG_DVB_LGS8GXX) += lgs8gxx.o obj-$(CONFIG_DVB_ATBM8830) += atbm8830.o obj-$(CONFIG_DVB_DUMMY_FE) += dvb_dummy_fe.o obj-$(CONFIG_DVB_AF9013) += af9013.o obj-$(CONFIG_DVB_CX24116) += cx24116.o obj-$(CONFIG_DVB_CX24117) += cx24117.o obj-$(CONFIG_DVB_CX24120) += cx24120.o obj-$(CONFIG_DVB_SI21XX) += si21xx.o obj-$(CONFIG_DVB_SI2168) += si2168.o obj-$(CONFIG_DVB_STV0288) += stv0288.o obj-$(CONFIG_DVB_STB6000) += stb6000.o obj-$(CONFIG_DVB_S921) += s921.o obj-$(CONFIG_DVB_STV6110) += stv6110.o obj-$(CONFIG_DVB_STV0900) += stv0900.o obj-$(CONFIG_DVB_STV090x) += stv090x.o obj-$(CONFIG_DVB_STV6110x) += stv6110x.o obj-$(CONFIG_DVB_M88DS3103) += m88ds3103.o obj-$(CONFIG_DVB_MN88472) += mn88472.o obj-$(CONFIG_DVB_MN88473) += mn88473.o obj-$(CONFIG_DVB_ISL6423) += isl6423.o obj-$(CONFIG_DVB_EC100) += ec100.o obj-$(CONFIG_DVB_DS3000) += ds3000.o obj-$(CONFIG_DVB_TS2020) += ts2020.o obj-$(CONFIG_DVB_MB86A16) += mb86a16.o obj-$(CONFIG_DVB_DRX39XYJ) += drx39xyj/ obj-$(CONFIG_DVB_MB86A20S) += mb86a20s.o obj-$(CONFIG_DVB_IX2505V) += ix2505v.o obj-$(CONFIG_DVB_STV0367) += stv0367.o obj-$(CONFIG_DVB_CXD2820R) += cxd2820r.o obj-$(CONFIG_DVB_CXD2841ER) += cxd2841er.o obj-$(CONFIG_DVB_DRXK) += drxk.o obj-$(CONFIG_DVB_TDA18271C2DD) += tda18271c2dd.o obj-$(CONFIG_DVB_STV0910) += stv0910.o obj-$(CONFIG_DVB_STV6111) += stv6111.o obj-$(CONFIG_DVB_MXL5XX) += mxl5xx.o obj-$(CONFIG_DVB_SI2165) += si2165.o obj-$(CONFIG_DVB_A8293) += a8293.o obj-$(CONFIG_DVB_SP2) += sp2.o obj-$(CONFIG_DVB_TDA10071) += tda10071.o obj-$(CONFIG_DVB_RTL2830) += rtl2830.o obj-$(CONFIG_DVB_RTL2832) += rtl2832.o obj-$(CONFIG_DVB_RTL2832_SDR) += rtl2832_sdr.o obj-$(CONFIG_DVB_M88RS2000) += m88rs2000.o obj-$(CONFIG_DVB_AF9033) += af9033.o obj-$(CONFIG_DVB_AS102_FE) += as102_fe.o obj-$(CONFIG_DVB_GP8PSK_FE) += gp8psk-fe.o obj-$(CONFIG_DVB_TC90522) += tc90522.o obj-$(CONFIG_DVB_MN88443X) += mn88443x.o obj-$(CONFIG_DVB_HORUS3A) += horus3a.o obj-$(CONFIG_DVB_ASCOT2E) += ascot2e.o obj-$(CONFIG_DVB_HELENE) += helene.o obj-$(CONFIG_DVB_ZD1301_DEMOD) += zd1301_demod.o obj-$(CONFIG_DVB_CXD2099) += cxd2099.o obj-$(CONFIG_DVB_CXD2880) += cxd2880/ media/tuners/Kconfig 0000644 00000021564 14722053666 0010471 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Analog TV tuners, auto-loaded via tuner.ko config MEDIA_TUNER tristate depends on (MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT) && I2C default y select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC4000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT20XX if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TEA5761 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_RADIO_SUPPORT select MEDIA_TUNER_TEA5767 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_RADIO_SUPPORT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA9887 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MC44S803 if MEDIA_SUBDRV_AUTOSELECT comment "Tuner drivers hidden by 'Autoselect ancillary drivers'" depends on MEDIA_HIDE_ANCILLARY_SUBDRV depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT menu "Customize TV tuners" visible if !MEDIA_HIDE_ANCILLARY_SUBDRV depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT config MEDIA_TUNER_SIMPLE tristate "Simple tuner support" depends on MEDIA_SUPPORT && I2C select MEDIA_TUNER_TDA9887 default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for various simple tuners. config MEDIA_TUNER_TDA18250 tristate "NXP TDA18250 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for TDA18250 tuner. config MEDIA_TUNER_TDA8290 tristate "TDA 8290/8295 + 8275(a)/18271 tuner combo" depends on MEDIA_SUPPORT && I2C select MEDIA_TUNER_TDA827X select MEDIA_TUNER_TDA18271 default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for Philips TDA8290+8275(a) tuner. config MEDIA_TUNER_TDA827X tristate "Philips TDA827X silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A DVB-T silicon tuner module. Say Y when you want to support this tuner. config MEDIA_TUNER_TDA18271 tristate "NXP TDA18271 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A silicon tuner module. Say Y when you want to support this tuner. config MEDIA_TUNER_TDA9887 tristate "TDA 9885/6/7 analog IF demodulator" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for Philips TDA9885/6/7 analog IF demodulator. config MEDIA_TUNER_TEA5761 tristate "TEA 5761 radio tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for the Philips TEA5761 radio tuner. config MEDIA_TUNER_TEA5767 tristate "TEA 5767 radio tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for the Philips TEA5767 radio tuner. config MEDIA_TUNER_MSI001 tristate "Mirics MSi001" depends on MEDIA_SUPPORT && SPI && VIDEO_V4L2 default m if !MEDIA_SUBDRV_AUTOSELECT help Mirics MSi001 silicon tuner driver. config MEDIA_TUNER_MT20XX tristate "Microtune 2032 / 2050 tuners" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for the MT2032 / MT2050 tuner. config MEDIA_TUNER_MT2060 tristate "Microtune MT2060 silicon IF tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon IF tuner MT2060 from Microtune. config MEDIA_TUNER_MT2063 tristate "Microtune MT2063 silicon IF tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon IF tuner MT2063 from Microtune. config MEDIA_TUNER_MT2266 tristate "Microtune MT2266 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon baseband tuner MT2266 from Microtune. config MEDIA_TUNER_MT2131 tristate "Microtune MT2131 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon baseband tuner MT2131 from Microtune. config MEDIA_TUNER_QT1010 tristate "Quantek QT1010 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner QT1010 from Quantek. config MEDIA_TUNER_XC2028 tristate "XCeive xc2028/xc3028 tuners" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to include support for the xc2028/xc3028 tuners. config MEDIA_TUNER_XC5000 tristate "Xceive XC5000 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner XC5000 from Xceive. This device is only used inside a SiP called together with a demodulator for now. config MEDIA_TUNER_XC4000 tristate "Xceive XC4000 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner XC4000 from Xceive. This device is only used inside a SiP called together with a demodulator for now. config MEDIA_TUNER_MXL5005S tristate "MaxLinear MSL5005S silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner MXL5005S from MaxLinear. config MEDIA_TUNER_MXL5007T tristate "MaxLinear MxL5007T silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner MxL5007T from MaxLinear. config MEDIA_TUNER_MC44S803 tristate "Freescale MC44S803 Low Power CMOS Broadband tuners" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Say Y here to support the Freescale MC44S803 based tuners config MEDIA_TUNER_MAX2165 tristate "Maxim MAX2165 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help A driver for the silicon tuner MAX2165 from Maxim. config MEDIA_TUNER_TDA18218 tristate "NXP TDA18218 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help NXP TDA18218 silicon tuner driver. config MEDIA_TUNER_FC0011 tristate "Fitipower FC0011 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Fitipower FC0011 silicon tuner driver. config MEDIA_TUNER_FC0012 tristate "Fitipower FC0012 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Fitipower FC0012 silicon tuner driver. config MEDIA_TUNER_FC0013 tristate "Fitipower FC0013 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Fitipower FC0013 silicon tuner driver. config MEDIA_TUNER_TDA18212 tristate "NXP TDA18212 silicon tuner" depends on MEDIA_SUPPORT && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help NXP TDA18212 silicon tuner driver. config MEDIA_TUNER_E4000 tristate "Elonics E4000 silicon tuner" depends on MEDIA_SUPPORT && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Elonics E4000 silicon tuner driver. config MEDIA_TUNER_FC2580 tristate "FCI FC2580 silicon tuner" depends on MEDIA_SUPPORT && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help FCI FC2580 silicon tuner driver. config MEDIA_TUNER_M88RS6000T tristate "Montage M88RS6000 internal tuner" depends on MEDIA_SUPPORT && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Montage M88RS6000 internal tuner. config MEDIA_TUNER_TUA9001 tristate "Infineon TUA9001 silicon tuner" depends on MEDIA_SUPPORT && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Infineon TUA 9001 silicon tuner driver. config MEDIA_TUNER_SI2157 tristate "Silicon Labs Si2157 silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Silicon Labs Si2157 silicon tuner driver. config MEDIA_TUNER_IT913X tristate "ITE Tech IT913x silicon tuner" depends on MEDIA_SUPPORT && I2C select REGMAP_I2C default m if !MEDIA_SUBDRV_AUTOSELECT help ITE Tech IT913x silicon tuner driver. config MEDIA_TUNER_R820T tristate "Rafael Micro R820T silicon tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT select BITREVERSE help Rafael Micro R820T silicon tuner driver. config MEDIA_TUNER_MXL301RF tristate "MaxLinear MxL301RF tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help MaxLinear MxL301RF OFDM tuner driver. config MEDIA_TUNER_QM1D1C0042 tristate "Sharp QM1D1C0042 tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Sharp QM1D1C0042 trellis coded 8PSK tuner driver. config MEDIA_TUNER_QM1D1B0004 tristate "Sharp QM1D1B0004 tuner" depends on MEDIA_SUPPORT && I2C default m if !MEDIA_SUBDRV_AUTOSELECT help Sharp QM1D1B0004 ISDB-S tuner driver. endmenu media/tuners/Makefile 0000644 00000004005 14722053666 0010615 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for common V4L/DVB tuners # tda18271-objs := tda18271-maps.o tda18271-common.o tda18271-fe.o obj-$(CONFIG_MEDIA_TUNER_XC2028) += tuner-xc2028.o obj-$(CONFIG_MEDIA_TUNER_SIMPLE) += tuner-simple.o # tuner-types will be merged into tuner-simple, in the future obj-$(CONFIG_MEDIA_TUNER_SIMPLE) += tuner-types.o obj-$(CONFIG_MEDIA_TUNER_MT20XX) += mt20xx.o obj-$(CONFIG_MEDIA_TUNER_TDA8290) += tda8290.o obj-$(CONFIG_MEDIA_TUNER_TEA5767) += tea5767.o obj-$(CONFIG_MEDIA_TUNER_TEA5761) += tea5761.o obj-$(CONFIG_MEDIA_TUNER_TDA9887) += tda9887.o obj-$(CONFIG_MEDIA_TUNER_TDA827X) += tda827x.o obj-$(CONFIG_MEDIA_TUNER_TDA18271) += tda18271.o obj-$(CONFIG_MEDIA_TUNER_XC5000) += xc5000.o obj-$(CONFIG_MEDIA_TUNER_XC4000) += xc4000.o obj-$(CONFIG_MEDIA_TUNER_MSI001) += msi001.o obj-$(CONFIG_MEDIA_TUNER_MT2060) += mt2060.o obj-$(CONFIG_MEDIA_TUNER_MT2063) += mt2063.o obj-$(CONFIG_MEDIA_TUNER_MT2266) += mt2266.o obj-$(CONFIG_MEDIA_TUNER_QT1010) += qt1010.o obj-$(CONFIG_MEDIA_TUNER_MT2131) += mt2131.o obj-$(CONFIG_MEDIA_TUNER_MXL5005S) += mxl5005s.o obj-$(CONFIG_MEDIA_TUNER_MXL5007T) += mxl5007t.o obj-$(CONFIG_MEDIA_TUNER_MC44S803) += mc44s803.o obj-$(CONFIG_MEDIA_TUNER_MAX2165) += max2165.o obj-$(CONFIG_MEDIA_TUNER_TDA18218) += tda18218.o obj-$(CONFIG_MEDIA_TUNER_TDA18212) += tda18212.o obj-$(CONFIG_MEDIA_TUNER_E4000) += e4000.o obj-$(CONFIG_MEDIA_TUNER_FC2580) += fc2580.o obj-$(CONFIG_MEDIA_TUNER_TUA9001) += tua9001.o obj-$(CONFIG_MEDIA_TUNER_SI2157) += si2157.o obj-$(CONFIG_MEDIA_TUNER_FC0011) += fc0011.o obj-$(CONFIG_MEDIA_TUNER_FC0012) += fc0012.o obj-$(CONFIG_MEDIA_TUNER_FC0013) += fc0013.o obj-$(CONFIG_MEDIA_TUNER_IT913X) += it913x.o obj-$(CONFIG_MEDIA_TUNER_R820T) += r820t.o obj-$(CONFIG_MEDIA_TUNER_MXL301RF) += mxl301rf.o obj-$(CONFIG_MEDIA_TUNER_QM1D1C0042) += qm1d1c0042.o obj-$(CONFIG_MEDIA_TUNER_QM1D1B0004) += qm1d1b0004.o obj-$(CONFIG_MEDIA_TUNER_M88RS6000T) += m88rs6000t.o obj-$(CONFIG_MEDIA_TUNER_TDA18250) += tda18250.o ccflags-y += -I$(srctree)/drivers/media/dvb-frontends media/pci/bt8xx/Kconfig 0000644 00000003421 14722053666 0010771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_BT848 tristate "BT848 Video For Linux" depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2 select I2C_ALGOBIT select VIDEOBUF_DMA_SG depends on RC_CORE depends on MEDIA_RADIO_SUPPORT select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TVAUDIO if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TDA7432 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_SAA6588 if MEDIA_SUBDRV_AUTOSELECT select RADIO_ADAPTERS select RADIO_TEA575X help Support for BT848 based frame grabber/overlay boards. This includes the Miro, Hauppauge and STB boards. Please read the material in <file:Documentation/media/v4l-drivers/bttv.rst> for more information. To compile this driver as a module, choose M here: the module will be called bttv. config DVB_BT8XX tristate "DVB/ATSC Support for bt878 based TV cards" depends on DVB_CORE && PCI && I2C && VIDEO_BT848 select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_SP887X if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24110 if MEDIA_SUBDRV_AUTOSELECT select DVB_OR51211 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT help Support for PCI cards based on the Bt8xx PCI bridge. Examples are the Nebula cards, the Pinnacle PCTV cards, the Twinhan DST cards, the pcHDTV HD2000 cards, the DViCO FusionHDTV Lite cards, and some AVerMedia cards. Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the PCI bus, so you need an external software decoder to watch TV on your computer. Say Y if you own such a device and want to use it. media/pci/bt8xx/Makefile 0000644 00000000631 14722053666 0011126 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 bttv-objs := bttv-driver.o bttv-cards.o bttv-if.o \ bttv-risc.o bttv-vbi.o bttv-i2c.o bttv-gpio.o \ bttv-input.o bttv-audio-hook.o btcx-risc.o obj-$(CONFIG_VIDEO_BT848) += bttv.o obj-$(CONFIG_DVB_BT8XX) += bt878.o dvb-bt8xx.o dst.o dst_ca.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends ccflags-y += -I $(srctree)/drivers/media/tuners media/pci/saa7146/Kconfig 0000644 00000002450 14722053666 0011003 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_HEXIUM_GEMINI tristate "Hexium Gemini frame grabber" depends on PCI && VIDEO_V4L2 && I2C select VIDEO_SAA7146_VV help This is a video4linux driver for the Hexium Gemini frame grabber card by Hexium. Please note that the Gemini Dual card is *not* fully supported. To compile this driver as a module, choose M here: the module will be called hexium_gemini. config VIDEO_HEXIUM_ORION tristate "Hexium HV-PCI6 and Orion frame grabber" depends on PCI && VIDEO_V4L2 && I2C select VIDEO_SAA7146_VV help This is a video4linux driver for the Hexium HV-PCI6 and Orion frame grabber cards by Hexium. To compile this driver as a module, choose M here: the module will be called hexium_orion. config VIDEO_MXB tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" depends on PCI && VIDEO_V4L2 && I2C select VIDEO_SAA7146_VV select VIDEO_TUNER select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TDA9840 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TEA6415C if MEDIA_SUBDRV_AUTOSELECT select VIDEO_TEA6420 if MEDIA_SUBDRV_AUTOSELECT help This is a video4linux driver for the 'Multimedia eXtension Board' TV card by Siemens-Nixdorf. To compile this driver as a module, choose M here: the module will be called mxb. media/pci/saa7146/Makefile 0000644 00000000336 14722053666 0011141 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_MXB) += mxb.o obj-$(CONFIG_VIDEO_HEXIUM_ORION) += hexium_orion.o obj-$(CONFIG_VIDEO_HEXIUM_GEMINI) += hexium_gemini.o ccflags-y += -I$(srctree)/drivers/media/i2c media/pci/solo6x10/Kconfig 0000644 00000001270 14722053666 0011307 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_SOLO6X10 tristate "Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264)" depends on PCI && VIDEO_DEV && SND && I2C select BITREVERSE select FONT_SUPPORT select FONT_8x16 select VIDEOBUF2_DMA_SG select VIDEOBUF2_DMA_CONTIG select SND_PCM select FONT_8x16 help This driver supports the Bluecherry H.264 and MPEG-4 hardware compression capture cards and other Softlogic-based ones. Following cards have been tested: * Bluecherry BC-H16480A (PCIe, 16 port, H.264) * Bluecherry BC-H04120A (PCIe, 4 port, H.264) * Bluecherry BC-H04120A-MPCI (Mini-PCI, 4 port, H.264) * Bluecherry BC-04120A (PCIe, 4 port, MPEG-4) media/pci/solo6x10/Makefile 0000644 00000000435 14722053666 0011446 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only solo6x10-y := solo6x10-core.o solo6x10-i2c.o solo6x10-p2m.o solo6x10-v4l2.o \ solo6x10-tw28.o solo6x10-gpio.o solo6x10-disp.o solo6x10-enc.o \ solo6x10-v4l2-enc.o solo6x10-g723.o solo6x10-eeprom.o obj-$(CONFIG_VIDEO_SOLO6X10) += solo6x10.o media/pci/meye/Kconfig 0000644 00000001142 14722053666 0010651 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_MEYE tristate "Sony Vaio Picturebook Motion Eye Video For Linux" depends on PCI && VIDEO_V4L2 depends on SONY_LAPTOP depends on X86 || COMPILE_TEST help This is the video4linux driver for the Motion Eye camera found in the Vaio Picturebook laptops. Please read the material in <file:Documentation/media/v4l-drivers/meye.rst> for more information. If you say Y or M here, you need to say Y or M to "Sony Laptop Extras" in the misc device section. To compile this driver as a module, choose M here: the module will be called meye. media/pci/meye/Makefile 0000644 00000000113 14722053666 0011003 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_MEYE) += meye.o media/pci/cobalt/Kconfig 0000644 00000001335 14722053666 0011162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_COBALT tristate "Cisco Cobalt support" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API depends on PCI_MSI && MTD_COMPLEX_MAPPINGS depends on (GPIOLIB && DRM_I2C_ADV7511=n) || COMPILE_TEST depends on SND depends on MTD select I2C_ALGOBIT select SND_PCM select VIDEO_ADV7604 select VIDEO_ADV7511 select VIDEO_ADV7842 select VIDEOBUF2_DMA_SG help This is a video4linux driver for the Cisco PCIe Cobalt card. This board is sadly not available outside of Cisco, but it is very useful as an example of a real driver that uses all the latest frameworks and APIs. To compile this driver as a module, choose M here: the module will be called cobalt. media/pci/cobalt/Makefile 0000644 00000000364 14722053666 0011320 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 cobalt-objs := cobalt-driver.o cobalt-irq.o cobalt-v4l2.o \ cobalt-i2c.o cobalt-omnitek.o cobalt-flash.o cobalt-cpld.o \ cobalt-alsa-main.o cobalt-alsa-pcm.o obj-$(CONFIG_VIDEO_COBALT) += cobalt.o media/pci/ttpci/Kconfig 0000644 00000013412 14722053666 0011040 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_AV7110_IR bool depends on RC_CORE=y || RC_CORE = DVB_AV7110 default DVB_AV7110 config DVB_AV7110 tristate "AV7110 cards" depends on DVB_CORE && PCI && I2C select TTPCI_EEPROM select VIDEO_SAA7146_VV depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT select DVB_SP8870 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT select DVB_L64781 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT help Support for SAA7146 and AV7110 based DVB cards as produced by Fujitsu-Siemens, Technotrend, Hauppauge and others. This driver only supports the fullfeatured cards with onboard MPEG2 decoder. This driver needs an external firmware. Please use the script "<kerneldir>/scripts/get_dvb_firmware av7110" to download/extract it, and then copy it to /usr/lib/hotplug/firmware or /lib/firmware (depending on configuration of firmware hotplug). Alternatively, you can download the file and use the kernel's EXTRA_FIRMWARE configuration option to build it into your kernel image by adding the filename to the EXTRA_FIRMWARE configuration option string. Say Y if you own such a card and want to use it. config DVB_AV7110_OSD bool "AV7110 OSD support" depends on DVB_AV7110 default y if DVB_AV7110=y || DVB_AV7110=m help The AV7110 firmware provides some code to generate an OnScreenDisplay on the video output. This is kind of nonstandard and not guaranteed to be maintained. Anyway, some popular DVB software like VDR uses this OSD to render its menus, so say Y if you want to use this software. All other people say N. config DVB_BUDGET_CORE tristate "SAA7146 DVB cards (aka Budget, Nova-PCI)" depends on DVB_CORE && PCI && I2C select VIDEO_SAA7146 select TTPCI_EEPROM help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard MPEG2 decoder. config DVB_BUDGET tristate "Budget cards" depends on DVB_BUDGET_CORE && I2C select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1820 if MEDIA_SUBDRV_AUTOSELECT select DVB_L64781 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1420 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6423 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard MPEG2 decoder, and without analog inputs or an onboard Common Interface connector. Say Y if you own such a card and want to use it. To compile this driver as a module, choose M here: the module will be called budget. config DVB_BUDGET_CI tristate "Budget cards with onboard CI connector" depends on DVB_BUDGET_CORE && I2C select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT depends on RC_CORE help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard MPEG2 decoder, but with onboard Common Interface connector. Note: The Common Interface is not yet supported by this driver due to lack of information from the vendor. Say Y if you own such a card and want to use it. To compile this driver as a module, choose M here: the module will be called budget-ci. config DVB_BUDGET_AV tristate "Budget cards with analog video inputs" depends on DVB_BUDGET_CORE && I2C select VIDEO_SAA7146_VV depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10021 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8261 if MEDIA_SUBDRV_AUTOSELECT select DVB_TUA6100 if MEDIA_SUBDRV_AUTOSELECT help Support for simple SAA7146 based DVB cards (so called Budget- or Nova-PCI cards) without onboard MPEG2 decoder, but with one or more analog video inputs. Say Y if you own such a card and want to use it. To compile this driver as a module, choose M here: the module will be called budget-av. config DVB_BUDGET_PATCH tristate "AV7110 cards with Budget Patch" depends on DVB_BUDGET_CORE && I2C depends on DVB_AV7110 select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_VES1X93 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA8083 if MEDIA_SUBDRV_AUTOSELECT help Support for Budget Patch (full TS) modification on SAA7146+AV7110 based cards (DVB-S cards). This driver doesn't use onboard MPEG2 decoder. The card is driven in Budget-only mode. Card is required to have loaded firmware to tune properly. Firmware can be loaded by insertion and removal of standard AV7110 driver prior to loading this driver. Say Y if you own such a card and want to use it. To compile this driver as a module, choose M here: the module will be called budget-patch. media/pci/ttpci/Makefile 0000644 00000001311 14722053666 0011170 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel SAA7146 FULL TS DVB device driver # and the AV7110 DVB device driver # dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o dvb_filter.o ifdef CONFIG_DVB_AV7110_IR dvb-ttpci-objs += av7110_ir.o endif obj-$(CONFIG_TTPCI_EEPROM) += ttpci-eeprom.o obj-$(CONFIG_DVB_BUDGET_CORE) += budget-core.o obj-$(CONFIG_DVB_BUDGET) += budget.o obj-$(CONFIG_DVB_BUDGET_AV) += budget-av.o obj-$(CONFIG_DVB_BUDGET_CI) += budget-ci.o obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-patch.o obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ ccflags-y += -I $(srctree)/drivers/media/tuners media/pci/Kconfig 0000644 00000003425 14722053666 0007720 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if PCI && MEDIA_SUPPORT menuconfig MEDIA_PCI_SUPPORT bool "Media PCI Adapters" help Enable media drivers for PCI/PCIe bus. If you have such devices, say Y. if MEDIA_PCI_SUPPORT if MEDIA_CAMERA_SUPPORT comment "Media capture support" source "drivers/media/pci/meye/Kconfig" source "drivers/media/pci/solo6x10/Kconfig" source "drivers/media/pci/sta2x11/Kconfig" source "drivers/media/pci/tw5864/Kconfig" source "drivers/media/pci/tw68/Kconfig" source "drivers/media/pci/tw686x/Kconfig" endif if MEDIA_ANALOG_TV_SUPPORT comment "Media capture/analog TV support" source "drivers/media/pci/ivtv/Kconfig" source "drivers/media/pci/saa7146/Kconfig" source "drivers/media/pci/dt3155/Kconfig" endif if MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT comment "Media capture/analog/hybrid TV support" source "drivers/media/pci/cx18/Kconfig" source "drivers/media/pci/cx23885/Kconfig" source "drivers/media/pci/cx25821/Kconfig" source "drivers/media/pci/cx88/Kconfig" source "drivers/media/pci/bt8xx/Kconfig" source "drivers/media/pci/saa7134/Kconfig" source "drivers/media/pci/saa7164/Kconfig" source "drivers/media/pci/cobalt/Kconfig" endif if MEDIA_DIGITAL_TV_SUPPORT comment "Media digital TV PCI Adapters" source "drivers/media/pci/ttpci/Kconfig" source "drivers/media/pci/b2c2/Kconfig" source "drivers/media/pci/pluto2/Kconfig" source "drivers/media/pci/dm1105/Kconfig" source "drivers/media/pci/pt1/Kconfig" source "drivers/media/pci/pt3/Kconfig" source "drivers/media/pci/mantis/Kconfig" source "drivers/media/pci/ngene/Kconfig" source "drivers/media/pci/ddbridge/Kconfig" source "drivers/media/pci/smipcie/Kconfig" source "drivers/media/pci/netup_unidvb/Kconfig" endif source "drivers/media/pci/intel/ipu3/Kconfig" endif #MEDIA_PCI_SUPPORT endif #PCI media/pci/cx23885/Kconfig 0000644 00000004557 14722053666 0010753 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX23885 tristate "Conexant cx23885 (2388x successor) support" depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT && SND select SND_PCM select I2C_ALGOBIT select VIDEO_TUNER select VIDEO_TVEEPROM depends on RC_CORE select VIDEOBUF2_DVB select VIDEOBUF2_DMA_SG select VIDEO_CX25840 select VIDEO_CX2341X select VIDEO_CS3308 select DVB_DIB7000P if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24117 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0367 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10071 if MEDIA_SUBDRV_AUTOSELECT select DVB_A8293 if MEDIA_SUBDRV_AUTOSELECT select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT select DVB_SI2165 if MEDIA_SUBDRV_AUTOSELECT select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2063 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2131 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88RS6000T if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_DIB0070 if MEDIA_SUBDRV_AUTOSELECT help This is a video4linux driver for Conexant 23885 based TV cards. To compile this driver as a module, choose M here: the module will be called cx23885 config MEDIA_ALTERA_CI tristate "Altera FPGA based CI module" depends on VIDEO_CX23885 && DVB_CORE select ALTERA_STAPL help An Altera FPGA CI module for NetUP Dual DVB-T/C RF CI card. To compile this driver as a module, choose M here: the module will be called altera-ci media/pci/cx23885/Makefile 0000644 00000001065 14722053666 0011077 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 cx23885-objs := cx23885-cards.o cx23885-video.o cx23885-vbi.o \ cx23885-core.o cx23885-i2c.o cx23885-dvb.o cx23885-417.o \ cx23885-ioctl.o cx23885-ir.o cx23885-av.o cx23885-input.o \ cx23888-ir.o netup-init.o cimax2.o netup-eeprom.o \ cx23885-f300.o cx23885-alsa.o obj-$(CONFIG_VIDEO_CX23885) += cx23885.o obj-$(CONFIG_MEDIA_ALTERA_CI) += altera-ci.o ccflags-y += -I $(srctree)/drivers/media/tuners ccflags-y += -I $(srctree)/drivers/media/dvb-frontends ccflags-y += $(extra-cflags-y) $(extra-cflags-m) media/pci/smipcie/Kconfig 0000644 00000001143 14722053666 0011344 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_SMIPCIE tristate "SMI PCIe DVBSky cards" depends on DVB_CORE && PCI && I2C select I2C_ALGOBIT select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_M88RS6000T if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT depends on RC_CORE help Support for cards with SMI PCIe bridge: - DVBSky S950 V3 - DVBSky S952 V3 - DVBSky T9580 V3 Say Y or M if you own such a device and want to use it. If unsure say N. media/pci/smipcie/Makefile 0000644 00000000340 14722053666 0011477 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 smipcie-objs := smipcie-main.o smipcie-ir.o obj-$(CONFIG_DVB_SMIPCIE) += smipcie.o ccflags-y += -I $(srctree)/drivers/media/tuners ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/pci/pluto2/Kconfig 0000644 00000001020 14722053666 0011132 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_PLUTO2 tristate "Pluto2 cards" depends on DVB_CORE && PCI && I2C select I2C_ALGOBIT select DVB_TDA1004X help Support for PCI cards based on the Pluto2 FPGA like the Satelco Easywatch Mobile Terrestrial DVB-T Receiver. Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the PCI bus, so you need an external software decoder to watch TV on your computer. Say Y or M if you own such a device and want to use it. media/pci/pluto2/Makefile 0000644 00000000206 14722053666 0011274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DVB_PLUTO2) += pluto2.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ media/pci/ddbridge/Kconfig 0000644 00000003521 14722053666 0011461 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_DDBRIDGE tristate "Digital Devices bridge support" depends on DVB_CORE && PCI && I2C select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0367 if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2841ER if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0910 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6111 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBH25 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT select DVB_MXL5XX if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2099 if MEDIA_SUBDRV_AUTOSELECT select DVB_DUMMY_FE if MEDIA_SUBDRV_AUTOSELECT help Support for cards with the Digital Devices PCI express bridge: - Octopus PCIe Bridge - Octopus mini PCIe Bridge - Octopus LE - DuoFlex S2 Octopus - DuoFlex CT Octopus - cineS2(v6) - CineCTv6 and DuoFlex CT (STV0367-based) - CineCTv7 and DuoFlex CT2/C2T2/C2T2I (Sony CXD28xx-based) - MaxA8 series - CineS2 V7/V7A and DuoFlex S2 V4 (ST STV0910-based) - Max S4/8 Say Y if you own such a card and want to use it. config DVB_DDBRIDGE_MSIENABLE bool "Enable Message Signaled Interrupts (MSI) per default (EXPERIMENTAL)" depends on DVB_DDBRIDGE depends on PCI_MSI help Use PCI MSI (Message Signaled Interrupts) per default. Enabling this might lead to I2C errors originating from the bridge in conjunction with certain SATA controllers, requiring a reload of the ddbridge module. MSI can still be disabled by passing msi=0 as option, as this will just change the msi option default value. If you're unsure, concerned about stability and don't want to pass module options in case of troubles, say N. media/pci/ddbridge/Makefile 0000644 00000000567 14722053666 0011625 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the ddbridge device driver # ddbridge-objs := ddbridge-main.o ddbridge-core.o ddbridge-ci.o \ ddbridge-hw.o ddbridge-i2c.o ddbridge-max.o ddbridge-mci.o \ ddbridge-sx8.o obj-$(CONFIG_DVB_DDBRIDGE) += ddbridge.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ ccflags-y += -I $(srctree)/drivers/media/tuners/ media/pci/tw5864/Kconfig 0000644 00000000671 14722053666 0010701 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TW5864 tristate "Techwell TW5864 video/audio grabber and encoder" depends on VIDEO_DEV && PCI && VIDEO_V4L2 select VIDEOBUF2_DMA_CONTIG help Support for boards based on Techwell TW5864 chip which provides multichannel video & audio grabbing and encoding (H.264, MJPEG, ADPCM G.726). To compile this driver as a module, choose M here: the module will be called tw5864. media/pci/tw5864/Makefile 0000644 00000000230 14722053666 0011025 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only tw5864-objs := tw5864-core.o tw5864-video.o tw5864-h264.o tw5864-util.o obj-$(CONFIG_VIDEO_TW5864) += tw5864.o media/pci/sta2x11/Kconfig 0000644 00000001021 14722053666 0011111 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config STA2X11_VIP tristate "STA2X11 VIP Video For Linux" depends on STA2X11 || COMPILE_TEST select GPIOLIB if MEDIA_SUBDRV_AUTOSELECT select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT select VIDEOBUF2_DMA_CONTIG depends on PCI && VIDEO_V4L2 && VIRT_TO_BUS depends on VIDEO_V4L2_SUBDEV_API depends on I2C help Say Y for support for STA2X11 VIP (Video Input Port) capture device. To compile this driver as a module, choose M here: the module will be called sta2x11_vip. media/pci/sta2x11/Makefile 0000644 00000000123 14722053666 0011250 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_STA2X11_VIP) += sta2x11_vip.o media/pci/b2c2/Kconfig 0000644 00000001040 14722053666 0010437 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_B2C2_FLEXCOP_PCI tristate "Technisat/B2C2 Air/Sky/Cable2PC PCI" depends on DVB_CORE && I2C help Support for the Air/Sky/CableStar2 PCI card (DVB/ATSC) by Technisat/B2C2. Say Y if you own such a device and want to use it. config DVB_B2C2_FLEXCOP_PCI_DEBUG bool "Enable debug for the B2C2 FlexCop drivers" depends on DVB_B2C2_FLEXCOP_PCI select DVB_B2C2_FLEXCOP_DEBUG help Say Y if you want to enable the module option to control debug messages of all B2C2 FlexCop drivers. media/pci/b2c2/Makefile 0000644 00000000420 14722053666 0010575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ifneq ($(CONFIG_DVB_B2C2_FLEXCOP_PCI),) b2c2-flexcop-pci-objs += flexcop-dma.o endif b2c2-flexcop-pci-objs += flexcop-pci.o obj-$(CONFIG_DVB_B2C2_FLEXCOP_PCI) += b2c2-flexcop-pci.o ccflags-y += -I $(srctree)/drivers/media/common/b2c2/ media/pci/tw686x/Kconfig 0000644 00000001334 14722053666 0011003 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TW686X tristate "Intersil/Techwell TW686x video capture cards" depends on PCI && VIDEO_DEV && VIDEO_V4L2 && SND select VIDEOBUF2_VMALLOC select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_DMA_SG select SND_PCM help Support for Intersil/Techwell TW686x-based frame grabber cards. Currently supported chips: - TW6864 (4 video channels), - TW6865 (4 video channels, not tested, second generation chip), - TW6868 (8 video channels but only 4 first channels using built-in video decoder are supported, not tested), - TW6869 (8 video channels, second generation chip). To compile this driver as a module, choose M here: the module will be named tw686x. media/pci/tw686x/Makefile 0000644 00000000213 14722053666 0011133 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only tw686x-objs := tw686x-core.o tw686x-video.o tw686x-audio.o obj-$(CONFIG_VIDEO_TW686X) += tw686x.o media/pci/ngene/Kconfig 0000644 00000001551 14722053666 0011012 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_NGENE tristate "Micronas nGene support" depends on DVB_CORE && PCI && I2C select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110x if MEDIA_SUBDRV_AUTOSELECT select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MT2131 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0367 if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2841ER if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0910 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6111 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBH25 if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2099 if MEDIA_SUBDRV_AUTOSELECT help Support for Micronas PCI express cards with nGene bridge. media/pci/ngene/Makefile 0000644 00000000436 14722053666 0011150 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the nGene device driver # ngene-objs := ngene-core.o ngene-i2c.o ngene-cards.o ngene-dvb.o obj-$(CONFIG_DVB_NGENE) += ngene.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ ccflags-y += -I $(srctree)/drivers/media/tuners/ media/pci/pt3/Kconfig 0000644 00000000606 14722053666 0010424 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_PT3 tristate "Earthsoft PT3 cards" depends on DVB_CORE && PCI && I2C select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QM1D1C0042 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL301RF if MEDIA_SUBDRV_AUTOSELECT help Support for Earthsoft PT3 PCIe cards. Say Y or M if you own such a device and want to use it. media/pci/pt3/Makefile 0000644 00000000336 14722053666 0010561 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 earth-pt3-objs += pt3.o pt3_i2c.o pt3_dma.o obj-$(CONFIG_DVB_PT3) += earth-pt3.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends ccflags-y += -I $(srctree)/drivers/media/tuners media/pci/ivtv/Kconfig 0000644 00000005761 14722053666 0010715 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_IVTV tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support" depends on VIDEO_V4L2 && PCI && I2C select I2C_ALGOBIT depends on RC_CORE select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_CX2341X select VIDEO_CX25840 select VIDEO_MSP3400 select VIDEO_SAA711X select VIDEO_SAA717X select VIDEO_SAA7127 select VIDEO_CS53L32A select VIDEO_M52790 select VIDEO_WM8775 select VIDEO_WM8739 select VIDEO_VP27SMPX select VIDEO_UPD64031A select VIDEO_UPD64083 help This is a video4linux driver for Conexant cx23416 or cx23415 based PCI personal video recorder devices. This is used in devices such as the Hauppauge PVR-150/250/350/500 cards. There is a driver homepage at <http://www.ivtvdriver.org>. To compile this driver as a module, choose M here: the module will be called ivtv. config VIDEO_IVTV_DEPRECATED_IOCTLS bool "enable the DVB ioctls abuse on ivtv driver" depends on VIDEO_IVTV help Enable the usage of the a DVB set of ioctls that were abused by IVTV driver for a while. Those ioctls were not needed for a long time, as IVTV implements the proper V4L2 ioctls since kernel 3.3. If unsure, say N. config VIDEO_IVTV_ALSA tristate "Conexant cx23415/cx23416 ALSA interface for PCM audio capture" depends on VIDEO_IVTV && SND select SND_PCM help This driver provides an ALSA interface as another method for user applications to obtain PCM audio data from Conexant cx23415/cx23416 based PCI TV cards supported by the ivtv driver. The ALSA interface has much wider use in user applications performing PCM audio capture, than the V4L2 "/dev/video24" PCM audio interface provided by the main ivtv driver. To compile this driver as a module, choose M here: the module will be called ivtv-alsa. config VIDEO_FB_IVTV tristate "Conexant cx23415 framebuffer support" depends on VIDEO_IVTV && FB select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT help This is a framebuffer driver for the Conexant cx23415 MPEG encoder/decoder. This is used in the Hauppauge PVR-350 card. There is a driver homepage at <http://www.ivtvdriver.org>. To compile this driver as a module, choose M here: the module will be called ivtvfb. config VIDEO_FB_IVTV_FORCE_PAT bool "force cx23415 framebuffer init with x86 PAT enabled" depends on VIDEO_FB_IVTV && X86_PAT help With PAT enabled, the cx23415 framebuffer driver does not utilize write-combined caching on the framebuffer memory. For this reason, the driver will by default disable itself when initializied on a kernel with PAT enabled (i.e. not using the nopat kernel parameter). The driver is not easily upgradable to the PAT-aware ioremap_wc() API since the firmware hides the address ranges that should be marked write-combined from the driver. With this setting enabled, the framebuffer will initialize on PAT-enabled systems but the framebuffer memory will be uncached. If unsure, say N. media/pci/ivtv/Makefile 0000644 00000001064 14722053666 0011042 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ivtv-objs := ivtv-routing.o ivtv-cards.o ivtv-controls.o \ ivtv-driver.o ivtv-fileops.o ivtv-firmware.o \ ivtv-gpio.o ivtv-i2c.o ivtv-ioctl.o ivtv-irq.o \ ivtv-mailbox.o ivtv-queue.o ivtv-streams.o ivtv-udma.o \ ivtv-vbi.o ivtv-yuv.o ivtv-alsa-objs := ivtv-alsa-main.o ivtv-alsa-pcm.o obj-$(CONFIG_VIDEO_IVTV) += ivtv.o obj-$(CONFIG_VIDEO_IVTV_ALSA) += ivtv-alsa.o obj-$(CONFIG_VIDEO_FB_IVTV) += ivtvfb.o ccflags-y += -I$(srctree)/drivers/media/tuners ccflags-y += -I$(srctree)/drivers/media/dvb-frontends media/pci/dt3155/Kconfig 0000644 00000000622 14722053666 0010641 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_DT3155 tristate "DT3155 frame grabber" depends on PCI && VIDEO_DEV && VIDEO_V4L2 select VIDEOBUF2_DMA_CONTIG help Enables dt3155 device driver for the DataTranslation DT3155 frame grabber. Say Y here if you have this hardware. In doubt, say N. To compile this driver as a module, choose M here: the module will be called dt3155. media/pci/dt3155/Makefile 0000644 00000000117 14722053666 0010775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_DT3155) += dt3155.o media/pci/dm1105/Kconfig 0000644 00000001543 14722053666 0010626 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_DM1105 tristate "SDMC DM1105 based PCI cards" depends on DVB_CORE && PCI && I2C && I2C_ALGOBIT select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_SI21XX if MEDIA_SUBDRV_AUTOSELECT select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT depends on RC_CORE help Support for cards based on the SDMC DM1105 PCI chip like DvbWorld 2002 Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the PCI bus, so you need an external software decoder to watch TV on your computer. Say Y or M if you own such a device and want to use it. media/pci/dm1105/Makefile 0000644 00000000205 14722053666 0010755 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DVB_DM1105) += dm1105.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/pci/cx88/Kconfig 0000644 00000005772 14722053666 0010521 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX88 tristate "Conexant 2388x (bt878 successor) support" depends on VIDEO_DEV && PCI && I2C && RC_CORE select I2C_ALGOBIT select VIDEOBUF2_DMA_SG select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_WM8775 if MEDIA_SUBDRV_AUTOSELECT help This is a video4linux driver for Conexant 2388x based TV cards. To compile this driver as a module, choose M here: the module will be called cx8800 config VIDEO_CX88_ALSA tristate "Conexant 2388x DMA audio support" depends on VIDEO_CX88 && SND select SND_PCM help This is a video4linux driver for direct (DMA) audio on Conexant 2388x based TV cards using ALSA. It only works with boards with function 01 enabled. To check if your board supports, use lspci -n. If supported, you should see 14f1:8801 or 14f1:8811 PCI device. To compile this driver as a module, choose M here: the module will be called cx88-alsa. config VIDEO_CX88_BLACKBIRD tristate "Blackbird MPEG encoder support (cx2388x + cx23416)" depends on VIDEO_CX88 select VIDEO_CX2341X help This adds support for MPEG encoder cards based on the Blackbird reference design, using the Conexant 2388x and 23416 chips. To compile this driver as a module, choose M here: the module will be called cx88-blackbird. config VIDEO_CX88_DVB tristate "DVB/ATSC Support for cx2388x based TV cards" depends on VIDEO_CX88 && DVB_CORE select VIDEOBUF2_DVB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_OR51132 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX22702 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24123 if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24116 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6000 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_DS3000 if MEDIA_SUBDRV_AUTOSELECT select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT help This adds support for DVB/ATSC cards based on the Conexant 2388x chip. To compile this driver as a module, choose M here: the module will be called cx88-dvb. config VIDEO_CX88_ENABLE_VP3054 bool "VP-3054 Secondary I2C Bus Support" default y depends on VIDEO_CX88_DVB && DVB_MT352 help This adds DVB-T support for cards based on the Conexant 2388x chip and the MT352 demodulator, which also require support for the VP-3054 Secondary I2C bus, such at DNTV Live! DVB-T Pro. config VIDEO_CX88_VP3054 tristate depends on VIDEO_CX88_DVB && VIDEO_CX88_ENABLE_VP3054 default y config VIDEO_CX88_MPEG tristate depends on VIDEO_CX88_DVB || VIDEO_CX88_BLACKBIRD default y media/pci/cx88/Makefile 0000644 00000001112 14722053666 0010636 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 cx88xx-objs := cx88-cards.o cx88-core.o cx88-i2c.o cx88-tvaudio.o \ cx88-dsp.o cx88-input.o cx8800-objs := cx88-video.o cx88-vbi.o cx8802-objs := cx88-mpeg.o obj-$(CONFIG_VIDEO_CX88) += cx88xx.o cx8800.o obj-$(CONFIG_VIDEO_CX88_MPEG) += cx8802.o obj-$(CONFIG_VIDEO_CX88_ALSA) += cx88-alsa.o obj-$(CONFIG_VIDEO_CX88_BLACKBIRD) += cx88-blackbird.o obj-$(CONFIG_VIDEO_CX88_DVB) += cx88-dvb.o obj-$(CONFIG_VIDEO_CX88_VP3054) += cx88-vp3054-i2c.o ccflags-y += -I $(srctree)/drivers/media/tuners ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/pci/intel/ipu3/Kconfig 0000644 00000001104 14722053666 0011703 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_IPU3_CIO2 tristate "Intel ipu3-cio2 driver" depends on VIDEO_V4L2 && PCI depends on VIDEO_V4L2_SUBDEV_API depends on (X86 && ACPI) || COMPILE_TEST depends on MEDIA_CONTROLLER select V4L2_FWNODE select VIDEOBUF2_DMA_SG help This is the Intel IPU3 CIO2 CSI-2 receiver unit, found in Intel Skylake and Kaby Lake SoCs and used for capturing images and video from a camera sensor. Say Y or M here if you have a Skylake/Kaby Lake SoC with MIPI CSI-2 connected camera. The module will be called ipu3-cio2. media/pci/intel/ipu3/Makefile 0000644 00000000125 14722053666 0012042 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_IPU3_CIO2) += ipu3-cio2.o media/pci/intel/Makefile 0000644 00000000152 14722053666 0011162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the IPU3 cio2 and ImGU drivers # obj-y += ipu3/ media/pci/saa7164/Kconfig 0000644 00000001033 14722053666 0010777 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_SAA7164 tristate "NXP SAA7164 support" depends on DVB_CORE && VIDEO_DEV && PCI && I2C select I2C_ALGOBIT select FW_LOADER select VIDEO_TUNER select VIDEO_TVEEPROM select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT help This is a video4linux driver for NXP SAA7164 based TV cards. To compile this driver as a module, choose M here: the module will be called saa7164 media/pci/saa7164/Makefile 0000644 00000000560 14722053666 0011140 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 saa7164-objs := saa7164-cards.o saa7164-core.o saa7164-i2c.o saa7164-dvb.o \ saa7164-fw.o saa7164-bus.o saa7164-cmd.o saa7164-api.o \ saa7164-buffer.o saa7164-encoder.o saa7164-vbi.o obj-$(CONFIG_VIDEO_SAA7164) += saa7164.o ccflags-y += -I$(srctree)/drivers/media/tuners ccflags-y += -I$(srctree)/drivers/media/dvb-frontends media/pci/netup_unidvb/Kconfig 0000644 00000001311 14722053666 0012412 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_NETUP_UNIDVB tristate "NetUP Universal DVB card support" depends on DVB_CORE && VIDEO_DEV && PCI && I2C && SPI_MASTER select VIDEOBUF2_DVB select VIDEOBUF2_VMALLOC select DVB_HORUS3A if MEDIA_SUBDRV_AUTOSELECT select DVB_ASCOT2E if MEDIA_SUBDRV_AUTOSELECT select DVB_HELENE if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBH25 if MEDIA_SUBDRV_AUTOSELECT select DVB_CXD2841ER if MEDIA_SUBDRV_AUTOSELECT help Support for NetUP PCI express Universal DVB card. Say Y when you want to support NetUP Dual Universal DVB card. Card can receive two independent streams in following standards: DVB-S/S2, T/T2, C/C2 Two CI slots available for CAM modules. media/pci/netup_unidvb/Makefile 0000644 00000000455 14722053666 0012557 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 netup-unidvb-objs += netup_unidvb_core.o netup-unidvb-objs += netup_unidvb_i2c.o netup-unidvb-objs += netup_unidvb_ci.o netup-unidvb-objs += netup_unidvb_spi.o obj-$(CONFIG_DVB_NETUP_UNIDVB) += netup-unidvb.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends media/pci/tw68/Kconfig 0000644 00000000504 14722053666 0010523 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_TW68 tristate "Techwell tw68x Video For Linux" depends on VIDEO_DEV && PCI && VIDEO_V4L2 select VIDEOBUF2_DMA_SG help Support for Techwell tw68xx based frame grabber boards. To compile this driver as a module, choose M here: the module will be called tw68. media/pci/tw68/Makefile 0000644 00000000176 14722053666 0010665 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only tw68-objs := tw68-core.o tw68-video.o tw68-risc.o obj-$(CONFIG_VIDEO_TW68) += tw68.o media/pci/mantis/Kconfig 0000644 00000002410 14722053666 0011204 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MANTIS_CORE tristate "Mantis/Hopper PCI bridge based devices" depends on PCI && I2C && INPUT && RC_CORE help Support for PCI cards based on the Mantis and Hopper PCi bridge. Say Y if you own such a device and want to use it. config DVB_MANTIS tristate "MANTIS based cards" depends on MANTIS_CORE && DVB_CORE && PCI && I2C select DVB_MB86A16 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA665x if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10021 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL help Support for PCI cards based on the Mantis PCI bridge. Say Y when you have a Mantis based DVB card and want to use it. If unsure say N. config DVB_HOPPER tristate "HOPPER based cards" depends on MANTIS_CORE && DVB_CORE && PCI && I2C select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL help Support for PCI cards based on the Hopper PCI bridge. Say Y when you have a Hopper based DVB card and want to use it. If unsure say N media/pci/mantis/Makefile 0000644 00000001175 14722053666 0011350 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 mantis_core-objs := mantis_ioc.o \ mantis_uart.o \ mantis_dma.o \ mantis_pci.o \ mantis_i2c.o \ mantis_dvb.o \ mantis_evm.o \ mantis_hif.o \ mantis_ca.o \ mantis_pcmcia.o \ mantis_input.o mantis-objs := mantis_cards.o \ mantis_vp1033.o \ mantis_vp1034.o \ mantis_vp1041.o \ mantis_vp2033.o \ mantis_vp2040.o \ mantis_vp3030.o hopper-objs := hopper_cards.o \ hopper_vp3028.o obj-$(CONFIG_MANTIS_CORE) += mantis_core.o obj-$(CONFIG_DVB_MANTIS) += mantis.o obj-$(CONFIG_DVB_HOPPER) += hopper.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ media/pci/Makefile 0000644 00000001543 14722053666 0010054 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel multimedia device drivers. # obj-y += ttpci/ \ b2c2/ \ pluto2/ \ dm1105/ \ pt1/ \ pt3/ \ mantis/ \ ngene/ \ ddbridge/ \ saa7146/ \ smipcie/ \ netup_unidvb/ \ intel/ obj-$(CONFIG_VIDEO_IVTV) += ivtv/ obj-$(CONFIG_VIDEO_CX18) += cx18/ obj-$(CONFIG_VIDEO_CX23885) += cx23885/ obj-$(CONFIG_VIDEO_CX25821) += cx25821/ obj-$(CONFIG_VIDEO_CX88) += cx88/ obj-$(CONFIG_VIDEO_BT848) += bt8xx/ obj-$(CONFIG_VIDEO_SAA7134) += saa7134/ obj-$(CONFIG_VIDEO_SAA7164) += saa7164/ obj-$(CONFIG_VIDEO_TW68) += tw68/ obj-$(CONFIG_VIDEO_TW686X) += tw686x/ obj-$(CONFIG_VIDEO_DT3155) += dt3155/ obj-$(CONFIG_VIDEO_MEYE) += meye/ obj-$(CONFIG_STA2X11_VIP) += sta2x11/ obj-$(CONFIG_VIDEO_SOLO6X10) += solo6x10/ obj-$(CONFIG_VIDEO_COBALT) += cobalt/ obj-$(CONFIG_VIDEO_TW5864) += tw5864/ media/pci/saa7134/Kconfig 0000644 00000004744 14722053666 0011010 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_SAA7134 tristate "Philips SAA7134 support" depends on VIDEO_DEV && PCI && I2C select VIDEOBUF2_DMA_SG select VIDEO_TUNER select VIDEO_TVEEPROM select CRC32 select VIDEO_SAA6588 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_SAA6752HS if MEDIA_SUBDRV_AUTOSELECT help This is a video4linux driver for Philips SAA713x based TV cards. To compile this driver as a module, choose M here: the module will be called saa7134. config VIDEO_SAA7134_ALSA tristate "Philips SAA7134 DMA audio support" depends on VIDEO_SAA7134 && SND select SND_PCM help This is a video4linux driver for direct (DMA) audio in Philips SAA713x based TV cards using ALSA To compile this driver as a module, choose M here: the module will be called saa7134-alsa. config VIDEO_SAA7134_RC bool "Philips SAA7134 Remote Controller support" depends on RC_CORE depends on VIDEO_SAA7134 depends on !(RC_CORE=m && VIDEO_SAA7134=y) default y help Enables Remote Controller support on saa7134 driver. config VIDEO_SAA7134_DVB tristate "DVB/ATSC Support for saa7134 based TV cards" depends on VIDEO_SAA7134 && DVB_CORE select VIDEOBUF2_DVB select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6405 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10036 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT select DVB_ZL10039 if MEDIA_SUBDRV_AUTOSELECT help This adds support for DVB cards based on the Philips saa7134 chip. To compile this driver as a module, choose M here: the module will be called saa7134-dvb. config VIDEO_SAA7134_GO7007 tristate "go7007 support for saa7134 based TV cards" depends on VIDEO_SAA7134 depends on VIDEO_GO7007 help Enables saa7134 driver support for boards with go7007 MPEG encoder (WIS Voyager or compatible). media/pci/saa7134/Makefile 0000644 00000001136 14722053666 0011135 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 saa7134-y += saa7134-cards.o saa7134-core.o saa7134-i2c.o saa7134-y += saa7134-ts.o saa7134-tvaudio.o saa7134-vbi.o saa7134-y += saa7134-video.o saa7134-$(CONFIG_VIDEO_SAA7134_RC) += saa7134-input.o obj-$(CONFIG_VIDEO_SAA7134) += saa7134.o saa7134-empress.o obj-$(CONFIG_VIDEO_SAA7134_GO7007) += saa7134-go7007.o obj-$(CONFIG_VIDEO_SAA7134_ALSA) += saa7134-alsa.o obj-$(CONFIG_VIDEO_SAA7134_DVB) += saa7134-dvb.o ccflags-y += -I$(srctree)/drivers/media/tuners ccflags-y += -I$(srctree)/drivers/media/dvb-frontends ccflags-y += -I$(srctree)/drivers/media/usb/go7007 media/pci/cx18/Kconfig 0000644 00000002175 14722053666 0010504 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX18 tristate "Conexant cx23418 MPEG encoder support" depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C select I2C_ALGOBIT select VIDEOBUF_VMALLOC depends on RC_CORE select VIDEO_TUNER select VIDEO_TVEEPROM select VIDEO_CX2341X select VIDEO_CS5345 select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT help This is a video4linux driver for Conexant cx23418 based PCI combo video recorder devices. This is used in devices such as the Hauppauge HVR-1600 cards. To compile this driver as a module, choose M here: the module will be called cx18. config VIDEO_CX18_ALSA tristate "Conexant 23418 DMA audio support" depends on VIDEO_CX18 && SND select SND_PCM help This is a video4linux driver for direct (DMA) audio on Conexant 23418 based TV cards using ALSA. To compile this driver as a module, choose M here: the module will be called cx18-alsa. media/pci/cx18/Makefile 0000644 00000001124 14722053666 0010632 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 cx18-objs := cx18-driver.o cx18-cards.o cx18-i2c.o cx18-firmware.o cx18-gpio.o \ cx18-queue.o cx18-streams.o cx18-fileops.o cx18-ioctl.o cx18-controls.o \ cx18-mailbox.o cx18-vbi.o cx18-audio.o cx18-video.o cx18-irq.o \ cx18-av-core.o cx18-av-audio.o cx18-av-firmware.o cx18-av-vbi.o cx18-scb.o \ cx18-dvb.o cx18-io.o cx18-alsa-objs := cx18-alsa-main.o cx18-alsa-pcm.o obj-$(CONFIG_VIDEO_CX18) += cx18.o obj-$(CONFIG_VIDEO_CX18_ALSA) += cx18-alsa.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends ccflags-y += -I $(srctree)/drivers/media/tuners media/pci/pt1/Kconfig 0000644 00000001052 14722053666 0010416 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_PT1 tristate "PT1 cards" depends on DVB_CORE && PCI && I2C select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_QM1D1B0004 if MEDIA_SUBDRV_AUTOSELECT help Support for Earthsoft PT1 PCI cards. Since these cards have no MPEG decoder onboard, they transmit only compressed MPEG data over the PCI bus, so you need an external software decoder to watch TV on your computer. Say Y or M if you own such a device and want to use it. media/pci/pt1/Makefile 0000644 00000000316 14722053666 0010555 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only earth-pt1-objs := pt1.o obj-$(CONFIG_DVB_PT1) += earth-pt1.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends ccflags-y += -I $(srctree)/drivers/media/tuners media/pci/cx25821/Kconfig 0000644 00000001531 14722053666 0010730 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CX25821 tristate "Conexant cx25821 support" depends on VIDEO_DEV && PCI && I2C select I2C_ALGOBIT select VIDEOBUF2_DMA_SG help This is a video4linux driver for Conexant 25821 based TV cards. To compile this driver as a module, choose M here: the module will be called cx25821 config VIDEO_CX25821_ALSA tristate "Conexant 25821 DMA audio support" depends on VIDEO_CX25821 && SND select SND_PCM help This is a video4linux driver for direct (DMA) audio on Conexant 25821 based capture cards using ALSA. It only works with boards with function 01 enabled. To check if your board supports, use lspci -n. If supported, you should see 14f1:8801 or 14f1:8811 PCI device. To compile this driver as a module, choose M here: the module will be called cx25821-alsa. media/pci/cx25821/Makefile 0000644 00000000410 14722053666 0011060 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 cx25821-y := cx25821-core.o cx25821-cards.o cx25821-i2c.o \ cx25821-gpio.o cx25821-medusa-video.o \ cx25821-video.o obj-$(CONFIG_VIDEO_CX25821) += cx25821.o obj-$(CONFIG_VIDEO_CX25821_ALSA) += cx25821-alsa.o media/spi/Kconfig 0000644 00000001247 14722053666 0007740 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if VIDEO_V4L2 comment "SPI drivers hidden by 'Autoselect ancillary drivers'" depends on MEDIA_HIDE_ANCILLARY_SUBDRV menu "SPI helper chips" visible if !MEDIA_HIDE_ANCILLARY_SUBDRV config VIDEO_GS1662 tristate "Gennum Serializers video" depends on SPI && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API help Enable the GS1662 driver which serializes video streams. endmenu endif if SPI menu "Media SPI Adapters" config CXD2880_SPI_DRV tristate "Sony CXD2880 SPI support" depends on DVB_CORE && SPI default m if !MEDIA_SUBDRV_AUTOSELECT help Choose if you would like to have SPI interface support for Sony CXD2880. endmenu endif media/spi/Makefile 0000644 00000000276 14722053666 0010076 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_GS1662) += gs1662.o obj-$(CONFIG_CXD2880_SPI_DRV) += cxd2880-spi.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/cxd2880 media/rc/keymaps/Kconfig 0000644 00000001063 14722053666 0011216 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config RC_MAP tristate "Compile Remote Controller keymap modules" depends on RC_CORE default y help This option enables the compilation of lots of Remote Controller tables. They are short tables, but if you don't use a remote controller, or prefer to load the tables on userspace, you should disable it. The ir-keytable program, available at v4l-utils package provide the tool and the same RC maps for load from userspace. Its available at http://git.linuxtv.org/cgit.cgi/v4l-utils.git/ media/rc/keymaps/Makefile 0000644 00000005625 14722053666 0011363 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ rc-alink-dtu-m.o \ rc-anysee.o \ rc-apac-viewcomp.o \ rc-astrometa-t2hybrid.o \ rc-asus-pc39.o \ rc-asus-ps3-100.o \ rc-ati-tv-wonder-hd-600.o \ rc-ati-x10.o \ rc-avermedia-a16d.o \ rc-avermedia.o \ rc-avermedia-cardbus.o \ rc-avermedia-dvbt.o \ rc-avermedia-m135a.o \ rc-avermedia-m733a-rm-k6.o \ rc-avermedia-rm-ks.o \ rc-avertv-303.o \ rc-azurewave-ad-tu700.o \ rc-behold.o \ rc-behold-columbus.o \ rc-budget-ci-old.o \ rc-cinergy-1400.o \ rc-cinergy.o \ rc-d680-dmb.o \ rc-delock-61959.o \ rc-dib0700-nec.o \ rc-dib0700-rc5.o \ rc-digitalnow-tinytwin.o \ rc-digittrade.o \ rc-dm1105-nec.o \ rc-dntv-live-dvb-t.o \ rc-dntv-live-dvbt-pro.o \ rc-dtt200u.o \ rc-dvbsky.o \ rc-dvico-mce.o \ rc-dvico-portable.o \ rc-em-terratec.o \ rc-encore-enltv2.o \ rc-encore-enltv.o \ rc-encore-enltv-fm53.o \ rc-evga-indtube.o \ rc-eztv.o \ rc-flydvb.o \ rc-flyvideo.o \ rc-fusionhdtv-mce.o \ rc-gadmei-rm008z.o \ rc-geekbox.o \ rc-genius-tvgo-a11mce.o \ rc-gotview7135.o \ rc-hisi-poplar.o \ rc-hisi-tv-demo.o \ rc-imon-mce.o \ rc-imon-pad.o \ rc-imon-rsc.o \ rc-iodata-bctv7e.o \ rc-it913x-v1.o \ rc-it913x-v2.o \ rc-kaiomy.o \ rc-khadas.o \ rc-kworld-315u.o \ rc-kworld-pc150u.o \ rc-kworld-plus-tv-analog.o \ rc-leadtek-y04g0051.o \ rc-lme2510.o \ rc-manli.o \ rc-medion-x10.o \ rc-medion-x10-digitainer.o \ rc-medion-x10-or2x.o \ rc-msi-digivox-ii.o \ rc-msi-digivox-iii.o \ rc-msi-tvanywhere.o \ rc-msi-tvanywhere-plus.o \ rc-nebula.o \ rc-nec-terratec-cinergy-xs.o \ rc-norwood.o \ rc-npgtech.o \ rc-odroid.o \ rc-pctv-sedna.o \ rc-pinnacle-color.o \ rc-pinnacle-grey.o \ rc-pinnacle-pctv-hd.o \ rc-pixelview.o \ rc-pixelview-mk12.o \ rc-pixelview-002t.o \ rc-pixelview-new.o \ rc-powercolor-real-angel.o \ rc-proteus-2309.o \ rc-purpletv.o \ rc-pv951.o \ rc-hauppauge.o \ rc-rc6-mce.o \ rc-real-audio-220-32-keys.o \ rc-reddo.o \ rc-snapstream-firefly.o \ rc-streamzap.o \ rc-tango.o \ rc-tanix-tx3mini.o \ rc-tanix-tx5max.o \ rc-tbs-nec.o \ rc-technisat-ts35.o \ rc-technisat-usb2.o \ rc-terratec-cinergy-c-pci.o \ rc-terratec-cinergy-s2-hd.o \ rc-terratec-cinergy-xs.o \ rc-terratec-slim.o \ rc-terratec-slim-2.o \ rc-tevii-nec.o \ rc-tivo.o \ rc-total-media-in-hand.o \ rc-total-media-in-hand-02.o \ rc-trekstor.o \ rc-tt-1500.o \ rc-twinhan-dtv-cab-ci.o \ rc-twinhan1027.o \ rc-videomate-m1f.o \ rc-videomate-s350.o \ rc-videomate-tv-pvr.o \ rc-videostrong-kii-pro.o \ rc-wetek-hub.o \ rc-wetek-play2.o \ rc-winfast.o \ rc-winfast-usbii-deluxe.o \ rc-su3000.o \ rc-xbox-dvd.o \ rc-x96max.o \ rc-zx-irdec.o media/rc/Kconfig 0000644 00000036736 14722053666 0007564 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig RC_CORE tristate "Remote Controller support" depends on INPUT help Enable support for Remote Controllers on Linux. This is needed in order to support several video capture adapters, standalone IR receivers/transmitters, and RF receivers. Enable this option if you have a video capture board even if you don't need IR, as otherwise, you may not be able to compile the driver for your adapter. Say Y when you have a TV or an IR device. if RC_CORE source "drivers/media/rc/keymaps/Kconfig" config LIRC bool "LIRC user interface" depends on RC_CORE help Enable this option to enable the Linux Infrared Remote Control user interface (e.g. /dev/lirc*). This interface passes raw IR to and from userspace, which is needed for IR transmitting (aka "blasting") and for the lirc daemon. config BPF_LIRC_MODE2 bool "Support for eBPF programs attached to lirc devices" depends on BPF_SYSCALL depends on RC_CORE=y depends on LIRC help Allow attaching eBPF programs to a lirc device using the bpf(2) syscall command BPF_PROG_ATTACH. This is supported for raw IR receivers. These eBPF programs can be used to decode IR into scancodes, for IR protocols not supported by the kernel decoders. menuconfig RC_DECODERS bool "Remote controller decoders" depends on RC_CORE if RC_DECODERS config IR_NEC_DECODER tristate "Enable IR raw decoder for the NEC protocol" depends on RC_CORE select BITREVERSE help Enable this option if you have IR with NEC protocol, and if the IR is decoded in software config IR_RC5_DECODER tristate "Enable IR raw decoder for the RC-5 protocol" depends on RC_CORE select BITREVERSE help Enable this option if you have IR with RC-5 protocol, and if the IR is decoded in software config IR_RC6_DECODER tristate "Enable IR raw decoder for the RC6 protocol" depends on RC_CORE select BITREVERSE help Enable this option if you have an infrared remote control which uses the RC6 protocol, and you need software decoding support. config IR_JVC_DECODER tristate "Enable IR raw decoder for the JVC protocol" depends on RC_CORE select BITREVERSE help Enable this option if you have an infrared remote control which uses the JVC protocol, and you need software decoding support. config IR_SONY_DECODER tristate "Enable IR raw decoder for the Sony protocol" depends on RC_CORE select BITREVERSE help Enable this option if you have an infrared remote control which uses the Sony protocol, and you need software decoding support. config IR_SANYO_DECODER tristate "Enable IR raw decoder for the Sanyo protocol" depends on RC_CORE help Enable this option if you have an infrared remote control which uses the Sanyo protocol (Sanyo, Aiwa, Chinon remotes), and you need software decoding support. config IR_SHARP_DECODER tristate "Enable IR raw decoder for the Sharp protocol" depends on RC_CORE help Enable this option if you have an infrared remote control which uses the Sharp protocol (Sharp, Denon), and you need software decoding support. config IR_MCE_KBD_DECODER tristate "Enable IR raw decoder for the MCE keyboard/mouse protocol" depends on RC_CORE select BITREVERSE help Enable this option if you have a Microsoft Remote Keyboard for Windows Media Center Edition, which you would like to use with a raw IR receiver in your system. config IR_XMP_DECODER tristate "Enable IR raw decoder for the XMP protocol" depends on RC_CORE select BITREVERSE help Enable this option if you have IR with XMP protocol, and if the IR is decoded in software config IR_IMON_DECODER tristate "Enable IR raw decoder for the iMON protocol" depends on RC_CORE help Enable this option if you have iMON PAD or Antec Veris infrared remote control and you would like to use it with a raw IR receiver, or if you wish to use an encoder to transmit this IR. config IR_RCMM_DECODER tristate "Enable IR raw decoder for the RC-MM protocol" depends on RC_CORE help Enable this option when you have IR with RC-MM protocol, and you need the software decoder. The driver supports 12, 24 and 32 bits RC-MM variants. You can enable or disable the different modes using the following RC protocol keywords: 'rc-mm-12', 'rc-mm-24' and 'rc-mm-32'. To compile this driver as a module, choose M here: the module will be called ir-rcmm-decoder. endif #RC_DECODERS menuconfig RC_DEVICES bool "Remote Controller devices" depends on RC_CORE if RC_DEVICES config RC_ATI_REMOTE tristate "ATI / X10 based USB RF remote controls" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB help Say Y here if you want to use an X10 based USB remote control. These are RF remotes with USB receivers. Such devices include the ATI remote that comes with many of ATI's All-In-Wonder video cards, the X10 "Lola" remote, NVIDIA RF remote, Medion RF remote, and SnapStream FireFly remote. This driver provides mouse pointer, left and right mouse buttons, and maps all the other remote buttons to keypress events. To compile this driver as a module, choose M here: the module will be called ati_remote. config IR_ENE tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)" depends on PNP || COMPILE_TEST depends on RC_CORE help Say Y here to enable support for integrated infrared receiver /transceiver made by ENE. You can see if you have it by looking at lspnp output. Output should include ENE0100 ENE0200 or something similar. To compile this driver as a module, choose M here: the module will be called ene_ir. config IR_HIX5HD2 tristate "Hisilicon hix5hd2 IR remote control" depends on RC_CORE depends on OF || COMPILE_TEST help Say Y here if you want to use hisilicon hix5hd2 remote control. To compile this driver as a module, choose M here: the module will be called ir-hix5hd2. If you're not sure, select N here config IR_IMON tristate "SoundGraph iMON Receiver and Display" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB help Say Y here if you want to use a SoundGraph iMON (aka Antec Veris) IR Receiver and/or LCD/VFD/VGA display. To compile this driver as a module, choose M here: the module will be called imon. config IR_IMON_RAW tristate "SoundGraph iMON Receiver (early raw IR models)" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB help Say Y here if you want to use a SoundGraph iMON IR Receiver, early raw models. To compile this driver as a module, choose M here: the module will be called imon_raw. config IR_MCEUSB tristate "Windows Media Center Ed. eHome Infrared Transceiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB help Say Y here if you want to use a Windows Media Center Edition eHome Infrared Transceiver. To compile this driver as a module, choose M here: the module will be called mceusb. config IR_ITE_CIR tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver" depends on PNP || COMPILE_TEST depends on RC_CORE help Say Y here to enable support for integrated infrared receivers /transceivers made by ITE Tech Inc. These are found in several ASUS devices, like the ASUS Digimatrix or the ASUS EEEBox 1501U. To compile this driver as a module, choose M here: the module will be called ite-cir. config IR_FINTEK tristate "Fintek Consumer Infrared Transceiver" depends on PNP || COMPILE_TEST depends on RC_CORE help Say Y here to enable support for integrated infrared receiver /transceiver made by Fintek. This chip is found on assorted Jetway motherboards (and of course, possibly others). To compile this driver as a module, choose M here: the module will be called fintek-cir. config IR_MESON tristate "Amlogic Meson IR remote receiver" depends on RC_CORE depends on ARCH_MESON || COMPILE_TEST help Say Y if you want to use the IR remote receiver available on Amlogic Meson SoCs. To compile this driver as a module, choose M here: the module will be called meson-ir. config IR_MTK tristate "Mediatek IR remote receiver" depends on RC_CORE depends on ARCH_MEDIATEK || COMPILE_TEST help Say Y if you want to use the IR remote receiver available on Mediatek SoCs. To compile this driver as a module, choose M here: the module will be called mtk-cir. config IR_NUVOTON tristate "Nuvoton w836x7hg Consumer Infrared Transceiver" depends on PNP || COMPILE_TEST depends on RC_CORE help Say Y here to enable support for integrated infrared receiver /transceiver made by Nuvoton (formerly Winbond). This chip is found in the ASRock ION 330HT, as well as assorted Intel DP55-series motherboards (and of course, possibly others). To compile this driver as a module, choose M here: the module will be called nuvoton-cir. config IR_REDRAT3 tristate "RedRat3 IR Transceiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select NEW_LEDS select LEDS_CLASS select USB help Say Y here if you want to use a RedRat3 Infrared Transceiver. To compile this driver as a module, choose M here: the module will be called redrat3. config IR_SPI tristate "SPI connected IR LED" depends on SPI && LIRC depends on OF || COMPILE_TEST help Say Y if you want to use an IR LED connected through SPI bus. To compile this driver as a module, choose M here: the module will be called ir-spi. config IR_STREAMZAP tristate "Streamzap PC Remote IR Receiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB help Say Y here if you want to use a Streamzap PC Remote Infrared Receiver. To compile this driver as a module, choose M here: the module will be called streamzap. config IR_WINBOND_CIR tristate "Winbond IR remote control" depends on (X86 && PNP) || COMPILE_TEST depends on RC_CORE select NEW_LEDS select LEDS_CLASS select BITREVERSE help Say Y here if you want to use the IR remote functionality found in some Winbond SuperI/O chips. Currently only the WPCD376I chip is supported (included in some Intel Media series motherboards). To compile this driver as a module, choose M here: the module will be called winbond_cir. config IR_IGORPLUGUSB tristate "IgorPlug-USB IR Receiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB help Say Y here if you want to use the IgorPlug-USB IR Receiver by Igor Cesko. This device is included on the Fit-PC2. Note that this device can only record bursts of 36 IR pulses and spaces, which is not enough for the NEC, Sanyo and RC-6 protocol. To compile this driver as a module, choose M here: the module will be called igorplugusb. config IR_IGUANA tristate "IguanaWorks USB IR Transceiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB help Say Y here if you want to use the IguanaWorks USB IR Transceiver. Both infrared receive and send are supported. If you want to change the ID or the pin config, use the user space driver from IguanaWorks. Only firmware 0x0205 and later is supported. To compile this driver as a module, choose M here: the module will be called iguanair. config IR_TTUSBIR tristate "TechnoTrend USB IR Receiver" depends on USB_ARCH_HAS_HCD depends on RC_CORE select USB select NEW_LEDS select LEDS_CLASS help Say Y here if you want to use the TechnoTrend USB IR Receiver. The driver can control the led. To compile this driver as a module, choose M here: the module will be called ttusbir. config IR_RX51 tristate "Nokia N900 IR transmitter diode" depends on (OMAP_DM_TIMER && PWM_OMAP_DMTIMER && ARCH_OMAP2PLUS || COMPILE_TEST) && RC_CORE help Say Y or M here if you want to enable support for the IR transmitter diode built in the Nokia N900 (RX51) device. The driver uses omap DM timers for generating the carrier wave and pulses. source "drivers/media/rc/img-ir/Kconfig" config RC_LOOPBACK tristate "Remote Control Loopback Driver" depends on RC_CORE help Say Y here if you want support for the remote control loopback driver which allows TX data to be sent back as RX data. This is mostly useful for debugging purposes. If you're not sure, select N here. To compile this driver as a module, choose M here: the module will be called rc_loopback. config IR_GPIO_CIR tristate "GPIO IR remote control" depends on RC_CORE depends on (OF && GPIOLIB) || COMPILE_TEST help Say Y if you want to use GPIO based IR Receiver. To compile this driver as a module, choose M here: the module will be called gpio-ir-recv. config IR_GPIO_TX tristate "GPIO IR Bit Banging Transmitter" depends on RC_CORE depends on LIRC depends on (OF && GPIOLIB) || COMPILE_TEST help Say Y if you want to a GPIO based IR transmitter. This is a bit banging driver. To compile this driver as a module, choose M here: the module will be called gpio-ir-tx. config IR_PWM_TX tristate "PWM IR transmitter" depends on RC_CORE depends on LIRC depends on PWM depends on OF || COMPILE_TEST help Say Y if you want to use a PWM based IR transmitter. This is more power efficient than the bit banging gpio driver. To compile this driver as a module, choose M here: the module will be called pwm-ir-tx. config RC_ST tristate "ST remote control receiver" depends on RC_CORE depends on ARCH_STI || COMPILE_TEST help Say Y here if you want support for ST remote control driver which allows both IR and UHF RX. The driver passes raw pulse and space information to the LIRC decoder. If you're not sure, select N here. config IR_SUNXI tristate "SUNXI IR remote control" depends on RC_CORE depends on ARCH_SUNXI || COMPILE_TEST help Say Y if you want to use sunXi internal IR Controller To compile this driver as a module, choose M here: the module will be called sunxi-ir. config IR_SERIAL tristate "Homebrew Serial Port Receiver" depends on RC_CORE help Say Y if you want to use Homebrew Serial Port Receivers and Transceivers. To compile this driver as a module, choose M here: the module will be called serial-ir. config IR_SERIAL_TRANSMITTER bool "Serial Port Transmitter" depends on IR_SERIAL help Serial Port Transmitter support config IR_SIR tristate "Built-in SIR IrDA port" depends on RC_CORE help Say Y if you want to use a IrDA SIR port Transceivers. To compile this driver as a module, choose M here: the module will be called sir-ir. config IR_TANGO tristate "Sigma Designs SMP86xx IR decoder" depends on RC_CORE depends on ARCH_TANGO || COMPILE_TEST help Adds support for the HW IR decoder embedded on Sigma Designs Tango-based systems (SMP86xx, SMP87xx). The HW decoder supports NEC, RC-5, RC-6 IR protocols. When compiled as a module, look for tango-ir. config RC_XBOX_DVD tristate "Xbox DVD Movie Playback Kit" depends on RC_CORE depends on USB_ARCH_HAS_HCD select USB help Say Y here if you want to use the Xbox DVD Movie Playback Kit. These are IR remotes with USB receivers for the Original Xbox (2001). To compile this driver as a module, choose M here: the module will be called xbox_remote. config IR_ZX tristate "ZTE ZX IR remote control" depends on RC_CORE depends on ARCH_ZX || COMPILE_TEST help Say Y if you want to use the IR remote control available on ZTE ZX family SoCs. To compile this driver as a module, choose M here: the module will be called zx-irdec. endif #RC_DEVICES endif #RC_CORE media/rc/Makefile 0000644 00000004001 14722053666 0007675 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += keymaps/ obj-$(CONFIG_RC_CORE) += rc-core.o rc-core-y := rc-main.o rc-ir-raw.o rc-core-$(CONFIG_LIRC) += lirc_dev.o rc-core-$(CONFIG_MEDIA_CEC_RC) += keymaps/rc-cec.o rc-core-$(CONFIG_BPF_LIRC_MODE2) += bpf-lirc.o obj-$(CONFIG_IR_NEC_DECODER) += ir-nec-decoder.o obj-$(CONFIG_IR_RC5_DECODER) += ir-rc5-decoder.o obj-$(CONFIG_IR_RC6_DECODER) += ir-rc6-decoder.o obj-$(CONFIG_IR_JVC_DECODER) += ir-jvc-decoder.o obj-$(CONFIG_IR_SONY_DECODER) += ir-sony-decoder.o obj-$(CONFIG_IR_SANYO_DECODER) += ir-sanyo-decoder.o obj-$(CONFIG_IR_SHARP_DECODER) += ir-sharp-decoder.o obj-$(CONFIG_IR_MCE_KBD_DECODER) += ir-mce_kbd-decoder.o obj-$(CONFIG_IR_XMP_DECODER) += ir-xmp-decoder.o obj-$(CONFIG_IR_IMON_DECODER) += ir-imon-decoder.o obj-$(CONFIG_IR_RCMM_DECODER) += ir-rcmm-decoder.o # stand-alone IR receivers/transmitters obj-$(CONFIG_RC_ATI_REMOTE) += ati_remote.o obj-$(CONFIG_IR_HIX5HD2) += ir-hix5hd2.o obj-$(CONFIG_IR_IMON) += imon.o obj-$(CONFIG_IR_IMON_RAW) += imon_raw.o obj-$(CONFIG_IR_ITE_CIR) += ite-cir.o obj-$(CONFIG_IR_MCEUSB) += mceusb.o obj-$(CONFIG_IR_FINTEK) += fintek-cir.o obj-$(CONFIG_IR_MESON) += meson-ir.o obj-$(CONFIG_IR_NUVOTON) += nuvoton-cir.o obj-$(CONFIG_IR_ENE) += ene_ir.o obj-$(CONFIG_IR_REDRAT3) += redrat3.o obj-$(CONFIG_IR_RX51) += ir-rx51.o obj-$(CONFIG_IR_SPI) += ir-spi.o obj-$(CONFIG_IR_STREAMZAP) += streamzap.o obj-$(CONFIG_IR_WINBOND_CIR) += winbond-cir.o obj-$(CONFIG_RC_LOOPBACK) += rc-loopback.o obj-$(CONFIG_IR_GPIO_CIR) += gpio-ir-recv.o obj-$(CONFIG_IR_GPIO_TX) += gpio-ir-tx.o obj-$(CONFIG_IR_PWM_TX) += pwm-ir-tx.o obj-$(CONFIG_IR_IGORPLUGUSB) += igorplugusb.o obj-$(CONFIG_IR_IGUANA) += iguanair.o obj-$(CONFIG_IR_TTUSBIR) += ttusbir.o obj-$(CONFIG_RC_ST) += st_rc.o obj-$(CONFIG_IR_SUNXI) += sunxi-cir.o obj-$(CONFIG_IR_IMG) += img-ir/ obj-$(CONFIG_IR_SERIAL) += serial_ir.o obj-$(CONFIG_IR_SIR) += sir_ir.o obj-$(CONFIG_IR_MTK) += mtk-cir.o obj-$(CONFIG_IR_ZX) += zx-irdec.o obj-$(CONFIG_IR_TANGO) += tango-ir.o obj-$(CONFIG_RC_XBOX_DVD) += xbox_remote.o media/rc/img-ir/Kconfig 0000644 00000004517 14722053666 0010740 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config IR_IMG tristate "ImgTec IR Decoder" depends on RC_CORE depends on MIPS || COMPILE_TEST select IR_IMG_HW if !IR_IMG_RAW help Say Y or M here if you want to use the ImgTec infrared decoder functionality found in SoCs such as TZ1090. config IR_IMG_RAW bool "Raw decoder" depends on IR_IMG help Say Y here to enable the raw mode driver which passes raw IR signal changes to the IR raw decoders for software decoding. This is much less reliable (due to lack of timestamps) and consumes more processing power than using hardware decode, but can be useful for testing, debug, and to make more protocols available. config IR_IMG_HW bool "Hardware decoder" depends on IR_IMG help Say Y here to enable the hardware decode driver which decodes the IR signals in hardware. This is more reliable, consumes less processing power since only a single interrupt is received for each scancode, and allows an IR scancode to be used as a wake event. config IR_IMG_NEC bool "NEC protocol support" depends on IR_IMG_HW help Say Y here to enable support for the NEC, extended NEC, and 32-bit NEC protocols in the ImgTec infrared decoder block. config IR_IMG_JVC bool "JVC protocol support" depends on IR_IMG_HW help Say Y here to enable support for the JVC protocol in the ImgTec infrared decoder block. config IR_IMG_SONY bool "Sony protocol support" depends on IR_IMG_HW help Say Y here to enable support for the Sony protocol in the ImgTec infrared decoder block. config IR_IMG_SHARP bool "Sharp protocol support" depends on IR_IMG_HW help Say Y here to enable support for the Sharp protocol in the ImgTec infrared decoder block. config IR_IMG_SANYO bool "Sanyo protocol support" depends on IR_IMG_HW help Say Y here to enable support for the Sanyo protocol (used by Sanyo, Aiwa, Chinon remotes) in the ImgTec infrared decoder block. config IR_IMG_RC5 bool "Philips RC5 protocol support" depends on IR_IMG_HW help Say Y here to enable support for the RC5 protocol in the ImgTec infrared decoder block. config IR_IMG_RC6 bool "Philips RC6 protocol support" depends on IR_IMG_HW help Say Y here to enable support for the RC6 protocol in the ImgTec infrared decoder block. Note: This version only supports mode 0. media/rc/img-ir/Makefile 0000644 00000001023 14722053666 0011062 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 img-ir-y := img-ir-core.o img-ir-$(CONFIG_IR_IMG_RAW) += img-ir-raw.o img-ir-$(CONFIG_IR_IMG_HW) += img-ir-hw.o img-ir-$(CONFIG_IR_IMG_NEC) += img-ir-nec.o img-ir-$(CONFIG_IR_IMG_JVC) += img-ir-jvc.o img-ir-$(CONFIG_IR_IMG_SONY) += img-ir-sony.o img-ir-$(CONFIG_IR_IMG_SHARP) += img-ir-sharp.o img-ir-$(CONFIG_IR_IMG_SANYO) += img-ir-sanyo.o img-ir-$(CONFIG_IR_IMG_RC5) += img-ir-rc5.o img-ir-$(CONFIG_IR_IMG_RC6) += img-ir-rc6.o img-ir-objs := $(img-ir-y) obj-$(CONFIG_IR_IMG) += img-ir.o media/dvb-core/Kconfig 0000644 00000003032 14722053666 0010640 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # DVB device configuration # config DVB_MAX_ADAPTERS int "maximum number of DVB/ATSC adapters" depends on DVB_CORE default 16 range 1 255 help Maximum number of DVB/ATSC adapters. Increasing this number increases the memory consumption of the DVB subsystem even if a much lower number of DVB/ATSC adapters is present. Only values in the range 4-32 are tested. If you are unsure about this, use the default value 16 config DVB_DYNAMIC_MINORS bool "Dynamic DVB minor allocation" depends on DVB_CORE help If you say Y here, the DVB subsystem will use dynamic minor allocation for any device that uses the DVB major number. This means that you can have more than 4 of a single type of device (like demuxes and frontends) per adapter, but udev will be required to manage the device nodes. If you are unsure about this, say N here. config DVB_DEMUX_SECTION_LOSS_LOG bool "Enable DVB demux section packet loss log" depends on DVB_CORE help Enable extra log messages meant to detect packet loss inside the Kernel. Should not be enabled on normal cases, as logs can be very verbose. If you are unsure about this, say N here. config DVB_ULE_DEBUG bool "Enable DVB net ULE packet debug messages" depends on DVB_CORE help Enable extra log messages meant to detect problems while handling DVB network ULE packet loss inside the Kernel. Should not be enabled on normal cases, as logs can be very verbose. If you are unsure about this, say N here. media/dvb-core/Makefile 0000644 00000000536 14722053666 0011003 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel DVB device drivers. # dvb-net-$(CONFIG_DVB_NET) := dvb_net.o dvb-vb2-$(CONFIG_DVB_MMAP) := dvb_vb2.o dvb-core-objs := dvbdev.o dmxdev.o dvb_demux.o \ dvb_ca_en50221.o dvb_frontend.o \ $(dvb-net-y) dvb_ringbuffer.o $(dvb-vb2-y) dvb_math.o obj-$(CONFIG_DVB_CORE) += dvb-core.o media/mc/Kconfig 0000644 00000002116 14722053666 0007540 0 ustar 00 # # Media controller # Selectable only for webcam/grabbers, as other drivers don't use it # config MEDIA_CONTROLLER bool "Media Controller API" depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT help Enable the media controller API used to query media devices internal topology and configure it dynamically. This API is mostly used by camera interfaces in embedded platforms. config MEDIA_CONTROLLER_DVB bool "Enable Media controller for DVB (EXPERIMENTAL)" depends on MEDIA_CONTROLLER && DVB_CORE help Enable the media controller API support for DVB. This is currently experimental. config MEDIA_CONTROLLER_REQUEST_API bool "Enable Media controller Request API (EXPERIMENTAL)" depends on MEDIA_CONTROLLER && STAGING_MEDIA help DO NOT ENABLE THIS OPTION UNLESS YOU KNOW WHAT YOU'RE DOING. This option enables the Request API for the Media controller and V4L2 interfaces. It is currently needed by a few stateless codec drivers. There is currently no intention to provide API or ABI stability for this new API as of yet. media/mc/Makefile 0000644 00000000311 14722053666 0007670 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 mc-objs := mc-device.o mc-devnode.o mc-entity.o \ mc-request.o ifneq ($(CONFIG_USB),) mc-objs += mc-dev-allocator.o endif obj-$(CONFIG_MEDIA_SUPPORT) += mc.o media/Makefile 0000644 00000001344 14722053666 0007300 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel multimedia device drivers. # # # I2C drivers should come before other drivers, otherwise they'll fail # when compiled as builtin drivers # obj-y += i2c/ tuners/ obj-$(CONFIG_DVB_CORE) += dvb-frontends/ # # Now, let's link-in the media controller core # ifeq ($(CONFIG_MEDIA_CONTROLLER),y) obj-$(CONFIG_MEDIA_SUPPORT) += mc/ endif obj-$(CONFIG_VIDEO_DEV) += v4l2-core/ obj-$(CONFIG_DVB_CORE) += dvb-core/ # There are both core and drivers at RC subtree - merge before drivers obj-y += rc/ obj-$(CONFIG_CEC_CORE) += cec/ # # Finally, merge the drivers that require the core # obj-y += common/ platform/ pci/ usb/ mmc/ firewire/ spi/ obj-$(CONFIG_VIDEO_DEV) += radio/ media/common/saa7146/Kconfig 0000644 00000000306 14722053666 0011516 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_SAA7146 tristate depends on I2C && PCI config VIDEO_SAA7146_VV tristate depends on VIDEO_V4L2 select VIDEOBUF_DMA_SG select VIDEO_SAA7146 media/common/saa7146/Makefile 0000644 00000000377 14722053666 0011663 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only saa7146-objs := saa7146_i2c.o saa7146_core.o saa7146_vv-objs := saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o obj-$(CONFIG_VIDEO_SAA7146) += saa7146.o obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o media/common/Kconfig 0000644 00000001122 14722053666 0010425 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Used by common drivers, when they need to ask questions config MEDIA_COMMON_OPTIONS bool comment "common driver options" depends on MEDIA_COMMON_OPTIONS config VIDEO_CX2341X tristate config VIDEO_TVEEPROM tristate depends on I2C config CYPRESS_FIRMWARE tristate "Cypress firmware helper routines" depends on USB source "drivers/media/common/videobuf2/Kconfig" source "drivers/media/common/b2c2/Kconfig" source "drivers/media/common/saa7146/Kconfig" source "drivers/media/common/siano/Kconfig" source "drivers/media/common/v4l2-tpg/Kconfig" media/common/b2c2/Kconfig 0000644 00000001712 14722053666 0011162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_B2C2_FLEXCOP tristate depends on DVB_CORE && I2C depends on DVB_B2C2_FLEXCOP_PCI || DVB_B2C2_FLEXCOP_USB default y select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0297 if MEDIA_SUBDRV_AUTOSELECT select DVB_BCM3510 if MEDIA_SUBDRV_AUTOSELECT select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT select DVB_S5H1420 if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_ITD1000 if MEDIA_SUBDRV_AUTOSELECT select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24120 if MEDIA_SUBDRV_AUTOSELECT select DVB_CX24123 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT select DVB_TUNER_CX24113 if MEDIA_SUBDRV_AUTOSELECT # Selected via the PCI or USB flexcop drivers config DVB_B2C2_FLEXCOP_DEBUG bool media/common/b2c2/Makefile 0000644 00000000553 14722053666 0011321 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 b2c2-flexcop-objs += flexcop.o flexcop-fe-tuner.o flexcop-i2c.o b2c2-flexcop-objs += flexcop-sram.o flexcop-eeprom.o flexcop-misc.o b2c2-flexcop-objs += flexcop-hw-filter.o obj-$(CONFIG_DVB_B2C2_FLEXCOP) += b2c2-flexcop.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ ccflags-y += -I $(srctree)/drivers/media/tuners/ media/common/v4l2-tpg/Kconfig 0000644 00000000110 14722053666 0012000 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_V4L2_TPG tristate media/common/v4l2-tpg/Makefile 0000644 00000000207 14722053666 0012144 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only v4l2-tpg-objs := v4l2-tpg-core.o v4l2-tpg-colors.o obj-$(CONFIG_VIDEO_V4L2_TPG) += v4l2-tpg.o media/common/videobuf2/Kconfig 0000644 00000001122 14722053666 0012312 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Used by drivers that need Videobuf2 modules config VIDEOBUF2_CORE select DMA_SHARED_BUFFER tristate config VIDEOBUF2_V4L2 tristate config VIDEOBUF2_MEMOPS tristate select FRAME_VECTOR config VIDEOBUF2_DMA_CONTIG tristate select VIDEOBUF2_CORE select VIDEOBUF2_MEMOPS select DMA_SHARED_BUFFER config VIDEOBUF2_VMALLOC tristate select VIDEOBUF2_CORE select VIDEOBUF2_MEMOPS select DMA_SHARED_BUFFER config VIDEOBUF2_DMA_SG tristate select VIDEOBUF2_CORE select VIDEOBUF2_MEMOPS config VIDEOBUF2_DVB tristate select VIDEOBUF2_CORE media/common/videobuf2/Makefile 0000644 00000001014 14722053666 0012447 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 videobuf2-common-objs := videobuf2-core.o ifeq ($(CONFIG_TRACEPOINTS),y) videobuf2-common-objs += vb2-trace.o endif obj-$(CONFIG_VIDEOBUF2_CORE) += videobuf2-common.o obj-$(CONFIG_VIDEOBUF2_V4L2) += videobuf2-v4l2.o obj-$(CONFIG_VIDEOBUF2_MEMOPS) += videobuf2-memops.o obj-$(CONFIG_VIDEOBUF2_VMALLOC) += videobuf2-vmalloc.o obj-$(CONFIG_VIDEOBUF2_DMA_CONTIG) += videobuf2-dma-contig.o obj-$(CONFIG_VIDEOBUF2_DMA_SG) += videobuf2-dma-sg.o obj-$(CONFIG_VIDEOBUF2_DVB) += videobuf2-dvb.o media/common/siano/Kconfig 0000644 00000001552 14722053666 0011545 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Siano Mobile Silicon Digital TV device configuration # config SMS_SIANO_MDTV tristate depends on DVB_CORE && HAS_DMA depends on !RC_CORE || RC_CORE depends on SMS_USB_DRV || SMS_SDIO_DRV default y config SMS_SIANO_RC bool "Enable Remote Controller support for Siano devices" depends on SMS_SIANO_MDTV && RC_CORE depends on SMS_USB_DRV || SMS_SDIO_DRV depends on MEDIA_COMMON_OPTIONS default y help Choose Y to select Remote Controller support for Siano driver. config SMS_SIANO_DEBUGFS bool "Enable debugfs for smsdvb" depends on SMS_SIANO_MDTV depends on DEBUG_FS depends on SMS_USB_DRV = SMS_SDIO_DRV help Choose Y to enable visualizing a dump of the frontend statistics response packets via debugfs. Currently, works only with Siano USB devices. Useful only for developers. In doubt, say N. media/common/siano/Makefile 0000644 00000000470 14722053666 0011700 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 smsmdtv-objs := smscoreapi.o sms-cards.o smsendian.o smsdvb-objs := smsdvb-main.o obj-$(CONFIG_SMS_SIANO_MDTV) += smsmdtv.o smsdvb.o ifeq ($(CONFIG_SMS_SIANO_RC),y) smsmdtv-objs += smsir.o endif ifeq ($(CONFIG_SMS_SIANO_DEBUGFS),y) smsdvb-objs += smsdvb-debugfs.o endif media/common/Makefile 0000644 00000000345 14722053666 0010570 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += b2c2/ saa7146/ siano/ v4l2-tpg/ videobuf2/ obj-$(CONFIG_VIDEO_CX2341X) += cx2341x.o obj-$(CONFIG_VIDEO_TVEEPROM) += tveeprom.o obj-$(CONFIG_CYPRESS_FIRMWARE) += cypress_firmware.o media/platform/mtk-mdp/Makefile 0000644 00000000426 14722053666 0012475 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 mtk-mdp-y += mtk_mdp_core.o mtk-mdp-y += mtk_mdp_comp.o mtk-mdp-y += mtk_mdp_m2m.o mtk-mdp-y += mtk_mdp_regs.o mtk-mdp-y += mtk_mdp_vpu.o obj-$(CONFIG_VIDEO_MEDIATEK_MDP) += mtk-mdp.o ccflags-y += -I$(srctree)/drivers/media/platform/mtk-vpu media/platform/rcar-vin/Kconfig 0000644 00000001507 14722053666 0012511 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_RCAR_CSI2 tristate "R-Car MIPI CSI-2 Receiver" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && OF depends on ARCH_RENESAS || COMPILE_TEST select RESET_CONTROLLER select V4L2_FWNODE help Support for Renesas R-Car MIPI CSI-2 receiver. Supports R-Car Gen3 SoCs. To compile this driver as a module, choose M here: the module will be called rcar-csi2. config VIDEO_RCAR_VIN tristate "R-Car Video Input (VIN) Driver" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && OF && MEDIA_CONTROLLER depends on ARCH_RENESAS || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help Support for Renesas R-Car Video Input (VIN) driver. Supports R-Car Gen2 and Gen3 SoCs. To compile this driver as a module, choose M here: the module will be called rcar-vin. media/platform/rcar-vin/Makefile 0000644 00000000257 14722053666 0012647 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rcar-vin-objs = rcar-core.o rcar-dma.o rcar-v4l2.o obj-$(CONFIG_VIDEO_RCAR_CSI2) += rcar-csi2.o obj-$(CONFIG_VIDEO_RCAR_VIN) += rcar-vin.o media/platform/sunxi/sun4i-csi/Kconfig 0000644 00000000610 14722053666 0013746 0 ustar 00 config VIDEO_SUN4I_CSI tristate "Allwinner A10 CMOS Sensor Interface Support" depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API && HAS_DMA depends on ARCH_SUNXI || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help This is a V4L2 driver for the Allwinner A10 CSI To compile this driver as a module, choose M here: the module will be called sun4i_csi. media/platform/sunxi/sun4i-csi/Makefile 0000644 00000000200 14722053666 0014076 0 ustar 00 sun4i-csi-y += sun4i_csi.o sun4i-csi-y += sun4i_dma.o sun4i-csi-y += sun4i_v4l2.o obj-$(CONFIG_VIDEO_SUN4I_CSI) += sun4i-csi.o media/platform/sunxi/Kconfig 0000644 00000000160 14722053666 0012130 0 ustar 00 source "drivers/media/platform/sunxi/sun4i-csi/Kconfig" source "drivers/media/platform/sunxi/sun6i-csi/Kconfig" media/platform/sunxi/sun6i-csi/Kconfig 0000644 00000000574 14722053666 0013761 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_SUN6I_CSI tristate "Allwinner V3s Camera Sensor Interface driver" depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API && HAS_DMA depends on ARCH_SUNXI || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select REGMAP_MMIO select V4L2_FWNODE help Support for the Allwinner Camera Sensor Interface Controller on V3s. media/platform/sunxi/sun6i-csi/Makefile 0000644 00000000177 14722053666 0014115 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only sun6i-csi-y += sun6i_video.o sun6i_csi.o obj-$(CONFIG_VIDEO_SUN6I_CSI) += sun6i-csi.o media/platform/sunxi/Makefile 0000644 00000000052 14722053666 0012265 0 ustar 00 obj-y += sun4i-csi/ obj-y += sun6i-csi/ media/platform/atmel/Kconfig 0000644 00000001234 14722053666 0012067 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_ATMEL_ISC tristate "ATMEL Image Sensor Controller (ISC) support" depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API depends on ARCH_AT91 || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select REGMAP_MMIO select V4L2_FWNODE help This module makes the ATMEL Image Sensor Controller available as a v4l2 device. config VIDEO_ATMEL_ISI tristate "ATMEL Image Sensor Interface (ISI) support" depends on VIDEO_V4L2 && OF depends on ARCH_AT91 || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help This module makes the ATMEL Image Sensor Interface available as a v4l2 device. media/platform/atmel/Makefile 0000644 00000000271 14722053666 0012224 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only atmel-isc-objs = atmel-sama5d2-isc.o atmel-isc-base.o obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel-isi.o obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel-isc.o media/platform/vicodec/Kconfig 0000644 00000000565 14722053666 0012407 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_VICODEC tristate "Virtual Codec Driver" depends on VIDEO_DEV && VIDEO_V4L2 select VIDEOBUF2_VMALLOC select V4L2_MEM2MEM_DEV help Driver for a Virtual Codec This driver can be compared to the vim2m driver for emulating a video device node that exposes an emulated hardware codec. When in doubt, say N. media/platform/vicodec/Makefile 0000644 00000000213 14722053666 0012532 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 vicodec-objs := vicodec-core.o codec-fwht.o codec-v4l2-fwht.o obj-$(CONFIG_VIDEO_VICODEC) += vicodec.o media/platform/am437x/Kconfig 0000644 00000000664 14722053666 0012016 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_AM437X_VPFE tristate "TI AM437x VPFE video capture driver" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on SOC_AM43XX || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help Support for AM437x Video Processing Front End based Video Capture Driver. To compile this driver as a module, choose M here. The module will be called am437x-vpfe. media/platform/am437x/Makefile 0000644 00000000174 14722053666 0012147 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for AM437x VPFE driver obj-$(CONFIG_VIDEO_AM437X_VPFE) += am437x-vpfe.o media/platform/stm32/Makefile 0000644 00000000211 14722053666 0012064 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_STM32_DCMI) += stm32-dcmi.o obj-$(CONFIG_VIDEO_STM32_HDMI_CEC) += stm32-cec.o media/platform/s3c-camif/Makefile 0000644 00000000277 14722053666 0012675 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for s3c244x/s3c64xx CAMIF driver s3c-camif-objs := camif-core.o camif-capture.o camif-regs.o obj-$(CONFIG_VIDEO_S3C_CAMIF) += s3c-camif.o media/platform/cadence/Kconfig 0000644 00000002002 14722053666 0012341 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CADENCE bool "Cadence Video Devices" help If you have a media device designed by Cadence, say Y. Note that this option doesn't include new drivers in the kernel: saying N will just cause Kconfig to skip all the questions about Cadence media devices. if VIDEO_CADENCE config VIDEO_CADENCE_CSI2RX tristate "Cadence MIPI-CSI2 RX Controller" depends on VIDEO_V4L2 depends on MEDIA_CONTROLLER depends on VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE help Support for the Cadence MIPI CSI2 Receiver controller. To compile this driver as a module, choose M here: the module will be called cdns-csi2rx. config VIDEO_CADENCE_CSI2TX tristate "Cadence MIPI-CSI2 TX Controller" depends on VIDEO_V4L2 depends on MEDIA_CONTROLLER depends on VIDEO_V4L2_SUBDEV_API select V4L2_FWNODE help Support for the Cadence MIPI CSI2 Transceiver controller. To compile this driver as a module, choose M here: the module will be called cdns-csi2tx. endif media/platform/cadence/Makefile 0000644 00000000214 14722053666 0012501 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIDEO_CADENCE_CSI2RX) += cdns-csi2rx.o obj-$(CONFIG_VIDEO_CADENCE_CSI2TX) += cdns-csi2tx.o media/platform/vimc/Kconfig 0000644 00000001003 14722053666 0011715 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_VIMC tristate "Virtual Media Controller Driver (VIMC)" depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API select VIDEOBUF2_VMALLOC select VIDEO_V4L2_TPG help Skeleton driver for Virtual Media Controller This driver can be compared to the vivid driver for emulating a media node that exposes a complex media topology. The topology is hard coded for now but is meant to be highly configurable in the future. When in doubt, say N. media/platform/vimc/Makefile 0000644 00000000307 14722053666 0012060 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 vimc-y := vimc-core.o vimc-common.o vimc-streamer.o obj-$(CONFIG_VIDEO_VIMC) += vimc.o vimc-capture.o vimc-debayer.o \ vimc-scaler.o vimc-sensor.o media/platform/ti-vpe/Makefile 0000644 00000000570 14722053666 0012330 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIDEO_TI_VPE) += ti-vpe.o obj-$(CONFIG_VIDEO_TI_VPDMA) += ti-vpdma.o obj-$(CONFIG_VIDEO_TI_SC) += ti-sc.o obj-$(CONFIG_VIDEO_TI_CSC) += ti-csc.o ti-vpe-y := vpe.o ti-vpdma-y := vpdma.o ti-sc-y := sc.o ti-csc-y := csc.o ccflags-$(CONFIG_VIDEO_TI_VPE_DEBUG) += -DDEBUG obj-$(CONFIG_VIDEO_TI_CAL) += ti-cal.o ti-cal-y := cal.o media/platform/omap3isp/Makefile 0000644 00000000477 14722053666 0012665 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for OMAP3 ISP driver ccflags-$(CONFIG_VIDEO_OMAP3_DEBUG) += -DDEBUG omap3-isp-objs += \ isp.o ispvideo.o \ ispcsiphy.o ispccp2.o ispcsi2.o \ ispccdc.o isppreview.o ispresizer.o \ ispstat.o isph3a_aewb.o isph3a_af.o isphist.o obj-$(CONFIG_VIDEO_OMAP3) += omap3-isp.o media/platform/vsp1/Makefile 0000644 00000000626 14722053666 0012017 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 vsp1-y := vsp1_drv.o vsp1_entity.o vsp1_pipe.o vsp1-y += vsp1_dl.o vsp1_drm.o vsp1_video.o vsp1-y += vsp1_rpf.o vsp1_rwpf.o vsp1_wpf.o vsp1-y += vsp1_clu.o vsp1_hsit.o vsp1_lut.o vsp1-y += vsp1_brx.o vsp1_sru.o vsp1_uds.o vsp1-y += vsp1_hgo.o vsp1_hgt.o vsp1_histo.o vsp1-y += vsp1_lif.o vsp1_uif.o obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1.o media/platform/Kconfig 0000644 00000051236 14722053666 0010774 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Platform drivers # Most drivers here are currently for webcam support menuconfig V4L_PLATFORM_DRIVERS bool "V4L platform devices" depends on MEDIA_CAMERA_SUPPORT help Say Y here to enable support for platform-specific V4L drivers. if V4L_PLATFORM_DRIVERS source "drivers/media/platform/marvell-ccic/Kconfig" config VIDEO_VIA_CAMERA tristate "VIAFB camera controller support" depends on FB_VIA select VIDEOBUF2_DMA_SG select VIDEO_OV7670 help Driver support for the integrated camera controller in VIA Chrome9 chipsets. Currently only tested on OLPC xo-1.5 systems with ov7670 sensors. # # Platform multimedia device configuration # source "drivers/media/platform/cadence/Kconfig" source "drivers/media/platform/davinci/Kconfig" source "drivers/media/platform/omap/Kconfig" config VIDEO_ASPEED tristate "Aspeed AST2400 and AST2500 Video Engine driver" depends on VIDEO_V4L2 select VIDEOBUF2_DMA_CONTIG help Support for the Aspeed Video Engine (VE) embedded in the Aspeed AST2400 and AST2500 SOCs. The VE can capture and compress video data from digital or analog sources. config VIDEO_SH_VOU tristate "SuperH VOU video output driver" depends on MEDIA_CAMERA_SUPPORT depends on VIDEO_DEV && I2C depends on ARCH_SHMOBILE || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG help Support for the Video Output Unit (VOU) on SuperH SoCs. config VIDEO_VIU tristate "Freescale VIU Video Driver" depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C select VIDEOBUF_DMA_CONTIG default y help Support for Freescale VIU video driver. This device captures video data, or overlays video on DIU frame buffer. Say Y here if you want to enable VIU device on MPC5121e Rev2+. In doubt, say N. config VIDEO_MUX tristate "Video Multiplexer" select MULTIPLEXER depends on VIDEO_V4L2 && OF && VIDEO_V4L2_SUBDEV_API && MEDIA_CONTROLLER select REGMAP select V4L2_FWNODE help This driver provides support for N:1 video bus multiplexers. config VIDEO_OMAP3 tristate "OMAP 3 Camera support" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST depends on COMMON_CLK && OF select ARM_DMA_USE_IOMMU if OMAP_IOMMU select VIDEOBUF2_DMA_CONTIG select MFD_SYSCON select V4L2_FWNODE help Driver for an OMAP 3 camera controller. config VIDEO_OMAP3_DEBUG bool "OMAP 3 Camera debug messages" depends on VIDEO_OMAP3 help Enable debug messages on OMAP 3 camera controller driver. config VIDEO_PXA27x tristate "PXA27x Quick Capture Interface driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on PXA27x || COMPILE_TEST select VIDEOBUF2_DMA_SG select SG_SPLIT select V4L2_FWNODE help This is a v4l2 driver for the PXA27x Quick Capture Interface config VIDEO_QCOM_CAMSS tristate "Qualcomm V4L2 Camera Subsystem driver" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST select VIDEOBUF2_DMA_SG select V4L2_FWNODE config VIDEO_S3C_CAMIF tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver" depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API depends on PM depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG help This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera host interface (CAMIF). To compile this driver as a module, choose M here: the module will be called s3c-camif. config VIDEO_STM32_DCMI tristate "STM32 Digital Camera Memory Interface (DCMI) support" depends on VIDEO_V4L2 && OF && MEDIA_CONTROLLER depends on ARCH_STM32 || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help This module makes the STM32 Digital Camera Memory Interface (DCMI) available as a v4l2 device. To compile this driver as a module, choose M here: the module will be called stm32-dcmi. config VIDEO_RENESAS_CEU tristate "Renesas Capture Engine Unit (CEU) driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help This is a v4l2 driver for the Renesas CEU Interface source "drivers/media/platform/exynos4-is/Kconfig" source "drivers/media/platform/am437x/Kconfig" source "drivers/media/platform/xilinx/Kconfig" source "drivers/media/platform/rcar-vin/Kconfig" source "drivers/media/platform/atmel/Kconfig" source "drivers/media/platform/sunxi/Kconfig" config VIDEO_TI_CAL tristate "TI CAL (Camera Adaptation Layer) driver" depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on SOC_DRA7XX || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help Support for the TI CAL (Camera Adaptation Layer) block found on DRA72X SoC. In TI Technical Reference Manual this module is referred as Camera Interface Subsystem (CAMSS). endif # V4L_PLATFORM_DRIVERS menuconfig V4L_MEM2MEM_DRIVERS bool "Memory-to-memory multimedia devices" depends on VIDEO_V4L2 depends on MEDIA_CAMERA_SUPPORT help Say Y here to enable selecting drivers for V4L devices that use system memory for both source and destination buffers, as opposed to capture and output drivers, which use memory buffers for just one of those. if V4L_MEM2MEM_DRIVERS config VIDEO_CODA tristate "Chips&Media Coda multi-standard codec IP" depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST) select SRAM select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_VMALLOC select V4L2_MEM2MEM_DEV select GENERIC_ALLOCATOR help Coda is a range of video codec IPs that supports H.264, MPEG-4, and other video formats. config VIDEO_IMX_VDOA def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST config VIDEO_IMX_PXP tristate "i.MX Pixel Pipeline (PXP)" depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST) select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help The i.MX Pixel Pipeline is a memory-to-memory engine for scaling, color space conversion, and rotation. config VIDEO_MEDIATEK_JPEG tristate "Mediatek JPEG Codec driver" depends on MTK_IOMMU_V1 || COMPILE_TEST depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_MEDIATEK || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help Mediatek jpeg codec driver provides HW capability to decode JPEG format To compile this driver as a module, choose M here: the module will be called mtk-jpeg config VIDEO_MEDIATEK_VPU tristate "Mediatek Video Processor Unit" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_MEDIATEK || COMPILE_TEST help This driver provides downloading VPU firmware and communicating with VPU. This driver for hw video codec embedded in Mediatek's MT8173 SOCs. It is able to handle video decoding/encoding in a range of formats. To compile this driver as a module, choose M here: the module will be called mtk-vpu. config VIDEO_MEDIATEK_MDP tristate "Mediatek MDP driver" depends on MTK_IOMMU || COMPILE_TEST depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_MEDIATEK || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV select VIDEO_MEDIATEK_VPU help It is a v4l2 driver and present in Mediatek MT8173 SoCs. The driver supports for scaling and color space conversion. To compile this driver as a module, choose M here: the module will be called mtk-mdp. config VIDEO_MEDIATEK_VCODEC tristate "Mediatek Video Codec driver" depends on MTK_IOMMU || COMPILE_TEST depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_MEDIATEK || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV select VIDEO_MEDIATEK_VPU help Mediatek video codec driver provides HW capability to encode and decode in a range of video formats This driver rely on VPU driver to communicate with VPU. To compile this driver as a module, choose M here: the module will be called mtk-vcodec config VIDEO_MEM2MEM_DEINTERLACE tristate "Deinterlace support" depends on VIDEO_DEV && VIDEO_V4L2 depends on HAS_DMA select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help Generic deinterlacing V4L2 driver. config VIDEO_SAMSUNG_S5P_G2D tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D 2d graphics accelerator. config VIDEO_SAMSUNG_S5P_JPEG tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help This is a v4l2 driver for Samsung S5P, EXYNOS3250 and EXYNOS4 JPEG codec config VIDEO_SAMSUNG_S5P_MFC tristate "Samsung S5P MFC Video Codec" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG help MFC 5.1 and 6.x driver for V4L2 config VIDEO_MX2_EMMAPRP tristate "MX2 eMMa-PrP support" depends on VIDEO_DEV && VIDEO_V4L2 depends on SOC_IMX27 || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help MX2X chips have a PrP that can be used to process buffers from memory to memory. Operations include resizing and format conversion. config VIDEO_SAMSUNG_EXYNOS_GSC tristate "Samsung Exynos G-Scaler driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_EXYNOS || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler. config VIDEO_STI_BDISP tristate "STMicroelectronics BDISP 2D blitter driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_STI || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC. config VIDEO_STI_HVA tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_STI || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format video encoder of STMicroelectronics SoC, allowing hardware encoding of raw uncompressed formats in various compressed video bitstreams format. To compile this driver as a module, choose M here: the module will be called st-hva. config VIDEO_STI_HVA_DEBUGFS bool "Export STMicroelectronics HVA internals in debugfs" depends on VIDEO_STI_HVA depends on DEBUG_FS help Select this to see information about the internal state and the last operation of STMicroelectronics HVA multi-format video encoder in debugfs. Choose N unless you know you need this. config VIDEO_STI_DELTA tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_STI || COMPILE_TEST help This V4L2 driver enables DELTA multi-format video decoder of STMicroelectronics STiH4xx SoC series allowing hardware decoding of various compressed video bitstream format in raw uncompressed format. Use this option to see the decoders available for such hardware. Please notice that the driver will only be built if at least one of the DELTA decoder below is selected. if VIDEO_STI_DELTA config VIDEO_STI_DELTA_MJPEG bool "STMicroelectronics DELTA MJPEG support" default y help Enables DELTA MJPEG hardware support. To compile this driver as a module, choose M here: the module will be called st-delta. config VIDEO_STI_DELTA_DRIVER tristate depends on VIDEO_STI_DELTA depends on VIDEO_STI_DELTA_MJPEG default VIDEO_STI_DELTA_MJPEG select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV select RPMSG endif # VIDEO_STI_DELTA config VIDEO_SH_VEU tristate "SuperH VEU mem2mem video processing driver" depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help Support for the Video Engine Unit (VEU) on SuperH and SH-Mobile SoCs. config VIDEO_RENESAS_FDP1 tristate "Renesas Fine Display Processor" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_RENESAS || COMPILE_TEST depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help This is a V4L2 driver for the Renesas Fine Display Processor providing colour space conversion, and de-interlacing features. To compile this driver as a module, choose M here: the module will be called rcar_fdp1. config VIDEO_RENESAS_JPU tristate "Renesas JPEG Processing Unit" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_RENESAS || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV help This is a V4L2 driver for the Renesas JPEG Processing Unit. To compile this driver as a module, choose M here: the module will be called rcar_jpu. config VIDEO_RENESAS_FCP tristate "Renesas Frame Compression Processor" depends on ARCH_RENESAS || COMPILE_TEST depends on OF help This is a driver for the Renesas Frame Compression Processor (FCP). The FCP is a companion module of video processing modules in the Renesas R-Car Gen3 SoCs. It handles memory access for the codec, VSP and FDP modules. To compile this driver as a module, choose M here: the module will be called rcar-fcp. config VIDEO_RENESAS_VSP1 tristate "Renesas VSP1 Video Processing Engine" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on ARCH_RENESAS || COMPILE_TEST depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_VMALLOC help This is a V4L2 driver for the Renesas VSP1 video processing engine. To compile this driver as a module, choose M here: the module will be called vsp1. config VIDEO_ROCKCHIP_RGA tristate "Rockchip Raster 2d Graphic Acceleration Unit" depends on VIDEO_DEV && VIDEO_V4L2 depends on ARCH_ROCKCHIP || COMPILE_TEST select VIDEOBUF2_DMA_SG select V4L2_MEM2MEM_DEV help This is a v4l2 driver for Rockchip SOC RGA 2d graphics accelerator. Rockchip RGA is a separate 2D raster graphic acceleration unit. It accelerates 2D graphics operations, such as point/line drawing, image scaling, rotation, BitBLT, alpha blending and image blur/sharpness. To compile this driver as a module choose m here. config VIDEO_TI_VPE tristate "TI VPE (Video Processing Engine) driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on SOC_DRA7XX || COMPILE_TEST select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV select VIDEO_TI_VPDMA select VIDEO_TI_SC select VIDEO_TI_CSC help Support for the TI VPE(Video Processing Engine) block found on DRA7XX SoC. config VIDEO_TI_VPE_DEBUG bool "VPE debug messages" depends on VIDEO_TI_VPE help Enable debug messages on VPE driver. config VIDEO_QCOM_VENUS tristate "Qualcomm Venus V4L2 encoder/decoder driver" depends on VIDEO_DEV && VIDEO_V4L2 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST select QCOM_MDT_LOADER if ARCH_QCOM select QCOM_SCM if ARCH_QCOM select VIDEOBUF2_DMA_SG select V4L2_MEM2MEM_DEV help This is a V4L2 driver for Qualcomm Venus video accelerator hardware. It accelerates encoding and decoding operations on various Qualcomm SoCs. To compile this driver as a module choose m here. endif # V4L_MEM2MEM_DRIVERS # TI VIDEO PORT Helper Modules # These will be selected by VPE and VIP config VIDEO_TI_VPDMA tristate config VIDEO_TI_SC tristate config VIDEO_TI_CSC tristate menuconfig V4L_TEST_DRIVERS bool "Media test drivers" depends on MEDIA_CAMERA_SUPPORT if V4L_TEST_DRIVERS source "drivers/media/platform/vimc/Kconfig" source "drivers/media/platform/vivid/Kconfig" config VIDEO_VIM2M tristate "Virtual Memory-to-Memory Driver" depends on VIDEO_DEV && VIDEO_V4L2 select VIDEOBUF2_VMALLOC select V4L2_MEM2MEM_DEV help This is a virtual test device for the memory-to-memory driver framework. source "drivers/media/platform/vicodec/Kconfig" endif #V4L_TEST_DRIVERS menuconfig DVB_PLATFORM_DRIVERS bool "DVB platform devices" depends on MEDIA_DIGITAL_TV_SUPPORT help Say Y here to enable support for platform-specific Digital TV drivers. if DVB_PLATFORM_DRIVERS source "drivers/media/platform/sti/c8sectpfe/Kconfig" endif #DVB_PLATFORM_DRIVERS menuconfig CEC_PLATFORM_DRIVERS bool "CEC platform devices" depends on MEDIA_CEC_SUPPORT if CEC_PLATFORM_DRIVERS config VIDEO_CROS_EC_CEC tristate "ChromeOS EC CEC driver" depends on CROS_EC select CEC_CORE select CEC_NOTIFIER select CROS_EC_PROTO help If you say yes here you will get support for the ChromeOS Embedded Controller's CEC. The CEC bus is present in the HDMI connector and enables communication between compatible devices. config VIDEO_MESON_AO_CEC tristate "Amlogic Meson AO CEC driver" depends on ARCH_MESON || COMPILE_TEST select CEC_CORE select CEC_NOTIFIER help This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the generic CEC framework interface. CEC bus is present in the HDMI connector and enables communication config VIDEO_MESON_G12A_AO_CEC tristate "Amlogic Meson G12A AO CEC driver" depends on ARCH_MESON || COMPILE_TEST depends on COMMON_CLK && OF select REGMAP select REGMAP_MMIO select CEC_CORE select CEC_NOTIFIER ---help--- This is a driver for Amlogic Meson G12A SoCs AO CEC interface. This driver if for the new AO-CEC module found in G12A SoCs, usually named AO_CEC_B in documentation. It uses the generic CEC framework interface. CEC bus is present in the HDMI connector and enables communication between compatible devices. config CEC_GPIO tristate "Generic GPIO-based CEC driver" depends on PREEMPT || COMPILE_TEST select CEC_CORE select CEC_PIN select GPIOLIB help This is a generic GPIO-based CEC driver. The CEC bus is present in the HDMI connector and enables communication between compatible devices. config VIDEO_SAMSUNG_S5P_CEC tristate "Samsung S5P CEC driver" depends on ARCH_EXYNOS || COMPILE_TEST select CEC_CORE select CEC_NOTIFIER help This is a driver for Samsung S5P HDMI CEC interface. It uses the generic CEC framework interface. CEC bus is present in the HDMI connector and enables communication between compatible devices. config VIDEO_STI_HDMI_CEC tristate "STMicroelectronics STiH4xx HDMI CEC driver" depends on ARCH_STI || COMPILE_TEST select CEC_CORE select CEC_NOTIFIER help This is a driver for STIH4xx HDMI CEC interface. It uses the generic CEC framework interface. CEC bus is present in the HDMI connector and enables communication between compatible devices. config VIDEO_STM32_HDMI_CEC tristate "STMicroelectronics STM32 HDMI CEC driver" depends on ARCH_STM32 || COMPILE_TEST select REGMAP select REGMAP_MMIO select CEC_CORE help This is a driver for STM32 interface. It uses the generic CEC framework interface. CEC bus is present in the HDMI connector and enables communication between compatible devices. config VIDEO_TEGRA_HDMI_CEC tristate "Tegra HDMI CEC driver" depends on ARCH_TEGRA || COMPILE_TEST select CEC_CORE select CEC_NOTIFIER help This is a driver for the Tegra HDMI CEC interface. It uses the generic CEC framework interface. The CEC bus is present in the HDMI connector and enables communication between compatible devices. config VIDEO_SECO_CEC tristate "SECO Boards HDMI CEC driver" depends on (X86 || IA64) || COMPILE_TEST depends on PCI && DMI select CEC_CORE select CEC_NOTIFIER help This is a driver for SECO Boards integrated CEC interface. Selecting it will enable support for this device. CEC bus is present in the HDMI connector and enables communication between compatible devices. config VIDEO_SECO_RC bool "SECO Boards IR RC5 support" depends on VIDEO_SECO_CEC depends on RC_CORE=y || RC_CORE = VIDEO_SECO_CEC help If you say yes here you will get support for the SECO Boards Consumer-IR in seco-cec driver. The embedded controller supports RC5 protocol only, default mapping is set to rc-hauppauge. endif #CEC_PLATFORM_DRIVERS menuconfig SDR_PLATFORM_DRIVERS bool "SDR platform devices" depends on MEDIA_SDR_SUPPORT help Say Y here to enable support for platform-specific SDR Drivers. if SDR_PLATFORM_DRIVERS config VIDEO_RCAR_DRIF tristate "Renesas Digital Radio Interface (DRIF)" depends on VIDEO_V4L2 depends on ARCH_RENESAS || COMPILE_TEST select VIDEOBUF2_VMALLOC help Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital Radio Interface that interfaces with an RF front end chip. It is a receiver of digital data which uses DMA to transfer received data to a configured location for an application to use. To compile this driver as a module, choose M here; the module will be called rcar_drif. endif # SDR_PLATFORM_DRIVERS media/platform/davinci/Kconfig 0000644 00000006304 14722053666 0012405 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_DAVINCI_VPIF_DISPLAY tristate "TI DaVinci VPIF V4L2-Display driver" depends on VIDEO_V4L2 depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF2_DMA_CONTIG select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT help Enables Davinci VPIF module used for display devices. This module is used for display on TI DM6467/DA850/OMAPL138 SoCs. To compile this driver as a module, choose M here. There will be two modules called vpif.ko and vpif_display.ko config VIDEO_DAVINCI_VPIF_CAPTURE tristate "TI DaVinci VPIF video capture driver" depends on VIDEO_V4L2 depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help Enables Davinci VPIF module used for capture devices. This module is used for capture on TI DM6467/DA850/OMAPL138 SoCs. To compile this driver as a module, choose M here. There will be two modules called vpif.ko and vpif_capture.ko config VIDEO_DM6446_CCDC tristate "TI DM6446 CCDC video capture driver" depends on VIDEO_V4L2 depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF_DMA_CONTIG help Enables DaVinci CCD hw module. DaVinci CCDC hw interfaces with decoder modules such as TVP5146 over BT656 or sensor module such as MT9T001 over a raw interface. This module configures the interface and CCDC/ISIF to do video frame capture from slave decoders. To compile this driver as a module, choose M here. There will be three modules called vpfe_capture.ko, vpss.ko and dm644x_ccdc.ko config VIDEO_DM355_CCDC tristate "TI DM355 CCDC video capture driver" depends on VIDEO_V4L2 depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF_DMA_CONTIG help Enables DM355 CCD hw module. DM355 CCDC hw interfaces with decoder modules such as TVP5146 over BT656 or sensor module such as MT9T001 over a raw interface. This module configures the interface and CCDC/ISIF to do video frame capture from a slave decoders To compile this driver as a module, choose M here. There will be three modules called vpfe_capture.ko, vpss.ko and dm355_ccdc.ko config VIDEO_DM365_ISIF tristate "TI DM365 ISIF video capture driver" depends on VIDEO_V4L2 depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF_DMA_CONTIG help Enables ISIF hw module. This is the hardware module for configuring ISIF in VPFE to capture Raw Bayer RGB data from a image sensor or YUV data from a YUV source. To compile this driver as a module, choose M here. There will be three modules called vpfe_capture.ko, vpss.ko and isif.ko config VIDEO_DAVINCI_VPBE_DISPLAY tristate "TI DaVinci VPBE V4L2-Display driver" depends on VIDEO_V4L2 depends on ARCH_DAVINCI || COMPILE_TEST depends on I2C select VIDEOBUF2_DMA_CONTIG help Enables Davinci VPBE module used for display devices. This module is used for display on TI DM644x/DM365/DM355 based display devices. To compile this driver as a module, choose M here. There will be five modules created called vpss.ko, vpbe.ko, vpbe_osd.ko, vpbe_venc.ko and vpbe_display.ko media/platform/davinci/Makefile 0000644 00000001122 14722053666 0012533 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the davinci video device drivers. # #VPIF Display driver obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif.o vpif_display.o #VPIF Capture driver obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif.o vpif_capture.o # Capture: DM6446 and DM355 obj-$(CONFIG_VIDEO_DM6446_CCDC) += vpfe_capture.o vpss.o dm644x_ccdc.o obj-$(CONFIG_VIDEO_DM355_CCDC) += vpfe_capture.o vpss.o dm355_ccdc.o obj-$(CONFIG_VIDEO_DM365_ISIF) += vpfe_capture.o vpss.o isif.o obj-$(CONFIG_VIDEO_DAVINCI_VPBE_DISPLAY) += vpss.o vpbe.o vpbe_osd.o \ vpbe_venc.o vpbe_display.o media/platform/exynos4-is/Kconfig 0000644 00000004615 14722053666 0013015 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_SAMSUNG_EXYNOS4_IS tristate "Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST depends on OF && COMMON_CLK select V4L2_FWNODE help Say Y here to enable camera host interface devices for Samsung S5P and EXYNOS SoC series. if VIDEO_SAMSUNG_EXYNOS4_IS config VIDEO_EXYNOS4_IS_COMMON tristate config VIDEO_S5P_FIMC tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver" depends on I2C depends on HAS_DMA select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV select MFD_SYSCON select VIDEO_EXYNOS4_IS_COMMON help This is a V4L2 driver for Samsung S5P and EXYNOS4 SoC camera host interface and video postprocessor (FIMC) devices. To compile this driver as a module, choose M here: the module will be called s5p-fimc. config VIDEO_S5P_MIPI_CSIS tristate "S5P/EXYNOS MIPI-CSI2 receiver (MIPI-CSIS) driver" depends on REGULATOR select GENERIC_PHY select V4L2_FWNODE help This is a V4L2 driver for Samsung S5P and EXYNOS4 SoC MIPI-CSI2 receiver (MIPI-CSIS) devices. To compile this driver as a module, choose M here: the module will be called s5p-csis. config VIDEO_EXYNOS_FIMC_LITE tristate "EXYNOS FIMC-LITE camera interface driver" depends on I2C depends on SOC_EXYNOS4412 || SOC_EXYNOS5250 || COMPILE_TEST depends on HAS_DMA select VIDEOBUF2_DMA_CONTIG select VIDEO_EXYNOS4_IS_COMMON help This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera host interface. To compile this driver as a module, choose M here: the module will be called exynos-fimc-lite. config VIDEO_EXYNOS4_FIMC_IS tristate "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver" depends on I2C depends on HAS_DMA select VIDEOBUF2_DMA_CONTIG depends on OF select FW_LOADER help This is a V4L2 driver for Samsung EXYNOS4x12 SoC series FIMC-IS (Imaging Subsystem). To compile this driver as a module, choose M here: the module will be called exynos4-fimc-is. config VIDEO_EXYNOS4_ISP_DMA_CAPTURE bool "EXYNOS4x12 FIMC-IS ISP Direct DMA capture support" depends on VIDEO_EXYNOS4_FIMC_IS select VIDEO_EXYNOS4_IS_COMMON default y help This option enables an additional video device node exposing a V4L2 video capture interface for the FIMC-IS ISP raw (Bayer) capture DMA. endif # VIDEO_SAMSUNG_EXYNOS4_IS media/platform/exynos4-is/Makefile 0000644 00000001345 14722053666 0013147 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 s5p-fimc-objs := fimc-core.o fimc-reg.o fimc-m2m.o fimc-capture.o media-dev.o exynos-fimc-lite-objs += fimc-lite-reg.o fimc-lite.o s5p-csis-objs := mipi-csis.o exynos4-is-common-objs := common.o exynos-fimc-is-objs := fimc-is.o fimc-isp.o fimc-is-sensor.o fimc-is-regs.o exynos-fimc-is-objs += fimc-is-param.o fimc-is-errno.o fimc-is-i2c.o ifeq ($(CONFIG_VIDEO_EXYNOS4_ISP_DMA_CAPTURE),y) exynos-fimc-is-objs += fimc-isp-video.o endif obj-$(CONFIG_VIDEO_S5P_MIPI_CSIS) += s5p-csis.o obj-$(CONFIG_VIDEO_EXYNOS_FIMC_LITE) += exynos-fimc-lite.o obj-$(CONFIG_VIDEO_EXYNOS4_FIMC_IS) += exynos-fimc-is.o obj-$(CONFIG_VIDEO_S5P_FIMC) += s5p-fimc.o obj-$(CONFIG_VIDEO_EXYNOS4_IS_COMMON) += exynos4-is-common.o media/platform/s5p-cec/Makefile 0000644 00000000206 14722053666 0012357 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_SAMSUNG_S5P_CEC) += s5p-cec.o s5p-cec-y += s5p_cec.o exynos_hdmi_cecctrl.o media/platform/qcom/camss/Makefile 0000644 00000000525 14722053666 0013171 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for Qualcomm CAMSS driver qcom-camss-objs += \ camss.o \ camss-csid.o \ camss-csiphy-2ph-1-0.o \ camss-csiphy-3ph-1-0.o \ camss-csiphy.o \ camss-ispif.o \ camss-vfe-4-1.o \ camss-vfe-4-7.o \ camss-vfe.o \ camss-video.o \ obj-$(CONFIG_VIDEO_QCOM_CAMSS) += qcom-camss.o media/platform/qcom/venus/Makefile 0000644 00000000624 14722053666 0013223 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for Qualcomm Venus driver venus-core-objs += core.o helpers.o firmware.o \ hfi_venus.o hfi_msgs.o hfi_cmds.o hfi.o \ hfi_parser.o venus-dec-objs += vdec.o vdec_ctrls.o venus-enc-objs += venc.o venc_ctrls.o obj-$(CONFIG_VIDEO_QCOM_VENUS) += venus-core.o obj-$(CONFIG_VIDEO_QCOM_VENUS) += venus-dec.o obj-$(CONFIG_VIDEO_QCOM_VENUS) += venus-enc.o media/platform/s5p-g2d/Makefile 0000644 00000000171 14722053666 0012302 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only s5p-g2d-objs := g2d.o g2d-hw.o obj-$(CONFIG_VIDEO_SAMSUNG_S5P_G2D) += s5p-g2d.o media/platform/mtk-jpeg/Makefile 0000644 00000000230 14722053666 0012633 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only mtk_jpeg-objs := mtk_jpeg_core.o mtk_jpeg_hw.o mtk_jpeg_parse.o obj-$(CONFIG_VIDEO_MEDIATEK_JPEG) += mtk_jpeg.o media/platform/s5p-mfc/Makefile 0000644 00000000506 14722053666 0012375 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIDEO_SAMSUNG_S5P_MFC) += s5p-mfc.o s5p-mfc-y += s5p_mfc.o s5p_mfc_intr.o s5p-mfc-y += s5p_mfc_dec.o s5p_mfc_enc.o s5p-mfc-y += s5p_mfc_ctrl.o s5p_mfc_pm.o s5p-mfc-y += s5p_mfc_opr.o s5p_mfc_opr_v5.o s5p_mfc_opr_v6.o s5p-mfc-y += s5p_mfc_cmd.o s5p_mfc_cmd_v5.o s5p_mfc_cmd_v6.o media/platform/exynos-gsc/Makefile 0000644 00000000223 14722053666 0013216 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only exynos-gsc-objs := gsc-core.o gsc-m2m.o gsc-regs.o obj-$(CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC) += exynos-gsc.o media/platform/cec-gpio/Makefile 0000644 00000000115 14722053666 0012605 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CEC_GPIO) += cec-gpio.o media/platform/coda/Makefile 0000644 00000000343 14722053666 0012030 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only coda-vpu-objs := coda-common.o coda-bit.o coda-gdi.o coda-h264.o coda-mpeg2.o coda-mpeg4.o coda-jpeg.o obj-$(CONFIG_VIDEO_CODA) += coda-vpu.o obj-$(CONFIG_VIDEO_IMX_VDOA) += imx-vdoa.o media/platform/vivid/Kconfig 0000644 00000002420 14722053666 0012104 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_VIVID tristate "Virtual Video Test Driver" depends on VIDEO_DEV && VIDEO_V4L2 && !SPARC32 && !SPARC64 && FB depends on HAS_DMA select FONT_SUPPORT select FONT_8x16 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select VIDEOBUF2_VMALLOC select VIDEOBUF2_DMA_CONTIG select VIDEO_V4L2_TPG help Enables a virtual video driver. This driver emulates a webcam, TV, S-Video and HDMI capture hardware, including VBI support for the SDTV inputs. Also video output, VBI output, radio receivers, transmitters and software defined radio capture is emulated. It is highly configurable and is ideal for testing applications. Error injection is supported to test rare errors that are hard to reproduce in real hardware. Say Y here if you want to test video apps or debug V4L devices. When in doubt, say N. config VIDEO_VIVID_CEC bool "Enable CEC emulation support" depends on VIDEO_VIVID select CEC_CORE help When selected the vivid module will emulate the optional HDMI CEC feature. config VIDEO_VIVID_MAX_DEVS int "Maximum number of devices" depends on VIDEO_VIVID default "64" help This allows you to specify the maximum number of devices supported by the vivid driver. media/platform/vivid/Makefile 0000644 00000000665 14722053666 0012252 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 vivid-objs := vivid-core.o vivid-ctrls.o vivid-vid-common.o vivid-vbi-gen.o \ vivid-vid-cap.o vivid-vid-out.o vivid-kthread-cap.o vivid-kthread-out.o \ vivid-radio-rx.o vivid-radio-tx.o vivid-radio-common.o \ vivid-rds-gen.o vivid-sdr-cap.o vivid-vbi-cap.o vivid-vbi-out.o \ vivid-osd.o ifeq ($(CONFIG_VIDEO_VIVID_CEC),y) vivid-objs += vivid-cec.o endif obj-$(CONFIG_VIDEO_VIVID) += vivid.o media/platform/marvell-ccic/Kconfig 0000644 00000001715 14722053666 0013332 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_CAFE_CCIC tristate "Marvell 88ALP01 (Cafe) CMOS Camera Controller support" depends on PCI && I2C && VIDEO_V4L2 depends on COMMON_CLK select VIDEO_OV7670 select VIDEOBUF2_VMALLOC select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_DMA_SG help This is a video4linux2 driver for the Marvell 88ALP01 integrated CMOS camera controller. This is the controller found on first- generation OLPC systems. config VIDEO_MMP_CAMERA tristate "Marvell Armada 610 integrated camera controller support" depends on I2C && VIDEO_V4L2 depends on ARCH_MMP || COMPILE_TEST depends on COMMON_CLK select VIDEO_OV7670 select I2C_GPIO select VIDEOBUF2_VMALLOC select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_DMA_SG help This is a Video4Linux2 driver for the integrated camera controller found on Marvell Armada 610 application processors (and likely beyond). This is the controller found in OLPC XO 1.75 systems. media/platform/marvell-ccic/Makefile 0000644 00000000327 14722053666 0013465 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_CAFE_CCIC) += cafe_ccic.o mcam-core.o cafe_ccic-y := cafe-driver.o obj-$(CONFIG_VIDEO_MMP_CAMERA) += mmp_camera.o mcam-core.o mmp_camera-y := mmp-driver.o media/platform/meson/Makefile 0000644 00000000214 14722053666 0012240 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_MESON_AO_CEC) += ao-cec.o obj-$(CONFIG_VIDEO_MESON_G12A_AO_CEC) += ao-cec-g12a.o media/platform/seco-cec/Makefile 0000644 00000000123 14722053666 0012577 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_SECO_CEC) += seco-cec.o media/platform/Makefile 0000644 00000005222 14722053666 0011123 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the video capture/playback device drivers. # obj-$(CONFIG_VIDEO_ASPEED) += aspeed-video.o obj-$(CONFIG_VIDEO_CADENCE) += cadence/ obj-$(CONFIG_VIDEO_VIA_CAMERA) += via-camera.o obj-$(CONFIG_VIDEO_CAFE_CCIC) += marvell-ccic/ obj-$(CONFIG_VIDEO_MMP_CAMERA) += marvell-ccic/ obj-$(CONFIG_VIDEO_OMAP3) += omap3isp/ obj-$(CONFIG_VIDEO_PXA27x) += pxa_camera.o obj-$(CONFIG_VIDEO_VIU) += fsl-viu.o obj-$(CONFIG_VIDEO_VIMC) += vimc/ obj-$(CONFIG_VIDEO_VIVID) += vivid/ obj-$(CONFIG_VIDEO_VIM2M) += vim2m.o obj-$(CONFIG_VIDEO_VICODEC) += vicodec/ obj-$(CONFIG_VIDEO_TI_VPE) += ti-vpe/ obj-$(CONFIG_VIDEO_TI_CAL) += ti-vpe/ obj-$(CONFIG_VIDEO_MX2_EMMAPRP) += mx2_emmaprp.o obj-$(CONFIG_VIDEO_CODA) += coda/ obj-$(CONFIG_VIDEO_IMX_PXP) += imx-pxp.o obj-$(CONFIG_VIDEO_SH_VEU) += sh_veu.o obj-$(CONFIG_CEC_GPIO) += cec-gpio/ obj-$(CONFIG_VIDEO_MEM2MEM_DEINTERLACE) += m2m-deinterlace.o obj-$(CONFIG_VIDEO_MUX) += video-mux.o obj-$(CONFIG_VIDEO_S3C_CAMIF) += s3c-camif/ obj-$(CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS) += exynos4-is/ obj-$(CONFIG_VIDEO_SAMSUNG_S5P_JPEG) += s5p-jpeg/ obj-$(CONFIG_VIDEO_SAMSUNG_S5P_MFC) += s5p-mfc/ obj-$(CONFIG_VIDEO_SAMSUNG_S5P_G2D) += s5p-g2d/ obj-$(CONFIG_VIDEO_SAMSUNG_S5P_CEC) += s5p-cec/ obj-$(CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC) += exynos-gsc/ obj-$(CONFIG_VIDEO_STI_BDISP) += sti/bdisp/ obj-$(CONFIG_VIDEO_STI_HVA) += sti/hva/ obj-$(CONFIG_DVB_C8SECTPFE) += sti/c8sectpfe/ obj-$(CONFIG_VIDEO_STI_HDMI_CEC) += sti/cec/ obj-$(CONFIG_VIDEO_STI_DELTA) += sti/delta/ obj-$(CONFIG_VIDEO_TEGRA_HDMI_CEC) += tegra-cec/ obj-y += stm32/ obj-$(CONFIG_VIDEO_SECO_CEC) += seco-cec/ obj-y += davinci/ obj-$(CONFIG_VIDEO_SH_VOU) += sh_vou.o obj-$(CONFIG_VIDEO_RCAR_DRIF) += rcar_drif.o obj-$(CONFIG_VIDEO_RENESAS_CEU) += renesas-ceu.o obj-$(CONFIG_VIDEO_RENESAS_FCP) += rcar-fcp.o obj-$(CONFIG_VIDEO_RENESAS_FDP1) += rcar_fdp1.o obj-$(CONFIG_VIDEO_RENESAS_JPU) += rcar_jpu.o obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1/ obj-$(CONFIG_VIDEO_ROCKCHIP_RGA) += rockchip/rga/ obj-y += omap/ obj-$(CONFIG_VIDEO_AM437X_VPFE) += am437x/ obj-$(CONFIG_VIDEO_XILINX) += xilinx/ obj-$(CONFIG_VIDEO_RCAR_VIN) += rcar-vin/ obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel/ obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel/ obj-$(CONFIG_VIDEO_STM32_DCMI) += stm32/ obj-$(CONFIG_VIDEO_MEDIATEK_VPU) += mtk-vpu/ obj-$(CONFIG_VIDEO_MEDIATEK_VCODEC) += mtk-vcodec/ obj-$(CONFIG_VIDEO_MEDIATEK_MDP) += mtk-mdp/ obj-$(CONFIG_VIDEO_MEDIATEK_JPEG) += mtk-jpeg/ obj-$(CONFIG_VIDEO_QCOM_CAMSS) += qcom/camss/ obj-$(CONFIG_VIDEO_QCOM_VENUS) += qcom/venus/ obj-y += meson/ obj-y += cros-ec-cec/ obj-y += sunxi/ media/platform/sti/hva/Makefile 0000644 00000000275 14722053666 0012503 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_STI_HVA) += st-hva.o st-hva-y := hva-v4l2.o hva-hw.o hva-mem.o hva-h264.o st-hva-$(CONFIG_VIDEO_STI_HVA_DEBUGFS) += hva-debugfs.o media/platform/sti/c8sectpfe/Kconfig 0000644 00000002022 14722053666 0013444 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_C8SECTPFE tristate "STMicroelectronics C8SECTPFE DVB support" depends on PINCTRL && DVB_CORE && I2C depends on ARCH_STI || ARCH_MULTIPLATFORM || COMPILE_TEST select FW_LOADER select DEBUG_FS select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV090x if MEDIA_SUBDRV_AUTOSELECT select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV6110 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0900 if MEDIA_SUBDRV_AUTOSELECT select DVB_STV0367 if MEDIA_SUBDRV_AUTOSELECT select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT help This adds support for DVB front-end cards connected to TS inputs of STiH407/410 SoC. The driver currently supports C8SECTPFE's TS input block, memdma engine, and HW PID filtering. Supported DVB front-end cards are: - STMicroelectronics DVB-T B2100A (STV0367 + TDA18212) - STMicroelectronics DVB-S/S2 STV0903 + STV6110 + LNBP24 board To compile this driver as a module, choose M here: the module will be called c8sectpfe. media/platform/sti/c8sectpfe/Makefile 0000644 00000000424 14722053666 0013605 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 c8sectpfe-y += c8sectpfe-core.o c8sectpfe-common.o c8sectpfe-dvb.o \ c8sectpfe-debugfs.o obj-$(CONFIG_DVB_C8SECTPFE) += c8sectpfe.o ccflags-y += -I $(srctree)/drivers/media/dvb-frontends/ ccflags-y += -I $(srctree)/drivers/media/tuners/ media/platform/sti/delta/Makefile 0000644 00000000451 14722053666 0013012 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_STI_DELTA_DRIVER) += st-delta.o st-delta-y := delta-v4l2.o delta-mem.o delta-ipc.o delta-debug.o # MJPEG support st-delta-$(CONFIG_VIDEO_STI_DELTA_MJPEG) += delta-mjpeg-hdr.o st-delta-$(CONFIG_VIDEO_STI_DELTA_MJPEG) += delta-mjpeg-dec.o media/platform/sti/bdisp/Makefile 0000644 00000000206 14722053666 0013020 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_STI_BDISP) += bdisp.o bdisp-objs := bdisp-v4l2.o bdisp-hw.o bdisp-debug.o media/platform/sti/cec/Makefile 0000644 00000000127 14722053666 0012453 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_STI_HDMI_CEC) += stih-cec.o media/platform/mtk-vpu/Makefile 0000644 00000000156 14722053666 0012527 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only mtk-vpu-y += mtk_vpu.o obj-$(CONFIG_VIDEO_MEDIATEK_VPU) += mtk-vpu.o media/platform/cros-ec-cec/Makefile 0000644 00000000131 14722053666 0013200 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_CROS_EC_CEC) += cros-ec-cec.o media/platform/xilinx/Kconfig 0000644 00000001166 14722053666 0012304 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config VIDEO_XILINX tristate "Xilinx Video IP (EXPERIMENTAL)" depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && OF && HAS_DMA select VIDEOBUF2_DMA_CONTIG select V4L2_FWNODE help Driver for Xilinx Video IP Pipelines if VIDEO_XILINX config VIDEO_XILINX_TPG tristate "Xilinx Video Test Pattern Generator" depends on VIDEO_XILINX select VIDEO_XILINX_VTC help Driver for the Xilinx Video Test Pattern Generator config VIDEO_XILINX_VTC tristate "Xilinx Video Timing Controller" depends on VIDEO_XILINX help Driver for the Xilinx Video Timing Controller endif #VIDEO_XILINX media/platform/xilinx/Makefile 0000644 00000000355 14722053666 0012440 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 xilinx-video-objs += xilinx-dma.o xilinx-vip.o xilinx-vipp.o obj-$(CONFIG_VIDEO_XILINX) += xilinx-video.o obj-$(CONFIG_VIDEO_XILINX_TPG) += xilinx-tpg.o obj-$(CONFIG_VIDEO_XILINX_VTC) += xilinx-vtc.o media/platform/s5p-jpeg/Makefile 0000644 00000000255 14722053666 0012556 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only s5p-jpeg-objs := jpeg-core.o jpeg-hw-exynos3250.o jpeg-hw-exynos4.o jpeg-hw-s5p.o obj-$(CONFIG_VIDEO_SAMSUNG_S5P_JPEG) += s5p-jpeg.o media/platform/mtk-vcodec/Makefile 0000644 00000001207 14722053666 0013156 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIDEO_MEDIATEK_VCODEC) += mtk-vcodec-dec.o \ mtk-vcodec-enc.o \ mtk-vcodec-common.o mtk-vcodec-dec-y := vdec/vdec_h264_if.o \ vdec/vdec_vp8_if.o \ vdec/vdec_vp9_if.o \ mtk_vcodec_dec_drv.o \ vdec_drv_if.o \ vdec_vpu_if.o \ mtk_vcodec_dec.o \ mtk_vcodec_dec_pm.o \ mtk-vcodec-enc-y := venc/venc_vp8_if.o \ venc/venc_h264_if.o \ mtk_vcodec_enc.o \ mtk_vcodec_enc_drv.o \ mtk_vcodec_enc_pm.o \ venc_drv_if.o \ venc_vpu_if.o \ mtk-vcodec-common-y := mtk_vcodec_intr.o \ mtk_vcodec_util.o\ ccflags-y += -I$(srctree)/drivers/media/platform/mtk-vpu media/platform/omap/Kconfig 0000644 00000001011 14722053666 0011712 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VIDEO_OMAP2_VOUT_VRFB bool default y depends on VIDEO_OMAP2_VOUT && (OMAP2_VRFB || COMPILE_TEST) config VIDEO_OMAP2_VOUT tristate "OMAP2/OMAP3 V4L2-Display driver" depends on MMU depends on FB_OMAP2 || (COMPILE_TEST && FB_OMAP2=n) depends on ARCH_OMAP2 || ARCH_OMAP3 || COMPILE_TEST depends on VIDEO_V4L2 select VIDEOBUF2_DMA_CONTIG select OMAP2_VRFB if ARCH_OMAP2 || ARCH_OMAP3 select FRAME_VECTOR help V4L2 Display driver support for OMAP2/3 based boards. media/platform/omap/Makefile 0000644 00000000412 14722053666 0012053 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the omap video device drivers. # # OMAP2/3 Display driver omap-vout-y += omap_vout.o omap_voutlib.o omap-vout-$(CONFIG_VIDEO_OMAP2_VOUT_VRFB) += omap_vout_vrfb.o obj-$(CONFIG_VIDEO_OMAP2_VOUT) += omap-vout.o media/platform/tegra-cec/Makefile 0000644 00000000132 14722053666 0012750 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VIDEO_TEGRA_HDMI_CEC) += tegra_cec.o media/platform/rockchip/rga/Makefile 0000644 00000000212 14722053666 0013470 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only rockchip-rga-objs := rga.o rga-hw.o rga-buf.o obj-$(CONFIG_VIDEO_ROCKCHIP_RGA) += rockchip-rga.o media/firewire/Kconfig 0000644 00000001051 14722053666 0010752 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DVB_FIREDTV tristate "FireDTV and FloppyDTV" depends on DVB_CORE && FIREWIRE help Support for DVB receivers from Digital Everywhere which are connected via IEEE 1394 (FireWire). These devices don't have an MPEG decoder built in, so you need an external software decoder to watch TV. To compile this driver as a module, say M here: the module will be called firedtv. if DVB_FIREDTV config DVB_FIREDTV_INPUT def_bool INPUT = y || (INPUT = m && DVB_FIREDTV = m) endif # DVB_FIREDTV media/firewire/Makefile 0000644 00000000327 14722053666 0011114 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DVB_FIREDTV) += firedtv.o firedtv-y += firedtv-avc.o firedtv-ci.o firedtv-dvb.o firedtv-fe.o firedtv-fw.o firedtv-$(CONFIG_DVB_FIREDTV_INPUT) += firedtv-rc.o media/radio/Kconfig 0000644 00000037316 14722053666 0010251 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Multimedia Video device configuration # menuconfig RADIO_ADAPTERS bool "Radio Adapters" depends on VIDEO_V4L2 depends on MEDIA_RADIO_SUPPORT default y help Say Y here to enable selecting AM/FM radio adapters. if RADIO_ADAPTERS && VIDEO_V4L2 config RADIO_TEA575X tristate source "drivers/media/radio/si470x/Kconfig" config RADIO_SI4713 tristate "Silicon Labs Si4713 FM Radio with RDS Transmitter support" depends on VIDEO_V4L2 source "drivers/media/radio/si4713/Kconfig" config RADIO_SI476X tristate "Silicon Laboratories Si476x I2C FM Radio" depends on I2C && VIDEO_V4L2 depends on MFD_SI476X_CORE depends on SND_SOC select SND_SOC_SI476X help Choose Y here if you have this FM radio chip. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux 2 API. Information on this API and pointers to "v4l2" programs may be found at <file:Documentation/media/media_uapi.rst>. To compile this driver as a module, choose M here: the module will be called radio-si476x. config USB_MR800 tristate "AverMedia MR 800 USB FM radio support" depends on USB && VIDEO_V4L2 help Say Y here if you want to connect this type of radio to your computer's USB port. Note that the audio is not digital, and you must connect the line out connector to a sound card or a set of speakers. To compile this driver as a module, choose M here: the module will be called radio-mr800. config USB_DSBR tristate "D-Link/GemTek USB FM radio support" depends on USB && VIDEO_V4L2 help Say Y here if you want to connect this type of radio to your computer's USB port. Note that the audio is not digital, and you must connect the line out connector to a sound card or a set of speakers. To compile this driver as a module, choose M here: the module will be called dsbr100. config RADIO_MAXIRADIO tristate "Guillemot MAXI Radio FM 2000 radio" depends on VIDEO_V4L2 && PCI select RADIO_TEA575X help Choose Y here if you have this radio card. This card may also be found as Gemtek PCI FM. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux API. Information on this API and pointers to "v4l" programs may be found at <file:Documentation/media/media_uapi.rst>. To compile this driver as a module, choose M here: the module will be called radio-maxiradio. config RADIO_SHARK tristate "Griffin radioSHARK USB radio receiver" depends on USB select RADIO_TEA575X help Choose Y here if you have this radio receiver. There are 2 versions of this device, this driver is for version 1, which is white. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux API. Information on this API and pointers to "v4l" programs may be found at <file:Documentation/media/media_uapi.rst>. To compile this driver as a module, choose M here: the module will be called radio-shark. config RADIO_SHARK2 tristate "Griffin radioSHARK2 USB radio receiver" depends on USB help Choose Y here if you have this radio receiver. There are 2 versions of this device, this driver is for version 2, which is black. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux API. Information on this API and pointers to "v4l" programs may be found at <file:Documentation/media/media_uapi.rst>. To compile this driver as a module, choose M here: the module will be called radio-shark2. config USB_KEENE tristate "Keene FM Transmitter USB support" depends on USB && VIDEO_V4L2 help Say Y here if you want to connect this type of FM transmitter to your computer's USB port. To compile this driver as a module, choose M here: the module will be called radio-keene. config USB_RAREMONO tristate "Thanko's Raremono AM/FM/SW radio support" depends on USB && VIDEO_V4L2 help The 'Thanko's Raremono' device contains the Si4734 chip from Silicon Labs Inc. It is one of the very few or perhaps the only consumer USB radio device to receive the AM/FM/SW bands. Say Y here if you want to connect this type of AM/FM/SW receiver to your computer's USB port. To compile this driver as a module, choose M here: the module will be called radio-raremono. config USB_MA901 tristate "Masterkit MA901 USB FM radio support" depends on USB && VIDEO_V4L2 help Say Y here if you want to connect this type of radio to your computer's USB port. Note that the audio is not digital, and you must connect the line out connector to a sound card or a set of speakers or headphones. To compile this driver as a module, choose M here: the module will be called radio-ma901. config RADIO_TEA5764 tristate "TEA5764 I2C FM radio support" depends on I2C && VIDEO_V4L2 help Say Y here if you want to use the TEA5764 FM chip found in EZX phones. This FM chip is present in EZX phones from Motorola, connected to internal pxa I2C bus. To compile this driver as a module, choose M here: the module will be called radio-tea5764. config RADIO_TEA5764_XTAL bool "TEA5764 crystal reference" depends on RADIO_TEA5764=y default y help Say Y here if TEA5764 have a 32768 Hz crystal in circuit, say N here if TEA5764 reference frequency is connected in FREQIN. config RADIO_SAA7706H tristate "SAA7706H Car Radio DSP" depends on I2C && VIDEO_V4L2 help Say Y here if you want to use the SAA7706H Car radio Digital Signal Processor, found for instance on the Russellville development board. On the russellville the device is connected to internal timberdale I2C bus. To compile this driver as a module, choose M here: the module will be called SAA7706H. config RADIO_TEF6862 tristate "TEF6862 Car Radio Enhanced Selectivity Tuner" depends on I2C && VIDEO_V4L2 help Say Y here if you want to use the TEF6862 Car Radio Enhanced Selectivity Tuner, found for instance on the Russellville development board. On the russellville the device is connected to internal timberdale I2C bus. To compile this driver as a module, choose M here: the module will be called TEF6862. config RADIO_TIMBERDALE tristate "Enable the Timberdale radio driver" depends on MFD_TIMBERDALE && VIDEO_V4L2 depends on I2C # for RADIO_SAA7706H select RADIO_TEF6862 select RADIO_SAA7706H help This is a kind of umbrella driver for the Radio Tuner and DSP found behind the Timberdale FPGA on the Russellville board. Enabling this driver will automatically select the DSP and tuner. config RADIO_WL1273 tristate "Texas Instruments WL1273 I2C FM Radio" depends on I2C && VIDEO_V4L2 select MFD_CORE select MFD_WL1273_CORE select FW_LOADER help Choose Y here if you have this FM radio chip. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux 2 API. Information on this API and pointers to "v4l2" programs may be found at <file:Documentation/media/media_uapi.rst>. To compile this driver as a module, choose M here: the module will be called radio-wl1273. # TI's ST based wl128x FM radio source "drivers/media/radio/wl128x/Kconfig" # # ISA drivers configuration # menuconfig V4L_RADIO_ISA_DRIVERS bool "ISA radio devices" depends on ISA || COMPILE_TEST help Say Y here to enable support for these ISA drivers. if V4L_RADIO_ISA_DRIVERS config RADIO_ISA depends on ISA || COMPILE_TEST tristate config RADIO_CADET tristate "ADS Cadet AM/FM Tuner" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 help Choose Y here if you have one of these AM/FM radio cards, and then fill in the port address below. To compile this driver as a module, choose M here: the module will be called radio-cadet. config RADIO_RTRACK tristate "AIMSlab RadioTrack (aka RadioReveal) support" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 select RADIO_ISA help Choose Y here if you have one of these FM radio cards, and then fill in the port address below. Note that newer AIMSlab RadioTrack cards have a different chipset and are not supported by this driver. For these cards, use the RadioTrack II driver below. If you have a GemTeks combined (PnP) sound- and radio card you must use this driver as a module and setup the card with isapnptools. You must also pass the module a suitable io parameter, 0x248 has been reported to be used by these cards. More information is contained in the file <file:Documentation/media/v4l-drivers/radiotrack.rst>. To compile this driver as a module, choose M here: the module will be called radio-aimslab. config RADIO_RTRACK_PORT hex "RadioTrack i/o port (0x20f or 0x30f)" depends on RADIO_RTRACK=y default "30f" help Enter either 0x30f or 0x20f here. The card default is 0x30f, if you haven't changed the jumper setting on the card. config RADIO_RTRACK2 tristate "AIMSlab RadioTrack II support" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 select RADIO_ISA help Choose Y here if you have this FM radio card, and then fill in the port address below. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-rtrack2. config RADIO_RTRACK2_PORT hex "RadioTrack II i/o port (0x20c or 0x30c)" depends on RADIO_RTRACK2=y default "30c" help Enter either 0x30c or 0x20c here. The card default is 0x30c, if you haven't changed the jumper setting on the card. config RADIO_AZTECH tristate "Aztech/Packard Bell Radio" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 select RADIO_ISA help Choose Y here if you have one of these FM radio cards, and then fill in the port address below. To compile this driver as a module, choose M here: the module will be called radio-aztech. config RADIO_AZTECH_PORT hex "Aztech/Packard Bell I/O port (0x350 or 0x358)" depends on RADIO_AZTECH=y default "350" help Enter either 0x350 or 0x358 here. The card default is 0x350, if you haven't changed the setting of jumper JP3 on the card. Removing the jumper sets the card to 0x358. config RADIO_GEMTEK tristate "GemTek Radio card (or compatible) support" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 select RADIO_ISA help Choose Y here if you have this FM radio card, and then fill in the I/O port address and settings below. The following cards either have GemTek Radio tuner or are rebranded GemTek Radio cards: - Sound Vision 16 Gold with FM Radio - Typhoon Radio card (some models) - Hama Radio card To compile this driver as a module, choose M here: the module will be called radio-gemtek. config RADIO_GEMTEK_PORT hex "Fixed I/O port (0x20c, 0x30c, 0x24c, 0x34c, 0x248 or 0x28c)" depends on RADIO_GEMTEK=y default "34c" help Enter either 0x20c, 0x30c, 0x24c, 0x34c, 0x248 or 0x28c here. The card default is 0x34c, if you haven't changed the jumper setting on the card. On Sound Vision 16 Gold PnP with FM Radio (ESS1869+FM Gemtek), the I/O port is 0x20c, 0x248 or 0x28c. If automatic I/O port probing is enabled this port will be used only in case of automatic probing failure, ie. as a fallback. config RADIO_GEMTEK_PROBE bool "Automatic I/O port probing" depends on RADIO_GEMTEK=y default y help Say Y here to enable automatic probing for GemTek Radio card. The following ports will be probed: 0x20c, 0x30c, 0x24c, 0x34c, 0x248 and 0x28c. config RADIO_MIROPCM20 tristate "miroSOUND PCM20 radio" depends on ISA || COMPILE_TEST depends on ISA_DMA_API && VIDEO_V4L2 && SND select SND_ISA select SND_MIRO help Choose Y here if you have this FM radio card. You also need to enable the ALSA sound system. This choice automatically selects the ALSA sound card driver "Miro miroSOUND PCM1pro/PCM12/PCM20radio" as this is required for the radio-miropcm20. To compile this driver as a module, choose M here: the module will be called radio-miropcm20. config RADIO_SF16FMI tristate "SF16-FMI/SF16-FMP/SF16-FMD Radio" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 help Choose Y here if you have one of these FM radio cards. To compile this driver as a module, choose M here: the module will be called radio-sf16fmi. config RADIO_SF16FMR2 tristate "SF16-FMR2/SF16-FMD2 Radio" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 select RADIO_TEA575X help Choose Y here if you have one of these FM radio cards. To compile this driver as a module, choose M here: the module will be called radio-sf16fmr2. config RADIO_TERRATEC tristate "TerraTec ActiveRadio ISA Standalone" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 select RADIO_ISA help Choose Y here if you have this FM radio card. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-terratec. config RADIO_TRUST tristate "Trust FM radio card" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 select RADIO_ISA help This is a driver for the Trust FM radio cards. Say Y if you have such a card and want to use it under Linux. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-trust. config RADIO_TRUST_PORT hex "Trust i/o port (usually 0x350 or 0x358)" depends on RADIO_TRUST=y default "350" help Enter the I/O port of your Trust FM radio card. If unsure, try the values "0x350" or "0x358". config RADIO_TYPHOON tristate "Typhoon Radio (a.k.a. EcoRadio)" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 select RADIO_ISA help Choose Y here if you have one of these FM radio cards, and then fill in the port address and the frequency used for muting below. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-typhoon. config RADIO_TYPHOON_PORT hex "Typhoon I/O port (0x316 or 0x336)" depends on RADIO_TYPHOON=y default "316" help Enter the I/O port of your Typhoon or EcoRadio radio card. config RADIO_TYPHOON_MUTEFREQ int "Typhoon frequency set when muting the device (kHz)" depends on RADIO_TYPHOON=y default "87500" help Enter the frequency used for muting the radio. The device is never completely silent. If the volume is just turned down, you can still hear silent voices and music. For that reason, the frequency of the radio device is set to the frequency you can enter here whenever the device is muted. There should be no local radio station at that frequency. config RADIO_ZOLTRIX tristate "Zoltrix Radio" depends on ISA || COMPILE_TEST depends on VIDEO_V4L2 select RADIO_ISA help Choose Y here if you have one of these FM radio cards, and then fill in the port address below. Note: this driver hasn't been tested since a long time due to lack of hardware. If you have this hardware, then please contact the linux-media mailinglist. To compile this driver as a module, choose M here: the module will be called radio-zoltrix. config RADIO_ZOLTRIX_PORT hex "ZOLTRIX I/O port (0x20c or 0x30c)" depends on RADIO_ZOLTRIX=y default "20c" help Enter the I/O port of your Zoltrix radio card. endif # V4L_RADIO_ISA_DRIVERS endif # RADIO_ADAPTERS media/radio/si470x/Kconfig 0000644 00000003645 14722053666 0011305 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config RADIO_SI470X tristate "Silicon Labs Si470x FM Radio Receiver support" depends on VIDEO_V4L2 help This is a driver for devices with the Silicon Labs SI470x chip (either via USB or I2C buses). Say Y here if you want to connect this type of radio to your computer's USB port or if it is used by some other driver via I2C bus. To compile this driver as a module, choose M here: the module will be called radio-si470x-common. config USB_SI470X tristate "Silicon Labs Si470x FM Radio Receiver support with USB" depends on USB && RADIO_SI470X help This is a driver for USB devices with the Silicon Labs SI470x chip. Currently these devices are known to work: - 10c4:818a: Silicon Labs USB FM Radio Reference Design - 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music) - 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700) - 10c5:819a: Sanei Electric FM USB Radio (aka DealExtreme.com PCear) Sound is provided by the ALSA USB Audio/MIDI driver. Therefore if you don't want to use the device solely for RDS receiving, it is recommended to also select SND_USB_AUDIO. Please have a look at the documentation, especially on how to redirect the audio stream from the radio to your sound device: Documentation/media/v4l-drivers/si470x.rst Say Y here if you want to connect this type of radio to your computer's USB port. To compile this driver as a module, choose M here: the module will be called radio-usb-si470x. config I2C_SI470X tristate "Silicon Labs Si470x FM Radio Receiver support with I2C" depends on I2C && RADIO_SI470X help This is a driver for I2C devices with the Silicon Labs SI470x chip. Say Y here if you want to connect this type of radio to your computer's I2C port. To compile this driver as a module, choose M here: the module will be called radio-i2c-si470x. media/radio/si470x/Makefile 0000644 00000000401 14722053666 0011425 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for radios with Silicon Labs Si470x FM Radio Receivers # obj-$(CONFIG_RADIO_SI470X) += radio-si470x-common.o obj-$(CONFIG_USB_SI470X) += radio-si470x-usb.o obj-$(CONFIG_I2C_SI470X) += radio-si470x-i2c.o media/radio/si4713/Kconfig 0000644 00000002622 14722053666 0011173 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config USB_SI4713 tristate "Silicon Labs Si4713 FM Radio Transmitter support with USB" depends on USB && I2C && RADIO_SI4713 select I2C_SI4713 help This is a driver for USB devices with the Silicon Labs SI4713 chip. Currently these devices are known to work. - 10c4:8244: Silicon Labs FM Transmitter USB device. Say Y here if you want to connect this type of radio to your computer's USB port. To compile this driver as a module, choose M here: the module will be called radio-usb-si4713. config PLATFORM_SI4713 tristate "Silicon Labs Si4713 FM Radio Transmitter support with I2C" depends on I2C && RADIO_SI4713 select I2C_SI4713 help This is a driver for I2C devices with the Silicon Labs SI4713 chip. Say Y here if you want to connect this type of radio to your computer's I2C port. To compile this driver as a module, choose M here: the module will be called radio-platform-si4713. config I2C_SI4713 tristate "Silicon Labs Si4713 FM Radio Transmitter support" depends on I2C && RADIO_SI4713 help Say Y here if you want support to Si4713 FM Radio Transmitter. This device can transmit audio through FM. It can transmit RDS and RBDS signals as well. This module is the v4l2 radio interface for the i2c driver of this device. To compile this driver as a module, choose M here: the module will be called si4713. media/radio/si4713/Makefile 0000644 00000000377 14722053666 0011335 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for radios with Silicon Labs Si4713 FM Radio Transmitters # obj-$(CONFIG_I2C_SI4713) += si4713.o obj-$(CONFIG_USB_SI4713) += radio-usb-si4713.o obj-$(CONFIG_PLATFORM_SI4713) += radio-platform-si4713.o media/radio/wl128x/Kconfig 0000644 00000001141 14722053666 0011301 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # TI's wl128x FM driver based on TI's ST driver. # menu "Texas Instruments WL128x FM driver (ST based)" config RADIO_WL128X tristate "Texas Instruments WL128x FM Radio" depends on VIDEO_V4L2 && RFKILL && TTY && TI_ST depends on GPIOLIB || COMPILE_TEST help Choose Y here if you have this FM radio chip. In order to control your radio card, you will need to use programs that are compatible with the Video For Linux 2 API. Information on this API and pointers to "v4l2" programs may be found at <file:Documentation/media/media_uapi.rst>. endmenu media/radio/wl128x/Makefile 0000644 00000000332 14722053666 0011437 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for TI's shared transport driver based wl128x # FM radio. # obj-$(CONFIG_RADIO_WL128X) += fm_drv.o fm_drv-objs := fmdrv_common.o fmdrv_rx.o fmdrv_tx.o fmdrv_v4l2.o media/radio/Makefile 0000644 00000002733 14722053666 0010401 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel character device drivers. # obj-$(CONFIG_RADIO_ISA) += radio-isa.o obj-$(CONFIG_RADIO_AZTECH) += radio-aztech.o obj-$(CONFIG_RADIO_RTRACK2) += radio-rtrack2.o obj-$(CONFIG_RADIO_SF16FMI) += radio-sf16fmi.o obj-$(CONFIG_RADIO_SF16FMR2) += radio-sf16fmr2.o obj-$(CONFIG_RADIO_CADET) += radio-cadet.o obj-$(CONFIG_RADIO_TYPHOON) += radio-typhoon.o obj-$(CONFIG_RADIO_TERRATEC) += radio-terratec.o obj-$(CONFIG_RADIO_MAXIRADIO) += radio-maxiradio.o obj-$(CONFIG_RADIO_SHARK) += radio-shark.o obj-$(CONFIG_RADIO_SHARK2) += shark2.o obj-$(CONFIG_RADIO_RTRACK) += radio-aimslab.o obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o obj-$(CONFIG_RADIO_GEMTEK) += radio-gemtek.o obj-$(CONFIG_RADIO_TRUST) += radio-trust.o obj-$(CONFIG_RADIO_SI476X) += radio-si476x.o obj-$(CONFIG_RADIO_MIROPCM20) += radio-miropcm20.o obj-$(CONFIG_USB_DSBR) += dsbr100.o obj-$(CONFIG_RADIO_SI470X) += si470x/ obj-$(CONFIG_RADIO_SI4713) += si4713/ obj-$(CONFIG_USB_MR800) += radio-mr800.o obj-$(CONFIG_USB_KEENE) += radio-keene.o obj-$(CONFIG_USB_MA901) += radio-ma901.o obj-$(CONFIG_RADIO_TEA5764) += radio-tea5764.o obj-$(CONFIG_RADIO_SAA7706H) += saa7706h.o obj-$(CONFIG_RADIO_TEF6862) += tef6862.o obj-$(CONFIG_RADIO_TIMBERDALE) += radio-timb.o obj-$(CONFIG_RADIO_WL1273) += radio-wl1273.o obj-$(CONFIG_RADIO_WL128X) += wl128x/ obj-$(CONFIG_RADIO_TEA575X) += tea575x.o obj-$(CONFIG_USB_RAREMONO) += radio-raremono.o shark2-objs := radio-shark2.o radio-tea5777.o media/cec/Kconfig 0000644 00000000607 14722053666 0007676 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MEDIA_CEC_RC bool "HDMI CEC RC integration" depends on CEC_CORE && RC_CORE depends on CEC_CORE=m || RC_CORE=y help Pass on CEC remote control messages to the RC framework. config CEC_PIN_ERROR_INJ bool "Enable CEC error injection support" depends on CEC_PIN && DEBUG_FS help This option enables CEC error injection using debugfs. media/cec/Makefile 0000644 00000000474 14722053666 0010035 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 cec-objs := cec-core.o cec-adap.o cec-api.o ifeq ($(CONFIG_CEC_NOTIFIER),y) cec-objs += cec-notifier.o endif ifeq ($(CONFIG_CEC_PIN),y) cec-objs += cec-pin.o endif ifeq ($(CONFIG_CEC_PIN_ERROR_INJ),y) cec-objs += cec-pin-error-inj.o endif obj-$(CONFIG_CEC_CORE) += cec.o dca/Kconfig 0000644 00000000136 14722053666 0006611 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # DCA server configuration # config DCA tristate dca/Makefile 0000644 00000000146 14722053666 0006747 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DCA) += dca.o dca-objs := dca-core.o dca-sysfs.o w1/masters/Kconfig 0000644 00000004043 14722053666 0010070 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # 1-wire bus master configuration # menu "1-wire Bus Masters" config W1_MASTER_MATROX tristate "Matrox G400 transport layer for 1-wire" depends on PCI help Say Y here if you want to communicate with your 1-wire devices using Matrox's G400 GPIO pins. This support is also available as a module. If so, the module will be called matrox_w1. config W1_MASTER_DS2490 tristate "DS2490 USB <-> W1 transport layer for 1-wire" depends on USB help Say Y here if you want to have a driver for DS2490 based USB <-> W1 bridges, for example DS9490*. This support is also available as a module. If so, the module will be called ds2490. config W1_MASTER_DS2482 tristate "Maxim DS2482 I2C to 1-Wire bridge" depends on I2C help If you say yes here you get support for the Maxim DS2482 I2C to 1-Wire bridge. This driver can also be built as a module. If so, the module will be called ds2482. config W1_MASTER_MXC tristate "Freescale MXC 1-wire busmaster" depends on ARCH_MXC || COMPILE_TEST help Say Y here to enable MXC 1-wire host config W1_MASTER_DS1WM tristate "Maxim DS1WM 1-wire busmaster" help Say Y here to enable the DS1WM 1-wire driver, such as that in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like hx4700. config W1_MASTER_GPIO tristate "GPIO 1-wire busmaster" depends on GPIOLIB || COMPILE_TEST help Say Y here if you want to communicate with your 1-wire devices using GPIO pins. This driver uses the GPIO API to control the wire. This support is also available as a module. If so, the module will be called w1-gpio. config HDQ_MASTER_OMAP tristate "OMAP HDQ driver" depends on ARCH_OMAP help Say Y here if you want support for the 1-wire or HDQ Interface on an OMAP processor. config W1_MASTER_SGI tristate "SGI ASIC driver" help Say Y here if you want support for your 1-wire devices using SGI ASIC 1-Wire interface This support is also available as a module. If so, the module will be called sgi_w1. endmenu w1/masters/Makefile 0000644 00000000656 14722053666 0010233 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for 1-wire bus master drivers. # obj-$(CONFIG_W1_MASTER_MATROX) += matrox_w1.o obj-$(CONFIG_W1_MASTER_DS2490) += ds2490.o obj-$(CONFIG_W1_MASTER_DS2482) += ds2482.o obj-$(CONFIG_W1_MASTER_MXC) += mxc_w1.o obj-$(CONFIG_W1_MASTER_DS1WM) += ds1wm.o obj-$(CONFIG_W1_MASTER_GPIO) += w1-gpio.o obj-$(CONFIG_HDQ_MASTER_OMAP) += omap_hdq.o obj-$(CONFIG_W1_MASTER_SGI) += sgi_w1.o w1/Kconfig 0000644 00000001767 14722053666 0006424 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig W1 tristate "Dallas's 1-wire support" depends on HAS_IOMEM ---help--- Dallas' 1-wire bus is useful to connect slow 1-pin devices such as iButtons and thermal sensors. If you want W1 support, you should say Y here. This W1 support can also be built as a module. If so, the module will be called wire. if W1 config W1_CON depends on CONNECTOR bool "Userspace communication over connector" default y ---help--- This allows to communicate with userspace using connector. For more information see <file:Documentation/driver-api/connector.rst>. There are three types of messages between w1 core and userspace: 1. Events. They are generated each time new master or slave device found either due to automatic or requested search. 2. Userspace commands. Includes read/write and search/alarm search commands. 3. Replies to userspace commands. source "drivers/w1/masters/Kconfig" source "drivers/w1/slaves/Kconfig" endif # W1 w1/slaves/Kconfig 0000644 00000011201 14722053666 0007701 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # 1-wire slaves configuration # menu "1-wire Slaves" config W1_SLAVE_THERM tristate "Thermal family implementation" help Say Y here if you want to connect 1-wire thermal sensors to your wire. config W1_SLAVE_SMEM tristate "Simple 64bit memory family implementation" help Say Y here if you want to connect 1-wire simple 64bit memory rom(ds2401/ds2411/ds1990*) to your wire. config W1_SLAVE_DS2405 tristate "DS2405 Addressable Switch" help Say Y or M here if you want to use a DS2405 1-wire single-channel addressable switch. This device can also work as a single-channel binary remote sensor. config W1_SLAVE_DS2408 tristate "8-Channel Addressable Switch (IO Expander) 0x29 family support (DS2408)" help Say Y here if you want to use a 1-wire DS2408 8-Channel Addressable Switch device support config W1_SLAVE_DS2408_READBACK bool "Read-back values written to DS2408's output register" depends on W1_SLAVE_DS2408 default y help Enabling this will cause the driver to read back the values written to the chip's output register in order to detect errors. This is slower but useful when debugging chips and/or busses. config W1_SLAVE_DS2413 tristate "Dual Channel Addressable Switch 0x3a family support (DS2413)" help Say Y here if you want to use a 1-wire DS2413 Dual Channel Addressable Switch device support config W1_SLAVE_DS2406 tristate "Dual Channel Addressable Switch 0x12 family support (DS2406)" select CRC16 help Say Y or M here if you want to use a 1-wire DS2406 Dual Channel Addressable Switch. EPROM read/write support for these devices is not implemented. config W1_SLAVE_DS2423 tristate "Counter 1-wire device (DS2423)" select CRC16 help If you enable this you can read the counter values available in the DS2423 chipset from the w1_slave file under the sys file system. Say Y here if you want to use a 1-wire counter family device (DS2423). config W1_SLAVE_DS2805 tristate "112-byte EEPROM support (DS28E05)" help Say Y here if you want to use a 1-wire is a 112-byte user-programmable EEPROM is organized as 7 pages of 16 bytes each with 64bit unique number. Requires OverDrive Speed to talk to. config W1_SLAVE_DS2431 tristate "1kb EEPROM family support (DS2431)" help Say Y here if you want to use a 1-wire 1kb EEPROM family device (DS2431) config W1_SLAVE_DS2433 tristate "4kb EEPROM family support (DS2433)" help Say Y here if you want to use a 1-wire 4kb EEPROM family device (DS2433). config W1_SLAVE_DS2433_CRC bool "Protect DS2433 data with a CRC16" depends on W1_SLAVE_DS2433 select CRC16 help Say Y here to protect DS2433 data with a CRC16. Each block has 30 bytes of data and a two byte CRC16. Full block writes are only allowed if the CRC is valid. config W1_SLAVE_DS2438 tristate "DS2438 Smart Battery Monitor 0x26 family support" help Say Y here if you want to use a 1-wire DS2438 Smart Battery Monitor device support config W1_SLAVE_DS250X tristate "512b/1kb/16kb EPROM family support" select CRC16 help Say Y here if you want to use a 1-wire 512b/1kb/16kb EPROM family device (DS250x). config W1_SLAVE_DS2780 tristate "Dallas 2780 battery monitor chip" help If you enable this you will have the DS2780 battery monitor chip support. The battery monitor chip is used in many batteries/devices as the one who is responsible for charging/discharging/monitoring Li+ batteries. If you are unsure, say N. config W1_SLAVE_DS2781 tristate "Dallas 2781 battery monitor chip" help If you enable this you will have the DS2781 battery monitor chip support. The battery monitor chip is used in many batteries/devices as the one who is responsible for charging/discharging/monitoring Li+ batteries. If you are unsure, say N. config W1_SLAVE_DS28E04 tristate "4096-Bit Addressable 1-Wire EEPROM with PIO (DS28E04-100)" select CRC16 help If you enable this you will have the DS28E04-100 chip support. Say Y here if you want to use a 1-wire 4kb EEPROM with PIO family device (DS28E04). If you are unsure, say N. config W1_SLAVE_DS28E17 tristate "1-wire-to-I2C master bridge (DS28E17)" select CRC16 depends on I2C help Say Y here if you want to use the DS28E17 1-wire-to-I2C master bridge. For each DS28E17 detected, a new I2C adapter is created within the kernel. I2C devices on that bus can be configured to be used by the kernel and userspace tools as on any other "native" I2C bus. This driver is also available as a module. If so, the module will be called w1_ds28e17. If you are unsure, say N. endmenu w1/slaves/Makefile 0000644 00000001441 14722053666 0010043 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Dallas's 1-wire slaves. # obj-$(CONFIG_W1_SLAVE_THERM) += w1_therm.o obj-$(CONFIG_W1_SLAVE_SMEM) += w1_smem.o obj-$(CONFIG_W1_SLAVE_DS2405) += w1_ds2405.o obj-$(CONFIG_W1_SLAVE_DS2408) += w1_ds2408.o obj-$(CONFIG_W1_SLAVE_DS2413) += w1_ds2413.o obj-$(CONFIG_W1_SLAVE_DS2406) += w1_ds2406.o obj-$(CONFIG_W1_SLAVE_DS2423) += w1_ds2423.o obj-$(CONFIG_W1_SLAVE_DS2431) += w1_ds2431.o obj-$(CONFIG_W1_SLAVE_DS2805) += w1_ds2805.o obj-$(CONFIG_W1_SLAVE_DS2433) += w1_ds2433.o obj-$(CONFIG_W1_SLAVE_DS2438) += w1_ds2438.o obj-$(CONFIG_W1_SLAVE_DS250X) += w1_ds250x.o obj-$(CONFIG_W1_SLAVE_DS2780) += w1_ds2780.o obj-$(CONFIG_W1_SLAVE_DS2781) += w1_ds2781.o obj-$(CONFIG_W1_SLAVE_DS28E04) += w1_ds28e04.o obj-$(CONFIG_W1_SLAVE_DS28E17) += w1_ds28e17.o w1/Makefile 0000644 00000000313 14722053666 0006543 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Dallas's 1-wire bus. # obj-$(CONFIG_W1) += wire.o wire-objs := w1.o w1_int.o w1_family.o w1_netlink.o w1_io.o obj-y += masters/ slaves/ parport/Kconfig 0000644 00000013014 14722053666 0007550 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.rst. # # Parport configuration. # config ARCH_MIGHT_HAVE_PC_PARPORT bool help Select this config option from the architecture Kconfig if the architecture might have PC parallel port hardware. menuconfig PARPORT tristate "Parallel port support" depends on HAS_IOMEM ---help--- If you want to use devices connected to your machine's parallel port (the connector at the computer with 25 holes), e.g. printer, ZIP drive, PLIP link (Parallel Line Internet Protocol is mainly used to create a mini network by connecting the parallel ports of two local machines) etc., then you need to say Y here; please read <file:Documentation/admin-guide/parport.rst> and <file:drivers/parport/BUGS-parport>. For extensive information about drivers for many devices attaching to the parallel port see <http://www.torque.net/linux-pp.html> on the WWW. It is possible to share a single parallel port among several devices and it is safe to compile all the corresponding drivers into the kernel. To compile parallel port support as a module, choose M here: the module will be called parport. If you have more than one parallel port and want to specify which port and IRQ to be used by this driver at module load time, take a look at <file:Documentation/admin-guide/parport.rst>. If unsure, say Y. if PARPORT config PARPORT_PC tristate "PC-style hardware" depends on ARCH_MIGHT_HAVE_PC_PARPORT help You should say Y here if you have a PC-style parallel port. All IBM PC compatible computers and some Alphas have PC-style parallel ports. PA-RISC owners should only say Y here if they have a SuperIO parallel port. To compile this driver as a module, choose M here: the module will be called parport_pc. If unsure, say Y. config PARPORT_SERIAL tristate "Multi-IO cards (parallel and serial)" depends on SERIAL_8250_PCI && PARPORT_PC && PCI help This adds support for multi-IO PCI cards that have parallel and serial ports. You should say Y or M here. If you say M, the module will be called parport_serial. config PARPORT_PC_FIFO bool "Use FIFO/DMA if available" depends on PARPORT_PC help Many parallel port chipsets provide hardware that can speed up printing. Say Y here if you want to take advantage of that. As well as actually having a FIFO, or DMA capability, the kernel will need to know which IRQ the parallel port has. By default, parallel port interrupts will not be used, and so neither will the FIFO. See <file:Documentation/admin-guide/parport.rst> to find out how to specify which IRQ/DMA to use. config PARPORT_PC_SUPERIO bool "SuperIO chipset support" depends on PARPORT_PC && !PARISC help Saying Y here enables some probes for Super-IO chipsets in order to find out things like base addresses, IRQ lines and DMA channels. It is safe to say N. config PARPORT_PC_PCMCIA tristate "Support for PCMCIA management for PC-style ports" depends on PCMCIA && PARPORT_PC help Say Y here if you need PCMCIA support for your PC-style parallel ports. If unsure, say N. config PARPORT_IP32 tristate "SGI IP32 builtin port" depends on SGI_IP32 select PARPORT_NOT_PC help Say Y here if you need support for the parallel port on SGI O2 machines. This code is also available as a module (say M), called parport_ip32. If in doubt, saying N is the safe plan. config PARPORT_AMIGA tristate "Amiga builtin port" depends on AMIGA select PARPORT_NOT_PC help Say Y here if you need support for the parallel port hardware on Amiga machines. This code is also available as a module (say M), called parport_amiga. If in doubt, saying N is the safe plan. config PARPORT_MFC3 tristate "Multiface III parallel port" depends on ZORRO select PARPORT_NOT_PC help Say Y here if you need parallel port support for the MFC3 card. This code is also available as a module (say M), called parport_mfc3. If in doubt, saying N is the safe plan. config PARPORT_ATARI tristate "Atari hardware" depends on ATARI select PARPORT_NOT_PC help Say Y here if you need support for the parallel port hardware on Atari machines. This code is also available as a module (say M), called parport_atari. If in doubt, saying N is the safe plan. config PARPORT_GSC tristate default GSC select PARPORT_NOT_PC config PARPORT_SUNBPP tristate "Sparc hardware" depends on SBUS select PARPORT_NOT_PC help This driver provides support for the bidirectional parallel port found on many Sun machines. Note that many of the newer Ultras actually have pc style hardware instead. config PARPORT_AX88796 tristate "AX88796 Parallel Port" select PARPORT_NOT_PC help Say Y here if you need support for the parallel port hardware on the AX88796 network controller chip. This code is also available as a module (say M), called parport_ax88796. The driver is not dependent on the AX88796 network driver, and should not interfere with the networking functions of the chip. config PARPORT_1284 bool "IEEE 1284 transfer modes" help If you have a printer that supports status readback or device ID, or want to use a device that uses enhanced parallel port transfer modes such as EPP and ECP, say Y here to enable advanced IEEE 1284 transfer modes. Also say Y if you want device ID information to appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N. config PARPORT_NOT_PC bool endif # PARPORT parport/Makefile 0000644 00000001331 14722053666 0007704 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel Parallel port device drivers. # parport-objs := share.o ieee1284.o ieee1284_ops.o procfs.o ifeq ($(CONFIG_PARPORT_1284),y) parport-objs += daisy.o probe.o endif obj-$(CONFIG_PARPORT) += parport.o obj-$(CONFIG_PARPORT_PC) += parport_pc.o obj-$(CONFIG_PARPORT_SERIAL) += parport_serial.o obj-$(CONFIG_PARPORT_PC_PCMCIA) += parport_cs.o obj-$(CONFIG_PARPORT_AMIGA) += parport_amiga.o obj-$(CONFIG_PARPORT_MFC3) += parport_mfc3.o obj-$(CONFIG_PARPORT_ATARI) += parport_atari.o obj-$(CONFIG_PARPORT_SUNBPP) += parport_sunbpp.o obj-$(CONFIG_PARPORT_GSC) += parport_gsc.o obj-$(CONFIG_PARPORT_AX88796) += parport_ax88796.o obj-$(CONFIG_PARPORT_IP32) += parport_ip32.o macintosh/Kconfig 0000644 00000022643 14722053666 0010056 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig MACINTOSH_DRIVERS bool "Macintosh device drivers" depends on PPC || MAC || X86 default y if (PPC_PMAC || MAC) ---help--- Say Y here to get to see options for devices used with Macintosh computers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if MACINTOSH_DRIVERS config ADB bool "Apple Desktop Bus (ADB) support" depends on MAC || (PPC_PMAC && PPC32) help Apple Desktop Bus (ADB) support is for support of devices which are connected to an ADB port. ADB devices tend to have 4 pins. If you have an Apple Macintosh prior to the iMac, an iBook or PowerBook, or a "Blue and White G3", you probably want to say Y here. Otherwise say N. config ADB_MACII bool "Include Mac II ADB driver" depends on ADB && MAC help Say Y here if want your kernel to support Macintosh systems that use the Mac II style ADB. This includes the II, IIx, IIcx, SE/30, IIci, Quadra 610, Quadra 650, Quadra 700, Quadra 800, Centris 610 and Centris 650. config ADB_IOP bool "Include IOP (IIfx/Quadra 9x0) ADB driver" depends on ADB && MAC help The I/O Processor (IOP) is an Apple custom IC designed to provide intelligent support for I/O controllers. It is described at <http://www.angelfire.com/ca2/dev68k/iopdesc.html> to enable direct support for it, say 'Y' here. # we want to change this to something like CONFIG_SYSCTRL_CUDA/PMU config ADB_CUDA bool "Support for Cuda/Egret based Macs and PowerMacs" depends on (ADB || PPC_PMAC) && !PPC_PMAC64 select RTC_LIB help This provides support for Cuda/Egret based Macintosh and Power Macintosh systems. This includes most m68k based Macs, most Old World PowerMacs, the first generation iMacs, the Blue & White G3 and the "Yikes" G4 (PCI Graphics). All later models should use CONFIG_ADB_PMU instead. It is safe to say Y here even if your machine doesn't have a Cuda or Egret device. If unsure say Y. config ADB_PMU bool "Support for PMU based PowerMacs and PowerBooks" depends on PPC_PMAC || MAC select RTC_LIB help On PowerBooks, iBooks, and recent iMacs and Power Macintoshes, the PMU is an embedded microprocessor whose primary function is to control system power, and battery charging on the portable models. The PMU also controls the ADB (Apple Desktop Bus) which connects to the keyboard and mouse on some machines, as well as the non-volatile RAM and the RTC (real time clock) chip. Say Y to enable support for this device; you should do so if your machine is one of those mentioned above. config ADB_PMU_EVENT def_bool y depends on ADB_PMU && INPUT=y config ADB_PMU_LED bool "Support for the Power/iBook front LED" depends on PPC_PMAC && ADB_PMU select NEW_LEDS select LEDS_CLASS help Support the front LED on Power/iBooks as a generic LED that can be triggered by any of the supported triggers. To get the behaviour of the old CONFIG_BLK_DEV_IDE_PMAC_BLINK, select this and the disk LED trigger and configure appropriately through sysfs. config ADB_PMU_LED_DISK bool "Use front LED as DISK LED by default" depends on ATA depends on ADB_PMU_LED depends on LEDS_CLASS select LEDS_TRIGGERS select LEDS_TRIGGER_DISK help This option makes the front LED default to the disk trigger so that it blinks on disk activity. config PMAC_SMU bool "Support for SMU based PowerMacs" depends on PPC_PMAC64 help This option adds support for the newer G5 iMacs and PowerMacs based on the "SMU" system control chip which replaces the old PMU. If you don't know, say Y. config PMAC_APM_EMU tristate "APM emulation" select APM_EMULATION depends on ADB_PMU && PM && PPC32 config PMAC_MEDIABAY bool "Support PowerBook hotswap media bay" depends on PPC_PMAC && PPC32 && BLOCK help This option adds support for older PowerBook's hotswap media bay that can contains batteries, floppy drives, or IDE devices. PCI devices are not fully supported in the bay as I never had one to try with config PMAC_BACKLIGHT bool "Backlight control for LCD screens" depends on PPC_PMAC && ADB_PMU && FB = y && (BROKEN || !PPC64) select FB_BACKLIGHT help Say Y here to enable Macintosh specific extensions of the generic backlight code. With this enabled, the brightness keys on older PowerBooks will be enabled so you can change the screen brightness. Newer models should use a userspace daemon like pbbuttonsd. config PMAC_BACKLIGHT_LEGACY bool "Provide legacy ioctl's on /dev/pmu for the backlight" depends on PMAC_BACKLIGHT && (BROKEN || !PPC64) help Say Y if you want to enable legacy ioctl's on /dev/pmu. This is for programs which use this old interface. New and updated programs should use the backlight classes in sysfs. config ADB_MACIO bool "Include MacIO (CHRP) ADB driver" depends on ADB && PPC_CHRP && !PPC_PMAC64 help Say Y here to include direct support for the ADB controller in the Hydra chip used on PowerPC Macintoshes of the CHRP type. (The Hydra also includes a MESH II SCSI controller, DBDMA controller, VIA chip, OpenPIC controller and two RS422/Geoports.) config INPUT_ADBHID bool "Support for ADB input devices (keyboard, mice, ...)" depends on ADB && INPUT=y help Say Y here if you want to have ADB (Apple Desktop Bus) HID devices such as keyboards, mice, joysticks, trackpads or graphic tablets handled by the input layer. If you say Y here, make sure to say Y to the corresponding drivers "Mouse Support" (CONFIG_INPUT_MOUSEDEV) and "Event interface support" (CONFIG_INPUT_EVDEV) as well. If unsure, say Y. config MAC_EMUMOUSEBTN tristate "Support for mouse button 2+3 emulation" depends on SYSCTL && INPUT help This provides generic support for emulating the 2nd and 3rd mouse button with keypresses. If you say Y here, the emulation is still disabled by default. The emulation is controlled by these sysctl entries: /proc/sys/dev/mac_hid/mouse_button_emulation /proc/sys/dev/mac_hid/mouse_button2_keycode /proc/sys/dev/mac_hid/mouse_button3_keycode If you have an Apple machine with a 1-button mouse, say Y here. To compile this driver as a module, choose M here: the module will be called mac_hid. config THERM_WINDTUNNEL tristate "Support for thermal management on Windtunnel G4s" depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64 help This driver provides some thermostat and fan control for the desktop G4 "Windtunnel" config THERM_ADT746X tristate "Support for thermal mgmnt on laptops with ADT 746x chipset" depends on I2C && I2C_POWERMAC && PPC_PMAC && !PPC_PMAC64 help This driver provides some thermostat and fan control for the iBook G4, and the ATI based aluminium PowerBooks, allowing slightly better fan behaviour by default, and some manual control. config WINDFARM tristate "New PowerMac thermal control infrastructure" depends on PPC config WINDFARM_PM81 tristate "Support for thermal management on iMac G5" depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU select I2C_POWERMAC help This driver provides thermal control for the iMacG5 config WINDFARM_PM72 tristate "Support for thermal management on PowerMac G5 (AGP)" depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU select I2C_POWERMAC help This driver provides thermal control for the PowerMac G5 "AGP" variants (PowerMac 7,2 and 7,3) config WINDFARM_RM31 tristate "Support for thermal management on Xserve G5" depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && ADB_PMU select I2C_POWERMAC help This driver provides thermal control for the Xserve G5 (RackMac3,1) config WINDFARM_PM91 tristate "Support for thermal management on PowerMac9,1" depends on WINDFARM && I2C && CPU_FREQ_PMAC64 && PMAC_SMU select I2C_POWERMAC help This driver provides thermal control for the PowerMac9,1 which is the recent (SMU based) single CPU desktop G5 config WINDFARM_PM112 tristate "Support for thermal management on PowerMac11,2" depends on WINDFARM && I2C && PMAC_SMU select I2C_POWERMAC help This driver provides thermal control for the PowerMac11,2 which are the recent dual and quad G5 machines using the 970MP dual-core processor. config WINDFARM_PM121 tristate "Support for thermal management on PowerMac12,1" depends on WINDFARM && I2C && PMAC_SMU select I2C_POWERMAC help This driver provides thermal control for the PowerMac12,1 which is the iMac G5 (iSight). config ANSLCD tristate "Support for ANS LCD display" depends on ADB_CUDA && PPC_PMAC config PMAC_RACKMETER tristate "Support for Apple XServe front panel LEDs" depends on PPC_PMAC help This driver provides some support to control the front panel blue LEDs "vu-meter" of the XServer macs. config SENSORS_AMS tristate "Apple Motion Sensor driver" depends on PPC_PMAC && !PPC64 && INPUT && ((ADB_PMU && I2C = y) || (ADB_PMU && !I2C) || I2C) select INPUT_POLLDEV help Support for the motion sensor included in PowerBooks. Includes implementations for PMU and I2C. This driver can also be built as a module. If so, the module will be called ams. config SENSORS_AMS_PMU bool "PMU variant" depends on SENSORS_AMS && ADB_PMU default y help PMU variant of motion sensor, found in late 2005 PowerBooks. config SENSORS_AMS_I2C bool "I2C variant" depends on SENSORS_AMS && I2C default y help I2C variant of motion sensor, found in early 2005 PowerBooks and iBooks. endif # MACINTOSH_DRIVERS macintosh/Makefile 0000644 00000004460 14722053666 0010210 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Macintosh-specific device drivers. # # Each configuration option enables a list of files. obj-$(CONFIG_PPC_PMAC) += macio_asic.o macio_sysfs.o obj-$(CONFIG_PMAC_MEDIABAY) += mediabay.o obj-$(CONFIG_MAC_EMUMOUSEBTN) += mac_hid.o obj-$(CONFIG_INPUT_ADBHID) += adbhid.o obj-$(CONFIG_ANSLCD) += ans-lcd.o obj-$(CONFIG_ADB_PMU) += via-pmu.o obj-$(CONFIG_ADB_PMU_EVENT) += via-pmu-event.o obj-$(CONFIG_ADB_PMU_LED) += via-pmu-led.o obj-$(CONFIG_PMAC_BACKLIGHT) += via-pmu-backlight.o obj-$(CONFIG_ADB_CUDA) += via-cuda.o obj-$(CONFIG_PMAC_APM_EMU) += apm_emu.o obj-$(CONFIG_PMAC_SMU) += smu.o obj-$(CONFIG_ADB) += adb.o obj-$(CONFIG_ADB_MACII) += via-macii.o obj-$(CONFIG_ADB_IOP) += adb-iop.o obj-$(CONFIG_ADB_MACIO) += macio-adb.o obj-$(CONFIG_THERM_WINDTUNNEL) += therm_windtunnel.o obj-$(CONFIG_THERM_ADT746X) += therm_adt746x.o obj-$(CONFIG_WINDFARM) += windfarm_core.o obj-$(CONFIG_WINDFARM_PM72) += windfarm_fcu_controls.o \ windfarm_ad7417_sensor.o \ windfarm_lm75_sensor.o \ windfarm_max6690_sensor.o \ windfarm_pid.o \ windfarm_cpufreq_clamp.o \ windfarm_pm72.o obj-$(CONFIG_WINDFARM_RM31) += windfarm_fcu_controls.o \ windfarm_ad7417_sensor.o \ windfarm_lm75_sensor.o \ windfarm_lm87_sensor.o \ windfarm_max6690_sensor.o \ windfarm_pid.o \ windfarm_cpufreq_clamp.o \ windfarm_rm31.o obj-$(CONFIG_WINDFARM_PM81) += windfarm_smu_controls.o \ windfarm_smu_sensors.o \ windfarm_lm75_sensor.o windfarm_pid.o \ windfarm_cpufreq_clamp.o windfarm_pm81.o obj-$(CONFIG_WINDFARM_PM91) += windfarm_smu_controls.o \ windfarm_smu_sensors.o \ windfarm_lm75_sensor.o windfarm_pid.o \ windfarm_cpufreq_clamp.o windfarm_pm91.o obj-$(CONFIG_WINDFARM_PM112) += windfarm_pm112.o windfarm_smu_sat.o \ windfarm_smu_controls.o \ windfarm_smu_sensors.o \ windfarm_max6690_sensor.o \ windfarm_lm75_sensor.o windfarm_pid.o obj-$(CONFIG_WINDFARM_PM121) += windfarm_pm121.o windfarm_smu_sat.o \ windfarm_smu_controls.o \ windfarm_smu_sensors.o \ windfarm_max6690_sensor.o \ windfarm_lm75_sensor.o windfarm_pid.o obj-$(CONFIG_PMAC_RACKMETER) += rack-meter.o obj-$(CONFIG_SENSORS_AMS) += ams/ macintosh/ams/Makefile 0000644 00000000367 14722053666 0010772 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Apple Motion Sensor driver # ams-y := ams-core.o ams-input.o ams-$(CONFIG_SENSORS_AMS_PMU) += ams-pmu.o ams-$(CONFIG_SENSORS_AMS_I2C) += ams-i2c.o obj-$(CONFIG_SENSORS_AMS) += ams.o hid/intel-ish-hid/Kconfig 0000644 00000002214 14722053666 0011263 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Intel ISH HID support" depends on (X86_64 || COMPILE_TEST) && PCI config INTEL_ISH_HID tristate "Intel Integrated Sensor Hub" default n select HID help The Integrated Sensor Hub (ISH) enables the ability to offload sensor polling and algorithm processing to a dedicated low power processor in the chipset. This allows the core processor to go into low power modes more often, resulting in the increased battery life. The current processors that support ISH are: Cherrytrail, Skylake, Broxton and Kaby Lake. Say Y here if you want to support Intel ISH. If unsure, say N. config INTEL_ISH_FIRMWARE_DOWNLOADER tristate "Host Firmware Load feature for Intel ISH" depends on INTEL_ISH_HID depends on X86 help The Integrated Sensor Hub (ISH) enables the kernel to offload sensor polling and algorithm processing to a dedicated low power processor in the chipset. The Host Firmware Load feature adds support to load the ISH firmware from host file system at boot. Say M here if you want to support Host Firmware Loading feature for Intel ISH. If unsure, say N. endmenu hid/intel-ish-hid/Makefile 0000644 00000001411 14722053666 0011416 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile - Intel ISH HID drivers # Copyright (c) 2014-2016, Intel Corporation. # # obj-$(CONFIG_INTEL_ISH_HID) += intel-ishtp.o intel-ishtp-objs := ishtp/init.o intel-ishtp-objs += ishtp/hbm.o intel-ishtp-objs += ishtp/client.o intel-ishtp-objs += ishtp/bus.o intel-ishtp-objs += ishtp/dma-if.o intel-ishtp-objs += ishtp/client-buffers.o obj-$(CONFIG_INTEL_ISH_HID) += intel-ish-ipc.o intel-ish-ipc-objs := ipc/ipc.o intel-ish-ipc-objs += ipc/pci-ish.o obj-$(CONFIG_INTEL_ISH_HID) += intel-ishtp-hid.o intel-ishtp-hid-objs := ishtp-hid.o intel-ishtp-hid-objs += ishtp-hid-client.o obj-$(CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER) += intel-ishtp-loader.o intel-ishtp-loader-objs += ishtp-fw-loader.o ccflags-y += -I $(srctree)/$(src)/ishtp hid/Kconfig 0000644 00000102313 14722053666 0006626 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # HID driver configuration # menu "HID support" depends on INPUT config HID tristate "HID bus support" depends on INPUT default y ---help--- A human interface device (HID) is a type of computer device that interacts directly with and takes input from humans. The term "HID" most commonly used to refer to the USB-HID specification, but other devices (such as, but not strictly limited to, Bluetooth) are designed using HID specification (this involves certain keyboards, mice, tablets, etc). This option adds the HID bus to the kernel, together with generic HID layer code. The HID devices are added and removed from the HID bus by the transport-layer drivers, such as usbhid (USB_HID) and hidp (BT_HIDP). For docs and specs, see http://www.usb.org/developers/hidpage/ If unsure, say Y. if HID config HID_BATTERY_STRENGTH bool "Battery level reporting for HID devices" depends on HID select POWER_SUPPLY default n ---help--- This option adds support of reporting battery strength (for HID devices that support this feature) through power_supply class so that userspace tools, such as upower, can display it. config HIDRAW bool "/dev/hidraw raw HID device support" depends on HID ---help--- Say Y here if you want to support HID devices (from the USB specification standpoint) that aren't strictly user interface devices, like monitor controls and Uninterruptable Power Supplies. This module supports these devices separately using a separate event interface on /dev/hidraw. There is also a /dev/hiddev configuration option in the USB HID configuration menu. In comparison to hiddev, this device does not process the hid events at all (no parsing, no lookups). This lets applications to work on raw hid events when they want to, and avoid using transport-specific userspace libhid/libusb libraries. If unsure, say Y. config UHID tristate "User-space I/O driver support for HID subsystem" depends on HID default n ---help--- Say Y here if you want to provide HID I/O Drivers from user-space. This allows to write I/O drivers in user-space and feed the data from the device into the kernel. The kernel parses the HID reports, loads the corresponding HID Device Driver or provides input devices on top of your user-space device. This driver cannot be used to parse HID-reports in user-space and write special HID-drivers. You should use hidraw for that. Instead, this driver allows to write the transport-layer driver in user-space like USB-HID and Bluetooth-HID do in kernel-space. If unsure, say N. To compile this driver as a module, choose M here: the module will be called uhid. config HID_GENERIC tristate "Generic HID driver" depends on HID default HID ---help--- Support for generic devices on the HID bus. This includes most keyboards and mice, joysticks, tablets and digitizers. To compile this driver as a module, choose M here: the module will be called hid-generic. If unsure, say Y. menu "Special HID drivers" depends on HID config HID_A4TECH tristate "A4 tech mice" depends on HID default !EXPERT ---help--- Support for A4 tech X5 and WOP-35 / Trust 450L mice. config HID_ACCUTOUCH tristate "Accutouch touch device" depends on USB_HID ---help--- This selects a driver for the Accutouch 2216 touch controller. The driver works around a problem in the reported device capabilities which causes userspace to detect the device as a mouse rather than a touchscreen. Say Y here if you have a Accutouch 2216 touch controller. config HID_ACRUX tristate "ACRUX game controller support" depends on HID ---help--- Say Y here if you want to enable support for ACRUX game controllers. config HID_ACRUX_FF bool "ACRUX force feedback support" depends on HID_ACRUX select INPUT_FF_MEMLESS ---help--- Say Y here if you want to enable force feedback support for ACRUX game controllers. config HID_APPLE tristate "Apple {i,Power,Mac}Books" depends on HID default !EXPERT ---help--- Support for some Apple devices which less or more break HID specification. Say Y here if you want support for keyboards of Apple iBooks, PowerBooks, MacBooks, MacBook Pros and Apple Aluminum. config HID_APPLEIR tristate "Apple infrared receiver" depends on (USB_HID) ---help--- Support for Apple infrared remote control. All the Apple computers from 2005 onwards include such a port, except the unibody Macbook (2009), and Mac Pros. This receiver is also used in the Apple TV set-top box prior to the 2010 model. Say Y here if you want support for Apple infrared remote control. config HID_ASUS tristate "Asus" depends on USB_HID depends on LEDS_CLASS depends on ASUS_WMI || ASUS_WMI=n select POWER_SUPPLY ---help--- Support for Asus notebook built-in keyboard and touchpad via i2c, and the Asus Republic of Gamers laptop keyboard special keys. Supported devices: - EeeBook X205TA - VivoBook E200HA - GL553V series - GL753V series config HID_AUREAL tristate "Aureal" depends on HID ---help--- Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes. config HID_BELKIN tristate "Belkin Flip KVM and Wireless keyboard" depends on HID default !EXPERT ---help--- Support for Belkin Flip KVM and Wireless keyboard. config HID_BETOP_FF tristate "Betop Production Inc. force feedback support" depends on USB_HID select INPUT_FF_MEMLESS ---help--- Say Y here if you want to enable force feedback support for devices by BETOP Production Ltd. Currently the following devices are known to be supported: - BETOP 2185 PC & BFM MODE config HID_BIGBEN_FF tristate "BigBen Interactive Kids' gamepad support" depends on USB_HID depends on NEW_LEDS depends on LEDS_CLASS select INPUT_FF_MEMLESS help Support for the "Kid-friendly Wired Controller" PS3OFMINIPAD gamepad made by BigBen Interactive, originally sold as a PS3 accessory. This driver fixes input mapping and adds support for force feedback effects and LEDs on the device. config HID_CHERRY tristate "Cherry Cymotion keyboard" depends on HID default !EXPERT ---help--- Support for Cherry Cymotion keyboard. config HID_CHICONY tristate "Chicony devices" depends on USB_HID default !EXPERT ---help--- Support for Chicony Tactical pad and special keys on Chicony keyboards. config HID_CORSAIR tristate "Corsair devices" depends on USB_HID && LEDS_CLASS ---help--- Support for Corsair devices that are not fully compliant with the HID standard. Supported devices: - Vengeance K90 - Scimitar PRO RGB config HID_COUGAR tristate "Cougar devices" depends on HID help Support for Cougar devices that are not fully compliant with the HID standard. Supported devices: - Cougar 500k Gaming Keyboard config HID_MACALLY tristate "Macally devices" depends on HID help Support for Macally devices that are not fully compliant with the HID standard. supported devices: - Macally ikey keyboard config HID_PRODIKEYS tristate "Prodikeys PC-MIDI Keyboard support" depends on USB_HID && SND select SND_RAWMIDI ---help--- Support for Prodikeys PC-MIDI Keyboard device support. Say Y here to enable support for this device. - Prodikeys PC-MIDI keyboard. The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI input and one MIDI output. These MIDI jacks appear as a sound "card" in the ALSA sound system. Note: if you say N here, this device will still function as a basic multimedia keyboard, but will lack support for the musical keyboard and some additional multimedia keys. config HID_CMEDIA tristate "CMedia CM6533 HID audio jack controls" depends on HID ---help--- Support for CMedia CM6533 HID audio jack controls. config HID_CP2112 tristate "Silicon Labs CP2112 HID USB-to-SMBus Bridge support" depends on USB_HID && HIDRAW && I2C && GPIOLIB select GPIOLIB_IRQCHIP ---help--- Support for Silicon Labs CP2112 HID USB to SMBus Master Bridge. This is a HID device driver which registers as an i2c adapter and gpiochip to expose these functions of the CP2112. The customizable USB descriptor fields are exposed as sysfs attributes. config HID_CREATIVE_SB0540 tristate "Creative SB0540 infrared receiver" depends on USB_HID help Support for Creative infrared SB0540-compatible remote controls, such as the RM-1500 and RM-1800 remotes. Say Y here if you want support for Creative SB0540 infrared receiver. config HID_CYPRESS tristate "Cypress mouse and barcode readers" depends on HID default !EXPERT ---help--- Support for cypress mouse and barcode readers. config HID_DRAGONRISE tristate "DragonRise Inc. game controller" depends on HID ---help--- Say Y here if you have DragonRise Inc. game controllers. These might be branded as: - Tesun USB-703 - Media-tech MT1504 "Rogue" - DVTech JS19 "Gear" - Defender Game Master config DRAGONRISE_FF bool "DragonRise Inc. force feedback" depends on HID_DRAGONRISE select INPUT_FF_MEMLESS ---help--- Say Y here if you want to enable force feedback support for DragonRise Inc. game controllers. config HID_EMS_FF tristate "EMS Production Inc. force feedback support" depends on HID select INPUT_FF_MEMLESS ---help--- Say Y here if you want to enable force feedback support for devices by EMS Production Ltd. Currently the following devices are known to be supported: - Trio Linker Plus II config HID_ELAN tristate "ELAN USB Touchpad Support" depends on LEDS_CLASS && USB_HID ---help--- Say Y to enable support for the USB ELAN touchpad Currently the following devices are known to be supported: - HP Pavilion X2 10-p0XX. config HID_ELECOM tristate "ELECOM HID devices" depends on HID ---help--- Support for ELECOM devices: - BM084 Bluetooth Mouse - EX-G Trackballs (M-XT3DRBK, M-XT3URBK) - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK) - HUGE Trackballs (M-HT1DRBK, M-HT1URBK) config HID_ELO tristate "ELO USB 4000/4500 touchscreen" depends on USB_HID ---help--- Support for the ELO USB 4000/4500 touchscreens. Note that this is for different devices than those handled by CONFIG_TOUCHSCREEN_USB_ELO. config HID_EZKEY tristate "Ezkey BTC 8193 keyboard" depends on HID default !EXPERT ---help--- Support for Ezkey BTC 8193 keyboard. config HID_GEMBIRD tristate "Gembird Joypad" depends on HID ---help--- Support for Gembird JPD-DualForce 2. config HID_GFRM tristate "Google Fiber TV Box remote control support" depends on HID ---help--- Support for Google Fiber TV Box remote controls config HID_HOLTEK tristate "Holtek HID devices" depends on USB_HID ---help--- Support for Holtek based devices: - Holtek On Line Grip based game controller - Trust GXT 18 Gaming Keyboard - Sharkoon Drakonia / Perixx MX-2000 gaming mice - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 / Zalman ZM-GM1 - SHARKOON DarkGlider Gaming mouse - LEETGION Hellion Gaming Mouse config HOLTEK_FF bool "Holtek On Line Grip force feedback support" depends on HID_HOLTEK select INPUT_FF_MEMLESS ---help--- Say Y here if you have a Holtek On Line Grip based game controller and want to have force feedback support for it. config HID_GOOGLE_HAMMER tristate "Google Hammer Keyboard" depends on USB_HID && LEDS_CLASS && CROS_EC ---help--- Say Y here if you have a Google Hammer device. config HID_GT683R tristate "MSI GT68xR LED support" depends on LEDS_CLASS && USB_HID ---help--- Say Y here if you want to enable support for the three MSI GT68xR LEDs This driver support following modes: - Normal: LEDs are fully on when enabled - Audio: LEDs brightness depends on sound level - Breathing: LEDs brightness varies at human breathing rate Currently the following devices are know to be supported: - MSI GT683R config HID_KEYTOUCH tristate "Keytouch HID devices" depends on HID ---help--- Support for Keytouch HID devices not fully compliant with the specification. Currently supported: - Keytouch IEC 60945 config HID_KYE tristate "KYE/Genius devices" depends on HID ---help--- Support for KYE/Genius devices not fully compliant with HID standard: - Ergo Mouse - EasyPen i405X tablet - MousePen i608X tablet - EasyPen M610X tablet config HID_UCLOGIC tristate "UC-Logic" depends on USB_HID ---help--- Support for UC-Logic and Huion tablets. config HID_WALTOP tristate "Waltop" depends on HID ---help--- Support for Waltop tablets. config HID_VIEWSONIC tristate "ViewSonic/Signotec" depends on HID help Support for ViewSonic/Signotec PD1011 signature pad. config HID_GYRATION tristate "Gyration remote control" depends on HID ---help--- Support for Gyration remote control. config HID_ICADE tristate "ION iCade arcade controller" depends on HID ---help--- Support for the ION iCade arcade controller to work as a joystick. To compile this driver as a module, choose M here: the module will be called hid-icade. config HID_ITE tristate "ITE devices" depends on HID default !EXPERT ---help--- Support for ITE devices not fully compliant with HID standard. config HID_JABRA tristate "Jabra USB HID Driver" depends on HID ---help--- Support for Jabra USB HID devices. Prevents mapping of vendor defined HID usages to input events. Without this driver HID reports from Jabra devices may incorrectly be seen as mouse button events. Say M here if you may ever plug in a Jabra USB device. config HID_TWINHAN tristate "Twinhan IR remote control" depends on HID ---help--- Support for Twinhan IR remote control. config HID_KENSINGTON tristate "Kensington Slimblade Trackball" depends on HID default !EXPERT ---help--- Support for Kensington Slimblade Trackball. config HID_LCPOWER tristate "LC-Power" depends on HID ---help--- Support for LC-Power RC1000MCE RF remote control. config HID_LED tristate "Simple RGB LED support" depends on HID depends on LEDS_CLASS ---help--- Support for simple RGB LED devices. Currently supported are: - Riso Kagaku Webmail Notifier - Dream Cheeky Webmail Notifier and Friends Alert - ThingM blink(1) - Delcom Visual Signal Indicator Generation 2 - Greynut Luxafor To compile this driver as a module, choose M here: the module will be called hid-led. config HID_LENOVO tristate "Lenovo / Thinkpad devices" depends on HID select NEW_LEDS select LEDS_CLASS ---help--- Support for IBM/Lenovo devices that are not fully compliant with HID standard. Say Y if you want support for horizontal scrolling of the IBM/Lenovo Scrollpoint mice or the non-compliant features of the Lenovo Thinkpad standalone keyboards, e.g: - ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint configuration) - ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys) - ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys) config HID_LOGITECH tristate "Logitech devices" depends on USB_HID default !EXPERT ---help--- Support for Logitech devices that are not fully compliant with HID standard. config HID_LOGITECH_DJ tristate "Logitech Unifying receivers full support" depends on USB_HID depends on HIDRAW depends on HID_LOGITECH select HID_LOGITECH_HIDPP ---help--- Say Y if you want support for Logitech Unifying receivers and devices. Unifying receivers are capable of pairing up to 6 Logitech compliant devices to the same receiver. Without this driver it will be handled by generic USB_HID driver and all incoming events will be multiplexed into a single mouse and a single keyboard device. config HID_LOGITECH_HIDPP tristate "Logitech HID++ devices support" depends on HID_LOGITECH select POWER_SUPPLY ---help--- Support for Logitech devices relyingon the HID++ Logitech specification Say Y if you want support for Logitech devices relying on the HID++ specification. Such devices are the various Logitech Touchpads (T650, T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar Keyboard). config LOGITECH_FF bool "Logitech force feedback support" depends on HID_LOGITECH select INPUT_FF_MEMLESS help Say Y here if you have one of these devices: - Logitech WingMan Cordless RumblePad - Logitech WingMan Cordless RumblePad 2 - Logitech WingMan Force 3D and if you want to enable force feedback for them. Note: if you say N here, this device will still be supported, but without force feedback. config LOGIRUMBLEPAD2_FF bool "Logitech force feedback support (variant 2)" depends on HID_LOGITECH select INPUT_FF_MEMLESS help Say Y here if you want to enable force feedback support for: - Logitech RumblePad - Logitech Rumblepad 2 - Logitech Formula Vibration Feedback Wheel config LOGIG940_FF bool "Logitech Flight System G940 force feedback support" depends on HID_LOGITECH select INPUT_FF_MEMLESS help Say Y here if you want to enable force feedback support for Logitech Flight System G940 devices. config LOGIWHEELS_FF bool "Logitech wheels configuration and force feedback support" depends on HID_LOGITECH select INPUT_FF_MEMLESS default LOGITECH_FF help Say Y here if you want to enable force feedback and range setting(*) support for following Logitech wheels: - Logitech G25 (*) - Logitech G27 (*) - Logitech G29 (*) - Logitech Driving Force - Logitech Driving Force Pro (*) - Logitech Driving Force GT (*) - Logitech Driving Force EX/RX - Logitech Driving Force Wireless - Logitech Speed Force Wireless - Logitech MOMO Force - Logitech MOMO Racing Force - Logitech Formula Force GP - Logitech Formula Force EX/RX - Logitech Wingman Formula Force GP config HID_MAGICMOUSE tristate "Apple Magic Mouse/Trackpad multi-touch support" depends on HID ---help--- Support for the Apple Magic Mouse/Trackpad multi-touch. Say Y here if you want support for the multi-touch features of the Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad. config HID_MALTRON tristate "Maltron L90 keyboard" depends on HID ---help--- Adds support for the volume up, volume down, mute, and play/pause buttons of the Maltron L90 keyboard. config HID_MAYFLASH tristate "Mayflash game controller adapter force feedback" depends on HID select INPUT_FF_MEMLESS ---help--- Say Y here if you have HJZ Mayflash PS3 game controller adapters and want to enable force feedback support. config HID_REDRAGON tristate "Redragon keyboards" depends on HID default !EXPERT ---help--- Support for Redragon keyboards that need fix-ups to work properly. config HID_MICROSOFT tristate "Microsoft non-fully HID-compliant devices" depends on HID default !EXPERT select INPUT_FF_MEMLESS ---help--- Support for Microsoft devices that are not fully compliant with HID standard. config HID_MONTEREY tristate "Monterey Genius KB29E keyboard" depends on HID default !EXPERT ---help--- Support for Monterey Genius KB29E. config HID_MULTITOUCH tristate "HID Multitouch panels" depends on HID ---help--- Generic support for HID multitouch panels. Say Y here if you have one of the following devices: - 3M PCT touch screens - ActionStar dual touch panels - Atmel panels - Cando dual touch panels - Chunghwa panels - CJTouch panels - CVTouch panels - Cypress TrueTouch panels - Elan Microelectronics touch panels - Elo TouchSystems IntelliTouch Plus panels - GeneralTouch 'Sensing Win7-TwoFinger' panels - GoodTouch panels - Hanvon dual touch panels - Ilitek dual touch panels - IrTouch Infrared USB panels - LG Display panels (Dell ST2220Tc) - Lumio CrystalTouch panels - MosArt dual-touch panels - Panasonic multitouch panels - PenMount dual touch panels - Perixx Peripad 701 touchpad - PixArt optical touch screen - Pixcir dual touch panels - Quanta panels - eGalax dual-touch panels, including the Joojoo and Wetab tablets - SiS multitouch panels - Stantum multitouch panels - Touch International Panels - Unitec Panels - Wistron optical touch panels - XAT optical touch panels - Xiroku optical touch panels - Zytronic touch panels If unsure, say N. To compile this driver as a module, choose M here: the module will be called hid-multitouch. config HID_NTI tristate "NTI keyboard adapters" ---help--- Support for the "extra" Sun keyboard keys on keyboards attached through Network Technologies USB-SUN keyboard adapters. config HID_NTRIG tristate "N-Trig touch screen" depends on USB_HID ---help--- Support for N-Trig touch screen. config HID_ORTEK tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad" depends on HID ---help--- There are certain devices which have LogicalMaximum wrong in the keyboard usage page of their report descriptor. The most prevailing ones so far are manufactured by Ortek, thus the name of the driver. Currently supported devices by this driver are - Ortek PKB-1700 - Ortek WKB-2000 - Skycable wireless presenter config HID_PANTHERLORD tristate "Pantherlord/GreenAsia game controller" depends on HID ---help--- Say Y here if you have a PantherLord/GreenAsia based game controller or adapter. config PANTHERLORD_FF bool "Pantherlord force feedback support" depends on HID_PANTHERLORD select INPUT_FF_MEMLESS ---help--- Say Y here if you have a PantherLord/GreenAsia based game controller or adapter and want to enable force feedback support for it. config HID_PENMOUNT tristate "Penmount touch device" depends on USB_HID ---help--- This selects a driver for the PenMount 6000 touch controller. The driver works around a problem in the report descript allowing the userspace to touch events instead of mouse events. Say Y here if you have a Penmount based touch controller. config HID_PETALYNX tristate "Petalynx Maxter remote control" depends on HID ---help--- Support for Petalynx Maxter remote control. config HID_PICOLCD tristate "PicoLCD (graphic version)" depends on HID ---help--- This provides support for Minibox PicoLCD devices, currently only the graphical ones are supported. This includes support for the following device features: - Keypad - Switching between Firmware and Flash mode - EEProm / Flash access (via debugfs) Features selectively enabled: - Framebuffer for monochrome 256x64 display - Backlight control - Contrast control - General purpose outputs Features that are not (yet) supported: - IR config HID_PICOLCD_FB bool "Framebuffer support" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=FB || FB=y select FB_DEFERRED_IO select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_SYS_FOPS ---help--- Provide access to PicoLCD's 256x64 monochrome display via a framebuffer device. config HID_PICOLCD_BACKLIGHT bool "Backlight control" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y ---help--- Provide access to PicoLCD's backlight control via backlight class. config HID_PICOLCD_LCD bool "Contrast control" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y ---help--- Provide access to PicoLCD's LCD contrast via lcd class. config HID_PICOLCD_LEDS bool "GPO via leds class" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y ---help--- Provide access to PicoLCD's GPO pins via leds class. config HID_PICOLCD_CIR bool "CIR via RC class" if EXPERT default !EXPERT depends on HID_PICOLCD depends on HID_PICOLCD=RC_CORE || RC_CORE=y ---help--- Provide access to PicoLCD's CIR interface via remote control (LIRC). config HID_PLANTRONICS tristate "Plantronics USB HID Driver" depends on HID ---help--- Provides HID support for Plantronics USB audio devices. Correctly maps vendor unique volume up/down HID usages to KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping of other vendor unique HID usages to random mouse events. Say M here if you may ever plug in a Plantronics USB audio device. config HID_PRIMAX tristate "Primax non-fully HID-compliant devices" depends on HID ---help--- Support for Primax devices that are not fully compliant with the HID standard. config HID_RETRODE tristate "Retrode 2 USB adapter for vintage video games" depends on USB_HID ---help--- Support for * Retrode 2 cartridge and controller adapter config HID_ROCCAT tristate "Roccat device support" depends on USB_HID ---help--- Support for Roccat devices. Say Y here if you have a Roccat mouse or keyboard and want support for its special functionalities. config HID_SAITEK tristate "Saitek (Mad Catz) non-fully HID-compliant devices" depends on HID ---help--- Support for Saitek devices that are not fully compliant with the HID standard. Supported devices: - PS1000 Dual Analog Pad - Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice - Mad Catz R.A.T.5, R.A.T.9 Gaming Mice config HID_SAMSUNG tristate "Samsung InfraRed remote control or keyboards" depends on USB_HID ---help--- Support for Samsung InfraRed remote control or keyboards. config HID_SONY tristate "Sony PS2/3/4 accessories" depends on USB_HID depends on NEW_LEDS depends on LEDS_CLASS select POWER_SUPPLY ---help--- Support for * Sony PS3 6-axis controllers * Sony PS4 DualShock 4 controllers * Buzz controllers * Sony PS3 Blue-ray Disk Remote Control (Bluetooth) * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth) config SONY_FF bool "Sony PS2/3/4 accessories force feedback support" depends on HID_SONY select INPUT_FF_MEMLESS ---help--- Say Y here if you have a Sony PS2/3/4 accessory and want to enable force feedback support for it. config HID_SPEEDLINK tristate "Speedlink VAD Cezanne mouse support" depends on HID ---help--- Support for Speedlink Vicious and Divine Cezanne mouse. config HID_STEAM tristate "Steam Controller support" depends on HID select POWER_SUPPLY ---help--- Say Y here if you have a Steam Controller if you want to use it without running the Steam Client. It supports both the wired and the wireless adaptor. config HID_STEELSERIES tristate "Steelseries SRW-S1 steering wheel support" depends on HID ---help--- Support for Steelseries SRW-S1 steering wheel config HID_SUNPLUS tristate "Sunplus wireless desktop" depends on HID ---help--- Support for Sunplus wireless desktop. config HID_RMI tristate "Synaptics RMI4 device support" depends on HID select RMI4_CORE select RMI4_F03 select RMI4_F11 select RMI4_F12 select RMI4_F30 ---help--- Support for Synaptics RMI4 touchpads. Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid and want support for its special functionalities. config HID_GREENASIA tristate "GreenAsia (Product ID 0x12) game controller support" depends on HID ---help--- Say Y here if you have a GreenAsia (Product ID 0x12) based game controller or adapter. config GREENASIA_FF bool "GreenAsia (Product ID 0x12) force feedback support" depends on HID_GREENASIA select INPUT_FF_MEMLESS ---help--- Say Y here if you have a GreenAsia (Product ID 0x12) based game controller (like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter and want to enable force feedback support for it. config HID_HYPERV_MOUSE tristate "Microsoft Hyper-V mouse driver" depends on HYPERV ---help--- Select this option to enable the Hyper-V mouse driver. config HID_SMARTJOYPLUS tristate "SmartJoy PLUS PS2/USB adapter support" depends on HID ---help--- Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box, Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro. Note that DDR (Dance Dance Revolution) mode is not supported, nor is pressure sensitive buttons on the pro models. config SMARTJOYPLUS_FF bool "SmartJoy PLUS PS2/USB adapter force feedback support" depends on HID_SMARTJOYPLUS select INPUT_FF_MEMLESS ---help--- Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to enable force feedback support for it. config HID_TIVO tristate "TiVo Slide Bluetooth remote control support" depends on HID ---help--- Say Y if you have a TiVo Slide Bluetooth remote control. config HID_TOPSEED tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support" depends on HID ---help--- Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic CLLRCMCE remote control. config HID_THINGM tristate "ThingM blink(1) USB RGB LED" depends on HID depends on LEDS_CLASS select HID_LED ---help--- Support for the ThingM blink(1) USB RGB LED. This driver has been merged into the generic hid led driver. Config symbol HID_THINGM just selects HID_LED and will be removed soon. config HID_THRUSTMASTER tristate "ThrustMaster devices support" depends on HID ---help--- Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or a THRUSTMASTER Ferrari GT Rumble Wheel. config THRUSTMASTER_FF bool "ThrustMaster devices force feedback support" depends on HID_THRUSTMASTER select INPUT_FF_MEMLESS ---help--- Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3, a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT Rumble Force or Force Feedback Wheel. config HID_UDRAW_PS3 tristate "THQ PS3 uDraw tablet" depends on HID ---help--- Say Y here if you want to use the THQ uDraw gaming tablet for the PS3. config HID_U2FZERO tristate "U2F Zero LED and RNG support" depends on USB_HID depends on LEDS_CLASS depends on HW_RANDOM help Support for the LED of the U2F Zero device. U2F Zero supports custom commands for blinking the LED and getting data from the internal hardware RNG. The internal hardware can be used to feed the enthropy pool. U2F Zero only supports blinking its LED, so this driver doesn't allow setting the brightness to anything but 1, which will trigger a single blink and immediately reset to back 0. config HID_WACOM tristate "Wacom Intuos/Graphire tablet support (USB)" depends on USB_HID select POWER_SUPPLY select NEW_LEDS select LEDS_CLASS select LEDS_TRIGGERS help Say Y here if you want to use the USB or BT version of the Wacom Intuos or Graphire tablet. To compile this driver as a module, choose M here: the module will be called wacom. config HID_WIIMOTE tristate "Nintendo Wii / Wii U peripherals" depends on HID depends on LEDS_CLASS select POWER_SUPPLY select INPUT_FF_MEMLESS ---help--- Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported devices are the Wii Remote and its extension devices, but also devices based on the Wii Remote like the Wii U Pro Controller or the Wii Balance Board. Support for all official Nintendo extensions is available, however, 3rd party extensions might not be supported. Please report these devices to: http://github.com/dvdhrm/xwiimote/issues Other Nintendo Wii U peripherals that are IEEE 802.11 based (including the Wii U Gamepad) might be supported in the future. But currently support is limited to Bluetooth based devices. If unsure, say N. To compile this driver as a module, choose M here: the module will be called hid-wiimote. config HID_XINMO tristate "Xin-Mo non-fully compliant devices" depends on HID ---help--- Support for Xin-Mo devices that are not fully compliant with the HID standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here if you have a Xin-Mo Dual Arcade controller. config HID_ZEROPLUS tristate "Zeroplus based game controller support" depends on HID ---help--- Say Y here if you have a Zeroplus based game controller. config ZEROPLUS_FF bool "Zeroplus based game controller force feedback support" depends on HID_ZEROPLUS select INPUT_FF_MEMLESS ---help--- Say Y here if you have a Zeroplus based game controller and want to have force feedback support for it. config HID_ZYDACRON tristate "Zydacron remote control support" depends on HID ---help--- Support for Zydacron remote control. config HID_SENSOR_HUB tristate "HID Sensors framework support" depends on HID && HAS_IOMEM select MFD_CORE default n ---help--- Support for HID Sensor framework. This creates a MFD instance for a sensor hub and identifies all the sensors connected to it. Each sensor is registered as a MFD cell, so that sensor specific processing can be done in a separate driver. Each sensor drivers can use the service provided by this driver to register for events and handle data streams. Each sensor driver can format data and present to user mode using input or IIO interface. config HID_SENSOR_CUSTOM_SENSOR tristate "HID Sensors hub custom sensor support" depends on HID_SENSOR_HUB default n ---help--- HID Sensor hub specification allows definition of some custom and generic sensors. Unlike other HID sensors, they can't be exported via Linux IIO because of custom fields. This is up to the manufacturer to decide how to interpret these special sensor ids and process in the user space. Currently some manufacturers are using these ids for sensor calibration and debugging other sensors. Manufacturers should't use these special custom sensor ids to export any of the standard sensors. Select this config option for custom/generic sensor support. config HID_ALPS tristate "Alps HID device support" depends on HID ---help--- Support for Alps I2C HID touchpads and StickPointer. Say Y here if you have a Alps touchpads over i2c-hid or usbhid and want support for its special functionalities. endmenu endif # HID source "drivers/hid/usbhid/Kconfig" source "drivers/hid/i2c-hid/Kconfig" source "drivers/hid/intel-ish-hid/Kconfig" endmenu hid/usbhid/Kconfig 0000644 00000005153 14722053666 0010110 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "USB HID support" depends on USB config USB_HID tristate "USB HID transport layer" default y depends on USB && INPUT select HID ---help--- Say Y here if you want to connect USB keyboards, mice, joysticks, graphic tablets, or any other HID based devices to your computer via USB, as well as Uninterruptible Power Supply (UPS) and monitor control devices. You can't use this driver and the HIDBP (Boot Protocol) keyboard and mouse drivers at the same time. More information is available: <file:Documentation/input/input.rst>. If unsure, say Y. To compile this driver as a module, choose M here: the module will be called usbhid. comment "Input core support is needed for USB HID input layer or HIDBP support" depends on USB_HID && INPUT=n config HID_PID bool "PID device support" help Say Y here if you have a PID-compliant device and wish to enable force feedback for it. Microsoft Sidewinder Force Feedback 2 is one of such devices. config USB_HIDDEV bool "/dev/hiddev raw HID device support" depends on USB_HID help Say Y here if you want to support HID devices (from the USB specification standpoint) that aren't strictly user interface devices, like monitor controls and Uninterruptable Power Supplies. This module supports these devices separately using a separate event interface on /dev/usb/hiddevX (char 180:96 to 180:111). If unsure, say Y. menu "USB HID Boot Protocol drivers" depends on USB!=n && USB_HID!=y && EXPERT config USB_KBD tristate "USB HIDBP Keyboard (simple Boot) support" depends on USB && INPUT ---help--- Say Y here only if you are absolutely sure that you don't want to use the generic HID driver for your USB keyboard and prefer to use the keyboard in its limited Boot Protocol mode instead. This is almost certainly not what you want. This is mostly useful for embedded applications or simple keyboards. To compile this driver as a module, choose M here: the module will be called usbkbd. If even remotely unsure, say N. config USB_MOUSE tristate "USB HIDBP Mouse (simple Boot) support" depends on USB && INPUT ---help--- Say Y here only if you are absolutely sure that you don't want to use the generic HID driver for your USB mouse and prefer to use the mouse in its limited Boot Protocol mode instead. This is almost certainly not what you want. This is mostly useful for embedded applications or simple mice. To compile this driver as a module, choose M here: the module will be called usbmouse. If even remotely unsure, say N. endmenu endmenu hid/usbhid/Makefile 0000644 00000000443 14722053666 0010242 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the USB input drivers # usbhid-y := hid-core.o usbhid-$(CONFIG_USB_HIDDEV) += hiddev.o usbhid-$(CONFIG_HID_PID) += hid-pidff.o obj-$(CONFIG_USB_HID) += usbhid.o obj-$(CONFIG_USB_KBD) += usbkbd.o obj-$(CONFIG_USB_MOUSE) += usbmouse.o hid/i2c-hid/Kconfig 0000644 00000000720 14722053666 0010044 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "I2C HID support" depends on I2C config I2C_HID tristate "HID over I2C transport layer" default n depends on I2C && INPUT select HID ---help--- Say Y here if you use a keyboard, a touchpad, a touchscreen, or any other HID based devices which is connected to your computer via I2C. If unsure, say N. This support is also available as a module. If so, the module will be called i2c-hid. endmenu hid/i2c-hid/Makefile 0000644 00000000315 14722053666 0010201 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the I2C input drivers # obj-$(CONFIG_I2C_HID) += i2c-hid.o i2c-hid-objs = i2c-hid-core.o i2c-hid-$(CONFIG_DMI) += i2c-hid-dmi-quirks.o hid/Makefile 0000644 00000012772 14722053666 0006774 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the HID driver # hid-y := hid-core.o hid-input.o hid-quirks.o hid-$(CONFIG_DEBUG_FS) += hid-debug.o obj-$(CONFIG_HID) += hid.o obj-$(CONFIG_UHID) += uhid.o obj-$(CONFIG_HID_GENERIC) += hid-generic.o hid-$(CONFIG_HIDRAW) += hidraw.o hid-logitech-y := hid-lg.o hid-logitech-$(CONFIG_LOGITECH_FF) += hid-lgff.o hid-logitech-$(CONFIG_LOGIRUMBLEPAD2_FF) += hid-lg2ff.o hid-logitech-$(CONFIG_LOGIG940_FF) += hid-lg3ff.o hid-logitech-$(CONFIG_LOGIWHEELS_FF) += hid-lg4ff.o hid-wiimote-y := hid-wiimote-core.o hid-wiimote-modules.o hid-wiimote-$(CONFIG_DEBUG_FS) += hid-wiimote-debug.o obj-$(CONFIG_HID_A4TECH) += hid-a4tech.o obj-$(CONFIG_HID_ACCUTOUCH) += hid-accutouch.o obj-$(CONFIG_HID_ALPS) += hid-alps.o obj-$(CONFIG_HID_ACRUX) += hid-axff.o obj-$(CONFIG_HID_APPLE) += hid-apple.o obj-$(CONFIG_HID_APPLEIR) += hid-appleir.o obj-$(CONFIG_HID_CREATIVE_SB0540) += hid-creative-sb0540.o obj-$(CONFIG_HID_ASUS) += hid-asus.o obj-$(CONFIG_HID_AUREAL) += hid-aureal.o obj-$(CONFIG_HID_BELKIN) += hid-belkin.o obj-$(CONFIG_HID_BETOP_FF) += hid-betopff.o obj-$(CONFIG_HID_BIGBEN_FF) += hid-bigbenff.o obj-$(CONFIG_HID_CHERRY) += hid-cherry.o obj-$(CONFIG_HID_CHICONY) += hid-chicony.o obj-$(CONFIG_HID_CMEDIA) += hid-cmedia.o obj-$(CONFIG_HID_CORSAIR) += hid-corsair.o obj-$(CONFIG_HID_COUGAR) += hid-cougar.o obj-$(CONFIG_HID_CP2112) += hid-cp2112.o obj-$(CONFIG_HID_CYPRESS) += hid-cypress.o obj-$(CONFIG_HID_DRAGONRISE) += hid-dr.o obj-$(CONFIG_HID_EMS_FF) += hid-emsff.o obj-$(CONFIG_HID_ELAN) += hid-elan.o obj-$(CONFIG_HID_ELECOM) += hid-elecom.o obj-$(CONFIG_HID_ELO) += hid-elo.o obj-$(CONFIG_HID_EZKEY) += hid-ezkey.o obj-$(CONFIG_HID_GEMBIRD) += hid-gembird.o obj-$(CONFIG_HID_GFRM) += hid-gfrm.o obj-$(CONFIG_HID_GOOGLE_HAMMER) += hid-google-hammer.o obj-$(CONFIG_HID_GT683R) += hid-gt683r.o obj-$(CONFIG_HID_GYRATION) += hid-gyration.o obj-$(CONFIG_HID_HOLTEK) += hid-holtek-kbd.o obj-$(CONFIG_HID_HOLTEK) += hid-holtek-mouse.o obj-$(CONFIG_HID_HOLTEK) += hid-holtekff.o obj-$(CONFIG_HID_HYPERV_MOUSE) += hid-hyperv.o obj-$(CONFIG_HID_ICADE) += hid-icade.o obj-$(CONFIG_HID_ITE) += hid-ite.o obj-$(CONFIG_HID_JABRA) += hid-jabra.o obj-$(CONFIG_HID_KENSINGTON) += hid-kensington.o obj-$(CONFIG_HID_KEYTOUCH) += hid-keytouch.o obj-$(CONFIG_HID_KYE) += hid-kye.o obj-$(CONFIG_HID_LCPOWER) += hid-lcpower.o obj-$(CONFIG_HID_LENOVO) += hid-lenovo.o obj-$(CONFIG_HID_LOGITECH) += hid-logitech.o obj-$(CONFIG_HID_LOGITECH_DJ) += hid-logitech-dj.o obj-$(CONFIG_HID_LOGITECH_HIDPP) += hid-logitech-hidpp.o obj-$(CONFIG_HID_MACALLY) += hid-macally.o obj-$(CONFIG_HID_MAGICMOUSE) += hid-magicmouse.o obj-$(CONFIG_HID_MALTRON) += hid-maltron.o obj-$(CONFIG_HID_MAYFLASH) += hid-mf.o obj-$(CONFIG_HID_MICROSOFT) += hid-microsoft.o obj-$(CONFIG_HID_MONTEREY) += hid-monterey.o obj-$(CONFIG_HID_MULTITOUCH) += hid-multitouch.o obj-$(CONFIG_HID_NTI) += hid-nti.o obj-$(CONFIG_HID_NTRIG) += hid-ntrig.o obj-$(CONFIG_HID_ORTEK) += hid-ortek.o obj-$(CONFIG_HID_PRODIKEYS) += hid-prodikeys.o obj-$(CONFIG_HID_PANTHERLORD) += hid-pl.o obj-$(CONFIG_HID_PENMOUNT) += hid-penmount.o obj-$(CONFIG_HID_PETALYNX) += hid-petalynx.o obj-$(CONFIG_HID_PICOLCD) += hid-picolcd.o hid-picolcd-y += hid-picolcd_core.o hid-picolcd-$(CONFIG_HID_PICOLCD_FB) += hid-picolcd_fb.o hid-picolcd-$(CONFIG_HID_PICOLCD_BACKLIGHT) += hid-picolcd_backlight.o hid-picolcd-$(CONFIG_HID_PICOLCD_LCD) += hid-picolcd_lcd.o hid-picolcd-$(CONFIG_HID_PICOLCD_LEDS) += hid-picolcd_leds.o hid-picolcd-$(CONFIG_HID_PICOLCD_CIR) += hid-picolcd_cir.o hid-picolcd-$(CONFIG_DEBUG_FS) += hid-picolcd_debugfs.o obj-$(CONFIG_HID_PLANTRONICS) += hid-plantronics.o obj-$(CONFIG_HID_PRIMAX) += hid-primax.o obj-$(CONFIG_HID_REDRAGON) += hid-redragon.o obj-$(CONFIG_HID_RETRODE) += hid-retrode.o obj-$(CONFIG_HID_ROCCAT) += hid-roccat.o hid-roccat-common.o \ hid-roccat-arvo.o hid-roccat-isku.o hid-roccat-kone.o \ hid-roccat-koneplus.o hid-roccat-konepure.o hid-roccat-kovaplus.o \ hid-roccat-lua.o hid-roccat-pyra.o hid-roccat-ryos.o hid-roccat-savu.o obj-$(CONFIG_HID_RMI) += hid-rmi.o obj-$(CONFIG_HID_SAITEK) += hid-saitek.o obj-$(CONFIG_HID_SAMSUNG) += hid-samsung.o obj-$(CONFIG_HID_SMARTJOYPLUS) += hid-sjoy.o obj-$(CONFIG_HID_SONY) += hid-sony.o obj-$(CONFIG_HID_SPEEDLINK) += hid-speedlink.o obj-$(CONFIG_HID_STEAM) += hid-steam.o obj-$(CONFIG_HID_STEELSERIES) += hid-steelseries.o obj-$(CONFIG_HID_SUNPLUS) += hid-sunplus.o obj-$(CONFIG_HID_GREENASIA) += hid-gaff.o obj-$(CONFIG_HID_THRUSTMASTER) += hid-tmff.o obj-$(CONFIG_HID_TIVO) += hid-tivo.o obj-$(CONFIG_HID_TOPSEED) += hid-topseed.o obj-$(CONFIG_HID_TWINHAN) += hid-twinhan.o obj-$(CONFIG_HID_U2FZERO) += hid-u2fzero.o hid-uclogic-objs := hid-uclogic-core.o \ hid-uclogic-rdesc.o \ hid-uclogic-params.o obj-$(CONFIG_HID_UCLOGIC) += hid-uclogic.o obj-$(CONFIG_HID_UDRAW_PS3) += hid-udraw-ps3.o obj-$(CONFIG_HID_LED) += hid-led.o obj-$(CONFIG_HID_XINMO) += hid-xinmo.o obj-$(CONFIG_HID_ZEROPLUS) += hid-zpff.o obj-$(CONFIG_HID_ZYDACRON) += hid-zydacron.o obj-$(CONFIG_HID_VIEWSONIC) += hid-viewsonic.o wacom-objs := wacom_wac.o wacom_sys.o obj-$(CONFIG_HID_WACOM) += wacom.o obj-$(CONFIG_HID_WALTOP) += hid-waltop.o obj-$(CONFIG_HID_WIIMOTE) += hid-wiimote.o obj-$(CONFIG_HID_SENSOR_HUB) += hid-sensor-hub.o obj-$(CONFIG_HID_SENSOR_CUSTOM_SENSOR) += hid-sensor-custom.o obj-$(CONFIG_USB_HID) += usbhid/ obj-$(CONFIG_USB_MOUSE) += usbhid/ obj-$(CONFIG_USB_KBD) += usbhid/ obj-$(CONFIG_I2C_HID) += i2c-hid/ obj-$(CONFIG_INTEL_ISH_HID) += intel-ish-hid/ obj-$(INTEL_ISH_FIRMWARE_DOWNLOADER) += intel-ish-hid/ infiniband/core/Makefile 0000644 00000002461 14722053666 0011253 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 infiniband-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_cm.o user_access-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_ucm.o obj-$(CONFIG_INFINIBAND) += ib_core.o ib_cm.o iw_cm.o \ $(infiniband-y) obj-$(CONFIG_INFINIBAND_USER_MAD) += ib_umad.o obj-$(CONFIG_INFINIBAND_USER_ACCESS) += ib_uverbs.o $(user_access-y) ib_core-y := packer.o ud_header.o verbs.o cq.o rw.o sysfs.o \ device.o fmr_pool.o cache.o netlink.o \ roce_gid_mgmt.o mr_pool.o addr.o sa_query.o \ multicast.o mad.o smi.o agent.o mad_rmpp.o \ nldev.o restrack.o counters.o ib_core_uverbs.o ib_core-$(CONFIG_SECURITY_INFINIBAND) += security.o ib_core-$(CONFIG_CGROUP_RDMA) += cgroup.o ib_cm-y := cm.o iw_cm-y := iwcm.o iwpm_util.o iwpm_msg.o rdma_cm-y := cma.o rdma_cm-$(CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS) += cma_configfs.o rdma_ucm-y := ucma.o ib_umad-y := user_mad.o ib_uverbs-y := uverbs_main.o uverbs_cmd.o uverbs_marshall.o \ rdma_core.o uverbs_std_types.o uverbs_ioctl.o \ uverbs_std_types_cq.o \ uverbs_std_types_flow_action.o uverbs_std_types_dm.o \ uverbs_std_types_mr.o uverbs_std_types_counters.o \ uverbs_uapi.o uverbs_std_types_device.o ib_uverbs-$(CONFIG_INFINIBAND_USER_MEM) += umem.o peer_mem.o ib_uverbs-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += umem_odp.o infiniband/sw/rdmavt/Kconfig 0000644 00000000413 14722053666 0012107 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_RDMAVT tristate "RDMA verbs transport library" depends on INFINIBAND_VIRT_DMA depends on X86_64 depends on PCI select DMA_VIRT_OPS ---help--- This is a common software verbs provider for RDMA networks. infiniband/sw/rdmavt/Makefile 0000644 00000000415 14722053666 0012246 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # rdmavt driver # # # # Called from the kernel module build system. # obj-$(CONFIG_INFINIBAND_RDMAVT) += rdmavt.o rdmavt-y := vt.o ah.o cq.o mad.o mcast.o mmap.o mr.o pd.o qp.o \ rc.o srq.o trace.o CFLAGS_trace.o = -I$(src) infiniband/sw/rxe/Kconfig 0000644 00000002253 14722053666 0011414 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config RDMA_RXE tristate "Software RDMA over Ethernet (RoCE) driver" depends on INET && PCI && INFINIBAND depends on INFINIBAND_VIRT_DMA select NET_UDP_TUNNEL select CRYPTO select CRYPTO_CRC32 select DMA_VIRT_OPS ---help--- This driver implements the InfiniBand RDMA transport over the Linux network stack. It enables a system with a standard Ethernet adapter to interoperate with a RoCE adapter or with another system running the RXE driver. Documentation on InfiniBand and RoCE can be downloaded at www.infinibandta.org and www.openfabrics.org. (See also siw which is a similar software driver for iWARP.) The driver is split into two layers, one interfaces with the Linux RDMA stack and implements a kernel or user space verbs API. The user space verbs API requires a support library named librxe which is loaded by the generic user space verbs API, libibverbs. The other layer interfaces with the Linux network stack at layer 3. To configure and work with soft-RoCE driver please use the following wiki page under "configure Soft-RoCE (RXE)" section: https://github.com/linux-rdma/rdma-core/blob/master/Documentation/rxe.md infiniband/sw/rxe/Makefile 0000644 00000000572 14722053666 0011553 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_RDMA_RXE) += rdma_rxe.o rdma_rxe-y := \ rxe.o \ rxe_comp.o \ rxe_req.o \ rxe_resp.o \ rxe_recv.o \ rxe_pool.o \ rxe_queue.o \ rxe_verbs.o \ rxe_av.o \ rxe_srq.o \ rxe_qp.o \ rxe_cq.o \ rxe_mr.o \ rxe_opcode.o \ rxe_mmap.o \ rxe_icrc.o \ rxe_mcast.o \ rxe_task.o \ rxe_net.o \ rxe_sysfs.o \ rxe_hw_counters.o infiniband/sw/siw/Kconfig 0000644 00000001451 14722053666 0011417 0 ustar 00 config RDMA_SIW tristate "Software RDMA over TCP/IP (iWARP) driver" depends on INET && INFINIBAND && LIBCRC32C depends on INFINIBAND_VIRT_DMA select DMA_VIRT_OPS help This driver implements the iWARP RDMA transport over the Linux TCP/IP network stack. It enables a system with a standard Ethernet adapter to interoperate with a iWARP adapter or with another system running the SIW driver. (See also RXE which is a similar software driver for RoCE.) The driver interfaces with the Linux RDMA stack and implements both a kernel and user space RDMA verbs API. The user space verbs API requires a support library named libsiw which is loaded by the generic user space verbs API, libibverbs. To implement RDMA over TCP/IP, the driver further interfaces with the Linux in-kernel TCP socket layer. infiniband/sw/siw/Makefile 0000644 00000000226 14722053666 0011553 0 ustar 00 obj-$(CONFIG_RDMA_SIW) += siw.o siw-y := \ siw_cm.o \ siw_cq.o \ siw_main.o \ siw_mem.o \ siw_qp.o \ siw_qp_tx.o \ siw_qp_rx.o \ siw_verbs.o infiniband/sw/Makefile 0000644 00000000226 14722053666 0010751 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INFINIBAND_RDMAVT) += rdmavt/ obj-$(CONFIG_RDMA_RXE) += rxe/ obj-$(CONFIG_RDMA_SIW) += siw/ infiniband/Kconfig 0000644 00000007451 14722053666 0010172 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig INFINIBAND tristate "InfiniBand support" depends on HAS_IOMEM && HAS_DMA depends on NET depends on INET depends on m || IPV6 != m depends on !ALPHA select IRQ_POLL select DIMLIB ---help--- Core support for InfiniBand (IB). Make sure to also select any protocols you wish to use as well as drivers for your InfiniBand hardware. if INFINIBAND config INFINIBAND_USER_MAD tristate "InfiniBand userspace MAD support" depends on INFINIBAND ---help--- Userspace InfiniBand Management Datagram (MAD) support. This is the kernel side of the userspace MAD support, which allows userspace processes to send and receive MADs. You will also need libibumad from rdma-core <https://github.com/linux-rdma/rdma-core>. config INFINIBAND_USER_ACCESS tristate "InfiniBand userspace access (verbs and CM)" depends on MMU ---help--- Userspace InfiniBand access support. This enables the kernel side of userspace verbs and the userspace communication manager (CM). This allows userspace processes to set up connections and directly access InfiniBand hardware for fast-path operations. You will also need libibverbs, libibcm and a hardware driver library from rdma-core <https://github.com/linux-rdma/rdma-core>. config INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI bool "Allow experimental legacy verbs in new ioctl uAPI (EXPERIMENTAL)" depends on INFINIBAND_USER_ACCESS ---help--- IOCTL based uAPI support for Infiniband is enabled by default for new verbs only. This allows userspace to invoke the IOCTL based uAPI for current legacy verbs too. config INFINIBAND_USER_MEM bool depends on INFINIBAND_USER_ACCESS != n depends on MMU default y config INFINIBAND_ON_DEMAND_PAGING bool "InfiniBand on-demand paging support" depends on INFINIBAND_USER_MEM select MMU_NOTIFIER select INTERVAL_TREE default y ---help--- On demand paging support for the InfiniBand subsystem. Together with driver support this allows registration of memory regions without pinning their pages, fetching the pages on demand instead. config INFINIBAND_ADDR_TRANS bool "RDMA/CM" depends on INFINIBAND default y ---help--- Support for RDMA communication manager (CM). This allows for a generic connection abstraction over RDMA. config INFINIBAND_ADDR_TRANS_CONFIGFS bool depends on INFINIBAND_ADDR_TRANS && CONFIGFS_FS && !(INFINIBAND=y && CONFIGFS_FS=m) default y ---help--- ConfigFS support for RDMA communication manager (CM). This allows the user to config the default GID type that the CM uses for each device, when initiaing new connections. config INFINIBAND_VIRT_DMA def_bool !HIGHMEM if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS source "drivers/infiniband/hw/mthca/Kconfig" source "drivers/infiniband/hw/qib/Kconfig" source "drivers/infiniband/hw/cxgb3/Kconfig" source "drivers/infiniband/hw/cxgb4/Kconfig" source "drivers/infiniband/hw/efa/Kconfig" source "drivers/infiniband/hw/i40iw/Kconfig" source "drivers/infiniband/hw/mlx4/Kconfig" source "drivers/infiniband/hw/mlx5/Kconfig" source "drivers/infiniband/hw/ocrdma/Kconfig" source "drivers/infiniband/hw/vmw_pvrdma/Kconfig" source "drivers/infiniband/hw/usnic/Kconfig" source "drivers/infiniband/hw/hns/Kconfig" source "drivers/infiniband/hw/bnxt_re/Kconfig" source "drivers/infiniband/hw/hfi1/Kconfig" source "drivers/infiniband/hw/qedr/Kconfig" source "drivers/infiniband/sw/rdmavt/Kconfig" source "drivers/infiniband/sw/rxe/Kconfig" source "drivers/infiniband/sw/siw/Kconfig" endif source "drivers/infiniband/ulp/ipoib/Kconfig" source "drivers/infiniband/ulp/srp/Kconfig" source "drivers/infiniband/ulp/srpt/Kconfig" source "drivers/infiniband/ulp/iser/Kconfig" source "drivers/infiniband/ulp/isert/Kconfig" source "drivers/infiniband/ulp/opa_vnic/Kconfig" endif # INFINIBAND infiniband/hw/mthca/Kconfig 0000644 00000001202 14722053666 0011670 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_MTHCA tristate "Mellanox HCA support" depends on PCI ---help--- This is a low-level driver for Mellanox InfiniHost host channel adapters (HCAs), including the MT23108 PCI-X HCA ("Tavor") and the MT25208 PCI Express HCA ("Arbel"). config INFINIBAND_MTHCA_DEBUG bool "Verbose debugging output" if EXPERT depends on INFINIBAND_MTHCA default y ---help--- This option causes debugging code to be compiled into the mthca driver. The output can be turned on via the debug_level module parameter (which can also be set after the driver is loaded through sysfs). infiniband/hw/mthca/Makefile 0000644 00000000531 14722053666 0012031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_INFINIBAND_MTHCA) += ib_mthca.o ib_mthca-y := mthca_main.o mthca_cmd.o mthca_profile.o mthca_reset.o \ mthca_allocator.o mthca_eq.o mthca_pd.o mthca_cq.o \ mthca_mr.o mthca_qp.o mthca_av.o mthca_mcg.o mthca_mad.o \ mthca_provider.o mthca_memfree.o mthca_uar.o mthca_srq.o \ mthca_catas.o infiniband/hw/mlx5/Kconfig 0000644 00000000654 14722053666 0011473 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MLX5_INFINIBAND tristate "Mellanox 5th generation network adapters (ConnectX series) support" depends on NETDEVICES && ETHERNET && PCI && MLX5_CORE ---help--- This driver provides low-level InfiniBand support for Mellanox Connect-IB PCI Express host channel adapters (HCAs). This is required to use InfiniBand protocols such as IP-over-IB or SRP with these devices. infiniband/hw/mlx5/Makefile 0000644 00000000620 14722053666 0011621 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MLX5_INFINIBAND) += mlx5_ib.o mlx5_ib-y := main.o cq.o doorbell.o qp.o mem.o srq_cmd.o \ srq.o mr.o ah.o mad.o gsi.o ib_virt.o cmd.o \ cong.o mlx5_ib-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += odp.o mlx5_ib-$(CONFIG_MLX5_ESWITCH) += ib_rep.o mlx5_ib-$(CONFIG_INFINIBAND_USER_ACCESS) += devx.o mlx5_ib-$(CONFIG_INFINIBAND_USER_ACCESS) += flow.o infiniband/hw/hfi1/Kconfig 0000644 00000001157 14722053666 0011434 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_HFI1 tristate "Intel OPA Gen1 support" depends on X86_64 && INFINIBAND_RDMAVT && I2C select MMU_NOTIFIER select CRC32 select I2C_ALGOBIT ---help--- This is a low-level driver for Intel OPA Gen1 adapter. config HFI1_DEBUG_SDMA_ORDER bool "HFI1 SDMA Order debug" depends on INFINIBAND_HFI1 default n ---help--- This is a debug flag to test for out of order sdma completions for unit testing config SDMA_VERBOSITY bool "Config SDMA Verbosity" depends on INFINIBAND_HFI1 default n ---help--- This is a configuration flag to enable verbose SDMA debug infiniband/hw/hfi1/Makefile 0000644 00000001527 14722053666 0011572 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # HFI driver # # # # Called from the kernel module build system. # obj-$(CONFIG_INFINIBAND_HFI1) += hfi1.o hfi1-y := \ affinity.o \ aspm.o \ chip.o \ device.o \ driver.o \ efivar.o \ eprom.o \ exp_rcv.o \ file_ops.o \ firmware.o \ init.o \ intr.o \ iowait.o \ mad.o \ mmu_rb.o \ msix.o \ opfn.o \ pcie.o \ pio.o \ pio_copy.o \ platform.o \ qp.o \ qsfp.o \ rc.o \ ruc.o \ sdma.o \ sysfs.o \ tid_rdma.o \ trace.o \ uc.o \ ud.o \ user_exp_rcv.o \ user_pages.o \ user_sdma.o \ verbs.o \ verbs_txreq.o \ vnic_main.o \ vnic_sdma.o ifdef CONFIG_DEBUG_FS hfi1-y += debugfs.o ifdef CONFIG_FAULT_INJECTION ifdef CONFIG_FAULT_INJECTION_DEBUG_FS hfi1-y += fault.o endif endif endif CFLAGS_trace.o = -I$(src) ifdef MVERSION CFLAGS_driver.o = -DHFI_DRIVER_VERSION_BASE=\"$(MVERSION)\" endif infiniband/hw/ocrdma/Kconfig 0000644 00000000542 14722053666 0012047 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_OCRDMA tristate "Emulex One Connect HCA support" depends on ETHERNET && NETDEVICES && PCI && INET && (IPV6 || IPV6=n) select NET_VENDOR_EMULEX select BE2NET ---help--- This driver provides low-level InfiniBand over Ethernet support for Emulex One Connect host channel adapters (HCAs). infiniband/hw/ocrdma/Makefile 0000644 00000000343 14722053666 0012203 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/drivers/net/ethernet/emulex/benet obj-$(CONFIG_INFINIBAND_OCRDMA) += ocrdma.o ocrdma-y := ocrdma_main.o ocrdma_verbs.o ocrdma_hw.o ocrdma_ah.o ocrdma_stats.o infiniband/hw/cxgb4/Kconfig 0000644 00000001271 14722053666 0011611 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_CXGB4 tristate "Chelsio T4/T5 RDMA Driver" depends on CHELSIO_T4 && INET depends on INFINIBAND_ADDR_TRANS select CHELSIO_LIB select GENERIC_ALLOCATOR ---help--- This is an iWARP/RDMA driver for the Chelsio T4 and T5 1GbE, 10GbE adapters and T5 40GbE adapter. For general information about Chelsio and our products, visit our website at <http://www.chelsio.com>. For customer support, please visit our customer support page at <http://www.chelsio.com/support.html>. Please send feedback to <linux-bugs@chelsio.com>. To compile this driver as a module, choose M here: the module will be called iw_cxgb4. infiniband/hw/cxgb4/Makefile 0000644 00000000475 14722053666 0011753 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/drivers/net/ethernet/chelsio/cxgb4 ccflags-y += -I $(srctree)/drivers/net/ethernet/chelsio/libcxgb obj-$(CONFIG_INFINIBAND_CXGB4) += iw_cxgb4.o iw_cxgb4-y := device.o cm.o provider.o mem.o cq.o qp.o resource.o ev.o id_table.o \ restrack.o infiniband/hw/vmw_pvrdma/Kconfig 0000644 00000000534 14722053666 0012765 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_VMWARE_PVRDMA tristate "VMware Paravirtualized RDMA Driver" depends on NETDEVICES && ETHERNET && PCI && INET && VMXNET3 ---help--- This driver provides low-level support for VMware Paravirtual RDMA adapter. It interacts with the VMXNet3 driver to provide Ethernet capabilities. infiniband/hw/vmw_pvrdma/Makefile 0000644 00000000353 14722053666 0013121 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INFINIBAND_VMWARE_PVRDMA) += vmw_pvrdma.o vmw_pvrdma-y := pvrdma_cmd.o pvrdma_cq.o pvrdma_doorbell.o pvrdma_main.o pvrdma_misc.o pvrdma_mr.o pvrdma_qp.o pvrdma_srq.o pvrdma_verbs.o infiniband/hw/efa/Kconfig 0000644 00000000751 14722053666 0011337 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause # Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All rights reserved. # # Amazon fabric device configuration # config INFINIBAND_EFA tristate "Amazon Elastic Fabric Adapter (EFA) support" depends on PCI_MSI && 64BIT && !CPU_BIG_ENDIAN depends on INFINIBAND_USER_ACCESS help This driver supports Amazon Elastic Fabric Adapter (EFA). To compile this driver as a module, choose M here. The module will be called efa. infiniband/hw/efa/Makefile 0000644 00000000450 14722053666 0011470 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause # Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All rights reserved. # # Makefile for Amazon Elastic Fabric Adapter (EFA) device driver. # obj-$(CONFIG_INFINIBAND_EFA) += efa.o efa-y := efa_com_cmd.o efa_com.o efa_main.o efa_verbs.o infiniband/hw/hns/Kconfig 0000644 00000002367 14722053666 0011401 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_HNS tristate "HNS RoCE Driver" depends on NET_VENDOR_HISILICON depends on ARM64 || (COMPILE_TEST && 64BIT) depends on (HNS_DSAF && HNS_ENET) || HNS3 ---help--- This is a RoCE/RDMA driver for the Hisilicon RoCE engine. The engine is used in Hisilicon Hip06 and more further ICT SoC based on platform device. To compile HIP06 or HIP08 driver as module, choose M here. config INFINIBAND_HNS_HIP06 bool "Hisilicon Hip06 Family RoCE support" depends on INFINIBAND_HNS && HNS && HNS_DSAF && HNS_ENET depends on INFINIBAND_HNS=m || (HNS_DSAF=y && HNS_ENET=y) ---help--- RoCE driver support for Hisilicon RoCE engine in Hisilicon Hip06 and Hip07 SoC. These RoCE engines are platform devices. To compile this driver, choose Y here: if INFINIBAND_HNS is m, this module will be called hns-roce-hw-v1 config INFINIBAND_HNS_HIP08 bool "Hisilicon Hip08 Family RoCE support" depends on INFINIBAND_HNS && PCI && HNS3 depends on INFINIBAND_HNS=m || HNS3=y ---help--- RoCE driver support for Hisilicon RoCE engine in Hisilicon Hip08 SoC. The RoCE engine is a PCI device. To compile this driver, choose Y here: if INFINIBAND_HNS is m, this module will be called hns-roce-hw-v2. infiniband/hw/hns/Makefile 0000644 00000001241 14722053666 0011524 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Hisilicon RoCE drivers. # ccflags-y := -I $(srctree)/drivers/net/ethernet/hisilicon/hns3 hns-roce-objs := hns_roce_main.o hns_roce_cmd.o hns_roce_pd.o \ hns_roce_ah.o hns_roce_hem.o hns_roce_mr.o hns_roce_qp.o \ hns_roce_cq.o hns_roce_alloc.o hns_roce_db.o hns_roce_srq.o hns_roce_restrack.o ifdef CONFIG_INFINIBAND_HNS_HIP06 hns-roce-hw-v1-objs := hns_roce_hw_v1.o $(hns-roce-objs) obj-$(CONFIG_INFINIBAND_HNS) += hns-roce-hw-v1.o endif ifdef CONFIG_INFINIBAND_HNS_HIP08 hns-roce-hw-v2-objs := hns_roce_hw_v2.o hns_roce_hw_v2_dfx.o $(hns-roce-objs) obj-$(CONFIG_INFINIBAND_HNS) += hns-roce-hw-v2.o endif infiniband/hw/cxgb3/Kconfig 0000644 00000001134 14722053666 0011606 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_CXGB3 tristate "Chelsio RDMA Driver" depends on CHELSIO_T3 select GENERIC_ALLOCATOR ---help--- This is an iWARP/RDMA driver for the Chelsio T3 1GbE and 10GbE adapters. For general information about Chelsio and our products, visit our website at <http://www.chelsio.com>. For customer support, please visit our customer support page at <http://www.chelsio.com/support.html>. Please send feedback to <linux-bugs@chelsio.com>. To compile this driver as a module, choose M here: the module will be called iw_cxgb3. infiniband/hw/cxgb3/Makefile 0000644 00000000416 14722053666 0011745 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y := -I $(srctree)/drivers/net/ethernet/chelsio/cxgb3 obj-$(CONFIG_INFINIBAND_CXGB3) += iw_cxgb3.o iw_cxgb3-y := iwch_cm.o iwch_ev.o iwch_cq.o iwch_qp.o iwch_mem.o \ iwch_provider.o iwch.o cxio_hal.o cxio_resource.o infiniband/hw/qedr/Kconfig 0000644 00000000470 14722053666 0011535 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_QEDR tristate "QLogic RoCE driver" depends on 64BIT && QEDE depends on PCI select QED_LL2 select QED_OOO select QED_RDMA ---help--- This driver provides low-level InfiniBand over Ethernet support for QLogic QED host channel adapters (HCAs). infiniband/hw/qedr/Makefile 0000644 00000000206 14722053666 0011667 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INFINIBAND_QEDR) := qedr.o qedr-y := main.o verbs.o qedr_roce_cm.o qedr_iw_cm.o infiniband/hw/i40iw/Kconfig 0000644 00000000376 14722053666 0011543 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_I40IW tristate "Intel(R) Ethernet X722 iWARP Driver" depends on INET && I40E depends on IPV6 || !IPV6 depends on PCI select GENERIC_ALLOCATOR ---help--- Intel(R) Ethernet X722 iWARP Driver infiniband/hw/i40iw/Makefile 0000644 00000000566 14722053666 0011701 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y := -I $(srctree)/drivers/net/ethernet/intel/i40e obj-$(CONFIG_INFINIBAND_I40IW) += i40iw.o i40iw-objs :=\ i40iw_cm.o i40iw_ctrl.o \ i40iw_hmc.o i40iw_hw.o i40iw_main.o \ i40iw_pble.o i40iw_puda.o i40iw_uk.o i40iw_utils.o \ i40iw_verbs.o i40iw_virtchnl.o i40iw_vf.o infiniband/hw/qib/Kconfig 0000644 00000001050 14722053666 0011350 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_QIB tristate "Intel PCIe HCA support" depends on 64BIT && INFINIBAND_RDMAVT depends on PCI ---help--- This is a low-level driver for Intel PCIe QLE InfiniBand host channel adapters. This driver does not support the Intel HyperTransport card (model QHT7140). config INFINIBAND_QIB_DCA bool "QIB DCA support" depends on INFINIBAND_QIB && DCA && SMP && !(INFINIBAND_QIB=y && DCA=m) default y ---help--- Setting this enables DCA support on some Intel chip sets with the iba7322 HCA. infiniband/hw/qib/Makefile 0000644 00000001207 14722053666 0011511 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_INFINIBAND_QIB) += ib_qib.o ib_qib-y := qib_diag.o qib_driver.o qib_eeprom.o \ qib_file_ops.o qib_fs.o qib_init.o qib_intr.o \ qib_mad.o qib_pcie.o qib_pio_copy.o \ qib_qp.o qib_qsfp.o qib_rc.o qib_ruc.o qib_sdma.o \ qib_sysfs.o qib_twsi.o qib_tx.o qib_uc.o qib_ud.o \ qib_user_pages.o qib_user_sdma.o qib_iba7220.o \ qib_sd7220.o qib_iba7322.o qib_verbs.o # 6120 has no fallback if no MSI interrupts, others can do INTx ib_qib-$(CONFIG_PCI_MSI) += qib_iba6120.o ib_qib-$(CONFIG_X86_64) += qib_wc_x86_64.o ib_qib-$(CONFIG_PPC64) += qib_wc_ppc64.o ib_qib-$(CONFIG_DEBUG_FS) += qib_debugfs.o infiniband/hw/Makefile 0000644 00000001226 14722053666 0010737 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_INFINIBAND_MTHCA) += mthca/ obj-$(CONFIG_INFINIBAND_QIB) += qib/ obj-$(CONFIG_INFINIBAND_CXGB3) += cxgb3/ obj-$(CONFIG_INFINIBAND_CXGB4) += cxgb4/ obj-$(CONFIG_INFINIBAND_EFA) += efa/ obj-$(CONFIG_INFINIBAND_I40IW) += i40iw/ obj-$(CONFIG_MLX4_INFINIBAND) += mlx4/ obj-$(CONFIG_MLX5_INFINIBAND) += mlx5/ obj-$(CONFIG_INFINIBAND_OCRDMA) += ocrdma/ obj-$(CONFIG_INFINIBAND_VMWARE_PVRDMA) += vmw_pvrdma/ obj-$(CONFIG_INFINIBAND_USNIC) += usnic/ obj-$(CONFIG_INFINIBAND_HFI1) += hfi1/ obj-$(CONFIG_INFINIBAND_HNS) += hns/ obj-$(CONFIG_INFINIBAND_QEDR) += qedr/ obj-$(CONFIG_INFINIBAND_BNXT_RE) += bnxt_re/ infiniband/hw/mlx4/Kconfig 0000644 00000000656 14722053666 0011474 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MLX4_INFINIBAND tristate "Mellanox ConnectX HCA support" depends on NETDEVICES && ETHERNET && PCI && INET select NET_VENDOR_MELLANOX select MLX4_CORE ---help--- This driver provides low-level InfiniBand support for Mellanox ConnectX PCI Express host channel adapters (HCAs). This is required to use InfiniBand protocols such as IP-over-IB or SRP with these devices. infiniband/hw/mlx4/Makefile 0000644 00000000263 14722053666 0011623 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MLX4_INFINIBAND) += mlx4_ib.o mlx4_ib-y := ah.o cq.o doorbell.o mad.o main.o mr.o qp.o srq.o mcg.o cm.o alias_GUID.o sysfs.o infiniband/hw/bnxt_re/Kconfig 0000644 00000000700 14722053666 0012237 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_BNXT_RE tristate "Broadcom Netxtreme HCA support" depends on 64BIT depends on ETHERNET && NETDEVICES && PCI && INET && DCB select NET_VENDOR_BROADCOM select BNXT ---help--- This driver supports Broadcom NetXtreme-E 10/25/40/50 gigabit RoCE HCAs. To compile this driver as a module, choose M here: the module will be called bnxt_re. infiniband/hw/bnxt_re/Makefile 0000644 00000000375 14722053666 0012404 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y := -I $(srctree)/drivers/net/ethernet/broadcom/bnxt obj-$(CONFIG_INFINIBAND_BNXT_RE) += bnxt_re.o bnxt_re-y := main.o ib_verbs.o \ qplib_res.o qplib_rcfw.o \ qplib_sp.o qplib_fp.o hw_counters.o infiniband/hw/usnic/Kconfig 0000644 00000000602 14722053666 0011720 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_USNIC tristate "Verbs support for Cisco VIC" depends on NETDEVICES && ETHERNET && INET && PCI && INTEL_IOMMU depends on INFINIBAND_USER_ACCESS select ENIC select NET_VENDOR_CISCO select PCI_IOV ---help--- This is a low-level driver for Cisco's Virtual Interface Cards (VICs), including the VIC 1240 and 1280 cards. infiniband/hw/usnic/Makefile 0000644 00000000532 14722053666 0012057 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y := -I $(srctree)/drivers/net/ethernet/cisco/enic obj-$(CONFIG_INFINIBAND_USNIC)+= usnic_verbs.o usnic_verbs-y=\ usnic_fwd.o \ usnic_transport.o \ usnic_uiom.o \ usnic_uiom_interval_tree.o \ usnic_vnic.o \ usnic_ib_main.o \ usnic_ib_qp_grp.o \ usnic_ib_sysfs.o \ usnic_ib_verbs.o \ usnic_debugfs.o \ infiniband/Makefile 0000644 00000000257 14722053666 0010324 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INFINIBAND) += core/ obj-$(CONFIG_INFINIBAND) += hw/ obj-$(CONFIG_INFINIBAND) += ulp/ obj-$(CONFIG_INFINIBAND) += sw/ infiniband/ulp/opa_vnic/Kconfig 0000644 00000000612 14722053666 0012560 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_OPA_VNIC tristate "Intel OPA VNIC support" depends on X86_64 && INFINIBAND ---help--- This is Omni-Path (OPA) Virtual Network Interface Controller (VNIC) driver for Ethernet over Omni-Path feature. It implements the HW independent VNIC functionality. It interfaces with Linux stack for data path and IB MAD for the control path. infiniband/ulp/opa_vnic/Makefile 0000644 00000000474 14722053666 0012723 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile - Intel Omni-Path Virtual Network Controller driver # Copyright(c) 2017, Intel Corporation. # obj-$(CONFIG_INFINIBAND_OPA_VNIC) += opa_vnic.o opa_vnic-y := opa_vnic_netdev.o opa_vnic_encap.o opa_vnic_ethtool.o \ opa_vnic_vema.o opa_vnic_vema_iface.o infiniband/ulp/srpt/Kconfig 0000644 00000001212 14722053666 0011747 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_SRPT tristate "InfiniBand SCSI RDMA Protocol target support" depends on INFINIBAND && INFINIBAND_ADDR_TRANS && TARGET_CORE ---help--- Support for the SCSI RDMA Protocol (SRP) Target driver. The SRP protocol is a protocol that allows an initiator to access a block storage device on another host (target) over a network that supports the RDMA protocol. Currently the RDMA protocol is supported by InfiniBand and by iWarp network hardware. More information about the SRP protocol can be found on the website of the INCITS T10 technical committee (http://www.t10.org/). infiniband/ulp/srpt/Makefile 0000644 00000000123 14722053666 0012104 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INFINIBAND_SRPT) += ib_srpt.o infiniband/ulp/isert/Kconfig 0000644 00000000435 14722053666 0012113 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_ISERT tristate "iSCSI Extensions for RDMA (iSER) target support" depends on INET && INFINIBAND_ADDR_TRANS && TARGET_CORE && ISCSI_TARGET ---help--- Support for iSCSI Extensions for RDMA (iSER) Target on Infiniband fabrics. infiniband/ulp/isert/Makefile 0000644 00000000125 14722053666 0012244 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INFINIBAND_ISERT) += ib_isert.o infiniband/ulp/iser/Kconfig 0000644 00000001010 14722053666 0011715 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_ISER tristate "iSCSI Extensions for RDMA (iSER)" depends on SCSI && INET && INFINIBAND_ADDR_TRANS select SCSI_ISCSI_ATTRS ---help--- Support for the iSCSI Extensions for RDMA (iSER) Protocol over InfiniBand. This allows you to access storage devices that speak iSCSI over iSER over InfiniBand. The iSER protocol is defined by IETF. See <http://www.ietf.org/rfc/rfc5046.txt> and <http://members.infinibandta.org/kwspub/spec/Annex_iSER.PDF> infiniband/ulp/iser/Makefile 0000644 00000000245 14722053666 0012063 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INFINIBAND_ISER) += ib_iser.o ib_iser-y := iser_verbs.o iser_initiator.o iser_memory.o \ iscsi_iser.o infiniband/ulp/ipoib/Kconfig 0000644 00000003552 14722053666 0012072 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_IPOIB tristate "IP-over-InfiniBand" depends on NETDEVICES && INET && (IPV6 || IPV6=n) ---help--- Support for the IP-over-InfiniBand protocol (IPoIB). This transports IP packets over InfiniBand so you can use your IB device as a fancy NIC. See Documentation/infiniband/ipoib.rst for more information config INFINIBAND_IPOIB_CM bool "IP-over-InfiniBand Connected Mode support" depends on INFINIBAND_IPOIB default n ---help--- This option enables support for IPoIB connected mode. After enabling this option, you need to switch to connected mode through /sys/class/net/ibXXX/mode to actually create connections, and then increase the interface MTU with e.g. ifconfig ib0 mtu 65520. WARNING: Enabling connected mode will trigger some packet drops for multicast and UD mode traffic from this interface, unless you limit mtu for these destinations to 2044. config INFINIBAND_IPOIB_DEBUG bool "IP-over-InfiniBand debugging" if EXPERT depends on INFINIBAND_IPOIB default y ---help--- This option causes debugging code to be compiled into the IPoIB driver. The output can be turned on via the debug_level and mcast_debug_level module parameters (which can also be set after the driver is loaded through sysfs). This option also creates a directory tree under ipoib/ in debugfs, which contains files that expose debugging information about IB multicast groups used by the IPoIB driver. config INFINIBAND_IPOIB_DEBUG_DATA bool "IP-over-InfiniBand data path debugging" depends on INFINIBAND_IPOIB_DEBUG ---help--- This option compiles debugging code into the data path of the IPoIB driver. The output can be turned on via the data_debug_level module parameter; however, even with output turned off, this debugging code will have some performance impact. infiniband/ulp/ipoib/Makefile 0000644 00000000573 14722053666 0012227 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_INFINIBAND_IPOIB) += ib_ipoib.o ib_ipoib-y := ipoib_main.o \ ipoib_ib.o \ ipoib_multicast.o \ ipoib_verbs.o \ ipoib_vlan.o \ ipoib_ethtool.o \ ipoib_netlink.o ib_ipoib-$(CONFIG_INFINIBAND_IPOIB_CM) += ipoib_cm.o ib_ipoib-$(CONFIG_INFINIBAND_IPOIB_DEBUG) += ipoib_fs.o infiniband/ulp/srp/Kconfig 0000644 00000000644 14722053666 0011573 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INFINIBAND_SRP tristate "InfiniBand SCSI RDMA Protocol" depends on SCSI && INFINIBAND_ADDR_TRANS select SCSI_SRP_ATTRS ---help--- Support for the SCSI RDMA Protocol over InfiniBand. This allows you to access storage devices that speak SRP over InfiniBand. The SRP protocol is defined by the INCITS T10 technical committee. See <http://www.t10.org/>. infiniband/ulp/srp/Kbuild 0000644 00000000116 14722053666 0011417 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_INFINIBAND_SRP) += ib_srp.o infiniband/ulp/Makefile 0000644 00000000434 14722053666 0011121 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_INFINIBAND_IPOIB) += ipoib/ obj-$(CONFIG_INFINIBAND_SRP) += srp/ obj-$(CONFIG_INFINIBAND_SRPT) += srpt/ obj-$(CONFIG_INFINIBAND_ISER) += iser/ obj-$(CONFIG_INFINIBAND_ISERT) += isert/ obj-$(CONFIG_INFINIBAND_OPA_VNIC) += opa_vnic/ vfio/mdev/Kconfig 0000644 00000000716 14722053666 0007764 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VFIO_MDEV tristate "Mediated device driver framework" depends on VFIO default n help Provides a framework to virtualize devices. See Documentation/driver-api/vfio-mediated-device.rst for more details. If you don't know what do here, say N. config VFIO_MDEV_DEVICE tristate "VFIO driver for Mediated devices" depends on VFIO && VFIO_MDEV default n help VFIO based driver for Mediated devices. vfio/mdev/Makefile 0000644 00000000253 14722053666 0010115 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only mdev-y := mdev_core.o mdev_sysfs.o mdev_driver.o obj-$(CONFIG_VFIO_MDEV) += mdev.o obj-$(CONFIG_VFIO_MDEV_DEVICE) += vfio_mdev.o vfio/Kconfig 0000644 00000002711 14722053666 0007026 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VFIO_IOMMU_TYPE1 tristate depends on VFIO default n config VFIO_IOMMU_SPAPR_TCE tristate depends on VFIO && SPAPR_TCE_IOMMU default VFIO config VFIO_SPAPR_EEH tristate depends on EEH && VFIO_IOMMU_SPAPR_TCE default VFIO config VFIO_VIRQFD tristate depends on VFIO && EVENTFD default n menuconfig VFIO tristate "VFIO Non-Privileged userspace driver framework" select IOMMU_API select VFIO_IOMMU_TYPE1 if MMU && (X86 || S390 || ARM || ARM64) help VFIO provides a framework for secure userspace device drivers. See Documentation/driver-api/vfio.rst for more details. If you don't know what to do here, say N. config VFIO_NOIOMMU bool "VFIO No-IOMMU support" depends on VFIO help VFIO is built on the ability to isolate devices using the IOMMU. Only with an IOMMU can userspace access to DMA capable devices be considered secure. VFIO No-IOMMU mode enables IOMMU groups for devices without IOMMU backing for the purpose of re-using the VFIO infrastructure in a non-secure mode. Use of this mode will result in an unsupportable kernel and will therefore taint the kernel. Device assignment to virtual machines is also not possible with this mode since there is no IOMMU to provide DMA translation. If you don't know what to do here, say N. source "drivers/vfio/pci/Kconfig" source "drivers/vfio/platform/Kconfig" source "drivers/vfio/mdev/Kconfig" source "virt/lib/Kconfig" vfio/pci/Kconfig 0000644 00000002556 14722053666 0007610 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VFIO_PCI tristate "VFIO support for PCI devices" depends on VFIO && PCI && EVENTFD depends on MMU select VFIO_VIRQFD select IRQ_BYPASS_MANAGER help Support for the PCI VFIO bus driver. This is required to make use of PCI drivers using the VFIO framework. If you don't know what to do here, say N. config VFIO_PCI_VGA bool "VFIO PCI support for VGA devices" depends on VFIO_PCI && X86 && VGA_ARB help Support for VGA extension to VFIO PCI. This exposes an additional region on VGA devices for accessing legacy VGA addresses used by BIOS and generic video drivers. If you don't know what to do here, say N. config VFIO_PCI_MMAP depends on VFIO_PCI def_bool y if !S390 config VFIO_PCI_INTX depends on VFIO_PCI def_bool y if !S390 config VFIO_PCI_IGD bool "VFIO PCI extensions for Intel graphics (GVT-d)" depends on VFIO_PCI && X86 default y help Support for Intel IGD specific extensions to enable direct assignment to virtual machines. This includes exposing an IGD specific firmware table and read-only copies of the host bridge and LPC bridge config space. To enable Intel IGD assignment through vfio-pci, say Y. config VFIO_PCI_NVLINK2 def_bool y depends on VFIO_PCI && PPC_POWERNV && SPAPR_TCE_IOMMU help VFIO PCI support for P9 Witherspoon machine with NVIDIA V100 GPUs vfio/pci/Makefile 0000644 00000000407 14722053666 0007736 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only vfio-pci-y := vfio_pci.o vfio_pci_intrs.o vfio_pci_rdwr.o vfio_pci_config.o vfio-pci-$(CONFIG_VFIO_PCI_IGD) += vfio_pci_igd.o vfio-pci-$(CONFIG_VFIO_PCI_NVLINK2) += vfio_pci_nvlink2.o obj-$(CONFIG_VFIO_PCI) += vfio-pci.o vfio/Makefile 0000644 00000000622 14722053666 0007162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 vfio_virqfd-y := virqfd.o obj-$(CONFIG_VFIO) += vfio.o obj-$(CONFIG_VFIO_VIRQFD) += vfio_virqfd.o obj-$(CONFIG_VFIO_IOMMU_TYPE1) += vfio_iommu_type1.o obj-$(CONFIG_VFIO_IOMMU_SPAPR_TCE) += vfio_iommu_spapr_tce.o obj-$(CONFIG_VFIO_SPAPR_EEH) += vfio_spapr_eeh.o obj-$(CONFIG_VFIO_PCI) += pci/ obj-$(CONFIG_VFIO_PLATFORM) += platform/ obj-$(CONFIG_VFIO_MDEV) += mdev/ vfio/platform/reset/Kconfig 0000644 00000001437 14722053666 0012000 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VFIO_PLATFORM_CALXEDAXGMAC_RESET tristate "VFIO support for calxeda xgmac reset" depends on VFIO_PLATFORM help Enables the VFIO platform driver to handle reset for Calxeda xgmac If you don't know what to do here, say N. config VFIO_PLATFORM_AMDXGBE_RESET tristate "VFIO support for AMD XGBE reset" depends on VFIO_PLATFORM help Enables the VFIO platform driver to handle reset for AMD XGBE If you don't know what to do here, say N. config VFIO_PLATFORM_BCMFLEXRM_RESET tristate "VFIO support for Broadcom FlexRM reset" depends on VFIO_PLATFORM && (ARCH_BCM_IPROC || COMPILE_TEST) default ARCH_BCM_IPROC help Enables the VFIO platform driver to handle reset for Broadcom FlexRM If you don't know what to do here, say N. vfio/platform/reset/Makefile 0000644 00000000561 14722053666 0012132 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 vfio-platform-calxedaxgmac-y := vfio_platform_calxedaxgmac.o vfio-platform-amdxgbe-y := vfio_platform_amdxgbe.o obj-$(CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET) += vfio-platform-calxedaxgmac.o obj-$(CONFIG_VFIO_PLATFORM_AMDXGBE_RESET) += vfio-platform-amdxgbe.o obj-$(CONFIG_VFIO_PLATFORM_BCMFLEXRM_RESET) += vfio_platform_bcmflexrm.o vfio/platform/Kconfig 0000644 00000001311 14722053666 0010645 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config VFIO_PLATFORM tristate "VFIO support for platform devices" depends on VFIO && EVENTFD && (ARM || ARM64) select VFIO_VIRQFD help Support for platform devices with VFIO. This is required to make use of platform devices present on the system using the VFIO framework. If you don't know what to do here, say N. config VFIO_AMBA tristate "VFIO support for AMBA devices" depends on VFIO_PLATFORM && ARM_AMBA help Support for ARM AMBA devices with VFIO. This is required to make use of ARM AMBA devices present on the system using the VFIO framework. If you don't know what to do here, say N. source "drivers/vfio/platform/reset/Kconfig" vfio/platform/Makefile 0000644 00000000651 14722053666 0011010 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 vfio-platform-base-y := vfio_platform_common.o vfio_platform_irq.o vfio-platform-y := vfio_platform.o obj-$(CONFIG_VFIO_PLATFORM) += vfio-platform.o obj-$(CONFIG_VFIO_PLATFORM) += vfio-platform-base.o obj-$(CONFIG_VFIO_PLATFORM) += reset/ vfio-amba-y := vfio_amba.o obj-$(CONFIG_VFIO_AMBA) += vfio-amba.o obj-$(CONFIG_VFIO_AMBA) += vfio-platform-base.o obj-$(CONFIG_VFIO_AMBA) += reset/ target/iscsi/cxgbit/Kconfig 0000644 00000000426 14722053666 0011744 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config ISCSI_TARGET_CXGB4 tristate "Chelsio iSCSI target offload driver" depends on ISCSI_TARGET && CHELSIO_T4 && INET select CHELSIO_LIB ---help--- To compile this driver as module, choose M here: the module will be called cxgbit. target/iscsi/cxgbit/Makefile 0000644 00000000505 14722053666 0012077 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y := -I $(srctree)/drivers/net/ethernet/chelsio/cxgb4 ccflags-y += -I $(srctree)/drivers/net/ethernet/chelsio/libcxgb ccflags-y += -I $(srctree)/drivers/target/iscsi obj-$(CONFIG_ISCSI_TARGET_CXGB4) += cxgbit.o cxgbit-y := cxgbit_main.o cxgbit_cm.o cxgbit_target.o cxgbit_ddp.o target/iscsi/Kconfig 0000644 00000000521 14722053666 0010460 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config ISCSI_TARGET tristate "Linux-iSCSI.org iSCSI Target Mode Stack" depends on NET select CRYPTO select CRYPTO_CRC32C select CRYPTO_CRC32C_INTEL if X86 help Say M here to enable the ConfigFS enabled Linux-iSCSI.org iSCSI Target Mode Stack. source "drivers/target/iscsi/cxgbit/Kconfig" target/iscsi/Makefile 0000644 00000001210 14722053666 0010611 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 iscsi_target_mod-y += iscsi_target_parameters.o \ iscsi_target_seq_pdu_list.o \ iscsi_target_auth.o \ iscsi_target_datain_values.o \ iscsi_target_device.o \ iscsi_target_erl0.o \ iscsi_target_erl1.o \ iscsi_target_erl2.o \ iscsi_target_login.o \ iscsi_target_nego.o \ iscsi_target_nodeattrib.o \ iscsi_target_tmr.o \ iscsi_target_tpg.o \ iscsi_target_util.o \ iscsi_target.o \ iscsi_target_configfs.o \ iscsi_target_stat.o \ iscsi_target_transport.o obj-$(CONFIG_ISCSI_TARGET) += iscsi_target_mod.o obj-$(CONFIG_ISCSI_TARGET_CXGB4) += cxgbit/ target/sbp/Kconfig 0000644 00000000714 14722053666 0010136 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SBP_TARGET tristate "FireWire SBP-2 fabric module" depends on FIREWIRE help Say Y or M here to enable SCSI target functionality over FireWire. This enables you to expose SCSI devices to other nodes on the FireWire bus, for example hard disks. Similar to FireWire Target Disk mode on many Apple computers. To compile this driver as a module, say M here: The module will be called sbp-target. target/sbp/Makefile 0000644 00000000121 14722053666 0010263 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SBP_TARGET) += sbp_target.o target/tcm_fc/Kconfig 0000644 00000000267 14722053666 0010610 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config TCM_FC tristate "TCM_FC fabric Plugin" depends on LIBFC help Say Y here to enable the TCM FC plugin for accessing FC fabrics in TCM target/tcm_fc/Makefile 0000644 00000000212 14722053666 0010733 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 tcm_fc-y += tfc_cmd.o \ tfc_conf.o \ tfc_io.o \ tfc_sess.o obj-$(CONFIG_TCM_FC) += tcm_fc.o target/Kconfig 0000644 00000002716 14722053666 0007356 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig TARGET_CORE tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure" depends on BLOCK select CONFIGFS_FS select CRC_T10DIF select BLK_SCSI_REQUEST select SGL_ALLOC default n help Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled control path for target_core_mod. This includes built-in TCM RAMDISK subsystem logic for virtual LUN 0 access if TARGET_CORE config TCM_IBLOCK tristate "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK" select BLK_DEV_INTEGRITY help Say Y here to enable the TCM/IBLOCK subsystem plugin for non-buffered access to Linux/Block devices using BIO config TCM_FILEIO tristate "TCM/FILEIO Subsystem Plugin for Linux/VFS" help Say Y here to enable the TCM/FILEIO subsystem plugin for buffered access to Linux/VFS struct file or struct block_device config TCM_PSCSI tristate "TCM/pSCSI Subsystem Plugin for Linux/SCSI" depends on SCSI help Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered passthrough access to Linux/SCSI device config TCM_USER2 tristate "TCM/USER Subsystem Plugin for Linux" depends on UIO && NET help Say Y here to enable the TCM/USER subsystem plugin for a userspace process to handle requests. This is version 2 of the ABI; version 1 is obsolete. source "drivers/target/loopback/Kconfig" source "drivers/target/tcm_fc/Kconfig" source "drivers/target/iscsi/Kconfig" source "drivers/target/sbp/Kconfig" endif target/loopback/Kconfig 0000644 00000000404 14722053666 0011140 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config LOOPBACK_TARGET tristate "TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module" depends on SCSI help Say Y here to enable the TCM Virtual SAS target and Linux/SCSI LLD fabric loopback module. target/loopback/Makefile 0000644 00000000124 14722053666 0011274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_LOOPBACK_TARGET) += tcm_loop.o target/Makefile 0000644 00000001653 14722053666 0007512 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 target_core_mod-y := target_core_configfs.o \ target_core_device.o \ target_core_fabric_configfs.o \ target_core_fabric_lib.o \ target_core_hba.o \ target_core_pr.o \ target_core_alua.o \ target_core_tmr.o \ target_core_tpg.o \ target_core_transport.o \ target_core_sbc.o \ target_core_spc.o \ target_core_ua.o \ target_core_rd.o \ target_core_stat.o \ target_core_xcopy.o obj-$(CONFIG_TARGET_CORE) += target_core_mod.o # Subsystem modules obj-$(CONFIG_TCM_IBLOCK) += target_core_iblock.o obj-$(CONFIG_TCM_FILEIO) += target_core_file.o obj-$(CONFIG_TCM_PSCSI) += target_core_pscsi.o obj-$(CONFIG_TCM_USER2) += target_core_user.o # Fabric modules obj-$(CONFIG_LOOPBACK_TARGET) += loopback/ obj-$(CONFIG_TCM_FC) += tcm_fc/ obj-$(CONFIG_ISCSI_TARGET) += iscsi/ obj-$(CONFIG_SBP_TARGET) += sbp/ nfc/st95hf/Kconfig 0000644 00000000712 14722053666 0007752 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_ST95HF tristate "ST95HF NFC Transceiver driver" depends on SPI && NFC_DIGITAL help This enables the ST NFC driver for ST95HF NFC transceiver. This makes use of SPI framework to communicate with transceiver and registered with NFC digital core to support Linux NFC framework. Say Y here to compile support for ST NFC transceiver ST95HF linux driver into the kernel or say M to compile it as module. nfc/st95hf/Makefile 0000644 00000000251 14722053666 0010105 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for STMicroelectronics NFC transceiver ST95HF # obj-$(CONFIG_NFC_ST95HF) += st95hf.o st95hf-objs := spi.o core.o nfc/st-nci/Kconfig 0000644 00000001747 14722053666 0010036 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_ST_NCI tristate ---help--- STMicroelectronics NFC NCI chips core driver. It implements the chipset NCI logic and hooks into the NFC kernel APIs. Physical layers will register against it. config NFC_ST_NCI_I2C tristate "STMicroelectronics ST NCI NFC driver (I2C)" depends on NFC_NCI && I2C select NFC_ST_NCI ---help--- This module adds support for an I2C interface to the STMicroelectronics NFC NCI chips family. Select this if your platform is using the i2c bus. If you choose to build a module, it'll be called st-nci_i2c. Say N if unsure. config NFC_ST_NCI_SPI tristate "STMicroelectronics ST NCI NFC driver (SPI)" depends on NFC_NCI && SPI select NFC_ST_NCI ---help--- This module adds support for an SPI interface to the STMicroelectronics NFC NCI chips family. Select this if your platform is using the spi bus. If you choose to build a module, it'll be called st-nci_spi. Say N if unsure. nfc/st-nci/Makefile 0000644 00000000467 14722053666 0010171 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for ST_NCI NCI based NFC driver # st-nci-objs = ndlc.o core.o se.o vendor_cmds.o obj-$(CONFIG_NFC_ST_NCI) += st-nci.o st-nci_i2c-objs = i2c.o obj-$(CONFIG_NFC_ST_NCI_I2C) += st-nci_i2c.o st-nci_spi-objs = spi.o obj-$(CONFIG_NFC_ST_NCI_SPI) += st-nci_spi.o nfc/pn533/Kconfig 0000644 00000001425 14722053666 0007502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_PN533 tristate help NXP PN533 core driver. This driver provides core functionality for NXP PN533 NFC devices. config NFC_PN533_USB tristate "NFC PN533 device support (USB)" depends on USB select NFC_PN533 ---help--- This module adds support for the NXP pn533 USB interface. Select this if your platform is using the USB bus. If you choose to build a module, it'll be called pn533_usb. Say N if unsure. config NFC_PN533_I2C tristate "NFC PN533 device support (I2C)" depends on I2C select NFC_PN533 ---help--- This module adds support for the NXP pn533 I2C interface. Select this if your platform is using the I2C bus. If you choose to build a module, it'll be called pn533_i2c. Say N if unsure. nfc/pn533/Makefile 0000644 00000000372 14722053666 0007637 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for PN533 NFC driver # pn533_usb-objs = usb.o pn533_i2c-objs = i2c.o obj-$(CONFIG_NFC_PN533) += pn533.o obj-$(CONFIG_NFC_PN533_USB) += pn533_usb.o obj-$(CONFIG_NFC_PN533_I2C) += pn533_i2c.o nfc/microread/Kconfig 0000644 00000002173 14722053666 0010600 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_MICROREAD tristate select CRC_CCITT ---help--- This module contains the main code for Inside Secure microread NFC chipsets. It implements the chipset HCI logic and hooks into the NFC kernel APIs. Physical layers will register against it. config NFC_MICROREAD_I2C tristate "Inside Secure Microread device support (I2C)" depends on NFC_HCI && I2C && NFC_SHDLC select NFC_MICROREAD ---help--- This module adds support for the i2c interface of adapters using Inside microread chipsets. Select this if your platform is using the i2c bus. If you choose to build a module, it'll be called microread_i2c. Say N if unsure. config NFC_MICROREAD_MEI tristate "Inside Secure Microread device support (MEI)" depends on NFC_HCI && NFC_MEI_PHY select NFC_MICROREAD ---help--- This module adds support for the mei interface of adapters using Inside microread chipsets. Select this if your microread chipset is handled by Intel's Management Engine Interface on your platform. If you choose to build a module, it'll be called microread_mei. Say N if unsure. nfc/microread/Makefile 0000644 00000000444 14722053666 0010734 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Microread HCI based NFC driver # microread_i2c-objs = i2c.o microread_mei-objs = mei.o obj-$(CONFIG_NFC_MICROREAD) += microread.o obj-$(CONFIG_NFC_MICROREAD_I2C) += microread_i2c.o obj-$(CONFIG_NFC_MICROREAD_MEI) += microread_mei.o nfc/Kconfig 0000644 00000003452 14722053666 0006634 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Near Field Communication (NFC) devices # menu "Near Field Communication (NFC) devices" depends on NFC config NFC_TRF7970A tristate "Texas Instruments TRF7970a NFC driver" depends on SPI && NFC_DIGITAL && GPIOLIB help This option enables the NFC driver for Texas Instruments' TRF7970a device. Such device supports 5 different protocols: ISO14443A, ISO14443B, FeLiCa, ISO15693 and ISO18000-3. Say Y here to compile support for TRF7970a into the kernel or say M to compile it as a module. The module will be called trf7970a.ko. config NFC_MEI_PHY tristate "MEI bus NFC device support" depends on INTEL_MEI && NFC_HCI help This adds support to use an mei bus nfc device. Select this if you will use an HCI NFC driver for an NFC chip connected behind an Intel's Management Engine chip. If unsure, say N. config NFC_SIM tristate "NFC hardware simulator driver" depends on NFC_DIGITAL help This driver declares two virtual NFC devices supporting NFC-DEP protocol. An LLCP connection can be established between them and all packets sent from one device is sent back to the other, acting as loopback devices. If unsure, say N. config NFC_PORT100 tristate "Sony NFC Port-100 Series USB device support" depends on USB depends on NFC_DIGITAL help This adds support for Sony Port-100 chip based USB devices such as the RC-S380 dongle. If unsure, say N. source "drivers/nfc/fdp/Kconfig" source "drivers/nfc/pn544/Kconfig" source "drivers/nfc/pn533/Kconfig" source "drivers/nfc/microread/Kconfig" source "drivers/nfc/nfcmrvl/Kconfig" source "drivers/nfc/st21nfca/Kconfig" source "drivers/nfc/st-nci/Kconfig" source "drivers/nfc/nxp-nci/Kconfig" source "drivers/nfc/s3fwrn5/Kconfig" source "drivers/nfc/st95hf/Kconfig" endmenu nfc/s3fwrn5/Kconfig 0000644 00000001171 14722053666 0010137 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_S3FWRN5 tristate select CRYPTO ---help--- Core driver for Samsung S3FWRN5 NFC chip. Contains core utilities of chip. It's intended to be used by PHYs to avoid duplicating lots of common code. config NFC_S3FWRN5_I2C tristate "Samsung S3FWRN5 I2C support" depends on NFC_NCI && I2C select NFC_S3FWRN5 default n ---help--- This module adds support for an I2C interface to the S3FWRN5 chip. Select this if your platform is using the I2C bus. To compile this driver as a module, choose m here. The module will be called s3fwrn5_i2c.ko. Say N if unsure. nfc/s3fwrn5/Makefile 0000644 00000000356 14722053666 0010300 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Samsung S3FWRN5 NFC driver # s3fwrn5-objs = core.o firmware.o nci.o s3fwrn5_i2c-objs = i2c.o obj-$(CONFIG_NFC_S3FWRN5) += s3fwrn5.o obj-$(CONFIG_NFC_S3FWRN5_I2C) += s3fwrn5_i2c.o nfc/nfcmrvl/Kconfig 0000644 00000002763 14722053666 0010307 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_MRVL tristate help The core driver to support Marvell NFC devices. This driver is required if you want to support Marvell NFC device 8897. config NFC_MRVL_USB tristate "Marvell NFC-over-USB driver" depends on NFC_NCI && USB select NFC_MRVL help Marvell NFC-over-USB driver. This driver provides support for Marvell NFC-over-USB devices: 8897. Say Y here to compile support for Marvell NFC-over-USB driver into the kernel or say M to compile it as module. config NFC_MRVL_UART tristate "Marvell NFC-over-UART driver" depends on NFC_NCI && NFC_NCI_UART select NFC_MRVL help Marvell NFC-over-UART driver. This driver provides support for Marvell NFC-over-UART devices Say Y here to compile support for Marvell NFC-over-UART driver into the kernel or say M to compile it as module. config NFC_MRVL_I2C tristate "Marvell NFC-over-I2C driver" depends on NFC_MRVL && I2C help Marvell NFC-over-I2C driver. This driver provides support for Marvell NFC-over-I2C devices. Say Y here to compile support for Marvell NFC-over-I2C driver into the kernel or say M to compile it as module. config NFC_MRVL_SPI tristate "Marvell NFC-over-SPI driver" depends on NFC_MRVL && NFC_NCI_SPI help Marvell NFC-over-SPI driver. This driver provides support for Marvell NFC-over-SPI devices. Say Y here to compile support for Marvell NFC-over-SPI driver into the kernel or say M to compile it as module. nfc/nfcmrvl/Makefile 0000644 00000000652 14722053666 0010437 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for NFCMRVL NCI based NFC driver # nfcmrvl-y += main.o fw_dnld.o obj-$(CONFIG_NFC_MRVL) += nfcmrvl.o nfcmrvl_usb-y += usb.o obj-$(CONFIG_NFC_MRVL_USB) += nfcmrvl_usb.o nfcmrvl_uart-y += uart.o obj-$(CONFIG_NFC_MRVL_UART) += nfcmrvl_uart.o nfcmrvl_i2c-y += i2c.o obj-$(CONFIG_NFC_MRVL_I2C) += nfcmrvl_i2c.o nfcmrvl_spi-y += spi.o obj-$(CONFIG_NFC_MRVL_SPI) += nfcmrvl_spi.o nfc/st21nfca/Kconfig 0000644 00000001177 14722053666 0010257 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_ST21NFCA tristate select CRC_CCITT ---help--- STMicroelectronics ST21NFCA core driver. It implements the chipset HCI logic and hooks into the NFC kernel APIs. Physical layers will register against it. config NFC_ST21NFCA_I2C tristate "STMicroelectronics ST21NFCA NFC driver (I2C)" depends on NFC_HCI && I2C && NFC_SHDLC select NFC_ST21NFCA ---help--- This module adds support for the STMicroelectronics st21nfca i2c interface. Select this if your platform is using the i2c bus. If you choose to build a module, it'll be called st21nfca_i2c. Say N if unsure. nfc/st21nfca/Makefile 0000644 00000000414 14722053666 0010405 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for ST21NFCA HCI based NFC driver # st21nfca_hci-objs = core.o dep.o se.o vendor_cmds.o obj-$(CONFIG_NFC_ST21NFCA) += st21nfca_hci.o st21nfca_i2c-objs = i2c.o obj-$(CONFIG_NFC_ST21NFCA_I2C) += st21nfca_i2c.o nfc/nxp-nci/Kconfig 0000644 00000001430 14722053666 0010202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_NXP_NCI tristate "NXP-NCI NFC driver" depends on NFC_NCI ---help--- Generic core driver for NXP NCI chips such as the NPC100 (PN547), NPC300 (PN548) or PN7150 families. This is a driver based on the NCI NFC kernel layers and will thus not work with NXP libnfc library. To compile this driver as a module, choose m here. The module will be called nxp_nci. Say N if unsure. config NFC_NXP_NCI_I2C tristate "NXP-NCI I2C support" depends on NFC_NXP_NCI && I2C ---help--- This module adds support for an I2C interface to the NXP NCI chips. Select this if your platform is using the I2C bus. To compile this driver as a module, choose m here. The module will be called nxp_nci_i2c. Say N if unsure. nfc/nxp-nci/Makefile 0000644 00000000340 14722053666 0010336 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for NXP-NCI NFC driver # nxp-nci-objs = core.o firmware.o nxp-nci_i2c-objs = i2c.o obj-$(CONFIG_NFC_NXP_NCI) += nxp-nci.o obj-$(CONFIG_NFC_NXP_NCI_I2C) += nxp-nci_i2c.o nfc/Makefile 0000644 00000001116 14722053666 0006764 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for nfc devices # obj-$(CONFIG_NFC_FDP) += fdp/ obj-$(CONFIG_NFC_PN544) += pn544/ obj-$(CONFIG_NFC_MICROREAD) += microread/ obj-$(CONFIG_NFC_PN533) += pn533/ obj-$(CONFIG_NFC_MEI_PHY) += mei_phy.o obj-$(CONFIG_NFC_SIM) += nfcsim.o obj-$(CONFIG_NFC_PORT100) += port100.o obj-$(CONFIG_NFC_MRVL) += nfcmrvl/ obj-$(CONFIG_NFC_TRF7970A) += trf7970a.o obj-$(CONFIG_NFC_ST21NFCA) += st21nfca/ obj-$(CONFIG_NFC_ST_NCI) += st-nci/ obj-$(CONFIG_NFC_NXP_NCI) += nxp-nci/ obj-$(CONFIG_NFC_S3FWRN5) += s3fwrn5/ obj-$(CONFIG_NFC_ST95HF) += st95hf/ nfc/pn544/Kconfig 0000644 00000001716 14722053666 0007507 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_PN544 tristate select CRC_CCITT ---help--- NXP PN544 core driver. This is a driver based on the HCI NFC kernel layers and will thus not work with NXP libnfc library. config NFC_PN544_I2C tristate "NXP PN544 device support (I2C)" depends on NFC_HCI && I2C && NFC_SHDLC select NFC_PN544 ---help--- This module adds support for the NXP pn544 i2c interface. Select this if your platform is using the i2c bus. If you choose to build a module, it'll be called pn544_i2c. Say N if unsure. config NFC_PN544_MEI tristate "NXP PN544 device support (MEI)" depends on NFC_HCI && NFC_MEI_PHY select NFC_PN544 ---help--- This module adds support for the mei interface of adapters using NXP pn544 chipsets. Select this if your pn544 chipset is handled by Intel's Management Engine Interface on your platform. If you choose to build a module, it'll be called pn544_mei. Say N if unsure. nfc/pn544/Makefile 0000644 00000000405 14722053666 0007636 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for PN544 HCI based NFC driver # pn544_i2c-objs = i2c.o pn544_mei-objs = mei.o obj-$(CONFIG_NFC_PN544) += pn544.o obj-$(CONFIG_NFC_PN544_I2C) += pn544_i2c.o obj-$(CONFIG_NFC_PN544_MEI) += pn544_mei.o nfc/fdp/Kconfig 0000644 00000001245 14722053666 0007403 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NFC_FDP tristate "Intel FDP NFC driver" depends on NFC_NCI select CRC_CCITT default n ---help--- Intel Fields Peak NFC controller core driver. This is a driver based on the NCI NFC kernel layers. To compile this driver as a module, choose m here. The module will be called fdp. Say N if unsure. config NFC_FDP_I2C tristate "NFC FDP i2c support" depends on NFC_FDP && I2C ---help--- This module adds support for the Intel Fields Peak NFC controller i2c interface. Select this if your platform is using the i2c bus. If you choose to build a module, it'll be called fdp_i2c. Say N if unsure. nfc/fdp/Makefile 0000644 00000000267 14722053666 0007543 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for FDP NCI based NFC driver # obj-$(CONFIG_NFC_FDP) += fdp.o obj-$(CONFIG_NFC_FDP_I2C) += fdp_i2c.o fdp_i2c-objs = i2c.o iommu/Kconfig 0000644 00000035007 14722053666 0007215 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # The IOVA library may also be used by non-IOMMU_API users config IOMMU_IOVA tristate # IOMMU_API always gets selected by whoever wants it. config IOMMU_API bool menuconfig IOMMU_SUPPORT bool "IOMMU Hardware Support" depends on MMU default y ---help--- Say Y here if you want to compile device drivers for IO Memory Management Units into the kernel. These devices usually allow to remap DMA requests and/or remap interrupts from other devices on the system. if IOMMU_SUPPORT menu "Generic IOMMU Pagetable Support" # Selected by the actual pagetable implementations config IOMMU_IO_PGTABLE bool config IOMMU_IO_PGTABLE_LPAE bool "ARMv7/v8 Long Descriptor Format" select IOMMU_IO_PGTABLE depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64) help Enable support for the ARM long descriptor pagetable format. This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page sizes at both stage-1 and stage-2, as well as address spaces up to 48-bits in size. config IOMMU_IO_PGTABLE_LPAE_SELFTEST bool "LPAE selftests" depends on IOMMU_IO_PGTABLE_LPAE help Enable self-tests for LPAE page table allocator. This performs a series of page-table consistency checks during boot. If unsure, say N here. config IOMMU_IO_PGTABLE_ARMV7S bool "ARMv7/v8 Short Descriptor Format" select IOMMU_IO_PGTABLE depends on ARM || ARM64 || COMPILE_TEST help Enable support for the ARM Short-descriptor pagetable format. This supports 32-bit virtual and physical addresses mapped using 2-level tables with 4KB pages/1MB sections, and contiguous entries for 64KB pages/16MB supersections if indicated by the IOMMU driver. config IOMMU_IO_PGTABLE_ARMV7S_SELFTEST bool "ARMv7s selftests" depends on IOMMU_IO_PGTABLE_ARMV7S help Enable self-tests for ARMv7s page table allocator. This performs a series of page-table consistency checks during boot. If unsure, say N here. endmenu config IOMMU_DEBUGFS bool "Export IOMMU internals in DebugFS" depends on DEBUG_FS help Allows exposure of IOMMU device internals. This option enables the use of debugfs by IOMMU drivers as required. Devices can, at initialization time, cause the IOMMU code to create a top-level debug/iommu directory, and then populate a subdirectory with entries as required. config IOMMU_DEFAULT_PASSTHROUGH bool "IOMMU passthrough by default" depends on IOMMU_API help Enable passthrough by default, removing the need to pass in iommu.passthrough=on or iommu=pt through command line. If this is enabled, you can still disable with iommu.passthrough=off or iommu=nopt depending on the architecture. If unsure, say N here. config OF_IOMMU def_bool y depends on OF && IOMMU_API # IOMMU-agnostic DMA-mapping layer config IOMMU_DMA bool select IOMMU_API select IOMMU_IOVA select IRQ_MSI_IOMMU select NEED_SG_DMA_LENGTH config FSL_PAMU bool "Freescale IOMMU support" depends on PCI depends on PHYS_64BIT depends on PPC_E500MC || (COMPILE_TEST && PPC) select IOMMU_API select GENERIC_ALLOCATOR help Freescale PAMU support. PAMU is the IOMMU present on Freescale QorIQ platforms. PAMU can authorize memory access, remap the memory address, and remap I/O transaction types. # MSM IOMMU support config MSM_IOMMU bool "MSM IOMMU Support" depends on ARM depends on ARCH_MSM8X60 || ARCH_MSM8960 || COMPILE_TEST select IOMMU_API select IOMMU_IO_PGTABLE_ARMV7S help Support for the IOMMUs found on certain Qualcomm SOCs. These IOMMUs allow virtualization of the address space used by most cores within the multimedia subsystem. If unsure, say N here. config IOMMU_PGTABLES_L2 def_bool y depends on MSM_IOMMU && MMU && SMP && CPU_DCACHE_DISABLE=n # AMD IOMMU support config AMD_IOMMU bool "AMD IOMMU support" select SWIOTLB select PCI_MSI select PCI_ATS select PCI_PRI select PCI_PASID select IOMMU_API select IOMMU_IOVA depends on X86_64 && PCI && ACPI && HAVE_CMPXCHG_DOUBLE ---help--- With this option you can enable support for AMD IOMMU hardware in your system. An IOMMU is a hardware component which provides remapping of DMA memory accesses from devices. With an AMD IOMMU you can isolate the DMA memory of different devices and protect the system from misbehaving device drivers or hardware. You can find out if your system has an AMD IOMMU if you look into your BIOS for an option to enable it or if you have an IVRS ACPI table. config AMD_IOMMU_V2 tristate "AMD IOMMU Version 2 driver" depends on AMD_IOMMU select MMU_NOTIFIER ---help--- This option enables support for the AMD IOMMUv2 features of the IOMMU hardware. Select this option if you want to use devices that support the PCI PRI and PASID interface. config AMD_IOMMU_DEBUGFS bool "Enable AMD IOMMU internals in DebugFS" depends on AMD_IOMMU && IOMMU_DEBUGFS ---help--- !!!WARNING!!! !!!WARNING!!! !!!WARNING!!! !!!WARNING!!! DO NOT ENABLE THIS OPTION UNLESS YOU REALLY, -REALLY- KNOW WHAT YOU ARE DOING!!! Exposes AMD IOMMU device internals in DebugFS. This option is -NOT- intended for production environments, and should not generally be enabled. # Intel IOMMU support config DMAR_TABLE bool config INTEL_IOMMU bool "Support for Intel IOMMU using DMA Remapping Devices" depends on PCI_MSI && ACPI && (X86 || IA64) select IOMMU_API select IOMMU_IOVA select NEED_DMA_MAP_STATE select DMAR_TABLE select SWIOTLB help DMA remapping (DMAR) devices support enables independent address translations for Direct Memory Access (DMA) from devices. These DMA remapping devices are reported via ACPI tables and include PCI device scope covered by these DMA remapping devices. config INTEL_IOMMU_DEBUGFS bool "Export Intel IOMMU internals in Debugfs" depends on INTEL_IOMMU && IOMMU_DEBUGFS help !!!WARNING!!! DO NOT ENABLE THIS OPTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!!! Expose Intel IOMMU internals in Debugfs. This option is -NOT- intended for production environments, and should only be enabled for debugging Intel IOMMU. config INTEL_IOMMU_SVM bool "Support for Shared Virtual Memory with Intel IOMMU" depends on INTEL_IOMMU && X86_64 select PCI_PASID select MMU_NOTIFIER help Shared Virtual Memory (SVM) provides a facility for devices to access DMA resources through process address space by means of a Process Address Space ID (PASID). config INTEL_IOMMU_DEFAULT_ON def_bool y prompt "Enable Intel DMA Remapping Devices by default" depends on INTEL_IOMMU help Selecting this option will enable a DMAR device at boot time if one is found. If this option is not selected, DMAR support can be enabled by passing intel_iommu=on to the kernel. config INTEL_IOMMU_BROKEN_GFX_WA bool "Workaround broken graphics drivers (going away soon)" depends on INTEL_IOMMU && BROKEN && X86 ---help--- Current Graphics drivers tend to use physical address for DMA and avoid using DMA APIs. Setting this config option permits the IOMMU driver to set a unity map for all the OS-visible memory. Hence the driver can continue to use physical addresses for DMA, at least until this option is removed in the 2.6.32 kernel. config INTEL_IOMMU_FLOPPY_WA def_bool y depends on INTEL_IOMMU && X86 ---help--- Floppy disk drivers are known to bypass DMA API calls thereby failing to work when IOMMU is enabled. This workaround will setup a 1:1 mapping for the first 16MiB to make floppy (an ISA device) work. config IRQ_REMAP bool "Support for Interrupt Remapping" depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI select DMAR_TABLE ---help--- Supports Interrupt remapping for IO-APIC and MSI devices. To use x2apic mode in the CPU's which support x2APIC enhancements or to support platforms with CPU's having > 8 bit APIC ID, say Y. # OMAP IOMMU support config OMAP_IOMMU bool "OMAP IOMMU Support" depends on ARM && MMU depends on ARCH_OMAP2PLUS || COMPILE_TEST select IOMMU_API ---help--- The OMAP3 media platform drivers depend on iommu support, if you need them say Y here. config OMAP_IOMMU_DEBUG bool "Export OMAP IOMMU internals in DebugFS" depends on OMAP_IOMMU && DEBUG_FS ---help--- Select this to see extensive information about the internal state of OMAP IOMMU in debugfs. Say N unless you know you need this. config ROCKCHIP_IOMMU bool "Rockchip IOMMU Support" depends on ARM || ARM64 depends on ARCH_ROCKCHIP || COMPILE_TEST select IOMMU_API select ARM_DMA_USE_IOMMU help Support for IOMMUs found on Rockchip rk32xx SOCs. These IOMMUs allow virtualization of the address space used by most cores within the multimedia subsystem. Say Y here if you are using a Rockchip SoC that includes an IOMMU device. config TEGRA_IOMMU_GART bool "Tegra GART IOMMU Support" depends on ARCH_TEGRA_2x_SOC depends on TEGRA_MC select IOMMU_API help Enables support for remapping discontiguous physical memory shared with the operating system into contiguous I/O virtual space through the GART (Graphics Address Relocation Table) hardware included on Tegra SoCs. config TEGRA_IOMMU_SMMU bool "NVIDIA Tegra SMMU Support" depends on ARCH_TEGRA depends on TEGRA_AHB depends on TEGRA_MC select IOMMU_API help This driver supports the IOMMU hardware (SMMU) found on NVIDIA Tegra SoCs (Tegra30 up to Tegra210). config EXYNOS_IOMMU bool "Exynos IOMMU Support" depends on ARCH_EXYNOS && MMU depends on !CPU_BIG_ENDIAN # revisit driver if we can enable big-endian ptes select IOMMU_API select ARM_DMA_USE_IOMMU help Support for the IOMMU (System MMU) of Samsung Exynos application processor family. This enables H/W multimedia accelerators to see non-linear physical memory chunks as linear memory in their address space. If unsure, say N here. config EXYNOS_IOMMU_DEBUG bool "Debugging log for Exynos IOMMU" depends on EXYNOS_IOMMU help Select this to see the detailed log message that shows what happens in the IOMMU driver. Say N unless you need kernel log message for IOMMU debugging. config IPMMU_VMSA bool "Renesas VMSA-compatible IPMMU" depends on ARM || IOMMU_DMA depends on ARCH_RENESAS || (COMPILE_TEST && !GENERIC_ATOMIC64) select IOMMU_API select IOMMU_IO_PGTABLE_LPAE select ARM_DMA_USE_IOMMU help Support for the Renesas VMSA-compatible IPMMU found in the R-Mobile APE6, R-Car Gen2, and R-Car Gen3 SoCs. If unsure, say N. config SPAPR_TCE_IOMMU bool "sPAPR TCE IOMMU Support" depends on PPC_POWERNV || PPC_PSERIES select IOMMU_API help Enables bits of IOMMU API required by VFIO. The iommu_ops is not implemented as it is not necessary for VFIO. # ARM IOMMU support config ARM_SMMU bool "ARM Ltd. System MMU (SMMU) Support" depends on (ARM64 || ARM) && MMU select IOMMU_API select IOMMU_IO_PGTABLE_LPAE select ARM_DMA_USE_IOMMU if ARM help Support for implementations of the ARM System MMU architecture versions 1 and 2. Say Y here if your SoC includes an IOMMU device implementing the ARM SMMU architecture. config ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT bool "Default to disabling bypass on ARM SMMU v1 and v2" depends on ARM_SMMU default y help Say Y here to (by default) disable bypass streams such that incoming transactions from devices that are not attached to an iommu domain will report an abort back to the device and will not be allowed to pass through the SMMU. Any old kernels that existed before this KConfig was introduced would default to _allowing_ bypass (AKA the equivalent of NO for this config). However the default for this option is YES because the old behavior is insecure. There are few reasons to allow unmatched stream bypass, and even fewer good ones. If saying YES here breaks your board you should work on fixing your board. This KConfig option is expected to be removed in the future and we'll simply hardcode the bypass disable in the code. NOTE: the kernel command line parameter 'arm-smmu.disable_bypass' will continue to override this config. config ARM_SMMU_V3 bool "ARM Ltd. System MMU Version 3 (SMMUv3) Support" depends on ARM64 select IOMMU_API select IOMMU_IO_PGTABLE_LPAE select GENERIC_MSI_IRQ_DOMAIN help Support for implementations of the ARM System MMU architecture version 3 providing translation support to a PCIe root complex. Say Y here if your system includes an IOMMU device implementing the ARM SMMUv3 architecture. config S390_IOMMU def_bool y if S390 && PCI depends on S390 && PCI select IOMMU_API help Support for the IOMMU API for s390 PCI devices. config S390_CCW_IOMMU bool "S390 CCW IOMMU Support" depends on S390 && CCW select IOMMU_API help Enables bits of IOMMU API required by VFIO. The iommu_ops is not implemented as it is not necessary for VFIO. config S390_AP_IOMMU bool "S390 AP IOMMU Support" depends on S390 && ZCRYPT select IOMMU_API help Enables bits of IOMMU API required by VFIO. The iommu_ops is not implemented as it is not necessary for VFIO. config MTK_IOMMU bool "MTK IOMMU Support" depends on ARM || ARM64 depends on ARCH_MEDIATEK || COMPILE_TEST select ARM_DMA_USE_IOMMU select IOMMU_API select IOMMU_DMA select IOMMU_IO_PGTABLE_ARMV7S select MEMORY select MTK_SMI help Support for the M4U on certain Mediatek SOCs. M4U is MultiMedia Memory Management Unit. This option enables remapping of DMA memory accesses for the multimedia subsystem. If unsure, say N here. config MTK_IOMMU_V1 bool "MTK IOMMU Version 1 (M4U gen1) Support" depends on ARM depends on ARCH_MEDIATEK || COMPILE_TEST select ARM_DMA_USE_IOMMU select IOMMU_API select MEMORY select MTK_SMI help Support for the M4U on certain Mediatek SoCs. M4U generation 1 HW is Multimedia Memory Managememt Unit. This option enables remapping of DMA memory accesses for the multimedia subsystem. if unsure, say N here. config QCOM_IOMMU # Note: iommu drivers cannot (yet?) be built as modules bool "Qualcomm IOMMU Support" depends on ARCH_QCOM || (COMPILE_TEST && !GENERIC_ATOMIC64) select IOMMU_API select IOMMU_IO_PGTABLE_LPAE select ARM_DMA_USE_IOMMU help Support for IOMMU on certain Qualcomm SoCs. config HYPERV_IOMMU bool "Hyper-V x2APIC IRQ Handling" depends on HYPERV select IOMMU_API default HYPERV help Stub IOMMU driver to handle IRQs as to allow Hyper-V Linux guests to run with x2APIC mode enabled. config VIRTIO_IOMMU bool "Virtio IOMMU driver" depends on VIRTIO=y depends on ARM64 select IOMMU_API select INTERVAL_TREE help Para-virtualised IOMMU driver with virtio. Say Y here if you intend to run this kernel as a guest. endif # IOMMU_SUPPORT iommu/Makefile 0000644 00000003274 14722053666 0007353 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_IOMMU_API) += iommu.o obj-$(CONFIG_IOMMU_API) += iommu-traces.o obj-$(CONFIG_IOMMU_API) += iommu-sysfs.o obj-$(CONFIG_IOMMU_DEBUGFS) += iommu-debugfs.o obj-$(CONFIG_IOMMU_DMA) += dma-iommu.o obj-$(CONFIG_IOMMU_IO_PGTABLE) += io-pgtable.o obj-$(CONFIG_IOMMU_IO_PGTABLE_ARMV7S) += io-pgtable-arm-v7s.o obj-$(CONFIG_IOMMU_IO_PGTABLE_LPAE) += io-pgtable-arm.o obj-$(CONFIG_IOMMU_IOVA) += iova.o obj-$(CONFIG_OF_IOMMU) += of_iommu.o obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o amd_iommu_quirks.o obj-$(CONFIG_AMD_IOMMU_DEBUGFS) += amd_iommu_debugfs.o obj-$(CONFIG_AMD_IOMMU_V2) += amd_iommu_v2.o obj-$(CONFIG_ARM_SMMU) += arm-smmu.o arm-smmu-impl.o obj-$(CONFIG_ARM_SMMU_V3) += arm-smmu-v3.o obj-$(CONFIG_DMAR_TABLE) += dmar.o obj-$(CONFIG_INTEL_IOMMU) += intel-iommu.o intel-pasid.o obj-$(CONFIG_INTEL_IOMMU) += intel-trace.o obj-$(CONFIG_INTEL_IOMMU_DEBUGFS) += intel-iommu-debugfs.o obj-$(CONFIG_INTEL_IOMMU_SVM) += intel-svm.o obj-$(CONFIG_IPMMU_VMSA) += ipmmu-vmsa.o obj-$(CONFIG_IRQ_REMAP) += intel_irq_remapping.o irq_remapping.o obj-$(CONFIG_MTK_IOMMU) += mtk_iommu.o obj-$(CONFIG_MTK_IOMMU_V1) += mtk_iommu_v1.o obj-$(CONFIG_OMAP_IOMMU) += omap-iommu.o obj-$(CONFIG_OMAP_IOMMU_DEBUG) += omap-iommu-debug.o obj-$(CONFIG_ROCKCHIP_IOMMU) += rockchip-iommu.o obj-$(CONFIG_TEGRA_IOMMU_GART) += tegra-gart.o obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o obj-$(CONFIG_S390_IOMMU) += s390-iommu.o obj-$(CONFIG_QCOM_IOMMU) += qcom_iommu.o obj-$(CONFIG_HYPERV_IOMMU) += hyperv-iommu.o obj-$(CONFIG_VIRTIO_IOMMU) += virtio-iommu.o powercap/Kconfig 0000644 00000003064 14722053666 0007705 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Generic power capping sysfs interface configuration # menuconfig POWERCAP bool "Generic powercap sysfs driver" help The power capping sysfs interface allows kernel subsystems to expose power capping settings to user space in a consistent way. Usually, it consists of multiple control types that determine which settings may be exposed and power zones representing parts of the system that can be subject to power capping. If you want this code to be compiled in, say Y here. if POWERCAP # Client driver configurations go here. config INTEL_RAPL_CORE tristate depends on PCI select IOSF_MBI config INTEL_RAPL tristate "Intel RAPL Support via MSR Interface" depends on X86 && PCI select INTEL_RAPL_CORE ---help--- This enables support for the Intel Running Average Power Limit (RAPL) technology via MSR interface, which allows power limits to be enforced and monitored on modern Intel processors (Sandy Bridge and later). In RAPL, the platform level settings are divided into domains for fine grained control. These domains include processor package, DRAM controller, CPU core (Power Plance 0), graphics uncore (Power Plane 1), etc. config IDLE_INJECT bool "Idle injection framework" depends on CPU_IDLE default n help This enables support for the idle injection framework. It provides a way to force idle periods on a set of specified CPUs for power capping. Idle period can be injected synchronously on a set of specified CPUs or alternatively on a per CPU basis. endif powercap/Makefile 0000644 00000000336 14722053666 0010041 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_POWERCAP) += powercap_sys.o obj-$(CONFIG_INTEL_RAPL_CORE) += intel_rapl_common.o obj-$(CONFIG_INTEL_RAPL) += intel_rapl_msr.o obj-$(CONFIG_IDLE_INJECT) += idle_inject.o of/unittest-data/Makefile 0000644 00000002155 14722053666 0011414 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y += testcases.dtb.o obj-$(CONFIG_OF_OVERLAY) += overlay.dtb.o \ overlay_0.dtb.o \ overlay_1.dtb.o \ overlay_2.dtb.o \ overlay_3.dtb.o \ overlay_4.dtb.o \ overlay_5.dtb.o \ overlay_6.dtb.o \ overlay_7.dtb.o \ overlay_8.dtb.o \ overlay_9.dtb.o \ overlay_10.dtb.o \ overlay_11.dtb.o \ overlay_12.dtb.o \ overlay_13.dtb.o \ overlay_15.dtb.o \ overlay_bad_add_dup_node.dtb.o \ overlay_bad_add_dup_prop.dtb.o \ overlay_bad_phandle.dtb.o \ overlay_bad_symbol.dtb.o \ overlay_base.dtb.o \ overlay_gpio_01.dtb.o \ overlay_gpio_02a.dtb.o \ overlay_gpio_02b.dtb.o \ overlay_gpio_03.dtb.o \ overlay_gpio_04a.dtb.o \ overlay_gpio_04b.dtb.o # enable creation of __symbols__ node DTC_FLAGS_overlay += -@ DTC_FLAGS_overlay_bad_phandle += -@ DTC_FLAGS_overlay_bad_symbol += -@ DTC_FLAGS_overlay_base += -@ DTC_FLAGS_testcases += -@ # suppress warnings about intentional errors DTC_FLAGS_testcases += -Wno-interrupts_property of/Kconfig 0000644 00000004675 14722053666 0006502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DTC bool menuconfig OF bool "Device Tree and Open Firmware support" help This option enables the device tree infrastructure. It is automatically selected by platforms that need it or can be enabled manually for unittests, overlays or compile-coverage. if OF config OF_UNITTEST bool "Device Tree runtime unit tests" depends on !SPARC select IRQ_DOMAIN select OF_EARLY_FLATTREE select OF_RESOLVE help This option builds in test cases for the device tree infrastructure that are executed once at boot time, and the results dumped to the console. If unsure, say N here, but this option is safe to enable. config OF_ALL_DTBS bool "Build all Device Tree Blobs" depends on COMPILE_TEST select DTC help This option builds all possible Device Tree Blobs (DTBs) for the current architecture. If unsure, say N here, but this option is safe to enable. config OF_FLATTREE bool select DTC select LIBFDT select CRC32 config OF_EARLY_FLATTREE bool select DMA_DECLARE_COHERENT if HAS_DMA select OF_FLATTREE config OF_PROMTREE bool config OF_KOBJ def_bool SYSFS # Hardly any platforms need this. It is safe to select, but only do so if you # need it. config OF_DYNAMIC bool "Support for dynamic device trees" if OF_UNITTEST select OF_KOBJ help On some platforms, the device tree can be manipulated at runtime. While this option is selected automatically on such platforms, you can enable it manually to improve device tree unit test coverage. config OF_ADDRESS def_bool y depends on !SPARC && (HAS_IOMEM || UML) config OF_IRQ def_bool y depends on !SPARC && IRQ_DOMAIN config OF_NET depends on NETDEVICES def_bool y config OF_MDIO def_tristate PHYLIB depends on PHYLIB select FIXED_PHY help OpenFirmware MDIO bus (Ethernet PHY) accessors config OF_RESERVED_MEM bool depends on OF_EARLY_FLATTREE default y if DMA_DECLARE_COHERENT || DMA_CMA config OF_RESOLVE bool config OF_OVERLAY bool "Device Tree overlays" select OF_DYNAMIC select OF_FLATTREE select OF_RESOLVE help Overlays are a method to dynamically modify part of the kernel's device tree with dynamically loaded data. While this option is selected automatically when needed, you can enable it manually to improve device tree unit test coverage. config OF_NUMA bool config OF_DMA_DEFAULT_COHERENT # arches should select this if DMA is coherent by default for OF devices bool endif # OF of/Makefile 0000644 00000001223 14722053666 0006621 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-y = base.o device.o platform.o property.o obj-$(CONFIG_OF_KOBJ) += kobj.o obj-$(CONFIG_OF_DYNAMIC) += dynamic.o obj-$(CONFIG_OF_FLATTREE) += fdt.o obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o obj-$(CONFIG_OF_PROMTREE) += pdt.o obj-$(CONFIG_OF_ADDRESS) += address.o obj-$(CONFIG_OF_IRQ) += irq.o obj-$(CONFIG_OF_NET) += of_net.o obj-$(CONFIG_OF_UNITTEST) += unittest.o obj-$(CONFIG_OF_MDIO) += of_mdio.o obj-$(CONFIG_OF_RESERVED_MEM) += of_reserved_mem.o obj-$(CONFIG_OF_RESOLVE) += resolver.o obj-$(CONFIG_OF_OVERLAY) += overlay.o obj-$(CONFIG_OF_NUMA) += of_numa.o obj-$(CONFIG_OF_UNITTEST) += unittest-data/ crypto/chelsio/chtls/Makefile 0000644 00000000400 14722053666 0012274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/drivers/net/ethernet/chelsio/cxgb4 \ -I $(srctree)/drivers/crypto/chelsio obj-$(CONFIG_CRYPTO_DEV_CHELSIO_TLS) += chtls.o chtls-objs := chtls_main.o chtls_cm.o chtls_io.o chtls_hw.o crypto/chelsio/Kconfig 0000644 00000002547 14722053666 0011040 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CRYPTO_DEV_CHELSIO tristate "Chelsio Crypto Co-processor Driver" depends on CHELSIO_T4 select CRYPTO_LIB_AES select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 select CRYPTO_AUTHENC select CRYPTO_GF128MUL ---help--- The Chelsio Crypto Co-processor driver for T6 adapters. For general information about Chelsio and our products, visit our website at <http://www.chelsio.com>. For customer support, please visit our customer support page at <http://www.chelsio.com/support.html>. Please send feedback to <linux-bugs@chelsio.com>. To compile this driver as a module, choose M here: the module will be called chcr. config CHELSIO_IPSEC_INLINE bool "Chelsio IPSec XFRM Tx crypto offload" depends on CHELSIO_T4 depends on CRYPTO_DEV_CHELSIO depends on XFRM_OFFLOAD depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD default n ---help--- Enable support for IPSec Tx Inline. config CRYPTO_DEV_CHELSIO_TLS tristate "Chelsio Crypto Inline TLS Driver" depends on CHELSIO_T4 depends on TLS select CRYPTO_DEV_CHELSIO ---help--- Support Chelsio Inline TLS with Chelsio crypto accelerator. To compile this driver as a module, choose M here: the module will be called chtls. crypto/chelsio/Makefile 0000644 00000000433 14722053666 0011165 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/drivers/net/ethernet/chelsio/cxgb4 obj-$(CONFIG_CRYPTO_DEV_CHELSIO) += chcr.o chcr-objs := chcr_core.o chcr_algo.o chcr-$(CONFIG_CHELSIO_IPSEC_INLINE) += chcr_ipsec.o obj-$(CONFIG_CRYPTO_DEV_CHELSIO_TLS) += chtls/ crypto/ux500/hash/Makefile 0000644 00000000442 14722053666 0011343 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Copyright (C) ST-Ericsson SA 2010 # Author: Shujuan Chen (shujuan.chen@stericsson.com) # ifdef CONFIG_CRYPTO_DEV_UX500_DEBUG CFLAGS_hash_core.o := -DDEBUG endif obj-$(CONFIG_CRYPTO_DEV_UX500_HASH) += ux500_hash.o ux500_hash-objs := hash_core.o crypto/ux500/cryp/Makefile 0000644 00000000454 14722053666 0011400 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only #/* # * Copyright (C) ST-Ericsson SA 2010 # * Author: shujuan.chen@stericsson.com for ST-Ericsson. # */ ccflags-$(CONFIG_CRYPTO_DEV_UX500_DEBUG) += -DDEBUG obj-$(CONFIG_CRYPTO_DEV_UX500_CRYP) += ux500_cryp.o ux500_cryp-objs := cryp.o cryp_irq.o cryp_core.o crypto/ux500/Kconfig 0000644 00000002027 14722053666 0010264 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Copyright (C) ST-Ericsson SA 2010 # Author: Shujuan Chen (shujuan.chen@stericsson.com) # config CRYPTO_DEV_UX500_CRYP tristate "UX500 crypto driver for CRYP block" depends on CRYPTO_DEV_UX500 select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER select CRYPTO_LIB_DES help This selects the crypto driver for the UX500_CRYP hardware. It supports AES-ECB, CBC and CTR with keys sizes of 128, 192 and 256 bit sizes. config CRYPTO_DEV_UX500_HASH tristate "UX500 crypto driver for HASH block" depends on CRYPTO_DEV_UX500 select CRYPTO_HASH select CRYPTO_SHA1 select CRYPTO_SHA256 help This selects the hash driver for the UX500_HASH hardware. Depends on UX500/STM DMA if running in DMA mode. config CRYPTO_DEV_UX500_DEBUG bool "Activate ux500 platform debug-mode for crypto and hash block" depends on CRYPTO_DEV_UX500_CRYP || CRYPTO_DEV_UX500_HASH help Say Y if you want to add debug prints to ux500_hash and ux500_cryp devices. crypto/ux500/Makefile 0000644 00000000340 14722053666 0010415 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Copyright (C) ST-Ericsson SA 2010 # Author: Shujuan Chen (shujuan.chen@stericsson.com) # obj-$(CONFIG_CRYPTO_DEV_UX500_HASH) += hash/ obj-$(CONFIG_CRYPTO_DEV_UX500_CRYP) += cryp/ crypto/qce/Makefile 0000644 00000000226 14722053666 0010307 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_QCE) += qcrypto.o qcrypto-objs := core.o \ common.o \ dma.o \ sha.o \ ablkcipher.o crypto/stm32/Kconfig 0000644 00000001634 14722053666 0010356 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CRYPTO_DEV_STM32_CRC tristate "Support for STM32 crc accelerators" depends on ARCH_STM32 select CRYPTO_HASH help This enables support for the CRC32 hw accelerator which can be found on STMicroelectronics STM32 SOC. config CRYPTO_DEV_STM32_HASH tristate "Support for STM32 hash accelerators" depends on ARCH_STM32 depends on HAS_DMA select CRYPTO_HASH select CRYPTO_MD5 select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_ENGINE help This enables support for the HASH hw accelerator which can be found on STMicroelectronics STM32 SOC. config CRYPTO_DEV_STM32_CRYP tristate "Support for STM32 cryp accelerators" depends on ARCH_STM32 select CRYPTO_HASH select CRYPTO_ENGINE select CRYPTO_LIB_DES help This enables support for the CRYP (AES/DES/TDES) hw accelerator which can be found on STMicroelectronics STM32 SOC. crypto/stm32/Makefile 0000644 00000000304 14722053666 0010504 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_STM32_CRC) += stm32-crc32.o obj-$(CONFIG_CRYPTO_DEV_STM32_HASH) += stm32-hash.o obj-$(CONFIG_CRYPTO_DEV_STM32_CRYP) += stm32-cryp.o crypto/vmx/ghashp8-ppc.pl 0000644 00000013207 14722053666 0011373 0 ustar 00 #!/usr/bin/env perl # SPDX-License-Identifier: GPL-2.0 # This code is taken from the OpenSSL project but the author (Andy Polyakov) # has relicensed it under the GPLv2. Therefore this program is free software; # you can redistribute it and/or modify it under the terms of the GNU General # Public License version 2 as published by the Free Software Foundation. # # The original headers, including the original license headers, are # included below for completeness. # ==================================================================== # Written by Andy Polyakov <appro@openssl.org> for the OpenSSL # project. The module is, however, dual licensed under OpenSSL and # CRYPTOGAMS licenses depending on where you obtain it. For further # details see http://www.openssl.org/~appro/cryptogams/. # ==================================================================== # # GHASH for for PowerISA v2.07. # # July 2014 # # Accurate performance measurements are problematic, because it's # always virtualized setup with possibly throttled processor. # Relative comparison is therefore more informative. This initial # version is ~2.1x slower than hardware-assisted AES-128-CTR, ~12x # faster than "4-bit" integer-only compiler-generated 64-bit code. # "Initial version" means that there is room for futher improvement. $flavour=shift; $output =shift; if ($flavour =~ /64/) { $SIZE_T=8; $LRSAVE=2*$SIZE_T; $STU="stdu"; $POP="ld"; $PUSH="std"; } elsif ($flavour =~ /32/) { $SIZE_T=4; $LRSAVE=$SIZE_T; $STU="stwu"; $POP="lwz"; $PUSH="stw"; } else { die "nonsense $flavour"; } $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}ppc-xlate.pl" and -f $xlate ) or ( $xlate="${dir}../../perlasm/ppc-xlate.pl" and -f $xlate) or die "can't locate ppc-xlate.pl"; open STDOUT,"| $^X $xlate $flavour $output" || die "can't call $xlate: $!"; my ($Xip,$Htbl,$inp,$len)=map("r$_",(3..6)); # argument block my ($Xl,$Xm,$Xh,$IN)=map("v$_",(0..3)); my ($zero,$t0,$t1,$t2,$xC2,$H,$Hh,$Hl,$lemask)=map("v$_",(4..12)); my $vrsave="r12"; $code=<<___; .machine "any" .text .globl .gcm_init_p8 lis r0,0xfff0 li r8,0x10 mfspr $vrsave,256 li r9,0x20 mtspr 256,r0 li r10,0x30 lvx_u $H,0,r4 # load H le?xor r7,r7,r7 le?addi r7,r7,0x8 # need a vperm start with 08 le?lvsr 5,0,r7 le?vspltisb 6,0x0f le?vxor 5,5,6 # set a b-endian mask le?vperm $H,$H,$H,5 vspltisb $xC2,-16 # 0xf0 vspltisb $t0,1 # one vaddubm $xC2,$xC2,$xC2 # 0xe0 vxor $zero,$zero,$zero vor $xC2,$xC2,$t0 # 0xe1 vsldoi $xC2,$xC2,$zero,15 # 0xe1... vsldoi $t1,$zero,$t0,1 # ...1 vaddubm $xC2,$xC2,$xC2 # 0xc2... vspltisb $t2,7 vor $xC2,$xC2,$t1 # 0xc2....01 vspltb $t1,$H,0 # most significant byte vsl $H,$H,$t0 # H<<=1 vsrab $t1,$t1,$t2 # broadcast carry bit vand $t1,$t1,$xC2 vxor $H,$H,$t1 # twisted H vsldoi $H,$H,$H,8 # twist even more ... vsldoi $xC2,$zero,$xC2,8 # 0xc2.0 vsldoi $Hl,$zero,$H,8 # ... and split vsldoi $Hh,$H,$zero,8 stvx_u $xC2,0,r3 # save pre-computed table stvx_u $Hl,r8,r3 stvx_u $H, r9,r3 stvx_u $Hh,r10,r3 mtspr 256,$vrsave blr .long 0 .byte 0,12,0x14,0,0,0,2,0 .long 0 .size .gcm_init_p8,.-.gcm_init_p8 .globl .gcm_gmult_p8 lis r0,0xfff8 li r8,0x10 mfspr $vrsave,256 li r9,0x20 mtspr 256,r0 li r10,0x30 lvx_u $IN,0,$Xip # load Xi lvx_u $Hl,r8,$Htbl # load pre-computed table le?lvsl $lemask,r0,r0 lvx_u $H, r9,$Htbl le?vspltisb $t0,0x07 lvx_u $Hh,r10,$Htbl le?vxor $lemask,$lemask,$t0 lvx_u $xC2,0,$Htbl le?vperm $IN,$IN,$IN,$lemask vxor $zero,$zero,$zero vpmsumd $Xl,$IN,$Hl # H.lo·Xi.lo vpmsumd $Xm,$IN,$H # H.hi·Xi.lo+H.lo·Xi.hi vpmsumd $Xh,$IN,$Hh # H.hi·Xi.hi vpmsumd $t2,$Xl,$xC2 # 1st phase vsldoi $t0,$Xm,$zero,8 vsldoi $t1,$zero,$Xm,8 vxor $Xl,$Xl,$t0 vxor $Xh,$Xh,$t1 vsldoi $Xl,$Xl,$Xl,8 vxor $Xl,$Xl,$t2 vsldoi $t1,$Xl,$Xl,8 # 2nd phase vpmsumd $Xl,$Xl,$xC2 vxor $t1,$t1,$Xh vxor $Xl,$Xl,$t1 le?vperm $Xl,$Xl,$Xl,$lemask stvx_u $Xl,0,$Xip # write out Xi mtspr 256,$vrsave blr .long 0 .byte 0,12,0x14,0,0,0,2,0 .long 0 .size .gcm_gmult_p8,.-.gcm_gmult_p8 .globl .gcm_ghash_p8 lis r0,0xfff8 li r8,0x10 mfspr $vrsave,256 li r9,0x20 mtspr 256,r0 li r10,0x30 lvx_u $Xl,0,$Xip # load Xi lvx_u $Hl,r8,$Htbl # load pre-computed table le?lvsl $lemask,r0,r0 lvx_u $H, r9,$Htbl le?vspltisb $t0,0x07 lvx_u $Hh,r10,$Htbl le?vxor $lemask,$lemask,$t0 lvx_u $xC2,0,$Htbl le?vperm $Xl,$Xl,$Xl,$lemask vxor $zero,$zero,$zero lvx_u $IN,0,$inp addi $inp,$inp,16 subi $len,$len,16 le?vperm $IN,$IN,$IN,$lemask vxor $IN,$IN,$Xl b Loop .align 5 Loop: subic $len,$len,16 vpmsumd $Xl,$IN,$Hl # H.lo·Xi.lo subfe. r0,r0,r0 # borrow?-1:0 vpmsumd $Xm,$IN,$H # H.hi·Xi.lo+H.lo·Xi.hi and r0,r0,$len vpmsumd $Xh,$IN,$Hh # H.hi·Xi.hi add $inp,$inp,r0 vpmsumd $t2,$Xl,$xC2 # 1st phase vsldoi $t0,$Xm,$zero,8 vsldoi $t1,$zero,$Xm,8 vxor $Xl,$Xl,$t0 vxor $Xh,$Xh,$t1 vsldoi $Xl,$Xl,$Xl,8 vxor $Xl,$Xl,$t2 lvx_u $IN,0,$inp addi $inp,$inp,16 vsldoi $t1,$Xl,$Xl,8 # 2nd phase vpmsumd $Xl,$Xl,$xC2 le?vperm $IN,$IN,$IN,$lemask vxor $t1,$t1,$Xh vxor $IN,$IN,$t1 vxor $IN,$IN,$Xl beq Loop # did $len-=16 borrow? vxor $Xl,$Xl,$t1 le?vperm $Xl,$Xl,$Xl,$lemask stvx_u $Xl,0,$Xip # write out Xi mtspr 256,$vrsave blr .long 0 .byte 0,12,0x14,0,0,0,4,0 .long 0 .size .gcm_ghash_p8,.-.gcm_ghash_p8 .asciz "GHASH for PowerISA 2.07, CRYPTOGAMS by <appro\@openssl.org>" .align 2 ___ foreach (split("\n",$code)) { if ($flavour =~ /le$/o) { # little-endian s/le\?//o or s/be\?/#be#/o; } else { s/le\?/#le#/o or s/be\?//o; } print $_,"\n"; } close STDOUT; # enforce flush crypto/vmx/Kconfig 0000644 00000000731 14722053666 0010215 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CRYPTO_DEV_VMX_ENCRYPT tristate "Encryption acceleration support on P8 CPU" depends on CRYPTO_DEV_VMX select CRYPTO_AES select CRYPTO_CBC select CRYPTO_CTR select CRYPTO_GHASH select CRYPTO_XTS default m help Support for VMX cryptographic acceleration instructions on Power8 CPU. This module supports acceleration for AES and GHASH in hardware. If you choose 'M' here, this module will be called vmx-crypto. crypto/vmx/aesp8-ppc.pl 0000644 00000272774 14722053666 0011071 0 ustar 00 #! /usr/bin/env perl # SPDX-License-Identifier: GPL-2.0 # This code is taken from CRYPTOGAMs[1] and is included here using the option # in the license to distribute the code under the GPL. Therefore this program # is free software; you can redistribute it and/or modify it under the terms of # the GNU General Public License version 2 as published by the Free Software # Foundation. # # [1] https://www.openssl.org/~appro/cryptogams/ # Copyright (c) 2006-2017, CRYPTOGAMS by <appro@openssl.org> # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # * Redistributions of source code must retain copyright notices, # this list of conditions and the following disclaimer. # # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials # provided with the distribution. # # * Neither the name of the CRYPTOGAMS nor the names of its # copyright holder and contributors may be used to endorse or # promote products derived from this software without specific # prior written permission. # # ALTERNATIVELY, provided that this notice is retained in full, this # product may be distributed under the terms of the GNU General Public # License (GPL), in which case the provisions of the GPL apply INSTEAD OF # those given above. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ==================================================================== # Written by Andy Polyakov <appro@openssl.org> for the OpenSSL # project. The module is, however, dual licensed under OpenSSL and # CRYPTOGAMS licenses depending on where you obtain it. For further # details see http://www.openssl.org/~appro/cryptogams/. # ==================================================================== # # This module implements support for AES instructions as per PowerISA # specification version 2.07, first implemented by POWER8 processor. # The module is endian-agnostic in sense that it supports both big- # and little-endian cases. Data alignment in parallelizable modes is # handled with VSX loads and stores, which implies MSR.VSX flag being # set. It should also be noted that ISA specification doesn't prohibit # alignment exceptions for these instructions on page boundaries. # Initially alignment was handled in pure AltiVec/VMX way [when data # is aligned programmatically, which in turn guarantees exception- # free execution], but it turned to hamper performance when vcipher # instructions are interleaved. It's reckoned that eventual # misalignment penalties at page boundaries are in average lower # than additional overhead in pure AltiVec approach. # # May 2016 # # Add XTS subroutine, 9x on little- and 12x improvement on big-endian # systems were measured. # ###################################################################### # Current large-block performance in cycles per byte processed with # 128-bit key (less is better). # # CBC en-/decrypt CTR XTS # POWER8[le] 3.96/0.72 0.74 1.1 # POWER8[be] 3.75/0.65 0.66 1.0 $flavour = shift; if ($flavour =~ /64/) { $SIZE_T =8; $LRSAVE =2*$SIZE_T; $STU ="stdu"; $POP ="ld"; $PUSH ="std"; $UCMP ="cmpld"; $SHL ="sldi"; } elsif ($flavour =~ /32/) { $SIZE_T =4; $LRSAVE =$SIZE_T; $STU ="stwu"; $POP ="lwz"; $PUSH ="stw"; $UCMP ="cmplw"; $SHL ="slwi"; } else { die "nonsense $flavour"; } $LITTLE_ENDIAN = ($flavour=~/le$/) ? $SIZE_T : 0; $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}ppc-xlate.pl" and -f $xlate ) or ( $xlate="${dir}../../perlasm/ppc-xlate.pl" and -f $xlate) or die "can't locate ppc-xlate.pl"; open STDOUT,"| $^X $xlate $flavour ".shift || die "can't call $xlate: $!"; $FRAME=8*$SIZE_T; $prefix="aes_p8"; $sp="r1"; $vrsave="r12"; ######################################################################### {{{ # Key setup procedures # my ($inp,$bits,$out,$ptr,$cnt,$rounds)=map("r$_",(3..8)); my ($zero,$in0,$in1,$key,$rcon,$mask,$tmp)=map("v$_",(0..6)); my ($stage,$outperm,$outmask,$outhead,$outtail)=map("v$_",(7..11)); $code.=<<___; .machine "any" .text .align 7 rcon: .long 0x01000000, 0x01000000, 0x01000000, 0x01000000 ?rev .long 0x1b000000, 0x1b000000, 0x1b000000, 0x1b000000 ?rev .long 0x0d0e0f0c, 0x0d0e0f0c, 0x0d0e0f0c, 0x0d0e0f0c ?rev .long 0,0,0,0 ?asis Lconsts: mflr r0 bcl 20,31,\$+4 mflr $ptr #vvvvv "distance between . and rcon addi $ptr,$ptr,-0x48 mtlr r0 blr .long 0 .byte 0,12,0x14,0,0,0,0,0 .asciz "AES for PowerISA 2.07, CRYPTOGAMS by <appro\@openssl.org>" .globl .${prefix}_set_encrypt_key Lset_encrypt_key: mflr r11 $PUSH r11,$LRSAVE($sp) li $ptr,-1 ${UCMP}i $inp,0 beq- Lenc_key_abort # if ($inp==0) return -1; ${UCMP}i $out,0 beq- Lenc_key_abort # if ($out==0) return -1; li $ptr,-2 cmpwi $bits,128 blt- Lenc_key_abort cmpwi $bits,256 bgt- Lenc_key_abort andi. r0,$bits,0x3f bne- Lenc_key_abort lis r0,0xfff0 mfspr $vrsave,256 mtspr 256,r0 bl Lconsts mtlr r11 neg r9,$inp lvx $in0,0,$inp addi $inp,$inp,15 # 15 is not typo lvsr $key,0,r9 # borrow $key li r8,0x20 cmpwi $bits,192 lvx $in1,0,$inp le?vspltisb $mask,0x0f # borrow $mask lvx $rcon,0,$ptr le?vxor $key,$key,$mask # adjust for byte swap lvx $mask,r8,$ptr addi $ptr,$ptr,0x10 vperm $in0,$in0,$in1,$key # align [and byte swap in LE] li $cnt,8 vxor $zero,$zero,$zero mtctr $cnt ?lvsr $outperm,0,$out vspltisb $outmask,-1 lvx $outhead,0,$out ?vperm $outmask,$zero,$outmask,$outperm blt Loop128 addi $inp,$inp,8 beq L192 addi $inp,$inp,8 b L256 .align 4 Loop128: vperm $key,$in0,$in0,$mask # rotate-n-splat vsldoi $tmp,$zero,$in0,12 # >>32 vperm $outtail,$in0,$in0,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail vcipherlast $key,$key,$rcon stvx $stage,0,$out addi $out,$out,16 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vadduwm $rcon,$rcon,$rcon vxor $in0,$in0,$key bdnz Loop128 lvx $rcon,0,$ptr # last two round keys vperm $key,$in0,$in0,$mask # rotate-n-splat vsldoi $tmp,$zero,$in0,12 # >>32 vperm $outtail,$in0,$in0,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail vcipherlast $key,$key,$rcon stvx $stage,0,$out addi $out,$out,16 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vadduwm $rcon,$rcon,$rcon vxor $in0,$in0,$key vperm $key,$in0,$in0,$mask # rotate-n-splat vsldoi $tmp,$zero,$in0,12 # >>32 vperm $outtail,$in0,$in0,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail vcipherlast $key,$key,$rcon stvx $stage,0,$out addi $out,$out,16 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vxor $in0,$in0,$key vperm $outtail,$in0,$in0,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail stvx $stage,0,$out addi $inp,$out,15 # 15 is not typo addi $out,$out,0x50 li $rounds,10 b Ldone .align 4 L192: lvx $tmp,0,$inp li $cnt,4 vperm $outtail,$in0,$in0,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail stvx $stage,0,$out addi $out,$out,16 vperm $in1,$in1,$tmp,$key # align [and byte swap in LE] vspltisb $key,8 # borrow $key mtctr $cnt vsububm $mask,$mask,$key # adjust the mask Loop192: vperm $key,$in1,$in1,$mask # roate-n-splat vsldoi $tmp,$zero,$in0,12 # >>32 vcipherlast $key,$key,$rcon vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vsldoi $stage,$zero,$in1,8 vspltw $tmp,$in0,3 vxor $tmp,$tmp,$in1 vsldoi $in1,$zero,$in1,12 # >>32 vadduwm $rcon,$rcon,$rcon vxor $in1,$in1,$tmp vxor $in0,$in0,$key vxor $in1,$in1,$key vsldoi $stage,$stage,$in0,8 vperm $key,$in1,$in1,$mask # rotate-n-splat vsldoi $tmp,$zero,$in0,12 # >>32 vperm $outtail,$stage,$stage,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail vcipherlast $key,$key,$rcon stvx $stage,0,$out addi $out,$out,16 vsldoi $stage,$in0,$in1,8 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vperm $outtail,$stage,$stage,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp stvx $stage,0,$out addi $out,$out,16 vspltw $tmp,$in0,3 vxor $tmp,$tmp,$in1 vsldoi $in1,$zero,$in1,12 # >>32 vadduwm $rcon,$rcon,$rcon vxor $in1,$in1,$tmp vxor $in0,$in0,$key vxor $in1,$in1,$key vperm $outtail,$in0,$in0,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail stvx $stage,0,$out addi $inp,$out,15 # 15 is not typo addi $out,$out,16 bdnz Loop192 li $rounds,12 addi $out,$out,0x20 b Ldone .align 4 L256: lvx $tmp,0,$inp li $cnt,7 li $rounds,14 vperm $outtail,$in0,$in0,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail stvx $stage,0,$out addi $out,$out,16 vperm $in1,$in1,$tmp,$key # align [and byte swap in LE] mtctr $cnt Loop256: vperm $key,$in1,$in1,$mask # rotate-n-splat vsldoi $tmp,$zero,$in0,12 # >>32 vperm $outtail,$in1,$in1,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail vcipherlast $key,$key,$rcon stvx $stage,0,$out addi $out,$out,16 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in0,$in0,$tmp vadduwm $rcon,$rcon,$rcon vxor $in0,$in0,$key vperm $outtail,$in0,$in0,$outperm # rotate vsel $stage,$outhead,$outtail,$outmask vmr $outhead,$outtail stvx $stage,0,$out addi $inp,$out,15 # 15 is not typo addi $out,$out,16 bdz Ldone vspltw $key,$in0,3 # just splat vsldoi $tmp,$zero,$in1,12 # >>32 vsbox $key,$key vxor $in1,$in1,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in1,$in1,$tmp vsldoi $tmp,$zero,$tmp,12 # >>32 vxor $in1,$in1,$tmp vxor $in1,$in1,$key b Loop256 .align 4 Ldone: lvx $in1,0,$inp # redundant in aligned case vsel $in1,$outhead,$in1,$outmask stvx $in1,0,$inp li $ptr,0 mtspr 256,$vrsave stw $rounds,0($out) Lenc_key_abort: mr r3,$ptr blr .long 0 .byte 0,12,0x14,1,0,0,3,0 .long 0 .size .${prefix}_set_encrypt_key,.-.${prefix}_set_encrypt_key .globl .${prefix}_set_decrypt_key $STU $sp,-$FRAME($sp) mflr r10 $PUSH r10,$FRAME+$LRSAVE($sp) bl Lset_encrypt_key mtlr r10 cmpwi r3,0 bne- Ldec_key_abort slwi $cnt,$rounds,4 subi $inp,$out,240 # first round key srwi $rounds,$rounds,1 add $out,$inp,$cnt # last round key mtctr $rounds Ldeckey: lwz r0, 0($inp) lwz r6, 4($inp) lwz r7, 8($inp) lwz r8, 12($inp) addi $inp,$inp,16 lwz r9, 0($out) lwz r10,4($out) lwz r11,8($out) lwz r12,12($out) stw r0, 0($out) stw r6, 4($out) stw r7, 8($out) stw r8, 12($out) subi $out,$out,16 stw r9, -16($inp) stw r10,-12($inp) stw r11,-8($inp) stw r12,-4($inp) bdnz Ldeckey xor r3,r3,r3 # return value Ldec_key_abort: addi $sp,$sp,$FRAME blr .long 0 .byte 0,12,4,1,0x80,0,3,0 .long 0 .size .${prefix}_set_decrypt_key,.-.${prefix}_set_decrypt_key ___ }}} ######################################################################### {{{ # Single block en- and decrypt procedures # sub gen_block () { my $dir = shift; my $n = $dir eq "de" ? "n" : ""; my ($inp,$out,$key,$rounds,$idx)=map("r$_",(3..7)); $code.=<<___; .globl .${prefix}_${dir}crypt lwz $rounds,240($key) lis r0,0xfc00 mfspr $vrsave,256 li $idx,15 # 15 is not typo mtspr 256,r0 lvx v0,0,$inp neg r11,$out lvx v1,$idx,$inp lvsl v2,0,$inp # inpperm le?vspltisb v4,0x0f ?lvsl v3,0,r11 # outperm le?vxor v2,v2,v4 li $idx,16 vperm v0,v0,v1,v2 # align [and byte swap in LE] lvx v1,0,$key ?lvsl v5,0,$key # keyperm srwi $rounds,$rounds,1 lvx v2,$idx,$key addi $idx,$idx,16 subi $rounds,$rounds,1 ?vperm v1,v1,v2,v5 # align round key vxor v0,v0,v1 lvx v1,$idx,$key addi $idx,$idx,16 mtctr $rounds Loop_${dir}c: ?vperm v2,v2,v1,v5 v${n}cipher v0,v0,v2 lvx v2,$idx,$key addi $idx,$idx,16 ?vperm v1,v1,v2,v5 v${n}cipher v0,v0,v1 lvx v1,$idx,$key addi $idx,$idx,16 bdnz Loop_${dir}c ?vperm v2,v2,v1,v5 v${n}cipher v0,v0,v2 lvx v2,$idx,$key ?vperm v1,v1,v2,v5 v${n}cipherlast v0,v0,v1 vspltisb v2,-1 vxor v1,v1,v1 li $idx,15 # 15 is not typo ?vperm v2,v1,v2,v3 # outmask le?vxor v3,v3,v4 lvx v1,0,$out # outhead vperm v0,v0,v0,v3 # rotate [and byte swap in LE] vsel v1,v1,v0,v2 lvx v4,$idx,$out stvx v1,0,$out vsel v0,v0,v4,v2 stvx v0,$idx,$out mtspr 256,$vrsave blr .long 0 .byte 0,12,0x14,0,0,0,3,0 .long 0 .size .${prefix}_${dir}crypt,.-.${prefix}_${dir}crypt ___ } &gen_block("en"); &gen_block("de"); }}} ######################################################################### {{{ # CBC en- and decrypt procedures # my ($inp,$out,$len,$key,$ivp,$enc,$rounds,$idx)=map("r$_",(3..10)); my ($rndkey0,$rndkey1,$inout,$tmp)= map("v$_",(0..3)); my ($ivec,$inptail,$inpperm,$outhead,$outperm,$outmask,$keyperm)= map("v$_",(4..10)); $code.=<<___; .globl .${prefix}_cbc_encrypt ${UCMP}i $len,16 bltlr- cmpwi $enc,0 # test direction lis r0,0xffe0 mfspr $vrsave,256 mtspr 256,r0 li $idx,15 vxor $rndkey0,$rndkey0,$rndkey0 le?vspltisb $tmp,0x0f lvx $ivec,0,$ivp # load [unaligned] iv lvsl $inpperm,0,$ivp lvx $inptail,$idx,$ivp le?vxor $inpperm,$inpperm,$tmp vperm $ivec,$ivec,$inptail,$inpperm neg r11,$inp ?lvsl $keyperm,0,$key # prepare for unaligned key lwz $rounds,240($key) lvsr $inpperm,0,r11 # prepare for unaligned load lvx $inptail,0,$inp addi $inp,$inp,15 # 15 is not typo le?vxor $inpperm,$inpperm,$tmp ?lvsr $outperm,0,$out # prepare for unaligned store vspltisb $outmask,-1 lvx $outhead,0,$out ?vperm $outmask,$rndkey0,$outmask,$outperm le?vxor $outperm,$outperm,$tmp srwi $rounds,$rounds,1 li $idx,16 subi $rounds,$rounds,1 beq Lcbc_dec Lcbc_enc: vmr $inout,$inptail lvx $inptail,0,$inp addi $inp,$inp,16 mtctr $rounds subi $len,$len,16 # len-=16 lvx $rndkey0,0,$key vperm $inout,$inout,$inptail,$inpperm lvx $rndkey1,$idx,$key addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key addi $idx,$idx,16 vxor $inout,$inout,$ivec Loop_cbc_enc: ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vcipher $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key addi $idx,$idx,16 bdnz Loop_cbc_enc ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key li $idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vcipherlast $ivec,$inout,$rndkey0 ${UCMP}i $len,16 vperm $tmp,$ivec,$ivec,$outperm vsel $inout,$outhead,$tmp,$outmask vmr $outhead,$tmp stvx $inout,0,$out addi $out,$out,16 bge Lcbc_enc b Lcbc_done .align 4 Lcbc_dec: ${UCMP}i $len,128 bge _aesp8_cbc_decrypt8x vmr $tmp,$inptail lvx $inptail,0,$inp addi $inp,$inp,16 mtctr $rounds subi $len,$len,16 # len-=16 lvx $rndkey0,0,$key vperm $tmp,$tmp,$inptail,$inpperm lvx $rndkey1,$idx,$key addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $inout,$tmp,$rndkey0 lvx $rndkey0,$idx,$key addi $idx,$idx,16 Loop_cbc_dec: ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vncipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vncipher $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key addi $idx,$idx,16 bdnz Loop_cbc_dec ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vncipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key li $idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vncipherlast $inout,$inout,$rndkey0 ${UCMP}i $len,16 vxor $inout,$inout,$ivec vmr $ivec,$tmp vperm $tmp,$inout,$inout,$outperm vsel $inout,$outhead,$tmp,$outmask vmr $outhead,$tmp stvx $inout,0,$out addi $out,$out,16 bge Lcbc_dec Lcbc_done: addi $out,$out,-1 lvx $inout,0,$out # redundant in aligned case vsel $inout,$outhead,$inout,$outmask stvx $inout,0,$out neg $enc,$ivp # write [unaligned] iv li $idx,15 # 15 is not typo vxor $rndkey0,$rndkey0,$rndkey0 vspltisb $outmask,-1 le?vspltisb $tmp,0x0f ?lvsl $outperm,0,$enc ?vperm $outmask,$rndkey0,$outmask,$outperm le?vxor $outperm,$outperm,$tmp lvx $outhead,0,$ivp vperm $ivec,$ivec,$ivec,$outperm vsel $inout,$outhead,$ivec,$outmask lvx $inptail,$idx,$ivp stvx $inout,0,$ivp vsel $inout,$ivec,$inptail,$outmask stvx $inout,$idx,$ivp mtspr 256,$vrsave blr .long 0 .byte 0,12,0x14,0,0,0,6,0 .long 0 ___ ######################################################################### {{ # Optimized CBC decrypt procedure # my $key_="r11"; my ($x00,$x10,$x20,$x30,$x40,$x50,$x60,$x70)=map("r$_",(0,8,26..31)); my ($in0, $in1, $in2, $in3, $in4, $in5, $in6, $in7 )=map("v$_",(0..3,10..13)); my ($out0,$out1,$out2,$out3,$out4,$out5,$out6,$out7)=map("v$_",(14..21)); my $rndkey0="v23"; # v24-v25 rotating buffer for first found keys # v26-v31 last 6 round keys my ($tmp,$keyperm)=($in3,$in4); # aliases with "caller", redundant assignment $code.=<<___; .align 5 _aesp8_cbc_decrypt8x: $STU $sp,-`($FRAME+21*16+6*$SIZE_T)`($sp) li r10,`$FRAME+8*16+15` li r11,`$FRAME+8*16+31` stvx v20,r10,$sp # ABI says so addi r10,r10,32 stvx v21,r11,$sp addi r11,r11,32 stvx v22,r10,$sp addi r10,r10,32 stvx v23,r11,$sp addi r11,r11,32 stvx v24,r10,$sp addi r10,r10,32 stvx v25,r11,$sp addi r11,r11,32 stvx v26,r10,$sp addi r10,r10,32 stvx v27,r11,$sp addi r11,r11,32 stvx v28,r10,$sp addi r10,r10,32 stvx v29,r11,$sp addi r11,r11,32 stvx v30,r10,$sp stvx v31,r11,$sp li r0,-1 stw $vrsave,`$FRAME+21*16-4`($sp) # save vrsave li $x10,0x10 $PUSH r26,`$FRAME+21*16+0*$SIZE_T`($sp) li $x20,0x20 $PUSH r27,`$FRAME+21*16+1*$SIZE_T`($sp) li $x30,0x30 $PUSH r28,`$FRAME+21*16+2*$SIZE_T`($sp) li $x40,0x40 $PUSH r29,`$FRAME+21*16+3*$SIZE_T`($sp) li $x50,0x50 $PUSH r30,`$FRAME+21*16+4*$SIZE_T`($sp) li $x60,0x60 $PUSH r31,`$FRAME+21*16+5*$SIZE_T`($sp) li $x70,0x70 mtspr 256,r0 subi $rounds,$rounds,3 # -4 in total subi $len,$len,128 # bias lvx $rndkey0,$x00,$key # load key schedule lvx v30,$x10,$key addi $key,$key,0x20 lvx v31,$x00,$key ?vperm $rndkey0,$rndkey0,v30,$keyperm addi $key_,$sp,$FRAME+15 mtctr $rounds Load_cbc_dec_key: ?vperm v24,v30,v31,$keyperm lvx v30,$x10,$key addi $key,$key,0x20 stvx v24,$x00,$key_ # off-load round[1] ?vperm v25,v31,v30,$keyperm lvx v31,$x00,$key stvx v25,$x10,$key_ # off-load round[2] addi $key_,$key_,0x20 bdnz Load_cbc_dec_key lvx v26,$x10,$key ?vperm v24,v30,v31,$keyperm lvx v27,$x20,$key stvx v24,$x00,$key_ # off-load round[3] ?vperm v25,v31,v26,$keyperm lvx v28,$x30,$key stvx v25,$x10,$key_ # off-load round[4] addi $key_,$sp,$FRAME+15 # rewind $key_ ?vperm v26,v26,v27,$keyperm lvx v29,$x40,$key ?vperm v27,v27,v28,$keyperm lvx v30,$x50,$key ?vperm v28,v28,v29,$keyperm lvx v31,$x60,$key ?vperm v29,v29,v30,$keyperm lvx $out0,$x70,$key # borrow $out0 ?vperm v30,v30,v31,$keyperm lvx v24,$x00,$key_ # pre-load round[1] ?vperm v31,v31,$out0,$keyperm lvx v25,$x10,$key_ # pre-load round[2] #lvx $inptail,0,$inp # "caller" already did this #addi $inp,$inp,15 # 15 is not typo subi $inp,$inp,15 # undo "caller" le?li $idx,8 lvx_u $in0,$x00,$inp # load first 8 "words" le?lvsl $inpperm,0,$idx le?vspltisb $tmp,0x0f lvx_u $in1,$x10,$inp le?vxor $inpperm,$inpperm,$tmp # transform for lvx_u/stvx_u lvx_u $in2,$x20,$inp le?vperm $in0,$in0,$in0,$inpperm lvx_u $in3,$x30,$inp le?vperm $in1,$in1,$in1,$inpperm lvx_u $in4,$x40,$inp le?vperm $in2,$in2,$in2,$inpperm vxor $out0,$in0,$rndkey0 lvx_u $in5,$x50,$inp le?vperm $in3,$in3,$in3,$inpperm vxor $out1,$in1,$rndkey0 lvx_u $in6,$x60,$inp le?vperm $in4,$in4,$in4,$inpperm vxor $out2,$in2,$rndkey0 lvx_u $in7,$x70,$inp addi $inp,$inp,0x80 le?vperm $in5,$in5,$in5,$inpperm vxor $out3,$in3,$rndkey0 le?vperm $in6,$in6,$in6,$inpperm vxor $out4,$in4,$rndkey0 le?vperm $in7,$in7,$in7,$inpperm vxor $out5,$in5,$rndkey0 vxor $out6,$in6,$rndkey0 vxor $out7,$in7,$rndkey0 mtctr $rounds b Loop_cbc_dec8x .align 5 Loop_cbc_dec8x: vncipher $out0,$out0,v24 vncipher $out1,$out1,v24 vncipher $out2,$out2,v24 vncipher $out3,$out3,v24 vncipher $out4,$out4,v24 vncipher $out5,$out5,v24 vncipher $out6,$out6,v24 vncipher $out7,$out7,v24 lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vncipher $out0,$out0,v25 vncipher $out1,$out1,v25 vncipher $out2,$out2,v25 vncipher $out3,$out3,v25 vncipher $out4,$out4,v25 vncipher $out5,$out5,v25 vncipher $out6,$out6,v25 vncipher $out7,$out7,v25 lvx v25,$x10,$key_ # round[4] bdnz Loop_cbc_dec8x subic $len,$len,128 # $len-=128 vncipher $out0,$out0,v24 vncipher $out1,$out1,v24 vncipher $out2,$out2,v24 vncipher $out3,$out3,v24 vncipher $out4,$out4,v24 vncipher $out5,$out5,v24 vncipher $out6,$out6,v24 vncipher $out7,$out7,v24 subfe. r0,r0,r0 # borrow?-1:0 vncipher $out0,$out0,v25 vncipher $out1,$out1,v25 vncipher $out2,$out2,v25 vncipher $out3,$out3,v25 vncipher $out4,$out4,v25 vncipher $out5,$out5,v25 vncipher $out6,$out6,v25 vncipher $out7,$out7,v25 and r0,r0,$len vncipher $out0,$out0,v26 vncipher $out1,$out1,v26 vncipher $out2,$out2,v26 vncipher $out3,$out3,v26 vncipher $out4,$out4,v26 vncipher $out5,$out5,v26 vncipher $out6,$out6,v26 vncipher $out7,$out7,v26 add $inp,$inp,r0 # $inp is adjusted in such # way that at exit from the # loop inX-in7 are loaded # with last "words" vncipher $out0,$out0,v27 vncipher $out1,$out1,v27 vncipher $out2,$out2,v27 vncipher $out3,$out3,v27 vncipher $out4,$out4,v27 vncipher $out5,$out5,v27 vncipher $out6,$out6,v27 vncipher $out7,$out7,v27 addi $key_,$sp,$FRAME+15 # rewind $key_ vncipher $out0,$out0,v28 vncipher $out1,$out1,v28 vncipher $out2,$out2,v28 vncipher $out3,$out3,v28 vncipher $out4,$out4,v28 vncipher $out5,$out5,v28 vncipher $out6,$out6,v28 vncipher $out7,$out7,v28 lvx v24,$x00,$key_ # re-pre-load round[1] vncipher $out0,$out0,v29 vncipher $out1,$out1,v29 vncipher $out2,$out2,v29 vncipher $out3,$out3,v29 vncipher $out4,$out4,v29 vncipher $out5,$out5,v29 vncipher $out6,$out6,v29 vncipher $out7,$out7,v29 lvx v25,$x10,$key_ # re-pre-load round[2] vncipher $out0,$out0,v30 vxor $ivec,$ivec,v31 # xor with last round key vncipher $out1,$out1,v30 vxor $in0,$in0,v31 vncipher $out2,$out2,v30 vxor $in1,$in1,v31 vncipher $out3,$out3,v30 vxor $in2,$in2,v31 vncipher $out4,$out4,v30 vxor $in3,$in3,v31 vncipher $out5,$out5,v30 vxor $in4,$in4,v31 vncipher $out6,$out6,v30 vxor $in5,$in5,v31 vncipher $out7,$out7,v30 vxor $in6,$in6,v31 vncipherlast $out0,$out0,$ivec vncipherlast $out1,$out1,$in0 lvx_u $in0,$x00,$inp # load next input block vncipherlast $out2,$out2,$in1 lvx_u $in1,$x10,$inp vncipherlast $out3,$out3,$in2 le?vperm $in0,$in0,$in0,$inpperm lvx_u $in2,$x20,$inp vncipherlast $out4,$out4,$in3 le?vperm $in1,$in1,$in1,$inpperm lvx_u $in3,$x30,$inp vncipherlast $out5,$out5,$in4 le?vperm $in2,$in2,$in2,$inpperm lvx_u $in4,$x40,$inp vncipherlast $out6,$out6,$in5 le?vperm $in3,$in3,$in3,$inpperm lvx_u $in5,$x50,$inp vncipherlast $out7,$out7,$in6 le?vperm $in4,$in4,$in4,$inpperm lvx_u $in6,$x60,$inp vmr $ivec,$in7 le?vperm $in5,$in5,$in5,$inpperm lvx_u $in7,$x70,$inp addi $inp,$inp,0x80 le?vperm $out0,$out0,$out0,$inpperm le?vperm $out1,$out1,$out1,$inpperm stvx_u $out0,$x00,$out le?vperm $in6,$in6,$in6,$inpperm vxor $out0,$in0,$rndkey0 le?vperm $out2,$out2,$out2,$inpperm stvx_u $out1,$x10,$out le?vperm $in7,$in7,$in7,$inpperm vxor $out1,$in1,$rndkey0 le?vperm $out3,$out3,$out3,$inpperm stvx_u $out2,$x20,$out vxor $out2,$in2,$rndkey0 le?vperm $out4,$out4,$out4,$inpperm stvx_u $out3,$x30,$out vxor $out3,$in3,$rndkey0 le?vperm $out5,$out5,$out5,$inpperm stvx_u $out4,$x40,$out vxor $out4,$in4,$rndkey0 le?vperm $out6,$out6,$out6,$inpperm stvx_u $out5,$x50,$out vxor $out5,$in5,$rndkey0 le?vperm $out7,$out7,$out7,$inpperm stvx_u $out6,$x60,$out vxor $out6,$in6,$rndkey0 stvx_u $out7,$x70,$out addi $out,$out,0x80 vxor $out7,$in7,$rndkey0 mtctr $rounds beq Loop_cbc_dec8x # did $len-=128 borrow? addic. $len,$len,128 beq Lcbc_dec8x_done nop nop Loop_cbc_dec8x_tail: # up to 7 "words" tail... vncipher $out1,$out1,v24 vncipher $out2,$out2,v24 vncipher $out3,$out3,v24 vncipher $out4,$out4,v24 vncipher $out5,$out5,v24 vncipher $out6,$out6,v24 vncipher $out7,$out7,v24 lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vncipher $out1,$out1,v25 vncipher $out2,$out2,v25 vncipher $out3,$out3,v25 vncipher $out4,$out4,v25 vncipher $out5,$out5,v25 vncipher $out6,$out6,v25 vncipher $out7,$out7,v25 lvx v25,$x10,$key_ # round[4] bdnz Loop_cbc_dec8x_tail vncipher $out1,$out1,v24 vncipher $out2,$out2,v24 vncipher $out3,$out3,v24 vncipher $out4,$out4,v24 vncipher $out5,$out5,v24 vncipher $out6,$out6,v24 vncipher $out7,$out7,v24 vncipher $out1,$out1,v25 vncipher $out2,$out2,v25 vncipher $out3,$out3,v25 vncipher $out4,$out4,v25 vncipher $out5,$out5,v25 vncipher $out6,$out6,v25 vncipher $out7,$out7,v25 vncipher $out1,$out1,v26 vncipher $out2,$out2,v26 vncipher $out3,$out3,v26 vncipher $out4,$out4,v26 vncipher $out5,$out5,v26 vncipher $out6,$out6,v26 vncipher $out7,$out7,v26 vncipher $out1,$out1,v27 vncipher $out2,$out2,v27 vncipher $out3,$out3,v27 vncipher $out4,$out4,v27 vncipher $out5,$out5,v27 vncipher $out6,$out6,v27 vncipher $out7,$out7,v27 vncipher $out1,$out1,v28 vncipher $out2,$out2,v28 vncipher $out3,$out3,v28 vncipher $out4,$out4,v28 vncipher $out5,$out5,v28 vncipher $out6,$out6,v28 vncipher $out7,$out7,v28 vncipher $out1,$out1,v29 vncipher $out2,$out2,v29 vncipher $out3,$out3,v29 vncipher $out4,$out4,v29 vncipher $out5,$out5,v29 vncipher $out6,$out6,v29 vncipher $out7,$out7,v29 vncipher $out1,$out1,v30 vxor $ivec,$ivec,v31 # last round key vncipher $out2,$out2,v30 vxor $in1,$in1,v31 vncipher $out3,$out3,v30 vxor $in2,$in2,v31 vncipher $out4,$out4,v30 vxor $in3,$in3,v31 vncipher $out5,$out5,v30 vxor $in4,$in4,v31 vncipher $out6,$out6,v30 vxor $in5,$in5,v31 vncipher $out7,$out7,v30 vxor $in6,$in6,v31 cmplwi $len,32 # switch($len) blt Lcbc_dec8x_one nop beq Lcbc_dec8x_two cmplwi $len,64 blt Lcbc_dec8x_three nop beq Lcbc_dec8x_four cmplwi $len,96 blt Lcbc_dec8x_five nop beq Lcbc_dec8x_six Lcbc_dec8x_seven: vncipherlast $out1,$out1,$ivec vncipherlast $out2,$out2,$in1 vncipherlast $out3,$out3,$in2 vncipherlast $out4,$out4,$in3 vncipherlast $out5,$out5,$in4 vncipherlast $out6,$out6,$in5 vncipherlast $out7,$out7,$in6 vmr $ivec,$in7 le?vperm $out1,$out1,$out1,$inpperm le?vperm $out2,$out2,$out2,$inpperm stvx_u $out1,$x00,$out le?vperm $out3,$out3,$out3,$inpperm stvx_u $out2,$x10,$out le?vperm $out4,$out4,$out4,$inpperm stvx_u $out3,$x20,$out le?vperm $out5,$out5,$out5,$inpperm stvx_u $out4,$x30,$out le?vperm $out6,$out6,$out6,$inpperm stvx_u $out5,$x40,$out le?vperm $out7,$out7,$out7,$inpperm stvx_u $out6,$x50,$out stvx_u $out7,$x60,$out addi $out,$out,0x70 b Lcbc_dec8x_done .align 5 Lcbc_dec8x_six: vncipherlast $out2,$out2,$ivec vncipherlast $out3,$out3,$in2 vncipherlast $out4,$out4,$in3 vncipherlast $out5,$out5,$in4 vncipherlast $out6,$out6,$in5 vncipherlast $out7,$out7,$in6 vmr $ivec,$in7 le?vperm $out2,$out2,$out2,$inpperm le?vperm $out3,$out3,$out3,$inpperm stvx_u $out2,$x00,$out le?vperm $out4,$out4,$out4,$inpperm stvx_u $out3,$x10,$out le?vperm $out5,$out5,$out5,$inpperm stvx_u $out4,$x20,$out le?vperm $out6,$out6,$out6,$inpperm stvx_u $out5,$x30,$out le?vperm $out7,$out7,$out7,$inpperm stvx_u $out6,$x40,$out stvx_u $out7,$x50,$out addi $out,$out,0x60 b Lcbc_dec8x_done .align 5 Lcbc_dec8x_five: vncipherlast $out3,$out3,$ivec vncipherlast $out4,$out4,$in3 vncipherlast $out5,$out5,$in4 vncipherlast $out6,$out6,$in5 vncipherlast $out7,$out7,$in6 vmr $ivec,$in7 le?vperm $out3,$out3,$out3,$inpperm le?vperm $out4,$out4,$out4,$inpperm stvx_u $out3,$x00,$out le?vperm $out5,$out5,$out5,$inpperm stvx_u $out4,$x10,$out le?vperm $out6,$out6,$out6,$inpperm stvx_u $out5,$x20,$out le?vperm $out7,$out7,$out7,$inpperm stvx_u $out6,$x30,$out stvx_u $out7,$x40,$out addi $out,$out,0x50 b Lcbc_dec8x_done .align 5 Lcbc_dec8x_four: vncipherlast $out4,$out4,$ivec vncipherlast $out5,$out5,$in4 vncipherlast $out6,$out6,$in5 vncipherlast $out7,$out7,$in6 vmr $ivec,$in7 le?vperm $out4,$out4,$out4,$inpperm le?vperm $out5,$out5,$out5,$inpperm stvx_u $out4,$x00,$out le?vperm $out6,$out6,$out6,$inpperm stvx_u $out5,$x10,$out le?vperm $out7,$out7,$out7,$inpperm stvx_u $out6,$x20,$out stvx_u $out7,$x30,$out addi $out,$out,0x40 b Lcbc_dec8x_done .align 5 Lcbc_dec8x_three: vncipherlast $out5,$out5,$ivec vncipherlast $out6,$out6,$in5 vncipherlast $out7,$out7,$in6 vmr $ivec,$in7 le?vperm $out5,$out5,$out5,$inpperm le?vperm $out6,$out6,$out6,$inpperm stvx_u $out5,$x00,$out le?vperm $out7,$out7,$out7,$inpperm stvx_u $out6,$x10,$out stvx_u $out7,$x20,$out addi $out,$out,0x30 b Lcbc_dec8x_done .align 5 Lcbc_dec8x_two: vncipherlast $out6,$out6,$ivec vncipherlast $out7,$out7,$in6 vmr $ivec,$in7 le?vperm $out6,$out6,$out6,$inpperm le?vperm $out7,$out7,$out7,$inpperm stvx_u $out6,$x00,$out stvx_u $out7,$x10,$out addi $out,$out,0x20 b Lcbc_dec8x_done .align 5 Lcbc_dec8x_one: vncipherlast $out7,$out7,$ivec vmr $ivec,$in7 le?vperm $out7,$out7,$out7,$inpperm stvx_u $out7,0,$out addi $out,$out,0x10 Lcbc_dec8x_done: le?vperm $ivec,$ivec,$ivec,$inpperm stvx_u $ivec,0,$ivp # write [unaligned] iv li r10,`$FRAME+15` li r11,`$FRAME+31` stvx $inpperm,r10,$sp # wipe copies of round keys addi r10,r10,32 stvx $inpperm,r11,$sp addi r11,r11,32 stvx $inpperm,r10,$sp addi r10,r10,32 stvx $inpperm,r11,$sp addi r11,r11,32 stvx $inpperm,r10,$sp addi r10,r10,32 stvx $inpperm,r11,$sp addi r11,r11,32 stvx $inpperm,r10,$sp addi r10,r10,32 stvx $inpperm,r11,$sp addi r11,r11,32 mtspr 256,$vrsave lvx v20,r10,$sp # ABI says so addi r10,r10,32 lvx v21,r11,$sp addi r11,r11,32 lvx v22,r10,$sp addi r10,r10,32 lvx v23,r11,$sp addi r11,r11,32 lvx v24,r10,$sp addi r10,r10,32 lvx v25,r11,$sp addi r11,r11,32 lvx v26,r10,$sp addi r10,r10,32 lvx v27,r11,$sp addi r11,r11,32 lvx v28,r10,$sp addi r10,r10,32 lvx v29,r11,$sp addi r11,r11,32 lvx v30,r10,$sp lvx v31,r11,$sp $POP r26,`$FRAME+21*16+0*$SIZE_T`($sp) $POP r27,`$FRAME+21*16+1*$SIZE_T`($sp) $POP r28,`$FRAME+21*16+2*$SIZE_T`($sp) $POP r29,`$FRAME+21*16+3*$SIZE_T`($sp) $POP r30,`$FRAME+21*16+4*$SIZE_T`($sp) $POP r31,`$FRAME+21*16+5*$SIZE_T`($sp) addi $sp,$sp,`$FRAME+21*16+6*$SIZE_T` blr .long 0 .byte 0,12,0x14,0,0x80,6,6,0 .long 0 .size .${prefix}_cbc_encrypt,.-.${prefix}_cbc_encrypt ___ }} }}} ######################################################################### {{{ # CTR procedure[s] # ####################### WARNING: Here be dragons! ####################### # # This code is written as 'ctr32', based on a 32-bit counter used # upstream. The kernel does *not* use a 32-bit counter. The kernel uses # a 128-bit counter. # # This leads to subtle changes from the upstream code: the counter # is incremented with vaddu_q_m rather than vaddu_w_m. This occurs in # both the bulk (8 blocks at a time) path, and in the individual block # path. Be aware of this when doing updates. # # See: # 1d4aa0b4c181 ("crypto: vmx - Fixing AES-CTR counter bug") # 009b30ac7444 ("crypto: vmx - CTR: always increment IV as quadword") # https://github.com/openssl/openssl/pull/8942 # ######################################################################### my ($inp,$out,$len,$key,$ivp,$x10,$rounds,$idx)=map("r$_",(3..10)); my ($rndkey0,$rndkey1,$inout,$tmp)= map("v$_",(0..3)); my ($ivec,$inptail,$inpperm,$outhead,$outperm,$outmask,$keyperm,$one)= map("v$_",(4..11)); my $dat=$tmp; $code.=<<___; .globl .${prefix}_ctr32_encrypt_blocks ${UCMP}i $len,1 bltlr- lis r0,0xfff0 mfspr $vrsave,256 mtspr 256,r0 li $idx,15 vxor $rndkey0,$rndkey0,$rndkey0 le?vspltisb $tmp,0x0f lvx $ivec,0,$ivp # load [unaligned] iv lvsl $inpperm,0,$ivp lvx $inptail,$idx,$ivp vspltisb $one,1 le?vxor $inpperm,$inpperm,$tmp vperm $ivec,$ivec,$inptail,$inpperm vsldoi $one,$rndkey0,$one,1 neg r11,$inp ?lvsl $keyperm,0,$key # prepare for unaligned key lwz $rounds,240($key) lvsr $inpperm,0,r11 # prepare for unaligned load lvx $inptail,0,$inp addi $inp,$inp,15 # 15 is not typo le?vxor $inpperm,$inpperm,$tmp srwi $rounds,$rounds,1 li $idx,16 subi $rounds,$rounds,1 ${UCMP}i $len,8 bge _aesp8_ctr32_encrypt8x ?lvsr $outperm,0,$out # prepare for unaligned store vspltisb $outmask,-1 lvx $outhead,0,$out ?vperm $outmask,$rndkey0,$outmask,$outperm le?vxor $outperm,$outperm,$tmp lvx $rndkey0,0,$key mtctr $rounds lvx $rndkey1,$idx,$key addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $inout,$ivec,$rndkey0 lvx $rndkey0,$idx,$key addi $idx,$idx,16 b Loop_ctr32_enc .align 5 Loop_ctr32_enc: ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vcipher $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key addi $idx,$idx,16 bdnz Loop_ctr32_enc vadduqm $ivec,$ivec,$one # Kernel change for 128-bit vmr $dat,$inptail lvx $inptail,0,$inp addi $inp,$inp,16 subic. $len,$len,1 # blocks-- ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key vperm $dat,$dat,$inptail,$inpperm li $idx,16 ?vperm $rndkey1,$rndkey0,$rndkey1,$keyperm lvx $rndkey0,0,$key vxor $dat,$dat,$rndkey1 # last round key vcipherlast $inout,$inout,$dat lvx $rndkey1,$idx,$key addi $idx,$idx,16 vperm $inout,$inout,$inout,$outperm vsel $dat,$outhead,$inout,$outmask mtctr $rounds ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vmr $outhead,$inout vxor $inout,$ivec,$rndkey0 lvx $rndkey0,$idx,$key addi $idx,$idx,16 stvx $dat,0,$out addi $out,$out,16 bne Loop_ctr32_enc addi $out,$out,-1 lvx $inout,0,$out # redundant in aligned case vsel $inout,$outhead,$inout,$outmask stvx $inout,0,$out mtspr 256,$vrsave blr .long 0 .byte 0,12,0x14,0,0,0,6,0 .long 0 ___ ######################################################################### {{ # Optimized CTR procedure # my $key_="r11"; my ($x00,$x10,$x20,$x30,$x40,$x50,$x60,$x70)=map("r$_",(0,8,26..31)); my ($in0, $in1, $in2, $in3, $in4, $in5, $in6, $in7 )=map("v$_",(0..3,10,12..14)); my ($out0,$out1,$out2,$out3,$out4,$out5,$out6,$out7)=map("v$_",(15..22)); my $rndkey0="v23"; # v24-v25 rotating buffer for first found keys # v26-v31 last 6 round keys my ($tmp,$keyperm)=($in3,$in4); # aliases with "caller", redundant assignment my ($two,$three,$four)=($outhead,$outperm,$outmask); $code.=<<___; .align 5 _aesp8_ctr32_encrypt8x: $STU $sp,-`($FRAME+21*16+6*$SIZE_T)`($sp) li r10,`$FRAME+8*16+15` li r11,`$FRAME+8*16+31` stvx v20,r10,$sp # ABI says so addi r10,r10,32 stvx v21,r11,$sp addi r11,r11,32 stvx v22,r10,$sp addi r10,r10,32 stvx v23,r11,$sp addi r11,r11,32 stvx v24,r10,$sp addi r10,r10,32 stvx v25,r11,$sp addi r11,r11,32 stvx v26,r10,$sp addi r10,r10,32 stvx v27,r11,$sp addi r11,r11,32 stvx v28,r10,$sp addi r10,r10,32 stvx v29,r11,$sp addi r11,r11,32 stvx v30,r10,$sp stvx v31,r11,$sp li r0,-1 stw $vrsave,`$FRAME+21*16-4`($sp) # save vrsave li $x10,0x10 $PUSH r26,`$FRAME+21*16+0*$SIZE_T`($sp) li $x20,0x20 $PUSH r27,`$FRAME+21*16+1*$SIZE_T`($sp) li $x30,0x30 $PUSH r28,`$FRAME+21*16+2*$SIZE_T`($sp) li $x40,0x40 $PUSH r29,`$FRAME+21*16+3*$SIZE_T`($sp) li $x50,0x50 $PUSH r30,`$FRAME+21*16+4*$SIZE_T`($sp) li $x60,0x60 $PUSH r31,`$FRAME+21*16+5*$SIZE_T`($sp) li $x70,0x70 mtspr 256,r0 subi $rounds,$rounds,3 # -4 in total lvx $rndkey0,$x00,$key # load key schedule lvx v30,$x10,$key addi $key,$key,0x20 lvx v31,$x00,$key ?vperm $rndkey0,$rndkey0,v30,$keyperm addi $key_,$sp,$FRAME+15 mtctr $rounds Load_ctr32_enc_key: ?vperm v24,v30,v31,$keyperm lvx v30,$x10,$key addi $key,$key,0x20 stvx v24,$x00,$key_ # off-load round[1] ?vperm v25,v31,v30,$keyperm lvx v31,$x00,$key stvx v25,$x10,$key_ # off-load round[2] addi $key_,$key_,0x20 bdnz Load_ctr32_enc_key lvx v26,$x10,$key ?vperm v24,v30,v31,$keyperm lvx v27,$x20,$key stvx v24,$x00,$key_ # off-load round[3] ?vperm v25,v31,v26,$keyperm lvx v28,$x30,$key stvx v25,$x10,$key_ # off-load round[4] addi $key_,$sp,$FRAME+15 # rewind $key_ ?vperm v26,v26,v27,$keyperm lvx v29,$x40,$key ?vperm v27,v27,v28,$keyperm lvx v30,$x50,$key ?vperm v28,v28,v29,$keyperm lvx v31,$x60,$key ?vperm v29,v29,v30,$keyperm lvx $out0,$x70,$key # borrow $out0 ?vperm v30,v30,v31,$keyperm lvx v24,$x00,$key_ # pre-load round[1] ?vperm v31,v31,$out0,$keyperm lvx v25,$x10,$key_ # pre-load round[2] vadduqm $two,$one,$one subi $inp,$inp,15 # undo "caller" $SHL $len,$len,4 vadduqm $out1,$ivec,$one # counter values ... vadduqm $out2,$ivec,$two # (do all ctr adds as 128-bit) vxor $out0,$ivec,$rndkey0 # ... xored with rndkey[0] le?li $idx,8 vadduqm $out3,$out1,$two vxor $out1,$out1,$rndkey0 le?lvsl $inpperm,0,$idx vadduqm $out4,$out2,$two vxor $out2,$out2,$rndkey0 le?vspltisb $tmp,0x0f vadduqm $out5,$out3,$two vxor $out3,$out3,$rndkey0 le?vxor $inpperm,$inpperm,$tmp # transform for lvx_u/stvx_u vadduqm $out6,$out4,$two vxor $out4,$out4,$rndkey0 vadduqm $out7,$out5,$two vxor $out5,$out5,$rndkey0 vadduqm $ivec,$out6,$two # next counter value vxor $out6,$out6,$rndkey0 vxor $out7,$out7,$rndkey0 mtctr $rounds b Loop_ctr32_enc8x .align 5 Loop_ctr32_enc8x: vcipher $out0,$out0,v24 vcipher $out1,$out1,v24 vcipher $out2,$out2,v24 vcipher $out3,$out3,v24 vcipher $out4,$out4,v24 vcipher $out5,$out5,v24 vcipher $out6,$out6,v24 vcipher $out7,$out7,v24 Loop_ctr32_enc8x_middle: lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vcipher $out0,$out0,v25 vcipher $out1,$out1,v25 vcipher $out2,$out2,v25 vcipher $out3,$out3,v25 vcipher $out4,$out4,v25 vcipher $out5,$out5,v25 vcipher $out6,$out6,v25 vcipher $out7,$out7,v25 lvx v25,$x10,$key_ # round[4] bdnz Loop_ctr32_enc8x subic r11,$len,256 # $len-256, borrow $key_ vcipher $out0,$out0,v24 vcipher $out1,$out1,v24 vcipher $out2,$out2,v24 vcipher $out3,$out3,v24 vcipher $out4,$out4,v24 vcipher $out5,$out5,v24 vcipher $out6,$out6,v24 vcipher $out7,$out7,v24 subfe r0,r0,r0 # borrow?-1:0 vcipher $out0,$out0,v25 vcipher $out1,$out1,v25 vcipher $out2,$out2,v25 vcipher $out3,$out3,v25 vcipher $out4,$out4,v25 vcipher $out5,$out5,v25 vcipher $out6,$out6,v25 vcipher $out7,$out7,v25 and r0,r0,r11 addi $key_,$sp,$FRAME+15 # rewind $key_ vcipher $out0,$out0,v26 vcipher $out1,$out1,v26 vcipher $out2,$out2,v26 vcipher $out3,$out3,v26 vcipher $out4,$out4,v26 vcipher $out5,$out5,v26 vcipher $out6,$out6,v26 vcipher $out7,$out7,v26 lvx v24,$x00,$key_ # re-pre-load round[1] subic $len,$len,129 # $len-=129 vcipher $out0,$out0,v27 addi $len,$len,1 # $len-=128 really vcipher $out1,$out1,v27 vcipher $out2,$out2,v27 vcipher $out3,$out3,v27 vcipher $out4,$out4,v27 vcipher $out5,$out5,v27 vcipher $out6,$out6,v27 vcipher $out7,$out7,v27 lvx v25,$x10,$key_ # re-pre-load round[2] vcipher $out0,$out0,v28 lvx_u $in0,$x00,$inp # load input vcipher $out1,$out1,v28 lvx_u $in1,$x10,$inp vcipher $out2,$out2,v28 lvx_u $in2,$x20,$inp vcipher $out3,$out3,v28 lvx_u $in3,$x30,$inp vcipher $out4,$out4,v28 lvx_u $in4,$x40,$inp vcipher $out5,$out5,v28 lvx_u $in5,$x50,$inp vcipher $out6,$out6,v28 lvx_u $in6,$x60,$inp vcipher $out7,$out7,v28 lvx_u $in7,$x70,$inp addi $inp,$inp,0x80 vcipher $out0,$out0,v29 le?vperm $in0,$in0,$in0,$inpperm vcipher $out1,$out1,v29 le?vperm $in1,$in1,$in1,$inpperm vcipher $out2,$out2,v29 le?vperm $in2,$in2,$in2,$inpperm vcipher $out3,$out3,v29 le?vperm $in3,$in3,$in3,$inpperm vcipher $out4,$out4,v29 le?vperm $in4,$in4,$in4,$inpperm vcipher $out5,$out5,v29 le?vperm $in5,$in5,$in5,$inpperm vcipher $out6,$out6,v29 le?vperm $in6,$in6,$in6,$inpperm vcipher $out7,$out7,v29 le?vperm $in7,$in7,$in7,$inpperm add $inp,$inp,r0 # $inp is adjusted in such # way that at exit from the # loop inX-in7 are loaded # with last "words" subfe. r0,r0,r0 # borrow?-1:0 vcipher $out0,$out0,v30 vxor $in0,$in0,v31 # xor with last round key vcipher $out1,$out1,v30 vxor $in1,$in1,v31 vcipher $out2,$out2,v30 vxor $in2,$in2,v31 vcipher $out3,$out3,v30 vxor $in3,$in3,v31 vcipher $out4,$out4,v30 vxor $in4,$in4,v31 vcipher $out5,$out5,v30 vxor $in5,$in5,v31 vcipher $out6,$out6,v30 vxor $in6,$in6,v31 vcipher $out7,$out7,v30 vxor $in7,$in7,v31 bne Lctr32_enc8x_break # did $len-129 borrow? vcipherlast $in0,$out0,$in0 vcipherlast $in1,$out1,$in1 vadduqm $out1,$ivec,$one # counter values ... vcipherlast $in2,$out2,$in2 vadduqm $out2,$ivec,$two vxor $out0,$ivec,$rndkey0 # ... xored with rndkey[0] vcipherlast $in3,$out3,$in3 vadduqm $out3,$out1,$two vxor $out1,$out1,$rndkey0 vcipherlast $in4,$out4,$in4 vadduqm $out4,$out2,$two vxor $out2,$out2,$rndkey0 vcipherlast $in5,$out5,$in5 vadduqm $out5,$out3,$two vxor $out3,$out3,$rndkey0 vcipherlast $in6,$out6,$in6 vadduqm $out6,$out4,$two vxor $out4,$out4,$rndkey0 vcipherlast $in7,$out7,$in7 vadduqm $out7,$out5,$two vxor $out5,$out5,$rndkey0 le?vperm $in0,$in0,$in0,$inpperm vadduqm $ivec,$out6,$two # next counter value vxor $out6,$out6,$rndkey0 le?vperm $in1,$in1,$in1,$inpperm vxor $out7,$out7,$rndkey0 mtctr $rounds vcipher $out0,$out0,v24 stvx_u $in0,$x00,$out le?vperm $in2,$in2,$in2,$inpperm vcipher $out1,$out1,v24 stvx_u $in1,$x10,$out le?vperm $in3,$in3,$in3,$inpperm vcipher $out2,$out2,v24 stvx_u $in2,$x20,$out le?vperm $in4,$in4,$in4,$inpperm vcipher $out3,$out3,v24 stvx_u $in3,$x30,$out le?vperm $in5,$in5,$in5,$inpperm vcipher $out4,$out4,v24 stvx_u $in4,$x40,$out le?vperm $in6,$in6,$in6,$inpperm vcipher $out5,$out5,v24 stvx_u $in5,$x50,$out le?vperm $in7,$in7,$in7,$inpperm vcipher $out6,$out6,v24 stvx_u $in6,$x60,$out vcipher $out7,$out7,v24 stvx_u $in7,$x70,$out addi $out,$out,0x80 b Loop_ctr32_enc8x_middle .align 5 Lctr32_enc8x_break: cmpwi $len,-0x60 blt Lctr32_enc8x_one nop beq Lctr32_enc8x_two cmpwi $len,-0x40 blt Lctr32_enc8x_three nop beq Lctr32_enc8x_four cmpwi $len,-0x20 blt Lctr32_enc8x_five nop beq Lctr32_enc8x_six cmpwi $len,0x00 blt Lctr32_enc8x_seven Lctr32_enc8x_eight: vcipherlast $out0,$out0,$in0 vcipherlast $out1,$out1,$in1 vcipherlast $out2,$out2,$in2 vcipherlast $out3,$out3,$in3 vcipherlast $out4,$out4,$in4 vcipherlast $out5,$out5,$in5 vcipherlast $out6,$out6,$in6 vcipherlast $out7,$out7,$in7 le?vperm $out0,$out0,$out0,$inpperm le?vperm $out1,$out1,$out1,$inpperm stvx_u $out0,$x00,$out le?vperm $out2,$out2,$out2,$inpperm stvx_u $out1,$x10,$out le?vperm $out3,$out3,$out3,$inpperm stvx_u $out2,$x20,$out le?vperm $out4,$out4,$out4,$inpperm stvx_u $out3,$x30,$out le?vperm $out5,$out5,$out5,$inpperm stvx_u $out4,$x40,$out le?vperm $out6,$out6,$out6,$inpperm stvx_u $out5,$x50,$out le?vperm $out7,$out7,$out7,$inpperm stvx_u $out6,$x60,$out stvx_u $out7,$x70,$out addi $out,$out,0x80 b Lctr32_enc8x_done .align 5 Lctr32_enc8x_seven: vcipherlast $out0,$out0,$in1 vcipherlast $out1,$out1,$in2 vcipherlast $out2,$out2,$in3 vcipherlast $out3,$out3,$in4 vcipherlast $out4,$out4,$in5 vcipherlast $out5,$out5,$in6 vcipherlast $out6,$out6,$in7 le?vperm $out0,$out0,$out0,$inpperm le?vperm $out1,$out1,$out1,$inpperm stvx_u $out0,$x00,$out le?vperm $out2,$out2,$out2,$inpperm stvx_u $out1,$x10,$out le?vperm $out3,$out3,$out3,$inpperm stvx_u $out2,$x20,$out le?vperm $out4,$out4,$out4,$inpperm stvx_u $out3,$x30,$out le?vperm $out5,$out5,$out5,$inpperm stvx_u $out4,$x40,$out le?vperm $out6,$out6,$out6,$inpperm stvx_u $out5,$x50,$out stvx_u $out6,$x60,$out addi $out,$out,0x70 b Lctr32_enc8x_done .align 5 Lctr32_enc8x_six: vcipherlast $out0,$out0,$in2 vcipherlast $out1,$out1,$in3 vcipherlast $out2,$out2,$in4 vcipherlast $out3,$out3,$in5 vcipherlast $out4,$out4,$in6 vcipherlast $out5,$out5,$in7 le?vperm $out0,$out0,$out0,$inpperm le?vperm $out1,$out1,$out1,$inpperm stvx_u $out0,$x00,$out le?vperm $out2,$out2,$out2,$inpperm stvx_u $out1,$x10,$out le?vperm $out3,$out3,$out3,$inpperm stvx_u $out2,$x20,$out le?vperm $out4,$out4,$out4,$inpperm stvx_u $out3,$x30,$out le?vperm $out5,$out5,$out5,$inpperm stvx_u $out4,$x40,$out stvx_u $out5,$x50,$out addi $out,$out,0x60 b Lctr32_enc8x_done .align 5 Lctr32_enc8x_five: vcipherlast $out0,$out0,$in3 vcipherlast $out1,$out1,$in4 vcipherlast $out2,$out2,$in5 vcipherlast $out3,$out3,$in6 vcipherlast $out4,$out4,$in7 le?vperm $out0,$out0,$out0,$inpperm le?vperm $out1,$out1,$out1,$inpperm stvx_u $out0,$x00,$out le?vperm $out2,$out2,$out2,$inpperm stvx_u $out1,$x10,$out le?vperm $out3,$out3,$out3,$inpperm stvx_u $out2,$x20,$out le?vperm $out4,$out4,$out4,$inpperm stvx_u $out3,$x30,$out stvx_u $out4,$x40,$out addi $out,$out,0x50 b Lctr32_enc8x_done .align 5 Lctr32_enc8x_four: vcipherlast $out0,$out0,$in4 vcipherlast $out1,$out1,$in5 vcipherlast $out2,$out2,$in6 vcipherlast $out3,$out3,$in7 le?vperm $out0,$out0,$out0,$inpperm le?vperm $out1,$out1,$out1,$inpperm stvx_u $out0,$x00,$out le?vperm $out2,$out2,$out2,$inpperm stvx_u $out1,$x10,$out le?vperm $out3,$out3,$out3,$inpperm stvx_u $out2,$x20,$out stvx_u $out3,$x30,$out addi $out,$out,0x40 b Lctr32_enc8x_done .align 5 Lctr32_enc8x_three: vcipherlast $out0,$out0,$in5 vcipherlast $out1,$out1,$in6 vcipherlast $out2,$out2,$in7 le?vperm $out0,$out0,$out0,$inpperm le?vperm $out1,$out1,$out1,$inpperm stvx_u $out0,$x00,$out le?vperm $out2,$out2,$out2,$inpperm stvx_u $out1,$x10,$out stvx_u $out2,$x20,$out addi $out,$out,0x30 b Lctr32_enc8x_done .align 5 Lctr32_enc8x_two: vcipherlast $out0,$out0,$in6 vcipherlast $out1,$out1,$in7 le?vperm $out0,$out0,$out0,$inpperm le?vperm $out1,$out1,$out1,$inpperm stvx_u $out0,$x00,$out stvx_u $out1,$x10,$out addi $out,$out,0x20 b Lctr32_enc8x_done .align 5 Lctr32_enc8x_one: vcipherlast $out0,$out0,$in7 le?vperm $out0,$out0,$out0,$inpperm stvx_u $out0,0,$out addi $out,$out,0x10 Lctr32_enc8x_done: li r10,`$FRAME+15` li r11,`$FRAME+31` stvx $inpperm,r10,$sp # wipe copies of round keys addi r10,r10,32 stvx $inpperm,r11,$sp addi r11,r11,32 stvx $inpperm,r10,$sp addi r10,r10,32 stvx $inpperm,r11,$sp addi r11,r11,32 stvx $inpperm,r10,$sp addi r10,r10,32 stvx $inpperm,r11,$sp addi r11,r11,32 stvx $inpperm,r10,$sp addi r10,r10,32 stvx $inpperm,r11,$sp addi r11,r11,32 mtspr 256,$vrsave lvx v20,r10,$sp # ABI says so addi r10,r10,32 lvx v21,r11,$sp addi r11,r11,32 lvx v22,r10,$sp addi r10,r10,32 lvx v23,r11,$sp addi r11,r11,32 lvx v24,r10,$sp addi r10,r10,32 lvx v25,r11,$sp addi r11,r11,32 lvx v26,r10,$sp addi r10,r10,32 lvx v27,r11,$sp addi r11,r11,32 lvx v28,r10,$sp addi r10,r10,32 lvx v29,r11,$sp addi r11,r11,32 lvx v30,r10,$sp lvx v31,r11,$sp $POP r26,`$FRAME+21*16+0*$SIZE_T`($sp) $POP r27,`$FRAME+21*16+1*$SIZE_T`($sp) $POP r28,`$FRAME+21*16+2*$SIZE_T`($sp) $POP r29,`$FRAME+21*16+3*$SIZE_T`($sp) $POP r30,`$FRAME+21*16+4*$SIZE_T`($sp) $POP r31,`$FRAME+21*16+5*$SIZE_T`($sp) addi $sp,$sp,`$FRAME+21*16+6*$SIZE_T` blr .long 0 .byte 0,12,0x14,0,0x80,6,6,0 .long 0 .size .${prefix}_ctr32_encrypt_blocks,.-.${prefix}_ctr32_encrypt_blocks ___ }} }}} ######################################################################### {{{ # XTS procedures # # int aes_p8_xts_[en|de]crypt(const char *inp, char *out, size_t len, # # const AES_KEY *key1, const AES_KEY *key2, # # [const] unsigned char iv[16]); # # If $key2 is NULL, then a "tweak chaining" mode is engaged, in which # # input tweak value is assumed to be encrypted already, and last tweak # # value, one suitable for consecutive call on same chunk of data, is # # written back to original buffer. In addition, in "tweak chaining" # # mode only complete input blocks are processed. # my ($inp,$out,$len,$key1,$key2,$ivp,$rounds,$idx) = map("r$_",(3..10)); my ($rndkey0,$rndkey1,$inout) = map("v$_",(0..2)); my ($output,$inptail,$inpperm,$leperm,$keyperm) = map("v$_",(3..7)); my ($tweak,$seven,$eighty7,$tmp,$tweak1) = map("v$_",(8..12)); my $taillen = $key2; ($inp,$idx) = ($idx,$inp); # reassign $code.=<<___; .globl .${prefix}_xts_encrypt mr $inp,r3 # reassign li r3,-1 ${UCMP}i $len,16 bltlr- lis r0,0xfff0 mfspr r12,256 # save vrsave li r11,0 mtspr 256,r0 vspltisb $seven,0x07 # 0x070707..07 le?lvsl $leperm,r11,r11 le?vspltisb $tmp,0x0f le?vxor $leperm,$leperm,$seven li $idx,15 lvx $tweak,0,$ivp # load [unaligned] iv lvsl $inpperm,0,$ivp lvx $inptail,$idx,$ivp le?vxor $inpperm,$inpperm,$tmp vperm $tweak,$tweak,$inptail,$inpperm neg r11,$inp lvsr $inpperm,0,r11 # prepare for unaligned load lvx $inout,0,$inp addi $inp,$inp,15 # 15 is not typo le?vxor $inpperm,$inpperm,$tmp ${UCMP}i $key2,0 # key2==NULL? beq Lxts_enc_no_key2 ?lvsl $keyperm,0,$key2 # prepare for unaligned key lwz $rounds,240($key2) srwi $rounds,$rounds,1 subi $rounds,$rounds,1 li $idx,16 lvx $rndkey0,0,$key2 lvx $rndkey1,$idx,$key2 addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $tweak,$tweak,$rndkey0 lvx $rndkey0,$idx,$key2 addi $idx,$idx,16 mtctr $rounds Ltweak_xts_enc: ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $tweak,$tweak,$rndkey1 lvx $rndkey1,$idx,$key2 addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vcipher $tweak,$tweak,$rndkey0 lvx $rndkey0,$idx,$key2 addi $idx,$idx,16 bdnz Ltweak_xts_enc ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $tweak,$tweak,$rndkey1 lvx $rndkey1,$idx,$key2 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vcipherlast $tweak,$tweak,$rndkey0 li $ivp,0 # don't chain the tweak b Lxts_enc Lxts_enc_no_key2: li $idx,-16 and $len,$len,$idx # in "tweak chaining" # mode only complete # blocks are processed Lxts_enc: lvx $inptail,0,$inp addi $inp,$inp,16 ?lvsl $keyperm,0,$key1 # prepare for unaligned key lwz $rounds,240($key1) srwi $rounds,$rounds,1 subi $rounds,$rounds,1 li $idx,16 vslb $eighty7,$seven,$seven # 0x808080..80 vor $eighty7,$eighty7,$seven # 0x878787..87 vspltisb $tmp,1 # 0x010101..01 vsldoi $eighty7,$eighty7,$tmp,15 # 0x870101..01 ${UCMP}i $len,96 bge _aesp8_xts_encrypt6x andi. $taillen,$len,15 subic r0,$len,32 subi $taillen,$taillen,16 subfe r0,r0,r0 and r0,r0,$taillen add $inp,$inp,r0 lvx $rndkey0,0,$key1 lvx $rndkey1,$idx,$key1 addi $idx,$idx,16 vperm $inout,$inout,$inptail,$inpperm ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $inout,$inout,$tweak vxor $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key1 addi $idx,$idx,16 mtctr $rounds b Loop_xts_enc .align 5 Loop_xts_enc: ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key1 addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vcipher $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key1 addi $idx,$idx,16 bdnz Loop_xts_enc ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key1 li $idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $rndkey0,$rndkey0,$tweak vcipherlast $output,$inout,$rndkey0 le?vperm $tmp,$output,$output,$leperm be?nop le?stvx_u $tmp,0,$out be?stvx_u $output,0,$out addi $out,$out,16 subic. $len,$len,16 beq Lxts_enc_done vmr $inout,$inptail lvx $inptail,0,$inp addi $inp,$inp,16 lvx $rndkey0,0,$key1 lvx $rndkey1,$idx,$key1 addi $idx,$idx,16 subic r0,$len,32 subfe r0,r0,r0 and r0,r0,$taillen add $inp,$inp,r0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vand $tmp,$tmp,$eighty7 vxor $tweak,$tweak,$tmp vperm $inout,$inout,$inptail,$inpperm ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $inout,$inout,$tweak vxor $output,$output,$rndkey0 # just in case $len<16 vxor $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key1 addi $idx,$idx,16 mtctr $rounds ${UCMP}i $len,16 bge Loop_xts_enc vxor $output,$output,$tweak lvsr $inpperm,0,$len # $inpperm is no longer needed vxor $inptail,$inptail,$inptail # $inptail is no longer needed vspltisb $tmp,-1 vperm $inptail,$inptail,$tmp,$inpperm vsel $inout,$inout,$output,$inptail subi r11,$out,17 subi $out,$out,16 mtctr $len li $len,16 Loop_xts_enc_steal: lbzu r0,1(r11) stb r0,16(r11) bdnz Loop_xts_enc_steal mtctr $rounds b Loop_xts_enc # one more time... Lxts_enc_done: ${UCMP}i $ivp,0 beq Lxts_enc_ret vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vand $tmp,$tmp,$eighty7 vxor $tweak,$tweak,$tmp le?vperm $tweak,$tweak,$tweak,$leperm stvx_u $tweak,0,$ivp Lxts_enc_ret: mtspr 256,r12 # restore vrsave li r3,0 blr .long 0 .byte 0,12,0x04,0,0x80,6,6,0 .long 0 .size .${prefix}_xts_encrypt,.-.${prefix}_xts_encrypt .globl .${prefix}_xts_decrypt mr $inp,r3 # reassign li r3,-1 ${UCMP}i $len,16 bltlr- lis r0,0xfff8 mfspr r12,256 # save vrsave li r11,0 mtspr 256,r0 andi. r0,$len,15 neg r0,r0 andi. r0,r0,16 sub $len,$len,r0 vspltisb $seven,0x07 # 0x070707..07 le?lvsl $leperm,r11,r11 le?vspltisb $tmp,0x0f le?vxor $leperm,$leperm,$seven li $idx,15 lvx $tweak,0,$ivp # load [unaligned] iv lvsl $inpperm,0,$ivp lvx $inptail,$idx,$ivp le?vxor $inpperm,$inpperm,$tmp vperm $tweak,$tweak,$inptail,$inpperm neg r11,$inp lvsr $inpperm,0,r11 # prepare for unaligned load lvx $inout,0,$inp addi $inp,$inp,15 # 15 is not typo le?vxor $inpperm,$inpperm,$tmp ${UCMP}i $key2,0 # key2==NULL? beq Lxts_dec_no_key2 ?lvsl $keyperm,0,$key2 # prepare for unaligned key lwz $rounds,240($key2) srwi $rounds,$rounds,1 subi $rounds,$rounds,1 li $idx,16 lvx $rndkey0,0,$key2 lvx $rndkey1,$idx,$key2 addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $tweak,$tweak,$rndkey0 lvx $rndkey0,$idx,$key2 addi $idx,$idx,16 mtctr $rounds Ltweak_xts_dec: ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $tweak,$tweak,$rndkey1 lvx $rndkey1,$idx,$key2 addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vcipher $tweak,$tweak,$rndkey0 lvx $rndkey0,$idx,$key2 addi $idx,$idx,16 bdnz Ltweak_xts_dec ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vcipher $tweak,$tweak,$rndkey1 lvx $rndkey1,$idx,$key2 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vcipherlast $tweak,$tweak,$rndkey0 li $ivp,0 # don't chain the tweak b Lxts_dec Lxts_dec_no_key2: neg $idx,$len andi. $idx,$idx,15 add $len,$len,$idx # in "tweak chaining" # mode only complete # blocks are processed Lxts_dec: lvx $inptail,0,$inp addi $inp,$inp,16 ?lvsl $keyperm,0,$key1 # prepare for unaligned key lwz $rounds,240($key1) srwi $rounds,$rounds,1 subi $rounds,$rounds,1 li $idx,16 vslb $eighty7,$seven,$seven # 0x808080..80 vor $eighty7,$eighty7,$seven # 0x878787..87 vspltisb $tmp,1 # 0x010101..01 vsldoi $eighty7,$eighty7,$tmp,15 # 0x870101..01 ${UCMP}i $len,96 bge _aesp8_xts_decrypt6x lvx $rndkey0,0,$key1 lvx $rndkey1,$idx,$key1 addi $idx,$idx,16 vperm $inout,$inout,$inptail,$inpperm ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $inout,$inout,$tweak vxor $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key1 addi $idx,$idx,16 mtctr $rounds ${UCMP}i $len,16 blt Ltail_xts_dec be?b Loop_xts_dec .align 5 Loop_xts_dec: ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vncipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key1 addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vncipher $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key1 addi $idx,$idx,16 bdnz Loop_xts_dec ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vncipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key1 li $idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $rndkey0,$rndkey0,$tweak vncipherlast $output,$inout,$rndkey0 le?vperm $tmp,$output,$output,$leperm be?nop le?stvx_u $tmp,0,$out be?stvx_u $output,0,$out addi $out,$out,16 subic. $len,$len,16 beq Lxts_dec_done vmr $inout,$inptail lvx $inptail,0,$inp addi $inp,$inp,16 lvx $rndkey0,0,$key1 lvx $rndkey1,$idx,$key1 addi $idx,$idx,16 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vand $tmp,$tmp,$eighty7 vxor $tweak,$tweak,$tmp vperm $inout,$inout,$inptail,$inpperm ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $inout,$inout,$tweak vxor $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key1 addi $idx,$idx,16 mtctr $rounds ${UCMP}i $len,16 bge Loop_xts_dec Ltail_xts_dec: vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak1,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vand $tmp,$tmp,$eighty7 vxor $tweak1,$tweak1,$tmp subi $inp,$inp,16 add $inp,$inp,$len vxor $inout,$inout,$tweak # :-( vxor $inout,$inout,$tweak1 # :-) Loop_xts_dec_short: ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vncipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key1 addi $idx,$idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vncipher $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key1 addi $idx,$idx,16 bdnz Loop_xts_dec_short ?vperm $rndkey1,$rndkey1,$rndkey0,$keyperm vncipher $inout,$inout,$rndkey1 lvx $rndkey1,$idx,$key1 li $idx,16 ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm vxor $rndkey0,$rndkey0,$tweak1 vncipherlast $output,$inout,$rndkey0 le?vperm $tmp,$output,$output,$leperm be?nop le?stvx_u $tmp,0,$out be?stvx_u $output,0,$out vmr $inout,$inptail lvx $inptail,0,$inp #addi $inp,$inp,16 lvx $rndkey0,0,$key1 lvx $rndkey1,$idx,$key1 addi $idx,$idx,16 vperm $inout,$inout,$inptail,$inpperm ?vperm $rndkey0,$rndkey0,$rndkey1,$keyperm lvsr $inpperm,0,$len # $inpperm is no longer needed vxor $inptail,$inptail,$inptail # $inptail is no longer needed vspltisb $tmp,-1 vperm $inptail,$inptail,$tmp,$inpperm vsel $inout,$inout,$output,$inptail vxor $rndkey0,$rndkey0,$tweak vxor $inout,$inout,$rndkey0 lvx $rndkey0,$idx,$key1 addi $idx,$idx,16 subi r11,$out,1 mtctr $len li $len,16 Loop_xts_dec_steal: lbzu r0,1(r11) stb r0,16(r11) bdnz Loop_xts_dec_steal mtctr $rounds b Loop_xts_dec # one more time... Lxts_dec_done: ${UCMP}i $ivp,0 beq Lxts_dec_ret vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vand $tmp,$tmp,$eighty7 vxor $tweak,$tweak,$tmp le?vperm $tweak,$tweak,$tweak,$leperm stvx_u $tweak,0,$ivp Lxts_dec_ret: mtspr 256,r12 # restore vrsave li r3,0 blr .long 0 .byte 0,12,0x04,0,0x80,6,6,0 .long 0 .size .${prefix}_xts_decrypt,.-.${prefix}_xts_decrypt ___ ######################################################################### {{ # Optimized XTS procedures # my $key_=$key2; my ($x00,$x10,$x20,$x30,$x40,$x50,$x60,$x70)=map("r$_",(0,3,26..31)); $x00=0 if ($flavour =~ /osx/); my ($in0, $in1, $in2, $in3, $in4, $in5 )=map("v$_",(0..5)); my ($out0, $out1, $out2, $out3, $out4, $out5)=map("v$_",(7,12..16)); my ($twk0, $twk1, $twk2, $twk3, $twk4, $twk5)=map("v$_",(17..22)); my $rndkey0="v23"; # v24-v25 rotating buffer for first found keys # v26-v31 last 6 round keys my ($keyperm)=($out0); # aliases with "caller", redundant assignment my $taillen=$x70; $code.=<<___; .align 5 _aesp8_xts_encrypt6x: $STU $sp,-`($FRAME+21*16+6*$SIZE_T)`($sp) mflr r11 li r7,`$FRAME+8*16+15` li r3,`$FRAME+8*16+31` $PUSH r11,`$FRAME+21*16+6*$SIZE_T+$LRSAVE`($sp) stvx v20,r7,$sp # ABI says so addi r7,r7,32 stvx v21,r3,$sp addi r3,r3,32 stvx v22,r7,$sp addi r7,r7,32 stvx v23,r3,$sp addi r3,r3,32 stvx v24,r7,$sp addi r7,r7,32 stvx v25,r3,$sp addi r3,r3,32 stvx v26,r7,$sp addi r7,r7,32 stvx v27,r3,$sp addi r3,r3,32 stvx v28,r7,$sp addi r7,r7,32 stvx v29,r3,$sp addi r3,r3,32 stvx v30,r7,$sp stvx v31,r3,$sp li r0,-1 stw $vrsave,`$FRAME+21*16-4`($sp) # save vrsave li $x10,0x10 $PUSH r26,`$FRAME+21*16+0*$SIZE_T`($sp) li $x20,0x20 $PUSH r27,`$FRAME+21*16+1*$SIZE_T`($sp) li $x30,0x30 $PUSH r28,`$FRAME+21*16+2*$SIZE_T`($sp) li $x40,0x40 $PUSH r29,`$FRAME+21*16+3*$SIZE_T`($sp) li $x50,0x50 $PUSH r30,`$FRAME+21*16+4*$SIZE_T`($sp) li $x60,0x60 $PUSH r31,`$FRAME+21*16+5*$SIZE_T`($sp) li $x70,0x70 mtspr 256,r0 subi $rounds,$rounds,3 # -4 in total lvx $rndkey0,$x00,$key1 # load key schedule lvx v30,$x10,$key1 addi $key1,$key1,0x20 lvx v31,$x00,$key1 ?vperm $rndkey0,$rndkey0,v30,$keyperm addi $key_,$sp,$FRAME+15 mtctr $rounds Load_xts_enc_key: ?vperm v24,v30,v31,$keyperm lvx v30,$x10,$key1 addi $key1,$key1,0x20 stvx v24,$x00,$key_ # off-load round[1] ?vperm v25,v31,v30,$keyperm lvx v31,$x00,$key1 stvx v25,$x10,$key_ # off-load round[2] addi $key_,$key_,0x20 bdnz Load_xts_enc_key lvx v26,$x10,$key1 ?vperm v24,v30,v31,$keyperm lvx v27,$x20,$key1 stvx v24,$x00,$key_ # off-load round[3] ?vperm v25,v31,v26,$keyperm lvx v28,$x30,$key1 stvx v25,$x10,$key_ # off-load round[4] addi $key_,$sp,$FRAME+15 # rewind $key_ ?vperm v26,v26,v27,$keyperm lvx v29,$x40,$key1 ?vperm v27,v27,v28,$keyperm lvx v30,$x50,$key1 ?vperm v28,v28,v29,$keyperm lvx v31,$x60,$key1 ?vperm v29,v29,v30,$keyperm lvx $twk5,$x70,$key1 # borrow $twk5 ?vperm v30,v30,v31,$keyperm lvx v24,$x00,$key_ # pre-load round[1] ?vperm v31,v31,$twk5,$keyperm lvx v25,$x10,$key_ # pre-load round[2] vperm $in0,$inout,$inptail,$inpperm subi $inp,$inp,31 # undo "caller" vxor $twk0,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vand $tmp,$tmp,$eighty7 vxor $out0,$in0,$twk0 vxor $tweak,$tweak,$tmp lvx_u $in1,$x10,$inp vxor $twk1,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in1,$in1,$in1,$leperm vand $tmp,$tmp,$eighty7 vxor $out1,$in1,$twk1 vxor $tweak,$tweak,$tmp lvx_u $in2,$x20,$inp andi. $taillen,$len,15 vxor $twk2,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in2,$in2,$in2,$leperm vand $tmp,$tmp,$eighty7 vxor $out2,$in2,$twk2 vxor $tweak,$tweak,$tmp lvx_u $in3,$x30,$inp sub $len,$len,$taillen vxor $twk3,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in3,$in3,$in3,$leperm vand $tmp,$tmp,$eighty7 vxor $out3,$in3,$twk3 vxor $tweak,$tweak,$tmp lvx_u $in4,$x40,$inp subi $len,$len,0x60 vxor $twk4,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in4,$in4,$in4,$leperm vand $tmp,$tmp,$eighty7 vxor $out4,$in4,$twk4 vxor $tweak,$tweak,$tmp lvx_u $in5,$x50,$inp addi $inp,$inp,0x60 vxor $twk5,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in5,$in5,$in5,$leperm vand $tmp,$tmp,$eighty7 vxor $out5,$in5,$twk5 vxor $tweak,$tweak,$tmp vxor v31,v31,$rndkey0 mtctr $rounds b Loop_xts_enc6x .align 5 Loop_xts_enc6x: vcipher $out0,$out0,v24 vcipher $out1,$out1,v24 vcipher $out2,$out2,v24 vcipher $out3,$out3,v24 vcipher $out4,$out4,v24 vcipher $out5,$out5,v24 lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vcipher $out0,$out0,v25 vcipher $out1,$out1,v25 vcipher $out2,$out2,v25 vcipher $out3,$out3,v25 vcipher $out4,$out4,v25 vcipher $out5,$out5,v25 lvx v25,$x10,$key_ # round[4] bdnz Loop_xts_enc6x subic $len,$len,96 # $len-=96 vxor $in0,$twk0,v31 # xor with last round key vcipher $out0,$out0,v24 vcipher $out1,$out1,v24 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk0,$tweak,$rndkey0 vaddubm $tweak,$tweak,$tweak vcipher $out2,$out2,v24 vcipher $out3,$out3,v24 vsldoi $tmp,$tmp,$tmp,15 vcipher $out4,$out4,v24 vcipher $out5,$out5,v24 subfe. r0,r0,r0 # borrow?-1:0 vand $tmp,$tmp,$eighty7 vcipher $out0,$out0,v25 vcipher $out1,$out1,v25 vxor $tweak,$tweak,$tmp vcipher $out2,$out2,v25 vcipher $out3,$out3,v25 vxor $in1,$twk1,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk1,$tweak,$rndkey0 vcipher $out4,$out4,v25 vcipher $out5,$out5,v25 and r0,r0,$len vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vcipher $out0,$out0,v26 vcipher $out1,$out1,v26 vand $tmp,$tmp,$eighty7 vcipher $out2,$out2,v26 vcipher $out3,$out3,v26 vxor $tweak,$tweak,$tmp vcipher $out4,$out4,v26 vcipher $out5,$out5,v26 add $inp,$inp,r0 # $inp is adjusted in such # way that at exit from the # loop inX-in5 are loaded # with last "words" vxor $in2,$twk2,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk2,$tweak,$rndkey0 vaddubm $tweak,$tweak,$tweak vcipher $out0,$out0,v27 vcipher $out1,$out1,v27 vsldoi $tmp,$tmp,$tmp,15 vcipher $out2,$out2,v27 vcipher $out3,$out3,v27 vand $tmp,$tmp,$eighty7 vcipher $out4,$out4,v27 vcipher $out5,$out5,v27 addi $key_,$sp,$FRAME+15 # rewind $key_ vxor $tweak,$tweak,$tmp vcipher $out0,$out0,v28 vcipher $out1,$out1,v28 vxor $in3,$twk3,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk3,$tweak,$rndkey0 vcipher $out2,$out2,v28 vcipher $out3,$out3,v28 vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vcipher $out4,$out4,v28 vcipher $out5,$out5,v28 lvx v24,$x00,$key_ # re-pre-load round[1] vand $tmp,$tmp,$eighty7 vcipher $out0,$out0,v29 vcipher $out1,$out1,v29 vxor $tweak,$tweak,$tmp vcipher $out2,$out2,v29 vcipher $out3,$out3,v29 vxor $in4,$twk4,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk4,$tweak,$rndkey0 vcipher $out4,$out4,v29 vcipher $out5,$out5,v29 lvx v25,$x10,$key_ # re-pre-load round[2] vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vcipher $out0,$out0,v30 vcipher $out1,$out1,v30 vand $tmp,$tmp,$eighty7 vcipher $out2,$out2,v30 vcipher $out3,$out3,v30 vxor $tweak,$tweak,$tmp vcipher $out4,$out4,v30 vcipher $out5,$out5,v30 vxor $in5,$twk5,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk5,$tweak,$rndkey0 vcipherlast $out0,$out0,$in0 lvx_u $in0,$x00,$inp # load next input block vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vcipherlast $out1,$out1,$in1 lvx_u $in1,$x10,$inp vcipherlast $out2,$out2,$in2 le?vperm $in0,$in0,$in0,$leperm lvx_u $in2,$x20,$inp vand $tmp,$tmp,$eighty7 vcipherlast $out3,$out3,$in3 le?vperm $in1,$in1,$in1,$leperm lvx_u $in3,$x30,$inp vcipherlast $out4,$out4,$in4 le?vperm $in2,$in2,$in2,$leperm lvx_u $in4,$x40,$inp vxor $tweak,$tweak,$tmp vcipherlast $tmp,$out5,$in5 # last block might be needed # in stealing mode le?vperm $in3,$in3,$in3,$leperm lvx_u $in5,$x50,$inp addi $inp,$inp,0x60 le?vperm $in4,$in4,$in4,$leperm le?vperm $in5,$in5,$in5,$leperm le?vperm $out0,$out0,$out0,$leperm le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output vxor $out0,$in0,$twk0 le?vperm $out2,$out2,$out2,$leperm stvx_u $out1,$x10,$out vxor $out1,$in1,$twk1 le?vperm $out3,$out3,$out3,$leperm stvx_u $out2,$x20,$out vxor $out2,$in2,$twk2 le?vperm $out4,$out4,$out4,$leperm stvx_u $out3,$x30,$out vxor $out3,$in3,$twk3 le?vperm $out5,$tmp,$tmp,$leperm stvx_u $out4,$x40,$out vxor $out4,$in4,$twk4 le?stvx_u $out5,$x50,$out be?stvx_u $tmp, $x50,$out vxor $out5,$in5,$twk5 addi $out,$out,0x60 mtctr $rounds beq Loop_xts_enc6x # did $len-=96 borrow? addic. $len,$len,0x60 beq Lxts_enc6x_zero cmpwi $len,0x20 blt Lxts_enc6x_one nop beq Lxts_enc6x_two cmpwi $len,0x40 blt Lxts_enc6x_three nop beq Lxts_enc6x_four Lxts_enc6x_five: vxor $out0,$in1,$twk0 vxor $out1,$in2,$twk1 vxor $out2,$in3,$twk2 vxor $out3,$in4,$twk3 vxor $out4,$in5,$twk4 bl _aesp8_xts_enc5x le?vperm $out0,$out0,$out0,$leperm vmr $twk0,$twk5 # unused tweak le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output le?vperm $out2,$out2,$out2,$leperm stvx_u $out1,$x10,$out le?vperm $out3,$out3,$out3,$leperm stvx_u $out2,$x20,$out vxor $tmp,$out4,$twk5 # last block prep for stealing le?vperm $out4,$out4,$out4,$leperm stvx_u $out3,$x30,$out stvx_u $out4,$x40,$out addi $out,$out,0x50 bne Lxts_enc6x_steal b Lxts_enc6x_done .align 4 Lxts_enc6x_four: vxor $out0,$in2,$twk0 vxor $out1,$in3,$twk1 vxor $out2,$in4,$twk2 vxor $out3,$in5,$twk3 vxor $out4,$out4,$out4 bl _aesp8_xts_enc5x le?vperm $out0,$out0,$out0,$leperm vmr $twk0,$twk4 # unused tweak le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output le?vperm $out2,$out2,$out2,$leperm stvx_u $out1,$x10,$out vxor $tmp,$out3,$twk4 # last block prep for stealing le?vperm $out3,$out3,$out3,$leperm stvx_u $out2,$x20,$out stvx_u $out3,$x30,$out addi $out,$out,0x40 bne Lxts_enc6x_steal b Lxts_enc6x_done .align 4 Lxts_enc6x_three: vxor $out0,$in3,$twk0 vxor $out1,$in4,$twk1 vxor $out2,$in5,$twk2 vxor $out3,$out3,$out3 vxor $out4,$out4,$out4 bl _aesp8_xts_enc5x le?vperm $out0,$out0,$out0,$leperm vmr $twk0,$twk3 # unused tweak le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output vxor $tmp,$out2,$twk3 # last block prep for stealing le?vperm $out2,$out2,$out2,$leperm stvx_u $out1,$x10,$out stvx_u $out2,$x20,$out addi $out,$out,0x30 bne Lxts_enc6x_steal b Lxts_enc6x_done .align 4 Lxts_enc6x_two: vxor $out0,$in4,$twk0 vxor $out1,$in5,$twk1 vxor $out2,$out2,$out2 vxor $out3,$out3,$out3 vxor $out4,$out4,$out4 bl _aesp8_xts_enc5x le?vperm $out0,$out0,$out0,$leperm vmr $twk0,$twk2 # unused tweak vxor $tmp,$out1,$twk2 # last block prep for stealing le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output stvx_u $out1,$x10,$out addi $out,$out,0x20 bne Lxts_enc6x_steal b Lxts_enc6x_done .align 4 Lxts_enc6x_one: vxor $out0,$in5,$twk0 nop Loop_xts_enc1x: vcipher $out0,$out0,v24 lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vcipher $out0,$out0,v25 lvx v25,$x10,$key_ # round[4] bdnz Loop_xts_enc1x add $inp,$inp,$taillen cmpwi $taillen,0 vcipher $out0,$out0,v24 subi $inp,$inp,16 vcipher $out0,$out0,v25 lvsr $inpperm,0,$taillen vcipher $out0,$out0,v26 lvx_u $in0,0,$inp vcipher $out0,$out0,v27 addi $key_,$sp,$FRAME+15 # rewind $key_ vcipher $out0,$out0,v28 lvx v24,$x00,$key_ # re-pre-load round[1] vcipher $out0,$out0,v29 lvx v25,$x10,$key_ # re-pre-load round[2] vxor $twk0,$twk0,v31 le?vperm $in0,$in0,$in0,$leperm vcipher $out0,$out0,v30 vperm $in0,$in0,$in0,$inpperm vcipherlast $out0,$out0,$twk0 vmr $twk0,$twk1 # unused tweak vxor $tmp,$out0,$twk1 # last block prep for stealing le?vperm $out0,$out0,$out0,$leperm stvx_u $out0,$x00,$out # store output addi $out,$out,0x10 bne Lxts_enc6x_steal b Lxts_enc6x_done .align 4 Lxts_enc6x_zero: cmpwi $taillen,0 beq Lxts_enc6x_done add $inp,$inp,$taillen subi $inp,$inp,16 lvx_u $in0,0,$inp lvsr $inpperm,0,$taillen # $in5 is no more le?vperm $in0,$in0,$in0,$leperm vperm $in0,$in0,$in0,$inpperm vxor $tmp,$tmp,$twk0 Lxts_enc6x_steal: vxor $in0,$in0,$twk0 vxor $out0,$out0,$out0 vspltisb $out1,-1 vperm $out0,$out0,$out1,$inpperm vsel $out0,$in0,$tmp,$out0 # $tmp is last block, remember? subi r30,$out,17 subi $out,$out,16 mtctr $taillen Loop_xts_enc6x_steal: lbzu r0,1(r30) stb r0,16(r30) bdnz Loop_xts_enc6x_steal li $taillen,0 mtctr $rounds b Loop_xts_enc1x # one more time... .align 4 Lxts_enc6x_done: ${UCMP}i $ivp,0 beq Lxts_enc6x_ret vxor $tweak,$twk0,$rndkey0 le?vperm $tweak,$tweak,$tweak,$leperm stvx_u $tweak,0,$ivp Lxts_enc6x_ret: mtlr r11 li r10,`$FRAME+15` li r11,`$FRAME+31` stvx $seven,r10,$sp # wipe copies of round keys addi r10,r10,32 stvx $seven,r11,$sp addi r11,r11,32 stvx $seven,r10,$sp addi r10,r10,32 stvx $seven,r11,$sp addi r11,r11,32 stvx $seven,r10,$sp addi r10,r10,32 stvx $seven,r11,$sp addi r11,r11,32 stvx $seven,r10,$sp addi r10,r10,32 stvx $seven,r11,$sp addi r11,r11,32 mtspr 256,$vrsave lvx v20,r10,$sp # ABI says so addi r10,r10,32 lvx v21,r11,$sp addi r11,r11,32 lvx v22,r10,$sp addi r10,r10,32 lvx v23,r11,$sp addi r11,r11,32 lvx v24,r10,$sp addi r10,r10,32 lvx v25,r11,$sp addi r11,r11,32 lvx v26,r10,$sp addi r10,r10,32 lvx v27,r11,$sp addi r11,r11,32 lvx v28,r10,$sp addi r10,r10,32 lvx v29,r11,$sp addi r11,r11,32 lvx v30,r10,$sp lvx v31,r11,$sp $POP r26,`$FRAME+21*16+0*$SIZE_T`($sp) $POP r27,`$FRAME+21*16+1*$SIZE_T`($sp) $POP r28,`$FRAME+21*16+2*$SIZE_T`($sp) $POP r29,`$FRAME+21*16+3*$SIZE_T`($sp) $POP r30,`$FRAME+21*16+4*$SIZE_T`($sp) $POP r31,`$FRAME+21*16+5*$SIZE_T`($sp) addi $sp,$sp,`$FRAME+21*16+6*$SIZE_T` blr .long 0 .byte 0,12,0x04,1,0x80,6,6,0 .long 0 .align 5 _aesp8_xts_enc5x: vcipher $out0,$out0,v24 vcipher $out1,$out1,v24 vcipher $out2,$out2,v24 vcipher $out3,$out3,v24 vcipher $out4,$out4,v24 lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vcipher $out0,$out0,v25 vcipher $out1,$out1,v25 vcipher $out2,$out2,v25 vcipher $out3,$out3,v25 vcipher $out4,$out4,v25 lvx v25,$x10,$key_ # round[4] bdnz _aesp8_xts_enc5x add $inp,$inp,$taillen cmpwi $taillen,0 vcipher $out0,$out0,v24 vcipher $out1,$out1,v24 vcipher $out2,$out2,v24 vcipher $out3,$out3,v24 vcipher $out4,$out4,v24 subi $inp,$inp,16 vcipher $out0,$out0,v25 vcipher $out1,$out1,v25 vcipher $out2,$out2,v25 vcipher $out3,$out3,v25 vcipher $out4,$out4,v25 vxor $twk0,$twk0,v31 vcipher $out0,$out0,v26 lvsr $inpperm,r0,$taillen # $in5 is no more vcipher $out1,$out1,v26 vcipher $out2,$out2,v26 vcipher $out3,$out3,v26 vcipher $out4,$out4,v26 vxor $in1,$twk1,v31 vcipher $out0,$out0,v27 lvx_u $in0,0,$inp vcipher $out1,$out1,v27 vcipher $out2,$out2,v27 vcipher $out3,$out3,v27 vcipher $out4,$out4,v27 vxor $in2,$twk2,v31 addi $key_,$sp,$FRAME+15 # rewind $key_ vcipher $out0,$out0,v28 vcipher $out1,$out1,v28 vcipher $out2,$out2,v28 vcipher $out3,$out3,v28 vcipher $out4,$out4,v28 lvx v24,$x00,$key_ # re-pre-load round[1] vxor $in3,$twk3,v31 vcipher $out0,$out0,v29 le?vperm $in0,$in0,$in0,$leperm vcipher $out1,$out1,v29 vcipher $out2,$out2,v29 vcipher $out3,$out3,v29 vcipher $out4,$out4,v29 lvx v25,$x10,$key_ # re-pre-load round[2] vxor $in4,$twk4,v31 vcipher $out0,$out0,v30 vperm $in0,$in0,$in0,$inpperm vcipher $out1,$out1,v30 vcipher $out2,$out2,v30 vcipher $out3,$out3,v30 vcipher $out4,$out4,v30 vcipherlast $out0,$out0,$twk0 vcipherlast $out1,$out1,$in1 vcipherlast $out2,$out2,$in2 vcipherlast $out3,$out3,$in3 vcipherlast $out4,$out4,$in4 blr .long 0 .byte 0,12,0x14,0,0,0,0,0 .align 5 _aesp8_xts_decrypt6x: $STU $sp,-`($FRAME+21*16+6*$SIZE_T)`($sp) mflr r11 li r7,`$FRAME+8*16+15` li r3,`$FRAME+8*16+31` $PUSH r11,`$FRAME+21*16+6*$SIZE_T+$LRSAVE`($sp) stvx v20,r7,$sp # ABI says so addi r7,r7,32 stvx v21,r3,$sp addi r3,r3,32 stvx v22,r7,$sp addi r7,r7,32 stvx v23,r3,$sp addi r3,r3,32 stvx v24,r7,$sp addi r7,r7,32 stvx v25,r3,$sp addi r3,r3,32 stvx v26,r7,$sp addi r7,r7,32 stvx v27,r3,$sp addi r3,r3,32 stvx v28,r7,$sp addi r7,r7,32 stvx v29,r3,$sp addi r3,r3,32 stvx v30,r7,$sp stvx v31,r3,$sp li r0,-1 stw $vrsave,`$FRAME+21*16-4`($sp) # save vrsave li $x10,0x10 $PUSH r26,`$FRAME+21*16+0*$SIZE_T`($sp) li $x20,0x20 $PUSH r27,`$FRAME+21*16+1*$SIZE_T`($sp) li $x30,0x30 $PUSH r28,`$FRAME+21*16+2*$SIZE_T`($sp) li $x40,0x40 $PUSH r29,`$FRAME+21*16+3*$SIZE_T`($sp) li $x50,0x50 $PUSH r30,`$FRAME+21*16+4*$SIZE_T`($sp) li $x60,0x60 $PUSH r31,`$FRAME+21*16+5*$SIZE_T`($sp) li $x70,0x70 mtspr 256,r0 subi $rounds,$rounds,3 # -4 in total lvx $rndkey0,$x00,$key1 # load key schedule lvx v30,$x10,$key1 addi $key1,$key1,0x20 lvx v31,$x00,$key1 ?vperm $rndkey0,$rndkey0,v30,$keyperm addi $key_,$sp,$FRAME+15 mtctr $rounds Load_xts_dec_key: ?vperm v24,v30,v31,$keyperm lvx v30,$x10,$key1 addi $key1,$key1,0x20 stvx v24,$x00,$key_ # off-load round[1] ?vperm v25,v31,v30,$keyperm lvx v31,$x00,$key1 stvx v25,$x10,$key_ # off-load round[2] addi $key_,$key_,0x20 bdnz Load_xts_dec_key lvx v26,$x10,$key1 ?vperm v24,v30,v31,$keyperm lvx v27,$x20,$key1 stvx v24,$x00,$key_ # off-load round[3] ?vperm v25,v31,v26,$keyperm lvx v28,$x30,$key1 stvx v25,$x10,$key_ # off-load round[4] addi $key_,$sp,$FRAME+15 # rewind $key_ ?vperm v26,v26,v27,$keyperm lvx v29,$x40,$key1 ?vperm v27,v27,v28,$keyperm lvx v30,$x50,$key1 ?vperm v28,v28,v29,$keyperm lvx v31,$x60,$key1 ?vperm v29,v29,v30,$keyperm lvx $twk5,$x70,$key1 # borrow $twk5 ?vperm v30,v30,v31,$keyperm lvx v24,$x00,$key_ # pre-load round[1] ?vperm v31,v31,$twk5,$keyperm lvx v25,$x10,$key_ # pre-load round[2] vperm $in0,$inout,$inptail,$inpperm subi $inp,$inp,31 # undo "caller" vxor $twk0,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vand $tmp,$tmp,$eighty7 vxor $out0,$in0,$twk0 vxor $tweak,$tweak,$tmp lvx_u $in1,$x10,$inp vxor $twk1,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in1,$in1,$in1,$leperm vand $tmp,$tmp,$eighty7 vxor $out1,$in1,$twk1 vxor $tweak,$tweak,$tmp lvx_u $in2,$x20,$inp andi. $taillen,$len,15 vxor $twk2,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in2,$in2,$in2,$leperm vand $tmp,$tmp,$eighty7 vxor $out2,$in2,$twk2 vxor $tweak,$tweak,$tmp lvx_u $in3,$x30,$inp sub $len,$len,$taillen vxor $twk3,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in3,$in3,$in3,$leperm vand $tmp,$tmp,$eighty7 vxor $out3,$in3,$twk3 vxor $tweak,$tweak,$tmp lvx_u $in4,$x40,$inp subi $len,$len,0x60 vxor $twk4,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in4,$in4,$in4,$leperm vand $tmp,$tmp,$eighty7 vxor $out4,$in4,$twk4 vxor $tweak,$tweak,$tmp lvx_u $in5,$x50,$inp addi $inp,$inp,0x60 vxor $twk5,$tweak,$rndkey0 vsrab $tmp,$tweak,$seven # next tweak value vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 le?vperm $in5,$in5,$in5,$leperm vand $tmp,$tmp,$eighty7 vxor $out5,$in5,$twk5 vxor $tweak,$tweak,$tmp vxor v31,v31,$rndkey0 mtctr $rounds b Loop_xts_dec6x .align 5 Loop_xts_dec6x: vncipher $out0,$out0,v24 vncipher $out1,$out1,v24 vncipher $out2,$out2,v24 vncipher $out3,$out3,v24 vncipher $out4,$out4,v24 vncipher $out5,$out5,v24 lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vncipher $out0,$out0,v25 vncipher $out1,$out1,v25 vncipher $out2,$out2,v25 vncipher $out3,$out3,v25 vncipher $out4,$out4,v25 vncipher $out5,$out5,v25 lvx v25,$x10,$key_ # round[4] bdnz Loop_xts_dec6x subic $len,$len,96 # $len-=96 vxor $in0,$twk0,v31 # xor with last round key vncipher $out0,$out0,v24 vncipher $out1,$out1,v24 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk0,$tweak,$rndkey0 vaddubm $tweak,$tweak,$tweak vncipher $out2,$out2,v24 vncipher $out3,$out3,v24 vsldoi $tmp,$tmp,$tmp,15 vncipher $out4,$out4,v24 vncipher $out5,$out5,v24 subfe. r0,r0,r0 # borrow?-1:0 vand $tmp,$tmp,$eighty7 vncipher $out0,$out0,v25 vncipher $out1,$out1,v25 vxor $tweak,$tweak,$tmp vncipher $out2,$out2,v25 vncipher $out3,$out3,v25 vxor $in1,$twk1,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk1,$tweak,$rndkey0 vncipher $out4,$out4,v25 vncipher $out5,$out5,v25 and r0,r0,$len vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vncipher $out0,$out0,v26 vncipher $out1,$out1,v26 vand $tmp,$tmp,$eighty7 vncipher $out2,$out2,v26 vncipher $out3,$out3,v26 vxor $tweak,$tweak,$tmp vncipher $out4,$out4,v26 vncipher $out5,$out5,v26 add $inp,$inp,r0 # $inp is adjusted in such # way that at exit from the # loop inX-in5 are loaded # with last "words" vxor $in2,$twk2,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk2,$tweak,$rndkey0 vaddubm $tweak,$tweak,$tweak vncipher $out0,$out0,v27 vncipher $out1,$out1,v27 vsldoi $tmp,$tmp,$tmp,15 vncipher $out2,$out2,v27 vncipher $out3,$out3,v27 vand $tmp,$tmp,$eighty7 vncipher $out4,$out4,v27 vncipher $out5,$out5,v27 addi $key_,$sp,$FRAME+15 # rewind $key_ vxor $tweak,$tweak,$tmp vncipher $out0,$out0,v28 vncipher $out1,$out1,v28 vxor $in3,$twk3,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk3,$tweak,$rndkey0 vncipher $out2,$out2,v28 vncipher $out3,$out3,v28 vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vncipher $out4,$out4,v28 vncipher $out5,$out5,v28 lvx v24,$x00,$key_ # re-pre-load round[1] vand $tmp,$tmp,$eighty7 vncipher $out0,$out0,v29 vncipher $out1,$out1,v29 vxor $tweak,$tweak,$tmp vncipher $out2,$out2,v29 vncipher $out3,$out3,v29 vxor $in4,$twk4,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk4,$tweak,$rndkey0 vncipher $out4,$out4,v29 vncipher $out5,$out5,v29 lvx v25,$x10,$key_ # re-pre-load round[2] vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vncipher $out0,$out0,v30 vncipher $out1,$out1,v30 vand $tmp,$tmp,$eighty7 vncipher $out2,$out2,v30 vncipher $out3,$out3,v30 vxor $tweak,$tweak,$tmp vncipher $out4,$out4,v30 vncipher $out5,$out5,v30 vxor $in5,$twk5,v31 vsrab $tmp,$tweak,$seven # next tweak value vxor $twk5,$tweak,$rndkey0 vncipherlast $out0,$out0,$in0 lvx_u $in0,$x00,$inp # load next input block vaddubm $tweak,$tweak,$tweak vsldoi $tmp,$tmp,$tmp,15 vncipherlast $out1,$out1,$in1 lvx_u $in1,$x10,$inp vncipherlast $out2,$out2,$in2 le?vperm $in0,$in0,$in0,$leperm lvx_u $in2,$x20,$inp vand $tmp,$tmp,$eighty7 vncipherlast $out3,$out3,$in3 le?vperm $in1,$in1,$in1,$leperm lvx_u $in3,$x30,$inp vncipherlast $out4,$out4,$in4 le?vperm $in2,$in2,$in2,$leperm lvx_u $in4,$x40,$inp vxor $tweak,$tweak,$tmp vncipherlast $out5,$out5,$in5 le?vperm $in3,$in3,$in3,$leperm lvx_u $in5,$x50,$inp addi $inp,$inp,0x60 le?vperm $in4,$in4,$in4,$leperm le?vperm $in5,$in5,$in5,$leperm le?vperm $out0,$out0,$out0,$leperm le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output vxor $out0,$in0,$twk0 le?vperm $out2,$out2,$out2,$leperm stvx_u $out1,$x10,$out vxor $out1,$in1,$twk1 le?vperm $out3,$out3,$out3,$leperm stvx_u $out2,$x20,$out vxor $out2,$in2,$twk2 le?vperm $out4,$out4,$out4,$leperm stvx_u $out3,$x30,$out vxor $out3,$in3,$twk3 le?vperm $out5,$out5,$out5,$leperm stvx_u $out4,$x40,$out vxor $out4,$in4,$twk4 stvx_u $out5,$x50,$out vxor $out5,$in5,$twk5 addi $out,$out,0x60 mtctr $rounds beq Loop_xts_dec6x # did $len-=96 borrow? addic. $len,$len,0x60 beq Lxts_dec6x_zero cmpwi $len,0x20 blt Lxts_dec6x_one nop beq Lxts_dec6x_two cmpwi $len,0x40 blt Lxts_dec6x_three nop beq Lxts_dec6x_four Lxts_dec6x_five: vxor $out0,$in1,$twk0 vxor $out1,$in2,$twk1 vxor $out2,$in3,$twk2 vxor $out3,$in4,$twk3 vxor $out4,$in5,$twk4 bl _aesp8_xts_dec5x le?vperm $out0,$out0,$out0,$leperm vmr $twk0,$twk5 # unused tweak vxor $twk1,$tweak,$rndkey0 le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output vxor $out0,$in0,$twk1 le?vperm $out2,$out2,$out2,$leperm stvx_u $out1,$x10,$out le?vperm $out3,$out3,$out3,$leperm stvx_u $out2,$x20,$out le?vperm $out4,$out4,$out4,$leperm stvx_u $out3,$x30,$out stvx_u $out4,$x40,$out addi $out,$out,0x50 bne Lxts_dec6x_steal b Lxts_dec6x_done .align 4 Lxts_dec6x_four: vxor $out0,$in2,$twk0 vxor $out1,$in3,$twk1 vxor $out2,$in4,$twk2 vxor $out3,$in5,$twk3 vxor $out4,$out4,$out4 bl _aesp8_xts_dec5x le?vperm $out0,$out0,$out0,$leperm vmr $twk0,$twk4 # unused tweak vmr $twk1,$twk5 le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output vxor $out0,$in0,$twk5 le?vperm $out2,$out2,$out2,$leperm stvx_u $out1,$x10,$out le?vperm $out3,$out3,$out3,$leperm stvx_u $out2,$x20,$out stvx_u $out3,$x30,$out addi $out,$out,0x40 bne Lxts_dec6x_steal b Lxts_dec6x_done .align 4 Lxts_dec6x_three: vxor $out0,$in3,$twk0 vxor $out1,$in4,$twk1 vxor $out2,$in5,$twk2 vxor $out3,$out3,$out3 vxor $out4,$out4,$out4 bl _aesp8_xts_dec5x le?vperm $out0,$out0,$out0,$leperm vmr $twk0,$twk3 # unused tweak vmr $twk1,$twk4 le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output vxor $out0,$in0,$twk4 le?vperm $out2,$out2,$out2,$leperm stvx_u $out1,$x10,$out stvx_u $out2,$x20,$out addi $out,$out,0x30 bne Lxts_dec6x_steal b Lxts_dec6x_done .align 4 Lxts_dec6x_two: vxor $out0,$in4,$twk0 vxor $out1,$in5,$twk1 vxor $out2,$out2,$out2 vxor $out3,$out3,$out3 vxor $out4,$out4,$out4 bl _aesp8_xts_dec5x le?vperm $out0,$out0,$out0,$leperm vmr $twk0,$twk2 # unused tweak vmr $twk1,$twk3 le?vperm $out1,$out1,$out1,$leperm stvx_u $out0,$x00,$out # store output vxor $out0,$in0,$twk3 stvx_u $out1,$x10,$out addi $out,$out,0x20 bne Lxts_dec6x_steal b Lxts_dec6x_done .align 4 Lxts_dec6x_one: vxor $out0,$in5,$twk0 nop Loop_xts_dec1x: vncipher $out0,$out0,v24 lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vncipher $out0,$out0,v25 lvx v25,$x10,$key_ # round[4] bdnz Loop_xts_dec1x subi r0,$taillen,1 vncipher $out0,$out0,v24 andi. r0,r0,16 cmpwi $taillen,0 vncipher $out0,$out0,v25 sub $inp,$inp,r0 vncipher $out0,$out0,v26 lvx_u $in0,0,$inp vncipher $out0,$out0,v27 addi $key_,$sp,$FRAME+15 # rewind $key_ vncipher $out0,$out0,v28 lvx v24,$x00,$key_ # re-pre-load round[1] vncipher $out0,$out0,v29 lvx v25,$x10,$key_ # re-pre-load round[2] vxor $twk0,$twk0,v31 le?vperm $in0,$in0,$in0,$leperm vncipher $out0,$out0,v30 mtctr $rounds vncipherlast $out0,$out0,$twk0 vmr $twk0,$twk1 # unused tweak vmr $twk1,$twk2 le?vperm $out0,$out0,$out0,$leperm stvx_u $out0,$x00,$out # store output addi $out,$out,0x10 vxor $out0,$in0,$twk2 bne Lxts_dec6x_steal b Lxts_dec6x_done .align 4 Lxts_dec6x_zero: cmpwi $taillen,0 beq Lxts_dec6x_done lvx_u $in0,0,$inp le?vperm $in0,$in0,$in0,$leperm vxor $out0,$in0,$twk1 Lxts_dec6x_steal: vncipher $out0,$out0,v24 lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vncipher $out0,$out0,v25 lvx v25,$x10,$key_ # round[4] bdnz Lxts_dec6x_steal add $inp,$inp,$taillen vncipher $out0,$out0,v24 cmpwi $taillen,0 vncipher $out0,$out0,v25 lvx_u $in0,0,$inp vncipher $out0,$out0,v26 lvsr $inpperm,0,$taillen # $in5 is no more vncipher $out0,$out0,v27 addi $key_,$sp,$FRAME+15 # rewind $key_ vncipher $out0,$out0,v28 lvx v24,$x00,$key_ # re-pre-load round[1] vncipher $out0,$out0,v29 lvx v25,$x10,$key_ # re-pre-load round[2] vxor $twk1,$twk1,v31 le?vperm $in0,$in0,$in0,$leperm vncipher $out0,$out0,v30 vperm $in0,$in0,$in0,$inpperm vncipherlast $tmp,$out0,$twk1 le?vperm $out0,$tmp,$tmp,$leperm le?stvx_u $out0,0,$out be?stvx_u $tmp,0,$out vxor $out0,$out0,$out0 vspltisb $out1,-1 vperm $out0,$out0,$out1,$inpperm vsel $out0,$in0,$tmp,$out0 vxor $out0,$out0,$twk0 subi r30,$out,1 mtctr $taillen Loop_xts_dec6x_steal: lbzu r0,1(r30) stb r0,16(r30) bdnz Loop_xts_dec6x_steal li $taillen,0 mtctr $rounds b Loop_xts_dec1x # one more time... .align 4 Lxts_dec6x_done: ${UCMP}i $ivp,0 beq Lxts_dec6x_ret vxor $tweak,$twk0,$rndkey0 le?vperm $tweak,$tweak,$tweak,$leperm stvx_u $tweak,0,$ivp Lxts_dec6x_ret: mtlr r11 li r10,`$FRAME+15` li r11,`$FRAME+31` stvx $seven,r10,$sp # wipe copies of round keys addi r10,r10,32 stvx $seven,r11,$sp addi r11,r11,32 stvx $seven,r10,$sp addi r10,r10,32 stvx $seven,r11,$sp addi r11,r11,32 stvx $seven,r10,$sp addi r10,r10,32 stvx $seven,r11,$sp addi r11,r11,32 stvx $seven,r10,$sp addi r10,r10,32 stvx $seven,r11,$sp addi r11,r11,32 mtspr 256,$vrsave lvx v20,r10,$sp # ABI says so addi r10,r10,32 lvx v21,r11,$sp addi r11,r11,32 lvx v22,r10,$sp addi r10,r10,32 lvx v23,r11,$sp addi r11,r11,32 lvx v24,r10,$sp addi r10,r10,32 lvx v25,r11,$sp addi r11,r11,32 lvx v26,r10,$sp addi r10,r10,32 lvx v27,r11,$sp addi r11,r11,32 lvx v28,r10,$sp addi r10,r10,32 lvx v29,r11,$sp addi r11,r11,32 lvx v30,r10,$sp lvx v31,r11,$sp $POP r26,`$FRAME+21*16+0*$SIZE_T`($sp) $POP r27,`$FRAME+21*16+1*$SIZE_T`($sp) $POP r28,`$FRAME+21*16+2*$SIZE_T`($sp) $POP r29,`$FRAME+21*16+3*$SIZE_T`($sp) $POP r30,`$FRAME+21*16+4*$SIZE_T`($sp) $POP r31,`$FRAME+21*16+5*$SIZE_T`($sp) addi $sp,$sp,`$FRAME+21*16+6*$SIZE_T` blr .long 0 .byte 0,12,0x04,1,0x80,6,6,0 .long 0 .align 5 _aesp8_xts_dec5x: vncipher $out0,$out0,v24 vncipher $out1,$out1,v24 vncipher $out2,$out2,v24 vncipher $out3,$out3,v24 vncipher $out4,$out4,v24 lvx v24,$x20,$key_ # round[3] addi $key_,$key_,0x20 vncipher $out0,$out0,v25 vncipher $out1,$out1,v25 vncipher $out2,$out2,v25 vncipher $out3,$out3,v25 vncipher $out4,$out4,v25 lvx v25,$x10,$key_ # round[4] bdnz _aesp8_xts_dec5x subi r0,$taillen,1 vncipher $out0,$out0,v24 vncipher $out1,$out1,v24 vncipher $out2,$out2,v24 vncipher $out3,$out3,v24 vncipher $out4,$out4,v24 andi. r0,r0,16 cmpwi $taillen,0 vncipher $out0,$out0,v25 vncipher $out1,$out1,v25 vncipher $out2,$out2,v25 vncipher $out3,$out3,v25 vncipher $out4,$out4,v25 vxor $twk0,$twk0,v31 sub $inp,$inp,r0 vncipher $out0,$out0,v26 vncipher $out1,$out1,v26 vncipher $out2,$out2,v26 vncipher $out3,$out3,v26 vncipher $out4,$out4,v26 vxor $in1,$twk1,v31 vncipher $out0,$out0,v27 lvx_u $in0,0,$inp vncipher $out1,$out1,v27 vncipher $out2,$out2,v27 vncipher $out3,$out3,v27 vncipher $out4,$out4,v27 vxor $in2,$twk2,v31 addi $key_,$sp,$FRAME+15 # rewind $key_ vncipher $out0,$out0,v28 vncipher $out1,$out1,v28 vncipher $out2,$out2,v28 vncipher $out3,$out3,v28 vncipher $out4,$out4,v28 lvx v24,$x00,$key_ # re-pre-load round[1] vxor $in3,$twk3,v31 vncipher $out0,$out0,v29 le?vperm $in0,$in0,$in0,$leperm vncipher $out1,$out1,v29 vncipher $out2,$out2,v29 vncipher $out3,$out3,v29 vncipher $out4,$out4,v29 lvx v25,$x10,$key_ # re-pre-load round[2] vxor $in4,$twk4,v31 vncipher $out0,$out0,v30 vncipher $out1,$out1,v30 vncipher $out2,$out2,v30 vncipher $out3,$out3,v30 vncipher $out4,$out4,v30 vncipherlast $out0,$out0,$twk0 vncipherlast $out1,$out1,$in1 vncipherlast $out2,$out2,$in2 vncipherlast $out3,$out3,$in3 vncipherlast $out4,$out4,$in4 mtctr $rounds blr .long 0 .byte 0,12,0x14,0,0,0,0,0 ___ }} }}} my $consts=1; foreach(split("\n",$code)) { s/\`([^\`]*)\`/eval($1)/geo; # constants table endian-specific conversion if ($consts && m/\.(long|byte)\s+(.+)\s+(\?[a-z]*)$/o) { my $conv=$3; my @bytes=(); # convert to endian-agnostic format if ($1 eq "long") { foreach (split(/,\s*/,$2)) { my $l = /^0/?oct:int; push @bytes,($l>>24)&0xff,($l>>16)&0xff,($l>>8)&0xff,$l&0xff; } } else { @bytes = map(/^0/?oct:int,split(/,\s*/,$2)); } # little-endian conversion if ($flavour =~ /le$/o) { SWITCH: for($conv) { /\?inv/ && do { @bytes=map($_^0xf,@bytes); last; }; /\?rev/ && do { @bytes=reverse(@bytes); last; }; } } #emit print ".byte\t",join(',',map (sprintf("0x%02x",$_),@bytes)),"\n"; next; } $consts=0 if (m/Lconsts:/o); # end of table # instructions prefixed with '?' are endian-specific and need # to be adjusted accordingly... if ($flavour =~ /le$/o) { # little-endian s/le\?//o or s/be\?/#be#/o or s/\?lvsr/lvsl/o or s/\?lvsl/lvsr/o or s/\?(vperm\s+v[0-9]+,\s*)(v[0-9]+,\s*)(v[0-9]+,\s*)(v[0-9]+)/$1$3$2$4/o or s/\?(vsldoi\s+v[0-9]+,\s*)(v[0-9]+,)\s*(v[0-9]+,\s*)([0-9]+)/$1$3$2 16-$4/o or s/\?(vspltw\s+v[0-9]+,\s*)(v[0-9]+,)\s*([0-9])/$1$2 3-$3/o; } else { # big-endian s/le\?/#le#/o or s/be\?//o or s/\?([a-z]+)/$1/o; } print $_,"\n"; } close STDOUT; crypto/vmx/Makefile 0000644 00000001132 14722053666 0010346 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_VMX_ENCRYPT) += vmx-crypto.o vmx-crypto-objs := vmx.o aesp8-ppc.o ghashp8-ppc.o aes.o aes_cbc.o aes_ctr.o aes_xts.o ghash.o ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y) override flavour := linux-ppc64le else override flavour := linux-ppc64 endif quiet_cmd_perl = PERL $@ cmd_perl = $(PERL) $(<) $(flavour) > $(@) targets += aesp8-ppc.S ghashp8-ppc.S $(obj)/aesp8-ppc.S: $(src)/aesp8-ppc.pl FORCE $(call if_changed,perl) $(obj)/ghashp8-ppc.S: $(src)/ghashp8-ppc.pl FORCE $(call if_changed,perl) clean-files := aesp8-ppc.S ghashp8-ppc.S crypto/vmx/ppc-xlate.pl 0000644 00000014720 14722053666 0011147 0 ustar 00 #!/usr/bin/env perl # SPDX-License-Identifier: GPL-2.0 # PowerPC assembler distiller by <appro>. my $flavour = shift; my $output = shift; open STDOUT,">$output" || die "can't open $output: $!"; my %GLOBALS; my $dotinlocallabels=($flavour=~/linux/)?1:0; ################################################################ # directives which need special treatment on different platforms ################################################################ my $globl = sub { my $junk = shift; my $name = shift; my $global = \$GLOBALS{$name}; my $ret; $name =~ s|^[\.\_]||; SWITCH: for ($flavour) { /aix/ && do { $name = ".$name"; last; }; /osx/ && do { $name = "_$name"; last; }; /linux/ && do { $ret = "_GLOBAL($name)"; last; }; } $ret = ".globl $name\nalign 5\n$name:" if (!$ret); $$global = $name; $ret; }; my $text = sub { my $ret = ($flavour =~ /aix/) ? ".csect\t.text[PR],7" : ".text"; $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64le/); $ret; }; my $machine = sub { my $junk = shift; my $arch = shift; if ($flavour =~ /osx/) { $arch =~ s/\"//g; $arch = ($flavour=~/64/) ? "ppc970-64" : "ppc970" if ($arch eq "any"); } ".machine $arch"; }; my $size = sub { if ($flavour =~ /linux/) { shift; my $name = shift; $name =~ s|^[\.\_]||; my $ret = ".size $name,.-".($flavour=~/64$/?".":"").$name; $ret .= "\n.size .$name,.-.$name" if ($flavour=~/64$/); $ret; } else { ""; } }; my $asciz = sub { shift; my $line = join(",",@_); if ($line =~ /^"(.*)"$/) { ".byte " . join(",",unpack("C*",$1),0) . "\n.align 2"; } else { ""; } }; my $quad = sub { shift; my @ret; my ($hi,$lo); for (@_) { if (/^0x([0-9a-f]*?)([0-9a-f]{1,8})$/io) { $hi=$1?"0x$1":"0"; $lo="0x$2"; } elsif (/^([0-9]+)$/o) { $hi=$1>>32; $lo=$1&0xffffffff; } # error-prone with 32-bit perl else { $hi=undef; $lo=$_; } if (defined($hi)) { push(@ret,$flavour=~/le$/o?".long\t$lo,$hi":".long\t$hi,$lo"); } else { push(@ret,".quad $lo"); } } join("\n",@ret); }; ################################################################ # simplified mnemonics not handled by at least one assembler ################################################################ my $cmplw = sub { my $f = shift; my $cr = 0; $cr = shift if ($#_>1); # Some out-of-date 32-bit GNU assembler just can't handle cmplw... ($flavour =~ /linux.*32/) ? " .long ".sprintf "0x%x",31<<26|$cr<<23|$_[0]<<16|$_[1]<<11|64 : " cmplw ".join(',',$cr,@_); }; my $bdnz = sub { my $f = shift; my $bo = $f=~/[\+\-]/ ? 16+9 : 16; # optional "to be taken" hint " bc $bo,0,".shift; } if ($flavour!~/linux/); my $bltlr = sub { my $f = shift; my $bo = $f=~/\-/ ? 12+2 : 12; # optional "not to be taken" hint ($flavour =~ /linux/) ? # GNU as doesn't allow most recent hints " .long ".sprintf "0x%x",19<<26|$bo<<21|16<<1 : " bclr $bo,0"; }; my $bnelr = sub { my $f = shift; my $bo = $f=~/\-/ ? 4+2 : 4; # optional "not to be taken" hint ($flavour =~ /linux/) ? # GNU as doesn't allow most recent hints " .long ".sprintf "0x%x",19<<26|$bo<<21|2<<16|16<<1 : " bclr $bo,2"; }; my $beqlr = sub { my $f = shift; my $bo = $f=~/-/ ? 12+2 : 12; # optional "not to be taken" hint ($flavour =~ /linux/) ? # GNU as doesn't allow most recent hints " .long ".sprintf "0x%X",19<<26|$bo<<21|2<<16|16<<1 : " bclr $bo,2"; }; # GNU assembler can't handle extrdi rA,rS,16,48, or when sum of last two # arguments is 64, with "operand out of range" error. my $extrdi = sub { my ($f,$ra,$rs,$n,$b) = @_; $b = ($b+$n)&63; $n = 64-$n; " rldicl $ra,$rs,$b,$n"; }; my $vmr = sub { my ($f,$vx,$vy) = @_; " vor $vx,$vy,$vy"; }; # Some ABIs specify vrsave, special-purpose register #256, as reserved # for system use. my $no_vrsave = ($flavour =~ /linux-ppc64le/); my $mtspr = sub { my ($f,$idx,$ra) = @_; if ($idx == 256 && $no_vrsave) { " or $ra,$ra,$ra"; } else { " mtspr $idx,$ra"; } }; my $mfspr = sub { my ($f,$rd,$idx) = @_; if ($idx == 256 && $no_vrsave) { " li $rd,-1"; } else { " mfspr $rd,$idx"; } }; # PowerISA 2.06 stuff sub vsxmem_op { my ($f, $vrt, $ra, $rb, $op) = @_; " .long ".sprintf "0x%X",(31<<26)|($vrt<<21)|($ra<<16)|($rb<<11)|($op*2+1); } # made-up unaligned memory reference AltiVec/VMX instructions my $lvx_u = sub { vsxmem_op(@_, 844); }; # lxvd2x my $stvx_u = sub { vsxmem_op(@_, 972); }; # stxvd2x my $lvdx_u = sub { vsxmem_op(@_, 588); }; # lxsdx my $stvdx_u = sub { vsxmem_op(@_, 716); }; # stxsdx my $lvx_4w = sub { vsxmem_op(@_, 780); }; # lxvw4x my $stvx_4w = sub { vsxmem_op(@_, 908); }; # stxvw4x # PowerISA 2.07 stuff sub vcrypto_op { my ($f, $vrt, $vra, $vrb, $op) = @_; " .long ".sprintf "0x%X",(4<<26)|($vrt<<21)|($vra<<16)|($vrb<<11)|$op; } my $vcipher = sub { vcrypto_op(@_, 1288); }; my $vcipherlast = sub { vcrypto_op(@_, 1289); }; my $vncipher = sub { vcrypto_op(@_, 1352); }; my $vncipherlast= sub { vcrypto_op(@_, 1353); }; my $vsbox = sub { vcrypto_op(@_, 0, 1480); }; my $vshasigmad = sub { my ($st,$six)=splice(@_,-2); vcrypto_op(@_, $st<<4|$six, 1730); }; my $vshasigmaw = sub { my ($st,$six)=splice(@_,-2); vcrypto_op(@_, $st<<4|$six, 1666); }; my $vpmsumb = sub { vcrypto_op(@_, 1032); }; my $vpmsumd = sub { vcrypto_op(@_, 1224); }; my $vpmsubh = sub { vcrypto_op(@_, 1096); }; my $vpmsumw = sub { vcrypto_op(@_, 1160); }; my $vaddudm = sub { vcrypto_op(@_, 192); }; my $vadduqm = sub { vcrypto_op(@_, 256); }; my $mtsle = sub { my ($f, $arg) = @_; " .long ".sprintf "0x%X",(31<<26)|($arg<<21)|(147*2); }; print "#include <asm/ppc_asm.h>\n" if $flavour =~ /linux/; while($line=<>) { $line =~ s|[#!;].*$||; # get rid of asm-style comments... $line =~ s|/\*.*\*/||; # ... and C-style comments... $line =~ s|^\s+||; # ... and skip white spaces in beginning... $line =~ s|\s+$||; # ... and at the end { $line =~ s|\b\.L(\w+)|L$1|g; # common denominator for Locallabel $line =~ s|\bL(\w+)|\.L$1|g if ($dotinlocallabels); } { $line =~ s|^\s*(\.?)(\w+)([\.\+\-]?)\s*||; my $c = $1; $c = "\t" if ($c eq ""); my $mnemonic = $2; my $f = $3; my $opcode = eval("\$$mnemonic"); $line =~ s/\b(c?[rf]|v|vs)([0-9]+)\b/$2/g if ($c ne "." and $flavour !~ /osx/); if (ref($opcode) eq 'CODE') { $line = &$opcode($f,split(',',$line)); } elsif ($mnemonic) { $line = $c.$mnemonic.$f."\t".$line; } } print $line if ($line); print "\n"; } close STDOUT; crypto/Kconfig 0000644 00000057567 14722053666 0007426 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig CRYPTO_HW bool "Hardware crypto devices" default y ---help--- Say Y here to get to see options for hardware crypto devices and processors. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if CRYPTO_HW config CRYPTO_DEV_PADLOCK tristate "Support for VIA PadLock ACE" depends on X86 && !UML help Some VIA processors come with an integrated crypto engine (so called VIA PadLock ACE, Advanced Cryptography Engine) that provides instructions for very fast cryptographic operations with supported algorithms. The instructions are used only when the CPU supports them. Otherwise software encryption is used. config CRYPTO_DEV_PADLOCK_AES tristate "PadLock driver for AES algorithm" depends on CRYPTO_DEV_PADLOCK select CRYPTO_BLKCIPHER select CRYPTO_LIB_AES help Use VIA PadLock for AES algorithm. Available in VIA C3 and newer CPUs. If unsure say M. The compiled module will be called padlock-aes. config CRYPTO_DEV_PADLOCK_SHA tristate "PadLock driver for SHA1 and SHA256 algorithms" depends on CRYPTO_DEV_PADLOCK select CRYPTO_HASH select CRYPTO_SHA1 select CRYPTO_SHA256 help Use VIA PadLock for SHA1/SHA256 algorithms. Available in VIA C7 and newer processors. If unsure say M. The compiled module will be called padlock-sha. config CRYPTO_DEV_GEODE tristate "Support for the Geode LX AES engine" depends on X86_32 && PCI select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER help Say 'Y' here to use the AMD Geode LX processor on-board AES engine for the CryptoAPI AES algorithm. To compile this driver as a module, choose M here: the module will be called geode-aes. config ZCRYPT tristate "Support for s390 cryptographic adapters" depends on S390 select HW_RANDOM help Select this option if you want to enable support for s390 cryptographic adapters like: + PCI-X Cryptographic Coprocessor (PCIXCC) + Crypto Express 2,3,4 or 5 Coprocessor (CEXxC) + Crypto Express 2,3,4 or 5 Accelerator (CEXxA) + Crypto Express 4 or 5 EP11 Coprocessor (CEXxP) config ZCRYPT_MULTIDEVNODES bool "Support for multiple zcrypt device nodes" default y depends on S390 depends on ZCRYPT help With this option enabled the zcrypt device driver can provide multiple devices nodes in /dev. Each device node can get customized to limit access and narrow down the use of the available crypto hardware. config PKEY tristate "Kernel API for protected key handling" depends on S390 depends on ZCRYPT help With this option enabled the pkey kernel module provides an API for creation and handling of protected keys. Other parts of the kernel or userspace applications may use these functions. Select this option if you want to enable the kernel and userspace API for proteced key handling. Please note that creation of protected keys from secure keys requires to have at least one CEX card in coprocessor mode available at runtime. config CRYPTO_PAES_S390 tristate "PAES cipher algorithms" depends on S390 depends on ZCRYPT depends on PKEY select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER help This is the s390 hardware accelerated implementation of the AES cipher algorithms for use with protected key. Select this option if you want to use the paes cipher for example to use protected key encrypted devices. config CRYPTO_SHA1_S390 tristate "SHA1 digest algorithm" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of the SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). It is available as of z990. config CRYPTO_SHA256_S390 tristate "SHA256 digest algorithm" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of the SHA256 secure hash standard (DFIPS 180-2). It is available as of z9. config CRYPTO_SHA512_S390 tristate "SHA384 and SHA512 digest algorithm" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of the SHA512 secure hash standard. It is available as of z10. config CRYPTO_SHA3_256_S390 tristate "SHA3_224 and SHA3_256 digest algorithm" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of the SHA3_256 secure hash standard. It is available as of z14. config CRYPTO_SHA3_512_S390 tristate "SHA3_384 and SHA3_512 digest algorithm" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of the SHA3_512 secure hash standard. It is available as of z14. config CRYPTO_DES_S390 tristate "DES and Triple DES cipher algorithms" depends on S390 select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER select CRYPTO_LIB_DES help This is the s390 hardware accelerated implementation of the DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3). As of z990 the ECB and CBC mode are hardware accelerated. As of z196 the CTR mode is hardware accelerated. config CRYPTO_AES_S390 tristate "AES cipher algorithms" depends on S390 select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER help This is the s390 hardware accelerated implementation of the AES cipher algorithms (FIPS-197). As of z9 the ECB and CBC modes are hardware accelerated for 128 bit keys. As of z10 the ECB and CBC modes are hardware accelerated for all AES key sizes. As of z196 the CTR mode is hardware accelerated for all AES key sizes and XTS mode is hardware accelerated for 256 and 512 bit keys. config S390_PRNG tristate "Pseudo random number generator device driver" depends on S390 default "m" help Select this option if you want to use the s390 pseudo random number generator. The PRNG is part of the cryptographic processor functions and uses triple-DES to generate secure random numbers like the ANSI X9.17 standard. User-space programs access the pseudo-random-number device through the char device /dev/prandom. It is available as of z9. config CRYPTO_GHASH_S390 tristate "GHASH hash function" depends on S390 select CRYPTO_HASH help This is the s390 hardware accelerated implementation of GHASH, the hash function used in GCM (Galois/Counter mode). It is available as of z196. config CRYPTO_CRC32_S390 tristate "CRC-32 algorithms" depends on S390 select CRYPTO_HASH select CRC32 help Select this option if you want to use hardware accelerated implementations of CRC algorithms. With this option, you can optimize the computation of CRC-32 (IEEE 802.3 Ethernet) and CRC-32C (Castagnoli). It is available with IBM z13 or later. config CRYPTO_DEV_MARVELL_CESA tristate "Marvell's Cryptographic Engine driver" depends on PLAT_ORION || ARCH_MVEBU select CRYPTO_LIB_AES select CRYPTO_LIB_DES select CRYPTO_BLKCIPHER select CRYPTO_HASH select SRAM help This driver allows you to utilize the Cryptographic Engines and Security Accelerator (CESA) which can be found on MVEBU and ORION platforms. This driver supports CPU offload through DMA transfers. config CRYPTO_DEV_NIAGARA2 tristate "Niagara2 Stream Processing Unit driver" select CRYPTO_LIB_DES select CRYPTO_BLKCIPHER select CRYPTO_HASH select CRYPTO_MD5 select CRYPTO_SHA1 select CRYPTO_SHA256 depends on SPARC64 help Each core of a Niagara2 processor contains a Stream Processing Unit, which itself contains several cryptographic sub-units. One set provides the Modular Arithmetic Unit, used for SSL offload. The other set provides the Cipher Group, which can perform encryption, decryption, hashing, checksumming, and raw copies. config CRYPTO_DEV_HIFN_795X tristate "Driver HIFN 795x crypto accelerator chips" select CRYPTO_LIB_DES select CRYPTO_BLKCIPHER select HW_RANDOM if CRYPTO_DEV_HIFN_795X_RNG depends on PCI depends on !ARCH_DMA_ADDR_T_64BIT help This option allows you to have support for HIFN 795x crypto adapters. config CRYPTO_DEV_HIFN_795X_RNG bool "HIFN 795x random number generator" depends on CRYPTO_DEV_HIFN_795X help Select this option if you want to enable the random number generator on the HIFN 795x crypto adapters. source "drivers/crypto/caam/Kconfig" config CRYPTO_DEV_TALITOS tristate "Talitos Freescale Security Engine (SEC)" select CRYPTO_AEAD select CRYPTO_AUTHENC select CRYPTO_BLKCIPHER select CRYPTO_HASH select CRYPTO_LIB_DES select HW_RANDOM depends on FSL_SOC help Say 'Y' here to use the Freescale Security Engine (SEC) to offload cryptographic algorithm computation. The Freescale SEC is present on PowerQUICC 'E' processors, such as the MPC8349E and MPC8548E. To compile this driver as a module, choose M here: the module will be called talitos. config CRYPTO_DEV_TALITOS1 bool "SEC1 (SEC 1.0 and SEC Lite 1.2)" depends on CRYPTO_DEV_TALITOS depends on PPC_8xx || PPC_82xx default y help Say 'Y' here to use the Freescale Security Engine (SEC) version 1.0 found on MPC82xx or the Freescale Security Engine (SEC Lite) version 1.2 found on MPC8xx config CRYPTO_DEV_TALITOS2 bool "SEC2+ (SEC version 2.0 or upper)" depends on CRYPTO_DEV_TALITOS default y if !PPC_8xx help Say 'Y' here to use the Freescale Security Engine (SEC) version 2 and following as found on MPC83xx, MPC85xx, etc ... config CRYPTO_DEV_IXP4XX tristate "Driver for IXP4xx crypto hardware acceleration" depends on ARCH_IXP4XX && IXP4XX_QMGR && IXP4XX_NPE select CRYPTO_LIB_DES select CRYPTO_AEAD select CRYPTO_AUTHENC select CRYPTO_BLKCIPHER help Driver for the IXP4xx NPE crypto engine. config CRYPTO_DEV_PPC4XX tristate "Driver AMCC PPC4xx crypto accelerator" depends on PPC && 4xx select CRYPTO_HASH select CRYPTO_AEAD select CRYPTO_AES select CRYPTO_LIB_AES select CRYPTO_CCM select CRYPTO_CTR select CRYPTO_GCM select CRYPTO_BLKCIPHER help This option allows you to have support for AMCC crypto acceleration. config HW_RANDOM_PPC4XX bool "PowerPC 4xx generic true random number generator support" depends on CRYPTO_DEV_PPC4XX && HW_RANDOM default y ---help--- This option provides the kernel-side support for the TRNG hardware found in the security function of some PowerPC 4xx SoCs. config CRYPTO_DEV_OMAP tristate "Support for OMAP crypto HW accelerators" depends on ARCH_OMAP2PLUS help OMAP processors have various crypto HW accelerators. Select this if you want to use the OMAP modules for any of the crypto algorithms. if CRYPTO_DEV_OMAP config CRYPTO_DEV_OMAP_SHAM tristate "Support for OMAP MD5/SHA1/SHA2 hw accelerator" depends on ARCH_OMAP2PLUS select CRYPTO_SHA1 select CRYPTO_MD5 select CRYPTO_SHA256 select CRYPTO_SHA512 select CRYPTO_HMAC help OMAP processors have MD5/SHA1/SHA2 hw accelerator. Select this if you want to use the OMAP module for MD5/SHA1/SHA2 algorithms. config CRYPTO_DEV_OMAP_AES tristate "Support for OMAP AES hw engine" depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP2PLUS select CRYPTO_AES select CRYPTO_BLKCIPHER select CRYPTO_ENGINE select CRYPTO_CBC select CRYPTO_ECB select CRYPTO_CTR select CRYPTO_AEAD help OMAP processors have AES module accelerator. Select this if you want to use the OMAP module for AES algorithms. config CRYPTO_DEV_OMAP_DES tristate "Support for OMAP DES/3DES hw engine" depends on ARCH_OMAP2PLUS select CRYPTO_LIB_DES select CRYPTO_BLKCIPHER select CRYPTO_ENGINE help OMAP processors have DES/3DES module accelerator. Select this if you want to use the OMAP module for DES and 3DES algorithms. Currently the ECB and CBC modes of operation are supported by the driver. Also accesses made on unaligned boundaries are supported. endif # CRYPTO_DEV_OMAP config CRYPTO_DEV_PICOXCELL tristate "Support for picoXcell IPSEC and Layer2 crypto engines" depends on (ARCH_PICOXCELL || COMPILE_TEST) && HAVE_CLK select CRYPTO_AEAD select CRYPTO_AES select CRYPTO_AUTHENC select CRYPTO_BLKCIPHER select CRYPTO_LIB_DES select CRYPTO_CBC select CRYPTO_ECB select CRYPTO_SEQIV help This option enables support for the hardware offload engines in the Picochip picoXcell SoC devices. Select this for IPSEC ESP offload and for 3gpp Layer 2 ciphering support. Saying m here will build a module named picoxcell_crypto. config CRYPTO_DEV_SAHARA tristate "Support for SAHARA crypto accelerator" depends on ARCH_MXC && OF select CRYPTO_BLKCIPHER select CRYPTO_AES select CRYPTO_ECB help This option enables support for the SAHARA HW crypto accelerator found in some Freescale i.MX chips. config CRYPTO_DEV_EXYNOS_RNG tristate "EXYNOS HW pseudo random number generator support" depends on ARCH_EXYNOS || COMPILE_TEST depends on HAS_IOMEM select CRYPTO_RNG ---help--- This driver provides kernel-side support through the cryptographic API for the pseudo random number generator hardware found on Exynos SoCs. To compile this driver as a module, choose M here: the module will be called exynos-rng. If unsure, say Y. config CRYPTO_DEV_S5P tristate "Support for Samsung S5PV210/Exynos crypto accelerator" depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST depends on HAS_IOMEM select CRYPTO_AES select CRYPTO_BLKCIPHER help This option allows you to have support for S5P crypto acceleration. Select this to offload Samsung S5PV210 or S5PC110, Exynos from AES algorithms execution. config CRYPTO_DEV_EXYNOS_HASH bool "Support for Samsung Exynos HASH accelerator" depends on CRYPTO_DEV_S5P depends on !CRYPTO_DEV_EXYNOS_RNG && CRYPTO_DEV_EXYNOS_RNG!=m select CRYPTO_SHA1 select CRYPTO_MD5 select CRYPTO_SHA256 help Select this to offload Exynos from HASH MD5/SHA1/SHA256. This will select software SHA1, MD5 and SHA256 as they are needed for small and zero-size messages. HASH algorithms will be disabled if EXYNOS_RNG is enabled due to hw conflict. config CRYPTO_DEV_NX bool "Support for IBM PowerPC Nest (NX) cryptographic acceleration" depends on PPC64 help This enables support for the NX hardware cryptographic accelerator coprocessor that is in IBM PowerPC P7+ or later processors. This does not actually enable any drivers, it only allows you to select which acceleration type (encryption and/or compression) to enable. if CRYPTO_DEV_NX source "drivers/crypto/nx/Kconfig" endif config CRYPTO_DEV_UX500 tristate "Driver for ST-Ericsson UX500 crypto hardware acceleration" depends on ARCH_U8500 help Driver for ST-Ericsson UX500 crypto engine. if CRYPTO_DEV_UX500 source "drivers/crypto/ux500/Kconfig" endif # if CRYPTO_DEV_UX500 config CRYPTO_DEV_ATMEL_AUTHENC bool "Support for Atmel IPSEC/SSL hw accelerator" depends on ARCH_AT91 || COMPILE_TEST depends on CRYPTO_DEV_ATMEL_AES help Some Atmel processors can combine the AES and SHA hw accelerators to enhance support of IPSEC/SSL. Select this if you want to use the Atmel modules for authenc(hmac(shaX),Y(cbc)) algorithms. config CRYPTO_DEV_ATMEL_AES tristate "Support for Atmel AES hw accelerator" depends on ARCH_AT91 || COMPILE_TEST select CRYPTO_AES select CRYPTO_AEAD select CRYPTO_BLKCIPHER select CRYPTO_AUTHENC if CRYPTO_DEV_ATMEL_AUTHENC select CRYPTO_DEV_ATMEL_SHA if CRYPTO_DEV_ATMEL_AUTHENC help Some Atmel processors have AES hw accelerator. Select this if you want to use the Atmel module for AES algorithms. To compile this driver as a module, choose M here: the module will be called atmel-aes. config CRYPTO_DEV_ATMEL_TDES tristate "Support for Atmel DES/TDES hw accelerator" depends on ARCH_AT91 || COMPILE_TEST select CRYPTO_LIB_DES select CRYPTO_BLKCIPHER help Some Atmel processors have DES/TDES hw accelerator. Select this if you want to use the Atmel module for DES/TDES algorithms. To compile this driver as a module, choose M here: the module will be called atmel-tdes. config CRYPTO_DEV_ATMEL_SHA tristate "Support for Atmel SHA hw accelerator" depends on ARCH_AT91 || COMPILE_TEST select CRYPTO_HASH help Some Atmel processors have SHA1/SHA224/SHA256/SHA384/SHA512 hw accelerator. Select this if you want to use the Atmel module for SHA1/SHA224/SHA256/SHA384/SHA512 algorithms. To compile this driver as a module, choose M here: the module will be called atmel-sha. config CRYPTO_DEV_ATMEL_I2C tristate select BITREVERSE config CRYPTO_DEV_ATMEL_ECC tristate "Support for Microchip / Atmel ECC hw accelerator" depends on I2C select CRYPTO_DEV_ATMEL_I2C select CRYPTO_ECDH select CRC16 help Microhip / Atmel ECC hw accelerator. Select this if you want to use the Microchip / Atmel module for ECDH algorithm. To compile this driver as a module, choose M here: the module will be called atmel-ecc. config CRYPTO_DEV_ATMEL_SHA204A tristate "Support for Microchip / Atmel SHA accelerator and RNG" depends on I2C select CRYPTO_DEV_ATMEL_I2C select HW_RANDOM select CRC16 help Microhip / Atmel SHA accelerator and RNG. Select this if you want to use the Microchip / Atmel SHA204A module as a random number generator. (Other functions of the chip are currently not exposed by this driver) To compile this driver as a module, choose M here: the module will be called atmel-sha204a. config CRYPTO_DEV_CCP bool "Support for AMD Secure Processor" depends on ((X86 && PCI) || (ARM64 && (OF_ADDRESS || ACPI))) && HAS_IOMEM help The AMD Secure Processor provides support for the Cryptographic Coprocessor (CCP) and the Platform Security Processor (PSP) devices. if CRYPTO_DEV_CCP source "drivers/crypto/ccp/Kconfig" endif config CRYPTO_DEV_MXS_DCP tristate "Support for Freescale MXS DCP" depends on (ARCH_MXS || ARCH_MXC) select STMP_DEVICE select CRYPTO_CBC select CRYPTO_ECB select CRYPTO_AES select CRYPTO_BLKCIPHER select CRYPTO_HASH help The Freescale i.MX23/i.MX28 has SHA1/SHA256 and AES128 CBC/ECB co-processor on the die. To compile this driver as a module, choose M here: the module will be called mxs-dcp. source "drivers/crypto/qat/Kconfig" source "drivers/crypto/cavium/cpt/Kconfig" source "drivers/crypto/cavium/nitrox/Kconfig" config CRYPTO_DEV_CAVIUM_ZIP tristate "Cavium ZIP driver" depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) ---help--- Select this option if you want to enable compression/decompression acceleration on Cavium's ARM based SoCs config CRYPTO_DEV_QCE tristate "Qualcomm crypto engine accelerator" depends on ARCH_QCOM || COMPILE_TEST depends on HAS_IOMEM select CRYPTO_AES select CRYPTO_LIB_DES select CRYPTO_ECB select CRYPTO_CBC select CRYPTO_XTS select CRYPTO_CTR select CRYPTO_BLKCIPHER help This driver supports Qualcomm crypto engine accelerator hardware. To compile this driver as a module, choose M here. The module will be called qcrypto. config CRYPTO_DEV_QCOM_RNG tristate "Qualcomm Random Number Generator Driver" depends on ARCH_QCOM || COMPILE_TEST select CRYPTO_RNG help This driver provides support for the Random Number Generator hardware found on Qualcomm SoCs. To compile this driver as a module, choose M here. The module will be called qcom-rng. If unsure, say N. config CRYPTO_DEV_VMX bool "Support for VMX cryptographic acceleration instructions" depends on PPC64 && VSX help Support for VMX cryptographic acceleration instructions. source "drivers/crypto/vmx/Kconfig" config CRYPTO_DEV_IMGTEC_HASH tristate "Imagination Technologies hardware hash accelerator" depends on MIPS || COMPILE_TEST select CRYPTO_MD5 select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_HASH help This driver interfaces with the Imagination Technologies hardware hash accelerator. Supporting MD5/SHA1/SHA224/SHA256 hashing algorithms. config CRYPTO_DEV_SUN4I_SS tristate "Support for Allwinner Security System cryptographic accelerator" depends on ARCH_SUNXI && !64BIT select CRYPTO_MD5 select CRYPTO_SHA1 select CRYPTO_AES select CRYPTO_LIB_DES select CRYPTO_BLKCIPHER help Some Allwinner SoC have a crypto accelerator named Security System. Select this if you want to use it. The Security System handle AES/DES/3DES ciphers in CBC mode and SHA1 and MD5 hash algorithms. To compile this driver as a module, choose M here: the module will be called sun4i-ss. config CRYPTO_DEV_SUN4I_SS_PRNG bool "Support for Allwinner Security System PRNG" depends on CRYPTO_DEV_SUN4I_SS select CRYPTO_RNG help Select this option if you want to provide kernel-side support for the Pseudo-Random Number Generator found in the Security System. config CRYPTO_DEV_ROCKCHIP tristate "Rockchip's Cryptographic Engine driver" depends on OF && ARCH_ROCKCHIP select CRYPTO_AES select CRYPTO_LIB_DES select CRYPTO_MD5 select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_HASH select CRYPTO_BLKCIPHER help This driver interfaces with the hardware crypto accelerator. Supporting cbc/ecb chainmode, and aes/des/des3_ede cipher mode. config CRYPTO_DEV_MEDIATEK tristate "MediaTek's EIP97 Cryptographic Engine driver" depends on (ARM && ARCH_MEDIATEK) || COMPILE_TEST select CRYPTO_AES select CRYPTO_AEAD select CRYPTO_BLKCIPHER select CRYPTO_CTR select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 select CRYPTO_HMAC help This driver allows you to utilize the hardware crypto accelerator EIP97 which can be found on the MT7623 MT2701, MT8521p, etc .... Select this if you want to use it for AES/SHA1/SHA2 algorithms. source "drivers/crypto/chelsio/Kconfig" source "drivers/crypto/virtio/Kconfig" config CRYPTO_DEV_BCM_SPU tristate "Broadcom symmetric crypto/hash acceleration support" depends on ARCH_BCM_IPROC depends on MAILBOX default m select CRYPTO_AUTHENC select CRYPTO_LIB_DES select CRYPTO_MD5 select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 help This driver provides support for Broadcom crypto acceleration using the Secure Processing Unit (SPU). The SPU driver registers ablkcipher, ahash, and aead algorithms with the kernel cryptographic API. source "drivers/crypto/stm32/Kconfig" config CRYPTO_DEV_SAFEXCEL tristate "Inside Secure's SafeXcel cryptographic engine driver" depends on (OF || PCI || COMPILE_TEST) && HAS_IOMEM select CRYPTO_LIB_AES select CRYPTO_AUTHENC select CRYPTO_BLKCIPHER select CRYPTO_LIB_DES select CRYPTO_HASH select CRYPTO_HMAC select CRYPTO_MD5 select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 help This driver interfaces with the SafeXcel EIP-97 and EIP-197 cryptographic engines designed by Inside Secure. It currently accelerates DES, 3DES and AES block ciphers in ECB and CBC mode, as well as SHA1, SHA224, SHA256, SHA384 and SHA512 hash algorithms for both basic hash and HMAC. Additionally, it accelerates combined AES-CBC/HMAC-SHA AEAD operations. config CRYPTO_DEV_ARTPEC6 tristate "Support for Axis ARTPEC-6/7 hardware crypto acceleration." depends on ARM && (ARCH_ARTPEC || COMPILE_TEST) depends on OF select CRYPTO_AEAD select CRYPTO_AES select CRYPTO_ALGAPI select CRYPTO_BLKCIPHER select CRYPTO_CTR select CRYPTO_HASH select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 help Enables the driver for the on-chip crypto accelerator of Axis ARTPEC SoCs. To compile this driver as a module, choose M here. config CRYPTO_DEV_CCREE tristate "Support for ARM TrustZone CryptoCell family of security processors" depends on CRYPTO && CRYPTO_HW && OF && HAS_DMA default n select CRYPTO_HASH select CRYPTO_BLKCIPHER select CRYPTO_LIB_DES select CRYPTO_AEAD select CRYPTO_AUTHENC select CRYPTO_SHA1 select CRYPTO_MD5 select CRYPTO_SHA256 select CRYPTO_SHA512 select CRYPTO_HMAC select CRYPTO_AES select CRYPTO_CBC select CRYPTO_ECB select CRYPTO_CTR select CRYPTO_XTS select CRYPTO_SM4 select CRYPTO_SM3 help Say 'Y' to enable a driver for the REE interface of the Arm TrustZone CryptoCell family of processors. Currently the CryptoCell 713, 703, 712, 710 and 630 are supported. Choose this if you wish to use hardware acceleration of cryptographic operations on the system REE. If unsure say Y. source "drivers/crypto/hisilicon/Kconfig" endif # CRYPTO_HW crypto/marvell/Makefile 0000644 00000000223 14722053666 0011176 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_MARVELL_CESA) += marvell-cesa.o marvell-cesa-objs := cesa.o cipher.o hash.o tdma.o crypto/caam/Kconfig 0000644 00000012112 14722053666 0010300 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config CRYPTO_DEV_FSL_CAAM_COMMON tristate config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC tristate config CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC tristate config CRYPTO_DEV_FSL_CAAM tristate "Freescale CAAM-Multicore platform driver backend" depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE select SOC_BUS select CRYPTO_DEV_FSL_CAAM_COMMON help Enables the driver module for Freescale's Cryptographic Accelerator and Assurance Module (CAAM), also known as the SEC version 4 (SEC4). This module creates job ring devices, and configures h/w to operate as a DPAA component automatically, depending on h/w feature availability. To compile this driver as a module, choose M here: the module will be called caam. if CRYPTO_DEV_FSL_CAAM config CRYPTO_DEV_FSL_CAAM_DEBUG bool "Enable debug output in CAAM driver" help Selecting this will enable printing of various debug information in the CAAM driver. menuconfig CRYPTO_DEV_FSL_CAAM_JR tristate "Freescale CAAM Job Ring driver backend" default y help Enables the driver module for Job Rings which are part of Freescale's Cryptographic Accelerator and Assurance Module (CAAM). This module adds a job ring operation interface. To compile this driver as a module, choose M here: the module will be called caam_jr. if CRYPTO_DEV_FSL_CAAM_JR config CRYPTO_DEV_FSL_CAAM_RINGSIZE int "Job Ring size" range 2 9 default "9" help Select size of Job Rings as a power of 2, within the range 2-9 (ring size 4-512). Examples: 2 => 4 3 => 8 4 => 16 5 => 32 6 => 64 7 => 128 8 => 256 9 => 512 config CRYPTO_DEV_FSL_CAAM_INTC bool "Job Ring interrupt coalescing" help Enable the Job Ring's interrupt coalescing feature. Note: the driver already provides adequate interrupt coalescing in software. config CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD int "Job Ring interrupt coalescing count threshold" depends on CRYPTO_DEV_FSL_CAAM_INTC range 1 255 default 255 help Select number of descriptor completions to queue before raising an interrupt, in the range 1-255. Note that a selection of 1 functionally defeats the coalescing feature, and a selection equal or greater than the job ring size will force timeouts. config CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD int "Job Ring interrupt coalescing timer threshold" depends on CRYPTO_DEV_FSL_CAAM_INTC range 1 65535 default 2048 help Select number of bus clocks/64 to timeout in the case that one or more descriptor completions are queued without reaching the count threshold. Range is 1-65535. config CRYPTO_DEV_FSL_CAAM_CRYPTO_API bool "Register algorithm implementations with the Crypto API" default y select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC select CRYPTO_AEAD select CRYPTO_AUTHENC select CRYPTO_BLKCIPHER select CRYPTO_LIB_DES help Selecting this will offload crypto for users of the scatterlist crypto API (such as the linux native IPSec stack) to the SEC4 via job ring. config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI bool "Queue Interface as Crypto API backend" depends on FSL_DPAA && NET default y select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC select CRYPTO_AUTHENC select CRYPTO_BLKCIPHER select CRYPTO_DES select CRYPTO_XTS help Selecting this will use CAAM Queue Interface (QI) for sending & receiving crypto jobs to/from CAAM. This gives better performance than job ring interface when the number of cores are more than the number of job rings assigned to the kernel. The number of portals assigned to the kernel should also be more than the number of job rings. config CRYPTO_DEV_FSL_CAAM_AHASH_API bool "Register hash algorithm implementations with Crypto API" default y select CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC select CRYPTO_HASH help Selecting this will offload ahash for users of the scatterlist crypto API to the SEC4 via job ring. config CRYPTO_DEV_FSL_CAAM_PKC_API bool "Register public key cryptography implementations with Crypto API" default y select CRYPTO_RSA help Selecting this will allow SEC Public key support for RSA. Supported cryptographic primitives: encryption, decryption, signature and verification. config CRYPTO_DEV_FSL_CAAM_RNG_API bool "Register caam device for hwrng API" default y select CRYPTO_RNG select HW_RANDOM help Selecting this will register the SEC4 hardware rng to the hw_random API for suppying the kernel entropy pool. endif # CRYPTO_DEV_FSL_CAAM_JR endif # CRYPTO_DEV_FSL_CAAM config CRYPTO_DEV_FSL_DPAA2_CAAM tristate "QorIQ DPAA2 CAAM (DPSECI) driver" depends on FSL_MC_DPIO depends on NETDEVICES select CRYPTO_DEV_FSL_CAAM_COMMON select CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC select CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC select CRYPTO_BLKCIPHER select CRYPTO_AUTHENC select CRYPTO_AEAD select CRYPTO_HASH select CRYPTO_DES help CAAM driver for QorIQ Data Path Acceleration Architecture 2. It handles DPSECI DPAA2 objects that sit on the Management Complex (MC) fsl-mc bus. To compile this as a module, choose M here: the module will be called dpaa2_caam. crypto/caam/Makefile 0000644 00000002173 14722053666 0010443 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the CAAM backend and dependent components # ifeq ($(CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG), y) ccflags-y := -DDEBUG endif ccflags-y += -DVERSION=\"\" obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON) += error.o obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM) += caam.o obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM_JR) += caam_jr.o obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC) += caamalg_desc.o obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC) += caamhash_desc.o caam-y := ctrl.o caam_jr-y := jr.o key_gen.o caam_jr-$(CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API) += caamalg.o caam_jr-$(CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI) += caamalg_qi.o caam_jr-$(CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API) += caamhash.o caam_jr-$(CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API) += caamrng.o caam_jr-$(CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API) += caampkc.o pkc_desc.o caam-$(CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI) += qi.o ifneq ($(CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI),) ccflags-y += -DCONFIG_CAAM_QI endif obj-$(CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM) += dpaa2_caam.o dpaa2_caam-y := caamalg_qi2.o dpseci.o dpaa2_caam-$(CONFIG_DEBUG_FS) += dpseci-debugfs.o crypto/virtio/Kconfig 0000644 00000000475 14722053666 0010724 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CRYPTO_DEV_VIRTIO tristate "VirtIO crypto driver" depends on VIRTIO select CRYPTO_AEAD select CRYPTO_BLKCIPHER select CRYPTO_ENGINE help This driver provides support for virtio crypto device. If you choose 'M' here, this module will be called virtio_crypto. crypto/virtio/Makefile 0000644 00000000263 14722053666 0011054 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio_crypto.o virtio_crypto-objs := \ virtio_crypto_algs.o \ virtio_crypto_mgr.o \ virtio_crypto_core.o crypto/axis/Makefile 0000644 00000000135 14722053666 0010502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_ARTPEC6) := artpec6_crypto.o crypto/cavium/cpt/Kconfig 0000644 00000000630 14722053666 0011453 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Cavium crypto device configuration # config CRYPTO_DEV_CPT tristate config CAVIUM_CPT tristate "Cavium Cryptographic Accelerator driver" depends on ARCH_THUNDER || COMPILE_TEST depends on PCI_MSI && 64BIT select CRYPTO_DEV_CPT help Support for Cavium CPT block found in octeon-tx series of processors. To compile this as a module, choose M here. crypto/cavium/cpt/Makefile 0000644 00000000304 14722053666 0011606 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CAVIUM_CPT) += cptpf.o cptvf.o cptpf-objs := cptpf_main.o cptpf_mbox.o cptvf-objs := cptvf_main.o cptvf_reqmanager.o cptvf_mbox.o cptvf_algs.o crypto/cavium/zip/Makefile 0000644 00000000514 14722053666 0011625 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Cavium's ZIP Driver. # obj-$(CONFIG_CRYPTO_DEV_CAVIUM_ZIP) += thunderx_zip.o thunderx_zip-y := zip_main.o \ zip_device.o \ zip_crypto.o \ zip_mem.o \ zip_deflate.o \ zip_inflate.o crypto/cavium/nitrox/Kconfig 0000644 00000001011 14722053666 0012202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Cavium NITROX Crypto Device configuration # config CRYPTO_DEV_NITROX tristate select CRYPTO_BLKCIPHER select CRYPTO_AES select CRYPTO_LIB_DES select FW_LOADER config CRYPTO_DEV_NITROX_CNN55XX tristate "Support for Cavium CNN55XX driver" depends on PCI_MSI && 64BIT select CRYPTO_DEV_NITROX help Support for Cavium NITROX family CNN55XX driver for accelerating crypto workloads. To compile this as a module, choose M here: the module will be called n5pf. crypto/cavium/nitrox/Makefile 0000644 00000000521 14722053666 0012344 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_NITROX_CNN55XX) += n5pf.o n5pf-objs := nitrox_main.o \ nitrox_isr.o \ nitrox_lib.o \ nitrox_hal.o \ nitrox_reqmgr.o \ nitrox_algs.o \ nitrox_mbx.o \ nitrox_skcipher.o \ nitrox_aead.o n5pf-$(CONFIG_PCI_IOV) += nitrox_sriov.o n5pf-$(CONFIG_DEBUG_FS) += nitrox_debugfs.o crypto/cavium/Makefile 0000644 00000000204 14722053666 0011017 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Cavium crypto device drivers # obj-$(CONFIG_CRYPTO_DEV_CAVIUM_ZIP) += zip/ crypto/qat/qat_c3xxxvf/Makefile 0000644 00000000302 14722053666 0012575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/$(src)/../qat_common obj-$(CONFIG_CRYPTO_DEV_QAT_C3XXXVF) += qat_c3xxxvf.o qat_c3xxxvf-objs := adf_drv.o adf_c3xxxvf_hw_data.o crypto/qat/qat_dh895xccvf/Makefile 0000644 00000000316 14722053666 0013064 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/$(src)/../qat_common obj-$(CONFIG_CRYPTO_DEV_QAT_DH895xCCVF) += qat_dh895xccvf.o qat_dh895xccvf-objs := adf_drv.o adf_dh895xccvf_hw_data.o crypto/qat/Kconfig 0000644 00000004630 14722053666 0010172 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CRYPTO_DEV_QAT tristate select CRYPTO_AEAD select CRYPTO_AUTHENC select CRYPTO_BLKCIPHER select CRYPTO_AKCIPHER select CRYPTO_DH select CRYPTO_HMAC select CRYPTO_RSA select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 select FW_LOADER config CRYPTO_DEV_QAT_DH895xCC tristate "Support for Intel(R) DH895xCC" depends on X86 && PCI select CRYPTO_DEV_QAT help Support for Intel(R) DH895xcc with Intel(R) QuickAssist Technology for accelerating crypto and compression workloads. To compile this as a module, choose M here: the module will be called qat_dh895xcc. config CRYPTO_DEV_QAT_C3XXX tristate "Support for Intel(R) C3XXX" depends on X86 && PCI select CRYPTO_DEV_QAT help Support for Intel(R) C3xxx with Intel(R) QuickAssist Technology for accelerating crypto and compression workloads. To compile this as a module, choose M here: the module will be called qat_c3xxx. config CRYPTO_DEV_QAT_C62X tristate "Support for Intel(R) C62X" depends on X86 && PCI select CRYPTO_DEV_QAT help Support for Intel(R) C62x with Intel(R) QuickAssist Technology for accelerating crypto and compression workloads. To compile this as a module, choose M here: the module will be called qat_c62x. config CRYPTO_DEV_QAT_DH895xCCVF tristate "Support for Intel(R) DH895xCC Virtual Function" depends on X86 && PCI select PCI_IOV select CRYPTO_DEV_QAT help Support for Intel(R) DH895xcc with Intel(R) QuickAssist Technology Virtual Function for accelerating crypto and compression workloads. To compile this as a module, choose M here: the module will be called qat_dh895xccvf. config CRYPTO_DEV_QAT_C3XXXVF tristate "Support for Intel(R) C3XXX Virtual Function" depends on X86 && PCI select PCI_IOV select CRYPTO_DEV_QAT help Support for Intel(R) C3xxx with Intel(R) QuickAssist Technology Virtual Function for accelerating crypto and compression workloads. To compile this as a module, choose M here: the module will be called qat_c3xxxvf. config CRYPTO_DEV_QAT_C62XVF tristate "Support for Intel(R) C62X Virtual Function" depends on X86 && PCI select PCI_IOV select CRYPTO_DEV_QAT help Support for Intel(R) C62x with Intel(R) QuickAssist Technology Virtual Function for accelerating crypto and compression workloads. To compile this as a module, choose M here: the module will be called qat_c62xvf. crypto/qat/qat_common/Makefile 0000644 00000000750 14722053666 0012463 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_QAT) += intel_qat.o intel_qat-objs := adf_cfg.o \ adf_isr.o \ adf_ctl_drv.o \ adf_dev_mgr.o \ adf_init.o \ adf_accel_engine.o \ adf_aer.o \ adf_transport.o \ adf_admin.o \ adf_hw_arbiter.o \ qat_crypto.o \ qat_algs.o \ qat_asym_algs.o \ qat_uclo.o \ qat_hal.o intel_qat-$(CONFIG_DEBUG_FS) += adf_transport_debug.o intel_qat-$(CONFIG_PCI_IOV) += adf_sriov.o adf_pf2vf_msg.o \ adf_vf2pf_msg.o adf_vf_isr.o crypto/qat/qat_dh895xcc/Makefile 0000644 00000000306 14722053666 0012527 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/$(src)/../qat_common obj-$(CONFIG_CRYPTO_DEV_QAT_DH895xCC) += qat_dh895xcc.o qat_dh895xcc-objs := adf_drv.o adf_dh895xcc_hw_data.o crypto/qat/qat_c3xxx/Makefile 0000644 00000000272 14722053666 0012247 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/$(src)/../qat_common obj-$(CONFIG_CRYPTO_DEV_QAT_C3XXX) += qat_c3xxx.o qat_c3xxx-objs := adf_drv.o adf_c3xxx_hw_data.o crypto/qat/Makefile 0000644 00000000611 14722053666 0010322 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_QAT) += qat_common/ obj-$(CONFIG_CRYPTO_DEV_QAT_DH895xCC) += qat_dh895xcc/ obj-$(CONFIG_CRYPTO_DEV_QAT_C3XXX) += qat_c3xxx/ obj-$(CONFIG_CRYPTO_DEV_QAT_C62X) += qat_c62x/ obj-$(CONFIG_CRYPTO_DEV_QAT_DH895xCCVF) += qat_dh895xccvf/ obj-$(CONFIG_CRYPTO_DEV_QAT_C3XXXVF) += qat_c3xxxvf/ obj-$(CONFIG_CRYPTO_DEV_QAT_C62XVF) += qat_c62xvf/ crypto/qat/qat_c62x/Makefile 0000644 00000000266 14722053666 0011757 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/$(src)/../qat_common obj-$(CONFIG_CRYPTO_DEV_QAT_C62X) += qat_c62x.o qat_c62x-objs := adf_drv.o adf_c62x_hw_data.o crypto/qat/qat_c62xvf/Makefile 0000644 00000000276 14722053666 0012314 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/$(src)/../qat_common obj-$(CONFIG_CRYPTO_DEV_QAT_C62XVF) += qat_c62xvf.o qat_c62xvf-objs := adf_drv.o adf_c62xvf_hw_data.o crypto/nx/Kconfig 0000644 00000003405 14722053666 0010031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CRYPTO_DEV_NX_ENCRYPT tristate "Encryption acceleration support on pSeries platform" depends on PPC_PSERIES && IBMVIO && !CPU_LITTLE_ENDIAN default y select CRYPTO_AES select CRYPTO_CCM help Support for PowerPC Nest (NX) encryption acceleration. This module supports acceleration for AES and SHA2 algorithms on the pSeries platform. If you choose 'M' here, this module will be called nx_crypto. config CRYPTO_DEV_NX_COMPRESS tristate "Compression acceleration support" default y select CRYPTO_ALGAPI select 842_DECOMPRESS help Support for PowerPC Nest (NX) compression acceleration. This module supports acceleration for compressing memory with the 842 algorithm using the cryptographic API. One of the platform drivers must be selected also. If you choose 'M' here, this module will be called nx_compress. if CRYPTO_DEV_NX_COMPRESS config CRYPTO_DEV_NX_COMPRESS_PSERIES tristate "Compression acceleration support on pSeries platform" depends on PPC_PSERIES && IBMVIO default y help Support for PowerPC Nest (NX) compression acceleration. This module supports acceleration for compressing memory with the 842 algorithm. This supports NX hardware on the pSeries platform. If you choose 'M' here, this module will be called nx_compress_pseries. config CRYPTO_DEV_NX_COMPRESS_POWERNV tristate "Compression acceleration support on PowerNV platform" depends on PPC_POWERNV depends on PPC_VAS default y help Support for PowerPC Nest (NX) compression acceleration. This module supports acceleration for compressing memory with the 842 algorithm. This supports NX hardware on the PowerNV platform. If you choose 'M' here, this module will be called nx_compress_powernv. endif crypto/nx/Makefile 0000644 00000001121 14722053666 0010157 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_NX_ENCRYPT) += nx-crypto.o nx-crypto-objs := nx.o \ nx-aes-cbc.o \ nx-aes-ecb.o \ nx-aes-gcm.o \ nx-aes-ccm.o \ nx-aes-ctr.o \ nx-aes-xcbc.o \ nx-sha256.o \ nx-sha512.o nx-crypto-$(CONFIG_DEBUG_FS) += nx_debugfs.o obj-$(CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES) += nx-compress-pseries.o nx-compress.o obj-$(CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV) += nx-compress-powernv.o nx-compress.o nx-compress-objs := nx-842.o nx-compress-pseries-objs := nx-842-pseries.o nx-compress-powernv-objs := nx-842-powernv.o crypto/Makefile 0000644 00000004355 14722053666 0007546 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_ATMEL_AES) += atmel-aes.o obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA) += atmel-sha.o obj-$(CONFIG_CRYPTO_DEV_ATMEL_TDES) += atmel-tdes.o obj-$(CONFIG_CRYPTO_DEV_ATMEL_I2C) += atmel-i2c.o obj-$(CONFIG_CRYPTO_DEV_ATMEL_ECC) += atmel-ecc.o obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA204A) += atmel-sha204a.o obj-$(CONFIG_CRYPTO_DEV_CAVIUM_ZIP) += cavium/ obj-$(CONFIG_CRYPTO_DEV_CCP) += ccp/ obj-$(CONFIG_CRYPTO_DEV_CCREE) += ccree/ obj-$(CONFIG_CRYPTO_DEV_CHELSIO) += chelsio/ obj-$(CONFIG_CRYPTO_DEV_CPT) += cavium/cpt/ obj-$(CONFIG_CRYPTO_DEV_NITROX) += cavium/nitrox/ obj-$(CONFIG_CRYPTO_DEV_EXYNOS_RNG) += exynos-rng.o obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON) += caam/ obj-$(CONFIG_CRYPTO_DEV_GEODE) += geode-aes.o obj-$(CONFIG_CRYPTO_DEV_HIFN_795X) += hifn_795x.o obj-$(CONFIG_CRYPTO_DEV_IMGTEC_HASH) += img-hash.o obj-$(CONFIG_CRYPTO_DEV_IXP4XX) += ixp4xx_crypto.o obj-$(CONFIG_CRYPTO_DEV_MARVELL_CESA) += marvell/ obj-$(CONFIG_CRYPTO_DEV_MEDIATEK) += mediatek/ obj-$(CONFIG_CRYPTO_DEV_MXS_DCP) += mxs-dcp.o obj-$(CONFIG_CRYPTO_DEV_NIAGARA2) += n2_crypto.o n2_crypto-y := n2_core.o n2_asm.o obj-$(CONFIG_CRYPTO_DEV_NX) += nx/ obj-$(CONFIG_CRYPTO_DEV_OMAP) += omap-crypto.o obj-$(CONFIG_CRYPTO_DEV_OMAP_AES) += omap-aes-driver.o omap-aes-driver-objs := omap-aes.o omap-aes-gcm.o obj-$(CONFIG_CRYPTO_DEV_OMAP_DES) += omap-des.o obj-$(CONFIG_CRYPTO_DEV_OMAP_SHAM) += omap-sham.o obj-$(CONFIG_CRYPTO_DEV_PADLOCK_AES) += padlock-aes.o obj-$(CONFIG_CRYPTO_DEV_PADLOCK_SHA) += padlock-sha.o obj-$(CONFIG_CRYPTO_DEV_PICOXCELL) += picoxcell_crypto.o obj-$(CONFIG_CRYPTO_DEV_PPC4XX) += amcc/ obj-$(CONFIG_CRYPTO_DEV_QAT) += qat/ obj-$(CONFIG_CRYPTO_DEV_QCE) += qce/ obj-$(CONFIG_CRYPTO_DEV_QCOM_RNG) += qcom-rng.o obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rockchip/ obj-$(CONFIG_CRYPTO_DEV_S5P) += s5p-sss.o obj-$(CONFIG_CRYPTO_DEV_SAHARA) += sahara.o obj-$(CONFIG_ARCH_STM32) += stm32/ obj-$(CONFIG_CRYPTO_DEV_SUN4I_SS) += sunxi-ss/ obj-$(CONFIG_CRYPTO_DEV_TALITOS) += talitos.o obj-$(CONFIG_CRYPTO_DEV_UX500) += ux500/ obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio/ obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx/ obj-$(CONFIG_CRYPTO_DEV_BCM_SPU) += bcm/ obj-$(CONFIG_CRYPTO_DEV_SAFEXCEL) += inside-secure/ obj-$(CONFIG_CRYPTO_DEV_ARTPEC6) += axis/ obj-y += hisilicon/ crypto/inside-secure/Makefile 0000644 00000000264 14722053666 0012300 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_SAFEXCEL) += crypto_safexcel.o crypto_safexcel-objs := safexcel.o safexcel_ring.o safexcel_cipher.o safexcel_hash.o crypto/ccp/Kconfig 0000644 00000003364 14722053666 0010155 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CRYPTO_DEV_CCP_DD tristate "Secure Processor device driver" depends on CPU_SUP_AMD || ARM64 default m help Provides AMD Secure Processor device driver. If you choose 'M' here, this module will be called ccp. config CRYPTO_DEV_SP_CCP bool "Cryptographic Coprocessor device" default y depends on CRYPTO_DEV_CCP_DD && DMADEVICES select HW_RANDOM select DMA_ENGINE select CRYPTO_SHA1 select CRYPTO_SHA256 help Provides the support for AMD Cryptographic Coprocessor (CCP) device which can be used to offload encryption operations such as SHA, AES and more. config CRYPTO_DEV_CCP_CRYPTO tristate "Encryption and hashing offload support" default m depends on CRYPTO_DEV_CCP_DD depends on CRYPTO_DEV_SP_CCP select CRYPTO_HASH select CRYPTO_BLKCIPHER select CRYPTO_AUTHENC select CRYPTO_RSA select CRYPTO_LIB_AES help Support for using the cryptographic API with the AMD Cryptographic Coprocessor. This module supports offload of SHA and AES algorithms. If you choose 'M' here, this module will be called ccp_crypto. config CRYPTO_DEV_SP_PSP bool "Platform Security Processor (PSP) device" default y depends on CRYPTO_DEV_CCP_DD && X86_64 help Provide support for the AMD Platform Security Processor (PSP). The PSP is a dedicated processor that provides support for key management commands in Secure Encrypted Virtualization (SEV) mode, along with software-based Trusted Execution Environment (TEE) to enable third-party trusted applications. config CRYPTO_DEV_CCP_DEBUGFS bool "Enable CCP Internals in DebugFS" default n depends on CRYPTO_DEV_SP_CCP help Expose CCP device information such as operation statistics, feature information, and descriptor queue contents. crypto/ccp/Makefile 0000644 00000001201 14722053666 0010276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_CCP_DD) += ccp.o ccp-objs := sp-dev.o sp-platform.o ccp-$(CONFIG_CRYPTO_DEV_SP_CCP) += ccp-dev.o \ ccp-ops.o \ ccp-dev-v3.o \ ccp-dev-v5.o \ ccp-dmaengine.o ccp-$(CONFIG_CRYPTO_DEV_CCP_DEBUGFS) += ccp-debugfs.o ccp-$(CONFIG_PCI) += sp-pci.o ccp-$(CONFIG_CRYPTO_DEV_SP_PSP) += psp-dev.o obj-$(CONFIG_CRYPTO_DEV_CCP_CRYPTO) += ccp-crypto.o ccp-crypto-objs := ccp-crypto-main.o \ ccp-crypto-aes.o \ ccp-crypto-aes-cmac.o \ ccp-crypto-aes-xts.o \ ccp-crypto-aes-galois.o \ ccp-crypto-des3.o \ ccp-crypto-rsa.o \ ccp-crypto-sha.o crypto/bcm/Makefile 0000644 00000000641 14722053666 0010301 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # File: drivers/crypto/bcm/Makefile # # Makefile for crypto acceleration files for Broadcom SPU driver # # Uncomment to enable debug tracing in the SPU driver. # CFLAGS_util.o := -DDEBUG # CFLAGS_cipher.o := -DDEBUG # CFLAGS_spu.o := -DDEBUG # CFLAGS_spu2.o := -DDEBUG obj-$(CONFIG_CRYPTO_DEV_BCM_SPU) := bcm_crypto_spu.o bcm_crypto_spu-objs := util.o spu.o spu2.o cipher.o crypto/sunxi-ss/Makefile 0000644 00000000327 14722053666 0011332 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_SUN4I_SS) += sun4i-ss.o sun4i-ss-y += sun4i-ss-core.o sun4i-ss-hash.o sun4i-ss-cipher.o sun4i-ss-$(CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG) += sun4i-ss-prng.o crypto/hisilicon/sec/Makefile 0000644 00000000165 14722053666 0012274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_HISI_SEC) += hisi_sec.o hisi_sec-y = sec_algs.o sec_drv.o crypto/hisilicon/Kconfig 0000644 00000003632 14722053666 0011367 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config CRYPTO_DEV_HISI_SEC tristate "Support for Hisilicon SEC crypto block cipher accelerator" select CRYPTO_BLKCIPHER select CRYPTO_ALGAPI select CRYPTO_LIB_DES select SG_SPLIT depends on ARM64 || COMPILE_TEST depends on HAS_IOMEM help Support for Hisilicon SEC Engine in Hip06 and Hip07 To compile this as a module, choose M here: the module will be called hisi_sec. config CRYPTO_DEV_HISI_SEC2 tristate "Support for HiSilicon SEC2 crypto block cipher accelerator" select CRYPTO_BLKCIPHER select CRYPTO_ALGAPI select CRYPTO_LIB_DES select CRYPTO_DEV_HISI_QM select CRYPTO_AEAD select CRYPTO_AUTHENC select CRYPTO_HMAC select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 depends on PCI && PCI_MSI depends on ARM64 || (COMPILE_TEST && 64BIT) help Support for HiSilicon SEC Engine of version 2 in crypto subsystem. It provides AES, SM4, and 3DES algorithms with ECB CBC, and XTS cipher mode, and AEAD algorithms. To compile this as a module, choose M here: the module will be called hisi_sec2. config CRYPTO_DEV_HISI_QM tristate depends on ARM64 || COMPILE_TEST depends on PCI && PCI_MSI select NEED_SG_DMA_LENGTH help HiSilicon accelerator engines use a common queue management interface. Specific engine driver may use this module. config CRYPTO_DEV_HISI_ZIP tristate "Support for HiSilicon ZIP accelerator" depends on PCI && PCI_MSI depends on ARM64 || (COMPILE_TEST && 64BIT) depends on !CPU_BIG_ENDIAN || COMPILE_TEST select CRYPTO_DEV_HISI_QM help Support for HiSilicon ZIP Driver config CRYPTO_DEV_HISI_HPRE tristate "Support for HISI HPRE accelerator" depends on PCI && PCI_MSI depends on ARM64 || (COMPILE_TEST && 64BIT) select CRYPTO_DEV_HISI_QM select CRYPTO_DH select CRYPTO_RSA help Support for HiSilicon HPRE(High Performance RSA Engine) accelerator, which can accelerate RSA and DH algorithms. crypto/hisilicon/sec2/Makefile 0000644 00000000133 14722053666 0012351 0 ustar 00 obj-$(CONFIG_CRYPTO_DEV_HISI_SEC2) += hisi_sec2.o hisi_sec2-objs = sec_main.o sec_crypto.o crypto/hisilicon/zip/Makefile 0000644 00000000130 14722053666 0012314 0 ustar 00 obj-$(CONFIG_CRYPTO_DEV_HISI_ZIP) += hisi_zip.o hisi_zip-objs = zip_main.o zip_crypto.o crypto/hisilicon/hpre/Makefile 0000644 00000000135 14722053666 0012455 0 ustar 00 obj-$(CONFIG_CRYPTO_DEV_HISI_HPRE) += hisi_hpre.o hisi_hpre-objs = hpre_main.o hpre_crypto.o crypto/hisilicon/Makefile 0000644 00000000427 14722053666 0011523 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CRYPTO_DEV_HISI_HPRE) += hpre/ obj-$(CONFIG_CRYPTO_DEV_HISI_SEC) += sec/ obj-$(CONFIG_CRYPTO_DEV_HISI_SEC2) += sec2/ obj-$(CONFIG_CRYPTO_DEV_HISI_QM) += hisi_qm.o hisi_qm-objs = qm.o sgl.o obj-$(CONFIG_CRYPTO_DEV_HISI_ZIP) += zip/ crypto/ccree/Makefile 0000644 00000000537 14722053666 0010625 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2012-2019 ARM Limited (or its affiliates). obj-$(CONFIG_CRYPTO_DEV_CCREE) := ccree.o ccree-y := cc_driver.o cc_buffer_mgr.o cc_request_mgr.o cc_cipher.o cc_hash.o cc_aead.o cc_sram_mgr.o ccree-$(CONFIG_CRYPTO_FIPS) += cc_fips.o ccree-$(CONFIG_DEBUG_FS) += cc_debugfs.o ccree-$(CONFIG_PM) += cc_pm.o crypto/mediatek/Makefile 0000644 00000000217 14722053666 0011322 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_MEDIATEK) += mtk-crypto.o mtk-crypto-objs:= mtk-platform.o mtk-aes.o mtk-sha.o crypto/rockchip/Makefile 0000644 00000000270 14722053666 0011340 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rk_crypto.o rk_crypto-objs := rk3288_crypto.o \ rk3288_crypto_ablkcipher.o \ rk3288_crypto_ahash.o crypto/amcc/Makefile 0000644 00000000301 14722053666 0010434 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_PPC4XX) += crypto4xx.o crypto4xx-y := crypto4xx_core.o crypto4xx_alg.o crypto4xx-$(CONFIG_HW_RANDOM_PPC4XX) += crypto4xx_trng.o clocksource/Kconfig 0000644 00000044500 14722053666 0010401 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Clock Source drivers" depends on GENERIC_CLOCKEVENTS config TIMER_OF bool select TIMER_PROBE config TIMER_ACPI bool select TIMER_PROBE config TIMER_PROBE bool config CLKSRC_I8253 bool config CLKEVT_I8253 bool config I8253_LOCK bool config OMAP_DM_TIMER bool select TIMER_OF config CLKBLD_I8253 def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK config CLKSRC_MMIO bool config BCM2835_TIMER bool "BCM2835 timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables the support for the BCM2835 timer driver. config BCM_KONA_TIMER bool "BCM mobile timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables the support for the BCM Kona mobile timer driver. config DAVINCI_TIMER bool "Texas Instruments DaVinci timer driver" if COMPILE_TEST help Enables the support for the TI DaVinci timer driver. config DIGICOLOR_TIMER bool "Digicolor timer driver" if COMPILE_TEST select CLKSRC_MMIO depends on HAS_IOMEM help Enables the support for the digicolor timer driver. config DW_APB_TIMER bool "DW APB timer driver" if COMPILE_TEST help Enables the support for the dw_apb timer. config DW_APB_TIMER_OF bool select DW_APB_TIMER select TIMER_OF config FTTMR010_TIMER bool "Faraday Technology timer driver" if COMPILE_TEST depends on HAS_IOMEM select CLKSRC_MMIO select TIMER_OF select MFD_SYSCON help Enables support for the Faraday Technology timer block FTTMR010. config IXP4XX_TIMER bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST depends on HAS_IOMEM select CLKSRC_MMIO select TIMER_OF if OF help Enables support for the Intel XScale IXP4xx SoC timer. config ROCKCHIP_TIMER bool "Rockchip timer driver" if COMPILE_TEST depends on ARM || ARM64 select TIMER_OF select CLKSRC_MMIO help Enables the support for the rockchip timer driver. config ARMADA_370_XP_TIMER bool "Armada 370 and XP timer driver" if COMPILE_TEST depends on ARM select TIMER_OF select CLKSRC_MMIO help Enables the support for the Armada 370 and XP timer driver. config MESON6_TIMER bool "Meson6 timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables the support for the Meson6 timer driver. config ORION_TIMER bool "Orion timer driver" if COMPILE_TEST depends on ARM select TIMER_OF select CLKSRC_MMIO help Enables the support for the Orion timer driver config OWL_TIMER bool "Owl timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables the support for the Actions Semi Owl timer driver. config RDA_TIMER bool "RDA timer driver" if COMPILE_TEST depends on GENERIC_CLOCKEVENTS select CLKSRC_MMIO select TIMER_OF help Enables the support for the RDA Micro timer driver. config SUN4I_TIMER bool "Sun4i timer driver" if COMPILE_TEST depends on HAS_IOMEM select CLKSRC_MMIO select TIMER_OF help Enables support for the Sun4i timer. config SUN5I_HSTIMER bool "Sun5i timer driver" if COMPILE_TEST select CLKSRC_MMIO depends on COMMON_CLK help Enables support the Sun5i timer. config TEGRA_TIMER bool "Tegra timer driver" if COMPILE_TEST select CLKSRC_MMIO select TIMER_OF depends on ARCH_TEGRA || COMPILE_TEST help Enables support for the Tegra driver. config VT8500_TIMER bool "VT8500 timer driver" if COMPILE_TEST depends on HAS_IOMEM help Enables support for the VT8500 driver. config NPCM7XX_TIMER bool "NPCM7xx timer driver" if COMPILE_TEST depends on HAS_IOMEM select TIMER_OF select CLKSRC_MMIO help Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture, While TIMER0 serves as clockevent and TIMER1 serves as clocksource. config CADENCE_TTC_TIMER bool "Cadence TTC timer driver" if COMPILE_TEST depends on COMMON_CLK help Enables support for the cadence ttc driver. config ASM9260_TIMER bool "ASM9260 timer driver" if COMPILE_TEST select CLKSRC_MMIO select TIMER_OF help Enables support for the ASM9260 timer. config CLKSRC_NOMADIK_MTU bool "Nomakdik clocksource driver" if COMPILE_TEST depends on ARM select CLKSRC_MMIO help Support for Multi Timer Unit. MTU provides access to multiple interrupt generating programmable 32-bit free running decrementing counters. config CLKSRC_DBX500_PRCMU bool "Clocksource PRCMU Timer" if COMPILE_TEST depends on HAS_IOMEM help Use the always on PRCMU Timer as clocksource config CLPS711X_TIMER bool "Cirrus logic timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables support for the Cirrus Logic PS711 timer. config ATLAS7_TIMER bool "Atlas7 timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables support for the Atlas7 timer. config MXS_TIMER bool "Mxs timer driver" if COMPILE_TEST select CLKSRC_MMIO select STMP_DEVICE help Enables support for the Mxs timer. config PRIMA2_TIMER bool "Prima2 timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables support for the Prima2 timer. config U300_TIMER bool "U300 timer driver" if COMPILE_TEST depends on ARM select CLKSRC_MMIO help Enables support for the U300 timer. config NSPIRE_TIMER bool "NSpire timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables support for the Nspire timer. config KEYSTONE_TIMER bool "Keystone timer driver" if COMPILE_TEST depends on ARM || ARM64 select CLKSRC_MMIO help Enables support for the Keystone timer. config INTEGRATOR_AP_TIMER bool "Integrator-ap timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables support for the Integrator-ap timer. config CLKSRC_EFM32 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32 depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST) select CLKSRC_MMIO default ARCH_EFM32 help Support to use the timers of EFM32 SoCs as clock source and clock event device. config CLKSRC_LPC32XX bool "Clocksource for LPC32XX" if COMPILE_TEST depends on HAS_IOMEM depends on ARM select CLKSRC_MMIO select TIMER_OF help Support for the LPC32XX clocksource. config CLKSRC_PISTACHIO bool "Clocksource for Pistachio SoC" if COMPILE_TEST depends on HAS_IOMEM select TIMER_OF help Enables the clocksource for the Pistachio SoC. config CLKSRC_TI_32K bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST depends on GENERIC_SCHED_CLOCK select TIMER_OF if OF help This option enables support for Texas Instruments 32.768 Hz clocksource available on many OMAP-like platforms. config CLKSRC_NPS bool "NPS400 clocksource driver" if COMPILE_TEST depends on !PHYS_ADDR_T_64BIT select CLKSRC_MMIO select TIMER_OF if OF help NPS400 clocksource support. Got 64 bit counter with update rate up to 1000MHz. This counter is accessed via couple of 32 bit memory mapped registers. config CLKSRC_STM32 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST) select CLKSRC_MMIO select TIMER_OF config CLKSRC_MPS2 bool "Clocksource for MPS2 SoCs" if COMPILE_TEST depends on GENERIC_SCHED_CLOCK select CLKSRC_MMIO select TIMER_OF config ARC_TIMERS bool "Support for 32-bit TIMERn counters in ARC Cores" if COMPILE_TEST depends on GENERIC_SCHED_CLOCK select TIMER_OF help These are legacy 32-bit TIMER0 and TIMER1 counters found on all ARC cores (ARC700 as well as ARC HS38). TIMER0 serves as clockevent while TIMER1 provides clocksource config ARC_TIMERS_64BIT bool "Support for 64-bit counters in ARC HS38 cores" if COMPILE_TEST depends on ARC_TIMERS select TIMER_OF help This enables 2 different 64-bit timers: RTC (for UP) and GFRC (for SMP) RTC is implemented inside the core, while GFRC sits outside the core in ARConnect IP block. Driver automatically picks one of them for clocksource as appropriate. config ARM_ARCH_TIMER bool select TIMER_OF if OF select TIMER_ACPI if ACPI config ARM_ARCH_TIMER_EVTSTREAM bool "Enable ARM architected timer event stream generation by default" default y if ARM_ARCH_TIMER depends on ARM_ARCH_TIMER help This option enables support by default for event stream generation based on the ARM architected timer. It is used for waking up CPUs executing the wfe instruction at a frequency represented as a power-of-2 divisor of the clock rate. The behaviour can also be overridden on the command line using the clocksource.arm_arch_timer.evtstream parameter. The main use of the event stream is wfe-based timeouts of userspace locking implementations. It might also be useful for imposing timeout on wfe to safeguard against any programming errors in case an expected event is not generated. This must be disabled for hardware validation purposes to detect any hardware anomalies of missing events. config ARM_ARCH_TIMER_OOL_WORKAROUND bool config FSL_ERRATUM_A008585 bool "Workaround for Freescale/NXP Erratum A-008585" default y depends on ARM_ARCH_TIMER && ARM64 select ARM_ARCH_TIMER_OOL_WORKAROUND help This option enables a workaround for Freescale/NXP Erratum A-008585 ("ARM generic timer may contain an erroneous value"). The workaround will only be active if the fsl,erratum-a008585 property is found in the timer node. config HISILICON_ERRATUM_161010101 bool "Workaround for Hisilicon Erratum 161010101" default y select ARM_ARCH_TIMER_OOL_WORKAROUND depends on ARM_ARCH_TIMER && ARM64 help This option enables a workaround for Hisilicon Erratum 161010101. The workaround will be active if the hisilicon,erratum-161010101 property is found in the timer node. config ARM64_ERRATUM_858921 bool "Workaround for Cortex-A73 erratum 858921" default y select ARM_ARCH_TIMER_OOL_WORKAROUND depends on ARM_ARCH_TIMER && ARM64 help This option enables a workaround applicable to Cortex-A73 (all versions), whose counter may return incorrect values. The workaround will be dynamically enabled when an affected core is detected. config SUN50I_ERRATUM_UNKNOWN1 bool "Workaround for Allwinner A64 erratum UNKNOWN1" default y depends on ARM_ARCH_TIMER && ARM64 && ARCH_SUNXI select ARM_ARCH_TIMER_OOL_WORKAROUND help This option enables a workaround for instability in the timer on the Allwinner A64 SoC. The workaround will only be active if the allwinner,erratum-unknown1 property is found in the timer node. config ARM_GLOBAL_TIMER bool "Support for the ARM global timer" if COMPILE_TEST select TIMER_OF if OF depends on ARM help This options enables support for the ARM global timer unit config ARM_TIMER_SP804 bool "Support for Dual Timer SP804 module" if COMPILE_TEST depends on GENERIC_SCHED_CLOCK && CLKDEV_LOOKUP select CLKSRC_MMIO select TIMER_OF if OF config CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK bool depends on ARM_GLOBAL_TIMER default y help Use ARM global timer clock source as sched_clock config ARMV7M_SYSTICK bool "Support for the ARMv7M system time" if COMPILE_TEST select TIMER_OF if OF select CLKSRC_MMIO help This options enables support for the ARMv7M system timer unit config ATMEL_PIT bool "Atmel PIT support" if COMPILE_TEST depends on HAS_IOMEM select TIMER_OF if OF help Support for the Periodic Interval Timer found on Atmel SoCs. config ATMEL_ST bool "Atmel ST timer support" if COMPILE_TEST depends on HAS_IOMEM select TIMER_OF select MFD_SYSCON help Support for the Atmel ST timer. config ATMEL_TCB_CLKSRC bool "Atmel TC Block timer driver" if COMPILE_TEST depends on ARM && HAS_IOMEM select TIMER_OF if OF help Support for Timer Counter Blocks on Atmel SoCs. config CLKSRC_EXYNOS_MCT bool "Exynos multi core timer driver" if COMPILE_TEST depends on ARM || ARM64 help Support for Multi Core Timer controller on Exynos SoCs. config CLKSRC_SAMSUNG_PWM bool "PWM timer driver for Samsung S3C, S5P" if COMPILE_TEST depends on HAS_IOMEM help This is a new clocksource driver for the PWM timer found in Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver for all devicetree enabled platforms. This driver will be needed only on systems that do not have the Exynos MCT available. config FSL_FTM_TIMER bool "Freescale FlexTimer Module driver" if COMPILE_TEST depends on HAS_IOMEM select CLKSRC_MMIO help Support for Freescale FlexTimer Module (FTM) timer. config VF_PIT_TIMER bool select CLKSRC_MMIO help Support for Period Interrupt Timer on Freescale Vybrid Family SoCs. config OXNAS_RPS_TIMER bool "Oxford Semiconductor OXNAS RPS Timers driver" if COMPILE_TEST select TIMER_OF select CLKSRC_MMIO help This enables support for the Oxford Semiconductor OXNAS RPS timers. config SYS_SUPPORTS_SH_CMT bool config MTK_TIMER bool "Mediatek timer driver" if COMPILE_TEST depends on HAS_IOMEM select TIMER_OF select CLKSRC_MMIO help Support for Mediatek timer driver. config SPRD_TIMER bool "Spreadtrum timer driver" if EXPERT depends on HAS_IOMEM depends on (ARCH_SPRD || COMPILE_TEST) default ARCH_SPRD select TIMER_OF help Enables support for the Spreadtrum timer driver. config SYS_SUPPORTS_SH_MTU2 bool config SYS_SUPPORTS_SH_TMU bool config SYS_SUPPORTS_EM_STI bool config CLKSRC_JCORE_PIT bool "J-Core PIT timer driver" if COMPILE_TEST depends on OF depends on HAS_IOMEM select CLKSRC_MMIO help This enables build of clocksource and clockevent driver for the integrated PIT in the J-Core synthesizable, open source SoC. config SH_TIMER_CMT bool "Renesas CMT timer driver" if COMPILE_TEST depends on HAS_IOMEM default SYS_SUPPORTS_SH_CMT help This enables build of a clocksource and clockevent driver for the Compare Match Timer (CMT) hardware available in 16/32/48-bit variants on a wide range of Mobile and Automotive SoCs from Renesas. config SH_TIMER_MTU2 bool "Renesas MTU2 timer driver" if COMPILE_TEST depends on HAS_IOMEM default SYS_SUPPORTS_SH_MTU2 help This enables build of a clockevent driver for the Multi-Function Timer Pulse Unit 2 (MTU2) hardware available on SoCs from Renesas. This hardware comes with 16 bit-timer registers. config RENESAS_OSTM bool "Renesas OSTM timer driver" if COMPILE_TEST select CLKSRC_MMIO help Enables the support for the Renesas OSTM. config SH_TIMER_TMU bool "Renesas TMU timer driver" if COMPILE_TEST depends on HAS_IOMEM default SYS_SUPPORTS_SH_TMU help This enables build of a clocksource and clockevent driver for the 32-bit Timer Unit (TMU) hardware available on a wide range SoCs from Renesas. config EM_TIMER_STI bool "Renesas STI timer driver" if COMPILE_TEST depends on HAS_IOMEM default SYS_SUPPORTS_EM_STI help This enables build of a clocksource and clockevent driver for the 48-bit System Timer (STI) hardware available on a SoCs such as EMEV2 from former NEC Electronics. config CLKSRC_QCOM bool "Qualcomm MSM timer" if COMPILE_TEST depends on ARM select TIMER_OF help This enables the clocksource and the per CPU clockevent driver for the Qualcomm SoCs. config CLKSRC_VERSATILE bool "ARM Versatile (Express) reference platforms clock source" if COMPILE_TEST depends on GENERIC_SCHED_CLOCK && !ARCH_USES_GETTIMEOFFSET select TIMER_OF default y if MFD_VEXPRESS_SYSREG help This option enables clock source based on free running counter available in the "System Registers" block of ARM Versatile, RealView and Versatile Express reference platforms. config CLKSRC_MIPS_GIC bool depends on MIPS_GIC select TIMER_OF config CLKSRC_TANGO_XTAL bool "Clocksource for Tango SoC" if COMPILE_TEST depends on ARM select TIMER_OF select CLKSRC_MMIO help This enables the clocksource for Tango SoC config CLKSRC_PXA bool "Clocksource for PXA or SA-11x0 platform" if COMPILE_TEST depends on HAS_IOMEM select CLKSRC_MMIO help This enables OST0 support available on PXA and SA-11x0 platforms. config H8300_TMR8 bool "Clockevent timer for the H8300 platform" if COMPILE_TEST depends on HAS_IOMEM help This enables the 8 bits timer for the H8300 platform. config H8300_TMR16 bool "Clockevent timer for the H83069 platform" if COMPILE_TEST depends on HAS_IOMEM help This enables the 16 bits timer for the H8300 platform with the H83069 cpu. config H8300_TPU bool "Clocksource for the H8300 platform" if COMPILE_TEST depends on HAS_IOMEM help This enables the clocksource for the H8300 platform with the H8S2678 cpu. config CLKSRC_IMX_GPT bool "Clocksource using i.MX GPT" if COMPILE_TEST depends on (ARM || ARM64) && CLKDEV_LOOKUP select CLKSRC_MMIO config CLKSRC_IMX_TPM bool "Clocksource using i.MX TPM" if COMPILE_TEST depends on ARM && CLKDEV_LOOKUP select CLKSRC_MMIO help Enable this option to use IMX Timer/PWM Module (TPM) timer as clocksource. config TIMER_IMX_SYS_CTR bool "i.MX system counter timer" if COMPILE_TEST select TIMER_OF help Enable this option to use i.MX system counter timer as a clockevent. config CLKSRC_ST_LPC bool "Low power clocksource found in the LPC" if COMPILE_TEST select TIMER_OF if OF depends on HAS_IOMEM select CLKSRC_MMIO help Enable this option to use the Low Power controller timer as clocksource. config ATCPIT100_TIMER bool "ATCPIT100 timer driver" depends on NDS32 || COMPILE_TEST depends on HAS_IOMEM select TIMER_OF default NDS32 help This option enables support for the Andestech ATCPIT100 timers. config RISCV_TIMER bool "Timer for the RISC-V platform" depends on GENERIC_SCHED_CLOCK && RISCV default y select TIMER_PROBE select TIMER_OF help This enables the per-hart timer built into all RISC-V systems, which is accessed via both the SBI and the rdcycle instruction. This is required for all RISC-V systems. config CSKY_MP_TIMER bool "SMP Timer for the C-SKY platform" if COMPILE_TEST depends on CSKY select TIMER_OF help Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP system. csky,mptimer is not only used in SMP system, it also could be used single core system. It's not a mmio reg and it use mtcr/mfcr instruction. config GX6605S_TIMER bool "Gx6605s SOC system timer driver" if COMPILE_TEST depends on CSKY select CLKSRC_MMIO select TIMER_OF help This option enables support for gx6605s SOC's timer. config MILBEAUT_TIMER bool "Milbeaut timer driver" if COMPILE_TEST depends on OF depends on ARM select TIMER_OF select CLKSRC_MMIO help Enables the support for Milbeaut timer driver. config INGENIC_TIMER bool "Clocksource/timer using the TCU in Ingenic JZ SoCs" default MACH_INGENIC depends on MIPS || COMPILE_TEST depends on COMMON_CLK select MFD_SYSCON select TIMER_OF select IRQ_DOMAIN help Support for the timer/counter unit of the Ingenic JZ SoCs. endmenu clocksource/Makefile 0000644 00000010052 14722053666 0010531 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TIMER_OF) += timer-of.o obj-$(CONFIG_TIMER_PROBE) += timer-probe.o obj-$(CONFIG_ATMEL_PIT) += timer-atmel-pit.o obj-$(CONFIG_ATMEL_ST) += timer-atmel-st.o obj-$(CONFIG_ATMEL_TCB_CLKSRC) += timer-atmel-tcb.o obj-$(CONFIG_X86_PM_TIMER) += acpi_pm.o obj-$(CONFIG_SCx200HR_TIMER) += scx200_hrt.o obj-$(CONFIG_CS5535_CLOCK_EVENT_SRC) += timer-cs5535.o obj-$(CONFIG_CLKSRC_JCORE_PIT) += jcore-pit.o obj-$(CONFIG_SH_TIMER_CMT) += sh_cmt.o obj-$(CONFIG_SH_TIMER_MTU2) += sh_mtu2.o obj-$(CONFIG_RENESAS_OSTM) += renesas-ostm.o obj-$(CONFIG_SH_TIMER_TMU) += sh_tmu.o obj-$(CONFIG_EM_TIMER_STI) += em_sti.o obj-$(CONFIG_CLKBLD_I8253) += i8253.o obj-$(CONFIG_CLKSRC_MMIO) += mmio.o obj-$(CONFIG_DAVINCI_TIMER) += timer-davinci.o obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o obj-$(CONFIG_OMAP_DM_TIMER) += timer-ti-dm.o obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o obj-$(CONFIG_FTTMR010_TIMER) += timer-fttmr010.o obj-$(CONFIG_IXP4XX_TIMER) += timer-ixp4xx.o obj-$(CONFIG_ROCKCHIP_TIMER) += timer-rockchip.o obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o obj-$(CONFIG_CLKSRC_DBX500_PRCMU) += clksrc-dbx500-prcmu.o obj-$(CONFIG_ARMADA_370_XP_TIMER) += timer-armada-370-xp.o obj-$(CONFIG_ORION_TIMER) += timer-orion.o obj-$(CONFIG_BCM2835_TIMER) += bcm2835_timer.o obj-$(CONFIG_CLPS711X_TIMER) += clps711x-timer.o obj-$(CONFIG_ATLAS7_TIMER) += timer-atlas7.o obj-$(CONFIG_MXS_TIMER) += mxs_timer.o obj-$(CONFIG_CLKSRC_PXA) += timer-pxa.o obj-$(CONFIG_PRIMA2_TIMER) += timer-prima2.o obj-$(CONFIG_U300_TIMER) += timer-u300.o obj-$(CONFIG_SUN4I_TIMER) += timer-sun4i.o obj-$(CONFIG_SUN5I_HSTIMER) += timer-sun5i.o obj-$(CONFIG_MESON6_TIMER) += timer-meson6.o obj-$(CONFIG_TEGRA_TIMER) += timer-tegra.o obj-$(CONFIG_VT8500_TIMER) += timer-vt8500.o obj-$(CONFIG_NSPIRE_TIMER) += timer-zevio.o obj-$(CONFIG_BCM_KONA_TIMER) += bcm_kona_timer.o obj-$(CONFIG_CADENCE_TTC_TIMER) += timer-cadence-ttc.o obj-$(CONFIG_CLKSRC_EFM32) += timer-efm32.o obj-$(CONFIG_CLKSRC_STM32) += timer-stm32.o obj-$(CONFIG_CLKSRC_EXYNOS_MCT) += exynos_mct.o obj-$(CONFIG_CLKSRC_LPC32XX) += timer-lpc32xx.o obj-$(CONFIG_CLKSRC_MPS2) += mps2-timer.o obj-$(CONFIG_CLKSRC_SAMSUNG_PWM) += samsung_pwm_timer.o obj-$(CONFIG_FSL_FTM_TIMER) += timer-fsl-ftm.o obj-$(CONFIG_VF_PIT_TIMER) += timer-vf-pit.o obj-$(CONFIG_CLKSRC_QCOM) += timer-qcom.o obj-$(CONFIG_MTK_TIMER) += timer-mediatek.o obj-$(CONFIG_CLKSRC_PISTACHIO) += timer-pistachio.o obj-$(CONFIG_CLKSRC_TI_32K) += timer-ti-32k.o obj-$(CONFIG_CLKSRC_NPS) += timer-nps.o obj-$(CONFIG_OXNAS_RPS_TIMER) += timer-oxnas-rps.o obj-$(CONFIG_OWL_TIMER) += timer-owl.o obj-$(CONFIG_MILBEAUT_TIMER) += timer-milbeaut.o obj-$(CONFIG_SPRD_TIMER) += timer-sprd.o obj-$(CONFIG_NPCM7XX_TIMER) += timer-npcm7xx.o obj-$(CONFIG_RDA_TIMER) += timer-rda.o obj-$(CONFIG_ARC_TIMERS) += arc_timer.o obj-$(CONFIG_ARM_ARCH_TIMER) += arm_arch_timer.o obj-$(CONFIG_ARM_GLOBAL_TIMER) += arm_global_timer.o obj-$(CONFIG_ARMV7M_SYSTICK) += armv7m_systick.o obj-$(CONFIG_ARM_TIMER_SP804) += timer-sp804.o obj-$(CONFIG_ARCH_HAS_TICK_BROADCAST) += dummy_timer.o obj-$(CONFIG_KEYSTONE_TIMER) += timer-keystone.o obj-$(CONFIG_INTEGRATOR_AP_TIMER) += timer-integrator-ap.o obj-$(CONFIG_CLKSRC_VERSATILE) += timer-versatile.o obj-$(CONFIG_CLKSRC_MIPS_GIC) += mips-gic-timer.o obj-$(CONFIG_CLKSRC_TANGO_XTAL) += timer-tango-xtal.o obj-$(CONFIG_CLKSRC_IMX_GPT) += timer-imx-gpt.o obj-$(CONFIG_CLKSRC_IMX_TPM) += timer-imx-tpm.o obj-$(CONFIG_TIMER_IMX_SYS_CTR) += timer-imx-sysctr.o obj-$(CONFIG_ASM9260_TIMER) += asm9260_timer.o obj-$(CONFIG_H8300_TMR8) += h8300_timer8.o obj-$(CONFIG_H8300_TMR16) += h8300_timer16.o obj-$(CONFIG_H8300_TPU) += h8300_tpu.o obj-$(CONFIG_INGENIC_TIMER) += ingenic-timer.o obj-$(CONFIG_CLKSRC_ST_LPC) += clksrc_st_lpc.o obj-$(CONFIG_X86_NUMACHIP) += numachip.o obj-$(CONFIG_ATCPIT100_TIMER) += timer-atcpit100.o obj-$(CONFIG_RISCV_TIMER) += timer-riscv.o obj-$(CONFIG_CSKY_MP_TIMER) += timer-mp-csky.o obj-$(CONFIG_GX6605S_TIMER) += timer-gx6605s.o obj-$(CONFIG_HYPERV_TIMER) += hyperv_timer.o Makefile 0000644 00000001467 14722053666 0006227 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for ALSA # Copyright (c) 2001 by Jaroslav Kysela <perex@perex.cz> # snd-dummy-objs := dummy.o snd-aloop-objs := aloop.o snd-mtpav-objs := mtpav.o snd-mts64-objs := mts64.o snd-portman2x4-objs := portman2x4.o snd-serial-u16550-objs := serial-u16550.o snd-virmidi-objs := virmidi.o snd-ml403-ac97cr-objs := ml403-ac97cr.o pcm-indirect2.o # Toplevel Module Dependency obj-$(CONFIG_SND_DUMMY) += snd-dummy.o obj-$(CONFIG_SND_ALOOP) += snd-aloop.o obj-$(CONFIG_SND_VIRMIDI) += snd-virmidi.o obj-$(CONFIG_SND_SERIAL_U16550) += snd-serial-u16550.o obj-$(CONFIG_SND_MTPAV) += snd-mtpav.o obj-$(CONFIG_SND_MTS64) += snd-mts64.o obj-$(CONFIG_SND_PORTMAN2X4) += snd-portman2x4.o obj-$(CONFIG_SND_ML403_AC97CR) += snd-ml403-ac97cr.o obj-$(CONFIG_SND) += opl3/ opl4/ mpu401/ vx/ pcsp/ siox/Kconfig 0000644 00000001052 14722053666 0007042 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig SIOX tristate "Eckelmann SIOX Support" help SIOX stands for Serial Input Output eXtension and is a synchronous bus system invented by Eckelmann AG. It is used in their control and remote monitoring systems for commercial and industrial refrigeration to drive additional I/O units. Unless you know better, it is probably safe to say "no" here. if SIOX config SIOX_BUS_GPIO tristate "SIOX GPIO bus driver" help SIOX bus driver that controls the four bus lines using GPIOs. endif siox/Makefile 0000644 00000000171 14722053666 0007200 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SIOX) += siox-core.o obj-$(CONFIG_SIOX_BUS_GPIO) += siox-bus-gpio.o power/reset/Kconfig 0000644 00000016141 14722053666 0010343 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig POWER_RESET bool "Board level reset or power off" help Provides a number of drivers which either reset a complete board or shut it down, by manipulating the main power supply on the board. Say Y here to enable board reset and power off if POWER_RESET config POWER_RESET_AS3722 bool "ams AS3722 power-off driver" depends on MFD_AS3722 help This driver supports turning off board via a ams AS3722 power-off. config POWER_RESET_AT91_POWEROFF tristate "Atmel AT91 poweroff driver" depends on ARCH_AT91 default SOC_AT91SAM9 || SOC_SAMA5 help This driver supports poweroff for Atmel AT91SAM9 and SAMA5 SoCs config POWER_RESET_AT91_RESET tristate "Atmel AT91 reset driver" depends on ARCH_AT91 default SOC_AT91SAM9 || SOC_SAMA5 help This driver supports restart for Atmel AT91SAM9 and SAMA5 SoCs config POWER_RESET_AT91_SAMA5D2_SHDWC tristate "Atmel AT91 SAMA5D2-Compatible shutdown controller driver" depends on ARCH_AT91 default SOC_SAMA5 help This driver supports the alternate shutdown controller for some Atmel SAMA5 SoCs. It is present for example on SAMA5D2 SoC. config POWER_RESET_AXXIA bool "LSI Axxia reset driver" depends on ARCH_AXXIA help This driver supports restart for Axxia SoC. Say Y if you have an Axxia family SoC. config POWER_RESET_BRCMKONA bool "Broadcom Kona reset driver" depends on ARM || COMPILE_TEST default ARCH_BCM_MOBILE help This driver provides restart support for Broadcom Kona chips. Say Y here if you have a Broadcom Kona-based board and you wish to have restart support. config POWER_RESET_BRCMSTB bool "Broadcom STB reset driver" depends on ARM || ARM64 || MIPS || COMPILE_TEST depends on MFD_SYSCON default ARCH_BRCMSTB || BMIPS_GENERIC help This driver provides restart support for Broadcom STB boards. Say Y here if you have a Broadcom STB board and you wish to have restart support. config POWER_RESET_GEMINI_POWEROFF bool "Cortina Gemini power-off driver" depends on ARCH_GEMINI || COMPILE_TEST depends on OF && HAS_IOMEM default ARCH_GEMINI help This driver supports turning off the Cortina Gemini SoC. Select this if you're building a kernel with Gemini SoC support. config POWER_RESET_GPIO bool "GPIO power-off driver" depends on OF_GPIO help This driver supports turning off your board via a GPIO line. If your board needs a GPIO high/low to power down, say Y and create a binding in your devicetree. config POWER_RESET_GPIO_RESTART bool "GPIO restart driver" depends on OF_GPIO help This driver supports restarting your board via a GPIO line. If your board needs a GPIO high/low to restart, say Y and create a binding in your devicetree. config POWER_RESET_HISI bool "Hisilicon power-off driver" depends on ARCH_HISI help Reboot support for Hisilicon boards. config POWER_RESET_MSM bool "Qualcomm MSM power-off driver" depends on ARCH_QCOM help Power off and restart support for Qualcomm boards. config POWER_RESET_QCOM_PON tristate "Qualcomm power-on driver" depends on ARCH_QCOM depends on MFD_SPMI_PMIC select REBOOT_MODE help Power On support for Qualcomm boards. If you have a Qualcomm platform and need support for power-on and reboot reason, Say Y. If unsure, Say N. config POWER_RESET_OCELOT_RESET bool "Microsemi Ocelot reset driver" depends on MSCC_OCELOT || COMPILE_TEST select MFD_SYSCON help This driver supports restart for Microsemi Ocelot SoC. config POWER_RESET_PIIX4_POWEROFF tristate "Intel PIIX4 power-off driver" depends on PCI depends on MIPS || COMPILE_TEST help This driver supports powering off a system using the Intel PIIX4 southbridge, for example the MIPS Malta development board. The southbridge SOff state is entered in response to a request to power off the system. config POWER_RESET_LTC2952 bool "LTC2952 PowerPath power-off driver" depends on OF_GPIO help This driver supports an external powerdown trigger and board power down via the LTC2952. Bindings are made in the device tree. config POWER_RESET_QNAP bool "QNAP power-off driver" depends on OF_GPIO && PLAT_ORION help This driver supports turning off QNAP NAS devices by sending commands to the microcontroller which controls the main power. Say Y if you have a QNAP NAS. config POWER_RESET_RESTART bool "Restart power-off driver" help Some boards don't actually have the ability to power off. Instead they restart, and u-boot holds the SoC until the user presses a key. u-boot then boots into Linux. config POWER_RESET_ST bool "ST restart driver" depends on ARCH_STI help Reset support for STMicroelectronics boards. config POWER_RESET_VERSATILE bool "ARM Versatile family reboot driver" depends on ARM depends on MFD_SYSCON depends on OF help Power off and restart support for ARM Versatile family of reference boards. config POWER_RESET_VEXPRESS bool "ARM Versatile Express power-off and reset driver" depends on ARM || ARM64 depends on VEXPRESS_CONFIG help Power off and reset support for the ARM Ltd. Versatile Express boards. config POWER_RESET_XGENE bool "APM SoC X-Gene reset driver" depends on ARM64 help Reboot support for the APM SoC X-Gene Eval boards. config POWER_RESET_KEYSTONE bool "Keystone reset driver" depends on ARCH_KEYSTONE || COMPILE_TEST depends on HAS_IOMEM select MFD_SYSCON help Reboot support for the KEYSTONE SoCs. config POWER_RESET_SYSCON bool "Generic SYSCON regmap reset driver" depends on OF depends on HAS_IOMEM select MFD_SYSCON help Reboot support for generic SYSCON mapped register reset. config POWER_RESET_SYSCON_POWEROFF bool "Generic SYSCON regmap poweroff driver" depends on OF depends on HAS_IOMEM select MFD_SYSCON help Poweroff support for generic SYSCON mapped register poweroff. config POWER_RESET_RMOBILE tristate "Renesas R-Mobile reset driver" depends on ARCH_RMOBILE || COMPILE_TEST depends on HAS_IOMEM help Reboot support for Renesas R-Mobile and SH-Mobile SoCs. config POWER_RESET_ZX tristate "ZTE SoCs reset driver" depends on ARCH_ZX || COMPILE_TEST depends on HAS_IOMEM help Reboot support for ZTE SoCs. config REBOOT_MODE tristate config SYSCON_REBOOT_MODE tristate "Generic SYSCON regmap reboot mode driver" depends on OF depends on MFD_SYSCON select REBOOT_MODE help Say y here will enable reboot mode driver. This will get reboot mode arguments and store it in SYSCON mapped register, then the bootloader can read it to take different action according to the mode. config POWER_RESET_SC27XX bool "Spreadtrum SC27xx PMIC power-off driver" depends on MFD_SC27XX_PMIC || COMPILE_TEST help This driver supports powering off a system through Spreadtrum SC27xx series PMICs. The SC27xx series PMICs includes the SC2720, SC2721, SC2723, SC2730 and SC2731 chips. config NVMEM_REBOOT_MODE tristate "Generic NVMEM reboot mode driver" depends on OF select REBOOT_MODE help Say y here will enable reboot mode driver. This will get reboot mode arguments and store it in a NVMEM cell, then the bootloader can read it and take different action according to the mode. endif power/reset/Makefile 0000644 00000003264 14722053666 0010502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_POWER_RESET_AS3722) += as3722-poweroff.o obj-$(CONFIG_POWER_RESET_AT91_POWEROFF) += at91-poweroff.o obj-$(CONFIG_POWER_RESET_AT91_RESET) += at91-reset.o obj-$(CONFIG_POWER_RESET_AT91_SAMA5D2_SHDWC) += at91-sama5d2_shdwc.o obj-$(CONFIG_POWER_RESET_AXXIA) += axxia-reset.o obj-$(CONFIG_POWER_RESET_BRCMKONA) += brcm-kona-reset.o obj-$(CONFIG_POWER_RESET_BRCMSTB) += brcmstb-reboot.o obj-$(CONFIG_POWER_RESET_GEMINI_POWEROFF) += gemini-poweroff.o obj-$(CONFIG_POWER_RESET_GPIO) += gpio-poweroff.o obj-$(CONFIG_POWER_RESET_GPIO_RESTART) += gpio-restart.o obj-$(CONFIG_POWER_RESET_HISI) += hisi-reboot.o obj-$(CONFIG_POWER_RESET_MSM) += msm-poweroff.o obj-$(CONFIG_POWER_RESET_QCOM_PON) += qcom-pon.o obj-$(CONFIG_POWER_RESET_OCELOT_RESET) += ocelot-reset.o obj-$(CONFIG_POWER_RESET_PIIX4_POWEROFF) += piix4-poweroff.o obj-$(CONFIG_POWER_RESET_LTC2952) += ltc2952-poweroff.o obj-$(CONFIG_POWER_RESET_QNAP) += qnap-poweroff.o obj-$(CONFIG_POWER_RESET_RESTART) += restart-poweroff.o obj-$(CONFIG_POWER_RESET_ST) += st-poweroff.o obj-$(CONFIG_POWER_RESET_VERSATILE) += arm-versatile-reboot.o obj-$(CONFIG_POWER_RESET_VEXPRESS) += vexpress-poweroff.o obj-$(CONFIG_POWER_RESET_XGENE) += xgene-reboot.o obj-$(CONFIG_POWER_RESET_KEYSTONE) += keystone-reset.o obj-$(CONFIG_POWER_RESET_SYSCON) += syscon-reboot.o obj-$(CONFIG_POWER_RESET_SYSCON_POWEROFF) += syscon-poweroff.o obj-$(CONFIG_POWER_RESET_RMOBILE) += rmobile-reset.o obj-$(CONFIG_POWER_RESET_ZX) += zx-reboot.o obj-$(CONFIG_REBOOT_MODE) += reboot-mode.o obj-$(CONFIG_SYSCON_REBOOT_MODE) += syscon-reboot-mode.o obj-$(CONFIG_POWER_RESET_SC27XX) += sc27xx-poweroff.o obj-$(CONFIG_NVMEM_REBOOT_MODE) += nvmem-reboot-mode.o power/avs/Kconfig 0000644 00000001571 14722053666 0010013 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig POWER_AVS bool "Adaptive Voltage Scaling class support" help AVS is a power management technique which finely controls the operating voltage of a device in order to optimize (i.e. reduce) its power consumption. At a given operating point the voltage is adapted depending on static factors (chip manufacturing process) and dynamic factors (temperature depending performance). AVS is also called SmartReflex on OMAP devices. Say Y here to enable Adaptive Voltage Scaling class support. config ROCKCHIP_IODOMAIN tristate "Rockchip IO domain support" depends on POWER_AVS && ARCH_ROCKCHIP && OF help Say y here to enable support io domains on Rockchip SoCs. It is necessary for the io domain setting of the SoC to match the voltage supplied by the regulators. power/avs/Makefile 0000644 00000000220 14722053666 0010136 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_POWER_AVS_OMAP) += smartreflex.o obj-$(CONFIG_ROCKCHIP_IODOMAIN) += rockchip-io-domain.o power/Kconfig 0000644 00000000226 14722053666 0007216 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only source "drivers/power/avs/Kconfig" source "drivers/power/reset/Kconfig" source "drivers/power/supply/Kconfig" power/supply/Kconfig 0000644 00000051322 14722053666 0010555 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig POWER_SUPPLY bool "Power supply class support" help Say Y here to enable power supply class support. This allows power supply (batteries, AC, USB) monitoring by userspace via sysfs and uevent (if available) and/or APM kernel interface (if selected below). if POWER_SUPPLY config POWER_SUPPLY_DEBUG bool "Power supply debug" help Say Y here to enable debugging messages for power supply class and drivers. config POWER_SUPPLY_HWMON bool prompt "Expose power supply sensors as hwmon device" depends on HWMON=y || HWMON=POWER_SUPPLY default y help This options enables API that allows sensors found on a power supply device (current, voltage, temperature) to be exposed as a hwmon device. Say 'Y' here if you want power supplies to have hwmon sysfs interface too. config PDA_POWER tristate "Generic PDA/phone power driver" depends on !S390 help Say Y here to enable generic power driver for PDAs and phones with one or two external power supplies (AC/USB) connected to main and backup batteries, and optional builtin charger. config APM_POWER tristate "APM emulation for class batteries" depends on APM_EMULATION help Say Y here to enable support APM status emulation using battery class devices. config GENERIC_ADC_BATTERY tristate "Generic battery support using IIO" depends on IIO help Say Y here to enable support for the generic battery driver which uses IIO framework to read adc. config MAX8925_POWER tristate "MAX8925 battery charger support" depends on MFD_MAX8925 help Say Y here to enable support for the battery charger in the Maxim MAX8925 PMIC. config WM831X_BACKUP tristate "WM831X backup battery charger support" depends on MFD_WM831X help Say Y here to enable support for the backup battery charger in the Wolfson Microelectronics WM831x PMICs. config WM831X_POWER tristate "WM831X PMU support" depends on MFD_WM831X help Say Y here to enable support for the power management unit provided by Wolfson Microelectronics WM831x PMICs. config WM8350_POWER tristate "WM8350 PMU support" depends on MFD_WM8350 help Say Y here to enable support for the power management unit provided by the Wolfson Microelectronics WM8350 PMIC. config TEST_POWER tristate "Test power driver" help This driver is used for testing. It's safe to say M here. config BATTERY_88PM860X tristate "Marvell 88PM860x battery driver" depends on MFD_88PM860X help Say Y here to enable battery monitor for Marvell 88PM860x chip. config CHARGER_ADP5061 tristate "ADP5061 battery charger driver" depends on I2C select REGMAP_I2C help Say Y here to enable support for the ADP5061 standalone battery charger. This driver can be built as a module. If so, the module will be called adp5061. config BATTERY_ACT8945A tristate "Active-semi ACT8945A charger driver" depends on MFD_ACT8945A || COMPILE_TEST help Say Y here to enable support for power supply provided by Active-semi ActivePath ACT8945A charger. config BATTERY_CPCAP tristate "Motorola CPCAP PMIC battery driver" depends on MFD_CPCAP && IIO default MFD_CPCAP help Say Y here to enable support for battery on Motorola phones and tablets such as droid 4. config BATTERY_DS2760 tristate "DS2760 battery driver (HP iPAQ & others)" depends on W1 help Say Y here to enable support for batteries with ds2760 chip. config BATTERY_DS2780 tristate "DS2780 battery driver" depends on HAS_IOMEM select W1 select W1_SLAVE_DS2780 help Say Y here to enable support for batteries with ds2780 chip. config BATTERY_DS2781 tristate "DS2781 battery driver" depends on HAS_IOMEM select W1 select W1_SLAVE_DS2781 help If you enable this you will have the DS2781 battery driver support. The battery monitor chip is used in many batteries/devices as the one who is responsible for charging/discharging/monitoring Li+ batteries. If you are unsure, say N. config BATTERY_DS2782 tristate "DS2782/DS2786 standalone gas-gauge" depends on I2C help Say Y here to enable support for the DS2782/DS2786 standalone battery gas-gauge. config BATTERY_LEGO_EV3 tristate "LEGO MINDSTORMS EV3 battery" depends on OF && IIO && GPIOLIB help Say Y here to enable support for the LEGO MINDSTORMS EV3 battery. config BATTERY_PMU tristate "Apple PMU battery" depends on PPC32 && ADB_PMU help Say Y here to expose battery information on Apple machines through the generic battery class. config BATTERY_OLPC tristate "One Laptop Per Child battery" depends on OLPC_EC help Say Y to enable support for the battery on the OLPC laptop. config BATTERY_TOSA tristate "Sharp SL-6000 (tosa) battery" depends on MACH_TOSA && MFD_TC6393XB && TOUCHSCREEN_WM97XX help Say Y to enable support for the battery on the Sharp Zaurus SL-6000 (tosa) models. config BATTERY_COLLIE tristate "Sharp SL-5500 (collie) battery" depends on SA1100_COLLIE && MCP_UCB1200 help Say Y to enable support for the battery on the Sharp Zaurus SL-5500 (collie) models. config BATTERY_INGENIC tristate "Ingenic JZ47xx SoCs battery driver" depends on MIPS || COMPILE_TEST depends on INGENIC_ADC help Choose this option if you want to monitor battery status on Ingenic JZ47xx SoC based devices. This driver can also be built as a module. If so, the module will be called ingenic-battery. config BATTERY_IPAQ_MICRO tristate "iPAQ Atmel Micro ASIC battery driver" depends on MFD_IPAQ_MICRO help Choose this option if you want to monitor battery status on Compaq/HP iPAQ h3100 and h3600. config BATTERY_WM97XX bool "WM97xx generic battery driver" depends on TOUCHSCREEN_WM97XX=y help Say Y to enable support for battery measured by WM97xx aux port. config BATTERY_SBS tristate "SBS Compliant gas gauge" depends on I2C help Say Y to include support for SBS battery driver for SBS-compliant gas gauges. config CHARGER_SBS tristate "SBS Compliant charger" depends on I2C help Say Y to include support for SBS compliant battery chargers. config MANAGER_SBS tristate "Smart Battery System Manager" depends on I2C && I2C_MUX && GPIOLIB select I2C_SMBUS help Say Y here to include support for Smart Battery System Manager ICs. The driver reports online and charging status via sysfs. It presents itself also as I2C mux which allows to bind smart battery driver to its ports. Supported is for example LTC1760. This driver can also be built as a module. If so, the module will be called sbs-manager. config BATTERY_BQ27XXX tristate "BQ27xxx battery driver" help Say Y here to enable support for batteries with BQ27xxx chips. config BATTERY_BQ27XXX_I2C tristate "BQ27xxx I2C support" depends on BATTERY_BQ27XXX depends on I2C default y help Say Y here to enable support for batteries with BQ27xxx chips connected over an I2C bus. config BATTERY_BQ27XXX_HDQ tristate "BQ27xxx HDQ support" depends on BATTERY_BQ27XXX depends on W1 default y help Say Y here to enable support for batteries with BQ27xxx chips connected over an HDQ bus. config BATTERY_BQ27XXX_DT_UPDATES_NVM bool "BQ27xxx support for update of NVM/flash data memory" depends on BATTERY_BQ27XXX_I2C help Say Y here to enable devicetree monitored-battery config to update NVM/flash data memory. Only enable this option for devices with a fuel gauge mounted on the circuit board, and a battery that cannot easily be replaced with one of a different type. Not for general-purpose kernels, as this can cause misconfiguration of a smart battery with embedded NVM/flash. config BATTERY_DA9030 tristate "DA9030 battery driver" depends on PMIC_DA903X help Say Y here to enable support for batteries charger integrated into DA9030 PMIC. config BATTERY_DA9052 tristate "Dialog DA9052 Battery" depends on PMIC_DA9052 help Say Y here to enable support for batteries charger integrated into DA9052 PMIC. config CHARGER_DA9150 tristate "Dialog Semiconductor DA9150 Charger support" depends on MFD_DA9150 depends on DA9150_GPADC depends on IIO help Say Y here to enable support for charger unit of the DA9150 Integrated Charger & Fuel-Gauge IC. This driver can also be built as a module. If so, the module will be called da9150-charger. config BATTERY_DA9150 tristate "Dialog Semiconductor DA9150 Fuel Gauge support" depends on MFD_DA9150 help Say Y here to enable support for the Fuel-Gauge unit of the DA9150 Integrated Charger & Fuel-Gauge IC This driver can also be built as a module. If so, the module will be called da9150-fg. config CHARGER_AXP20X tristate "X-Powers AXP20X and AXP22X AC power supply driver" depends on MFD_AXP20X depends on AXP20X_ADC depends on IIO help Say Y here to enable support for X-Powers AXP20X and AXP22X PMICs' AC power supply. This driver can also be built as a module. If so, the module will be called axp20x_ac_power. config BATTERY_AXP20X tristate "X-Powers AXP20X battery driver" depends on MFD_AXP20X depends on AXP20X_ADC depends on IIO help Say Y here to enable support for X-Powers AXP20X PMICs' battery power supply. This driver can also be built as a module. If so, the module will be called axp20x_battery. config AXP20X_POWER tristate "AXP20x power supply driver" depends on MFD_AXP20X depends on IIO help This driver provides support for the power supply features of AXP20x PMIC. config AXP288_CHARGER tristate "X-Powers AXP288 Charger" depends on MFD_AXP20X && EXTCON_AXP288 help Say yes here to have support X-Power AXP288 power management IC (PMIC) integrated charger. config AXP288_FUEL_GAUGE tristate "X-Powers AXP288 Fuel Gauge" depends on MFD_AXP20X && IIO help Say yes here to have support for X-Power power management IC (PMIC) Fuel Gauge. The device provides battery statistics and status monitoring as well as alerts for battery over/under voltage and over/under temperature. config BATTERY_MAX17040 tristate "Maxim MAX17040 Fuel Gauge" depends on I2C help MAX17040 is fuel-gauge systems for lithium-ion (Li+) batteries in handheld and portable equipment. The MAX17040 is configured to operate with a single lithium cell config BATTERY_MAX17042 tristate "Maxim MAX17042/17047/17050/8997/8966 Fuel Gauge" depends on I2C select REGMAP_I2C help MAX17042 is fuel-gauge systems for lithium-ion (Li+) batteries in handheld and portable equipment. The MAX17042 is configured to operate with a single lithium cell. MAX8997 and MAX8966 are multi-function devices that include fuel gauages that are compatible with MAX17042. This driver also supports max17047/50 chips which are improved version of max17042. config BATTERY_MAX1721X tristate "MAX17211/MAX17215 standalone gas-gauge" depends on W1 select REGMAP_W1 help MAX1721x is fuel-gauge systems for lithium-ion (Li+) batteries in handheld and portable equipment. MAX17211 used with single cell battery. MAX17215 designed for muticell battery. Both them have OneWire (W1) host interface. Say Y here to enable support for the MAX17211/MAX17215 standalone battery gas-gauge. config BATTERY_Z2 tristate "Z2 battery driver" depends on I2C && MACH_ZIPIT2 help Say Y to include support for the battery on the Zipit Z2. config BATTERY_S3C_ADC tristate "Battery driver for Samsung ADC based monitoring" depends on S3C_ADC help Say Y here to enable support for iPAQ h1930/h1940/rx1950 battery config BATTERY_TWL4030_MADC tristate "TWL4030 MADC battery driver" depends on TWL4030_MADC help Say Y here to enable this dumb driver for batteries managed through the TWL4030 MADC. config CHARGER_88PM860X tristate "Marvell 88PM860x Charger driver" depends on MFD_88PM860X && BATTERY_88PM860X help Say Y here to enable charger for Marvell 88PM860x chip. config CHARGER_PCF50633 tristate "NXP PCF50633 MBC" depends on MFD_PCF50633 help Say Y to include support for NXP PCF50633 Main Battery Charger. config BATTERY_RX51 tristate "Nokia RX-51 (N900) battery driver" depends on TWL4030_MADC help Say Y here to enable support for battery information on Nokia RX-51, also known as N900 tablet. config CHARGER_CPCAP tristate "CPCAP PMIC Charger Driver" depends on MFD_CPCAP && IIO depends on OMAP_USB2 || (!OMAP_USB2 && COMPILE_TEST) default MFD_CPCAP help Say Y to enable support for CPCAP PMIC charger driver for Motorola mobile devices such as Droid 4. config CHARGER_ISP1704 tristate "ISP1704 USB Charger Detection" depends on USB_PHY depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' help Say Y to enable support for USB Charger Detection with ISP1707/ISP1704 USB transceivers. config CHARGER_MAX8903 tristate "MAX8903 Battery DC-DC Charger for USB and Adapter Power" help Say Y to enable support for the MAX8903 DC-DC charger and sysfs. The driver supports controlling charger-enable and current-limit pins based on the status of charger connections with interrupt handlers. config CHARGER_TWL4030 tristate "OMAP TWL4030 BCI charger driver" depends on IIO && TWL4030_CORE help Say Y here to enable support for TWL4030 Battery Charge Interface. config CHARGER_LP8727 tristate "TI/National Semiconductor LP8727 charger driver" depends on I2C help Say Y here to enable support for LP8727 Charger Driver. config CHARGER_LP8788 tristate "TI LP8788 charger driver" depends on MFD_LP8788 depends on LP8788_ADC depends on IIO help Say Y to enable support for the LP8788 linear charger. config CHARGER_GPIO tristate "GPIO charger" depends on GPIOLIB || COMPILE_TEST help Say Y to include support for chargers which report their online status through a GPIO pin. This driver can be build as a module. If so, the module will be called gpio-charger. config CHARGER_MANAGER bool "Battery charger manager for multiple chargers" depends on REGULATOR select EXTCON help Say Y to enable charger-manager support, which allows multiple chargers attached to a battery and multiple batteries attached to a system. The charger-manager also can monitor charging status in runtime and in suspend-to-RAM by waking up the system periodically with help of suspend_again support. config CHARGER_LT3651 tristate "Analog Devices LT3651 charger" depends on GPIOLIB help Say Y to include support for the Analog Devices (Linear Technology) LT3651 battery charger which reports its status via GPIO lines. config CHARGER_MAX14577 tristate "Maxim MAX14577/77836 battery charger driver" depends on MFD_MAX14577 help Say Y to enable support for the battery charger control sysfs and platform data of MAX14577/77836 MUICs. config CHARGER_DETECTOR_MAX14656 tristate "Maxim MAX14656 USB charger detector" depends on I2C depends on OF help Say Y to enable support for the Maxim MAX14656 USB charger detector. The device is compliant with the USB Battery Charging Specification Revision 1.2 and can be found e.g. in Kindle 4/5th generation readers and certain LG devices. config CHARGER_MAX77650 tristate "Maxim MAX77650 battery charger driver" depends on MFD_MAX77650 help Say Y to enable support for the battery charger control of MAX77650 PMICs. config CHARGER_MAX77693 tristate "Maxim MAX77693 battery charger driver" depends on MFD_MAX77693 help Say Y to enable support for the Maxim MAX77693 battery charger. config CHARGER_MAX8997 tristate "Maxim MAX8997/MAX8966 PMIC battery charger driver" depends on MFD_MAX8997 && REGULATOR_MAX8997 help Say Y to enable support for the battery charger control sysfs and platform data of MAX8997/LP3974 PMICs. config CHARGER_MAX8998 tristate "Maxim MAX8998/LP3974 PMIC battery charger driver" depends on MFD_MAX8998 && REGULATOR_MAX8998 help Say Y to enable support for the battery charger control sysfs and platform data of MAX8998/LP3974 PMICs. config CHARGER_QCOM_SMBB tristate "Qualcomm Switch-Mode Battery Charger and Boost" depends on MFD_SPMI_PMIC || COMPILE_TEST depends on OF depends on EXTCON depends on REGULATOR help Say Y to include support for the Switch-Mode Battery Charger and Boost (SMBB) hardware found in Qualcomm PM8941 PMICs. The charger is an integrated, single-cell lithium-ion battery charger. DT configuration is required for loading, see the devicetree documentation for more detail. The base name for this driver is 'pm8941_charger'. config CHARGER_BQ2415X tristate "TI BQ2415x battery charger driver" depends on I2C help Say Y to enable support for the TI BQ2415x battery charger PMICs. You'll need this driver to charge batteries on e.g. Nokia RX-51/N900. config CHARGER_BQ24190 tristate "TI BQ24190 battery charger driver" depends on I2C depends on EXTCON depends on GPIOLIB || COMPILE_TEST help Say Y to enable support for the TI BQ24190 battery charger. config CHARGER_BQ24257 tristate "TI BQ24250/24251/24257 battery charger driver" depends on I2C depends on GPIOLIB || COMPILE_TEST select REGMAP_I2C help Say Y to enable support for the TI BQ24250, BQ24251, and BQ24257 battery chargers. config CHARGER_BQ24735 tristate "TI BQ24735 battery charger support" depends on I2C depends on GPIOLIB || COMPILE_TEST help Say Y to enable support for the TI BQ24735 battery charger. config CHARGER_BQ25890 tristate "TI BQ25890 battery charger driver" depends on I2C depends on GPIOLIB || COMPILE_TEST select REGMAP_I2C help Say Y to enable support for the TI BQ25890 battery charger. config CHARGER_SMB347 tristate "Summit Microelectronics SMB347 Battery Charger" depends on I2C select REGMAP_I2C help Say Y to include support for Summit Microelectronics SMB347 Battery Charger. config CHARGER_TPS65090 tristate "TPS65090 battery charger driver" depends on MFD_TPS65090 help Say Y here to enable support for battery charging with TPS65090 PMIC chips. config CHARGER_TPS65217 tristate "TPS65217 battery charger driver" depends on MFD_TPS65217 help Say Y here to enable support for battery charging with TPS65217 PMIC chips. config BATTERY_GAUGE_LTC2941 tristate "LTC2941/LTC2943 Battery Gauge Driver" depends on I2C help Say Y here to include support for LTC2941 and LTC2943 Battery Gauge IC. The driver reports the charge count continuously, and measures the voltage and temperature every 10 seconds. config AB8500_BM bool "AB8500 Battery Management Driver" depends on AB8500_CORE && AB8500_GPADC help Say Y to include support for AB8500 battery management. config BATTERY_GOLDFISH tristate "Goldfish battery driver" depends on GOLDFISH || COMPILE_TEST depends on HAS_IOMEM help Say Y to enable support for the battery and AC power in the Goldfish emulator. config BATTERY_RT5033 tristate "RT5033 fuel gauge support" depends on I2C select REGMAP_I2C help This adds support for battery fuel gauge in Richtek RT5033 PMIC. The fuelgauge calculates and determines the battery state of charge according to battery open circuit voltage. config CHARGER_RT9455 tristate "Richtek RT9455 battery charger driver" depends on I2C depends on GPIOLIB || COMPILE_TEST select REGMAP_I2C help Say Y to enable support for Richtek RT9455 battery charger. config CHARGER_CROS_USBPD tristate "ChromeOS EC based USBPD charger" depends on CROS_EC default n help Say Y here to enable ChromeOS EC based USBPD charger driver. This driver gets various bits of information about what is connected to USB PD ports from the EC and converts that into power_supply properties. config CHARGER_SC2731 tristate "Spreadtrum SC2731 charger driver" depends on MFD_SC27XX_PMIC || COMPILE_TEST help Say Y here to enable support for battery charging with SC2731 PMIC chips. config FUEL_GAUGE_SC27XX tristate "Spreadtrum SC27XX fuel gauge driver" depends on MFD_SC27XX_PMIC || COMPILE_TEST depends on IIO help Say Y here to enable support for fuel gauge with SC27XX PMIC chips. config CHARGER_UCS1002 tristate "Microchip UCS1002 USB Port Power Controller" depends on I2C depends on OF depends on REGULATOR select REGMAP_I2C help Say Y to enable support for Microchip UCS1002 Programmable USB Port Power Controller with Charger Emulation. config CHARGER_BD70528 tristate "ROHM bd70528 charger driver" depends on MFD_ROHM_BD70528 default n help Say Y here to enable support for getting battery status information and altering charger configurations from charger block of the ROHM BD70528 Power Management IC. config CHARGER_WILCO tristate "Wilco EC based charger for ChromeOS" depends on WILCO_EC help Say Y here to enable control of the charging routines performed by the Embedded Controller on the Chromebook named Wilco. Further information can be found in Documentation/ABI/testing/sysfs-class-power-wilco endif # POWER_SUPPLY power/supply/Makefile 0000644 00000010744 14722053666 0010715 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 subdir-ccflags-$(CONFIG_POWER_SUPPLY_DEBUG) := -DDEBUG power_supply-y := power_supply_core.o power_supply-$(CONFIG_SYSFS) += power_supply_sysfs.o power_supply-$(CONFIG_LEDS_TRIGGERS) += power_supply_leds.o obj-$(CONFIG_POWER_SUPPLY) += power_supply.o obj-$(CONFIG_POWER_SUPPLY_HWMON) += power_supply_hwmon.o obj-$(CONFIG_GENERIC_ADC_BATTERY) += generic-adc-battery.o obj-$(CONFIG_PDA_POWER) += pda_power.o obj-$(CONFIG_APM_POWER) += apm_power.o obj-$(CONFIG_AXP20X_POWER) += axp20x_usb_power.o obj-$(CONFIG_MAX8925_POWER) += max8925_power.o obj-$(CONFIG_WM831X_BACKUP) += wm831x_backup.o obj-$(CONFIG_WM831X_POWER) += wm831x_power.o obj-$(CONFIG_WM8350_POWER) += wm8350_power.o obj-$(CONFIG_TEST_POWER) += test_power.o obj-$(CONFIG_BATTERY_88PM860X) += 88pm860x_battery.o obj-$(CONFIG_CHARGER_ADP5061) += adp5061.o obj-$(CONFIG_BATTERY_ACT8945A) += act8945a_charger.o obj-$(CONFIG_BATTERY_AXP20X) += axp20x_battery.o obj-$(CONFIG_CHARGER_AXP20X) += axp20x_ac_power.o obj-$(CONFIG_BATTERY_CPCAP) += cpcap-battery.o obj-$(CONFIG_BATTERY_DS2760) += ds2760_battery.o obj-$(CONFIG_BATTERY_DS2780) += ds2780_battery.o obj-$(CONFIG_BATTERY_DS2781) += ds2781_battery.o obj-$(CONFIG_BATTERY_DS2782) += ds2782_battery.o obj-$(CONFIG_BATTERY_GAUGE_LTC2941) += ltc2941-battery-gauge.o obj-$(CONFIG_BATTERY_GOLDFISH) += goldfish_battery.o obj-$(CONFIG_BATTERY_LEGO_EV3) += lego_ev3_battery.o obj-$(CONFIG_BATTERY_PMU) += pmu_battery.o obj-$(CONFIG_BATTERY_OLPC) += olpc_battery.o obj-$(CONFIG_BATTERY_TOSA) += tosa_battery.o obj-$(CONFIG_BATTERY_COLLIE) += collie_battery.o obj-$(CONFIG_BATTERY_INGENIC) += ingenic-battery.o obj-$(CONFIG_BATTERY_IPAQ_MICRO) += ipaq_micro_battery.o obj-$(CONFIG_BATTERY_WM97XX) += wm97xx_battery.o obj-$(CONFIG_BATTERY_SBS) += sbs-battery.o obj-$(CONFIG_CHARGER_SBS) += sbs-charger.o obj-$(CONFIG_MANAGER_SBS) += sbs-manager.o obj-$(CONFIG_BATTERY_BQ27XXX) += bq27xxx_battery.o obj-$(CONFIG_BATTERY_BQ27XXX_I2C) += bq27xxx_battery_i2c.o obj-$(CONFIG_BATTERY_BQ27XXX_HDQ) += bq27xxx_battery_hdq.o obj-$(CONFIG_BATTERY_DA9030) += da9030_battery.o obj-$(CONFIG_BATTERY_DA9052) += da9052-battery.o obj-$(CONFIG_CHARGER_DA9150) += da9150-charger.o obj-$(CONFIG_BATTERY_DA9150) += da9150-fg.o obj-$(CONFIG_BATTERY_MAX17040) += max17040_battery.o obj-$(CONFIG_BATTERY_MAX17042) += max17042_battery.o obj-$(CONFIG_BATTERY_MAX1721X) += max1721x_battery.o obj-$(CONFIG_BATTERY_Z2) += z2_battery.o obj-$(CONFIG_BATTERY_RT5033) += rt5033_battery.o obj-$(CONFIG_CHARGER_RT9455) += rt9455_charger.o obj-$(CONFIG_BATTERY_S3C_ADC) += s3c_adc_battery.o obj-$(CONFIG_BATTERY_TWL4030_MADC) += twl4030_madc_battery.o obj-$(CONFIG_CHARGER_88PM860X) += 88pm860x_charger.o obj-$(CONFIG_CHARGER_PCF50633) += pcf50633-charger.o obj-$(CONFIG_BATTERY_RX51) += rx51_battery.o obj-$(CONFIG_AB8500_BM) += ab8500_bmdata.o ab8500_charger.o ab8500_fg.o ab8500_btemp.o abx500_chargalg.o pm2301_charger.o obj-$(CONFIG_CHARGER_CPCAP) += cpcap-charger.o obj-$(CONFIG_CHARGER_ISP1704) += isp1704_charger.o obj-$(CONFIG_CHARGER_MAX8903) += max8903_charger.o obj-$(CONFIG_CHARGER_TWL4030) += twl4030_charger.o obj-$(CONFIG_CHARGER_LP8727) += lp8727_charger.o obj-$(CONFIG_CHARGER_LP8788) += lp8788-charger.o obj-$(CONFIG_CHARGER_GPIO) += gpio-charger.o obj-$(CONFIG_CHARGER_MANAGER) += charger-manager.o obj-$(CONFIG_CHARGER_LT3651) += lt3651-charger.o obj-$(CONFIG_CHARGER_MAX14577) += max14577_charger.o obj-$(CONFIG_CHARGER_DETECTOR_MAX14656) += max14656_charger_detector.o obj-$(CONFIG_CHARGER_MAX77650) += max77650-charger.o obj-$(CONFIG_CHARGER_MAX77693) += max77693_charger.o obj-$(CONFIG_CHARGER_MAX8997) += max8997_charger.o obj-$(CONFIG_CHARGER_MAX8998) += max8998_charger.o obj-$(CONFIG_CHARGER_QCOM_SMBB) += qcom_smbb.o obj-$(CONFIG_CHARGER_BQ2415X) += bq2415x_charger.o obj-$(CONFIG_CHARGER_BQ24190) += bq24190_charger.o obj-$(CONFIG_CHARGER_BQ24257) += bq24257_charger.o obj-$(CONFIG_CHARGER_BQ24735) += bq24735-charger.o obj-$(CONFIG_CHARGER_BQ25890) += bq25890_charger.o obj-$(CONFIG_CHARGER_SMB347) += smb347-charger.o obj-$(CONFIG_CHARGER_TPS65090) += tps65090-charger.o obj-$(CONFIG_CHARGER_TPS65217) += tps65217_charger.o obj-$(CONFIG_AXP288_FUEL_GAUGE) += axp288_fuel_gauge.o obj-$(CONFIG_AXP288_CHARGER) += axp288_charger.o obj-$(CONFIG_CHARGER_CROS_USBPD) += cros_usbpd-charger.o obj-$(CONFIG_CHARGER_SC2731) += sc2731_charger.o obj-$(CONFIG_FUEL_GAUGE_SC27XX) += sc27xx_fuel_gauge.o obj-$(CONFIG_CHARGER_UCS1002) += ucs1002_power.o obj-$(CONFIG_CHARGER_BD70528) += bd70528-charger.o obj-$(CONFIG_CHARGER_WILCO) += wilco-charger.o power/Makefile 0000644 00000000223 14722053666 0007350 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_POWER_AVS) += avs/ obj-$(CONFIG_POWER_RESET) += reset/ obj-$(CONFIG_POWER_SUPPLY) += supply/ gnss/Kconfig 0000644 00000002436 14722053666 0007041 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # GNSS receiver configuration # menuconfig GNSS tristate "GNSS receiver support" ---help--- Say Y here if you have a GNSS receiver (e.g. a GPS receiver). To compile this driver as a module, choose M here: the module will be called gnss. if GNSS config GNSS_SERIAL tristate config GNSS_MTK_SERIAL tristate "Mediatek GNSS receiver support" depends on SERIAL_DEV_BUS select GNSS_SERIAL help Say Y here if you have a Mediatek-based GNSS receiver which uses a serial interface. To compile this driver as a module, choose M here: the module will be called gnss-mtk. If unsure, say N. config GNSS_SIRF_SERIAL tristate "SiRFstar GNSS receiver support" depends on SERIAL_DEV_BUS ---help--- Say Y here if you have a SiRFstar-based GNSS receiver which uses a serial interface. To compile this driver as a module, choose M here: the module will be called gnss-sirf. If unsure, say N. config GNSS_UBX_SERIAL tristate "u-blox GNSS receiver support" depends on SERIAL_DEV_BUS select GNSS_SERIAL ---help--- Say Y here if you have a u-blox GNSS receiver which uses a serial interface. To compile this driver as a module, choose M here: the module will be called gnss-ubx. If unsure, say N. endif # GNSS gnss/Makefile 0000644 00000000614 14722053666 0007172 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the GNSS subsystem. # obj-$(CONFIG_GNSS) += gnss.o gnss-y := core.o obj-$(CONFIG_GNSS_SERIAL) += gnss-serial.o gnss-serial-y := serial.o obj-$(CONFIG_GNSS_MTK_SERIAL) += gnss-mtk.o gnss-mtk-y := mtk.o obj-$(CONFIG_GNSS_SIRF_SERIAL) += gnss-sirf.o gnss-sirf-y := sirf.o obj-$(CONFIG_GNSS_UBX_SERIAL) += gnss-ubx.o gnss-ubx-y := ubx.o pps/clients/Kconfig 0000644 00000002104 14722053666 0010322 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PPS clients configuration # comment "PPS clients support" config PPS_CLIENT_KTIMER tristate "Kernel timer client (Testing client, use for debug)" help If you say yes here you get support for a PPS debugging client which uses a kernel timer to generate the PPS signal. This driver can also be built as a module. If so, the module will be called pps-ktimer. config PPS_CLIENT_LDISC tristate "PPS line discipline" depends on TTY help If you say yes here you get support for a PPS source connected with the CD (Carrier Detect) pin of your serial port. config PPS_CLIENT_PARPORT tristate "Parallel port PPS client" depends on PARPORT help If you say yes here you get support for a PPS source connected with the interrupt pin of your parallel port. config PPS_CLIENT_GPIO tristate "PPS client using GPIO" help If you say yes here you get support for a PPS source using GPIO. To be useful you must also register a platform device specifying the GPIO pin and other options, usually in your board setup. pps/clients/Makefile 0000644 00000000455 14722053666 0010466 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for PPS clients. # obj-$(CONFIG_PPS_CLIENT_KTIMER) += pps-ktimer.o obj-$(CONFIG_PPS_CLIENT_LDISC) += pps-ldisc.o obj-$(CONFIG_PPS_CLIENT_PARPORT) += pps_parport.o obj-$(CONFIG_PPS_CLIENT_GPIO) += pps-gpio.o ccflags-$(CONFIG_PPS_DEBUG) := -DDEBUG pps/Kconfig 0000644 00000002413 14722053666 0006664 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PPS support configuration # menuconfig PPS tristate "PPS support" ---help--- PPS (Pulse Per Second) is a special pulse provided by some GPS antennae. Userland can use it to get a high-precision time reference. Some antennae's PPS signals are connected with the CD (Carrier Detect) pin of the serial line they use to communicate with the host. In this case use the SERIAL_LINE client support. Some antennae's PPS signals are connected with some special host inputs so you have to enable the corresponding client support. To compile this driver as a module, choose M here: the module will be called pps_core.ko. if PPS config PPS_DEBUG bool "PPS debugging messages" help Say Y here if you want the PPS support to produce a bunch of debug messages to the system log. Select this if you are having a problem with PPS support and want to see more of what is going on. config NTP_PPS bool "PPS kernel consumer support" depends on !NO_HZ_COMMON help This option adds support for direct in-kernel time synchronization using an external PPS signal. It doesn't work on tickless systems at the moment. source "drivers/pps/clients/Kconfig" source "drivers/pps/generators/Kconfig" endif # PPS pps/generators/Kconfig 0000644 00000000670 14722053666 0011040 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PPS generators configuration # comment "PPS generators support" config PPS_GENERATOR_PARPORT tristate "Parallel port PPS signal generator" depends on PARPORT && BROKEN help If you say yes here you get support for a PPS signal generator which utilizes STROBE pin of a parallel port to send PPS signals. It uses parport abstraction layer and hrtimers to precisely control the signal. pps/generators/Makefile 0000644 00000000301 14722053666 0011164 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for PPS generators. # obj-$(CONFIG_PPS_GENERATOR_PARPORT) += pps_gen_parport.o ifeq ($(CONFIG_PPS_DEBUG),y) EXTRA_CFLAGS += -DDEBUG endif pps/Makefile 0000644 00000000374 14722053666 0007025 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the PPS core. # pps_core-y := pps.o kapi.o sysfs.o pps_core-$(CONFIG_NTP_PPS) += kc.o obj-$(CONFIG_PPS) := pps_core.o obj-y += clients/ generators/ ccflags-$(CONFIG_PPS_DEBUG) := -DDEBUG eisa/Kconfig 0000644 00000004230 14722053666 0007002 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # EISA configuration # config HAVE_EISA bool menuconfig EISA bool "EISA support" depends on HAVE_EISA ---help--- The Extended Industry Standard Architecture (EISA) bus was developed as an open alternative to the IBM MicroChannel bus. The EISA bus provided some of the features of the IBM MicroChannel bus while maintaining backward compatibility with cards made for the older ISA bus. The EISA bus saw limited use between 1988 and 1995 when it was made obsolete by the PCI bus. Say Y here if you are building a kernel for an EISA-based machine. Otherwise, say N. config EISA_VLB_PRIMING bool "Vesa Local Bus priming" depends on X86 && EISA default n ---help--- Activate this option if your system contains a Vesa Local Bus (VLB) card that identify itself as an EISA card (such as the Adaptec AHA-284x). When in doubt, say N. config EISA_PCI_EISA bool "Generic PCI/EISA bridge" depends on !PARISC && PCI && EISA default y ---help--- Activate this option if your system contains a PCI to EISA bridge. If your system have both PCI and EISA slots, you certainly need this option. When in doubt, say Y. # Using EISA_VIRTUAL_ROOT on something other than an Alpha or # an X86 may lead to crashes... config EISA_VIRTUAL_ROOT bool "EISA virtual root device" depends on EISA && (ALPHA || X86) default y ---help--- Activate this option if your system only have EISA bus (no PCI slots). The Alpha Jensen is an example of such a system. When in doubt, say Y. config EISA_NAMES bool "EISA device name database" depends on EISA default y ---help--- By default, the kernel contains a database of all known EISA device names to make the information in sysfs comprehensible to the user. This database increases size of the kernel image by about 40KB, but it gets freed after the system boots up, so it doesn't take up kernel memory. Anyway, if you are building an installation floppy or kernel for an embedded system where kernel image size really matters, you can disable this feature and you'll get device ID instead of names. When in doubt, say Y. eisa/Makefile 0000644 00000001271 14722053666 0007141 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the Linux device tree obj-$(CONFIG_EISA) += eisa-bus.o obj-${CONFIG_EISA_PCI_EISA} += pci_eisa.o # virtual_root.o should be the last EISA root device to initialize, # so leave it at the end of the list. obj-${CONFIG_EISA_VIRTUAL_ROOT} += virtual_root.o # Ugly hack to get DEVICE_NAME_SIZE value... DEVICE_NAME_SIZE = 50 $(obj)/eisa-bus.o: $(obj)/devlist.h quiet_cmd_eisaid = GEN $@ cmd_eisaid = sed -e '/^\#/D' -e 's/^\([[:alnum:]]\{7\}\) \+"\([^"]\{1,$(DEVICE_NAME_SIZE)\}\).*"/EISA_DEVINFO ("\1", "\2"),/' $< > $@ clean-files := devlist.h $(obj)/devlist.h: $(src)/eisa.ids include/linux/device.h $(call cmd,eisaid) sbus/char/Kconfig 0000644 00000004672 14722053666 0007764 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Misc Linux/SPARC drivers" config SUN_OPENPROMIO tristate "/dev/openprom device support" help This driver provides user programs with an interface to the SPARC PROM device tree. The driver implements a SunOS-compatible interface and a NetBSD-compatible interface. To compile this driver as a module, choose M here: the module will be called openprom. If unsure, say Y. config OBP_FLASH tristate "OBP Flash Device support" depends on SPARC64 help The OpenBoot PROM on Ultra systems is flashable. If you want to be able to upgrade the OBP firmware, say Y here. config TADPOLE_TS102_UCTRL tristate "Tadpole TS102 Microcontroller support" help Say Y here to directly support the TS102 Microcontroller interface on the Tadpole Sparcbook 3. This device handles power-management events, and can also notice the attachment/detachment of external monitors and mice. config BBC_I2C tristate "UltraSPARC-III bootbus i2c controller driver" depends on PCI && SPARC64 help The BBC devices on the UltraSPARC III have two I2C controllers. The first I2C controller connects mainly to configuration PROMs (NVRAM, CPU configuration, DIMM types, etc.). The second I2C controller connects to environmental control devices such as fans and temperature sensors. The second controller also connects to the smartcard reader, if present. Say Y to enable support for these. config ENVCTRL tristate "SUNW, envctrl support" depends on PCI && SPARC64 help Kernel support for temperature and fan monitoring on Sun SME machines. To compile this driver as a module, choose M here: the module will be called envctrl. config DISPLAY7SEG tristate "7-Segment Display support" depends on PCI && SPARC64 ---help--- This is the driver for the 7-segment display and LED present on Sun Microsystems CompactPCI models CP1400 and CP1500. To compile this driver as a module, choose M here: the module will be called display7seg. If you do not have a CompactPCI model CP1400 or CP1500, or another UltraSPARC-IIi-cEngine boardset with a 7-segment display, you should say N to this option. config ORACLE_DAX tristate "Oracle Data Analytics Accelerator" depends on SPARC64 default m help Driver for Oracle Data Analytics Accelerator, which is a coprocessor that performs database operations in hardware. It is available on M7 and M8 based systems only. endmenu sbus/char/Makefile 0000644 00000001104 14722053666 0010104 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel miscellaneous SPARC device drivers. # # Dave Redman Frame Buffer tuning support. # # 7 October 2000, Bartlomiej Zolnierkiewicz <bkz@linux-ide.org> # Rewritten to use lists instead of if-statements. # bbc-objs := bbc_i2c.o bbc_envctrl.o obj-$(CONFIG_ENVCTRL) += envctrl.o obj-$(CONFIG_DISPLAY7SEG) += display7seg.o obj-$(CONFIG_OBP_FLASH) += flash.o obj-$(CONFIG_SUN_OPENPROMIO) += openprom.o obj-$(CONFIG_TADPOLE_TS102_UCTRL) += uctrl.o obj-$(CONFIG_BBC_I2C) += bbc.o obj-$(CONFIG_ORACLE_DAX) += oradax.o sbus/Makefile 0000644 00000000156 14722053666 0007175 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the linux kernel. # obj-$(CONFIG_SBUSCHAR) += char/ dma/bestcomm/Kconfig 0000644 00000001541 14722053666 0010435 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Kconfig options for Bestcomm # config PPC_BESTCOMM tristate "Bestcomm DMA engine support" depends on PPC_MPC52xx default n select PPC_LIB_RHEAP help BestComm is the name of the communication coprocessor found on the Freescale MPC5200 family of processor. Its usage is optional for some drivers (like ATA), but required for others (like FEC). If you want to use drivers that require DMA operations, answer Y or M. Otherwise say N. config PPC_BESTCOMM_ATA tristate depends on PPC_BESTCOMM help This option enables the support for the ATA task. config PPC_BESTCOMM_FEC tristate depends on PPC_BESTCOMM help This option enables the support for the FEC tasks. config PPC_BESTCOMM_GEN_BD tristate depends on PPC_BESTCOMM help This option enables the support for the GenBD tasks. dma/bestcomm/Makefile 0000644 00000000763 14722053666 0010577 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for BestComm & co # bestcomm-core-objs := bestcomm.o sram.o bestcomm-ata-objs := ata.o bcom_ata_task.o bestcomm-fec-objs := fec.o bcom_fec_rx_task.o bcom_fec_tx_task.o bestcomm-gen-bd-objs := gen_bd.o bcom_gen_bd_rx_task.o bcom_gen_bd_tx_task.o obj-$(CONFIG_PPC_BESTCOMM) += bestcomm-core.o obj-$(CONFIG_PPC_BESTCOMM_ATA) += bestcomm-ata.o obj-$(CONFIG_PPC_BESTCOMM_FEC) += bestcomm-fec.o obj-$(CONFIG_PPC_BESTCOMM_GEN_BD) += bestcomm-gen-bd.o dma/ioat/Makefile 0000644 00000000200 14722053666 0007704 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_INTEL_IOATDMA) += ioatdma.o ioatdma-y := init.o dma.o prep.o dca.o sysfs.o dma/dw-axi-dmac/Makefile 0000644 00000000134 14722053666 0011051 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DW_AXI_DMAC) += dw-axi-dmac-platform.o dma/dw/Kconfig 0000644 00000001250 14722053666 0007233 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # DMA engine configuration for dw # config DW_DMAC_CORE tristate select DMA_ENGINE config DW_DMAC tristate "Synopsys DesignWare AHB DMA platform driver" depends on HAS_IOMEM select DW_DMAC_CORE help Support the Synopsys DesignWare AHB DMA controller. This can be integrated in chips such as the Intel Cherrytrail. config DW_DMAC_PCI tristate "Synopsys DesignWare AHB DMA PCI driver" depends on PCI depends on HAS_IOMEM select DW_DMAC_CORE help Support the Synopsys DesignWare AHB DMA controller on the platforms that enumerate it as a PCI device. For example, Intel Medfield has integrated this GPDMA controller. dma/dw/Makefile 0000644 00000000477 14722053666 0007402 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DW_DMAC_CORE) += dw_dmac_core.o dw_dmac_core-objs := core.o dw.o idma32.o obj-$(CONFIG_DW_DMAC) += dw_dmac.o dw_dmac-y := platform.o dw_dmac-$(CONFIG_ACPI) += acpi.o dw_dmac-$(CONFIG_OF) += of.o obj-$(CONFIG_DW_DMAC_PCI) += dw_dmac_pci.o dw_dmac_pci-objs := pci.o dma/hsu/Kconfig 0000644 00000000315 14722053666 0007421 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # DMA engine configuration for hsu config HSU_DMA tristate select DMA_ENGINE select DMA_VIRTUAL_CHANNELS config HSU_DMA_PCI tristate depends on HSU_DMA && PCI dma/hsu/Makefile 0000644 00000000251 14722053666 0007555 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_HSU_DMA) += hsu_dma.o hsu_dma-objs := hsu.o obj-$(CONFIG_HSU_DMA_PCI) += hsu_dma_pci.o hsu_dma_pci-objs := pci.o dma/Kconfig 0000644 00000050360 14722053666 0006627 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # DMA engine configuration # menuconfig DMADEVICES bool "DMA Engine support" depends on HAS_DMA help DMA engines can do asynchronous data transfers without involving the host CPU. Currently, this framework can be used to offload memory copies in the network stack and RAID operations in the MD driver. This menu only presents DMA Device drivers supported by the configured arch, it may be empty in some cases. config DMADEVICES_DEBUG bool "DMA Engine debugging" depends on DMADEVICES != n help This is an option for use by developers; most people should say N here. This enables DMA engine core and driver debugging. config DMADEVICES_VDEBUG bool "DMA Engine verbose debugging" depends on DMADEVICES_DEBUG != n help This is an option for use by developers; most people should say N here. This enables deeper (more verbose) debugging of the DMA engine core and drivers. if DMADEVICES comment "DMA Devices" #core config ASYNC_TX_ENABLE_CHANNEL_SWITCH bool config ARCH_HAS_ASYNC_TX_FIND_CHANNEL bool config DMA_ENGINE bool config DMA_VIRTUAL_CHANNELS tristate config DMA_ACPI def_bool y depends on ACPI config DMA_OF def_bool y depends on OF select DMA_ENGINE #devices config ALTERA_MSGDMA tristate "Altera / Intel mSGDMA Engine" depends on HAS_IOMEM select DMA_ENGINE help Enable support for Altera / Intel mSGDMA controller. config AMBA_PL08X bool "ARM PrimeCell PL080 or PL081 support" depends on ARM_AMBA select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Say yes if your platform has a PL08x DMAC device which can provide DMA engine support. This includes the original ARM PL080 and PL081, Samsungs PL080 derivative and Faraday Technology's FTDMAC020 PL080 derivative. config AMCC_PPC440SPE_ADMA tristate "AMCC PPC440SPe ADMA support" depends on 440SPe || 440SP select DMA_ENGINE select DMA_ENGINE_RAID select ARCH_HAS_ASYNC_TX_FIND_CHANNEL select ASYNC_TX_ENABLE_CHANNEL_SWITCH help Enable support for the AMCC PPC440SPe RAID engines. config AT_HDMAC tristate "Atmel AHB DMA support" depends on ARCH_AT91 select DMA_ENGINE help Support the Atmel AHB DMA controller. config AT_XDMAC tristate "Atmel XDMA support" depends on ARCH_AT91 select DMA_ENGINE help Support the Atmel XDMA controller. config AXI_DMAC tristate "Analog Devices AXI-DMAC DMA support" depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_SOCFPGA || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS select REGMAP_MMIO help Enable support for the Analog Devices AXI-DMAC peripheral. This DMA controller is often used in Analog Device's reference designs for FPGA platforms. config BCM_SBA_RAID tristate "Broadcom SBA RAID engine support" depends on ARM64 || COMPILE_TEST depends on MAILBOX && RAID6_PQ select DMA_ENGINE select DMA_ENGINE_RAID select ASYNC_TX_DISABLE_XOR_VAL_DMA select ASYNC_TX_DISABLE_PQ_VAL_DMA default m if ARCH_BCM_IPROC help Enable support for Broadcom SBA RAID Engine. The SBA RAID engine is available on most of the Broadcom iProc SoCs. It has the capability to offload memcpy, xor and pq computation for raid5/6. config COH901318 bool "ST-Ericsson COH901318 DMA support" select DMA_ENGINE depends on ARCH_U300 || COMPILE_TEST help Enable support for ST-Ericsson COH 901 318 DMA. config DMA_BCM2835 tristate "BCM2835 DMA engine support" depends on ARCH_BCM2835 select DMA_ENGINE select DMA_VIRTUAL_CHANNELS config DMA_JZ4780 tristate "JZ4780 DMA support" depends on MIPS || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help This selects support for the DMA controller in Ingenic JZ4780 SoCs. If you have a board based on such a SoC and wish to use DMA for devices which can use the DMA controller, say Y or M here. config DMA_SA11X0 tristate "SA-11x0 DMA support" depends on ARCH_SA1100 || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the DMA engine found on Intel StrongARM SA-1100 and SA-1110 SoCs. This DMA engine can only be used with on-chip devices. config DMA_SUN4I tristate "Allwinner A10 DMA SoCs support" depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I default (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I) select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the DMA controller present in the sun4i, sun5i and sun7i Allwinner ARM SoCs. config DMA_SUN6I tristate "Allwinner A31 SoCs DMA support" depends on MACH_SUN6I || MACH_SUN8I || (ARM64 && ARCH_SUNXI) || COMPILE_TEST depends on RESET_CONTROLLER select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support for the DMA engine first found in Allwinner A31 SoCs. config DW_AXI_DMAC tristate "Synopsys DesignWare AXI DMA support" depends on OF || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for Synopsys DesignWare AXI DMA controller. NOTE: This driver wasn't tested on 64 bit platform because of lack 64 bit platform with Synopsys DW AXI DMAC. config EP93XX_DMA bool "Cirrus Logic EP93xx DMA support" depends on ARCH_EP93XX || COMPILE_TEST select DMA_ENGINE help Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller. config FSL_DMA tristate "Freescale Elo series DMA support" depends on FSL_SOC select DMA_ENGINE select ASYNC_TX_ENABLE_CHANNEL_SWITCH ---help--- Enable support for the Freescale Elo series DMA controllers. The Elo is the DMA controller on some mpc82xx and mpc83xx parts, the EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on some Txxx and Bxxx parts. config FSL_EDMA tristate "Freescale eDMA engine support" depends on OF depends on HAS_IOMEM select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the Freescale eDMA engine with programmable channel multiplexing capability for DMA request sources(slot). This module can be found on Freescale Vybrid and LS-1 SoCs. config FSL_QDMA tristate "NXP Layerscape qDMA engine support" depends on ARM || ARM64 select DMA_ENGINE select DMA_VIRTUAL_CHANNELS select DMA_ENGINE_RAID select ASYNC_TX_ENABLE_CHANNEL_SWITCH help Support the NXP Layerscape qDMA engine with command queue and legacy mode. Channel virtualization is supported through enqueuing of DMA jobs to, or dequeuing DMA jobs from, different work queues. This module can be found on NXP Layerscape SoCs. The qdma driver only work on SoCs with a DPAA hardware block. config FSL_RAID tristate "Freescale RAID engine Support" depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH select DMA_ENGINE select DMA_ENGINE_RAID ---help--- Enable support for Freescale RAID Engine. RAID Engine is available on some QorIQ SoCs (like P5020/P5040). It has the capability to offload memcpy, xor and pq computation for raid5/6. config HISI_DMA tristate "HiSilicon DMA Engine support" depends on ARM64 || (COMPILE_TEST && PCI_MSI) select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support HiSilicon Kunpeng DMA engine. config IMG_MDC_DMA tristate "IMG MDC support" depends on MIPS || COMPILE_TEST depends on MFD_SYSCON select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the IMG multi-threaded DMA controller (MDC). config IMX_DMA tristate "i.MX DMA support" depends on ARCH_MXC select DMA_ENGINE help Support the i.MX DMA engine. This engine is integrated into Freescale i.MX1/21/27 chips. config IMX_SDMA tristate "i.MX SDMA support" depends on ARCH_MXC select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the i.MX SDMA engine. This engine is integrated into Freescale i.MX25/31/35/51/53/6 chips. config INTEL_IDMA64 tristate "Intel integrated DMA 64-bit support" depends on HAS_IOMEM select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable DMA support for Intel Low Power Subsystem such as found on Intel Skylake PCH. config INTEL_IOATDMA tristate "Intel I/OAT DMA support" depends on PCI && X86_64 && !UML select DMA_ENGINE select DMA_ENGINE_RAID select DCA help Enable support for the Intel(R) I/OAT DMA engine present in recent Intel Xeon chipsets. Say Y here if you have such a chipset. If unsure, say N. config INTEL_IOP_ADMA tristate "Intel IOP32x ADMA support" depends on ARCH_IOP32X || COMPILE_TEST select DMA_ENGINE select ASYNC_TX_ENABLE_CHANNEL_SWITCH help Enable support for the Intel(R) IOP Series RAID engines. config INTEL_MIC_X100_DMA tristate "Intel MIC X100 DMA Driver" depends on 64BIT && X86 && INTEL_MIC_BUS select DMA_ENGINE help This enables DMA support for the Intel Many Integrated Core (MIC) family of PCIe form factor coprocessor X100 devices that run a 64 bit Linux OS. This driver will be used by both MIC host and card drivers. If you are building host kernel with a MIC device or a card kernel for a MIC device, then say M (recommended) or Y, else say N. If unsure say N. More information about the Intel MIC family as well as the Linux OS and tools for MIC to use with this driver are available from <http://software.intel.com/en-us/mic-developer>. config K3_DMA tristate "Hisilicon K3 DMA support" depends on ARCH_HI3xxx || ARCH_HISI || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the DMA engine for Hisilicon K3 platform devices. config LPC18XX_DMAMUX bool "NXP LPC18xx/43xx DMA MUX for PL080" depends on ARCH_LPC18XX || COMPILE_TEST depends on OF && AMBA_PL08X select MFD_SYSCON help Enable support for DMA on NXP LPC18xx/43xx platforms with PL080 and multiplexed DMA request lines. config MCF_EDMA tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs" depends on M5441x || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the Freescale ColdFire eDMA engine, 64-channel implementation that performs complex data transfers with minimal intervention from a host processor. This module can be found on Freescale ColdFire mcf5441x SoCs. config MMP_PDMA bool "MMP PDMA support" depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST select DMA_ENGINE help Support the MMP PDMA engine for PXA and MMP platform. config MMP_TDMA bool "MMP Two-Channel DMA support" depends on ARCH_MMP || COMPILE_TEST select DMA_ENGINE select MMP_SRAM if ARCH_MMP select GENERIC_ALLOCATOR help Support the MMP Two-Channel DMA engine. This engine used for MMP Audio DMA and pxa910 SQU. It needs sram driver under mach-mmp. config MOXART_DMA tristate "MOXART DMA support" depends on ARCH_MOXART select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the MOXA ART SoC DMA controller. Say Y here if you enabled MMP ADMA, otherwise say N. config MPC512X_DMA tristate "Freescale MPC512x built-in DMA engine support" depends on PPC_MPC512x || PPC_MPC831x select DMA_ENGINE ---help--- Enable support for the Freescale MPC512x built-in DMA engine. config MV_XOR bool "Marvell XOR engine support" depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST select DMA_ENGINE select DMA_ENGINE_RAID select ASYNC_TX_ENABLE_CHANNEL_SWITCH ---help--- Enable support for the Marvell XOR engine. config MV_XOR_V2 bool "Marvell XOR engine version 2 support " depends on ARM64 select DMA_ENGINE select DMA_ENGINE_RAID select ASYNC_TX_ENABLE_CHANNEL_SWITCH select GENERIC_MSI_IRQ_DOMAIN ---help--- Enable support for the Marvell version 2 XOR engine. This engine provides acceleration for copy, XOR and RAID6 operations, and is available on Marvell Armada 7K and 8K platforms. config MXS_DMA bool "MXS DMA support" depends on ARCH_MXS || ARCH_MXC || COMPILE_TEST select STMP_DEVICE select DMA_ENGINE help Support the MXS DMA engine. This engine including APBH-DMA and APBX-DMA is integrated into some Freescale chips. config MX3_IPU bool "MX3x Image Processing Unit support" depends on ARCH_MXC select DMA_ENGINE default y help If you plan to use the Image Processing unit in the i.MX3x, say Y here. If unsure, select Y. config MX3_IPU_IRQS int "Number of dynamically mapped interrupts for IPU" depends on MX3_IPU range 2 137 default 4 help Out of 137 interrupt sources on i.MX31 IPU only very few are used. To avoid bloating the irq_desc[] array we allocate a sufficient number of IRQ slots and map them dynamically to specific sources. config NBPFAXI_DMA tristate "Renesas Type-AXI NBPF DMA support" select DMA_ENGINE depends on ARM || COMPILE_TEST help Support for "Type-AXI" NBPF DMA IPs from Renesas config OWL_DMA tristate "Actions Semi Owl SoCs DMA support" depends on ARCH_ACTIONS select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the Actions Semi Owl SoCs DMA controller. config PCH_DMA tristate "Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA" depends on PCI && (X86_32 || COMPILE_TEST) select DMA_ENGINE help Enable support for Intel EG20T PCH DMA engine. This driver also can be used for LAPIS Semiconductor IOH(Input/ Output Hub), ML7213, ML7223 and ML7831. ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is for MP(Media Phone) use and ML7831 IOH is for general purpose use. ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. config PL330_DMA tristate "DMA API Driver for PL330" select DMA_ENGINE depends on ARM_AMBA help Select if your platform has one or more PL330 DMACs. You need to provide platform specific settings via platform_data for a dma-pl330 device. config PXA_DMA bool "PXA DMA support" depends on (ARCH_MMP || ARCH_PXA) select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the DMA engine for PXA. It is also compatible with MMP PDMA platform. The internal DMA IP of all PXA variants is supported, with 16 to 32 channels for peripheral to memory or memory to memory transfers. config SIRF_DMA tristate "CSR SiRFprimaII/SiRFmarco DMA support" depends on ARCH_SIRF select DMA_ENGINE help Enable support for the CSR SiRFprimaII DMA engine. config STE_DMA40 bool "ST-Ericsson DMA40 support" depends on ARCH_U8500 select DMA_ENGINE help Support for ST-Ericsson DMA40 controller config ST_FDMA tristate "ST FDMA dmaengine support" depends on ARCH_STI depends on REMOTEPROC select ST_SLIM_REMOTEPROC select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for ST FDMA controller. It supports 16 independent DMA channels, accepts up to 32 DMA requests Say Y here if you have such a chipset. If unsure, say N. config STM32_DMA bool "STMicroelectronics STM32 DMA support" depends on ARCH_STM32 || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the on-chip DMA controller on STMicroelectronics STM32 MCUs. If you have a board based on such a MCU and wish to use DMA say Y here. config STM32_DMAMUX bool "STMicroelectronics STM32 dma multiplexer support" depends on STM32_DMA || COMPILE_TEST help Enable support for the on-chip DMA multiplexer on STMicroelectronics STM32 MCUs. If you have a board based on such a MCU and wish to use DMAMUX say Y here. config STM32_MDMA bool "STMicroelectronics STM32 master dma support" depends on ARCH_STM32 || COMPILE_TEST depends on OF select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the on-chip MDMA controller on STMicroelectronics STM32 platforms. If you have a board based on STM32 SoC and wish to use the master DMA say Y here. config SPRD_DMA tristate "Spreadtrum DMA support" depends on ARCH_SPRD || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the on-chip DMA controller on Spreadtrum platform. config S3C24XX_DMAC bool "Samsung S3C24XX DMA support" depends on ARCH_S3C24XX || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support for the Samsung S3C24XX DMA controller driver. The DMA controller is having multiple DMA channels which can be configured for different peripherals like audio, UART, SPI. The DMA controller can transfer data from memory to peripheral, periphal to memory, periphal to periphal and memory to memory. config TXX9_DMAC tristate "Toshiba TXx9 SoC DMA support" depends on MACH_TX49XX || MACH_TX39XX select DMA_ENGINE help Support the TXx9 SoC internal DMA controller. This can be integrated in chips such as the Toshiba TX4927/38/39. config TEGRA20_APB_DMA bool "NVIDIA Tegra20 APB DMA support" depends on ARCH_TEGRA select DMA_ENGINE help Support for the NVIDIA Tegra20 APB DMA controller driver. The DMA controller is having multiple DMA channel which can be configured for different peripherals like audio, UART, SPI, I2C etc which is in APB bus. This DMA controller transfers data from memory to peripheral fifo or vice versa. It does not support memory to memory data transfer. config TEGRA210_ADMA tristate "NVIDIA Tegra210 ADMA support" depends on (ARCH_TEGRA || COMPILE_TEST) select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support for the NVIDIA Tegra210/Tegra186/Tegra194/Tegra234 ADMA controller driver. The DMA controller has multiple DMA channels and is used to service various audio clients in the Tegra210 audio processing engine (APE). This DMA controller transfers data from memory to peripheral and vice versa. It does not support memory to memory data transfer. config TIMB_DMA tristate "Timberdale FPGA DMA support" depends on MFD_TIMBERDALE || COMPILE_TEST select DMA_ENGINE help Enable support for the Timberdale FPGA DMA engine. config UNIPHIER_MDMAC tristate "UniPhier MIO DMAC" depends on ARCH_UNIPHIER || COMPILE_TEST depends on OF select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the MIO DMAC (Media I/O DMA controller) on the UniPhier platform. This DMA controller is used as the external DMA engine of the SD/eMMC controllers of the LD4, Pro4, sLD8 SoCs. config XGENE_DMA tristate "APM X-Gene DMA support" depends on ARCH_XGENE || COMPILE_TEST select DMA_ENGINE select DMA_ENGINE_RAID select ASYNC_TX_ENABLE_CHANNEL_SWITCH help Enable support for the APM X-Gene SoC DMA engine. config XILINX_DMA tristate "Xilinx AXI DMAS Engine" depends on (ARCH_ZYNQ || MICROBLAZE || ARM64) select DMA_ENGINE help Enable support for Xilinx AXI VDMA Soft IP. AXI VDMA engine provides high-bandwidth direct memory access between memory and AXI4-Stream video type target peripherals including peripherals which support AXI4- Stream Video Protocol. It has two stream interfaces/ channels, Memory Mapped to Stream (MM2S) and Stream to Memory Mapped (S2MM) for the data transfers. AXI CDMA engine provides high-bandwidth direct memory access between a memory-mapped source address and a memory-mapped destination address. AXI DMA engine provides high-bandwidth one dimensional direct memory access between memory and AXI4-Stream target peripherals. config XILINX_ZYNQMP_DMA tristate "Xilinx ZynqMP DMA Engine" depends on (ARCH_ZYNQ || MICROBLAZE || ARM64) select DMA_ENGINE help Enable support for Xilinx ZynqMP DMA controller. config ZX_DMA tristate "ZTE ZX DMA support" depends on ARCH_ZX || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the DMA engine for ZTE ZX family platform devices. # driver files source "drivers/dma/bestcomm/Kconfig" source "drivers/dma/mediatek/Kconfig" source "drivers/dma/qcom/Kconfig" source "drivers/dma/dw/Kconfig" source "drivers/dma/dw-edma/Kconfig" source "drivers/dma/hsu/Kconfig" source "drivers/dma/sh/Kconfig" source "drivers/dma/ti/Kconfig" # clients comment "DMA Clients" depends on DMA_ENGINE config ASYNC_TX_DMA bool "Async_tx: Offload support for the async_tx api" depends on DMA_ENGINE help This allows the async_tx api to take advantage of offload engines for memcpy, memset, xor, and raid6 p+q operations. If your platform has a dma engine that can perform raid operations and you have enabled MD_RAID456 say Y. If unsure, say N. config DMATEST tristate "DMA Test client" depends on DMA_ENGINE select DMA_ENGINE_RAID help Simple DMA test client. Say N unless you're debugging a DMA Device driver. config DMA_ENGINE_RAID bool endif dma/qcom/Kconfig 0000644 00000002263 14722053666 0007565 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config QCOM_BAM_DMA tristate "QCOM BAM DMA support" depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM) select DMA_ENGINE select DMA_VIRTUAL_CHANNELS ---help--- Enable support for the QCOM BAM DMA controller. This controller provides DMA capabilities for a variety of on-chip devices. config QCOM_HIDMA_MGMT tristate "Qualcomm Technologies HIDMA Management support" depends on HAS_IOMEM select DMA_ENGINE help Enable support for the Qualcomm Technologies HIDMA Management. Each DMA device requires one management interface driver for basic initialization before QCOM_HIDMA channel driver can start managing the channels. In a virtualized environment, the guest OS would run QCOM_HIDMA channel driver and the host would run the QCOM_HIDMA_MGMT management driver. config QCOM_HIDMA tristate "Qualcomm Technologies HIDMA Channel support" select DMA_ENGINE help Enable support for the Qualcomm Technologies HIDMA controller. The HIDMA controller supports optimized buffer copies (user to kernel, kernel to kernel, etc.). It only supports memcpy interface. The core is not intended for general purpose slave DMA. dma/qcom/Makefile 0000644 00000000400 14722053666 0007711 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_QCOM_BAM_DMA) += bam_dma.o obj-$(CONFIG_QCOM_HIDMA_MGMT) += hdma_mgmt.o hdma_mgmt-objs := hidma_mgmt.o hidma_mgmt_sys.o obj-$(CONFIG_QCOM_HIDMA) += hdma.o hdma-objs := hidma_ll.o hidma.o hidma_dbg.o dma/dw-edma/Kconfig 0000644 00000001104 14722053666 0010135 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config DW_EDMA tristate "Synopsys DesignWare eDMA controller driver" depends on PCI && PCI_MSI select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support the Synopsys DesignWare eDMA controller, normally implemented on endpoints SoCs. config DW_EDMA_PCIE tristate "Synopsys DesignWare eDMA PCIe driver" depends on PCI && PCI_MSI select DW_EDMA help Provides a glue-logic between the Synopsys DesignWare eDMA controller and an endpoint PCIe device. This also serves as a reference design to whom desires to use this IP. dma/dw-edma/Makefile 0000644 00000000357 14722053666 0010303 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DW_EDMA) += dw-edma.o dw-edma-$(CONFIG_DEBUG_FS) := dw-edma-v0-debugfs.o dw-edma-objs := dw-edma-core.o \ dw-edma-v0-core.o $(dw-edma-y) obj-$(CONFIG_DW_EDMA_PCIE) += dw-edma-pcie.o dma/sh/Kconfig 0000644 00000002020 14722053666 0007227 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # DMA engine configuration for sh # config RENESAS_DMA bool select DMA_ENGINE # # DMA Engine Helpers # config SH_DMAE_BASE bool "Renesas SuperH DMA Engine support" depends on SUPERH || COMPILE_TEST depends on !SUPERH || SH_DMA depends on !SH_DMA_API default y select RENESAS_DMA help Enable support for the Renesas SuperH DMA controllers. # # DMA Controllers # config SH_DMAE tristate "Renesas SuperH DMAC support" depends on SH_DMAE_BASE help Enable support for the Renesas SuperH DMA controllers. config RCAR_DMAC tristate "Renesas R-Car Gen2 DMA Controller" depends on ARCH_RENESAS || COMPILE_TEST select RENESAS_DMA help This driver supports the general purpose DMA controller found in the Renesas R-Car second generation SoCs. config RENESAS_USB_DMAC tristate "Renesas USB-DMA Controller" depends on ARCH_RENESAS || COMPILE_TEST select RENESAS_DMA select DMA_VIRTUAL_CHANNELS help This driver supports the USB-DMA controller found in the Renesas SoCs. dma/sh/Makefile 0000644 00000000456 14722053666 0007377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # DMA Engine Helpers # obj-$(CONFIG_SH_DMAE_BASE) += shdma-base.o shdma-of.o # # DMA Controllers # shdma-y := shdmac.o shdma-objs := $(shdma-y) obj-$(CONFIG_SH_DMAE) += shdma.o obj-$(CONFIG_RCAR_DMAC) += rcar-dmac.o obj-$(CONFIG_RENESAS_USB_DMAC) += usb-dmac.o dma/ti/Kconfig 0000644 00000002164 14722053666 0007242 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Texas Instruments DMA drivers # config TI_CPPI41 tristate "Texas Instruments CPPI 4.1 DMA support" depends on (ARCH_OMAP || ARCH_DAVINCI_DA8XX) select DMA_ENGINE help The Communications Port Programming Interface (CPPI) 4.1 DMA engine is currently used by the USB driver on AM335x and DA8xx platforms. config TI_EDMA tristate "Texas Instruments EDMA support" depends on ARCH_DAVINCI || ARCH_OMAP || ARCH_KEYSTONE || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS select TI_DMA_CROSSBAR if (ARCH_OMAP || COMPILE_TEST) default y help Enable support for the TI EDMA (Enhanced DMA) controller. This DMA engine is found on TI DaVinci, AM33xx, AM43xx, DRA7xx and Keystone 2 parts. config DMA_OMAP tristate "Texas Instruments sDMA (omap-dma) support" depends on ARCH_OMAP || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS select TI_DMA_CROSSBAR if (SOC_DRA7XX || COMPILE_TEST) default y help Enable support for the TI sDMA (System DMA or DMA4) controller. This DMA engine is found on OMAP and DRA7xx parts. config TI_DMA_CROSSBAR bool dma/ti/Makefile 0000644 00000000274 14722053666 0007377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_TI_CPPI41) += cppi41.o obj-$(CONFIG_TI_EDMA) += edma.o obj-$(CONFIG_DMA_OMAP) += omap-dma.o obj-$(CONFIG_TI_DMA_CROSSBAR) += dma-crossbar.o dma/ipu/Makefile 0000644 00000000107 14722053666 0007553 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y += ipu_irq.o ipu_idmac.o dma/ppc4xx/Makefile 0000644 00000000124 14722053666 0010203 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_AMCC_PPC440SPE_ADMA) += adma.o dma/Makefile 0000644 00000005652 14722053666 0006770 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 #dmaengine debug flags subdir-ccflags-$(CONFIG_DMADEVICES_DEBUG) := -DDEBUG subdir-ccflags-$(CONFIG_DMADEVICES_VDEBUG) += -DVERBOSE_DEBUG #core obj-$(CONFIG_DMA_ENGINE) += dmaengine.o obj-$(CONFIG_DMA_VIRTUAL_CHANNELS) += virt-dma.o obj-$(CONFIG_DMA_ACPI) += acpi-dma.o obj-$(CONFIG_DMA_OF) += of-dma.o #dmatest obj-$(CONFIG_DMATEST) += dmatest.o #devices obj-$(CONFIG_ALTERA_MSGDMA) += altera-msgdma.o obj-$(CONFIG_AMBA_PL08X) += amba-pl08x.o obj-$(CONFIG_AMCC_PPC440SPE_ADMA) += ppc4xx/ obj-$(CONFIG_AT_HDMAC) += at_hdmac.o obj-$(CONFIG_AT_XDMAC) += at_xdmac.o obj-$(CONFIG_AXI_DMAC) += dma-axi-dmac.o obj-$(CONFIG_BCM_SBA_RAID) += bcm-sba-raid.o obj-$(CONFIG_COH901318) += coh901318.o coh901318_lli.o obj-$(CONFIG_DMA_BCM2835) += bcm2835-dma.o obj-$(CONFIG_DMA_JZ4780) += dma-jz4780.o obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o obj-$(CONFIG_DMA_SUN4I) += sun4i-dma.o obj-$(CONFIG_DMA_SUN6I) += sun6i-dma.o obj-$(CONFIG_DW_AXI_DMAC) += dw-axi-dmac/ obj-$(CONFIG_DW_DMAC_CORE) += dw/ obj-$(CONFIG_DW_EDMA) += dw-edma/ obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o obj-$(CONFIG_FSL_DMA) += fsldma.o obj-$(CONFIG_FSL_EDMA) += fsl-edma.o fsl-edma-common.o obj-$(CONFIG_MCF_EDMA) += mcf-edma.o fsl-edma-common.o obj-$(CONFIG_FSL_QDMA) += fsl-qdma.o obj-$(CONFIG_FSL_RAID) += fsl_raid.o obj-$(CONFIG_HISI_DMA) += hisi_dma.o obj-$(CONFIG_HSU_DMA) += hsu/ obj-$(CONFIG_IMG_MDC_DMA) += img-mdc-dma.o obj-$(CONFIG_IMX_DMA) += imx-dma.o obj-$(CONFIG_IMX_SDMA) += imx-sdma.o obj-$(CONFIG_INTEL_IDMA64) += idma64.o obj-$(CONFIG_INTEL_IOATDMA) += ioat/ obj-$(CONFIG_INTEL_IOP_ADMA) += iop-adma.o obj-$(CONFIG_INTEL_MIC_X100_DMA) += mic_x100_dma.o obj-$(CONFIG_K3_DMA) += k3dma.o obj-$(CONFIG_LPC18XX_DMAMUX) += lpc18xx-dmamux.o obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o obj-$(CONFIG_MMP_TDMA) += mmp_tdma.o obj-$(CONFIG_MOXART_DMA) += moxart-dma.o obj-$(CONFIG_MPC512X_DMA) += mpc512x_dma.o obj-$(CONFIG_MV_XOR) += mv_xor.o obj-$(CONFIG_MV_XOR_V2) += mv_xor_v2.o obj-$(CONFIG_MXS_DMA) += mxs-dma.o obj-$(CONFIG_MX3_IPU) += ipu/ obj-$(CONFIG_NBPFAXI_DMA) += nbpfaxi.o obj-$(CONFIG_OWL_DMA) += owl-dma.o obj-$(CONFIG_PCH_DMA) += pch_dma.o obj-$(CONFIG_PL330_DMA) += pl330.o obj-$(CONFIG_PPC_BESTCOMM) += bestcomm/ obj-$(CONFIG_PXA_DMA) += pxa_dma.o obj-$(CONFIG_RENESAS_DMA) += sh/ obj-$(CONFIG_SIRF_DMA) += sirf-dma.o obj-$(CONFIG_STE_DMA40) += ste_dma40.o ste_dma40_ll.o obj-$(CONFIG_STM32_DMA) += stm32-dma.o obj-$(CONFIG_STM32_DMAMUX) += stm32-dmamux.o obj-$(CONFIG_STM32_MDMA) += stm32-mdma.o obj-$(CONFIG_SPRD_DMA) += sprd-dma.o obj-$(CONFIG_S3C24XX_DMAC) += s3c24xx-dma.o obj-$(CONFIG_TXX9_DMAC) += txx9dmac.o obj-$(CONFIG_TEGRA20_APB_DMA) += tegra20-apb-dma.o obj-$(CONFIG_TEGRA210_ADMA) += tegra210-adma.o obj-$(CONFIG_TIMB_DMA) += timb_dma.o obj-$(CONFIG_UNIPHIER_MDMAC) += uniphier-mdmac.o obj-$(CONFIG_XGENE_DMA) += xgene-dma.o obj-$(CONFIG_ZX_DMA) += zx_dma.o obj-$(CONFIG_ST_FDMA) += st_fdma.o obj-y += mediatek/ obj-y += qcom/ obj-y += ti/ obj-y += xilinx/ dma/xilinx/Makefile 0000644 00000000201 14722053666 0010264 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_XILINX_DMA) += xilinx_dma.o obj-$(CONFIG_XILINX_ZYNQMP_DMA) += zynqmp_dma.o dma/mediatek/Kconfig 0000644 00000002302 14722053666 0010403 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MTK_HSDMA tristate "MediaTek High-Speed DMA controller support" depends on ARCH_MEDIATEK || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS ---help--- Enable support for High-Speed DMA controller on MediaTek SoCs. This controller provides the channels which is dedicated to memory-to-memory transfer to offload from CPU through ring- based descriptor management. config MTK_CQDMA tristate "MediaTek Command-Queue DMA controller support" depends on ARCH_MEDIATEK || COMPILE_TEST select DMA_ENGINE select DMA_VIRTUAL_CHANNELS select ASYNC_TX_ENABLE_CHANNEL_SWITCH help Enable support for Command-Queue DMA controller on MediaTek SoCs. This controller provides the channels which is dedicated to memory-to-memory transfer to offload from CPU. config MTK_UART_APDMA tristate "MediaTek SoCs APDMA support for UART" depends on OF && SERIAL_8250_MT6577 select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Support for the UART DMA engine found on MediaTek MTK SoCs. When SERIAL_8250_MT6577 is enabled, and if you want to use DMA, you can enable the config. The DMA engine can only be used with MediaTek SoCs. dma/mediatek/Makefile 0000644 00000000247 14722053666 0010546 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MTK_UART_APDMA) += mtk-uart-apdma.o obj-$(CONFIG_MTK_HSDMA) += mtk-hsdma.o obj-$(CONFIG_MTK_CQDMA) += mtk-cqdma.o slimbus/Kconfig 0000644 00000002103 14722053666 0007534 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # SLIMbus driver configuration # menuconfig SLIMBUS tristate "SLIMbus support" help SLIMbus is standard interface between System-on-Chip and audio codec, and other peripheral components in typical embedded systems. If unsure, choose N. if SLIMBUS # SLIMbus controllers config SLIM_QCOM_CTRL tristate "Qualcomm SLIMbus Manager Component" depends on HAS_IOMEM help Select driver if Qualcomm's SLIMbus Manager Component is programmed using Linux kernel. config SLIM_QCOM_NGD_CTRL tristate "Qualcomm SLIMbus Satellite Non-Generic Device Component" depends on HAS_IOMEM && DMA_ENGINE && NET depends on ARCH_QCOM || COMPILE_TEST select QCOM_QMI_HELPERS help Select driver if Qualcomm's SLIMbus Satellite Non-Generic Device Component is programmed using Linux kernel. This is light-weight slimbus controller driver responsible for communicating with slave HW directly over the bus using messaging interface, and communicating with master component residing on ADSP for bandwidth and data-channel management. endif slimbus/Makefile 0000644 00000000557 14722053666 0007704 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for kernel SLIMbus framework. # obj-$(CONFIG_SLIMBUS) += slimbus.o slimbus-y := core.o messaging.o sched.o stream.o #Controllers obj-$(CONFIG_SLIM_QCOM_CTRL) += slim-qcom-ctrl.o slim-qcom-ctrl-y := qcom-ctrl.o obj-$(CONFIG_SLIM_QCOM_NGD_CTRL) += slim-qcom-ngd-ctrl.o slim-qcom-ngd-ctrl-y := qcom-ngd-ctrl.o interconnect/Kconfig 0000644 00000000567 14722053666 0010565 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig INTERCONNECT tristate "On-Chip Interconnect management support" help Support for management of the on-chip interconnects. This framework is designed to provide a generic interface for managing the interconnects in a SoC. If unsure, say no. if INTERCONNECT source "drivers/interconnect/qcom/Kconfig" endif interconnect/qcom/Kconfig 0000644 00000001414 14722053666 0011514 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config INTERCONNECT_QCOM bool "Qualcomm Network-on-Chip interconnect drivers" depends on ARCH_QCOM help Support for Qualcomm's Network-on-Chip interconnect hardware. config INTERCONNECT_QCOM_QCS404 tristate "Qualcomm QCS404 interconnect driver" depends on INTERCONNECT_QCOM depends on QCOM_SMD_RPM select INTERCONNECT_QCOM_SMD_RPM help This is a driver for the Qualcomm Network-on-Chip on qcs404-based platforms. config INTERCONNECT_QCOM_SDM845 tristate "Qualcomm SDM845 interconnect driver" depends on INTERCONNECT_QCOM depends on (QCOM_RPMH && QCOM_COMMAND_DB && OF) || COMPILE_TEST help This is a driver for the Qualcomm Network-on-Chip on sdm845-based platforms. config INTERCONNECT_QCOM_SMD_RPM tristate interconnect/qcom/Makefile 0000644 00000000454 14722053666 0011654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 qnoc-qcs404-objs := qcs404.o qnoc-sdm845-objs := sdm845.o icc-smd-rpm-objs := smd-rpm.o obj-$(CONFIG_INTERCONNECT_QCOM_QCS404) += qnoc-qcs404.o obj-$(CONFIG_INTERCONNECT_QCOM_SDM845) += qnoc-sdm845.o obj-$(CONFIG_INTERCONNECT_QCOM_SMD_RPM) += icc-smd-rpm.o interconnect/Makefile 0000644 00000000224 14722053666 0010710 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 icc-core-objs := core.o obj-$(CONFIG_INTERCONNECT) += icc-core.o obj-$(CONFIG_INTERCONNECT_QCOM) += qcom/ firmware/broadcom/Kconfig 0000644 00000001732 14722053666 0011467 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config BCM47XX_NVRAM bool "Broadcom NVRAM driver" depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST help Broadcom home routers contain flash partition called "nvram" with all important hardware configuration as well as some minor user setup. NVRAM partition contains a text-like data representing name=value pairs. This driver provides an easy way to get value of requested parameter. It simply reads content of NVRAM and parses it. It doesn't control any hardware part itself. config BCM47XX_SPROM bool "Broadcom SPROM driver" depends on BCM47XX_NVRAM select GENERIC_NET_UTILS help Broadcom devices store configuration data in SPROM. Accessing it is specific to the bus host type, e.g. PCI(e) devices have it mapped in a PCI BAR. In case of SoC devices SPROM content is stored on a flash used by bootloader firmware CFE. This driver provides method to ssb and bcma drivers to read SPROM on SoC. firmware/broadcom/Makefile 0000644 00000000210 14722053666 0011612 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_BCM47XX_NVRAM) += bcm47xx_nvram.o obj-$(CONFIG_BCM47XX_SPROM) += bcm47xx_sprom.o firmware/arm_scmi/Makefile 0000644 00000000401 14722053666 0011620 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-y = scmi-bus.o scmi-driver.o scmi-protocols.o scmi-bus-y = bus.o scmi-driver-y = driver.o scmi-protocols-y = base.o clock.o perf.o power.o reset.o sensors.o obj-$(CONFIG_ARM_SCMI_POWER_DOMAIN) += scmi_pm_domain.o firmware/google/Kconfig 0000644 00000004506 14722053666 0011157 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig GOOGLE_FIRMWARE bool "Google Firmware Drivers" default n help These firmware drivers are used by Google servers, Chromebooks and other devices using coreboot firmware. If in doubt, say "N". if GOOGLE_FIRMWARE config GOOGLE_SMI tristate "SMI interface for Google platforms" depends on X86 && ACPI && DMI help Say Y here if you want to enable SMI callbacks for Google platforms. This provides an interface for writing to and clearing the event log. If EFI_VARS is also enabled this driver provides an interface for reading and writing NVRAM variables. config GOOGLE_COREBOOT_TABLE tristate "Coreboot Table Access" depends on HAS_IOMEM && (ACPI || OF) help This option enables the coreboot_table module, which provides other firmware modules access to the coreboot table. The coreboot table pointer is accessed through the ACPI "GOOGCB00" object or the device tree node /firmware/coreboot. If unsure say N. config GOOGLE_COREBOOT_TABLE_ACPI tristate select GOOGLE_COREBOOT_TABLE config GOOGLE_COREBOOT_TABLE_OF tristate select GOOGLE_COREBOOT_TABLE config GOOGLE_MEMCONSOLE tristate depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT config GOOGLE_MEMCONSOLE_X86_LEGACY tristate "Firmware Memory Console - X86 Legacy support" depends on X86 && ACPI && DMI select GOOGLE_MEMCONSOLE help This option enables the kernel to search for a firmware log in the EBDA on Google servers. If found, this log is exported to userland in the file /sys/firmware/log. config GOOGLE_FRAMEBUFFER_COREBOOT tristate "Coreboot Framebuffer" depends on FB_SIMPLE depends on GOOGLE_COREBOOT_TABLE help This option enables the kernel to search for a framebuffer in the coreboot table. If found, it is registered with simplefb. config GOOGLE_MEMCONSOLE_COREBOOT tristate "Firmware Memory Console" depends on GOOGLE_COREBOOT_TABLE select GOOGLE_MEMCONSOLE help This option enables the kernel to search for a firmware log in the coreboot table. If found, this log is exported to userland in the file /sys/firmware/log. config GOOGLE_VPD tristate "Vital Product Data" depends on GOOGLE_COREBOOT_TABLE help This option enables the kernel to expose the content of Google VPD under /sys/firmware/vpd. endif # GOOGLE_FIRMWARE firmware/google/Makefile 0000644 00000000735 14722053666 0011314 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_GOOGLE_SMI) += gsmi.o obj-$(CONFIG_GOOGLE_COREBOOT_TABLE) += coreboot_table.o obj-$(CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT) += framebuffer-coreboot.o obj-$(CONFIG_GOOGLE_MEMCONSOLE) += memconsole.o obj-$(CONFIG_GOOGLE_MEMCONSOLE_COREBOOT) += memconsole-coreboot.o obj-$(CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY) += memconsole-x86-legacy.o vpd-sysfs-y := vpd.o vpd_decode.o obj-$(CONFIG_GOOGLE_VPD) += vpd-sysfs.o firmware/efi/libstub/Makefile 0000644 00000010132 14722053666 0012237 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # The stub may be linked into the kernel proper or into a separate boot binary, # but in either case, it executes before the kernel does (with MMU disabled) so # things like ftrace and stack-protector are likely to cause trouble if left # enabled, even if doing so doesn't break the build. # cflags-$(CONFIG_X86_32) := -march=i386 cflags-$(CONFIG_X86_64) := -mcmodel=small cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ -O2 \ -fPIC -fno-strict-aliasing -mno-red-zone \ -mno-mmx -mno-sse -fshort-wchar \ -Wno-pointer-sign \ $(call cc-disable-warning, address-of-packed-member) \ $(call cc-disable-warning, gnu) # arm64 uses the full KBUILD_CFLAGS so it's necessary to explicitly # disable the stackleak plugin cflags-$(CONFIG_ARM64) := $(subst $(CC_FLAGS_FTRACE),,$(KBUILD_CFLAGS)) \ -fpie $(DISABLE_STACKLEAK_PLUGIN) cflags-$(CONFIG_ARM) := $(subst $(CC_FLAGS_FTRACE),,$(KBUILD_CFLAGS)) \ -fno-builtin -fpic \ $(call cc-option,-mno-single-pic-base) cflags-$(CONFIG_EFI_ARMSTUB) += -I$(srctree)/scripts/dtc/libfdt KBUILD_CFLAGS := $(cflags-y) -DDISABLE_BRANCH_PROFILING \ -D__NO_FORTIFY \ $(call cc-option,-ffreestanding) \ $(call cc-option,-fno-stack-protector) \ $(call cc-option,-fno-addrsig) \ -D__DISABLE_EXPORTS GCOV_PROFILE := n KASAN_SANITIZE := n UBSAN_SANITIZE := n OBJECT_FILES_NON_STANDARD := y # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in. KCOV_INSTRUMENT := n lib-y := efi-stub-helper.o gop.o secureboot.o tpm.o # include the stub's generic dependencies from lib/ when building for ARM/arm64 arm-deps-y := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c fdt_empty_tree.c fdt_sw.c arm-deps-$(CONFIG_ARM64) += sort.c $(obj)/lib-%.o: $(srctree)/lib/%.c FORCE $(call if_changed_rule,cc_o_c) lib-$(CONFIG_EFI_ARMSTUB) += arm-stub.o fdt.o string.o random.o \ $(patsubst %.c,lib-%.o,$(arm-deps-y)) lib-$(CONFIG_ARM) += arm32-stub.o lib-$(CONFIG_ARM64) += arm64-stub.o CFLAGS_arm32-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET) CFLAGS_arm64-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET) # # arm64 puts the stub in the kernel proper, which will unnecessarily retain all # code indefinitely unless it is annotated as __init/__initdata/__initconst etc. # So let's apply the __init annotations at the section level, by prefixing # the section names directly. This will ensure that even all the inline string # literals are covered. # The fact that the stub and the kernel proper are essentially the same binary # also means that we need to be extra careful to make sure that the stub does # not rely on any absolute symbol references, considering that the virtual # kernel mapping that the linker uses is not active yet when the stub is # executing. So build all C dependencies of the EFI stub into libstub, and do # a verification pass to see if any absolute relocations exist in any of the # object files. # extra-$(CONFIG_EFI_ARMSTUB) := $(lib-y) lib-$(CONFIG_EFI_ARMSTUB) := $(patsubst %.o,%.stub.o,$(lib-y)) STUBCOPY_FLAGS-$(CONFIG_ARM64) += --prefix-alloc-sections=.init \ --prefix-symbols=__efistub_ STUBCOPY_RELOC-$(CONFIG_ARM64) := R_AARCH64_ABS $(obj)/%.stub.o: $(obj)/%.o FORCE $(call if_changed,stubcopy) # # Strip debug sections and some other sections that may legally contain # absolute relocations, so that we can inspect the remaining sections for # such relocations. If none are found, regenerate the output object, but # this time, use objcopy and leave all sections in place. # quiet_cmd_stubcopy = STUBCPY $@ cmd_stubcopy = \ $(STRIP) --strip-debug -o $@ $<; \ if $(OBJDUMP) -r $@ | grep $(STUBCOPY_RELOC-y); then \ echo "$@: absolute symbol references not allowed in the EFI stub" >&2; \ /bin/false; \ fi; \ $(OBJCOPY) $(STUBCOPY_FLAGS-y) $< $@ # # ARM discards the .data section because it disallows r/w data in the # decompressor. So move our .data to .data.efistub, which is preserved # explicitly by the decompressor linker script. # STUBCOPY_FLAGS-$(CONFIG_ARM) += --rename-section .data=.data.efistub STUBCOPY_RELOC-$(CONFIG_ARM) := R_ARM_ABS firmware/efi/test/Makefile 0000644 00000000117 14722053666 0011554 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_EFI_TEST) += efi_test.o firmware/efi/Kconfig 0000644 00000016703 14722053666 0010450 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "EFI (Extensible Firmware Interface) Support" depends on EFI config EFI_VARS tristate "EFI Variable Support via sysfs" depends on EFI default n help If you say Y here, you are able to get EFI (Extensible Firmware Interface) variable information via sysfs. You may read, write, create, and destroy EFI variables through this interface. Note that using this driver in concert with efibootmgr requires at least test release version 0.5.0-test3 or later, which is available from: <http://linux.dell.com/efibootmgr/testing/efibootmgr-0.5.0-test3.tar.gz> Subsequent efibootmgr releases may be found at: <http://github.com/vathpela/efibootmgr> config EFI_ESRT bool depends on EFI && !IA64 default y config EFI_VARS_PSTORE tristate "Register efivars backend for pstore" depends on EFI_VARS && PSTORE default y help Say Y here to enable use efivars as a backend to pstore. This will allow writing console messages, crash dumps, or anything else supported by pstore to EFI variables. config EFI_VARS_PSTORE_DEFAULT_DISABLE bool "Disable using efivars as a pstore backend by default" depends on EFI_VARS_PSTORE default n help Saying Y here will disable the use of efivars as a storage backend for pstore by default. This setting can be overridden using the efivars module's pstore_disable parameter. config EFI_RUNTIME_MAP bool "Export efi runtime maps to sysfs" depends on X86 && EFI && KEXEC_CORE default y help Export efi runtime memory maps to /sys/firmware/efi/runtime-map. That memory map is used for example by kexec to set up efi virtual mapping the 2nd kernel, but can also be used for debugging purposes. See also Documentation/ABI/testing/sysfs-firmware-efi-runtime-map. config EFI_FAKE_MEMMAP bool "Enable EFI fake memory map" depends on EFI && X86 default n help Saying Y here will enable "efi_fake_mem" boot option. By specifying this parameter, you can add arbitrary attribute to specific memory range by updating original (firmware provided) EFI memmap. This is useful for debugging of EFI memmap related feature. e.g. Address Range Mirroring feature. config EFI_MAX_FAKE_MEM int "maximum allowable number of ranges in efi_fake_mem boot option" depends on EFI_FAKE_MEMMAP range 1 128 default 8 help Maximum allowable number of ranges in efi_fake_mem boot option. Ranges can be set up to this value using comma-separated list. The default value is 8. config EFI_PARAMS_FROM_FDT bool help Select this config option from the architecture Kconfig if the EFI runtime support gets system table address, memory map address, and other parameters from the device tree. config EFI_RUNTIME_WRAPPERS bool config EFI_ARMSTUB bool config EFI_ARMSTUB_DTB_LOADER bool "Enable the DTB loader" depends on EFI_ARMSTUB default y help Select this config option to add support for the dtb= command line parameter, allowing a device tree blob to be loaded into memory from the EFI System Partition by the stub. If the device tree is provided by the platform or by the bootloader this option may not be needed. But, for various development reasons and to maintain existing functionality for bootloaders that do not have such support this option is necessary. config EFI_BOOTLOADER_CONTROL tristate "EFI Bootloader Control" depends on EFI_VARS default n ---help--- This module installs a reboot hook, such that if reboot() is invoked with a string argument NNN, "NNN" is copied to the "LoaderEntryOneShot" EFI variable, to be read by the bootloader. If the string matches one of the boot labels defined in its configuration, the bootloader will boot once to that label. The "LoaderEntryRebootReason" EFI variable is set with the reboot reason: "reboot" or "shutdown". The bootloader reads this reboot reason and takes particular action according to its policy. config EFI_CAPSULE_LOADER tristate "EFI capsule loader" depends on EFI help This option exposes a loader interface "/dev/efi_capsule_loader" for users to load EFI capsules. This driver requires working runtime capsule support in the firmware, which many OEMs do not provide. Most users should say N. config EFI_CAPSULE_QUIRK_QUARK_CSH bool "Add support for Quark capsules with non-standard headers" depends on X86 && !64BIT select EFI_CAPSULE_LOADER default y help Add support for processing Quark X1000 EFI capsules, whose header layout deviates from the layout mandated by the UEFI specification. config EFI_TEST tristate "EFI Runtime Service Tests Support" depends on EFI default n help This driver uses the efi.<service> function pointers directly instead of going through the efivar API, because it is not trying to test the kernel subsystem, just for testing the UEFI runtime service interfaces which are provided by the firmware. This driver is used by the Firmware Test Suite (FWTS) for testing the UEFI runtime interfaces readiness of the firmware. Details for FWTS are available from: <https://wiki.ubuntu.com/FirmwareTestSuite> Say Y here to enable the runtime services support via /dev/efi_test. If unsure, say N. config APPLE_PROPERTIES bool "Apple Device Properties" depends on EFI_STUB && X86 select EFI_DEV_PATH_PARSER select UCS2_STRING help Retrieve properties from EFI on Apple Macs and assign them to devices, allowing for improved support of Apple hardware. Properties that would otherwise be missing include the Thunderbolt Device ROM and GPU configuration data. If unsure, say Y if you have a Mac. Otherwise N. config RESET_ATTACK_MITIGATION bool "Reset memory attack mitigation" depends on EFI_STUB help Request that the firmware clear the contents of RAM after a reboot using the TCG Platform Reset Attack Mitigation specification. This protects against an attacker forcibly rebooting the system while it still contains secrets in RAM, booting another OS and extracting the secrets. This should only be enabled when userland is configured to clear the MemoryOverwriteRequest flag on clean shutdown after secrets have been evicted, since otherwise it will trigger even on clean reboots. config EFI_RCI2_TABLE bool "EFI Runtime Configuration Interface Table Version 2 Support" depends on X86 || COMPILE_TEST help Displays the content of the Runtime Configuration Interface Table version 2 on Dell EMC PowerEdge systems as a binary attribute 'rci2' under /sys/firmware/efi/tables directory. RCI2 table contains BIOS HII in XML format and is used to populate BIOS setup page in Dell EMC OpenManage Server Administrator tool. The BIOS setup page contains BIOS tokens which can be configured. Say Y here for Dell EMC PowerEdge systems. endmenu config UEFI_CPER bool config UEFI_CPER_ARM bool depends on UEFI_CPER && ( ARM || ARM64 ) default y config UEFI_CPER_X86 bool depends on UEFI_CPER && X86 default y config EFI_DEV_PATH_PARSER bool depends on ACPI default n config EFI_EARLYCON def_bool y depends on EFI && SERIAL_EARLYCON && !ARM && !IA64 select FONT_SUPPORT select ARCH_USE_MEMREMAP_PROT config EFI_CUSTOM_SSDT_OVERLAYS bool "Load custom ACPI SSDT overlay from an EFI variable" depends on EFI_VARS && ACPI default ACPI_TABLE_UPGRADE help Allow loading of an ACPI SSDT overlay from an EFI variable specified by a kernel command line option. See Documentation/admin-guide/acpi/ssdt-overlays.rst for more information. firmware/efi/Makefile 0000644 00000002610 14722053666 0010575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for linux kernel # # # ARM64 maps efi runtime services in userspace addresses # which don't have KASAN shadow. So dereference of these addresses # in efi_call_virt() will cause crash if this code instrumented. # KASAN_SANITIZE_runtime-wrappers.o := n obj-$(CONFIG_ACPI_BGRT) += efi-bgrt.o obj-$(CONFIG_EFI) += efi.o vars.o reboot.o memattr.o tpm.o obj-$(CONFIG_EFI) += capsule.o memmap.o obj-$(CONFIG_EFI_VARS) += efivars.o obj-$(CONFIG_EFI_ESRT) += esrt.o obj-$(CONFIG_EFI_VARS_PSTORE) += efi-pstore.o obj-$(CONFIG_UEFI_CPER) += cper.o obj-$(CONFIG_EFI_RUNTIME_MAP) += runtime-map.o obj-$(CONFIG_EFI_RUNTIME_WRAPPERS) += runtime-wrappers.o obj-$(CONFIG_EFI_STUB) += libstub/ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o obj-$(CONFIG_EFI_TEST) += test/ obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o obj-$(CONFIG_EFI) += secureboot.o obj-$(CONFIG_APPLE_PROPERTIES) += apple-properties.o obj-$(CONFIG_EFI_RCI2_TABLE) += rci2-table.o obj-$(CONFIG_LOAD_UEFI_KEYS) += mokvar-table.o arm-obj-$(CONFIG_EFI) := arm-init.o arm-runtime.o obj-$(CONFIG_ARM) += $(arm-obj-y) obj-$(CONFIG_ARM64) += $(arm-obj-y) obj-$(CONFIG_EFI_CAPSULE_LOADER) += capsule-loader.o obj-$(CONFIG_EFI_EARLYCON) += earlycon.o obj-$(CONFIG_UEFI_CPER_ARM) += cper-arm.o obj-$(CONFIG_UEFI_CPER_X86) += cper-x86.o firmware/Kconfig 0000644 00000026631 14722053666 0007706 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # For a description of the syntax of this configuration file, # see Documentation/kbuild/kconfig-language.rst. # menu "Firmware Drivers" config ARM_SCMI_PROTOCOL bool "ARM System Control and Management Interface (SCMI) Message Protocol" depends on ARM || ARM64 || COMPILE_TEST depends on MAILBOX help ARM System Control and Management Interface (SCMI) protocol is a set of operating system-independent software interfaces that are used in system management. SCMI is extensible and currently provides interfaces for: Discovery and self-description of the interfaces it supports, Power domain management which is the ability to place a given device or domain into the various power-saving states that it supports, Performance management which is the ability to control the performance of a domain that is composed of compute engines such as application processors and other accelerators, Clock management which is the ability to set and inquire rates on platform managed clocks and Sensor management which is the ability to read sensor data, and be notified of sensor value. This protocol library provides interface for all the client drivers making use of the features offered by the SCMI. config ARM_SCMI_POWER_DOMAIN tristate "SCMI power domain driver" depends on ARM_SCMI_PROTOCOL || (COMPILE_TEST && OF) default y select PM_GENERIC_DOMAINS if PM help This enables support for the SCMI power domains which can be enabled or disabled via the SCP firmware This driver can also be built as a module. If so, the module will be called scmi_pm_domain. Note this may needed early in boot before rootfs may be available. config ARM_SCPI_PROTOCOL tristate "ARM System Control and Power Interface (SCPI) Message Protocol" depends on ARM || ARM64 || COMPILE_TEST depends on MAILBOX help System Control and Power Interface (SCPI) Message Protocol is defined for the purpose of communication between the Application Cores(AP) and the System Control Processor(SCP). The MHU peripheral provides a mechanism for inter-processor communication between SCP and AP. SCP controls most of the power managament on the Application Processors. It offers control and management of: the core/cluster power states, various power domain DVFS including the core/cluster, certain system clocks configuration, thermal sensors and many others. This protocol library provides interface for all the client drivers making use of the features offered by the SCP. config ARM_SCPI_POWER_DOMAIN tristate "SCPI power domain driver" depends on ARM_SCPI_PROTOCOL || (COMPILE_TEST && OF) default y select PM_GENERIC_DOMAINS if PM help This enables support for the SCPI power domains which can be enabled or disabled via the SCP firmware config ARM_SDE_INTERFACE bool "ARM Software Delegated Exception Interface (SDEI)" depends on ARM64 help The Software Delegated Exception Interface (SDEI) is an ARM standard for registering callbacks from the platform firmware into the OS. This is typically used to implement RAS notifications. config EDD tristate "BIOS Enhanced Disk Drive calls determine boot disk" depends on X86 help Say Y or M here if you want to enable BIOS Enhanced Disk Drive Services real mode BIOS calls to determine which disk BIOS tries boot from. This information is then exported via sysfs. This option is experimental and is known to fail to boot on some obscure configurations. Most disk controller BIOS vendors do not yet implement this feature. config EDD_OFF bool "Sets default behavior for EDD detection to off" depends on EDD default n help Say Y if you want EDD disabled by default, even though it is compiled into the kernel. Say N if you want EDD enabled by default. EDD can be dynamically set using the kernel parameter 'edd={on|skipmbr|off}'. config FIRMWARE_MEMMAP bool "Add firmware-provided memory map to sysfs" if EXPERT default X86 help Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. That memory map is used for example by kexec to set up parameter area for the next kernel, but can also be used for debugging purposes. See also Documentation/ABI/testing/sysfs-firmware-memmap. config EFI_PCDP bool "Console device selection via EFI PCDP or HCDP table" depends on ACPI && EFI && IA64 default y if IA64 help If your firmware supplies the PCDP table, and you want to automatically use the primary console device it describes as the Linux console, say Y here. If your firmware supplies the HCDP table, and you want to use the first serial port it describes as the Linux console, say Y here. If your EFI ConOut path contains only a UART device, it will become the console automatically. Otherwise, you must specify the "console=hcdp" kernel boot argument. Neither the PCDP nor the HCDP affects naming of serial devices, so a serial console may be /dev/ttyS0, /dev/ttyS1, etc, depending on how the driver discovers devices. You must also enable the appropriate drivers (serial, VGA, etc.) See DIG64_HCDPv20_042804.pdf available from <http://www.dig64.org/specifications/> config DMIID bool "Export DMI identification via sysfs to userspace" depends on DMI default y help Say Y here if you want to query SMBIOS/DMI system identification information from userspace through /sys/class/dmi/id/ or if you want DMI-based module auto-loading. config DMI_SYSFS tristate "DMI table support in sysfs" depends on SYSFS && DMI default n help Say Y or M here to enable the exporting of the raw DMI table data via sysfs. This is useful for consuming the data without requiring any access to /dev/mem at all. Tables are found under /sys/firmware/dmi when this option is enabled and loaded. config DMI_SCAN_MACHINE_NON_EFI_FALLBACK bool config ISCSI_IBFT_FIND bool "iSCSI Boot Firmware Table Attributes" depends on X86 && ISCSI_IBFT default n help This option enables the kernel to find the region of memory in which the ISCSI Boot Firmware Table (iBFT) resides. This is necessary for iSCSI Boot Firmware Table Attributes module to work properly. config ISCSI_IBFT tristate "iSCSI Boot Firmware Table Attributes module" select ISCSI_BOOT_SYSFS select ISCSI_IBFT_FIND if X86 depends on ACPI && SCSI && SCSI_LOWLEVEL default n help This option enables support for detection and exposing of iSCSI Boot Firmware Table (iBFT) via sysfs to userspace. If you wish to detect iSCSI boot parameters dynamically during system boot, say Y. Otherwise, say N. config RASPBERRYPI_FIRMWARE tristate "Raspberry Pi Firmware Driver" depends on BCM2835_MBOX help This option enables support for communicating with the firmware on the Raspberry Pi. config FW_CFG_SYSFS tristate "QEMU fw_cfg device support in sysfs" depends on SYSFS && (ARM || ARM64 || PPC_PMAC || SPARC || X86) depends on HAS_IOPORT_MAP default n help Say Y or M here to enable the exporting of the QEMU firmware configuration (fw_cfg) file entries via sysfs. Entries are found under /sys/firmware/fw_cfg when this option is enabled and loaded. config FW_CFG_SYSFS_CMDLINE bool "QEMU fw_cfg device parameter parsing" depends on FW_CFG_SYSFS help Allow the qemu_fw_cfg device to be initialized via the kernel command line or using a module parameter. WARNING: Using incorrect parameters (base address in particular) may crash your system. config INTEL_STRATIX10_SERVICE tristate "Intel Stratix10 Service Layer" depends on ARCH_STRATIX10 && HAVE_ARM_SMCCC default n help Intel Stratix10 service layer runs at privileged exception level, interfaces with the service providers (FPGA manager is one of them) and manages secure monitor call to communicate with secure monitor software at secure monitor exception level. Say Y here if you want Stratix10 service layer support. config INTEL_STRATIX10_RSU tristate "Intel Stratix10 Remote System Update" depends on INTEL_STRATIX10_SERVICE help The Intel Remote System Update (RSU) driver exposes interfaces access through the Intel Service Layer to user space via sysfs device attribute nodes. The RSU interfaces report/control some of the optional RSU features of the Stratix 10 SoC FPGA. The RSU provides a way for customers to update the boot configuration of a Stratix 10 SoC device with significantly reduced risk of corrupting the bitstream storage and bricking the system. Enable RSU support if you are using an Intel SoC FPGA with the RSU feature enabled and you want Linux user space control. Say Y here if you want Intel RSU support. config QCOM_SCM bool depends on ARM || ARM64 depends on HAVE_ARM_SMCCC select RESET_CONTROLLER config QCOM_SCM_32 def_bool y depends on QCOM_SCM && ARM config QCOM_SCM_64 def_bool y depends on QCOM_SCM && ARM64 config QCOM_SCM_DOWNLOAD_MODE_DEFAULT bool "Qualcomm download mode enabled by default" depends on QCOM_SCM help A device with "download mode" enabled will upon an unexpected warm-restart enter a special debug mode that allows the user to "download" memory content over USB for offline postmortem analysis. The feature can be enabled/disabled on the kernel command line. Say Y here to enable "download mode" by default. config TI_SCI_PROTOCOL tristate "TI System Control Interface (TISCI) Message Protocol" depends on TI_MESSAGE_MANAGER help TI System Control Interface (TISCI) Message Protocol is used to manage compute systems such as ARM, DSP etc with the system controller in complex System on Chip(SoC) such as those found on certain keystone generation SoC from TI. System controller provides various facilities including power management function support. This protocol library is used by client drivers to use the features provided by the system controller. config TRUSTED_FOUNDATIONS bool "Trusted Foundations secure monitor support" depends on ARM && CPU_V7 help Some devices (including most early Tegra-based consumer devices on the market) are booted with the Trusted Foundations secure monitor active, requiring some core operations to be performed by the secure monitor instead of the kernel. This option allows the kernel to invoke the secure monitor whenever required on devices using Trusted Foundations. See the functions and comments in linux/firmware/trusted_foundations.h or the device tree bindings for "tlm,trusted-foundations" for details on how to use it. Choose N if you don't know what this is about. config TURRIS_MOX_RWTM tristate "Turris Mox rWTM secure firmware driver" depends on ARCH_MVEBU || COMPILE_TEST depends on HAS_DMA && OF depends on MAILBOX select HW_RANDOM select ARMADA_37XX_RWTM_MBOX help This driver communicates with the firmware on the Cortex-M3 secure processor of the Turris Mox router. Enable if you are building for Turris Mox, and you will be able to read the device serial number and other manufacturing data and also utilize the Entropy Bit Generator for hardware random number generation. config HAVE_ARM_SMCCC bool source "drivers/firmware/psci/Kconfig" source "drivers/firmware/broadcom/Kconfig" source "drivers/firmware/google/Kconfig" source "drivers/firmware/efi/Kconfig" source "drivers/firmware/imx/Kconfig" source "drivers/firmware/meson/Kconfig" source "drivers/firmware/tegra/Kconfig" source "drivers/firmware/xilinx/Kconfig" endmenu firmware/tegra/Kconfig 0000644 00000001612 14722053666 0011000 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Tegra firmware driver" config TEGRA_IVC bool "Tegra IVC protocol" depends on ARCH_TEGRA help IVC (Inter-VM Communication) protocol is part of the IPC (Inter Processor Communication) framework on Tegra. It maintains the data and the different commuication channels in SysRAM or RAM and keeps the content is synchronization between host CPU and remote processors. config TEGRA_BPMP bool "Tegra BPMP driver" depends on ARCH_TEGRA && TEGRA_HSP_MBOX && TEGRA_IVC help BPMP (Boot and Power Management Processor) is designed to off-loading the PM functions which include clock/DVFS/thermal/power from the CPU. It needs HSP as the HW synchronization and notification module and IVC module as the message communication protocol. This driver manages the IPC interface between host CPU and the firmware running on BPMP. endmenu firmware/tegra/Makefile 0000644 00000000647 14722053666 0011144 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only tegra-bpmp-y = bpmp.o tegra-bpmp-$(CONFIG_ARCH_TEGRA_210_SOC) += bpmp-tegra210.o tegra-bpmp-$(CONFIG_ARCH_TEGRA_186_SOC) += bpmp-tegra186.o tegra-bpmp-$(CONFIG_ARCH_TEGRA_194_SOC) += bpmp-tegra186.o tegra-bpmp-$(CONFIG_ARCH_TEGRA_234_SOC) += bpmp-tegra186.o tegra-bpmp-$(CONFIG_DEBUG_FS) += bpmp-debugfs.o obj-$(CONFIG_TEGRA_BPMP) += tegra-bpmp.o obj-$(CONFIG_TEGRA_IVC) += ivc.o firmware/psci/Kconfig 0000644 00000000746 14722053666 0010643 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config ARM_PSCI_FW bool config ARM_PSCI_CHECKER bool "ARM PSCI checker" depends on ARM_PSCI_FW && HOTPLUG_CPU && CPU_IDLE && !TORTURE_TEST help Run the PSCI checker during startup. This checks that hotplug and suspend operations work correctly when using PSCI. The torture tests may interfere with the PSCI checker by turning CPUs on and off through hotplug, so for now torture tests and PSCI checker are mutually exclusive. firmware/psci/Makefile 0000644 00000000172 14722053666 0010771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # obj-$(CONFIG_ARM_PSCI_FW) += psci.o obj-$(CONFIG_ARM_PSCI_CHECKER) += psci_checker.o firmware/meson/Kconfig 0000644 00000000321 14722053666 0011013 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Amlogic Secure Monitor driver # config MESON_SM bool default ARCH_MESON depends on ARM64_4K_PAGES help Say y here to enable the Amlogic secure monitor driver firmware/meson/Makefile 0000644 00000000115 14722053666 0011151 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MESON_SM) += meson_sm.o firmware/imx/Kconfig 0000644 00000001704 14722053666 0010475 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config IMX_DSP bool "IMX DSP Protocol driver" depends on IMX_MBOX help This enables DSP IPC protocol between host AP (Linux) and the firmware running on DSP. DSP exists on some i.MX8 processors (e.g i.MX8QM, i.MX8QXP). It acts like a doorbell. Client might use shared memory to exchange information with DSP side. config IMX_SCU bool "IMX SCU Protocol driver" depends on IMX_MBOX select SOC_BUS help The System Controller Firmware (SCFW) is a low-level system function which runs on a dedicated Cortex-M core to provide power, clock, and resource management. It exists on some i.MX8 processors. e.g. i.MX8QM (QM, QP), and i.MX8QX (QXP, DX). This driver manages the IPC interface between host CPU and the SCU firmware running on M4. config IMX_SCU_PD bool "IMX SCU Power Domain driver" depends on IMX_SCU help The System Controller Firmware (SCFW) based power domain driver. firmware/imx/Makefile 0000644 00000000245 14722053666 0010631 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_IMX_DSP) += imx-dsp.o obj-$(CONFIG_IMX_SCU) += imx-scu.o misc.o imx-scu-irq.o obj-$(CONFIG_IMX_SCU_PD) += scu-pd.o firmware/Makefile 0000644 00000002541 14722053666 0010035 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the linux kernel. # obj-$(CONFIG_ARM_SCPI_PROTOCOL) += arm_scpi.o obj-$(CONFIG_ARM_SCPI_POWER_DOMAIN) += scpi_pm_domain.o obj-$(CONFIG_ARM_SDE_INTERFACE) += arm_sdei.o obj-$(CONFIG_DMI) += dmi_scan.o obj-$(CONFIG_DMI_SYSFS) += dmi-sysfs.o obj-$(CONFIG_EDD) += edd.o obj-$(CONFIG_EFI_PCDP) += pcdp.o obj-$(CONFIG_DMIID) += dmi-id.o obj-$(CONFIG_INTEL_STRATIX10_SERVICE) += stratix10-svc.o obj-$(CONFIG_INTEL_STRATIX10_RSU) += stratix10-rsu.o obj-$(CONFIG_ISCSI_IBFT_FIND) += iscsi_ibft_find.o obj-$(CONFIG_ISCSI_IBFT) += iscsi_ibft.o obj-$(CONFIG_FIRMWARE_MEMMAP) += memmap.o obj-$(CONFIG_RASPBERRYPI_FIRMWARE) += raspberrypi.o obj-$(CONFIG_FW_CFG_SYSFS) += qemu_fw_cfg.o obj-$(CONFIG_QCOM_SCM) += qcom_scm.o obj-$(CONFIG_QCOM_SCM_64) += qcom_scm-64.o obj-$(CONFIG_QCOM_SCM_32) += qcom_scm-32.o CFLAGS_qcom_scm-32.o :=$(call as-instr,.arch armv7-a\n.arch_extension sec,-DREQUIRES_SEC=1) -march=armv7-a obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o obj-$(CONFIG_TRUSTED_FOUNDATIONS) += trusted_foundations.o obj-$(CONFIG_TURRIS_MOX_RWTM) += turris-mox-rwtm.o obj-$(CONFIG_ARM_SCMI_PROTOCOL) += arm_scmi/ obj-y += psci/ obj-y += broadcom/ obj-y += meson/ obj-$(CONFIG_GOOGLE_FIRMWARE) += google/ obj-$(CONFIG_EFI) += efi/ obj-$(CONFIG_UEFI_CPER) += efi/ obj-y += imx/ obj-y += tegra/ obj-y += xilinx/ firmware/xilinx/Kconfig 0000644 00000001226 14722053666 0011212 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Kconfig for Xilinx firmwares menu "Zynq MPSoC Firmware Drivers" depends on ARCH_ZYNQMP config ZYNQMP_FIRMWARE bool "Enable Xilinx Zynq MPSoC firmware interface" select MFD_CORE help Firmware interface driver is used by different drivers to communicate with the firmware for various platform management services. Say yes to enable ZynqMP firmware interface driver. If in doubt, say N. config ZYNQMP_FIRMWARE_DEBUG bool "Enable Xilinx Zynq MPSoC firmware debug APIs" depends on ZYNQMP_FIRMWARE && DEBUG_FS help Say yes to enable ZynqMP firmware interface debug APIs. If in doubt, say N. endmenu firmware/xilinx/Makefile 0000644 00000000244 14722053666 0011346 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for Xilinx firmwares obj-$(CONFIG_ZYNQMP_FIRMWARE) += zynqmp.o obj-$(CONFIG_ZYNQMP_FIRMWARE_DEBUG) += zynqmp-debug.o hv/Kconfig 0000644 00000001263 14722053666 0006501 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 menu "Microsoft Hyper-V guest support" config HYPERV tristate "Microsoft Hyper-V client drivers" depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST select PARAVIRT select X86_HV_CALLBACK_VECTOR help Select this option to run Linux as a Hyper-V client operating system. config HYPERV_TIMER def_bool HYPERV config HYPERV_UTILS tristate "Microsoft Hyper-V Utilities driver" depends on HYPERV && CONNECTOR && NLS help Select this option to enable the Hyper-V Utilities. config HYPERV_BALLOON tristate "Microsoft Hyper-V Balloon driver" depends on HYPERV help Select this option to enable Hyper-V Balloon driver. endmenu hv/Makefile 0000644 00000000622 14722053666 0006634 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_HYPERV) += hv_vmbus.o obj-$(CONFIG_HYPERV_UTILS) += hv_utils.o obj-$(CONFIG_HYPERV_BALLOON) += hv_balloon.o CFLAGS_hv_trace.o = -I$(src) CFLAGS_hv_balloon.o = -I$(src) hv_vmbus-y := vmbus_drv.o \ hv.o connection.o channel.o \ channel_mgmt.o ring_buffer.o hv_trace.o hv_utils-y := hv_util.o hv_kvp.o hv_snapshot.o hv_fcopy.o hv_utils_transport.o dax/Kconfig 0000644 00000003434 14722053666 0006642 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config DAX_DRIVER select DAX bool menuconfig DAX tristate "DAX: direct access to differentiated memory" select SRCU default m if NVDIMM_DAX if DAX config DEV_DAX tristate "Device DAX: direct access mapping device" depends on TRANSPARENT_HUGEPAGE help Support raw access to differentiated (persistence, bandwidth, latency...) memory via an mmap(2) capable character device. Platform firmware or a device driver may identify a platform memory resource that is differentiated from the baseline memory pool. Mappings of a /dev/daxX.Y device impose restrictions that make the mapping behavior deterministic. config DEV_DAX_PMEM tristate "PMEM DAX: direct access to persistent memory" depends on LIBNVDIMM && NVDIMM_DAX && DEV_DAX default DEV_DAX help Support raw access to persistent memory. Note that this driver consumes memory ranges allocated and exported by the libnvdimm sub-system. Say M if unsure config DEV_DAX_KMEM tristate "KMEM DAX: volatile-use of persistent memory" default DEV_DAX depends on DEV_DAX depends on MEMORY_HOTPLUG # for add_memory() and friends help Support access to persistent memory as if it were RAM. This allows easier use of persistent memory by unmodified applications. To use this feature, a DAX device must be unbound from the device_dax driver (PMEM DAX) and bound to this kmem driver on each boot. Say N if unsure. config DEV_DAX_PMEM_COMPAT tristate "PMEM DAX: support the deprecated /sys/class/dax interface" depends on m && DEV_DAX_PMEM=m default DEV_DAX_PMEM help Older versions of the libdaxctl library expect to find all device-dax instances under /sys/class/dax. If libdaxctl in your distribution is older than v58 say M, otherwise say N. endif dax/Makefile 0000644 00000000323 14722053666 0006771 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DAX) += dax.o obj-$(CONFIG_DEV_DAX) += device_dax.o obj-$(CONFIG_DEV_DAX_KMEM) += kmem.o dax-y := super.o dax-y += bus.o device_dax-y := device.o obj-y += pmem/ dax/pmem/Makefile 0000644 00000000404 14722053666 0007727 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_DEV_DAX_PMEM) += dax_pmem.o obj-$(CONFIG_DEV_DAX_PMEM) += dax_pmem_core.o obj-$(CONFIG_DEV_DAX_PMEM_COMPAT) += dax_pmem_compat.o dax_pmem-y := pmem.o dax_pmem_core-y := core.o dax_pmem_compat-y := compat.o platform/mellanox/Kconfig 0000644 00000003010 14722053666 0011517 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Platform support for Mellanox hardware # menuconfig MELLANOX_PLATFORM bool "Platform support for Mellanox hardware" depends on X86 || ARM || ARM64 || COMPILE_TEST ---help--- Say Y here to get to see options for platform support for Mellanox systems. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if MELLANOX_PLATFORM config MLXREG_HOTPLUG tristate "Mellanox platform hotplug driver support" depends on REGMAP depends on HWMON depends on I2C ---help--- This driver handles hot-plug events for the power suppliers, power cables and fans on the wide range Mellanox IB and Ethernet systems. config MLXREG_IO tristate "Mellanox platform register access driver support" depends on REGMAP depends on HWMON help This driver allows access to Mellanox programmable device register space through sysfs interface. The sets of registers for sysfs access are defined per system type bases and include the registers related to system resets operation, system reset causes monitoring and some kinds of mux selection. config MLXBF_TMFIFO tristate "Mellanox BlueField SoC TmFifo platform driver" depends on ARM64 depends on ACPI depends on VIRTIO_CONSOLE && VIRTIO_NET help Say y here to enable TmFifo support. The TmFifo driver provides platform driver support for the TmFifo which supports console and networking based on the virtio framework. endif # MELLANOX_PLATFORM platform/mellanox/Makefile 0000644 00000000400 14722053666 0011654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for linux/drivers/platform/mellanox # Mellanox Platform-Specific Drivers # obj-$(CONFIG_MLXBF_TMFIFO) += mlxbf-tmfifo.o obj-$(CONFIG_MLXREG_HOTPLUG) += mlxreg-hotplug.o obj-$(CONFIG_MLXREG_IO) += mlxreg-io.o platform/Kconfig 0000644 00000000472 14722053666 0007711 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only if X86 source "drivers/platform/x86/Kconfig" endif if MIPS source "drivers/platform/mips/Kconfig" endif source "drivers/platform/goldfish/Kconfig" source "drivers/platform/chrome/Kconfig" source "drivers/platform/mellanox/Kconfig" source "drivers/platform/olpc/Kconfig" platform/mips/Kconfig 0000644 00000001304 14722053666 0010654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MIPS Platform Specific Drivers # menuconfig MIPS_PLATFORM_DEVICES bool "MIPS Platform Specific Device Drivers" default y help Say Y here to get to see options for device drivers of various MIPS platforms, including vendor-specific netbook/laptop/desktop extension and hardware monitor drivers. This option itself does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if MIPS_PLATFORM_DEVICES config CPU_HWMON tristate "Loongson CPU HWMon Driver" depends on LOONGSON_MACH3X select HWMON default y help Loongson-3A/3B CPU Hwmon (temperature sensor) driver. endif # MIPS_PLATFORM_DEVICES platform/mips/Makefile 0000644 00000000117 14722053666 0011012 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CPU_HWMON) += cpu_hwmon.o platform/chrome/Kconfig 0000644 00000015536 14722053666 0011175 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Platform support for Chrome OS hardware (Chromebooks and Chromeboxes) # config MFD_CROS_EC tristate "Platform support for Chrome hardware (transitional)" select CHROME_PLATFORMS select CROS_EC select CONFIG_MFD_CROS_EC_DEV depends on X86 || ARM || ARM64 || COMPILE_TEST help This is a transitional Kconfig option and will be removed after everyone enables the parts individually. menuconfig CHROME_PLATFORMS bool "Platform support for Chrome hardware" depends on X86 || ARM || ARM64 || COMPILE_TEST ---help--- Say Y here to get to see options for platform support for various Chromebooks and Chromeboxes. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if CHROME_PLATFORMS config CHROMEOS_LAPTOP tristate "Chrome OS Laptop" depends on I2C && DMI && X86 ---help--- This driver instantiates i2c and smbus devices such as light sensors and touchpads. If you have a supported Chromebook, choose Y or M here. The module will be called chromeos_laptop. config CHROMEOS_PSTORE tristate "Chrome OS pstore support" depends on X86 ---help--- This module instantiates the persistent storage on x86 ChromeOS devices. It can be used to store away console logs and crash information across reboots. The range of memory used is 0xf00000-0x1000000, traditionally the memory used to back VGA controller memory. If you have a supported Chromebook, choose Y or M here. The module will be called chromeos_pstore. config CHROMEOS_TBMC tristate "ChromeOS Tablet Switch Controller" depends on ACPI depends on INPUT help This option adds a driver for the tablet switch on select Chrome OS systems. To compile this driver as a module, choose M here: the module will be called chromeos_tbmc. config CROS_EC tristate "ChromeOS Embedded Controller" select CROS_EC_PROTO depends on X86 || ARM || ARM64 || COMPILE_TEST help If you say Y here you get support for the ChromeOS Embedded Controller (EC) providing keyboard, battery and power services. You also need to enable the driver for the bus you are using. The protocol for talking to the EC is defined by the bus driver. To compile this driver as a module, choose M here: the module will be called cros_ec. config CROS_EC_I2C tristate "ChromeOS Embedded Controller (I2C)" depends on CROS_EC && I2C help If you say Y here, you get support for talking to the ChromeOS EC through an I2C bus. This uses a simple byte-level protocol with a checksum. Failing accesses will be retried three times to improve reliability. config CROS_EC_RPMSG tristate "ChromeOS Embedded Controller (rpmsg)" depends on CROS_EC && RPMSG && OF help If you say Y here, you get support for talking to the ChromeOS EC through rpmsg. This uses a simple byte-level protocol with a checksum. Also since there's no addition EC-to-host interrupt, this use a byte in message to distinguish host event from host command. To compile this driver as a module, choose M here: the module will be called cros_ec_rpmsg. config CROS_EC_ISHTP tristate "ChromeOS Embedded Controller (ISHTP)" depends on CROS_EC depends on INTEL_ISH_HID help If you say Y here, you get support for talking to the ChromeOS EC firmware running on Intel Integrated Sensor Hub (ISH), using the ISH Transport protocol (ISH-TP). This uses a simple byte-level protocol with a checksum. To compile this driver as a module, choose M here: the module will be called cros_ec_ishtp. config CROS_EC_SPI tristate "ChromeOS Embedded Controller (SPI)" depends on CROS_EC && SPI ---help--- If you say Y here, you get support for talking to the ChromeOS EC through a SPI bus, using a byte-level protocol. Since the EC's response time cannot be guaranteed, we support ignoring 'pre-amble' bytes before the response actually starts. config CROS_EC_LPC tristate "ChromeOS Embedded Controller (LPC)" depends on CROS_EC && ACPI && (X86 || COMPILE_TEST) help If you say Y here, you get support for talking to the ChromeOS EC over an LPC bus, including the LPC Microchip EC (MEC) variant. This uses a simple byte-level protocol with a checksum. This is used for userspace access only. The kernel typically has its own communication methods. To compile this driver as a module, choose M here: the module will be called cros_ec_lpcs. config CROS_EC_PROTO bool help ChromeOS EC communication protocol helpers. config CROS_KBD_LED_BACKLIGHT tristate "Backlight LED support for Chrome OS keyboards" depends on LEDS_CLASS && ACPI help This option enables support for the keyboard backlight LEDs on select Chrome OS systems. To compile this driver as a module, choose M here: the module will be called cros_kbd_led_backlight. config CROS_EC_CHARDEV tristate "ChromeOS EC miscdevice" depends on MFD_CROS_EC_DEV default MFD_CROS_EC_DEV help This driver adds file operations support to talk with the ChromeOS EC from userspace via a character device. To compile this driver as a module, choose M here: the module will be called cros_ec_chardev. config CROS_EC_LIGHTBAR tristate "Chromebook Pixel's lightbar support" depends on MFD_CROS_EC_DEV default MFD_CROS_EC_DEV help This option exposes the Chromebook Pixel's lightbar to userspace. To compile this driver as a module, choose M here: the module will be called cros_ec_lightbar. config CROS_EC_VBC tristate "ChromeOS EC vboot context support" depends on MFD_CROS_EC_DEV && OF default MFD_CROS_EC_DEV help This option exposes the ChromeOS EC vboot context nvram to userspace. To compile this driver as a module, choose M here: the module will be called cros_ec_vbc. config CROS_EC_DEBUGFS tristate "Export ChromeOS EC internals in DebugFS" depends on MFD_CROS_EC_DEV && DEBUG_FS default MFD_CROS_EC_DEV help This option exposes the ChromeOS EC device internals to userspace. To compile this driver as a module, choose M here: the module will be called cros_ec_debugfs. config CROS_EC_SYSFS tristate "ChromeOS EC control and information through sysfs" depends on MFD_CROS_EC_DEV && SYSFS default MFD_CROS_EC_DEV help This option exposes some sysfs attributes to control and get information from ChromeOS EC. To compile this driver as a module, choose M here: the module will be called cros_ec_sysfs. config CROS_USBPD_LOGGER tristate "Logging driver for USB PD charger" depends on CHARGER_CROS_USBPD default y select RTC_LIB help This option enables support for logging event data for the USB PD charger available in the Embedded Controller on ChromeOS systems. To compile this driver as a module, choose M here: the module will be called cros_usbpd_logger. source "drivers/platform/chrome/wilco_ec/Kconfig" endif # CHROMEOS_PLATFORMS platform/chrome/wilco_ec/Kconfig 0000644 00000002546 14722053666 0012756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WILCO_EC tristate "ChromeOS Wilco Embedded Controller" depends on ACPI && X86 && CROS_EC_LPC help If you say Y here, you get support for talking to the ChromeOS Wilco EC over an eSPI bus. This uses a simple byte-level protocol with a checksum. To compile this driver as a module, choose M here: the module will be called wilco_ec. config WILCO_EC_DEBUGFS tristate "Enable raw access to EC via debugfs" depends on WILCO_EC help If you say Y here, you get support for sending raw commands to the Wilco EC via debugfs. These commands do not do any byte manipulation and allow for testing arbitrary commands. This interface is intended for debug only and will not be present on production devices. config WILCO_EC_EVENTS tristate "Enable event forwarding from EC to userspace" depends on WILCO_EC help If you say Y here, you get support for the EC to send events (such as power state changes) to userspace. The EC sends the events over ACPI, and a driver queues up the events to be read by a userspace daemon from /dev/wilco_event using read() and poll(). config WILCO_EC_TELEMETRY tristate "Enable querying telemetry data from EC" depends on WILCO_EC help If you say Y here, you get support to query EC telemetry data from /dev/wilco_telem0 using write() and then read(). platform/chrome/wilco_ec/Makefile 0000644 00000000620 14722053666 0013102 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 wilco_ec-objs := core.o mailbox.o properties.o sysfs.o obj-$(CONFIG_WILCO_EC) += wilco_ec.o wilco_ec_debugfs-objs := debugfs.o obj-$(CONFIG_WILCO_EC_DEBUGFS) += wilco_ec_debugfs.o wilco_ec_events-objs := event.o obj-$(CONFIG_WILCO_EC_EVENTS) += wilco_ec_events.o wilco_ec_telem-objs := telemetry.o obj-$(CONFIG_WILCO_EC_TELEMETRY) += wilco_ec_telem.o platform/chrome/Makefile 0000644 00000002070 14722053666 0011317 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # tell define_trace.h where to find the cros ec trace header CFLAGS_cros_ec_trace.o:= -I$(src) obj-$(CONFIG_CHROMEOS_LAPTOP) += chromeos_laptop.o obj-$(CONFIG_CHROMEOS_PSTORE) += chromeos_pstore.o obj-$(CONFIG_CHROMEOS_TBMC) += chromeos_tbmc.o obj-$(CONFIG_CROS_EC) += cros_ec.o obj-$(CONFIG_CROS_EC_I2C) += cros_ec_i2c.o obj-$(CONFIG_CROS_EC_ISHTP) += cros_ec_ishtp.o obj-$(CONFIG_CROS_EC_RPMSG) += cros_ec_rpmsg.o obj-$(CONFIG_CROS_EC_SPI) += cros_ec_spi.o cros_ec_lpcs-objs := cros_ec_lpc.o cros_ec_lpc_mec.o obj-$(CONFIG_CROS_EC_LPC) += cros_ec_lpcs.o obj-$(CONFIG_CROS_EC_PROTO) += cros_ec_proto.o cros_ec_trace.o obj-$(CONFIG_CROS_KBD_LED_BACKLIGHT) += cros_kbd_led_backlight.o obj-$(CONFIG_CROS_EC_CHARDEV) += cros_ec_chardev.o obj-$(CONFIG_CROS_EC_LIGHTBAR) += cros_ec_lightbar.o obj-$(CONFIG_CROS_EC_VBC) += cros_ec_vbc.o obj-$(CONFIG_CROS_EC_DEBUGFS) += cros_ec_debugfs.o obj-$(CONFIG_CROS_EC_SYSFS) += cros_ec_sysfs.o obj-$(CONFIG_CROS_USBPD_LOGGER) += cros_usbpd_logger.o obj-$(CONFIG_WILCO_EC) += wilco_ec/ platform/x86/intel_speed_select_if/Kconfig 0000644 00000001313 14722053666 0014641 0 ustar 00 menu "Intel Speed Select Technology interface support" depends on PCI depends on X86_64 || COMPILE_TEST config INTEL_SPEED_SELECT_INTERFACE tristate "Intel(R) Speed Select Technology interface drivers" help This config enables the Intel(R) Speed Select Technology interface drivers. The Intel(R) speed select technology features are non architectural and only supported on specific Xeon(R) servers. These drivers provide interface to directly communicate with hardware via MMIO and Mail boxes to enumerate and control all the speed select features. Enable this config, if there is a need to enable and control the Intel(R) Speed Select Technology features from the user space. endmenu platform/x86/intel_speed_select_if/Makefile 0000644 00000000601 14722053666 0014775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile - Intel Speed Select Interface drivers # Copyright (c) 2019, Intel Corporation. # obj-$(CONFIG_INTEL_SPEED_SELECT_INTERFACE) += isst_if_common.o obj-$(CONFIG_INTEL_SPEED_SELECT_INTERFACE) += isst_if_mmio.o obj-$(CONFIG_INTEL_SPEED_SELECT_INTERFACE) += isst_if_mbox_pci.o obj-$(CONFIG_INTEL_SPEED_SELECT_INTERFACE) += isst_if_mbox_msr.o platform/x86/Kconfig 0000644 00000130535 14722053666 0010342 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # X86 Platform Specific Drivers # menuconfig X86_PLATFORM_DEVICES bool "X86 Platform Specific Device Drivers" default y depends on X86 ---help--- Say Y here to get to see options for device drivers for various x86 platforms, including vendor-specific laptop extension drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if X86_PLATFORM_DEVICES config ACER_WMI tristate "Acer WMI Laptop Extras" depends on ACPI select LEDS_CLASS select NEW_LEDS depends on BACKLIGHT_CLASS_DEVICE depends on SERIO_I8042 depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_WMI select INPUT_SPARSEKMAP # Acer WMI depends on ACPI_VIDEO when ACPI is enabled select ACPI_VIDEO if ACPI ---help--- This is a driver for newer Acer (and Wistron) laptops. It adds wireless radio and bluetooth control, and on some laptops, exposes the mail LED and LCD backlight. If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M here. config ACER_WIRELESS tristate "Acer Wireless Radio Control Driver" depends on ACPI depends on INPUT ---help--- The Acer Wireless Radio Control handles the airplane mode hotkey present on new Acer laptops. Say Y or M here if you have an Acer notebook with an airplane mode hotkey. If you choose to compile this driver as a module the module will be called acer-wireless. config ACERHDF tristate "Acer Aspire One temperature and fan driver" depends on ACPI && THERMAL select THERMAL_GOV_BANG_BANG ---help--- This is a driver for Acer Aspire One netbooks. It allows to access the temperature sensor and to control the fan. After loading this driver the BIOS is still in control of the fan. To let the kernel handle the fan, do: echo -n enabled > /sys/class/thermal/thermal_zoneN/mode where N=0,1,2... depending on the number of thermal nodes and the detection order of your particular system. The "type" parameter in the same node directory will tell you if it is "acerhdf". For more information about this driver see <http://piie.net/files/acerhdf_README.txt> If you have an Acer Aspire One netbook, say Y or M here. config ALIENWARE_WMI tristate "Alienware Special feature control" depends on ACPI depends on LEDS_CLASS depends on NEW_LEDS depends on ACPI_WMI ---help--- This is a driver for controlling Alienware BIOS driven features. It exposes an interface for controlling the AlienFX zones on Alienware machines that don't contain a dedicated AlienFX USB MCU such as the X51 and X51-R2. config ASUS_LAPTOP tristate "Asus Laptop Extras" depends on ACPI select LEDS_CLASS select NEW_LEDS depends on BACKLIGHT_CLASS_DEVICE depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP select INPUT_POLLDEV ---help--- This is a driver for Asus laptops, Lenovo SL and the Pegatron Lucid tablet. It may also support some MEDION, JVC or VICTOR laptops. It makes all the extra buttons generate standard ACPI events and input events, and on the Lucid the built-in accelerometer appears as an input device. It also adds support for video output switching, LCD backlight control, Bluetooth and Wlan control, and most importantly, allows you to blink those fancy LEDs. For more information see <http://acpi4asus.sf.net>. If you have an ACPI-compatible ASUS laptop, say Y or M here. config DCDBAS tristate "Dell Systems Management Base Driver" depends on X86 help The Dell Systems Management Base Driver provides a sysfs interface for systems management software to perform System Management Interrupts (SMIs) and Host Control Actions (system power cycle or power off after OS shutdown) on certain Dell systems. See <file:Documentation/driver-api/dcdbas.rst> for more details on the driver and the Dell systems on which Dell systems management software makes use of this driver. Say Y or M here to enable the driver for use by Dell systems management software such as Dell OpenManage. # # The DELL_SMBIOS driver depends on ACPI_WMI and/or DCDBAS if those # backends are selected. The "depends" line prevents a configuration # where DELL_SMBIOS=y while either of those dependencies =m. # config DELL_SMBIOS tristate "Dell SMBIOS driver" depends on DCDBAS || DCDBAS=n depends on ACPI_WMI || ACPI_WMI=n ---help--- This provides support for the Dell SMBIOS calling interface. If you have a Dell computer you should enable this option. Be sure to select at least one backend for it to work properly. config DELL_SMBIOS_WMI bool "Dell SMBIOS driver WMI backend" default y depends on ACPI_WMI select DELL_WMI_DESCRIPTOR depends on DELL_SMBIOS ---help--- This provides an implementation for the Dell SMBIOS calling interface communicated over ACPI-WMI. If you have a Dell computer from >2007 you should say Y here. If you aren't sure and this module doesn't work for your computer it just won't load. config DELL_SMBIOS_SMM bool "Dell SMBIOS driver SMM backend" default y depends on DCDBAS depends on DELL_SMBIOS ---help--- This provides an implementation for the Dell SMBIOS calling interface communicated over SMI/SMM. If you have a Dell computer from <=2017 you should say Y here. If you aren't sure and this module doesn't work for your computer it just won't load. config DELL_LAPTOP tristate "Dell Laptop Extras" depends on DMI depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n depends on RFKILL || RFKILL = n depends on SERIO_I8042 depends on DELL_SMBIOS select POWER_SUPPLY select LEDS_CLASS select NEW_LEDS select LEDS_TRIGGERS select LEDS_TRIGGER_AUDIO ---help--- This driver adds support for rfkill and backlight control to Dell laptops (except for some models covered by the Compal driver). config DELL_WMI tristate "Dell WMI notifications" depends on ACPI_WMI depends on DMI depends on INPUT depends on ACPI_VIDEO || ACPI_VIDEO = n depends on DELL_SMBIOS select DELL_WMI_DESCRIPTOR select INPUT_SPARSEKMAP ---help--- Say Y here if you want to support WMI-based hotkeys on Dell laptops. To compile this driver as a module, choose M here: the module will be called dell-wmi. config DELL_WMI_DESCRIPTOR tristate depends on ACPI_WMI config DELL_WMI_AIO tristate "WMI Hotkeys for Dell All-In-One series" depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP ---help--- Say Y here if you want to support WMI-based hotkeys on Dell All-In-One machines. To compile this driver as a module, choose M here: the module will be called dell-wmi-aio. config DELL_WMI_LED tristate "External LED on Dell Business Netbooks" depends on LEDS_CLASS depends on ACPI_WMI help This adds support for the Latitude 2100 and similar notebooks that have an external LED. config DELL_SMO8800 tristate "Dell Latitude freefall driver (ACPI SMO88XX)" depends on ACPI ---help--- Say Y here if you want to support SMO88XX freefall devices on Dell Latitude laptops. To compile this driver as a module, choose M here: the module will be called dell-smo8800. config DELL_RBTN tristate "Dell Airplane Mode Switch driver" depends on ACPI depends on INPUT depends on RFKILL ---help--- Say Y here if you want to support Dell Airplane Mode Switch ACPI device on Dell laptops. Sometimes it has names: DELLABCE or DELRBTN. This driver register rfkill device or input hotkey device depending on hardware type (hw switch slider or keyboard toggle button). For rfkill devices it receive HW switch events and set correct hard rfkill state. To compile this driver as a module, choose M here: the module will be called dell-rbtn. config DELL_RBU tristate "BIOS update support for DELL systems via sysfs" depends on X86 select FW_LOADER select FW_LOADER_USER_HELPER help Say m if you want to have the option of updating the BIOS for your DELL system. Note you need a Dell OpenManage or Dell Update package (DUP) supporting application to communicate with the BIOS regarding the new image for the image update to take effect. See <file:Documentation/driver-api/dell_rbu.rst> for more details on the driver. config DELL_UART_BACKLIGHT tristate "Dell AIO UART Backlight driver" depends on SERIAL_8250 depends on ACPI ---help--- Say Y here if you want to support Dell AIO UART backlight interface. The Dell AIO machines released after 2017 come with a UART interface to communicate with the backlight scalar board. This driver creates a standard backlight interface and talks to the scalar board through UART to adjust the AIO screen brightness. To compile this driver as a module, choose M here: the module will be called dell_uart_backlight. config FUJITSU_LAPTOP tristate "Fujitsu Laptop Extras" depends on ACPI depends on INPUT depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP select NEW_LEDS select LEDS_CLASS ---help--- This is a driver for laptops built by Fujitsu: * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks * Possibly other Fujitsu laptop models * Tested with S6410 and S7020 It adds support for LCD brightness control and some hotkeys. If you have a Fujitsu laptop, say Y or M here. config FUJITSU_TABLET tristate "Fujitsu Tablet Extras" depends on ACPI depends on INPUT ---help--- This is a driver for tablets built by Fujitsu: * Lifebook P1510/P1610/P1620/Txxxx * Stylistic ST5xxx * Possibly other Fujitsu tablet models It adds support for the panel buttons, docking station detection, tablet/notebook mode detection for convertible and orientation detection for docked slates. If you have a Fujitsu convertible or slate, say Y or M here. config AMILO_RFKILL tristate "Fujitsu-Siemens Amilo rfkill support" depends on RFKILL depends on SERIO_I8042 ---help--- This is a driver for enabling wifi on some Fujitsu-Siemens Amilo laptops. config GPD_POCKET_FAN tristate "GPD Pocket Fan Controller support" depends on ACPI depends on THERMAL ---help--- Driver for the GPD Pocket vendor specific FAN02501 ACPI device which controls the fan speed on the GPD Pocket. Without this driver the fan on the Pocket will stay off independent of the CPU temperature. Say Y or M if the kernel may be used on a GPD pocket. config TC1100_WMI tristate "HP Compaq TC1100 Tablet WMI Extras" depends on !X86_64 depends on ACPI depends on ACPI_WMI ---help--- This is a driver for the WMI extensions (wireless and bluetooth power control) of the HP Compaq TC1100 tablet. config HP_ACCEL tristate "HP laptop accelerometer" depends on INPUT && ACPI depends on SERIO_I8042 select SENSORS_LIS3LV02D select NEW_LEDS select LEDS_CLASS help This driver provides support for the "Mobile Data Protection System 3D" or "3D DriveGuard" feature of HP laptops. On such systems the driver should load automatically (via ACPI alias). Support for a led indicating disk protection will be provided as hp::hddprotect. For more information on the feature, refer to Documentation/misc-devices/lis3lv02d.rst. To compile this driver as a module, choose M here: the module will be called hp_accel. config HP_WIRELESS tristate "HP wireless button" depends on ACPI depends on INPUT help This driver provides supports for new HP wireless button for Windows 8. On such systems the driver should load automatically (via ACPI alias). To compile this driver as a module, choose M here: the module will be called hp-wireless. config HP_WMI tristate "HP WMI extras" depends on ACPI_WMI depends on INPUT depends on RFKILL || RFKILL = n select INPUT_SPARSEKMAP help Say Y here if you want to support WMI-based hotkeys on HP laptops and to read data from WMI such as docking or ambient light sensor state. To compile this driver as a module, choose M here: the module will be called hp-wmi. config LG_LAPTOP tristate "LG Laptop Extras" depends on ACPI depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP select LEDS_CLASS help This driver adds support for hotkeys as well as control of keyboard backlight, battery maximum charge level and various other ACPI features. If you have an LG Gram laptop, say Y or M here. config MSI_LAPTOP tristate "MSI Laptop Extras" depends on ACPI depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n depends on RFKILL depends on INPUT && SERIO_I8042 select INPUT_SPARSEKMAP ---help--- This is a driver for laptops built by MSI (MICRO-STAR INTERNATIONAL): MSI MegaBook S270 (MS-1013) Cytron/TCM/Medion/Tchibo MD96100/SAM2000 It adds support for Bluetooth, WLAN and LCD brightness control. More information about this driver is available at <http://0pointer.de/lennart/tchibo.html>. If you have an MSI S270 laptop, say Y or M here. config PANASONIC_LAPTOP tristate "Panasonic Laptop Extras" depends on INPUT && ACPI depends on BACKLIGHT_CLASS_DEVICE select INPUT_SPARSEKMAP ---help--- This driver adds support for access to backlight control and hotkeys on Panasonic Let's Note laptops. If you have a Panasonic Let's note laptop (such as the R1(N variant), R2, R3, R5, T2, W2 and Y2 series), say Y. config COMPAL_LAPTOP tristate "Compal (and others) Laptop Extras" depends on ACPI depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n depends on RFKILL depends on HWMON depends on POWER_SUPPLY ---help--- This is a driver for laptops built by Compal, and some models by other brands (e.g. Dell, Toshiba). It adds support for rfkill, Bluetooth, WLAN, LCD brightness, hwmon and battery charging level control. config SONY_LAPTOP tristate "Sony Laptop Extras" depends on ACPI depends on ACPI_VIDEO || ACPI_VIDEO = n depends on BACKLIGHT_CLASS_DEVICE depends on INPUT depends on RFKILL ---help--- This mini-driver drives the SNC and SPIC devices present in the ACPI BIOS of the Sony Vaio laptops. It gives access to some extra laptop functionalities like Bluetooth, screen brightness control, Fn keys and allows powering on/off some devices. Read <file:Documentation/admin-guide/laptops/sony-laptop.rst> for more information. config SONYPI_COMPAT bool "Sonypi compatibility" depends on SONY_LAPTOP ---help--- Build the sonypi driver compatibility code into the sony-laptop driver. config IDEAPAD_LAPTOP tristate "Lenovo IdeaPad Laptop Extras" depends on ACPI depends on RFKILL && INPUT depends on SERIO_I8042 depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n depends on ACPI_WMI || ACPI_WMI = n select INPUT_SPARSEKMAP help This is a driver for Lenovo IdeaPad netbooks contains drivers for rfkill switch, hotkey, fan control and backlight control. config SURFACE3_WMI tristate "Surface 3 WMI Driver" depends on ACPI_WMI depends on DMI depends on INPUT depends on SPI ---help--- Say Y here if you have a Surface 3. To compile this driver as a module, choose M here: the module will be called surface3-wmi. config THINKPAD_ACPI tristate "ThinkPad ACPI Laptop Extras" depends on ACPI depends on ACPI_BATTERY depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on BACKLIGHT_CLASS_DEVICE select HWMON select NVRAM select NEW_LEDS select LEDS_CLASS select LEDS_TRIGGERS select LEDS_TRIGGER_AUDIO ---help--- This is a driver for the IBM and Lenovo ThinkPad laptops. It adds support for Fn-Fx key combinations, Bluetooth control, video output switching, ThinkLight control, UltraBay eject and more. For more information about this driver see <file:Documentation/admin-guide/laptops/thinkpad-acpi.rst> and <http://ibm-acpi.sf.net/> . This driver was formerly known as ibm-acpi. Extra functionality will be available if the rfkill (CONFIG_RFKILL) and/or ALSA (CONFIG_SND) subsystems are available in the kernel. Note that if you want ThinkPad-ACPI to be built-in instead of modular, ALSA and rfkill will also have to be built-in. If you have an IBM or Lenovo ThinkPad laptop, say Y or M here. config THINKPAD_ACPI_ALSA_SUPPORT bool "Console audio control ALSA interface" depends on THINKPAD_ACPI depends on SND depends on SND = y || THINKPAD_ACPI = SND default y ---help--- Enables monitoring of the built-in console audio output control (headphone and speakers), which is operated by the mute and (in some ThinkPad models) volume hotkeys. If this option is enabled, ThinkPad-ACPI will export an ALSA card with a single read-only mixer control, which should be used for on-screen-display feedback purposes by the Desktop Environment. Optionally, the driver will also allow software control (the ALSA mixer will be made read-write). Please refer to the driver documentation for details. All IBM models have both volume and mute control. Newer Lenovo models only have mute control (the volume hotkeys are just normal keys and volume control is done through the main HDA mixer). config THINKPAD_ACPI_DEBUGFACILITIES bool "Maintainer debug facilities" depends on THINKPAD_ACPI ---help--- Enables extra stuff in the thinkpad-acpi which is completely useless for normal use. Read the driver source to find out what it does. Say N here, unless you were told by a kernel maintainer to do otherwise. config THINKPAD_ACPI_DEBUG bool "Verbose debug mode" depends on THINKPAD_ACPI ---help--- Enables extra debugging information, at the expense of a slightly increase in driver size. If you are not sure, say N here. config THINKPAD_ACPI_UNSAFE_LEDS bool "Allow control of important LEDs (unsafe)" depends on THINKPAD_ACPI ---help--- Overriding LED state on ThinkPads can mask important firmware alerts (like critical battery condition), or misled the user into damaging the hardware (undocking or ejecting the bay while buses are still active), etc. LED control on the ThinkPad is write-only (with very few exceptions on very ancient models), which makes it impossible to know beforehand if important information will be lost when one changes LED state. Users that know what they are doing can enable this option and the driver will allow control of every LED, including the ones on the dock stations. Never enable this option on a distribution kernel. Say N here, unless you are building a kernel for your own use, and need to control the important firmware LEDs. config THINKPAD_ACPI_VIDEO bool "Video output control support" depends on THINKPAD_ACPI default y ---help--- Allows the thinkpad_acpi driver to provide an interface to control the various video output ports. This feature often won't work well, depending on ThinkPad model, display state, video output devices in use, whether there is a X server running, phase of the moon, and the current mood of Schroedinger's cat. If you can use X.org's RandR to control your ThinkPad's video output ports instead of this feature, don't think twice: do it and say N here to save memory and avoid bad interactions with X.org. NOTE: access to this feature is limited to processes with the CAP_SYS_ADMIN capability, to avoid local DoS issues in platforms where it interacts badly with X.org. If you are not sure, say Y here but do try to check if you could be using X.org RandR instead. config THINKPAD_ACPI_HOTKEY_POLL bool "Support NVRAM polling for hot keys" depends on THINKPAD_ACPI default y ---help--- Some thinkpad models benefit from NVRAM polling to detect a few of the hot key press events. If you know your ThinkPad model does not need to do NVRAM polling to support any of the hot keys you use, unselecting this option will save about 1kB of memory. ThinkPads T40 and newer, R52 and newer, and X31 and newer are unlikely to need NVRAM polling in their latest BIOS versions. NVRAM polling can detect at most the following keys: ThinkPad/Access IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute, Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12). If you are not sure, say Y here. The driver enables polling only if it is strictly necessary to do so. config SENSORS_HDAPS tristate "Thinkpad Hard Drive Active Protection System (hdaps)" depends on INPUT select INPUT_POLLDEV help This driver provides support for the IBM Hard Drive Active Protection System (hdaps), which provides an accelerometer and other misc. data. ThinkPads starting with the R50, T41, and X40 are supported. The accelerometer data is readable via sysfs. This driver also provides an absolute input class device, allowing the laptop to act as a pinball machine-esque joystick. If your ThinkPad is not recognized by the driver, please update to latest BIOS. This is especially the case for some R52 ThinkPads. Say Y here if you have an applicable laptop and want to experience the awesome power of hdaps. config INTEL_MENLOW tristate "Thermal Management driver for Intel menlow platform" depends on ACPI_THERMAL select THERMAL ---help--- ACPI thermal management enhancement driver on Intel Menlow platform. If unsure, say N. config EEEPC_LAPTOP tristate "Eee PC Hotkey Driver" depends on ACPI depends on INPUT depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on HOTPLUG_PCI depends on BACKLIGHT_CLASS_DEVICE select HWMON select LEDS_CLASS select NEW_LEDS select INPUT_SPARSEKMAP ---help--- This driver supports the Fn-Fx keys on Eee PC laptops. It also gives access to some extra laptop functionalities like Bluetooth, backlight and allows powering on/off some other devices. If you have an Eee PC laptop, say Y or M here. If this driver doesn't work on your Eee PC, try eeepc-wmi instead. config ASUS_WMI tristate "ASUS WMI Driver" depends on ACPI_WMI depends on ACPI_BATTERY depends on INPUT depends on HWMON depends on BACKLIGHT_CLASS_DEVICE depends on RFKILL || RFKILL = n depends on HOTPLUG_PCI depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP select LEDS_CLASS select NEW_LEDS ---help--- Say Y here if you have a WMI aware Asus laptop (like Eee PCs or new Asus Notebooks). To compile this driver as a module, choose M here: the module will be called asus-wmi. config ASUS_NB_WMI tristate "Asus Notebook WMI Driver" depends on ASUS_WMI depends on SERIO_I8042 || SERIO_I8042 = n ---help--- This is a driver for newer Asus notebooks. It adds extra features like wireless radio and bluetooth control, leds, hotkeys, backlight... For more information, see <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> If you have an ACPI-WMI compatible Asus Notebook, say Y or M here. config EEEPC_WMI tristate "Eee PC WMI Driver" depends on ASUS_WMI ---help--- This is a driver for newer Eee PC laptops. It adds extra features like wireless radio and bluetooth control, leds, hotkeys, backlight... For more information, see <file:Documentation/ABI/testing/sysfs-platform-asus-wmi> If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M here. config ASUS_WIRELESS tristate "Asus Wireless Radio Control Driver" depends on ACPI depends on INPUT select NEW_LEDS select LEDS_CLASS ---help--- The Asus Wireless Radio Control handles the airplane mode hotkey present on some Asus laptops. Say Y or M here if you have an ASUS notebook with an airplane mode hotkey. If you choose to compile this driver as a module the module will be called asus-wireless. config ACPI_WMI tristate "WMI" depends on ACPI help This driver adds support for the ACPI-WMI (Windows Management Instrumentation) mapper device (PNP0C14) found on some systems. ACPI-WMI is a proprietary extension to ACPI to expose parts of the ACPI firmware to userspace - this is done through various vendor defined methods and data blocks in a PNP0C14 device, which are then made available for userspace to call. The implementation of this in Linux currently only exposes this to other kernel space drivers. This driver is a required dependency to build the firmware specific drivers needed on many machines, including Acer and HP laptops. It is safe to enable this driver even if your DSDT doesn't define any ACPI-WMI devices. config WMI_BMOF tristate "WMI embedded Binary MOF driver" depends on ACPI_WMI default ACPI_WMI ---help--- Say Y here if you want to be able to read a firmware-embedded WMI Binary MOF data. Using this requires userspace tools and may be rather tedious. To compile this driver as a module, choose M here: the module will be called wmi-bmof. config INTEL_WMI_THUNDERBOLT tristate "Intel WMI thunderbolt force power driver" depends on ACPI_WMI ---help--- Say Y here if you want to be able to use the WMI interface on select systems to force the power control of Intel Thunderbolt controllers. This is useful for updating the firmware when devices are not plugged into the controller. To compile this driver as a module, choose M here: the module will be called intel-wmi-thunderbolt. config XIAOMI_WMI tristate "Xiaomi WMI key driver" depends on ACPI_WMI depends on INPUT help Say Y here if you want to support WMI-based keys on Xiaomi notebooks. To compile this driver as a module, choose M here: the module will be called xiaomi-wmi. config MSI_WMI tristate "MSI WMI extras" depends on ACPI_WMI depends on INPUT depends on BACKLIGHT_CLASS_DEVICE depends on ACPI_VIDEO || ACPI_VIDEO = n select INPUT_SPARSEKMAP help Say Y here if you want to support WMI-based hotkeys on MSI laptops. To compile this driver as a module, choose M here: the module will be called msi-wmi. config PEAQ_WMI tristate "PEAQ 2-in-1 WMI hotkey driver" depends on ACPI_WMI depends on INPUT help Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s. config TOPSTAR_LAPTOP tristate "Topstar Laptop Extras" depends on ACPI depends on INPUT select INPUT_SPARSEKMAP select LEDS_CLASS select NEW_LEDS ---help--- This driver adds support for hotkeys found on Topstar laptops. If you have a Topstar laptop, say Y or M here. config ACPI_TOSHIBA tristate "Toshiba Laptop Extras" depends on ACPI depends on ACPI_WMI select LEDS_CLASS select NEW_LEDS depends on BACKLIGHT_CLASS_DEVICE depends on INPUT depends on SERIO_I8042 || SERIO_I8042 = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on RFKILL || RFKILL = n depends on IIO select INPUT_POLLDEV select INPUT_SPARSEKMAP ---help--- This driver adds support for access to certain system settings on "legacy free" Toshiba laptops. These laptops can be recognized by their lack of a BIOS setup menu and APM support. On these machines, all system configuration is handled through the ACPI. This driver is required for access to controls not covered by the general ACPI drivers, such as LCD brightness, video output, etc. This driver differs from the non-ACPI Toshiba laptop driver (located under "Processor type and features") in several aspects. Configuration is accessed by reading and writing text files in the /proc tree instead of by program interface to /dev. Furthermore, no power management functions are exposed, as those are handled by the general ACPI drivers. More information about this driver is available at <http://memebeam.org/toys/ToshibaAcpiDriver>. If you have a legacy free Toshiba laptop (such as the Libretto L1 series), say Y. config TOSHIBA_BT_RFKILL tristate "Toshiba Bluetooth RFKill switch support" depends on ACPI depends on RFKILL || RFKILL = n ---help--- This driver adds support for Bluetooth events for the RFKill switch on modern Toshiba laptops with full ACPI support and an RFKill switch. This driver handles RFKill events for the TOS6205 Bluetooth, and re-enables it when the switch is set back to the 'on' position. If you have a modern Toshiba laptop with a Bluetooth and an RFKill switch (such as the Portege R500), say Y. config TOSHIBA_HAPS tristate "Toshiba HDD Active Protection Sensor" depends on ACPI ---help--- This driver adds support for the built-in accelerometer found on recent Toshiba laptops equipped with HID TOS620A device. This driver receives ACPI notify events 0x80 when the sensor detects a sudden move or a harsh vibration, as well as an ACPI notify event 0x81 whenever the movement or vibration has been stabilized. Also provides sysfs entries to get/set the desired protection level and resetting the HDD protection interface. If you have a recent Toshiba laptop with a built-in accelerometer device, say Y. config TOSHIBA_WMI tristate "Toshiba WMI Hotkeys Driver (EXPERIMENTAL)" depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP ---help--- This driver adds hotkey monitoring support to some Toshiba models that manage the hotkeys via WMI events. WARNING: This driver is incomplete as it lacks a proper keymap and the *notify function only prints the ACPI event type value. Be warned that you will need to provide some information if you have a Toshiba model with WMI event hotkeys and want to help with the development of this driver. If you have a WMI-based hotkeys Toshiba laptop, say Y or M here. config ACPI_CMPC tristate "CMPC Laptop Extras" depends on ACPI && INPUT depends on RFKILL || RFKILL=n select BACKLIGHT_CLASS_DEVICE help Support for Intel Classmate PC ACPI devices, including some keys as input device, backlight device, tablet and accelerometer devices. config INTEL_CHT_INT33FE tristate "Intel Cherry Trail ACPI INT33FE Driver" depends on X86 && ACPI && I2C && REGULATOR depends on CHARGER_BQ24190=y || (CHARGER_BQ24190=m && m) depends on USB_ROLES_INTEL_XHCI=y || (USB_ROLES_INTEL_XHCI=m && m) depends on TYPEC_MUX_PI3USB30532=y || (TYPEC_MUX_PI3USB30532=m && m) ---help--- This driver add support for the INT33FE ACPI device found on some Intel Cherry Trail devices. The INT33FE ACPI device has a CRS table with I2cSerialBusV2 resources for 3 devices: Maxim MAX17047 Fuel Gauge Controller, FUSB302 USB Type-C Controller and PI3USB30532 USB switch. This driver instantiates i2c-clients for these, so that standard i2c drivers for these chips can bind to the them. If you enable this driver it is advised to also select CONFIG_TYPEC_FUSB302=m and CONFIG_BATTERY_MAX17042=m. config INTEL_INT0002_VGPIO tristate "Intel ACPI INT0002 Virtual GPIO driver" depends on GPIOLIB && ACPI select GPIOLIB_IRQCHIP ---help--- Some peripherals on Bay Trail and Cherry Trail platforms signal a Power Management Event (PME) to the Power Management Controller (PMC) to wakeup the system. When this happens software needs to explicitly clear the PME bus 0 status bit in the GPE0a_STS register to avoid an IRQ storm on IRQ 9. This is modelled in ACPI through the INT0002 ACPI device, which is called a "Virtual GPIO controller" in ACPI because it defines the event handler to call when the PME triggers through _AEI and _L02 methods as would be done for a real GPIO interrupt in ACPI. To compile this driver as a module, choose M here: the module will be called intel_int0002_vgpio. config INTEL_HID_EVENT tristate "INTEL HID Event" depends on ACPI depends on INPUT select INPUT_SPARSEKMAP help This driver provides support for the Intel HID Event hotkey interface. Some laptops require this driver for hotkey support. To compile this driver as a module, choose M here: the module will be called intel_hid. config INTEL_VBTN tristate "INTEL VIRTUAL BUTTON" depends on ACPI depends on INPUT select INPUT_SPARSEKMAP help This driver provides support for the Intel Virtual Button interface. Some laptops require this driver for power button support. To compile this driver as a module, choose M here: the module will be called intel_vbtn. config INTEL_SCU_IPC bool "Intel SCU IPC Support" depends on X86_INTEL_MID default y ---help--- IPC is used to bridge the communications between kernel and SCU on some embedded Intel x86 platforms. This is not needed for PC-type machines. config INTEL_SCU_IPC_UTIL tristate "Intel SCU IPC utility driver" depends on INTEL_SCU_IPC default y ---help--- The IPC Util driver provides an interface with the SCU enabling low level access for debug work and updating the firmware. Say N unless you will be doing this on an Intel MID platform. config INTEL_MID_POWER_BUTTON tristate "power button driver for Intel MID platforms" depends on INTEL_SCU_IPC && INPUT help This driver handles the power button on the Intel MID platforms. If unsure, say N. config INTEL_MFLD_THERMAL tristate "Thermal driver for Intel Medfield platform" depends on MFD_INTEL_MSIC && THERMAL help Say Y here to enable thermal driver support for the Intel Medfield platform. config INTEL_IPS tristate "Intel Intelligent Power Sharing" depends on ACPI && PCI ---help--- Intel Calpella platforms support dynamic power sharing between the CPU and GPU, maximizing performance in a given TDP. This driver, along with the CPU frequency and i915 drivers, provides that functionality. If in doubt, say Y here; it will only load on supported platforms. config INTEL_IMR bool "Intel Isolated Memory Region support" depends on X86_INTEL_QUARK && IOSF_MBI ---help--- This option provides a means to manipulate Isolated Memory Regions. IMRs are a set of registers that define read and write access masks to prohibit certain system agents from accessing memory with 1 KiB granularity. IMRs make it possible to control read/write access to an address by hardware agents inside the SoC. Read and write masks can be defined for: - eSRAM flush - Dirty CPU snoop (write only) - RMU access - PCI Virtual Channel 0/Virtual Channel 1 - SMM mode - Non SMM mode Quark contains a set of eight IMR registers and makes use of those registers during its bootup process. If you are running on a Galileo/Quark say Y here. config INTEL_PMC_CORE tristate "Intel PMC Core driver" depends on PCI ---help--- The Intel Platform Controller Hub for Intel Core SoCs provides access to Power Management Controller registers via a PCI interface. This driver can utilize debugging capabilities and supported features as exposed by the Power Management Controller. Supported features: - SLP_S0_RESIDENCY counter - PCH IP Power Gating status - LTR Ignore - MPHY/PLL gating status (Sunrisepoint PCH only) config IBM_RTL tristate "Device driver to enable PRTL support" depends on PCI ---help--- Enable support for IBM Premium Real Time Mode (PRTM). This module will allow you the enter and exit PRTM in the BIOS via sysfs on platforms that support this feature. System in PRTM will not receive CPU-generated SMIs for recoverable errors. Use of this feature without proper support may void your hardware warranty. If the proper BIOS support is found the driver will load and create /sys/devices/system/ibm_rtl/. The "state" variable will indicate whether or not the BIOS is in PRTM. state = 0 (BIOS SMIs on) state = 1 (BIOS SMIs off) config XO1_RFKILL tristate "OLPC XO-1 software RF kill switch" depends on OLPC || COMPILE_TEST depends on RFKILL ---help--- Support for enabling/disabling the WLAN interface on the OLPC XO-1 laptop. config XO15_EBOOK tristate "OLPC XO-1.5 ebook switch" depends on OLPC || COMPILE_TEST depends on ACPI && INPUT ---help--- Support for the ebook switch on the OLPC XO-1.5 laptop. This switch is triggered as the screen is rotated and folded down to convert the device into ebook form. config SAMSUNG_LAPTOP tristate "Samsung Laptop driver" depends on RFKILL || RFKILL = n depends on ACPI_VIDEO || ACPI_VIDEO = n depends on BACKLIGHT_CLASS_DEVICE select LEDS_CLASS select NEW_LEDS ---help--- This module implements a driver for a wide range of different Samsung laptops. It offers control over the different function keys, wireless LED, LCD backlight level. It may also provide some sysfs files described in <file:Documentation/ABI/testing/sysfs-driver-samsung-laptop> To compile this driver as a module, choose M here: the module will be called samsung-laptop. config MXM_WMI tristate "WMI support for MXM Laptop Graphics" depends on ACPI_WMI ---help--- MXM is a standard for laptop graphics cards, the WMI interface is required for switchable nvidia graphics machines config INTEL_OAKTRAIL tristate "Intel Oaktrail Platform Extras" depends on ACPI depends on ACPI_VIDEO || ACPI_VIDEO = n depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI ---help--- Intel Oaktrail platform need this driver to provide interfaces to enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y here; it will only load on supported platforms. config SAMSUNG_Q10 tristate "Samsung Q10 Extras" depends on ACPI select BACKLIGHT_CLASS_DEVICE ---help--- This driver provides support for backlight control on Samsung Q10 and related laptops, including Dell Latitude X200. config APPLE_GMUX tristate "Apple Gmux Driver" depends on ACPI && PCI depends on PNP depends on BACKLIGHT_CLASS_DEVICE depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE depends on ACPI_VIDEO=n || ACPI_VIDEO ---help--- This driver provides support for the gmux device found on many Apple laptops, which controls the display mux for the hybrid graphics as well as the backlight. Currently only backlight control is supported by the driver. config INTEL_RST tristate "Intel Rapid Start Technology Driver" depends on ACPI ---help--- This driver provides support for modifying paramaters on systems equipped with Intel's Rapid Start Technology. When put in an ACPI sleep state, these devices will wake after either a configured timeout or when the system battery reaches a critical state, automatically copying memory contents to disk. On resume, the firmware will copy the memory contents back to RAM and resume the OS as usual. config INTEL_SMARTCONNECT tristate "Intel Smart Connect disabling driver" depends on ACPI ---help--- Intel Smart Connect is a technology intended to permit devices to update state by resuming for a short period of time at regular intervals. If a user enables this functionality under Windows and then reboots into Linux, the system may remain configured to resume on suspend. In the absence of any userspace to support it, the system will then remain awake until something triggers another suspend. This driver checks to determine whether the device has Intel Smart Connect enabled, and if so disables it. config INTEL_PMC_IPC tristate "Intel PMC IPC Driver" depends on ACPI && PCI ---help--- This driver provides support for PMC control on some Intel platforms. The PMC is an ARC processor which defines IPC commands for communication with other entities in the CPU. config INTEL_BXTWC_PMIC_TMU tristate "Intel BXT Whiskey Cove TMU Driver" depends on REGMAP depends on INTEL_SOC_PMIC_BXTWC && INTEL_PMC_IPC ---help--- Select this driver to use Intel BXT Whiskey Cove PMIC TMU feature. This driver enables the alarm wakeup functionality in the TMU unit of Whiskey Cove PMIC. config SURFACE_PRO3_BUTTON tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 tablet" depends on ACPI && INPUT ---help--- This driver handles the power/home/volume buttons on the Microsoft Surface Pro 3/4 tablet. config SURFACE_3_BUTTON tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet" depends on ACPI && KEYBOARD_GPIO && I2C ---help--- This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet. config INTEL_PUNIT_IPC tristate "Intel P-Unit IPC Driver" ---help--- This driver provides support for Intel P-Unit Mailbox IPC mechanism, which is used to bridge the communications between kernel and P-Unit. config INTEL_TELEMETRY tristate "Intel SoC Telemetry Driver" depends on INTEL_PMC_IPC && INTEL_PUNIT_IPC && X86_64 ---help--- This driver provides interfaces to configure and use telemetry for INTEL SoC from APL onwards. It is also used to get various SoC events and parameters directly via debugfs files. Various tools may use this interface for SoC state monitoring. config MLX_PLATFORM tristate "Mellanox Technologies platform support" depends on I2C && REGMAP ---help--- This option enables system support for the Mellanox Technologies platform. The Mellanox systems provide data center networking solutions based on Virtual Protocol Interconnect (VPI) technology enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE connection. If you have a Mellanox system, say Y or M here. config INTEL_TURBO_MAX_3 bool "Intel Turbo Boost Max Technology 3.0 enumeration driver" depends on X86_64 && SCHED_MC_PRIO ---help--- This driver reads maximum performance ratio of each CPU and set up the scheduler priority metrics. In this way scheduler can prefer CPU with higher performance to schedule tasks. This driver is only required when the system is not using Hardware P-States (HWP). In HWP mode, priority can be read from ACPI tables. config TOUCHSCREEN_DMI bool "DMI based touchscreen configuration info" depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD ---help--- Certain ACPI based tablets with e.g. Silead or Chipone touchscreens do not have enough data in ACPI tables for the touchscreen driver to handle the touchscreen properly, as OEMs expect the data to be baked into the tablet model specific version of the driver shipped with the the OS-image for the device. This option supplies the missing info. Enable this for x86 tablets with Silead or Chipone touchscreens. config INTEL_CHTDC_TI_PWRBTN tristate "Intel Cherry Trail Dollar Cove TI power button driver" depends on INTEL_SOC_PMIC_CHTDC_TI depends on INPUT ---help--- This option adds a power button driver driver for Dollar Cove TI PMIC on Intel Cherry Trail devices. To compile this driver as a module, choose M here: the module will be called intel_chtdc_ti_pwrbtn. config INTEL_MRFLD_PWRBTN tristate "Intel Merrifield Basin Cove power button driver" depends on INTEL_SOC_PMIC_MRFLD depends on INPUT ---help--- This option adds a power button driver for Basin Cove PMIC on Intel Merrifield devices. To compile this driver as a module, choose M here: the module will be called intel_mrfld_pwrbtn. config I2C_MULTI_INSTANTIATE tristate "I2C multi instantiate pseudo device driver" depends on I2C && ACPI help Some ACPI-based systems list multiple i2c-devices in a single ACPI firmware-node. This driver will instantiate separate i2c-clients for each device in the firmware-node. To compile this driver as a module, choose M here: the module will be called i2c-multi-instantiate. config INTEL_ATOMISP2_PM tristate "Intel AtomISP2 dummy / power-management driver" depends on PCI && IOSF_MBI && PM help Power-management driver for Intel's Image Signal Processor found on Bay and Cherry Trail devices. This dummy driver's sole purpose is to turn the ISP off (put it in D3) to save power and to allow entering of S0ix modes. To compile this driver as a module, choose M here: the module will be called intel_atomisp2_pm. config HUAWEI_WMI tristate "Huawei WMI hotkeys driver" depends on ACPI_WMI depends on INPUT select INPUT_SPARSEKMAP select LEDS_CLASS select LEDS_TRIGGERS select LEDS_TRIGGER_AUDIO select NEW_LEDS help This driver provides support for Huawei WMI hotkeys. It enables the missing keys and adds support to the micmute LED found on some of these laptops. To compile this driver as a module, choose M here: the module will be called huawei-wmi. config PCENGINES_APU2 tristate "PC Engines APUv2/3 front button and LEDs driver" depends on INPUT && INPUT_KEYBOARD && GPIOLIB depends on LEDS_CLASS select GPIO_AMD_FCH select KEYBOARD_GPIO_POLLED select LEDS_GPIO help This driver provides support for the front button and LEDs on PC Engines APUv2/APUv3 board. To compile this driver as a module, choose M here: the module will be called pcengines-apuv2. source "drivers/platform/x86/intel_speed_select_if/Kconfig" endif # X86_PLATFORM_DEVICES config PMC_ATOM def_bool y depends on PCI select COMMON_CLK platform/x86/Makefile 0000644 00000010742 14722053666 0010474 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for linux/drivers/platform/x86 # x86 Platform-Specific Drivers # obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o obj-$(CONFIG_ASUS_WMI) += asus-wmi.o obj-$(CONFIG_ASUS_NB_WMI) += asus-nb-wmi.o obj-$(CONFIG_ASUS_WIRELESS) += asus-wireless.o obj-$(CONFIG_EEEPC_LAPTOP) += eeepc-laptop.o obj-$(CONFIG_EEEPC_WMI) += eeepc-wmi.o obj-$(CONFIG_LG_LAPTOP) += lg-laptop.o obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o obj-$(CONFIG_ACPI_CMPC) += classmate-laptop.o obj-$(CONFIG_COMPAL_LAPTOP) += compal-laptop.o obj-$(CONFIG_DCDBAS) += dcdbas.o obj-$(CONFIG_DELL_SMBIOS) += dell-smbios.o dell-smbios-objs := dell-smbios-base.o dell-smbios-$(CONFIG_DELL_SMBIOS_WMI) += dell-smbios-wmi.o dell-smbios-$(CONFIG_DELL_SMBIOS_SMM) += dell-smbios-smm.o obj-$(CONFIG_DELL_LAPTOP) += dell-laptop.o obj-$(CONFIG_DELL_WMI) += dell-wmi.o obj-$(CONFIG_DELL_WMI_DESCRIPTOR) += dell-wmi-descriptor.o obj-$(CONFIG_DELL_WMI_AIO) += dell-wmi-aio.o obj-$(CONFIG_DELL_WMI_LED) += dell-wmi-led.o obj-$(CONFIG_DELL_SMO8800) += dell-smo8800.o obj-$(CONFIG_DELL_RBTN) += dell-rbtn.o obj-$(CONFIG_DELL_RBU) += dell_rbu.o obj-$(CONFIG_DELL_UART_BACKLIGHT) += dell-uart-backlight.o obj-$(CONFIG_ACER_WMI) += acer-wmi.o obj-$(CONFIG_ACER_WIRELESS) += acer-wireless.o obj-$(CONFIG_ACERHDF) += acerhdf.o obj-$(CONFIG_HP_ACCEL) += hp_accel.o obj-$(CONFIG_HP_WIRELESS) += hp-wireless.o obj-$(CONFIG_HP_WMI) += hp-wmi.o obj-$(CONFIG_HUAWEI_WMI) += huawei-wmi.o obj-$(CONFIG_AMILO_RFKILL) += amilo-rfkill.o obj-$(CONFIG_GPD_POCKET_FAN) += gpd-pocket-fan.o obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o obj-$(CONFIG_SONY_LAPTOP) += sony-laptop.o obj-$(CONFIG_IDEAPAD_LAPTOP) += ideapad-laptop.o obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o obj-$(CONFIG_SENSORS_HDAPS) += hdaps.o obj-$(CONFIG_FUJITSU_LAPTOP) += fujitsu-laptop.o obj-$(CONFIG_FUJITSU_TABLET) += fujitsu-tablet.o obj-$(CONFIG_PANASONIC_LAPTOP) += panasonic-laptop.o obj-$(CONFIG_INTEL_MENLOW) += intel_menlow.o obj-$(CONFIG_ACPI_WMI) += wmi.o obj-$(CONFIG_MSI_WMI) += msi-wmi.o obj-$(CONFIG_PEAQ_WMI) += peaq-wmi.o obj-$(CONFIG_SURFACE3_WMI) += surface3-wmi.o obj-$(CONFIG_TOPSTAR_LAPTOP) += topstar-laptop.o obj-$(CONFIG_WMI_BMOF) += wmi-bmof.o obj-$(CONFIG_INTEL_WMI_THUNDERBOLT) += intel-wmi-thunderbolt.o obj-$(CONFIG_XIAOMI_WMI) += xiaomi-wmi.o # toshiba_acpi must link after wmi to ensure that wmi devices are found # before toshiba_acpi initializes obj-$(CONFIG_ACPI_TOSHIBA) += toshiba_acpi.o obj-$(CONFIG_TOSHIBA_BT_RFKILL) += toshiba_bluetooth.o obj-$(CONFIG_TOSHIBA_HAPS) += toshiba_haps.o obj-$(CONFIG_TOSHIBA_WMI) += toshiba-wmi.o obj-$(CONFIG_INTEL_CHT_INT33FE) += intel_cht_int33fe.o obj-$(CONFIG_INTEL_INT0002_VGPIO) += intel_int0002_vgpio.o obj-$(CONFIG_INTEL_HID_EVENT) += intel-hid.o obj-$(CONFIG_INTEL_VBTN) += intel-vbtn.o obj-$(CONFIG_INTEL_SCU_IPC) += intel_scu_ipc.o obj-$(CONFIG_INTEL_SCU_IPC_UTIL) += intel_scu_ipcutil.o obj-$(CONFIG_INTEL_MFLD_THERMAL) += intel_mid_thermal.o obj-$(CONFIG_INTEL_IPS) += intel_ips.o obj-$(CONFIG_XO1_RFKILL) += xo1-rfkill.o obj-$(CONFIG_XO15_EBOOK) += xo15-ebook.o obj-$(CONFIG_IBM_RTL) += ibm_rtl.o obj-$(CONFIG_SAMSUNG_LAPTOP) += samsung-laptop.o obj-$(CONFIG_MXM_WMI) += mxm-wmi.o obj-$(CONFIG_INTEL_MID_POWER_BUTTON) += intel_mid_powerbtn.o obj-$(CONFIG_INTEL_OAKTRAIL) += intel_oaktrail.o obj-$(CONFIG_SAMSUNG_Q10) += samsung-q10.o obj-$(CONFIG_APPLE_GMUX) += apple-gmux.o obj-$(CONFIG_INTEL_RST) += intel-rst.o obj-$(CONFIG_INTEL_SMARTCONNECT) += intel-smartconnect.o obj-$(CONFIG_ALIENWARE_WMI) += alienware-wmi.o obj-$(CONFIG_INTEL_PMC_IPC) += intel_pmc_ipc.o obj-$(CONFIG_TOUCHSCREEN_DMI) += touchscreen_dmi.o obj-$(CONFIG_SURFACE_PRO3_BUTTON) += surfacepro3_button.o obj-$(CONFIG_SURFACE_3_BUTTON) += surface3_button.o obj-$(CONFIG_INTEL_PUNIT_IPC) += intel_punit_ipc.o obj-$(CONFIG_INTEL_BXTWC_PMIC_TMU) += intel_bxtwc_tmu.o obj-$(CONFIG_INTEL_TELEMETRY) += intel_telemetry_core.o \ intel_telemetry_pltdrv.o \ intel_telemetry_debugfs.o obj-$(CONFIG_INTEL_PMC_CORE) += intel_pmc_core.o intel_pmc_core_pltdrv.o obj-$(CONFIG_PMC_ATOM) += pmc_atom.o obj-$(CONFIG_MLX_PLATFORM) += mlx-platform.o obj-$(CONFIG_INTEL_TURBO_MAX_3) += intel_turbo_max_3.o obj-$(CONFIG_INTEL_CHTDC_TI_PWRBTN) += intel_chtdc_ti_pwrbtn.o obj-$(CONFIG_INTEL_MRFLD_PWRBTN) += intel_mrfld_pwrbtn.o obj-$(CONFIG_I2C_MULTI_INSTANTIATE) += i2c-multi-instantiate.o obj-$(CONFIG_INTEL_ATOMISP2_PM) += intel_atomisp2_pm.o obj-$(CONFIG_PCENGINES_APU2) += pcengines-apuv2.o obj-$(CONFIG_INTEL_SPEED_SELECT_INTERFACE) += intel_speed_select_if/ platform/olpc/Kconfig 0000644 00000001425 14722053666 0010645 0 ustar 00 config OLPC_EC select REGULATOR bool menuconfig OLPC_XO175 bool "Platform support for OLPC XO 1.75 hardware" depends on ARCH_MMP || COMPILE_TEST help Say Y here to get to see options for the ARM-based OLPC platform. This option alone does not add any kernel code. Unless you have an OLPC XO laptop, you will want to say N. if OLPC_XO175 config OLPC_XO175_EC tristate "OLPC XO 1.75 Embedded Controller" depends on SPI_SLAVE depends on INPUT depends on POWER_SUPPLY select OLPC_EC help Include support for the OLPC XO Embedded Controller (EC). The EC provides various platform services, including support for the power, button, restart, shutdown and battery charging status. Unless you have an OLPC XO laptop, you will want to say N. endif # OLPC_XO175 platform/olpc/Makefile 0000644 00000000243 14722053666 0010777 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # OLPC XO platform-specific drivers # obj-$(CONFIG_OLPC_EC) += olpc-ec.o obj-$(CONFIG_OLPC_XO175_EC) += olpc-xo175-ec.o platform/Makefile 0000644 00000000442 14722053666 0010043 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for linux/drivers/platform # obj-$(CONFIG_X86) += x86/ obj-$(CONFIG_MELLANOX_PLATFORM) += mellanox/ obj-$(CONFIG_MIPS) += mips/ obj-$(CONFIG_OLPC_EC) += olpc/ obj-$(CONFIG_GOLDFISH) += goldfish/ obj-$(CONFIG_CHROME_PLATFORMS) += chrome/ platform/goldfish/Kconfig 0000644 00000001142 14722053666 0011503 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig GOLDFISH bool "Platform support for Goldfish virtual devices" depends on X86_32 || X86_64 || ARM || ARM64 || MIPS depends on HAS_IOMEM help Say Y here to get to see options for the Goldfish virtual platform. This option alone does not add any kernel code. Unless you are building for the Android Goldfish emulator say N here. if GOLDFISH config GOLDFISH_PIPE tristate "Goldfish virtual device for QEMU pipes" help This is a virtual device to drive the QEMU pipe interface used by the Goldfish Android Virtual Device. endif # GOLDFISH platform/goldfish/Makefile 0000644 00000000215 14722053666 0011640 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Goldfish platform specific drivers # obj-$(CONFIG_GOLDFISH_PIPE) += goldfish_pipe.o firewire/Kconfig 0000644 00000005572 14722053666 0007707 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "IEEE 1394 (FireWire) support" depends on PCI || COMPILE_TEST # firewire-core does not depend on PCI but is # not useful without PCI controller driver config FIREWIRE tristate "FireWire driver stack" select CRC_ITU_T help This is the new-generation IEEE 1394 (FireWire) driver stack a.k.a. Juju, a new implementation designed for robustness and simplicity. See http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for information about migration from the older Linux 1394 stack to the new driver stack. To compile this driver as a module, say M here: the module will be called firewire-core. config FIREWIRE_OHCI tristate "OHCI-1394 controllers" depends on PCI && FIREWIRE && MMU help Enable this driver if you have a FireWire controller based on the OHCI specification. For all practical purposes, this is the only chipset in use, so say Y here. To compile this driver as a module, say M here: The module will be called firewire-ohci. config FIREWIRE_SBP2 tristate "Storage devices (SBP-2 protocol)" depends on FIREWIRE && SCSI help This option enables you to use SBP-2 devices connected to a FireWire bus. SBP-2 devices include storage devices like harddisks and DVD drives, also some other FireWire devices like scanners. To compile this driver as a module, say M here: The module will be called firewire-sbp2. You should also enable support for disks, CD-ROMs, etc. in the SCSI configuration section. config FIREWIRE_NET tristate "IP networking over 1394" depends on FIREWIRE && INET help This enables IPv4/IPv6 over IEEE 1394, providing IP connectivity with other implementations of RFC 2734/3146 as found on several operating systems. Multicast support is currently limited. To compile this driver as a module, say M here: The module will be called firewire-net. config FIREWIRE_NOSY tristate "Nosy - a FireWire traffic sniffer for PCILynx cards" depends on PCI help Nosy is an IEEE 1394 packet sniffer that is used for protocol analysis and in development of IEEE 1394 drivers, applications, or firmwares. This driver lets you use a Texas Instruments PCILynx 1394 to PCI link layer controller TSB12LV21/A/B as a low-budget bus analyzer. PCILynx is a nowadays very rare IEEE 1394 controller which is not OHCI 1394 compliant. The following cards are known to be based on PCILynx or PCILynx-2: IOI IOI-1394TT (PCI card), Unibrain Fireboard 400 PCI Lynx-2 (PCI card), Newer Technology FireWire 2 Go (CardBus card), Apple Power Mac G3 blue & white and G4 with PCI graphics (onboard controller). To compile this driver as a module, say M here: The module will be called nosy. Source code of a userspace interface to nosy, called nosy-dump, can be found in tools/firewire/ of the kernel sources. If unsure, say N. endmenu firewire/Makefile 0000644 00000001104 14722053666 0010027 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux IEEE 1394 implementation # firewire-core-y += core-card.o core-cdev.o core-device.o \ core-iso.o core-topology.o core-transaction.o firewire-ohci-y += ohci.o firewire-sbp2-y += sbp2.o firewire-net-y += net.o obj-$(CONFIG_FIREWIRE) += firewire-core.o obj-$(CONFIG_FIREWIRE_OHCI) += firewire-ohci.o obj-$(CONFIG_FIREWIRE_SBP2) += firewire-sbp2.o obj-$(CONFIG_FIREWIRE_NET) += firewire-net.o obj-$(CONFIG_FIREWIRE_NOSY) += nosy.o obj-$(CONFIG_PROVIDE_OHCI1394_DMA_INIT) += init_ohci1394_dma.o pcmcia/Kconfig 0000644 00000020225 14722053666 0007317 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PCCARD (PCMCIA/CardBus) bus subsystem configuration # menuconfig PCCARD tristate "PCCard (PCMCIA/CardBus) support" depends on !UML ---help--- Say Y here if you want to attach PCMCIA- or PC-cards to your Linux computer. These are credit-card size devices such as network cards, modems or hard drives often used with laptops computers. There are actually two varieties of these cards: 16 bit PCMCIA and 32 bit CardBus cards. To compile this driver as modules, choose M here: the module will be called pcmcia_core. if PCCARD config PCMCIA tristate "16-bit PCMCIA support" select CRC32 default y ---help--- This option enables support for 16-bit PCMCIA cards. Most older PC-cards are such 16-bit PCMCIA cards, so unless you know you're only using 32-bit CardBus cards, say Y or M here. To use 16-bit PCMCIA cards, you will need supporting software in most cases. (see the file <file:Documentation/Changes> for location and details). To compile this driver as modules, choose M here: the module will be called pcmcia. If unsure, say Y. config PCMCIA_LOAD_CIS bool "Load CIS updates from userspace" depends on PCMCIA select FW_LOADER default y help Some PCMCIA cards require an updated Card Information Structure (CIS) to be loaded from userspace to work correctly. If you say Y here, and your userspace is arranged correctly, this will be loaded automatically using the in-kernel firmware loader and the hotplug subsystem, instead of relying on cardmgr from pcmcia-cs to do so. If unsure, say Y. config CARDBUS bool "32-bit CardBus support" depends on PCI default y ---help--- CardBus is a bus mastering architecture for PC-cards, which allows for 32 bit PC-cards (the original PCMCIA standard specifies only a 16 bit wide bus). Many newer PC-cards are actually CardBus cards. To use 32 bit PC-cards, you also need a CardBus compatible host bridge. Virtually all modern PCMCIA bridges do this, and most of them are "yenta-compatible", so say Y or M there, too. If unsure, say Y. config PCMCIA_MAX1600 tristate comment "PC-card bridges" config YENTA tristate "CardBus yenta-compatible bridge support" depends on PCI select CARDBUS if !EXPERT select PCCARD_NONSTATIC if PCMCIA != n ---help--- This option enables support for CardBus host bridges. Virtually all modern PCMCIA bridges are CardBus compatible. A "bridge" is the hardware inside your computer that PCMCIA cards are plugged into. To compile this driver as modules, choose M here: the module will be called yenta_socket. If unsure, say Y. config YENTA_O2 default y bool "Special initialization for O2Micro bridges" if EXPERT depends on YENTA config YENTA_RICOH default y bool "Special initialization for Ricoh bridges" if EXPERT depends on YENTA config YENTA_TI default y bool "Special initialization for TI and EnE bridges" if EXPERT depends on YENTA config YENTA_ENE_TUNE default y bool "Auto-tune EnE bridges for CB cards" if EXPERT depends on YENTA_TI && CARDBUS config YENTA_TOSHIBA default y bool "Special initialization for Toshiba ToPIC bridges" if EXPERT depends on YENTA config PD6729 tristate "Cirrus PD6729 compatible bridge support" depends on PCMCIA && PCI select PCCARD_NONSTATIC help This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge device, found in some older laptops and PCMCIA card readers. config I82092 tristate "i82092 compatible bridge support" depends on PCMCIA && PCI select PCCARD_NONSTATIC help This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device, found in some older laptops and more commonly in evaluation boards for the chip. config I82365 tristate "i82365 compatible bridge support" depends on PCMCIA && ISA select PCCARD_NONSTATIC help Say Y here to include support for ISA-bus PCMCIA host bridges that are register compatible with the Intel i82365. These are found on older laptops and ISA-bus card readers for desktop systems. A "bridge" is the hardware inside your computer that PCMCIA cards are plugged into. If unsure, say N. config TCIC tristate "Databook TCIC host bridge support" depends on PCMCIA && ISA select PCCARD_NONSTATIC help Say Y here to include support for the Databook TCIC family of PCMCIA host bridges. These are only found on a handful of old systems. "Bridge" is the name used for the hardware inside your computer that PCMCIA cards are plugged into. If unsure, say N. config PCMCIA_ALCHEMY_DEVBOARD tristate "Alchemy Db/Pb1xxx PCMCIA socket services" depends on MIPS_DB1XXX && PCMCIA help Enable this driver of you want PCMCIA support on your Alchemy Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300 board. NOT suitable for the PB1000! This driver is also available as a module called db1xxx_ss.ko config PCMCIA_XXS1500 tristate "MyCable XXS1500 PCMCIA socket support" depends on PCMCIA && MIPS_XXS1500 help Support for the PCMCIA/CF socket interface on MyCable XXS1500 systems. This driver is also available as a module called xxs1500_ss.ko config PCMCIA_BCM63XX tristate "bcm63xx pcmcia support" depends on BCM63XX && PCMCIA config PCMCIA_SOC_COMMON tristate config PCMCIA_SA11XX_BASE tristate config PCMCIA_SA1100 tristate "SA1100 support" depends on ARM && ARCH_SA1100 && PCMCIA select PCMCIA_SOC_COMMON select PCMCIA_SA11XX_BASE help Say Y here to include support for SA11x0-based PCMCIA or CF sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/ Xscale(R) embedded machines. This driver is also available as a module called sa1100_cs. config PCMCIA_SA1111 tristate "SA1111 support" depends on ARM && SA1111 && PCMCIA select PCMCIA_SOC_COMMON select PCMCIA_SA11XX_BASE if ARCH_SA1100 select PCMCIA_PXA2XX if ARCH_LUBBOCK && SA1111 select PCMCIA_MAX1600 if ASSABET_NEPONSET select PCMCIA_MAX1600 if ARCH_LUBBOCK && SA1111 help Say Y here to include support for SA1111-based PCMCIA or CF sockets, found on the Jornada 720, Graphicsmaster and other StrongARM(R)/Xscale(R) embedded machines. This driver is also available as a module called sa1111_cs. config PCMCIA_PXA2XX tristate "PXA2xx support" depends on ARM && ARCH_PXA && PCMCIA depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \ || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \ || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \ || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \ || MACH_COLIBRI320 || MACH_H4700) select PCMCIA_SOC_COMMON select PCMCIA_MAX1600 if MACH_MAINSTONE help Say Y here to include support for the PXA2xx PCMCIA controller config PCMCIA_DEBUG bool "Enable debugging" depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX) help Say Y here to enable debugging for the SoC PCMCIA layer. You will need to choose the debugging level either via the kernel command line, or module options depending whether you build the drivers as modules. The kernel command line options are: sa11xx_core.pc_debug=N pxa2xx_core.pc_debug=N The module option is called pc_debug=N In all the above examples, N is the debugging verbosity level. config PCMCIA_PROBE bool default y if ISA && !ARCH_SA1100 && !PARISC config PCMCIA_VRC4171 tristate "NEC VRC4171 Card Controllers support" depends on CPU_VR41XX && ISA && PCMCIA config PCMCIA_VRC4173 tristate "NEC VRC4173 CARDU support" depends on CPU_VR41XX && PCI && PCMCIA config OMAP_CF tristate "OMAP CompactFlash Controller" depends on PCMCIA && ARCH_OMAP16XX help Say Y here to support the CompactFlash controller on OMAP. Note that this doesn't support "True IDE" mode. config AT91_CF tristate "AT91 CompactFlash Controller" depends on PCI depends on PCMCIA && ARCH_AT91 help Say Y here to support the CompactFlash controller on AT91 chips. Or choose M to compile the driver as a module named "at91_cf". config ELECTRA_CF tristate "Electra CompactFlash Controller" depends on PCMCIA && PPC_PASEMI help Say Y here to support the CompactFlash controller on the PA Semi Electra eval board. config PCCARD_NONSTATIC bool config PCCARD_IODYN bool endif # PCCARD pcmcia/Makefile 0000644 00000005367 14722053666 0007466 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the kernel pcmcia subsystem (c/o David Hinds) # pcmcia_core-y += cs.o socket_sysfs.o pcmcia_core-$(CONFIG_CARDBUS) += cardbus.o obj-$(CONFIG_PCCARD) += pcmcia_core.o pcmcia-y += ds.o pcmcia_resource.o cistpl.o pcmcia_cis.o obj-$(CONFIG_PCMCIA) += pcmcia.o pcmcia_rsrc-y += rsrc_mgr.o pcmcia_rsrc-$(CONFIG_PCCARD_NONSTATIC) += rsrc_nonstatic.o pcmcia_rsrc-$(CONFIG_PCCARD_IODYN) += rsrc_iodyn.o obj-$(CONFIG_PCCARD) += pcmcia_rsrc.o # socket drivers obj-$(CONFIG_YENTA) += yenta_socket.o obj-$(CONFIG_PD6729) += pd6729.o obj-$(CONFIG_I82365) += i82365.o obj-$(CONFIG_I82092) += i82092.o obj-$(CONFIG_TCIC) += tcic.o obj-$(CONFIG_PCMCIA_SOC_COMMON) += soc_common.o obj-$(CONFIG_PCMCIA_SA11XX_BASE) += sa11xx_base.o obj-$(CONFIG_PCMCIA_SA1100) += sa1100_cs.o obj-$(CONFIG_PCMCIA_SA1111) += sa1111_cs.o obj-$(CONFIG_PCMCIA_BCM63XX) += bcm63xx_pcmcia.o obj-$(CONFIG_PCMCIA_VRC4171) += vrc4171_card.o obj-$(CONFIG_PCMCIA_VRC4173) += vrc4173_cardu.o obj-$(CONFIG_OMAP_CF) += omap_cf.o obj-$(CONFIG_AT91_CF) += at91_cf.o obj-$(CONFIG_ELECTRA_CF) += electra_cf.o obj-$(CONFIG_PCMCIA_ALCHEMY_DEVBOARD) += db1xxx_ss.o obj-$(CONFIG_PCMCIA_MAX1600) += max1600.o sa1111_cs-y += sa1111_generic.o sa1111_cs-$(CONFIG_ASSABET_NEPONSET) += sa1111_neponset.o sa1111_cs-$(CONFIG_SA1100_BADGE4) += sa1111_badge4.o sa1111_cs-$(CONFIG_SA1100_JORNADA720) += sa1111_jornada720.o sa1111_cs-$(CONFIG_ARCH_LUBBOCK) += sa1111_lubbock.o sa1100_cs-y += sa1100_generic.o sa1100_cs-$(CONFIG_SA1100_COLLIE) += pxa2xx_sharpsl.o sa1100_cs-$(CONFIG_SA1100_H3100) += sa1100_h3600.o sa1100_cs-$(CONFIG_SA1100_H3600) += sa1100_h3600.o sa1100_cs-$(CONFIG_SA1100_SIMPAD) += sa1100_simpad.o pxa2xx_cm_x2xx_cs-y += pxa2xx_cm_x2xx.o pxa2xx_cm_x255.o pxa2xx_cm_x270.o pxa2xx-obj-$(CONFIG_MACH_MAINSTONE) += pxa2xx_mainstone.o pxa2xx-obj-$(CONFIG_PXA_SHARPSL) += pxa2xx_sharpsl.o pxa2xx-obj-$(CONFIG_MACH_ARMCORE) += pxa2xx_cm_x2xx_cs.o pxa2xx-obj-$(CONFIG_ARCOM_PCMCIA) += pxa2xx_viper.o pxa2xx-obj-$(CONFIG_TRIZEPS_PCMCIA) += pxa2xx_trizeps4.o pxa2xx-obj-$(CONFIG_MACH_PALMTX) += pxa2xx_palmtx.o pxa2xx-obj-$(CONFIG_MACH_PALMTC) += pxa2xx_palmtc.o pxa2xx-obj-$(CONFIG_MACH_PALMLD) += pxa2xx_palmld.o pxa2xx-obj-$(CONFIG_MACH_E740) += pxa2xx_e740.o pxa2xx-obj-$(CONFIG_MACH_STARGATE2) += pxa2xx_stargate2.o pxa2xx-obj-$(CONFIG_MACH_VPAC270) += pxa2xx_vpac270.o pxa2xx-obj-$(CONFIG_MACH_BALLOON3) += pxa2xx_balloon3.o pxa2xx-obj-$(CONFIG_MACH_COLIBRI) += pxa2xx_colibri.o pxa2xx-obj-$(CONFIG_MACH_COLIBRI320) += pxa2xx_colibri.o pxa2xx-obj-$(CONFIG_MACH_H4700) += pxa2xx_hx4700.o obj-$(CONFIG_PCMCIA_PXA2XX) += pxa2xx_base.o $(pxa2xx-obj-y) obj-$(CONFIG_PCMCIA_XXS1500) += xxs1500_ss.o vme/bridges/Kconfig 0000644 00000001164 14722053666 0010272 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only comment "VME Bridge Drivers" config VME_CA91CX42 tristate "Universe II" depends on VIRT_TO_BUS help If you say Y here you get support for the Tundra CA91C142 (Universe II) VME bridge chip. config VME_TSI148 tristate "Tempe" depends on HAS_DMA help If you say Y here you get support for the Tundra TSI148 VME bridge chip. config VME_FAKE tristate "Fake" help If you say Y here you get support for the fake VME bridge. This provides a virtualised VME Bus for devices with no VME bridge. This is mainly useful for VME development (in the absence of VME hardware). vme/bridges/Makefile 0000644 00000000244 14722053666 0010425 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_VME_CA91CX42) += vme_ca91cx42.o obj-$(CONFIG_VME_TSI148) += vme_tsi148.o obj-$(CONFIG_VME_FAKE) += vme_fake.o vme/boards/Kconfig 0000644 00000000534 14722053666 0010125 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only comment "VME Board Drivers" config VMIVME_7805 tristate "VMIVME-7805" help If you say Y here you get support for the VMIVME-7805 board. This board has an additional control interface to the Universe II chip. This driver has to be included if you want to access VME bus with VMIVME-7805 board. vme/boards/Makefile 0000644 00000000201 14722053666 0010251 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the VME board drivers. # obj-$(CONFIG_VMIVME_7805) += vme_vmivme7805.o vme/Kconfig 0000644 00000000541 14722053666 0006651 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # VME configuration. # menuconfig VME_BUS bool "VME bridge support" depends on PCI ---help--- If you say Y here you get support for the VME bridge Framework. if VME_BUS source "drivers/vme/bridges/Kconfig" source "drivers/vme/boards/Kconfig" source "drivers/staging/vme/devices/Kconfig" endif # VME vme/Makefile 0000644 00000000244 14722053666 0007006 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the VME bridge device drivers. # obj-$(CONFIG_VME_BUS) += vme.o obj-y += bridges/ obj-y += boards/ memstick/core/Kconfig 0000644 00000002641 14722053666 0010631 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MemoryStick core configuration # comment "MemoryStick drivers" config MEMSTICK_UNSAFE_RESUME bool "Allow unsafe resume (DANGEROUS)" help If you say Y here, the MemoryStick layer will assume that all cards stayed in their respective slots during the suspend. The normal behaviour is to remove them at suspend and redetecting them at resume. Breaking this assumption will in most cases result in data corruption. This option is usually just for embedded systems which use a MemoryStick card for rootfs. Most people should say N here. config MSPRO_BLOCK tristate "MemoryStick Pro block device driver" depends on BLOCK help Say Y here to enable the MemoryStick Pro block device driver support. This provides a block device driver, which you can use to mount the filesystem. Almost everyone wishing MemoryStick support should say Y or M here. config MS_BLOCK tristate "MemoryStick Standard device driver" depends on BLOCK help Say Y here to enable the MemoryStick Standard device driver support. This provides a block device driver, which you can use to mount the filesystem. This driver works with old (bulky) MemoryStick and MemoryStick Duo but not PRO. Say Y if you have such card. Driver is new and not yet well tested, thus it can damage your card (even permanently) memstick/core/Makefile 0000644 00000000320 14722053666 0010756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the kernel MemoryStick core. # obj-$(CONFIG_MEMSTICK) += memstick.o obj-$(CONFIG_MS_BLOCK) += ms_block.o obj-$(CONFIG_MSPRO_BLOCK) += mspro_block.o memstick/Kconfig 0000644 00000001211 14722053666 0007671 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MemoryStick subsystem configuration # menuconfig MEMSTICK tristate "Sony MemoryStick card support" help Sony MemoryStick is a proprietary storage/extension card protocol. If you want MemoryStick support, you should say Y here and also to the specific driver for your MemoryStick interface. if MEMSTICK config MEMSTICK_DEBUG bool "MemoryStick debugging" help This is an option for use by developers; most people should say N here. This enables MemoryStick core and driver debugging. source "drivers/memstick/core/Kconfig" source "drivers/memstick/host/Kconfig" endif # MEMSTICK memstick/Makefile 0000644 00000000332 14722053666 0010031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the kernel MemoryStick device drivers. # subdir-ccflags-$(CONFIG_MEMSTICK_DEBUG) := -DDEBUG obj-$(CONFIG_MEMSTICK) += core/ obj-$(CONFIG_MEMSTICK) += host/ memstick/host/Kconfig 0000644 00000004013 14722053666 0010651 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MemoryStick host controller drivers # comment "MemoryStick Host Controller Drivers" config MEMSTICK_TIFM_MS tristate "TI Flash Media MemoryStick Interface support " depends on PCI select TIFM_CORE help Say Y here if you want to be able to access MemoryStick cards with the Texas Instruments(R) Flash Media card reader, found in many laptops. This option 'selects' (turns on, enables) 'TIFM_CORE', but you probably also need appropriate card reader host adapter, such as 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support (TIFM_7XX1)'. To compile this driver as a module, choose M here: the module will be called tifm_ms. config MEMSTICK_JMICRON_38X tristate "JMicron JMB38X MemoryStick interface support" depends on PCI help Say Y here if you want to be able to access MemoryStick cards with the JMicron(R) JMB38X MemoryStick card reader. To compile this driver as a module, choose M here: the module will be called jmb38x_ms. config MEMSTICK_R592 tristate "Ricoh R5C592 MemoryStick interface support" depends on PCI help Say Y here if you want to be able to access MemoryStick cards with the Ricoh R5C592 MemoryStick card reader (which is part of 5 in one multifunction reader) To compile this driver as a module, choose M here: the module will be called r592. config MEMSTICK_REALTEK_PCI tristate "Realtek PCI-E Memstick Card Interface Driver" depends on MISC_RTSX_PCI help Say Y here to include driver code to support Memstick card interface of Realtek PCI-E card reader To compile this driver as a module, choose M here: the module will be called rtsx_pci_ms. config MEMSTICK_REALTEK_USB tristate "Realtek USB Memstick Card Interface Driver" depends on MISC_RTSX_USB help Say Y here to include driver code to support Memstick card interface of Realtek RTS5129/39 series USB card reader To compile this driver as a module, choose M here: the module will be called rts5139_ms. memstick/host/Makefile 0000644 00000000511 14722053666 0011005 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for MemoryStick host controller drivers # obj-$(CONFIG_MEMSTICK_TIFM_MS) += tifm_ms.o obj-$(CONFIG_MEMSTICK_JMICRON_38X) += jmb38x_ms.o obj-$(CONFIG_MEMSTICK_R592) += r592.o obj-$(CONFIG_MEMSTICK_REALTEK_PCI) += rtsx_pci_ms.o obj-$(CONFIG_MEMSTICK_REALTEK_USB) += rtsx_usb_ms.o lightnvm/Kconfig 0000644 00000002073 14722053666 0007714 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Open-Channel SSD NVM configuration # menuconfig NVM bool "Open-Channel SSD target support" depends on BLOCK && BROKEN help Say Y here to get to enable Open-channel SSDs. Open-Channel SSDs implement a set of extension to SSDs, that exposes direct access to the underlying non-volatile memory. If you say N, all options in this submenu will be skipped and disabled only do this if you know what you are doing. if NVM config NVM_PBLK tristate "Physical Block Device Open-Channel SSD target" select CRC32 help Allows an open-channel SSD to be exposed as a block device to the host. The target assumes the device exposes raw flash and must be explicitly managed by the host. Please note the disk format is considered EXPERIMENTAL for now. if NVM_PBLK config NVM_PBLK_DEBUG bool "PBlk Debug Support" default n help Enables debug support for pblk. This includes extra checks, more vocal error messages, and extra tracking fields in the pblk sysfs entries. endif # NVM_PBLK_DEBUG endif # NVM lightnvm/Makefile 0000644 00000000465 14722053666 0010054 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Open-Channel SSDs. # obj-$(CONFIG_NVM) := core.o obj-$(CONFIG_NVM_PBLK) += pblk.o pblk-y := pblk-init.o pblk-core.o pblk-rb.o \ pblk-write.o pblk-cache.o pblk-read.o \ pblk-gc.o pblk-recovery.o pblk-map.o \ pblk-rl.o pblk-sysfs.o nvdimm/Kconfig 0000644 00000010324 14722053666 0007354 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig LIBNVDIMM tristate "NVDIMM (Non-Volatile Memory Device) Support" depends on PHYS_ADDR_T_64BIT depends on HAS_IOMEM depends on BLK_DEV help Generic support for non-volatile memory devices including ACPI-6-NFIT defined resources. On platforms that define an NFIT, or otherwise can discover NVDIMM resources, a libnvdimm bus is registered to advertise PMEM (persistent memory) namespaces (/dev/pmemX) and BLK (sliding mmio window(s)) namespaces (/dev/ndblkX.Y). A PMEM namespace refers to a memory resource that may span multiple DIMMs and support DAX (see CONFIG_DAX). A BLK namespace refers to an NVDIMM control region which exposes an mmio register set for windowed access mode to non-volatile memory. if LIBNVDIMM config BLK_DEV_PMEM tristate "PMEM: Persistent memory block device support" default LIBNVDIMM select DAX_DRIVER select ND_BTT if BTT select ND_PFN if NVDIMM_PFN help Memory ranges for PMEM are described by either an NFIT (NVDIMM Firmware Interface Table, see CONFIG_NFIT_ACPI), a non-standard OEM-specific E820 memory type (type-12, see CONFIG_X86_PMEM_LEGACY), or it is manually specified by the 'memmap=nn[KMG]!ss[KMG]' kernel command line (see Documentation/admin-guide/kernel-parameters.rst). This driver converts these persistent memory ranges into block devices that are capable of DAX (direct-access) file system mappings. See Documentation/driver-api/nvdimm/nvdimm.rst for more details. Say Y if you want to use an NVDIMM config ND_BLK tristate "BLK: Block data window (aperture) device support" default LIBNVDIMM select ND_BTT if BTT help Support NVDIMMs, or other devices, that implement a BLK-mode access capability. BLK-mode access uses memory-mapped-i/o apertures to access persistent media. Say Y if your platform firmware emits an ACPI.NFIT table (CONFIG_ACPI_NFIT), or otherwise exposes BLK-mode capabilities. config ND_CLAIM bool config ND_BTT tristate config BTT bool "BTT: Block Translation Table (atomic sector updates)" default y if LIBNVDIMM select ND_CLAIM help The Block Translation Table (BTT) provides atomic sector update semantics for persistent memory devices, so that applications that rely on sector writes not being torn (a guarantee that typical disks provide) can continue to do so. The BTT manifests itself as an alternate personality for an NVDIMM namespace, i.e. a namespace can be in raw mode (pmemX, ndblkX.Y, etc...), or 'sectored' mode, (pmemXs, ndblkX.Ys, etc...). Select Y if unsure config ND_PFN tristate config NVDIMM_PFN bool "PFN: Map persistent (device) memory" default LIBNVDIMM depends on ZONE_DEVICE select ND_CLAIM help Map persistent memory, i.e. advertise it to the memory management sub-system. By default persistent memory does not support direct I/O, RDMA, or any other usage that requires a 'struct page' to mediate an I/O request. This driver allocates and initializes the infrastructure needed to support those use cases. Select Y if unsure config NVDIMM_DAX bool "NVDIMM DAX: Raw access to persistent memory" default LIBNVDIMM depends on NVDIMM_PFN help Support raw device dax access to a persistent memory namespace. For environments that want to hard partition persistent memory, this capability provides a mechanism to sub-divide a namespace into character devices that can only be accessed via DAX (mmap(2)). Select Y if unsure config OF_PMEM tristate "Device-tree support for persistent memory regions" depends on OF default LIBNVDIMM help Allows regions of persistent memory to be described in the device-tree. Select Y if unsure. config NVDIMM_KEYS def_bool y depends on ENCRYPTED_KEYS depends on (LIBNVDIMM=ENCRYPTED_KEYS) || LIBNVDIMM=m config NVDIMM_TEST_BUILD tristate "Build the unit test core" depends on m depends on COMPILE_TEST && X86_64 default m if COMPILE_TEST help Build the core of the unit test infrastructure. The result of this build is non-functional for unit test execution, but it otherwise helps catch build errors induced by changes to the core devm_memremap_pages() implementation and other infrastructure. endif nvdimm/Makefile 0000644 00000001670 14722053666 0007515 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_LIBNVDIMM) += libnvdimm.o obj-$(CONFIG_BLK_DEV_PMEM) += nd_pmem.o obj-$(CONFIG_ND_BTT) += nd_btt.o obj-$(CONFIG_ND_BLK) += nd_blk.o obj-$(CONFIG_X86_PMEM_LEGACY) += nd_e820.o obj-$(CONFIG_OF_PMEM) += of_pmem.o obj-$(CONFIG_VIRTIO_PMEM) += virtio_pmem.o nd_virtio.o nd_pmem-y := pmem.o nd_btt-y := btt.o nd_blk-y := blk.o nd_e820-y := e820.o libnvdimm-y := core.o libnvdimm-y += bus.o libnvdimm-y += dimm_devs.o libnvdimm-y += dimm.o libnvdimm-y += region_devs.o libnvdimm-y += region.o libnvdimm-y += namespace_devs.o libnvdimm-y += label.o libnvdimm-y += badrange.o libnvdimm-$(CONFIG_ND_CLAIM) += claim.o libnvdimm-$(CONFIG_BTT) += btt_devs.o libnvdimm-$(CONFIG_NVDIMM_PFN) += pfn_devs.o libnvdimm-$(CONFIG_NVDIMM_DAX) += dax_devs.o libnvdimm-$(CONFIG_NVDIMM_KEYS) += security.o TOOLS := ../../tools TEST_SRC := $(TOOLS)/testing/nvdimm/test obj-$(CONFIG_NVDIMM_TEST_BUILD) += $(TEST_SRC)/iomap.o edac/Kconfig 0000644 00000037070 14722053666 0006765 0 ustar 00 # # EDAC Kconfig # Copyright (c) 2008 Doug Thompson www.softwarebitmaker.com # Licensed and distributed under the GPL config EDAC_ATOMIC_SCRUB bool config EDAC_SUPPORT bool menuconfig EDAC tristate "EDAC (Error Detection And Correction) reporting" depends on HAS_IOMEM && EDAC_SUPPORT && RAS help EDAC is a subsystem along with hardware-specific drivers designed to report hardware errors. These are low-level errors that are reported in the CPU or supporting chipset or other subsystems: memory errors, cache errors, PCI errors, thermal throttling, etc.. If unsure, select 'Y'. The mailing list for the EDAC project is linux-edac@vger.kernel.org. if EDAC config EDAC_LEGACY_SYSFS bool "EDAC legacy sysfs" default y help Enable the compatibility sysfs nodes. Use 'Y' if your edac utilities aren't ported to work with the newer structures. config EDAC_DEBUG bool "Debugging" select DEBUG_FS help This turns on debugging information for the entire EDAC subsystem. You do so by inserting edac_module with "edac_debug_level=x." Valid levels are 0-4 (from low to high) and by default it is set to 2. Usually you should select 'N' here. config EDAC_DECODE_MCE tristate "Decode MCEs in human-readable form (only on AMD for now)" depends on CPU_SUP_AMD && X86_MCE_AMD default y ---help--- Enable this option if you want to decode Machine Check Exceptions occurring on your machine in human-readable form. You should definitely say Y here in case you want to decode MCEs which occur really early upon boot, before the module infrastructure has been initialized. config EDAC_GHES bool "Output ACPI APEI/GHES BIOS detected errors via EDAC" depends on ACPI_APEI_GHES && (EDAC=y) help Not all machines support hardware-driven error report. Some of those provide a BIOS-driven error report mechanism via ACPI, using the APEI/GHES driver. By enabling this option, the error reports provided by GHES are sent to userspace via the EDAC API. When this option is enabled, it will disable the hardware-driven mechanisms, if a GHES BIOS is detected, entering into the "Firmware First" mode. It should be noticed that keeping both GHES and a hardware-driven error mechanism won't work well, as BIOS will race with OS, while reading the error registers. So, if you want to not use "Firmware first" GHES error mechanism, you should disable GHES either at compilation time or by passing "ghes.disable=1" Kernel parameter at boot time. In doubt, say 'Y'. config EDAC_AMD64 tristate "AMD64 (Opteron, Athlon64)" depends on AMD_NB && EDAC_DECODE_MCE help Support for error detection and correction of DRAM ECC errors on the AMD64 families (>= K8) of memory controllers. config EDAC_AMD64_ERROR_INJECTION bool "Sysfs HW Error injection facilities" depends on EDAC_AMD64 help Recent Opterons (Family 10h and later) provide for Memory Error Injection into the ECC detection circuits. The amd64_edac module allows the operator/user to inject Uncorrectable and Correctable errors into DRAM. When enabled, in each of the respective memory controller directories (/sys/devices/system/edac/mc/mcX), there are 3 input files: - inject_section (0..3, 16-byte section of 64-byte cacheline), - inject_word (0..8, 16-bit word of 16-byte section), - inject_ecc_vector (hex ecc vector: select bits of inject word) In addition, there are two control files, inject_read and inject_write, which trigger the DRAM ECC Read and Write respectively. config EDAC_AMD76X tristate "AMD 76x (760, 762, 768)" depends on PCI && X86_32 help Support for error detection and correction on the AMD 76x series of chipsets used with the Athlon processor. config EDAC_E7XXX tristate "Intel e7xxx (e7205, e7500, e7501, e7505)" depends on PCI && X86_32 help Support for error detection and correction on the Intel E7205, E7500, E7501 and E7505 server chipsets. config EDAC_E752X tristate "Intel e752x (e7520, e7525, e7320) and 3100" depends on PCI && X86 help Support for error detection and correction on the Intel E7520, E7525, E7320 server chipsets. config EDAC_I82443BXGX tristate "Intel 82443BX/GX (440BX/GX)" depends on PCI && X86_32 depends on BROKEN help Support for error detection and correction on the Intel 82443BX/GX memory controllers (440BX/GX chipsets). config EDAC_I82875P tristate "Intel 82875p (D82875P, E7210)" depends on PCI && X86_32 help Support for error detection and correction on the Intel DP82785P and E7210 server chipsets. config EDAC_I82975X tristate "Intel 82975x (D82975x)" depends on PCI && X86 help Support for error detection and correction on the Intel DP82975x server chipsets. config EDAC_I3000 tristate "Intel 3000/3010" depends on PCI && X86 help Support for error detection and correction on the Intel 3000 and 3010 server chipsets. config EDAC_I3200 tristate "Intel 3200" depends on PCI && X86 help Support for error detection and correction on the Intel 3200 and 3210 server chipsets. config EDAC_IE31200 tristate "Intel e312xx" depends on PCI && X86 help Support for error detection and correction on the Intel E3-1200 based DRAM controllers. config EDAC_X38 tristate "Intel X38" depends on PCI && X86 help Support for error detection and correction on the Intel X38 server chipsets. config EDAC_I5400 tristate "Intel 5400 (Seaburg) chipsets" depends on PCI && X86 help Support for error detection and correction the Intel i5400 MCH chipset (Seaburg). config EDAC_I7CORE tristate "Intel i7 Core (Nehalem) processors" depends on PCI && X86 && X86_MCE_INTEL help Support for error detection and correction the Intel i7 Core (Nehalem) Integrated Memory Controller that exists on newer processors like i7 Core, i7 Core Extreme, Xeon 35xx and Xeon 55xx processors. config EDAC_I82860 tristate "Intel 82860" depends on PCI && X86_32 help Support for error detection and correction on the Intel 82860 chipset. config EDAC_R82600 tristate "Radisys 82600 embedded chipset" depends on PCI && X86_32 help Support for error detection and correction on the Radisys 82600 embedded chipset. config EDAC_I5000 tristate "Intel Greencreek/Blackford chipset" depends on X86 && PCI help Support for error detection and correction the Intel Greekcreek/Blackford chipsets. config EDAC_I5100 tristate "Intel San Clemente MCH" depends on X86 && PCI help Support for error detection and correction the Intel San Clemente MCH. config EDAC_I7300 tristate "Intel Clarksboro MCH" depends on X86 && PCI help Support for error detection and correction the Intel Clarksboro MCH (Intel 7300 chipset). config EDAC_SBRIDGE tristate "Intel Sandy-Bridge/Ivy-Bridge/Haswell Integrated MC" depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG help Support for error detection and correction the Intel Sandy Bridge, Ivy Bridge and Haswell Integrated Memory Controllers. config EDAC_SKX tristate "Intel Skylake server Integrated MC" depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG && ACPI depends on ACPI_NFIT || !ACPI_NFIT # if ACPI_NFIT=m, EDAC_SKX can't be y select DMI select ACPI_ADXL help Support for error detection and correction the Intel Skylake server Integrated Memory Controllers. If your system has non-volatile DIMMs you should also manually select CONFIG_ACPI_NFIT. config EDAC_I10NM tristate "Intel 10nm server Integrated MC" depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG && ACPI depends on ACPI_NFIT || !ACPI_NFIT # if ACPI_NFIT=m, EDAC_I10NM can't be y select DMI select ACPI_ADXL help Support for error detection and correction the Intel 10nm server Integrated Memory Controllers. If your system has non-volatile DIMMs you should also manually select CONFIG_ACPI_NFIT. config EDAC_PND2 tristate "Intel Pondicherry2" depends on PCI && X86_64 && X86_MCE_INTEL help Support for error detection and correction on the Intel Pondicherry2 Integrated Memory Controller. This SoC IP is first used on the Apollo Lake platform and Denverton micro-server but may appear on others in the future. config EDAC_MPC85XX bool "Freescale MPC83xx / MPC85xx" depends on FSL_SOC && EDAC=y help Support for error detection and correction on the Freescale MPC8349, MPC8560, MPC8540, MPC8548, T4240 config EDAC_LAYERSCAPE tristate "Freescale Layerscape DDR" depends on ARCH_LAYERSCAPE || SOC_LS1021A help Support for error detection and correction on Freescale memory controllers on Layerscape SoCs. config EDAC_MV64X60 tristate "Marvell MV64x60" depends on MV64X60 help Support for error detection and correction on the Marvell MV64360 and MV64460 chipsets. config EDAC_PASEMI tristate "PA Semi PWRficient" depends on PPC_PASEMI && PCI help Support for error detection and correction on PA Semi PWRficient. config EDAC_CELL tristate "Cell Broadband Engine memory controller" depends on PPC_CELL_COMMON help Support for error detection and correction on the Cell Broadband Engine internal memory controller on platform without a hypervisor config EDAC_PPC4XX tristate "PPC4xx IBM DDR2 Memory Controller" depends on 4xx help This enables support for EDAC on the ECC memory used with the IBM DDR2 memory controller found in various PowerPC 4xx embedded processors such as the 405EX[r], 440SP, 440SPe, 460EX, 460GT and 460SX. config EDAC_AMD8131 tristate "AMD8131 HyperTransport PCI-X Tunnel" depends on PCI && PPC_MAPLE help Support for error detection and correction on the AMD8131 HyperTransport PCI-X Tunnel chip. Note, add more Kconfig dependency if it's adopted on some machine other than Maple. config EDAC_AMD8111 tristate "AMD8111 HyperTransport I/O Hub" depends on PCI && PPC_MAPLE help Support for error detection and correction on the AMD8111 HyperTransport I/O Hub chip. Note, add more Kconfig dependency if it's adopted on some machine other than Maple. config EDAC_CPC925 tristate "IBM CPC925 Memory Controller (PPC970FX)" depends on PPC64 help Support for error detection and correction on the IBM CPC925 Bridge and Memory Controller, which is a companion chip to the PowerPC 970 family of processors. config EDAC_HIGHBANK_MC tristate "Highbank Memory Controller" depends on ARCH_HIGHBANK help Support for error detection and correction on the Calxeda Highbank memory controller. config EDAC_HIGHBANK_L2 tristate "Highbank L2 Cache" depends on ARCH_HIGHBANK help Support for error detection and correction on the Calxeda Highbank memory controller. config EDAC_OCTEON_PC tristate "Cavium Octeon Primary Caches" depends on CPU_CAVIUM_OCTEON help Support for error detection and correction on the primary caches of the cnMIPS cores of Cavium Octeon family SOCs. config EDAC_OCTEON_L2C tristate "Cavium Octeon Secondary Caches (L2C)" depends on CAVIUM_OCTEON_SOC help Support for error detection and correction on the Cavium Octeon family of SOCs. config EDAC_OCTEON_LMC tristate "Cavium Octeon DRAM Memory Controller (LMC)" depends on CAVIUM_OCTEON_SOC help Support for error detection and correction on the Cavium Octeon family of SOCs. config EDAC_OCTEON_PCI tristate "Cavium Octeon PCI Controller" depends on PCI && CAVIUM_OCTEON_SOC help Support for error detection and correction on the Cavium Octeon family of SOCs. config EDAC_THUNDERX tristate "Cavium ThunderX EDAC" depends on ARM64 depends on PCI help Support for error detection and correction on the Cavium ThunderX memory controllers (LMC), Cache Coherent Processor Interconnect (CCPI) and L2 cache blocks (TAD, CBC, MCI). config EDAC_ALTERA bool "Altera SOCFPGA ECC" depends on EDAC=y && (ARCH_SOCFPGA || ARCH_STRATIX10) help Support for error detection and correction on the Altera SOCs. This is the global enable for the various Altera peripherals. config EDAC_ALTERA_SDRAM bool "Altera SDRAM ECC" depends on EDAC_ALTERA=y help Support for error detection and correction on the Altera SDRAM Memory for Altera SoCs. Note that the preloader must initialize the SDRAM before loading the kernel. config EDAC_ALTERA_L2C bool "Altera L2 Cache ECC" depends on EDAC_ALTERA=y && CACHE_L2X0 help Support for error detection and correction on the Altera L2 cache Memory for Altera SoCs. This option requires L2 cache. config EDAC_ALTERA_OCRAM bool "Altera On-Chip RAM ECC" depends on EDAC_ALTERA=y && SRAM && GENERIC_ALLOCATOR help Support for error detection and correction on the Altera On-Chip RAM Memory for Altera SoCs. config EDAC_ALTERA_ETHERNET bool "Altera Ethernet FIFO ECC" depends on EDAC_ALTERA=y help Support for error detection and correction on the Altera Ethernet FIFO Memory for Altera SoCs. config EDAC_ALTERA_NAND bool "Altera NAND FIFO ECC" depends on EDAC_ALTERA=y && MTD_NAND_DENALI help Support for error detection and correction on the Altera NAND FIFO Memory for Altera SoCs. config EDAC_ALTERA_DMA bool "Altera DMA FIFO ECC" depends on EDAC_ALTERA=y && PL330_DMA=y help Support for error detection and correction on the Altera DMA FIFO Memory for Altera SoCs. config EDAC_ALTERA_USB bool "Altera USB FIFO ECC" depends on EDAC_ALTERA=y && USB_DWC2 help Support for error detection and correction on the Altera USB FIFO Memory for Altera SoCs. config EDAC_ALTERA_QSPI bool "Altera QSPI FIFO ECC" depends on EDAC_ALTERA=y && SPI_CADENCE_QUADSPI help Support for error detection and correction on the Altera QSPI FIFO Memory for Altera SoCs. config EDAC_ALTERA_SDMMC bool "Altera SDMMC FIFO ECC" depends on EDAC_ALTERA=y && MMC_DW help Support for error detection and correction on the Altera SDMMC FIFO Memory for Altera SoCs. config EDAC_SIFIVE bool "Sifive platform EDAC driver" depends on EDAC=y && RISCV help Support for error detection and correction on the SiFive SoCs. config EDAC_ARMADA_XP bool "Marvell Armada XP DDR and L2 Cache ECC" depends on MACH_MVEBU_V7 help Support for error correction and detection on the Marvell Aramada XP DDR RAM and L2 cache controllers. config EDAC_SYNOPSYS tristate "Synopsys DDR Memory Controller" depends on ARCH_ZYNQ || ARCH_ZYNQMP help Support for error detection and correction on the Synopsys DDR memory controller. config EDAC_XGENE tristate "APM X-Gene SoC" depends on (ARM64 || COMPILE_TEST) help Support for error detection and correction on the APM X-Gene family of SOCs. config EDAC_TI tristate "Texas Instruments DDR3 ECC Controller" depends on ARCH_KEYSTONE || SOC_DRA7XX help Support for error detection and correction on the TI SoCs. config EDAC_QCOM tristate "QCOM EDAC Controller" depends on ARCH_QCOM && QCOM_LLCC help Support for error detection and correction on the Qualcomm Technologies, Inc. SoCs. This driver reports Single Bit Errors (SBEs) and Double Bit Errors (DBEs). As of now, it supports error reporting for Last Level Cache Controller (LLCC) of Tag RAM and Data RAM. For debugging issues having to do with stability and overall system health, you should probably say 'Y' here. config EDAC_ASPEED tristate "Aspeed AST 2500 SoC" depends on MACH_ASPEED_G5 help Support for error detection and correction on the Aspeed AST 2500 SoC. First, ECC must be configured in the bootloader. Then, this driver will expose error counters via the EDAC kernel framework. config EDAC_BLUEFIELD tristate "Mellanox BlueField Memory ECC" depends on ARM64 && ((MELLANOX_PLATFORM && ACPI) || COMPILE_TEST) help Support for error detection and correction on the Mellanox BlueField SoCs. endif # EDAC edac/Makefile 0000644 00000006065 14722053666 0007122 0 ustar 00 # # Makefile for the Linux kernel EDAC drivers. # # Copyright 02 Jul 2003, Linux Networx (http://lnxi.com) # This file may be distributed under the terms of the # GNU General Public License. # obj-$(CONFIG_EDAC) := edac_core.o edac_core-y := edac_mc.o edac_device.o edac_mc_sysfs.o edac_core-y += edac_module.o edac_device_sysfs.o wq.o edac_core-$(CONFIG_EDAC_DEBUG) += debugfs.o ifdef CONFIG_PCI edac_core-y += edac_pci.o edac_pci_sysfs.o endif obj-$(CONFIG_EDAC_GHES) += ghes_edac.o edac_mce_amd-y := mce_amd.o obj-$(CONFIG_EDAC_DECODE_MCE) += edac_mce_amd.o obj-$(CONFIG_EDAC_AMD76X) += amd76x_edac.o obj-$(CONFIG_EDAC_CPC925) += cpc925_edac.o obj-$(CONFIG_EDAC_I5000) += i5000_edac.o obj-$(CONFIG_EDAC_I5100) += i5100_edac.o obj-$(CONFIG_EDAC_I5400) += i5400_edac.o obj-$(CONFIG_EDAC_I7300) += i7300_edac.o obj-$(CONFIG_EDAC_I7CORE) += i7core_edac.o obj-$(CONFIG_EDAC_SBRIDGE) += sb_edac.o obj-$(CONFIG_EDAC_PND2) += pnd2_edac.o obj-$(CONFIG_EDAC_E7XXX) += e7xxx_edac.o obj-$(CONFIG_EDAC_E752X) += e752x_edac.o obj-$(CONFIG_EDAC_I82443BXGX) += i82443bxgx_edac.o obj-$(CONFIG_EDAC_I82875P) += i82875p_edac.o obj-$(CONFIG_EDAC_I82975X) += i82975x_edac.o obj-$(CONFIG_EDAC_I3000) += i3000_edac.o obj-$(CONFIG_EDAC_I3200) += i3200_edac.o obj-$(CONFIG_EDAC_IE31200) += ie31200_edac.o obj-$(CONFIG_EDAC_X38) += x38_edac.o obj-$(CONFIG_EDAC_I82860) += i82860_edac.o obj-$(CONFIG_EDAC_R82600) += r82600_edac.o amd64_edac_mod-y := amd64_edac.o amd64_edac_mod-$(CONFIG_EDAC_DEBUG) += amd64_edac_dbg.o amd64_edac_mod-$(CONFIG_EDAC_AMD64_ERROR_INJECTION) += amd64_edac_inj.o obj-$(CONFIG_EDAC_AMD64) += amd64_edac_mod.o obj-$(CONFIG_EDAC_PASEMI) += pasemi_edac.o mpc85xx_edac_mod-y := fsl_ddr_edac.o mpc85xx_edac.o obj-$(CONFIG_EDAC_MPC85XX) += mpc85xx_edac_mod.o layerscape_edac_mod-y := fsl_ddr_edac.o layerscape_edac.o obj-$(CONFIG_EDAC_LAYERSCAPE) += layerscape_edac_mod.o skx_edac_common-y := skx_common.o skx_edac-y := skx_base.o obj-$(CONFIG_EDAC_SKX) += skx_edac.o skx_edac_common.o i10nm_edac-y := i10nm_base.o obj-$(CONFIG_EDAC_I10NM) += i10nm_edac.o skx_edac_common.o obj-$(CONFIG_EDAC_MV64X60) += mv64x60_edac.o obj-$(CONFIG_EDAC_CELL) += cell_edac.o obj-$(CONFIG_EDAC_PPC4XX) += ppc4xx_edac.o obj-$(CONFIG_EDAC_AMD8111) += amd8111_edac.o obj-$(CONFIG_EDAC_AMD8131) += amd8131_edac.o obj-$(CONFIG_EDAC_HIGHBANK_MC) += highbank_mc_edac.o obj-$(CONFIG_EDAC_HIGHBANK_L2) += highbank_l2_edac.o obj-$(CONFIG_EDAC_OCTEON_PC) += octeon_edac-pc.o obj-$(CONFIG_EDAC_OCTEON_L2C) += octeon_edac-l2c.o obj-$(CONFIG_EDAC_OCTEON_LMC) += octeon_edac-lmc.o obj-$(CONFIG_EDAC_OCTEON_PCI) += octeon_edac-pci.o obj-$(CONFIG_EDAC_THUNDERX) += thunderx_edac.o obj-$(CONFIG_EDAC_ALTERA) += altera_edac.o obj-$(CONFIG_EDAC_SIFIVE) += sifive_edac.o obj-$(CONFIG_EDAC_ARMADA_XP) += armada_xp_edac.o obj-$(CONFIG_EDAC_SYNOPSYS) += synopsys_edac.o obj-$(CONFIG_EDAC_XGENE) += xgene_edac.o obj-$(CONFIG_EDAC_TI) += ti_edac.o obj-$(CONFIG_EDAC_QCOM) += qcom_edac.o obj-$(CONFIG_EDAC_ASPEED) += aspeed_edac.o obj-$(CONFIG_EDAC_BLUEFIELD) += bluefield_edac.o mcb/Kconfig 0000644 00000001750 14722053666 0006626 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MEN Chameleon Bus (MCB) support # menuconfig MCB tristate "MCB support" default n depends on HAS_IOMEM help The MCB (MEN Chameleon Bus) is a Bus specific to MEN Mikroelektronik FPGA based devices. It is used to identify MCB based IP-Cores within an FPGA and provide the necessary framework for instantiating drivers for these devices. If build as a module, the module is called mcb.ko if MCB config MCB_PCI tristate "PCI based MCB carrier" default n depends on PCI help This is a MCB carrier on a PCI device. Both PCI attached on-board FPGAs as well as CompactPCI attached MCB FPGAs are supported with this driver. If build as a module, the module is called mcb-pci.ko config MCB_LPC tristate "LPC (non PCI) based MCB carrier" default n help This is a MCB carrier on a LPC or non PCI device. If build as a module, the module is called mcb-lpc.ko endif # MCB mcb/Makefile 0000644 00000000260 14722053666 0006756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MCB) += mcb.o mcb-y += mcb-core.o mcb-y += mcb-parse.o obj-$(CONFIG_MCB_PCI) += mcb-pci.o obj-$(CONFIG_MCB_LPC) += mcb-lpc.o soundwire/Kconfig 0000644 00000001613 14722053666 0010102 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SoundWire subsystem configuration # menuconfig SOUNDWIRE tristate "SoundWire support" depends on ACPI || OF help SoundWire is a 2-Pin interface with data and clock line ratified by the MIPI Alliance. SoundWire is used for transporting data typically related to audio functions. SoundWire interface is optimized to integrate audio devices in mobile or mobile inspired systems. Say Y to enable this subsystem, N if you do not have such a device if SOUNDWIRE comment "SoundWire Devices" config SOUNDWIRE_CADENCE tristate config SOUNDWIRE_INTEL tristate "Intel SoundWire Master driver" select SOUNDWIRE_CADENCE depends on X86 && ACPI && SND_SOC help SoundWire Intel Master driver. If you have an Intel platform which has a SoundWire Master then enable this config option to get the SoundWire support for that device. endif soundwire/Makefile 0000644 00000001070 14722053666 0010234 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for soundwire core # #Bus Objs soundwire-bus-objs := bus_type.o bus.o slave.o mipi_disco.o stream.o obj-$(CONFIG_SOUNDWIRE) += soundwire-bus.o ifdef CONFIG_DEBUG_FS soundwire-bus-objs += debugfs.o endif #Cadence Objs soundwire-cadence-objs := cadence_master.o obj-$(CONFIG_SOUNDWIRE_CADENCE) += soundwire-cadence.o #Intel driver soundwire-intel-objs := intel.o obj-$(CONFIG_SOUNDWIRE_INTEL) += soundwire-intel.o soundwire-intel-init-objs := intel_init.o obj-$(CONFIG_SOUNDWIRE_INTEL) += soundwire-intel-init.o zorro/Kconfig 0000644 00000001271 14722053666 0007236 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Zorro configuration # config ZORRO_NAMES bool "Zorro device name database" depends on ZORRO ---help--- By default, the kernel contains a database of all known Zorro device names to make the information in /proc/iomem comprehensible to the user. This database increases the size of the kernel image by about 15KB, but it gets freed after the system boots up, so it doesn't take up kernel memory. Anyway, if you are building an installation floppy or kernel for an embedded system where kernel image size really matters, you can disable this feature and you'll get device ID numbers instead of names. When in doubt, say Y. zorro/Makefile 0000644 00000001156 14722053666 0007375 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Zorro bus specific drivers. # obj-$(CONFIG_ZORRO) += zorro.o zorro-driver.o zorro-sysfs.o obj-$(CONFIG_PROC_FS) += proc.o obj-$(CONFIG_ZORRO_NAMES) += names.o hostprogs-y := gen-devlist # Files generated that shall be removed upon make clean clean-files := devlist.h # Dependencies on generated files need to be listed explicitly $(obj)/names.o: $(obj)/devlist.h # And that's how to generate them quiet_cmd_devlist = DEVLIST $@ cmd_devlist = ( cd $(obj); ./gen-devlist ) < $< $(obj)/devlist.h: $(src)/zorro.ids $(obj)/gen-devlist $(call cmd,devlist) opp/Kconfig 0000644 00000001142 14722053666 0006656 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config PM_OPP bool select SRCU ---help--- SOCs have a standard set of tuples consisting of frequency and voltage pairs that the device will support per voltage domain. This is called Operating Performance Point or OPP. The actual definitions of OPP varies over silicon within the same family of devices. OPP layer organizes the data internally using device pointers representing individual voltage domains and provides SOC implementations a ready to use framework to manage OPPs. For more information, read <file:Documentation/power/opp.rst> opp/Makefile 0000644 00000000332 14722053666 0007013 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG obj-y += core.o cpu.o obj-$(CONFIG_OF) += of.o obj-$(CONFIG_DEBUG_FS) += debugfs.o obj-$(CONFIG_ARM_TI_CPUFREQ) += ti-opp-supply.o tc/Makefile 0000644 00000000211 14722053666 0006617 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the linux kernel. # # Object file lists. obj-$(CONFIG_TC) += tc.o tc-driver.o scsi/qedf/Kconfig 0000644 00000000544 14722053666 0007745 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config QEDF tristate "QLogic QEDF 25/40/100Gb FCoE Initiator Driver Support" depends on PCI && SCSI depends on QED depends on LIBFC depends on LIBFCOE select QED_LL2 select QED_FCOE ---help--- This driver supports FCoE offload for the QLogic FastLinQ 41000 Series Converged Network Adapters. scsi/qedf/Makefile 0000644 00000000350 14722053666 0010075 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_QEDF) := qedf.o qedf-y = qedf_dbg.o qedf_main.o qedf_io.o qedf_fip.o \ qedf_attr.o qedf_els.o drv_scsi_fw_funcs.o drv_fcoe_fw_funcs.o qedf-$(CONFIG_DEBUG_FS) += qedf_debugfs.o scsi/cxlflash/Kconfig 0000644 00000000443 14722053666 0010630 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IBM CXL-attached Flash Accelerator SCSI Driver # config CXLFLASH tristate "Support for IBM CAPI Flash" depends on PCI && SCSI && (CXL || OCXL) && EEH select IRQ_POLL default m help Allows CAPI Accelerated IO to Flash If unsure, say N. scsi/cxlflash/Makefile 0000644 00000000306 14722053666 0010763 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CXLFLASH) += cxlflash.o cxlflash-y += main.o superpipe.o lunmgt.o vlun.o cxlflash-$(CONFIG_CXL) += cxl_hw.o cxlflash-$(CONFIG_OCXL) += ocxl_hw.o scsi/cxgbi/Kconfig 0000644 00000000176 14722053666 0010123 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only source "drivers/scsi/cxgbi/cxgb3i/Kconfig" source "drivers/scsi/cxgbi/cxgb4i/Kconfig" scsi/cxgbi/cxgb3i/Kconfig 0000644 00000000536 14722053666 0011302 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SCSI_CXGB3_ISCSI tristate "Chelsio T3 iSCSI support" depends on PCI && INET && (IPV6 || IPV6=n) select NETDEVICES select ETHERNET select NET_VENDOR_CHELSIO select CHELSIO_T3 select CHELSIO_LIB select SCSI_ISCSI_ATTRS ---help--- This driver supports iSCSI offload for the Chelsio T3 devices. scsi/cxgbi/cxgb3i/Kbuild 0000644 00000000313 14722053666 0011125 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y += -I$(srctree)/drivers/net/ethernet/chelsio/cxgb3 ccflags-y += -I$(srctree)/drivers/net/ethernet/chelsio/libcxgb obj-$(CONFIG_SCSI_CXGB3_ISCSI) += cxgb3i.o scsi/cxgbi/cxgb4i/Kconfig 0000644 00000000610 14722053666 0011274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SCSI_CXGB4_ISCSI tristate "Chelsio T4 iSCSI support" depends on PCI && INET && (IPV6 || IPV6=n) depends on THERMAL || !THERMAL depends on ETHERNET depends on TLS || TLS=n select NET_VENDOR_CHELSIO select CHELSIO_T4 select CHELSIO_LIB select SCSI_ISCSI_ATTRS ---help--- This driver supports iSCSI offload for the Chelsio T4 devices. scsi/cxgbi/cxgb4i/Kbuild 0000644 00000000313 14722053666 0011126 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y += -I$(srctree)/drivers/net/ethernet/chelsio/cxgb4 ccflags-y += -I$(srctree)/drivers/net/ethernet/chelsio/libcxgb obj-$(CONFIG_SCSI_CXGB4_ISCSI) += cxgb4i.o scsi/cxgbi/Makefile 0000644 00000000323 14722053666 0010252 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y += -I $(srctree)/drivers/net/ethernet/chelsio/libcxgb obj-$(CONFIG_SCSI_CXGB3_ISCSI) += libcxgbi.o cxgb3i/ obj-$(CONFIG_SCSI_CXGB4_ISCSI) += libcxgbi.o cxgb4i/ scsi/snic/Makefile 0000644 00000000473 14722053666 0010120 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_SCSI_SNIC) += snic.o snic-y := \ snic_attrs.o \ snic_main.o \ snic_res.o \ snic_isr.o \ snic_ctl.o \ snic_io.o \ snic_scsi.o \ snic_disc.o \ vnic_cq.o \ vnic_intr.o \ vnic_dev.o \ vnic_wq.o snic-$(CONFIG_SCSI_SNIC_DEBUG_FS) += snic_debugfs.o snic_trc.o scsi/bnx2fc/Kconfig 0000644 00000000536 14722053666 0010211 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SCSI_BNX2X_FCOE tristate "QLogic FCoE offload support" depends on PCI depends on (IPV6 || IPV6=n) depends on LIBFC depends on LIBFCOE depends on MMU select NETDEVICES select ETHERNET select NET_VENDOR_BROADCOM select CNIC ---help--- This driver supports FCoE offload for the QLogic devices. scsi/bnx2fc/Makefile 0000644 00000000266 14722053666 0010346 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SCSI_BNX2X_FCOE) += bnx2fc.o bnx2fc-y := bnx2fc_els.o bnx2fc_fcoe.o bnx2fc_hwi.o bnx2fc_io.o bnx2fc_tgt.o \ bnx2fc_debug.o scsi/ibmvscsi/Makefile 0000644 00000000170 14722053666 0010775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SCSI_IBMVSCSI) += ibmvscsi.o obj-$(CONFIG_SCSI_IBMVFC) += ibmvfc.o scsi/aic94xx/Kconfig 0000644 00000001215 14722053666 0010313 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Kernel configuration file for aic94xx SAS/SATA driver. # # Copyright (c) 2005 Adaptec, Inc. All rights reserved. # Copyright (c) 2005 Luben Tuikov <luben_tuikov@adaptec.com> # config SCSI_AIC94XX tristate "Adaptec AIC94xx SAS/SATA support" depends on PCI select SCSI_SAS_LIBSAS select FW_LOADER help This driver supports Adaptec's SAS/SATA 3Gb/s 64 bit PCI-X AIC94xx chip based host adapters. config AIC94XX_DEBUG bool "Compile in debug mode" default y depends on SCSI_AIC94XX help Compiles the aic94xx driver in debug mode. In debug mode, the driver prints some messages to the console. scsi/aic94xx/Makefile 0000644 00000001051 14722053666 0010446 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Adaptec aic94xx SAS/SATA driver. # # Copyright (C) 2005 Adaptec, Inc. All rights reserved. # Copyright (C) 2005 Luben Tuikov <luben_tuikov@adaptec.com> # ccflags-$(CONFIG_AIC94XX_DEBUG) := -DASD_DEBUG -DASD_ENTER_EXIT obj-$(CONFIG_SCSI_AIC94XX) += aic94xx.o aic94xx-y += aic94xx_init.o \ aic94xx_hwi.o \ aic94xx_reg.o \ aic94xx_sds.o \ aic94xx_seq.o \ aic94xx_dump.o \ aic94xx_scb.o \ aic94xx_dev.o \ aic94xx_tmf.o \ aic94xx_task.o scsi/arm/Kconfig 0000644 00000005463 14722053666 0007612 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SCSI driver configuration for Acorn # config SCSI_ACORNSCSI_3 tristate "Acorn SCSI card (aka30) support" depends on ARCH_ACORN && SCSI select SCSI_SPI_ATTRS help This enables support for the Acorn SCSI card (aka30). If you have an Acorn system with one of these, say Y. If unsure, say N. config SCSI_ACORNSCSI_TAGGED_QUEUE bool "Support SCSI 2 Tagged queueing" depends on SCSI_ACORNSCSI_3 help Say Y here to enable tagged queuing support on the Acorn SCSI card. This is a feature of SCSI-2 which improves performance: the host adapter can send several SCSI commands to a device's queue even if previous commands haven't finished yet. Some SCSI devices don't implement this properly, so the safe answer is N. config SCSI_ACORNSCSI_SYNC bool "Support SCSI 2 Synchronous Transfers" depends on SCSI_ACORNSCSI_3 help Say Y here to enable synchronous transfer negotiation with all targets on the Acorn SCSI card. In general, this improves performance; however some SCSI devices don't implement it properly, so the safe answer is N. config SCSI_ARXESCSI tristate "ARXE SCSI support" depends on ARCH_ACORN && SCSI help Around 1991, Arxe Systems Limited released a high density floppy disc interface for the Acorn Archimedes range, to allow the use of HD discs from the then new A5000 on earlier models. This interface was either sold on its own or with an integral SCSI controller. Technical details on this NCR53c94-based device are available at <http://www.cryton.demon.co.uk/acornbits/scsi_arxe.html> Say Y here to compile in support for the SCSI controller. config SCSI_CUMANA_2 tristate "CumanaSCSI II support" depends on ARCH_ACORN && SCSI help This enables support for the Cumana SCSI II card. If you have an Acorn system with one of these, say Y. If unsure, say N. config SCSI_EESOXSCSI tristate "EESOX support" depends on ARCH_ACORN && SCSI help This enables support for the EESOX SCSI card. If you have an Acorn system with one of these, say Y, otherwise say N. config SCSI_POWERTECSCSI tristate "PowerTec support" depends on ARCH_ACORN && SCSI help This enables support for the Powertec SCSI card on Acorn systems. If you have one of these, say Y. If unsure, say N. comment "The following drivers are not fully supported" depends on ARCH_ACORN config SCSI_CUMANA_1 tristate "CumanaSCSI I support" depends on ARCH_ACORN && SCSI select SCSI_SPI_ATTRS help This enables support for the Cumana SCSI I card. If you have an Acorn system with one of these, say Y. If unsure, say N. config SCSI_OAK1 tristate "Oak SCSI support" depends on ARCH_ACORN && SCSI select SCSI_SPI_ATTRS help This enables support for the Oak SCSI card. If you have an Acorn system with one of these, say Y. If unsure, say N. scsi/arm/Makefile 0000644 00000001045 14722053666 0007737 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for drivers/scsi/arm # acornscsi_mod-objs := acornscsi.o acornscsi-io.o obj-$(CONFIG_SCSI_ACORNSCSI_3) += acornscsi_mod.o queue.o msgqueue.o obj-$(CONFIG_SCSI_ARXESCSI) += arxescsi.o fas216.o queue.o msgqueue.o obj-$(CONFIG_SCSI_CUMANA_1) += cumana_1.o obj-$(CONFIG_SCSI_CUMANA_2) += cumana_2.o fas216.o queue.o msgqueue.o obj-$(CONFIG_SCSI_OAK1) += oak.o obj-$(CONFIG_SCSI_POWERTECSCSI) += powertec.o fas216.o queue.o msgqueue.o obj-$(CONFIG_SCSI_EESOXSCSI) += eesox.o fas216.o queue.o msgqueue.o scsi/ibmvscsi_tgt/Makefile 0000644 00000000174 14722053666 0011657 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SCSI_IBMVSCSIS) += ibmvscsis.o ibmvscsis-y := libsrp.o ibmvscsi_tgt.o scsi/bnx2i/Kconfig 0000644 00000000566 14722053666 0010054 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SCSI_BNX2_ISCSI tristate "QLogic NetXtreme II iSCSI support" depends on NET depends on PCI depends on (IPV6 || IPV6=n) depends on MMU select SCSI_ISCSI_ATTRS select NETDEVICES select ETHERNET select NET_VENDOR_BROADCOM select CNIC ---help--- This driver supports iSCSI offload for the QLogic NetXtreme II devices. scsi/bnx2i/Makefile 0000644 00000000222 14722053666 0010176 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only bnx2i-y := bnx2i_init.o bnx2i_hwi.o bnx2i_iscsi.o bnx2i_sysfs.o obj-$(CONFIG_SCSI_BNX2_ISCSI) += bnx2i.o scsi/sym53c8xx_2/Makefile 0000644 00000000350 14722053666 0011172 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Makefile for the NCR/SYMBIOS/LSI 53C8XX PCI SCSI controllers driver. sym53c8xx-objs := sym_fw.o sym_glue.o sym_hipd.o sym_malloc.o sym_nvram.o obj-$(CONFIG_SCSI_SYM53C8XX_2) := sym53c8xx.o scsi/ufs/Kconfig 0000644 00000012774 14722053666 0007633 0 ustar 00 # # Kernel configuration file for the UFS Host Controller # # This code is based on drivers/scsi/ufs/Kconfig # Copyright (C) 2011-2013 Samsung India Software Operations # # Authors: # Santosh Yaraganavi <santosh.sy@samsung.com> # Vinayak Holikatti <h.vinayak@samsung.com> # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # See the COPYING file in the top-level directory or visit # <http://www.gnu.org/licenses/gpl-2.0.html> # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # This program is provided "AS IS" and "WITH ALL FAULTS" and # without warranty of any kind. You are solely responsible for # determining the appropriateness of using and distributing # the program and assume all risks associated with your exercise # of rights with respect to the program, including but not limited # to infringement of third party rights, the risks and costs of # program errors, damage to or loss of data, programs or equipment, # and unavailability or interruption of operations. Under no # circumstances will the contributor of this Program be liable for # any damages of any kind arising from your use or distribution of # this program. config SCSI_UFSHCD tristate "Universal Flash Storage Controller Driver Core" depends on SCSI && SCSI_DMA select PM_DEVFREQ select DEVFREQ_GOV_SIMPLE_ONDEMAND select NLS ---help--- This selects the support for UFS devices in Linux, say Y and make sure that you know the name of your UFS host adapter (the card inside your computer that "speaks" the UFS protocol, also called UFS Host Controller), because you will be asked for it. The module will be called ufshcd. To compile this driver as a module, choose M here and read <file:Documentation/scsi/ufs.txt>. However, do not compile this as a module if your root file system (the one containing the directory /) is located on a UFS device. config SCSI_UFSHCD_PCI tristate "PCI bus based UFS Controller support" depends on SCSI_UFSHCD && PCI ---help--- This selects the PCI UFS Host Controller Interface. Select this if you have UFS Host Controller with PCI Interface. If you have a controller with this interface, say Y or M here. If unsure, say N. config SCSI_UFS_DWC_TC_PCI tristate "DesignWare pci support using a G210 Test Chip" depends on SCSI_UFSHCD_PCI ---help--- Synopsys Test Chip is a PHY for prototyping purposes. If unsure, say N. config SCSI_UFSHCD_PLATFORM tristate "Platform bus based UFS Controller support" depends on SCSI_UFSHCD ---help--- This selects the UFS host controller support. Select this if you have an UFS controller on Platform bus. If you have a controller with this interface, say Y or M here. If unsure, say N. config SCSI_UFS_CDNS_PLATFORM tristate "Cadence UFS Controller platform driver" depends on SCSI_UFSHCD_PLATFORM help This selects the Cadence-specific additions to UFSHCD platform driver. If unsure, say N. config SCSI_UFS_DWC_TC_PLATFORM tristate "DesignWare platform support using a G210 Test Chip" depends on SCSI_UFSHCD_PLATFORM ---help--- Synopsys Test Chip is a PHY for prototyping purposes. If unsure, say N. config SCSI_UFS_QCOM tristate "QCOM specific hooks to UFS controller platform driver" depends on SCSI_UFSHCD_PLATFORM && ARCH_QCOM select RESET_CONTROLLER help This selects the QCOM specific additions to UFSHCD platform driver. UFS host on QCOM needs some vendor specific configuration before accessing the hardware which includes PHY configuration and vendor specific registers. Select this if you have UFS controller on QCOM chipset. If unsure, say N. config SCSI_UFS_MEDIATEK tristate "Mediatek specific hooks to UFS controller platform driver" depends on SCSI_UFSHCD_PLATFORM && ARCH_MEDIATEK select PHY_MTK_UFS help This selects the Mediatek specific additions to UFSHCD platform driver. UFS host on Mediatek needs some vendor specific configuration before accessing the hardware which includes PHY configuration and vendor specific registers. Select this if you have UFS controller on Mediatek chipset. If unsure, say N. config SCSI_UFS_HISI tristate "Hisilicon specific hooks to UFS controller platform driver" depends on (ARCH_HISI || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM ---help--- This selects the Hisilicon specific additions to UFSHCD platform driver. Select this if you have UFS controller on Hisilicon chipset. If unsure, say N. config SCSI_UFS_BSG bool "Universal Flash Storage BSG device node" depends on SCSI_UFSHCD select BLK_DEV_BSGLIB help Universal Flash Storage (UFS) is SCSI transport specification for accessing flash storage on digital cameras, mobile phones and consumer electronic devices. A UFS controller communicates with a UFS device by exchanging UFS Protocol Information Units (UPIUs). UPIUs can not only be used as a transport layer for the SCSI protocol but are also used by the UFS native command set. This transport driver supports exchanging UFS protocol information units with a UFS device. See also the ufshcd driver, which is a SCSI driver that supports UFS devices. Select this if you need a bsg device node for your UFS controller. If unsure, say N. scsi/ufs/Makefile 0000644 00000001205 14722053666 0007753 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # UFSHCD makefile obj-$(CONFIG_SCSI_UFS_DWC_TC_PCI) += tc-dwc-g210-pci.o ufshcd-dwc.o tc-dwc-g210.o obj-$(CONFIG_SCSI_UFS_DWC_TC_PLATFORM) += tc-dwc-g210-pltfrm.o ufshcd-dwc.o tc-dwc-g210.o obj-$(CONFIG_SCSI_UFS_CDNS_PLATFORM) += cdns-pltfrm.o obj-$(CONFIG_SCSI_UFS_QCOM) += ufs-qcom.o obj-$(CONFIG_SCSI_UFSHCD) += ufshcd-core.o ufshcd-core-y += ufshcd.o ufs-sysfs.o ufshcd-core-$(CONFIG_SCSI_UFS_BSG) += ufs_bsg.o obj-$(CONFIG_SCSI_UFSHCD_PCI) += ufshcd-pci.o obj-$(CONFIG_SCSI_UFSHCD_PLATFORM) += ufshcd-pltfrm.o obj-$(CONFIG_SCSI_UFS_HISI) += ufs-hisi.o obj-$(CONFIG_SCSI_UFS_MEDIATEK) += ufs-mediatek.o scsi/hisi_sas/Kconfig 0000644 00000000736 14722053666 0010633 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SCSI_HISI_SAS tristate "HiSilicon SAS" depends on HAS_IOMEM depends on ARM64 || COMPILE_TEST select SCSI_SAS_LIBSAS select BLK_DEV_INTEGRITY depends on ATA help This driver supports HiSilicon's SAS HBA, including support based on platform device config SCSI_HISI_SAS_PCI tristate "HiSilicon SAS on PCI bus" depends on SCSI_HISI_SAS depends on PCI help This driver supports HiSilicon's SAS HBA based on PCI device scsi/hisi_sas/Makefile 0000644 00000000317 14722053666 0010763 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SCSI_HISI_SAS) += hisi_sas_main.o obj-$(CONFIG_SCSI_HISI_SAS) += hisi_sas_v1_hw.o hisi_sas_v2_hw.o obj-$(CONFIG_SCSI_HISI_SAS_PCI) += hisi_sas_v3_hw.o scsi/aic7xxx/Kconfig.aic7xxx 0000644 00000007074 14722053666 0012020 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # AIC7XXX and AIC79XX 2.5.X Kernel configuration File. # $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic7xxx#7 $ # config SCSI_AIC7XXX tristate "Adaptec AIC7xxx Fast -> U160 support" depends on (PCI || EISA) && SCSI select SCSI_SPI_ATTRS ---help--- This driver supports all of Adaptec's Fast through Ultra 160 PCI based SCSI controllers as well as the aic7770 based EISA and VLB SCSI controllers (the 274x and 284x series). For AAA and ARO based configurations, only SCSI functionality is provided. To compile this driver as a module, choose M here: the module will be called aic7xxx. config AIC7XXX_CMDS_PER_DEVICE int "Maximum number of TCQ commands per device" depends on SCSI_AIC7XXX default "32" ---help--- Specify the number of commands you would like to allocate per SCSI device when Tagged Command Queueing (TCQ) is enabled on that device. This is an upper bound value for the number of tagged transactions to be used for any device. The aic7xxx driver will automatically vary this number based on device behavior. For devices with a fixed maximum, the driver will eventually lock to this maximum and display a console message indicating this value. Due to resource allocation issues in the Linux SCSI mid-layer, using a high number of commands per device may result in memory allocation failures when many devices are attached to the system. For this reason, the default is set to 32. Higher values may result in higher performance on some devices. The upper bound is 253. 0 disables tagged queueing. Per device tag depth can be controlled via the kernel command line "tag_info" option. See Documentation/scsi/aic7xxx.txt for details. config AIC7XXX_RESET_DELAY_MS int "Initial bus reset delay in milli-seconds" depends on SCSI_AIC7XXX default "5000" ---help--- The number of milliseconds to delay after an initial bus reset. The bus settle delay following all error recovery actions is dictated by the SCSI layer and is not affected by this value. Default: 5000 (5 seconds) config AIC7XXX_BUILD_FIRMWARE bool "Build Adapter Firmware with Kernel Build" depends on SCSI_AIC7XXX && !PREVENT_FIRMWARE_BUILD help This option should only be enabled if you are modifying the firmware source to the aic7xxx driver and wish to have the generated firmware include files updated during a normal kernel build. The assembler for the firmware requires lex and yacc or their equivalents, as well as the db v1 library. You may have to install additional packages or modify the assembler Makefile or the files it includes if your build environment is different than that of the author. config AIC7XXX_DEBUG_ENABLE bool "Compile in Debugging Code" depends on SCSI_AIC7XXX default y help Compile in aic7xxx debugging code that can be useful in diagnosing driver errors. config AIC7XXX_DEBUG_MASK int "Debug code enable mask (2047 for all debugging)" depends on SCSI_AIC7XXX default "0" help Bit mask of debug options that is only valid if the CONFIG_AIC7XXX_DEBUG_ENABLE option is enabled. The bits in this mask are defined in the drivers/scsi/aic7xxx/aic7xxx.h - search for the variable ahc_debug in that file to find them. config AIC7XXX_REG_PRETTY_PRINT bool "Decode registers during diagnostics" depends on SCSI_AIC7XXX default y help Compile in register value tables for the output of expanded register contents in diagnostics. This make it much easier to understand debug output without having to refer to a data book and/or the aic7xxx.reg file. scsi/aic7xxx/Kconfig.aic79xx 0000644 00000006340 14722053666 0011714 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # AIC79XX 2.5.X Kernel configuration File. # $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic79xx#4 $ # config SCSI_AIC79XX tristate "Adaptec AIC79xx U320 support" depends on PCI && SCSI select SCSI_SPI_ATTRS help This driver supports all of Adaptec's Ultra 320 PCI-X based SCSI controllers. config AIC79XX_CMDS_PER_DEVICE int "Maximum number of TCQ commands per device" depends on SCSI_AIC79XX default "32" ---help--- Specify the number of commands you would like to allocate per SCSI device when Tagged Command Queueing (TCQ) is enabled on that device. This is an upper bound value for the number of tagged transactions to be used for any device. The aic7xxx driver will automatically vary this number based on device behavior. For devices with a fixed maximum, the driver will eventually lock to this maximum and display a console message indicating this value. Due to resource allocation issues in the Linux SCSI mid-layer, using a high number of commands per device may result in memory allocation failures when many devices are attached to the system. For this reason, the default is set to 32. Higher values may result in higher performance on some devices. The upper bound is 253. 0 disables tagged queueing. Per device tag depth can be controlled via the kernel command line "tag_info" option. See Documentation/scsi/aic79xx.txt for details. config AIC79XX_RESET_DELAY_MS int "Initial bus reset delay in milli-seconds" depends on SCSI_AIC79XX default "5000" ---help--- The number of milliseconds to delay after an initial bus reset. The bus settle delay following all error recovery actions is dictated by the SCSI layer and is not affected by this value. Default: 5000 (5 seconds) config AIC79XX_BUILD_FIRMWARE bool "Build Adapter Firmware with Kernel Build" depends on SCSI_AIC79XX && !PREVENT_FIRMWARE_BUILD help This option should only be enabled if you are modifying the firmware source to the aic79xx driver and wish to have the generated firmware include files updated during a normal kernel build. The assembler for the firmware requires lex and yacc or their equivalents, as well as the db v1 library. You may have to install additional packages or modify the assembler Makefile or the files it includes if your build environment is different than that of the author. config AIC79XX_DEBUG_ENABLE bool "Compile in Debugging Code" depends on SCSI_AIC79XX default y help Compile in aic79xx debugging code that can be useful in diagnosing driver errors. config AIC79XX_DEBUG_MASK int "Debug code enable mask (16383 for all debugging)" depends on SCSI_AIC79XX default "0" help Bit mask of debug options that is only valid if the CONFIG_AIC79XX_DEBUG_ENABLE option is enabled. The bits in this mask are defined in the drivers/scsi/aic7xxx/aic79xx.h - search for the variable ahd_debug in that file to find them. config AIC79XX_REG_PRETTY_PRINT bool "Decode registers during diagnostics" depends on SCSI_AIC79XX default y help Compile in register value tables for the output of expanded register contents in diagnostics. This make it much easier to understand debug output without having to refer to a data book and/or the aic7xxx.reg file. scsi/aic7xxx/Makefile 0000644 00000005550 14722053666 0010560 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux aic7xxx SCSI driver. # # $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#8 $ # # Let kbuild descend into aicasm when cleaning subdir- += aicasm obj-$(CONFIG_SCSI_AIC7XXX) += aic7xxx.o obj-$(CONFIG_SCSI_AIC79XX) += aic79xx.o # Core Fast -> U160 files aic7xxx-y += aic7xxx_core.o \ aic7xxx_93cx6.o aic7xxx-$(CONFIG_EISA) += aic7770.o aic7xxx-$(CONFIG_PCI) += aic7xxx_pci.o aic7xxx-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) += aic7xxx_reg_print.o # Platform Specific Fast -> U160 Files aic7xxx-y += aic7xxx_osm.o \ aic7xxx_proc.o aic7xxx-$(CONFIG_EISA) += aic7770_osm.o aic7xxx-$(CONFIG_PCI) += aic7xxx_osm_pci.o # Core U320 files aic79xx-y += aic79xx_core.o \ aic79xx_pci.o aic79xx-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) += aic79xx_reg_print.o # Platform Specific U320 Files aic79xx-y += aic79xx_osm.o \ aic79xx_proc.o \ aic79xx_osm_pci.o ifdef WARNINGS_BECOME_ERRORS ccflags-y += -Werror endif # Files generated that shall be removed upon make clean clean-files := aic7xxx_seq.h aic7xxx_reg.h aic7xxx_reg_print.c clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c # Dependencies for generated files need to be listed explicitly $(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h $(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE) := $(obj)/aic7xxx_reg.h aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) += $(obj)/aic7xxx_reg_print.c aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) := \ -p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y) $(obj)/aic7xxx_seq.h: $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm $(obj)/aicasm/aicasm -I$(srctree)/$(src) -r $(obj)/aic7xxx_reg.h \ $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \ $(srctree)/$(src)/aic7xxx.seq $(aic7xxx-gen-y): $(objtree)/$(obj)/aic7xxx_seq.h @true else $(obj)/aic7xxx_reg_print.c: $(src)/aic7xxx_reg_print.c_shipped endif aic79xx-gen-$(CONFIG_AIC79XX_BUILD_FIRMWARE) := $(obj)/aic79xx_reg.h aic79xx-gen-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) += $(obj)/aic79xx_reg_print.c aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) := \ -p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y) $(obj)/aic79xx_seq.h: $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm $(obj)/aicasm/aicasm -I$(srctree)/$(src) -r $(obj)/aic79xx_reg.h \ $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \ $(srctree)/$(src)/aic79xx.seq $(aic79xx-gen-y): $(objtree)/$(obj)/aic79xx_seq.h @true else $(obj)/aic79xx_reg_print.c: $(src)/aic79xx_reg_print.c_shipped endif $(obj)/aicasm/aicasm: $(srctree)/$(src)/aicasm/*.[chyl] $(MAKE) -C $(srctree)/$(src)/aicasm OUTDIR=$(shell pwd)/$(obj)/aicasm/ scsi/aic7xxx/aicasm/Makefile 0000644 00000004537 14722053666 0012021 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 PROG= aicasm OUTDIR ?= ./ .SUFFIXES= .l .y .c .h CSRCS= aicasm.c aicasm_symbol.c YSRCS= aicasm_gram.y aicasm_macro_gram.y LSRCS= aicasm_scan.l aicasm_macro_scan.l GENHDRS= $(addprefix ${OUTDIR}/,aicdb.h $(YSRCS:.y=.h)) GENSRCS= $(addprefix ${OUTDIR}/,$(YSRCS:.y=.c) $(LSRCS:.l=.c)) SRCS= ${CSRCS} ${GENSRCS} LIBS= -ldb clean-files:= ${GENSRCS} ${GENHDRS} $(YSRCS:.y=.output) $(PROG) # Override default kernel CFLAGS. This is a userland app. AICASM_CFLAGS:= -I/usr/include -I. -I$(OUTDIR) LEX= flex YACC= bison YFLAGS= -d NOMAN= noman ifneq ($(HOSTCC),) AICASM_CC= $(HOSTCC) else AICASM_CC= $(CC) endif ifdef DEBUG CFLAGS+= -DDEBUG -g YFLAGS+= -t -v LFLAGS= -d endif $(PROG): $(OUTDIR) ${GENHDRS} $(SRCS) $(AICASM_CC) $(AICASM_CFLAGS) $(SRCS) -o $(OUTDIR)/$(PROG) $(LIBS) $(OUTDIR): mkdir -p $(OUTDIR) $(OUTDIR)/aicdb.h: @if [ -e "/usr/include/db4/db_185.h" ]; then \ echo "#include <db4/db_185.h>" > $@; \ elif [ -e "/usr/include/db3/db_185.h" ]; then \ echo "#include <db3/db_185.h>" > $@; \ elif [ -e "/usr/include/db2/db_185.h" ]; then \ echo "#include <db2/db_185.h>" > $@; \ elif [ -e "/usr/include/db1/db_185.h" ]; then \ echo "#include <db1/db_185.h>" > $@; \ elif [ -e "/usr/include/db/db_185.h" ]; then \ echo "#include <db/db_185.h>" > $@; \ elif [ -e "/usr/include/db_185.h" ]; then \ echo "#include <db_185.h>" > $@; \ else \ echo "*** Install db development libraries"; \ fi clean: rm -f $(clean-files) # Create a dependency chain in generated files # to avoid concurrent invocations of the single # rule that builds them all. $(OUTDIR)/aicasm_gram.c: $(OUTDIR)/aicasm_gram.h $(OUTDIR)/aicasm_gram.c $(OUTDIR)/aicasm_gram.h: aicasm_gram.y $(YACC) $(YFLAGS) -b $(<:.y=) $< mv $(<:.y=).tab.c $(OUTDIR)/$(<:.y=.c) mv $(<:.y=).tab.h $(OUTDIR)/$(<:.y=.h) # Create a dependency chain in generated files # to avoid concurrent invocations of the single # rule that builds them all. $(OUTDIR)/aicasm_macro_gram.c: $(OUTDIR)/aicasm_macro_gram.h $(OUTDIR)/aicasm_macro_gram.c $(OUTDIR)/aicasm_macro_gram.h: aicasm_macro_gram.y $(YACC) $(YFLAGS) -b $(<:.y=) -p mm $< mv $(<:.y=).tab.c $(OUTDIR)/$(<:.y=.c) mv $(<:.y=).tab.h $(OUTDIR)/$(<:.y=.h) $(OUTDIR)/aicasm_scan.c: aicasm_scan.l $(LEX) $(LFLAGS) -o $@ $< $(OUTDIR)/aicasm_macro_scan.c: aicasm_macro_scan.l $(LEX) $(LFLAGS) -Pmm -o $@ $< scsi/Kconfig 0000644 00000146611 14722053666 0007034 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "SCSI device support" config SCSI_MOD tristate default y if SCSI=n || SCSI=y default m if SCSI=m config RAID_ATTRS tristate "RAID Transport Class" default n depends on BLOCK depends on SCSI_MOD ---help--- Provides RAID config SCSI tristate "SCSI device support" depends on BLOCK select SCSI_DMA if HAS_DMA select SG_POOL select BLK_SCSI_REQUEST ---help--- If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or any other SCSI device under Linux, say Y and make sure that you know the name of your SCSI host adapter (the card inside your computer that "speaks" the SCSI protocol, also called SCSI controller), because you will be asked for it. You also need to say Y here if you have a device which speaks the SCSI protocol. Examples of this include the parallel port version of the IOMEGA ZIP drive, USB storage devices, Fibre Channel, and FireWire storage. To compile this driver as a module, choose M here and read <file:Documentation/scsi/scsi.txt>. The module will be called scsi_mod. However, do not compile this as a module if your root file system (the one containing the directory /) is located on a SCSI device. config SCSI_DMA bool default n config SCSI_ESP_PIO bool config SCSI_NETLINK bool default n depends on NET config SCSI_PROC_FS bool "legacy /proc/scsi/ support" depends on SCSI && PROC_FS default y ---help--- This option enables support for the various files in /proc/scsi. In Linux 2.6 this has been superseded by files in sysfs but many legacy applications rely on this. If unsure say Y. comment "SCSI support type (disk, tape, CD-ROM)" depends on SCSI config BLK_DEV_SD tristate "SCSI disk support" depends on SCSI ---help--- If you want to use SCSI hard disks, Fibre Channel disks, Serial ATA (SATA) or Parallel ATA (PATA) hard disks, USB storage or the SCSI or parallel port version of the IOMEGA ZIP drive, say Y and read the SCSI-HOWTO, the Disk-HOWTO and the Multi-Disk-HOWTO, available from <http://www.tldp.org/docs.html#howto>. This is NOT for SCSI CD-ROMs. To compile this driver as a module, choose M here and read <file:Documentation/scsi/scsi.txt>. The module will be called sd_mod. Do not compile this driver as a module if your root file system (the one containing the directory /) is located on a SCSI disk. In this case, do not compile the driver for your SCSI host adapter (below) as a module either. config CHR_DEV_ST tristate "SCSI tape support" depends on SCSI ---help--- If you want to use a SCSI tape drive under Linux, say Y and read the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>, and <file:Documentation/scsi/st.txt> in the kernel source. This is NOT for SCSI CD-ROMs. To compile this driver as a module, choose M here and read <file:Documentation/scsi/scsi.txt>. The module will be called st. config BLK_DEV_SR tristate "SCSI CDROM support" depends on SCSI && BLK_DEV select CDROM ---help--- If you want to use a CD or DVD drive attached to your computer by SCSI, FireWire, USB or ATAPI, say Y and read the SCSI-HOWTO and the CDROM-HOWTO at <http://www.tldp.org/docs.html#howto>. Make sure to say Y or M to "ISO 9660 CD-ROM file system support". To compile this driver as a module, choose M here and read <file:Documentation/scsi/scsi.txt>. The module will be called sr_mod. config CHR_DEV_SG tristate "SCSI generic support" depends on SCSI ---help--- If you want to use SCSI scanners, synthesizers or CD-writers or just about anything having "SCSI" in its name other than hard disks, CD-ROMs or tapes, say Y here. These won't be supported by the kernel directly, so you need some additional software which knows how to talk to these devices using the SCSI protocol: For scanners, look at SANE (<http://www.sane-project.org/>). For CD writer software look at Cdrtools (<http://cdrecord.berlios.de/private/cdrecord.html>) and for burning a "disk at once": CDRDAO (<http://cdrdao.sourceforge.net/>). Cdparanoia is a high quality digital reader of audio CDs (<http://www.xiph.org/paranoia/>). For other devices, it's possible that you'll have to write the driver software yourself. Please read the file <file:Documentation/scsi/scsi-generic.txt> for more information. To compile this driver as a module, choose M here and read <file:Documentation/scsi/scsi.txt>. The module will be called sg. If unsure, say N. config CHR_DEV_SCH tristate "SCSI media changer support" depends on SCSI ---help--- This is a driver for SCSI media changers. Most common devices are tape libraries and MOD/CDROM jukeboxes. *Real* jukeboxes, you don't need this for those tiny 6-slot cdrom changers. Media changers are listed as "Type: Medium Changer" in /proc/scsi/scsi. If you have such hardware and want to use it with linux, say Y here. Check <file:Documentation/scsi/scsi-changer.txt> for details. If you want to compile this as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read <file:Documentation/kbuild/modules.rst> and <file:Documentation/scsi/scsi.txt>. The module will be called ch.o. If unsure, say N. config SCSI_ENCLOSURE tristate "SCSI Enclosure Support" depends on SCSI && ENCLOSURE_SERVICES depends on m || SCSI_SAS_ATTRS != m help Enclosures are devices sitting on or in SCSI backplanes that manage devices. If you have a disk cage, the chances are that it has an enclosure device. Selecting this option will just allow certain enclosure conditions to be reported and is not required. config SCSI_CONSTANTS bool "Verbose SCSI error reporting (kernel size += 36K)" depends on SCSI help The error messages regarding your SCSI hardware will be easier to understand if you say Y here; it will enlarge your kernel by about 36 KB. If in doubt, say Y. config SCSI_LOGGING bool "SCSI logging facility" depends on SCSI ---help--- This turns on a logging facility that can be used to debug a number of SCSI related problems. If you say Y here, no logging output will appear by default, but you can enable logging by saying Y to "/proc file system support" and "Sysctl support" below and executing the command echo <bitmask> > /proc/sys/dev/scsi/logging_level where <bitmask> is a four byte value representing the logging type and logging level for each type of logging selected. There are a number of logging types and you can find them in the source at <file:drivers/scsi/scsi_logging.h>. The logging levels are also described in that file and they determine the verbosity of the logging for each logging type. If you say N here, it may be harder to track down some types of SCSI problems. If you say Y here your kernel will be somewhat larger, but there should be no noticeable performance impact as long as you have logging turned off. config SCSI_SCAN_ASYNC bool "Asynchronous SCSI scanning" depends on SCSI help The SCSI subsystem can probe for devices while the rest of the system continues booting, and even probe devices on different busses in parallel, leading to a significant speed-up. You can override this choice by specifying "scsi_mod.scan=sync" or async on the kernel's command line. Note that this setting also affects whether resuming from system suspend will be performed asynchronously. menu "SCSI Transports" depends on SCSI config SCSI_SPI_ATTRS tristate "Parallel SCSI (SPI) Transport Attributes" depends on SCSI help If you wish to export transport-specific information about each attached SCSI device to sysfs, say Y. Otherwise, say N. config SCSI_FC_ATTRS tristate "FiberChannel Transport Attributes" depends on SCSI && NET select BLK_DEV_BSGLIB select SCSI_NETLINK help If you wish to export transport-specific information about each attached FiberChannel device to sysfs, say Y. Otherwise, say N. config SCSI_ISCSI_ATTRS tristate "iSCSI Transport Attributes" depends on SCSI && NET select BLK_DEV_BSGLIB help If you wish to export transport-specific information about each attached iSCSI device to sysfs, say Y. Otherwise, say N. config SCSI_SAS_ATTRS tristate "SAS Transport Attributes" depends on SCSI select BLK_DEV_BSGLIB help If you wish to export transport-specific information about each attached SAS device to sysfs, say Y. source "drivers/scsi/libsas/Kconfig" config SCSI_SRP_ATTRS tristate "SRP Transport Attributes" depends on SCSI help If you wish to export transport-specific information about each attached SRP device to sysfs, say Y. endmenu menuconfig SCSI_LOWLEVEL bool "SCSI low-level drivers" depends on SCSI!=n default y if SCSI_LOWLEVEL && SCSI config ISCSI_TCP tristate "iSCSI Initiator over TCP/IP" depends on SCSI && INET select CRYPTO select CRYPTO_MD5 select CRYPTO_CRC32C select SCSI_ISCSI_ATTRS help The iSCSI Driver provides a host with the ability to access storage through an IP network. The driver uses the iSCSI protocol to transport SCSI requests and responses over a TCP/IP network between the host (the "initiator") and "targets". Architecturally, the iSCSI driver combines with the host's TCP/IP stack, network drivers, and Network Interface Card (NIC) to provide the same functions as a SCSI or a Fibre Channel (FC) adapter driver with a Host Bus Adapter (HBA). To compile this driver as a module, choose M here: the module will be called iscsi_tcp. The userspace component needed to initialize the driver, documentation, and sample configuration files can be found here: http://open-iscsi.org config ISCSI_BOOT_SYSFS tristate "iSCSI Boot Sysfs Interface" default n help This option enables support for exposing iSCSI boot information via sysfs to userspace. If you wish to export this information, say Y. Otherwise, say N. source "drivers/scsi/cxgbi/Kconfig" source "drivers/scsi/bnx2i/Kconfig" source "drivers/scsi/bnx2fc/Kconfig" source "drivers/scsi/be2iscsi/Kconfig" source "drivers/scsi/cxlflash/Kconfig" config SGIWD93_SCSI tristate "SGI WD93C93 SCSI Driver" depends on SGI_HAS_WD93 && SCSI help If you have a Western Digital WD93 SCSI controller on an SGI MIPS system, say Y. Otherwise, say N. config BLK_DEV_3W_XXXX_RAID tristate "3ware 5/6/7/8xxx ATA-RAID support" depends on PCI && SCSI help 3ware is the only hardware ATA-Raid product in Linux to date. This card is 2,4, or 8 channel master mode support only. SCSI support required!!! <http://www.3ware.com/> Please read the comments at the top of <file:drivers/scsi/3w-xxxx.c>. config SCSI_HPSA tristate "HP Smart Array SCSI driver" depends on PCI && SCSI select CHECK_SIGNATURE select SCSI_SAS_ATTRS help This driver supports HP Smart Array Controllers (circa 2009). It is a SCSI alternative to the cciss driver, which is a block driver. Anyone wishing to use HP Smart Array controllers who would prefer the devices be presented to linux as SCSI devices, rather than as generic block devices should say Y here. config SCSI_3W_9XXX tristate "3ware 9xxx SATA-RAID support" depends on PCI && SCSI help This driver supports the 9000 series 3ware SATA-RAID cards. <http://www.amcc.com> Please read the comments at the top of <file:drivers/scsi/3w-9xxx.c>. config SCSI_3W_SAS tristate "3ware 97xx SAS/SATA-RAID support" depends on PCI && SCSI help This driver supports the LSI 3ware 9750 6Gb/s SAS/SATA-RAID cards. <http://www.lsi.com> Please read the comments at the top of <file:drivers/scsi/3w-sas.c>. config SCSI_ACARD tristate "ACARD SCSI support" depends on PCI && SCSI help This driver supports the ACARD SCSI host adapter. Support Chip <ATP870 ATP876 ATP880 ATP885> To compile this driver as a module, choose M here: the module will be called atp870u. config SCSI_AHA152X tristate "Adaptec AHA152X/2825 support" depends on ISA && SCSI select SCSI_SPI_ATTRS select CHECK_SIGNATURE ---help--- This is a driver for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825 SCSI host adapters. It also works for the AVA-1505, but the IRQ etc. must be manually specified in this case. It is explained in section 3.3 of the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>. You might also want to read the file <file:Documentation/scsi/aha152x.txt>. To compile this driver as a module, choose M here: the module will be called aha152x. config SCSI_AHA1542 tristate "Adaptec AHA1542 support" depends on ISA && SCSI && ISA_DMA_API ---help--- This is support for a SCSI host adapter. It is explained in section 3.4 of the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>. Note that Trantor was purchased by Adaptec, and some former Trantor products are being sold under the Adaptec name. If it doesn't work out of the box, you may have to change some settings in <file:drivers/scsi/aha1542.h>. To compile this driver as a module, choose M here: the module will be called aha1542. config SCSI_AHA1740 tristate "Adaptec AHA1740 support" depends on EISA && SCSI ---help--- This is support for a SCSI host adapter. It is explained in section 3.5 of the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>. If it doesn't work out of the box, you may have to change some settings in <file:drivers/scsi/aha1740.h>. To compile this driver as a module, choose M here: the module will be called aha1740. config SCSI_AACRAID tristate "Adaptec AACRAID support" depends on SCSI && PCI help This driver supports a variety of Dell, HP, Adaptec, IBM and ICP storage products. For a list of supported products, refer to <file:Documentation/scsi/aacraid.txt>. To compile this driver as a module, choose M here: the module will be called aacraid. source "drivers/scsi/aic7xxx/Kconfig.aic7xxx" source "drivers/scsi/aic7xxx/Kconfig.aic79xx" source "drivers/scsi/aic94xx/Kconfig" source "drivers/scsi/hisi_sas/Kconfig" source "drivers/scsi/mvsas/Kconfig" config SCSI_MVUMI tristate "Marvell UMI driver" depends on SCSI && PCI help Module for Marvell Universal Message Interface(UMI) driver To compile this driver as a module, choose M here: the module will be called mvumi. config SCSI_DPT_I2O tristate "Adaptec I2O RAID support " depends on SCSI && PCI help This driver supports all of Adaptec's I2O based RAID controllers as well as the DPT SmartRaid V cards. This is an Adaptec maintained driver by Deanna Bonds. See <file:Documentation/scsi/dpti.txt>. To compile this driver as a module, choose M here: the module will be called dpt_i2o. config SCSI_ADVANSYS tristate "AdvanSys SCSI support" depends on SCSI depends on ISA || EISA || PCI depends on ISA_DMA_API || !ISA help This is a driver for all SCSI host adapters manufactured by AdvanSys. It is documented in the kernel source in <file:drivers/scsi/advansys.c>. To compile this driver as a module, choose M here: the module will be called advansys. config SCSI_ARCMSR tristate "ARECA (ARC11xx/12xx/13xx/16xx) SATA/SAS RAID Host Adapter" depends on PCI && SCSI help This driver supports all of ARECA's SATA/SAS RAID controller cards. This is an ARECA-maintained driver by Erich Chen. If you have any problems, please mail to: <erich@areca.com.tw>. Areca supports Linux RAID config tools. Please link <http://www.areca.com.tw> To compile this driver as a module, choose M here: the module will be called arcmsr (modprobe arcmsr). source "drivers/scsi/esas2r/Kconfig" source "drivers/scsi/megaraid/Kconfig.megaraid" source "drivers/scsi/mpt3sas/Kconfig" source "drivers/scsi/smartpqi/Kconfig" source "drivers/scsi/ufs/Kconfig" config SCSI_HPTIOP tristate "HighPoint RocketRAID 3xxx/4xxx Controller support" depends on SCSI && PCI help This option enables support for HighPoint RocketRAID 3xxx/4xxx controllers. To compile this driver as a module, choose M here; the module will be called hptiop. If unsure, say N. config SCSI_BUSLOGIC tristate "BusLogic SCSI support" depends on (PCI || ISA) && SCSI && ISA_DMA_API && VIRT_TO_BUS ---help--- This is support for BusLogic MultiMaster and FlashPoint SCSI Host Adapters. Consult the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>, and the files <file:Documentation/scsi/BusLogic.txt> and <file:Documentation/scsi/FlashPoint.txt> for more information. Note that support for FlashPoint is only available for 32-bit x86 configurations. To compile this driver as a module, choose M here: the module will be called BusLogic. config SCSI_FLASHPOINT bool "FlashPoint support" depends on SCSI_BUSLOGIC && PCI help This option allows you to add FlashPoint support to the BusLogic SCSI driver. The FlashPoint SCCB Manager code is substantial, so users of MultiMaster Host Adapters may not wish to include it. config SCSI_MYRB tristate "Mylex DAC960/DAC1100 PCI RAID Controller (Block Interface)" depends on PCI select RAID_ATTRS help This driver adds support for the Mylex DAC960, AcceleRAID, and eXtremeRAID PCI RAID controllers. This driver supports the older, block based interface. This driver is a reimplementation of the original DAC960 driver. If you have used the DAC960 driver you should enable this module. To compile this driver as a module, choose M here: the module will be called myrb. config SCSI_MYRS tristate "Mylex DAC960/DAC1100 PCI RAID Controller (SCSI Interface)" depends on PCI depends on !CPU_BIG_ENDIAN || COMPILE_TEST select RAID_ATTRS help This driver adds support for the Mylex DAC960, AcceleRAID, and eXtremeRAID PCI RAID controllers. This driver supports the newer, SCSI-based interface only. This driver is a reimplementation of the original DAC960 driver. If you have used the DAC960 driver you should enable this module. To compile this driver as a module, choose M here: the module will be called myrs. config VMWARE_PVSCSI tristate "VMware PVSCSI driver support" depends on PCI && SCSI && X86 help This driver supports VMware's para virtualized SCSI HBA. To compile this driver as a module, choose M here: the module will be called vmw_pvscsi. config XEN_SCSI_FRONTEND tristate "XEN SCSI frontend driver" depends on SCSI && XEN select XEN_XENBUS_FRONTEND help The XEN SCSI frontend driver allows the kernel to access SCSI Devices within another guest OS (usually Dom0). Only needed if the kernel is running in a XEN guest and generic SCSI access to a device is needed. config HYPERV_STORAGE tristate "Microsoft Hyper-V virtual storage driver" depends on SCSI && HYPERV depends on m || SCSI_FC_ATTRS != m default HYPERV help Select this option to enable the Hyper-V virtual storage driver. config LIBFC tristate "LibFC module" depends on SCSI_FC_ATTRS select CRC32 ---help--- Fibre Channel library module config LIBFCOE tristate "LibFCoE module" depends on LIBFC ---help--- Library for Fibre Channel over Ethernet module config FCOE tristate "FCoE module" depends on PCI depends on LIBFCOE ---help--- Fibre Channel over Ethernet module config FCOE_FNIC tristate "Cisco FNIC Driver" depends on PCI && X86 depends on LIBFCOE help This is support for the Cisco PCI-Express FCoE HBA. To compile this driver as a module, choose M here and read <file:Documentation/scsi/scsi.txt>. The module will be called fnic. config SCSI_SNIC tristate "Cisco SNIC Driver" depends on PCI && SCSI help This is support for the Cisco PCI-Express SCSI HBA. To compile this driver as a module, choose M here and read <file:Documentation/scsi/scsi.txt>. The module will be called snic. config SCSI_SNIC_DEBUG_FS bool "Cisco SNIC Driver Debugfs Support" depends on SCSI_SNIC && DEBUG_FS help This enables to list debugging information from SNIC Driver available via debugfs file system config SCSI_DMX3191D tristate "DMX3191D SCSI support" depends on PCI && SCSI select SCSI_SPI_ATTRS help This is support for Domex DMX3191D SCSI Host Adapters. To compile this driver as a module, choose M here: the module will be called dmx3191d. config SCSI_FDOMAIN tristate depends on SCSI config SCSI_FDOMAIN_PCI tristate "Future Domain TMC-3260/AHA-2920A PCI SCSI support" depends on PCI && SCSI select SCSI_FDOMAIN help This is support for Future Domain's PCI SCSI host adapters (TMC-3260) and other adapters with PCI bus based on the Future Domain chipsets (Adaptec AHA-2920A). NOTE: Newer Adaptec AHA-2920C boards use the Adaptec AIC-7850 chip and should use the aic7xxx driver ("Adaptec AIC7xxx chipset SCSI controller support"). This Future Domain driver works with the older Adaptec AHA-2920A boards with a Future Domain chip on them. To compile this driver as a module, choose M here: the module will be called fdomain_pci. config SCSI_FDOMAIN_ISA tristate "Future Domain 16xx ISA SCSI support" depends on ISA && SCSI select CHECK_SIGNATURE select SCSI_FDOMAIN help This is support for Future Domain's 16-bit SCSI host adapters (TMC-1660/1680, TMC-1650/1670, TMC-1610M/MER/MEX) and other adapters with ISA bus based on the Future Domain chipsets (Quantum ISA-200S, ISA-250MG; and at least one IBM board). To compile this driver as a module, choose M here: the module will be called fdomain_isa. config SCSI_GDTH tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support" depends on PCI && SCSI ---help--- Formerly called GDT SCSI Disk Array Controller Support. This is a driver for RAID/SCSI Disk Array Controllers (EISA/ISA/PCI) manufactured by Intel Corporation/ICP vortex GmbH. It is documented in the kernel source in <file:drivers/scsi/gdth.c> and <file:drivers/scsi/gdth.h>. To compile this driver as a module, choose M here: the module will be called gdth. config SCSI_ISCI tristate "Intel(R) C600 Series Chipset SAS Controller" depends on PCI && SCSI depends on X86 select SCSI_SAS_LIBSAS ---help--- This driver supports the 6Gb/s SAS capabilities of the storage control unit found in the Intel(R) C600 series chipset. config SCSI_GENERIC_NCR5380 tristate "Generic NCR5380/53c400 SCSI ISA card support" depends on ISA && SCSI && HAS_IOPORT_MAP select SCSI_SPI_ATTRS ---help--- This is a driver for old ISA card SCSI controllers based on a NCR 5380, 53C80, 53C400, 53C400A, or DTC 436 device. Most boards such as the Trantor T130 fit this category, as do various 8-bit and 16-bit ISA cards bundled with SCSI scanners. To compile this driver as a module, choose M here: the module will be called g_NCR5380. config SCSI_IPS tristate "IBM ServeRAID support" depends on PCI && SCSI ---help--- This is support for the IBM ServeRAID hardware RAID controllers. See <http://www.developer.ibm.com/welcome/netfinity/serveraid.html> and <http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&lndocid=SERV-RAID> for more information. If this driver does not work correctly without modification please contact the author by email at <ipslinux@adaptec.com>. To compile this driver as a module, choose M here: the module will be called ips. config SCSI_IBMVSCSI tristate "IBM Virtual SCSI support" depends on PPC_PSERIES select SCSI_SRP_ATTRS help This is the IBM POWER Virtual SCSI Client To compile this driver as a module, choose M here: the module will be called ibmvscsi. config SCSI_IBMVSCSIS tristate "IBM Virtual SCSI Server support" depends on PPC_PSERIES && TARGET_CORE && SCSI && PCI help This is the IBM POWER Virtual SCSI Target Server This driver uses the SRP protocol for communication between servers guest and/or the host that run on the same server. More information on VSCSI protocol can be found at www.power.org The userspace configuration needed to initialize the driver can be be found here: https://github.com/powervm/ibmvscsis/wiki/Configuration To compile this driver as a module, choose M here: the module will be called ibmvscsis. config SCSI_IBMVFC tristate "IBM Virtual FC support" depends on PPC_PSERIES && SCSI depends on SCSI_FC_ATTRS help This is the IBM POWER Virtual FC Client To compile this driver as a module, choose M here: the module will be called ibmvfc. config SCSI_IBMVFC_TRACE bool "enable driver internal trace" depends on SCSI_IBMVFC default y help If you say Y here, the driver will trace all commands issued to the adapter. Performance impact is minimal. Trace can be dumped using /sys/class/scsi_host/hostXX/trace. config SCSI_INITIO tristate "Initio 9100U(W) support" depends on PCI && SCSI help This is support for the Initio 91XXU(W) SCSI host adapter. Please read the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>. To compile this driver as a module, choose M here: the module will be called initio. config SCSI_INIA100 tristate "Initio INI-A100U2W support" depends on PCI && SCSI help This is support for the Initio INI-A100U2W SCSI host adapter. Please read the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>. To compile this driver as a module, choose M here: the module will be called a100u2w. config SCSI_PPA tristate "IOMEGA parallel port (ppa - older drives)" depends on SCSI && PARPORT_PC ---help--- This driver supports older versions of IOMEGA's parallel port ZIP drive (a 100 MB removable media device). Note that you can say N here if you have the SCSI version of the ZIP drive: it will be supported automatically if you said Y to the generic "SCSI disk support", above. If you have the ZIP Plus drive or a more recent parallel port ZIP drive (if the supplied cable with the drive is labeled "AutoDetect") then you should say N here and Y to "IOMEGA parallel port (imm - newer drives)", below. For more information about this driver and how to use it you should read the file <file:Documentation/scsi/ppa.txt>. You should also read the SCSI-HOWTO, which is available from <http://www.tldp.org/docs.html#howto>. If you use this driver, you will still be able to use the parallel port for other tasks, such as a printer; it is safe to compile both drivers into the kernel. To compile this driver as a module, choose M here: the module will be called ppa. config SCSI_IMM tristate "IOMEGA parallel port (imm - newer drives)" depends on SCSI && PARPORT_PC ---help--- This driver supports newer versions of IOMEGA's parallel port ZIP drive (a 100 MB removable media device). Note that you can say N here if you have the SCSI version of the ZIP drive: it will be supported automatically if you said Y to the generic "SCSI disk support", above. If you have the ZIP Plus drive or a more recent parallel port ZIP drive (if the supplied cable with the drive is labeled "AutoDetect") then you should say Y here; if you have an older ZIP drive, say N here and Y to "IOMEGA Parallel Port (ppa - older drives)", above. For more information about this driver and how to use it you should read the file <file:Documentation/scsi/ppa.txt>. You should also read the SCSI-HOWTO, which is available from <http://www.tldp.org/docs.html#howto>. If you use this driver, you will still be able to use the parallel port for other tasks, such as a printer; it is safe to compile both drivers into the kernel. To compile this driver as a module, choose M here: the module will be called imm. config SCSI_IZIP_EPP16 bool "ppa/imm option - Use slow (but safe) EPP-16" depends on SCSI_PPA || SCSI_IMM ---help--- EPP (Enhanced Parallel Port) is a standard for parallel ports which allows them to act as expansion buses that can handle up to 64 peripheral devices. Some parallel port chipsets are slower than their motherboard, and so we have to control the state of the chipset's FIFO queue every now and then to avoid data loss. This will be done if you say Y here. Generally, saying Y is the safe option and slows things down a bit. config SCSI_IZIP_SLOW_CTR bool "ppa/imm option - Assume slow parport control register" depends on SCSI_PPA || SCSI_IMM help Some parallel ports are known to have excessive delays between changing the parallel port control register and good data being available on the parallel port data/status register. This option forces a small delay (1.0 usec to be exact) after changing the control register to let things settle out. Enabling this option may result in a big drop in performance but some very old parallel ports (found in 386 vintage machines) will not work properly. Generally, saying N is fine. config SCSI_LASI700 tristate "HP Lasi SCSI support for 53c700/710" depends on GSC && SCSI select SCSI_SPI_ATTRS help This is a driver for the SCSI controller in the Lasi chip found in many PA-RISC workstations & servers. If you do not know whether you have a Lasi chip, it is safe to say "Y" here. config SCSI_SNI_53C710 tristate "SNI RM SCSI support for 53c710" depends on SNI_RM && SCSI select SCSI_SPI_ATTRS select 53C700_LE_ON_BE help This is a driver for the onboard SCSI controller found in older SNI RM workstations & servers. config 53C700_LE_ON_BE bool depends on SCSI_LASI700 || SCSI_SNI_53C710 default y config SCSI_STEX tristate "Promise SuperTrak EX Series support" depends on PCI && SCSI ---help--- This driver supports Promise SuperTrak EX series storage controllers. Promise provides Linux RAID configuration utility for these controllers. Please visit <http://www.promise.com> to download. To compile this driver as a module, choose M here: the module will be called stex. config 53C700_BE_BUS bool depends on SCSI_A4000T || SCSI_ZORRO7XX || MVME16x_SCSI || BVME6000_SCSI default y config SCSI_SYM53C8XX_2 tristate "SYM53C8XX Version 2 SCSI support" depends on PCI && SCSI select SCSI_SPI_ATTRS ---help--- This driver supports the whole NCR53C8XX/SYM53C8XX family of PCI-SCSI controllers. It also supports the subset of LSI53C10XX Ultra-160 controllers that are based on the SYM53C8XX SCRIPTS language. It does not support LSI53C10XX Ultra-320 PCI-X SCSI controllers; you need to use the Fusion MPT driver for that. Please read <file:Documentation/scsi/sym53c8xx_2.txt> for more information. config SCSI_SYM53C8XX_DMA_ADDRESSING_MODE int "DMA addressing mode" depends on SCSI_SYM53C8XX_2 default "1" ---help--- This option only applies to PCI-SCSI chips that are PCI DAC capable (875A, 895A, 896, 1010-33, 1010-66, 1000). When set to 0, the driver will program the chip to only perform 32-bit DMA. When set to 1, the chip will be able to perform DMA to addresses up to 1TB. When set to 2, the driver supports the full 64-bit DMA address range, but can only address 16 segments of 4 GB each. This limits the total addressable range to 64 GB. Most machines with less than 4GB of memory should use a setting of 0 for best performance. If your machine has 4GB of memory or more, you should set this option to 1 (the default). The still experimental value 2 (64 bit DMA addressing with 16 x 4GB segments limitation) can be used on systems that require PCI address bits past bit 39 to be set for the addressing of memory using PCI DAC cycles. config SCSI_SYM53C8XX_DEFAULT_TAGS int "Default tagged command queue depth" depends on SCSI_SYM53C8XX_2 default "16" help This is the default value of the command queue depth the driver will announce to the generic SCSI layer for devices that support tagged command queueing. This value can be changed from the boot command line. This is a soft limit that cannot exceed CONFIG_SCSI_SYM53C8XX_MAX_TAGS. config SCSI_SYM53C8XX_MAX_TAGS int "Maximum number of queued commands" depends on SCSI_SYM53C8XX_2 default "64" help This option allows you to specify the maximum number of commands that can be queued to any device, when tagged command queuing is possible. The driver supports up to 256 queued commands per device. This value is used as a compiled-in hard limit. config SCSI_SYM53C8XX_MMIO bool "Use memory mapped IO" depends on SCSI_SYM53C8XX_2 default y help Memory mapped IO is faster than Port IO. Most people should answer Y here, but some machines may have problems. If you have to answer N here, please report the problem to the maintainer. config SCSI_IPR tristate "IBM Power Linux RAID adapter support" depends on PCI && SCSI && ATA select FW_LOADER select IRQ_POLL select SGL_ALLOC ---help--- This driver supports the IBM Power Linux family RAID adapters. This includes IBM pSeries 5712, 5703, 5709, and 570A, as well as IBM iSeries 5702, 5703, 5709, and 570A. config SCSI_IPR_TRACE bool "enable driver internal trace" depends on SCSI_IPR default y help If you say Y here, the driver will trace all commands issued to the adapter. Performance impact is minimal. Trace can be dumped using /sys/bus/class/scsi_host/hostXX/trace. config SCSI_IPR_DUMP bool "enable adapter dump support" depends on SCSI_IPR default y help If you say Y here, the driver will support adapter crash dump. If you enable this support, the iprdump daemon can be used to capture adapter failure analysis information. config SCSI_ZALON tristate "Zalon SCSI support" depends on GSC && SCSI select SCSI_SPI_ATTRS help The Zalon is a GSC/HSC bus interface chip that sits between the PA-RISC processor and the NCR 53c720 SCSI controller on C100, C110, J200, J210 and some D, K & R-class machines. It's also used on the add-in Bluefish, Barracuda & Shrike SCSI cards. Say Y here if you have one of these machines or cards. config SCSI_NCR53C8XX_DEFAULT_TAGS int "default tagged command queue depth" depends on SCSI_ZALON default "8" ---help--- "Tagged command queuing" is a feature of SCSI-2 which improves performance: the host adapter can send several SCSI commands to a device's queue even if previous commands haven't finished yet. Because the device is intelligent, it can optimize its operations (like head positioning) based on its own request queue. Some SCSI devices don't implement this properly; if you want to disable this feature, enter 0 or 1 here (it doesn't matter which). The default value is 8 and should be supported by most hard disks. This value can be overridden from the boot command line using the 'tags' option as follows (example): 'ncr53c8xx=tags:4/t2t3q16/t0u2q10' will set default queue depth to 4, set queue depth to 16 for target 2 and target 3 on controller 0 and set queue depth to 10 for target 0 / lun 2 on controller 1. The normal answer therefore is to go with the default 8 and to use a boot command line option for devices that need to use a different command queue depth. There is no safe option other than using good SCSI devices. config SCSI_NCR53C8XX_MAX_TAGS int "maximum number of queued commands" depends on SCSI_ZALON default "32" ---help--- This option allows you to specify the maximum number of commands that can be queued to any device, when tagged command queuing is possible. The default value is 32. Minimum is 2, maximum is 64. Modern hard disks are able to support 64 tags and even more, but do not seem to be faster when more than 32 tags are being used. So, the normal answer here is to go with the default value 32 unless you are using very large hard disks with large cache (>= 1 MB) that are able to take advantage of more than 32 tagged commands. There is no safe option and the default answer is recommended. config SCSI_NCR53C8XX_SYNC int "synchronous transfers frequency in MHz" depends on SCSI_ZALON default "20" ---help--- The SCSI Parallel Interface-2 Standard defines 5 classes of transfer rates: FAST-5, FAST-10, FAST-20, FAST-40 and FAST-80. The numbers are respectively the maximum data transfer rates in mega-transfers per second for each class. For example, a FAST-20 Wide 16 device is able to transfer data at 20 million 16 bit packets per second for a total rate of 40 MB/s. You may specify 0 if you want to only use asynchronous data transfers. This is the safest and slowest option. Otherwise, specify a value between 5 and 80, depending on the capability of your SCSI controller. The higher the number, the faster the data transfer. Note that 80 should normally be ok since the driver decreases the value automatically according to the controller's capabilities. Your answer to this question is ignored for controllers with NVRAM, since the driver will get this information from the user set-up. It also can be overridden using a boot setup option, as follows (example): 'ncr53c8xx=sync:12' will allow the driver to negotiate for FAST-20 synchronous data transfer (20 mega-transfers per second). The normal answer therefore is not to go with the default but to select the maximum value 80 allowing the driver to use the maximum value supported by each controller. If this causes problems with your SCSI devices, you should come back and decrease the value. There is no safe option other than using good cabling, right terminations and SCSI conformant devices. config SCSI_NCR53C8XX_NO_DISCONNECT bool "not allow targets to disconnect" depends on SCSI_ZALON && SCSI_NCR53C8XX_DEFAULT_TAGS=0 help This option is only provided for safety if you suspect some SCSI device of yours to not support properly the target-disconnect feature. In that case, you would say Y here. In general however, to not allow targets to disconnect is not reasonable if there is more than 1 device on a SCSI bus. The normal answer therefore is N. config SCSI_QLOGIC_FAS tristate "Qlogic FAS SCSI support" depends on ISA && SCSI ---help--- This is a driver for the ISA, VLB, and PCMCIA versions of the Qlogic FastSCSI! cards as well as any other card based on the FASXX chip (including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards). This driver does NOT support the PCI versions of these cards. The PCI versions are supported by the Qlogic ISP driver ("Qlogic ISP SCSI support"), below. Information about this driver is contained in <file:Documentation/scsi/qlogicfas.txt>. You should also read the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>. To compile this driver as a module, choose M here: the module will be called qlogicfas. config SCSI_QLOGIC_1280 tristate "Qlogic QLA 1240/1x80/1x160 SCSI support" depends on PCI && SCSI help Say Y if you have a QLogic ISP1240/1x80/1x160 SCSI host adapter. To compile this driver as a module, choose M here: the module will be called qla1280. config SCSI_QLOGICPTI tristate "PTI Qlogic, ISP Driver" depends on SBUS && SCSI help This driver supports SBUS SCSI controllers from PTI or QLogic. These controllers are known under Solaris as qpti and in the openprom as PTI,ptisp or QLGC,isp. Note that PCI QLogic SCSI controllers are driven by a different driver. To compile this driver as a module, choose M here: the module will be called qlogicpti. source "drivers/scsi/qla2xxx/Kconfig" source "drivers/scsi/qla4xxx/Kconfig" source "drivers/scsi/qedi/Kconfig" source "drivers/scsi/qedf/Kconfig" config SCSI_LPFC tristate "Emulex LightPulse Fibre Channel Support" depends on PCI && SCSI depends on SCSI_FC_ATTRS depends on NVME_TARGET_FC || NVME_TARGET_FC=n depends on NVME_FC || NVME_FC=n select CRC_T10DIF ---help--- This lpfc driver supports the Emulex LightPulse Family of Fibre Channel PCI host adapters. config SCSI_LPFC_DEBUG_FS bool "Emulex LightPulse Fibre Channel debugfs Support" depends on SCSI_LPFC && DEBUG_FS ---help--- This makes debugging information from the lpfc driver available via the debugfs filesystem. config SCSI_SIM710 tristate "Simple 53c710 SCSI support (Compaq, NCR machines)" depends on EISA && SCSI select SCSI_SPI_ATTRS ---help--- This driver is for NCR53c710 based SCSI host adapters. It currently supports Compaq EISA cards. config SCSI_DC395x tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support" depends on PCI && SCSI ---help--- This driver supports PCI SCSI host adapters based on the ASIC TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants. This driver works, but is still in experimental status. So better have a bootable disk and a backup in case of emergency. Documentation can be found in <file:Documentation/scsi/dc395x.txt>. To compile this driver as a module, choose M here: the module will be called dc395x. config SCSI_AM53C974 tristate "Tekram DC390(T) and Am53/79C974 SCSI support (new driver)" depends on PCI && SCSI select SCSI_SPI_ATTRS ---help--- This driver supports PCI SCSI host adapters based on the Am53C974A chip, e.g. Tekram DC390(T), DawiControl 2974 and some onboard PCscsi/PCnet (Am53/79C974) solutions. This is a new implementation base on the generic esp_scsi driver. Note that this driver does NOT support Tekram DC390W/U/F, which are based on NCR/Symbios chips. Use "NCR53C8XX SCSI support" for those. To compile this driver as a module, choose M here: the module will be called am53c974. config SCSI_NSP32 tristate "Workbit NinjaSCSI-32Bi/UDE support" depends on PCI && SCSI && !64BIT help This is support for the Workbit NinjaSCSI-32Bi/UDE PCI/Cardbus SCSI host adapter. Please read the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>. To compile this driver as a module, choose M here: the module will be called nsp32. config SCSI_WD719X tristate "Western Digital WD7193/7197/7296 support" depends on PCI && SCSI select EEPROM_93CX6 ---help--- This is a driver for Western Digital WD7193, WD7197 and WD7296 PCI SCSI controllers (based on WD33C296A chip). config SCSI_DEBUG tristate "SCSI debugging host and device simulator" depends on SCSI select CRC_T10DIF help This pseudo driver simulates one or more hosts (SCSI initiators), each with one or more targets, each with one or more logical units. Defaults to one of each, creating a small RAM disk device. Many parameters found in the /sys/bus/pseudo/drivers/scsi_debug directory can be tweaked at run time. See <http://sg.danny.cz/sg/sdebug26.html> for more information. Mainly used for testing and best as a module. If unsure, say N. config SCSI_MESH tristate "MESH (Power Mac internal SCSI) support" depends on PPC32 && PPC_PMAC && SCSI help Many Power Macintoshes and clones have a MESH (Macintosh Enhanced SCSI Hardware) SCSI bus adaptor (the 7200 doesn't, but all of the other Power Macintoshes do). Say Y to include support for this SCSI adaptor. To compile this driver as a module, choose M here: the module will be called mesh. config SCSI_MESH_SYNC_RATE int "maximum synchronous transfer rate (MB/s) (0 = async)" depends on SCSI_MESH default "5" help On Power Macintoshes (and clones) where the MESH SCSI bus adaptor drives a bus which is entirely internal to the machine (such as the 7500, 7600, 8500, etc.), the MESH is capable of synchronous operation at up to 10 MB/s. On machines where the SCSI bus controlled by the MESH can have external devices connected, it is usually rated at 5 MB/s. 5 is a safe value here unless you know the MESH SCSI bus is internal only; in that case you can say 10. Say 0 to disable synchronous operation. config SCSI_MESH_RESET_DELAY_MS int "initial bus reset delay (ms) (0 = no reset)" depends on SCSI_MESH default "4000" config SCSI_MAC53C94 tristate "53C94 (Power Mac external SCSI) support" depends on PPC32 && PPC_PMAC && SCSI help On Power Macintoshes (and clones) with two SCSI buses, the external SCSI bus is usually controlled by a 53C94 SCSI bus adaptor. Older machines which only have one SCSI bus, such as the 7200, also use the 53C94. Say Y to include support for the 53C94. To compile this driver as a module, choose M here: the module will be called mac53c94. source "drivers/scsi/arm/Kconfig" config JAZZ_ESP bool "MIPS JAZZ FAS216 SCSI support" depends on MACH_JAZZ && SCSI=y select SCSI_SPI_ATTRS help This is the driver for the onboard SCSI host adapter of MIPS Magnum 4000, Acer PICA, Olivetti M700-10 and a few other identical OEM systems. config A3000_SCSI tristate "A3000 WD33C93A support" depends on AMIGA && SCSI help If you have an Amiga 3000 and have SCSI devices connected to the built-in SCSI controller, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called a3000. config A2091_SCSI tristate "A2091/A590 WD33C93A support" depends on ZORRO && SCSI help If you have a Commodore A2091 SCSI controller, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called a2091. config GVP11_SCSI tristate "GVP Series II WD33C93A support" depends on ZORRO && SCSI ---help--- If you have a Great Valley Products Series II SCSI controller, answer Y. Also say Y if you have a later model of GVP SCSI controller (such as the GVP A4008 or a Combo board). Otherwise, answer N. This driver does NOT work for the T-Rex series of accelerators from TekMagic and GVP-M. To compile this driver as a module, choose M here: the module will be called gvp11. config SCSI_A4000T tristate "A4000T NCR53c710 SCSI support" depends on AMIGA && SCSI select SCSI_SPI_ATTRS help If you have an Amiga 4000T and have SCSI devices connected to the built-in SCSI controller, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called a4000t. config SCSI_ZORRO7XX tristate "Zorro NCR53c710 SCSI support" depends on ZORRO && SCSI select SCSI_SPI_ATTRS help Support for various NCR53c710-based SCSI controllers on Zorro expansion boards for the Amiga. This includes: - the Amiga 4091 Zorro III SCSI-2 controller, - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller (info at <http://www.lysator.liu.se/amiga/ar/guide/ar310.guide?FEATURE5>), - the SCSI controller on the Phase5 Blizzard PowerUP 603e+ accelerator card for the Amiga 1200, - the SCSI controller on the GVP Turbo 040/060 accelerator. config SCSI_ZORRO_ESP tristate "Zorro ESP SCSI support" depends on ZORRO && SCSI select SCSI_SPI_ATTRS select SCSI_ESP_PIO help Support for various NCR53C9x (ESP) based SCSI controllers on Zorro expansion boards for the Amiga. This includes: - the Phase5 Blizzard 1230 II and IV SCSI controllers, - the Phase5 Blizzard 2060 SCSI controller, - the Phase5 Blizzard Cyberstorm and Cyberstorm II SCSI controllers, - the Fastlane Zorro III SCSI controller. config ATARI_SCSI tristate "Atari native SCSI support" depends on ATARI && SCSI select SCSI_SPI_ATTRS ---help--- If you have an Atari with built-in NCR5380 SCSI controller (TT, Falcon, ...) say Y to get it supported. Of course also, if you have a compatible SCSI controller (e.g. for Medusa). To compile this driver as a module, choose M here: the module will be called atari_scsi. If you also enable NVRAM support, the SCSI host's ID is taken from the setting in TT RTC NVRAM. This driver supports both styles of NCR integration into the system: the TT style (separate DMA), and the Falcon style (via ST-DMA, replacing ACSI). It does NOT support other schemes, like in the Hades (without DMA). config MAC_SCSI tristate "Macintosh NCR5380 SCSI" depends on MAC && SCSI select SCSI_SPI_ATTRS help This is the NCR 5380 SCSI controller included on most of the 68030 based Macintoshes. If you have one of these say Y and read the SCSI-HOWTO, available from <http://www.tldp.org/docs.html#howto>. config SCSI_MAC_ESP tristate "Macintosh NCR53c9[46] SCSI" depends on MAC && SCSI select SCSI_SPI_ATTRS select SCSI_ESP_PIO help This is the NCR 53c9x SCSI controller found on most of the 68040 based Macintoshes. To compile this driver as a module, choose M here: the module will be called mac_esp. config MVME147_SCSI bool "WD33C93 SCSI driver for MVME147" depends on MVME147 && SCSI=y select SCSI_SPI_ATTRS help Support for the on-board SCSI controller on the Motorola MVME147 single-board computer. config MVME16x_SCSI tristate "NCR53C710 SCSI driver for MVME16x" depends on MVME16x && SCSI select SCSI_SPI_ATTRS help The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710 SCSI controller chip. Almost everyone using one of these boards will want to say Y to this question. config BVME6000_SCSI tristate "NCR53C710 SCSI driver for BVME6000" depends on BVME6000 && SCSI select SCSI_SPI_ATTRS help The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710 SCSI controller chip. Almost everyone using one of these boards will want to say Y to this question. config SUN3_SCSI tristate "Sun3 NCR5380 SCSI" depends on SUN3 && SCSI select SCSI_SPI_ATTRS help This option will enable support for the OBIO (onboard io) NCR5380 SCSI controller found in the Sun 3/50 and 3/60, as well as for "Sun3" type VME scsi controllers also based on the NCR5380. General Linux information on the Sun 3 series (now discontinued) is at <http://www.angelfire.com/ca2/tech68k/sun3.html>. config SUN3X_ESP bool "Sun3x ESP SCSI" depends on SUN3X && SCSI=y select SCSI_SPI_ATTRS help The ESP was an on-board SCSI controller used on Sun 3/80 machines. Say Y here to compile in support for it. config SCSI_SUNESP tristate "Sparc ESP Scsi Driver" depends on SBUS && SCSI select SCSI_SPI_ATTRS help This is the driver for the Sun ESP SCSI host adapter. The ESP chipset is present in most SPARC SBUS-based computers and supports the Emulex family of ESP SCSI chips (esp100, esp100A, esp236, fas101, fas236) as well as the Qlogic fas366 SCSI chip. To compile this driver as a module, choose M here: the module will be called sun_esp. config ZFCP tristate "FCP host bus adapter driver for IBM eServer zSeries" depends on S390 && QDIO && SCSI depends on SCSI_FC_ATTRS help If you want to access SCSI devices attached to your IBM eServer zSeries by means of Fibre Channel interfaces say Y. For details please refer to the documentation provided by IBM at <http://oss.software.ibm.com/developerworks/opensource/linux390> This driver is also available as a module. This module will be called zfcp. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. config SCSI_PMCRAID tristate "PMC SIERRA Linux MaxRAID adapter support" depends on PCI && SCSI && NET select SGL_ALLOC ---help--- This driver supports the PMC SIERRA MaxRAID adapters. config SCSI_PM8001 tristate "PMC-Sierra SPC 8001 SAS/SATA Based Host Adapter driver" depends on PCI && SCSI select SCSI_SAS_LIBSAS help This driver supports PMC-Sierra PCIE SAS/SATA 8x6G SPC 8001 chip based host adapters. config SCSI_BFA_FC tristate "Brocade BFA Fibre Channel Support" depends on PCI && SCSI depends on SCSI_FC_ATTRS help This bfa driver supports all Brocade PCIe FC/FCOE host adapters. To compile this driver as a module, choose M here. The module will be called bfa. config SCSI_VIRTIO tristate "virtio-scsi support" depends on VIRTIO help This is the virtual HBA driver for virtio. If the kernel will be used in a virtual machine, say Y or M. source "drivers/scsi/csiostor/Kconfig" source "drivers/scsi/pcmcia/Kconfig" endif # SCSI_LOWLEVEL source "drivers/scsi/device_handler/Kconfig" endmenu scsi/megaraid/Kconfig.megaraid 0000644 00000006003 14722053666 0012343 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MEGARAID_NEWGEN bool "LSI Logic New Generation RAID Device Drivers" depends on PCI && SCSI help LSI Logic RAID Device Drivers config MEGARAID_MM tristate "LSI Logic Management Module (New Driver)" depends on PCI && SCSI && MEGARAID_NEWGEN help Management Module provides ioctl, sysfs support for LSI Logic RAID controllers. To compile this driver as a module, choose M here: the module will be called megaraid_mm config MEGARAID_MAILBOX tristate "LSI Logic MegaRAID Driver (New Driver)" depends on PCI && SCSI && MEGARAID_MM help List of supported controllers OEM Product Name VID :DID :SVID:SSID --- ------------ ---- ---- ---- ---- Dell PERC3/QC 101E:1960:1028:0471 Dell PERC3/DC 101E:1960:1028:0493 Dell PERC3/SC 101E:1960:1028:0475 Dell PERC3/Di 1028:000E:1028:0123 Dell PERC4/SC 1000:1960:1028:0520 Dell PERC4/DC 1000:1960:1028:0518 Dell PERC4/QC 1000:0407:1028:0531 Dell PERC4/Di 1028:000F:1028:014A Dell PERC 4e/Si 1028:0013:1028:016c Dell PERC 4e/Di 1028:0013:1028:016d Dell PERC 4e/Di 1028:0013:1028:016e Dell PERC 4e/Di 1028:0013:1028:016f Dell PERC 4e/Di 1028:0013:1028:0170 Dell PERC 4e/DC 1000:0408:1028:0002 Dell PERC 4e/SC 1000:0408:1028:0001 LSI MegaRAID SCSI 320-0 1000:1960:1000:A520 LSI MegaRAID SCSI 320-1 1000:1960:1000:0520 LSI MegaRAID SCSI 320-2 1000:1960:1000:0518 LSI MegaRAID SCSI 320-0X 1000:0407:1000:0530 LSI MegaRAID SCSI 320-2X 1000:0407:1000:0532 LSI MegaRAID SCSI 320-4X 1000:0407:1000:0531 LSI MegaRAID SCSI 320-1E 1000:0408:1000:0001 LSI MegaRAID SCSI 320-2E 1000:0408:1000:0002 LSI MegaRAID SATA 150-4 1000:1960:1000:4523 LSI MegaRAID SATA 150-6 1000:1960:1000:0523 LSI MegaRAID SATA 300-4X 1000:0409:1000:3004 LSI MegaRAID SATA 300-8X 1000:0409:1000:3008 INTEL RAID Controller SRCU42X 1000:0407:8086:0532 INTEL RAID Controller SRCS16 1000:1960:8086:0523 INTEL RAID Controller SRCU42E 1000:0408:8086:0002 INTEL RAID Controller SRCZCRX 1000:0407:8086:0530 INTEL RAID Controller SRCS28X 1000:0409:8086:3008 INTEL RAID Controller SROMBU42E 1000:0408:8086:3431 INTEL RAID Controller SROMBU42E 1000:0408:8086:3499 INTEL RAID Controller SRCU51L 1000:1960:8086:0520 FSC MegaRAID PCI Express ROMB 1000:0408:1734:1065 ACER MegaRAID ROMB-2E 1000:0408:1025:004D NEC MegaRAID PCI Express ROMB 1000:0408:1033:8287 To compile this driver as a module, choose M here: the module will be called megaraid_mbox config MEGARAID_LEGACY tristate "LSI Logic Legacy MegaRAID Driver" depends on PCI && SCSI help This driver supports the LSI MegaRAID 418, 428, 438, 466, 762, 490 and 467 SCSI host adapters. This driver also support the all U320 RAID controllers To compile this driver as a module, choose M here: the module will be called megaraid config MEGARAID_SAS tristate "LSI Logic MegaRAID SAS RAID Module" depends on PCI && SCSI select IRQ_POLL help Module for LSI Logic's SAS based RAID controllers. To compile this driver as a module, choose 'm' here. Module will be called megaraid_sas scsi/megaraid/Makefile 0000644 00000000430 14722053666 0010726 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MEGARAID_MM) += megaraid_mm.o obj-$(CONFIG_MEGARAID_MAILBOX) += megaraid_mbox.o obj-$(CONFIG_MEGARAID_SAS) += megaraid_sas.o megaraid_sas-objs := megaraid_sas_base.o megaraid_sas_fusion.o \ megaraid_sas_fp.o megaraid_sas_debugfs.o scsi/csiostor/Kconfig 0000644 00000001227 14722053666 0010672 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SCSI_CHELSIO_FCOE tristate "Chelsio Communications FCoE support" depends on PCI && SCSI depends on SCSI_FC_ATTRS select FW_LOADER help This driver supports FCoE Offload functionality over Chelsio T4-based 10Gb Converged Network Adapters. For general information about Chelsio and our products, visit our website at <http://www.chelsio.com>. For customer support, please visit our customer support page at <http://www.chelsio.com/support.html>. Please send feedback to <linux-bugs@chelsio.com>. To compile this driver as a module choose M here; the module will be called csiostor. scsi/csiostor/Makefile 0000644 00000000474 14722053666 0011032 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # ## Chelsio FCoE driver # ## ccflags-y += -I$(srctree)/drivers/net/ethernet/chelsio/cxgb4 obj-$(CONFIG_SCSI_CHELSIO_FCOE) += csiostor.o csiostor-objs := csio_attr.o csio_init.o csio_lnode.o csio_scsi.o \ csio_hw.o csio_hw_t5.o csio_isr.o \ csio_mb.o csio_rnode.o csio_wr.o scsi/qla2xxx/Kconfig 0000644 00000002743 14722053666 0010440 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SCSI_QLA_FC tristate "QLogic QLA2XXX Fibre Channel Support" depends on PCI && SCSI depends on SCSI_FC_ATTRS depends on NVME_FC || !NVME_FC select FW_LOADER select BTREE ---help--- This qla2xxx driver supports all QLogic Fibre Channel PCI and PCIe host adapters. By default, firmware for the ISP parts will be loaded via the Firmware Loader interface. ISP Firmware Filename ---------- ----------------- 21xx ql2100_fw.bin 22xx ql2200_fw.bin 2300, 2312, 6312 ql2300_fw.bin 2322, 6322 ql2322_fw.bin 24xx, 54xx ql2400_fw.bin 25xx ql2500_fw.bin Upon request, the driver caches the firmware image until the driver is unloaded. Firmware images can be retrieved from: http://ldriver.qlogic.com/firmware/ They are also included in the linux-firmware tree as well. config TCM_QLA2XXX tristate "TCM_QLA2XXX fabric module for QLogic 24xx+ series target mode HBAs" depends on SCSI_QLA_FC && TARGET_CORE depends on LIBFC select BTREE default n ---help--- Say Y here to enable the TCM_QLA2XXX fabric module for QLogic 24xx+ series target mode HBAs if TCM_QLA2XXX config TCM_QLA2XXX_DEBUG bool "TCM_QLA2XXX fabric module DEBUG mode for QLogic 24xx+ series target mode HBAs" default n ---help--- Say Y here to enable the TCM_QLA2XXX fabric module DEBUG for QLogic 24xx+ series target mode HBAs This will include code to enable the SCSI command jammer endif scsi/qla2xxx/Makefile 0000644 00000000503 14722053666 0010565 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 qla2xxx-y := qla_os.o qla_init.o qla_mbx.o qla_iocb.o qla_isr.o qla_gs.o \ qla_dbg.o qla_sup.o qla_attr.o qla_mid.o qla_dfs.o qla_bsg.o \ qla_nx.o qla_mr.o qla_nx2.o qla_target.o qla_tmpl.o qla_nvme.o obj-$(CONFIG_SCSI_QLA_FC) += qla2xxx.o obj-$(CONFIG_TCM_QLA2XXX) += tcm_qla2xxx.o scsi/device_handler/Kconfig 0000644 00000002025 14722053666 0011756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SCSI Device Handler configuration # menuconfig SCSI_DH bool "SCSI Device Handlers" depends on SCSI default n help SCSI Device Handlers provide device specific support for devices utilized in multipath configurations. Say Y here to select support for specific hardware. config SCSI_DH_RDAC tristate "LSI RDAC Device Handler" depends on SCSI_DH && SCSI help If you have a LSI RDAC select y. Otherwise, say N. config SCSI_DH_HP_SW tristate "HP/COMPAQ MSA Device Handler" depends on SCSI_DH && SCSI help If you have a HP/COMPAQ MSA device that requires START_STOP to be sent to start it and cannot upgrade the firmware then select y. Otherwise, say N. config SCSI_DH_EMC tristate "EMC CLARiiON Device Handler" depends on SCSI_DH && SCSI help If you have a EMC CLARiiON select y. Otherwise, say N. config SCSI_DH_ALUA tristate "SPC-3 ALUA Device Handler" depends on SCSI_DH && SCSI help SCSI Device handler for generic SPC-3 Asymmetric Logical Unit Access (ALUA). scsi/device_handler/Makefile 0000644 00000000366 14722053666 0012121 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SCSI Device Handler # obj-$(CONFIG_SCSI_DH_RDAC) += scsi_dh_rdac.o obj-$(CONFIG_SCSI_DH_HP_SW) += scsi_dh_hp_sw.o obj-$(CONFIG_SCSI_DH_EMC) += scsi_dh_emc.o obj-$(CONFIG_SCSI_DH_ALUA) += scsi_dh_alua.o scsi/mvsas/Kconfig 0000644 00000001653 14722053666 0010161 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Kernel configuration file for 88SE64XX/88SE94XX SAS/SATA driver. # # Copyright 2007 Red Hat, Inc. # Copyright 2008 Marvell. <kewei@marvell.com> # Copyright 2009-2011 Marvell. <yuxiangl@marvell.com> # config SCSI_MVSAS tristate "Marvell 88SE64XX/88SE94XX SAS/SATA support" depends on PCI select SCSI_SAS_LIBSAS select FW_LOADER help This driver supports Marvell's SAS/SATA 3Gb/s PCI-E 88SE64XX and 6Gb/s PCI-E 88SE94XX chip based host adapters. config SCSI_MVSAS_DEBUG bool "Compile in debug mode" default y depends on SCSI_MVSAS help Compiles the 88SE64XX/88SE94XX driver in debug mode. In debug mode, the driver prints some messages to the console. config SCSI_MVSAS_TASKLET bool "Support for interrupt tasklet" default n depends on SCSI_MVSAS help Compiles the 88SE64xx/88SE94xx driver in interrupt tasklet mode.In this mode, the interrupt will schedule a tasklet. scsi/mvsas/Makefile 0000644 00000000640 14722053666 0010311 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Marvell 88SE64xx/88SE84xx SAS/SATA driver. # # Copyright 2007 Red Hat, Inc. # Copyright 2008 Marvell. <kewei@marvell.com> # Copyright 2009-2011 Marvell. <yuxiangl@marvell.com> # ccflags-$(CONFIG_SCSI_MVSAS_DEBUG) := -DMV_DEBUG obj-$(CONFIG_SCSI_MVSAS) += mvsas.o mvsas-y += mv_init.o \ mv_sas.o \ mv_64xx.o \ mv_94xx.o scsi/qla4xxx/Kconfig 0000644 00000000515 14722053666 0010435 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SCSI_QLA_ISCSI tristate "QLogic ISP4XXX and ISP82XX host adapter family support" depends on PCI && SCSI && NET select SCSI_ISCSI_ATTRS select ISCSI_BOOT_SYSFS ---help--- This driver supports the QLogic 40xx (ISP4XXX), 8022 (ISP82XX) and 8032 (ISP83XX) iSCSI host adapter family. scsi/qla4xxx/Makefile 0000644 00000000327 14722053666 0010573 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only qla4xxx-y := ql4_os.o ql4_init.o ql4_mbx.o ql4_iocb.o ql4_isr.o \ ql4_nx.o ql4_nvram.o ql4_dbg.o ql4_attr.o ql4_bsg.o ql4_83xx.o obj-$(CONFIG_SCSI_QLA_ISCSI) += qla4xxx.o scsi/pm8001/Makefile 0000644 00000000444 14722053666 0010107 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Kernel configuration file for the PM8001 SAS/SATA 8x6G based HBA driver # # Copyright (C) 2008-2009 USI Co., Ltd. obj-$(CONFIG_SCSI_PM8001) += pm80xx.o pm80xx-y += pm8001_init.o \ pm8001_sas.o \ pm8001_ctl.o \ pm8001_hwi.o \ pm80xx_hwi.o scsi/lpfc/Makefile 0000644 00000003604 14722053666 0010107 0 ustar 00 #/******************************************************************* # * This file is part of the Emulex Linux Device Driver for * # * Fibre Channel Host Bus Adapters. * # * Copyright (C) 2017-2018 Broadcom. All Rights Reserved. The term * # * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. * # * Copyright (C) 2004-2012 Emulex. All rights reserved. * # * EMULEX and SLI are trademarks of Emulex. * # * www.broadcom.com * # * * # * This program is free software; you can redistribute it and/or * # * modify it under the terms of version 2 of the GNU General * # * Public License as published by the Free Software Foundation. * # * This program is distributed in the hope that it will be useful. * # * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND * # * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, * # * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE * # * DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD * # * TO BE LEGALLY INVALID. See the GNU General Public License for * # * more details, a copy of which can be found in the file COPYING * # * included with this package. * # *******************************************************************/ ###################################################################### ccflags-$(GCOV) := -fprofile-arcs -ftest-coverage ccflags-$(GCOV) += -O0 ifdef WARNINGS_BECOME_ERRORS ccflags-y += -Werror endif obj-$(CONFIG_SCSI_LPFC) := lpfc.o lpfc-objs := lpfc_mem.o lpfc_sli.o lpfc_ct.o lpfc_els.o \ lpfc_hbadisc.o lpfc_init.o lpfc_mbox.o lpfc_nportdisc.o \ lpfc_scsi.o lpfc_attr.o lpfc_vport.o lpfc_debugfs.o lpfc_bsg.o \ lpfc_nvme.o lpfc_nvmet.o scsi/libsas/Kconfig 0000644 00000001756 14722053666 0010311 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Kernel configuration file for the SAS Class # # Copyright (C) 2005 Adaptec, Inc. All rights reserved. # Copyright (C) 2005 Luben Tuikov <luben_tuikov@adaptec.com> # config SCSI_SAS_LIBSAS tristate "SAS Domain Transport Attributes" depends on SCSI select SCSI_SAS_ATTRS select BLK_DEV_BSGLIB help This provides transport specific helpers for SAS drivers which use the domain device construct (like the aic94xxx). config SCSI_SAS_ATA bool "ATA support for libsas (requires libata)" depends on SCSI_SAS_LIBSAS depends on ATA = y || ATA = SCSI_SAS_LIBSAS help Builds in ATA support into libsas. Will necessitate the loading of libata along with libsas. config SCSI_SAS_HOST_SMP bool "Support for SMP interpretation for SAS hosts" default y depends on SCSI_SAS_LIBSAS help Allows sas hosts to receive SMP frames. Selecting this option builds an SMP interpreter into libsas. Say N here if you want to save the few kb this consumes. scsi/libsas/Makefile 0000644 00000001014 14722053666 0010431 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Kernel Makefile for the libsas helpers # # Copyright (C) 2005 Adaptec, Inc. All rights reserved. # Copyright (C) 2005 Luben Tuikov <luben_tuikov@adaptec.com> # obj-$(CONFIG_SCSI_SAS_LIBSAS) += libsas.o libsas-y += sas_init.o \ sas_phy.o \ sas_port.o \ sas_event.o \ sas_discover.o \ sas_expander.o \ sas_scsi_host.o \ sas_task.o libsas-$(CONFIG_SCSI_SAS_ATA) += sas_ata.o libsas-$(CONFIG_SCSI_SAS_HOST_SMP) += sas_host_smp.o ccflags-y := -DDEBUG scsi/bfa/Makefile 0000644 00000000522 14722053666 0007707 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_SCSI_BFA_FC) := bfa.o bfa-y := bfad.o bfad_im.o bfad_attr.o bfad_debugfs.o bfad_bsg.o bfa-y += bfa_ioc.o bfa_ioc_cb.o bfa_ioc_ct.o bfa_hw_cb.o bfa_hw_ct.o bfa-y += bfa_fcs.o bfa_fcs_lport.o bfa_fcs_rport.o bfa_fcs_fcpim.o bfa_fcbuild.o bfa-y += bfa_port.o bfa_fcpim.o bfa_core.o bfa_svc.o scsi/smartpqi/Kconfig 0000644 00000004632 14722053666 0010670 0 ustar 00 # # Kernel configuration file for the SMARTPQI # # Copyright (c) 2019 Microchip Technology Inc. and its subsidiaries # Copyright (c) 2017-2018 Microsemi Corporation # Copyright (c) 2016 Microsemi Corporation # Copyright (c) 2016 PMC-Sierra, Inc. # (mailto:esc.storagedev@microsemi.com) # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; version 2 # of the License. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # NO WARRANTY # THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT # LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is # solely responsible for determining the appropriateness of using and # distributing the Program and assumes all risks associated with its # exercise of rights under this Agreement, including but not limited to # the risks and costs of program errors, damage to or loss of data, # programs or equipment, and unavailability or interruption of operations. # DISCLAIMER OF LIABILITY # NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE # USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED # HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES config SCSI_SMARTPQI tristate "Microsemi PQI Driver" depends on PCI && SCSI && !S390 select SCSI_SAS_ATTRS select RAID_ATTRS ---help--- This driver supports Microsemi PQI controllers. <http://www.microsemi.com> To compile this driver as a module, choose M here: the module will be called smartpqi. Note: the aacraid driver will not manage a smartpqi controller. You need to enable smartpqi for smartpqi controllers. For more information, please see Documentation/scsi/smartpqi.txt scsi/smartpqi/Makefile 0000644 00000000226 14722053666 0011020 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_SCSI_SMARTPQI) += smartpqi.o smartpqi-objs := smartpqi_init.o smartpqi_sis.o smartpqi_sas_transport.o scsi/be2iscsi/Kconfig 0000644 00000000465 14722053666 0010533 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config BE2ISCSI tristate "Emulex 10Gbps iSCSI - BladeEngine 2" depends on PCI && SCSI && NET select SCSI_ISCSI_ATTRS select ISCSI_BOOT_SYSFS select IRQ_POLL help This driver implements the iSCSI functionality for Emulex 10Gbps Storage adapter - BladeEngine 2. scsi/be2iscsi/Makefile 0000644 00000000310 14722053666 0010655 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile to build the iSCSI driver for Emulex OneConnect. # # obj-$(CONFIG_BE2ISCSI) += be2iscsi.o be2iscsi-y := be_iscsi.o be_main.o be_mgmt.o be_cmds.o scsi/fcoe/Makefile 0000644 00000000243 14722053666 0010073 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_FCOE) += fcoe.o obj-$(CONFIG_LIBFCOE) += libfcoe.o libfcoe-objs := fcoe_ctlr.o fcoe_transport.o fcoe_sysfs.o scsi/mpt3sas/Kconfig 0000644 00000006741 14722053666 0010425 0 ustar 00 # # Kernel configuration file for the MPT3SAS # # This code is based on drivers/scsi/mpt3sas/Kconfig # Copyright (C) 2012-2014 LSI Corporation # (mailto:DL-MPTFusionLinux@lsi.com) # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # NO WARRANTY # THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT # LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is # solely responsible for determining the appropriateness of using and # distributing the Program and assumes all risks associated with its # exercise of rights under this Agreement, including but not limited to # the risks and costs of program errors, damage to or loss of data, # programs or equipment, and unavailability or interruption of operations. # DISCLAIMER OF LIABILITY # NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE # USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED # HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. config SCSI_MPT3SAS tristate "LSI MPT Fusion SAS 3.0 & SAS 2.0 Device Driver" depends on PCI && SCSI select SCSI_SAS_ATTRS select RAID_ATTRS select IRQ_POLL ---help--- This driver supports PCI-Express SAS 12Gb/s Host Adapters. config SCSI_MPT2SAS_MAX_SGE int "LSI MPT Fusion SAS 2.0 Max number of SG Entries (16 - 256)" depends on PCI && SCSI && SCSI_MPT3SAS default "128" range 16 256 ---help--- This option allows you to specify the maximum number of scatter- gather entries per I/O. The driver default is 128, which matches MAX_PHYS_SEGMENTS in most kernels. However in SuSE kernels this can be 256. However, it may decreased down to 16. Decreasing this parameter will reduce memory requirements on a per controller instance. config SCSI_MPT3SAS_MAX_SGE int "LSI MPT Fusion SAS 3.0 Max number of SG Entries (16 - 256)" depends on PCI && SCSI && SCSI_MPT3SAS default "128" range 16 256 ---help--- This option allows you to specify the maximum number of scatter- gather entries per I/O. The driver default is 128, which matches MAX_PHYS_SEGMENTS in most kernels. However in SuSE kernels this can be 256. However, it may decreased down to 16. Decreasing this parameter will reduce memory requirements on a per controller instance. config SCSI_MPT2SAS tristate "Legacy MPT2SAS config option" default n select SCSI_MPT3SAS depends on PCI && SCSI ---help--- Dummy config option for backwards compatiblity: configure the MPT3SAS driver instead. scsi/mpt3sas/Makefile 0000644 00000000416 14722053666 0010553 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # mpt3sas makefile obj-$(CONFIG_SCSI_MPT3SAS) += mpt3sas.o mpt3sas-y += mpt3sas_base.o \ mpt3sas_config.o \ mpt3sas_scsih.o \ mpt3sas_transport.o \ mpt3sas_ctl.o \ mpt3sas_trigger_diag.o \ mpt3sas_warpdrive.o scsi/aacraid/Makefile 0000644 00000000322 14722053666 0010541 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # Adaptec aacraid obj-$(CONFIG_SCSI_AACRAID) := aacraid.o aacraid-objs := linit.o aachba.o commctrl.o comminit.o commsup.o \ dpcsup.o rx.o sa.o rkt.o nark.o src.o scsi/Makefile 0000644 00000017322 14722053666 0007165 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for linux/drivers/scsi # # 30 May 2000, Christoph Hellwig <hch@infradead.org> # Rewritten to use lists instead of if-statements. # # 20 Sep 2000, Torben Mathiasen <tmm@image.dk> # Changed link order to reflect new scsi initialization. # # *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*! # The link order must be, SCSI Core, SCSI HBA drivers, and # lastly SCSI peripheral drivers (disk/tape/cdrom/etc.) to # satisfy certain initialization assumptions in the SCSI layer. # *!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*! CFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF CFLAGS_gdth.o = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ -DGDTH_STATISTICS obj-$(CONFIG_PCMCIA) += pcmcia/ obj-$(CONFIG_SCSI) += scsi_mod.o obj-$(CONFIG_BLK_SCSI_REQUEST) += scsi_common.o obj-$(CONFIG_RAID_ATTRS) += raid_class.o # --- NOTE ORDERING HERE --- # For kernel non-modular link, transport attributes need to # be initialised before drivers # -------------------------- obj-$(CONFIG_SCSI_SPI_ATTRS) += scsi_transport_spi.o obj-$(CONFIG_SCSI_FC_ATTRS) += scsi_transport_fc.o obj-$(CONFIG_SCSI_ISCSI_ATTRS) += scsi_transport_iscsi.o obj-$(CONFIG_SCSI_SAS_ATTRS) += scsi_transport_sas.o obj-$(CONFIG_SCSI_SAS_LIBSAS) += libsas/ obj-$(CONFIG_SCSI_SRP_ATTRS) += scsi_transport_srp.o obj-$(CONFIG_SCSI_DH) += device_handler/ obj-$(CONFIG_LIBFC) += libfc/ obj-$(CONFIG_LIBFCOE) += fcoe/ obj-$(CONFIG_FCOE) += fcoe/ obj-$(CONFIG_FCOE_FNIC) += fnic/ obj-$(CONFIG_SCSI_SNIC) += snic/ obj-$(CONFIG_SCSI_BNX2X_FCOE) += libfc/ fcoe/ bnx2fc/ obj-$(CONFIG_QEDF) += qedf/ obj-$(CONFIG_ISCSI_TCP) += libiscsi.o libiscsi_tcp.o iscsi_tcp.o obj-$(CONFIG_INFINIBAND_ISER) += libiscsi.o obj-$(CONFIG_ISCSI_BOOT_SYSFS) += iscsi_boot_sysfs.o obj-$(CONFIG_SCSI_A4000T) += 53c700.o a4000t.o obj-$(CONFIG_SCSI_ZORRO7XX) += 53c700.o zorro7xx.o obj-$(CONFIG_SCSI_ZORRO_ESP) += esp_scsi.o zorro_esp.o obj-$(CONFIG_A3000_SCSI) += a3000.o wd33c93.o obj-$(CONFIG_A2091_SCSI) += a2091.o wd33c93.o obj-$(CONFIG_GVP11_SCSI) += gvp11.o wd33c93.o obj-$(CONFIG_MVME147_SCSI) += mvme147.o wd33c93.o obj-$(CONFIG_SGIWD93_SCSI) += sgiwd93.o wd33c93.o obj-$(CONFIG_ATARI_SCSI) += atari_scsi.o obj-$(CONFIG_MAC_SCSI) += mac_scsi.o obj-$(CONFIG_SCSI_MAC_ESP) += esp_scsi.o mac_esp.o obj-$(CONFIG_SUN3_SCSI) += sun3_scsi.o sun3_scsi_vme.o obj-$(CONFIG_MVME16x_SCSI) += 53c700.o mvme16x_scsi.o obj-$(CONFIG_BVME6000_SCSI) += 53c700.o bvme6000_scsi.o obj-$(CONFIG_SCSI_SIM710) += 53c700.o sim710.o obj-$(CONFIG_SCSI_ADVANSYS) += advansys.o obj-$(CONFIG_SCSI_BUSLOGIC) += BusLogic.o obj-$(CONFIG_SCSI_DPT_I2O) += dpt_i2o.o obj-$(CONFIG_SCSI_ARCMSR) += arcmsr/ obj-$(CONFIG_SCSI_AHA152X) += aha152x.o obj-$(CONFIG_SCSI_AHA1542) += aha1542.o obj-$(CONFIG_SCSI_AHA1740) += aha1740.o obj-$(CONFIG_SCSI_AIC7XXX) += aic7xxx/ obj-$(CONFIG_SCSI_AIC79XX) += aic7xxx/ obj-$(CONFIG_SCSI_AACRAID) += aacraid/ obj-$(CONFIG_SCSI_AIC94XX) += aic94xx/ obj-$(CONFIG_SCSI_PM8001) += pm8001/ obj-$(CONFIG_SCSI_ISCI) += isci/ obj-$(CONFIG_SCSI_IPS) += ips.o obj-$(CONFIG_SCSI_FDOMAIN) += fdomain.o obj-$(CONFIG_SCSI_FDOMAIN_PCI) += fdomain_pci.o obj-$(CONFIG_SCSI_FDOMAIN_ISA) += fdomain_isa.o obj-$(CONFIG_SCSI_GENERIC_NCR5380) += g_NCR5380.o obj-$(CONFIG_SCSI_QLOGIC_FAS) += qlogicfas408.o qlogicfas.o obj-$(CONFIG_PCMCIA_QLOGIC) += qlogicfas408.o obj-$(CONFIG_SCSI_QLOGIC_1280) += qla1280.o obj-$(CONFIG_SCSI_QLA_FC) += qla2xxx/ obj-$(CONFIG_SCSI_QLA_ISCSI) += libiscsi.o qla4xxx/ obj-$(CONFIG_SCSI_LPFC) += lpfc/ obj-$(CONFIG_SCSI_BFA_FC) += bfa/ obj-$(CONFIG_SCSI_CHELSIO_FCOE) += csiostor/ obj-$(CONFIG_SCSI_DMX3191D) += dmx3191d.o obj-$(CONFIG_SCSI_HPSA) += hpsa.o obj-$(CONFIG_SCSI_SMARTPQI) += smartpqi/ obj-$(CONFIG_SCSI_SYM53C8XX_2) += sym53c8xx_2/ obj-$(CONFIG_SCSI_ZALON) += zalon7xx.o obj-$(CONFIG_SCSI_DC395x) += dc395x.o obj-$(CONFIG_SCSI_AM53C974) += esp_scsi.o am53c974.o obj-$(CONFIG_CXLFLASH) += cxlflash/ obj-$(CONFIG_MEGARAID_LEGACY) += megaraid.o obj-$(CONFIG_MEGARAID_NEWGEN) += megaraid/ obj-$(CONFIG_MEGARAID_SAS) += megaraid/ obj-$(CONFIG_SCSI_MPT3SAS) += mpt3sas/ obj-$(CONFIG_SCSI_UFSHCD) += ufs/ obj-$(CONFIG_SCSI_ACARD) += atp870u.o obj-$(CONFIG_SCSI_SUNESP) += esp_scsi.o sun_esp.o obj-$(CONFIG_SCSI_GDTH) += gdth.o obj-$(CONFIG_SCSI_INITIO) += initio.o obj-$(CONFIG_SCSI_INIA100) += a100u2w.o obj-$(CONFIG_SCSI_QLOGICPTI) += qlogicpti.o obj-$(CONFIG_SCSI_MESH) += mesh.o obj-$(CONFIG_SCSI_MAC53C94) += mac53c94.o obj-$(CONFIG_SCSI_MYRB) += myrb.o obj-$(CONFIG_SCSI_MYRS) += myrs.o obj-$(CONFIG_BLK_DEV_3W_XXXX_RAID) += 3w-xxxx.o obj-$(CONFIG_SCSI_3W_9XXX) += 3w-9xxx.o obj-$(CONFIG_SCSI_3W_SAS) += 3w-sas.o obj-$(CONFIG_SCSI_PPA) += ppa.o obj-$(CONFIG_SCSI_IMM) += imm.o obj-$(CONFIG_JAZZ_ESP) += esp_scsi.o jazz_esp.o obj-$(CONFIG_SUN3X_ESP) += esp_scsi.o sun3x_esp.o obj-$(CONFIG_SCSI_LASI700) += 53c700.o lasi700.o obj-$(CONFIG_SCSI_SNI_53C710) += 53c700.o sni_53c710.o obj-$(CONFIG_SCSI_NSP32) += nsp32.o obj-$(CONFIG_SCSI_IPR) += ipr.o obj-$(CONFIG_SCSI_IBMVSCSI) += ibmvscsi/ obj-$(CONFIG_SCSI_IBMVSCSIS) += ibmvscsi_tgt/ obj-$(CONFIG_SCSI_IBMVFC) += ibmvscsi/ obj-$(CONFIG_SCSI_HPTIOP) += hptiop.o obj-$(CONFIG_SCSI_STEX) += stex.o obj-$(CONFIG_SCSI_MVSAS) += mvsas/ obj-$(CONFIG_SCSI_MVUMI) += mvumi.o obj-$(CONFIG_PS3_ROM) += ps3rom.o obj-$(CONFIG_SCSI_CXGB3_ISCSI) += libiscsi.o libiscsi_tcp.o cxgbi/ obj-$(CONFIG_SCSI_CXGB4_ISCSI) += libiscsi.o libiscsi_tcp.o cxgbi/ obj-$(CONFIG_SCSI_BNX2_ISCSI) += libiscsi.o bnx2i/ obj-$(CONFIG_QEDI) += libiscsi.o qedi/ obj-$(CONFIG_BE2ISCSI) += libiscsi.o be2iscsi/ obj-$(CONFIG_SCSI_ESAS2R) += esas2r/ obj-$(CONFIG_SCSI_PMCRAID) += pmcraid.o obj-$(CONFIG_SCSI_VIRTIO) += virtio_scsi.o obj-$(CONFIG_VMWARE_PVSCSI) += vmw_pvscsi.o obj-$(CONFIG_XEN_SCSI_FRONTEND) += xen-scsifront.o obj-$(CONFIG_HYPERV_STORAGE) += hv_storvsc.o obj-$(CONFIG_SCSI_WD719X) += wd719x.o obj-$(CONFIG_ARM) += arm/ obj-$(CONFIG_CHR_DEV_ST) += st.o obj-$(CONFIG_BLK_DEV_SD) += sd_mod.o obj-$(CONFIG_BLK_DEV_SR) += sr_mod.o obj-$(CONFIG_CHR_DEV_SG) += sg.o obj-$(CONFIG_CHR_DEV_SCH) += ch.o obj-$(CONFIG_SCSI_ENCLOSURE) += ses.o obj-$(CONFIG_SCSI_HISI_SAS) += hisi_sas/ # This goes last, so that "real" scsi devices probe earlier obj-$(CONFIG_SCSI_DEBUG) += scsi_debug.o scsi_mod-y += scsi.o hosts.o scsi_ioctl.o \ scsicam.o scsi_error.o scsi_lib.o scsi_mod-$(CONFIG_SCSI_CONSTANTS) += constants.o scsi_mod-$(CONFIG_SCSI_DMA) += scsi_lib_dma.o scsi_mod-y += scsi_scan.o scsi_sysfs.o scsi_devinfo.o scsi_mod-$(CONFIG_SCSI_NETLINK) += scsi_netlink.o scsi_mod-$(CONFIG_SYSCTL) += scsi_sysctl.o scsi_mod-$(CONFIG_SCSI_PROC_FS) += scsi_proc.o scsi_mod-$(CONFIG_BLK_DEBUG_FS) += scsi_debugfs.o scsi_mod-y += scsi_trace.o scsi_logging.o scsi_mod-$(CONFIG_PM) += scsi_pm.o scsi_mod-$(CONFIG_SCSI_DH) += scsi_dh.o hv_storvsc-y := storvsc_drv.o sd_mod-objs := sd.o sd_mod-$(CONFIG_BLK_DEV_INTEGRITY) += sd_dif.o sd_mod-$(CONFIG_BLK_DEV_ZONED) += sd_zbc.o sr_mod-objs := sr.o sr_ioctl.o sr_vendor.o ncr53c8xx-flags-$(CONFIG_SCSI_ZALON) \ := -DCONFIG_NCR53C8XX_PREFETCH -DSCSI_NCR_BIG_ENDIAN \ -DCONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS CFLAGS_ncr53c8xx.o := $(ncr53c8xx-flags-y) $(ncr53c8xx-flags-m) zalon7xx-objs := zalon.o ncr53c8xx.o # Files generated that shall be removed upon make clean clean-files := 53c700_d.h 53c700_u.h scsi_devinfo_tbl.c $(obj)/53c700.o: $(obj)/53c700_d.h $(obj)/scsi_sysfs.o: $(obj)/scsi_devinfo_tbl.c quiet_cmd_bflags = GEN $@ cmd_bflags = sed -n 's/.*define *BLIST_\([A-Z0-9_]*\) *.*/BLIST_FLAG_NAME(\1),/p' $< > $@ $(obj)/scsi_devinfo_tbl.c: include/scsi/scsi_devinfo.h $(call if_changed,bflags) # If you want to play with the firmware, uncomment # GENERATE_FIRMWARE := 1 ifdef GENERATE_FIRMWARE $(obj)/53c700_d.h: $(src)/53c700.scr $(src)/script_asm.pl $(PERL) -s $(src)/script_asm.pl -ncr7x0_family $@ $(@:_d.h=_u.h) < $< endif scsi/qedi/Kconfig 0000644 00000000574 14722053666 0007753 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config QEDI tristate "QLogic QEDI 25/40/100Gb iSCSI Initiator Driver Support" depends on PCI && SCSI && UIO depends on QED select SCSI_ISCSI_ATTRS select QED_LL2 select QED_OOO select QED_ISCSI select ISCSI_BOOT_SYSFS ---help--- This driver supports iSCSI offload for the QLogic FastLinQ 41000 Series Converged Network Adapters. scsi/qedi/Makefile 0000644 00000000312 14722053666 0010076 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_QEDI) := qedi.o qedi-y := qedi_main.o qedi_iscsi.o qedi_fw.o qedi_sysfs.o \ qedi_dbg.o qedi_fw_api.o qedi-$(CONFIG_DEBUG_FS) += qedi_debugfs.o scsi/arcmsr/Makefile 0000644 00000000350 14722053666 0010445 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # File: drivers/arcmsr/Makefile # Makefile for the ARECA PCI-X PCI-EXPRESS SATA RAID controllers SCSI driver. arcmsr-objs := arcmsr_attr.o arcmsr_hba.o obj-$(CONFIG_SCSI_ARCMSR) := arcmsr.o scsi/esas2r/Kconfig 0000644 00000000350 14722053666 0010220 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SCSI_ESAS2R tristate "ATTO Technology's ExpressSAS RAID adapter driver" depends on PCI && SCSI ---help--- This driver supports the ATTO ExpressSAS R6xx SAS/SATA RAID controllers. scsi/esas2r/Makefile 0000644 00000000363 14722053666 0010361 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SCSI_ESAS2R) += esas2r.o esas2r-objs := esas2r_log.o esas2r_disc.o esas2r_flash.o esas2r_init.o \ esas2r_int.o esas2r_io.o esas2r_ioctl.o esas2r_targdb.o \ esas2r_vda.o esas2r_main.o scsi/libfc/Makefile 0000644 00000000333 14722053666 0010236 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # $Id: Makefile obj-$(CONFIG_LIBFC) += libfc.o libfc-objs := \ fc_libfc.o \ fc_disc.o \ fc_exch.o \ fc_elsct.o \ fc_frame.o \ fc_lport.o \ fc_rport.o \ fc_fcp.o \ fc_npiv.o scsi/pcmcia/Kconfig 0000644 00000004654 14722053666 0010270 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PCMCIA SCSI adapter configuration # menuconfig SCSI_LOWLEVEL_PCMCIA bool "PCMCIA SCSI adapter support" depends on SCSI!=n && PCMCIA!=n # drivers have problems when build in, so require modules if SCSI_LOWLEVEL_PCMCIA && SCSI && PCMCIA && m config PCMCIA_AHA152X tristate "Adaptec AHA152X PCMCIA support" select SCSI_SPI_ATTRS help Say Y here if you intend to attach this type of PCMCIA SCSI host adapter to your computer. To compile this driver as a module, choose M here: the module will be called aha152x_cs. config PCMCIA_FDOMAIN tristate "Future Domain PCMCIA support" select SCSI_FDOMAIN help Say Y here if you intend to attach this type of PCMCIA SCSI host adapter to your computer. To compile this driver as a module, choose M here: the module will be called fdomain_cs. config PCMCIA_NINJA_SCSI tristate "NinjaSCSI-3 / NinjaSCSI-32Bi (16bit) PCMCIA support" depends on !64BIT help If you intend to attach this type of PCMCIA SCSI host adapter to your computer, say Y here and read <file:Documentation/scsi/NinjaSCSI.txt>. Supported cards: NinjaSCSI-3: (version string: "WBT","NinjaSCSI-3","R1.0") IO-DATA PCSC-FP ALPHA DATA AD-PCS201 CyQ've SFC-201 LOGITECH LPM-SCSI2E Pioneer PCR-PR24's card I-O DATA CDPS-PX24's card (PCSC-F) Panasonic KXL-RW10AN CD-RW's card etc. NinjaSCSI-32Bit (in 16bit mode): [Workbit (version string: "WORKBIT","UltraNinja-16","1")] Jazz SCP050 [I-O DATA (OEM) (version string: "IO DATA","CBSC16 ","1")] I-O DATA CBSC-II [Kyusyu Matsushita Kotobuki (OEM) (version string: "KME ","SCSI-CARD-001","1")] KME KXL-820AN's card HP M820e CDRW's card etc. To compile this driver as a module, choose M here: the module will be called nsp_cs. config PCMCIA_QLOGIC tristate "Qlogic PCMCIA support" help Say Y here if you intend to attach this type of PCMCIA SCSI host adapter to your computer. To compile this driver as a module, choose M here: the module will be called qlogic_cs. config PCMCIA_SYM53C500 tristate "Symbios 53c500 PCMCIA support" help Say Y here if you have a New Media Bus Toaster or other PCMCIA SCSI adapter based on the Symbios 53c500 controller. To compile this driver as a module, choose M here: the module will be called sym53c500_cs. endif # SCSI_LOWLEVEL_PCMCIA scsi/pcmcia/Makefile 0000644 00000000632 14722053666 0010415 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-y := -I $(srctree)/drivers/scsi # 16-bit client drivers obj-$(CONFIG_PCMCIA_QLOGIC) += qlogic_cs.o obj-$(CONFIG_PCMCIA_FDOMAIN) += fdomain_cs.o obj-$(CONFIG_PCMCIA_AHA152X) += aha152x_cs.o obj-$(CONFIG_PCMCIA_NINJA_SCSI) += nsp_cs.o obj-$(CONFIG_PCMCIA_SYM53C500) += sym53c500_cs.o aha152x_cs-objs := aha152x_stub.o aha152x_core.o qlogic_cs-objs := qlogic_stub.o scsi/isci/Makefile 0000644 00000000441 14722053666 0010106 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_SCSI_ISCI) += isci.o isci-objs := init.o phy.o request.o \ remote_device.o port.o \ host.o task.o probe_roms.o \ remote_node_context.o \ remote_node_table.o \ unsolicited_frame_control.o \ port_config.o \ scsi/script_asm.pl 0000644 00000067533 14722053666 0010237 0 ustar 00 #!/usr/bin/perl -s # SPDX-License-Identifier: GPL-2.0-or-later # NCR 53c810 script assembler # Sponsored by # iX Multiuser Multitasking Magazine # # Copyright 1993, Drew Eckhardt # Visionary Computing # (Unix and Linux consulting and custom programming) # drew@Colorado.EDU # +1 (303) 786-7975 # # Support for 53c710 (via -ncr7x0_family switch) added by Richard # Hirst <richard@sleepie.demon.co.uk> - 15th March 1997 # # TolerANT and SCSI SCRIPTS are registered trademarks of NCR Corporation. # # # Basically, I follow the NCR syntax documented in the NCR53c710 # Programmer's guide, with the new instructions, registers, etc. # from the NCR53c810. # # Differences between this assembler and NCR's are that # 1. PASS, REL (data, JUMPs work fine), and the option to start a new # script, are unimplemented, since I didn't use them in my scripts. # # 2. I also emit a script_u.h file, which will undefine all of # the A_*, E_*, etc. symbols defined in the script. This # makes including multiple scripts in one program easier # # 3. This is a single pass assembler, which only emits # .h files. # # XXX - set these with command line options $debug = 0; # Print general debugging messages $debug_external = 0; # Print external/forward reference messages $list_in_array = 1; # Emit original SCRIPTS assembler in comments in # script.h #$prefix; # (set by perl -s) # define all arrays having this prefix so we # don't have name space collisions after # assembling this file in different ways for # different host adapters # Constants # Table of the SCSI phase encodings %scsi_phases = ( 'DATA_OUT', 0x00_00_00_00, 'DATA_IN', 0x01_00_00_00, 'CMD', 0x02_00_00_00, 'STATUS', 0x03_00_00_00, 'MSG_OUT', 0x06_00_00_00, 'MSG_IN', 0x07_00_00_00 ); # XXX - replace references to the *_810 constants with general constants # assigned at compile time based on chip type. # Table of operator encodings # XXX - NCR53c710 only implements # move (nop) = 0x00_00_00_00 # or = 0x02_00_00_00 # and = 0x04_00_00_00 # add = 0x06_00_00_00 if ($ncr7x0_family) { %operators = ( '|', 0x02_00_00_00, 'OR', 0x02_00_00_00, '&', 0x04_00_00_00, 'AND', 0x04_00_00_00, '+', 0x06_00_00_00 ); } else { %operators = ( 'SHL', 0x01_00_00_00, '|', 0x02_00_00_00, 'OR', 0x02_00_00_00, 'XOR', 0x03_00_00_00, '&', 0x04_00_00_00, 'AND', 0x04_00_00_00, 'SHR', 0x05_00_00_00, # Note : low bit of the operator bit should be set for add with # carry. '+', 0x06_00_00_00 ); } # Table of register addresses if ($ncr7x0_family) { %registers = ( 'SCNTL0', 0, 'SCNTL1', 1, 'SDID', 2, 'SIEN', 3, 'SCID', 4, 'SXFER', 5, 'SODL', 6, 'SOCL', 7, 'SFBR', 8, 'SIDL', 9, 'SBDL', 10, 'SBCL', 11, 'DSTAT', 12, 'SSTAT0', 13, 'SSTAT1', 14, 'SSTAT2', 15, 'DSA0', 16, 'DSA1', 17, 'DSA2', 18, 'DSA3', 19, 'CTEST0', 20, 'CTEST1', 21, 'CTEST2', 22, 'CTEST3', 23, 'CTEST4', 24, 'CTEST5', 25, 'CTEST6', 26, 'CTEST7', 27, 'TEMP0', 28, 'TEMP1', 29, 'TEMP2', 30, 'TEMP3', 31, 'DFIFO', 32, 'ISTAT', 33, 'CTEST8', 34, 'LCRC', 35, 'DBC0', 36, 'DBC1', 37, 'DBC2', 38, 'DCMD', 39, 'DNAD0', 40, 'DNAD1', 41, 'DNAD2', 42, 'DNAD3', 43, 'DSP0', 44, 'DSP1', 45, 'DSP2', 46, 'DSP3', 47, 'DSPS0', 48, 'DSPS1', 49, 'DSPS2', 50, 'DSPS3', 51, 'SCRATCH0', 52, 'SCRATCH1', 53, 'SCRATCH2', 54, 'SCRATCH3', 55, 'DMODE', 56, 'DIEN', 57, 'DWT', 58, 'DCNTL', 59, 'ADDER0', 60, 'ADDER1', 61, 'ADDER2', 62, 'ADDER3', 63, ); } else { %registers = ( 'SCNTL0', 0, 'SCNTL1', 1, 'SCNTL2', 2, 'SCNTL3', 3, 'SCID', 4, 'SXFER', 5, 'SDID', 6, 'GPREG', 7, 'SFBR', 8, 'SOCL', 9, 'SSID', 10, 'SBCL', 11, 'DSTAT', 12, 'SSTAT0', 13, 'SSTAT1', 14, 'SSTAT2', 15, 'DSA0', 16, 'DSA1', 17, 'DSA2', 18, 'DSA3', 19, 'ISTAT', 20, 'CTEST0', 24, 'CTEST1', 25, 'CTEST2', 26, 'CTEST3', 27, 'TEMP0', 28, 'TEMP1', 29, 'TEMP2', 30, 'TEMP3', 31, 'DFIFO', 32, 'CTEST4', 33, 'CTEST5', 34, 'CTEST6', 35, 'DBC0', 36, 'DBC1', 37, 'DBC2', 38, 'DCMD', 39, 'DNAD0', 40, 'DNAD1', 41, 'DNAD2', 42, 'DNAD3', 43, 'DSP0', 44, 'DSP1', 45, 'DSP2', 46, 'DSP3', 47, 'DSPS0', 48, 'DSPS1', 49, 'DSPS2', 50, 'DSPS3', 51, 'SCRATCH0', 52, 'SCRATCH1', 53, 'SCRATCH2', 54, 'SCRATCH3', 55, 'SCRATCHA0', 52, 'SCRATCHA1', 53, 'SCRATCHA2', 54, 'SCRATCHA3', 55, 'DMODE', 56, 'DIEN', 57, 'DWT', 58, 'DCNTL', 59, 'ADDER0', 60, 'ADDER1', 61, 'ADDER2', 62, 'ADDER3', 63, 'SIEN0', 64, 'SIEN1', 65, 'SIST0', 66, 'SIST1', 67, 'SLPAR', 68, 'MACNTL', 70, 'GPCNTL', 71, 'STIME0', 72, 'STIME1', 73, 'RESPID', 74, 'STEST0', 76, 'STEST1', 77, 'STEST2', 78, 'STEST3', 79, 'SIDL', 80, 'SODL', 84, 'SBDL', 88, 'SCRATCHB0', 92, 'SCRATCHB1', 93, 'SCRATCHB2', 94, 'SCRATCHB3', 95 ); } # Parsing regular expressions $identifier = '[A-Za-z_][A-Za-z_0-9]*'; $decnum = '-?\\d+'; $hexnum = '0[xX][0-9A-Fa-f]+'; $constant = "$hexnum|$decnum"; # yucky - since we can't control grouping of # $constant, we need to # expand out each alternative for $value. $value = "$identifier|$identifier\\s*[+\-]\\s*$decnum|". "$identifier\\s*[+-]\s*$hexnum|$constant"; print STDERR "value regex = $value\n" if ($debug); $phase = join ('|', keys %scsi_phases); print STDERR "phase regex = $phase\n" if ($debug); $register = join ('|', keys %registers); # yucky - since %operators includes meta-characters which must # be escaped, I can't use the join() trick I used for the register # regex if ($ncr7x0_family) { $operator = '\||OR|AND|\&|\+'; } else { $operator = '\||OR|AND|XOR|\&|\+'; } # Global variables %symbol_values = (%registers) ; # Traditional symbol table %symbol_references = () ; # Table of symbol references, where # the index is the symbol name, # and the contents a white space # delimited list of address,size # tuples where size is in bytes. @code = (); # Array of 32 bit words for SIOP @entry = (); # Array of entry point names @label = (); # Array of label names @absolute = (); # Array of absolute names @relative = (); # Array of relative names @external = (); # Array of external names $address = 0; # Address of current instruction $lineno = 0; # Line number we are parsing $output = 'script.h'; # Output file $outputu = 'scriptu.h'; # &patch ($address, $offset, $length, $value) patches $code[$address] # so that the $length bytes at $offset have $value added to # them. @inverted_masks = (0x00_00_00_00, 0x00_00_00_ff, 0x00_00_ff_ff, 0x00_ff_ff_ff, 0xff_ff_ff_ff); sub patch { local ($address, $offset, $length, $value) = @_; if ($debug) { print STDERR "Patching $address at offset $offset, length $length to $value\n"; printf STDERR "Old code : %08x\n", $code[$address]; } $mask = ($inverted_masks[$length] << ($offset * 8)); $code[$address] = ($code[$address] & ~$mask) | (($code[$address] & $mask) + ($value << ($offset * 8)) & $mask); printf STDERR "New code : %08x\n", $code[$address] if ($debug); } # &parse_value($value, $word, $offset, $length) where $value is # an identifier or constant, $word is the word offset relative to # $address, $offset is the starting byte within that word, and # $length is the length of the field in bytes. # # Side effects are that the bytes are combined into the @code array # relative to $address, and that the %symbol_references table is # updated as appropriate. sub parse_value { local ($value, $word, $offset, $length) = @_; local ($tmp); $symbol = ''; if ($value =~ /^REL\s*\(\s*($identifier)\s*\)\s*(.*)/i) { $relative = 'REL'; $symbol = $1; $value = $2; print STDERR "Relative reference $symbol\n" if ($debug); } elsif ($value =~ /^($identifier)\s*(.*)/) { $relative = 'ABS'; $symbol = $1; $value = $2; print STDERR "Absolute reference $symbol\n" if ($debug); } if ($symbol ne '') { print STDERR "Referencing symbol $1, length = $length in $_\n" if ($debug); $tmp = ($address + $word) * 4 + $offset; if ($symbol_references{$symbol} ne undef) { $symbol_references{$symbol} = "$symbol_references{$symbol} $relative,$tmp,$length"; } else { if (!defined($symbol_values{$symbol})) { print STDERR "forward $1\n" if ($debug_external); $forward{$symbol} = "line $lineno : $_"; } $symbol_references{$symbol} = "$relative,$tmp,$length"; } } $value = eval $value; &patch ($address + $word, $offset, $length, $value); } # &parse_conditional ($conditional) where $conditional is the conditional # clause from a transfer control instruction (RETURN, CALL, JUMP, INT). sub parse_conditional { local ($conditional) = @_; if ($conditional =~ /^\s*(IF|WHEN)\s*(.*)/i) { $if = $1; $conditional = $2; if ($if =~ /WHEN/i) { $allow_atn = 0; $code[$address] |= 0x00_01_00_00; $allow_atn = 0; print STDERR "$0 : parsed WHEN\n" if ($debug); } else { $allow_atn = 1; print STDERR "$0 : parsed IF\n" if ($debug); } } else { die "$0 : syntax error in line $lineno : $_ expected IF or WHEN "; } if ($conditional =~ /^NOT\s+(.*)$/i) { $not = 'NOT '; $other = 'OR'; $conditional = $1; print STDERR "$0 : parsed NOT\n" if ($debug); } else { $code[$address] |= 0x00_08_00_00; $not = ''; $other = 'AND' } $need_data = 0; if ($conditional =~ /^ATN\s*(.*)/i) {# die "$0 : syntax error in line $lineno : $_ WHEN conditional is incompatible with ATN " if (!$allow_atn); $code[$address] |= 0x00_02_00_00; $conditional = $1; print STDERR "$0 : parsed ATN\n" if ($debug); } elsif ($conditional =~ /^($phase)\s*(.*)/i) { $phase_index = "\U$1\E"; $p = $scsi_phases{$phase_index}; $code[$address] |= $p | 0x00_02_00_00; $conditional = $2; print STDERR "$0 : parsed phase $phase_index\n" if ($debug); } else { $other = ''; $need_data = 1; } print STDERR "Parsing conjunction, expecting $other\n" if ($debug); if ($conditional =~ /^(AND|OR)\s*(.*)/i) { $conjunction = $1; $conditional = $2; $need_data = 1; die "$0 : syntax error in line $lineno : $_ Illegal use of $1. Valid uses are ".$not."<phase> $1 data ".$not."ATN $1 data " if ($other eq ''); die "$0 : syntax error in line $lineno : $_ Illegal use of $conjunction. Valid syntaxes are NOT <phase>|ATN OR data <phase>|ATN AND data " if ($conjunction !~ /\s*$other\s*/i); print STDERR "$0 : parsed $1\n" if ($debug); } if ($need_data) { print STDERR "looking for data in $conditional\n" if ($debug); if ($conditional=~ /^($value)\s*(.*)/i) { $code[$address] |= 0x00_04_00_00; $conditional = $2; &parse_value($1, 0, 0, 1); print STDERR "$0 : parsed data\n" if ($debug); } else { die "$0 : syntax error in line $lineno : $_ expected <data>. "; } } if ($conditional =~ /^\s*,\s*(.*)/) { $conditional = $1; if ($conditional =~ /^AND\s\s*MASK\s\s*($value)\s*(.*)/i) { &parse_value ($1, 0, 1, 1); print STDERR "$0 parsed AND MASK $1\n" if ($debug); die "$0 : syntax error in line $lineno : $_ expected end of line, not \"$2\" " if ($2 ne ''); } else { die "$0 : syntax error in line $lineno : $_ expected \",AND MASK <data>\", not \"$2\" "; } } elsif ($conditional !~ /^\s*$/) { die "$0 : syntax error in line $lineno : $_ expected end of line" . (($need_data) ? " or \"AND MASK <data>\"" : "") . " not \"$conditional\" "; } } # Parse command line $output = shift; $outputu = shift; # Main loop while (<STDIN>) { $lineno = $lineno + 1; $list[$address] = $list[$address].$_; s/;.*$//; # Strip comments chop; # Leave new line out of error messages # Handle symbol definitions of the form label: if (/^\s*($identifier)\s*:(.*)/) { if (!defined($symbol_values{$1})) { $symbol_values{$1} = $address * 4; # Address is an index into delete $forward{$1}; # an array of longs push (@label, $1); $_ = $2; } else { die "$0 : redefinition of symbol $1 in line $lineno : $_\n"; } } # Handle symbol definitions of the form ABSOLUTE or RELATIVE identifier = # value if (/^\s*(ABSOLUTE|RELATIVE)\s+(.*)/i) { $is_absolute = $1; $rest = $2; foreach $rest (split (/\s*,\s*/, $rest)) { if ($rest =~ /^($identifier)\s*=\s*($constant)\s*$/) { local ($id, $cnst) = ($1, $2); if ($symbol_values{$id} eq undef) { $symbol_values{$id} = eval $cnst; delete $forward{$id}; if ($is_absolute =~ /ABSOLUTE/i) { push (@absolute , $id); } else { push (@relative, $id); } } else { die "$0 : redefinition of symbol $id in line $lineno : $_\n"; } } else { die "$0 : syntax error in line $lineno : $_ expected <identifier> = <value> "; } } } elsif (/^\s*EXTERNAL\s+(.*)/i) { $externals = $1; foreach $external (split (/,/,$externals)) { if ($external =~ /\s*($identifier)\s*$/) { $external = $1; push (@external, $external); delete $forward{$external}; if (defined($symbol_values{$external})) { die "$0 : redefinition of symbol $1 in line $lineno : $_\n"; } $symbol_values{$external} = $external; print STDERR "defined external $1 to $external\n" if ($debug_external); } else { die "$0 : syntax error in line $lineno : $_ expected <identifier>, got $external "; } } # Process ENTRY identifier declarations } elsif (/^\s*ENTRY\s+(.*)/i) { if ($1 =~ /^($identifier)\s*$/) { push (@entry, $1); } else { die "$0 : syntax error in line $lineno : $_ expected ENTRY <identifier> "; } # Process MOVE length, address, WITH|WHEN phase instruction } elsif (/^\s*MOVE\s+(.*)/i) { $rest = $1; if ($rest =~ /^FROM\s+($value)\s*,\s*(WITH|WHEN)\s+($phase)\s*$/i) { $transfer_addr = $1; $with_when = $2; $scsi_phase = $3; print STDERR "Parsing MOVE FROM $transfer_addr, $with_when $3\n" if ($debug); $code[$address] = 0x18_00_00_00 | (($with_when =~ /WITH/i) ? 0x00_00_00_00 : 0x08_00_00_00) | $scsi_phases{$scsi_phase}; &parse_value ($transfer_addr, 1, 0, 4); $address += 2; } elsif ($rest =~ /^($value)\s*,\s*(PTR\s+|)($value)\s*,\s*(WITH|WHEN)\s+($phase)\s*$/i) { $transfer_len = $1; $ptr = $2; $transfer_addr = $3; $with_when = $4; $scsi_phase = $5; $code[$address] = (($with_when =~ /WITH/i) ? 0x00_00_00_00 : 0x08_00_00_00) | (($ptr =~ /PTR/i) ? (1 << 29) : 0) | $scsi_phases{$scsi_phase}; &parse_value ($transfer_len, 0, 0, 3); &parse_value ($transfer_addr, 1, 0, 4); $address += 2; } elsif ($rest =~ /^MEMORY\s+(.*)/i) { $rest = $1; $code[$address] = 0xc0_00_00_00; if ($rest =~ /^($value)\s*,\s*($value)\s*,\s*($value)\s*$/) { $count = $1; $source = $2; $dest = $3; print STDERR "Parsing MOVE MEMORY $count, $source, $dest\n" if ($debug); &parse_value ($count, 0, 0, 3); &parse_value ($source, 1, 0, 4); &parse_value ($dest, 2, 0, 4); printf STDERR "Move memory instruction = %08x,%08x,%08x\n", $code[$address], $code[$address+1], $code[$address +2] if ($debug); $address += 3; } else { die "$0 : syntax error in line $lineno : $_ expected <count>, <source>, <destination> " } } elsif ($1 =~ /^(.*)\s+(TO|SHL|SHR)\s+(.*)/i) { print STDERR "Parsing register to register move\n" if ($debug); $src = $1; $op = "\U$2\E"; $rest = $3; $code[$address] = 0x40_00_00_00; $force = ($op !~ /TO/i); print STDERR "Forcing register source \n" if ($force && $debug); if (!$force && $src =~ /^($register)\s+(-|$operator)\s+($value)\s*$/i) { print STDERR "register operand data8 source\n" if ($debug); $src_reg = "\U$1\E"; $op = "\U$2\E"; if ($op ne '-') { $data8 = $3; } else { die "- is not implemented yet.\n" } } elsif ($src =~ /^($register)\s*$/i) { print STDERR "register source\n" if ($debug); $src_reg = "\U$1\E"; # Encode register to register move as a register | 0 # move to register. if (!$force) { $op = '|'; } $data8 = 0; } elsif (!$force && $src =~ /^($value)\s*$/i) { print STDERR "data8 source\n" if ($debug); $src_reg = undef; $op = 'NONE'; $data8 = $1; } else { if (!$force) { die "$0 : syntax error in line $lineno : $_ expected <register> <data8> <register> <operand> <data8> "; } else { die "$0 : syntax error in line $lineno : $_ expected <register> "; } } if ($rest =~ /^($register)\s*(.*)$/i) { $dst_reg = "\U$1\E"; $rest = $2; } else { die "$0 : syntax error in $lineno : $_ expected <register>, got $rest "; } if ($rest =~ /^WITH\s+CARRY\s*(.*)/i) { $rest = $1; if ($op eq '+') { $code[$address] |= 0x01_00_00_00; } else { die "$0 : syntax error in $lineno : $_ WITH CARRY option is incompatible with the $op operator. "; } } if ($rest !~ /^\s*$/) { die "$0 : syntax error in $lineno : $_ Expected end of line, got $rest "; } print STDERR "source = $src_reg, data = $data8 , destination = $dst_reg\n" if ($debug); # Note that Move data8 to reg is encoded as a read-modify-write # instruction. if (($src_reg eq undef) || ($src_reg eq $dst_reg)) { $code[$address] |= 0x38_00_00_00 | ($registers{$dst_reg} << 16); } elsif ($dst_reg =~ /SFBR/i) { $code[$address] |= 0x30_00_00_00 | ($registers{$src_reg} << 16); } elsif ($src_reg =~ /SFBR/i) { $code[$address] |= 0x28_00_00_00 | ($registers{$dst_reg} << 16); } else { die "$0 : Illegal combination of registers in line $lineno : $_ Either source and destination registers must be the same, or either source or destination register must be SFBR. "; } $code[$address] |= $operators{$op}; &parse_value ($data8, 0, 1, 1); $code[$address] |= $operators{$op}; $code[$address + 1] = 0x00_00_00_00;# Reserved $address += 2; } else { die "$0 : syntax error in line $lineno : $_ expected (initiator) <length>, <address>, WHEN <phase> (target) <length>, <address>, WITH <phase> MEMORY <length>, <source>, <destination> <expression> TO <register> "; } # Process SELECT {ATN|} id, fail_address } elsif (/^\s*(SELECT|RESELECT)\s+(.*)/i) { $rest = $2; if ($rest =~ /^(ATN|)\s*($value)\s*,\s*($identifier)\s*$/i) { $atn = $1; $id = $2; $alt_addr = $3; $code[$address] = 0x40_00_00_00 | (($atn =~ /ATN/i) ? 0x01_00_00_00 : 0); $code[$address + 1] = 0x00_00_00_00; &parse_value($id, 0, 2, 1); &parse_value($alt_addr, 1, 0, 4); $address += 2; } elsif ($rest =~ /^(ATN|)\s*FROM\s+($value)\s*,\s*($identifier)\s*$/i) { $atn = $1; $addr = $2; $alt_addr = $3; $code[$address] = 0x42_00_00_00 | (($atn =~ /ATN/i) ? 0x01_00_00_00 : 0); $code[$address + 1] = 0x00_00_00_00; &parse_value($addr, 0, 0, 3); &parse_value($alt_addr, 1, 0, 4); $address += 2; } else { die "$0 : syntax error in line $lineno : $_ expected SELECT id, alternate_address or SELECT FROM address, alternate_address or RESELECT id, alternate_address or RESELECT FROM address, alternate_address "; } } elsif (/^\s*WAIT\s+(.*)/i) { $rest = $1; print STDERR "Parsing WAIT $rest\n" if ($debug); if ($rest =~ /^DISCONNECT\s*$/i) { $code[$address] = 0x48_00_00_00; $code[$address + 1] = 0x00_00_00_00; $address += 2; } elsif ($rest =~ /^(RESELECT|SELECT)\s+($identifier)\s*$/i) { $alt_addr = $2; $code[$address] = 0x50_00_00_00; &parse_value ($alt_addr, 1, 0, 4); $address += 2; } else { die "$0 : syntax error in line $lineno : $_ expected (initiator) WAIT DISCONNECT or (initiator) WAIT RESELECT alternate_address or (target) WAIT SELECT alternate_address "; } # Handle SET and CLEAR instructions. Note that we should also do something # with this syntax to set target mode. } elsif (/^\s*(SET|CLEAR)\s+(.*)/i) { $set = $1; $list = $2; $code[$address] = ($set =~ /SET/i) ? 0x58_00_00_00 : 0x60_00_00_00; foreach $arg (split (/\s+AND\s+/i,$list)) { if ($arg =~ /ATN/i) { $code[$address] |= 0x00_00_00_08; } elsif ($arg =~ /ACK/i) { $code[$address] |= 0x00_00_00_40; } elsif ($arg =~ /TARGET/i) { $code[$address] |= 0x00_00_02_00; } elsif ($arg =~ /CARRY/i) { $code[$address] |= 0x00_00_04_00; } else { die "$0 : syntax error in line $lineno : $_ expected $set followed by a AND delimited list of one or more strings from the list ACK, ATN, CARRY, TARGET. "; } } $code[$address + 1] = 0x00_00_00_00; $address += 2; } elsif (/^\s*(JUMP|CALL|INT)\s+(.*)/i) { $instruction = $1; $rest = $2; if ($instruction =~ /JUMP/i) { $code[$address] = 0x80_00_00_00; } elsif ($instruction =~ /CALL/i) { $code[$address] = 0x88_00_00_00; } else { $code[$address] = 0x98_00_00_00; } print STDERR "parsing JUMP, rest = $rest\n" if ($debug); # Relative jump. if ($rest =~ /^(REL\s*\(\s*$identifier\s*\))\s*(.*)/i) { $addr = $1; $rest = $2; print STDERR "parsing JUMP REL, addr = $addr, rest = $rest\n" if ($debug); $code[$address] |= 0x00_80_00_00; &parse_value($addr, 1, 0, 4); # Absolute jump, requires no more gunk } elsif ($rest =~ /^($value)\s*(.*)/) { $addr = $1; $rest = $2; &parse_value($addr, 1, 0, 4); } else { die "$0 : syntax error in line $lineno : $_ expected <address> or REL (address) "; } if ($rest =~ /^,\s*(.*)/) { &parse_conditional($1); } elsif ($rest =~ /^\s*$/) { $code[$address] |= (1 << 19); } else { die "$0 : syntax error in line $lineno : $_ expected , <conditional> or end of line, got $1 "; } $address += 2; } elsif (/^\s*(RETURN|INTFLY)\s*(.*)/i) { $instruction = $1; $conditional = $2; print STDERR "Parsing $instruction\n" if ($debug); $code[$address] = ($instruction =~ /RETURN/i) ? 0x90_00_00_00 : 0x98_10_00_00; if ($conditional =~ /^,\s*(.*)/) { $conditional = $1; &parse_conditional ($conditional); } elsif ($conditional !~ /^\s*$/) { die "$0 : syntax error in line $lineno : $_ expected , <conditional> "; } else { $code[$address] |= 0x00_08_00_00; } $code[$address + 1] = 0x00_00_00_00; $address += 2; } elsif (/^\s*DISCONNECT\s*$/) { $code[$address] = 0x48_00_00_00; $code[$address + 1] = 0x00_00_00_00; $address += 2; # I'm not sure that I should be including this extension, but # what the hell? } elsif (/^\s*NOP\s*$/i) { $code[$address] = 0x80_88_00_00; $code[$address + 1] = 0x00_00_00_00; $address += 2; # Ignore lines consisting entirely of white space } elsif (/^\s*$/) { } else { die "$0 : syntax error in line $lineno: $_ expected label:, ABSOLUTE, CLEAR, DISCONNECT, EXTERNAL, MOVE, RESELECT, SELECT SET, or WAIT "; } } # Fill in label references @undefined = keys %forward; if ($#undefined >= 0) { print STDERR "Undefined symbols : \n"; foreach $undef (@undefined) { print STDERR "$undef in $forward{$undef}\n"; } exit 1; } @label_patches = (); @external_patches = (); @absolute = sort @absolute; foreach $i (@absolute) { foreach $j (split (/\s+/,$symbol_references{$i})) { $j =~ /(REL|ABS),(.*),(.*)/; $type = $1; $address = $2; $length = $3; die "$0 : $symbol $i has invalid relative reference at address $address, size $length\n" if ($type eq 'REL'); &patch ($address / 4, $address % 4, $length, $symbol_values{$i}); } } foreach $external (@external) { print STDERR "checking external $external \n" if ($debug_external); if ($symbol_references{$external} ne undef) { for $reference (split(/\s+/,$symbol_references{$external})) { $reference =~ /(REL|ABS),(.*),(.*)/; $type = $1; $address = $2; $length = $3; die "$0 : symbol $label is external, has invalid relative reference at $address, size $length\n" if ($type eq 'REL'); die "$0 : symbol $label has invalid reference at $address, size $length\n" if ((($address % 4) !=0) || ($length != 4)); $symbol = $symbol_values{$external}; $add = $code[$address / 4]; if ($add eq 0) { $code[$address / 4] = $symbol; } else { $add = sprintf ("0x%08x", $add); $code[$address / 4] = "$symbol + $add"; } print STDERR "referenced external $external at $1\n" if ($debug_external); } } } foreach $label (@label) { if ($symbol_references{$label} ne undef) { for $reference (split(/\s+/,$symbol_references{$label})) { $reference =~ /(REL|ABS),(.*),(.*)/; $type = $1; $address = $2; $length = $3; if ((($address % 4) !=0) || ($length != 4)) { die "$0 : symbol $label has invalid reference at $1, size $2\n"; } if ($type eq 'ABS') { $code[$address / 4] += $symbol_values{$label}; push (@label_patches, $address / 4); } else { # # - The address of the reference should be in the second and last word # of an instruction # - Relative jumps, etc. are relative to the DSP of the _next_ instruction # # So, we need to add four to the address of the reference, to get # the address of the next instruction, when computing the reference. $tmp = $symbol_values{$label} - ($address + 4); die # Relative addressing is limited to 24 bits. "$0 : symbol $label is too far ($tmp) from $address to reference as relative/\n" if (($tmp >= 0x80_00_00) || ($tmp < -0x80_00_00)); $code[$address / 4] = $tmp & 0x00_ff_ff_ff; } } } } # Output SCRIPT[] array, one instruction per line. Optionally # print the original code too. open (OUTPUT, ">$output") || die "$0 : can't open $output for writing\n"; open (OUTPUTU, ">$outputu") || die "$0 : can't open $outputu for writing\n"; ($_ = $0) =~ s:.*/::; print OUTPUT "/* DO NOT EDIT - Generated automatically by ".$_." */\n"; print OUTPUT "static u32 ".$prefix."SCRIPT[] = {\n"; $instructions = 0; for ($i = 0; $i < $#code; ) { if ($list_in_array) { printf OUTPUT "/*\n$list[$i]\nat 0x%08x : */", $i; } printf OUTPUT "\t0x%08x,", $code[$i]; printf STDERR "Address $i = %x\n", $code[$i] if ($debug); if ($code[$i + 1] =~ /\s*($identifier)(.*)$/) { push (@external_patches, $i+1, $1); printf OUTPUT "0%s,", $2 } else { printf OUTPUT "0x%08x,",$code[$i+1]; } if (($code[$i] & 0xff_00_00_00) == 0xc0_00_00_00) { if ($code[$i + 2] =~ /$identifier/) { push (@external_patches, $i+2, $code[$i+2]); printf OUTPUT "0,\n"; } else { printf OUTPUT "0x%08x,\n",$code[$i+2]; } $i += 3; } else { printf OUTPUT "\n"; $i += 2; } $instructions += 1; } print OUTPUT "};\n\n"; foreach $i (@absolute) { printf OUTPUT "#define A_$i\t0x%08x\n", $symbol_values{$i}; if (defined($prefix) && $prefix ne '') { printf OUTPUT "#define A_".$i."_used ".$prefix."A_".$i."_used\n"; printf OUTPUTU "#undef A_".$i."_used\n"; } printf OUTPUTU "#undef A_$i\n"; printf OUTPUT "static u32 A_".$i."_used\[\] __attribute((unused)) = {\n"; printf STDERR "$i is used $symbol_references{$i}\n" if ($debug); foreach $j (split (/\s+/,$symbol_references{$i})) { $j =~ /(ABS|REL),(.*),(.*)/; if ($1 eq 'ABS') { $address = $2; $length = $3; printf OUTPUT "\t0x%08x,\n", $address / 4; } } printf OUTPUT "};\n\n"; } foreach $i (sort @entry) { printf OUTPUT "#define Ent_$i\t0x%08x\n", $symbol_values{$i}; printf OUTPUTU "#undef Ent_$i\n", $symbol_values{$i}; } # # NCR assembler outputs label patches in the form of indices into # the code. # printf OUTPUT "static u32 ".$prefix."LABELPATCHES[] __attribute((unused)) = {\n"; for $patch (sort {$a <=> $b} @label_patches) { printf OUTPUT "\t0x%08x,\n", $patch; } printf OUTPUT "};\n\n"; $num_external_patches = 0; printf OUTPUT "static struct {\n\tu32\toffset;\n\tvoid\t\t*address;\n". "} ".$prefix."EXTERNAL_PATCHES[] __attribute((unused)) = {\n"; while ($ident = pop(@external_patches)) { $off = pop(@external_patches); printf OUTPUT "\t{0x%08x, &%s},\n", $off, $ident; ++$num_external_patches; } printf OUTPUT "};\n\n"; printf OUTPUT "static u32 ".$prefix."INSTRUCTIONS __attribute((unused))\t= %d;\n", $instructions; printf OUTPUT "static u32 ".$prefix."PATCHES __attribute((unused))\t= %d;\n", $#label_patches+1; printf OUTPUT "static u32 ".$prefix."EXTERNAL_PATCHES_LEN __attribute((unused))\t= %d;\n", $num_external_patches; close OUTPUT; close OUTPUTU; scsi/fnic/Makefile 0000644 00000000440 14722053666 0010075 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_FCOE_FNIC) += fnic.o fnic-y := \ fnic_attrs.o \ fnic_isr.o \ fnic_main.o \ fnic_res.o \ fnic_fcs.o \ fnic_scsi.o \ fnic_trace.o \ fnic_debugfs.o \ vnic_cq.o \ vnic_dev.o \ vnic_intr.o \ vnic_rq.o \ vnic_wq_copy.o \ vnic_wq.o amba/Kconfig 0000644 00000000456 14722053666 0006767 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config ARM_AMBA bool if ARM_AMBA config TEGRA_AHB bool default y if ARCH_TEGRA help Adds AHB configuration functionality for NVIDIA Tegra SoCs, which controls AHB bus master arbitration and some performance parameters (priority, prefetch size). endif amba/Makefile 0000644 00000000161 14722053666 0007115 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ARM_AMBA) += bus.o obj-$(CONFIG_TEGRA_AHB) += tegra-ahb.o net/bonding/Makefile 0000644 00000000477 14722053666 0010435 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Ethernet Bonding driver # obj-$(CONFIG_BONDING) += bonding.o bonding-objs := bond_main.o bond_3ad.o bond_alb.o bond_sysfs.o bond_sysfs_slave.o bond_debugfs.o bond_netlink.o bond_options.o proc-$(CONFIG_PROC_FS) += bond_procfs.o bonding-objs += $(proc-y) net/team/Kconfig 0000644 00000004363 14722053666 0007604 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig NET_TEAM tristate "Ethernet team driver support" ---help--- This allows one to create virtual interfaces that teams together multiple ethernet devices. Team devices can be added using the "ip" command from the iproute2 package: "ip link add link [ address MAC ] [ NAME ] type team" To compile this driver as a module, choose M here: the module will be called team. if NET_TEAM config NET_TEAM_MODE_BROADCAST tristate "Broadcast mode support" depends on NET_TEAM ---help--- Basic mode where packets are transmitted always by all suitable ports. All added ports are setup to have team's device address. To compile this team mode as a module, choose M here: the module will be called team_mode_broadcast. config NET_TEAM_MODE_ROUNDROBIN tristate "Round-robin mode support" depends on NET_TEAM ---help--- Basic mode where port used for transmitting packets is selected in round-robin fashion using packet counter. All added ports are setup to have team's device address. To compile this team mode as a module, choose M here: the module will be called team_mode_roundrobin. config NET_TEAM_MODE_RANDOM tristate "Random mode support" depends on NET_TEAM ---help--- Basic mode where port used for transmitting packets is selected randomly. All added ports are setup to have team's device address. To compile this team mode as a module, choose M here: the module will be called team_mode_random. config NET_TEAM_MODE_ACTIVEBACKUP tristate "Active-backup mode support" depends on NET_TEAM ---help--- Only one port is active at a time and the rest of ports are used for backup. Mac addresses of ports are not modified. Userspace is responsible to do so. To compile this team mode as a module, choose M here: the module will be called team_mode_activebackup. config NET_TEAM_MODE_LOADBALANCE tristate "Load-balance mode support" depends on NET_TEAM ---help--- This mode provides load balancing functionality. Tx port selection is done using BPF function set up from userspace (bpf_hash_func option) To compile this team mode as a module, choose M here: the module will be called team_mode_loadbalance. endif # NET_TEAM net/team/Makefile 0000644 00000000661 14722053666 0007736 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the network team driver # obj-$(CONFIG_NET_TEAM) += team.o obj-$(CONFIG_NET_TEAM_MODE_BROADCAST) += team_mode_broadcast.o obj-$(CONFIG_NET_TEAM_MODE_ROUNDROBIN) += team_mode_roundrobin.o obj-$(CONFIG_NET_TEAM_MODE_RANDOM) += team_mode_random.o obj-$(CONFIG_NET_TEAM_MODE_ACTIVEBACKUP) += team_mode_activebackup.o obj-$(CONFIG_NET_TEAM_MODE_LOADBALANCE) += team_mode_loadbalance.o net/ethernet/xircom/Kconfig 0000644 00000001566 14722053666 0011777 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Xircom network device configuration # config NET_VENDOR_XIRCOM bool "Xircom devices" default y depends on PCMCIA ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Xircom cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_XIRCOM config PCMCIA_XIRC2PS tristate "Xircom 16-bit PCMCIA support" depends on PCMCIA ---help--- Say Y here if you intend to attach a Xircom 16-bit PCMCIA (PC-card) Ethernet or Fast Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called xirc2ps_cs. If unsure, say N. endif # NET_VENDOR_XIRCOM net/ethernet/xircom/Makefile 0000644 00000000214 14722053666 0012121 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Xircom network device drivers. # obj-$(CONFIG_PCMCIA_XIRC2PS) += xirc2ps_cs.o net/ethernet/arc/Kconfig 0000644 00000002540 14722053666 0011234 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # ARC EMAC network device configuration # config NET_VENDOR_ARC bool "ARC devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about ARC cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ARC config ARC_EMAC_CORE tristate depends on ARC || ARCH_ROCKCHIP || COMPILE_TEST select MII select PHYLIB select CRC32 config ARC_EMAC tristate "ARC EMAC support" select ARC_EMAC_CORE depends on OF_IRQ && OF_NET depends on ARC || COMPILE_TEST ---help--- On some legacy ARC (Synopsys) FPGA boards such as ARCAngel4/ML50x non-standard on-chip ethernet device ARC EMAC 10/100 is used. Say Y here if you have such a board. If unsure, say N. config EMAC_ROCKCHIP tristate "Rockchip EMAC support" select ARC_EMAC_CORE depends on OF_IRQ && OF_NET && REGULATOR depends on ARCH_ROCKCHIP || COMPILE_TEST ---help--- Support for Rockchip RK3036/RK3066/RK3188 EMAC ethernet controllers. This selects Rockchip SoC glue layer support for the emac device driver. This driver is used for RK3036/RK3066/RK3188 EMAC ethernet controller. endif # NET_VENDOR_ARC net/ethernet/arc/Makefile 0000644 00000000403 14722053666 0011365 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the ARC network device drivers. # arc_emac-objs := emac_main.o emac_mdio.o obj-$(CONFIG_ARC_EMAC_CORE) += arc_emac.o obj-$(CONFIG_ARC_EMAC) += emac_arc.o obj-$(CONFIG_EMAC_ROCKCHIP) += emac_rockchip.o net/ethernet/chelsio/cxgb4/Makefile 0000644 00000001033 14722053666 0013255 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Chelsio T4 driver # obj-$(CONFIG_CHELSIO_T4) += cxgb4.o cxgb4-objs := cxgb4_main.o l2t.o smt.o t4_hw.o sge.o clip_tbl.o cxgb4_ethtool.o \ cxgb4_uld.o srq.o sched.o cxgb4_filter.o cxgb4_tc_u32.o \ cxgb4_ptp.o cxgb4_tc_flower.o cxgb4_cudbg.o cxgb4_mps.o \ cudbg_common.o cudbg_lib.o cudbg_zlib.o cxgb4-$(CONFIG_CHELSIO_T4_DCB) += cxgb4_dcb.o cxgb4-$(CONFIG_CHELSIO_T4_FCOE) += cxgb4_fcoe.o cxgb4-$(CONFIG_DEBUG_FS) += cxgb4_debugfs.o cxgb4-$(CONFIG_THERMAL) += cxgb4_thermal.o net/ethernet/chelsio/Kconfig 0000644 00000010063 14722053666 0012114 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Chelsio device configuration # config NET_VENDOR_CHELSIO bool "Chelsio devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Chelsio devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_CHELSIO config CHELSIO_T1 tristate "Chelsio 10Gb Ethernet support" depends on PCI select CRC32 select MDIO ---help--- This driver supports Chelsio gigabit and 10-gigabit Ethernet cards. More information about adapter features and performance tuning is in <file:Documentation/networking/device_drivers/chelsio/cxgb.txt>. For general information about Chelsio and our products, visit our website at <http://www.chelsio.com>. For customer support, please visit our customer support page at <http://www.chelsio.com/support.html>. Please send feedback to <linux-bugs@chelsio.com>. To compile this driver as a module, choose M here: the module will be called cxgb. config CHELSIO_T1_1G bool "Chelsio gigabit Ethernet support" depends on CHELSIO_T1 ---help--- Enables support for Chelsio's gigabit Ethernet PCI cards. If you are using only 10G cards say 'N' here. config CHELSIO_T3 tristate "Chelsio Communications T3 10Gb Ethernet support" depends on PCI && INET select FW_LOADER select MDIO ---help--- This driver supports Chelsio T3-based gigabit and 10Gb Ethernet adapters. For general information about Chelsio and our products, visit our website at <http://www.chelsio.com>. For customer support, please visit our customer support page at <http://www.chelsio.com/support.html>. Please send feedback to <linux-bugs@chelsio.com>. To compile this driver as a module, choose M here: the module will be called cxgb3. config CHELSIO_T4 tristate "Chelsio Communications T4/T5/T6 Ethernet support" depends on PCI && (IPV6 || IPV6=n) select FW_LOADER select MDIO select ZLIB_DEFLATE ---help--- This driver supports Chelsio T4, T5 & T6 based gigabit, 10Gb Ethernet adapter and T5/T6 based 40Gb and T6 based 25Gb, 50Gb and 100Gb Ethernet adapters. For general information about Chelsio and our products, visit our website at <http://www.chelsio.com>. For customer support, please visit our customer support page at <http://www.chelsio.com/support.html>. Please send feedback to <linux-bugs@chelsio.com>. To compile this driver as a module choose M here; the module will be called cxgb4. config CHELSIO_T4_DCB bool "Data Center Bridging (DCB) Support for Chelsio T4/T5/T6 cards" default n depends on CHELSIO_T4 && DCB ---help--- Enable DCB support through rtNetlink interface. Say Y here if you want to enable Data Center Bridging (DCB) support in the driver. If unsure, say N. config CHELSIO_T4_FCOE bool "Fibre Channel over Ethernet (FCoE) Support for Chelsio T5 cards" default n depends on CHELSIO_T4 && CHELSIO_T4_DCB && FCOE ---help--- Enable FCoE offload features. Say Y here if you want to enable Fibre Channel over Ethernet (FCoE) support in the driver. If unsure, say N. config CHELSIO_T4VF tristate "Chelsio Communications T4/T5/T6 Virtual Function Ethernet support" depends on PCI ---help--- This driver supports Chelsio T4, T5 & T6 based gigabit, 10Gb Ethernet adapters and T5/T6 based 40Gb and T6 based 25Gb, 50Gb and 100Gb Ethernet adapters with PCI-E SR-IOV Virtual Functions. For general information about Chelsio and our products, visit our website at <http://www.chelsio.com>. For customer support, please visit our customer support page at <http://www.chelsio.com/support.html>. Please send feedback to <linux-bugs@chelsio.com>. To compile this driver as a module choose M here; the module will be called cxgb4vf. config CHELSIO_LIB tristate ---help--- Common library for Chelsio drivers. endif # NET_VENDOR_CHELSIO net/ethernet/chelsio/libcxgb/Makefile 0000644 00000000244 14722053666 0013663 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ccflags-y := -I $(srctree)/$(src)/../cxgb4 obj-$(CONFIG_CHELSIO_LIB) += libcxgb.o libcxgb-y := libcxgb_ppm.o libcxgb_cm.o net/ethernet/chelsio/cxgb3/Makefile 0000644 00000000331 14722053666 0013254 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Chelsio T3 driver # obj-$(CONFIG_CHELSIO_T3) += cxgb3.o cxgb3-objs := cxgb3_main.o ael1002.o vsc8211.o t3_hw.o mc5.o \ xgmac.o sge.o l2t.o cxgb3_offload.o aq100x.o net/ethernet/chelsio/cxgb4vf/Makefile 0000644 00000000261 14722053666 0013613 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Chelsio T4 SR-IOV Virtual Function Driver # obj-$(CONFIG_CHELSIO_T4VF) += cxgb4vf.o cxgb4vf-objs := cxgb4vf_main.o t4vf_hw.o sge.o net/ethernet/chelsio/Makefile 0000644 00000000420 14722053666 0012245 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Chelsio network device drivers. # obj-$(CONFIG_CHELSIO_T1) += cxgb/ obj-$(CONFIG_CHELSIO_T3) += cxgb3/ obj-$(CONFIG_CHELSIO_T4) += cxgb4/ obj-$(CONFIG_CHELSIO_T4VF) += cxgb4vf/ obj-$(CONFIG_CHELSIO_LIB) += libcxgb/ net/ethernet/chelsio/cxgb/Makefile 0000644 00000000371 14722053666 0013175 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Chelsio T1 driver # obj-$(CONFIG_CHELSIO_T1) += cxgb.o cxgb-$(CONFIG_CHELSIO_T1_1G) += mv88e1xxx.o vsc7326.o cxgb-objs := cxgb2.o espi.o tp.o pm3393.o sge.o subr.o \ mv88x201x.o my3126.o $(cxgb-y) net/ethernet/mscc/Kconfig 0000644 00000001553 14722053666 0011417 0 ustar 00 # SPDX-License-Identifier: (GPL-2.0 OR MIT) config NET_VENDOR_MICROSEMI bool "Microsemi devices" default y help If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Microsemi devices. if NET_VENDOR_MICROSEMI config MSCC_OCELOT_SWITCH tristate "Ocelot switch driver" depends on NET_SWITCHDEV depends on HAS_IOMEM select PHYLIB select REGMAP_MMIO help This driver supports the Ocelot network switch device. config MSCC_OCELOT_SWITCH_OCELOT tristate "Ocelot switch driver on Ocelot" depends on MSCC_OCELOT_SWITCH depends on GENERIC_PHY depends on OF_NET help This driver supports the Ocelot network switch device as present on the Ocelot SoCs. endif # NET_VENDOR_MICROSEMI net/ethernet/mscc/Makefile 0000644 00000000453 14722053666 0011552 0 ustar 00 # SPDX-License-Identifier: (GPL-2.0 OR MIT) obj-$(CONFIG_MSCC_OCELOT_SWITCH) += mscc_ocelot_common.o mscc_ocelot_common-y := ocelot.o ocelot_io.o mscc_ocelot_common-y += ocelot_regs.o ocelot_tc.o ocelot_police.o ocelot_ace.o ocelot_flower.o obj-$(CONFIG_MSCC_OCELOT_SWITCH_OCELOT) += ocelot_board.o net/ethernet/emulex/Kconfig 0000644 00000001122 14722053666 0011761 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Emulex driver configuration # config NET_VENDOR_EMULEX bool "Emulex devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Emulex cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_EMULEX source "drivers/net/ethernet/emulex/benet/Kconfig" endif # NET_VENDOR_EMULEX net/ethernet/emulex/benet/Kconfig 0000644 00000002527 14722053666 0013070 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config BE2NET tristate "ServerEngines' 10Gbps NIC - BladeEngine" depends on PCI help This driver implements the NIC functionality for ServerEngines' 10Gbps network adapter - BladeEngine. config BE2NET_HWMON bool "HWMON support for be2net driver" depends on BE2NET && HWMON depends on !(BE2NET=y && HWMON=m) default y help Say Y here if you want to expose thermal sensor data on be2net network adapter. config BE2NET_BE2 bool "Support for BE2 chipsets" depends on BE2NET default y help Say Y here if you want to use devices based on BE2 chipsets. (e.g. OneConnect OCe10xxx) config BE2NET_BE3 bool "Support for BE3 chipsets" depends on BE2NET default y help Say Y here if you want to use devices based on BE3 chipsets. (e.g. OneConnect OCe11xxx) config BE2NET_LANCER bool "Support for Lancer chipsets" depends on BE2NET default y help Say Y here if you want to use devices based on Lancer chipsets. (e.g LightPulse LPe12xxx) config BE2NET_SKYHAWK bool "Support for Skyhawk chipsets" depends on BE2NET default y help Say Y here if you want to use devices based on Skyhawk chipsets. (e.g. OneConnect OCe14xxx) comment "WARNING: be2net is useless without any enabled chip" depends on BE2NET_BE2=n && BE2NET_BE3=n && BE2NET_LANCER=n && \ BE2NET_SKYHAWK=n && BE2NET net/ethernet/emulex/benet/Makefile 0000644 00000000316 14722053666 0013217 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile to build the network driver for ServerEngine's BladeEngine. # obj-$(CONFIG_BE2NET) += be2net.o be2net-y := be_main.o be_cmds.o be_ethtool.o be_roce.o net/ethernet/emulex/Makefile 0000644 00000000166 14722053666 0012125 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Emulex device drivers. # obj-$(CONFIG_BE2NET) += benet/ net/ethernet/socionext/Kconfig 0000644 00000002231 14722053666 0012477 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_VENDOR_SOCIONEXT bool "Socionext ethernet drivers" default y ---help--- Option to select ethernet drivers for Socionext platforms. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Socionext devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SOCIONEXT config SNI_AVE tristate "Socionext AVE ethernet support" depends on (ARCH_UNIPHIER || COMPILE_TEST) && OF depends on HAS_IOMEM select MFD_SYSCON select PHYLIB ---help--- Driver for gigabit ethernet MACs, called AVE, in the Socionext UniPhier family. config SNI_NETSEC tristate "Socionext NETSEC ethernet support" depends on (ARCH_SYNQUACER || COMPILE_TEST) && OF select PHYLIB select PAGE_POOL select MII ---help--- Enable to add support for the SocioNext NetSec Gigabit Ethernet controller + PHY, as found on the Synquacer SC2A11 SoC To compile this driver as a module, choose M here: the module will be called netsec. If unsure, say N. endif #NET_VENDOR_SOCIONEXT net/ethernet/socionext/Makefile 0000644 00000000255 14722053666 0012640 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for all ethernet ip drivers on Socionext platforms # obj-$(CONFIG_SNI_AVE) += sni_ave.o obj-$(CONFIG_SNI_NETSEC) += netsec.o net/ethernet/i825xx/Kconfig 0000644 00000004152 14722053666 0011537 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Intel 82596/82593/82596 network device configuration # config NET_VENDOR_I825XX bool "Intel (82586/82593/82596) devices" default y depends on NET_VENDOR_INTEL ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question does not directly affect the kernel: saying N will just cause the configurator to skip all the questions about these devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_I825XX config ARM_ETHER1 tristate "Acorn Ether1 support" depends on ARM && ARCH_ACORN ---help--- If you have an Acorn system with one of these (AKA25) network cards, you should say Y to this option if you wish to use it with Linux. config BVME6000_NET tristate "BVME6000 Ethernet support" depends on BVME6000 ---help--- This is the driver for the Ethernet interface on BVME4000 and BVME6000 VME boards. Say Y here to include the driver for this chip in your kernel. To compile this driver as a module, choose M here. config LASI_82596 tristate "Lasi ethernet" depends on GSC ---help--- Say Y here to support the builtin Intel 82596 ethernet controller found in Hewlett-Packard PA-RISC machines with 10Mbit ethernet. config MVME16x_NET tristate "MVME16x Ethernet support" depends on MVME16x ---help--- This is the driver for the Ethernet interface on the Motorola MVME162, 166, 167, 172 and 177 boards. Say Y here to include the driver for this chip in your kernel. To compile this driver as a module, choose M here. config SNI_82596 tristate "SNI RM ethernet" depends on SNI_RM ---help--- Say Y here to support the on-board Intel 82596 ethernet controller built into SNI RM machines. config SUN3_82586 bool "Sun3 on-board Intel 82586 support" depends on SUN3 ---help--- This driver enables support for the on-board Intel 82586 based Ethernet adapter found on Sun 3/1xx and 3/2xx motherboards. Note that this driver does not support 82586-based adapters on additional VME boards. endif # NET_VENDOR_I825XX net/ethernet/i825xx/Makefile 0000644 00000000524 14722053666 0011673 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Intel 82586/82593/82596 chipset device drivers. # obj-$(CONFIG_ARM_ETHER1) += ether1.o obj-$(CONFIG_SUN3_82586) += sun3_82586.o obj-$(CONFIG_LASI_82596) += lasi_82596.o obj-$(CONFIG_SNI_82596) += sni_82596.o obj-$(CONFIG_MVME16x_NET) += 82596.o obj-$(CONFIG_BVME6000_NET) += 82596.o net/ethernet/mellanox/mlx5/core/Kconfig 0000644 00000012264 14722053666 0014127 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Mellanox driver configuration # config MLX5_CORE tristate "Mellanox 5th generation network adapters (ConnectX series) core driver" depends on PCI select NET_DEVLINK imply PTP_1588_CLOCK imply VXLAN imply MLXFW imply PCI_HYPERV_INTERFACE default n ---help--- Core driver for low level functionality of the ConnectX-4 and Connect-IB cards by Mellanox Technologies. config MLX5_ACCEL bool config MLX5_FPGA bool "Mellanox Technologies Innova support" depends on MLX5_CORE select MLX5_ACCEL ---help--- Build support for the Innova family of network cards by Mellanox Technologies. Innova network cards are comprised of a ConnectX chip and an FPGA chip on one board. If you select this option, the mlx5_core driver will include the Innova FPGA core and allow building sandbox-specific client drivers. config MLX5_CORE_EN bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support" depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE select PAGE_POOL select DIMLIB default n ---help--- Ethernet support in Mellanox Technologies ConnectX-4 NIC. config MLX5_EN_ARFS bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support" depends on MLX5_CORE_EN && RFS_ACCEL default y ---help--- Mellanox MLX5 ethernet hardware-accelerated receive flow steering support, Enables ethernet netdevice arfs support and ntuple filtering. config MLX5_EN_RXNFC bool "Mellanox MLX5 ethernet rx nfc flow steering support" depends on MLX5_CORE_EN default y ---help--- Mellanox MLX5 ethernet rx nfc flow steering support Enables ethtool receive network flow classification, which allows user defined flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc API. config MLX5_MPFS bool "Mellanox Technologies MLX5 MPFS support" depends on MLX5_CORE_EN default y ---help--- Mellanox Technologies Ethernet Multi-Physical Function Switch (MPFS) support in ConnectX NIC. MPFs is required for when multi-PF configuration is enabled to allow passing user configured unicast MAC addresses to the requesting PF. config MLX5_ESWITCH bool "Mellanox Technologies MLX5 SRIOV E-Switch support" depends on MLX5_CORE_EN && NET_SWITCHDEV default y ---help--- Mellanox Technologies Ethernet SRIOV E-Switch support in ConnectX NIC. E-Switch provides internal SRIOV packet steering and switching for the enabled VFs and PF in two available modes: Legacy SRIOV mode (L2 mac vlan steering based). Switchdev mode (eswitch offloads). config MLX5_CORE_EN_DCB bool "Data Center Bridging (DCB) Support" default y depends on MLX5_CORE_EN && DCB ---help--- Say Y here if you want to use Data Center Bridging (DCB) in the driver. If set to N, will not be able to configure QoS and ratelimit attributes. This flag is depended on the kernel's DCB support. If unsure, set to Y config MLX5_CORE_IPOIB bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support" depends on MLX5_CORE_EN default n ---help--- MLX5 IPoIB offloads & acceleration support. config MLX5_FPGA_IPSEC bool "Mellanox Technologies IPsec Innova support" depends on MLX5_CORE depends on MLX5_FPGA default n help Build IPsec support for the Innova family of network cards by Mellanox Technologies. Innova network cards are comprised of a ConnectX chip and an FPGA chip on one board. If you select this option, the mlx5_core driver will include the Innova FPGA core and allow building sandbox-specific client drivers. config MLX5_EN_IPSEC bool "IPSec XFRM cryptography-offload accelaration" depends on MLX5_CORE_EN depends on XFRM_OFFLOAD depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD depends on MLX5_FPGA_IPSEC default n help Build support for IPsec cryptography-offload accelaration in the NIC. Note: Support for hardware with this capability needs to be selected for this option to become available. config MLX5_FPGA_TLS bool "Mellanox Technologies TLS Innova support" depends on TLS_DEVICE depends on TLS=y || MLX5_CORE=m depends on MLX5_FPGA default n help Build TLS support for the Innova family of network cards by Mellanox Technologies. Innova network cards are comprised of a ConnectX chip and an FPGA chip on one board. If you select this option, the mlx5_core driver will include the Innova FPGA core and allow building sandbox-specific client drivers. config MLX5_TLS bool "Mellanox Technologies TLS Connect-X support" depends on MLX5_CORE_EN depends on TLS_DEVICE depends on TLS=y || MLX5_CORE=m select MLX5_ACCEL default n help Build TLS support for the Connect-X family of network cards by Mellanox Technologies. config MLX5_EN_TLS bool "TLS cryptography-offload accelaration" depends on MLX5_CORE_EN depends on MLX5_FPGA_TLS || MLX5_TLS default y help Build support for TLS cryptography-offload accelaration in the NIC. Note: Support for hardware with this capability needs to be selected for this option to become available. config MLX5_SW_STEERING bool "Mellanox Technologies software-managed steering" depends on MLX5_CORE_EN && MLX5_ESWITCH default y help Build support for software-managed steering in the NIC. net/ethernet/mellanox/mlx5/core/steering/Makefile 0000644 00000000110 14722053666 0016067 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only subdir-ccflags-y += -I$(src)/.. net/ethernet/mellanox/mlx5/core/Makefile 0000644 00000005144 14722053666 0014263 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Mellanox 5th generation network adapters # (ConnectX series) core & netdev driver # subdir-ccflags-y += -I$(src) obj-$(CONFIG_MLX5_CORE) += mlx5_core.o # # mlx5 core basic # mlx5_core-y := main.o cmd.o debugfs.o fw.o eq.o uar.o pagealloc.o \ health.o mcg.o cq.o alloc.o qp.o port.o mr.o pd.o \ transobj.o vport.o sriov.o fs_cmd.o fs_core.o pci_irq.o \ fs_counters.o rl.o lag.o dev.o events.o wq.o lib/gid.o \ lib/devcom.o lib/pci_vsc.o lib/dm.o diag/fs_tracepoint.o \ diag/fw_tracer.o diag/crdump.o devlink.o # # Netdev basic # mlx5_core-$(CONFIG_MLX5_CORE_EN) += en_main.o en_common.o en_fs.o en_ethtool.o \ en_tx.o en_rx.o en_dim.o en_txrx.o en/xdp.o en_stats.o \ en_selftest.o en/port.o en/monitor_stats.o en/health.o \ en/reporter_tx.o en/reporter_rx.o en/params.o en/xsk/umem.o \ en/xsk/setup.o en/xsk/rx.o en/xsk/tx.o # # Netdev extra # mlx5_core-$(CONFIG_MLX5_EN_ARFS) += en_arfs.o mlx5_core-$(CONFIG_MLX5_EN_RXNFC) += en_fs_ethtool.o mlx5_core-$(CONFIG_MLX5_CORE_EN_DCB) += en_dcbnl.o en/port_buffer.o mlx5_core-$(CONFIG_MLX5_ESWITCH) += en_rep.o en_tc.o en/tc_tun.o lib/port_tun.o lag_mp.o \ lib/geneve.o en/tc_tun_vxlan.o en/tc_tun_gre.o \ en/tc_tun_geneve.o diag/en_tc_tracepoint.o mlx5_core-$(CONFIG_PCI_HYPERV_INTERFACE) += en/hv_vhca_stats.o # # Core extra # mlx5_core-$(CONFIG_MLX5_ESWITCH) += eswitch.o eswitch_offloads.o eswitch_offloads_termtbl.o \ ecpf.o rdma.o mlx5_core-$(CONFIG_MLX5_MPFS) += lib/mpfs.o mlx5_core-$(CONFIG_VXLAN) += lib/vxlan.o mlx5_core-$(CONFIG_PTP_1588_CLOCK) += lib/clock.o mlx5_core-$(CONFIG_PCI_HYPERV_INTERFACE) += lib/hv.o lib/hv_vhca.o # # Ipoib netdev # mlx5_core-$(CONFIG_MLX5_CORE_IPOIB) += ipoib/ipoib.o ipoib/ethtool.o ipoib/ipoib_vlan.o # # Accelerations & FPGA # mlx5_core-$(CONFIG_MLX5_FPGA_IPSEC) += fpga/ipsec.o mlx5_core-$(CONFIG_MLX5_FPGA_TLS) += fpga/tls.o mlx5_core-$(CONFIG_MLX5_ACCEL) += lib/crypto.o accel/tls.o accel/ipsec.o mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o fpga/sdk.o mlx5_core-$(CONFIG_MLX5_EN_IPSEC) += en_accel/ipsec.o en_accel/ipsec_rxtx.o \ en_accel/ipsec_stats.o mlx5_core-$(CONFIG_MLX5_EN_TLS) += en_accel/tls.o en_accel/tls_rxtx.o en_accel/tls_stats.o \ en_accel/ktls.o en_accel/ktls_tx.o mlx5_core-$(CONFIG_MLX5_SW_STEERING) += steering/dr_domain.o steering/dr_table.o \ steering/dr_matcher.o steering/dr_rule.o \ steering/dr_icm_pool.o steering/dr_crc32.o \ steering/dr_ste.o steering/dr_send.o \ steering/dr_cmd.o steering/dr_fw.o \ steering/dr_action.o steering/fs_dr.o net/ethernet/mellanox/Kconfig 0000644 00000001426 14722053666 0012310 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Mellanox driver configuration # config NET_VENDOR_MELLANOX bool "Mellanox devices" default y depends on PCI || I2C ---help--- If you have a network (Ethernet or RDMA) device belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Mellanox cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MELLANOX source "drivers/net/ethernet/mellanox/mlx4/Kconfig" source "drivers/net/ethernet/mellanox/mlx5/core/Kconfig" source "drivers/net/ethernet/mellanox/mlxsw/Kconfig" source "drivers/net/ethernet/mellanox/mlxfw/Kconfig" endif # NET_VENDOR_MELLANOX net/ethernet/mellanox/mlxfw/Kconfig 0000644 00000000551 14722053666 0013443 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Mellanox firmware flash library configuration # config MLXFW tristate "Mellanox Technologies firmware flash module" ---help--- This driver supports Mellanox Technologies Firmware flashing common logic. To compile this driver as a module, choose M here: the module will be called mlxfw. select XZ_DEC net/ethernet/mellanox/mlxfw/Makefile 0000644 00000000206 14722053666 0013575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MLXFW) += mlxfw.o mlxfw-objs := mlxfw_fsm.o mlxfw_mfa2_tlv_multi.o mlxfw_mfa2.o net/ethernet/mellanox/mlxsw/Kconfig 0000644 00000006535 14722053666 0013470 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Mellanox switch drivers configuration # config MLXSW_CORE tristate "Mellanox Technologies Switch ASICs support" select NET_DEVLINK ---help--- This driver supports Mellanox Technologies Switch ASICs family. To compile this driver as a module, choose M here: the module will be called mlxsw_core. config MLXSW_CORE_HWMON bool "HWMON support for Mellanox Technologies Switch ASICs" depends on MLXSW_CORE && HWMON depends on !(MLXSW_CORE=y && HWMON=m) default y ---help--- Say Y here if you want to expose HWMON interface on mlxsw devices. config MLXSW_CORE_THERMAL bool "Thermal zone support for Mellanox Technologies Switch ASICs" depends on MLXSW_CORE && THERMAL default y ---help--- Say Y here if you want to automatically control fans speed according ambient temperature reported by ASIC. config MLXSW_PCI tristate "PCI bus implementation for Mellanox Technologies Switch ASICs" depends on PCI && HAS_IOMEM && MLXSW_CORE default m ---help--- This is PCI bus implementation for Mellanox Technologies Switch ASICs. To compile this driver as a module, choose M here: the module will be called mlxsw_pci. config MLXSW_I2C tristate "I2C bus implementation for Mellanox Technologies Switch ASICs" depends on I2C && MLXSW_CORE default m ---help--- This is I2C bus implementation for Mellanox Technologies Switch ASICs. To compile this driver as a module, choose M here: the module will be called mlxsw_i2c. config MLXSW_SWITCHIB tristate "Mellanox Technologies SwitchIB and SwitchIB-2 support" depends on MLXSW_CORE && MLXSW_PCI && NET_SWITCHDEV default m ---help--- This driver supports Mellanox Technologies SwitchIB and SwitchIB-2 Infiniband Switch ASICs. To compile this driver as a module, choose M here: the module will be called mlxsw_switchib. config MLXSW_SWITCHX2 tristate "Mellanox Technologies SwitchX-2 support" depends on MLXSW_CORE && MLXSW_PCI && NET_SWITCHDEV default m ---help--- This driver supports Mellanox Technologies SwitchX-2 Ethernet Switch ASICs. To compile this driver as a module, choose M here: the module will be called mlxsw_switchx2. config MLXSW_SPECTRUM tristate "Mellanox Technologies Spectrum family support" depends on MLXSW_CORE && MLXSW_PCI && NET_SWITCHDEV && VLAN_8021Q depends on PSAMPLE || PSAMPLE=n depends on BRIDGE || BRIDGE=n depends on IPV6 || IPV6=n depends on NET_IPGRE || NET_IPGRE=n depends on IPV6_GRE || IPV6_GRE=n depends on VXLAN || VXLAN=n select GENERIC_ALLOCATOR select PARMAN select OBJAGG select MLXFW imply PTP_1588_CLOCK select NET_PTP_CLASSIFY if PTP_1588_CLOCK default m ---help--- This driver supports Mellanox Technologies Spectrum/Spectrum-2/Spectrum-3 Ethernet Switch ASICs. To compile this driver as a module, choose M here: the module will be called mlxsw_spectrum. config MLXSW_SPECTRUM_DCB bool "Data Center Bridging (DCB) support" depends on MLXSW_SPECTRUM && DCB default y ---help--- Say Y here if you want to use Data Center Bridging (DCB) in the driver. config MLXSW_MINIMAL tristate "Mellanox Technologies minimal I2C support" depends on MLXSW_CORE && MLXSW_I2C default m ---help--- This driver supports I2C access for Mellanox Technologies Switch ASICs. To compile this driver as a module, choose M here: the module will be called mlxsw_minimal. net/ethernet/mellanox/mlxsw/Makefile 0000644 00000003050 14722053666 0013612 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MLXSW_CORE) += mlxsw_core.o mlxsw_core-objs := core.o core_acl_flex_keys.o \ core_acl_flex_actions.o core_env.o mlxsw_core-$(CONFIG_MLXSW_CORE_HWMON) += core_hwmon.o mlxsw_core-$(CONFIG_MLXSW_CORE_THERMAL) += core_thermal.o obj-$(CONFIG_MLXSW_PCI) += mlxsw_pci.o mlxsw_pci-objs := pci.o obj-$(CONFIG_MLXSW_I2C) += mlxsw_i2c.o mlxsw_i2c-objs := i2c.o obj-$(CONFIG_MLXSW_SWITCHIB) += mlxsw_switchib.o mlxsw_switchib-objs := switchib.o obj-$(CONFIG_MLXSW_SWITCHX2) += mlxsw_switchx2.o mlxsw_switchx2-objs := switchx2.o obj-$(CONFIG_MLXSW_SPECTRUM) += mlxsw_spectrum.o mlxsw_spectrum-objs := spectrum.o spectrum_buffers.o \ spectrum_switchdev.o spectrum_router.o \ spectrum1_kvdl.o spectrum2_kvdl.o \ spectrum_kvdl.o \ spectrum_acl_tcam.o spectrum_acl_ctcam.o \ spectrum_acl_atcam.o spectrum_acl_erp.o \ spectrum1_acl_tcam.o spectrum2_acl_tcam.o \ spectrum_acl_bloom_filter.o spectrum_acl.o \ spectrum_flower.o spectrum_cnt.o \ spectrum_fid.o spectrum_ipip.o \ spectrum_acl_flex_actions.o \ spectrum_acl_flex_keys.o \ spectrum1_mr_tcam.o spectrum2_mr_tcam.o \ spectrum_mr_tcam.o spectrum_mr.o \ spectrum_qdisc.o spectrum_span.o \ spectrum_nve.o spectrum_nve_vxlan.o \ spectrum_dpipe.o spectrum_trap.o mlxsw_spectrum-$(CONFIG_MLXSW_SPECTRUM_DCB) += spectrum_dcb.o mlxsw_spectrum-$(CONFIG_PTP_1588_CLOCK) += spectrum_ptp.o obj-$(CONFIG_MLXSW_MINIMAL) += mlxsw_minimal.o mlxsw_minimal-objs := minimal.o net/ethernet/mellanox/Makefile 0000644 00000000341 14722053666 0012440 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Mellanox device drivers. # obj-$(CONFIG_MLX4_CORE) += mlx4/ obj-$(CONFIG_MLX5_CORE) += mlx5/core/ obj-$(CONFIG_MLXSW_CORE) += mlxsw/ obj-$(CONFIG_MLXFW) += mlxfw/ net/ethernet/mellanox/mlx4/Kconfig 0000644 00000002425 14722053666 0013174 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Mellanox driver configuration # config MLX4_EN tristate "Mellanox Technologies 1/10/40Gbit Ethernet support" depends on PCI && NETDEVICES && ETHERNET && INET select MLX4_CORE imply PTP_1588_CLOCK ---help--- This driver supports Mellanox Technologies ConnectX Ethernet devices. config MLX4_EN_DCB bool "Data Center Bridging (DCB) Support" default y depends on MLX4_EN && DCB ---help--- Say Y here if you want to use Data Center Bridging (DCB) in the driver. If set to N, will not be able to configure QoS and ratelimit attributes. This flag is depended on the kernel's DCB support. If unsure, set to Y config MLX4_CORE tristate depends on PCI select NET_DEVLINK default n config MLX4_DEBUG bool "Verbose debugging output" if (MLX4_CORE && EXPERT) depends on MLX4_CORE default y ---help--- This option causes debugging code to be compiled into the mlx4_core driver. The output can be turned on via the debug_level module parameter (which can also be set after the driver is loaded through sysfs). config MLX4_CORE_GEN2 bool "Support for old gen2 Mellanox PCI IDs" if (MLX4_CORE) depends on MLX4_CORE default y ---help--- Say Y here if you want to use old gen2 Mellanox devices in the driver. net/ethernet/mellanox/mlx4/Makefile 0000644 00000000734 14722053666 0013332 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_MLX4_CORE) += mlx4_core.o mlx4_core-y := alloc.o catas.o cmd.o cq.o eq.o fw.o fw_qos.o icm.o intf.o \ main.o mcg.o mr.o pd.o port.o profile.o qp.o reset.o sense.o \ srq.o resource_tracker.o crdump.o obj-$(CONFIG_MLX4_EN) += mlx4_en.o mlx4_en-y := en_main.o en_tx.o en_rx.o en_ethtool.o en_port.o en_cq.o \ en_resources.o en_netdev.o en_selftest.o en_clock.o mlx4_en-$(CONFIG_MLX4_EN_DCB) += en_dcb_nl.o net/ethernet/pasemi/Kconfig 0000644 00000001417 14722053666 0011747 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PA Semi network device configuration # config NET_VENDOR_PASEMI bool "PA Semi devices" default y depends on PPC_PASEMI && PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about PA Semi cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_PASEMI config PASEMI_MAC tristate "PA Semi 1/10Gbit MAC" depends on PPC_PASEMI && PCI select PHYLIB ---help--- This driver supports the on-chip 1/10Gbit Ethernet controller on PA Semi's PWRficient line of chips. endif # NET_VENDOR_PASEMI net/ethernet/pasemi/Makefile 0000644 00000000313 14722053666 0012076 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the A Semi network device drivers. # obj-$(CONFIG_PASEMI_MAC) += pasemi_mac_driver.o pasemi_mac_driver-objs := pasemi_mac.o pasemi_mac_ethtool.o net/ethernet/broadcom/Kconfig 0000644 00000015330 14722053666 0012256 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Broadcom device configuration # config NET_VENDOR_BROADCOM bool "Broadcom devices" default y depends on (SSB_POSSIBLE && HAS_DMA) || PCI || BCM63XX || \ SIBYTE_SB1xxx_SOC ---help--- If you have a network (Ethernet) chipset belonging to this class, say Y. Note that the answer to this question does not directly affect the kernel: saying N will just cause the configurator to skip all the questions regarding Broadcom chipsets. If you say Y, you will be asked for your specific chipset/driver in the following questions. if NET_VENDOR_BROADCOM config B44 tristate "Broadcom 440x/47xx ethernet support" depends on SSB_POSSIBLE && HAS_DMA select SSB select MII select PHYLIB ---help--- If you have a network (Ethernet) controller of this type, say Y or M here. To compile this driver as a module, choose M here. The module will be called b44. # Auto-select SSB PCI-HOST support, if possible config B44_PCI_AUTOSELECT bool depends on B44 && SSB_PCIHOST_POSSIBLE select SSB_PCIHOST default y # Auto-select SSB PCICORE driver, if possible config B44_PCICORE_AUTOSELECT bool depends on B44 && SSB_DRIVER_PCICORE_POSSIBLE select SSB_DRIVER_PCICORE default y config B44_PCI bool depends on B44_PCI_AUTOSELECT && B44_PCICORE_AUTOSELECT default y config BCM63XX_ENET tristate "Broadcom 63xx internal mac support" depends on BCM63XX select MII select PHYLIB help This driver supports the ethernet MACs in the Broadcom 63xx MIPS chipset family (BCM63XX). config BCMGENET tristate "Broadcom GENET internal MAC support" depends on HAS_IOMEM select MII select PHYLIB select FIXED_PHY select BCM7XXX_PHY select MDIO_BCM_UNIMAC select DIMLIB help This driver supports the built-in Ethernet MACs found in the Broadcom BCM7xxx Set Top Box family chipset. config BNX2 tristate "QLogic bnx2 support" depends on PCI select CRC32 select FW_LOADER ---help--- This driver supports QLogic bnx2 gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called bnx2. This is recommended. config CNIC tristate "QLogic CNIC support" depends on PCI && (IPV6 || IPV6=n) select BNX2 select UIO ---help--- This driver supports offload features of QLogic bnx2 gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called cnic. This is recommended. config SB1250_MAC tristate "SB1250 Gigabit Ethernet support" depends on SIBYTE_SB1xxx_SOC select PHYLIB ---help--- This driver supports Gigabit Ethernet interfaces based on the Broadcom SiByte family of System-On-a-Chip parts. They include the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455 and BCM1480 chips. To compile this driver as a module, choose M here: the module will be called sb1250-mac. config TIGON3 tristate "Broadcom Tigon3 support" depends on PCI select PHYLIB imply PTP_1588_CLOCK ---help--- This driver supports Broadcom Tigon3 based gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called tg3. This is recommended. config TIGON3_HWMON bool "Broadcom Tigon3 HWMON support" default y depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m) ---help--- Say Y if you want to expose the thermal sensor on Tigon3 devices. config BNX2X tristate "Broadcom NetXtremeII 10Gb support" depends on PCI imply PTP_1588_CLOCK select FW_LOADER select ZLIB_INFLATE select LIBCRC32C select MDIO ---help--- This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called bnx2x. This is recommended. config BNX2X_SRIOV bool "Broadcom 578xx and 57712 SR-IOV support" depends on BNX2X && PCI_IOV default y ---help--- This configuration parameter enables Single Root Input Output Virtualization support in the 578xx and 57712 products. This allows for virtual function acceleration in virtual environments. config BGMAC tristate help This enables the integrated ethernet controller support for many Broadcom (mostly iProc) SoCs. An appropriate bus interface driver needs to be enabled to select this. config BGMAC_BCMA tristate "Broadcom iProc GBit BCMA support" depends on BCMA && BCMA_HOST_SOC depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST select BGMAC select PHYLIB select FIXED_PHY ---help--- This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus. They can be found on BCM47xx SoCs and provide gigabit ethernet. In case of using this driver on BCM4706 it's also requires to enable BCMA_DRIVER_GMAC_CMN to make it work. config BGMAC_PLATFORM tristate "Broadcom iProc GBit platform support" depends on ARCH_BCM_IPROC || COMPILE_TEST depends on OF select BGMAC select PHYLIB select FIXED_PHY default ARCH_BCM_IPROC ---help--- Say Y here if you want to use the Broadcom iProc Gigabit Ethernet controller through the generic platform interface config SYSTEMPORT tristate "Broadcom SYSTEMPORT internal MAC support" depends on HAS_IOMEM depends on NET_DSA || !NET_DSA select MII select PHYLIB select FIXED_PHY select DIMLIB help This driver supports the built-in Ethernet MACs found in the Broadcom BCM7xxx Set Top Box family chipset using an internal Ethernet switch. config BNXT tristate "Broadcom NetXtreme-C/E support" depends on PCI select FW_LOADER select LIBCRC32C select NET_DEVLINK select PAGE_POOL select DIMLIB ---help--- This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called bnxt_en. This is recommended. config BNXT_SRIOV bool "Broadcom NetXtreme-C/E SR-IOV support" depends on BNXT && PCI_IOV default y ---help--- This configuration parameter enables Single Root Input Output Virtualization support in the NetXtreme-C/E products. This allows for virtual function acceleration in virtual environments. config BNXT_FLOWER_OFFLOAD bool "TC Flower offload support for NetXtreme-C/E" depends on BNXT default y ---help--- This configuration parameter enables TC Flower packet classifier offload for eswitch. This option enables SR-IOV switchdev eswitch offload. config BNXT_DCB bool "Data Center Bridging (DCB) Support" default n depends on BNXT && DCB ---help--- Say Y here if you want to use Data Center Bridging (DCB) in the driver. If unsure, say N. config BNXT_HWMON bool "Broadcom NetXtreme-C/E HWMON support" default y depends on BNXT && HWMON && !(BNXT=y && HWMON=m) ---help--- Say Y if you want to expose the thermal sensor data on NetXtreme-C/E devices, via the hwmon sysfs interface. endif # NET_VENDOR_BROADCOM net/ethernet/broadcom/bnxt/Makefile 0000644 00000000437 14722053666 0013370 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_BNXT) += bnxt_en.o bnxt_en-y := bnxt.o bnxt_sriov.o bnxt_ethtool.o bnxt_dcb.o bnxt_ulp.o bnxt_xdp.o bnxt_vfr.o bnxt_devlink.o bnxt_dim.o bnxt_en-$(CONFIG_BNXT_FLOWER_OFFLOAD) += bnxt_tc.o bnxt_en-$(CONFIG_DEBUG_FS) += bnxt_debugfs.o net/ethernet/broadcom/bnx2x/Makefile 0000644 00000000440 14722053666 0013450 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Broadcom 10-Gigabit ethernet driver # obj-$(CONFIG_BNX2X) += bnx2x.o bnx2x-y := bnx2x_main.o bnx2x_link.o bnx2x_cmn.o bnx2x_ethtool.o bnx2x_stats.o bnx2x_dcb.o bnx2x_sp.o bnx2x-$(CONFIG_BNX2X_SRIOV) += bnx2x_vfpf.o bnx2x_sriov.o net/ethernet/broadcom/Makefile 0000644 00000001265 14722053666 0012415 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Broadcom network device drivers. # obj-$(CONFIG_B44) += b44.o obj-$(CONFIG_BCM63XX_ENET) += bcm63xx_enet.o obj-$(CONFIG_BCMGENET) += genet/ obj-$(CONFIG_BNX2) += bnx2.o obj-$(CONFIG_CNIC) += cnic.o obj-$(CONFIG_BNX2X) += bnx2x/ obj-$(CONFIG_SB1250_MAC) += sb1250-mac.o obj-$(CONFIG_TIGON3) += tg3.o obj-$(CONFIG_BGMAC) += bgmac.o obj-$(CONFIG_BGMAC_BCMA) += bgmac-bcma.o bgmac-bcma-mdio.o obj-$(CONFIG_BGMAC_PLATFORM) += bgmac-platform.o obj-$(CONFIG_SYSTEMPORT) += bcmsysport.o obj-$(CONFIG_BNXT) += bnxt/ # FIXME: temporarily silence -Warray-bounds on non W=1+ builds ifndef KBUILD_EXTRA_WARN CFLAGS_tg3.o += -Wno-array-bounds endif net/ethernet/broadcom/genet/Makefile 0000644 00000000173 14722053666 0013514 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_BCMGENET) += genet.o genet-objs := bcmgenet.o bcmmii.o bcmgenet_wol.o net/ethernet/cisco/Kconfig 0000644 00000001112 14722053666 0011561 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Cisco device configuration # config NET_VENDOR_CISCO bool "Cisco devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Cisco cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_CISCO source "drivers/net/ethernet/cisco/enic/Kconfig" endif # NET_VENDOR_CISCO net/ethernet/cisco/enic/Kconfig 0000644 00000000332 14722053666 0012502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Cisco device configuration # config ENIC tristate "Cisco VIC Ethernet NIC Support" depends on PCI ---help--- This enables the support for the Cisco VIC Ethernet card. net/ethernet/cisco/enic/Makefile 0000644 00000000351 14722053666 0012640 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ENIC) := enic.o enic-y := enic_main.o vnic_cq.o vnic_intr.o vnic_wq.o \ enic_res.o enic_dev.o enic_pp.o vnic_dev.o vnic_rq.o vnic_vic.o \ enic_ethtool.o enic_api.o enic_clsf.o net/ethernet/cisco/Makefile 0000644 00000000162 14722053666 0011722 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Cisco device drivers. # obj-$(CONFIG_ENIC) += enic/ net/ethernet/aeroflex/Kconfig 0000644 00000000447 14722053666 0012300 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Aeroflex Gaisler network device configuration # config GRETH tristate "Aeroflex Gaisler GRETH Ethernet MAC support" depends on SPARC select PHYLIB select CRC32 ---help--- Say Y here if you want to use the Aeroflex Gaisler GRETH Ethernet MAC. net/ethernet/aeroflex/Makefile 0000644 00000000210 14722053666 0012421 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Aeroflex Gaisler network device drivers. # obj-$(CONFIG_GRETH) += greth.o net/ethernet/sfc/falcon/Kconfig 0000644 00000001240 14722053666 0012500 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config SFC_FALCON tristate "Solarflare SFC4000 support" depends on PCI select MDIO select CRC32 select I2C select I2C_ALGOBIT ---help--- This driver supports 10-gigabit Ethernet cards based on the Solarflare SFC4000 controller. To compile this driver as a module, choose M here. The module will be called sfc-falcon. config SFC_FALCON_MTD bool "Solarflare SFC4000 MTD support" depends on SFC_FALCON && MTD && !(SFC_FALCON=y && MTD=m) default y ---help--- This exposes the on-board flash and/or EEPROM as MTD devices (e.g. /dev/mtd1). This is required to update the boot configuration under Linux. net/ethernet/sfc/falcon/Makefile 0000644 00000000433 14722053666 0012640 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 sfc-falcon-y += efx.o nic.o farch.o falcon.o tx.o rx.o selftest.o \ ethtool.o qt202x_phy.o mdio_10g.o tenxpress.o \ txc43128_phy.o falcon_boards.o sfc-falcon-$(CONFIG_SFC_FALCON_MTD) += mtd.o obj-$(CONFIG_SFC_FALCON) += sfc-falcon.o net/ethernet/sfc/Kconfig 0000644 00000004202 14722053666 0011237 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Solarflare device configuration # config NET_VENDOR_SOLARFLARE bool "Solarflare devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Solarflare devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SOLARFLARE config SFC tristate "Solarflare SFC9000/SFC9100-family support" depends on PCI select MDIO select CRC32 select I2C select I2C_ALGOBIT imply PTP_1588_CLOCK ---help--- This driver supports 10/40-gigabit Ethernet cards based on the Solarflare SFC9000-family and SFC9100-family controllers. To compile this driver as a module, choose M here. The module will be called sfc. config SFC_MTD bool "Solarflare SFC9000/SFC9100-family MTD support" depends on SFC && MTD && !(SFC=y && MTD=m) default y ---help--- This exposes the on-board flash and/or EEPROM as MTD devices (e.g. /dev/mtd1). This is required to update the firmware or the boot configuration under Linux. config SFC_MCDI_MON bool "Solarflare SFC9000/SFC9100-family hwmon support" depends on SFC && HWMON && !(SFC=y && HWMON=m) default y ---help--- This exposes the on-board firmware-managed sensors as a hardware monitor device. config SFC_SRIOV bool "Solarflare SFC9000-family SR-IOV support" depends on SFC && PCI_IOV default y ---help--- This enables support for the SFC9000 I/O Virtualization features, allowing accelerated network performance in virtualized environments. config SFC_MCDI_LOGGING bool "Solarflare SFC9000/SFC9100-family MCDI logging support" depends on SFC default y ---help--- This enables support for tracing of MCDI (Management-Controller-to- Driver-Interface) commands and responses, allowing debugging of driver/firmware interaction. The tracing is actually enabled by a sysfs file 'mcdi_logging' under the PCI device. source "drivers/net/ethernet/sfc/falcon/Kconfig" endif # NET_VENDOR_SOLARFLARE net/ethernet/sfc/Makefile 0000644 00000000513 14722053666 0011375 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 sfc-y += efx.o nic.o farch.o siena.o ef10.o tx.o rx.o \ selftest.o ethtool.o ptp.o tx_tso.o \ mcdi.o mcdi_port.o mcdi_mon.o sfc-$(CONFIG_SFC_MTD) += mtd.o sfc-$(CONFIG_SFC_SRIOV) += sriov.o siena_sriov.o ef10_sriov.o obj-$(CONFIG_SFC) += sfc.o obj-$(CONFIG_SFC_FALCON) += falcon/ net/ethernet/adaptec/Kconfig 0000644 00000001766 14722053666 0012101 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Adaptec network device configuration # config NET_VENDOR_ADAPTEC bool "Adaptec devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Adaptec cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ADAPTEC config ADAPTEC_STARFIRE tristate "Adaptec Starfire/DuraLAN support" depends on PCI select CRC32 select MII ---help--- Say Y here if you have an Adaptec Starfire (or DuraLAN) PCI network adapter. The DuraLAN chip is used on the 64 bit PCI boards from Adaptec e.g. the ANA-6922A. The older 32 bit boards use the tulip driver. To compile this driver as a module, choose M here: the module will be called starfire. This is recommended. endif # NET_VENDOR_ADAPTEC net/ethernet/adaptec/Makefile 0000644 00000000215 14722053666 0012222 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Adaptec network device drivers. # obj-$(CONFIG_ADAPTEC_STARFIRE) += starfire.o net/ethernet/hp/Kconfig 0000644 00000001455 14722053666 0011102 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # HP network device configuration # config NET_VENDOR_HP bool "HP devices" default y depends on ISA || EISA || PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about HP cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_HP config HP100 tristate "HP 10/100VG PCLAN (ISA, EISA, PCI) support" depends on (ISA || EISA || PCI) ---help--- If you have a network (Ethernet) card of this type, say Y here. To compile this driver as a module, choose M here. The module will be called hp100. endif # NET_VENDOR_HP net/ethernet/hp/Makefile 0000644 00000000172 14722053666 0011232 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the HP network device drivers. # obj-$(CONFIG_HP100) += hp100.o net/ethernet/cadence/Kconfig 0000644 00000002630 14722053666 0012051 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Cadence device configuration # config NET_VENDOR_CADENCE bool "Cadence devices" depends on HAS_IOMEM default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. If unsure, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the remaining Cadence network card questions. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_CADENCE config MACB tristate "Cadence MACB/GEM support" depends on HAS_DMA && COMMON_CLK select PHYLIB ---help--- The Cadence MACB ethernet interface is found on many Atmel AT32 and AT91 parts. This driver also supports the Cadence GEM (Gigabit Ethernet MAC found in some ARM SoC devices). Say Y to include support for the MACB/GEM chip. To compile this driver as a module, choose M here: the module will be macb. config MACB_USE_HWSTAMP bool "Use IEEE 1588 hwstamp" depends on MACB default y imply PTP_1588_CLOCK ---help--- Enable IEEE 1588 Precision Time Protocol (PTP) support for MACB. config MACB_PCI tristate "Cadence PCI MACB/GEM support" depends on MACB && PCI ---help--- This is PCI wrapper for MACB driver. To compile this driver as a module, choose M here: the module will be called macb_pci. endif # NET_VENDOR_CADENCE net/ethernet/cadence/Makefile 0000644 00000000361 14722053666 0012205 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Atmel network device drivers. # macb-y := macb_main.o ifeq ($(CONFIG_MACB_USE_HWSTAMP),y) macb-y += macb_ptp.o endif obj-$(CONFIG_MACB) += macb.o obj-$(CONFIG_MACB_PCI) += macb_pci.o net/ethernet/xscale/Kconfig 0000644 00000001600 14722053666 0011742 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Intel XScale IXP device configuration # config NET_VENDOR_XSCALE bool "Intel XScale IXP devices" default y depends on NET_VENDOR_INTEL && (ARM && ARCH_IXP4XX && \ IXP4XX_NPE && IXP4XX_QMGR) ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question does not directly affect the kernel: saying N will just cause the configurator to skip all the questions about XScale IXP devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_XSCALE config IXP4XX_ETH tristate "Intel IXP4xx Ethernet support" depends on ARM && ARCH_IXP4XX && IXP4XX_NPE && IXP4XX_QMGR select PHYLIB select NET_PTP_CLASSIFY ---help--- Say Y here if you want to use built-in Ethernet ports on IXP4xx processor. endif # NET_VENDOR_XSCALE net/ethernet/xscale/Makefile 0000644 00000000212 14722053666 0012075 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Intel XScale IXP device drivers. # obj-$(CONFIG_IXP4XX_ETH) += ixp4xx_eth.o net/ethernet/nxp/Kconfig 0000644 00000000524 14722053666 0011274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config LPC_ENET tristate "NXP ethernet MAC on LPC devices" depends on ARCH_LPC32XX || COMPILE_TEST select PHYLIB help Say Y or M here if you want to use the NXP ethernet MAC included on some NXP LPC devices. You can safely enable this option for LPC32xx SoC. Also available as a module. net/ethernet/nxp/Makefile 0000644 00000000114 14722053666 0011424 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_LPC_ENET) += lpc_eth.o net/ethernet/google/gve/Makefile 0000644 00000000230 14722053666 0012653 0 ustar 00 # Makefile for the Google virtual Ethernet (gve) driver obj-$(CONFIG_GVE) += gve.o gve-objs := gve_main.o gve_tx.o gve_rx.o gve_ethtool.o gve_adminq.o net/ethernet/google/Kconfig 0000644 00000001317 14722053666 0011744 0 ustar 00 # # Google network device configuration # config NET_VENDOR_GOOGLE bool "Google Devices" default y help If you have a network (Ethernet) device belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Google devices. If you say Y, you will be asked for your specific device in the following questions. if NET_VENDOR_GOOGLE config GVE tristate "Google Virtual NIC (gVNIC) support" depends on PCI_MSI help This driver supports Google Virtual NIC (gVNIC)" To compile this driver as a module, choose M here. The module will be called gve. endif #NET_VENDOR_GOOGLE net/ethernet/google/Makefile 0000644 00000000121 14722053666 0012071 0 ustar 00 # # Makefile for the Google network device drivers. # obj-$(CONFIG_GVE) += gve/ net/ethernet/agere/Kconfig 0000644 00000001434 14722053666 0011553 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Agere device configuration # config NET_VENDOR_AGERE bool "Agere devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Agere devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_AGERE config ET131X tristate "Agere ET-1310 Gigabit Ethernet support" depends on PCI select PHYLIB ---help--- This driver supports Agere ET-1310 ethernet adapters. To compile this driver as a module, choose M here. The module will be called et131x. endif # NET_VENDOR_AGERE net/ethernet/agere/Makefile 0000644 00000000177 14722053666 0011713 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Agere ET-131x ethernet driver # obj-$(CONFIG_ET131X) += et131x.o net/ethernet/myricom/Kconfig 0000644 00000002562 14722053666 0012152 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Myricom device configuration # config NET_VENDOR_MYRI bool "Myricom devices" default y depends on PCI && INET ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Myricom cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MYRI config MYRI10GE tristate "Myricom Myri-10G Ethernet support" depends on PCI && INET select FW_LOADER select CRC32 ---help--- This driver supports Myricom Myri-10G Dual Protocol interface in Ethernet mode. If the eeprom on your board is not recent enough, you will need a newer firmware image. You may get this image or more information, at: <http://www.myri.com/scs/download-Myri10GE.html> To compile this driver as a module, choose M here. The module will be called myri10ge. config MYRI10GE_DCA bool "Direct Cache Access (DCA) Support" default y depends on MYRI10GE && DCA && !(MYRI10GE=y && DCA=m) ---help--- Say Y here if you want to use Direct Cache Access (DCA) in the driver. DCA is a method for warming the CPU cache before data is used, with the intent of lessening the impact of cache misses. endif # NET_VENDOR_MYRI net/ethernet/myricom/myri10ge/Makefile 0000644 00000000206 14722053666 0013735 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Myricom Myri-10G ethernet driver # obj-$(CONFIG_MYRI10GE) += myri10ge.o net/ethernet/myricom/Makefile 0000644 00000000204 14722053666 0012276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Myricom network device drivers. # obj-$(CONFIG_MYRI10GE) += myri10ge/ net/ethernet/moxa/Kconfig 0000644 00000001476 14722053666 0011442 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # MOXART device configuration # config NET_VENDOR_MOXART bool "MOXA ART devices" default y depends on (ARM && ARCH_MOXART) ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about MOXA ART devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MOXART config ARM_MOXART_ETHER tristate "MOXART Ethernet support" depends on ARM && ARCH_MOXART select NET_CORE ---help--- If you wish to compile a kernel for a hardware with MOXA ART SoC and want to use the internal ethernet then you should answer Y to this. endif # NET_VENDOR_MOXART net/ethernet/moxa/Makefile 0000644 00000000220 14722053666 0011561 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the MOXART network device drivers. # obj-$(CONFIG_ARM_MOXART_ETHER) += moxart_ether.o net/ethernet/davicom/Kconfig 0000644 00000001235 14722053666 0012111 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Davicom device configuration # config DM9000 tristate "DM9000 support" depends on ARM || MIPS || COLDFIRE || NIOS2 select CRC32 select MII ---help--- Support for DM9000 chipset. To compile this driver as a module, choose M here. The module will be called dm9000. config DM9000_FORCE_SIMPLE_PHY_POLL bool "Force simple NSR based PHY polling" depends on DM9000 ---help--- This configuration forces the DM9000 to use the NSR's LinkStatus bit to determine if the link is up or down instead of the more costly MII PHY reads. Note, this will not work if the chip is operating with an external PHY. net/ethernet/davicom/Makefile 0000644 00000000171 14722053666 0012244 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Davicom device drivers. # obj-$(CONFIG_DM9000) += dm9000.o net/ethernet/Kconfig 0000644 00000014056 14722053666 0010474 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Ethernet LAN device configuration # menuconfig ETHERNET bool "Ethernet driver support" depends on NET default y ---help--- This section contains all the Ethernet device drivers. if ETHERNET config MDIO tristate config SUNGEM_PHY tristate source "drivers/net/ethernet/3com/Kconfig" source "drivers/net/ethernet/adaptec/Kconfig" source "drivers/net/ethernet/aeroflex/Kconfig" source "drivers/net/ethernet/agere/Kconfig" source "drivers/net/ethernet/alacritech/Kconfig" source "drivers/net/ethernet/allwinner/Kconfig" source "drivers/net/ethernet/alteon/Kconfig" source "drivers/net/ethernet/altera/Kconfig" source "drivers/net/ethernet/amazon/Kconfig" source "drivers/net/ethernet/amd/Kconfig" source "drivers/net/ethernet/apm/Kconfig" source "drivers/net/ethernet/apple/Kconfig" source "drivers/net/ethernet/aquantia/Kconfig" source "drivers/net/ethernet/arc/Kconfig" source "drivers/net/ethernet/atheros/Kconfig" source "drivers/net/ethernet/aurora/Kconfig" source "drivers/net/ethernet/broadcom/Kconfig" source "drivers/net/ethernet/brocade/Kconfig" source "drivers/net/ethernet/cadence/Kconfig" source "drivers/net/ethernet/calxeda/Kconfig" source "drivers/net/ethernet/cavium/Kconfig" source "drivers/net/ethernet/chelsio/Kconfig" source "drivers/net/ethernet/cirrus/Kconfig" source "drivers/net/ethernet/cisco/Kconfig" source "drivers/net/ethernet/cortina/Kconfig" config CX_ECAT tristate "Beckhoff CX5020 EtherCAT master support" depends on PCI depends on X86 || COMPILE_TEST ---help--- Driver for EtherCAT master module located on CCAT FPGA that can be found on Beckhoff CX5020, and possibly other of CX Beckhoff CX series industrial PCs. To compile this driver as a module, choose M here. The module will be called ec_bhf. source "drivers/net/ethernet/davicom/Kconfig" config DNET tristate "Dave ethernet support (DNET)" depends on HAS_IOMEM select PHYLIB ---help--- The Dave ethernet interface (DNET) is found on Qong Board FPGA. Say Y to include support for the DNET chip. To compile this driver as a module, choose M here: the module will be called dnet. source "drivers/net/ethernet/dec/Kconfig" source "drivers/net/ethernet/dlink/Kconfig" source "drivers/net/ethernet/emulex/Kconfig" source "drivers/net/ethernet/ezchip/Kconfig" source "drivers/net/ethernet/faraday/Kconfig" source "drivers/net/ethernet/freescale/Kconfig" source "drivers/net/ethernet/fujitsu/Kconfig" source "drivers/net/ethernet/google/Kconfig" source "drivers/net/ethernet/hisilicon/Kconfig" source "drivers/net/ethernet/hp/Kconfig" source "drivers/net/ethernet/huawei/Kconfig" source "drivers/net/ethernet/i825xx/Kconfig" source "drivers/net/ethernet/ibm/Kconfig" source "drivers/net/ethernet/intel/Kconfig" source "drivers/net/ethernet/xscale/Kconfig" config JME tristate "JMicron(R) PCI-Express Gigabit Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the PCI-Express gigabit ethernet adapters based on JMicron JMC250 chipset. To compile this driver as a module, choose M here. The module will be called jme. config KORINA tristate "Korina (IDT RC32434) Ethernet support" depends on MIKROTIK_RB532 select CRC32 ---help--- If you have a Mikrotik RouterBoard 500 or IDT RC32434 based system say Y. Otherwise say N. config LANTIQ_ETOP tristate "Lantiq SoC ETOP driver" depends on SOC_TYPE_XWAY ---help--- Support for the MII0 inside the Lantiq SoC config LANTIQ_XRX200 tristate "Lantiq / Intel xRX200 PMAC network driver" depends on SOC_TYPE_XWAY ---help--- Support for the PMAC of the Gigabit switch (GSWIP) inside the Lantiq / Intel VRX200 VDSL SoC source "drivers/net/ethernet/marvell/Kconfig" source "drivers/net/ethernet/mediatek/Kconfig" source "drivers/net/ethernet/mellanox/Kconfig" source "drivers/net/ethernet/micrel/Kconfig" source "drivers/net/ethernet/microchip/Kconfig" source "drivers/net/ethernet/moxa/Kconfig" source "drivers/net/ethernet/mscc/Kconfig" source "drivers/net/ethernet/myricom/Kconfig" config FEALNX tristate "Myson MTD-8xx PCI Ethernet support" depends on PCI select CRC32 select MII ---help--- Say Y here to support the Myson MTD-800 family of PCI-based Ethernet cards. <http://www.myson.com.tw/> source "drivers/net/ethernet/natsemi/Kconfig" source "drivers/net/ethernet/neterion/Kconfig" source "drivers/net/ethernet/netronome/Kconfig" source "drivers/net/ethernet/ni/Kconfig" source "drivers/net/ethernet/8390/Kconfig" source "drivers/net/ethernet/nvidia/Kconfig" source "drivers/net/ethernet/nxp/Kconfig" source "drivers/net/ethernet/oki-semi/Kconfig" config ETHOC tristate "OpenCores 10/100 Mbps Ethernet MAC support" depends on HAS_IOMEM && HAS_DMA select MII select PHYLIB select CRC32 select BITREVERSE ---help--- Say Y here if you want to use the OpenCores 10/100 Mbps Ethernet MAC. source "drivers/net/ethernet/packetengines/Kconfig" source "drivers/net/ethernet/pasemi/Kconfig" source "drivers/net/ethernet/pensando/Kconfig" source "drivers/net/ethernet/qlogic/Kconfig" source "drivers/net/ethernet/qualcomm/Kconfig" source "drivers/net/ethernet/rdc/Kconfig" source "drivers/net/ethernet/realtek/Kconfig" source "drivers/net/ethernet/renesas/Kconfig" source "drivers/net/ethernet/rocker/Kconfig" source "drivers/net/ethernet/samsung/Kconfig" source "drivers/net/ethernet/seeq/Kconfig" source "drivers/net/ethernet/sfc/Kconfig" source "drivers/net/ethernet/sgi/Kconfig" source "drivers/net/ethernet/silan/Kconfig" source "drivers/net/ethernet/sis/Kconfig" source "drivers/net/ethernet/smsc/Kconfig" source "drivers/net/ethernet/socionext/Kconfig" source "drivers/net/ethernet/stmicro/Kconfig" source "drivers/net/ethernet/sun/Kconfig" source "drivers/net/ethernet/synopsys/Kconfig" source "drivers/net/ethernet/tehuti/Kconfig" source "drivers/net/ethernet/ti/Kconfig" source "drivers/net/ethernet/toshiba/Kconfig" source "drivers/net/ethernet/tundra/Kconfig" source "drivers/net/ethernet/via/Kconfig" source "drivers/net/ethernet/wiznet/Kconfig" source "drivers/net/ethernet/xilinx/Kconfig" source "drivers/net/ethernet/xircom/Kconfig" endif # ETHERNET net/ethernet/aquantia/Kconfig 0000644 00000001207 14722053666 0012271 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # aQuantia device configuration # config NET_VENDOR_AQUANTIA bool "aQuantia devices" default y ---help--- Set this to y if you have an Ethernet network cards that uses the aQuantia AQC107/AQC108 chipset. This option does not build any drivers; it causes the aQuantia drivers that can be built to appear in the list of Ethernet drivers. if NET_VENDOR_AQUANTIA config AQTION tristate "aQuantia AQtion(tm) Support" depends on PCI depends on X86_64 || ARM64 || COMPILE_TEST ---help--- This enables the support for the aQuantia AQtion(tm) Ethernet card. endif # NET_VENDOR_AQUANTIA net/ethernet/aquantia/atlantic/Makefile 0000644 00000001406 14722053666 0014226 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ################################################################################ # # aQuantia Ethernet Controller AQtion Linux Driver # Copyright(c) 2014-2017 aQuantia Corporation. # # Contact Information: <rdc-drv@aquantia.com> # aQuantia Corporation, 105 E. Tasman Dr. San Jose, CA 95134, USA # ################################################################################ # # Makefile for the AQtion(tm) Ethernet driver # obj-$(CONFIG_AQTION) += atlantic.o atlantic-objs := aq_main.o \ aq_nic.o \ aq_pci_func.o \ aq_vec.o \ aq_ring.o \ aq_hw_utils.o \ aq_ethtool.o \ aq_drvinfo.o \ aq_filters.o \ hw_atl/hw_atl_a0.o \ hw_atl/hw_atl_b0.o \ hw_atl/hw_atl_utils.o \ hw_atl/hw_atl_utils_fw2x.o \ hw_atl/hw_atl_llh.o net/ethernet/aquantia/Makefile 0000644 00000000173 14722053666 0012427 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the aQuantia device drivers. # obj-$(CONFIG_AQTION) += atlantic/ net/ethernet/via/Kconfig 0000644 00000003117 14722053666 0011247 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # VIA device configuration # config NET_VENDOR_VIA bool "VIA devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about VIA devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_VIA config VIA_RHINE tristate "VIA Rhine support" depends on PCI || (OF_IRQ && GENERIC_PCI_IOMAP) depends on HAS_DMA select CRC32 select MII ---help--- If you have a VIA "Rhine" based network card (Rhine-I (VT86C100A), Rhine-II (VT6102), or Rhine-III (VT6105)), say Y here. Rhine-type Ethernet functions can also be found integrated on South Bridges (e.g. VT8235). To compile this driver as a module, choose M here. The module will be called via-rhine. config VIA_RHINE_MMIO bool "Use MMIO instead of PIO" depends on VIA_RHINE ---help--- This instructs the driver to use PCI shared memory (MMIO) instead of programmed I/O ports (PIO). Enabling this gives an improvement in processing time in parts of the driver. If unsure, say Y. config VIA_VELOCITY tristate "VIA Velocity support" depends on (PCI || (OF_ADDRESS && OF_IRQ)) depends on HAS_DMA select CRC32 select CRC_CCITT select MII ---help--- If you have a VIA "Velocity" based network card say Y here. To compile this driver as a module, choose M here. The module will be called via-velocity. endif # NET_VENDOR_VIA net/ethernet/via/Makefile 0000644 00000000250 14722053666 0011377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the VIA device drivers. # obj-$(CONFIG_VIA_RHINE) += via-rhine.o obj-$(CONFIG_VIA_VELOCITY) += via-velocity.o net/ethernet/amazon/Kconfig 0000644 00000001464 14722053666 0011760 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Amazon network device configuration # config NET_VENDOR_AMAZON bool "Amazon Devices" default y ---help--- If you have a network (Ethernet) device belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Amazon devices. If you say Y, you will be asked for your specific device in the following questions. if NET_VENDOR_AMAZON config ENA_ETHERNET tristate "Elastic Network Adapter (ENA) support" depends on PCI_MSI && !CPU_BIG_ENDIAN select DIMLIB ---help--- This driver supports Elastic Network Adapter (ENA)" To compile this driver as a module, choose M here. The module will be called ena. endif #NET_VENDOR_AMAZON net/ethernet/amazon/ena/Makefile 0000644 00000000317 14722053666 0012654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Elastic Network Adapter (ENA) device drivers. # obj-$(CONFIG_ENA_ETHERNET) += ena.o ena-y := ena_netdev.o ena_com.o ena_eth_com.o ena_ethtool.o net/ethernet/amazon/Makefile 0000644 00000000202 14722053666 0012102 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Amazon network device drivers. # obj-$(CONFIG_ENA_ETHERNET) += ena/ net/ethernet/sis/Kconfig 0000644 00000003037 14722053666 0011267 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Silicon Integrated Systems (SiS) device configuration # config NET_VENDOR_SIS bool "Silicon Integrated Systems (SiS) devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about SiS devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SIS config SIS900 tristate "SiS 900/7016 PCI Fast Ethernet Adapter support" depends on PCI select CRC32 select MII ---help--- This is a driver for the Fast Ethernet PCI network cards based on the SiS 900 and SiS 7016 chips. The SiS 900 core is also embedded in SiS 630 and SiS 540 chipsets. This driver also supports AMD 79C901 HomePNA so that you can use your phone line as a network cable. To compile this driver as a module, choose M here: the module will be called sis900. This is recommended. config SIS190 tristate "SiS190/SiS191 gigabit ethernet support" depends on PCI select CRC32 select MII ---help--- Say Y here if you have a SiS 190 PCI Fast Ethernet adapter or a SiS 191 PCI Gigabit Ethernet adapter. Both are expected to appear in lan on motherboard designs which are based on SiS 965 and SiS 966 south bridge. To compile this driver as a module, choose M here: the module will be called sis190. This is recommended. endif # NET_VENDOR_SIS net/ethernet/sis/Makefile 0000644 00000000267 14722053666 0011426 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Silicon Integrated Systems (SiS) network device drivers. # obj-$(CONFIG_SIS190) += sis190.o obj-$(CONFIG_SIS900) += sis900.o net/ethernet/3com/Kconfig 0000644 00000006421 14722053666 0011332 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # 3Com Ethernet device configuration # config NET_VENDOR_3COM bool "3Com devices" default y depends on ISA || EISA || PCI || PCMCIA ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about 3Com cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_3COM config EL3 tristate "3c509/3c579 \"EtherLink III\" support" depends on (ISA || EISA) ---help--- If you have a network (Ethernet) card belonging to the 3Com EtherLinkIII series, say Y here. If your card is not working you may need to use the DOS setup disk to disable Plug & Play mode, and to select the default media type. To compile this driver as a module, choose M here. The module will be called 3c509. config 3C515 tristate "3c515 ISA \"Fast EtherLink\"" depends on ISA && ISA_DMA_API && !PPC32 ---help--- If you have a 3Com ISA EtherLink XL "Corkscrew" 3c515 Fast Ethernet network card, say Y here. To compile this driver as a module, choose M here. The module will be called 3c515. config PCMCIA_3C574 tristate "3Com 3c574 PCMCIA support" depends on PCMCIA ---help--- Say Y here if you intend to attach a 3Com 3c574 or compatible PCMCIA (PC-card) Fast Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called 3c574_cs. If unsure, say N. config PCMCIA_3C589 tristate "3Com 3c589 PCMCIA support" depends on PCMCIA ---help--- Say Y here if you intend to attach a 3Com 3c589 or compatible PCMCIA (PC-card) Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called 3c589_cs. If unsure, say N. config VORTEX tristate "3c590/3c900 series (592/595/597) \"Vortex/Boomerang\" support" depends on (PCI || EISA) && HAS_IOPORT_MAP select MII ---help--- This option enables driver support for a large number of 10Mbps and 10/100Mbps EISA, PCI and Cardbus 3Com network cards: "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI "Boomerang" (EtherLink XL 3c900 or 3c905) PCI "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus "Tornado" (3c905) PCI "Hurricane" (3c555/3cSOHO) PCI If you have such a card, say Y here. More specific information is in <file:Documentation/networking/device_drivers/3com/vortex.txt> and in the comments at the beginning of <file:drivers/net/ethernet/3com/3c59x.c>. To compile this support as a module, choose M here. config TYPHOON tristate "3cr990 series \"Typhoon\" support" depends on PCI select CRC32 ---help--- This option enables driver support for the 3cr990 series of cards: 3C990-TX, 3CR990-TX-95, 3CR990-TX-97, 3CR990-FX-95, 3CR990-FX-97, 3CR990SVR, 3CR990SVR95, 3CR990SVR97, 3CR990-FX-95 Server, 3CR990-FX-97 Server, 3C990B-TX-M, 3C990BSVR If you have a network (Ethernet) card of this type, say Y here. To compile this driver as a module, choose M here. The module will be called typhoon. endif # NET_VENDOR_3COM net/ethernet/3com/Makefile 0000644 00000000451 14722053666 0011464 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the 3Com Ethernet device drivers # obj-$(CONFIG_EL3) += 3c509.o obj-$(CONFIG_3C515) += 3c515.o obj-$(CONFIG_PCMCIA_3C589) += 3c589_cs.o obj-$(CONFIG_PCMCIA_3C574) += 3c574_cs.o obj-$(CONFIG_VORTEX) += 3c59x.o obj-$(CONFIG_TYPHOON) += typhoon.o net/ethernet/oki-semi/Kconfig 0000644 00000001156 14722053666 0012206 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # OKI Semiconductor device configuration # config NET_VENDOR_OKI bool "OKI Semiconductor devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about OKI Semiconductor cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_OKI source "drivers/net/ethernet/oki-semi/pch_gbe/Kconfig" endif # NET_VENDOR_OKI net/ethernet/oki-semi/pch_gbe/Kconfig 0000644 00000001625 14722053666 0013576 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # OKI Semiconductor device configuration # config PCH_GBE tristate "OKI SEMICONDUCTOR IOH(ML7223/ML7831) GbE" depends on PCI && (X86_32 || COMPILE_TEST) select MII select PTP_1588_CLOCK_PCH select NET_PTP_CLASSIFY ---help--- This is a gigabit ethernet driver for EG20T PCH. EG20T PCH is the platform controller hub that is used in Intel's general embedded platform. EG20T PCH has Gigabit Ethernet interface. Using this interface, it is able to access system devices connected to Gigabit Ethernet. This driver enables Gigabit Ethernet function. This driver also can be used for OKI SEMICONDUCTOR IOH(Input/ Output Hub), ML7223/ML7831. ML7223 IOH is for MP(Media Phone) use. ML7831 IOH is for general purpose use. ML7223/ML7831 is companion chip for Intel Atom E6xx series. ML7223/ML7831 is completely compatible for Intel EG20T PCH. net/ethernet/oki-semi/pch_gbe/Makefile 0000644 00000000245 14722053666 0013730 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_PCH_GBE) += pch_gbe.o pch_gbe-y := pch_gbe_phy.o pch_gbe_ethtool.o pch_gbe_param.o pch_gbe-y += pch_gbe_main.o net/ethernet/oki-semi/Makefile 0000644 00000000204 14722053666 0012334 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the OKI Semiconductor device drivers. # obj-$(CONFIG_PCH_GBE) += pch_gbe/ net/ethernet/marvell/Kconfig 0000644 00000012722 14722053666 0012134 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Marvell device configuration # config NET_VENDOR_MARVELL bool "Marvell devices" default y depends on PCI || CPU_PXA168 || MV64X60 || PPC32 || PLAT_ORION || INET || COMPILE_TEST ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Marvell devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MARVELL config MV643XX_ETH tristate "Marvell Discovery (643XX) and Orion ethernet support" depends on MV64X60 || PPC32 || PLAT_ORION || COMPILE_TEST depends on INET select PHYLIB select MVMDIO ---help--- This driver supports the gigabit ethernet MACs in the Marvell Discovery PPC/MIPS chipset family (MV643XX) and in the Marvell Orion ARM SoC family. Some boards that use the Discovery chipset are the Momenco Ocelot C and Jaguar ATX and Pegasos II. config MVMDIO tristate "Marvell MDIO interface support" depends on HAS_IOMEM select PHYLIB ---help--- This driver supports the MDIO interface found in the network interface units of the Marvell EBU SoCs (Kirkwood, Orion5x, Dove, Armada 370 and Armada XP). This driver is used by the MV643XX_ETH and MVNETA drivers. config MVNETA_BM_ENABLE tristate "Marvell Armada 38x/XP network interface BM support" depends on MVNETA depends on !64BIT ---help--- This driver supports auxiliary block of the network interface units in the Marvell ARMADA XP and ARMADA 38x SoC family, which is called buffer manager. This driver, when enabled, strictly cooperates with mvneta driver and is common for all network ports of the devices, even for Armada 370 SoC, which doesn't support hardware buffer management. config MVNETA tristate "Marvell Armada 370/38x/XP/37xx network interface support" depends on ARCH_MVEBU || COMPILE_TEST select MVMDIO select PHYLINK ---help--- This driver supports the network interface units in the Marvell ARMADA XP, ARMADA 370, ARMADA 38x and ARMADA 37xx SoC family. Note that this driver is distinct from the mv643xx_eth driver, which should be used for the older Marvell SoCs (Dove, Orion, Discovery, Kirkwood). config MVNETA_BM tristate depends on !64BIT default y if MVNETA=y && MVNETA_BM_ENABLE!=n default MVNETA_BM_ENABLE select HWBM select GENERIC_ALLOCATOR help MVNETA_BM must not be 'm' if MVNETA=y, so this symbol ensures that all dependencies are met. config MVPP2 tristate "Marvell Armada 375/7K/8K network interface support" depends on ARCH_MVEBU || COMPILE_TEST select MVMDIO select PHYLINK ---help--- This driver supports the network interface units in the Marvell ARMADA 375, 7K and 8K SoCs. config PXA168_ETH tristate "Marvell pxa168 ethernet support" depends on HAS_IOMEM depends on CPU_PXA168 || ARCH_BERLIN || COMPILE_TEST select PHYLIB ---help--- This driver supports the pxa168 Ethernet ports. To compile this driver as a module, choose M here. The module will be called pxa168_eth. config SKGE tristate "Marvell Yukon Gigabit Ethernet support" depends on PCI select CRC32 ---help--- This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx and related Gigabit Ethernet adapters. It is a new smaller driver with better performance and more complete ethtool support. It does not support the link failover and network management features that "portable" vendor supplied sk98lin driver does. This driver supports adapters based on the original Yukon chipset: Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T, Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872. It does not support the newer Yukon2 chipset: a separate driver, sky2, is provided for these adapters. To compile this driver as a module, choose M here: the module will be called skge. This is recommended. config SKGE_DEBUG bool "Debugging interface" depends on SKGE && DEBUG_FS ---help--- This option adds the ability to dump driver state for debugging. The file /sys/kernel/debug/skge/ethX displays the state of the internal transmit and receive rings. If unsure, say N. config SKGE_GENESIS bool "Support for older SysKonnect Genesis boards" depends on SKGE ---help--- This enables support for the older and uncommon SysKonnect Genesis chips, which support MII via an external transceiver, instead of an internal one. Disabling this option will save some memory by making code smaller. If unsure say Y. config SKY2 tristate "Marvell Yukon 2 support" depends on PCI select CRC32 ---help--- This driver supports Gigabit Ethernet adapters based on the Marvell Yukon 2 chipset: Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/ 88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21 There is companion driver for the older Marvell Yukon and SysKonnect Genesis based adapters: skge. To compile this driver as a module, choose M here: the module will be called sky2. This is recommended. config SKY2_DEBUG bool "Debugging interface" depends on SKY2 && DEBUG_FS ---help--- This option adds the ability to dump driver state for debugging. The file /sys/kernel/debug/sky2/ethX displays the state of the internal transmit and receive rings. If unsure, say N. source "drivers/net/ethernet/marvell/octeontx2/Kconfig" endif # NET_VENDOR_MARVELL net/ethernet/marvell/mvpp2/Makefile 0000644 00000000262 14722053666 0013331 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Marvell PPv2 driver. # obj-$(CONFIG_MVPP2) := mvpp2.o mvpp2-objs := mvpp2_main.o mvpp2_prs.o mvpp2_cls.o mvpp2_debugfs.o net/ethernet/marvell/Makefile 0000644 00000000575 14722053666 0012274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Marvell device drivers. # obj-$(CONFIG_MVMDIO) += mvmdio.o obj-$(CONFIG_MV643XX_ETH) += mv643xx_eth.o obj-$(CONFIG_MVNETA_BM) += mvneta_bm.o obj-$(CONFIG_MVNETA) += mvneta.o obj-$(CONFIG_MVPP2) += mvpp2/ obj-$(CONFIG_PXA168_ETH) += pxa168_eth.o obj-$(CONFIG_SKGE) += skge.o obj-$(CONFIG_SKY2) += sky2.o obj-y += octeontx2/ net/ethernet/marvell/octeontx2/Kconfig 0000644 00000001033 14722053666 0014052 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Marvell OcteonTX2 drivers configuration # config OCTEONTX2_MBOX tristate config OCTEONTX2_AF tristate "Marvell OcteonTX2 RVU Admin Function driver" select OCTEONTX2_MBOX depends on (64BIT && COMPILE_TEST) || ARM64 depends on PCI help This driver supports Marvell's OcteonTX2 Resource Virtualization Unit's admin function manager which manages all RVU HW resources and provides a medium to other PF/VFs to configure HW. Should be enabled for other RVU device drivers to work. net/ethernet/marvell/octeontx2/af/Makefile 0000644 00000000465 14722053666 0014605 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Marvell's OcteonTX2 RVU Admin Function driver # obj-$(CONFIG_OCTEONTX2_MBOX) += octeontx2_mbox.o obj-$(CONFIG_OCTEONTX2_AF) += octeontx2_af.o octeontx2_mbox-y := mbox.o octeontx2_af-y := cgx.o rvu.o rvu_cgx.o rvu_npa.o rvu_nix.o \ rvu_reg.o rvu_npc.o net/ethernet/marvell/octeontx2/Makefile 0000644 00000000173 14722053666 0014213 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Marvell OcteonTX2 device drivers. # obj-$(CONFIG_OCTEONTX2_AF) += af/ net/ethernet/brocade/Kconfig 0000644 00000001162 14722053666 0012065 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # QLogic BR-series device configuration # config NET_VENDOR_BROCADE bool "QLogic BR-series devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about QLogic BR-series cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_BROCADE source "drivers/net/ethernet/brocade/bna/Kconfig" endif # NET_VENDOR_BROCADE net/ethernet/brocade/bna/Kconfig 0000644 00000000762 14722053666 0012632 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # QLogic BR-series network device configuration # config BNA tristate "QLogic BR-series 1010/1020/1860 10Gb Ethernet Driver support" depends on PCI ---help--- This driver supports QLogic BR-series 1010/1020/1860 10Gb CEE capable Ethernet cards. To compile this driver as a module, choose M here: the module will be called bna. For general information and support, go to the QLogic support website at: <http://support.qlogic.com> net/ethernet/brocade/bna/Makefile 0000644 00000000545 14722053666 0012766 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Copyright (c) 2005-2014 Brocade Communications Systems, Inc. # Copyright (c) 2014-2015 QLogic Corporation. # All rights reserved. # obj-$(CONFIG_BNA) += bna.o bna-objs := bnad.o bnad_ethtool.o bnad_debugfs.o bna_enet.o bna_tx_rx.o bna-objs += bfa_msgq.o bfa_ioc.o bfa_ioc_ct.o bfa_cee.o bna-objs += cna_fwimg.o net/ethernet/brocade/Makefile 0000644 00000000173 14722053666 0012223 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the QLogic BR-series device drivers. # obj-$(CONFIG_BNA) += bna/ net/ethernet/8390/Kconfig 0000644 00000014653 14722053666 0011102 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # 8390 device configuration # config NET_VENDOR_8390 bool "National Semiconductor 8390 devices" default y depends on NET_VENDOR_NATSEMI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about National Semiconductor 8390 cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_8390 config PCMCIA_AXNET tristate "Asix AX88190 PCMCIA support" depends on PCMCIA ---help--- Say Y here if you intend to attach an Asix AX88190-based PCMCIA (PC-card) Fast Ethernet card to your computer. These cards are nearly NE2000 compatible but need a separate driver due to a few misfeatures. To compile this driver as a module, choose M here: the module will be called axnet_cs. If unsure, say N. config AX88796 tristate "ASIX AX88796 NE2000 clone support" if !ZORRO depends on (ARM || MIPS || SUPERH || ZORRO || COMPILE_TEST) select CRC32 select PHYLIB select MDIO_BITBANG ---help--- AX88796 driver, using platform bus to provide chip detection and resources config AX88796_93CX6 bool "ASIX AX88796 external 93CX6 eeprom support" depends on AX88796 select EEPROM_93CX6 ---help--- Select this if your platform comes with an external 93CX6 eeprom. config XSURF100 tristate "Amiga XSurf 100 AX88796/NE2000 clone support" depends on ZORRO select AX88796 select AX88796B_PHY help This driver is for the Individual Computers X-Surf 100 Ethernet card (based on the Asix AX88796 chip). If you have such a card, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called xsurf100. config HYDRA tristate "Hydra support" depends on ZORRO select CRC32 ---help--- If you have a Hydra Ethernet adapter, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called hydra. config ARM_ETHERH tristate "I-cubed EtherH/ANT EtherM support" depends on ARM && ARCH_ACORN select CRC32 ---help--- If you have an Acorn system with one of these network cards, you should say Y to this option if you wish to use it with Linux. config MAC8390 tristate "Macintosh NS 8390 based ethernet cards" depends on MAC select CRC32 ---help--- If you want to include a driver to support Nubus or LC-PDS Ethernet cards using an NS8390 chipset or its equivalent, say Y. config MCF8390 tristate "ColdFire NS8390 based Ethernet support" depends on COLDFIRE select CRC32 ---help--- This driver is for Ethernet devices using an NS8390-compatible chipset on many common ColdFire CPU based boards. Many of the older Freescale dev boards use this, and some other common boards like some SnapGear routers do as well. If you have one of these boards and want to use the network interface on them then choose Y. To compile this driver as a module, choose M here, the module will be called mcf8390. config NE2000 tristate "NE2000/NE1000 support" depends on (ISA || (Q40 && m) || MACH_TX49XX || ATARI_ETHERNEC) select CRC32 ---help--- If you have a network (Ethernet) card of this type, say Y here. Many Ethernet cards without a specific driver are compatible with the NE2000. If you have a PCI NE2000 card however, say N here and Y to "PCI NE2000 and clone support" below. To compile this driver as a module, choose M here. The module will be called ne. config NE2K_PCI tristate "PCI NE2000 and clones support (see help)" depends on PCI select CRC32 ---help--- This driver is for NE2000 compatible PCI cards. It will not work with ISA NE2000 cards (they have their own driver, "NE2000/NE1000 support" below). If you have a PCI NE2000 network (Ethernet) card, say Y here. This driver also works for the following NE2000 clone cards: RealTek RTL-8029 Winbond 89C940 Compex RL2000 KTI ET32P2 NetVin NV5000SC Via 86C926 SureCom NE34 Winbond Holtek HT80232 Holtek HT80229 To compile this driver as a module, choose M here. The module will be called ne2k-pci. config APNE tristate "PCMCIA NE2000 support" depends on AMIGA_PCMCIA select CRC32 ---help--- If you have a PCMCIA NE2000 compatible adapter, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called apne. config PCMCIA_PCNET tristate "NE2000 compatible PCMCIA support" depends on PCMCIA select CRC32 ---help--- Say Y here if you intend to attach an NE2000 compatible PCMCIA (PC-card) Ethernet or Fast Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called pcnet_cs. If unsure, say N. config STNIC tristate "National DP83902AV support" depends on SUPERH select CRC32 ---help--- Support for cards based on the National Semiconductor DP83902AV ST-NIC Serial Network Interface Controller for Twisted Pair. This is a 10Mbit/sec Ethernet controller. Product overview and specs at <http://www.national.com/pf/DP/DP83902A.html>. If unsure, say N. config ULTRA tristate "SMC Ultra support" depends on ISA select CRC32 ---help--- If you have a network (Ethernet) card of this type, say Y here. Important: There have been many reports that, with some motherboards mixing an SMC Ultra and an Adaptec AHA154x SCSI card (or compatible, such as some BusLogic models) causes corruption problems with many operating systems. The Linux smc-ultra driver has a work-around for this but keep it in mind if you have such a SCSI card and have problems. To compile this driver as a module, choose M here. The module will be called smc-ultra. config WD80x3 tristate "WD80*3 support" depends on ISA select CRC32 ---help--- If you have a network (Ethernet) card of this type, say Y here. To compile this driver as a module, choose M here. The module will be called wd. config ZORRO8390 tristate "Zorro NS8390-based Ethernet support" depends on ZORRO select CRC32 ---help--- This driver is for Zorro Ethernet cards using an NS8390-compatible chipset, like the Village Tronic Ariadne II and the Individual Computers X-Surf Ethernet cards. If you have such a card, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called zorro8390. endif # NET_VENDOR_8390 net/ethernet/8390/Makefile 0000644 00000001232 14722053666 0011224 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the 8390 network device drivers. # obj-$(CONFIG_MAC8390) += mac8390.o obj-$(CONFIG_APNE) += apne.o 8390.o obj-$(CONFIG_ARM_ETHERH) += etherh.o obj-$(CONFIG_AX88796) += ax88796.o obj-$(CONFIG_HYDRA) += hydra.o obj-$(CONFIG_MCF8390) += mcf8390.o obj-$(CONFIG_NE2000) += ne.o 8390p.o obj-$(CONFIG_NE2K_PCI) += ne2k-pci.o 8390.o obj-$(CONFIG_PCMCIA_AXNET) += axnet_cs.o 8390.o obj-$(CONFIG_PCMCIA_PCNET) += pcnet_cs.o 8390.o obj-$(CONFIG_STNIC) += stnic.o 8390.o obj-$(CONFIG_ULTRA) += smc-ultra.o 8390.o obj-$(CONFIG_WD80x3) += wd.o 8390.o obj-$(CONFIG_XSURF100) += xsurf100.o obj-$(CONFIG_ZORRO8390) += zorro8390.o net/ethernet/micrel/Kconfig 0000644 00000002723 14722053666 0011745 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Micrel device configuration # config NET_VENDOR_MICREL bool "Micrel devices" default y depends on (HAS_IOMEM && DMA_ENGINE) || SPI || PCI || HAS_IOMEM ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Micrel devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MICREL config KS8842 tristate "Micrel KSZ8841/42 with generic bus interface" depends on HAS_IOMEM && DMA_ENGINE ---help--- This platform driver is for KSZ8841(1-port) / KS8842(2-port) ethernet switch chip (managed, VLAN, QoS) from Micrel or Timberdale(FPGA). config KS8851 tristate "Micrel KS8851 SPI" depends on SPI select MII select CRC32 select EEPROM_93CX6 ---help--- SPI driver for Micrel KS8851 SPI attached network chip. config KS8851_MLL tristate "Micrel KS8851 MLL" depends on HAS_IOMEM select MII ---help--- This platform driver is for Micrel KS8851 Address/data bus multiplexed network chip. config KSZ884X_PCI tristate "Micrel KSZ8841/2 PCI" depends on PCI select MII select CRC32 ---help--- This PCI driver is for Micrel KSZ8841/KSZ8842 PCI Ethernet chip. To compile this driver as a module, choose M here. The module will be called ksz884x. endif # NET_VENDOR_MICREL net/ethernet/micrel/Makefile 0000644 00000000354 14722053666 0012100 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Micrel network device drivers. # obj-$(CONFIG_KS8842) += ks8842.o obj-$(CONFIG_KS8851) += ks8851.o obj-$(CONFIG_KS8851_MLL) += ks8851_mll.o obj-$(CONFIG_KSZ884X_PCI) += ksz884x.o net/ethernet/dlink/Kconfig 0000644 00000003055 14722053666 0011572 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # D-Link device configuration # config NET_VENDOR_DLINK bool "D-Link devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about D-Link devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_DLINK config DL2K tristate "DL2000/TC902x/IP1000A-based Gigabit Ethernet support" depends on PCI select CRC32 ---help--- This driver supports DL2000/TC902x/IP1000A-based Gigabit ethernet cards, which includes D-Link DGE-550T Gigabit Ethernet Adapter. D-Link DL2000-based Gigabit Ethernet Adapter. Sundance/Tamarack TC902x Gigabit Ethernet Adapter. ICPlus IP1000A-based cards To compile this driver as a module, choose M here: the module will be called dl2k. config SUNDANCE tristate "Sundance Alta support" depends on PCI select CRC32 select MII ---help--- This driver is for the Sundance "Alta" chip. More specific information and updates are available from <http://www.scyld.com/network/sundance.html>. config SUNDANCE_MMIO bool "Use MMIO instead of PIO" depends on SUNDANCE ---help--- Enable memory-mapped I/O for interaction with Sundance NIC registers. Do NOT enable this by default, PIO (enabled when MMIO is disabled) is known to solve bugs on certain chips. If unsure, say N. endif # NET_VENDOR_DLINK net/ethernet/dlink/Makefile 0000644 00000000241 14722053666 0011721 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the D-Link network device drivers. # obj-$(CONFIG_DL2K) += dl2k.o obj-$(CONFIG_SUNDANCE) += sundance.o net/ethernet/allwinner/Kconfig 0000644 00000001577 14722053666 0012473 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Allwinner device configuration # config NET_VENDOR_ALLWINNER bool "Allwinner devices" default y depends on ARCH_SUNXI ---help--- If you have a network (Ethernet) card belonging to this class, say Y here. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Allwinner cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ALLWINNER config SUN4I_EMAC tristate "Allwinner A10 EMAC support" depends on ARCH_SUNXI depends on OF select CRC32 select MII select PHYLIB select MDIO_SUN4I ---help--- Support for Allwinner A10 EMAC ethernet driver. To compile this driver as a module, choose M here. The module will be called sun4i-emac. endif # NET_VENDOR_ALLWINNER net/ethernet/allwinner/Makefile 0000644 00000000203 14722053666 0012611 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Allwinner device drivers. # obj-$(CONFIG_SUN4I_EMAC) += sun4i-emac.o net/ethernet/aurora/Kconfig 0000644 00000001170 14722053666 0011756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_VENDOR_AURORA bool "Aurora VLSI devices" default y help If you have a network (Ethernet) device belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all questions about Aurora devices. If you say Y, you will be asked for your specific device in the following questions. if NET_VENDOR_AURORA config AURORA_NB8800 tristate "Aurora AU-NB8800 support" depends on HAS_DMA select PHYLIB help Support for the AU-NB8800 gigabit Ethernet controller. endif net/ethernet/aurora/Makefile 0000644 00000000120 14722053666 0012105 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_AURORA_NB8800) += nb8800.o net/ethernet/toshiba/Kconfig 0000644 00000003274 14722053666 0012125 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Toshiba network device configuration # config NET_VENDOR_TOSHIBA bool "Toshiba devices" default y depends on PCI && (PPC_IBM_CELL_BLADE || MIPS) || PPC_PS3 ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Toshiba cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_TOSHIBA config GELIC_NET tristate "PS3 Gigabit Ethernet driver" depends on PPC_PS3 select PS3_SYS_MANAGER ---help--- This driver supports the network device on the PS3 game console. This driver has built-in support for Ethernet. To compile this driver as a module, choose M here: the module will be called ps3_gelic. config GELIC_WIRELESS bool "PS3 Wireless support" depends on GELIC_NET && WLAN select WIRELESS_EXT ---help--- This option adds the support for the wireless feature of PS3. If you have the wireless-less model of PS3 or have no plan to use wireless feature, disabling this option saves memory. As the driver automatically distinguishes the models, you can safely enable this option even if you have a wireless-less model. config SPIDER_NET tristate "Spider Gigabit Ethernet driver" depends on PCI && PPC_IBM_CELL_BLADE select FW_LOADER select SUNGEM_PHY ---help--- This driver supports the Gigabit Ethernet chips present on the Cell Processor-Based Blades from IBM. config TC35815 tristate "TOSHIBA TC35815 Ethernet support" depends on PCI && MIPS select PHYLIB endif # NET_VENDOR_TOSHIBA net/ethernet/toshiba/Makefile 0000644 00000000564 14722053666 0012261 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Toshiba network device drivers. # obj-$(CONFIG_GELIC_NET) += ps3_gelic.o gelic_wireless-$(CONFIG_GELIC_WIRELESS) += ps3_gelic_wireless.o ps3_gelic-objs += ps3_gelic_net.o $(gelic_wireless-y) spidernet-y += spider_net.o spider_net_ethtool.o obj-$(CONFIG_SPIDER_NET) += spidernet.o obj-$(CONFIG_TC35815) += tc35815.o net/ethernet/apple/Kconfig 0000644 00000003742 14722053666 0011575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Apple device configuration # config NET_VENDOR_APPLE bool "Apple devices" default y depends on (PPC_PMAC && PPC32) || MAC ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Apple devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_APPLE config MACE tristate "MACE (Power Mac ethernet) support" depends on PPC_PMAC && PPC32 select CRC32 ---help--- Power Macintoshes and clones with Ethernet built-in on the motherboard will usually use a MACE (Medium Access Control for Ethernet) interface. Say Y to include support for the MACE chip. To compile this driver as a module, choose M here: the module will be called mace. config MACE_AAUI_PORT bool "Use AAUI port instead of TP by default" depends on MACE ---help--- Some Apple machines (notably the Apple Network Server) which use the MACE ethernet chip have an Apple AUI port (small 15-pin connector), instead of an 8-pin RJ45 connector for twisted-pair ethernet. Say Y here if you have such a machine. If unsure, say N. The driver will default to AAUI on ANS anyway, and if you use it as a module, you can provide the port_aaui=0|1 to force the driver. config BMAC tristate "BMAC (G3 ethernet) support" depends on PPC_PMAC && PPC32 select CRC32 ---help--- Say Y for support of BMAC Ethernet interfaces. These are used on G3 computers. To compile this driver as a module, choose M here: the module will be called bmac. config MACMACE tristate "Macintosh (AV) onboard MACE ethernet" depends on MAC select CRC32 ---help--- Support for the onboard AMD 79C940 MACE Ethernet controller used in the 660AV and 840AV Macintosh. If you have one of these Macintoshes say Y here. endif # NET_VENDOR_APPLE net/ethernet/apple/Makefile 0000644 00000000273 14722053666 0011726 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Apple network device drivers. # obj-$(CONFIG_MACE) += mace.o obj-$(CONFIG_BMAC) += bmac.o obj-$(CONFIG_MACMACE) += macmace.o net/ethernet/seeq/Kconfig 0000644 00000001731 14722053666 0011425 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SEEQ device configuration # config NET_VENDOR_SEEQ bool "SEEQ devices" default y depends on HAS_IOMEM ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about SEEQ devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SEEQ config ARM_ETHER3 tristate "Acorn/ANT Ether3 support" depends on ARM && ARCH_ACORN ---help--- If you have an Acorn system with one of these network cards, you should say Y to this option if you wish to use it with Linux. config SGISEEQ tristate "SGI Seeq ethernet controller support" depends on SGI_HAS_SEEQ ---help--- Say Y here if you have an Seeq based Ethernet network card. This is used in many Silicon Graphics machines. endif # NET_VENDOR_SEEQ net/ethernet/seeq/Makefile 0000644 00000000244 14722053666 0011560 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the SEEQ network device drivers # obj-$(CONFIG_ARM_ETHER3) += ether3.o obj-$(CONFIG_SGISEEQ) += sgiseeq.o net/ethernet/packetengines/Kconfig 0000644 00000002622 14722053666 0013310 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Packet Engines device configuration # config NET_VENDOR_PACKET_ENGINES bool "Packet Engines devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Packet Engines devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_PACKET_ENGINES config HAMACHI tristate "Packet Engines Hamachi GNIC-II support" depends on PCI select MII ---help--- If you have a Gigabit Ethernet card of this type, say Y here. To compile this driver as a module, choose M here. The module will be called hamachi. config YELLOWFIN tristate "Packet Engines Yellowfin Gigabit-NIC support" depends on PCI select CRC32 ---help--- Say Y here if you have a Packet Engines G-NIC PCI Gigabit Ethernet adapter or the SYM53C885 Ethernet controller. The Gigabit adapter is used by the Beowulf Linux cluster project. See <http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html> for more information about this driver in particular and Beowulf in general. To compile this driver as a module, choose M here: the module will be called yellowfin. This is recommended. endif # NET_VENDOR_PACKET_ENGINES net/ethernet/packetengines/Makefile 0000644 00000000261 14722053666 0013442 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Packet Engines network device drivers. # obj-$(CONFIG_HAMACHI) += hamachi.o obj-$(CONFIG_YELLOWFIN) += yellowfin.o net/ethernet/natsemi/Kconfig 0000644 00000004266 14722053666 0012136 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # National Semiconductor device configuration # config NET_VENDOR_NATSEMI bool "National Semiconductor devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about National Semiconductor devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_NATSEMI config MACSONIC tristate "Macintosh SONIC based ethernet (onboard, NuBus, LC, CS)" depends on MAC ---help--- Support for NatSemi SONIC based Ethernet devices. This includes the onboard Ethernet in many Quadras as well as some LC-PDS, a few Nubus and all known Comm Slot Ethernet cards. If you have one of these say Y here. To compile this driver as a module, choose M here. This module will be called macsonic. config MIPS_JAZZ_SONIC tristate "MIPS JAZZ onboard SONIC Ethernet support" depends on MACH_JAZZ ---help--- This is the driver for the onboard card of MIPS Magnum 4000, Acer PICA, Olivetti M700-10 and a few other identical OEM systems. config NATSEMI tristate "National Semiconductor DP8381x series PCI Ethernet support" depends on PCI select CRC32 ---help--- This driver is for the National Semiconductor DP83810 series, which is used in cards from PureData, NetGear, Linksys and others, including the 83815 chip. More specific information and updates are available from <http://www.scyld.com/network/natsemi.html>. config NS83820 tristate "National Semiconductor DP83820 support" depends on PCI ---help--- This is a driver for the National Semiconductor DP83820 series of gigabit ethernet MACs. Cards using this chipset include the D-Link DGE-500T, PureData's PDP8023Z-TG, SMC's SMC9462TX, SOHO-GA2000T, SOHO-GA2500T. The driver supports the use of zero copy. config XTENSA_XT2000_SONIC tristate "Xtensa XT2000 onboard SONIC Ethernet support" depends on XTENSA_PLATFORM_XT2000 ---help--- This is the driver for the onboard card of the Xtensa XT2000 board. endif # NET_VENDOR_NATSEMI net/ethernet/natsemi/Makefile 0000644 00000000450 14722053666 0012262 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the National Semiconductor Sonic devices. # obj-$(CONFIG_MACSONIC) += macsonic.o obj-$(CONFIG_MIPS_JAZZ_SONIC) += jazzsonic.o obj-$(CONFIG_NATSEMI) += natsemi.o obj-$(CONFIG_NS83820) += ns83820.o obj-$(CONFIG_XTENSA_XT2000_SONIC) += xtsonic.o net/ethernet/cortina/Kconfig 0000644 00000001075 14722053666 0012130 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Cortina ethernet devices config NET_VENDOR_CORTINA bool "Cortina Gemini devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from <http://www.tldp.org/docs.html#howto>. if NET_VENDOR_CORTINA config GEMINI_ETHERNET tristate "Gemini Gigabit Ethernet support" depends on OF depends on HAS_IOMEM select PHYLIB select CRC32 ---help--- This driver supports StorLink SL351x (Gemini) dual Gigabit Ethernet. endif # NET_VENDOR_CORTINA net/ethernet/cortina/Makefile 0000644 00000000210 14722053666 0012253 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for the Cortina Gemini network device drivers. obj-$(CONFIG_GEMINI_ETHERNET) += gemini.o net/ethernet/microchip/Kconfig 0000644 00000002723 14722053666 0012447 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Microchip network device configuration # config NET_VENDOR_MICROCHIP bool "Microchip devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Microchip cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_MICROCHIP config ENC28J60 tristate "ENC28J60 support" depends on SPI select CRC32 ---help--- Support for the Microchip EN28J60 ethernet chip. To compile this driver as a module, choose M here. The module will be called enc28j60. config ENC28J60_WRITEVERIFY bool "Enable write verify" depends on ENC28J60 ---help--- Enable the verify after the buffer write useful for debugging purpose. If unsure, say N. config ENCX24J600 tristate "ENCX24J600 support" depends on SPI ---help--- Support for the Microchip ENC424J600/624J600 ethernet chip. To compile this driver as a module, choose M here. The module will be called encx24j600. config LAN743X tristate "LAN743x support" depends on PCI select PHYLIB select CRC16 ---help--- Support for the Microchip LAN743x PCI Express Gigabit Ethernet chip To compile this driver as a module, choose M here. The module will be called lan743x. endif # NET_VENDOR_MICROCHIP net/ethernet/microchip/Makefile 0000644 00000000447 14722053666 0012605 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Microchip network device drivers. # obj-$(CONFIG_ENC28J60) += enc28j60.o obj-$(CONFIG_ENCX24J600) += encx24j600.o encx24j600-regmap.o obj-$(CONFIG_LAN743X) += lan743x.o lan743x-objs := lan743x_main.o lan743x_ethtool.o lan743x_ptp.o net/ethernet/freescale/dpaa/Kconfig 0000644 00000000573 14722053666 0013331 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig FSL_DPAA_ETH tristate "DPAA Ethernet" depends on FSL_DPAA && FSL_FMAN select PHYLIB select FIXED_PHY select FSL_FMAN_MAC ---help--- Data Path Acceleration Architecture Ethernet driver, supporting the Freescale QorIQ chips. Depends on Freescale Buffer Manager and Queue Manager driver and Frame Manager Driver. net/ethernet/freescale/dpaa/Makefile 0000644 00000000515 14722053666 0013462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Freescale DPAA Ethernet controllers # # Include FMan headers FMAN = $(srctree)/drivers/net/ethernet/freescale/fman ccflags-y += -I$(FMAN) obj-$(CONFIG_FSL_DPAA_ETH) += fsl_dpa.o fsl_dpa-objs += dpaa_eth.o dpaa_ethtool.o dpaa_eth_sysfs.o CFLAGS_dpaa_eth.o := -I$(src) net/ethernet/freescale/Kconfig 0000644 00000006225 14722053666 0012424 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Freescale device configuration # config NET_VENDOR_FREESCALE bool "Freescale devices" default y depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \ M523x || M527x || M5272 || M528x || M520x || M532x || \ ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && PPC_BESTCOMM) || \ ARCH_LAYERSCAPE || COMPILE_TEST ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Freescale devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_FREESCALE config FEC tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)" depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \ ARCH_MXC || SOC_IMX28 || COMPILE_TEST) default ARCH_MXC || SOC_IMX28 if ARM select PHYLIB imply PTP_1588_CLOCK ---help--- Say Y here if you want to use the built-in 10/100 Fast ethernet controller on some Motorola ColdFire and Freescale i.MX processors. config FEC_MPC52xx tristate "FEC MPC52xx driver" depends on PPC_MPC52xx && PPC_BESTCOMM select CRC32 select PHYLIB select PPC_BESTCOMM_FEC ---help--- This option enables support for the MPC5200's on-chip Fast Ethernet Controller If compiled as module, it will be called fec_mpc52xx. config FEC_MPC52xx_MDIO bool "FEC MPC52xx MDIO bus driver" depends on FEC_MPC52xx default y ---help--- The MPC5200's FEC can connect to the Ethernet either with an external MII PHY chip or 10 Mbps 7-wire interface (Motorola? industry standard). If your board uses an external PHY connected to FEC, enable this. If not sure, enable. If compiled as module, it will be called fec_mpc52xx_phy. source "drivers/net/ethernet/freescale/fs_enet/Kconfig" source "drivers/net/ethernet/freescale/fman/Kconfig" config FSL_PQ_MDIO tristate "Freescale PQ MDIO" select PHYLIB ---help--- This driver supports the MDIO bus used by the gianfar and UCC drivers. config FSL_XGMAC_MDIO tristate "Freescale XGMAC MDIO" select PHYLIB depends on OF select OF_MDIO ---help--- This driver supports the MDIO bus on the Fman 10G Ethernet MACs, and on the FMan mEMAC (which supports both Clauses 22 and 45) config UCC_GETH tristate "Freescale QE Gigabit Ethernet" depends on QUICC_ENGINE select FSL_PQ_MDIO select PHYLIB select FIXED_PHY ---help--- This driver supports the Gigabit Ethernet mode of the QUICC Engine, which is available on some Freescale SOCs. config UGETH_TX_ON_DEMAND bool "Transmit on Demand support" depends on UCC_GETH config GIANFAR tristate "Gianfar Ethernet" depends on HAS_DMA select FSL_PQ_MDIO select PHYLIB select FIXED_PHY select CRC32 ---help--- This driver supports the Gigabit TSEC on the MPC83xx, MPC85xx, and MPC86xx family of chips, the eTSEC on LS1021A and the FEC on the 8540. source "drivers/net/ethernet/freescale/dpaa/Kconfig" source "drivers/net/ethernet/freescale/dpaa2/Kconfig" source "drivers/net/ethernet/freescale/enetc/Kconfig" endif # NET_VENDOR_FREESCALE net/ethernet/freescale/enetc/Kconfig 0000644 00000003512 14722053666 0013516 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config FSL_ENETC tristate "ENETC PF driver" depends on PCI && PCI_MSI && (ARCH_LAYERSCAPE || COMPILE_TEST) select PHYLIB help This driver supports NXP ENETC gigabit ethernet controller PCIe physical function (PF) devices, managing ENETC Ports at a privileged level. If compiled as module (M), the module name is fsl-enetc. config FSL_ENETC_VF tristate "ENETC VF driver" depends on PCI && PCI_MSI && (ARCH_LAYERSCAPE || COMPILE_TEST) select PHYLIB help This driver supports NXP ENETC gigabit ethernet controller PCIe virtual function (VF) devices enabled by the ENETC PF driver. If compiled as module (M), the module name is fsl-enetc-vf. config FSL_ENETC_MDIO tristate "ENETC MDIO driver" depends on PCI && (ARCH_LAYERSCAPE || COMPILE_TEST) help This driver supports NXP ENETC Central MDIO controller as a PCIe physical function (PF) device. If compiled as module (M), the module name is fsl-enetc-mdio. config FSL_ENETC_PTP_CLOCK tristate "ENETC PTP clock driver" depends on PTP_1588_CLOCK_QORIQ && (FSL_ENETC || FSL_ENETC_VF) default y help This driver adds support for using the ENETC 1588 timer as a PTP clock. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. If compiled as module (M), the module name is fsl-enetc-ptp. config FSL_ENETC_HW_TIMESTAMPING bool "ENETC hardware timestamping support" depends on FSL_ENETC || FSL_ENETC_VF help Enable hardware timestamping support on the Ethernet packets using the SO_TIMESTAMPING API. Because the RX BD ring dynamic allocation has not been supported and it is too expensive to use extended RX BDs if timestamping is not used, this option enables extended RX BDs in order to support hardware timestamping. net/ethernet/freescale/enetc/Makefile 0000644 00000000764 14722053666 0013661 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 common-objs := enetc.o enetc_cbdr.o enetc_ethtool.o obj-$(CONFIG_FSL_ENETC) += fsl-enetc.o fsl-enetc-y := enetc_pf.o enetc_mdio.o $(common-objs) fsl-enetc-$(CONFIG_PCI_IOV) += enetc_msg.o obj-$(CONFIG_FSL_ENETC_VF) += fsl-enetc-vf.o fsl-enetc-vf-y := enetc_vf.o $(common-objs) obj-$(CONFIG_FSL_ENETC_MDIO) += fsl-enetc-mdio.o fsl-enetc-mdio-y := enetc_pci_mdio.o enetc_mdio.o obj-$(CONFIG_FSL_ENETC_PTP_CLOCK) += fsl-enetc-ptp.o fsl-enetc-ptp-y := enetc_ptp.o net/ethernet/freescale/fs_enet/Kconfig 0000644 00000001603 14722053666 0014042 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config FS_ENET tristate "Freescale Ethernet Driver" depends on NET_VENDOR_FREESCALE && (CPM1 || CPM2 || PPC_MPC512x) select MII select PHYLIB config FS_ENET_MPC5121_FEC def_bool y if (FS_ENET && PPC_MPC512x) select FS_ENET_HAS_FEC config FS_ENET_HAS_SCC bool "Chip has an SCC usable for ethernet" depends on FS_ENET && (CPM1 || CPM2) default y config FS_ENET_HAS_FCC bool "Chip has an FCC usable for ethernet" depends on FS_ENET && CPM2 default y config FS_ENET_HAS_FEC bool "Chip has an FEC usable for ethernet" depends on FS_ENET && (CPM1 || FS_ENET_MPC5121_FEC) select FS_ENET_MDIO_FEC default y config FS_ENET_MDIO_FEC tristate "MDIO driver for FEC" depends on FS_ENET && (CPM1 || FS_ENET_MPC5121_FEC) config FS_ENET_MDIO_FCC tristate "MDIO driver for FCC" depends on FS_ENET && CPM2 select MDIO_BITBANG net/ethernet/freescale/fs_enet/Makefile 0000644 00000000625 14722053666 0014202 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Freescale Ethernet controllers # obj-$(CONFIG_FS_ENET) += fs_enet.o fs_enet-$(CONFIG_FS_ENET_HAS_SCC) += mac-scc.o fs_enet-$(CONFIG_FS_ENET_HAS_FEC) += mac-fec.o fs_enet-$(CONFIG_FS_ENET_HAS_FCC) += mac-fcc.o obj-$(CONFIG_FS_ENET_MDIO_FEC) += mii-fec.o obj-$(CONFIG_FS_ENET_MDIO_FCC) += mii-bitbang.o fs_enet-objs := fs_enet-main.o $(fs_enet-m) net/ethernet/freescale/dpaa2/Kconfig 0000644 00000001053 14722053666 0013405 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config FSL_DPAA2_ETH tristate "Freescale DPAA2 Ethernet" depends on FSL_MC_BUS && FSL_MC_DPIO help This is the DPAA2 Ethernet driver supporting Freescale SoCs with DPAA2 (DataPath Acceleration Architecture v2). The driver manages network objects discovered on the Freescale MC bus. config FSL_DPAA2_PTP_CLOCK tristate "Freescale DPAA2 PTP Clock" depends on FSL_DPAA2_ETH && PTP_1588_CLOCK_QORIQ default y help This driver adds support for using the DPAA2 1588 timer module as a PTP clock. net/ethernet/freescale/dpaa2/Makefile 0000644 00000000642 14722053666 0013545 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Freescale DPAA2 Ethernet controller # obj-$(CONFIG_FSL_DPAA2_ETH) += fsl-dpaa2-eth.o obj-$(CONFIG_FSL_DPAA2_PTP_CLOCK) += fsl-dpaa2-ptp.o fsl-dpaa2-eth-objs := dpaa2-eth.o dpaa2-ethtool.o dpni.o fsl-dpaa2-eth-${CONFIG_DEBUG_FS} += dpaa2-eth-debugfs.o fsl-dpaa2-ptp-objs := dpaa2-ptp.o dprtc.o # Needed by the tracing framework CFLAGS_dpaa2-eth.o := -I$(src) net/ethernet/freescale/Makefile 0000644 00000001417 14722053666 0012557 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Freescale network device drivers. # obj-$(CONFIG_FEC) += fec.o fec-objs :=fec_main.o fec_ptp.o obj-$(CONFIG_FEC_MPC52xx) += fec_mpc52xx.o ifeq ($(CONFIG_FEC_MPC52xx_MDIO),y) obj-$(CONFIG_FEC_MPC52xx) += fec_mpc52xx_phy.o endif obj-$(CONFIG_FS_ENET) += fs_enet/ obj-$(CONFIG_FSL_PQ_MDIO) += fsl_pq_mdio.o obj-$(CONFIG_FSL_XGMAC_MDIO) += xgmac_mdio.o obj-$(CONFIG_GIANFAR) += gianfar_driver.o gianfar_driver-objs := gianfar.o \ gianfar_ethtool.o obj-$(CONFIG_UCC_GETH) += ucc_geth_driver.o ucc_geth_driver-objs := ucc_geth.o ucc_geth_ethtool.o obj-$(CONFIG_FSL_FMAN) += fman/ obj-$(CONFIG_FSL_DPAA_ETH) += dpaa/ obj-$(CONFIG_FSL_DPAA2_ETH) += dpaa2/ obj-$(CONFIG_FSL_ENETC) += enetc/ obj-$(CONFIG_FSL_ENETC_VF) += enetc/ net/ethernet/freescale/fman/Kconfig 0000644 00000003105 14722053666 0013337 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config FSL_FMAN tristate "FMan support" depends on FSL_SOC || ARCH_LAYERSCAPE || COMPILE_TEST select GENERIC_ALLOCATOR select PHYLIB default n help Freescale Data-Path Acceleration Architecture Frame Manager (FMan) support config DPAA_ERRATUM_A050385 bool depends on ARM64 && FSL_DPAA default y help DPAA FMan erratum A050385 software workaround implementation: align buffers, data start, SG fragment length to avoid FMan DMA splits. FMAN DMA read or writes under heavy traffic load may cause FMAN internal resource leak thus stopping further packet processing. The FMAN internal queue can overflow when FMAN splits single read or write transactions into multiple smaller transactions such that more than 17 AXI transactions are in flight from FMAN to interconnect. When the FMAN internal queue overflows, it can stall further packet processing. The issue can occur with any one of the following three conditions: 1. FMAN AXI transaction crosses 4K address boundary (Errata A010022) 2. FMAN DMA address for an AXI transaction is not 16 byte aligned, i.e. the last 4 bits of an address are non-zero 3. Scatter Gather (SG) frames have more than one SG buffer in the SG list and any one of the buffers, except the last buffer in the SG list has data size that is not a multiple of 16 bytes, i.e., other than 16, 32, 48, 64, etc. With any one of the above three conditions present, there is likelihood of stalled FMAN packet processing, especially under stress with multiple ports injecting line-rate traffic. net/ethernet/freescale/fman/Makefile 0000644 00000000626 14722053666 0013501 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 subdir-ccflags-y += -I$(srctree)/drivers/net/ethernet/freescale/fman obj-$(CONFIG_FSL_FMAN) += fsl_dpaa_fman.o obj-$(CONFIG_FSL_FMAN) += fsl_dpaa_fman_port.o obj-$(CONFIG_FSL_FMAN) += fsl_dpaa_mac.o fsl_dpaa_fman-objs := fman_muram.o fman.o fman_sp.o fman_keygen.o fsl_dpaa_fman_port-objs := fman_port.o fsl_dpaa_mac-objs:= mac.o fman_dtsec.o fman_memac.o fman_tgec.o net/ethernet/fujitsu/Kconfig 0000644 00000001514 14722053666 0012160 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Fujitsu Network device configuration # config NET_VENDOR_FUJITSU bool "Fujitsu devices" default y depends on PCMCIA ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the the questions about Fujitsu cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_FUJITSU config PCMCIA_FMVJ18X tristate "Fujitsu FMV-J18x PCMCIA support" depends on PCMCIA select CRC32 ---help--- Say Y here if you intend to attach a Fujitsu FMV-J18x or compatible PCMCIA (PC-card) Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called fmvj18x_cs. If unsure, say N. endif # NET_VENDOR_FUJITSU net/ethernet/fujitsu/Makefile 0000644 00000000215 14722053666 0012312 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Fujitsu network device drivers. # obj-$(CONFIG_PCMCIA_FMVJ18X) += fmvj18x_cs.o net/ethernet/calxeda/Kconfig 0000644 00000000444 14722053666 0012071 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_CALXEDA_XGMAC tristate "Calxeda 1G/10G XGMAC Ethernet driver" depends on HAS_IOMEM depends on ARCH_HIGHBANK || COMPILE_TEST select CRC32 help This is the driver for the XGMAC Ethernet IP block found on Calxeda Highbank platforms. net/ethernet/calxeda/Makefile 0000644 00000000123 14722053666 0012220 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NET_CALXEDA_XGMAC) += xgmac.o net/ethernet/wiznet/Kconfig 0000644 00000005222 14722053666 0012007 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # WIZnet devices configuration # config NET_VENDOR_WIZNET bool "WIZnet devices" depends on HAS_IOMEM default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about WIZnet devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_WIZNET config WIZNET_W5100 tristate "WIZnet W5100 Ethernet support" depends on HAS_IOMEM ---help--- Support for WIZnet W5100 chips. W5100 is a single chip with integrated 10/100 Ethernet MAC, PHY and hardware TCP/IP stack, but this driver is limited to the MAC and PHY functions only, onchip TCP/IP is unused. To compile this driver as a module, choose M here: the module will be called w5100. config WIZNET_W5300 tristate "WIZnet W5300 Ethernet support" depends on HAS_IOMEM ---help--- Support for WIZnet W5300 chips. W5300 is a single chip with integrated 10/100 Ethernet MAC, PHY and hardware TCP/IP stack, but this driver is limited to the MAC and PHY functions only, onchip TCP/IP is unused. To compile this driver as a module, choose M here: the module will be called w5300. choice prompt "WIZnet interface mode" depends on WIZNET_W5100 || WIZNET_W5300 default WIZNET_BUS_ANY config WIZNET_BUS_DIRECT bool "Direct address bus mode" ---help--- In direct address mode host system can directly access all registers after mapping to Memory-Mapped I/O space. config WIZNET_BUS_INDIRECT bool "Indirect address bus mode" ---help--- In indirect address mode host system indirectly accesses registers using Indirect Mode Address Register and Indirect Mode Data Register, which are directly mapped to Memory-Mapped I/O space. config WIZNET_BUS_ANY bool "Select interface mode in runtime" ---help--- If interface mode is unknown in compile time, it can be selected in runtime from board/platform resources configuration. Performance may decrease compared to explicitly selected bus mode. endchoice config WIZNET_W5100_SPI tristate "WIZnet W5100/W5200/W5500 Ethernet support for SPI mode" depends on WIZNET_BUS_ANY && WIZNET_W5100 depends on SPI ---help--- In SPI mode host system accesses registers using SPI protocol (mode 0) on the SPI bus. Performance decreases compared to other bus interface mode. In W5100 SPI mode, burst READ/WRITE processing are not provided. To compile this driver as a module, choose M here: the module will be called w5100-spi. endif # NET_VENDOR_WIZNET net/ethernet/wiznet/Makefile 0000644 00000000242 14722053666 0012141 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_WIZNET_W5100) += w5100.o obj-$(CONFIG_WIZNET_W5100_SPI) += w5100-spi.o obj-$(CONFIG_WIZNET_W5300) += w5300.o net/ethernet/cavium/Kconfig 0000644 00000005736 14722053666 0011765 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Cavium ethernet device configuration # config NET_VENDOR_CAVIUM bool "Cavium ethernet drivers" default y ---help--- Select this option if you want enable Cavium network support. If you have a Cavium SoC or network adapter, say Y. if NET_VENDOR_CAVIUM config THUNDER_NIC_PF tristate "Thunder Physical function driver" depends on 64BIT && PCI select THUNDER_NIC_BGX ---help--- This driver supports Thunder's NIC physical function. The NIC provides the controller and DMA engines to move network traffic to/from the memory. The NIC works closely with TNS, BGX and SerDes to implement the functions replacing and virtualizing those of a typical standalone PCIe NIC chip. config THUNDER_NIC_VF tristate "Thunder Virtual function driver" imply CAVIUM_PTP depends on 64BIT && PCI ---help--- This driver supports Thunder's NIC virtual function config THUNDER_NIC_BGX tristate "Thunder MAC interface driver (BGX)" depends on 64BIT && PCI select PHYLIB select MDIO_THUNDER if PCI select THUNDER_NIC_RGX ---help--- This driver supports programming and controlling of MAC interface from NIC physical function driver. config THUNDER_NIC_RGX tristate "Thunder MAC interface driver (RGX)" depends on 64BIT && PCI select PHYLIB select MDIO_THUNDER if PCI ---help--- This driver supports configuring XCV block of RGX interface present on CN81XX chip. config CAVIUM_PTP tristate "Cavium PTP coprocessor as PTP clock" depends on 64BIT && PCI imply PTP_1588_CLOCK ---help--- This driver adds support for the Precision Time Protocol Clocks and Timestamping coprocessor (PTP) found on Cavium processors. PTP provides timestamping mechanism that is suitable for use in IEEE 1588 Precision Time Protocol or other purposes. Timestamps can be used in BGX, TNS, GTI, and NIC blocks. config LIQUIDIO tristate "Cavium LiquidIO support" depends on 64BIT && PCI depends on PCI imply PTP_1588_CLOCK select FW_LOADER select LIBCRC32C select NET_DEVLINK ---help--- This driver supports Cavium LiquidIO Intelligent Server Adapters based on CN66XX, CN68XX and CN23XX chips. To compile this driver as a module, choose M here: the module will be called liquidio. This is recommended. config OCTEON_MGMT_ETHERNET tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)" depends on CAVIUM_OCTEON_SOC select PHYLIB select MDIO_OCTEON default y help Enable the ethernet driver for the management port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX, CN54XX, CN52XX, and CN6XXX chips. config LIQUIDIO_VF tristate "Cavium LiquidIO VF support" depends on 64BIT && PCI_MSI imply PTP_1588_CLOCK ---help--- This driver supports Cavium LiquidIO Intelligent Server Adapter based on CN23XX chips. To compile this driver as a module, choose M here: The module will be called liquidio_vf. MSI-X interrupt support is required for this driver to work correctly endif # NET_VENDOR_CAVIUM net/ethernet/cavium/octeon/Makefile 0000644 00000000223 14722053666 0013373 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Cavium network device drivers. # obj-$(CONFIG_OCTEON_MGMT_ETHERNET) += octeon_mgmt.o net/ethernet/cavium/liquidio/Makefile 0000644 00000001055 14722053666 0013727 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Cavium Liquidio ethernet device driver # common-objs := lio_ethtool.o \ lio_core.o \ request_manager.o \ response_manager.o \ octeon_device.o \ cn66xx_device.o \ cn68xx_device.o \ cn23xx_pf_device.o \ cn23xx_vf_device.o \ octeon_mailbox.o \ octeon_mem_ops.o \ octeon_droq.o \ octeon_nic.o obj-$(CONFIG_LIQUIDIO) += liquidio.o liquidio-y := lio_main.o octeon_console.o lio_vf_rep.o $(common-objs) obj-$(CONFIG_LIQUIDIO_VF) += liquidio_vf.o liquidio_vf-y := lio_vf_main.o $(common-objs) net/ethernet/cavium/thunder/Makefile 0000644 00000000537 14722053666 0013565 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Cavium's Thunder ethernet device # obj-$(CONFIG_THUNDER_NIC_RGX) += thunder_xcv.o obj-$(CONFIG_THUNDER_NIC_BGX) += thunder_bgx.o obj-$(CONFIG_THUNDER_NIC_PF) += nicpf.o obj-$(CONFIG_THUNDER_NIC_VF) += nicvf.o nicpf-y := nic_main.o nicvf-y := nicvf_main.o nicvf_queues.o nicvf-y += nicvf_ethtool.o net/ethernet/cavium/Makefile 0000644 00000000416 14722053666 0012110 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Cavium ethernet device drivers. # obj-$(CONFIG_NET_VENDOR_CAVIUM) += common/ obj-$(CONFIG_NET_VENDOR_CAVIUM) += thunder/ obj-$(CONFIG_NET_VENDOR_CAVIUM) += liquidio/ obj-$(CONFIG_NET_VENDOR_CAVIUM) += octeon/ net/ethernet/cavium/common/Makefile 0000644 00000000121 14722053666 0013371 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CAVIUM_PTP) += cavium_ptp.o net/ethernet/qualcomm/emac/Makefile 0000644 00000000467 14722053666 0013355 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Qualcomm Technologies, Inc. EMAC Gigabit Ethernet driver # obj-$(CONFIG_QCOM_EMAC) += qcom-emac.o qcom-emac-objs := emac.o emac-mac.o emac-phy.o emac-sgmii.o emac-ethtool.o \ emac-sgmii-fsm9900.o emac-sgmii-qdf2432.o \ emac-sgmii-qdf2400.o net/ethernet/qualcomm/rmnet/Kconfig 0000644 00000000613 14722053666 0013431 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # RMNET MAP driver # menuconfig RMNET tristate "RmNet MAP driver" default n select GRO_CELLS ---help--- If you select this, you will enable the RMNET module which is used for handling data in the multiplexing and aggregation protocol (MAP) format in the embedded data path. RMNET devices can be attached to any IP mode physical device. net/ethernet/qualcomm/rmnet/Makefile 0000644 00000000376 14722053666 0013574 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the RMNET module # rmnet-y := rmnet_config.o rmnet-y += rmnet_vnd.o rmnet-y += rmnet_handlers.o rmnet-y += rmnet_map_data.o rmnet-y += rmnet_map_command.o obj-$(CONFIG_RMNET) += rmnet.o net/ethernet/qualcomm/Kconfig 0000644 00000003602 14722053666 0012305 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Qualcomm network device configuration # config NET_VENDOR_QUALCOMM bool "Qualcomm devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Qualcomm cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_QUALCOMM config QCA7000 tristate help This enables support for the Qualcomm Atheros QCA7000. config QCA7000_SPI tristate "Qualcomm Atheros QCA7000 SPI support" select QCA7000 depends on SPI_MASTER && OF ---help--- This SPI protocol driver supports the Qualcomm Atheros QCA7000. To compile this driver as a module, choose M here. The module will be called qcaspi. config QCA7000_UART tristate "Qualcomm Atheros QCA7000 UART support" select QCA7000 depends on SERIAL_DEV_BUS && OF ---help--- This UART protocol driver supports the Qualcomm Atheros QCA7000. Currently the driver assumes these device UART settings: Data bits: 8 Parity: None Stop bits: 1 Flow control: None To compile this driver as a module, choose M here. The module will be called qcauart. config QCOM_EMAC tristate "Qualcomm Technologies, Inc. EMAC Gigabit Ethernet support" depends on HAS_DMA && HAS_IOMEM select CRC32 select PHYLIB ---help--- This driver supports the Qualcomm Technologies, Inc. Gigabit Ethernet Media Access Controller (EMAC). The controller supports IEEE 802.3-2002, half-duplex mode at 10/100 Mb/s, full-duplex mode at 10/100/1000Mb/s, Wake On LAN (WOL) for low power, Receive-Side Scaling (RSS), and IEEE 1588-2008 Precision Clock Synchronization Protocol. source "drivers/net/ethernet/qualcomm/rmnet/Kconfig" endif # NET_VENDOR_QUALCOMM net/ethernet/qualcomm/Makefile 0000644 00000000513 14722053666 0012440 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Qualcomm network device drivers. # obj-$(CONFIG_QCA7000) += qca_7k_common.o obj-$(CONFIG_QCA7000_SPI) += qcaspi.o qcaspi-objs := qca_7k.o qca_debug.o qca_spi.o obj-$(CONFIG_QCA7000_UART) += qcauart.o qcauart-objs := qca_uart.o obj-y += emac/ obj-$(CONFIG_RMNET) += rmnet/ net/ethernet/netronome/Kconfig 0000644 00000003773 14722053666 0012506 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Netronome device configuration # config NET_VENDOR_NETRONOME bool "Netronome(R) devices" default y ---help--- If you have a Netronome(R) network (Ethernet) card or device, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Netronome(R) cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_NETRONOME config NFP tristate "Netronome(R) NFP4000/NFP6000 NIC driver" depends on PCI && PCI_MSI depends on VXLAN || VXLAN=n depends on TLS && TLS_DEVICE || TLS_DEVICE=n select NET_DEVLINK ---help--- This driver supports the Netronome(R) NFP4000/NFP6000 based cards working as a advanced Ethernet NIC. It works with both SR-IOV physical and virtual functions. config NFP_APP_FLOWER bool "NFP4000/NFP6000 TC Flower offload support" depends on NFP depends on NET_SWITCHDEV default y ---help--- Enable driver support for TC Flower offload on NFP4000 and NFP6000. Say Y, if you are planning to make use of TC Flower offload either directly, with Open vSwitch, or any other way. Note that TC Flower offload requires specific FW to work. config NFP_APP_ABM_NIC bool "NFP4000/NFP6000 Advanced buffer management NIC support" depends on NFP depends on NET_SWITCHDEV default y help Enable driver support for Advanced buffer management NIC on NFP. ABM NIC allows advanced configuration of queuing and scheduling of packets, including ECN marking. Say Y, if you are planning to use one of the NFP4000 and NFP6000 platforms which support this functionality. Code will be built into the nfp.ko driver. config NFP_DEBUG bool "Debug support for Netronome(R) NFP4000/NFP6000 NIC drivers" depends on NFP ---help--- Enable extra sanity checks and debugfs support in Netronome(R) NFP4000/NFP6000 NIC drivers. Note: selecting this option may adversely impact performance. endif net/ethernet/netronome/nfp/Makefile 0000644 00000002743 14722053666 0013422 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_NFP) += nfp.o nfp-objs := \ nfpcore/nfp6000_pcie.o \ nfpcore/nfp_cppcore.o \ nfpcore/nfp_cpplib.o \ nfpcore/nfp_hwinfo.o \ nfpcore/nfp_mip.o \ nfpcore/nfp_mutex.o \ nfpcore/nfp_nffw.o \ nfpcore/nfp_nsp.o \ nfpcore/nfp_nsp_cmds.o \ nfpcore/nfp_nsp_eth.o \ nfpcore/nfp_resource.o \ nfpcore/nfp_rtsym.o \ nfpcore/nfp_target.o \ ccm.o \ ccm_mbox.o \ devlink_param.o \ nfp_asm.o \ nfp_app.o \ nfp_app_nic.o \ nfp_devlink.o \ nfp_hwmon.o \ nfp_main.o \ nfp_net_common.o \ nfp_net_ctrl.o \ nfp_net_debugdump.o \ nfp_net_ethtool.o \ nfp_net_main.o \ nfp_net_repr.o \ nfp_net_sriov.o \ nfp_netvf_main.o \ nfp_port.o \ nfp_shared_buf.o \ nic/main.o ifeq ($(CONFIG_TLS_DEVICE),y) nfp-objs += \ crypto/tls.o endif ifeq ($(CONFIG_NFP_APP_FLOWER),y) nfp-objs += \ flower/action.o \ flower/cmsg.o \ flower/lag_conf.o \ flower/main.o \ flower/match.o \ flower/metadata.o \ flower/offload.o \ flower/tunnel_conf.o \ flower/qos_conf.o endif ifeq ($(CONFIG_BPF_SYSCALL),y) nfp-objs += \ bpf/cmsg.o \ bpf/main.o \ bpf/offload.o \ bpf/verifier.o \ bpf/jit.o endif ifeq ($(CONFIG_NFP_APP_ABM_NIC),y) nfp-objs += \ abm/cls.o \ abm/ctrl.o \ abm/qdisc.o \ abm/main.o endif nfp-$(CONFIG_NFP_DEBUG) += nfp_net_debugfs.o net/ethernet/netronome/Makefile 0000644 00000000173 14722053666 0012632 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Netronome network device drivers # obj-$(CONFIG_NFP) += nfp/ net/ethernet/alacritech/Kconfig 0000644 00000001660 14722053666 0012570 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_VENDOR_ALACRITECH bool "Alacritech devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Alacritech devices. If you say Y, you will be asked for your specific device in the following questions. if NET_VENDOR_ALACRITECH config SLICOSS tristate "Alacritech Slicoss support" depends on PCI select CRC32 ---help--- This driver supports Gigabit Ethernet adapters based on the Session Layer Interface (SLIC) technology by Alacritech. Supported are Mojave (1 port) and Oasis (1, 2 and 4 port) cards, both copper and fiber. To compile this driver as a module, choose M here: the module will be called slicoss. This is recommended. endif # NET_VENDOR_ALACRITECH net/ethernet/alacritech/Makefile 0000644 00000000174 14722053666 0012724 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Alacritech Slicoss driver # obj-$(CONFIG_SLICOSS) += slicoss.o net/ethernet/smsc/Kconfig 0000644 00000010127 14722053666 0011434 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Western Digital/SMC network device configuration # config NET_VENDOR_SMSC bool "SMC (SMSC)/Western Digital devices" default y depends on ARM || ARM64 || ATARI_ETHERNAT || COLDFIRE || \ ISA || MAC || MIPS || NIOS2 || PCI || \ PCMCIA || SUPERH || XTENSA || H8300 ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about SMC/Western Digital cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SMSC config SMC9194 tristate "SMC 9194 support" depends on ISA select CRC32 ---help--- This is support for the SMC9xxx based Ethernet cards. Choose this option if you have a DELL laptop with the docking station, or another SMC9192/9194 based chipset. Say Y if you want it compiled into the kernel, and read the file <file:Documentation/networking/device_drivers/smsc/smc9.txt>. To compile this driver as a module, choose M here. The module will be called smc9194. config SMC91X tristate "SMC 91C9x/91C1xxx support" select CRC32 select MII depends on !OF || GPIOLIB depends on ARM || ARM64 || ATARI_ETHERNAT || COLDFIRE || \ MIPS || NIOS2 || SUPERH || XTENSA || H8300 ---help--- This is a driver for SMC's 91x series of Ethernet chipsets, including the SMC91C94 and the SMC91C111. Say Y if you want it compiled into the kernel, and read the file <file:Documentation/networking/device_drivers/smsc/smc9.txt>. This driver is also available as a module ( = code which can be inserted in and removed from the running kernel whenever you want). The module will be called smc91x. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>. config PCMCIA_SMC91C92 tristate "SMC 91Cxx PCMCIA support" depends on PCMCIA select CRC32 select MII ---help--- Say Y here if you intend to attach an SMC 91Cxx compatible PCMCIA (PC-card) Ethernet or Fast Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called smc91c92_cs. If unsure, say N. config EPIC100 tristate "SMC EtherPower II" depends on PCI select CRC32 select MII ---help--- This driver is for the SMC EtherPower II 9432 PCI Ethernet NIC, which is based on the SMC83c17x (EPIC/100). More specific information and updates are available from <http://www.scyld.com/network/epic100.html>. config SMC911X tristate "SMSC LAN911[5678] support" select CRC32 select MII depends on (ARM || SUPERH) ---help--- This is a driver for SMSC's LAN911x series of Ethernet chipsets including the new LAN9115, LAN9116, LAN9117, and LAN9118. Say Y here if you want it compiled into the kernel. This driver is also available as a module. The module will be called smc911x. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst> config SMSC911X tristate "SMSC LAN911x/LAN921x families embedded ethernet support" depends on HAS_IOMEM select CRC32 select MII select PHYLIB ---help--- Say Y here if you want support for SMSC LAN911x and LAN921x families of ethernet controllers. To compile this driver as a module, choose M here. The module will be called smsc911x. config SMSC911X_ARCH_HOOKS def_bool n depends on SMSC911X ---help--- If the arch enables this, it allows the arch to implement various hooks for more comprehensive interrupt control and also to override the source of the MAC address. config SMSC9420 tristate "SMSC LAN9420 PCI ethernet adapter support" depends on PCI select CRC32 select PHYLIB select SMSC_PHY ---help--- This is a driver for SMSC's LAN9420 PCI ethernet adapter. Say Y here if you want it compiled into the kernel. This driver is also available as a module. The module will be called smsc9420. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst> endif # NET_VENDOR_SMSC net/ethernet/smsc/Makefile 0000644 00000000533 14722053666 0011571 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the SMSC network device drivers. # obj-$(CONFIG_SMC9194) += smc9194.o obj-$(CONFIG_SMC91X) += smc91x.o obj-$(CONFIG_PCMCIA_SMC91C92) += smc91c92_cs.o obj-$(CONFIG_EPIC100) += epic100.o obj-$(CONFIG_SMSC9420) += smsc9420.o obj-$(CONFIG_SMC911X) += smc911x.o obj-$(CONFIG_SMSC911X) += smsc911x.o net/ethernet/nvidia/Kconfig 0000644 00000001440 14722053666 0011737 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # NVIDIA network device configuration # config NET_VENDOR_NVIDIA bool "NVIDIA devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about NVIDIA cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_NVIDIA config FORCEDETH tristate "nForce Ethernet support" depends on PCI ---help--- If you have a network (Ethernet) controller of this type, say Y here. To compile this driver as a module, choose M here. The module will be called forcedeth. endif # NET_VENDOR_NVIDIA net/ethernet/nvidia/Makefile 0000644 00000000206 14722053666 0012073 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the NVIDIA network device drivers. # obj-$(CONFIG_FORCEDETH) += forcedeth.o net/ethernet/sgi/Kconfig 0000644 00000001470 14722053666 0011252 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SGI device configuration # config NET_VENDOR_SGI bool "SGI devices" default y depends on (PCI && SGI_IP27) || SGI_IP32 ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about SGI devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SGI config SGI_IOC3_ETH bool "SGI IOC3 Ethernet" depends on PCI && SGI_IP27 select CRC32 select MII ---help--- If you have a network (Ethernet) card of this type, say Y here. config SGI_O2MACE_ETH tristate "SGI O2 MACE Fast Ethernet support" depends on SGI_IP32=y endif # NET_VENDOR_SGI net/ethernet/sgi/Makefile 0000644 00000000244 14722053666 0011405 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the SGI device drivers. # obj-$(CONFIG_SGI_O2MACE_ETH) += meth.o obj-$(CONFIG_SGI_IOC3_ETH) += ioc3-eth.o net/ethernet/cirrus/Kconfig 0000644 00000003513 14722053666 0011777 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Cirrus network device configuration # config NET_VENDOR_CIRRUS bool "Cirrus devices" default y depends on ISA || EISA || ARM || MAC ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Cirrus cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_CIRRUS config CS89x0 tristate "CS89x0 support" depends on ISA || EISA || ARM depends on !PPC32 ---help--- Support for CS89x0 chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the file <file:Documentation/networking/device_drivers/cirrus/cs89x0.txt>. To compile this driver as a module, choose M here. The module will be called cs89x0. config CS89x0_PLATFORM bool "CS89x0 platform driver support" if HAS_IOPORT_MAP default !HAS_IOPORT_MAP depends on CS89x0 help Say Y to compile the cs89x0 driver as a platform driver. This makes this driver suitable for use on certain evaluation boards such as the iMX21ADS. If you are unsure, say N. config EP93XX_ETH tristate "EP93xx Ethernet support" depends on (ARM && ARCH_EP93XX) || COMPILE_TEST select MII help This is a driver for the ethernet hardware included in EP93xx CPUs. Say Y if you are building a kernel for EP93xx based devices. config MAC89x0 tristate "Macintosh CS89x0 based ethernet cards" depends on MAC ---help--- Support for CS89x0 chipset based Ethernet cards. If you have a Nubus or LC-PDS network (Ethernet) card of this type, say Y here. To compile this driver as a module, choose M here. This module will be called mac89x0. endif # NET_VENDOR_CIRRUS net/ethernet/cirrus/Makefile 0000644 00000000314 14722053666 0012130 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Cirrus network device drivers. # obj-$(CONFIG_CS89x0) += cs89x0.o obj-$(CONFIG_EP93XX_ETH) += ep93xx_eth.o obj-$(CONFIG_MAC89x0) += mac89x0.o net/ethernet/intel/iavf/Makefile 0000644 00000000557 14722053666 0012672 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 2013 - 2018 Intel Corporation. # # Makefile for the Intel(R) Ethernet Adaptive Virtual Function (iavf) # driver # # ccflags-y += -I$(src) subdir-ccflags-y += -I$(src) obj-$(CONFIG_IAVF) += iavf.o iavf-objs := iavf_main.o iavf_ethtool.o iavf_virtchnl.o \ iavf_txrx.o iavf_common.o iavf_adminq.o iavf_client.o net/ethernet/intel/ixgbe/Makefile 0000644 00000001314 14722053666 0013033 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 1999 - 2018 Intel Corporation. # # Makefile for the Intel(R) 10GbE PCI Express ethernet driver # obj-$(CONFIG_IXGBE) += ixgbe.o ixgbe-objs := ixgbe_main.o ixgbe_common.o ixgbe_ethtool.o \ ixgbe_82599.o ixgbe_82598.o ixgbe_phy.o ixgbe_sriov.o \ ixgbe_mbx.o ixgbe_x540.o ixgbe_x550.o ixgbe_lib.o ixgbe_ptp.o \ ixgbe_xsk.o ixgbe-$(CONFIG_IXGBE_DCB) += ixgbe_dcb.o ixgbe_dcb_82598.o \ ixgbe_dcb_82599.o ixgbe_dcb_nl.o ixgbe-$(CONFIG_IXGBE_HWMON) += ixgbe_sysfs.o ixgbe-$(CONFIG_DEBUG_FS) += ixgbe_debugfs.o ixgbe-$(CONFIG_FCOE:m=y) += ixgbe_fcoe.o ixgbe-$(CONFIG_IXGBE_IPSEC) += ixgbe_ipsec.o net/ethernet/intel/i40e/Makefile 0000644 00000001043 14722053666 0012475 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 2013 - 2018 Intel Corporation. # # Makefile for the Intel(R) Ethernet Connection XL710 (i40e.ko) driver # ccflags-y += -I$(src) subdir-ccflags-y += -I$(src) obj-$(CONFIG_I40E) += i40e.o i40e-objs := i40e_main.o \ i40e_ethtool.o \ i40e_adminq.o \ i40e_common.o \ i40e_hmc.o \ i40e_lan_hmc.o \ i40e_nvm.o \ i40e_debugfs.o \ i40e_diag.o \ i40e_txrx.o \ i40e_ptp.o \ i40e_ddp.o \ i40e_client.o \ i40e_virtchnl_pf.o \ i40e_xsk.o i40e-$(CONFIG_I40E_DCB) += i40e_dcb.o i40e_dcb_nl.o net/ethernet/intel/Kconfig 0000644 00000025550 14722053666 0011610 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Intel network device configuration # config NET_VENDOR_INTEL bool "Intel devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Intel cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_INTEL config E100 tristate "Intel(R) PRO/100+ support" depends on PCI select MII ---help--- This driver supports Intel(R) PRO/100 family of adapters. To verify that your adapter is supported, find the board ID number on the adapter. Look for a label that has a barcode and a number in the format 123456-001 (six digits hyphen three digits). Use the above information and the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> to identify the adapter. More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/e100.rst>. To compile this driver as a module, choose M here. The module will be called e100. config E1000 tristate "Intel(R) PRO/1000 Gigabit Ethernet support" depends on PCI ---help--- This driver supports Intel(R) PRO/1000 gigabit ethernet family of adapters. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/e1000.rst>. To compile this driver as a module, choose M here. The module will be called e1000. config E1000E tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support" depends on PCI && (!SPARC32 || BROKEN) select CRC32 imply PTP_1588_CLOCK ---help--- This driver supports the PCI-Express Intel(R) PRO/1000 gigabit ethernet family of adapters. For PCI or PCI-X e1000 adapters, use the regular e1000 driver For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/e1000e.rst>. To compile this driver as a module, choose M here. The module will be called e1000e. config E1000E_HWTS bool "Support HW cross-timestamp on PCH devices" default y depends on E1000E && X86 ---help--- Say Y to enable hardware supported cross-timestamping on PCH devices. The cross-timestamp is available through the PTP clock driver precise cross-timestamp ioctl (PTP_SYS_OFFSET_PRECISE). config IGB tristate "Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support" depends on PCI imply PTP_1588_CLOCK select I2C select I2C_ALGOBIT ---help--- This driver supports Intel(R) 82575/82576 gigabit ethernet family of adapters. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/igb.rst>. To compile this driver as a module, choose M here. The module will be called igb. config IGB_HWMON bool "Intel(R) PCI-Express Gigabit adapters HWMON support" default y depends on IGB && HWMON && !(IGB=y && HWMON=m) ---help--- Say Y if you want to expose thermal sensor data on Intel devices. Some of our devices contain thermal sensors, both external and internal. This data is available via the hwmon sysfs interface and exposes the onboard sensors. config IGB_DCA bool "Direct Cache Access (DCA) Support" default y depends on IGB && DCA && !(IGB=y && DCA=m) ---help--- Say Y here if you want to use Direct Cache Access (DCA) in the driver. DCA is a method for warming the CPU cache before data is used, with the intent of lessening the impact of cache misses. config IGBVF tristate "Intel(R) 82576 Virtual Function Ethernet support" depends on PCI ---help--- This driver supports Intel(R) 82576 virtual functions. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/igbvf.rst>. To compile this driver as a module, choose M here. The module will be called igbvf. config IXGB tristate "Intel(R) PRO/10GbE support" depends on PCI ---help--- This driver supports Intel(R) PRO/10GbE family of adapters for PCI-X type cards. For PCI-E type cards, use the "ixgbe" driver instead. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/ixgb.rst>. To compile this driver as a module, choose M here. The module will be called ixgb. config IXGBE tristate "Intel(R) 10GbE PCI Express adapters support" depends on PCI select MDIO select PHYLIB imply PTP_1588_CLOCK ---help--- This driver supports Intel(R) 10GbE PCI Express family of adapters. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/ixgbe.rst>. To compile this driver as a module, choose M here. The module will be called ixgbe. config IXGBE_HWMON bool "Intel(R) 10GbE PCI Express adapters HWMON support" default y depends on IXGBE && HWMON && !(IXGBE=y && HWMON=m) ---help--- Say Y if you want to expose the thermal sensor data on some of our cards, via a hwmon sysfs interface. config IXGBE_DCA bool "Direct Cache Access (DCA) Support" default y depends on IXGBE && DCA && !(IXGBE=y && DCA=m) ---help--- Say Y here if you want to use Direct Cache Access (DCA) in the driver. DCA is a method for warming the CPU cache before data is used, with the intent of lessening the impact of cache misses. config IXGBE_DCB bool "Data Center Bridging (DCB) Support" default n depends on IXGBE && DCB ---help--- Say Y here if you want to use Data Center Bridging (DCB) in the driver. If unsure, say N. config IXGBE_IPSEC bool "IPSec XFRM cryptography-offload acceleration" depends on IXGBE depends on XFRM_OFFLOAD default y select XFRM_ALGO ---help--- Enable support for IPSec offload in ixgbe.ko config IXGBEVF tristate "Intel(R) 10GbE PCI Express Virtual Function Ethernet support" depends on PCI_MSI ---help--- This driver supports Intel(R) PCI Express virtual functions for the Intel(R) ixgbe driver. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/ixgbevf.rst>. To compile this driver as a module, choose M here. The module will be called ixgbevf. MSI-X interrupt support is required for this driver to work correctly. config IXGBEVF_IPSEC bool "IPSec XFRM cryptography-offload acceleration" depends on IXGBEVF depends on XFRM_OFFLOAD default y select XFRM_ALGO ---help--- Enable support for IPSec offload in ixgbevf.ko config I40E tristate "Intel(R) Ethernet Controller XL710 Family support" imply PTP_1588_CLOCK depends on PCI ---help--- This driver supports Intel(R) Ethernet Controller XL710 Family of devices. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/i40e.rst>. To compile this driver as a module, choose M here. The module will be called i40e. config I40E_DCB bool "Data Center Bridging (DCB) Support" default n depends on I40E && DCB ---help--- Say Y here if you want to use Data Center Bridging (DCB) in the driver. If unsure, say N. # this is here to allow seamless migration from I40EVF --> IAVF name # so that CONFIG_IAVF symbol will always mirror the state of CONFIG_I40EVF config IAVF tristate config I40EVF tristate "Intel(R) Ethernet Adaptive Virtual Function support" select IAVF depends on PCI_MSI ---help--- This driver supports virtual functions for Intel XL710, X710, X722, XXV710, and all devices advertising support for Intel Ethernet Adaptive Virtual Function devices. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <https://support.intel.com> This driver was formerly named i40evf. More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/iavf.rst>. To compile this driver as a module, choose M here. The module will be called iavf. MSI-X interrupt support is required for this driver to work correctly. config ICE tristate "Intel(R) Ethernet Connection E800 Series Support" default n depends on PCI_MSI ---help--- This driver supports Intel(R) Ethernet Connection E800 Series of devices. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/ice.rst>. To compile this driver as a module, choose M here. The module will be called ice. config FM10K tristate "Intel(R) FM10000 Ethernet Switch Host Interface Support" default n depends on PCI_MSI imply PTP_1588_CLOCK ---help--- This driver supports Intel(R) FM10000 Ethernet Switch Host Interface. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/intel/fm10k.rst>. To compile this driver as a module, choose M here. The module will be called fm10k. MSI-X interrupt support is required config IGC tristate "Intel(R) Ethernet Controller I225-LM/I225-V support" default n depends on PCI ---help--- This driver supports Intel(R) Ethernet Controller I225-LM/I225-V family of adapters. For more information on how to identify your adapter, go to the Adapter & Driver ID Guide that can be located at: <http://support.intel.com> To compile this driver as a module, choose M here. The module will be called igc. endif # NET_VENDOR_INTEL net/ethernet/intel/igb/Makefile 0000644 00000000504 14722053666 0012476 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 1999 - 2018 Intel Corporation. # # Makefile for the Intel(R) 82575 PCI-Express ethernet driver # obj-$(CONFIG_IGB) += igb.o igb-objs := igb_main.o igb_ethtool.o e1000_82575.o \ e1000_mac.o e1000_nvm.o e1000_phy.o e1000_mbx.o \ e1000_i210.o igb_ptp.o igb_hwmon.o net/ethernet/intel/igc/Makefile 0000644 00000000373 14722053666 0012503 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2018 Intel Corporation # # Intel(R) I225-LM/I225-V 2.5G Ethernet Controller # obj-$(CONFIG_IGC) += igc.o igc-objs := igc_main.o igc_mac.o igc_i225.o igc_base.o igc_nvm.o igc_phy.o \ igc_ethtool.o net/ethernet/intel/fm10k/Makefile 0000644 00000000715 14722053666 0012657 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 2013 - 2018 Intel Corporation. # # Makefile for the Intel(R) Ethernet Switch Host Interface Driver # obj-$(CONFIG_FM10K) += fm10k.o fm10k-y := fm10k_main.o \ fm10k_common.o \ fm10k_pci.o \ fm10k_netdev.o \ fm10k_ethtool.o \ fm10k_pf.o \ fm10k_vf.o \ fm10k_mbx.o \ fm10k_iov.o \ fm10k_tlv.o fm10k-$(CONFIG_DEBUG_FS) += fm10k_debugfs.o fm10k-$(CONFIG_DCB) += fm10k_dcbnl.o net/ethernet/intel/ixgbevf/Makefile 0000644 00000000505 14722053666 0013370 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 1999 - 2018 Intel Corporation. # # Makefile for the Intel(R) 82599 VF ethernet driver # obj-$(CONFIG_IXGBEVF) += ixgbevf.o ixgbevf-objs := vf.o \ mbx.o \ ethtool.o \ ixgbevf_main.o ixgbevf-$(CONFIG_IXGBEVF_IPSEC) += ipsec.o net/ethernet/intel/ice/Makefile 0000644 00000000705 14722053666 0012500 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2018, Intel Corporation. # # Makefile for the Intel(R) Ethernet Connection E800 Series Linux Driver # obj-$(CONFIG_ICE) += ice.o ice-y := ice_main.o \ ice_controlq.o \ ice_common.o \ ice_nvm.o \ ice_switch.o \ ice_sched.o \ ice_lib.o \ ice_txrx.o \ ice_flex_pipe.o \ ice_ethtool.o ice-$(CONFIG_PCI_IOV) += ice_virtchnl_pf.o ice_sriov.o ice-$(CONFIG_DCB) += ice_dcb.o ice_dcb_lib.o net/ethernet/intel/e1000e/Makefile 0000644 00000000456 14722053666 0012635 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 1999 - 2018 Intel Corporation. # # Makefile for the Intel(R) PRO/1000 ethernet driver # obj-$(CONFIG_E1000E) += e1000e.o e1000e-objs := 82571.o ich8lan.o 80003es2lan.o \ mac.o manage.o nvm.o phy.o \ param.o ethtool.o netdev.o ptp.o net/ethernet/intel/igbvf/Makefile 0000644 00000000410 14722053666 0013026 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 2009 - 2018 Intel Corporation. # # Makefile for the Intel(R) 82576 VF ethernet driver # obj-$(CONFIG_IGBVF) += igbvf.o igbvf-objs := vf.o \ mbx.o \ ethtool.o \ netdev.o net/ethernet/intel/Makefile 0000644 00000000722 14722053666 0011737 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Intel network device drivers. # obj-$(CONFIG_E100) += e100.o obj-$(CONFIG_E1000) += e1000/ obj-$(CONFIG_E1000E) += e1000e/ obj-$(CONFIG_IGB) += igb/ obj-$(CONFIG_IGC) += igc/ obj-$(CONFIG_IGBVF) += igbvf/ obj-$(CONFIG_IXGBE) += ixgbe/ obj-$(CONFIG_IXGBEVF) += ixgbevf/ obj-$(CONFIG_I40E) += i40e/ obj-$(CONFIG_IXGB) += ixgb/ obj-$(CONFIG_IAVF) += iavf/ obj-$(CONFIG_FM10K) += fm10k/ obj-$(CONFIG_ICE) += ice/ net/ethernet/intel/e1000/Makefile 0000644 00000000360 14722053666 0012462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 1999 - 2006 Intel Corporation. # # Makefile for the Intel(R) PRO/1000 ethernet driver # obj-$(CONFIG_E1000) += e1000.o e1000-objs := e1000_main.o e1000_hw.o e1000_ethtool.o e1000_param.o net/ethernet/intel/ixgb/Makefile 0000644 00000000363 14722053666 0012671 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 1999 - 2008 Intel Corporation. # # Makefile for the Intel(R) PRO/10GbE ethernet driver # obj-$(CONFIG_IXGB) += ixgb.o ixgb-objs := ixgb_main.o ixgb_hw.o ixgb_ee.o ixgb_ethtool.o ixgb_param.o net/ethernet/qlogic/netxen/Makefile 0000644 00000000462 14722053666 0013404 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2003 - 2009 NetXen, Inc. # Copyright (C) 2009 - QLogic Corporation. # All rights reserved. # obj-$(CONFIG_NETXEN_NIC) := netxen_nic.o netxen_nic-y := netxen_nic_hw.o netxen_nic_main.o netxen_nic_init.o \ netxen_nic_ethtool.o netxen_nic_ctx.o net/ethernet/qlogic/Kconfig 0000644 00000005707 14722053666 0011755 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # QLogic network device configuration # config NET_VENDOR_QLOGIC bool "QLogic devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about QLogic cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_QLOGIC config QLA3XXX tristate "QLogic QLA3XXX Network Driver Support" depends on PCI ---help--- This driver supports QLogic ISP3XXX gigabit Ethernet cards. To compile this driver as a module, choose M here: the module will be called qla3xxx. config QLCNIC tristate "QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support" depends on PCI select FW_LOADER ---help--- This driver supports QLogic QLE8240 and QLE8242 Converged Ethernet devices. config QLCNIC_SRIOV bool "QLOGIC QLCNIC 83XX family SR-IOV Support" depends on QLCNIC && PCI_IOV default y ---help--- This configuration parameter enables Single Root Input Output Virtualization support for QLE83XX Converged Ethernet devices. This allows for virtual function acceleration in virtualized environments. config QLCNIC_DCB bool "QLOGIC QLCNIC 82XX and 83XX family DCB Support" depends on QLCNIC && DCB default y ---help--- This configuration parameter enables DCB support in QLE83XX and QLE82XX Converged Ethernet devices. This allows for DCB get operations support through rtNetlink interface. Only CEE mode of DCB is supported. PG and PFC values are related only to Tx. config QLCNIC_HWMON bool "QLOGIC QLCNIC 82XX and 83XX family HWMON support" depends on QLCNIC && HWMON && !(QLCNIC=y && HWMON=m) default y ---help--- This configuration parameter can be used to read the board temperature in Converged Ethernet devices supported by qlcnic. This data is available via the hwmon sysfs interface. config NETXEN_NIC tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC" depends on PCI select FW_LOADER ---help--- This enables the support for NetXen's Gigabit Ethernet card. config QED tristate "QLogic QED 25/40/100Gb core driver" depends on PCI select ZLIB_INFLATE select CRC8 select CRC32 select NET_DEVLINK ---help--- This enables the support for ... config QED_LL2 bool config QED_SRIOV bool "QLogic QED 25/40/100Gb SR-IOV support" depends on QED && PCI_IOV default y ---help--- This configuration parameter enables Single Root Input Output Virtualization support for QED devices. This allows for virtual function acceleration in virtualized environments. config QEDE tristate "QLogic QED 25/40/100Gb Ethernet NIC" depends on QED imply PTP_1588_CLOCK ---help--- This enables the support for ... config QED_RDMA bool config QED_ISCSI bool config QED_FCOE bool config QED_OOO bool endif # NET_VENDOR_QLOGIC net/ethernet/qlogic/qed/Makefile 0000644 00000001020 14722053666 0012643 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_QED) := qed.o qed-y := qed_cxt.o qed_dev.o qed_hw.o qed_init_fw_funcs.o qed_init_ops.o \ qed_int.o qed_main.o qed_mcp.o qed_sp_commands.o qed_spq.o qed_l2.o \ qed_selftest.o qed_dcbx.o qed_debug.o qed_ptp.o qed_mng_tlv.o qed-$(CONFIG_QED_SRIOV) += qed_sriov.o qed_vf.o qed-$(CONFIG_QED_LL2) += qed_ll2.o qed-$(CONFIG_QED_RDMA) += qed_roce.o qed_rdma.o qed_iwarp.o qed-$(CONFIG_QED_ISCSI) += qed_iscsi.o qed-$(CONFIG_QED_FCOE) += qed_fcoe.o qed-$(CONFIG_QED_OOO) += qed_ooo.o net/ethernet/qlogic/qede/Makefile 0000644 00000000330 14722053666 0013013 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_QEDE) := qede.o qede-y := qede_main.o qede_fp.o qede_filter.o qede_ethtool.o qede_ptp.o qede-$(CONFIG_DCB) += qede_dcbnl.o qede-$(CONFIG_QED_RDMA) += qede_rdma.o net/ethernet/qlogic/Makefile 0000644 00000000366 14722053666 0012106 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the QLogic network device drivers. # obj-$(CONFIG_QLA3XXX) += qla3xxx.o obj-$(CONFIG_QLCNIC) += qlcnic/ obj-$(CONFIG_NETXEN_NIC) += netxen/ obj-$(CONFIG_QED) += qed/ obj-$(CONFIG_QEDE)+= qede/ net/ethernet/qlogic/qlcnic/Makefile 0000644 00000000700 14722053666 0013347 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for Qlogic 1G/10G Ethernet Driver for CNA devices # obj-$(CONFIG_QLCNIC) := qlcnic.o qlcnic-y := qlcnic_hw.o qlcnic_main.o qlcnic_init.o \ qlcnic_ethtool.o qlcnic_ctx.o qlcnic_io.o \ qlcnic_sysfs.o qlcnic_minidump.o qlcnic_83xx_hw.o \ qlcnic_83xx_init.o qlcnic_83xx_vnic.o \ qlcnic_sriov_common.o qlcnic-$(CONFIG_QLCNIC_SRIOV) += qlcnic_sriov_pf.o qlcnic-$(CONFIG_QLCNIC_DCB) += qlcnic_dcb.o net/ethernet/ni/Kconfig 0000644 00000001472 14722053666 0011100 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # National Instuments network device configuration # config NET_VENDOR_NI bool "National Instruments Devices" default y help If you have a network (Ethernet) device belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about National Instruments devices. If you say Y, you will be asked for your specific device in the following questions. if NET_VENDOR_NI config NI_XGE_MANAGEMENT_ENET tristate "National Instruments XGE management enet support" depends on HAS_IOMEM && HAS_DMA select PHYLIB select OF_MDIO if OF help Simple LAN device for debug or management purposes. Can support either 10G or 1G PHYs via SFP+ ports. endif net/ethernet/ni/Makefile 0000644 00000000130 14722053666 0011223 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NI_XGE_MANAGEMENT_ENET) += nixge.o net/ethernet/apm/xgene-v2/Kconfig 0000644 00000000625 14722053666 0012701 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_XGENE_V2 tristate "APM X-Gene SoC Ethernet-v2 Driver" depends on ARCH_XGENE || COMPILE_TEST help This is the Ethernet driver for the on-chip ethernet interface which uses a linked list of DMA descriptor architecture (v2) for APM X-Gene SoCs. To compile this driver as a module, choose M here. This module will be called xgene-enet-v2. net/ethernet/apm/xgene-v2/Makefile 0000644 00000000312 14722053666 0013027 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for APM X-Gene Ethernet v2 driver # xgene-enet-v2-objs := main.o mac.o enet.o ring.o mdio.o ethtool.o obj-$(CONFIG_NET_XGENE_V2) += xgene-enet-v2.o net/ethernet/apm/Kconfig 0000644 00000000213 14722053666 0011237 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only source "drivers/net/ethernet/apm/xgene/Kconfig" source "drivers/net/ethernet/apm/xgene-v2/Kconfig" net/ethernet/apm/Makefile 0000644 00000000242 14722053666 0011376 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for APM X-GENE Ethernet driver. # obj-$(CONFIG_NET_XGENE) += xgene/ obj-$(CONFIG_NET_XGENE_V2) += xgene-v2/ net/ethernet/apm/xgene/Kconfig 0000644 00000000600 14722053666 0012345 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_XGENE tristate "APM X-Gene SoC Ethernet Driver" depends on ARCH_XGENE || COMPILE_TEST select PHYLIB select MDIO_XGENE select GPIOLIB help This is the Ethernet driver for the on-chip ethernet interface on the APM X-Gene SoC. To compile this driver as a module, choose M here. This module will be called xgene_enet. net/ethernet/apm/xgene/Makefile 0000644 00000000442 14722053666 0012506 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for APM X-Gene Ethernet Driver. # xgene-enet-objs := xgene_enet_hw.o xgene_enet_sgmac.o xgene_enet_xgmac.o \ xgene_enet_main.o xgene_enet_ring2.o xgene_enet_ethtool.o \ xgene_enet_cle.o obj-$(CONFIG_NET_XGENE) += xgene-enet.o net/ethernet/atheros/atlx/Makefile 0000644 00000000143 14722053666 0013236 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ATL1) += atl1.o obj-$(CONFIG_ATL2) += atl2.o net/ethernet/atheros/alx/Makefile 0000644 00000000145 14722053666 0013054 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ALX) += alx.o alx-objs := main.o ethtool.o hw.o net/ethernet/atheros/atl1c/Makefile 0000644 00000000175 14722053666 0013277 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ATL1C) += atl1c.o atl1c-objs := atl1c_main.o atl1c_hw.o atl1c_ethtool.o net/ethernet/atheros/Kconfig 0000644 00000004473 14722053666 0012143 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Atheros device configuration # config NET_VENDOR_ATHEROS bool "Atheros devices" default y depends on (PCI || ATH79) ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Atheros devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ATHEROS config AG71XX tristate "Atheros AR7XXX/AR9XXX built-in ethernet mac support" depends on ATH79 select PHYLIB help If you wish to compile a kernel for AR7XXX/91XXX and enable ethernet support, then you should always answer Y to this. config ATL2 tristate "Atheros L2 Fast Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the Atheros L2 fast ethernet adapter. To compile this driver as a module, choose M here. The module will be called atl2. config ATL1 tristate "Atheros/Attansic L1 Gigabit Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the Atheros/Attansic L1 gigabit ethernet adapter. To compile this driver as a module, choose M here. The module will be called atl1. config ATL1E tristate "Atheros L1E Gigabit Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the Atheros L1E gigabit ethernet adapter. To compile this driver as a module, choose M here. The module will be called atl1e. config ATL1C tristate "Atheros L1C Gigabit Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver supports the Atheros L1C gigabit ethernet adapter. To compile this driver as a module, choose M here. The module will be called atl1c. config ALX tristate "Qualcomm Atheros AR816x/AR817x support" depends on PCI select CRC32 select MDIO help This driver supports the Qualcomm Atheros L1F ethernet adapter, i.e. the following chipsets: 1969:1091 - AR8161 Gigabit Ethernet 1969:1090 - AR8162 Fast Ethernet 1969:10A1 - AR8171 Gigabit Ethernet 1969:10A0 - AR8172 Fast Ethernet To compile this driver as a module, choose M here. The module will be called alx. endif # NET_VENDOR_ATHEROS net/ethernet/atheros/atl1e/Makefile 0000644 00000000214 14722053666 0013273 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ATL1E) += atl1e.o atl1e-objs += atl1e_main.o atl1e_hw.o atl1e_ethtool.o atl1e_param.o net/ethernet/atheros/Makefile 0000644 00000000412 14722053666 0012265 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Atheros network device drivers. # obj-$(CONFIG_AG71XX) += ag71xx.o obj-$(CONFIG_ATL1) += atlx/ obj-$(CONFIG_ATL2) += atlx/ obj-$(CONFIG_ATL1E) += atl1e/ obj-$(CONFIG_ATL1C) += atl1c/ obj-$(CONFIG_ALX) += alx/ net/ethernet/alteon/Kconfig 0000644 00000003134 14722053666 0011751 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Alteon network device configuration # config NET_VENDOR_ALTEON bool "Alteon devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Alteon cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ALTEON config ACENIC tristate "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support" depends on PCI ---help--- Say Y here if you have an Alteon AceNIC, 3Com 3C985(B), NetGear GA620, SGI Gigabit or Farallon PN9000-SX PCI Gigabit Ethernet adapter. The driver allows for using the Jumbo Frame option (9000 bytes/frame) however it requires that your switches can handle this as well. To enable Jumbo Frames, add `mtu 9000' to your ifconfig line. To compile this driver as a module, choose M here: the module will be called acenic. config ACENIC_OMIT_TIGON_I bool "Omit support for old Tigon I based AceNICs" depends on ACENIC ---help--- Say Y here if you only have Tigon II based AceNICs and want to leave out support for the older Tigon I based cards which are no longer being sold (ie. the original Alteon AceNIC and 3Com 3C985 (non B version)). This will reduce the size of the driver object by app. 100KB. If you are not sure whether your card is a Tigon I or a Tigon II, say N here. The safe and default value for this is N. endif # NET_VENDOR_ALTEON net/ethernet/alteon/Makefile 0000644 00000000200 14722053666 0012075 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Alteon network device drivers. # obj-$(CONFIG_ACENIC) += acenic.o net/ethernet/amd/Kconfig 0000644 00000013471 14722053666 0011235 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # AMD network device configuration # config NET_VENDOR_AMD bool "AMD devices" default y depends on DIO || MACH_DECSTATION || MVME147 || ATARI || SUN3 || \ SUN3X || SBUS || PCI || ZORRO || (ISA && ISA_DMA_API) || \ (ARM && ARCH_EBSA110) || ISA || EISA || PCMCIA || ARM64 ---help--- If you have a network (Ethernet) chipset belonging to this class, say Y. Note that the answer to this question does not directly affect the kernel: saying N will just cause the configurator to skip all the questions regarding AMD chipsets. If you say Y, you will be asked for your specific chipset/driver in the following questions. if NET_VENDOR_AMD config A2065 tristate "A2065 support" depends on ZORRO select CRC32 ---help--- If you have a Commodore A2065 Ethernet adapter, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called a2065. config AMD8111_ETH tristate "AMD 8111 (new PCI LANCE) support" depends on PCI select CRC32 select MII ---help--- If you have an AMD 8111-based PCI LANCE ethernet card, answer Y here. To compile this driver as a module, choose M here. The module will be called amd8111e. config LANCE tristate "AMD LANCE and PCnet (AT1500 and NE2100) support" depends on ISA && ISA_DMA_API && !ARM && !PPC32 ---help--- If you have a network (Ethernet) card of this type, say Y here. Some LinkSys cards are of this type. To compile this driver as a module, choose M here: the module will be called lance. This is recommended. config PCNET32 tristate "AMD PCnet32 PCI support" depends on PCI select CRC32 select MII ---help--- If you have a PCnet32 or PCnetPCI based network (Ethernet) card, answer Y here. To compile this driver as a module, choose M here. The module will be called pcnet32. config ARIADNE tristate "Ariadne support" depends on ZORRO ---help--- If you have a Village Tronic Ariadne Ethernet adapter, say Y. Otherwise, say N. To compile this driver as a module, choose M here: the module will be called ariadne. config ARM_AM79C961A bool "ARM EBSA110 AM79C961A support" depends on ARM && ARCH_EBSA110 select CRC32 ---help--- If you wish to compile a kernel for the EBSA-110, then you should always answer Y to this. config ATARILANCE tristate "Atari LANCE support" depends on ATARI ---help--- Say Y to include support for several Atari Ethernet adapters based on the AMD LANCE chipset: RieblCard (with or without battery), or PAMCard VME (also the version by Rhotron, with different addresses). config DECLANCE tristate "DEC LANCE ethernet controller support" depends on MACH_DECSTATION select CRC32 ---help--- This driver is for the series of Ethernet controllers produced by DEC (now Compaq) based on the AMD LANCE chipset, including the DEPCA series. (This chipset is better known via the NE2100 cards.) config HPLANCE tristate "HP on-board LANCE support" depends on DIO select CRC32 ---help--- If you want to use the builtin "LANCE" Ethernet controller on an HP300 machine, say Y here. config MIPS_AU1X00_ENET tristate "MIPS AU1000 Ethernet support" depends on MIPS_ALCHEMY select PHYLIB select CRC32 ---help--- If you have an Alchemy Semi AU1X00 based system say Y. Otherwise, say N. config MVME147_NET tristate "MVME147 (LANCE) Ethernet support" depends on MVME147 select CRC32 ---help--- Support for the on-board Ethernet interface on the Motorola MVME147 single-board computer. Say Y here to include the driver for this chip in your kernel. To compile this driver as a module, choose M here. config PCMCIA_NMCLAN tristate "New Media PCMCIA support" depends on PCMCIA help Say Y here if you intend to attach a New Media Ethernet or LiveWire PCMCIA (PC-card) Ethernet card to your computer. To compile this driver as a module, choose M here: the module will be called nmclan_cs. If unsure, say N. config NI65 tristate "NI6510 support" depends on ISA && ISA_DMA_API && !ARM && !PPC32 ---help--- If you have a network (Ethernet) card of this type, say Y here. To compile this driver as a module, choose M here. The module will be called ni65. config SUN3LANCE tristate "Sun3/Sun3x on-board LANCE support" depends on (SUN3 || SUN3X) ---help--- Most Sun3 and Sun3x motherboards (including the 3/50, 3/60 and 3/80) featured an AMD LANCE 10Mbit Ethernet controller on board; say Y here to compile in the Linux driver for this and enable Ethernet. General Linux information on the Sun 3 and 3x series (now discontinued) is at <http://www.angelfire.com/ca2/tech68k/sun3.html>. If you're not building a kernel for a Sun 3, say N. config SUNLANCE tristate "Sun LANCE support" depends on SBUS select CRC32 ---help--- This driver supports the "le" interface present on all 32-bit Sparc systems, on some older Ultra systems and as an Sbus option. These cards are based on the AMD LANCE chipset, which is better known via the NE2100 cards. To compile this driver as a module, choose M here: the module will be called sunlance. config AMD_XGBE tristate "AMD 10GbE Ethernet driver" depends on ((OF_NET && OF_ADDRESS) || ACPI || PCI) && HAS_IOMEM depends on X86 || ARM64 || COMPILE_TEST select BITREVERSE select CRC32 select PHYLIB select AMD_XGBE_HAVE_ECC if X86 imply PTP_1588_CLOCK ---help--- This driver supports the AMD 10GbE Ethernet device found on an AMD SoC. To compile this driver as a module, choose M here: the module will be called amd-xgbe. config AMD_XGBE_DCB bool "Data Center Bridging (DCB) support" default n depends on AMD_XGBE && DCB ---help--- Say Y here to enable Data Center Bridging (DCB) support in the driver. If unsure, say N. config AMD_XGBE_HAVE_ECC bool default n endif # NET_VENDOR_AMD net/ethernet/amd/Makefile 0000644 00000001267 14722053666 0011372 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the AMD network device drivers. # obj-$(CONFIG_A2065) += a2065.o obj-$(CONFIG_AMD8111_ETH) += amd8111e.o obj-$(CONFIG_ARM_AM79C961A) += am79c961a.o obj-$(CONFIG_ARIADNE) += ariadne.o obj-$(CONFIG_ATARILANCE) += atarilance.o obj-$(CONFIG_DECLANCE) += declance.o obj-$(CONFIG_HPLANCE) += hplance.o 7990.o obj-$(CONFIG_LANCE) += lance.o obj-$(CONFIG_MIPS_AU1X00_ENET) += au1000_eth.o obj-$(CONFIG_MVME147_NET) += mvme147.o 7990.o obj-$(CONFIG_PCMCIA_NMCLAN) += nmclan_cs.o obj-$(CONFIG_NI65) += ni65.o obj-$(CONFIG_PCNET32) += pcnet32.o obj-$(CONFIG_SUN3LANCE) += sun3lance.o obj-$(CONFIG_SUNLANCE) += sunlance.o obj-$(CONFIG_AMD_XGBE) += xgbe/ net/ethernet/amd/xgbe/Makefile 0000644 00000000573 14722053666 0012316 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_AMD_XGBE) += amd-xgbe.o amd-xgbe-objs := xgbe-main.o xgbe-drv.o xgbe-dev.o \ xgbe-desc.o xgbe-ethtool.o xgbe-mdio.o \ xgbe-ptp.o \ xgbe-i2c.o xgbe-phy-v1.o xgbe-phy-v2.o \ xgbe-platform.o amd-xgbe-$(CONFIG_PCI) += xgbe-pci.o amd-xgbe-$(CONFIG_AMD_XGBE_DCB) += xgbe-dcb.o amd-xgbe-$(CONFIG_DEBUG_FS) += xgbe-debugfs.o net/ethernet/faraday/Kconfig 0000644 00000002353 14722053666 0012100 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Faraday device configuration # config NET_VENDOR_FARADAY bool "Faraday devices" default y depends on ARM || NDS32 || COMPILE_TEST ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Faraday cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_FARADAY config FTMAC100 tristate "Faraday FTMAC100 10/100 Ethernet support" depends on ARM || NDS32 || COMPILE_TEST depends on !64BIT || BROKEN select MII ---help--- This driver supports the FTMAC100 10/100 Ethernet controller from Faraday. It is used on Faraday A320, Andes AG101 and some other ARM/NDS32 SoC's. config FTGMAC100 tristate "Faraday FTGMAC100 Gigabit Ethernet support" depends on ARM || NDS32 || COMPILE_TEST depends on !64BIT || BROKEN select PHYLIB select MDIO_ASPEED if MACH_ASPEED_G6 ---help--- This driver supports the FTGMAC100 Gigabit Ethernet controller from Faraday. It is used on Faraday A369, Andes AG102 and some other ARM/NDS32 SoC's. endif # NET_VENDOR_FARADAY net/ethernet/faraday/Makefile 0000644 00000000244 14722053666 0012232 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Faraday device drivers. # obj-$(CONFIG_FTGMAC100) += ftgmac100.o obj-$(CONFIG_FTMAC100) += ftmac100.o net/ethernet/ti/Kconfig 0000644 00000007176 14722053666 0011115 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # TI device configuration # config NET_VENDOR_TI bool "Texas Instruments (TI) devices" default y depends on PCI || EISA || AR7 || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about TI devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_TI config TI_DAVINCI_EMAC tristate "TI DaVinci EMAC Support" depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 ) || COMPILE_TEST select TI_DAVINCI_MDIO select PHYLIB select GENERIC_ALLOCATOR ---help--- This driver supports TI's DaVinci Ethernet . To compile this driver as a module, choose M here: the module will be called davinci_emac_driver. This is recommended. config TI_DAVINCI_MDIO tristate "TI DaVinci MDIO Support" depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST select PHYLIB ---help--- This driver supports TI's DaVinci MDIO module. To compile this driver as a module, choose M here: the module will be called davinci_mdio. This is recommended. config TI_CPSW_PHY_SEL bool "TI CPSW Phy mode Selection (DEPRECATED)" default n ---help--- This driver supports configuring of the phy mode connected to the CPSW. DEPRECATED: use PHY_TI_GMII_SEL. config TI_CPSW tristate "TI CPSW Switch Support" depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST select TI_DAVINCI_MDIO select MFD_SYSCON select PAGE_POOL select REGMAP ---help--- This driver supports TI's CPSW Ethernet Switch. To compile this driver as a module, choose M here: the module will be called cpsw. config TI_CPTS bool "TI Common Platform Time Sync (CPTS) Support" depends on TI_CPSW || TI_KEYSTONE_NETCP || COMPILE_TEST depends on COMMON_CLK depends on POSIX_TIMERS ---help--- This driver supports the Common Platform Time Sync unit of the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem. The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the driver offers a PTP Hardware Clock. config TI_CPTS_MOD tristate depends on TI_CPTS default y if TI_CPSW=y || TI_KEYSTONE_NETCP=y select NET_PTP_CLASSIFY imply PTP_1588_CLOCK default m config TI_KEYSTONE_NETCP tristate "TI Keystone NETCP Core Support" select TI_DAVINCI_MDIO depends on OF depends on KEYSTONE_NAVIGATOR_DMA && KEYSTONE_NAVIGATOR_QMSS ---help--- This driver supports TI's Keystone NETCP Core. To compile this driver as a module, choose M here: the module will be called keystone_netcp. config TI_KEYSTONE_NETCP_ETHSS depends on TI_KEYSTONE_NETCP tristate "TI Keystone NETCP Ethernet subsystem Support" ---help--- To compile this driver as a module, choose M here: the module will be called keystone_netcp_ethss. config TLAN tristate "TI ThunderLAN support" depends on (PCI || EISA) ---help--- If you have a PCI Ethernet network card based on the ThunderLAN chip which is supported by this driver, say Y here. Devices currently supported by this driver are Compaq Netelligent, Compaq NetFlex and Olicom cards. Please read the file <file:Documentation/networking/device_drivers/ti/tlan.txt> for more details. To compile this driver as a module, choose M here. The module will be called tlan. Please email feedback to <torben.mathiasen@compaq.com>. config CPMAC tristate "TI AR7 CPMAC Ethernet support" depends on AR7 select PHYLIB ---help--- TI AR7 CPMAC Ethernet support endif # NET_VENDOR_TI net/ethernet/ti/Makefile 0000644 00000001476 14722053666 0011247 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the TI network device drivers. # obj-$(CONFIG_TI_CPSW) += cpsw-common.o obj-$(CONFIG_TI_DAVINCI_EMAC) += cpsw-common.o obj-$(CONFIG_TLAN) += tlan.o obj-$(CONFIG_CPMAC) += cpmac.o obj-$(CONFIG_TI_DAVINCI_EMAC) += ti_davinci_emac.o ti_davinci_emac-y := davinci_emac.o davinci_cpdma.o obj-$(CONFIG_TI_DAVINCI_MDIO) += davinci_mdio.o obj-$(CONFIG_TI_CPSW_PHY_SEL) += cpsw-phy-sel.o obj-$(CONFIG_TI_CPTS_MOD) += cpts.o obj-$(CONFIG_TI_CPSW) += ti_cpsw.o ti_cpsw-y := cpsw.o davinci_cpdma.o cpsw_ale.o cpsw_priv.o cpsw_sl.o cpsw_ethtool.o obj-$(CONFIG_TI_KEYSTONE_NETCP) += keystone_netcp.o keystone_netcp-y := netcp_core.o cpsw_ale.o obj-$(CONFIG_TI_KEYSTONE_NETCP_ETHSS) += keystone_netcp_ethss.o keystone_netcp_ethss-y := netcp_ethss.o netcp_sgmii.o netcp_xgbepcsr.o cpsw_ale.o net/ethernet/pensando/ionic/Makefile 0000644 00000000436 14722053666 0013536 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 2017 - 2019 Pensando Systems, Inc obj-$(CONFIG_IONIC) := ionic.o ionic-y := ionic_main.o ionic_bus_pci.o ionic_devlink.o ionic_dev.o \ ionic_debugfs.o ionic_lif.o ionic_rx_filter.o ionic_ethtool.o \ ionic_txrx.o ionic_stats.o net/ethernet/pensando/Kconfig 0000644 00000001722 14722053666 0012277 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2019 Pensando Systems, Inc # # Pensando device configuration # config NET_VENDOR_PENSANDO bool "Pensando devices" default y help If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Pensando cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_PENSANDO config IONIC tristate "Pensando Ethernet IONIC Support" depends on 64BIT && PCI select NET_DEVLINK help This enables the support for the Pensando family of Ethernet adapters. More specific information on this driver can be found in <file:Documentation/networking/device_drivers/pensando/ionic.rst>. To compile this driver as a module, choose M here. The module will be called ionic. endif # NET_VENDOR_PENSANDO net/ethernet/pensando/Makefile 0000644 00000000172 14722053666 0012432 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Pensando network device drivers. # obj-$(CONFIG_IONIC) += ionic/ net/ethernet/huawei/Kconfig 0000644 00000001101 14722053666 0011741 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Huawei driver configuration # config NET_VENDOR_HUAWEI bool "Huawei devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Huawei cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_HUAWEI source "drivers/net/ethernet/huawei/hinic/Kconfig" endif # NET_VENDOR_HUAWEI net/ethernet/huawei/Makefile 0000644 00000000165 14722053666 0012107 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Huawei device drivers. # obj-$(CONFIG_HINIC) += hinic/ net/ethernet/huawei/hinic/Kconfig 0000644 00000000570 14722053666 0013044 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Huawei driver configuration # config HINIC tristate "Huawei Intelligent PCIE Network Interface Card" depends on (PCI_MSI && (X86 || ARM64)) ---help--- This driver supports HiNIC PCIE Ethernet cards. To compile this driver as part of the kernel, choose Y here. If unsure, choose N. The default is compiled as module. net/ethernet/huawei/hinic/Makefile 0000644 00000000475 14722053666 0013205 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_HINIC) += hinic.o hinic-y := hinic_main.o hinic_tx.o hinic_rx.o hinic_port.o hinic_hw_dev.o \ hinic_hw_io.o hinic_hw_qp.o hinic_hw_cmdq.o hinic_hw_wq.o \ hinic_hw_mgmt.o hinic_hw_api_cmd.o hinic_hw_eqs.o hinic_hw_if.o \ hinic_common.o hinic_ethtool.o net/ethernet/rdc/Kconfig 0000644 00000001560 14722053666 0011240 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # RDC network device configuration # config NET_VENDOR_RDC bool "RDC devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about RDC cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_RDC config R6040 tristate "RDC R6040 Fast Ethernet Adapter support" depends on PCI select CRC32 select MII select PHYLIB ---help--- This is a driver for the R6040 Fast Ethernet MACs found in the the RDC R-321x System-on-chips. To compile this driver as a module, choose M here: the module will be called r6040. This is recommended. endif # NET_VENDOR_RDC net/ethernet/rdc/Makefile 0000644 00000000173 14722053666 0011374 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the RDC network device drivers. # obj-$(CONFIG_R6040) += r6040.o net/ethernet/synopsys/Kconfig 0000644 00000002210 14722053666 0012370 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Synopsys network device configuration # config NET_VENDOR_SYNOPSYS bool "Synopsys devices" default y ---help--- If you have a network (Ethernet) device belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Synopsys devices. If you say Y, you will be asked for your specific device in the following questions. if NET_VENDOR_SYNOPSYS config DWC_XLGMAC tristate "Synopsys DWC Enterprise Ethernet (XLGMAC) driver support" depends on HAS_IOMEM && HAS_DMA select BITREVERSE select CRC32 ---help--- This driver supports the Synopsys DesignWare Cores Enterprise Ethernet (dwc-xlgmac). if DWC_XLGMAC config DWC_XLGMAC_PCI tristate "XLGMAC PCI bus support" depends on DWC_XLGMAC && PCI ---help--- This selects the pci bus support for the dwc-xlgmac driver. This driver was tested on Synopsys XLGMAC IP Prototyping Kit. If you have a controller with this interface, say Y or M here. If unsure, say N. endif # DWC_XLGMAC endif # NET_VENDOR_SYNOPSYS net/ethernet/synopsys/Makefile 0000644 00000000473 14722053666 0012536 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Synopsys network device drivers. # obj-$(CONFIG_DWC_XLGMAC) += dwc-xlgmac.o dwc-xlgmac-objs := dwc-xlgmac-net.o dwc-xlgmac-desc.o \ dwc-xlgmac-hw.o dwc-xlgmac-common.o \ dwc-xlgmac-ethtool.o dwc-xlgmac-$(CONFIG_DWC_XLGMAC_PCI) += dwc-xlgmac-pci.o net/ethernet/Makefile 0000644 00000007632 14722053666 0010633 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux network Ethernet device drivers. # obj-$(CONFIG_NET_VENDOR_3COM) += 3com/ obj-$(CONFIG_NET_VENDOR_8390) += 8390/ obj-$(CONFIG_NET_VENDOR_ADAPTEC) += adaptec/ obj-$(CONFIG_GRETH) += aeroflex/ obj-$(CONFIG_NET_VENDOR_AGERE) += agere/ obj-$(CONFIG_NET_VENDOR_ALACRITECH) += alacritech/ obj-$(CONFIG_NET_VENDOR_ALLWINNER) += allwinner/ obj-$(CONFIG_NET_VENDOR_ALTEON) += alteon/ obj-$(CONFIG_ALTERA_TSE) += altera/ obj-$(CONFIG_NET_VENDOR_AMAZON) += amazon/ obj-$(CONFIG_NET_VENDOR_AMD) += amd/ obj-$(CONFIG_NET_XGENE) += apm/ obj-$(CONFIG_NET_VENDOR_APPLE) += apple/ obj-$(CONFIG_NET_VENDOR_AQUANTIA) += aquantia/ obj-$(CONFIG_NET_VENDOR_ARC) += arc/ obj-$(CONFIG_NET_VENDOR_ATHEROS) += atheros/ obj-$(CONFIG_NET_VENDOR_AURORA) += aurora/ obj-$(CONFIG_NET_VENDOR_CADENCE) += cadence/ obj-$(CONFIG_NET_VENDOR_BROADCOM) += broadcom/ obj-$(CONFIG_NET_VENDOR_BROCADE) += brocade/ obj-$(CONFIG_NET_CALXEDA_XGMAC) += calxeda/ obj-$(CONFIG_NET_VENDOR_CAVIUM) += cavium/ obj-$(CONFIG_NET_VENDOR_CHELSIO) += chelsio/ obj-$(CONFIG_NET_VENDOR_CIRRUS) += cirrus/ obj-$(CONFIG_NET_VENDOR_CISCO) += cisco/ obj-$(CONFIG_NET_VENDOR_CORTINA) += cortina/ obj-$(CONFIG_CX_ECAT) += ec_bhf.o obj-$(CONFIG_DM9000) += davicom/ obj-$(CONFIG_DNET) += dnet.o obj-$(CONFIG_NET_VENDOR_DEC) += dec/ obj-$(CONFIG_NET_VENDOR_DLINK) += dlink/ obj-$(CONFIG_NET_VENDOR_EMULEX) += emulex/ obj-$(CONFIG_NET_VENDOR_EZCHIP) += ezchip/ obj-$(CONFIG_NET_VENDOR_FARADAY) += faraday/ obj-$(CONFIG_NET_VENDOR_FREESCALE) += freescale/ obj-$(CONFIG_NET_VENDOR_FUJITSU) += fujitsu/ obj-$(CONFIG_NET_VENDOR_GOOGLE) += google/ obj-$(CONFIG_NET_VENDOR_HISILICON) += hisilicon/ obj-$(CONFIG_NET_VENDOR_HP) += hp/ obj-$(CONFIG_NET_VENDOR_HUAWEI) += huawei/ obj-$(CONFIG_NET_VENDOR_IBM) += ibm/ obj-$(CONFIG_NET_VENDOR_INTEL) += intel/ obj-$(CONFIG_NET_VENDOR_I825XX) += i825xx/ obj-$(CONFIG_NET_VENDOR_XSCALE) += xscale/ obj-$(CONFIG_JME) += jme.o obj-$(CONFIG_KORINA) += korina.o obj-$(CONFIG_LANTIQ_ETOP) += lantiq_etop.o obj-$(CONFIG_LANTIQ_XRX200) += lantiq_xrx200.o obj-$(CONFIG_NET_VENDOR_MARVELL) += marvell/ obj-$(CONFIG_NET_VENDOR_MEDIATEK) += mediatek/ obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/ obj-$(CONFIG_NET_VENDOR_MICREL) += micrel/ obj-$(CONFIG_NET_VENDOR_MICROCHIP) += microchip/ obj-$(CONFIG_NET_VENDOR_MICROSEMI) += mscc/ obj-$(CONFIG_NET_VENDOR_MOXART) += moxa/ obj-$(CONFIG_NET_VENDOR_MYRI) += myricom/ obj-$(CONFIG_FEALNX) += fealnx.o obj-$(CONFIG_NET_VENDOR_NATSEMI) += natsemi/ obj-$(CONFIG_NET_VENDOR_NETERION) += neterion/ obj-$(CONFIG_NET_VENDOR_NETRONOME) += netronome/ obj-$(CONFIG_NET_VENDOR_NI) += ni/ obj-$(CONFIG_NET_VENDOR_NVIDIA) += nvidia/ obj-$(CONFIG_LPC_ENET) += nxp/ obj-$(CONFIG_NET_VENDOR_OKI) += oki-semi/ obj-$(CONFIG_ETHOC) += ethoc.o obj-$(CONFIG_NET_VENDOR_PACKET_ENGINES) += packetengines/ obj-$(CONFIG_NET_VENDOR_PASEMI) += pasemi/ obj-$(CONFIG_NET_VENDOR_QLOGIC) += qlogic/ obj-$(CONFIG_NET_VENDOR_QUALCOMM) += qualcomm/ obj-$(CONFIG_NET_VENDOR_REALTEK) += realtek/ obj-$(CONFIG_NET_VENDOR_RENESAS) += renesas/ obj-$(CONFIG_NET_VENDOR_RDC) += rdc/ obj-$(CONFIG_NET_VENDOR_ROCKER) += rocker/ obj-$(CONFIG_NET_VENDOR_SAMSUNG) += samsung/ obj-$(CONFIG_NET_VENDOR_SEEQ) += seeq/ obj-$(CONFIG_NET_VENDOR_SILAN) += silan/ obj-$(CONFIG_NET_VENDOR_SIS) += sis/ obj-$(CONFIG_NET_VENDOR_SOLARFLARE) += sfc/ obj-$(CONFIG_NET_VENDOR_SGI) += sgi/ obj-$(CONFIG_NET_VENDOR_SMSC) += smsc/ obj-$(CONFIG_NET_VENDOR_SOCIONEXT) += socionext/ obj-$(CONFIG_NET_VENDOR_STMICRO) += stmicro/ obj-$(CONFIG_NET_VENDOR_SUN) += sun/ obj-$(CONFIG_NET_VENDOR_TEHUTI) += tehuti/ obj-$(CONFIG_NET_VENDOR_TI) += ti/ obj-$(CONFIG_NET_VENDOR_TOSHIBA) += toshiba/ obj-$(CONFIG_NET_VENDOR_TUNDRA) += tundra/ obj-$(CONFIG_NET_VENDOR_VIA) += via/ obj-$(CONFIG_NET_VENDOR_WIZNET) += wiznet/ obj-$(CONFIG_NET_VENDOR_XILINX) += xilinx/ obj-$(CONFIG_NET_VENDOR_XIRCOM) += xircom/ obj-$(CONFIG_NET_VENDOR_SYNOPSYS) += synopsys/ obj-$(CONFIG_NET_VENDOR_PENSANDO) += pensando/ net/ethernet/altera/Kconfig 0000644 00000000501 14722053666 0011732 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config ALTERA_TSE tristate "Altera Triple-Speed Ethernet MAC support" depends on HAS_DMA select PHYLIB ---help--- This driver supports the Altera Triple-Speed (TSE) Ethernet MAC. To compile this driver as a module, choose M here. The module will be called alteratse. net/ethernet/altera/Makefile 0000644 00000000352 14722053666 0012073 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Altera device drivers. # obj-$(CONFIG_ALTERA_TSE) += altera_tse.o altera_tse-objs := altera_tse_main.o altera_tse_ethtool.o \ altera_msgdma.o altera_sgdma.o altera_utils.o net/ethernet/dec/tulip/Kconfig 0000644 00000012633 14722053666 0012363 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Tulip family network device configuration # config NET_TULIP bool "DEC - Tulip devices" depends on (PCI || EISA || CARDBUS) ---help--- This selects the "Tulip" family of EISA/PCI network cards. if NET_TULIP config DE2104X tristate "Early DECchip Tulip (dc2104x) PCI support" depends on PCI select CRC32 ---help--- This driver is developed for the SMC EtherPower series Ethernet cards and also works with cards based on the DECchip 21040 (Tulip series) chips. Some LinkSys PCI cards are of this type. (If your card is NOT SMC EtherPower 10/100 PCI (smc9332dst), you can also try the driver for "Generic DECchip" cards, below. However, most people with a network card of this type will say Y here.) To compile this driver as a module, choose M here. The module will be called de2104x. config DE2104X_DSL int "Descriptor Skip Length in 32 bit longwords" depends on DE2104X range 0 31 default 0 ---help--- Setting this value allows to align ring buffer descriptors into their own cache lines. Value of 4 corresponds to the typical 32 byte line (the descriptor is 16 bytes). This is necessary on systems that lack cache coherence, an example is PowerMac 5500. Otherwise 0 is safe. Default is 0, and range is 0 to 31. config TULIP tristate "DECchip Tulip (dc2114x) PCI support" depends on PCI select CRC32 ---help--- This driver is developed for the SMC EtherPower series Ethernet cards and also works with cards based on the DECchip 21140 (Tulip series) chips. Some LinkSys PCI cards are of this type. (If your card is NOT SMC EtherPower 10/100 PCI (smc9332dst), you can also try the driver for "Generic DECchip" cards, above. However, most people with a network card of this type will say Y here.) To compile this driver as a module, choose M here. The module will be called tulip. config TULIP_MWI bool "New bus configuration" depends on TULIP ---help--- This configures your Tulip card specifically for the card and system cache line size type you are using. This is experimental code, not yet tested on many boards. If unsure, say N. config TULIP_MMIO bool "Use PCI shared mem for NIC registers" depends on TULIP ---help--- Use PCI shared memory for the NIC registers, rather than going through the Tulip's PIO (programmed I/O ports). Faster, but could produce obscure bugs if your mainboard has memory controller timing issues. If in doubt, say N. config TULIP_NAPI bool "Use RX polling (NAPI)" depends on TULIP ---help--- NAPI is a new driver API designed to reduce CPU and interrupt load when the driver is receiving lots of packets from the card. It is still somewhat experimental and thus not yet enabled by default. If your estimated Rx load is 10kpps or more, or if the card will be deployed on potentially unfriendly networks (e.g. in a firewall), then say Y here. If in doubt, say N. config TULIP_NAPI_HW_MITIGATION bool "Use Interrupt Mitigation" depends on TULIP_NAPI ---help--- Use HW to reduce RX interrupts. Not strictly necessary since NAPI reduces RX interrupts by itself. Interrupt mitigation reduces RX interrupts even at low levels of traffic at the cost of a small latency. If in doubt, say Y. config TULIP_DM910X def_bool y depends on TULIP && SPARC config DE4X5 tristate "Generic DECchip & DIGITAL EtherWORKS PCI/EISA" depends on (PCI || EISA) depends on VIRT_TO_BUS || ALPHA || PPC || SPARC select CRC32 ---help--- This is support for the DIGITAL series of PCI/EISA Ethernet cards. These include the DE425, DE434, DE435, DE450 and DE500 models. If you have a network card of this type, say Y. More specific information is contained in <file:Documentation/networking/device_drivers/dec/de4x5.txt>. To compile this driver as a module, choose M here. The module will be called de4x5. config WINBOND_840 tristate "Winbond W89c840 Ethernet support" depends on PCI select CRC32 select MII ---help--- This driver is for the Winbond W89c840 chip. It also works with the TX9882 chip on the Compex RL100-ATX board. More specific information and updates are available from <http://www.scyld.com/network/drivers.html>. config DM9102 tristate "Davicom DM910x/DM980x support" depends on PCI select CRC32 ---help--- This driver is for DM9102(A)/DM9132/DM9801 compatible PCI cards from Davicom (<http://www.davicom.com.tw/>). If you have such a network (Ethernet) card, say Y. Some information is contained in the file <file:Documentation/networking/device_drivers/dec/dmfe.txt>. To compile this driver as a module, choose M here. The module will be called dmfe. config ULI526X tristate "ULi M526x controller support" depends on PCI select CRC32 ---help--- This driver is for ULi M5261/M5263 10/100M Ethernet Controller (<http://www.nvidia.com/page/uli_drivers.html>). To compile this driver as a module, choose M here. The module will be called uli526x. config PCMCIA_XIRCOM tristate "Xircom CardBus support" depends on CARDBUS ---help--- This driver is for the Digital "Tulip" Ethernet CardBus adapters. It should work with most DEC 21*4*-based chips/ethercards, as well as with work-alike chips from Lite-On (PNIC) and Macronix (MXIC) and ASIX. To compile this driver as a module, choose M here. The module will be called xircom_cb. If unsure, say N. endif # NET_TULIP net/ethernet/dec/tulip/Makefile 0000644 00000001032 14722053666 0012507 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux "Tulip" family network device drivers. # ccflags-$(CONFIG_NET_TULIP) := -DDEBUG obj-$(CONFIG_PCMCIA_XIRCOM) += xircom_cb.o obj-$(CONFIG_DM9102) += dmfe.o obj-$(CONFIG_WINBOND_840) += winbond-840.o obj-$(CONFIG_DE2104X) += de2104x.o obj-$(CONFIG_TULIP) += tulip.o obj-$(CONFIG_DE4X5) += de4x5.o obj-$(CONFIG_ULI526X) += uli526x.o # Declare multi-part drivers. tulip-objs := eeprom.o interrupt.o media.o \ timer.o tulip_core.o \ 21142.o pnic.o pnic2.o net/ethernet/dec/Kconfig 0000644 00000001166 14722053666 0011225 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Digital Equipment Inc network device configuration # config NET_VENDOR_DEC bool "Digital Equipment devices" default y depends on PCI || EISA || CARDBUS ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about DEC cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_DEC source "drivers/net/ethernet/dec/tulip/Kconfig" endif # NET_VENDOR_DEC net/ethernet/dec/Makefile 0000644 00000000221 14722053666 0011351 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Digital Equipment Inc. network device drivers. # obj-$(CONFIG_NET_TULIP) += tulip/ net/ethernet/silan/Kconfig 0000644 00000001660 14722053666 0011577 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Silan device configuration # config NET_VENDOR_SILAN bool "Silan devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Silan devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SILAN config SC92031 tristate "Silan SC92031 PCI Fast Ethernet Adapter driver" depends on PCI select CRC32 ---help--- This is a driver for the Fast Ethernet PCI network cards based on the Silan SC92031 chip (sometimes also called Rsltek 8139D). If you have one of these, say Y here. To compile this driver as a module, choose M here: the module will be called sc92031. This is recommended. endif # NET_VENDOR_SILAN net/ethernet/silan/Makefile 0000644 00000000201 14722053666 0011722 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Silan network device drivers. # obj-$(CONFIG_SC92031) += sc92031.o net/ethernet/rocker/Kconfig 0000644 00000001407 14722053666 0011755 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Rocker device configuration # config NET_VENDOR_ROCKER bool "Rocker devices" default y ---help--- If you have a network device belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Rocker devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_ROCKER config ROCKER tristate "Rocker switch driver (EXPERIMENTAL)" depends on PCI && NET_SWITCHDEV && BRIDGE ---help--- This driver supports Rocker switch device. To compile this driver as a module, choose M here: the module will be called rocker. endif # NET_VENDOR_ROCKER net/ethernet/rocker/Makefile 0000644 00000000266 14722053666 0012114 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Rocker network device drivers. # obj-$(CONFIG_ROCKER) += rocker.o rocker-y := rocker_main.o rocker_tlv.o rocker_ofdpa.o net/ethernet/xilinx/Kconfig 0000644 00000002560 14722053666 0012004 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Xilink device configuration # config NET_VENDOR_XILINX bool "Xilinx devices" default y depends on PPC || PPC32 || MICROBLAZE || ARCH_ZYNQ || MIPS || X86 || ARM || COMPILE_TEST ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Xilinx devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_XILINX config XILINX_EMACLITE tristate "Xilinx 10/100 Ethernet Lite support" depends on PPC32 || MICROBLAZE || ARCH_ZYNQ || MIPS select PHYLIB ---help--- This driver supports the 10/100 Ethernet Lite from Xilinx. config XILINX_AXI_EMAC tristate "Xilinx 10/100/1000 AXI Ethernet support" depends on MICROBLAZE || X86 || ARM || COMPILE_TEST select PHYLINK ---help--- This driver supports the 10/100/1000 Ethernet from Xilinx for the AXI bus interface used in Xilinx Virtex FPGAs. config XILINX_LL_TEMAC tristate "Xilinx LL TEMAC (LocalLink Tri-mode Ethernet MAC) driver" depends on PPC || MICROBLAZE || X86 || COMPILE_TEST select PHYLIB ---help--- This driver supports the Xilinx 10/100/1000 LocalLink TEMAC core used in Xilinx Spartan and Virtex FPGAs endif # NET_VENDOR_XILINX net/ethernet/xilinx/Makefile 0000644 00000000531 14722053666 0012135 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Xilink network device drivers. # ll_temac-objs := ll_temac_main.o ll_temac_mdio.o obj-$(CONFIG_XILINX_LL_TEMAC) += ll_temac.o obj-$(CONFIG_XILINX_EMACLITE) += xilinx_emaclite.o xilinx_emac-objs := xilinx_axienet_main.o xilinx_axienet_mdio.o obj-$(CONFIG_XILINX_AXI_EMAC) += xilinx_emac.o net/ethernet/ibm/emac/Kconfig 0000644 00000002214 14722053666 0012141 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config IBM_EMAC tristate "IBM EMAC Ethernet support" depends on PPC_DCR select CRC32 select PHYLIB help This driver supports the IBM EMAC family of Ethernet controllers typically found on 4xx embedded PowerPC chips, but also on the Axon southbridge for Cell. config IBM_EMAC_RXB int "Number of receive buffers" depends on IBM_EMAC default "128" config IBM_EMAC_TXB int "Number of transmit buffers" depends on IBM_EMAC default "64" config IBM_EMAC_POLL_WEIGHT int "MAL NAPI polling weight" depends on IBM_EMAC default "32" config IBM_EMAC_RX_COPY_THRESHOLD int "RX skb copy threshold (bytes)" depends on IBM_EMAC default "256" config IBM_EMAC_DEBUG bool "Debugging" depends on IBM_EMAC default n # The options below has to be select'ed by the respective # processor types or platforms config IBM_EMAC_ZMII bool default n config IBM_EMAC_RGMII bool default n config IBM_EMAC_TAH bool default n config IBM_EMAC_EMAC4 bool default n config IBM_EMAC_NO_FLOW_CTRL bool default n config IBM_EMAC_MAL_CLR_ICINTSTAT bool default n config IBM_EMAC_MAL_COMMON_ERR bool default n net/ethernet/ibm/emac/Makefile 0000644 00000000447 14722053666 0012304 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the PowerPC 4xx on-chip ethernet driver # obj-$(CONFIG_IBM_EMAC) += ibm_emac.o ibm_emac-y := mal.o core.o phy.o ibm_emac-$(CONFIG_IBM_EMAC_ZMII) += zmii.o ibm_emac-$(CONFIG_IBM_EMAC_RGMII) += rgmii.o ibm_emac-$(CONFIG_IBM_EMAC_TAH) += tah.o net/ethernet/ibm/Kconfig 0000644 00000002605 14722053666 0011240 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # IBM device configuration. # config NET_VENDOR_IBM bool "IBM devices" default y depends on PPC_PSERIES || PPC_DCR || (IBMEBUS && SPARSEMEM) ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about IBM devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_IBM config IBMVETH tristate "IBM LAN Virtual Ethernet support" depends on PPC_PSERIES ---help--- This driver supports virtual ethernet adapters on newer IBM iSeries and pSeries systems. To compile this driver as a module, choose M here. The module will be called ibmveth. source "drivers/net/ethernet/ibm/emac/Kconfig" config EHEA tristate "eHEA Ethernet support" depends on IBMEBUS && SPARSEMEM ---help--- This driver supports the IBM pSeries eHEA ethernet adapter. To compile the driver as a module, choose M here. The module will be called ehea. config IBMVNIC tristate "IBM Virtual NIC support" depends on PPC_PSERIES ---help--- This driver supports Virtual NIC adapters on IBM i and IBM System p systems. To compile this driver as a module, choose M here. The module will be called ibmvnic. endif # NET_VENDOR_IBM net/ethernet/ibm/Makefile 0000644 00000000335 14722053666 0011373 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for th IBM network device drivers. # obj-$(CONFIG_IBMVETH) += ibmveth.o obj-$(CONFIG_IBMVNIC) += ibmvnic.o obj-$(CONFIG_IBM_EMAC) += emac/ obj-$(CONFIG_EHEA) += ehea/ net/ethernet/ibm/ehea/Makefile 0000644 00000000315 14722053666 0012273 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the eHEA ethernet device driver for IBM eServer System p # ehea-y = ehea_main.o ehea_phyp.o ehea_qmr.o ehea_ethtool.o obj-$(CONFIG_EHEA) += ehea.o net/ethernet/renesas/Kconfig 0000644 00000002231 14722053666 0012124 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Renesas device configuration # config NET_VENDOR_RENESAS bool "Renesas devices" default y ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Renesas devices. If you say Y, you will be asked for your specific device in the following questions. if NET_VENDOR_RENESAS config SH_ETH tristate "Renesas SuperH Ethernet support" depends on ARCH_RENESAS || SUPERH || COMPILE_TEST select CRC32 select MII select MDIO_BITBANG select PHYLIB ---help--- Renesas SuperH Ethernet device driver. This driver supporting CPUs are: - SH7619, SH7710, SH7712, SH7724, SH7734, SH7763, SH7757, R8A7740, R8A774x, R8A777x and R8A779x. config RAVB tristate "Renesas Ethernet AVB support" depends on ARCH_RENESAS || COMPILE_TEST select CRC32 select MII select MDIO_BITBANG select PHYLIB imply PTP_1588_CLOCK help Renesas Ethernet AVB device driver. This driver supports the following SoCs: - R8A779x. endif # NET_VENDOR_RENESAS net/ethernet/renesas/Makefile 0000644 00000000267 14722053666 0012270 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Renesas device drivers. # obj-$(CONFIG_SH_ETH) += sh_eth.o ravb-objs := ravb_main.o ravb_ptp.o obj-$(CONFIG_RAVB) += ravb.o net/ethernet/tehuti/Kconfig 0000644 00000001236 14722053666 0011772 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Tehuti network device configuration # config NET_VENDOR_TEHUTI bool "Tehuti devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Tehuti cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_TEHUTI config TEHUTI tristate "Tehuti Networks 10G Ethernet" depends on PCI ---help--- Tehuti Networks 10G Ethernet NIC endif # NET_VENDOR_TEHUTI net/ethernet/tehuti/Makefile 0000644 00000000200 14722053666 0012115 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Tehuti network device drivers. # obj-$(CONFIG_TEHUTI) += tehuti.o net/ethernet/ezchip/Kconfig 0000644 00000001456 14722053666 0011756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # EZchip network device configuration # config NET_VENDOR_EZCHIP bool "EZchip devices" default y ---help--- If you have a network (Ethernet) device belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about EZchip devices. If you say Y, you will be asked for your specific device in the following questions. if NET_VENDOR_EZCHIP config EZCHIP_NPS_MANAGEMENT_ENET tristate "EZchip NPS management enet support" depends on OF_IRQ && OF_NET depends on HAS_IOMEM ---help--- Simple LAN device for debug or management purposes. Device supports interrupts for RX and TX(completion). Device does not have DMA ability. endif net/ethernet/ezchip/Makefile 0000644 00000000137 14722053666 0012106 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_EZCHIP_NPS_MANAGEMENT_ENET) += nps_enet.o net/ethernet/hisilicon/Kconfig 0000644 00000010321 14722053666 0012444 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # HISILICON device configuration # config NET_VENDOR_HISILICON bool "Hisilicon devices" default y depends on OF || ACPI depends on ARM || ARM64 || COMPILE_TEST ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Hisilicon devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_HISILICON config HIX5HD2_GMAC tristate "Hisilicon HIX5HD2 Family Network Device Support" select PHYLIB help This selects the hix5hd2 mac family network device. config HISI_FEMAC tristate "Hisilicon Fast Ethernet MAC device support" depends on HAS_IOMEM select PHYLIB select RESET_CONTROLLER help This selects the Hisilicon Fast Ethernet MAC device(FEMAC). The FEMAC receives and transmits data over Ethernet ports at 10/100 Mbps in full-duplex or half-duplex mode. The FEMAC exchanges data with the CPU, and supports the energy efficient Ethernet (EEE). config HIP04_ETH tristate "HISILICON P04 Ethernet support" depends on HAS_IOMEM # For MFD_SYSCON select MARVELL_PHY select MFD_SYSCON select HNS_MDIO ---help--- If you wish to compile a kernel for a hardware with hisilicon p04 SoC and want to use the internal ethernet then you should answer Y to this. config HI13X1_GMAC bool "Hisilicon HI13X1 Network Device Support" depends on HIP04_ETH help If you wish to compile a kernel for a hardware with hisilicon hi13x1_gamc then you should answer Y to this. This makes this driver suitable for use on certain boards such as the HI13X1. If you are unsure, say N. config HNS_MDIO tristate select PHYLIB ---help--- This selects the HNS MDIO support. It is needed by HNS_DSAF to access the PHY config HNS tristate "Hisilicon Network Subsystem Support (Framework)" ---help--- This selects the framework support for Hisilicon Network Subsystem. It is needed by any driver which provides HNS acceleration engine or make use of the engine config HNS_DSAF tristate "Hisilicon HNS DSAF device Support" select HNS select HNS_MDIO ---help--- This selects the DSAF (Distributed System Area Frabric) network acceleration engine support. The engine is used in Hisilicon hip05, Hi1610 and further ICT SoC config HNS_ENET tristate "Hisilicon HNS Ethernet Device Support" select PHYLIB select HNS ---help--- This selects the general ethernet driver for HNS. This module make use of any HNS AE driver, such as HNS_DSAF config HNS3 tristate "Hisilicon Network Subsystem Support HNS3 (Framework)" depends on PCI ---help--- This selects the framework support for Hisilicon Network Subsystem 3. This layer facilitates clients like ENET, RoCE and user-space ethernet drivers(like ODP)to register with HNAE devices and their associated operations. if HNS3 config HNS3_HCLGE tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support" default m depends on PCI_MSI ---help--- This selects the HNS3_HCLGE network acceleration engine & its hardware compatibility layer. The engine would be used in Hisilicon hip08 family of SoCs and further upcoming SoCs. config HNS3_DCB bool "Hisilicon HNS3 Data Center Bridge Support" default n depends on HNS3_HCLGE && DCB ---help--- Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver. If unsure, say N. config HNS3_HCLGEVF tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support" depends on PCI_MSI depends on HNS3_HCLGE ---help--- This selects the HNS3 VF drivers network acceleration engine & its hardware compatibility layer. The engine would be used in Hisilicon hip08 family of SoCs and further upcoming SoCs. config HNS3_ENET tristate "Hisilicon HNS3 Ethernet Device Support" default m depends on 64BIT && PCI depends on INET ---help--- This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08 family of SoCs. This module depends upon HNAE3 driver to access the HNAE3 devices and their associated operations. endif #HNS3 endif # NET_VENDOR_HISILICON net/ethernet/hisilicon/hns/Makefile 0000644 00000000606 14722053666 0013376 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the HISILICON network device drivers. # obj-$(CONFIG_HNS) += hnae.o obj-$(CONFIG_HNS_DSAF) += hns_dsaf.o hns_dsaf-objs = hns_ae_adapt.o hns_dsaf_gmac.o hns_dsaf_mac.o hns_dsaf_misc.o \ hns_dsaf_main.o hns_dsaf_ppe.o hns_dsaf_rcb.o hns_dsaf_xgmac.o obj-$(CONFIG_HNS_ENET) += hns_enet_drv.o hns_enet_drv-objs = hns_enet.o hns_ethtool.o net/ethernet/hisilicon/hns3/hns3pf/Makefile 0000644 00000000522 14722053666 0014657 0 ustar 00 # SPDX-License-Identifier: GPL-2.0+ # # Makefile for the HISILICON network device drivers. # ccflags-y := -I $(srctree)/drivers/net/ethernet/hisilicon/hns3 obj-$(CONFIG_HNS3_HCLGE) += hclge.o hclge-objs = hclge_main.o hclge_cmd.o hclge_mdio.o hclge_tm.o hclge_mbx.o hclge_err.o hclge_debugfs.o hclge-$(CONFIG_HNS3_DCB) += hclge_dcb.o net/ethernet/hisilicon/hns3/hns3vf/Makefile 0000644 00000000400 14722053666 0014660 0 ustar 00 # SPDX-License-Identifier: GPL-2.0+ # # Makefile for the HISILICON network device drivers. # ccflags-y := -I $(srctree)/drivers/net/ethernet/hisilicon/hns3 obj-$(CONFIG_HNS3_HCLGEVF) += hclgevf.o hclgevf-objs = hclgevf_main.o hclgevf_cmd.o hclgevf_mbx.o net/ethernet/hisilicon/hns3/Makefile 0000644 00000000535 14722053666 0013462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0+ # # Makefile for the HISILICON network device drivers. # ccflags-y += -I$(srctree)/$(src) obj-$(CONFIG_HNS3) += hns3pf/ obj-$(CONFIG_HNS3) += hns3vf/ obj-$(CONFIG_HNS3) += hnae3.o obj-$(CONFIG_HNS3_ENET) += hns3.o hns3-objs = hns3_enet.o hns3_ethtool.o hns3_debugfs.o hns3-$(CONFIG_HNS3_DCB) += hns3_dcbnl.o net/ethernet/hisilicon/Makefile 0000644 00000000465 14722053667 0012612 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the HISILICON network device drivers. # obj-$(CONFIG_HIX5HD2_GMAC) += hix5hd2_gmac.o obj-$(CONFIG_HIP04_ETH) += hip04_eth.o obj-$(CONFIG_HNS_MDIO) += hns_mdio.o obj-$(CONFIG_HNS) += hns/ obj-$(CONFIG_HNS3) += hns3/ obj-$(CONFIG_HISI_FEMAC) += hisi_femac.o net/ethernet/tundra/Kconfig 0000644 00000001471 14722053667 0011767 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Tundra network device configuration # config NET_VENDOR_TUNDRA bool "Tundra devices" default y depends on TSI108_BRIDGE ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Tundra cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_TUNDRA config TSI108_ETH tristate "Tundra TSI108 gigabit Ethernet support" depends on TSI108_BRIDGE ---help--- This driver supports Tundra TSI108 gigabit Ethernet ports. To compile this driver as a module, choose M here: the module will be called tsi108_eth. endif # NET_VENDOR_TUNDRA net/ethernet/tundra/Makefile 0000644 00000000210 14722053667 0012112 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Tundra network device drivers. # obj-$(CONFIG_TSI108_ETH) += tsi108_eth.o net/ethernet/sun/Kconfig 0000644 00000006267 14722053667 0011307 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Sun network device configuration # config NET_VENDOR_SUN bool "Sun devices" default y depends on SUN3 || SBUS || PCI || SUN_LDOMS ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Sun network interfaces. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_SUN config HAPPYMEAL tristate "Sun Happy Meal 10/100baseT support" depends on (SBUS || PCI) select CRC32 ---help--- This driver supports the "hme" interface present on most Ultra systems and as an option on older Sbus systems. This driver supports both PCI and Sbus devices. This driver also supports the "qfe" quad 100baseT device available in both PCI and Sbus configurations. To compile this driver as a module, choose M here: the module will be called sunhme. config SUNBMAC tristate "Sun BigMAC 10/100baseT support" depends on SBUS select CRC32 ---help--- This driver supports the "be" interface available as an Sbus option. This is Sun's older 100baseT Ethernet device. To compile this driver as a module, choose M here: the module will be called sunbmac. config SUNQE tristate "Sun QuadEthernet support" depends on SBUS select CRC32 ---help--- This driver supports the "qe" 10baseT Ethernet device, available as an Sbus option. Note that this is not the same as Quad FastEthernet "qfe" which is supported by the Happy Meal driver instead. To compile this driver as a module, choose M here: the module will be called sunqe. config SUNGEM tristate "Sun GEM support" depends on PCI select CRC32 select SUNGEM_PHY ---help--- Support for the Sun GEM chip, aka Sun GigabitEthernet/P 2.0. See also <http://docs.oracle.com/cd/E19455-01/806-3985-10/806-3985-10.pdf>. config CASSINI tristate "Sun Cassini support" depends on PCI select CRC32 ---help--- Support for the Sun Cassini chip, aka Sun GigaSwift Ethernet. See also <http://docs.oracle.com/cd/E19113-01/giga.ether.pci/817-4341-10/817-4341-10.pdf>. config SUNVNET_COMMON tristate "Common routines to support Sun Virtual Networking" depends on SUN_LDOMS depends on INET default m config SUNVNET tristate "Sun Virtual Network support" default m depends on SUN_LDOMS depends on SUNVNET_COMMON ---help--- Support for virtual network devices under Sun Logical Domains. config LDMVSW tristate "Sun4v LDoms Virtual Switch support" default m depends on SUN_LDOMS depends on SUNVNET_COMMON ---help--- Support for virtual switch devices under Sun4v Logical Domains. This driver adds a network interface for every vsw-port node found in the machine description of a service domain. Linux bridge/switch software can use these interfaces for guest domain network interconnectivity or guest domain connection to a physical network on a service domain. config NIU tristate "Sun Neptune 10Gbit Ethernet support" depends on PCI select CRC32 ---help--- This enables support for cards based upon Sun's Neptune chipset. endif # NET_VENDOR_SUN net/ethernet/sun/Makefile 0000644 00000000621 14722053667 0011430 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Sun network device drivers. # obj-$(CONFIG_HAPPYMEAL) += sunhme.o obj-$(CONFIG_SUNQE) += sunqe.o obj-$(CONFIG_SUNBMAC) += sunbmac.o obj-$(CONFIG_SUNGEM) += sungem.o obj-$(CONFIG_CASSINI) += cassini.o obj-$(CONFIG_SUNVNET_COMMON) += sunvnet_common.o obj-$(CONFIG_SUNVNET) += sunvnet.o obj-$(CONFIG_LDMVSW) += ldmvsw.o obj-$(CONFIG_NIU) += niu.o net/ethernet/realtek/Kconfig 0000644 00000007524 14722053667 0012126 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Realtek device configuration # config NET_VENDOR_REALTEK bool "Realtek devices" default y depends on PCI || (PARPORT && X86) ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Realtek devices. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_REALTEK config ATP tristate "AT-LAN-TEC/RealTek pocket adapter support" depends on PARPORT && X86 select CRC32 ---help--- This is a network (Ethernet) device which attaches to your parallel port. Read the file <file:drivers/net/ethernet/realtek/atp.c> if you want to use this. If you intend to use this driver, you should have said N to the "Parallel printer support", because the two drivers don't like each other. To compile this driver as a module, choose M here: the module will be called atp. config 8139CP tristate "RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support" depends on PCI select CRC32 select MII ---help--- This is a driver for the Fast Ethernet PCI network cards based on the RTL8139C+ chips. If you have one of those, say Y here. To compile this driver as a module, choose M here: the module will be called 8139cp. This is recommended. config 8139TOO tristate "RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support" depends on PCI select CRC32 select MII ---help--- This is a driver for the Fast Ethernet PCI network cards based on the RTL 8129/8130/8139 chips. If you have one of those, say Y here. To compile this driver as a module, choose M here: the module will be called 8139too. This is recommended. config 8139TOO_PIO bool "Use PIO instead of MMIO" default y depends on 8139TOO ---help--- This instructs the driver to use programmed I/O ports (PIO) instead of PCI shared memory (MMIO). This can possibly solve some problems in case your mainboard has memory consistency issues. If unsure, say N. config 8139TOO_TUNE_TWISTER bool "Support for uncommon RTL-8139 rev. K (automatic channel equalization)" depends on 8139TOO ---help--- This implements a function which might come in handy in case you are using low quality on long cabling. It is required for RealTek RTL-8139 revision K boards, and totally unused otherwise. It tries to match the transceiver to the cable characteristics. This is experimental since hardly documented by the manufacturer. If unsure, say Y. config 8139TOO_8129 bool "Support for older RTL-8129/8130 boards" depends on 8139TOO ---help--- This enables support for the older and uncommon RTL-8129 and RTL-8130 chips, which support MII via an external transceiver, instead of an internal one. Disabling this option will save some memory by making the code size smaller. If unsure, say Y. config 8139_OLD_RX_RESET bool "Use older RX-reset method" depends on 8139TOO ---help--- The 8139too driver was recently updated to contain a more rapid reset sequence, in the face of severe receive errors. This "new" RX-reset method should be adequate for all boards. But if you experience problems, you can enable this option to restore the old RX-reset behavior. If unsure, say N. config R8169 tristate "Realtek 8169/8168/8101/8125 ethernet support" depends on PCI select FW_LOADER select CRC32 select PHYLIB select REALTEK_PHY ---help--- Say Y here if you have a Realtek Ethernet adapter belonging to the following families: RTL8169 Gigabit Ethernet RTL8168 Gigabit Ethernet RTL8101 Fast Ethernet RTL8125 2.5GBit Ethernet To compile this driver as a module, choose M here: the module will be called r8169. This is recommended. endif # NET_VENDOR_REALTEK net/ethernet/realtek/Makefile 0000644 00000000412 14722053667 0012250 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Realtek network device drivers. # obj-$(CONFIG_8139CP) += 8139cp.o obj-$(CONFIG_8139TOO) += 8139too.o obj-$(CONFIG_ATP) += atp.o r8169-objs += r8169_main.o r8169_firmware.o obj-$(CONFIG_R8169) += r8169.o net/ethernet/mediatek/Kconfig 0000644 00000000706 14722053667 0012255 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_VENDOR_MEDIATEK bool "MediaTek ethernet driver" depends on ARCH_MEDIATEK || SOC_MT7621 || SOC_MT7620 ---help--- If you have a Mediatek SoC with ethernet, say Y. if NET_VENDOR_MEDIATEK config NET_MEDIATEK_SOC tristate "MediaTek SoC Gigabit Ethernet support" select PHYLINK ---help--- This driver supports the gigabit ethernet MACs in the MediaTek SoC family. endif #NET_VENDOR_MEDIATEK net/ethernet/mediatek/Makefile 0000644 00000000327 14722053667 0012411 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Mediatek SoCs built-in ethernet macs # obj-$(CONFIG_NET_MEDIATEK_SOC) += mtk_eth.o mtk_eth-y := mtk_eth_soc.o mtk_sgmii.o mtk_eth_path.o net/ethernet/neterion/Kconfig 0000644 00000003657 14722053667 0012325 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Exar device configuration # config NET_VENDOR_NETERION bool "Neterion (Exar) devices" default y depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about Neterion/Exar cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_NETERION config S2IO tristate "Neterion (Exar) Xframe 10Gb Ethernet Adapter" depends on PCI ---help--- This driver supports Exar Corp's Xframe Series 10Gb Ethernet Adapters. These were originally released from S2IO, which renamed itself Neterion. So, the adapters might be labeled as either one, depending on its age. More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/neterion/s2io.txt>. To compile this driver as a module, choose M here. The module will be called s2io. config VXGE tristate "Neterion (Exar) X3100 Series 10GbE PCIe Server Adapter" depends on PCI ---help--- This driver supports Exar Corp's X3100 Series 10 GbE PCIe I/O Virtualized Server Adapter. These were originally released from Neterion, which was later acquired by Exar. So, the adapters might be labeled as either one, depending on its age. More specific information on configuring the driver is in <file:Documentation/networking/device_drivers/neterion/vxge.txt>. To compile this driver as a module, choose M here. The module will be called vxge. config VXGE_DEBUG_TRACE_ALL bool "Enabling All Debug trace statements in driver" default n depends on VXGE ---help--- Say Y here if you want to enabling all the debug trace statements in the vxge driver. By default only few debug trace statements are enabled. endif # NET_VENDOR_NETERION net/ethernet/neterion/vxge/Makefile 0000644 00000000360 14722053667 0013417 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for Exar Corp's X3100 Series 10 GbE PCIe I/O # Virtualized Server Adapter linux driver obj-$(CONFIG_VXGE) += vxge.o vxge-objs := vxge-config.o vxge-traffic.o vxge-ethtool.o vxge-main.o net/ethernet/neterion/Makefile 0000644 00000000226 14722053667 0012447 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Exar network device drivers. # obj-$(CONFIG_S2IO) += s2io.o obj-$(CONFIG_VXGE) += vxge/ net/ethernet/samsung/Kconfig 0000644 00000001636 14722053667 0012152 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Samsung Ethernet device configuration # config NET_VENDOR_SAMSUNG bool "Samsung Ethernet devices" default y ---help--- If you have a network (Ethernet) chipset belonging to this class, say Y. Note that the answer to this question does not directly affect the kernel: saying N will just cause the configurator to skip all the questions about Samsung chipsets. If you say Y, you will be asked for your specific chipset/driver in the following questions. if NET_VENDOR_SAMSUNG config SXGBE_ETH tristate "Samsung 10G/2.5G/1G SXGBE Ethernet driver" depends on HAS_IOMEM && HAS_DMA select PHYLIB select CRC32 imply PTP_1588_CLOCK ---help--- This is the driver for the SXGBE 10G Ethernet IP block found on Samsung platforms. To compile this driver as a module, choose M here: the module will be called samsung-sxgbe. endif # NET_VENDOR_SAMSUNG net/ethernet/samsung/sxgbe/Makefile 0000644 00000000361 14722053667 0013411 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_SXGBE_ETH) += samsung-sxgbe.o samsung-sxgbe-objs:= sxgbe_platform.o sxgbe_main.o sxgbe_desc.o \ sxgbe_dma.o sxgbe_core.o sxgbe_mtl.o sxgbe_mdio.o \ sxgbe_ethtool.o $(samsung-sxgbe-y) net/ethernet/samsung/Makefile 0000644 00000000203 14722053667 0012274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Samsung Ethernet device drivers. # obj-$(CONFIG_SXGBE_ETH) += sxgbe/ net/ethernet/stmicro/Kconfig 0000644 00000001220 14722053667 0012142 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # STMicroelectronics device configuration # config NET_VENDOR_STMICRO bool "STMicroelectronics devices" default y depends on HAS_IOMEM ---help--- If you have a network (Ethernet) card based on Synopsys Ethernet IP Cores, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about STMicroelectronics cards. If you say Y, you will be asked for your specific card in the following questions. if NET_VENDOR_STMICRO source "drivers/net/ethernet/stmicro/stmmac/Kconfig" endif # NET_VENDOR_STMICRO net/ethernet/stmicro/stmmac/Kconfig 0000644 00000014126 14722053667 0013437 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config STMMAC_ETH tristate "STMicroelectronics Multi-Gigabit Ethernet driver" depends on HAS_IOMEM && HAS_DMA select MII select PAGE_POOL select PHYLINK select CRC32 imply PTP_1588_CLOCK select RESET_CONTROLLER ---help--- This is the driver for the Ethernet IPs built around a Synopsys IP Core. if STMMAC_ETH config STMMAC_SELFTESTS bool "Support for STMMAC Selftests" depends on INET depends on STMMAC_ETH default n ---help--- This adds support for STMMAC Selftests using ethtool. Enable this feature if you are facing problems with your HW and submit the test results to the netdev Mailing List. config STMMAC_PLATFORM tristate "STMMAC Platform bus support" depends on STMMAC_ETH select MFD_SYSCON default y ---help--- This selects the platform specific bus support for the stmmac driver. This is the driver used on several SoCs: STi, Allwinner, Amlogic Meson, Altera SOCFPGA. If you have a controller with this interface, say Y or M here. If unsure, say N. if STMMAC_PLATFORM config DWMAC_DWC_QOS_ETH tristate "Support for snps,dwc-qos-ethernet.txt DT binding." select CRC32 select MII depends on OF && HAS_DMA help Support for chips using the snps,dwc-qos-ethernet.txt DT binding. config DWMAC_GENERIC tristate "Generic driver for DWMAC" default STMMAC_PLATFORM ---help--- Generic DWMAC driver for platforms that don't require any platform specific code to function or is using platform data for setup. config DWMAC_ANARION tristate "Adaptrum Anarion GMAC support" default ARC depends on OF && (ARC || COMPILE_TEST) help Support for Adaptrum Anarion GMAC Ethernet controller. This selects the Anarion SoC glue layer support for the stmmac driver. config DWMAC_IPQ806X tristate "QCA IPQ806x DWMAC support" default ARCH_QCOM depends on OF && (ARCH_QCOM || COMPILE_TEST) select MFD_SYSCON help Support for QCA IPQ806X DWMAC Ethernet. This selects the IPQ806x SoC glue layer support for the stmmac device driver. This driver does not use any of the hardware acceleration features available on this SoC. Network devices will behave like standard non-accelerated ethernet interfaces. config DWMAC_LPC18XX tristate "NXP LPC18xx/43xx DWMAC support" default ARCH_LPC18XX depends on OF && (ARCH_LPC18XX || COMPILE_TEST) select MFD_SYSCON ---help--- Support for NXP LPC18xx/43xx DWMAC Ethernet. config DWMAC_MEDIATEK tristate "MediaTek MT27xx GMAC support" depends on OF && (ARCH_MEDIATEK || COMPILE_TEST) help Support for MediaTek GMAC Ethernet controller. This selects the MT2712 SoC support for the stmmac driver. config DWMAC_MESON tristate "Amlogic Meson dwmac support" default ARCH_MESON depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST) help Support for Ethernet controller on Amlogic Meson SoCs. This selects the Amlogic Meson SoC glue layer support for the stmmac device driver. This driver is used for Meson6, Meson8, Meson8b and GXBB SoCs. config DWMAC_OXNAS tristate "Oxford Semiconductor OXNAS dwmac support" default ARCH_OXNAS depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST) select MFD_SYSCON help Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs. This selects the Oxford Semiconductor OXNASSoC glue layer support for the stmmac device driver. This driver is used for OX820. config DWMAC_QCOM_ETHQOS tristate "Qualcomm ETHQOS support" default ARCH_QCOM depends on OF && (ARCH_QCOM || COMPILE_TEST) help Support for the Qualcomm ETHQOS core. This selects the Qualcomm ETHQOS glue layer support for the stmmac device driver. config DWMAC_ROCKCHIP tristate "Rockchip dwmac support" default ARCH_ROCKCHIP depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) select MFD_SYSCON help Support for Ethernet controller on Rockchip RK3288 SoC. This selects the Rockchip RK3288 SoC glue layer support for the stmmac device driver. config DWMAC_SOCFPGA tristate "SOCFPGA dwmac support" default (ARCH_SOCFPGA || ARCH_STRATIX10) depends on OF && (ARCH_SOCFPGA || ARCH_STRATIX10 || COMPILE_TEST) select MFD_SYSCON help Support for ethernet controller on Altera SOCFPGA This selects the Altera SOCFPGA SoC glue layer support for the stmmac device driver. This driver is used for arria5 and cyclone5 FPGA SoCs. config DWMAC_STI tristate "STi GMAC support" default ARCH_STI depends on OF && (ARCH_STI || COMPILE_TEST) select MFD_SYSCON ---help--- Support for ethernet controller on STi SOCs. This selects STi SoC glue layer support for the stmmac device driver. This driver is used on for the STi series SOCs GMAC ethernet controller. config DWMAC_STM32 tristate "STM32 DWMAC support" default ARCH_STM32 depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST) select MFD_SYSCON ---help--- Support for ethernet controller on STM32 SOCs. This selects STM32 SoC glue layer support for the stmmac device driver. This driver is used on for the STM32 series SOCs GMAC ethernet controller. config DWMAC_SUNXI tristate "Allwinner GMAC support" default ARCH_SUNXI depends on OF && (ARCH_SUNXI || COMPILE_TEST) ---help--- Support for Allwinner A20/A31 GMAC ethernet controllers. This selects Allwinner SoC glue layer support for the stmmac device driver. This driver is used for A20/A31 GMAC ethernet controller. config DWMAC_SUN8I tristate "Allwinner sun8i GMAC support" default ARCH_SUNXI depends on OF && (ARCH_SUNXI || COMPILE_TEST) select MDIO_BUS_MUX ---help--- Support for Allwinner H3 A83T A64 EMAC ethernet controllers. This selects Allwinner SoC glue layer support for the stmmac device driver. This driver is used for H3/A83T/A64 EMAC ethernet controller. endif config STMMAC_PCI tristate "STMMAC PCI bus support" depends on STMMAC_ETH && PCI depends on COMMON_CLK ---help--- This selects the platform specific bus support for the stmmac driver. This driver was tested on XLINX XC2V3000 FF1152AMT0221 D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit. If you have a controller with this interface, say Y or M here. If unsure, say N. endif net/ethernet/stmicro/stmmac/Makefile 0000644 00000003001 14722053667 0013562 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_STMMAC_ETH) += stmmac.o stmmac-objs:= stmmac_main.o stmmac_ethtool.o stmmac_mdio.o ring_mode.o \ chain_mode.o dwmac_lib.o dwmac1000_core.o dwmac1000_dma.o \ dwmac100_core.o dwmac100_dma.o enh_desc.o norm_desc.o \ mmc_core.o stmmac_hwtstamp.o stmmac_ptp.o dwmac4_descs.o \ dwmac4_dma.o dwmac4_lib.o dwmac4_core.o dwmac5.o hwif.o \ stmmac_tc.o dwxgmac2_core.o dwxgmac2_dma.o dwxgmac2_descs.o \ $(stmmac-y) stmmac-$(CONFIG_STMMAC_SELFTESTS) += stmmac_selftests.o # Ordering matters. Generic driver must be last. obj-$(CONFIG_STMMAC_PLATFORM) += stmmac-platform.o obj-$(CONFIG_DWMAC_ANARION) += dwmac-anarion.o obj-$(CONFIG_DWMAC_IPQ806X) += dwmac-ipq806x.o obj-$(CONFIG_DWMAC_LPC18XX) += dwmac-lpc18xx.o obj-$(CONFIG_DWMAC_MEDIATEK) += dwmac-mediatek.o obj-$(CONFIG_DWMAC_MESON) += dwmac-meson.o dwmac-meson8b.o obj-$(CONFIG_DWMAC_OXNAS) += dwmac-oxnas.o obj-$(CONFIG_DWMAC_QCOM_ETHQOS) += dwmac-qcom-ethqos.o obj-$(CONFIG_DWMAC_ROCKCHIP) += dwmac-rk.o obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o obj-$(CONFIG_DWMAC_STI) += dwmac-sti.o obj-$(CONFIG_DWMAC_STM32) += dwmac-stm32.o obj-$(CONFIG_DWMAC_SUNXI) += dwmac-sunxi.o obj-$(CONFIG_DWMAC_SUN8I) += dwmac-sun8i.o obj-$(CONFIG_DWMAC_DWC_QOS_ETH) += dwmac-dwc-qos-eth.o obj-$(CONFIG_DWMAC_GENERIC) += dwmac-generic.o stmmac-platform-objs:= stmmac_platform.o dwmac-altr-socfpga-objs := altr_tse_pcs.o dwmac-socfpga.o obj-$(CONFIG_STMMAC_PCI) += stmmac-pci.o stmmac-pci-objs:= stmmac_pci.o net/ethernet/stmicro/Makefile 0000644 00000000207 14722053667 0012303 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the STMicroelectronics device drivers. # obj-$(CONFIG_STMMAC_ETH) += stmmac/ net/ieee802154/Kconfig 0000644 00000010006 14722053667 0010241 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig IEEE802154_DRIVERS tristate "IEEE 802.15.4 drivers" depends on NETDEVICES && IEEE802154 default y ---help--- Say Y here to get to see options for IEEE 802.15.4 Low-Rate Wireless Personal Area Network device drivers. This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. config IEEE802154_FAKELB depends on IEEE802154_DRIVERS && MAC802154 tristate "IEEE 802.15.4 loopback driver" ---help--- Say Y here to enable the fake driver that can emulate a net of several interconnected radio devices. This driver can also be built as a module. To do so say M here. The module will be called 'fakelb'. config IEEE802154_AT86RF230 depends on IEEE802154_DRIVERS && MAC802154 tristate "AT86RF230/231/233/212 transceiver driver" depends on SPI select REGMAP_SPI ---help--- Say Y here to enable the at86rf230/231/233/212 SPI 802.15.4 wireless controller. This driver can also be built as a module. To do so, say M here. the module will be called 'at86rf230'. config IEEE802154_AT86RF230_DEBUGFS depends on IEEE802154_AT86RF230 bool "AT86RF230 debugfs interface" depends on DEBUG_FS ---help--- This option compiles debugfs code for the at86rf230 driver. config IEEE802154_MRF24J40 tristate "Microchip MRF24J40 transceiver driver" depends on IEEE802154_DRIVERS && MAC802154 depends on SPI select REGMAP_SPI ---help--- Say Y here to enable the MRF24J20 SPI 802.15.4 wireless controller. This driver can also be built as a module. To do so, say M here. the module will be called 'mrf24j40'. config IEEE802154_CC2520 depends on IEEE802154_DRIVERS && MAC802154 tristate "CC2520 transceiver driver" depends on SPI ---help--- Say Y here to enable the CC2520 SPI 802.15.4 wireless controller. This driver can also be built as a module. To do so, say M here. the module will be called 'cc2520'. config IEEE802154_ATUSB tristate "ATUSB transceiver driver" depends on IEEE802154_DRIVERS && MAC802154 && USB ---help--- Say Y here to enable the ATUSB IEEE 802.15.4 wireless controller. This driver can also be built as a module. To do so say M here. The module will be called 'atusb'. config IEEE802154_ADF7242 tristate "ADF7242 transceiver driver" depends on IEEE802154_DRIVERS && MAC802154 depends on SPI ---help--- Say Y here to enable the ADF7242 SPI 802.15.4 wireless controller. This driver can also be built as a module. To do so, say M here. the module will be called 'adf7242'. config IEEE802154_CA8210 tristate "Cascoda CA8210 transceiver driver" depends on IEEE802154_DRIVERS && MAC802154 depends on COMMON_CLK depends on SPI ---help--- Say Y here to enable the CA8210 SPI 802.15.4 wireless controller. This driver can also be built as a module. To do so, say M here. the module will be called 'ca8210'. config IEEE802154_CA8210_DEBUGFS bool "CA8210 debugfs interface" depends on IEEE802154_CA8210 depends on DEBUG_FS ---help--- This option compiles debugfs code for the ca8210 driver. This exposes a debugfs node for each CA8210 instance which allows direct use of the Cascoda API, exposing the 802.15.4 MAC management entities. config IEEE802154_MCR20A tristate "MCR20A transceiver driver" depends on IEEE802154_DRIVERS && MAC802154 depends on SPI ---help--- Say Y here to enable the MCR20A SPI 802.15.4 wireless controller. This driver can also be built as a module. To do so, say M here. the module will be called 'mcr20a'. config IEEE802154_HWSIM depends on IEEE802154_DRIVERS && MAC802154 tristate "Simulated radio testing tool for mac802154" ---help--- This driver is a developer testing tool that can be used to test IEEE 802.15.4 networking stack (mac802154) functionality. This is not needed for normal wpan usage and is only for testing. This driver can also be built as a module. To do so say M here. The module will be called 'mac802154_hwsim'. net/ieee802154/Makefile 0000644 00000000701 14722053667 0010377 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_IEEE802154_FAKELB) += fakelb.o obj-$(CONFIG_IEEE802154_AT86RF230) += at86rf230.o obj-$(CONFIG_IEEE802154_MRF24J40) += mrf24j40.o obj-$(CONFIG_IEEE802154_CC2520) += cc2520.o obj-$(CONFIG_IEEE802154_ATUSB) += atusb.o obj-$(CONFIG_IEEE802154_ADF7242) += adf7242.o obj-$(CONFIG_IEEE802154_CA8210) += ca8210.o obj-$(CONFIG_IEEE802154_MCR20A) += mcr20a.o obj-$(CONFIG_IEEE802154_HWSIM) += mac802154_hwsim.o net/wan/Kconfig 0000644 00000032053 14722053667 0007441 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # wan devices configuration # menuconfig WAN bool "Wan interfaces support" ---help--- Wide Area Networks (WANs), such as X.25, Frame Relay and leased lines, are used to interconnect Local Area Networks (LANs) over vast distances with data transfer rates significantly higher than those achievable with commonly used asynchronous modem connections. Usually, a quite expensive external device called a `WAN router' is needed to connect to a WAN. As an alternative, a relatively inexpensive WAN interface card can allow your Linux box to directly connect to a WAN. If you have one of those cards and wish to use it under Linux, say Y here and also to the WAN driver for your card. If unsure, say N. if WAN # There is no way to detect a comtrol sv11 - force it modular for now. config HOSTESS_SV11 tristate "Comtrol Hostess SV-11 support" depends on ISA && m && ISA_DMA_API && INET && HDLC && VIRT_TO_BUS help Driver for Comtrol Hostess SV-11 network card which operates on low speed synchronous serial links at up to 256Kbps, supporting PPP and Cisco HDLC. The driver will be compiled as a module: the module will be called hostess_sv11. # The COSA/SRP driver has not been tested as non-modular yet. config COSA tristate "COSA/SRP sync serial boards support" depends on ISA && m && ISA_DMA_API && HDLC && VIRT_TO_BUS ---help--- Driver for COSA and SRP synchronous serial boards. These boards allow to connect synchronous serial devices (for example base-band modems, or any other device with the X.21, V.24, V.35 or V.36 interface) to your Linux box. The cards can work as the character device, synchronous PPP network device, or the Cisco HDLC network device. You will need user-space utilities COSA or SRP boards for downloading the firmware to the cards and to set them up. Look at the <http://www.fi.muni.cz/~kas/cosa/> for more information. You can also read the comment at the top of the <file:drivers/net/wan/cosa.c> for details about the cards and the driver itself. The driver will be compiled as a module: the module will be called cosa. # # Lan Media's board. Currently 1000, 1200, 5200, 5245 # config LANMEDIA tristate "LanMedia Corp. SSI/V.35, T1/E1, HSSI, T3 boards" depends on PCI && VIRT_TO_BUS && HDLC ---help--- Driver for the following Lan Media family of serial boards: - LMC 1000 board allows you to connect synchronous serial devices (for example base-band modems, or any other device with the X.21, V.24, V.35 or V.36 interface) to your Linux box. - LMC 1200 with on board DSU board allows you to connect your Linux box directly to a T1 or E1 circuit. - LMC 5200 board provides a HSSI interface capable of running up to 52 Mbits per second. - LMC 5245 board connects directly to a T3 circuit saving the additional external hardware. To change setting such as clock source you will need lmcctl. It is available at <ftp://ftp.lanmedia.com/> (broken link). To compile this driver as a module, choose M here: the module will be called lmc. # There is no way to detect a Sealevel board. Force it modular config SEALEVEL_4021 tristate "Sealevel Systems 4021 support" depends on ISA && m && ISA_DMA_API && INET && HDLC && VIRT_TO_BUS help This is a driver for the Sealevel Systems ACB 56 serial I/O adapter. The driver will be compiled as a module: the module will be called sealevel. # Generic HDLC config HDLC tristate "Generic HDLC layer" help Say Y to this option if your Linux box contains a WAN (Wide Area Network) card supported by this driver and you are planning to connect the box to a WAN. You will need supporting software from <http://www.kernel.org/pub/linux/utils/net/hdlc/>. Generic HDLC driver currently supports raw HDLC, Cisco HDLC, Frame Relay, synchronous Point-to-Point Protocol (PPP) and X.25. To compile this driver as a module, choose M here: the module will be called hdlc. If unsure, say N. config HDLC_RAW tristate "Raw HDLC support" depends on HDLC help Generic HDLC driver supporting raw HDLC over WAN connections. If unsure, say N. config HDLC_RAW_ETH tristate "Raw HDLC Ethernet device support" depends on HDLC help Generic HDLC driver supporting raw HDLC Ethernet device emulation over WAN connections. You will need it for Ethernet over HDLC bridges. If unsure, say N. config HDLC_CISCO tristate "Cisco HDLC support" depends on HDLC help Generic HDLC driver supporting Cisco HDLC over WAN connections. If unsure, say N. config HDLC_FR tristate "Frame Relay support" depends on HDLC help Generic HDLC driver supporting Frame Relay over WAN connections. If unsure, say N. config HDLC_PPP tristate "Synchronous Point-to-Point Protocol (PPP) support" depends on HDLC help Generic HDLC driver supporting PPP over WAN connections. If unsure, say N. config HDLC_X25 tristate "X.25 protocol support" depends on HDLC && (LAPB=m && HDLC=m || LAPB=y) help Generic HDLC driver supporting X.25 over WAN connections. If unsure, say N. comment "X.25/LAPB support is disabled" depends on HDLC && (LAPB!=m || HDLC!=m) && LAPB!=y config PCI200SYN tristate "Goramo PCI200SYN support" depends on HDLC && PCI help Driver for PCI200SYN cards by Goramo sp. j. If you have such a card, say Y here and see <http://www.kernel.org/pub/linux/utils/net/hdlc/>. To compile this as a module, choose M here: the module will be called pci200syn. If unsure, say N. config WANXL tristate "SBE Inc. wanXL support" depends on HDLC && PCI help Driver for wanXL PCI cards by SBE Inc. If you have such a card, say Y here and see <http://www.kernel.org/pub/linux/utils/net/hdlc/>. To compile this as a module, choose M here: the module will be called wanxl. If unsure, say N. config WANXL_BUILD_FIRMWARE bool "rebuild wanXL firmware" depends on WANXL && !PREVENT_FIRMWARE_BUILD help Allows you to rebuild firmware run by the QUICC processor. It requires m68k toolchains and hexdump programs. You should never need this option, say N. config PC300TOO tristate "Cyclades PC300 RSV/X21 alternative support" depends on HDLC && PCI help Alternative driver for PC300 RSV/X21 PCI cards made by Cyclades, Inc. If you have such a card, say Y here and see <http://www.kernel.org/pub/linux/utils/net/hdlc/>. To compile this as a module, choose M here: the module will be called pc300too. If unsure, say N here. config N2 tristate "SDL RISCom/N2 support" depends on HDLC && ISA help Driver for RISCom/N2 single or dual channel ISA cards by SDL Communications Inc. If you have such a card, say Y here and see <http://www.kernel.org/pub/linux/utils/net/hdlc/>. Note that N2csu and N2dds cards are not supported by this driver. To compile this driver as a module, choose M here: the module will be called n2. If unsure, say N. config C101 tristate "Moxa C101 support" depends on HDLC && ISA help Driver for C101 SuperSync ISA cards by Moxa Technologies Co., Ltd. If you have such a card, say Y here and see <http://www.kernel.org/pub/linux/utils/net/hdlc/>. To compile this driver as a module, choose M here: the module will be called c101. If unsure, say N. config FARSYNC tristate "FarSync T-Series support" depends on HDLC && PCI ---help--- Support for the FarSync T-Series X.21 (and V.35/V.24) cards by FarSite Communications Ltd. Synchronous communication is supported on all ports at speeds up to 8Mb/s (128K on V.24) using synchronous PPP, Cisco HDLC, raw HDLC, Frame Relay or X.25/LAPB. If you want the module to be automatically loaded when the interface is referenced then you should add "alias hdlcX farsync" to a file in /etc/modprobe.d/ for each interface, where X is 0, 1, 2, ..., or simply use "alias hdlc* farsync" to indicate all of them. To compile this driver as a module, choose M here: the module will be called farsync. config FSL_UCC_HDLC tristate "Freescale QUICC Engine HDLC support" depends on HDLC depends on QUICC_ENGINE help Driver for Freescale QUICC Engine HDLC controller. The driver supports HDLC in NMSI and TDM mode. To compile this driver as a module, choose M here: the module will be called fsl_ucc_hdlc. config SLIC_DS26522 tristate "Slic Maxim ds26522 card support" depends on SPI depends on FSL_SOC || ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST select BITREVERSE help This module initializes and configures the slic maxim card in T1 or E1 mode. To compile this driver as a module, choose M here: the module will be called slic_ds26522. config DSCC4_PCISYNC bool "Etinc PCISYNC features" depends on DSCC4 help Due to Etinc's design choice for its PCISYNC cards, some operations are only allowed on specific ports of the DSCC4. This option is the only way for the driver to know that it shouldn't return a success code for these operations. Please say Y if your card is an Etinc's PCISYNC. config DSCC4_PCI_RST bool "Hard reset support" depends on DSCC4 help Various DSCC4 bugs forbid any reliable software reset of the ASIC. As a replacement, some vendors provide a way to assert the PCI #RST pin of DSCC4 through the GPIO port of the card. If you choose Y, the driver will make use of this feature before module removal (i.e. rmmod). The feature is known to be available on Commtech's cards. Contact your manufacturer for details. Say Y if your card supports this feature. config IXP4XX_HSS tristate "Intel IXP4xx HSS (synchronous serial port) support" depends on HDLC && ARM && ARCH_IXP4XX && IXP4XX_NPE && IXP4XX_QMGR help Say Y here if you want to use built-in HSS ports on IXP4xx processor. config DLCI tristate "Frame Relay DLCI support" ---help--- Support for the Frame Relay protocol. Frame Relay is a fast low-cost way to connect to a remote Internet access provider or to form a private wide area network. The one physical line from your box to the local "switch" (i.e. the entry point to the Frame Relay network, usually at the phone company) can carry several logical point-to-point connections to other computers connected to the Frame Relay network. For a general explanation of the protocol, check out <http://www.mplsforum.org/>. To use frame relay, you need supporting hardware (called FRAD) and certain programs from the net-tools package as explained in <file:Documentation/networking/framerelay.txt>. To compile this driver as a module, choose M here: the module will be called dlci. config DLCI_MAX int "Max DLCI per device" depends on DLCI default "8" help How many logical point-to-point frame relay connections (the identifiers of which are called DCLIs) should be handled by each of your hardware frame relay access devices. Go with the default. config SDLA tristate "SDLA (Sangoma S502/S508) support" depends on DLCI && ISA help Driver for the Sangoma S502A, S502E, and S508 Frame Relay Access Devices. These are multi-protocol cards, but only Frame Relay is supported by the driver at this time. Please read <file:Documentation/networking/framerelay.txt>. To compile this driver as a module, choose M here: the module will be called sdla. # X.25 network drivers config LAPBETHER tristate "LAPB over Ethernet driver" depends on LAPB && X25 ---help--- Driver for a pseudo device (typically called /dev/lapb0) which allows you to open an LAPB point-to-point connection to some other computer on your Ethernet network. In order to do this, you need to say Y or M to the driver for your Ethernet card as well as to "LAPB Data Link Driver". To compile this driver as a module, choose M here: the module will be called lapbether. If unsure, say N. config X25_ASY tristate "X.25 async driver" depends on LAPB && X25 && TTY ---help--- Send and receive X.25 frames over regular asynchronous serial lines such as telephone lines equipped with ordinary modems. Experts should note that this driver doesn't currently comply with the asynchronous HDLS framing protocols in CCITT recommendation X.25. To compile this driver as a module, choose M here: the module will be called x25_asy. If unsure, say N. config SBNI tristate "Granch SBNI12 Leased Line adapter support" depends on X86 ---help--- Driver for ISA SBNI12-xx cards which are low cost alternatives to leased line modems. You can find more information and last versions of drivers and utilities at <http://www.granch.ru/>. If you have any question you can send email to <sbni@granch.ru>. To compile this driver as a module, choose M here: the module will be called sbni. If unsure, say N. config SBNI_MULTILINE bool "Multiple line feature support" depends on SBNI help Schedule traffic for some parallel lines, via SBNI12 adapters. If you have two computers connected with two parallel lines it's possible to increase transfer rate nearly twice. You should have a program named 'sbniconfig' to configure adapters. If unsure, say N. endif # WAN net/wan/lmc/Makefile 0000644 00000000555 14722053667 0010353 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Lan Media 21140 based WAN cards # Specifically the 1000,1200,5200,5245 # obj-$(CONFIG_LANMEDIA) += lmc.o lmc-objs := lmc_debug.o lmc_media.o lmc_main.o lmc_proto.o # Like above except every packet gets echoed to KERN_DEBUG # in hex # # DBDEF = \ # -DDEBUG \ # -DLMC_PACKET_LOG ccflags-y := $(DBGDEF) net/wan/Makefile 0000644 00000003601 14722053667 0007573 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux network (wan) device drivers. # # 3 Aug 2000, Christoph Hellwig <hch@infradead.org> # Rewritten to use lists instead of if-statements. # obj-$(CONFIG_HDLC) += hdlc.o obj-$(CONFIG_HDLC_RAW) += hdlc_raw.o obj-$(CONFIG_HDLC_RAW_ETH) += hdlc_raw_eth.o obj-$(CONFIG_HDLC_CISCO) += hdlc_cisco.o obj-$(CONFIG_HDLC_FR) += hdlc_fr.o obj-$(CONFIG_HDLC_PPP) += hdlc_ppp.o obj-$(CONFIG_HDLC_X25) += hdlc_x25.o obj-$(CONFIG_HOSTESS_SV11) += z85230.o hostess_sv11.o obj-$(CONFIG_SEALEVEL_4021) += z85230.o sealevel.o obj-$(CONFIG_COSA) += cosa.o obj-$(CONFIG_FARSYNC) += farsync.o obj-$(CONFIG_X25_ASY) += x25_asy.o obj-$(CONFIG_LANMEDIA) += lmc/ obj-$(CONFIG_DLCI) += dlci.o obj-$(CONFIG_SDLA) += sdla.o obj-$(CONFIG_LAPBETHER) += lapbether.o obj-$(CONFIG_SBNI) += sbni.o obj-$(CONFIG_N2) += n2.o obj-$(CONFIG_C101) += c101.o obj-$(CONFIG_WANXL) += wanxl.o obj-$(CONFIG_PCI200SYN) += pci200syn.o obj-$(CONFIG_PC300TOO) += pc300too.o obj-$(CONFIG_IXP4XX_HSS) += ixp4xx_hss.o obj-$(CONFIG_FSL_UCC_HDLC) += fsl_ucc_hdlc.o obj-$(CONFIG_SLIC_DS26522) += slic_ds26522.o clean-files := wanxlfw.inc $(obj)/wanxl.o: $(obj)/wanxlfw.inc ifeq ($(CONFIG_WANXL_BUILD_FIRMWARE),y) ifeq ($(ARCH),m68k) M68KCC = $(CC) M68KLD = $(LD) else M68KCC = $(CROSS_COMPILE_M68K)gcc M68KLD = $(CROSS_COMPILE_M68K)ld endif quiet_cmd_build_wanxlfw = BLD FW $@ cmd_build_wanxlfw = \ $(M68KCC) -D__ASSEMBLY__ -Wp,-MD,$(depfile) -I$(srctree)/include/uapi -c -o $(obj)/wanxlfw.o $<; \ $(M68KLD) --oformat binary -Ttext 0x1000 $(obj)/wanxlfw.o -o $(obj)/wanxlfw.bin; \ hexdump -ve '"\n" 16/1 "0x%02X,"' $(obj)/wanxlfw.bin | sed 's/0x ,//g;1s/^/static const u8 firmware[]={/;$$s/,$$/\n};\n/' >$(obj)/wanxlfw.inc; \ rm -f $(obj)/wanxlfw.bin $(obj)/wanxlfw.o $(obj)/wanxlfw.inc: $(src)/wanxlfw.S $(call if_changed_dep,build_wanxlfw) targets += wanxlfw.inc endif net/usb/Kconfig 0000644 00000051562 14722053667 0007453 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # USB Network devices configuration # comment "Host-side USB support is needed for USB Network Adapter support" depends on !USB && NET menuconfig USB_NET_DRIVERS tristate "USB Network Adapters" default USB if USB depends on USB && NET if USB_NET_DRIVERS config USB_CATC tristate "USB CATC NetMate-based Ethernet device support" select CRC32 ---help--- Say Y if you want to use one of the following 10Mbps USB Ethernet device based on the EL1210A chip. Supported devices are: Belkin F5U011 Belkin F5U111 CATC NetMate CATC NetMate II smartBridges smartNIC This driver makes the adapter appear as a normal Ethernet interface, typically on eth0, if it is the only ethernet device, or perhaps on eth1, if you have a PCI or ISA ethernet card installed. To compile this driver as a module, choose M here: the module will be called catc. config USB_KAWETH tristate "USB KLSI KL5USB101-based ethernet device support" ---help--- Say Y here if you want to use one of the following 10Mbps only USB Ethernet adapters based on the KLSI KL5KUSB101B chipset: 3Com 3C19250 ADS USB-10BT ATEN USB Ethernet ASANTE USB To Ethernet Adapter AOX Endpoints USB Ethernet Correga K.K. D-Link DSB-650C and DU-E10 Entrega / Portgear E45 I-O DATA USB-ET/T Jaton USB Ethernet Device Adapter Kingston Technology USB Ethernet Adapter Linksys USB10T Mobility USB-Ethernet Adapter NetGear EA-101 Peracom Enet and Enet2 Portsmith Express Ethernet Adapter Shark Pocket Adapter SMC 2202USB Sony Vaio port extender This driver is likely to work with most 10Mbps only USB Ethernet adapters, including some "no brand" devices. It does NOT work on SmartBridges smartNIC or on Belkin F5U111 devices - you should use the CATC NetMate driver for those. If you are not sure which one you need, select both, and the correct one should be selected for you. This driver makes the adapter appear as a normal Ethernet interface, typically on eth0, if it is the only ethernet device, or perhaps on eth1, if you have a PCI or ISA ethernet card installed. To compile this driver as a module, choose M here: the module will be called kaweth. config USB_PEGASUS tristate "USB Pegasus/Pegasus-II based ethernet device support" select MII ---help--- Say Y here if you know you have Pegasus or Pegasus-II based adapter. If in doubt then look at <file:drivers/net/usb/pegasus.h> for the complete list of supported devices. If your particular adapter is not in the list and you are _sure_ it is Pegasus or Pegasus II based then send me <petkan@users.sourceforge.net> vendor and device IDs. To compile this driver as a module, choose M here: the module will be called pegasus. config USB_RTL8150 tristate "USB RTL8150 based ethernet device support" select MII help Say Y here if you have RTL8150 based usb-ethernet adapter. Send me <petkan@users.sourceforge.net> any comments you may have. You can also check for updates at <http://pegasus2.sourceforge.net/>. To compile this driver as a module, choose M here: the module will be called rtl8150. config USB_RTL8152 tristate "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters" select MII select CRC32 select CRYPTO select CRYPTO_HASH select CRYPTO_SHA256 help This option adds support for Realtek RTL8152 based USB 2.0 10/100 Ethernet adapters and RTL8153 based USB 3.0 10/100/1000 Ethernet adapters. To compile this driver as a module, choose M here: the module will be called r8152. config USB_LAN78XX tristate "Microchip LAN78XX Based USB Ethernet Adapters" select MII select PHYLIB select MICROCHIP_PHY select FIXED_PHY select CRC32 help This option adds support for Microchip LAN78XX based USB 2 & USB 3 10/100/1000 Ethernet adapters. LAN7800 : USB 3 to 10/100/1000 Ethernet adapter LAN7850 : USB 2 to 10/100/1000 Ethernet adapter LAN7801 : USB 3 to 10/100/1000 Ethernet adapter (MAC only) Proper PHY driver is required for LAN7801. To compile this driver as a module, choose M here: the module will be called lan78xx. config USB_USBNET tristate "Multi-purpose USB Networking Framework" select MII ---help--- This driver supports several kinds of network links over USB, with "minidrivers" built around a common network driver core that supports deep queues for efficient transfers. (This gives better performance with small packets and at high speeds). The USB host runs "usbnet", and the other end of the link might be: - Another USB host, when using USB "network" or "data transfer" cables. These are often used to network laptops to PCs, like "Laplink" parallel cables or some motherboards. These rely on specialized chips from many suppliers. - An intelligent USB gadget, perhaps embedding a Linux system. These include PDAs running Linux (iPaq, Yopy, Zaurus, and others), and devices that interoperate using the standard CDC-Ethernet specification (including many cable modems). - Network adapter hardware (like those for 10/100 Ethernet) which uses this driver framework. The link will appear with a name like "usb0", when the link is a two-node link, or "eth0" for most CDC-Ethernet devices. Those two-node links are most easily managed with Ethernet Bridging (CONFIG_BRIDGE) instead of routing. For more information see <http://www.linux-usb.org/usbnet/>. To compile this driver as a module, choose M here: the module will be called usbnet. config USB_NET_AX8817X tristate "ASIX AX88xxx Based USB 2.0 Ethernet Adapters" depends on USB_USBNET select CRC32 select PHYLIB default y help This option adds support for ASIX AX88xxx based USB 2.0 10/100 Ethernet adapters. This driver should work with at least the following devices: * Aten UC210T * ASIX AX88172 * Billionton Systems, USB2AR * Billionton Systems, GUSB2AM-1G-B * Buffalo LUA-U2-KTX * Corega FEther USB2-TX * D-Link DUB-E100 * Hawking UF200 * Linksys USB200M * Netgear FA120 * Sitecom LN-029 * Sitecom LN-028 * Intellinet USB 2.0 Ethernet * ST Lab USB 2.0 Ethernet * TrendNet TU2-ET100 This driver creates an interface named "ethX", where X depends on what other networking devices you have in use. config USB_NET_AX88179_178A tristate "ASIX AX88179/178A USB 3.0/2.0 to Gigabit Ethernet" depends on USB_USBNET select CRC32 select PHYLIB default y help This option adds support for ASIX AX88179 based USB 3.0/2.0 to Gigabit Ethernet adapters. This driver should work with at least the following devices: * ASIX AX88179 * ASIX AX88178A * Sitcomm LN-032 This driver creates an interface named "ethX", where X depends on what other networking devices you have in use. config USB_NET_CDCETHER tristate "CDC Ethernet support (smart devices such as cable modems)" depends on USB_USBNET default y help This option supports devices conforming to the Communication Device Class (CDC) Ethernet Control Model, a specification that's easy to implement in device firmware. The CDC specifications are available from <http://www.usb.org/>. CDC Ethernet is an implementation option for DOCSIS cable modems that support USB connectivity, used for non-Microsoft USB hosts. The Linux-USB CDC Ethernet Gadget driver is an open implementation. This driver should work with at least the following devices: * Dell Wireless 5530 HSPA * Ericsson PipeRider (all variants) * Ericsson Mobile Broadband Module (all variants) * Motorola (DM100 and SB4100) * Broadcom Cable Modem (reference design) * Toshiba (PCX1100U and F3507g/F3607gw) * ... This driver creates an interface named "ethX", where X depends on what other networking devices you have in use. However, if the IEEE 802 "local assignment" bit is set in the address, a "usbX" name is used instead. config USB_NET_CDC_EEM tristate "CDC EEM support" depends on USB_USBNET help This option supports devices conforming to the Communication Device Class (CDC) Ethernet Emulation Model, a specification that's easy to implement in device firmware. The CDC EEM specifications are available from <http://www.usb.org/>. This driver creates an interface named "ethX", where X depends on what other networking devices you have in use. However, if the IEEE 802 "local assignment" bit is set in the address, a "usbX" name is used instead. config USB_NET_CDC_NCM tristate "CDC NCM support" depends on USB_USBNET default y help This driver provides support for CDC NCM (Network Control Model Device USB Class Specification). The CDC NCM specification is available from <http://www.usb.org/>. Say "y" to link the driver statically, or "m" to build a dynamically linked module. This driver should work with at least the following devices: * ST-Ericsson M700 LTE FDD/TDD Mobile Broadband Modem (ref. design) * ST-Ericsson M5730 HSPA+ Mobile Broadband Modem (reference design) * ST-Ericsson M570 HSPA+ Mobile Broadband Modem (reference design) * ST-Ericsson M343 HSPA Mobile Broadband Modem (reference design) * Ericsson F5521gw Mobile Broadband Module config USB_NET_HUAWEI_CDC_NCM tristate "Huawei NCM embedded AT channel support" depends on USB_USBNET select USB_WDM select USB_NET_CDC_NCM help This driver supports huawei-style NCM devices, that use NCM as a transport for other protocols, usually an embedded AT channel. Good examples are: * Huawei E3131 * Huawei E3251 To compile this driver as a module, choose M here: the module will be called huawei_cdc_ncm.ko. config USB_NET_CDC_MBIM tristate "CDC MBIM support" depends on USB_USBNET select USB_WDM select USB_NET_CDC_NCM help This driver provides support for CDC MBIM (Mobile Broadband Interface Model) devices. The CDC MBIM specification is available from <http://www.usb.org/>. MBIM devices require configuration using the management protocol defined by the MBIM specification. This driver provides unfiltered access to the MBIM control channel through the associated /dev/cdc-wdmx character device. To compile this driver as a module, choose M here: the module will be called cdc_mbim. config USB_NET_DM9601 tristate "Davicom DM96xx based USB 10/100 ethernet devices" depends on USB_USBNET select CRC32 help This option adds support for Davicom DM9601/DM9620/DM9621A based USB 10/100 Ethernet adapters. config USB_NET_SR9700 tristate "CoreChip-sz SR9700 based USB 1.1 10/100 ethernet devices" depends on USB_USBNET select CRC32 help This option adds support for CoreChip-sz SR9700 based USB 1.1 10/100 Ethernet adapters. config USB_NET_SR9800 tristate "CoreChip-sz SR9800 based USB 2.0 10/100 ethernet devices" depends on USB_USBNET select CRC32 ---help--- Say Y if you want to use one of the following 100Mbps USB Ethernet device based on the CoreChip-sz SR9800 chip. This driver makes the adapter appear as a normal Ethernet interface, typically on eth0, if it is the only ethernet device, or perhaps on eth1, if you have a PCI or ISA ethernet card installed. To compile this driver as a module, choose M here: the module will be called sr9800. config USB_NET_SMSC75XX tristate "SMSC LAN75XX based USB 2.0 gigabit ethernet devices" depends on USB_USBNET select BITREVERSE select CRC16 select CRC32 help This option adds support for SMSC LAN75XX based USB 2.0 Gigabit Ethernet adapters. config USB_NET_SMSC95XX tristate "SMSC LAN95XX based USB 2.0 10/100 ethernet devices" depends on USB_USBNET select BITREVERSE select CRC16 select CRC32 help This option adds support for SMSC LAN95XX based USB 2.0 10/100 Ethernet adapters. config USB_NET_GL620A tristate "GeneSys GL620USB-A based cables" depends on USB_USBNET help Choose this option if you're using a host-to-host cable, or PC2PC motherboard, with this chip. Note that the half-duplex "GL620USB" is not supported. config USB_NET_NET1080 tristate "NetChip 1080 based cables (Laplink, ...)" default y depends on USB_USBNET help Choose this option if you're using a host-to-host cable based on this design: one NetChip 1080 chip and supporting logic, optionally with LEDs that indicate traffic config USB_NET_PLUSB tristate "Prolific PL-2301/2302/25A1/27A1 based cables" # if the handshake/init/reset problems, from original 'plusb', # are ever resolved ... then remove "experimental" depends on USB_USBNET help Choose this option if you're using a host-to-host cable with one of these chips. config USB_NET_MCS7830 tristate "MosChip MCS7830 based Ethernet adapters" depends on USB_USBNET help Choose this option if you're using a 10/100 Ethernet USB2 adapter based on the MosChip 7830 controller. This includes adapters marketed under the DeLOCK brand. config USB_NET_RNDIS_HOST tristate "Host for RNDIS and ActiveSync devices" depends on USB_USBNET select USB_NET_CDCETHER help This option enables hosting "Remote NDIS" USB networking links, as encouraged by Microsoft (instead of CDC Ethernet!) for use in various devices that may only support this protocol. A variant of this protocol (with even less public documentation) seems to be at the root of Microsoft's "ActiveSync" too. Avoid using this protocol unless you have no better options. The protocol specification is incomplete, and is controlled by (and for) Microsoft; it isn't an "Open" ecosystem or market. config USB_NET_CDC_SUBSET_ENABLE tristate depends on USB_NET_CDC_SUBSET config USB_NET_CDC_SUBSET tristate "Simple USB Network Links (CDC Ethernet subset)" depends on USB_USBNET default y help This driver module supports USB network devices that can work without any device-specific information. Select it if you have one of these drivers. Note that while many USB host-to-host cables can work in this mode, that may mean not being able to talk to Win32 systems or more commonly not being able to handle certain events (like replugging the host on the other end) very well. Also, these devices will not generally have permanently assigned Ethernet addresses. config USB_ALI_M5632 bool "ALi M5632 based 'USB 2.0 Data Link' cables" depends on USB_NET_CDC_SUBSET select USB_NET_CDC_SUBSET_ENABLE help Choose this option if you're using a host-to-host cable based on this design, which supports USB 2.0 high speed. config USB_AN2720 bool "AnchorChips 2720 based cables (Xircom PGUNET, ...)" depends on USB_NET_CDC_SUBSET select USB_NET_CDC_SUBSET_ENABLE help Choose this option if you're using a host-to-host cable based on this design. Note that AnchorChips is now a Cypress brand. config USB_BELKIN bool "eTEK based host-to-host cables (Advance, Belkin, ...)" depends on USB_NET_CDC_SUBSET select USB_NET_CDC_SUBSET_ENABLE default y help Choose this option if you're using a host-to-host cable based on this design: two NetChip 2890 chips and an Atmel microcontroller, with LEDs that indicate traffic. config USB_ARMLINUX bool "Embedded ARM Linux links (iPaq, ...)" depends on USB_NET_CDC_SUBSET select USB_NET_CDC_SUBSET_ENABLE default y help Choose this option to support the "usb-eth" networking driver used by most of the ARM Linux community with device controllers such as the SA-11x0 and PXA-25x UDCs, or the tftp capabilities in some PXA versions of the "blob" boot loader. Linux-based "Gumstix" PXA-25x based systems use this protocol to talk with other Linux systems. Although the ROMs shipped with Sharp Zaurus products use a different link level framing protocol, you can have them use this simpler protocol by installing a different kernel. config USB_EPSON2888 bool "Epson 2888 based firmware (DEVELOPMENT)" depends on USB_NET_CDC_SUBSET select USB_NET_CDC_SUBSET_ENABLE help Choose this option to support the usb networking links used by some sample firmware from Epson. config USB_KC2190 bool "KT Technology KC2190 based cables (InstaNet)" depends on USB_NET_CDC_SUBSET select USB_NET_CDC_SUBSET_ENABLE help Choose this option if you're using a host-to-host cable with one of these chips. config USB_NET_ZAURUS tristate "Sharp Zaurus (stock ROMs) and compatible" depends on USB_USBNET select USB_NET_CDCETHER select CRC32 default y help Choose this option to support the usb networking links used by Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500. This also supports some related device firmware, as used in some PDAs from Olympus and some cell phones from Motorola. If you install an alternate image, such as the Linux 2.6 based versions of OpenZaurus, you should no longer need to support this protocol. Only the "eth-fd" or "net_fd" drivers in these devices really need this non-conformant variant of CDC Ethernet (or in some cases CDC MDLM) protocol, not "g_ether". config USB_NET_CX82310_ETH tristate "Conexant CX82310 USB ethernet port" depends on USB_USBNET help Choose this option if you're using a Conexant CX82310-based ADSL router with USB ethernet port. This driver is for routers only, it will not work with ADSL modems (use cxacru driver instead). config USB_NET_KALMIA tristate "Samsung Kalmia based LTE USB modem" depends on USB_USBNET help Choose this option if you have a Samsung Kalmia based USB modem as Samsung GT-B3730. To compile this driver as a module, choose M here: the module will be called kalmia. config USB_NET_QMI_WWAN tristate "QMI WWAN driver for Qualcomm MSM based 3G and LTE modems" depends on USB_USBNET select USB_WDM help Support WWAN LTE/3G devices based on Qualcomm Mobile Data Modem (MDM) chipsets. Examples of such devices are * Huawei E392/E398 This driver will only drive the ethernet part of the chips. The devices require additional configuration to be usable. Multiple management interfaces with linux drivers are available: * option: AT commands on /dev/ttyUSBx * cdc-wdm: Qualcomm MSM Interface (QMI) protocol on /dev/cdc-wdmx A modem manager with support for QMI is recommended. To compile this driver as a module, choose M here: the module will be called qmi_wwan. config USB_HSO tristate "Option USB High Speed Mobile Devices" depends on USB && RFKILL && TTY default n help Choose this option if you have an Option HSDPA/HSUPA card. These cards support downlink speeds of 7.2Mbps or greater. To compile this driver as a module, choose M here: the module will be called hso. config USB_NET_INT51X1 tristate "Intellon PLC based usb adapter" depends on USB_USBNET help Choose this option if you're using a 14Mb USB-based PLC (Powerline Communications) solution with an Intellon INT51x1/INT5200 chip, like the "devolo dLan duo". config USB_CDC_PHONET tristate "CDC Phonet support" depends on PHONET && USB_USBNET help Choose this option to support the Phonet interface to a Nokia cellular modem, as found on most Nokia handsets with the "PC suite" USB profile. config USB_IPHETH tristate "Apple iPhone USB Ethernet driver" default n ---help--- Module used to share Internet connection (tethering) from your iPhone (Original, 3G and 3GS) to your system. Note that you need userspace libraries and programs that are needed to pair your device with your system and that understand the iPhone protocol. For more information: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver config USB_SIERRA_NET tristate "USB-to-WWAN Driver for Sierra Wireless modems" depends on USB_USBNET help Choose this option if you have a Sierra Wireless USB-to-WWAN device. To compile this driver as a module, choose M here: the module will be called sierra_net. config USB_VL600 tristate "LG VL600 modem dongle" depends on USB_NET_CDCETHER && TTY select USB_ACM help Select this if you want to use an LG Electronics 4G/LTE usb modem called VL600. This driver only handles the ethernet interface exposed by the modem firmware. To establish a connection you will first need a userspace program that sends the right command to the modem through its CDC ACM port, and most likely also a DHCP client. See this thread about using the 4G modem from Verizon: http://ubuntuforums.org/showpost.php?p=10589647&postcount=17 config USB_NET_CH9200 tristate "QingHeng CH9200 USB ethernet support" depends on USB_USBNET select MII help Choose this option if you have a USB ethernet adapter with a QinHeng CH9200 chipset. To compile this driver as a module, choose M here: the module will be called ch9200. config USB_NET_AQC111 tristate "Aquantia AQtion USB to 5/2.5GbE Controllers support" depends on USB_USBNET select CRC32 help This option adds support for Aquantia AQtion USB Ethernet adapters based on AQC111U/AQC112 chips. This driver should work with at least the following devices: * Aquantia AQtion USB to 5GbE endif # USB_NET_DRIVERS net/usb/Makefile 0000644 00000003250 14722053667 0007577 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for USB Network drivers # obj-$(CONFIG_USB_CATC) += catc.o obj-$(CONFIG_USB_KAWETH) += kaweth.o obj-$(CONFIG_USB_PEGASUS) += pegasus.o obj-$(CONFIG_USB_RTL8150) += rtl8150.o obj-$(CONFIG_USB_RTL8152) += r8152.o obj-$(CONFIG_USB_HSO) += hso.o obj-$(CONFIG_USB_LAN78XX) += lan78xx.o obj-$(CONFIG_USB_NET_AX8817X) += asix.o asix-y := asix_devices.o asix_common.o ax88172a.o obj-$(CONFIG_USB_NET_AX88179_178A) += ax88179_178a.o obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o obj-$(CONFIG_USB_NET_CDC_EEM) += cdc_eem.o obj-$(CONFIG_USB_NET_DM9601) += dm9601.o obj-$(CONFIG_USB_NET_SR9700) += sr9700.o obj-$(CONFIG_USB_NET_SR9800) += sr9800.o obj-$(CONFIG_USB_NET_SMSC75XX) += smsc75xx.o obj-$(CONFIG_USB_NET_SMSC95XX) += smsc95xx.o obj-$(CONFIG_USB_NET_GL620A) += gl620a.o obj-$(CONFIG_USB_NET_NET1080) += net1080.o obj-$(CONFIG_USB_NET_PLUSB) += plusb.o obj-$(CONFIG_USB_NET_RNDIS_HOST) += rndis_host.o obj-$(CONFIG_USB_NET_CDC_SUBSET_ENABLE) += cdc_subset.o obj-$(CONFIG_USB_NET_ZAURUS) += zaurus.o obj-$(CONFIG_USB_NET_MCS7830) += mcs7830.o obj-$(CONFIG_USB_USBNET) += usbnet.o obj-$(CONFIG_USB_NET_INT51X1) += int51x1.o obj-$(CONFIG_USB_CDC_PHONET) += cdc-phonet.o obj-$(CONFIG_USB_NET_KALMIA) += kalmia.o obj-$(CONFIG_USB_IPHETH) += ipheth.o obj-$(CONFIG_USB_SIERRA_NET) += sierra_net.o obj-$(CONFIG_USB_NET_CX82310_ETH) += cx82310_eth.o obj-$(CONFIG_USB_NET_CDC_NCM) += cdc_ncm.o obj-$(CONFIG_USB_NET_HUAWEI_CDC_NCM) += huawei_cdc_ncm.o obj-$(CONFIG_USB_VL600) += lg-vl600.o obj-$(CONFIG_USB_NET_QMI_WWAN) += qmi_wwan.o obj-$(CONFIG_USB_NET_CDC_MBIM) += cdc_mbim.o obj-$(CONFIG_USB_NET_CH9200) += ch9200.o obj-$(CONFIG_USB_NET_AQC111) += aqc111.o net/slip/Kconfig 0000644 00000006303 14722053667 0007622 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # SLIP network device configuration # config SLIP tristate "SLIP (serial line) support" depends on TTY ---help--- Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to connect to your Internet service provider or to connect to some other local Unix box or if you want to configure your Linux box as a Slip/CSlip server for other people to dial in. SLIP (Serial Line Internet Protocol) is a protocol used to send Internet traffic over serial connections such as telephone lines or null modem cables; nowadays, the protocol PPP is more commonly used for this same purpose. Normally, your access provider has to support SLIP in order for you to be able to use it, but there is now a SLIP emulator called SLiRP around (available from <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which allows you to use SLIP over a regular dial up shell connection. If you plan to use SLiRP, make sure to say Y to CSLIP, below. The NET-3-HOWTO, available from <http://www.tldp.org/docs.html#howto>, explains how to configure SLIP. Note that you don't need this option if you just want to run term (term is a program which gives you almost full Internet connectivity if you have a regular dial up shell account on some Internet connected Unix computer. Read <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>). SLIP support will enlarge your kernel by about 4 KB. If unsure, say N. To compile this driver as a module, choose M here. The module will be called slip. config SLHC tristate ---help--- This option enables Van Jacobsen serial line header compression routines. if SLIP config SLIP_COMPRESSED bool "CSLIP compressed headers" depends on SLIP select SLHC ---help--- This protocol is faster than SLIP because it uses compression on the TCP/IP headers (not on the data itself), but it has to be supported on both ends. Ask your access provider if you are not sure and answer Y, just in case. You will still be able to use plain SLIP. If you plan to use SLiRP, the SLIP emulator (available from <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which allows you to use SLIP over a regular dial up shell connection, you definitely want to say Y here. The NET-3-HOWTO, available from <http://www.tldp.org/docs.html#howto>, explains how to configure CSLIP. This won't enlarge your kernel. config SLIP_SMART bool "Keepalive and linefill" depends on SLIP ---help--- Adds additional capabilities to the SLIP driver to support the RELCOM line fill and keepalive monitoring. Ideal on poor quality analogue lines. config SLIP_MODE_SLIP6 bool "Six bit SLIP encapsulation" depends on SLIP ---help--- Just occasionally you may need to run IP over hostile serial networks that don't pass all control characters or are only seven bit. Saying Y here adds an extra mode you can use with SLIP: "slip6". In this mode, SLIP will only send normal ASCII symbols over the serial device. Naturally, this has to be supported at the other end of the link as well. It's good enough, for example, to run IP over the async ports of a Camtec JNT Pad. If unsure, say N. endif # SLIP net/slip/Makefile 0000644 00000000227 14722053667 0007756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the SLIP network device drivers. # obj-$(CONFIG_SLIP) += slip.o obj-$(CONFIG_SLHC) += slhc.o net/Kconfig 0000644 00000043013 14722053667 0006652 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Network device configuration # menuconfig NETDEVICES default y if UML depends on NET bool "Network device support" ---help--- You can say N here if you don't intend to connect your Linux box to any other computer at all. You'll have to say Y if your computer contains a network card that you want to use under Linux. If you are going to run SLIP or PPP over telephone line or null modem cable you need say Y here. Connecting two machines with parallel ports using PLIP needs this, as well as AX.25/KISS for sending Internet traffic over amateur radio links. See also "The Linux Network Administrator's Guide" by Olaf Kirch and Terry Dawson. Available at <http://www.tldp.org/guides.html>. If unsure, say Y. # All the following symbols are dependent on NETDEVICES - do not repeat # that for each of the symbols. if NETDEVICES config MII tristate config NET_CORE default y bool "Network core driver support" ---help--- You can say N here if you do not intend to use any of the networking core drivers (i.e. VLAN, bridging, bonding, etc.) if NET_CORE config BONDING tristate "Bonding driver support" depends on INET depends on IPV6 || IPV6=n ---help--- Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet Channels together. This is called 'Etherchannel' by Cisco, 'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux. The driver supports multiple bonding modes to allow for both high performance and high availability operation. Refer to <file:Documentation/networking/bonding.txt> for more information. To compile this driver as a module, choose M here: the module will be called bonding. config DUMMY tristate "Dummy net driver support" ---help--- This is essentially a bit-bucket device (i.e. traffic you send to this device is consigned into oblivion) with a configurable IP address. It is most commonly used in order to make your currently inactive SLIP address seem like a real address for local programs. If you use SLIP or PPP, you might want to say Y here. It won't enlarge your kernel. What a deal. Read about it in the Network Administrator's Guide, available from <http://www.tldp.org/docs.html#guide>. To compile this driver as a module, choose M here: the module will be called dummy. config EQUALIZER tristate "EQL (serial line load balancing) support" ---help--- If you have two serial connections to some other computer (this usually requires two modems and two telephone lines) and you use SLIP (the protocol for sending Internet traffic over telephone lines) or PPP (a better SLIP) on them, you can make them behave like one double speed connection using this driver. Naturally, this has to be supported at the other end as well, either with a similar EQL Linux driver or with a Livingston Portmaster 2e. Say Y if you want this and read <file:Documentation/networking/eql.txt>. You may also want to read section 6.2 of the NET-3-HOWTO, available from <http://www.tldp.org/docs.html#howto>. To compile this driver as a module, choose M here: the module will be called eql. If unsure, say N. config NET_FC bool "Fibre Channel driver support" depends on SCSI && PCI help Fibre Channel is a high speed serial protocol mainly used to connect large storage devices to the computer; it is compatible with and intended to replace SCSI. If you intend to use Fibre Channel, you need to have a Fibre channel adaptor card in your computer; say Y here and to the driver for your adaptor below. You also should have said Y to "SCSI support" and "SCSI generic support". config IFB tristate "Intermediate Functional Block support" depends on NET_CLS_ACT select NET_REDIRECT ---help--- This is an intermediate driver that allows sharing of resources. To compile this driver as a module, choose M here: the module will be called ifb. If you want to use more than one ifb device at a time, you need to compile this driver as a module. Instead of 'ifb', the devices will then be called 'ifb0', 'ifb1' etc. Look at the iproute2 documentation directory for usage etc source "drivers/net/team/Kconfig" config MACVLAN tristate "MAC-VLAN support" ---help--- This allows one to create virtual interfaces that map packets to or from specific MAC addresses to a particular interface. Macvlan devices can be added using the "ip" command from the iproute2 package starting with the iproute2-2.6.23 release: "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan" To compile this driver as a module, choose M here: the module will be called macvlan. config MACVTAP tristate "MAC-VLAN based tap driver" depends on MACVLAN depends on INET select TAP help This adds a specialized tap character device driver that is based on the MAC-VLAN network interface, called macvtap. A macvtap device can be added in the same way as a macvlan device, using 'type macvtap', and then be accessed through the tap user space interface. To compile this driver as a module, choose M here: the module will be called macvtap. config IPVLAN_L3S depends on NETFILTER depends on IPVLAN def_bool y select NET_L3_MASTER_DEV config IPVLAN tristate "IP-VLAN support" depends on INET depends on IPV6 || !IPV6 ---help--- This allows one to create virtual devices off of a main interface and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) on packets. All interfaces (including the main interface) share L2 making it transparent to the connected L2 switch. Ipvlan devices can be added using the "ip" command from the iproute2 package starting with the iproute2-3.19 release: "ip link add link <main-dev> [ NAME ] type ipvlan" To compile this driver as a module, choose M here: the module will be called ipvlan. config IPVTAP tristate "IP-VLAN based tap driver" depends on IPVLAN depends on INET select TAP ---help--- This adds a specialized tap character device driver that is based on the IP-VLAN network interface, called ipvtap. An ipvtap device can be added in the same way as a ipvlan device, using 'type ipvtap', and then be accessed through the tap user space interface. To compile this driver as a module, choose M here: the module will be called ipvtap. config VXLAN tristate "Virtual eXtensible Local Area Network (VXLAN)" depends on INET select NET_UDP_TUNNEL select GRO_CELLS ---help--- This allows one to create vxlan virtual interfaces that provide Layer 2 Networks over Layer 3 Networks. VXLAN is often used to tunnel virtual network infrastructure in virtualized environments. For more information see: http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02 To compile this driver as a module, choose M here: the module will be called vxlan. config GENEVE tristate "Generic Network Virtualization Encapsulation" depends on INET depends on IPV6 || !IPV6 select NET_UDP_TUNNEL select GRO_CELLS ---help--- This allows one to create geneve virtual interfaces that provide Layer 2 Networks over Layer 3 Networks. GENEVE is often used to tunnel virtual network infrastructure in virtualized environments. For more information see: http://tools.ietf.org/html/draft-gross-geneve-02 To compile this driver as a module, choose M here: the module will be called geneve. config GTP tristate "GPRS Tunneling Protocol datapath (GTP-U)" depends on INET select NET_UDP_TUNNEL ---help--- This allows one to create gtp virtual interfaces that provide the GPRS Tunneling Protocol datapath (GTP-U). This tunneling protocol is used to prevent subscribers from accessing mobile carrier core network infrastructure. This driver requires a userspace software that implements the signaling protocol (GTP-C) to update its PDP context base, such as OpenGGSN <http://git.osmocom.org/openggsn/). This tunneling protocol is implemented according to the GSM TS 09.60 and 3GPP TS 29.060 standards. To compile this drivers as a module, choose M here: the module wil be called gtp. config MACSEC tristate "IEEE 802.1AE MAC-level encryption (MACsec)" select CRYPTO select CRYPTO_AES select CRYPTO_GCM select GRO_CELLS ---help--- MACsec is an encryption standard for Ethernet. config NETCONSOLE tristate "Network console logging support" ---help--- If you want to log kernel messages over the network, enable this. See <file:Documentation/networking/netconsole.txt> for details. config NETCONSOLE_DYNAMIC bool "Dynamic reconfiguration of logging targets" depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \ !(NETCONSOLE=y && CONFIGFS_FS=m) help This option enables the ability to dynamically reconfigure target parameters (interface, IP addresses, port numbers, MAC addresses) at runtime through a userspace interface exported using configfs. See <file:Documentation/networking/netconsole.txt> for details. config NETPOLL def_bool NETCONSOLE select SRCU config NET_POLL_CONTROLLER def_bool NETPOLL config NTB_NETDEV tristate "Virtual Ethernet over NTB Transport" depends on NTB_TRANSPORT config RIONET tristate "RapidIO Ethernet over messaging driver support" depends on RAPIDIO config RIONET_TX_SIZE int "Number of outbound queue entries" depends on RIONET default "128" config RIONET_RX_SIZE int "Number of inbound queue entries" depends on RIONET default "128" config TUN tristate "Universal TUN/TAP device driver support" depends on INET select CRC32 ---help--- TUN/TAP provides packet reception and transmission for user space programs. It can be viewed as a simple Point-to-Point or Ethernet device, which instead of receiving packets from a physical media, receives them from user space program and instead of sending packets via physical media writes them to the user space program. When a program opens /dev/net/tun, driver creates and registers corresponding net device tunX or tapX. After a program closed above devices, driver will automatically delete tunXX or tapXX device and all routes corresponding to it. Please read <file:Documentation/networking/tuntap.txt> for more information. To compile this driver as a module, choose M here: the module will be called tun. If you don't know what to use this for, you don't need it. config TAP tristate ---help--- This option is selected by any driver implementing tap user space interface for a virtual interface to re-use core tap functionality. config TUN_VNET_CROSS_LE bool "Support for cross-endian vnet headers on little-endian kernels" default n ---help--- This option allows TUN/TAP and MACVTAP device drivers in a little-endian kernel to parse vnet headers that come from a big-endian legacy virtio device. Userspace programs can control the feature using the TUNSETVNETBE and TUNGETVNETBE ioctls. Unless you have a little-endian system hosting a big-endian virtual machine with a legacy virtio NIC, you should say N. config VETH tristate "Virtual ethernet pair device" ---help--- This device is a local ethernet tunnel. Devices are created in pairs. When one end receives the packet it appears on its pair and vice versa. config VIRTIO_NET tristate "Virtio network driver" depends on VIRTIO select NET_FAILOVER ---help--- This is the virtual network driver for virtio. It can be used with QEMU based VMMs (like KVM or Xen). Say Y or M. config NLMON tristate "Virtual netlink monitoring device" ---help--- This option enables a monitoring net device for netlink skbs. The purpose of this is to analyze netlink messages with packet sockets. Thus applications like tcpdump will be able to see local netlink messages if they tap into the netlink device, record pcaps for further diagnostics, etc. This is mostly intended for developers or support to debug netlink issues. If unsure, say N. config NET_VRF tristate "Virtual Routing and Forwarding (Lite)" depends on IP_MULTIPLE_TABLES depends on NET_L3_MASTER_DEV depends on IPV6 || IPV6=n depends on IPV6_MULTIPLE_TABLES || IPV6=n ---help--- This option enables the support for mapping interfaces into VRF's. The support enables VRF devices. config VSOCKMON tristate "Virtual vsock monitoring device" depends on VHOST_VSOCK ---help--- This option enables a monitoring net device for vsock sockets. It is mostly intended for developers or support to debug vsock issues. If unsure, say N. endif # NET_CORE config SUNGEM_PHY tristate source "drivers/net/arcnet/Kconfig" source "drivers/atm/Kconfig" source "drivers/net/caif/Kconfig" source "drivers/net/dsa/Kconfig" source "drivers/net/ethernet/Kconfig" source "drivers/net/fddi/Kconfig" source "drivers/net/hippi/Kconfig" config NET_SB1000 tristate "General Instruments Surfboard 1000" depends on PNP ---help--- This is a driver for the General Instrument (also known as NextLevel) SURFboard 1000 internal cable modem. This is an ISA card which is used by a number of cable TV companies to provide cable modem access. It's a one-way downstream-only cable modem, meaning that your upstream net link is provided by your regular phone modem. At present this driver only compiles as a module, so say M here if you have this card. The module will be called sb1000. Then read <file:Documentation/networking/device_drivers/sb1000.txt> for information on how to use this module, as it needs special ppp scripts for establishing a connection. Further documentation and the necessary scripts can be found at: <http://www.jacksonville.net/~fventuri/> <http://home.adelphia.net/~siglercm/sb1000.html> <http://linuxpower.cx/~cable/> If you don't have this card, of course say N. source "drivers/net/phy/Kconfig" source "drivers/net/plip/Kconfig" source "drivers/net/ppp/Kconfig" source "drivers/net/slip/Kconfig" source "drivers/s390/net/Kconfig" source "drivers/net/usb/Kconfig" source "drivers/net/wireless/Kconfig" source "drivers/net/wimax/Kconfig" source "drivers/net/wan/Kconfig" source "drivers/net/ieee802154/Kconfig" config XEN_NETDEV_FRONTEND tristate "Xen network device frontend driver" depends on XEN select XEN_XENBUS_FRONTEND default y help This driver provides support for Xen paravirtual network devices exported by a Xen network driver domain (often domain 0). The corresponding Linux backend driver is enabled by the CONFIG_XEN_NETDEV_BACKEND option. If you are compiling a kernel for use as Xen guest, you should say Y here. To compile this driver as a module, chose M here: the module will be called xen-netfront. config XEN_NETDEV_BACKEND tristate "Xen backend network device" depends on XEN_BACKEND help This driver allows the kernel to act as a Xen network driver domain which exports paravirtual network devices to other Xen domains. These devices can be accessed by any operating system that implements a compatible front end. The corresponding Linux frontend driver is enabled by the CONFIG_XEN_NETDEV_FRONTEND configuration option. The backend driver presents a standard network device endpoint for each paravirtual network device to the driver domain network stack. These can then be bridged or routed etc in order to provide full network connectivity. If you are compiling a kernel to run in a Xen network driver domain (often this is domain 0) you should say Y here. To compile this driver as a module, chose M here: the module will be called xen-netback. config VMXNET3 tristate "VMware VMXNET3 ethernet driver" depends on PCI && INET depends on !(PAGE_SIZE_64KB || ARM64_64K_PAGES || \ IA64_PAGE_SIZE_64KB || MICROBLAZE_64K_PAGES || \ PARISC_PAGE_SIZE_64KB || PPC_64K_PAGES) help This driver supports VMware's vmxnet3 virtual ethernet NIC. To compile this driver as a module, choose M here: the module will be called vmxnet3. config FUJITSU_ES tristate "FUJITSU Extended Socket Network Device driver" depends on ACPI help This driver provides support for Extended Socket network device on Extended Partitioning of FUJITSU PRIMEQUEST 2000 E2 series. config THUNDERBOLT_NET tristate "Networking over Thunderbolt cable" depends on THUNDERBOLT && INET help Select this if you want to create network between two computers over a Thunderbolt cable. The driver supports Apple ThunderboltIP protocol and allows communication with any host supporting the same protocol including Windows and macOS. To compile this driver a module, choose M here. The module will be called thunderbolt-net. source "drivers/net/hyperv/Kconfig" config NETDEVSIM tristate "Simulated networking device" depends on DEBUG_FS select NET_DEVLINK help This driver is a developer testing tool and software model that can be used to test various control path networking APIs, especially HW-offload related. To compile this driver as a module, choose M here: the module will be called netdevsim. config NET_FAILOVER tristate "Failover driver" select FAILOVER help This provides an automated failover mechanism via APIs to create and destroy a failover master netdev and manages a primary and standby slave netdevs that get registered via the generic failover infrastructure. This can be used by paravirtual drivers to enable an alternate low latency datapath. It also enables live migration of a VM with direct attached VF by failing over to the paravirtual datapath when the VF is unplugged. endif # NETDEVICES net/phy/Kconfig 0000644 00000033115 14722053667 0007454 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PHY Layer Configuration # menuconfig MDIO_DEVICE tristate "MDIO bus device drivers" help MDIO devices and driver infrastructure code. if MDIO_DEVICE config MDIO_BUS tristate default m if PHYLIB=m default MDIO_DEVICE help This internal symbol is used for link time dependencies and it reflects whether the mdio_bus/mdio_device code is built as a loadable module or built-in. if MDIO_BUS config MDIO_ASPEED tristate "ASPEED MDIO bus controller" depends on ARCH_ASPEED || COMPILE_TEST depends on OF_MDIO && HAS_IOMEM help This module provides a driver for the independent MDIO bus controllers found in the ASPEED AST2600 SoC. This is a driver for the third revision of the ASPEED MDIO register interface - the first two revisions are the "old" and "new" interfaces found in the AST2400 and AST2500, embedded in the MAC. For legacy reasons, FTGMAC100 driver continues to drive the embedded MDIO controller for the AST2400 and AST2500 SoCs, so say N if AST2600 support is not required. config MDIO_BCM_IPROC tristate "Broadcom iProc MDIO bus controller" depends on ARCH_BCM_IPROC || COMPILE_TEST depends on HAS_IOMEM && OF_MDIO help This module provides a driver for the MDIO busses found in the Broadcom iProc SoC's. config MDIO_BCM_UNIMAC tristate "Broadcom UniMAC MDIO bus controller" depends on HAS_IOMEM help This module provides a driver for the Broadcom UniMAC MDIO busses. This hardware can be found in the Broadcom GENET Ethernet MAC controllers as well as some Broadcom Ethernet switches such as the Starfighter 2 switches. config MDIO_BITBANG tristate "Bitbanged MDIO buses" help This module implements the MDIO bus protocol in software, for use by low level drivers that export the ability to drive the relevant pins. If in doubt, say N. config MDIO_BUS_MUX tristate depends on OF_MDIO help This module provides a driver framework for MDIO bus multiplexers which connect one of several child MDIO busses to a parent bus. Switching between child busses is done by device specific drivers. config MDIO_BUS_MUX_BCM_IPROC tristate "Broadcom iProc based MDIO bus multiplexers" depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST) select MDIO_BUS_MUX default ARCH_BCM_IPROC help This module provides a driver for MDIO bus multiplexers found in iProc based Broadcom SoCs. This multiplexer connects one of several child MDIO bus to a parent bus. Buses could be internal as well as external and selection logic lies inside the same multiplexer. config MDIO_BUS_MUX_GPIO tristate "GPIO controlled MDIO bus multiplexers" depends on OF_GPIO && OF_MDIO select MDIO_BUS_MUX help This module provides a driver for MDIO bus multiplexers that are controlled via GPIO lines. The multiplexer connects one of several child MDIO busses to a parent bus. Child bus selection is under the control of GPIO lines. config MDIO_BUS_MUX_MESON_G12A tristate "Amlogic G12a based MDIO bus multiplexer" depends on ARCH_MESON || COMPILE_TEST depends on OF_MDIO && HAS_IOMEM && COMMON_CLK select MDIO_BUS_MUX default m if ARCH_MESON help This module provides a driver for the MDIO multiplexer/glue of the amlogic g12a SoC. The multiplexers connects either the external or the internal MDIO bus to the parent bus. config MDIO_BUS_MUX_MMIOREG tristate "MMIO device-controlled MDIO bus multiplexers" depends on OF_MDIO && HAS_IOMEM select MDIO_BUS_MUX help This module provides a driver for MDIO bus multiplexers that are controlled via a simple memory-mapped device, like an FPGA. The multiplexer connects one of several child MDIO busses to a parent bus. Child bus selection is under the control of one of the FPGA's registers. Currently, only 8/16/32 bits registers are supported. config MDIO_BUS_MUX_MULTIPLEXER tristate "MDIO bus multiplexer using kernel multiplexer subsystem" depends on OF_MDIO select MULTIPLEXER select MDIO_BUS_MUX help This module provides a driver for MDIO bus multiplexer that is controlled via the kernel multiplexer subsystem. The bus multiplexer connects one of several child MDIO busses to a parent bus. Child bus selection is under the control of the kernel multiplexer subsystem. config MDIO_CAVIUM tristate config MDIO_GPIO tristate "GPIO lib-based bitbanged MDIO buses" depends on MDIO_BITBANG depends on GPIOLIB || COMPILE_TEST ---help--- Supports GPIO lib-based MDIO busses. To compile this driver as a module, choose M here: the module will be called mdio-gpio. config MDIO_HISI_FEMAC tristate "Hisilicon FEMAC MDIO bus controller" depends on HAS_IOMEM && OF_MDIO help This module provides a driver for the MDIO busses found in the Hisilicon SoC that have an Fast Ethernet MAC. config MDIO_I2C tristate depends on I2C help Support I2C based PHYs. This provides a MDIO bus bridged to I2C to allow PHYs connected in I2C mode to be accessed using the existing infrastructure. This is library mode. config MDIO_MOXART tristate "MOXA ART MDIO interface support" depends on ARCH_MOXART || COMPILE_TEST help This driver supports the MDIO interface found in the network interface units of the MOXA ART SoC config MDIO_MSCC_MIIM tristate "Microsemi MIIM interface support" depends on HAS_IOMEM help This driver supports the MIIM (MDIO) interface found in the network switches of the Microsemi SoCs config MDIO_OCTEON tristate "Octeon and some ThunderX SOCs MDIO buses" depends on (64BIT && OF_MDIO) || COMPILE_TEST depends on HAS_IOMEM select MDIO_CAVIUM help This module provides a driver for the Octeon and ThunderX MDIO buses. It is required by the Octeon and ThunderX ethernet device drivers on some systems. config MDIO_SUN4I tristate "Allwinner sun4i MDIO interface support" depends on ARCH_SUNXI || COMPILE_TEST help This driver supports the MDIO interface found in the network interface units of the Allwinner SoC that have an EMAC (A10, A12, A10s, etc.) config MDIO_THUNDER tristate "ThunderX SOCs MDIO buses" depends on 64BIT depends on PCI select MDIO_CAVIUM select MDIO_DEVRES help This driver supports the MDIO interfaces found on Cavium ThunderX SoCs when the MDIO bus device appears as a PCI device. config MDIO_XGENE tristate "APM X-Gene SoC MDIO bus controller" depends on ARCH_XGENE || COMPILE_TEST help This module provides a driver for the MDIO busses found in the APM X-Gene SoC's. endif endif config PHYLINK tristate depends on NETDEVICES select PHYLIB select SWPHY help PHYlink models the link between the PHY and MAC, allowing fixed configuration links, PHYs, and Serdes links with MAC level autonegotiation modes. menuconfig PHYLIB tristate "PHY Device support and infrastructure" depends on NETDEVICES select MDIO_DEVICE help Ethernet controllers are usually attached to PHY devices. This option provides infrastructure for managing PHY devices. if PHYLIB config SWPHY bool config LED_TRIGGER_PHY bool "Support LED triggers for tracking link state" depends on LEDS_TRIGGERS ---help--- Adds support for a set of LED trigger events per-PHY. Link state change will trigger the events, for consumption by an LED class driver. There are triggers for each link speed currently supported by the PHY and also a one common "link" trigger as a logical-or of all the link speed ones. All these triggers are named according to the following pattern: <mii bus id>:<phy>:<speed> Where speed is in the form: <Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link for any speed known to the PHY. comment "MII PHY device drivers" config SFP tristate "SFP cage support" depends on I2C && PHYLINK depends on HWMON || HWMON=n select MDIO_I2C config ADIN_PHY tristate "Analog Devices Industrial Ethernet PHYs" help Adds support for the Analog Devices Industrial Ethernet PHYs. Currently supports the: - ADIN1200 - Robust,Industrial, Low Power 10/100 Ethernet PHY - ADIN1300 - Robust,Industrial, Low Latency 10/100/1000 Gigabit Ethernet PHY config AMD_PHY tristate "AMD PHYs" ---help--- Currently supports the am79c874 config AQUANTIA_PHY tristate "Aquantia PHYs" ---help--- Currently supports the Aquantia AQ1202, AQ2104, AQR105, AQR405 config AX88796B_PHY tristate "Asix PHYs" help Currently supports the Asix Electronics PHY found in the X-Surf 100 AX88796B package. config AT803X_PHY tristate "AT803X PHYs" ---help--- Currently supports the AT8030 and AT8035 model config BCM63XX_PHY tristate "Broadcom 63xx SOCs internal PHY" depends on BCM63XX || COMPILE_TEST select BCM_NET_PHYLIB ---help--- Currently supports the 6348 and 6358 PHYs. config BCM7XXX_PHY tristate "Broadcom 7xxx SOCs internal PHYs" select BCM_NET_PHYLIB ---help--- Currently supports the BCM7366, BCM7439, BCM7445, and 40nm and 65nm generation of BCM7xxx Set Top Box SoCs. config BCM87XX_PHY tristate "Broadcom BCM8706 and BCM8727 PHYs" help Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs. config BCM_CYGNUS_PHY tristate "Broadcom Cygnus/Omega SoC internal PHY" depends on ARCH_BCM_IPROC || COMPILE_TEST depends on MDIO_BCM_IPROC select BCM_NET_PHYLIB ---help--- This PHY driver is for the 1G internal PHYs of the Broadcom Cygnus and Omega Family SoC. Currently supports internal PHY's used in the BCM11300, BCM11320, BCM11350, BCM11360, BCM58300, BCM58302, BCM58303 & BCM58305 Broadcom Cygnus SoCs. config BCM_NET_PHYLIB tristate config BROADCOM_PHY tristate "Broadcom PHYs" select BCM_NET_PHYLIB ---help--- Currently supports the BCM5411, BCM5421, BCM5461, BCM54616S, BCM5464, BCM5481, BCM54810 and BCM5482 PHYs. config CICADA_PHY tristate "Cicada PHYs" ---help--- Currently supports the cis8204 config CORTINA_PHY tristate "Cortina EDC CDR 10G Ethernet PHY" ---help--- Currently supports the CS4340 phy. config DAVICOM_PHY tristate "Davicom PHYs" ---help--- Currently supports dm9161e and dm9131 config DP83822_PHY tristate "Texas Instruments DP83822 PHY" ---help--- Supports the DP83822 PHY. config DP83TC811_PHY tristate "Texas Instruments DP83TC822 PHY" ---help--- Supports the DP83TC822 PHY. config DP83848_PHY tristate "Texas Instruments DP83848 PHY" ---help--- Supports the DP83848 PHY. config DP83867_PHY tristate "Texas Instruments DP83867 Gigabit PHY" ---help--- Currently supports the DP83867 PHY. config FIXED_PHY tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs" depends on PHYLIB select SWPHY ---help--- Adds the platform "fixed" MDIO Bus to cover the boards that use PHYs that are not connected to the real MDIO bus. Currently tested with mpc866ads and mpc8349e-mitx. config ICPLUS_PHY tristate "ICPlus PHYs" ---help--- Currently supports the IP175C and IP1001 PHYs. config INTEL_XWAY_PHY tristate "Intel XWAY PHYs" ---help--- Supports the Intel XWAY (former Lantiq) 11G and 22E PHYs. These PHYs are marked as standalone chips under the names PEF 7061, PEF 7071 and PEF 7072 or integrated into the Intel SoCs xRX200, xRX300, xRX330, xRX350 and xRX550. config LSI_ET1011C_PHY tristate "LSI ET1011C PHY" ---help--- Supports the LSI ET1011C PHY. config LXT_PHY tristate "Intel LXT PHYs" ---help--- Currently supports the lxt970, lxt971 config MARVELL_PHY tristate "Marvell PHYs" ---help--- Currently has a driver for the 88E1011S config MARVELL_10G_PHY tristate "Marvell Alaska 10Gbit PHYs" ---help--- Support for the Marvell Alaska MV88X3310 and compatible PHYs. config MESON_GXL_PHY tristate "Amlogic Meson GXL Internal PHY" depends on ARCH_MESON || COMPILE_TEST ---help--- Currently has a driver for the Amlogic Meson GXL Internal PHY config MICREL_PHY tristate "Micrel PHYs" ---help--- Supports the KSZ9021, VSC8201, KS8001 PHYs. config MICROCHIP_PHY tristate "Microchip PHYs" help Supports the LAN88XX PHYs. config MICROCHIP_T1_PHY tristate "Microchip T1 PHYs" ---help--- Supports the LAN87XX PHYs. config MICROSEMI_PHY tristate "Microsemi PHYs" ---help--- Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs config NATIONAL_PHY tristate "National Semiconductor PHYs" ---help--- Currently supports the DP83865 PHY. config NXP_TJA11XX_PHY tristate "NXP TJA11xx PHYs support" depends on HWMON ---help--- Currently supports the NXP TJA1100 and TJA1101 PHY. config QSEMI_PHY tristate "Quality Semiconductor PHYs" ---help--- Currently supports the qs6612 config REALTEK_PHY tristate "Realtek PHYs" ---help--- Supports the Realtek 821x PHY. config RENESAS_PHY tristate "Driver for Renesas PHYs" ---help--- Supports the Renesas PHYs uPD60620 and uPD60620A. config ROCKCHIP_PHY tristate "Driver for Rockchip Ethernet PHYs" ---help--- Currently supports the integrated Ethernet PHY. config SMSC_PHY tristate "SMSC PHYs" ---help--- Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs config STE10XP tristate "STMicroelectronics STe10Xp PHYs" ---help--- This is the driver for the STe100p and STe101p PHYs. config TERANETICS_PHY tristate "Teranetics PHYs" ---help--- Currently supports the Teranetics TN2020 config VITESSE_PHY tristate "Vitesse PHYs" ---help--- Currently supports the vsc8244 config XILINX_GMII2RGMII tristate "Xilinx GMII2RGMII converter driver" ---help--- This driver support xilinx GMII to RGMII IP core it provides the Reduced Gigabit Media Independent Interface(RGMII) between Ethernet physical media devices and the Gigabit Ethernet controller. endif # PHYLIB config MICREL_KS8995MA tristate "Micrel KS8995MA 5-ports 10/100 managed Ethernet switch" depends on SPI net/phy/Makefile 0000644 00000007061 14722053667 0007612 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for Linux PHY drivers and MDIO bus drivers libphy-y := phy.o phy-c45.o phy-core.o phy_device.o mdio-bus-y += mdio_bus.o mdio_device.o ifdef CONFIG_MDIO_DEVICE obj-y += mdio-boardinfo.o endif # PHYLIB implies MDIO_DEVICE, in that case, we have a bunch of circular # dependencies that does not make it possible to split mdio-bus objects into a # dedicated loadable module, so we bundle them all together into libphy.ko ifdef CONFIG_PHYLIB libphy-y += $(mdio-bus-y) else obj-$(CONFIG_MDIO_DEVICE) += mdio-bus.o endif libphy-$(CONFIG_SWPHY) += swphy.o libphy-$(CONFIG_LED_TRIGGER_PHY) += phy_led_triggers.o obj-$(CONFIG_PHYLINK) += phylink.o obj-$(CONFIG_PHYLIB) += libphy.o obj-$(CONFIG_MDIO_ASPEED) += mdio-aspeed.o obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o obj-$(CONFIG_MDIO_BUS_MUX) += mdio-mux.o obj-$(CONFIG_MDIO_BUS_MUX_BCM_IPROC) += mdio-mux-bcm-iproc.o obj-$(CONFIG_MDIO_BUS_MUX_GPIO) += mdio-mux-gpio.o obj-$(CONFIG_MDIO_BUS_MUX_MESON_G12A) += mdio-mux-meson-g12a.o obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o obj-$(CONFIG_MDIO_BUS_MUX_MULTIPLEXER) += mdio-mux-multiplexer.o obj-$(CONFIG_MDIO_CAVIUM) += mdio-cavium.o obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o obj-$(CONFIG_MDIO_HISI_FEMAC) += mdio-hisi-femac.o obj-$(CONFIG_MDIO_I2C) += mdio-i2c.o obj-$(CONFIG_MDIO_MOXART) += mdio-moxart.o obj-$(CONFIG_MDIO_MSCC_MIIM) += mdio-mscc-miim.o obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o obj-$(CONFIG_MDIO_THUNDER) += mdio-thunder.o obj-$(CONFIG_MDIO_XGENE) += mdio-xgene.o obj-$(CONFIG_SFP) += sfp.o sfp-obj-$(CONFIG_SFP) += sfp-bus.o obj-y += $(sfp-obj-y) $(sfp-obj-m) obj-$(CONFIG_ADIN_PHY) += adin.o obj-$(CONFIG_AMD_PHY) += amd.o aquantia-objs += aquantia_main.o ifdef CONFIG_HWMON aquantia-objs += aquantia_hwmon.o endif obj-$(CONFIG_AQUANTIA_PHY) += aquantia.o obj-$(CONFIG_AX88796B_PHY) += ax88796b.o obj-$(CONFIG_AT803X_PHY) += at803x.o obj-$(CONFIG_BCM63XX_PHY) += bcm63xx.o obj-$(CONFIG_BCM7XXX_PHY) += bcm7xxx.o obj-$(CONFIG_BCM87XX_PHY) += bcm87xx.o obj-$(CONFIG_BCM_CYGNUS_PHY) += bcm-cygnus.o obj-$(CONFIG_BCM_NET_PHYLIB) += bcm-phy-lib.o obj-$(CONFIG_BROADCOM_PHY) += broadcom.o obj-$(CONFIG_CICADA_PHY) += cicada.o obj-$(CONFIG_CORTINA_PHY) += cortina.o obj-$(CONFIG_DAVICOM_PHY) += davicom.o obj-$(CONFIG_DP83640_PHY) += dp83640.o obj-$(CONFIG_DP83822_PHY) += dp83822.o obj-$(CONFIG_DP83TC811_PHY) += dp83tc811.o obj-$(CONFIG_DP83848_PHY) += dp83848.o obj-$(CONFIG_DP83867_PHY) += dp83867.o obj-$(CONFIG_FIXED_PHY) += fixed_phy.o obj-$(CONFIG_ICPLUS_PHY) += icplus.o obj-$(CONFIG_INTEL_XWAY_PHY) += intel-xway.o obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o obj-$(CONFIG_LXT_PHY) += lxt.o obj-$(CONFIG_MARVELL_PHY) += marvell.o obj-$(CONFIG_MARVELL_10G_PHY) += marvell10g.o obj-$(CONFIG_MESON_GXL_PHY) += meson-gxl.o obj-$(CONFIG_MICREL_KS8995MA) += spi_ks8995.o obj-$(CONFIG_MICREL_PHY) += micrel.o obj-$(CONFIG_MICROCHIP_PHY) += microchip.o obj-$(CONFIG_MICROCHIP_T1_PHY) += microchip_t1.o obj-$(CONFIG_MICROSEMI_PHY) += mscc.o obj-$(CONFIG_NATIONAL_PHY) += national.o obj-$(CONFIG_NXP_TJA11XX_PHY) += nxp-tja11xx.o obj-$(CONFIG_QSEMI_PHY) += qsemi.o obj-$(CONFIG_REALTEK_PHY) += realtek.o obj-$(CONFIG_RENESAS_PHY) += uPD60620.o obj-$(CONFIG_ROCKCHIP_PHY) += rockchip.o obj-$(CONFIG_SMSC_PHY) += smsc.o obj-$(CONFIG_STE10XP) += ste10Xp.o obj-$(CONFIG_TERANETICS_PHY) += teranetics.o obj-$(CONFIG_VITESSE_PHY) += vitesse.o obj-$(CONFIG_XILINX_GMII2RGMII) += xilinx_gmii2rgmii.o net/hamradio/Kconfig 0000644 00000017541 14722053667 0010445 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MKISS tristate "Serial port KISS driver" depends on AX25 && TTY select CRC16 ---help--- KISS is a protocol used for the exchange of data between a computer and a Terminal Node Controller (a small embedded system commonly used for networking over AX.25 amateur radio connections; it connects the computer's serial port with the radio's microphone input and speaker output). Although KISS is less advanced than the 6pack protocol, it has the advantage that it is already supported by most modern TNCs without the need for a firmware upgrade. To compile this driver as a module, choose M here: the module will be called mkiss. config 6PACK tristate "Serial port 6PACK driver" depends on AX25 && TTY ---help--- 6pack is a transmission protocol for the data exchange between your PC and your TNC (the Terminal Node Controller acts as a kind of modem connecting your computer's serial port to your radio's microphone input and speaker output). This protocol can be used as an alternative to KISS for networking over AX.25 amateur radio connections, but it has some extended functionality. Note that this driver is still experimental and might cause problems. For details about the features and the usage of the driver, read <file:Documentation/networking/6pack.txt>. To compile this driver as a module, choose M here: the module will be called 6pack. config BPQETHER tristate "BPQ Ethernet driver" depends on AX25 help AX.25 is the protocol used for computer communication over amateur radio. If you say Y here, you will be able to send and receive AX.25 traffic over Ethernet (also called "BPQ AX.25"), which could be useful if some other computer on your local network has a direct amateur radio connection. config DMASCC tristate "High-speed (DMA) SCC driver for AX.25" depends on ISA && AX25 && BROKEN_ON_SMP && ISA_DMA_API ---help--- This is a driver for high-speed SCC boards, i.e. those supporting DMA on one port. You usually use those boards to connect your computer to an amateur radio modem (such as the WA4DSY 56kbps modem), in order to send and receive AX.25 packet radio network traffic. Currently, this driver supports Ottawa PI/PI2, Paccomm/Gracilis PackeTwin, and S5SCC/DMA boards. They are detected automatically. If you have one of these cards, say Y here and read the AX25-HOWTO, available from <http://www.tldp.org/docs.html#howto>. This driver can operate multiple boards simultaneously. If you compile it as a module (by saying M instead of Y), it will be called dmascc. If you don't pass any parameter to the driver, all possible I/O addresses are probed. This could irritate other devices that are currently not in use. You may specify the list of addresses to be probed by "dmascc.io=addr1,addr2,..." (when compiled into the kernel image) or "io=addr1,addr2,..." (when loaded as a module). The network interfaces will be called dmascc0 and dmascc1 for the board detected first, dmascc2 and dmascc3 for the second one, and so on. Before you configure each interface with ifconfig, you MUST set certain parameters, such as channel access timing, clock mode, and DMA channel. This is accomplished with a small utility program, dmascc_cfg, available at <http://www.linux-ax25.org/wiki/Ax25-tools>. Please be sure to get at least version 1.27 of dmascc_cfg, as older versions will not work with the current driver. config SCC tristate "Z8530 SCC driver" depends on ISA && AX25 && ISA_DMA_API ---help--- These cards are used to connect your Linux box to an amateur radio in order to communicate with other computers. If you want to use this, read <file:Documentation/networking/z8530drv.txt> and the AX25-HOWTO, available from <http://www.tldp.org/docs.html#howto>. Also make sure to say Y to "Amateur Radio AX.25 Level 2" support. To compile this driver as a module, choose M here: the module will be called scc. config SCC_DELAY bool "additional delay for PA0HZP OptoSCC compatible boards" depends on SCC help Say Y here if you experience problems with the SCC driver not working properly; please read <file:Documentation/networking/z8530drv.txt> for details. If unsure, say N. config SCC_TRXECHO bool "support for TRX that feedback the tx signal to rx" depends on SCC help Some transmitters feed the transmitted signal back to the receive line. Say Y here to foil this by explicitly disabling the receiver during data transmission. If in doubt, say Y. config BAYCOM_SER_FDX tristate "BAYCOM ser12 fullduplex driver for AX.25" depends on AX25 && !S390 select CRC_CCITT ---help--- This is one of two drivers for Baycom style simple amateur radio modems that connect to a serial interface. The driver supports the ser12 design in full-duplex mode. In addition, it allows the baudrate to be set between 300 and 4800 baud (however not all modems support all baudrates). This is the preferred driver. The next driver, "BAYCOM ser12 half-duplex driver for AX.25" is the old driver and still provided in case this driver does not work with your serial interface chip. To configure the driver, use the sethdlc utility available in the standard ax25 utilities package. For information on the modems, see <http://www.baycom.de/> and <file:Documentation/networking/baycom.txt>. To compile this driver as a module, choose M here: the module will be called baycom_ser_fdx. This is recommended. config BAYCOM_SER_HDX tristate "BAYCOM ser12 halfduplex driver for AX.25" depends on AX25 && !S390 select CRC_CCITT ---help--- This is one of two drivers for Baycom style simple amateur radio modems that connect to a serial interface. The driver supports the ser12 design in half-duplex mode. This is the old driver. It is still provided in case your serial interface chip does not work with the full-duplex driver. This driver is deprecated. To configure the driver, use the sethdlc utility available in the standard ax25 utilities package. For information on the modems, see <http://www.baycom.de/> and <file:Documentation/networking/baycom.txt>. To compile this driver as a module, choose M here: the module will be called baycom_ser_hdx. This is recommended. config BAYCOM_PAR tristate "BAYCOM picpar and par96 driver for AX.25" depends on PARPORT && AX25 select CRC_CCITT ---help--- This is a driver for Baycom style simple amateur radio modems that connect to a parallel interface. The driver supports the picpar and par96 designs. To configure the driver, use the sethdlc utility available in the standard ax25 utilities package. For information on the modems, see <http://www.baycom.de/> and the file <file:Documentation/networking/baycom.txt>. To compile this driver as a module, choose M here: the module will be called baycom_par. This is recommended. config BAYCOM_EPP tristate "BAYCOM epp driver for AX.25" depends on PARPORT && AX25 && !64BIT select CRC_CCITT ---help--- This is a driver for Baycom style simple amateur radio modems that connect to a parallel interface. The driver supports the EPP designs. To configure the driver, use the sethdlc utility available in the standard ax25 utilities package. For information on the modems, see <http://www.baycom.de/> and the file <file:Documentation/networking/baycom.txt>. To compile this driver as a module, choose M here: the module will be called baycom_epp. This is recommended. config YAM tristate "YAM driver for AX.25" depends on AX25 && !S390 help The YAM is a modem for packet radio which connects to the serial port and includes some of the functions of a Terminal Node Controller. If you have one of those, say Y here. To compile this driver as a module, choose M here: the module will be called yam. net/hamradio/Makefile 0000644 00000001441 14722053667 0010572 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux AX.25 and HFMODEM device drivers. # # # 19971130 Moved the amateur radio related network drivers from # drivers/net/ to drivers/hamradio for easier maintenance. # Joerg Reuter DL1BKE <jreuter@yaina.de> # # 20000806 Rewritten to use lists instead of if-statements. # Christoph Hellwig <hch@infradead.org> # obj-$(CONFIG_DMASCC) += dmascc.o obj-$(CONFIG_SCC) += scc.o obj-$(CONFIG_MKISS) += mkiss.o obj-$(CONFIG_6PACK) += 6pack.o obj-$(CONFIG_YAM) += yam.o obj-$(CONFIG_BPQETHER) += bpqether.o obj-$(CONFIG_BAYCOM_SER_FDX) += baycom_ser_fdx.o hdlcdrv.o obj-$(CONFIG_BAYCOM_SER_HDX) += baycom_ser_hdx.o hdlcdrv.o obj-$(CONFIG_BAYCOM_PAR) += baycom_par.o hdlcdrv.o obj-$(CONFIG_BAYCOM_EPP) += baycom_epp.o hdlcdrv.o net/hippi/Kconfig 0000644 00000002566 14722053667 0007773 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # HIPPI network device configuration # config HIPPI bool "HIPPI driver support" depends on INET && PCI ---help--- HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and 1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI can run over copper (25m) or fiber (300m on multi-mode or 10km on single-mode). HIPPI networks are commonly used for clusters and to connect to super computers. If you are connected to a HIPPI network and have a HIPPI network card in your computer that you want to use under Linux, say Y here (you must also remember to enable the driver for your HIPPI card below). Most people will say N here. if HIPPI config ROADRUNNER tristate "Essential RoadRunner HIPPI PCI adapter support" depends on PCI ---help--- Say Y here if this is your PCI HIPPI network card. To compile this driver as a module, choose M here: the module will be called rrunner. If unsure, say N. config ROADRUNNER_LARGE_RINGS bool "Use large TX/RX rings" depends on ROADRUNNER ---help--- If you say Y here, the RoadRunner driver will preallocate up to 2 MB of additional memory to allow for fastest operation, both for transmitting and receiving. This memory cannot be used by any other kernel code or by user space programs. Say Y here only if you have the memory. endif # HIPPI net/hippi/Makefile 0000644 00000000204 14722053667 0010113 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the HIPPI network device drivers. # obj-$(CONFIG_ROADRUNNER) += rrunner.o net/fddi/Kconfig 0000644 00000006040 14722053667 0007557 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # FDDI network device configuration # config FDDI tristate "FDDI driver support" depends on PCI || EISA || TC ---help--- Fiber Distributed Data Interface is a high speed local area network design; essentially a replacement for high speed Ethernet. FDDI can run over copper or fiber. If you are connected to such a network and want a driver for the FDDI card in your computer, say Y here (and then also Y to the driver for your FDDI card, below). Most people will say N. if FDDI config DEFZA tristate "DEC FDDIcontroller 700/700-C (DEFZA-xx) support" depends on FDDI && TC help This is support for the DEC FDDIcontroller 700 (DEFZA-AA, fiber) and 700-C (DEFZA-CA, copper) TURBOchannel network cards which can connect you to a local FDDI network. To compile this driver as a module, choose M here: the module will be called defza. If unsure, say N. config DEFXX tristate "Digital DEFTA/DEFEA/DEFPA adapter support" depends on FDDI && (PCI || EISA || TC) ---help--- This is support for the DIGITAL series of TURBOchannel (DEFTA), EISA (DEFEA) and PCI (DEFPA) controllers which can connect you to a local FDDI network. To compile this driver as a module, choose M here: the module will be called defxx. If unsure, say N. config DEFXX_MMIO bool prompt "Use MMIO instead of IOP" if PCI || EISA depends on DEFXX default n if EISA default y ---help--- This instructs the driver to use EISA or PCI memory-mapped I/O (MMIO) as appropriate instead of programmed I/O ports (IOP). Enabling this gives an improvement in processing time in parts of the driver, but it requires a memory window to be configured for EISA (DEFEA) adapters that may not always be available. Conversely some PCIe host bridges do not support IOP, so MMIO may be required to access PCI (DEFPA) adapters on downstream PCI buses with some systems. TURBOchannel does not have the concept of I/O ports, so MMIO is always used for these (DEFTA) adapters. If unsure, say N. config SKFP tristate "SysKonnect FDDI PCI support" depends on FDDI && PCI select BITREVERSE ---help--- Say Y here if you have a SysKonnect FDDI PCI adapter. The following adapters are supported by this driver: - SK-5521 (SK-NET FDDI-UP) - SK-5522 (SK-NET FDDI-UP DAS) - SK-5541 (SK-NET FDDI-FP) - SK-5543 (SK-NET FDDI-LP) - SK-5544 (SK-NET FDDI-LP DAS) - SK-5821 (SK-NET FDDI-UP64) - SK-5822 (SK-NET FDDI-UP64 DAS) - SK-5841 (SK-NET FDDI-FP64) - SK-5843 (SK-NET FDDI-LP64) - SK-5844 (SK-NET FDDI-LP64 DAS) - Netelligent 100 FDDI DAS Fibre SC - Netelligent 100 FDDI SAS Fibre SC - Netelligent 100 FDDI DAS UTP - Netelligent 100 FDDI SAS UTP - Netelligent 100 FDDI SAS Fibre MIC Read <file:Documentation/networking/skfp.txt> for information about the driver. Questions concerning this driver can be addressed to: <linux@syskonnect.de> To compile this driver as a module, choose M here: the module will be called skfp. This is recommended. endif # FDDI net/fddi/skfp/Makefile 0000644 00000001465 14722053667 0010665 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the SysKonnect FDDI PCI adapter driver # obj-$(CONFIG_SKFP) += skfp.o skfp-objs := skfddi.o hwmtm.o fplustm.o smt.o cfm.o \ ecm.o pcmplc.o pmf.o queue.o rmt.o \ smtdef.o smtinit.o smttimer.o srf.o hwt.o \ drvfbi.o ess.o # NOTE: # Compiling this driver produces some warnings (and some more are # switched off below), but I did not fix this, because the Hardware # Module source (see skfddi.c for details) is used for different # drivers, and fixing it for Linux might bring problems on other # projects. To keep the source common for all those drivers (and # thus simplify fixes to it), please do not clean it up! ccflags-y := -DPCI -DMEM_MAPPED_IO -Wno-strict-prototypes net/fddi/Makefile 0000644 00000000275 14722053667 0007720 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Linux FDDI network device drivers. # obj-$(CONFIG_DEFXX) += defxx.o obj-$(CONFIG_DEFZA) += defza.o obj-$(CONFIG_SKFP) += skfp/ net/ipvlan/Makefile 0000644 00000000407 14722053667 0010300 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Ethernet Ipvlan driver # obj-$(CONFIG_IPVLAN) += ipvlan.o obj-$(CONFIG_IPVTAP) += ipvtap.o ipvlan-objs-$(CONFIG_IPVLAN_L3S) += ipvlan_l3s.o ipvlan-objs := ipvlan_core.o ipvlan_main.o $(ipvlan-objs-y) net/hyperv/Kconfig 0000644 00000000354 14722053667 0010170 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config HYPERV_NET tristate "Microsoft Hyper-V virtual network driver" depends on HYPERV select UCS2_STRING select NLS help Select this option to enable the Hyper-V virtual network driver. net/hyperv/Makefile 0000644 00000000224 14722053667 0010321 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_HYPERV_NET) += hv_netvsc.o hv_netvsc-y := netvsc_drv.o netvsc.o rndis_filter.o netvsc_trace.o net/arcnet/Kconfig 0000644 00000011435 14722053667 0010131 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Arcnet configuration # menuconfig ARCNET depends on NETDEVICES && (ISA || PCI || PCMCIA) tristate "ARCnet support" ---help--- If you have a network card of this type, say Y and check out the (arguably) beautiful poetry in <file:Documentation/networking/arcnet.txt>. You need both this driver, and the driver for the particular ARCnet chipset of your card. If you don't know, then it's probably a COM90xx type card, so say Y (or M) to "ARCnet COM90xx chipset support" below. To compile this driver as a module, choose M here. The module will be called arcnet. if ARCNET config ARCNET_1201 tristate "Enable standard ARCNet packet format (RFC 1201)" help This allows you to use RFC1201 with your ARCnet card via the virtual arc0 device. You need to say Y here to communicate with industry-standard RFC1201 implementations, like the arcether.com packet driver or most DOS/Windows ODI drivers. Please read the ARCnet documentation in <file:Documentation/networking/arcnet.txt> for more information about using arc0. config ARCNET_1051 tristate "Enable old ARCNet packet format (RFC 1051)" ---help--- This allows you to use RFC1051 with your ARCnet card via the virtual arc0s device. You only need arc0s if you want to talk to ARCnet software complying with the "old" standard, specifically, the DOS arcnet.com packet driver, Amigas running AmiTCP, and some variants of NetBSD. You do not need to say Y here to communicate with industry-standard RFC1201 implementations, like the arcether.com packet driver or most DOS/Windows ODI drivers. RFC1201 is included automatically as the arc0 device. Please read the ARCnet documentation in <file:Documentation/networking/arcnet.txt> for more information about using arc0e and arc0s. config ARCNET_RAW tristate "Enable raw mode packet interface" help ARCnet "raw mode" packet encapsulation, no soft headers. Unlikely to work unless talking to a copy of the same Linux arcnet driver, but perhaps marginally faster in that case. config ARCNET_CAP tristate "Enable CAP mode packet interface" help ARCnet "cap mode" packet encapsulation. Used to get the hardware acknowledge back to userspace. After the initial protocol byte every packet is stuffed with an extra 4 byte "cookie" which doesn't actually appear on the network. After transmit the driver will send back a packet with protocol byte 0 containing the status of the transmission: 0=no hardware acknowledge 1=excessive nak 2=transmission accepted by the receiver hardware Received packets are also stuffed with the extra 4 bytes but it will be random data. Cap only listens to protocol 1-8. config ARCNET_COM90xx tristate "ARCnet COM90xx (normal) chipset driver" help This is the chipset driver for the standard COM90xx cards. If you have always used the old ARCnet driver without knowing what type of card you had, this is probably the one for you. To compile this driver as a module, choose M here. The module will be called com90xx. config ARCNET_COM90xxIO tristate "ARCnet COM90xx (IO mapped) chipset driver" ---help--- This is the chipset driver for the COM90xx cards, using them in IO-mapped mode instead of memory-mapped mode. This is slower than the normal driver. Only use it if your card doesn't support shared memory. To compile this driver as a module, choose M here. The module will be called com90io. config ARCNET_RIM_I tristate "ARCnet COM90xx (RIM I) chipset driver" ---help--- This is yet another chipset driver for the COM90xx cards, but this time only using memory-mapped mode, and no IO ports at all. This driver is completely untested, so if you have one of these cards, please mail <dwmw2@infradead.org>, especially if it works! To compile this driver as a module, choose M here. The module will be called arc-rimi. config ARCNET_COM20020 tristate "ARCnet COM20020 chipset driver" depends on LEDS_CLASS help This is the driver for the new COM20020 chipset. It supports such things as promiscuous mode, so packet sniffing is possible, and extra diagnostic information. To compile this driver as a module, choose M here. The module will be called com20020. config ARCNET_COM20020_ISA tristate "Support for COM20020 on ISA" depends on ARCNET_COM20020 && ISA config ARCNET_COM20020_PCI tristate "Support for COM20020 on PCI" depends on ARCNET_COM20020 && PCI config ARCNET_COM20020_CS tristate "COM20020 ARCnet PCMCIA support" depends on ARCNET_COM20020 && PCMCIA help Say Y here if you intend to attach this type of ARCnet PCMCIA card to your computer. To compile this driver as a module, choose M here: the module will be called com20020_cs. If unsure, say N. endif # ARCNET net/arcnet/Makefile 0000644 00000001122 14722053667 0010256 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # Makefile for linux/drivers/net/arcnet # obj-$(CONFIG_ARCNET) += arcnet.o obj-$(CONFIG_ARCNET_1201) += rfc1201.o obj-$(CONFIG_ARCNET_1051) += rfc1051.o obj-$(CONFIG_ARCNET_RAW) += arc-rawmode.o obj-$(CONFIG_ARCNET_CAP) += capmode.o obj-$(CONFIG_ARCNET_COM90xx) += com90xx.o obj-$(CONFIG_ARCNET_COM90xxIO) += com90io.o obj-$(CONFIG_ARCNET_RIM_I) += arc-rimi.o obj-$(CONFIG_ARCNET_COM20020) += com20020.o obj-$(CONFIG_ARCNET_COM20020_ISA) += com20020-isa.o obj-$(CONFIG_ARCNET_COM20020_PCI) += com20020-pci.o obj-$(CONFIG_ARCNET_COM20020_CS) += com20020_cs.o net/wireless/atmel/Kconfig 0000644 00000003421 14722053667 0011610 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_ATMEL bool "Atmel devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_ATMEL config ATMEL tristate "Atmel at76c50x chipset 802.11b support" depends on CFG80211 && (PCI || PCMCIA) select WIRELESS_EXT select WEXT_PRIV select FW_LOADER select CRC32 ---help--- A driver 802.11b wireless cards based on the Atmel fast-vnet chips. This driver supports standard Linux wireless extensions. Many cards based on this chipset do not have flash memory and need their firmware loaded at start-up. If yours is one of these, you will need to provide a firmware image to be loaded into the card by the driver. The Atmel firmware package can be downloaded from <http://www.thekelleys.org.uk/atmel> config PCI_ATMEL tristate "Atmel at76c506 PCI cards" depends on ATMEL && PCI ---help--- Enable support for PCI and mini-PCI cards containing the Atmel at76c506 chip. config PCMCIA_ATMEL tristate "Atmel at76c502/at76c504 PCMCIA cards" depends on ATMEL && PCMCIA select WIRELESS_EXT select FW_LOADER select CRC32 ---help--- Enable support for PCMCIA cards containing the Atmel at76c502 and at76c504 chips. config AT76C50X_USB tristate "Atmel at76c503/at76c505/at76c505a USB cards" depends on MAC80211 && USB select FW_LOADER ---help--- Enable support for USB Wireless devices using Atmel at76c503, at76c505 or at76c505a chips. endif # WLAN_VENDOR_ATMEL net/wireless/atmel/Makefile 0000644 00000000344 14722053667 0011746 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ATMEL) += atmel.o obj-$(CONFIG_PCI_ATMEL) += atmel_pci.o obj-$(CONFIG_PCMCIA_ATMEL) += atmel_cs.o obj-$(CONFIG_AT76C50X_USB) += at76c50x-usb.o net/wireless/rsi/Kconfig 0000644 00000003265 14722053667 0011311 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_RSI bool "Redpine Signals Inc devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_RSI config RSI_91X tristate "Redpine Signals Inc 91x WLAN driver support" select BT_HCIRSI if RSI_COEX depends on MAC80211 ---help--- This option enabes support for RSI 1x1 devices. Select M (recommended), if you have a RSI 1x1 wireless module. config RSI_DEBUGFS bool "Redpine Signals Inc debug support" depends on RSI_91X default y ---help--- Say Y, if you would like to enable debug support. This option creates debugfs entries config RSI_SDIO tristate "Redpine Signals SDIO bus support" depends on MMC && RSI_91X default m ---help--- This option enables the SDIO bus support in rsi drivers. Select M (recommended), if you have a RSI 1x1 wireless module. config RSI_USB tristate "Redpine Signals USB bus support" depends on USB && RSI_91X default m ---help--- This option enables the USB bus support in rsi drivers. Select M (recommended), if you have a RSI 1x1 wireless module. config RSI_COEX bool "Redpine Signals WLAN BT Coexistence support" depends on BT && RSI_91X depends on !(BT=m && RSI_91X=y) default y ---help--- This option enables the WLAN BT coex support in rsi drivers. Select M (recommended), if you have want to use this feature and you have RS9113 module. endif # WLAN_VENDOR_RSI net/wireless/rsi/Makefile 0000644 00000001011 14722053667 0011431 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rsi_91x-y += rsi_91x_main.o rsi_91x-y += rsi_91x_core.o rsi_91x-y += rsi_91x_mac80211.o rsi_91x-y += rsi_91x_mgmt.o rsi_91x-y += rsi_91x_hal.o rsi_91x-y += rsi_91x_ps.o rsi_91x-$(CONFIG_RSI_COEX) += rsi_91x_coex.o rsi_91x-$(CONFIG_RSI_DEBUGFS) += rsi_91x_debugfs.o rsi_usb-y += rsi_91x_usb.o rsi_91x_usb_ops.o rsi_sdio-y += rsi_91x_sdio.o rsi_91x_sdio_ops.o obj-$(CONFIG_RSI_91X) += rsi_91x.o obj-$(CONFIG_RSI_SDIO) += rsi_sdio.o obj-$(CONFIG_RSI_USB) += rsi_usb.o net/wireless/broadcom/b43/Kconfig 0000644 00000012100 14722053667 0012656 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config B43 tristate "Broadcom 43xx wireless support (mac80211 stack)" depends on (BCMA_POSSIBLE || SSB_POSSIBLE) && MAC80211 && HAS_DMA select BCMA if B43_BCMA select SSB if B43_SSB select FW_LOADER select CORDIC ---help--- b43 is a driver for the Broadcom 43xx series wireless devices. Check "lspci" for something like "Broadcom Corporation BCM43XX 802.11 Wireless LAN Controller" to determine whether you own such a device. This driver supports the new BCM43xx IEEE 802.11G devices, but not the old IEEE 802.11B devices. Old devices are supported by the b43legacy driver. Note that this has nothing to do with the standard that your AccessPoint supports (A, B, G or a combination). IEEE 802.11G devices can talk to IEEE 802.11B AccessPoints. It is safe to include both b43 and b43legacy as the underlying glue layer will automatically load the correct version for your device. This driver uses V4 firmware, which must be installed separately using b43-fwcutter. This driver can be built as a module (recommended) that will be called "b43". If unsure, say M. config B43_BCMA bool config B43_SSB bool choice prompt "Supported bus types" depends on B43 default B43_BUSES_BCMA_AND_SSB config B43_BUSES_BCMA_AND_SSB bool "BCMA and SSB" depends on BCMA_POSSIBLE && SSB_POSSIBLE select B43_BCMA select B43_SSB config B43_BUSES_BCMA bool "BCMA only" depends on BCMA_POSSIBLE select B43_BCMA config B43_BUSES_SSB bool "SSB only" depends on SSB_POSSIBLE select B43_SSB endchoice # Auto-select SSB PCI-HOST support, if possible config B43_PCI_AUTOSELECT bool depends on B43 && SSB_PCIHOST_POSSIBLE select SSB_PCIHOST select SSB_B43_PCI_BRIDGE default y # Auto-select SSB PCICORE driver, if possible config B43_PCICORE_AUTOSELECT bool depends on B43 && SSB_DRIVER_PCICORE_POSSIBLE select SSB_DRIVER_PCICORE default y config B43_SDIO bool "Broadcom 43xx SDIO device support" depends on B43 && B43_SSB && SSB_SDIOHOST_POSSIBLE select SSB_SDIOHOST ---help--- Broadcom 43xx device support for Soft-MAC SDIO devices. With this config option you can drive Soft-MAC b43 cards with a Secure Digital I/O interface. This includes the WLAN daughter card found on the Nintendo Wii video game console. Note that this does not support Broadcom 43xx Full-MAC devices. It's safe to select Y here, even if you don't have a B43 SDIO device. If unsure, say N. #Data transfers to the device via PIO. We want it as a fallback even # if we can do DMA. config B43_BCMA_PIO bool depends on B43 && B43_BCMA select BCMA_BLOCKIO default y config B43_PIO bool depends on B43 && B43_SSB select SSB_BLOCKIO default y config B43_PHY_G bool "Support for G-PHY (802.11g) devices" depends on B43 && B43_SSB default y ---help--- This PHY type can be found in the following chipsets: PCI: BCM4306, BCM4311, BCM4318 SoC: BCM4712, BCM5352E config B43_PHY_N bool "Support for N-PHY (the main 802.11n series) devices" depends on B43 default y ---help--- This PHY type can be found in the following chipsets: PCI: BCM4321, BCM4322, BCM43222, BCM43224, BCM43225, BCM43131, BCM43217, BCM43227, BCM43228 SoC: BCM4716, BCM4717, BCM4718, BCM5356, BCM5357, BCM5358 config B43_PHY_LP bool "Support for LP-PHY (low-power 802.11g) devices" depends on B43 && B43_SSB default y ---help--- The LP-PHY is a low-power PHY built into some notebooks and embedded devices. It supports 802.11a/b/g (802.11a support is optional, and currently disabled). config B43_PHY_HT bool "Support for HT-PHY (high throughput 802.11n) devices" depends on B43 && B43_BCMA default y ---help--- This PHY type with 3x3:3 MIMO can be found in the BCM4331 PCI chipset. config B43_PHY_LCN bool "Support for LCN-PHY devices (BROKEN)" depends on B43 && BROKEN ---help--- Support for the LCN-PHY. Say N, this is BROKEN and crashes driver. config B43_PHY_AC bool "Support for AC-PHY (802.11ac) devices (BROKEN)" depends on B43 && B43_BCMA && BROKEN ---help--- This PHY type can be found in the following chipsets: PCI: BCM4352, BCM4360 Say N, this is BROKEN and crashes driver. # This config option automatically enables b43 LEDS support, # if it's possible. config B43_LEDS bool depends on B43 && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43) default y # This config option automatically enables b43 HW-RNG support, # if the HW-RNG core is enabled. config B43_HWRNG bool depends on B43 && (HW_RANDOM = y || HW_RANDOM = B43) default y config B43_DEBUG bool "Broadcom 43xx debugging" depends on B43 ---help--- Broadcom 43xx debugging. This adds additional runtime sanity checks and statistics to the driver. These checks and statistics might be expensive and hurt the runtime performance of your system. This also adds the b43 debugfs interface. Do not enable this, unless you are debugging the driver. Say N, if you are a distributor or user building a release kernel for production use. Only say Y, if you are debugging a problem in the b43 driver sourcecode. net/wireless/broadcom/b43/Makefile 0000644 00000001601 14722053667 0013017 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 b43-y += main.o b43-y += bus.o b43-$(CONFIG_B43_PHY_G) += phy_g.o tables.o lo.o wa.o b43-$(CONFIG_B43_PHY_N) += tables_nphy.o b43-$(CONFIG_B43_PHY_N) += radio_2055.o b43-$(CONFIG_B43_PHY_N) += radio_2056.o b43-$(CONFIG_B43_PHY_N) += radio_2057.o b43-y += phy_common.o b43-$(CONFIG_B43_PHY_N) += phy_n.o b43-$(CONFIG_B43_PHY_LP) += phy_lp.o b43-$(CONFIG_B43_PHY_LP) += tables_lpphy.o b43-$(CONFIG_B43_PHY_HT) += phy_ht.o b43-$(CONFIG_B43_PHY_HT) += tables_phy_ht.o b43-$(CONFIG_B43_PHY_HT) += radio_2059.o b43-$(CONFIG_B43_PHY_LCN) += phy_lcn.o tables_phy_lcn.o b43-$(CONFIG_B43_PHY_AC) += phy_ac.o b43-y += sysfs.o b43-y += xmit.o b43-y += dma.o b43-y += pio.o b43-y += rfkill.o b43-y += ppr.o b43-$(CONFIG_B43_LEDS) += leds.o b43-$(CONFIG_B43_SDIO) += sdio.o b43-$(CONFIG_B43_DEBUG) += debugfs.o obj-$(CONFIG_B43) += b43.o net/wireless/broadcom/Kconfig 0000644 00000001221 14722053667 0012270 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_BROADCOM bool "Broadcom devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_BROADCOM source "drivers/net/wireless/broadcom/b43/Kconfig" source "drivers/net/wireless/broadcom/b43legacy/Kconfig" source "drivers/net/wireless/broadcom/brcm80211/Kconfig" endif # WLAN_VENDOR_BROADCOM net/wireless/broadcom/brcm80211/brcmutil/Makefile 0000644 00000000414 14722053667 0015570 0 ustar 00 # SPDX-License-Identifier: ISC # # Makefile fragment for Broadcom 802.11n Networking Device Driver Utilities # # Copyright (c) 2011 Broadcom Corporation # ccflags-y := -I $(srctree)/$(src)/../include obj-$(CONFIG_BRCMUTIL) += brcmutil.o brcmutil-objs = utils.o d11.o net/wireless/broadcom/brcm80211/Kconfig 0000644 00000002504 14722053667 0013614 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config BRCMUTIL tristate config BRCMSMAC tristate "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver" depends on MAC80211 depends on BCMA_POSSIBLE select BCMA select NEW_LEDS if BCMA_DRIVER_GPIO select LEDS_CLASS if BCMA_DRIVER_GPIO select BRCMUTIL select FW_LOADER select CORDIC ---help--- This module adds support for PCIe wireless adapters based on Broadcom IEEE802.11n SoftMAC chipsets. It also has WLAN led support, which will be available if you select BCMA_DRIVER_GPIO. If you choose to build a module, the driver will be called brcmsmac.ko. source "drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig" config BRCM_TRACING bool "Broadcom device tracing" depends on BRCMSMAC || BRCMFMAC ---help--- If you say Y here, the Broadcom wireless drivers will register with ftrace to dump event information into the trace ringbuffer. Tracing can be enabled at runtime to aid in debugging wireless issues. This option adds a small amount of overhead when tracing is disabled. If unsure, say Y to allow developers to better help you when wireless problems occur. config BRCMDBG bool "Broadcom driver debug functions" depends on BRCMSMAC || BRCMFMAC select WANT_DEV_COREDUMP if BRCMFMAC ---help--- Selecting this enables additional code for debug purposes. net/wireless/broadcom/brcm80211/brcmsmac/Makefile 0000644 00000002446 14722053667 0015545 0 ustar 00 # # Makefile fragment for Broadcom 802.11n Networking Device Driver # # Copyright (c) 2010 Broadcom Corporation # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ccflags-y := \ -I $(srctree)/$(src) \ -I $(srctree)/$(src)/phy \ -I $(srctree)/$(src)/../include brcmsmac-y := \ mac80211_if.o \ ucode_loader.o \ ampdu.o \ antsel.o \ channel.o \ main.o \ phy_shim.o \ pmu.o \ rate.o \ stf.o \ aiutils.o \ phy/phy_cmn.o \ phy/phy_lcn.o \ phy/phy_n.o \ phy/phytbl_lcn.o \ phy/phytbl_n.o \ phy/phy_qmath.o \ dma.o \ brcms_trace_events.o \ debug.o brcmsmac-$(CONFIG_BCMA_DRIVER_GPIO) += led.o obj-$(CONFIG_BRCMSMAC) += brcmsmac.o net/wireless/broadcom/brcm80211/brcmfmac/Kconfig 0000644 00000002706 14722053667 0015372 0 ustar 00 config BRCMFMAC tristate "Broadcom FullMAC WLAN driver" depends on CFG80211 select BRCMUTIL help This module adds support for wireless adapters based on Broadcom FullMAC chipsets. It has to work with at least one of the bus interface support. If you choose to build a module, it'll be called brcmfmac.ko. config BRCMFMAC_PROTO_BCDC bool config BRCMFMAC_PROTO_MSGBUF bool config BRCMFMAC_SDIO bool "SDIO bus interface support for FullMAC driver" depends on (MMC = y || MMC = BRCMFMAC) depends on BRCMFMAC select BRCMFMAC_PROTO_BCDC select FW_LOADER default y help This option enables the SDIO bus interface support for Broadcom IEEE802.11n embedded FullMAC WLAN driver. Say Y if you want to use the driver for a SDIO wireless card. config BRCMFMAC_USB bool "USB bus interface support for FullMAC driver" depends on (USB = y || USB = BRCMFMAC) depends on BRCMFMAC select BRCMFMAC_PROTO_BCDC select FW_LOADER help This option enables the USB bus interface support for Broadcom IEEE802.11n embedded FullMAC WLAN driver. Say Y if you want to use the driver for an USB wireless card. config BRCMFMAC_PCIE bool "PCIE bus interface support for FullMAC driver" depends on BRCMFMAC depends on PCI select BRCMFMAC_PROTO_MSGBUF select FW_LOADER help This option enables the PCIE bus interface support for Broadcom IEEE802.11ac embedded FullMAC WLAN driver. Say Y if you want to use the driver for an PCIE wireless card. net/wireless/broadcom/brcm80211/brcmfmac/Makefile 0000644 00000001610 14722053667 0015520 0 ustar 00 # SPDX-License-Identifier: ISC # # Makefile fragment for Broadcom 802.11 Networking Device Driver # # Copyright (c) 2010 Broadcom Corporation # ccflags-y += \ -I $(srctree)/$(src) \ -I $(srctree)/$(src)/../include obj-$(CONFIG_BRCMFMAC) += brcmfmac.o brcmfmac-objs += \ cfg80211.o \ chip.o \ fwil.o \ fweh.o \ p2p.o \ proto.o \ common.o \ core.o \ firmware.o \ feature.o \ btcoex.o \ vendor.o \ pno.o brcmfmac-$(CONFIG_BRCMFMAC_PROTO_BCDC) += \ bcdc.o \ fwsignal.o brcmfmac-$(CONFIG_BRCMFMAC_PROTO_MSGBUF) += \ commonring.o \ flowring.o \ msgbuf.o brcmfmac-$(CONFIG_BRCMFMAC_SDIO) += \ sdio.o \ bcmsdh.o brcmfmac-$(CONFIG_BRCMFMAC_USB) += \ usb.o brcmfmac-$(CONFIG_BRCMFMAC_PCIE) += \ pcie.o brcmfmac-$(CONFIG_BRCMDBG) += \ debug.o brcmfmac-$(CONFIG_BRCM_TRACING) += \ tracepoint.o brcmfmac-$(CONFIG_OF) += \ of.o brcmfmac-$(CONFIG_DMI) += \ dmi.o net/wireless/broadcom/brcm80211/Makefile 0000644 00000000471 14722053667 0013752 0 ustar 00 # SPDX-License-Identifier: ISC # # Makefile fragment for Broadcom 802.11 Networking Device Driver # # Copyright (c) 2010 Broadcom Corporation # # common flags subdir-ccflags-$(CONFIG_BRCMDBG) += -DDEBUG obj-$(CONFIG_BRCMUTIL) += brcmutil/ obj-$(CONFIG_BRCMFMAC) += brcmfmac/ obj-$(CONFIG_BRCMSMAC) += brcmsmac/ net/wireless/broadcom/Makefile 0000644 00000000265 14722053667 0012434 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_B43) += b43/ obj-$(CONFIG_B43LEGACY) += b43legacy/ obj-$(CONFIG_BRCMFMAC) += brcm80211/ obj-$(CONFIG_BRCMSMAC) += brcm80211/ net/wireless/broadcom/b43legacy/Kconfig 0000644 00000005761 14722053667 0014062 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config B43LEGACY tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)" depends on SSB_POSSIBLE && MAC80211 && HAS_DMA select SSB select FW_LOADER ---help--- b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the Linksys WPC54G V1 PCMCIA devices. Newer 802.11g and 802.11a devices need b43. It is safe to include both b43 and b43legacy as the underlying glue layer will automatically load the correct version for your device. This driver uses V3 firmware, which must be installed separately using b43-fwcutter. This driver can be built as a module (recommended) that will be called "b43legacy". If unsure, say M. # Auto-select SSB PCI-HOST support, if possible config B43LEGACY_PCI_AUTOSELECT bool depends on B43LEGACY && SSB_PCIHOST_POSSIBLE select SSB_PCIHOST select SSB_B43_PCI_BRIDGE default y # Auto-select SSB PCICORE driver, if possible config B43LEGACY_PCICORE_AUTOSELECT bool depends on B43LEGACY && SSB_DRIVER_PCICORE_POSSIBLE select SSB_DRIVER_PCICORE default y # LED support # This config option automatically enables b43legacy LEDS support, # if it's possible. config B43LEGACY_LEDS bool depends on B43LEGACY && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43LEGACY) default y # This config option automatically enables b43 HW-RNG support, # if the HW-RNG core is enabled. config B43LEGACY_HWRNG bool depends on B43LEGACY && (HW_RANDOM = y || HW_RANDOM = B43LEGACY) default y config B43LEGACY_DEBUG bool "Broadcom 43xx-legacy debugging" depends on B43LEGACY default y ---help--- Say Y, because this information will help you get the driver running. This option generates a minimum of log output. config B43LEGACY_DMA bool depends on B43LEGACY config B43LEGACY_PIO bool depends on B43LEGACY choice prompt "Broadcom 43xx-legacy data transfer mode" depends on B43LEGACY default B43LEGACY_DMA_AND_PIO_MODE config B43LEGACY_DMA_AND_PIO_MODE bool "DMA + PIO" select B43LEGACY_DMA select B43LEGACY_PIO ---help--- Include both, Direct Memory Access (DMA) and Programmed I/O (PIO) data transfer modes. The mode actually used is selectable through the module parameter "pio". With pio=0 as a module parameter, the default DMA is used, otherwise PIO is used. If unsure, choose this option. config B43LEGACY_DMA_MODE bool "DMA (Direct Memory Access) only" select B43LEGACY_DMA ---help--- Only include Direct Memory Access (DMA). This reduces the size of the driver module, by omitting the PIO code. config B43LEGACY_PIO_MODE bool "PIO (Programmed I/O) only" select B43LEGACY_PIO ---help--- Only include Programmed I/O (PIO). This reduces the size of the driver module, by omitting the DMA code. Please note that PIO transfers are slow (compared to DMA). Also note that not all devices of the b43legacy series support PIO. You should use PIO only if DMA does not work for you. endchoice net/wireless/broadcom/b43legacy/Makefile 0000644 00000001046 14722053667 0014207 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # b43legacy core b43legacy-y += main.o b43legacy-y += ilt.o b43legacy-y += phy.o b43legacy-y += radio.o b43legacy-y += sysfs.o b43legacy-y += xmit.o # b43 RFKILL button support b43legacy-y += rfkill.o # b43legacy LED support b43legacy-$(CONFIG_B43LEGACY_LEDS) += leds.o # b43legacy debugging b43legacy-$(CONFIG_B43LEGACY_DEBUG) += debugfs.o # b43legacy DMA and PIO b43legacy-$(CONFIG_B43LEGACY_DMA) += dma.o b43legacy-$(CONFIG_B43LEGACY_PIO) += pio.o obj-$(CONFIG_B43LEGACY) += b43legacy.o net/wireless/cisco/Kconfig 0000644 00000004177 14722053667 0011617 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_CISCO bool "Cisco devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_CISCO config AIRO tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards" depends on CFG80211 && ISA_DMA_API && (PCI || BROKEN) select WIRELESS_EXT select CRYPTO select CRYPTO_BLKCIPHER select WEXT_SPY select WEXT_PRIV ---help--- This is the standard Linux driver to support Cisco/Aironet ISA and PCI 802.11 wireless cards. It supports the new 802.11b cards from Cisco (Cisco 34X, Cisco 35X - with or without encryption) as well as card before the Cisco acquisition (Aironet 4500, Aironet 4800, Aironet 4800B). This driver support both the standard Linux Wireless Extensions and Cisco proprietary API, so both the Linux Wireless Tools and the Cisco Linux utilities can be used to configure the card. The driver can be compiled as a module and will be named "airo". config AIRO_CS tristate "Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards" depends on CFG80211 && PCMCIA select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select CRYPTO select CRYPTO_AES select CRYPTO_CTR ---help--- This is the standard Linux driver to support Cisco/Aironet PCMCIA 802.11 wireless cards. This driver is the same as the Aironet driver part of the Linux Pcmcia package. It supports the new 802.11b cards from Cisco (Cisco 34X, Cisco 35X - with or without encryption) as well as card before the Cisco acquisition (Aironet 4500, Aironet 4800, Aironet 4800B). It also supports OEM of Cisco such as the DELL TrueMobile 4800 and Xircom 802.11b cards. This driver support both the standard Linux Wireless Extensions and Cisco proprietary API, so both the Linux Wireless Tools and the Cisco Linux utilities can be used to configure the card. endif # WLAN_VENDOR_CISCO net/wireless/cisco/Makefile 0000644 00000000161 14722053667 0011741 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_AIRO) += airo.o obj-$(CONFIG_AIRO_CS) += airo_cs.o airo.o net/wireless/ralink/Kconfig 0000644 00000001030 14722053667 0011760 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_RALINK bool "Ralink devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_RALINK source "drivers/net/wireless/ralink/rt2x00/Kconfig" endif # WLAN_VENDOR_RALINK net/wireless/ralink/Makefile 0000644 00000000110 14722053667 0012113 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_RT2X00) += rt2x00/ net/wireless/ralink/rt2x00/Kconfig 0000644 00000015772 14722053667 0013041 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig RT2X00 tristate "Ralink driver support" depends on MAC80211 && HAS_DMA ---help--- This will enable the support for the Ralink drivers, developed in the rt2x00 project <http://rt2x00.serialmonkey.com>. These drivers make use of the mac80211 stack. When building one of the individual drivers, the rt2x00 library will also be created. That library (when the driver is built as a module) will be called rt2x00lib. Additionally PCI and USB libraries will also be build depending on the types of drivers being selected, these libraries will be called rt2x00pci and rt2x00usb. if RT2X00 config RT2400PCI tristate "Ralink rt2400 (PCI/PCMCIA) support" depends on PCI select RT2X00_LIB_MMIO select RT2X00_LIB_PCI select EEPROM_93CX6 ---help--- This adds support for rt2400 wireless chipset family. Supported chips: RT2460. When compiled as a module, this driver will be called rt2400pci. config RT2500PCI tristate "Ralink rt2500 (PCI/PCMCIA) support" depends on PCI select RT2X00_LIB_MMIO select RT2X00_LIB_PCI select EEPROM_93CX6 ---help--- This adds support for rt2500 wireless chipset family. Supported chips: RT2560. When compiled as a module, this driver will be called rt2500pci. config RT61PCI tristate "Ralink rt2501/rt61 (PCI/PCMCIA) support" depends on PCI select RT2X00_LIB_PCI select RT2X00_LIB_MMIO select RT2X00_LIB_FIRMWARE select RT2X00_LIB_CRYPTO select CRC_ITU_T select EEPROM_93CX6 ---help--- This adds support for rt2501 wireless chipset family. Supported chips: RT2561, RT2561S & RT2661. When compiled as a module, this driver will be called rt61pci. config RT2800PCI tristate "Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support" depends on PCI select RT2800_LIB select RT2800_LIB_MMIO select RT2X00_LIB_MMIO select RT2X00_LIB_PCI select RT2X00_LIB_FIRMWARE select RT2X00_LIB_CRYPTO select CRC_CCITT select EEPROM_93CX6 ---help--- This adds support for rt27xx/rt28xx/rt30xx wireless chipset family. Supported chips: RT2760, RT2790, RT2860, RT2880, RT2890, RT3052, RT3090, RT3091 & RT3092 When compiled as a module, this driver will be called "rt2800pci.ko". if RT2800PCI config RT2800PCI_RT33XX bool "rt2800pci - Include support for rt33xx devices" default y ---help--- This adds support for rt33xx wireless chipset family to the rt2800pci driver. Supported chips: RT3390 config RT2800PCI_RT35XX bool "rt2800pci - Include support for rt35xx devices (EXPERIMENTAL)" default y ---help--- This adds support for rt35xx wireless chipset family to the rt2800pci driver. Supported chips: RT3060, RT3062, RT3562, RT3592 config RT2800PCI_RT53XX bool "rt2800pci - Include support for rt53xx devices (EXPERIMENTAL)" default y ---help--- This adds support for rt53xx wireless chipset family to the rt2800pci driver. Supported chips: RT5390 config RT2800PCI_RT3290 bool "rt2800pci - Include support for rt3290 devices (EXPERIMENTAL)" default y ---help--- This adds support for rt3290 wireless chipset family to the rt2800pci driver. Supported chips: RT3290 endif config RT2500USB tristate "Ralink rt2500 (USB) support" depends on USB select RT2X00_LIB_USB select RT2X00_LIB_CRYPTO ---help--- This adds support for rt2500 wireless chipset family. Supported chips: RT2571 & RT2572. When compiled as a module, this driver will be called rt2500usb. config RT73USB tristate "Ralink rt2501/rt73 (USB) support" depends on USB select RT2X00_LIB_USB select RT2X00_LIB_FIRMWARE select RT2X00_LIB_CRYPTO select CRC_ITU_T ---help--- This adds support for rt2501 wireless chipset family. Supported chips: RT2571W, RT2573 & RT2671. When compiled as a module, this driver will be called rt73usb. config RT2800USB tristate "Ralink rt27xx/rt28xx/rt30xx (USB) support" depends on USB select RT2800_LIB select RT2X00_LIB_USB select RT2X00_LIB_FIRMWARE select RT2X00_LIB_CRYPTO select CRC_CCITT ---help--- This adds support for rt27xx/rt28xx/rt30xx wireless chipset family. Supported chips: RT2770, RT2870 & RT3070, RT3071 & RT3072 When compiled as a module, this driver will be called "rt2800usb.ko". if RT2800USB config RT2800USB_RT33XX bool "rt2800usb - Include support for rt33xx devices" default y ---help--- This adds support for rt33xx wireless chipset family to the rt2800usb driver. Supported chips: RT3370 config RT2800USB_RT35XX bool "rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)" default y ---help--- This adds support for rt35xx wireless chipset family to the rt2800usb driver. Supported chips: RT3572 config RT2800USB_RT3573 bool "rt2800usb - Include support for rt3573 devices (EXPERIMENTAL)" ---help--- This enables support for RT3573 chipset based wireless USB devices in the rt2800usb driver. config RT2800USB_RT53XX bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)" ---help--- This adds support for rt53xx wireless chipset family to the rt2800usb driver. Supported chips: RT5370 config RT2800USB_RT55XX bool "rt2800usb - Include support for rt55xx devices (EXPERIMENTAL)" ---help--- This adds support for rt55xx wireless chipset family to the rt2800usb driver. Supported chips: RT5572 config RT2800USB_UNKNOWN bool "rt2800usb - Include support for unknown (USB) devices" default n ---help--- This adds support for rt2800usb devices that are known to have a rt28xx family compatible chipset, but for which the exact chipset is unknown. Support status for these devices is unknown, and enabling these devices may or may not work. endif config RT2800SOC tristate "Ralink WiSoC support" depends on SOC_RT288X || SOC_RT305X || SOC_MT7620 select RT2X00_LIB_SOC select RT2X00_LIB_MMIO select RT2X00_LIB_CRYPTO select RT2X00_LIB_FIRMWARE select RT2800_LIB select RT2800_LIB_MMIO ---help--- This adds support for Ralink WiSoC devices. Supported chips: RT2880, RT3050, RT3052, RT3350, RT3352. When compiled as a module, this driver will be called rt2800soc. config RT2800_LIB tristate config RT2800_LIB_MMIO tristate select RT2X00_LIB_MMIO select RT2800_LIB config RT2X00_LIB_MMIO tristate config RT2X00_LIB_PCI tristate select RT2X00_LIB config RT2X00_LIB_SOC tristate select RT2X00_LIB config RT2X00_LIB_USB tristate select RT2X00_LIB config RT2X00_LIB tristate config RT2X00_LIB_FIRMWARE bool select FW_LOADER config RT2X00_LIB_CRYPTO bool config RT2X00_LIB_LEDS bool default y if (RT2X00_LIB=y && LEDS_CLASS=y) || (RT2X00_LIB=m && LEDS_CLASS!=n) config RT2X00_LIB_DEBUGFS bool "Ralink debugfs support" depends on RT2X00_LIB && MAC80211_DEBUGFS ---help--- Enable creation of debugfs files for the rt2x00 drivers. These debugfs files support both reading and writing of the most important register types of the rt2x00 hardware. config RT2X00_DEBUG bool "Ralink debug output" depends on RT2X00_LIB ---help--- Enable debugging output for all rt2x00 modules endif net/wireless/ralink/rt2x00/Makefile 0000644 00000002027 14722053667 0013163 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rt2x00lib-y += rt2x00dev.o rt2x00lib-y += rt2x00mac.o rt2x00lib-y += rt2x00config.o rt2x00lib-y += rt2x00queue.o rt2x00lib-y += rt2x00link.o rt2x00lib-$(CONFIG_RT2X00_LIB_DEBUGFS) += rt2x00debug.o rt2x00lib-$(CONFIG_RT2X00_LIB_CRYPTO) += rt2x00crypto.o rt2x00lib-$(CONFIG_RT2X00_LIB_FIRMWARE) += rt2x00firmware.o rt2x00lib-$(CONFIG_RT2X00_LIB_LEDS) += rt2x00leds.o obj-$(CONFIG_RT2X00_LIB) += rt2x00lib.o obj-$(CONFIG_RT2X00_LIB_MMIO) += rt2x00mmio.o obj-$(CONFIG_RT2X00_LIB_PCI) += rt2x00pci.o obj-$(CONFIG_RT2X00_LIB_SOC) += rt2x00soc.o obj-$(CONFIG_RT2X00_LIB_USB) += rt2x00usb.o obj-$(CONFIG_RT2800_LIB) += rt2800lib.o obj-$(CONFIG_RT2800_LIB_MMIO) += rt2800mmio.o obj-$(CONFIG_RT2400PCI) += rt2400pci.o obj-$(CONFIG_RT2500PCI) += rt2500pci.o obj-$(CONFIG_RT61PCI) += rt61pci.o obj-$(CONFIG_RT2800PCI) += rt2800pci.o obj-$(CONFIG_RT2500USB) += rt2500usb.o obj-$(CONFIG_RT73USB) += rt73usb.o obj-$(CONFIG_RT2800USB) += rt2800usb.o obj-$(CONFIG_RT2800SOC) += rt2800soc.o net/wireless/zydas/zd1211rw/Kconfig 0000644 00000001225 14722053667 0013133 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config ZD1211RW tristate "ZyDAS ZD1211/ZD1211B USB-wireless support" depends on USB && MAC80211 select FW_LOADER ---help--- This is a driver for the ZyDAS ZD1211/ZD1211B wireless chip, present in many USB-wireless adapters. Device firmware is required alongside this driver. You can download the firmware distribution from http://sf.net/projects/zd1211/files/ config ZD1211RW_DEBUG bool "ZyDAS ZD1211 debugging" depends on ZD1211RW ---help--- ZD1211 debugging messages. Choosing Y will result in additional debug messages being saved to your kernel logs, which may help debug any problems. net/wireless/zydas/zd1211rw/Makefile 0000644 00000000365 14722053667 0013274 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_ZD1211RW) += zd1211rw.o zd1211rw-objs := zd_chip.o zd_mac.o \ zd_rf_al2230.o zd_rf_rf2959.o \ zd_rf_al7230b.o zd_rf_uw2453.o \ zd_rf.o zd_usb.o ccflags-$(CONFIG_ZD1211RW_DEBUG) := -DDEBUG net/wireless/zydas/Kconfig 0000644 00000002115 14722053667 0011637 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_ZYDAS bool "ZyDAS devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_ZYDAS config USB_ZD1201 tristate "USB ZD1201 based Wireless device support" depends on CFG80211 && USB select WIRELESS_EXT select WEXT_PRIV select FW_LOADER ---help--- Say Y if you want to use wireless LAN adapters based on the ZyDAS ZD1201 chip. This driver makes the adapter appear as a normal Ethernet interface, typically on wlan0. The zd1201 device requires external firmware to be loaded. This can be found at http://linux-lc100020.sourceforge.net/ To compile this driver as a module, choose M here: the module will be called zd1201. source "drivers/net/wireless/zydas/zd1211rw/Kconfig" endif # WLAN_VENDOR_ZYDAS net/wireless/zydas/Makefile 0000644 00000000163 14722053667 0011775 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ZD1211RW) += zd1211rw/ obj-$(CONFIG_USB_ZD1201) += zd1201.o net/wireless/Kconfig 0000644 00000007560 14722053667 0010516 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Wireless LAN device configuration # menuconfig WLAN bool "Wireless LAN" depends on !S390 depends on NET select WIRELESS default y ---help--- This section contains all the pre 802.11 and 802.11 wireless device drivers. For a complete list of drivers and documentation on them refer to the wireless wiki: http://wireless.kernel.org/en/users/Drivers if WLAN config WIRELESS_WDS bool "mac80211-based legacy WDS support" if EXPERT help This option enables the deprecated WDS support, the newer mac80211-based 4-addr AP/client support supersedes it with a much better feature set (HT, VHT, ...) We plan to remove this option and code, so if you find that you have to enable it, please let us know on the linux-wireless@vger.kernel.org mailing list, so we can help you migrate to 4-addr AP/client (or, if it's really necessary, give up on our plan of removing it). source "drivers/net/wireless/admtek/Kconfig" source "drivers/net/wireless/ath/Kconfig" source "drivers/net/wireless/atmel/Kconfig" source "drivers/net/wireless/broadcom/Kconfig" source "drivers/net/wireless/cisco/Kconfig" source "drivers/net/wireless/intel/Kconfig" source "drivers/net/wireless/intersil/Kconfig" source "drivers/net/wireless/marvell/Kconfig" source "drivers/net/wireless/mediatek/Kconfig" source "drivers/net/wireless/ralink/Kconfig" source "drivers/net/wireless/realtek/Kconfig" source "drivers/net/wireless/rsi/Kconfig" source "drivers/net/wireless/st/Kconfig" source "drivers/net/wireless/ti/Kconfig" source "drivers/net/wireless/zydas/Kconfig" source "drivers/net/wireless/quantenna/Kconfig" config PCMCIA_RAYCS tristate "Aviator/Raytheon 2.4GHz wireless support" depends on PCMCIA select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV ---help--- Say Y here if you intend to attach an Aviator/Raytheon PCMCIA (PC-card) wireless Ethernet networking card to your computer. Please read the file <file:Documentation/networking/ray_cs.txt> for details. To compile this driver as a module, choose M here: the module will be called ray_cs. If unsure, say N. config PCMCIA_WL3501 tristate "Planet WL3501 PCMCIA cards" depends on CFG80211 && PCMCIA select WIRELESS_EXT select WEXT_SPY help A driver for WL3501 PCMCIA 802.11 wireless cards made by Planet. It has basic support for Linux wireless extensions and initial micro support for ethtool. config MAC80211_HWSIM tristate "Simulated radio testing tool for mac80211" depends on MAC80211 ---help--- This driver is a developer testing tool that can be used to test IEEE 802.11 networking stack (mac80211) functionality. This is not needed for normal wireless LAN usage and is only for testing. See Documentation/networking/mac80211_hwsim for more information on how to use this tool. To compile this driver as a module, choose M here: the module will be called mac80211_hwsim. If unsure, say N. config USB_NET_RNDIS_WLAN tristate "Wireless RNDIS USB support" depends on USB depends on CFG80211 select USB_NET_DRIVERS select USB_USBNET select USB_NET_CDCETHER select USB_NET_RNDIS_HOST ---help--- This is a driver for wireless RNDIS devices. These are USB based adapters found in devices such as: Buffalo WLI-U2-KG125S U.S. Robotics USR5421 Belkin F5D7051 Linksys WUSB54GSv2 Linksys WUSB54GSC Asus WL169gE Eminent EM4045 BT Voyager 1055 Linksys WUSB54GSv1 U.S. Robotics USR5420 BUFFALO WLI-USB-G54 All of these devices are based on Broadcom 4320 chip which is the only wireless RNDIS chip known to date. If you choose to build a module, it'll be called rndis_wlan. config VIRT_WIFI tristate "Wifi wrapper for ethernet drivers" depends on CFG80211 ---help--- This option adds support for ethernet connections to appear as if they are wifi connections through a special rtnetlink device. endif # WLAN net/wireless/ath/wil6210/Kconfig 0000644 00000003345 14722053667 0012373 0 ustar 00 # SPDX-License-Identifier: ISC config WIL6210 tristate "Wilocity 60g WiFi card wil6210 support" select WANT_DEV_COREDUMP select CRC32 depends on CFG80211 depends on PCI default n ---help--- This module adds support for wireless adapter based on wil6210 chip by Wilocity. It supports operation on the 60 GHz band, covered by the IEEE802.11ad standard. http://wireless.kernel.org/en/users/Drivers/wil6210 If you choose to build it as a module, it will be called wil6210 config WIL6210_ISR_COR bool "Use Clear-On-Read mode for ISR registers for wil6210" depends on WIL6210 default y ---help--- ISR registers on wil6210 chip may operate in either COR (Clear-On-Read) or W1C (Write-1-to-Clear) mode. For production code, use COR (say y); is default since it saves extra target transaction; For ISR debug, use W1C (say n); is allows to monitor ISR registers with debugfs. If COR were used, ISR would self-clear when accessed for debug purposes, it makes such monitoring impossible. Say y unless you debug interrupts config WIL6210_TRACING bool "wil6210 tracing support" depends on WIL6210 depends on EVENT_TRACING default n ---help--- Say Y here to enable tracepoints for the wil6210 driver using the kernel tracing infrastructure. Select this option if you are interested in debugging the driver. If unsure, say Y to make it easier to debug problems. config WIL6210_DEBUGFS bool "wil6210 debugfs support" depends on WIL6210 depends on DEBUG_FS default y ---help--- Say Y here to enable wil6210 debugfs support, using the kernel debugfs infrastructure. Select this option if you are interested in debugging the driver. If unsure, say Y to make it easier to debug problems. net/wireless/ath/wil6210/Makefile 0000644 00000001140 14722053667 0012517 0 ustar 00 # SPDX-License-Identifier: ISC obj-$(CONFIG_WIL6210) += wil6210.o wil6210-y := main.o wil6210-y += netdev.o wil6210-y += cfg80211.o wil6210-y += pcie_bus.o wil6210-$(CONFIG_WIL6210_DEBUGFS) += debugfs.o wil6210-y += wmi.o wil6210-y += interrupt.o wil6210-y += txrx.o wil6210-y += txrx_edma.o wil6210-y += debug.o wil6210-y += rx_reorder.o wil6210-y += fw.o wil6210-y += pm.o wil6210-y += pmc.o wil6210-$(CONFIG_WIL6210_TRACING) += trace.o wil6210-y += wil_platform.o wil6210-y += ethtool.o wil6210-y += wil_crash_dump.o wil6210-y += p2p.o # for tracing framework to find trace.h CFLAGS_trace.o := -I$(src) net/wireless/ath/Kconfig 0000644 00000004110 14722053667 0011256 0 ustar 00 # SPDX-License-Identifier: ISC config ATH_COMMON tristate config WLAN_VENDOR_ATH bool "Atheros/Qualcomm devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. For more information and documentation on this module you can visit: http://wireless.kernel.org/en/users/Drivers/ath For information on all Atheros wireless drivers visit: http://wireless.kernel.org/en/users/Drivers/Atheros if WLAN_VENDOR_ATH config ATH_DEBUG bool "Atheros wireless debugging" ---help--- Say Y, if you want to debug atheros wireless drivers. Right now only ath9k makes use of this. config ATH_TRACEPOINTS bool "Atheros wireless tracing" depends on ATH_DEBUG depends on EVENT_TRACING ---help--- This option enables tracepoints for atheros wireless drivers. Currently, ath9k makes use of this facility. config ATH_REG_DYNAMIC_USER_REG_HINTS bool "Atheros dynamic user regulatory hints" depends on CFG80211_CERTIFICATION_ONUS default n ---help--- Say N. This should only be enabled in countries where this feature is explicitly allowed and only on cards that specifically have been tested for this. config ATH_REG_DYNAMIC_USER_CERT_TESTING bool "Atheros dynamic user regulatory testing" depends on ATH_REG_DYNAMIC_USER_REG_HINTS && CFG80211_CERTIFICATION_ONUS default n ---help--- Say N. This should only be enabled on systems undergoing certification testing. source "drivers/net/wireless/ath/ath5k/Kconfig" source "drivers/net/wireless/ath/ath9k/Kconfig" source "drivers/net/wireless/ath/carl9170/Kconfig" source "drivers/net/wireless/ath/ath6kl/Kconfig" source "drivers/net/wireless/ath/ar5523/Kconfig" source "drivers/net/wireless/ath/wil6210/Kconfig" source "drivers/net/wireless/ath/ath10k/Kconfig" source "drivers/net/wireless/ath/wcn36xx/Kconfig" endif net/wireless/ath/ath6kl/Kconfig 0000644 00000004106 14722053667 0012454 0 ustar 00 # SPDX-License-Identifier: ISC config ATH6KL tristate "Atheros mobile chipsets support" depends on CFG80211 ---help--- This module adds core support for wireless adapters based on Atheros AR6003 and AR6004 chipsets. You still need separate bus drivers for USB and SDIO to be able to use real devices. If you choose to build it as a module, it will be called ath6kl_core. Please note that AR6002 and AR6001 are not supported by this driver. config ATH6KL_SDIO tristate "Atheros ath6kl SDIO support" depends on ATH6KL depends on MMC ---help--- This module adds support for wireless adapters based on Atheros AR6003 and AR6004 chipsets running over SDIO. If you choose to build it as a module, it will be called ath6kl_sdio. Please note that AR6002 and AR6001 are not supported by this driver. config ATH6KL_USB tristate "Atheros ath6kl USB support" depends on ATH6KL depends on USB ---help--- This module adds support for wireless adapters based on Atheros AR6004 chipset and chipsets based on it running over USB. If you choose to build it as a module, it will be called ath6kl_usb. config ATH6KL_DEBUG bool "Atheros ath6kl debugging" depends on ATH6KL ---help--- Enables ath6kl debug support, including debug messages enabled with debug_mask module parameter and debugfs interface. If unsure, say Y to make it easier to debug problems. config ATH6KL_TRACING bool "Atheros ath6kl tracing support" depends on ATH6KL depends on EVENT_TRACING ---help--- Select this to ath6kl use tracing infrastructure which, for example, can be enabled with help of trace-cmd. All debug messages and commands are delivered to using individually enablable trace points. If unsure, say Y to make it easier to debug problems. config ATH6KL_REGDOMAIN bool "Atheros ath6kl regdomain support" depends on ATH6KL depends on CFG80211_CERTIFICATION_ONUS ---help--- Enabling this makes it possible to change the regdomain in the firmware. This can be only enabled if regulatory requirements are taken into account. If unsure, say N. net/wireless/ath/ath6kl/Makefile 0000644 00000003223 14722053667 0012610 0 ustar 00 #------------------------------------------------------------------------------ # Copyright (c) 2004-2011 Atheros Communications Inc. # Copyright (c) 2011-2012 Qualcomm Atheros, Inc. # All rights reserved. # # # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # # # Author(s): ="Atheros" #------------------------------------------------------------------------------ obj-$(CONFIG_ATH6KL) += ath6kl_core.o ath6kl_core-y += debug.o ath6kl_core-y += hif.o ath6kl_core-y += htc_mbox.o ath6kl_core-y += htc_pipe.o ath6kl_core-y += bmi.o ath6kl_core-y += cfg80211.o ath6kl_core-y += init.o ath6kl_core-y += main.o ath6kl_core-y += txrx.o ath6kl_core-y += wmi.o ath6kl_core-y += core.o ath6kl_core-y += recovery.o ath6kl_core-$(CONFIG_NL80211_TESTMODE) += testmode.o ath6kl_core-$(CONFIG_ATH6KL_TRACING) += trace.o obj-$(CONFIG_ATH6KL_SDIO) += ath6kl_sdio.o ath6kl_sdio-y += sdio.o obj-$(CONFIG_ATH6KL_USB) += ath6kl_usb.o ath6kl_usb-y += usb.o # for tracing framework to find trace.h CFLAGS_trace.o := -I$(src) net/wireless/ath/carl9170/Kconfig 0000644 00000002734 14722053667 0012532 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CARL9170 tristate "Linux Community AR9170 802.11n USB support" depends on USB && MAC80211 select ATH_COMMON select FW_LOADER select CRC32 help This is the mainline driver for the Atheros "otus" 802.11n USB devices. It needs a special firmware (carl9170-1.fw), which can be downloaded from our wiki here: <http://wireless.kernel.org/en/users/Drivers/carl9170> If you choose to build a module, it'll be called carl9170. config CARL9170_LEDS bool "SoftLED Support" default y depends on CARL9170 depends on MAC80211_LEDS help This option is necessary, if you want your device's LEDs to blink. Say Y, unless you need the LEDs for firmware debugging. config CARL9170_DEBUGFS bool "DebugFS Support" depends on CARL9170 && DEBUG_FS && MAC80211_DEBUGFS default n help Export several driver and device internals to user space. Say N. config CARL9170_WPC bool depends on CARL9170 && (INPUT = y || INPUT = CARL9170) default y config CARL9170_HWRNG bool "Random number generator" depends on CARL9170 && (HW_RANDOM = y || HW_RANDOM = CARL9170) default n help Provides a hardware random number generator to the kernel. SECURITY WARNING: It's relatively easy to eavesdrop all generated random numbers from the transport stream with usbmon [software] or special usb sniffer hardware. Say N, unless your setup[i.e.: embedded system] has no other rng source and you can afford to take the risk. net/wireless/ath/carl9170/Makefile 0000644 00000000302 14722053667 0012654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only carl9170-objs := main.o usb.o cmd.o mac.o phy.o led.o fw.o tx.o rx.o carl9170-$(CONFIG_CARL9170_DEBUGFS) += debug.o obj-$(CONFIG_CARL9170) += carl9170.o net/wireless/ath/ath10k/Kconfig 0000644 00000004465 14722053667 0012363 0 ustar 00 # SPDX-License-Identifier: ISC config ATH10K tristate "Atheros 802.11ac wireless cards support" depends on MAC80211 && HAS_DMA select ATH_COMMON select CRC32 select WANT_DEV_COREDUMP select ATH10K_CE ---help--- This module adds support for wireless adapters based on Atheros IEEE 802.11ac family of chipsets. If you choose to build a module, it'll be called ath10k. config ATH10K_CE bool config ATH10K_PCI tristate "Atheros ath10k PCI support" depends on ATH10K && PCI ---help--- This module adds support for PCIE bus config ATH10K_AHB bool "Atheros ath10k AHB support" depends on ATH10K_PCI && OF && RESET_CONTROLLER ---help--- This module adds support for AHB bus config ATH10K_SDIO tristate "Atheros ath10k SDIO support (EXPERIMENTAL)" depends on ATH10K && MMC ---help--- This module adds experimental support for SDIO/MMC bus. Currently work in progress and will not fully work. config ATH10K_USB tristate "Atheros ath10k USB support (EXPERIMENTAL)" depends on ATH10K && USB ---help--- This module adds experimental support for USB bus. Currently work in progress and will not fully work. config ATH10K_SNOC tristate "Qualcomm ath10k SNOC support (EXPERIMENTAL)" depends on ATH10K depends on ARCH_QCOM || COMPILE_TEST select QCOM_QMI_HELPERS ---help--- This module adds support for integrated WCN3990 chip connected to system NOC(SNOC). config ATH10K_DEBUG bool "Atheros ath10k debugging" depends on ATH10K ---help--- Enables debug support If unsure, say Y to make it easier to debug problems. config ATH10K_DEBUGFS bool "Atheros ath10k debugfs support" depends on ATH10K && DEBUG_FS ---help--- Enabled debugfs support If unsure, say Y to make it easier to debug problems. config ATH10K_SPECTRAL bool "Atheros ath10k spectral scan support" depends on ATH10K_DEBUGFS select RELAY default n ---help--- Say Y to enable access to the FFT/spectral data via debugfs. config ATH10K_TRACING bool "Atheros ath10k tracing support" depends on ATH10K depends on EVENT_TRACING ---help--- Select this to ath10k use tracing infrastructure. config ATH10K_DFS_CERTIFIED bool "Atheros DFS support for certified platforms" depends on ATH10K && CFG80211_CERTIFICATION_ONUS default n ---help--- This option enables DFS support for initiating radiation on ath10k. net/wireless/ath/ath10k/Makefile 0000644 00000002006 14722053667 0012505 0 ustar 00 # SPDX-License-Identifier: ISC obj-$(CONFIG_ATH10K) += ath10k_core.o ath10k_core-y += mac.o \ debug.o \ core.o \ htc.o \ htt.o \ htt_rx.o \ htt_tx.o \ txrx.o \ wmi.o \ wmi-tlv.o \ bmi.o \ hw.o \ p2p.o \ swap.o ath10k_core-$(CONFIG_ATH10K_SPECTRAL) += spectral.o ath10k_core-$(CONFIG_NL80211_TESTMODE) += testmode.o ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o ath10k_core-$(CONFIG_THERMAL) += thermal.o ath10k_core-$(CONFIG_MAC80211_DEBUGFS) += debugfs_sta.o ath10k_core-$(CONFIG_PM) += wow.o ath10k_core-$(CONFIG_DEV_COREDUMP) += coredump.o ath10k_core-$(CONFIG_ATH10K_CE) += ce.o obj-$(CONFIG_ATH10K_PCI) += ath10k_pci.o ath10k_pci-y += pci.o ath10k_pci-$(CONFIG_ATH10K_AHB) += ahb.o obj-$(CONFIG_ATH10K_SDIO) += ath10k_sdio.o ath10k_sdio-y += sdio.o obj-$(CONFIG_ATH10K_USB) += ath10k_usb.o ath10k_usb-y += usb.o obj-$(CONFIG_ATH10K_SNOC) += ath10k_snoc.o ath10k_snoc-y += qmi.o \ qmi_wlfw_v01.o \ snoc.o # for tracing framework to find trace.h CFLAGS_trace.o := -I$(src) net/wireless/ath/ar5523/Kconfig 0000644 00000000473 14722053667 0012207 0 ustar 00 # SPDX-License-Identifier: ISC config AR5523 tristate "Atheros AR5523 wireless driver support" depends on MAC80211 && USB select ATH_COMMON select FW_LOADER ---help--- This module add support for AR5523 based USB dongles such as D-Link DWL-G132, Netgear WPN111 and many more. net/wireless/ath/ar5523/Makefile 0000644 00000000102 14722053667 0012331 0 ustar 00 # SPDX-License-Identifier: ISC obj-$(CONFIG_AR5523) := ar5523.o net/wireless/ath/Makefile 0000644 00000001036 14722053667 0011417 0 ustar 00 # SPDX-License-Identifier: ISC obj-$(CONFIG_ATH5K) += ath5k/ obj-$(CONFIG_ATH9K_HW) += ath9k/ obj-$(CONFIG_CARL9170) += carl9170/ obj-$(CONFIG_ATH6KL) += ath6kl/ obj-$(CONFIG_AR5523) += ar5523/ obj-$(CONFIG_WIL6210) += wil6210/ obj-$(CONFIG_ATH10K) += ath10k/ obj-$(CONFIG_WCN36XX) += wcn36xx/ obj-$(CONFIG_ATH_COMMON) += ath.o ath-objs := main.o \ regd.o \ hw.o \ key.o \ dfs_pattern_detector.o \ dfs_pri_detector.o ath-$(CONFIG_ATH_DEBUG) += debug.o ath-$(CONFIG_ATH_TRACEPOINTS) += trace.o CFLAGS_trace.o := -I$(src) net/wireless/ath/ath9k/Kconfig 0000644 00000015365 14722053667 0012314 0 ustar 00 # SPDX-License-Identifier: ISC config ATH9K_HW tristate config ATH9K_COMMON tristate select ATH_COMMON config ATH9K_COMMON_DEBUG bool config ATH9K_DFS_DEBUGFS def_bool y depends on ATH9K_DEBUGFS && ATH9K_DFS_CERTIFIED config ATH9K_BTCOEX_SUPPORT bool "Atheros bluetooth coexistence support" depends on (ATH9K || ATH9K_HTC) default y ---help--- Say Y, if you want to use the ath9k/ath9k_htc radios together with Bluetooth modules in the same system. config ATH9K tristate "Atheros 802.11n wireless cards support" depends on MAC80211 && HAS_DMA select ATH9K_HW select MAC80211_LEDS select LEDS_CLASS select NEW_LEDS select ATH9K_COMMON ---help--- This module adds support for wireless adapters based on Atheros IEEE 802.11n AR5008, AR9001 and AR9002 family of chipsets. For a specific list of supported external cards, laptops that already ship with these cards and APs that come with these cards refer to ath9k wiki products page: http://wireless.kernel.org/en/users/Drivers/ath9k/products If you choose to build a module, it'll be called ath9k. config ATH9K_PCI bool "Atheros ath9k PCI/PCIe bus support" default y depends on ATH9K && PCI ---help--- This option enables the PCI bus support in ath9k. Say Y, if you have a compatible PCI/PCIe wireless card. config ATH9K_AHB bool "Atheros ath9k AHB bus support" depends on ATH9K default n ---help--- This option enables the AHB bus support in ath9k. Say Y, if you have a SoC with a compatible built-in wireless MAC. Say N if unsure. config ATH9K_DEBUGFS bool "Atheros ath9k debugging" depends on ATH9K && DEBUG_FS select MAC80211_DEBUGFS select ATH9K_COMMON_DEBUG ---help--- Say Y, if you need access to ath9k's statistics for interrupts, rate control, etc. Also required for changing debug message flags at run time and for TX99. config ATH9K_STATION_STATISTICS bool "Detailed station statistics" depends on ATH9K && ATH9K_DEBUGFS && DEBUG_FS select MAC80211_DEBUGFS default n ---help--- This option enables detailed statistics for association stations. config ATH9K_TX99 bool "Atheros ath9k TX99 testing support" depends on ATH9K_DEBUGFS && CFG80211_CERTIFICATION_ONUS default n ---help--- Say N. This should only be enabled on systems undergoing certification testing and evaluation in a controlled environment. Enabling this will only enable TX99 support, all other modes of operation will be disabled. TX99 support enables Specific Absorption Rate (SAR) testing. SAR is the unit of measurement for the amount of radio frequency(RF) absorbed by the body when using a wireless device. The RF exposure limits used are expressed in the terms of SAR, which is a measure of the electric and magnetic field strength and power density for transmitters operating at frequencies from 300 kHz to 100 GHz. Regulatory bodies around the world require that wireless device be evaluated to meet the RF exposure limits set forth in the governmental SAR regulations. config ATH9K_DFS_CERTIFIED bool "Atheros DFS support for certified platforms" depends on ATH9K && CFG80211_CERTIFICATION_ONUS default n ---help--- This option enables DFS support for initiating radiation on ath9k. There is no way to dynamically detect if a card was DFS certified and as such this is left as a build time option. This option should only be enabled by system integrators that can guarantee that all the platforms that their kernel will run on have obtained appropriate regulatory body certification for a respective Atheros card by using ath9k on the target shipping platforms. This is currently only a placeholder for future DFS support, as DFS support requires more components that still need to be developed. At this point enabling this option won't do anything except increase code size. config ATH9K_DYNACK bool "Atheros ath9k ACK timeout estimation algorithm" depends on ATH9K default n ---help--- This option enables ath9k dynamic ACK timeout estimation algorithm based on ACK frame RX timestamp, TX frame timestamp and frame duration config ATH9K_WOW bool "Wake on Wireless LAN support (EXPERIMENTAL)" depends on ATH9K && PM default n ---help--- This option enables Wake on Wireless LAN support for certain cards. Currently, AR9462 is supported. config ATH9K_RFKILL bool "Atheros ath9k rfkill support" if EXPERT depends on ATH9K depends on RFKILL=y || RFKILL=ATH9K default y help Say Y to have ath9k poll the RF-Kill GPIO every couple of seconds. Turn off to save power, but enable it if you have a platform that can toggle the RF-Kill GPIO. config ATH9K_CHANNEL_CONTEXT bool "Channel Context support" depends on ATH9K default n ---help--- This option enables channel context support in ath9k, which is needed for multi-channel concurrency. Enable this if P2P PowerSave support is required. config ATH9K_PCOEM bool "Atheros ath9k support for PC OEM cards" if EXPERT depends on ATH9K default y config ATH9K_PCI_NO_EEPROM tristate "Atheros ath9k pci loader for EEPROM-less chips" depends on ATH9K_PCI default n help This separate driver provides a loader in order to support the AR500X to AR92XX-generation of ath9k PCI(e) WiFi chips, which have their initialization data (which contains the real PCI Device ID that ath9k will need) stored together with the calibration data out of reach for the ath9k chip. These devices are usually various network appliances, routers or access Points and such. If unsure say N. config ATH9K_HTC tristate "Atheros HTC based wireless cards support" depends on USB && MAC80211 select ATH9K_HW select MAC80211_LEDS select LEDS_CLASS select NEW_LEDS select ATH9K_COMMON ---help--- Support for Atheros HTC based cards. Chipsets supported: AR9271 For more information: http://wireless.kernel.org/en/users/Drivers/ath9k_htc The built module will be ath9k_htc. config ATH9K_HTC_DEBUGFS bool "Atheros ath9k_htc debugging" depends on ATH9K_HTC && DEBUG_FS select ATH9K_COMMON_DEBUG ---help--- Say Y, if you need access to ath9k_htc's statistics. As well as access to the FFT/spectral data. config ATH9K_HWRNG bool "Random number generator support" depends on ATH9K && (HW_RANDOM = y || HW_RANDOM = ATH9K) default n ---help--- This option incorporates the ADC register output as a source of randomness into Linux entropy pool (/dev/urandom and /dev/random) Say Y, feeds the entropy directly from the WiFi driver to the input pool. config ATH9K_COMMON_SPECTRAL bool "Atheros ath9k/ath9k_htc spectral scan support" depends on ATH9K_DEBUGFS || ATH9K_HTC_DEBUGFS select RELAY default n ---help--- Say Y to enable access to the FFT/spectral data via debugfs. net/wireless/ath/ath9k/Makefile 0000644 00000003304 14722053667 0012437 0 ustar 00 # SPDX-License-Identifier: ISC ath9k-y += beacon.o \ gpio.o \ init.o \ main.o \ recv.o \ xmit.o \ link.o \ antenna.o \ channel.o ath9k-$(CONFIG_ATH9K_BTCOEX_SUPPORT) += mci.o ath9k-$(CONFIG_ATH9K_PCI) += pci.o ath9k-$(CONFIG_ATH9K_AHB) += ahb.o ath9k-$(CONFIG_ATH9K_DFS_DEBUGFS) += dfs_debug.o ath9k-$(CONFIG_ATH9K_DFS_CERTIFIED) += dfs.o ath9k-$(CONFIG_ATH9K_TX99) += tx99.o ath9k-$(CONFIG_ATH9K_WOW) += wow.o ath9k-$(CONFIG_ATH9K_HWRNG) += rng.o ath9k-$(CONFIG_ATH9K_DEBUGFS) += debug.o ath9k-$(CONFIG_ATH9K_STATION_STATISTICS) += debug_sta.o obj-$(CONFIG_ATH9K) += ath9k.o ath9k_hw-y:= \ ar9002_hw.o \ ar9003_hw.o \ hw.o \ ar9003_phy.o \ ar9002_phy.o \ ar5008_phy.o \ ar9002_calib.o \ ar9003_calib.o \ calib.o \ eeprom.o \ eeprom_def.o \ eeprom_4k.o \ eeprom_9287.o \ ani.o \ mac.o \ ar9002_mac.o \ ar9003_mac.o \ ar9003_eeprom.o \ ar9003_paprd.o ath9k_hw-$(CONFIG_ATH9K_WOW) += ar9003_wow.o ath9k_hw-$(CONFIG_ATH9K_BTCOEX_SUPPORT) += btcoex.o \ ar9003_mci.o \ ar9003_aic.o ath9k_hw-$(CONFIG_ATH9K_PCOEM) += ar9003_rtt.o ath9k_hw-$(CONFIG_ATH9K_DYNACK) += dynack.o obj-$(CONFIG_ATH9K_HW) += ath9k_hw.o obj-$(CONFIG_ATH9K_COMMON) += ath9k_common.o ath9k_common-y:= common.o \ common-init.o \ common-beacon.o \ ath9k_common-$(CONFIG_ATH9K_COMMON_DEBUG) += common-debug.o ath9k_common-$(CONFIG_ATH9K_COMMON_SPECTRAL) += common-spectral.o ath9k_htc-y += htc_hst.o \ hif_usb.o \ wmi.o \ htc_drv_txrx.o \ htc_drv_main.o \ htc_drv_beacon.o \ htc_drv_init.o \ htc_drv_gpio.o ath9k_htc-$(CONFIG_ATH9K_HTC_DEBUGFS) += htc_drv_debug.o obj-$(CONFIG_ATH9K_HTC) += ath9k_htc.o obj-$(CONFIG_ATH9K_PCI_NO_EEPROM) += ath9k_pci_owl_loader.o net/wireless/ath/ath5k/Kconfig 0000644 00000003714 14722053667 0012303 0 ustar 00 # SPDX-License-Identifier: ISC config ATH5K tristate "Atheros 5xxx wireless cards support" depends on (PCI || ATH25) && MAC80211 select ATH_COMMON select MAC80211_LEDS select LEDS_CLASS select NEW_LEDS select ATH5K_AHB if ATH25 select ATH5K_PCI if !ATH25 ---help--- This module adds support for wireless adapters based on Atheros 5xxx chipset. Currently the following chip versions are supported: MAC: AR5211 AR5212 PHY: RF5111/2111 RF5112/2112 RF5413/2413 This driver uses the kernel's mac80211 subsystem. If you choose to build a module, it'll be called ath5k. Say M if unsure. config ATH5K_DEBUG bool "Atheros 5xxx debugging" depends on ATH5K ---help--- Atheros 5xxx debugging messages. Say Y, if and you will get debug options for ath5k. To use this, you need to mount debugfs: mount -t debugfs debug /sys/kernel/debug You will get access to files under: /sys/kernel/debug/ath5k/phy0/ To enable debug, pass the debug level to the debug module parameter. For example: modprobe ath5k debug=0x00000400 config ATH5K_TRACER bool "Atheros 5xxx tracer" depends on ATH5K depends on EVENT_TRACING ---help--- Say Y here to enable tracepoints for the ath5k driver using the kernel tracing infrastructure. Select this option if you are interested in debugging the driver. If unsure, say N. config ATH5K_AHB bool "Atheros 5xxx AHB bus support" depends on ATH25 ---help--- This adds support for WiSoC type chipsets of the 5xxx Atheros family. config ATH5K_PCI bool "Atheros 5xxx PCI bus support" depends on (!ATH25 && PCI) ---help--- This adds support for PCI type chipsets of the 5xxx Atheros family. config ATH5K_TEST_CHANNELS bool "Enables testing channels on ath5k" depends on ATH5K && CFG80211_CERTIFICATION_ONUS ---help--- This enables non-standard IEEE 802.11 channels on ath5k, which can be used for research purposes. This option should be disabled unless doing research. net/wireless/ath/ath5k/Makefile 0000644 00000001073 14722053667 0012434 0 ustar 00 # SPDX-License-Identifier: ISC ath5k-y += caps.o ath5k-y += initvals.o ath5k-y += eeprom.o ath5k-y += gpio.o ath5k-y += desc.o ath5k-y += dma.o ath5k-y += qcu.o ath5k-y += pcu.o ath5k-y += phy.o ath5k-y += reset.o ath5k-y += attach.o ath5k-y += base.o CFLAGS_base.o += -I$(src) ath5k-y += led.o ath5k-y += rfkill.o ath5k-y += ani.o ath5k-y += sysfs.o ath5k-y += mac80211-ops.o ath5k-$(CONFIG_ATH5K_DEBUG) += debug.o ath5k-$(CONFIG_ATH5K_AHB) += ahb.o ath5k-$(CONFIG_ATH5K_PCI) += pci.o obj-$(CONFIG_ATH5K) += ath5k.o net/wireless/ath/wcn36xx/Kconfig 0000644 00000001576 14722053667 0012613 0 ustar 00 # SPDX-License-Identifier: ISC config WCN36XX tristate "Qualcomm Atheros WCN3660/3680 support" depends on MAC80211 && HAS_DMA depends on QCOM_WCNSS_CTRL || QCOM_WCNSS_CTRL=n depends on RPMSG || RPMSG=n ---help--- This module adds support for wireless adapters based on Qualcomm Atheros WCN3660 and WCN3680 mobile chipsets. If you choose to build a module, it'll be called wcn36xx. config WCN36XX_DEBUGFS bool "WCN36XX debugfs support" depends on WCN36XX ---help--- Enabled debugfs support If unsure, say Y to make it easier to debug problems. config WCN36XX_SNAPDRAGON_HACKS bool "Dragonboard 410c WCN36XX MAC address generation hacks" default n depends on WCN36XX ---help--- Upon probe, WCN36XX will try to read its MAC address from a file located at /lib/firmware/wlan/macaddr0. If the file is not present, it will randomly generate a new MAC address. net/wireless/ath/wcn36xx/Makefile 0000644 00000000400 14722053667 0012731 0 ustar 00 # SPDX-License-Identifier: ISC obj-$(CONFIG_WCN36XX) := wcn36xx.o wcn36xx-y += main.o \ dxe.o \ txrx.o \ smd.o \ pmc.o \ debug.o wcn36xx-$(CONFIG_NL80211_TESTMODE) += testmode.o net/wireless/marvell/Kconfig 0000644 00000001647 14722053667 0012160 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_MARVELL bool "Marvell devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_MARVELL source "drivers/net/wireless/marvell/libertas/Kconfig" source "drivers/net/wireless/marvell/libertas_tf/Kconfig" source "drivers/net/wireless/marvell/mwifiex/Kconfig" config MWL8K tristate "Marvell 88W8xxx PCI/PCIe Wireless support" depends on MAC80211 && PCI ---help--- This driver supports Marvell TOPDOG 802.11 wireless cards. To compile this driver as a module, choose M here: the module will be called mwl8k. If unsure, say N. endif # WLAN_VENDOR_MARVELL net/wireless/marvell/libertas_tf/Kconfig 0000644 00000001201 14722053667 0014440 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config LIBERTAS_THINFIRM tristate "Marvell 8xxx Libertas WLAN driver support with thin firmware" depends on MAC80211 select FW_LOADER ---help--- A library for Marvell Libertas 8xxx devices using thinfirm. config LIBERTAS_THINFIRM_DEBUG bool "Enable full debugging output in the Libertas thin firmware module." depends on LIBERTAS_THINFIRM ---help--- Debugging support. config LIBERTAS_THINFIRM_USB tristate "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware" depends on LIBERTAS_THINFIRM && USB ---help--- A driver for Marvell Libertas 8388 USB devices using thinfirm. net/wireless/marvell/libertas_tf/Makefile 0000644 00000000326 14722053667 0014604 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only libertas_tf-objs := main.o cmd.o libertas_tf_usb-objs += if_usb.o obj-$(CONFIG_LIBERTAS_THINFIRM) += libertas_tf.o obj-$(CONFIG_LIBERTAS_THINFIRM_USB) += libertas_tf_usb.o net/wireless/marvell/libertas/Kconfig 0000644 00000002325 14722053667 0013757 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config LIBERTAS tristate "Marvell 8xxx Libertas WLAN driver support" depends on CFG80211 select LIB80211 select FW_LOADER ---help--- A library for Marvell Libertas 8xxx devices. config LIBERTAS_USB tristate "Marvell Libertas 8388 USB 802.11b/g cards" depends on LIBERTAS && USB ---help--- A driver for Marvell Libertas 8388 USB devices. config LIBERTAS_CS tristate "Marvell Libertas 8385 CompactFlash 802.11b/g cards" depends on LIBERTAS && PCMCIA && HAS_IOPORT_MAP ---help--- A driver for Marvell Libertas 8385 CompactFlash devices. config LIBERTAS_SDIO tristate "Marvell Libertas 8385/8686/8688 SDIO 802.11b/g cards" depends on LIBERTAS && MMC ---help--- A driver for Marvell Libertas 8385/8686/8688 SDIO devices. config LIBERTAS_SPI tristate "Marvell Libertas 8686 SPI 802.11b/g cards" depends on LIBERTAS && SPI ---help--- A driver for Marvell Libertas 8686 SPI devices. config LIBERTAS_DEBUG bool "Enable full debugging output in the Libertas module." depends on LIBERTAS ---help--- Debugging support. config LIBERTAS_MESH bool "Enable mesh support" depends on LIBERTAS help This enables Libertas' MESH support, used by e.g. the OLPC people. net/wireless/marvell/libertas/Makefile 0000644 00000001140 14722053667 0014106 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 libertas-y += cfg.o libertas-y += cmd.o libertas-y += cmdresp.o libertas-y += debugfs.o libertas-y += ethtool.o libertas-y += main.o libertas-y += rx.o libertas-y += tx.o libertas-y += firmware.o libertas-$(CONFIG_LIBERTAS_MESH) += mesh.o usb8xxx-objs += if_usb.o libertas_cs-objs += if_cs.o libertas_sdio-objs += if_sdio.o libertas_spi-objs += if_spi.o obj-$(CONFIG_LIBERTAS) += libertas.o obj-$(CONFIG_LIBERTAS_USB) += usb8xxx.o obj-$(CONFIG_LIBERTAS_CS) += libertas_cs.o obj-$(CONFIG_LIBERTAS_SDIO) += libertas_sdio.o obj-$(CONFIG_LIBERTAS_SPI) += libertas_spi.o net/wireless/marvell/mwifiex/Kconfig 0000644 00000002507 14722053667 0013624 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MWIFIEX tristate "Marvell WiFi-Ex Driver" depends on CFG80211 ---help--- This adds support for wireless adapters based on Marvell 802.11n/ac chipsets. If you choose to build it as a module, it will be called mwifiex. config MWIFIEX_SDIO tristate "Marvell WiFi-Ex Driver for SD8786/SD8787/SD8797/SD8887/SD8897/SD8977/SD8987/SD8997" depends on MWIFIEX && MMC select FW_LOADER select WANT_DEV_COREDUMP ---help--- This adds support for wireless adapters based on Marvell 8786/8787/8797/8887/8897/8977/8987/8997 chipsets with SDIO interface. If you choose to build it as a module, it will be called mwifiex_sdio. config MWIFIEX_PCIE tristate "Marvell WiFi-Ex Driver for PCIE 8766/8897/8997" depends on MWIFIEX && PCI select FW_LOADER select WANT_DEV_COREDUMP ---help--- This adds support for wireless adapters based on Marvell 8766/8897/8997 chipsets with PCIe interface. If you choose to build it as a module, it will be called mwifiex_pcie. config MWIFIEX_USB tristate "Marvell WiFi-Ex Driver for USB8766/8797/8997" depends on MWIFIEX && USB select FW_LOADER ---help--- This adds support for wireless adapters based on Marvell 8797/8997 chipset with USB interface. If you choose to build it as a module, it will be called mwifiex_usb. net/wireless/marvell/mwifiex/Makefile 0000644 00000003300 14722053667 0013751 0 ustar 00 # # Copyright (C) 2011-2014, Marvell International Ltd. # # This software file (the "File") is distributed by Marvell International # Ltd. under the terms of the GNU General Public License Version 2, June 1991 # (the "License"). You may use, redistribute and/or modify this File in # accordance with the terms and conditions of the License, a copy of which # is available by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the # worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. # # THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE # IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE # ARE EXPRESSLY DISCLAIMED. The License provides additional details about # this warranty disclaimer. mwifiex-y += main.o mwifiex-y += init.o mwifiex-y += cfp.o mwifiex-y += cmdevt.o mwifiex-y += util.o mwifiex-y += txrx.o mwifiex-y += wmm.o mwifiex-y += 11n.o mwifiex-y += 11ac.o mwifiex-y += 11n_aggr.o mwifiex-y += 11n_rxreorder.o mwifiex-y += scan.o mwifiex-y += join.o mwifiex-y += sta_ioctl.o mwifiex-y += sta_cmd.o mwifiex-y += uap_cmd.o mwifiex-y += ie.o mwifiex-y += sta_cmdresp.o mwifiex-y += sta_event.o mwifiex-y += uap_event.o mwifiex-y += sta_tx.o mwifiex-y += sta_rx.o mwifiex-y += uap_txrx.o mwifiex-y += cfg80211.o mwifiex-y += ethtool.o mwifiex-y += 11h.o mwifiex-y += tdls.o mwifiex-$(CONFIG_DEBUG_FS) += debugfs.o obj-$(CONFIG_MWIFIEX) += mwifiex.o mwifiex_sdio-y += sdio.o obj-$(CONFIG_MWIFIEX_SDIO) += mwifiex_sdio.o mwifiex_pcie-y += pcie.o obj-$(CONFIG_MWIFIEX_PCIE) += mwifiex_pcie.o mwifiex_usb-y += usb.o obj-$(CONFIG_MWIFIEX_USB) += mwifiex_usb.o ccflags-y += -D__CHECK_ENDIAN net/wireless/marvell/Makefile 0000644 00000000300 14722053667 0012276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_LIBERTAS) += libertas/ obj-$(CONFIG_LIBERTAS_THINFIRM) += libertas_tf/ obj-$(CONFIG_MWIFIEX) += mwifiex/ obj-$(CONFIG_MWL8K) += mwl8k.o net/wireless/st/Kconfig 0000644 00000001024 14722053667 0011131 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_ST bool "STMicroelectronics devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_ST source "drivers/net/wireless/st/cw1200/Kconfig" endif # WLAN_VENDOR_ST net/wireless/st/cw1200/Kconfig 0000644 00000001725 14722053667 0012055 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CW1200 tristate "CW1200 WLAN support" depends on MAC80211 && CFG80211 help This is a driver for the ST-E CW1100 & CW1200 WLAN chipsets. This option just enables the driver core, see below for specific bus support. if CW1200 config CW1200_WLAN_SDIO tristate "Support SDIO platforms" depends on CW1200 && MMC help Enable support for the CW1200 connected via an SDIO bus. By default this driver only supports the Sagrad SG901-1091/1098 EVK and similar designs that utilize a hardware reset circuit. To support different CW1200 SDIO designs you will need to override the default platform data by calling cw1200_sdio_set_platform_data() in your board setup file. config CW1200_WLAN_SPI tristate "Support SPI platforms" depends on CW1200 && SPI help Enables support for the CW1200 connected via a SPI bus. You will need to add appropriate platform data glue in your board setup file. endif net/wireless/st/cw1200/Makefile 0000644 00000000662 14722053667 0012211 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 cw1200_core-y := \ fwio.o \ txrx.o \ main.o \ queue.o \ hwio.o \ bh.o \ wsm.o \ sta.o \ scan.o \ debug.o cw1200_core-$(CONFIG_PM) += pm.o # CFLAGS_sta.o += -DDEBUG cw1200_wlan_sdio-y := cw1200_sdio.o cw1200_wlan_spi-y := cw1200_spi.o obj-$(CONFIG_CW1200) += cw1200_core.o obj-$(CONFIG_CW1200_WLAN_SDIO) += cw1200_wlan_sdio.o obj-$(CONFIG_CW1200_WLAN_SPI) += cw1200_wlan_spi.o net/wireless/st/Makefile 0000644 00000000110 14722053667 0011261 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CW1200) += cw1200/ net/wireless/intel/ipw2x00/Kconfig 0000644 00000014652 14722053667 0013042 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Intel Centrino wireless drivers # config IPW2100 tristate "Intel PRO/Wireless 2100 Network Connection" depends on PCI && CFG80211 select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select FW_LOADER select LIB80211 select LIBIPW ---help--- A driver for the Intel PRO/Wireless 2100 Network Connection 802.11b wireless network adapter. See <file:Documentation/networking/device_drivers/intel/ipw2100.txt> for information on the capabilities currently enabled in this driver and for tips for debugging issues and problems. In order to use this driver, you will need a firmware image for it. You can obtain the firmware from <http://ipw2100.sf.net/>. Once you have the firmware image, you will need to place it in /lib/firmware. You will also very likely need the Wireless Tools in order to configure your card: <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>. It is recommended that you compile this driver as a module (M) rather than built-in (Y). This driver requires firmware at device initialization time, and when built-in this typically happens before the filesystem is accessible (hence firmware will be unavailable and initialization will fail). If you do choose to build this driver into your kernel image, you can avoid this problem by including the firmware and a firmware loader in an initramfs. config IPW2100_MONITOR bool "Enable promiscuous mode" depends on IPW2100 ---help--- Enables promiscuous/monitor mode support for the ipw2100 driver. With this feature compiled into the driver, you can switch to promiscuous mode via the Wireless Tool's Monitor mode. While in this mode, no packets can be sent. config IPW2100_DEBUG bool "Enable full debugging output in IPW2100 module." depends on IPW2100 ---help--- This option will enable debug tracing output for the IPW2100. This will result in the kernel module being ~60k larger. You can control which debug output is sent to the kernel log by setting the value in /sys/bus/pci/drivers/ipw2100/debug_level This entry will only exist if this option is enabled. If you are not trying to debug or develop the IPW2100 driver, you most likely want to say N here. config IPW2200 tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection" depends on PCI && CFG80211 select CFG80211_WEXT_EXPORT select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select FW_LOADER select LIB80211 select LIBIPW ---help--- A driver for the Intel PRO/Wireless 2200BG and 2915ABG Network Connection adapters. See <file:Documentation/networking/device_drivers/intel/ipw2200.txt> for information on the capabilities currently enabled in this driver and for tips for debugging issues and problems. In order to use this driver, you will need a firmware image for it. You can obtain the firmware from <http://ipw2200.sf.net/>. See the above referenced README.ipw2200 for information on where to install the firmware images. You will also very likely need the Wireless Tools in order to configure your card: <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>. It is recommended that you compile this driver as a module (M) rather than built-in (Y). This driver requires firmware at device initialization time, and when built-in this typically happens before the filesystem is accessible (hence firmware will be unavailable and initialization will fail). If you do choose to build this driver into your kernel image, you can avoid this problem by including the firmware and a firmware loader in an initramfs. config IPW2200_MONITOR bool "Enable promiscuous mode" depends on IPW2200 ---help--- Enables promiscuous/monitor mode support for the ipw2200 driver. With this feature compiled into the driver, you can switch to promiscuous mode via the Wireless Tool's Monitor mode. While in this mode, no packets can be sent. config IPW2200_RADIOTAP bool "Enable radiotap format 802.11 raw packet support" depends on IPW2200_MONITOR config IPW2200_PROMISCUOUS bool "Enable creation of a RF radiotap promiscuous interface" depends on IPW2200_MONITOR select IPW2200_RADIOTAP ---help--- Enables the creation of a second interface prefixed 'rtap'. This second interface will provide every received in radiotap format. This is useful for performing wireless network analysis while maintaining an active association. Example usage: % modprobe ipw2200 rtap_iface=1 % ifconfig rtap0 up % tethereal -i rtap0 If you do not specify 'rtap_iface=1' as a module parameter then the rtap interface will not be created and you will need to turn it on via sysfs: % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface config IPW2200_QOS bool "Enable QoS support" depends on IPW2200 config IPW2200_DEBUG bool "Enable full debugging output in IPW2200 module." depends on IPW2200 ---help--- This option will enable low level debug tracing output for IPW2200. Note, normal debug code is already compiled in. This low level debug option enables debug on hot paths (e.g Tx, Rx, ISR) and will result in the kernel module being ~70 larger. Most users will typically not need this high verbosity debug information. If you are not sure, say N here. config LIBIPW tristate depends on PCI && CFG80211 select WIRELESS_EXT select WEXT_SPY select CRYPTO select CRYPTO_ARC4 select CRYPTO_ECB select CRYPTO_AES select CRYPTO_MICHAEL_MIC select CRYPTO_ECB select CRC32 select LIB80211 select LIB80211_CRYPT_WEP select LIB80211_CRYPT_TKIP select LIB80211_CRYPT_CCMP ---help--- This option enables the hardware independent IEEE 802.11 networking stack. This component is deprecated in favor of the mac80211 component. config LIBIPW_DEBUG bool "Full debugging output for the LIBIPW component" depends on LIBIPW ---help--- This option will enable debug tracing output for the libipw component. This will result in the kernel module being ~70k larger. You can control which debug output is sent to the kernel log by setting the value in /proc/net/ieee80211/debug_level For example: % echo 0x00000FFO > /proc/net/ieee80211/debug_level For a list of values you can assign to debug_level, you can look at the bit mask values in ieee80211.h If you are not trying to debug or develop the libipw component, you most likely want to say N here. net/wireless/intel/ipw2x00/Makefile 0000644 00000000442 14722053667 0013167 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Intel Centrino wireless drivers # obj-$(CONFIG_IPW2100) += ipw2100.o obj-$(CONFIG_IPW2200) += ipw2200.o obj-$(CONFIG_LIBIPW) += libipw.o libipw-objs := \ libipw_module.o \ libipw_tx.o \ libipw_rx.o \ libipw_wx.o \ libipw_geo.o net/wireless/intel/Kconfig 0000644 00000001175 14722053667 0011625 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_INTEL bool "Intel devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_INTEL source "drivers/net/wireless/intel/ipw2x00/Kconfig" source "drivers/net/wireless/intel/iwlegacy/Kconfig" source "drivers/net/wireless/intel/iwlwifi/Kconfig" endif # WLAN_VENDOR_INTEL net/wireless/intel/iwlwifi/dvm/Makefile 0000644 00000000572 14722053667 0014222 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # DVM obj-$(CONFIG_IWLDVM) += iwldvm.o iwldvm-objs += main.o rs.o mac80211.o ucode.o tx.o iwldvm-objs += lib.o calib.o tt.o sta.o rx.o iwldvm-objs += power.o iwldvm-objs += scan.o iwldvm-objs += rxon.o devices.o iwldvm-$(CONFIG_IWLWIFI_LEDS) += led.o iwldvm-$(CONFIG_IWLWIFI_DEBUGFS) += debugfs.o ccflags-y += -I $(srctree)/$(src)/../ net/wireless/intel/iwlwifi/Kconfig 0000644 00000011263 14722053667 0013276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config IWLWIFI tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) " depends on PCI && HAS_IOMEM && CFG80211 select FW_LOADER ---help--- Select to build the driver supporting the: Intel Wireless WiFi Link Next-Gen AGN This option enables support for use with the following hardware: Intel Wireless WiFi Link 6250AGN Adapter Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN) Intel WiFi Link 1000BGN Intel Wireless WiFi 5150AGN Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN Intel 6005 Series Wi-Fi Adapters Intel 6030 Series Wi-Fi Adapters Intel Wireless WiFi Link 6150BGN 2 Adapter Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN) Intel 2000 Series Wi-Fi Adapters Intel 7260 Wi-Fi Adapter Intel 3160 Wi-Fi Adapter Intel 7265 Wi-Fi Adapter Intel 8260 Wi-Fi Adapter Intel 3165 Wi-Fi Adapter This driver uses the kernel's mac80211 subsystem. In order to use this driver, you will need a firmware image for it. You can obtain the microcode from: <http://wireless.kernel.org/en/users/Drivers/iwlwifi>. The firmware is typically installed in /lib/firmware. You can look in the hotplug script /etc/hotplug/firmware.agent to determine which directory FIRMWARE_DIR is set to when the script runs. If you want to compile the driver as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read <file:Documentation/kbuild/modules.rst>. The module will be called iwlwifi. if IWLWIFI config IWLWIFI_LEDS bool depends on LEDS_CLASS=y || LEDS_CLASS=IWLWIFI depends on IWLMVM || IWLDVM select LEDS_TRIGGERS select MAC80211_LEDS default y config IWLDVM tristate "Intel Wireless WiFi DVM Firmware support" depends on MAC80211 help This is the driver that supports the DVM firmware. The list of the devices that use this firmware is available here: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware config IWLMVM tristate "Intel Wireless WiFi MVM Firmware support" select WANT_DEV_COREDUMP depends on MAC80211 help This is the driver that supports the MVM firmware. The list of the devices that use this firmware is available here: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware # don't call it _MODULE -- will confuse Kconfig/fixdep/... config IWLWIFI_OPMODE_MODULAR bool default y if IWLDVM=m default y if IWLMVM=m comment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM" depends on IWLDVM=n && IWLMVM=n config IWLWIFI_BCAST_FILTERING bool "Enable broadcast filtering" depends on IWLMVM help Say Y here to enable default bcast filtering configuration. Enabling broadcast filtering will drop any incoming wireless broadcast frames, except some very specific predefined patterns (e.g. incoming arp requests). If unsure, don't enable this option, as some programs might expect incoming broadcasts for their normal operations. menu "Debugging Options" config IWLWIFI_DEBUG bool "Enable full debugging output in the iwlwifi driver" ---help--- This option will enable debug tracing output for the iwlwifi drivers This will result in the kernel module being ~100k larger. You can control which debug output is sent to the kernel log by setting the value in /sys/module/iwlwifi/parameters/debug This entry will only exist if this option is enabled. To set a value, simply echo an 8-byte hex value to the same file: % echo 0x43fff > /sys/module/iwlwifi/parameters/debug You can find the list of debug mask values in: drivers/net/wireless/iwlwifi/iwl-debug.h If this is your first time using this driver, you should say Y here as the debug information can assist others in helping you resolve any problems you may encounter. config IWLWIFI_DEBUGFS bool "iwlwifi debugfs support" depends on MAC80211_DEBUGFS ---help--- Enable creation of debugfs files for the iwlwifi drivers. This is a low-impact option that allows getting insight into the driver's state at runtime. config IWLWIFI_DEVICE_TRACING bool "iwlwifi device access tracing" depends on EVENT_TRACING default y help Say Y here to trace all commands, including TX frames and IO accesses, sent to the device. If you say yes, iwlwifi will register with the ftrace framework for event tracing and dump all this information to the ringbuffer, you may need to increase the ringbuffer size. See the ftrace documentation for more information. When tracing is not enabled, this option still has some (though rather small) overhead. If unsure, say Y so we can help you better when problems occur. endmenu endif net/wireless/intel/iwlwifi/mvm/Makefile 0000644 00000001005 14722053667 0014223 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_IWLMVM) += iwlmvm.o iwlmvm-y += fw.o mac80211.o nvm.o ops.o phy-ctxt.o mac-ctxt.o iwlmvm-y += utils.o rx.o rxmq.o tx.o binding.o quota.o sta.o sf.o iwlmvm-y += scan.o time-event.o rs.o rs-fw.o iwlmvm-y += power.o coex.o iwlmvm-y += tt.o offloading.o tdls.o iwlmvm-y += ftm-responder.o ftm-initiator.o iwlmvm-$(CONFIG_IWLWIFI_DEBUGFS) += debugfs.o debugfs-vif.o iwlmvm-$(CONFIG_IWLWIFI_LEDS) += led.o iwlmvm-$(CONFIG_PM) += d3.o ccflags-y += -I $(srctree)/$(src)/../ net/wireless/intel/iwlwifi/Makefile 0000644 00000002004 14722053667 0013424 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # common obj-$(CONFIG_IWLWIFI) += iwlwifi.o iwlwifi-objs += iwl-io.o iwlwifi-objs += iwl-drv.o iwlwifi-objs += iwl-debug.o iwlwifi-objs += iwl-eeprom-read.o iwl-eeprom-parse.o iwlwifi-objs += iwl-phy-db.o iwl-nvm-parse.o iwlwifi-objs += pcie/drv.o pcie/rx.o pcie/tx.o pcie/trans.o iwlwifi-objs += pcie/ctxt-info.o pcie/ctxt-info-gen3.o iwlwifi-objs += pcie/trans-gen2.o pcie/tx-gen2.o iwlwifi-$(CONFIG_IWLDVM) += cfg/1000.o cfg/2000.o cfg/5000.o cfg/6000.o iwlwifi-$(CONFIG_IWLMVM) += cfg/7000.o cfg/8000.o cfg/9000.o cfg/22000.o iwlwifi-objs += iwl-dbg-tlv.o iwlwifi-objs += iwl-trans.o iwlwifi-objs += fw/notif-wait.o iwlwifi-$(CONFIG_IWLMVM) += fw/paging.o fw/smem.o fw/init.o fw/dbg.o iwlwifi-$(CONFIG_ACPI) += fw/acpi.o iwlwifi-$(CONFIG_IWLWIFI_DEBUGFS) += fw/debugfs.o iwlwifi-objs += $(iwlwifi-m) iwlwifi-$(CONFIG_IWLWIFI_DEVICE_TRACING) += iwl-devtrace.o ccflags-y += -I$(src) obj-$(CONFIG_IWLDVM) += dvm/ obj-$(CONFIG_IWLMVM) += mvm/ CFLAGS_iwl-devtrace.o := -I$(src) net/wireless/intel/iwlegacy/Kconfig 0000644 00000006215 14722053667 0013431 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config IWLEGACY tristate select FW_LOADER select NEW_LEDS select LEDS_CLASS select LEDS_TRIGGERS select MAC80211_LEDS config IWL4965 tristate "Intel Wireless WiFi 4965AGN (iwl4965)" depends on PCI && MAC80211 select IWLEGACY ---help--- This option enables support for Select to build the driver supporting the: Intel Wireless WiFi Link 4965AGN This driver uses the kernel's mac80211 subsystem. In order to use this driver, you will need a microcode (uCode) image for it. You can obtain the microcode from: <http://intellinuxwireless.org/>. The microcode is typically installed in /lib/firmware. You can look in the hotplug script /etc/hotplug/firmware.agent to determine which directory FIRMWARE_DIR is set to when the script runs. If you want to compile the driver as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read <file:Documentation/kbuild/modules.rst>. The module will be called iwl4965. config IWL3945 tristate "Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945)" depends on PCI && MAC80211 select IWLEGACY ---help--- Select to build the driver supporting the: Intel PRO/Wireless 3945ABG/BG Network Connection This driver uses the kernel's mac80211 subsystem. In order to use this driver, you will need a microcode (uCode) image for it. You can obtain the microcode from: <http://intellinuxwireless.org/>. The microcode is typically installed in /lib/firmware. You can look in the hotplug script /etc/hotplug/firmware.agent to determine which directory FIRMWARE_DIR is set to when the script runs. If you want to compile the driver as a module ( = code which can be inserted in and removed from the running kernel whenever you want), say M here and read <file:Documentation/kbuild/modules.rst>. The module will be called iwl3945. menu "iwl3945 / iwl4965 Debugging Options" depends on IWLEGACY config IWLEGACY_DEBUG bool "Enable full debugging output in iwlegacy (iwl 3945/4965) drivers" depends on IWLEGACY ---help--- This option will enable debug tracing output for the iwlegacy drivers. This will result in the kernel module being ~100k larger. You can control which debug output is sent to the kernel log by setting the value in /sys/class/net/wlan0/device/debug_level This entry will only exist if this option is enabled. To set a value, simply echo an 8-byte hex value to the same file: % echo 0x43fff > /sys/class/net/wlan0/device/debug_level You can find the list of debug mask values in: drivers/net/wireless/iwlegacy/common.h If this is your first time using this driver, you should say Y here as the debug information can assist others in helping you resolve any problems you may encounter. config IWLEGACY_DEBUGFS bool "iwlegacy (iwl 3945/4965) debugfs support" depends on IWLEGACY && MAC80211_DEBUGFS ---help--- Enable creation of debugfs files for the iwlegacy drivers. This is a low-impact option that allows getting insight into the driver's state at runtime. endmenu net/wireless/intel/iwlegacy/Makefile 0000644 00000000726 14722053667 0013567 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_IWLEGACY) += iwlegacy.o iwlegacy-objs := common.o iwlegacy-$(CONFIG_IWLEGACY_DEBUGFS) += debug.o iwlegacy-objs += $(iwlegacy-m) # 4965 obj-$(CONFIG_IWL4965) += iwl4965.o iwl4965-objs := 4965.o 4965-mac.o 4965-rs.o 4965-calib.o iwl4965-$(CONFIG_IWLEGACY_DEBUGFS) += 4965-debug.o # 3945 obj-$(CONFIG_IWL3945) += iwl3945.o iwl3945-objs := 3945-mac.o 3945.o 3945-rs.o iwl3945-$(CONFIG_IWLEGACY_DEBUGFS) += 3945-debug.o net/wireless/intel/Makefile 0000644 00000000264 14722053667 0011760 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_IPW2100) += ipw2x00/ obj-$(CONFIG_IPW2200) += ipw2x00/ obj-$(CONFIG_IWLEGACY) += iwlegacy/ obj-$(CONFIG_IWLWIFI) += iwlwifi/ net/wireless/ti/wl18xx/Kconfig 0000644 00000000330 14722053667 0012271 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WL18XX tristate "TI wl18xx support" depends on MAC80211 select WLCORE ---help--- This module adds support for wireless adapters based on TI WiLink 8 chipsets. net/wireless/ti/wl18xx/Makefile 0000644 00000000217 14722053667 0012432 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only wl18xx-objs = main.o acx.o tx.o io.o debugfs.o scan.o cmd.o event.o obj-$(CONFIG_WL18XX) += wl18xx.o net/wireless/ti/wlcore/Kconfig 0000644 00000002200 14722053667 0012407 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLCORE tristate "TI wlcore support" depends on MAC80211 select FW_LOADER ---help--- This module contains the main code for TI WLAN chips. It abstracts hardware-specific differences among different chipset families. Each chipset family needs to implement its own lower-level module that will depend on this module for the common code. If you choose to build a module, it will be called wlcore. Say N if unsure. config WLCORE_SPI tristate "TI wlcore SPI support" depends on WLCORE && SPI_MASTER && OF select CRC7 ---help--- This module adds support for the SPI interface of adapters using TI WLAN chipsets. Select this if your platform is using the SPI bus. If you choose to build a module, it'll be called wlcore_spi. Say N if unsure. config WLCORE_SDIO tristate "TI wlcore SDIO support" depends on WLCORE && MMC ---help--- This module adds support for the SDIO interface of adapters using TI WLAN chipsets. Select this if your platform is using the SDIO bus. If you choose to build a module, it'll be called wlcore_sdio. Say N if unsure. net/wireless/ti/wlcore/Makefile 0000644 00000000572 14722053667 0012556 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 wlcore-objs = main.o cmd.o io.o event.o tx.o rx.o ps.o acx.o \ boot.o init.o debugfs.o scan.o sysfs.o vendor_cmd.o wlcore_spi-objs = spi.o wlcore_sdio-objs = sdio.o wlcore-$(CONFIG_NL80211_TESTMODE) += testmode.o obj-$(CONFIG_WLCORE) += wlcore.o obj-$(CONFIG_WLCORE_SPI) += wlcore_spi.o obj-$(CONFIG_WLCORE_SDIO) += wlcore_sdio.o net/wireless/ti/Kconfig 0000644 00000001607 14722053667 0011126 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_TI bool "Texas Instrument devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_TI source "drivers/net/wireless/ti/wl1251/Kconfig" source "drivers/net/wireless/ti/wl12xx/Kconfig" source "drivers/net/wireless/ti/wl18xx/Kconfig" # keep last for automatic dependencies source "drivers/net/wireless/ti/wlcore/Kconfig" config WILINK_PLATFORM_DATA bool "TI WiLink platform data" depends on WLCORE_SDIO || WL1251_SDIO default y ---help--- Small platform data bit needed to pass data to the sdio modules. endif # WLAN_VENDOR_TI net/wireless/ti/Makefile 0000644 00000000404 14722053667 0011255 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_WLCORE) += wlcore/ obj-$(CONFIG_WL12XX) += wl12xx/ obj-$(CONFIG_WL1251) += wl1251/ obj-$(CONFIG_WL18XX) += wl18xx/ # small builtin driver bit obj-$(CONFIG_WILINK_PLATFORM_DATA) += wilink_platform_data.o net/wireless/ti/wl12xx/Kconfig 0000644 00000000576 14722053667 0012277 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WL12XX tristate "TI wl12xx support" depends on MAC80211 select WLCORE ---help--- This module adds support for wireless adapters based on TI wl1271, wl1273, wl1281 and wl1283 chipsets. This module does *not* include support for wl1251. For wl1251 support, use the separate homonymous driver instead. net/wireless/ti/wl12xx/Makefile 0000644 00000000205 14722053667 0012421 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only wl12xx-objs = main.o cmd.o acx.o debugfs.o scan.o event.o obj-$(CONFIG_WL12XX) += wl12xx.o net/wireless/ti/wl1251/Kconfig 0000644 00000001727 14722053667 0012064 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WL1251 tristate "TI wl1251 driver support" depends on MAC80211 select FW_LOADER select CRC7 ---help--- This will enable TI wl1251 driver support. The drivers make use of the mac80211 stack. If you choose to build a module, it'll be called wl1251. Say N if unsure. config WL1251_SPI tristate "TI wl1251 SPI support" depends on WL1251 && SPI_MASTER ---help--- This module adds support for the SPI interface of adapters using TI wl1251 chipset. Select this if your platform is using the SPI bus. If you choose to build a module, it'll be called wl1251_spi. Say N if unsure. config WL1251_SDIO tristate "TI wl1251 SDIO support" depends on WL1251 && MMC ---help--- This module adds support for the SDIO interface of adapters using TI wl1251 chipset. Select this if your platform is using the SDIO bus. If you choose to build a module, it'll be called wl1251_sdio. Say N if unsure. net/wireless/ti/wl1251/Makefile 0000644 00000000454 14722053667 0012215 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 wl1251-objs = main.o event.o tx.o rx.o ps.o cmd.o \ acx.o boot.o init.o debugfs.o io.o wl1251_spi-objs += spi.o wl1251_sdio-objs += sdio.o obj-$(CONFIG_WL1251) += wl1251.o obj-$(CONFIG_WL1251_SPI) += wl1251_spi.o obj-$(CONFIG_WL1251_SDIO) += wl1251_sdio.o net/wireless/Makefile 0000644 00000002033 14722053667 0010641 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux Wireless network device drivers. # obj-$(CONFIG_WLAN_VENDOR_ADMTEK) += admtek/ obj-$(CONFIG_WLAN_VENDOR_ATH) += ath/ obj-$(CONFIG_WLAN_VENDOR_ATMEL) += atmel/ obj-$(CONFIG_WLAN_VENDOR_BROADCOM) += broadcom/ obj-$(CONFIG_WLAN_VENDOR_CISCO) += cisco/ obj-$(CONFIG_WLAN_VENDOR_INTEL) += intel/ obj-$(CONFIG_WLAN_VENDOR_INTERSIL) += intersil/ obj-$(CONFIG_WLAN_VENDOR_MARVELL) += marvell/ obj-$(CONFIG_WLAN_VENDOR_MEDIATEK) += mediatek/ obj-$(CONFIG_WLAN_VENDOR_RALINK) += ralink/ obj-$(CONFIG_WLAN_VENDOR_REALTEK) += realtek/ obj-$(CONFIG_WLAN_VENDOR_RSI) += rsi/ obj-$(CONFIG_WLAN_VENDOR_ST) += st/ obj-$(CONFIG_WLAN_VENDOR_TI) += ti/ obj-$(CONFIG_WLAN_VENDOR_ZYDAS) += zydas/ obj-$(CONFIG_WLAN_VENDOR_QUANTENNA) += quantenna/ # 16-bit wireless PCMCIA client drivers obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o obj-$(CONFIG_PCMCIA_WL3501) += wl3501_cs.o obj-$(CONFIG_USB_NET_RNDIS_WLAN) += rndis_wlan.o obj-$(CONFIG_MAC80211_HWSIM) += mac80211_hwsim.o obj-$(CONFIG_VIRT_WIFI) += virt_wifi.o net/wireless/quantenna/Kconfig 0000644 00000001061 14722053667 0012476 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_QUANTENNA bool "Quantenna wireless cards support" default y help If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_QUANTENNA source "drivers/net/wireless/quantenna/qtnfmac/Kconfig" endif # WLAN_VENDOR_QUANTENNA net/wireless/quantenna/qtnfmac/Kconfig 0000644 00000001124 14722053667 0014127 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config QTNFMAC tristate depends on QTNFMAC_PCIE default m if QTNFMAC_PCIE=m default y if QTNFMAC_PCIE=y config QTNFMAC_PCIE tristate "Quantenna QSR1000/QSR2000/QSR10g PCIe support" default n depends on PCI && CFG80211 select QTNFMAC select FW_LOADER select CRC32 help This option adds support for wireless adapters based on Quantenna 802.11ac QSR10g (aka Pearl) and QSR1000/QSR2000 (aka Topaz) FullMAC chipsets running over PCIe. If you choose to build it as a module, two modules will be built: qtnfmac.ko and qtnfmac_pcie.ko. net/wireless/quantenna/qtnfmac/Makefile 0000644 00000000764 14722053667 0014275 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Copyright (c) 2015-2016 Quantenna Communications, Inc. # All rights reserved. # ccflags-y += \ -Idrivers/net/wireless/quantenna/qtnfmac obj-$(CONFIG_QTNFMAC) += qtnfmac.o qtnfmac-objs += \ core.o \ commands.o \ trans.o \ cfg80211.o \ event.o \ util.o \ qlink_util.o # obj-$(CONFIG_QTNFMAC_PCIE) += qtnfmac_pcie.o qtnfmac_pcie-objs += \ shm_ipc.o \ pcie/pcie.o \ pcie/pearl_pcie.o \ pcie/topaz_pcie.o qtnfmac_pcie-$(CONFIG_DEBUG_FS) += debug.o net/wireless/quantenna/Makefile 0000644 00000000232 14722053667 0012632 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Copyright (c) 2015-2016 Quantenna Communications, Inc. # All rights reserved. # obj-$(CONFIG_QTNFMAC) += qtnfmac/ net/wireless/intersil/orinoco/Kconfig 0000644 00000013120 14722053667 0014004 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config HERMES tristate "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)" depends on (PPC_PMAC || PCI || PCMCIA) depends on CFG80211 select CFG80211_WEXT_EXPORT select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select FW_LOADER select CRYPTO select CRYPTO_MICHAEL_MIC ---help--- A driver for 802.11b wireless cards based on the "Hermes" or Intersil HFA384x (Prism 2) MAC controller. This includes the vast majority of the PCMCIA 802.11b cards (which are nearly all rebadges) - except for the Cisco/Aironet cards. Cards supported include the Apple Airport (not a PCMCIA card), WavelanIEEE/Orinoco, Cabletron/EnteraSys Roamabout, ELSA AirLancer, MELCO Buffalo, Avaya, IBM High Rate Wireless, Farralon Syyline, Samsung MagicLAN, Netgear MA401, LinkSys WPC-11, D-Link DWL-650, 3Com AirConnect, Intel IPW2011, and Symbol Spectrum24 High Rate amongst others. This option includes the guts of the driver, but in order to actually use a card you will also need to enable support for PCMCIA Hermes cards, PLX9052 based PCI adaptors or the Apple Airport below. You will also very likely also need the Wireless Tools in order to configure your card and that /etc/pcmcia/wireless.opts works : <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html> config HERMES_PRISM bool "Support Prism 2/2.5 chipset" depends on HERMES ---help--- Say Y to enable support for Prism 2 and 2.5 chipsets. These chipsets are better handled by the hostap driver. This driver would not support WPA or firmware download for Prism chipset. If you are not sure, say N. config HERMES_CACHE_FW_ON_INIT bool "Cache Hermes firmware on driver initialisation" depends on HERMES default y ---help--- Say Y to cache any firmware required by the Hermes drivers on startup. The firmware will remain cached until the driver is unloaded. The cache uses 64K of RAM. Otherwise load the firmware from userspace as required. In this case the driver should be unloaded and restarted whenever the firmware is changed. If you are not sure, say Y. config APPLE_AIRPORT tristate "Apple Airport support (built-in)" depends on PPC_PMAC && HERMES help Say Y here to support the Airport 802.11b wireless Ethernet hardware built into the Macintosh iBook and other recent PowerPC-based Macintosh machines. This is essentially a Lucent Orinoco card with a non-standard interface. This driver does not support the Airport Extreme (802.11b/g). Use the BCM43xx driver for Airport Extreme cards. config PLX_HERMES tristate "Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.)" depends on PCI && HERMES help Enable support for PCMCIA cards supported by the "Hermes" (aka orinoco) driver when used in PLX9052 based PCI adaptors. These adaptors are not a full PCMCIA controller but act as a more limited PCI <-> PCMCIA bridge. Several vendors sell such adaptors so that 802.11b PCMCIA cards can be used in desktop machines. The Netgear MA301 is such an adaptor. config TMD_HERMES tristate "Hermes in TMD7160 based PCI adaptor support" depends on PCI && HERMES help Enable support for PCMCIA cards supported by the "Hermes" (aka orinoco) driver when used in TMD7160 based PCI adaptors. These adaptors are not a full PCMCIA controller but act as a more limited PCI <-> PCMCIA bridge. Several vendors sell such adaptors so that 802.11b PCMCIA cards can be used in desktop machines. config NORTEL_HERMES tristate "Nortel emobility PCI adaptor support" depends on PCI && HERMES help Enable support for PCMCIA cards supported by the "Hermes" (aka orinoco) driver when used in Nortel emobility PCI adaptors. These adaptors are not full PCMCIA controllers, but act as a more limited PCI <-> PCMCIA bridge. config PCI_HERMES tristate "Prism 2.5 PCI 802.11b adaptor support" depends on PCI && HERMES && HERMES_PRISM help Enable support for PCI and mini-PCI 802.11b wireless NICs based on the Prism 2.5 chipset. These are true PCI cards, not the 802.11b PCMCIA cards bundled with PCI<->PCMCIA adaptors which are also common. Some of the built-in wireless adaptors in laptops are of this variety. config PCMCIA_HERMES tristate "Hermes PCMCIA card support" depends on PCMCIA && HERMES && HAS_IOPORT_MAP ---help--- A driver for "Hermes" chipset based PCMCIA wireless adaptors, such as the Lucent WavelanIEEE/Orinoco cards and their OEM (Cabletron/ EnteraSys RoamAbout 802.11, ELSA Airlancer, Melco Buffalo and others). It should also be usable on various Prism II based cards such as the Linksys, D-Link and Farallon Skyline. It should also work on Symbol cards such as the 3Com AirConnect and Ericsson WLAN. You will very likely need the Wireless Tools in order to configure your card and that /etc/pcmcia/wireless.opts works: <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>. config PCMCIA_SPECTRUM tristate "Symbol Spectrum24 Trilogy PCMCIA card support" depends on PCMCIA && HERMES && HAS_IOPORT_MAP ---help--- This is a driver for 802.11b cards using RAM-loadable Symbol firmware, such as Symbol Wireless Networker LA4100, CompactFlash cards by Socket Communications and Intel PRO/Wireless 2011B. This driver requires firmware download on startup. Utilities for downloading Symbol firmware are available at <http://sourceforge.net/projects/orinoco/> config ORINOCO_USB tristate "Agere Orinoco USB support" depends on USB && HERMES select FW_LOADER ---help--- This driver is for USB versions of the Agere Orinoco card. net/wireless/intersil/orinoco/Makefile 0000644 00000001055 14722053667 0014145 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the orinoco wireless device drivers. # orinoco-objs := main.o fw.o hw.o mic.o scan.o wext.o hermes_dld.o hermes.o cfg.o obj-$(CONFIG_HERMES) += orinoco.o obj-$(CONFIG_PCMCIA_HERMES) += orinoco_cs.o obj-$(CONFIG_APPLE_AIRPORT) += airport.o obj-$(CONFIG_PLX_HERMES) += orinoco_plx.o obj-$(CONFIG_PCI_HERMES) += orinoco_pci.o obj-$(CONFIG_TMD_HERMES) += orinoco_tmd.o obj-$(CONFIG_NORTEL_HERMES) += orinoco_nortel.o obj-$(CONFIG_PCMCIA_SPECTRUM) += spectrum_cs.o obj-$(CONFIG_ORINOCO_USB) += orinoco_usb.o net/wireless/intersil/p54/Kconfig 0000644 00000004445 14722053667 0012756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config P54_COMMON tristate "Softmac Prism54 support" depends on MAC80211 select FW_LOADER select CRC_CCITT ---help--- This is common code for isl38xx/stlc45xx based modules. This module does nothing by itself - the USB/PCI/SPI front-ends also need to be enabled in order to support any devices. These devices require softmac firmware which can be found at <http://wireless.kernel.org/en/users/Drivers/p54> If you choose to build a module, it'll be called p54common. config P54_USB tristate "Prism54 USB support" depends on P54_COMMON && USB select CRC32 ---help--- This driver is for USB isl38xx based wireless cards. These devices require softmac firmware which can be found at <http://wireless.kernel.org/en/users/Drivers/p54> If you choose to build a module, it'll be called p54usb. config P54_PCI tristate "Prism54 PCI support" depends on P54_COMMON && PCI ---help--- This driver is for PCI isl38xx based wireless cards. This driver supports most devices that are supported by the fullmac prism54 driver plus many devices which are not supported by the fullmac driver/firmware. This driver requires softmac firmware which can be found at <http://wireless.kernel.org/en/users/Drivers/p54> If you choose to build a module, it'll be called p54pci. config P54_SPI tristate "Prism54 SPI (stlc45xx) support" depends on P54_COMMON && SPI_MASTER ---help--- This driver is for stlc4550 or stlc4560 based wireless chips such as Nokia's N800/N810 Portable Internet Tablet. If you choose to build a module, it'll be called p54spi. config P54_SPI_DEFAULT_EEPROM bool "Include fallback EEPROM blob" depends on P54_SPI default n ---help--- Unlike the PCI or USB devices, the SPI variants don't have a dedicated EEPROM chip to store all device specific values for calibration, country and interface settings. The driver will try to load the image "3826.eeprom", if the file is put at the right place. (usually /lib/firmware.) Only if this request fails, this option will provide a backup set of generic values to get the device working. Enabling this option adds about 4k to p54spi. config P54_LEDS bool depends on P54_COMMON && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = P54_COMMON) default y net/wireless/intersil/p54/Makefile 0000644 00000000415 14722053667 0013104 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 p54common-objs := eeprom.o fwio.o txrx.o main.o p54common-$(CONFIG_P54_LEDS) += led.o obj-$(CONFIG_P54_COMMON) += p54common.o obj-$(CONFIG_P54_USB) += p54usb.o obj-$(CONFIG_P54_PCI) += p54pci.o obj-$(CONFIG_P54_SPI) += p54spi.o net/wireless/intersil/Kconfig 0000644 00000002356 14722053667 0012345 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_INTERSIL bool "Intersil devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_INTERSIL source "drivers/net/wireless/intersil/hostap/Kconfig" source "drivers/net/wireless/intersil/orinoco/Kconfig" source "drivers/net/wireless/intersil/p54/Kconfig" config PRISM54 tristate 'Intersil Prism GT/Duette/Indigo PCI/Cardbus (DEPRECATED)' depends on PCI select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select FW_LOADER ---help--- This enables support for FullMAC PCI/Cardbus prism54 devices. This driver is now deprecated in favor for the SoftMAC driver, p54pci. p54pci supports FullMAC PCI/Cardbus devices as well. For more information refer to the p54 wiki: http://wireless.kernel.org/en/users/Drivers/p54 Note: You need a motherboard with DMA support to use any of these cards When built as module you get the module prism54 endif # WLAN_VENDOR_INTERSIL net/wireless/intersil/prism54/Makefile 0000644 00000000406 14722053667 0013777 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # $Id: Makefile.k26,v 1.7 2004/01/30 16:24:00 ajfa Exp $ prism54-objs := islpci_eth.o islpci_mgt.o \ isl_38xx.o isl_ioctl.o islpci_dev.o \ islpci_hotplug.o oid_mgt.o obj-$(CONFIG_PRISM54) += prism54.o net/wireless/intersil/Makefile 0000644 00000000257 14722053667 0012500 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_HOSTAP) += hostap/ obj-$(CONFIG_HERMES) += orinoco/ obj-$(CONFIG_P54_COMMON) += p54/ obj-$(CONFIG_PRISM54) += prism54/ net/wireless/intersil/hostap/Kconfig 0000644 00000006316 14722053667 0013643 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config HOSTAP tristate "IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)" select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV select CRYPTO select CRYPTO_ARC4 select CRYPTO_ECB select CRYPTO_AES select CRYPTO_MICHAEL_MIC select CRYPTO_ECB select CRC32 select LIB80211 select LIB80211_CRYPT_WEP select LIB80211_CRYPT_TKIP select LIB80211_CRYPT_CCMP ---help--- Shared driver code for IEEE 802.11b wireless cards based on Intersil Prism2/2.5/3 chipset. This driver supports so called Host AP mode that allows the card to act as an IEEE 802.11 access point. See <http://hostap.epitest.fi/> for more information about the Host AP driver configuration and tools. This site includes information and tools (hostapd and wpa_supplicant) for WPA/WPA2 support. This option includes the base Host AP driver code that is shared by different hardware models. You will also need to enable support for PLX/PCI/CS version of the driver to actually use the driver. The driver can be compiled as a module and it will be called hostap. config HOSTAP_FIRMWARE bool "Support downloading firmware images with Host AP driver" depends on HOSTAP ---help--- Configure Host AP driver to include support for firmware image download. This option by itself only enables downloading to the volatile memory, i.e. the card RAM. This option is required to support cards that don't have firmware in flash, such as D-Link DWL-520 rev E and D-Link DWL-650 rev P. Firmware image downloading needs a user space tool, prism2_srec. It is available from http://hostap.epitest.fi/. config HOSTAP_FIRMWARE_NVRAM bool "Support for non-volatile firmware download" depends on HOSTAP_FIRMWARE ---help--- Allow Host AP driver to write firmware images to the non-volatile card memory, i.e. flash memory that survives power cycling. Enable this option if you want to be able to change card firmware permanently. Firmware image downloading needs a user space tool, prism2_srec. It is available from http://hostap.epitest.fi/. config HOSTAP_PLX tristate "Host AP driver for Prism2/2.5/3 in PLX9052 PCI adaptors" depends on PCI && HOSTAP ---help--- Host AP driver's version for Prism2/2.5/3 PC Cards in PLX9052 based PCI adaptors. "Host AP support for Prism2/2.5/3 IEEE 802.11b" is required for this driver and its help text includes more information about the Host AP driver. The driver can be compiled as a module and will be named hostap_plx. config HOSTAP_PCI tristate "Host AP driver for Prism2.5 PCI adaptors" depends on PCI && HOSTAP ---help--- Host AP driver's version for Prism2.5 PCI adaptors. "Host AP support for Prism2/2.5/3 IEEE 802.11b" is required for this driver and its help text includes more information about the Host AP driver. The driver can be compiled as a module and will be named hostap_pci. config HOSTAP_CS tristate "Host AP driver for Prism2/2.5/3 PC Cards" depends on PCMCIA && HOSTAP ---help--- Host AP driver's version for Prism2/2.5/3 PC Cards. "Host AP support for Prism2/2.5/3 IEEE 802.11b" is required for this driver and its help text includes more information about the Host AP driver. The driver can be compiled as a module and will be named hostap_cs. net/wireless/intersil/hostap/Makefile 0000644 00000000502 14722053667 0013767 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 hostap-y := hostap_80211_rx.o hostap_80211_tx.o hostap_ap.o hostap_info.o \ hostap_ioctl.o hostap_main.o hostap_proc.o obj-$(CONFIG_HOSTAP) += hostap.o obj-$(CONFIG_HOSTAP_CS) += hostap_cs.o obj-$(CONFIG_HOSTAP_PLX) += hostap_plx.o obj-$(CONFIG_HOSTAP_PCI) += hostap_pci.o net/wireless/realtek/rtl8xxxu/Kconfig 0000644 00000002541 14722053667 0013765 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # RTL8XXXU Wireless LAN device configuration # config RTL8XXXU tristate "RTL8723AU/RTL8188[CR]U/RTL819[12]CU (mac80211) support" depends on MAC80211 && USB ---help--- This is an alternative driver for various Realtek RTL8XXX parts written to utilize the Linux mac80211 stack. The driver is known to work with a number of RTL8723AU, RL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU devices This driver is under development and has a limited feature set. In particular it does not yet support 40MHz channels and power management. However it should have a smaller memory footprint than the vendor drivers and benefits from the in kernel mac80211 stack. It can coexist with drivers from drivers/staging/rtl8723au, drivers/staging/rtl8192u, and drivers/net/wireless/rtlwifi, but you will need to control which module you wish to load. To compile this driver as a module, choose M here: the module will be called r8xxxu. If unsure, say N. config RTL8XXXU_UNTESTED bool "Include support for untested Realtek 8xxx USB devices (EXPERIMENTAL)" depends on RTL8XXXU ---help--- This option enables detection of Realtek 8723/8188/8191/8192 WiFi USB devices which have not been tested directly by the driver author or reported to be working by third parties. Please report your results! net/wireless/realtek/rtl8xxxu/Makefile 0000644 00000000267 14722053667 0014125 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_RTL8XXXU) += rtl8xxxu.o rtl8xxxu-y := rtl8xxxu_core.o rtl8xxxu_8192e.o rtl8xxxu_8723b.o \ rtl8xxxu_8723a.o rtl8xxxu_8192c.o net/wireless/realtek/Kconfig 0000644 00000001277 14722053667 0012144 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_REALTEK bool "Realtek devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_REALTEK source "drivers/net/wireless/realtek/rtl818x/Kconfig" source "drivers/net/wireless/realtek/rtlwifi/Kconfig" source "drivers/net/wireless/realtek/rtl8xxxu/Kconfig" source "drivers/net/wireless/realtek/rtw88/Kconfig" endif # WLAN_VENDOR_REALTEK net/wireless/realtek/rtl818x/rtl8187/Makefile 0000644 00000000243 14722053667 0014654 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only rtl8187-objs := dev.o rtl8225.o leds.o rfkill.o obj-$(CONFIG_RTL8187) += rtl8187.o ccflags-y += -I $(srctree)/$(src)/.. net/wireless/realtek/rtl818x/rtl8180/Makefile 0000644 00000000303 14722053667 0014642 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only rtl818x_pci-objs := dev.o rtl8225.o sa2400.o max2820.o grf5101.o rtl8225se.o obj-$(CONFIG_RTL8180) += rtl818x_pci.o ccflags-y += -I $(srctree)/$(src)/.. net/wireless/realtek/rtl818x/Kconfig 0000644 00000004065 14722053667 0013374 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # RTL818X Wireless LAN device configuration # config RTL8180 tristate "Realtek 8180/8185/8187SE PCI support" depends on MAC80211 && PCI select EEPROM_93CX6 ---help--- This is a driver for RTL8180, RTL8185 and RTL8187SE based cards. These are PCI based chips found in cards such as: (RTL8185 802.11g) A-Link WL54PC (RTL8180 802.11b) Belkin F5D6020 v3 Belkin F5D6020 v3 Dlink DWL-610 Dlink DWL-510 Netgear MA521 Level-One WPC-0101 Acer Aspire 1357 LMi VCTnet PC-11B1 Ovislink AirLive WL-1120PCM Mentor WL-PCI Linksys WPC11 v4 TrendNET TEW-288PI D-Link DWL-520 Rev D Repotec RP-WP7126 TP-Link TL-WN250/251 Zonet ZEW1000 Longshine LCS-8031-R HomeLine HLW-PCC200 GigaFast WF721-AEX Planet WL-3553 Encore ENLWI-PCI1-NT TrendNET TEW-266PC Gigabyte GN-WLMR101 Siemens-fujitsu Amilo D1840W Edimax EW-7126 PheeNet WL-11PCIR Tonze PC-2100T Planet WL-8303 Dlink DWL-650 v M1 Edimax EW-7106 Q-Tec 770WC Topcom Skyr@cer 4011b Roper FreeLan 802.11b (edition 2004) Wistron Neweb Corp CB-200B Pentagram HorNET QTec 775WC TwinMOS Booming B Series Micronet SP906BB Sweex LC700010 Surecom EP-9428 Safecom SWLCR-1100 Thanks to Realtek for their support! config RTL8187 tristate "Realtek 8187 and 8187B USB support" depends on MAC80211 && USB select EEPROM_93CX6 ---help--- This is a driver for RTL8187 and RTL8187B based cards. These are USB based chips found in devices such as: Netgear WG111v2 Level 1 WNC-0301USB Micronet SP907GK V5 Encore ENUWI-G2 Trendnet TEW-424UB ASUS P5B Deluxe/P5K Premium motherboards Toshiba Satellite Pro series of laptops Asus Wireless Link Linksys WUSB54GC-EU v2 (v1 = rt73usb; v3 is rt2070-based, use staging/rt3070 or try rt2800usb) Thanks to Realtek for their support! # If possible, automatically enable LEDs for RTL8187. config RTL8187_LEDS bool depends on RTL8187 && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = RTL8187) default y net/wireless/realtek/rtl818x/Makefile 0000644 00000000154 14722053667 0013524 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_RTL8180) += rtl8180/ obj-$(CONFIG_RTL8187) += rtl8187/ net/wireless/realtek/rtlwifi/rtl8192de/Makefile 0000644 00000000275 14722053667 0015414 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8192de-objs := \ dm.o \ fw.o \ hw.o \ led.o \ phy.o \ rf.o \ sw.o \ table.o \ trx.o obj-$(CONFIG_RTL8192DE) += rtl8192de.o net/wireless/realtek/rtlwifi/rtl8188ee/Makefile 0000644 00000000312 14722053667 0015412 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8188ee-objs := \ dm.o \ fw.o \ hw.o \ led.o \ phy.o \ pwrseq.o \ rf.o \ sw.o \ table.o \ trx.o obj-$(CONFIG_RTL8188EE) += rtl8188ee.o net/wireless/realtek/rtlwifi/btcoexist/Makefile 0000644 00000000362 14722053667 0015757 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 btcoexist-objs := halbtc8192e2ant.o \ halbtc8723b1ant.o \ halbtc8723b2ant.o \ halbtc8821a1ant.o \ halbtc8821a2ant.o \ halbtcoutsrc.o \ rtl_btc.o obj-$(CONFIG_RTLBTCOEXIST) += btcoexist.o net/wireless/realtek/rtlwifi/Kconfig 0000644 00000007622 14722053667 0013624 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig RTL_CARDS tristate "Realtek rtlwifi family of devices" depends on MAC80211 && (PCI || USB) default y ---help--- This option will enable support for the Realtek mac80211-based wireless drivers. Drivers rtl8192ce, rtl8192cu, rtl8192se, rtl8192de, rtl8723ae, rtl8723be, rtl8188ee, rtl8192ee, and rtl8821ae share some common code. if RTL_CARDS config RTL8192CE tristate "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter" depends on PCI select RTL8192C_COMMON select RTLWIFI select RTLWIFI_PCI ---help--- This is the driver for Realtek RTL8192CE/RTL8188CE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8192ce config RTL8192SE tristate "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI ---help--- This is the driver for Realtek RTL8192SE/RTL8191SE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8192se config RTL8192DE tristate "Realtek RTL8192DE/RTL8188DE PCIe Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI ---help--- This is the driver for Realtek RTL8192DE/RTL8188DE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8192de config RTL8723AE tristate "Realtek RTL8723AE PCIe Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI select RTL8723_COMMON select RTLBTCOEXIST ---help--- This is the driver for Realtek RTL8723AE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8723ae config RTL8723BE tristate "Realtek RTL8723BE PCIe Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI select RTL8723_COMMON select RTLBTCOEXIST ---help--- This is the driver for Realtek RTL8723BE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8723be config RTL8188EE tristate "Realtek RTL8188EE Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI ---help--- This is the driver for Realtek RTL8188EE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8188ee config RTL8192EE tristate "Realtek RTL8192EE Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI select RTLBTCOEXIST ---help--- This is the driver for Realtek RTL8192EE 802.11n PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8192ee config RTL8821AE tristate "Realtek RTL8821AE/RTL8812AE Wireless Network Adapter" depends on PCI select RTLWIFI select RTLWIFI_PCI select RTLBTCOEXIST ---help--- This is the driver for Realtek RTL8821AE/RTL8812AE 802.11ac PCIe wireless network adapters. If you choose to build it as a module, it will be called rtl8821ae config RTL8192CU tristate "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter" depends on USB select RTLWIFI select RTLWIFI_USB select RTL8192C_COMMON ---help--- This is the driver for Realtek RTL8192CU/RTL8188CU 802.11n USB wireless network adapters. If you choose to build it as a module, it will be called rtl8192cu config RTLWIFI tristate select FW_LOADER config RTLWIFI_PCI tristate config RTLWIFI_USB tristate config RTLWIFI_DEBUG bool "Debugging output for rtlwifi driver family" depends on RTLWIFI default y ---help--- To use the module option that sets the dynamic-debugging level for, the front-end driver, this parameter must be "Y". For memory-limited systems, choose "N". If in doubt, choose "Y". config RTL8192C_COMMON tristate depends on RTL8192CE || RTL8192CU default y config RTL8723_COMMON tristate depends on RTL8723AE || RTL8723BE default y config RTLBTCOEXIST tristate depends on RTL8723AE || RTL8723BE || RTL8821AE || RTL8192EE default y endif net/wireless/realtek/rtlwifi/rtl8192c/Makefile 0000644 00000000255 14722053667 0015244 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8192c-common-objs := \ main.o \ dm_common.o \ fw_common.o \ phy_common.o obj-$(CONFIG_RTL8192C_COMMON) += rtl8192c-common.o net/wireless/realtek/rtlwifi/rtl8723be/Makefile 0000644 00000000316 14722053667 0015406 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8723be-objs := \ dm.o \ fw.o \ hw.o \ led.o \ phy.o \ pwrseq.o \ rf.o \ sw.o \ table.o \ trx.o \ obj-$(CONFIG_RTL8723BE) += rtl8723be.o net/wireless/realtek/rtlwifi/rtl8192ee/Makefile 0000644 00000000316 14722053667 0015411 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8192ee-objs := \ dm.o \ fw.o \ hw.o \ led.o \ phy.o \ pwrseq.o \ rf.o \ sw.o \ table.o \ trx.o \ obj-$(CONFIG_RTL8192EE) += rtl8192ee.o net/wireless/realtek/rtlwifi/rtl8723com/Makefile 0000644 00000000252 14722053667 0015575 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8723-common-objs := \ main.o \ dm_common.o \ fw_common.o \ phy_common.o obj-$(CONFIG_RTL8723_COMMON) += rtl8723-common.o net/wireless/realtek/rtlwifi/rtl8723ae/Makefile 0000644 00000000360 14722053667 0015404 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8723ae-objs := \ dm.o \ fw.o \ hal_btc.o \ hal_bt_coexist.o\ hw.o \ led.o \ phy.o \ pwrseq.o \ rf.o \ sw.o \ table.o \ trx.o \ obj-$(CONFIG_RTL8723AE) += rtl8723ae.o net/wireless/realtek/rtlwifi/rtl8192cu/Makefile 0000644 00000000276 14722053667 0015434 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8192cu-objs := \ dm.o \ hw.o \ led.o \ mac.o \ phy.o \ rf.o \ sw.o \ table.o \ trx.o obj-$(CONFIG_RTL8192CU) += rtl8192cu.o net/wireless/realtek/rtlwifi/rtl8192se/Makefile 0000644 00000000276 14722053667 0015434 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8192se-objs := \ dm.o \ fw.o \ hw.o \ led.o \ phy.o \ rf.o \ sw.o \ table.o \ trx.o obj-$(CONFIG_RTL8192SE) += rtl8192se.o net/wireless/realtek/rtlwifi/rtl8192ce/Makefile 0000644 00000000263 14722053667 0015410 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8192ce-objs := \ dm.o \ hw.o \ led.o \ phy.o \ rf.o \ sw.o \ table.o \ trx.o obj-$(CONFIG_RTL8192CE) += rtl8192ce.o net/wireless/realtek/rtlwifi/Makefile 0000644 00000001474 14722053667 0013760 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_RTLWIFI) += rtlwifi.o rtlwifi-objs := \ base.o \ cam.o \ core.o \ debug.o \ efuse.o \ ps.o \ rc.o \ regd.o \ stats.o rtl8192c_common-objs += \ obj-$(CONFIG_RTLWIFI_PCI) += rtl_pci.o rtl_pci-objs := pci.o obj-$(CONFIG_RTLWIFI_USB) += rtl_usb.o rtl_usb-objs := usb.o obj-$(CONFIG_RTL8192C_COMMON) += rtl8192c/ obj-$(CONFIG_RTL8192CE) += rtl8192ce/ obj-$(CONFIG_RTL8192CU) += rtl8192cu/ obj-$(CONFIG_RTL8192SE) += rtl8192se/ obj-$(CONFIG_RTL8192DE) += rtl8192de/ obj-$(CONFIG_RTL8723AE) += rtl8723ae/ obj-$(CONFIG_RTL8723BE) += rtl8723be/ obj-$(CONFIG_RTL8188EE) += rtl8188ee/ obj-$(CONFIG_RTLBTCOEXIST) += btcoexist/ obj-$(CONFIG_RTL8723_COMMON) += rtl8723com/ obj-$(CONFIG_RTL8821AE) += rtl8821ae/ obj-$(CONFIG_RTL8192EE) += rtl8192ee/ net/wireless/realtek/rtlwifi/rtl8821ae/Makefile 0000644 00000000316 14722053667 0015404 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 rtl8821ae-objs := \ dm.o \ fw.o \ hw.o \ led.o \ phy.o \ pwrseq.o \ rf.o \ sw.o \ table.o \ trx.o \ obj-$(CONFIG_RTL8821AE) += rtl8821ae.o net/wireless/realtek/rtw88/Kconfig 0000644 00000003215 14722053667 0013132 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig RTW88 tristate "Realtek 802.11ac wireless chips support" depends on MAC80211 help This module adds support for mac80211-based wireless drivers that enables Realtek IEEE 802.11ac wireless chipsets. If you choose to build a module, it'll be called rtw88. if RTW88 config RTW88_CORE tristate config RTW88_PCI tristate config RTW88_8822BE bool "Realtek 8822BE PCI wireless network adapter" depends on PCI select RTW88_CORE select RTW88_PCI help Select this option will enable support for 8822BE chipset 802.11ac PCIe wireless network adapter config RTW88_8822CE bool "Realtek 8822CE PCI wireless network adapter" depends on PCI select RTW88_CORE select RTW88_PCI help Select this option will enable support for 8822CE chipset 802.11ac PCIe wireless network adapter config RTW88_8723DE bool "Realtek 8723DE PCI wireless network adapter" depends on PCI select RTW88_CORE select RTW88_PCI help Select this option will enable support for 8723DE chipset 802.11n PCIe wireless network adapter config RTW88_DEBUG bool "Realtek rtw88 debug support" depends on RTW88_CORE help Enable debug support If unsure, say Y to simplify debug problems config RTW88_DEBUGFS bool "Realtek rtw88 debugfs support" depends on RTW88_CORE help Enable debug support If unsure, say Y to simplify debug problems config RTW88_REGD_USER_REG_HINTS bool "Realtek rtw88 user regulatory hints" depends on RTW88_CORE default n help Enable regulatoy user hints If unsure, say N. This should only be allowed on distributions that need this to correct the regulatory. endif net/wireless/realtek/rtw88/Makefile 0000644 00000001043 14722053667 0013264 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause obj-$(CONFIG_RTW88_CORE) += rtw88.o rtw88-y += main.o \ mac80211.o \ util.o \ debug.o \ tx.o \ rx.o \ mac.o \ phy.o \ coex.o \ efuse.o \ fw.o \ ps.o \ sec.o \ bf.o \ wow.o \ sar.o \ regd.o rtw88-$(CONFIG_RTW88_8822BE) += rtw8822b.o rtw8822b_table.o rtw88-$(CONFIG_RTW88_8822CE) += rtw8822c.o rtw8822c_table.o rtw88-$(CONFIG_RTW88_8723DE) += rtw8723d.o rtw8723d_table.o obj-$(CONFIG_RTW88_PCI) += rtwpci.o rtwpci-objs := pci.o net/wireless/realtek/Makefile 0000644 00000000446 14722053667 0012276 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Linux Wireless network device drivers for Realtek units # obj-$(CONFIG_RTL8180) += rtl818x/ obj-$(CONFIG_RTL8187) += rtl818x/ obj-$(CONFIG_RTLWIFI) += rtlwifi/ obj-$(CONFIG_RTL8XXXU) += rtl8xxxu/ obj-$(CONFIG_RTW88) += rtw88/ net/wireless/mediatek/mt76/mt7615/Kconfig 0000644 00000000703 14722053667 0014031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MT7615E tristate "MediaTek MT7615E (PCIe) support" select MT76_CORE depends on MAC80211 depends on PCI help This adds support for MT7615-based wireless PCIe devices, which support concurrent dual-band operation at both 5GHz and 2.4GHz, IEEE 802.11ac 4x4:4SS 1733Mbps PHY rate, wave2 MU-MIMO up to 4 users/group and 160MHz channels. To compile this driver as a module, choose M here. net/wireless/mediatek/mt76/mt7615/Makefile 0000644 00000000221 14722053667 0014161 0 ustar 00 #SPDX-License-Identifier: ISC obj-$(CONFIG_MT7615E) += mt7615e.o mt7615e-y := pci.o init.o dma.o eeprom.o main.o mcu.o mac.o \ debugfs.o net/wireless/mediatek/mt76/Kconfig 0000644 00000001052 14722053667 0013064 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MT76_CORE tristate config MT76_LEDS bool depends on MT76_CORE depends on LEDS_CLASS=y || MT76_CORE=LEDS_CLASS default y config MT76_USB tristate depends on MT76_CORE config MT76x02_LIB tristate select MT76_CORE config MT76x02_USB tristate select MT76_USB source "drivers/net/wireless/mediatek/mt76/mt76x0/Kconfig" source "drivers/net/wireless/mediatek/mt76/mt76x2/Kconfig" source "drivers/net/wireless/mediatek/mt76/mt7603/Kconfig" source "drivers/net/wireless/mediatek/mt76/mt7615/Kconfig" net/wireless/mediatek/mt76/mt76x0/Kconfig 0000644 00000001377 14722053667 0014143 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MT76x0_COMMON tristate select MT76x02_LIB config MT76x0U tristate "MediaTek MT76x0U (USB) support" select MT76x0_COMMON select MT76x02_USB depends on MAC80211 depends on USB help This adds support for MT7610U-based wireless USB 2.0 dongles, which comply with IEEE 802.11ac standards and support 1x1 433Mbps PHY rate. To compile this driver as a module, choose M here. config MT76x0E tristate "MediaTek MT76x0E (PCIe) support" select MT76x0_COMMON depends on MAC80211 depends on PCI help This adds support for MT7610/MT7630-based wireless PCIe devices, which comply with IEEE 802.11ac standards and support 1x1 433Mbps PHY rate. To compile this driver as a module, choose M here. net/wireless/mediatek/mt76/mt76x0/Makefile 0000644 00000000441 14722053667 0014267 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MT76x0U) += mt76x0u.o obj-$(CONFIG_MT76x0E) += mt76x0e.o obj-$(CONFIG_MT76x0_COMMON) += mt76x0-common.o mt76x0-common-y := init.o main.o eeprom.o phy.o mt76x0u-y := usb.o usb_mcu.o mt76x0e-y := pci.o pci_mcu.o # ccflags-y := -DDEBUG net/wireless/mediatek/mt76/Makefile 0000644 00000001522 14722053667 0013223 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MT76_CORE) += mt76.o obj-$(CONFIG_MT76_USB) += mt76-usb.o obj-$(CONFIG_MT76x02_LIB) += mt76x02-lib.o obj-$(CONFIG_MT76x02_USB) += mt76x02-usb.o mt76-y := \ mmio.o util.o trace.o dma.o mac80211.o debugfs.o eeprom.o \ tx.o agg-rx.o mcu.o mt76-$(CONFIG_PCI) += pci.o mt76-usb-y := usb.o usb_trace.o CFLAGS_trace.o := -I$(src) CFLAGS_usb_trace.o := -I$(src) CFLAGS_mt76x02_trace.o := -I$(src) mt76x02-lib-y := mt76x02_util.o mt76x02_mac.o mt76x02_mcu.o \ mt76x02_eeprom.o mt76x02_phy.o mt76x02_mmio.o \ mt76x02_txrx.o mt76x02_trace.o mt76x02_debugfs.o \ mt76x02_dfs.o mt76x02_beacon.o mt76x02-usb-y := mt76x02_usb_mcu.o mt76x02_usb_core.o obj-$(CONFIG_MT76x0_COMMON) += mt76x0/ obj-$(CONFIG_MT76x2_COMMON) += mt76x2/ obj-$(CONFIG_MT7603E) += mt7603/ obj-$(CONFIG_MT7615E) += mt7615/ net/wireless/mediatek/mt76/mt7603/Kconfig 0000644 00000000616 14722053667 0014031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MT7603E tristate "MediaTek MT7603E (PCIe) and MT76x8 WLAN support" select MT76_CORE depends on MAC80211 depends on PCI help This adds support for MT7603E wireless PCIe devices and the WLAN core on MT7628/MT7688 SoC devices. This family supports IEEE 802.11n 2x2 to 300Mbps PHY rate To compile this driver as a module, choose M here. net/wireless/mediatek/mt76/mt7603/Makefile 0000644 00000000261 14722053667 0014162 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MT7603E) += mt7603e.o mt7603e-y := \ pci.o soc.o main.o init.o mcu.o \ core.o dma.o mac.o eeprom.o \ beacon.o debugfs.o net/wireless/mediatek/mt76/mt76x2/Kconfig 0000644 00000001420 14722053667 0014132 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MT76x2_COMMON tristate select MT76x02_LIB config MT76x2E tristate "MediaTek MT76x2E (PCIe) support" select MT76x2_COMMON depends on MAC80211 depends on PCI help This adds support for MT7612/MT7602/MT7662-based wireless PCIe devices, which comply with IEEE 802.11ac standards and support 2SS to 866Mbit/s PHY rate. To compile this driver as a module, choose M here. config MT76x2U tristate "MediaTek MT76x2U (USB) support" select MT76x2_COMMON select MT76x02_USB depends on MAC80211 depends on USB help This adds support for MT7612U-based wireless USB 3.0 dongles, which comply with IEEE 802.11ac standards and support 2SS to 866Mbit/s PHY rate. To compile this driver as a module, choose M here. net/wireless/mediatek/mt76/mt76x2/Makefile 0000644 00000000610 14722053667 0014267 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MT76x2_COMMON) += mt76x2-common.o obj-$(CONFIG_MT76x2E) += mt76x2e.o obj-$(CONFIG_MT76x2U) += mt76x2u.o mt76x2-common-y := \ eeprom.o mac.o init.o phy.o mcu.o mt76x2e-y := \ pci.o pci_main.o pci_init.o pci_mcu.o \ pci_phy.o mt76x2u-y := \ usb.o usb_init.o usb_main.o usb_mac.o usb_mcu.o \ usb_phy.o CFLAGS_pci_trace.o := -I$(src) net/wireless/mediatek/Kconfig 0000644 00000001125 14722053667 0012270 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_MEDIATEK bool "MediaTek devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_MEDIATEK source "drivers/net/wireless/mediatek/mt7601u/Kconfig" source "drivers/net/wireless/mediatek/mt76/Kconfig" endif # WLAN_VENDOR_MEDIATEK net/wireless/mediatek/mt7601u/Kconfig 0000644 00000000320 14722053667 0013407 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config MT7601U tristate "MediaTek MT7601U (USB) support" depends on MAC80211 depends on USB ---help--- This adds support for MT7601U-based wireless USB dongles. net/wireless/mediatek/mt7601u/Makefile 0000644 00000000327 14722053667 0013553 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MT7601U) += mt7601u.o mt7601u-objs = \ usb.o init.o main.o mcu.o trace.o dma.o core.o eeprom.o phy.o \ mac.o util.o debugfs.o tx.o CFLAGS_trace.o := -I$(src) net/wireless/mediatek/Makefile 0000644 00000000153 14722053667 0012425 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_MT7601U) += mt7601u/ obj-$(CONFIG_MT76_CORE) += mt76/ net/wireless/admtek/Kconfig 0000644 00000002362 14722053667 0011756 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WLAN_VENDOR_ADMTEK bool "ADMtek devices" default y ---help--- If you have a wireless card belonging to this class, say Y. Note that the answer to this question doesn't directly affect the kernel: saying N will just cause the configurator to skip all the questions about these cards. If you say Y, you will be asked for your specific card in the following questions. if WLAN_VENDOR_ADMTEK config ADM8211 tristate "ADMtek ADM8211 support" depends on MAC80211 && PCI select CRC32 select EEPROM_93CX6 ---help--- This driver is for ADM8211A, ADM8211B, and ADM8211C based cards. These are PCI/mini-PCI/Cardbus 802.11b chips found in cards such as: Xterasys Cardbus XN-2411b Blitz NetWave Point PC TrendNet 221pc Belkin F5D6001 SMC 2635W Linksys WPC11 v1 Fiberline FL-WL-200X 3com Office Connect (3CRSHPW796) Corega WLPCIB-11 SMC 2602W V2 EU D-Link DWL-520 Revision C However, some of these cards have been replaced with other chips like the RTL8180L (Xterasys Cardbus XN-2411b, Belkin F5D6001) or the Ralink RT2400 (SMC2635W) without a model number change. Thanks to Infineon-ADMtek for their support of this driver. endif # WLAN_VENDOR_ADMTEK net/wireless/admtek/Makefile 0000644 00000000113 14722053667 0012103 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_ADM8211) += adm8211.o net/xen-netback/Makefile 0000644 00000000227 14722053667 0011206 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_XEN_NETDEV_BACKEND) := xen-netback.o xen-netback-y := netback.o xenbus.o interface.o hash.o rx.o net/plip/Kconfig 0000644 00000003502 14722053667 0007615 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Parallel Line Internet Protocol (PLIP) network device configuration # config PLIP tristate "PLIP (parallel port) support" depends on PARPORT ---help--- PLIP (Parallel Line Internet Protocol) is used to create a reasonably fast mini network consisting of two (or, rarely, more) local machines. A PLIP link from a Linux box is a popular means to install a Linux distribution on a machine which doesn't have a CD-ROM drive (a minimal system has to be transferred with floppies first). The kernels on both machines need to have this PLIP option enabled for this to work. The PLIP driver has two modes, mode 0 and mode 1. The parallel ports (the connectors at the computers with 25 holes) are connected with "null printer" or "Turbo Laplink" cables which can transmit 4 bits at a time (mode 0) or with special PLIP cables, to be used on bidirectional parallel ports only, which can transmit 8 bits at a time (mode 1); you can find the wiring of these cables in <file:Documentation/networking/PLIP.txt>. The cables can be up to 15m long. Mode 0 works also if one of the machines runs DOS/Windows and has some PLIP software installed, e.g. the Crynwr PLIP packet driver (<http://oak.oakland.edu/simtel.net/msdos/pktdrvr-pre.html>) and winsock or NCSA's telnet. If you want to use PLIP, say Y and read the PLIP mini-HOWTO as well as the NET-3-HOWTO, both available from <http://www.tldp.org/docs.html#howto>. Note that the PLIP protocol has been changed and this PLIP driver won't work together with the PLIP support in Linux versions 1.0.x. This option enlarges your kernel by about 8 KB. To compile this driver as a module, choose M here. The module will be called plip. If unsure, say Y or M, in case you buy a laptop later. net/plip/Makefile 0000644 00000000172 14722053667 0007752 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the PLIP network device drivers. # obj-$(CONFIG_PLIP) += plip.o net/wimax/i2400m/Kconfig 0000644 00000001751 14722053667 0010715 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config WIMAX_I2400M tristate depends on WIMAX select FW_LOADER comment "Enable USB support to see WiMAX USB drivers" depends on USB = n config WIMAX_I2400M_USB tristate "Intel Wireless WiMAX Connection 2400 over USB (including 5x50)" depends on WIMAX && USB select WIMAX_I2400M help Select if you have a device based on the Intel WiMAX Connection 2400 over USB (like any of the Intel Wireless WiMAX/WiFi Link 5x50 series). If unsure, it is safe to select M (module). config WIMAX_I2400M_DEBUG_LEVEL int "WiMAX i2400m debug level" depends on WIMAX_I2400M default 8 help Select the maximum debug verbosity level to be compiled into the WiMAX i2400m driver code. By default, this is disabled at runtime and can be selectively enabled at runtime for different parts of the code using the sysfs debug-levels file. If set at zero, this will compile out all the debug code. It is recommended that it is left at 8. net/wimax/i2400m/Makefile 0000644 00000000535 14722053667 0011051 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_WIMAX_I2400M) += i2400m.o obj-$(CONFIG_WIMAX_I2400M_USB) += i2400m-usb.o i2400m-y := \ control.o \ driver.o \ fw.o \ op-rfkill.o \ sysfs.o \ netdev.o \ tx.o \ rx.o i2400m-$(CONFIG_DEBUG_FS) += debugfs.o i2400m-usb-y := \ usb-fw.o \ usb-notif.o \ usb-tx.o \ usb-rx.o \ usb.o net/wimax/Kconfig 0000644 00000000440 14722053667 0007774 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # WiMAX LAN device drivers configuration # comment "Enable WiMAX (Networking options) to see the WiMAX drivers" depends on WIMAX = n if WIMAX menu "WiMAX Wireless Broadband devices" source "drivers/net/wimax/i2400m/Kconfig" endmenu endif net/wimax/Makefile 0000644 00000000116 14722053667 0010131 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_WIMAX_I2400M) += i2400m/ net/fjes/Makefile 0000644 00000000735 14722053667 0007742 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only ################################################################################ # # FUJITSU Extended Socket Network Device driver # Copyright (c) 2015 FUJITSU LIMITED # ################################################################################ # # Makefile for the FUJITSU Extended Socket network device driver # obj-$(CONFIG_FUJITSU_ES) += fjes.o fjes-objs := fjes_main.o fjes_hw.o fjes_ethtool.o fjes_trace.o fjes_debugfs.o net/netdevsim/Makefile 0000644 00000000376 14722053667 0011012 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_NETDEVSIM) += netdevsim.o netdevsim-objs := \ netdev.o dev.o fib.o bus.o ifeq ($(CONFIG_BPF_SYSCALL),y) netdevsim-objs += \ bpf.o endif ifneq ($(CONFIG_XFRM_OFFLOAD),) netdevsim-objs += ipsec.o endif net/Makefile 0000644 00000004331 14722053667 0007007 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux network device drivers. # # # Networking Core Drivers # obj-$(CONFIG_BONDING) += bonding/ obj-$(CONFIG_IPVLAN) += ipvlan/ obj-$(CONFIG_IPVTAP) += ipvlan/ obj-$(CONFIG_DUMMY) += dummy.o obj-$(CONFIG_EQUALIZER) += eql.o obj-$(CONFIG_IFB) += ifb.o obj-$(CONFIG_MACSEC) += macsec.o obj-$(CONFIG_MACVLAN) += macvlan.o obj-$(CONFIG_MACVTAP) += macvtap.o obj-$(CONFIG_MII) += mii.o obj-$(CONFIG_MDIO) += mdio.o obj-$(CONFIG_NET) += Space.o loopback.o obj-$(CONFIG_NETCONSOLE) += netconsole.o obj-y += phy/ obj-$(CONFIG_RIONET) += rionet.o obj-$(CONFIG_NET_TEAM) += team/ obj-$(CONFIG_TUN) += tun.o obj-$(CONFIG_TAP) += tap.o obj-$(CONFIG_VETH) += veth.o obj-$(CONFIG_VIRTIO_NET) += virtio_net.o obj-$(CONFIG_VXLAN) += vxlan.o obj-$(CONFIG_GENEVE) += geneve.o obj-$(CONFIG_GTP) += gtp.o obj-$(CONFIG_NLMON) += nlmon.o obj-$(CONFIG_NET_VRF) += vrf.o obj-$(CONFIG_VSOCKMON) += vsockmon.o # # Networking Drivers # obj-$(CONFIG_ARCNET) += arcnet/ obj-$(CONFIG_DEV_APPLETALK) += appletalk/ obj-$(CONFIG_CAIF) += caif/ obj-$(CONFIG_CAN) += can/ obj-y += dsa/ obj-$(CONFIG_ETHERNET) += ethernet/ obj-$(CONFIG_FDDI) += fddi/ obj-$(CONFIG_HIPPI) += hippi/ obj-$(CONFIG_HAMRADIO) += hamradio/ obj-$(CONFIG_PLIP) += plip/ obj-$(CONFIG_PPP) += ppp/ obj-$(CONFIG_PPP_ASYNC) += ppp/ obj-$(CONFIG_PPP_BSDCOMP) += ppp/ obj-$(CONFIG_PPP_DEFLATE) += ppp/ obj-$(CONFIG_PPP_MPPE) += ppp/ obj-$(CONFIG_PPP_SYNC_TTY) += ppp/ obj-$(CONFIG_PPPOE) += ppp/ obj-$(CONFIG_PPPOL2TP) += ppp/ obj-$(CONFIG_PPTP) += ppp/ obj-$(CONFIG_SLIP) += slip/ obj-$(CONFIG_SLHC) += slip/ obj-$(CONFIG_NET_SB1000) += sb1000.o obj-$(CONFIG_SUNGEM_PHY) += sungem_phy.o obj-$(CONFIG_WAN) += wan/ obj-$(CONFIG_WLAN) += wireless/ obj-$(CONFIG_WIMAX) += wimax/ obj-$(CONFIG_IEEE802154) += ieee802154/ obj-$(CONFIG_VMXNET3) += vmxnet3/ obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o obj-$(CONFIG_XEN_NETDEV_BACKEND) += xen-netback/ obj-$(CONFIG_USB_NET_DRIVERS) += usb/ obj-$(CONFIG_HYPERV_NET) += hyperv/ obj-$(CONFIG_NTB_NETDEV) += ntb_netdev.o obj-$(CONFIG_FUJITSU_ES) += fjes/ thunderbolt-net-y += thunderbolt.o obj-$(CONFIG_THUNDERBOLT_NET) += thunderbolt-net.o obj-$(CONFIG_NETDEVSIM) += netdevsim/ obj-$(CONFIG_NET_FAILOVER) += net_failover.o net/ppp/Kconfig 0000644 00000014366 14722053667 0007462 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PPP network device configuration # config PPP tristate "PPP (point-to-point protocol) support" select SLHC ---help--- PPP (Point to Point Protocol) is a newer and better SLIP. It serves the same purpose: sending Internet traffic over telephone (and other serial) lines. Ask your access provider if they support it, because otherwise you can't use it; most Internet access providers these days support PPP rather than SLIP. To use PPP, you need an additional program called pppd as described in the PPP-HOWTO, available at <http://www.tldp.org/docs.html#howto>. Make sure that you have the version of pppd recommended in <file:Documentation/Changes>. The PPP option enlarges your kernel by about 16 KB. There are actually two versions of PPP: the traditional PPP for asynchronous lines, such as regular analog phone lines, and synchronous PPP which can be used over digital ISDN lines for example. If you want to use PPP over phone lines or other asynchronous serial lines, you need to say Y (or M) here and also to the next option, "PPP support for async serial ports". For PPP over synchronous lines, you should say Y (or M) here and to "Support synchronous PPP", below. If you said Y to "Version information on all symbols" above, then you cannot compile the PPP driver into the kernel; you can then only compile it as a module. To compile this driver as a module, choose M here. The module will be called ppp_generic. if PPP config PPP_BSDCOMP tristate "PPP BSD-Compress compression" depends on PPP ---help--- Support for the BSD-Compress compression method for PPP, which uses the LZW compression method to compress each PPP packet before it is sent over the wire. The machine at the other end of the PPP link (usually your ISP) has to support the BSD-Compress compression method as well for this to be useful. Even if they don't support it, it is safe to say Y here. The PPP Deflate compression method ("PPP Deflate compression", above) is preferable to BSD-Compress, because it compresses better and is patent-free. Note that the BSD compression code will always be compiled as a module; it is called bsd_comp and will show up in the directory modules once you have said "make modules". If unsure, say N. config PPP_DEFLATE tristate "PPP Deflate compression" depends on PPP select ZLIB_INFLATE select ZLIB_DEFLATE ---help--- Support for the Deflate compression method for PPP, which uses the Deflate algorithm (the same algorithm that gzip uses) to compress each PPP packet before it is sent over the wire. The machine at the other end of the PPP link (usually your ISP) has to support the Deflate compression method as well for this to be useful. Even if they don't support it, it is safe to say Y here. To compile this driver as a module, choose M here. config PPP_FILTER bool "PPP filtering" depends on PPP ---help--- Say Y here if you want to be able to filter the packets passing over PPP interfaces. This allows you to control which packets count as activity (i.e. which packets will reset the idle timer or bring up a demand-dialed link) and which packets are to be dropped entirely. You need to say Y here if you wish to use the pass-filter and active-filter options to pppd. If unsure, say N. config PPP_MPPE tristate "PPP MPPE compression (encryption)" depends on PPP select CRYPTO select CRYPTO_SHA1 select CRYPTO_LIB_ARC4 ---help--- Support for the MPPE Encryption protocol, as employed by the Microsoft Point-to-Point Tunneling Protocol. See http://pptpclient.sourceforge.net/ for information on configuring PPTP clients and servers to utilize this method. config PPP_MULTILINK bool "PPP multilink support" depends on PPP ---help--- PPP multilink is a protocol (defined in RFC 1990) which allows you to combine several (logical or physical) lines into one logical PPP connection, so that you can utilize your full bandwidth. This has to be supported at the other end as well and you need a version of the pppd daemon which understands the multilink protocol. If unsure, say N. config PPPOATM tristate "PPP over ATM" depends on ATM && PPP ---help--- Support PPP (Point to Point Protocol) encapsulated in ATM frames. This implementation does not yet comply with section 8 of RFC2364, which can lead to bad results if the ATM peer loses state and changes its encapsulation unilaterally. config PPPOE tristate "PPP over Ethernet" depends on PPP ---help--- Support for PPP over Ethernet. This driver requires the latest version of pppd from the CVS repository at cvs.samba.org. Alternatively, see the RoaringPenguin package (<http://www.roaringpenguin.com/pppoe>) which contains instruction on how to use this driver (under the heading "Kernel mode PPPoE"). config PPTP tristate "PPP over IPv4 (PPTP)" depends on PPP && NET_IPGRE_DEMUX ---help--- Support for PPP over IPv4.(Point-to-Point Tunneling Protocol) This driver requires pppd plugin to work in client mode or modified pptpd (poptop) to work in server mode. See http://accel-pptp.sourceforge.net/ for information how to utilize this module. config PPPOL2TP tristate "PPP over L2TP" depends on L2TP && PPP ---help--- Support for PPP-over-L2TP socket family. L2TP is a protocol used by ISPs and enterprises to tunnel PPP traffic over UDP tunnels. L2TP is replacing PPTP for VPN uses. if TTY config PPP_ASYNC tristate "PPP support for async serial ports" depends on PPP select CRC_CCITT ---help--- Say Y (or M) here if you want to be able to use PPP over standard asynchronous serial ports, such as COM1 or COM2 on a PC. If you use a modem (not a synchronous or ISDN modem) to contact your ISP, you need this option. To compile this driver as a module, choose M here. If unsure, say Y. config PPP_SYNC_TTY tristate "PPP support for sync tty ports" depends on PPP ---help--- Say Y (or M) here if you want to be able to use PPP over synchronous (HDLC) tty devices, such as the SyncLink adapter. These devices are often used for high-speed leased lines like T1/E1. To compile this driver as a module, choose M here. endif # TTY endif # PPP net/ppp/Makefile 0000644 00000000671 14722053667 0007611 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux PPP network device drivers. # obj-$(CONFIG_PPP) += ppp_generic.o obj-$(CONFIG_PPP_ASYNC) += ppp_async.o obj-$(CONFIG_PPP_BSDCOMP) += bsd_comp.o obj-$(CONFIG_PPP_DEFLATE) += ppp_deflate.o obj-$(CONFIG_PPP_MPPE) += ppp_mppe.o obj-$(CONFIG_PPP_SYNC_TTY) += ppp_synctty.o obj-$(CONFIG_PPPOE) += pppox.o pppoe.o obj-$(CONFIG_PPPOL2TP) += pppox.o obj-$(CONFIG_PPTP) += pppox.o pptp.o net/can/dev/Makefile 0000644 00000000236 14722053667 0010326 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_CAN_DEV) += can-dev.o can-dev-y += dev.o can-dev-y += rx-offload.o can-dev-$(CONFIG_CAN_LEDS) += led.o net/can/usb/Kconfig 0000644 00000007723 14722053667 0010214 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "CAN USB interfaces" depends on USB config CAN_8DEV_USB tristate "8 devices USB2CAN interface" ---help--- This driver supports the USB2CAN interface from 8 devices (http://www.8devices.com). config CAN_EMS_USB tristate "EMS CPC-USB/ARM7 CAN/USB interface" ---help--- This driver is for the one channel CPC-USB/ARM7 CAN/USB interface from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de). config CAN_ESD_USB2 tristate "ESD USB/2 CAN/USB interface" ---help--- This driver supports the CAN-USB/2 interface from esd electronic system design gmbh (http://www.esd.eu). config CAN_GS_USB tristate "Geschwister Schneider UG interfaces" ---help--- This driver supports the Geschwister Schneider and bytewerk.org candleLight USB CAN interfaces USB/CAN devices If unsure choose N, choose Y for built in support, M to compile as module (module will be named: gs_usb). config CAN_KVASER_USB tristate "Kvaser CAN/USB interface" ---help--- This driver adds support for Kvaser CAN/USB devices like Kvaser Leaf Light, Kvaser USBcan II and Kvaser Memorator Pro 5xHS. The driver provides support for the following devices: - Kvaser Leaf Light - Kvaser Leaf Professional HS - Kvaser Leaf SemiPro HS - Kvaser Leaf Professional LS - Kvaser Leaf Professional SWC - Kvaser Leaf Professional LIN - Kvaser Leaf SemiPro LS - Kvaser Leaf SemiPro SWC - Kvaser Memorator II HS/HS - Kvaser USBcan Professional HS/HS - Kvaser Leaf Light GI - Kvaser Leaf Professional HS (OBD-II connector) - Kvaser Memorator Professional HS/LS - Kvaser Leaf Light "China" - Kvaser BlackBird SemiPro - Kvaser USBcan R - Kvaser Leaf Light v2 - Kvaser Mini PCI Express HS - Kvaser Mini PCI Express 2xHS - Kvaser USBcan Light 2xHS - Kvaser USBcan II HS/HS - Kvaser USBcan II HS/LS - Kvaser USBcan Rugged ("USBcan Rev B") - Kvaser Memorator HS/HS - Kvaser Memorator HS/LS - Scania VCI2 (if you have the Kvaser logo on top) - Kvaser BlackBird v2 - Kvaser Leaf Pro HS v2 - Kvaser Hybrid 2xCAN/LIN - Kvaser Hybrid Pro 2xCAN/LIN - Kvaser Memorator 2xHS v2 - Kvaser Memorator Pro 2xHS v2 - Kvaser Memorator Pro 5xHS - Kvaser USBcan Light 4xHS - Kvaser USBcan Pro 2xHS v2 - Kvaser USBcan Pro 5xHS - ATI Memorator Pro 2xHS v2 - ATI USBcan Pro 2xHS v2 If unsure, say N. To compile this driver as a module, choose M here: the module will be called kvaser_usb. config CAN_MCBA_USB tristate "Microchip CAN BUS Analyzer interface" ---help--- This driver supports the CAN BUS Analyzer interface from Microchip (http://www.microchip.com/development-tools/). config CAN_PEAK_USB tristate "PEAK PCAN-USB/USB Pro interfaces for CAN 2.0b/CAN-FD" ---help--- This driver supports the PEAK-System Technik USB adapters that enable access to the CAN bus, with repect to the CAN 2.0b and/or CAN-FD standards, that is: PCAN-USB single CAN 2.0b channel USB adapter PCAN-USB Pro dual CAN 2.0b channels USB adapter PCAN-USB FD single CAN-FD channel USB adapter PCAN-USB Pro FD dual CAN-FD channels USB adapter PCAN-Chip USB CAN-FD to USB stamp module PCAN-USB X6 6 CAN-FD channels USB adapter (see also http://www.peak-system.com). config CAN_UCAN tristate "Theobroma Systems UCAN interface" ---help--- This driver supports the Theobroma Systems UCAN USB-CAN interface. The UCAN driver supports the microcontroller-based USB/CAN adapters from Theobroma Systems. There are two form-factors that run essentially the same firmware: * Seal: standalone USB stick https://www.theobroma-systems.com/seal) * Mule: integrated on the PCB of various System-on-Modules from Theobroma Systems like the A31-µQ7 and the RK3399-Q7 (https://www.theobroma-systems.com/rk3399-q7) endmenu net/can/usb/kvaser_usb/Makefile 0000644 00000000233 14722053667 0012502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CAN_KVASER_USB) += kvaser_usb.o kvaser_usb-y = kvaser_usb_core.o kvaser_usb_leaf.o kvaser_usb_hydra.o net/can/usb/peak_usb/Makefile 0000644 00000000226 14722053667 0012131 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CAN_PEAK_USB) += peak_usb.o peak_usb-y = pcan_usb_core.o pcan_usb.o pcan_usb_pro.o pcan_usb_fd.o net/can/usb/Makefile 0000644 00000000643 14722053667 0010343 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux Controller Area Network USB drivers. # obj-$(CONFIG_CAN_8DEV_USB) += usb_8dev.o obj-$(CONFIG_CAN_EMS_USB) += ems_usb.o obj-$(CONFIG_CAN_ESD_USB2) += esd_usb2.o obj-$(CONFIG_CAN_GS_USB) += gs_usb.o obj-$(CONFIG_CAN_KVASER_USB) += kvaser_usb/ obj-$(CONFIG_CAN_MCBA_USB) += mcba_usb.o obj-$(CONFIG_CAN_PEAK_USB) += peak_usb/ obj-$(CONFIG_CAN_UCAN) += ucan.o net/can/Kconfig 0000644 00000015265 14722053667 0007423 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "CAN Device Drivers" config CAN_VCAN tristate "Virtual Local CAN Interface (vcan)" ---help--- Similar to the network loopback devices, vcan offers a virtual local CAN interface. This driver can also be built as a module. If so, the module will be called vcan. config CAN_VXCAN tristate "Virtual CAN Tunnel (vxcan)" ---help--- Similar to the virtual ethernet driver veth, vxcan implements a local CAN traffic tunnel between two virtual CAN network devices. When creating a vxcan, two vxcan devices are created as pair. When one end receives the packet it appears on its pair and vice versa. The vxcan can be used for cross namespace communication. In opposite to vcan loopback devices the vxcan only forwards CAN frames to its pair and does *not* provide a local echo of sent CAN frames. To disable a potential echo in af_can.c the vxcan driver announces IFF_ECHO in the interface flags. To have a clean start in each namespace the CAN GW hop counter is set to zero. This driver can also be built as a module. If so, the module will be called vxcan. config CAN_SLCAN tristate "Serial / USB serial CAN Adaptors (slcan)" depends on TTY ---help--- CAN driver for several 'low cost' CAN interfaces that are attached via serial lines or via USB-to-serial adapters using the LAWICEL ASCII protocol. The driver implements the tty linediscipline N_SLCAN. As only the sending and receiving of CAN frames is implemented, this driver should work with the (serial/USB) CAN hardware from: www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de Userspace tools to attach the SLCAN line discipline (slcan_attach, slcand) can be found in the can-utils at the SocketCAN SVN, see http://developer.berlios.de/projects/socketcan for details. The slcan driver supports up to 10 CAN netdevices by default which can be changed by the 'maxdev=xx' module option. This driver can also be built as a module. If so, the module will be called slcan. config CAN_DEV tristate "Platform CAN drivers with Netlink support" default y ---help--- Enables the common framework for platform CAN drivers with Netlink support. This is the standard library for CAN drivers. If unsure, say Y. if CAN_DEV config CAN_CALC_BITTIMING bool "CAN bit-timing calculation" default y ---help--- If enabled, CAN bit-timing parameters will be calculated for the bit-rate specified via Netlink argument "bitrate" when the device get started. This works fine for the most common CAN controllers with standard bit-rates but may fail for exotic bit-rates or CAN source clock frequencies. Disabling saves some space, but then the bit-timing parameters must be specified directly using the Netlink arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw". If unsure, say Y. config CAN_LEDS bool "Enable LED triggers for Netlink based drivers" depends on LEDS_CLASS # The netdev trigger (LEDS_TRIGGER_NETDEV) should be able to do # everything that this driver is doing. This is marked as broken # because it uses stuff that is intended to be changed or removed. # Please consider switching to the netdev trigger and confirm it # fulfills your needs instead of fixing this driver. depends on BROKEN select LEDS_TRIGGERS ---help--- This option adds two LED triggers for packet receive and transmit events on each supported CAN device. Say Y here if you are working on a system with led-class supported LEDs and you want to use them as canbus activity indicators. config CAN_AT91 tristate "Atmel AT91 onchip CAN controller" depends on (ARCH_AT91 || COMPILE_TEST) && HAS_IOMEM ---help--- This is a driver for the SoC CAN controller in Atmel's AT91SAM9263 and AT91SAM9X5 processors. config CAN_FLEXCAN tristate "Support for Freescale FLEXCAN based chips" depends on OF && HAS_IOMEM ---help--- Say Y here if you want to support for Freescale FlexCAN. config CAN_GRCAN tristate "Aeroflex Gaisler GRCAN and GRHCAN CAN devices" depends on OF && HAS_DMA ---help--- Say Y here if you want to use Aeroflex Gaisler GRCAN or GRHCAN. Note that the driver supports little endian, even though little endian syntheses of the cores would need some modifications on the hardware level to work. config CAN_JANZ_ICAN3 tristate "Janz VMOD-ICAN3 Intelligent CAN controller" depends on MFD_JANZ_CMODIO ---help--- Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which connects to a MODULbus carrier board. This driver can also be built as a module. If so, the module will be called janz-ican3.ko. config CAN_KVASER_PCIEFD depends on PCI tristate "Kvaser PCIe FD cards" select CRC32 help This is a driver for the Kvaser PCI Express CAN FD family. Supported devices: Kvaser PCIEcan 4xHS Kvaser PCIEcan 2xHS v2 Kvaser PCIEcan HS v2 Kvaser Mini PCI Express HS v2 Kvaser Mini PCI Express 2xHS v2 config CAN_SUN4I tristate "Allwinner A10 CAN controller" depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST ---help--- Say Y here if you want to use CAN controller found on Allwinner A10/A20 SoCs. To compile this driver as a module, choose M here: the module will be called sun4i_can. config CAN_TI_HECC depends on ARM tristate "TI High End CAN Controller" ---help--- Driver for TI HECC (High End CAN Controller) module found on many TI devices. The device specifications are available from www.ti.com config CAN_XILINXCAN tristate "Xilinx CAN" depends on ARCH_ZYNQ || ARM64 || MICROBLAZE || COMPILE_TEST depends on COMMON_CLK && HAS_IOMEM ---help--- Xilinx CAN driver. This driver supports both soft AXI CAN IP and Zynq CANPS IP. config PCH_CAN tristate "Intel EG20T PCH CAN controller" depends on PCI && (X86_32 || COMPILE_TEST) ---help--- This driver is for PCH CAN of Topcliff (Intel EG20T PCH) which is an IOH for x86 embedded processor (Intel Atom E6xx series). This driver can access CAN bus. source "drivers/net/can/c_can/Kconfig" source "drivers/net/can/cc770/Kconfig" source "drivers/net/can/ifi_canfd/Kconfig" source "drivers/net/can/m_can/Kconfig" source "drivers/net/can/mscan/Kconfig" source "drivers/net/can/peak_canfd/Kconfig" source "drivers/net/can/rcar/Kconfig" source "drivers/net/can/sja1000/Kconfig" source "drivers/net/can/softing/Kconfig" source "drivers/net/can/spi/Kconfig" source "drivers/net/can/usb/Kconfig" endif config CAN_DEBUG_DEVICES bool "CAN devices debugging messages" ---help--- Say Y here if you want the CAN device drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with CAN support and want to see more of what is going on. endmenu net/can/rcar/Kconfig 0000644 00000001350 14722053667 0010340 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 config CAN_RCAR tristate "Renesas R-Car CAN controller" depends on ARCH_RENESAS || ARM ---help--- Say Y here if you want to use CAN controller found on Renesas R-Car SoCs. To compile this driver as a module, choose M here: the module will be called rcar_can. config CAN_RCAR_CANFD tristate "Renesas R-Car CAN FD controller" depends on ARCH_RENESAS || ARM ---help--- Say Y here if you want to use CAN FD controller found on Renesas R-Car SoCs. The driver puts the controller in CAN FD only mode, which can interoperate with CAN2.0 nodes but does not support dedicated CAN 2.0 mode. To compile this driver as a module, choose M here: the module will be called rcar_canfd. net/can/rcar/Makefile 0000644 00000000275 14722053667 0010502 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Renesas R-Car CAN & CAN FD controller drivers # obj-$(CONFIG_CAN_RCAR) += rcar_can.o obj-$(CONFIG_CAN_RCAR_CANFD) += rcar_canfd.o net/can/spi/Kconfig 0000644 00000000673 14722053667 0010213 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "CAN SPI interfaces" depends on SPI config CAN_HI311X tristate "Holt HI311x SPI CAN controllers" depends on CAN_DEV && SPI && HAS_DMA ---help--- Driver for the Holt HI311x SPI CAN controllers. config CAN_MCP251X tristate "Microchip MCP251x and MCP25625 SPI CAN controllers" depends on HAS_DMA ---help--- Driver for the Microchip MCP251x and MCP25625 SPI CAN controllers. endmenu net/can/spi/Makefile 0000644 00000000271 14722053667 0010342 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Linux Controller Area Network SPI drivers. # obj-$(CONFIG_CAN_HI311X) += hi311x.o obj-$(CONFIG_CAN_MCP251X) += mcp251x.o net/can/ifi_canfd/Kconfig 0000644 00000000540 14722053667 0011313 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CAN_IFI_CANFD depends on HAS_IOMEM tristate "IFI CAN_FD IP" ---help--- This driver adds support for the I/F/I CAN_FD soft IP block connected to the "platform bus" (Linux abstraction for directly to the processor attached devices). The CAN_FD is most often synthesised into an FPGA or CPLD. net/can/ifi_canfd/Makefile 0000644 00000000211 14722053667 0011443 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the IFI CANFD controller driver. # obj-$(CONFIG_CAN_IFI_CANFD) += ifi_canfd.o net/can/Makefile 0000644 00000001731 14722053667 0007551 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the Linux Controller Area Network drivers. # obj-$(CONFIG_CAN_VCAN) += vcan.o obj-$(CONFIG_CAN_VXCAN) += vxcan.o obj-$(CONFIG_CAN_SLCAN) += slcan.o obj-y += dev/ obj-y += rcar/ obj-y += spi/ obj-y += usb/ obj-y += softing/ obj-$(CONFIG_CAN_AT91) += at91_can.o obj-$(CONFIG_CAN_CC770) += cc770/ obj-$(CONFIG_CAN_C_CAN) += c_can/ obj-$(CONFIG_CAN_FLEXCAN) += flexcan.o obj-$(CONFIG_CAN_GRCAN) += grcan.o obj-$(CONFIG_CAN_IFI_CANFD) += ifi_canfd/ obj-$(CONFIG_CAN_JANZ_ICAN3) += janz-ican3.o obj-$(CONFIG_CAN_KVASER_PCIEFD) += kvaser_pciefd.o obj-$(CONFIG_CAN_MSCAN) += mscan/ obj-$(CONFIG_CAN_M_CAN) += m_can/ obj-$(CONFIG_CAN_PEAK_PCIEFD) += peak_canfd/ obj-$(CONFIG_CAN_SJA1000) += sja1000/ obj-$(CONFIG_CAN_SUN4I) += sun4i_can.o obj-$(CONFIG_CAN_TI_HECC) += ti_hecc.o obj-$(CONFIG_CAN_XILINXCAN) += xilinx_can.o obj-$(CONFIG_PCH_CAN) += pch_can.o subdir-ccflags-$(CONFIG_CAN_DEBUG_DEVICES) += -DDEBUG net/can/peak_canfd/Kconfig 0000644 00000001272 14722053667 0011467 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CAN_PEAK_PCIEFD depends on PCI tristate "PEAK-System PCAN-PCIe FD cards" ---help--- This driver adds support for the PEAK-System PCI Express FD CAN-FD cards family. These 1x or 2x CAN-FD channels cards offer CAN 2.0 a/b as well as CAN-FD access to the CAN bus. Besides the nominal bitrate of up to 1 Mbit/s, the data bytes of CAN-FD frames can be transmitted with up to 12 Mbit/s. A galvanic isolation of the CAN ports protects the electronics of the card and the respective computer against disturbances of up to 500 Volts. The PCAN-PCI Express FD can be operated with ambient temperatures in a range of -40 to +85 °C. net/can/peak_canfd/Makefile 0000644 00000000304 14722053667 0011617 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the PEAK-System CAN-FD IP module drivers # obj-$(CONFIG_CAN_PEAK_PCIEFD) += peak_pciefd.o peak_pciefd-y := peak_pciefd_main.o peak_canfd.o net/can/softing/Kconfig 0000644 00000002350 14722053667 0011063 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CAN_SOFTING tristate "Softing Gmbh CAN generic support" depends on HAS_IOMEM ---help--- Support for CAN cards from Softing Gmbh & some cards from Vector Gmbh. Softing Gmbh CAN cards come with 1 or 2 physical busses. Those cards typically use Dual Port RAM to communicate with the host CPU. The interface is then identical for PCI and PCMCIA cards. This driver operates on a platform device, which has been created by softing_cs or softing_pci driver. Warning: The API of the card does not allow fine control per bus, but controls the 2 busses on the card together. As such, some actions (start/stop/busoff recovery) on 1 bus must bring down the other bus too temporarily. config CAN_SOFTING_CS tristate "Softing Gmbh CAN pcmcia cards" depends on PCMCIA depends on CAN_SOFTING ---help--- Support for PCMCIA cards from Softing Gmbh & some cards from Vector Gmbh. You need firmware for these, which you can get at http://developer.berlios.de/projects/socketcan/ This version of the driver is written against firmware version 4.6 (softing-fw-4.6-binaries.tar.gz) In order to use the card as CAN device, you need the Softing generic support too. net/can/softing/Makefile 0000644 00000000246 14722053667 0011222 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only softing-y := softing_main.o softing_fw.o obj-$(CONFIG_CAN_SOFTING) += softing.o obj-$(CONFIG_CAN_SOFTING_CS) += softing_cs.o net/can/sja1000/Kconfig 0000644 00000007630 14722053667 0010476 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig CAN_SJA1000 tristate "Philips/NXP SJA1000 devices" depends on HAS_IOMEM if CAN_SJA1000 config CAN_EMS_PCI tristate "EMS CPC-PCI, CPC-PCIe and CPC-104P Card" depends on PCI ---help--- This driver is for the one, two or four channel CPC-PCI, CPC-PCIe and CPC-104P cards from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de). config CAN_EMS_PCMCIA tristate "EMS CPC-CARD Card" depends on PCMCIA ---help--- This driver is for the one or two channel CPC-CARD cards from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de). config CAN_F81601 tristate "Fintek F81601 PCIE to 2 CAN Controller" depends on PCI help This driver adds support for Fintek F81601 PCIE to 2 CAN Controller. It had internal 24MHz clock source, but it can be changed by manufacturer. Use modinfo to get usage for parameters. Visit http://www.fintek.com.tw to get more information. config CAN_KVASER_PCI tristate "Kvaser PCIcanx and Kvaser PCIcan PCI Cards" depends on PCI ---help--- This driver is for the PCIcanx and PCIcan cards (1, 2 or 4 channel) from Kvaser (http://www.kvaser.com). config CAN_PEAK_PCI tristate "PEAK PCAN-PCI/PCIe/miniPCI Cards" depends on PCI ---help--- This driver is for the PCAN-PCI/PCIe/miniPCI cards (1, 2, 3 or 4 channels) from PEAK-System Technik (http://www.peak-system.com). config CAN_PEAK_PCIEC bool "PEAK PCAN-ExpressCard Cards" depends on CAN_PEAK_PCI select I2C select I2C_ALGOBIT default y ---help--- Say Y here if you want to use a PCAN-ExpressCard from PEAK-System Technik. This will also automatically select I2C and I2C_ALGO configuration options. config CAN_PEAK_PCMCIA tristate "PEAK PCAN-PC Card" depends on PCMCIA depends on HAS_IOPORT_MAP ---help--- This driver is for the PCAN-PC Card PCMCIA adapter (1 or 2 channels) from PEAK-System (http://www.peak-system.com). To compile this driver as a module, choose M here: the module will be called peak_pcmcia. config CAN_PLX_PCI tristate "PLX90xx PCI-bridge based Cards" depends on PCI ---help--- This driver is for CAN interface cards based on the PLX90xx PCI bridge. Driver supports now: - Adlink PCI-7841/cPCI-7841 card (http://www.adlinktech.com/) - Adlink PCI-7841/cPCI-7841 SE card - esd CAN-PCI/CPCI/PCI104/200 (http://www.esd.eu/) - esd CAN-PCI/PMC/266 - esd CAN-PCIe/2000 - Marathon CAN-bus-PCI card (http://www.marathon.ru/) - TEWS TECHNOLOGIES TPMC810 card (http://www.tews.com/) - IXXAT Automation PC-I 04/PCI card (http://www.ixxat.com/) - Connect Tech Inc. CANpro/104-Plus Opto (CRG001) card (http://www.connecttech.com) - ASEM CAN raw - 2 isolated CAN channels (www.asem.it) config CAN_SJA1000_ISA tristate "ISA Bus based legacy SJA1000 driver" ---help--- This driver adds legacy support for SJA1000 chips connected to the ISA bus using I/O port, memory mapped or indirect access. config CAN_SJA1000_PLATFORM tristate "Generic Platform Bus based SJA1000 driver" ---help--- This driver adds support for the SJA1000 chips connected to the "platform bus" (Linux abstraction for directly to the processor attached devices). Which can be found on various boards from Phytec (http://www.phytec.de) like the PCM027, PCM038. It also provides the OpenFirmware "platform bus" found on embedded systems with OpenFirmware bindings, e.g. if you have a PowerPC based system you may want to enable this option. config CAN_TSCAN1 tristate "TS-CAN1 PC104 boards" depends on ISA help This driver is for Technologic Systems' TSCAN-1 PC104 boards. http://www.embeddedarm.com/products/board-detail.php?product=TS-CAN1 The driver supports multiple boards and automatically configures them: PLD IO base addresses are read from jumpers JP1 and JP2, IRQ numbers are read from jumpers JP4 and JP5, SJA1000 IO base addresses are chosen heuristically (first that works). endif net/can/sja1000/Makefile 0000644 00000001065 14722053667 0010627 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for the SJA1000 CAN controller drivers. # obj-$(CONFIG_CAN_EMS_PCI) += ems_pci.o obj-$(CONFIG_CAN_EMS_PCMCIA) += ems_pcmcia.o obj-$(CONFIG_CAN_F81601) += f81601.o obj-$(CONFIG_CAN_KVASER_PCI) += kvaser_pci.o obj-$(CONFIG_CAN_PEAK_PCI) += peak_pci.o obj-$(CONFIG_CAN_PEAK_PCMCIA) += peak_pcmcia.o obj-$(CONFIG_CAN_PLX_PCI) += plx_pci.o obj-$(CONFIG_CAN_SJA1000) += sja1000.o obj-$(CONFIG_CAN_SJA1000_ISA) += sja1000_isa.o obj-$(CONFIG_CAN_SJA1000_PLATFORM) += sja1000_platform.o obj-$(CONFIG_CAN_TSCAN1) += tscan1.o net/can/c_can/Kconfig 0000644 00000001425 14722053667 0010457 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig CAN_C_CAN tristate "Bosch C_CAN/D_CAN devices" depends on HAS_IOMEM if CAN_C_CAN config CAN_C_CAN_PLATFORM tristate "Generic Platform Bus based C_CAN/D_CAN driver" ---help--- This driver adds support for the C_CAN/D_CAN chips connected to the "platform bus" (Linux abstraction for directly to the processor attached devices) which can be found on various boards from ST Microelectronics (http://www.st.com) like the SPEAr1310 and SPEAr320 evaluation boards & TI (www.ti.com) boards like am335x, dm814x, dm813x and dm811x. config CAN_C_CAN_PCI tristate "Generic PCI Bus based C_CAN/D_CAN driver" depends on PCI ---help--- This driver adds support for the C_CAN/D_CAN chips connected to the PCI bus. endif net/can/c_can/Makefile 0000644 00000000344 14722053667 0010613 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Bosch C_CAN controller drivers. # obj-$(CONFIG_CAN_C_CAN) += c_can.o obj-$(CONFIG_CAN_C_CAN_PLATFORM) += c_can_platform.o obj-$(CONFIG_CAN_C_CAN_PCI) += c_can_pci.o net/can/m_can/Kconfig 0000644 00000001571 14722053667 0010473 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CAN_M_CAN tristate "Bosch M_CAN support" ---help--- Say Y here if you want support for Bosch M_CAN controller framework. This is common support for devices that embed the Bosch M_CAN IP. config CAN_M_CAN_PLATFORM tristate "Bosch M_CAN support for io-mapped devices" depends on HAS_IOMEM depends on CAN_M_CAN ---help--- Say Y here if you want support for IO Mapped Bosch M_CAN controller. This support is for devices that have the Bosch M_CAN controller IP embedded into the device and the IP is IO Mapped to the processor. config CAN_M_CAN_TCAN4X5X depends on CAN_M_CAN depends on SPI select REGMAP_SPI tristate "TCAN4X5X M_CAN device" ---help--- Say Y here if you want support for Texas Instruments TCAN4x5x M_CAN controller. This device is a peripherial device that uses the SPI bus for communication. net/can/m_can/Makefile 0000644 00000000347 14722053667 0010630 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Bosch M_CAN controller driver. # obj-$(CONFIG_CAN_M_CAN) += m_can.o obj-$(CONFIG_CAN_M_CAN_PLATFORM) += m_can_platform.o obj-$(CONFIG_CAN_M_CAN_TCAN4X5X) += tcan4x5x.o net/can/cc770/Kconfig 0000644 00000001173 14722053667 0010237 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig CAN_CC770 tristate "Bosch CC770 and Intel AN82527 devices" depends on HAS_IOMEM if CAN_CC770 config CAN_CC770_ISA tristate "ISA Bus based legacy CC770 driver" ---help--- This driver adds legacy support for CC770 and AN82527 chips connected to the ISA bus using I/O port, memory mapped or indirect access. config CAN_CC770_PLATFORM tristate "Generic Platform Bus based CC770 driver" ---help--- This driver adds support for the CC770 and AN82527 chips connected to the "platform bus" (Linux abstraction for directly to the processor attached devices). endif net/can/cc770/Makefile 0000644 00000000350 14722053667 0010370 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for the Bosch CC770 CAN controller drivers. # obj-$(CONFIG_CAN_CC770) += cc770.o obj-$(CONFIG_CAN_CC770_ISA) += cc770_isa.o obj-$(CONFIG_CAN_CC770_PLATFORM) += cc770_platform.o net/can/mscan/Kconfig 0000644 00000001443 14722053667 0010515 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config CAN_MSCAN depends on PPC tristate "Support for Freescale MSCAN based chips" ---help--- The Motorola Scalable Controller Area Network (MSCAN) definition is based on the MSCAN12 definition which is the specific implementation of the Motorola Scalable CAN concept targeted for the Motorola MC68HC12 Microcontroller Family. if CAN_MSCAN config CAN_MPC5XXX tristate "Freescale MPC5xxx onboard CAN controller" depends on (PPC_MPC52xx || PPC_MPC512x) ---help--- If you say yes here you get support for Freescale's MPC5xxx onboard CAN controller. Currently, the MPC5200, MPC5200B and MPC5121 (Rev. 2 and later) are supported. This driver can also be built as a module. If so, the module will be called mscan-mpc5xxx.ko. endif net/can/mscan/Makefile 0000644 00000000203 14722053667 0010643 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CAN_MPC5XXX) += mscan-mpc5xxx.o mscan-mpc5xxx-objs := mscan.o mpc5xxx_can.o net/dsa/Kconfig 0000644 00000007220 14722053667 0007421 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Distributed Switch Architecture drivers" depends on HAVE_NET_DSA source "drivers/net/dsa/b53/Kconfig" config NET_DSA_BCM_SF2 tristate "Broadcom Starfighter 2 Ethernet switch support" depends on HAS_IOMEM && NET_DSA select NET_DSA_TAG_BRCM select FIXED_PHY select BCM7XXX_PHY select MDIO_BCM_UNIMAC select B53 ---help--- This enables support for the Broadcom Starfighter 2 Ethernet switch chips. config NET_DSA_LOOP tristate "DSA mock-up Ethernet switch chip support" depends on NET_DSA select FIXED_PHY ---help--- This enables support for a fake mock-up switch chip which exercises the DSA APIs. config NET_DSA_LANTIQ_GSWIP tristate "Lantiq / Intel GSWIP" depends on HAS_IOMEM && NET_DSA select NET_DSA_TAG_GSWIP ---help--- This enables support for the Lantiq / Intel GSWIP 2.1 found in the xrx200 / VR9 SoC. config NET_DSA_MT7530 tristate "Mediatek MT7530 Ethernet switch support" depends on NET_DSA select NET_DSA_TAG_MTK ---help--- This enables support for the Mediatek MT7530 Ethernet switch chip. config NET_DSA_MV88E6060 tristate "Marvell 88E6060 ethernet switch chip support" depends on NET_DSA select NET_DSA_TAG_TRAILER ---help--- This enables support for the Marvell 88E6060 ethernet switch chip. source "drivers/net/dsa/microchip/Kconfig" source "drivers/net/dsa/mv88e6xxx/Kconfig" source "drivers/net/dsa/sja1105/Kconfig" config NET_DSA_QCA8K tristate "Qualcomm Atheros QCA8K Ethernet switch family support" depends on NET_DSA select NET_DSA_TAG_QCA select REGMAP ---help--- This enables support for the Qualcomm Atheros QCA8K Ethernet switch chips. config NET_DSA_REALTEK_SMI tristate "Realtek SMI Ethernet switch family support" depends on NET_DSA select FIXED_PHY select IRQ_DOMAIN select REALTEK_PHY select REGMAP ---help--- This enables support for the Realtek SMI-based switch chips, currently only RTL8366RB. config NET_DSA_SMSC_LAN9303 tristate select NET_DSA_TAG_LAN9303 select REGMAP ---help--- This enables support for the SMSC/Microchip LAN9303 3 port ethernet switch chips. config NET_DSA_SMSC_LAN9303_I2C tristate "SMSC/Microchip LAN9303 3-ports 10/100 ethernet switch in I2C managed mode" depends on NET_DSA && I2C select NET_DSA_SMSC_LAN9303 select REGMAP_I2C ---help--- Enable access functions if the SMSC/Microchip LAN9303 is configured for I2C managed mode. config NET_DSA_SMSC_LAN9303_MDIO tristate "SMSC/Microchip LAN9303 3-ports 10/100 ethernet switch in MDIO managed mode" depends on NET_DSA select NET_DSA_SMSC_LAN9303 ---help--- Enable access functions if the SMSC/Microchip LAN9303 is configured for MDIO managed mode. config NET_DSA_VITESSE_VSC73XX tristate depends on OF depends on NET_DSA select FIXED_PHY select VITESSE_PHY select GPIOLIB ---help--- This enables support for the Vitesse VSC7385, VSC7388, VSC7395 and VSC7398 SparX integrated ethernet switches. config NET_DSA_VITESSE_VSC73XX_SPI tristate "Vitesse VSC7385/7388/7395/7398 SPI mode support" depends on OF depends on NET_DSA depends on SPI select NET_DSA_VITESSE_VSC73XX ---help--- This enables support for the Vitesse VSC7385, VSC7388, VSC7395 and VSC7398 SparX integrated ethernet switches in SPI managed mode. config NET_DSA_VITESSE_VSC73XX_PLATFORM tristate "Vitesse VSC7385/7388/7395/7398 Platform mode support" depends on OF depends on NET_DSA depends on HAS_IOMEM select NET_DSA_VITESSE_VSC73XX ---help--- This enables support for the Vitesse VSC7385, VSC7388, VSC7395 and VSC7398 SparX integrated ethernet switches, connected over a CPU-attached address bus and work in memory-mapped I/O mode. endmenu net/dsa/microchip/Kconfig 0000644 00000002427 14722053667 0011402 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_DSA_MICROCHIP_KSZ_COMMON tristate menuconfig NET_DSA_MICROCHIP_KSZ9477 tristate "Microchip KSZ9477 series switch support" depends on NET_DSA select NET_DSA_MICROCHIP_KSZ_COMMON help This driver adds support for Microchip KSZ9477 switch chips. config NET_DSA_MICROCHIP_KSZ9477_I2C tristate "KSZ9477 series I2C connected switch driver" depends on NET_DSA_MICROCHIP_KSZ9477 && I2C select REGMAP_I2C help Select to enable support for registering switches configured through I2C. config NET_DSA_MICROCHIP_KSZ9477_SPI tristate "KSZ9477 series SPI connected switch driver" depends on NET_DSA_MICROCHIP_KSZ9477 && SPI select REGMAP_SPI help Select to enable support for registering switches configured through SPI. menuconfig NET_DSA_MICROCHIP_KSZ8795 tristate "Microchip KSZ8795 series switch support" depends on NET_DSA select NET_DSA_MICROCHIP_KSZ_COMMON help This driver adds support for Microchip KSZ8795 switch chips. config NET_DSA_MICROCHIP_KSZ8795_SPI tristate "KSZ8795 series SPI connected switch driver" depends on NET_DSA_MICROCHIP_KSZ8795 && SPI select REGMAP_SPI help This driver accesses KSZ8795 chip through SPI. It is required to use the KSZ8795 switch driver as the only access is through SPI. net/dsa/microchip/Makefile 0000644 00000000606 14722053667 0011534 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON) += ksz_common.o obj-$(CONFIG_NET_DSA_MICROCHIP_KSZ9477) += ksz9477.o obj-$(CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C) += ksz9477_i2c.o obj-$(CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI) += ksz9477_spi.o obj-$(CONFIG_NET_DSA_MICROCHIP_KSZ8795) += ksz8795.o obj-$(CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI) += ksz8795_spi.o net/dsa/Makefile 0000644 00000001737 14722053667 0007565 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_NET_DSA_BCM_SF2) += bcm-sf2.o bcm-sf2-objs := bcm_sf2.o bcm_sf2_cfp.o obj-$(CONFIG_NET_DSA_LOOP) += dsa_loop.o ifdef CONFIG_NET_DSA_LOOP obj-$(CONFIG_FIXED_PHY) += dsa_loop_bdinfo.o endif obj-$(CONFIG_NET_DSA_LANTIQ_GSWIP) += lantiq_gswip.o obj-$(CONFIG_NET_DSA_MT7530) += mt7530.o obj-$(CONFIG_NET_DSA_MV88E6060) += mv88e6060.o obj-$(CONFIG_NET_DSA_QCA8K) += qca8k.o obj-$(CONFIG_NET_DSA_REALTEK_SMI) += realtek-smi.o realtek-smi-objs := realtek-smi-core.o rtl8366.o rtl8366rb.o obj-$(CONFIG_NET_DSA_SMSC_LAN9303) += lan9303-core.o obj-$(CONFIG_NET_DSA_SMSC_LAN9303_I2C) += lan9303_i2c.o obj-$(CONFIG_NET_DSA_SMSC_LAN9303_MDIO) += lan9303_mdio.o obj-$(CONFIG_NET_DSA_VITESSE_VSC73XX) += vitesse-vsc73xx-core.o obj-$(CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM) += vitesse-vsc73xx-platform.o obj-$(CONFIG_NET_DSA_VITESSE_VSC73XX_SPI) += vitesse-vsc73xx-spi.o obj-y += b53/ obj-y += microchip/ obj-y += mv88e6xxx/ obj-y += sja1105/ net/dsa/mv88e6xxx/Kconfig 0000644 00000001755 14722053667 0011235 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_DSA_MV88E6XXX tristate "Marvell 88E6xxx Ethernet switch fabric support" depends on NET_DSA select IRQ_DOMAIN select NET_DSA_TAG_EDSA select NET_DSA_TAG_DSA help This driver adds support for most of the Marvell 88E6xxx models of Ethernet switch chips, except 88E6060. config NET_DSA_MV88E6XXX_GLOBAL2 bool "Switch Global 2 Registers support" default y depends on NET_DSA_MV88E6XXX help This registers set at internal SMI address 0x1C provides extended features like EEPROM interface, trunking, cross-chip setup, etc. It is required on most chips. If the chip you compile the support for doesn't have such registers set, say N here. In doubt, say Y. config NET_DSA_MV88E6XXX_PTP bool "PTP support for Marvell 88E6xxx" default n depends on NET_DSA_MV88E6XXX_GLOBAL2 imply NETWORK_PHY_TIMESTAMPING imply PTP_1588_CLOCK help Say Y to enable PTP hardware timestamping on Marvell 88E6xxx switch chips that support it. net/dsa/mv88e6xxx/Makefile 0000644 00000001321 14722053667 0011357 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_NET_DSA_MV88E6XXX) += mv88e6xxx.o mv88e6xxx-objs := chip.o mv88e6xxx-objs += global1.o mv88e6xxx-objs += global1_atu.o mv88e6xxx-objs += global1_vtu.o mv88e6xxx-$(CONFIG_NET_DSA_MV88E6XXX_GLOBAL2) += global2.o mv88e6xxx-$(CONFIG_NET_DSA_MV88E6XXX_GLOBAL2) += global2_avb.o mv88e6xxx-$(CONFIG_NET_DSA_MV88E6XXX_GLOBAL2) += global2_scratch.o mv88e6xxx-$(CONFIG_NET_DSA_MV88E6XXX_PTP) += hwtstamp.o mv88e6xxx-objs += phy.o mv88e6xxx-objs += port.o mv88e6xxx-objs += port_hidden.o mv88e6xxx-$(CONFIG_NET_DSA_MV88E6XXX_PTP) += ptp.o mv88e6xxx-objs += serdes.o mv88e6xxx-objs += smi.o mv88e6xxx-objs += trace.o # for tracing framework to find trace.h CFLAGS_trace.o := -I$(src) net/dsa/sja1105/Kconfig 0000644 00000002500 14722053667 0010501 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only config NET_DSA_SJA1105 tristate "NXP SJA1105 Ethernet switch family support" depends on NET_DSA && SPI select NET_DSA_TAG_SJA1105 select PACKING select CRC32 help This is the driver for the NXP SJA1105 automotive Ethernet switch family. These are 5-port devices and are managed over an SPI interface. Probing is handled based on OF bindings and so is the linkage to PHYLINK. The driver supports the following revisions: - SJA1105E (Gen. 1, No TT-Ethernet) - SJA1105T (Gen. 1, TT-Ethernet) - SJA1105P (Gen. 2, No SGMII, No TT-Ethernet) - SJA1105Q (Gen. 2, No SGMII, TT-Ethernet) - SJA1105R (Gen. 2, SGMII, No TT-Ethernet) - SJA1105S (Gen. 2, SGMII, TT-Ethernet) config NET_DSA_SJA1105_PTP bool "Support for the PTP clock on the NXP SJA1105 Ethernet switch" depends on NET_DSA_SJA1105 help This enables support for timestamping and PTP clock manipulations in the SJA1105 DSA driver. config NET_DSA_SJA1105_TAS bool "Support for the Time-Aware Scheduler on NXP SJA1105" depends on NET_DSA_SJA1105 && NET_SCH_TAPRIO depends on NET_SCH_TAPRIO=y || NET_DSA_SJA1105=m help This enables support for the TTEthernet-based egress scheduling engine in the SJA1105 DSA driver, which is controlled using a hardware offload of the tc-tqprio qdisc. net/dsa/sja1105/Makefile 0000644 00000000611 14722053667 0010637 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_NET_DSA_SJA1105) += sja1105.o sja1105-objs := \ sja1105_spi.o \ sja1105_main.o \ sja1105_ethtool.o \ sja1105_clocking.o \ sja1105_static_config.o \ sja1105_dynamic_config.o \ ifdef CONFIG_NET_DSA_SJA1105_PTP sja1105-objs += sja1105_ptp.o endif ifdef CONFIG_NET_DSA_SJA1105_TAS sja1105-objs += sja1105_tas.o endif net/dsa/b53/Kconfig 0000644 00000002563 14722053667 0010017 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menuconfig B53 tristate "Broadcom BCM53xx managed switch support" depends on NET_DSA select NET_DSA_TAG_BRCM select NET_DSA_TAG_BRCM_PREPEND help This driver adds support for Broadcom managed switch chips. It supports BCM5325E, BCM5365, BCM539x, BCM53115 and BCM53125 as well as BCM63XX integrated switches. config B53_SPI_DRIVER tristate "B53 SPI connected switch driver" depends on B53 && SPI help Select to enable support for registering switches configured through SPI. config B53_MDIO_DRIVER tristate "B53 MDIO connected switch driver" depends on B53 help Select to enable support for registering switches configured through MDIO. config B53_MMAP_DRIVER tristate "B53 MMAP connected switch driver" depends on B53 && HAS_IOMEM default BCM63XX || BMIPS_GENERIC help Select to enable support for memory-mapped switches like the BCM63XX integrated switches. config B53_SRAB_DRIVER tristate "B53 SRAB connected switch driver" depends on B53 && HAS_IOMEM depends on B53_SERDES || !B53_SERDES default ARCH_BCM_IPROC help Select to enable support for memory-mapped Switch Register Access Bridge Registers (SRAB) like it is found on the BCM53010 config B53_SERDES tristate "B53 SerDes support" depends on B53 default ARCH_BCM_NSP help Select to enable support for SerDes on e.g: Northstar Plus SoCs. net/dsa/b53/Makefile 0000644 00000000436 14722053667 0010151 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_B53) += b53_common.o obj-$(CONFIG_B53_SPI_DRIVER) += b53_spi.o obj-$(CONFIG_B53_MDIO_DRIVER) += b53_mdio.o obj-$(CONFIG_B53_MMAP_DRIVER) += b53_mmap.o obj-$(CONFIG_B53_SRAB_DRIVER) += b53_srab.o obj-$(CONFIG_B53_SERDES) += b53_serdes.o net/appletalk/Kconfig 0000644 00000011135 14722053667 0010627 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Appletalk driver configuration # config ATALK tristate "Appletalk protocol support" select LLC ---help--- AppleTalk is the protocol that Apple computers can use to communicate on a network. If your Linux box is connected to such a network and you wish to connect to it, say Y. You will need to use the netatalk package so that your Linux box can act as a print and file server for Macs as well as access AppleTalk printers. Check out <http://www.zettabyte.net/netatalk/> on the WWW for details. EtherTalk is the name used for AppleTalk over Ethernet and the cheaper and slower LocalTalk is AppleTalk over a proprietary Apple network using serial links. EtherTalk and LocalTalk are fully supported by Linux. General information about how to connect Linux, Windows machines and Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. The NET3-4-HOWTO, available from <http://www.tldp.org/docs.html#howto>, contains valuable information as well. To compile this driver as a module, choose M here: the module will be called appletalk. You almost certainly want to compile it as a module so you can restart your AppleTalk stack without rebooting your machine. I hear that the GNU boycott of Apple is over, so even politically correct people are allowed to say Y here. config DEV_APPLETALK tristate "Appletalk interfaces support" depends on ATALK help AppleTalk is the protocol that Apple computers can use to communicate on a network. If your Linux box is connected to such a network, and wish to do IP over it, or you have a LocalTalk card and wish to use it to connect to the AppleTalk network, say Y. config LTPC tristate "Apple/Farallon LocalTalk PC support" depends on DEV_APPLETALK && (ISA || EISA) && ISA_DMA_API && VIRT_TO_BUS help This allows you to use the AppleTalk PC card to connect to LocalTalk networks. The card is also known as the Farallon PhoneNet PC card. If you are in doubt, this card is the one with the 65C02 chip on it. You also need version 1.3.3 or later of the netatalk package. This driver is experimental, which means that it may not work. See the file <file:Documentation/networking/ltpc.txt>. config COPS tristate "COPS LocalTalk PC support" depends on DEV_APPLETALK && (ISA || EISA) help This allows you to use COPS AppleTalk cards to connect to LocalTalk networks. You also need version 1.3.3 or later of the netatalk package. This driver is experimental, which means that it may not work. This driver will only work if you choose "AppleTalk DDP" networking support, above. Please read the file <file:Documentation/networking/cops.txt>. config COPS_DAYNA bool "Dayna firmware support" depends on COPS help Support COPS compatible cards with Dayna style firmware (Dayna DL2000/ Daynatalk/PC (half length), COPS LT-95, Farallon PhoneNET PC III, Farallon PhoneNET PC II). config COPS_TANGENT bool "Tangent firmware support" depends on COPS help Support COPS compatible cards with Tangent style firmware (Tangent ATB_II, Novell NL-1000, Daystar Digital LT-200. config IPDDP tristate "Appletalk-IP driver support" depends on DEV_APPLETALK && ATALK ---help--- This allows IP networking for users who only have AppleTalk networking available. This feature is experimental. With this driver, you can encapsulate IP inside AppleTalk (e.g. if your Linux box is stuck on an AppleTalk only network) or decapsulate (e.g. if you want your Linux box to act as an Internet gateway for a zoo of AppleTalk connected Macs). Please see the file <file:Documentation/networking/ipddp.txt> for more information. If you say Y here, the AppleTalk-IP support will be compiled into the kernel. In this case, you can either use encapsulation or decapsulation, but not both. With the following two questions, you decide which one you want. To compile the AppleTalk-IP support as a module, choose M here: the module will be called ipddp. In this case, you will be able to use both encapsulation and decapsulation simultaneously, by loading two copies of the module and specifying different values for the module option ipddp_mode. config IPDDP_ENCAP bool "IP to Appletalk-IP Encapsulation support" depends on IPDDP help If you say Y here, the AppleTalk-IP code will be able to encapsulate IP packets inside AppleTalk frames; this is useful if your Linux box is stuck on an AppleTalk network (which hopefully contains a decapsulator somewhere). Please see <file:Documentation/networking/ipddp.txt> for more information. net/appletalk/Makefile 0000644 00000000253 14722053667 0010763 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for drivers/net/appletalk # obj-$(CONFIG_IPDDP) += ipddp.o obj-$(CONFIG_COPS) += cops.o obj-$(CONFIG_LTPC) += ltpc.o net/caif/Kconfig 0000644 00000003136 14722053667 0007556 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # CAIF physical drivers # comment "CAIF transport drivers" config CAIF_TTY tristate "CAIF TTY transport driver" depends on CAIF && TTY default n ---help--- The CAIF TTY transport driver is a Line Discipline (ldisc) identified as N_CAIF. When this ldisc is opened from user space it will redirect the TTY's traffic into the CAIF stack. config CAIF_SPI_SLAVE tristate "CAIF SPI transport driver for slave interface" depends on CAIF && HAS_DMA default n ---help--- The CAIF Link layer SPI Protocol driver for Slave SPI interface. This driver implements a platform driver to accommodate for a platform specific SPI device. A sample CAIF SPI Platform device is provided in Documentation/networking/caif/spi_porting.txt config CAIF_SPI_SYNC bool "Next command and length in start of frame" depends on CAIF_SPI_SLAVE default n ---help--- Putting the next command and length in the start of the frame can help to synchronize to the next transfer in case of over or under-runs. This option also needs to be enabled on the modem. config CAIF_HSI tristate "CAIF HSI transport driver" depends on CAIF default n ---help--- The caif low level driver for CAIF over HSI. Be aware that if you enable this then you also need to enable a low-level HSI driver. config CAIF_VIRTIO tristate "CAIF virtio transport driver" depends on CAIF && HAS_DMA select VHOST_RING select VIRTIO select GENERIC_ALLOCATOR default n ---help--- The caif driver for CAIF over Virtio. if CAIF_VIRTIO source "drivers/vhost/Kconfig.vringh" endif net/caif/Makefile 0000644 00000000602 14722053667 0007706 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_CAIF_DEBUG) := -DDEBUG # Serial interface obj-$(CONFIG_CAIF_TTY) += caif_serial.o # SPI slave physical interfaces module cfspi_slave-objs := caif_spi.o caif_spi_slave.o obj-$(CONFIG_CAIF_SPI_SLAVE) += cfspi_slave.o # HSI interface obj-$(CONFIG_CAIF_HSI) += caif_hsi.o # Virtio interface obj-$(CONFIG_CAIF_VIRTIO) += caif_virtio.o net/vmxnet3/Makefile 0000644 00000002400 14722053667 0010406 0 ustar 00 ################################################################################ # # Linux driver for VMware's vmxnet3 ethernet NIC. # # Copyright (C) 2007-2016, VMware, Inc. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; version 2 of the License and no later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or # NON INFRINGEMENT. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. # # The full GNU General Public License is included in this distribution in # the file called "COPYING". # # Maintained by: pv-drivers@vmware.com # # ################################################################################ # # Makefile for the VMware vmxnet3 ethernet NIC driver # obj-$(CONFIG_VMXNET3) += vmxnet3.o vmxnet3-objs := vmxnet3_drv.o vmxnet3_ethtool.o hwmon/pmbus/Kconfig 0000644 00000015500 14722053667 0010342 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PMBus chip drivers configuration # menuconfig PMBUS tristate "PMBus support" depends on I2C help Say yes here if you want to enable PMBus support. This driver can also be built as a module. If so, the module will be called pmbus_core. if PMBUS config SENSORS_PMBUS tristate "Generic PMBus devices" default y help If you say yes here you get hardware monitoring support for generic PMBus devices, including but not limited to ADP4000, BMR453, BMR454, MDT040, NCP4200, NCP4208, PDT003, PDT006, PDT012, TPS40400, TPS544B20, TPS544B25, TPS544C20, TPS544C25, and UDT020. This driver can also be built as a module. If so, the module will be called pmbus. config SENSORS_ADM1275 tristate "Analog Devices ADM1275 and compatibles" help If you say yes here you get hardware monitoring support for Analog Devices ADM1075, ADM1272, ADM1275, ADM1276, ADM1278, ADM1293, and ADM1294 Hot-Swap Controller and Digital Power Monitors. This driver can also be built as a module. If so, the module will be called adm1275. config SENSORS_IBM_CFFPS tristate "IBM Common Form Factor Power Supply" depends on LEDS_CLASS help If you say yes here you get hardware monitoring support for the IBM Common Form Factor power supply. This driver can also be built as a module. If so, the module will be called ibm-cffps. config SENSORS_INSPUR_IPSPS tristate "INSPUR Power System Power Supply" help If you say yes here you get hardware monitoring support for the INSPUR Power System power supply. This driver can also be built as a module. If so, the module will be called inspur-ipsps. config SENSORS_IR35221 tristate "Infineon IR35221" help If you say yes here you get hardware monitoring support for the Infineon IR35221 controller. This driver can also be built as a module. If so, the module will be called ir35521. config SENSORS_IR38064 tristate "Infineon IR38064" help If you say yes here you get hardware monitoring support for Infineon IR38064. This driver can also be built as a module. If so, the module will be called ir38064. config SENSORS_IRPS5401 tristate "Infineon IRPS5401" help If you say yes here you get hardware monitoring support for the Infineon IRPS5401 controller. This driver can also be built as a module. If so, the module will be called irps5401. config SENSORS_ISL68137 tristate "Intersil ISL68137" help If you say yes here you get hardware monitoring support for Intersil ISL68137. This driver can also be built as a module. If so, the module will be called isl68137. config SENSORS_LM25066 tristate "National Semiconductor LM25066 and compatibles" help If you say yes here you get hardware monitoring support for National Semiconductor LM25056, LM25066, LM5064, and LM5066. This driver can also be built as a module. If so, the module will be called lm25066. config SENSORS_LTC2978 tristate "Linear Technologies LTC2978 and compatibles" help If you say yes here you get hardware monitoring support for Linear Technology LTC2974, LTC2975, LTC2977, LTC2978, LTC2980, LTC3880, LTC3883, LTC3886, LTC3887, LTCM2987, LTM4675, and LTM4676. This driver can also be built as a module. If so, the module will be called ltc2978. config SENSORS_LTC2978_REGULATOR bool "Regulator support for LTC2978 and compatibles" depends on SENSORS_LTC2978 && REGULATOR help If you say yes here you get regulator support for Linear Technology LTC2974, LTC2977, LTC2978, LTC3880, LTC3883, LTM4676 and LTM4686. config SENSORS_LTC3815 tristate "Linear Technologies LTC3815" help If you say yes here you get hardware monitoring support for Linear Technology LTC3815. This driver can also be built as a module. If so, the module will be called ltc3815. config SENSORS_MAX16064 tristate "Maxim MAX16064" help If you say yes here you get hardware monitoring support for Maxim MAX16064. This driver can also be built as a module. If so, the module will be called max16064. config SENSORS_MAX20751 tristate "Maxim MAX20751" help If you say yes here you get hardware monitoring support for Maxim MAX20751. This driver can also be built as a module. If so, the module will be called max20751. config SENSORS_MAX31785 tristate "Maxim MAX31785 and compatibles" help If you say yes here you get hardware monitoring support for Maxim MAX31785. This driver can also be built as a module. If so, the module will be called max31785. config SENSORS_MAX34440 tristate "Maxim MAX34440 and compatibles" help If you say yes here you get hardware monitoring support for Maxim MAX34440, MAX34441, MAX34446, MAX34451, MAX34460, and MAX34461. This driver can also be built as a module. If so, the module will be called max34440. config SENSORS_MAX8688 tristate "Maxim MAX8688" help If you say yes here you get hardware monitoring support for Maxim MAX8688. This driver can also be built as a module. If so, the module will be called max8688. config SENSORS_PXE1610 tristate "Infineon PXE1610" help If you say yes here you get hardware monitoring support for Infineon PXE1610. This driver can also be built as a module. If so, the module will be called pxe1610. config SENSORS_TPS40422 tristate "TI TPS40422" help If you say yes here you get hardware monitoring support for TI TPS40422. This driver can also be built as a module. If so, the module will be called tps40422. config SENSORS_TPS53679 tristate "TI TPS53679" help If you say yes here you get hardware monitoring support for TI TPS53679. This driver can also be built as a module. If so, the module will be called tps53679. config SENSORS_UCD9000 tristate "TI UCD90120, UCD90124, UCD90160, UCD9090, UCD90910" help If you say yes here you get hardware monitoring support for TI UCD90120, UCD90124, UCD90160, UCD9090, UCD90910, Sequencer and System Health Controllers. This driver can also be built as a module. If so, the module will be called ucd9000. config SENSORS_UCD9200 tristate "TI UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, UCD9248" help If you say yes here you get hardware monitoring support for TI UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and UCD9248 Digital PWM System Controllers. This driver can also be built as a module. If so, the module will be called ucd9200. config SENSORS_ZL6100 tristate "Intersil ZL6100 and compatibles" help If you say yes here you get hardware monitoring support for Intersil ZL2004, ZL2005, ZL2006, ZL2008, ZL2105, ZL2106, ZL6100, ZL6105, ZL9101M, and ZL9117M Digital DC/DC Controllers, as well as for Ericsson BMR450, BMR451, BMR462, BMR463, and BMR464. This driver can also be built as a module. If so, the module will be called zl6100. endif # PMBUS hwmon/pmbus/Makefile 0000644 00000002072 14722053667 0010477 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for PMBus chip drivers. # obj-$(CONFIG_PMBUS) += pmbus_core.o obj-$(CONFIG_SENSORS_PMBUS) += pmbus.o obj-$(CONFIG_SENSORS_ADM1275) += adm1275.o obj-$(CONFIG_SENSORS_IBM_CFFPS) += ibm-cffps.o obj-$(CONFIG_SENSORS_INSPUR_IPSPS) += inspur-ipsps.o obj-$(CONFIG_SENSORS_IR35221) += ir35221.o obj-$(CONFIG_SENSORS_IR38064) += ir38064.o obj-$(CONFIG_SENSORS_IRPS5401) += irps5401.o obj-$(CONFIG_SENSORS_ISL68137) += isl68137.o obj-$(CONFIG_SENSORS_LM25066) += lm25066.o obj-$(CONFIG_SENSORS_LTC2978) += ltc2978.o obj-$(CONFIG_SENSORS_LTC3815) += ltc3815.o obj-$(CONFIG_SENSORS_MAX16064) += max16064.o obj-$(CONFIG_SENSORS_MAX20751) += max20751.o obj-$(CONFIG_SENSORS_MAX31785) += max31785.o obj-$(CONFIG_SENSORS_MAX34440) += max34440.o obj-$(CONFIG_SENSORS_MAX8688) += max8688.o obj-$(CONFIG_SENSORS_PXE1610) += pxe1610.o obj-$(CONFIG_SENSORS_TPS40422) += tps40422.o obj-$(CONFIG_SENSORS_TPS53679) += tps53679.o obj-$(CONFIG_SENSORS_UCD9000) += ucd9000.o obj-$(CONFIG_SENSORS_UCD9200) += ucd9200.o obj-$(CONFIG_SENSORS_ZL6100) += zl6100.o hwmon/Kconfig 0000644 00000166406 14722053667 0007230 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Hardware monitoring chip drivers configuration # menuconfig HWMON tristate "Hardware Monitoring support" depends on HAS_IOMEM default y help Hardware monitoring devices let you monitor the hardware health of a system. Most modern motherboards include such a device. It can include temperature sensors, voltage sensors, fan speed sensors and various additional features such as the ability to control the speed of the fans. If you want this support you should say Y here and also to the specific driver(s) for your sensors chip(s) below. To find out which specific driver(s) you need, use the sensors-detect script from the lm_sensors package. Read <file:Documentation/hwmon/userspace-tools.rst> for details. This support can also be built as a module. If so, the module will be called hwmon. if HWMON config HWMON_VID tristate config HWMON_DEBUG_CHIP bool "Hardware Monitoring Chip debugging messages" help Say Y here if you want the I2C chip drivers to produce a bunch of debug messages to the system log. Select this if you are having a problem with I2C support and want to see more of what is going on. comment "Native drivers" config SENSORS_AB8500 tristate "AB8500 thermal monitoring" depends on AB8500_GPADC && AB8500_BM help If you say yes here you get support for the thermal sensor part of the AB8500 chip. The driver includes thermal management for AB8500 die and two GPADC channels. The GPADC channel are preferably used to access sensors outside the AB8500 chip. This driver can also be built as a module. If so, the module will be called abx500-temp. config SENSORS_ABITUGURU tristate "Abit uGuru (rev 1 & 2)" depends on X86 && DMI help If you say yes here you get support for the sensor part of the first and second revision of the Abit uGuru chip. The voltage and frequency control parts of the Abit uGuru are not supported. The Abit uGuru chip can be found on Abit uGuru featuring motherboards (most modern Abit motherboards from before end 2005). For more info and a list of which motherboards have which revision see Documentation/hwmon/abituguru.rst This driver can also be built as a module. If so, the module will be called abituguru. config SENSORS_ABITUGURU3 tristate "Abit uGuru (rev 3)" depends on X86 && DMI help If you say yes here you get support for the sensor part of the third revision of the Abit uGuru chip. Only reading the sensors and their settings is supported. The third revision of the Abit uGuru chip can be found on recent Abit motherboards (since end 2005). For more info and a list of which motherboards have which revision see Documentation/hwmon/abituguru3.rst This driver can also be built as a module. If so, the module will be called abituguru3. config SENSORS_AD7314 tristate "Analog Devices AD7314 and compatibles" depends on SPI help If you say yes here you get support for the Analog Devices AD7314, ADT7301 and ADT7302 temperature sensors. This driver can also be built as a module. If so, the module will be called ad7314. config SENSORS_AD7414 tristate "Analog Devices AD7414" depends on I2C help If you say yes here you get support for the Analog Devices AD7414 temperature monitoring chip. This driver can also be built as a module. If so, the module will be called ad7414. config SENSORS_AD7418 tristate "Analog Devices AD7416, AD7417 and AD7418" depends on I2C help If you say yes here you get support for the Analog Devices AD7416, AD7417 and AD7418 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called ad7418. config SENSORS_ADM1021 tristate "Analog Devices ADM1021 and compatibles" depends on I2C help If you say yes here you get support for Analog Devices ADM1021 and ADM1023 sensor chips and clones: Maxim MAX1617 and MAX1617A, Genesys Logic GL523SM, National Semiconductor LM84 and TI THMC10. This driver can also be built as a module. If so, the module will be called adm1021. config SENSORS_ADM1025 tristate "Analog Devices ADM1025 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for Analog Devices ADM1025 and Philips NE1619 sensor chips. This driver can also be built as a module. If so, the module will be called adm1025. config SENSORS_ADM1026 tristate "Analog Devices ADM1026 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for Analog Devices ADM1026 sensor chip. This driver can also be built as a module. If so, the module will be called adm1026. config SENSORS_ADM1029 tristate "Analog Devices ADM1029" depends on I2C help If you say yes here you get support for Analog Devices ADM1029 sensor chip. Very rare chip, please let us know you use it. This driver can also be built as a module. If so, the module will be called adm1029. config SENSORS_ADM1031 tristate "Analog Devices ADM1031 and compatibles" depends on I2C help If you say yes here you get support for Analog Devices ADM1031 and ADM1030 sensor chips. This driver can also be built as a module. If so, the module will be called adm1031. config SENSORS_ADM9240 tristate "Analog Devices ADM9240 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for Analog Devices ADM9240, Dallas DS1780, National Semiconductor LM81 sensor chips. This driver can also be built as a module. If so, the module will be called adm9240. config SENSORS_ADT7X10 tristate help This module contains common code shared by the ADT7310/ADT7320 and ADT7410/ADT7420 temperature monitoring chip drivers. If built as a module, the module will be called adt7x10. config SENSORS_ADT7310 tristate "Analog Devices ADT7310/ADT7320" depends on SPI_MASTER select SENSORS_ADT7X10 help If you say yes here you get support for the Analog Devices ADT7310 and ADT7320 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called adt7310. config SENSORS_ADT7410 tristate "Analog Devices ADT7410/ADT7420" depends on I2C select SENSORS_ADT7X10 help If you say yes here you get support for the Analog Devices ADT7410 and ADT7420 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called adt7410. config SENSORS_ADT7411 tristate "Analog Devices ADT7411" depends on I2C help If you say yes here you get support for the Analog Devices ADT7411 voltage and temperature monitoring chip. This driver can also be built as a module. If so, the module will be called adt7411. config SENSORS_ADT7462 tristate "Analog Devices ADT7462" depends on I2C help If you say yes here you get support for the Analog Devices ADT7462 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called adt7462. config SENSORS_ADT7470 tristate "Analog Devices ADT7470" depends on I2C help If you say yes here you get support for the Analog Devices ADT7470 temperature monitoring chips. This driver can also be built as a module. If so, the module will be called adt7470. config SENSORS_ADT7475 tristate "Analog Devices ADT7473, ADT7475, ADT7476 and ADT7490" depends on I2C select HWMON_VID help If you say yes here you get support for the Analog Devices ADT7473, ADT7475, ADT7476 and ADT7490 hardware monitoring chips. This driver can also be built as a module. If so, the module will be called adt7475. config SENSORS_AS370 tristate "Synaptics AS370 SoC hardware monitoring driver" help If you say yes here you get support for the PVT sensors of the Synaptics AS370 SoC This driver can also be built as a module. If so, the module will be called as370-hwmon. config SENSORS_ASC7621 tristate "Andigilog aSC7621" depends on I2C help If you say yes here you get support for the aSC7621 family of SMBus sensors chip found on most Intel X38, X48, X58, 945, 965 and 975 desktop boards. Currently supported chips: aSC7621 aSC7621a This driver can also be built as a module. If so, the module will be called asc7621. config SENSORS_K8TEMP tristate "AMD Athlon64/FX or Opteron temperature sensor" depends on X86 && PCI help If you say yes here you get support for the temperature sensor(s) inside your CPU. Supported is whole AMD K8 microarchitecture. Please note that you will need at least lm-sensors 2.10.1 for proper userspace support. This driver can also be built as a module. If so, the module will be called k8temp. config SENSORS_K10TEMP tristate "AMD Family 10h+ temperature sensor" depends on X86 && PCI && AMD_NB help If you say yes here you get support for the temperature sensor(s) inside your CPU. Supported are later revisions of the AMD Family 10h and all revisions of the AMD Family 11h, 12h (Llano), 14h (Brazos), 15h (Bulldozer/Trinity/Kaveri/Carrizo) and 16h (Kabini/Mullins) microarchitectures. This driver can also be built as a module. If so, the module will be called k10temp. config SENSORS_FAM15H_POWER tristate "AMD Family 15h processor power" depends on X86 && PCI && CPU_SUP_AMD help If you say yes here you get support for processor power information of your AMD family 15h CPU. This driver can also be built as a module. If so, the module will be called fam15h_power. config SENSORS_APPLESMC tristate "Apple SMC (Motion sensor, light sensor, keyboard backlight)" depends on INPUT && X86 select NEW_LEDS select LEDS_CLASS select INPUT_POLLDEV help This driver provides support for the Apple System Management Controller, which provides an accelerometer (Apple Sudden Motion Sensor), light sensors, temperature sensors, keyboard backlight control and fan control. Only Intel-based Apple's computers are supported (MacBook Pro, MacBook, MacMini). Data from the different sensors, keyboard backlight control and fan control are accessible via sysfs. This driver also provides an absolute input class device, allowing the laptop to act as a pinball machine-esque joystick. Say Y here if you have an applicable laptop and want to experience the awesome power of applesmc. config SENSORS_ARM_SCMI tristate "ARM SCMI Sensors" depends on ARM_SCMI_PROTOCOL depends on THERMAL || !THERMAL_OF help This driver provides support for temperature, voltage, current and power sensors available on SCMI based platforms. The actual number and type of sensors exported depend on the platform. This driver can also be built as a module. If so, the module will be called scmi-hwmon. config SENSORS_ARM_SCPI tristate "ARM SCPI Sensors" depends on ARM_SCPI_PROTOCOL depends on THERMAL || !THERMAL_OF help This driver provides support for temperature, voltage, current and power sensors available on ARM Ltd's SCP based platforms. The actual number and type of sensors exported depend on the platform. config SENSORS_ASB100 tristate "Asus ASB100 Bach" depends on X86 && I2C select HWMON_VID help If you say yes here you get support for the ASB100 Bach sensor chip found on some Asus mainboards. This driver can also be built as a module. If so, the module will be called asb100. config SENSORS_ASPEED tristate "ASPEED AST2400/AST2500 PWM and Fan tach driver" depends on THERMAL || THERMAL=n select REGMAP help This driver provides support for ASPEED AST2400/AST2500 PWM and Fan Tacho controllers. This driver can also be built as a module. If so, the module will be called aspeed_pwm_tacho. config SENSORS_ATXP1 tristate "Attansic ATXP1 VID controller" depends on I2C select HWMON_VID help If you say yes here you get support for the Attansic ATXP1 VID controller. If your board have such a chip, you are able to control your CPU core and other voltages. This driver can also be built as a module. If so, the module will be called atxp1. config SENSORS_DS620 tristate "Dallas Semiconductor DS620" depends on I2C help If you say yes here you get support for Dallas Semiconductor DS620 sensor chip. This driver can also be built as a module. If so, the module will be called ds620. config SENSORS_DS1621 tristate "Dallas Semiconductor DS1621 and compatibles" depends on I2C help If you say yes here you get support for Dallas Semiconductor/Maxim Integrated DS1621 sensor chips and compatible models including: - Dallas Semiconductor DS1625 - Maxim Integrated DS1631 - Maxim Integrated DS1721 - Maxim Integrated DS1731 This driver can also be built as a module. If so, the module will be called ds1621. config SENSORS_DELL_SMM tristate "Dell laptop SMM BIOS hwmon driver" depends on X86 help This hwmon driver adds support for reporting temperature of different sensors and controls the fans on Dell laptops via System Management Mode provided by Dell BIOS. When option I8K is also enabled this driver provides legacy /proc/i8k userspace interface for i8kutils package. config SENSORS_DA9052_ADC tristate "Dialog DA9052/DA9053 ADC" depends on PMIC_DA9052 help Say y here to support the ADC found on Dialog Semiconductor DA9052-BC and DA9053-AA/Bx PMICs. This driver can also be built as module. If so, the module will be called da9052-hwmon. config SENSORS_DA9055 tristate "Dialog Semiconductor DA9055 ADC" depends on MFD_DA9055 help If you say yes here you get support for ADC on the Dialog Semiconductor DA9055 PMIC. This driver can also be built as a module. If so, the module will be called da9055-hwmon. config SENSORS_I5K_AMB tristate "FB-DIMM AMB temperature sensor on Intel 5000 series chipsets" depends on PCI help If you say yes here you get support for FB-DIMM AMB temperature monitoring chips on systems with the Intel 5000 series chipset. This driver can also be built as a module. If so, the module will be called i5k_amb. config SENSORS_F71805F tristate "Fintek F71805F/FG, F71806F/FG and F71872F/FG" depends on !PPC help If you say yes here you get support for hardware monitoring features of the Fintek F71805F/FG, F71806F/FG and F71872F/FG Super-I/O chips. This driver can also be built as a module. If so, the module will be called f71805f. config SENSORS_F71882FG tristate "Fintek F71882FG and compatibles" depends on !PPC help If you say yes here you get support for hardware monitoring features of many Fintek Super-I/O (LPC) chips. The currently supported chips are: F71808E/A F71858FG F71862FG F71863FG F71869F/E/A F71882FG F71883FG F71889FG/ED/A F8000 F81801U F81865F This driver can also be built as a module. If so, the module will be called f71882fg. config SENSORS_F75375S tristate "Fintek F75375S/SP, F75373 and F75387" depends on I2C help If you say yes here you get support for hardware monitoring features of the Fintek F75375S/SP, F75373 and F75387 This driver can also be built as a module. If so, the module will be called f75375s. config SENSORS_MC13783_ADC tristate "Freescale MC13783/MC13892 ADC" depends on MFD_MC13XXX help Support for the A/D converter on MC13783 and MC13892 PMIC. config SENSORS_FSCHMD tristate "Fujitsu Siemens Computers sensor chips" depends on X86 && I2C help If you say yes here you get support for the following Fujitsu Siemens Computers (FSC) sensor chips: Poseidon, Scylla, Hermes, Heimdall, Heracles, Hades and Syleus including support for the integrated watchdog. This is a merged driver for FSC sensor chips replacing the fscpos, fscscy and fscher drivers and adding support for several other FSC sensor chips. This driver can also be built as a module. If so, the module will be called fschmd. config SENSORS_FTSTEUTATES tristate "Fujitsu Technology Solutions sensor chip Teutates" depends on I2C && WATCHDOG select WATCHDOG_CORE help If you say yes here you get support for the Fujitsu Technology Solutions (FTS) sensor chip "Teutates" including support for the integrated watchdog. This driver can also be built as a module. If so, the module will be called ftsteutates. config SENSORS_GL518SM tristate "Genesys Logic GL518SM" depends on I2C help If you say yes here you get support for Genesys Logic GL518SM sensor chips. This driver can also be built as a module. If so, the module will be called gl518sm. config SENSORS_GL520SM tristate "Genesys Logic GL520SM" depends on I2C select HWMON_VID help If you say yes here you get support for Genesys Logic GL520SM sensor chips. This driver can also be built as a module. If so, the module will be called gl520sm. config SENSORS_G760A tristate "GMT G760A" depends on I2C help If you say yes here you get support for Global Mixed-mode Technology Inc G760A fan speed PWM controller chips. This driver can also be built as a module. If so, the module will be called g760a. config SENSORS_G762 tristate "GMT G762 and G763" depends on I2C help If you say yes here you get support for Global Mixed-mode Technology Inc G762 and G763 fan speed PWM controller chips. This driver can also be built as a module. If so, the module will be called g762. config SENSORS_GPIO_FAN tristate "GPIO fan" depends on OF_GPIO depends on GPIOLIB || COMPILE_TEST depends on THERMAL || THERMAL=n help If you say yes here you get support for fans connected to GPIO lines. This driver can also be built as a module. If so, the module will be called gpio-fan. config SENSORS_HIH6130 tristate "Honeywell Humidicon HIH-6130 humidity/temperature sensor" depends on I2C help If you say yes here you get support for Honeywell Humidicon HIH-6130 and HIH-6131 Humidicon humidity sensors. This driver can also be built as a module. If so, the module will be called hih6130. config SENSORS_IBMAEM tristate "IBM Active Energy Manager temperature/power sensors and control" select IPMI_SI depends on IPMI_HANDLER help If you say yes here you get support for the temperature and power sensors and capping hardware in various IBM System X servers that support Active Energy Manager. This includes the x3350, x3550, x3650, x3655, x3755, x3850 M2, x3950 M2, and certain HC10/HS2x/LS2x/QS2x blades. This driver can also be built as a module. If so, the module will be called ibmaem. config SENSORS_IBMPEX tristate "IBM PowerExecutive temperature/power sensors" select IPMI_SI depends on IPMI_HANDLER help If you say yes here you get support for the temperature and power sensors in various IBM System X servers that support PowerExecutive. So far this includes the x3350, x3550, x3650, x3655, and x3755; the x3800, x3850, and x3950 models that have PCI Express; and some of the HS2x, LS2x, and QS2x blades. This driver can also be built as a module. If so, the module will be called ibmpex. config SENSORS_IBMPOWERNV tristate "IBM POWERNV platform sensors" depends on PPC_POWERNV default y help If you say yes here you get support for the temperature/fan/power sensors on your PowerNV platform. This driver can also be built as a module. If so, the module will be called ibmpowernv. config SENSORS_IIO_HWMON tristate "Hwmon driver that uses channels specified via iio maps" depends on IIO help This is a platform driver that in combination with a suitable map allows IIO devices to provide basic hwmon functionality for those channels specified in the map. This map can be provided either via platform data or the device tree bindings. config SENSORS_I5500 tristate "Intel 5500/5520/X58 temperature sensor" depends on X86 && PCI help If you say yes here you get support for the temperature sensor inside the Intel 5500, 5520 and X58 chipsets. This driver can also be built as a module. If so, the module will be called i5500_temp. config SENSORS_CORETEMP tristate "Intel Core/Core2/Atom temperature sensor" depends on X86 help If you say yes here you get support for the temperature sensor inside your CPU. Most of the family 6 CPUs are supported. Check Documentation/hwmon/coretemp.rst for details. config SENSORS_IT87 tristate "ITE IT87xx and compatibles" depends on !PPC select HWMON_VID help If you say yes here you get support for ITE IT8705F, IT8712F, IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8732F, IT8758E, IT8771E, IT8772E, IT8781F, IT8782F, IT8783E/F, IT8786E, IT8790E, IT8603E, IT8620E, IT8623E, and IT8628E sensor chips, and the SiS950 clone. This driver can also be built as a module. If so, the module will be called it87. config SENSORS_JC42 tristate "JEDEC JC42.4 compliant memory module temperature sensors" depends on I2C help If you say yes here, you get support for JEDEC JC42.4 compliant temperature sensors, which are used on many DDR3 memory modules for mobile devices and servers. Support will include, but not be limited to, ADT7408, AT30TS00, CAT34TS02, CAT6095, MAX6604, MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843, SE97, SE98, STTS424(E), STTS2002, STTS3000, TSE2002, TSE2004, TS3000, and TS3001. This driver can also be built as a module. If so, the module will be called jc42. config SENSORS_POWR1220 tristate "Lattice POWR1220 Power Monitoring" depends on I2C help If you say yes here you get access to the hardware monitoring functions of the Lattice POWR1220 isp Power Supply Monitoring, Sequencing and Margining Controller. This driver can also be built as a module. If so, the module will be called powr1220. config SENSORS_LINEAGE tristate "Lineage Compact Power Line Power Entry Module" depends on I2C help If you say yes here you get support for the Lineage Compact Power Line series of DC/DC and AC/DC converters such as CP1800, CP2000AC, CP2000DC, CP2725, and others. This driver can also be built as a module. If so, the module will be called lineage-pem. config SENSORS_LOCHNAGAR tristate "Lochnagar Hardware Monitor" depends on MFD_LOCHNAGAR help If you say yes here you get support for Lochnagar 2 temperature, voltage and current sensors abilities. This driver can also be built as a module. If so, the module will be called lochnagar-hwmon. config SENSORS_LTC2945 tristate "Linear Technology LTC2945" depends on I2C select REGMAP_I2C help If you say yes here you get support for Linear Technology LTC2945 I2C System Monitor. This driver can also be built as a module. If so, the module will be called ltc2945. config SENSORS_LTC2990 tristate "Linear Technology LTC2990" depends on I2C help If you say yes here you get support for Linear Technology LTC2990 I2C System Monitor. The LTC2990 supports a combination of voltage, current and temperature monitoring. This driver can also be built as a module. If so, the module will be called ltc2990. config SENSORS_LTC4151 tristate "Linear Technology LTC4151" depends on I2C help If you say yes here you get support for Linear Technology LTC4151 High Voltage I2C Current and Voltage Monitor interface. This driver can also be built as a module. If so, the module will be called ltc4151. config SENSORS_LTC4215 tristate "Linear Technology LTC4215" depends on I2C help If you say yes here you get support for Linear Technology LTC4215 Hot Swap Controller I2C interface. This driver can also be built as a module. If so, the module will be called ltc4215. config SENSORS_LTC4222 tristate "Linear Technology LTC4222" depends on I2C select REGMAP_I2C help If you say yes here you get support for Linear Technology LTC4222 Dual Hot Swap Controller I2C interface. This driver can also be built as a module. If so, the module will be called ltc4222. config SENSORS_LTC4245 tristate "Linear Technology LTC4245" depends on I2C help If you say yes here you get support for Linear Technology LTC4245 Multiple Supply Hot Swap Controller I2C interface. This driver can also be built as a module. If so, the module will be called ltc4245. config SENSORS_LTC4260 tristate "Linear Technology LTC4260" depends on I2C select REGMAP_I2C help If you say yes here you get support for Linear Technology LTC4260 Positive Voltage Hot Swap Controller I2C interface. This driver can also be built as a module. If so, the module will be called ltc4260. config SENSORS_LTC4261 tristate "Linear Technology LTC4261" depends on I2C help If you say yes here you get support for Linear Technology LTC4261 Negative Voltage Hot Swap Controller I2C interface. This driver can also be built as a module. If so, the module will be called ltc4261. config SENSORS_LTQ_CPUTEMP bool "Lantiq cpu temperature sensor driver" depends on SOC_XWAY help If you say yes here you get support for the temperature sensor inside your CPU. config SENSORS_MAX1111 tristate "Maxim MAX1111 Serial 8-bit ADC chip and compatibles" depends on SPI_MASTER help Say y here to support Maxim's MAX1110, MAX1111, MAX1112, and MAX1113 ADC chips. This driver can also be built as a module. If so, the module will be called max1111. config SENSORS_MAX16065 tristate "Maxim MAX16065 System Manager and compatibles" depends on I2C help If you say yes here you get support for hardware monitoring capabilities of the following Maxim System Manager chips. MAX16065 MAX16066 MAX16067 MAX16068 MAX16070 MAX16071 This driver can also be built as a module. If so, the module will be called max16065. config SENSORS_MAX1619 tristate "Maxim MAX1619 sensor chip" depends on I2C help If you say yes here you get support for MAX1619 sensor chip. This driver can also be built as a module. If so, the module will be called max1619. config SENSORS_MAX1668 tristate "Maxim MAX1668 and compatibles" depends on I2C help If you say yes here you get support for MAX1668, MAX1989 and MAX1805 chips. This driver can also be built as a module. If so, the module will be called max1668. config SENSORS_MAX197 tristate "Maxim MAX197 and compatibles" help Support for the Maxim MAX197 A/D converter. Support will include, but not be limited to, MAX197, and MAX199. This driver can also be built as a module. If so, the module will be called max197. config SENSORS_MAX31722 tristate "MAX31722 temperature sensor" depends on SPI help Support for the Maxim Integrated MAX31722/MAX31723 digital thermometers/thermostats operating over an SPI interface. This driver can also be built as a module. If so, the module will be called max31722. config SENSORS_MAX6621 tristate "Maxim MAX6621 sensor chip" depends on I2C select REGMAP_I2C help If you say yes here you get support for MAX6621 sensor chip. MAX6621 is a PECI-to-I2C translator provides an efficient, low-cost solution for PECI-to-SMBus/I2C protocol conversion. It allows reading the temperature from the PECI-compliant host directly from up to four PECI-enabled CPUs. This driver can also be built as a module. If so, the module will be called max6621. config SENSORS_MAX6639 tristate "Maxim MAX6639 sensor chip" depends on I2C help If you say yes here you get support for the MAX6639 sensor chips. This driver can also be built as a module. If so, the module will be called max6639. config SENSORS_MAX6642 tristate "Maxim MAX6642 sensor chip" depends on I2C help If you say yes here you get support for MAX6642 sensor chip. MAX6642 is a SMBus-Compatible Remote/Local Temperature Sensor with Overtemperature Alarm from Maxim. This driver can also be built as a module. If so, the module will be called max6642. config SENSORS_MAX6650 tristate "Maxim MAX6650 sensor chip" depends on I2C depends on THERMAL || THERMAL=n help If you say yes here you get support for the MAX6650 / MAX6651 sensor chips. This driver can also be built as a module. If so, the module will be called max6650. config SENSORS_MAX6697 tristate "Maxim MAX6697 and compatibles" depends on I2C help If you say yes here you get support for MAX6581, MAX6602, MAX6622, MAX6636, MAX6689, MAX6693, MAX6694, MAX6697, MAX6698, and MAX6699 temperature sensor chips. This driver can also be built as a module. If so, the module will be called max6697. config SENSORS_MAX31790 tristate "Maxim MAX31790 sensor chip" depends on I2C help If you say yes here you get support for 6-Channel PWM-Output Fan RPM Controller. This driver can also be built as a module. If so, the module will be called max31790. config SENSORS_MCP3021 tristate "Microchip MCP3021 and compatibles" depends on I2C help If you say yes here you get support for MCP3021 and MCP3221. The MCP3021 is a A/D converter (ADC) with 10-bit and the MCP3221 with 12-bit resolution. This driver can also be built as a module. If so, the module will be called mcp3021. config SENSORS_MLXREG_FAN tristate "Mellanox Mellanox FAN driver" depends on MELLANOX_PLATFORM imply THERMAL select REGMAP help This option enables support for the FAN control on the Mellanox Ethernet and InfiniBand switches. The driver can be activated by the platform device add call. Say Y to enable these. To compile this driver as a module, choose 'M' here: the module will be called mlxreg-fan. config SENSORS_TC654 tristate "Microchip TC654/TC655 and compatibles" depends on I2C help If you say yes here you get support for TC654 and TC655. The TC654 and TC655 are PWM mode fan speed controllers with FanSense technology for use with brushless DC fans. This driver can also be built as a module. If so, the module will be called tc654. config SENSORS_MENF21BMC_HWMON tristate "MEN 14F021P00 BMC Hardware Monitoring" depends on MFD_MENF21BMC help Say Y here to include support for the MEN 14F021P00 BMC hardware monitoring. This driver can also be built as a module. If so the module will be called menf21bmc_hwmon. config SENSORS_ADCXX tristate "National Semiconductor ADCxxxSxxx" depends on SPI_MASTER help If you say yes here you get support for the National Semiconductor ADC<bb><c>S<sss> chip family, where * bb is the resolution in number of bits (8, 10, 12) * c is the number of channels (1, 2, 4, 8) * sss is the maximum conversion speed (021 for 200 kSPS, 051 for 500 kSPS and 101 for 1 MSPS) Examples : ADC081S101, ADC124S501, ... This driver can also be built as a module. If so, the module will be called adcxx. config SENSORS_LM63 tristate "National Semiconductor LM63 and compatibles" depends on I2C help If you say yes here you get support for the National Semiconductor LM63, LM64, and LM96163 remote diode digital temperature sensors with integrated fan control. Such chips are found on the Tyan S4882 (Thunder K8QS Pro) motherboard, among others. This driver can also be built as a module. If so, the module will be called lm63. config SENSORS_LM70 tristate "National Semiconductor LM70 and compatibles" depends on SPI_MASTER help If you say yes here you get support for the National Semiconductor LM70, LM71, LM74 and Texas Instruments TMP121/TMP123 digital tempera- ture sensor chips. This driver can also be built as a module. If so, the module will be called lm70. config SENSORS_LM73 tristate "National Semiconductor LM73" depends on I2C help If you say yes here you get support for National Semiconductor LM73 sensor chips. This driver can also be built as a module. If so, the module will be called lm73. config SENSORS_LM75 tristate "National Semiconductor LM75 and compatibles" depends on I2C select REGMAP_I2C help If you say yes here you get support for one common type of temperature sensor chip, with models including: - Analog Devices ADT75 - Dallas Semiconductor DS75, DS1775 and DS7505 - Global Mixed-mode Technology (GMT) G751 - Maxim MAX6625 and MAX6626 - Microchip MCP980x - National Semiconductor LM75, LM75A - NXP's LM75A - ST Microelectronics STDS75 - ST Microelectronics STLM75 - TelCom (now Microchip) TCN75 - Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP175, TMP275 This driver supports driver model based binding through board specific I2C device tables. It also supports the "legacy" style of driver binding. To use that with some chips which don't replicate LM75 quirks exactly, you may need the "force" module parameter. This driver can also be built as a module. If so, the module will be called lm75. config SENSORS_LM77 tristate "National Semiconductor LM77" depends on I2C help If you say yes here you get support for National Semiconductor LM77 sensor chips. This driver can also be built as a module. If so, the module will be called lm77. config SENSORS_LM78 tristate "National Semiconductor LM78 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM78, LM78-J and LM79. This driver can also be built as a module. If so, the module will be called lm78. config SENSORS_LM80 tristate "National Semiconductor LM80 and LM96080" depends on I2C help If you say yes here you get support for National Semiconductor LM80 and LM96080 sensor chips. This driver can also be built as a module. If so, the module will be called lm80. config SENSORS_LM83 tristate "National Semiconductor LM83 and compatibles" depends on I2C help If you say yes here you get support for National Semiconductor LM82 and LM83 sensor chips. This driver can also be built as a module. If so, the module will be called lm83. config SENSORS_LM85 tristate "National Semiconductor LM85 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM85 sensor chips and clones: ADM1027, ADT7463, ADT7468, EMC6D100, EMC6D101, EMC6D102, and EMC6D103. This driver can also be built as a module. If so, the module will be called lm85. config SENSORS_LM87 tristate "National Semiconductor LM87 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM87 and Analog Devices ADM1024 sensor chips. This driver can also be built as a module. If so, the module will be called lm87. config SENSORS_LM90 tristate "National Semiconductor LM90 and compatibles" depends on I2C help If you say yes here you get support for National Semiconductor LM90, LM86, LM89 and LM99, Analog Devices ADM1032, ADT7461, and ADT7461A, Maxim MAX6646, MAX6647, MAX6648, MAX6649, MAX6654, MAX6657, MAX6658, MAX6659, MAX6680, MAX6681, MAX6692, MAX6695, MAX6696, ON Semiconductor NCT1008, Winbond/Nuvoton W83L771W/G/AWG/ASG, Philips SA56004, GMT G781, Texas Instruments TMP451 and TMP461 sensor chips. This driver can also be built as a module. If so, the module will be called lm90. config SENSORS_LM92 tristate "National Semiconductor LM92 and compatibles" depends on I2C help If you say yes here you get support for National Semiconductor LM92 and Maxim MAX6635 sensor chips. This driver can also be built as a module. If so, the module will be called lm92. config SENSORS_LM93 tristate "National Semiconductor LM93 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for National Semiconductor LM93, LM94, and compatible sensor chips. This driver can also be built as a module. If so, the module will be called lm93. config SENSORS_LM95234 tristate "National Semiconductor LM95234 and compatibles" depends on I2C help If you say yes here you get support for the LM95233 and LM95234 temperature sensor chips. This driver can also be built as a module. If so, the module will be called lm95234. config SENSORS_LM95241 tristate "National Semiconductor LM95241 and compatibles" depends on I2C help If you say yes here you get support for LM95231 and LM95241 sensor chips. This driver can also be built as a module. If so, the module will be called lm95241. config SENSORS_LM95245 tristate "National Semiconductor LM95245 and compatibles" depends on I2C select REGMAP_I2C help If you say yes here you get support for LM95235 and LM95245 temperature sensor chips. This driver can also be built as a module. If so, the module will be called lm95245. config SENSORS_PC87360 tristate "National Semiconductor PC87360 family" depends on !PPC select HWMON_VID help If you say yes here you get access to the hardware monitoring functions of the National Semiconductor PC8736x Super-I/O chips. The PC87360, PC87363 and PC87364 only have fan monitoring and control. The PC87365 and PC87366 additionally have voltage and temperature monitoring. This driver can also be built as a module. If so, the module will be called pc87360. config SENSORS_PC87427 tristate "National Semiconductor PC87427" depends on !PPC help If you say yes here you get access to the hardware monitoring functions of the National Semiconductor PC87427 Super-I/O chip. The chip has two distinct logical devices, one for fan speed monitoring and control, and one for voltage and temperature monitoring. Fan speed monitoring and control are supported, as well as temperature monitoring. Voltages aren't supported yet. This driver can also be built as a module. If so, the module will be called pc87427. config SENSORS_NTC_THERMISTOR tristate "NTC thermistor support from Murata" depends on !OF || IIO=n || IIO depends on THERMAL || !THERMAL_OF help This driver supports NTC thermistors sensor reading and its interpretation. The driver can also monitor the temperature and send notifications about the temperature. Currently, this driver supports NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333, NCP03WF104 and NCP15XH103 from Murata and B57330V2103 and B57891S0103 from EPCOS. This driver can also be built as a module. If so, the module will be called ntc-thermistor. config SENSORS_NCT6683 tristate "Nuvoton NCT6683D" depends on !PPC help If you say yes here you get support for the hardware monitoring functionality of the Nuvoton NCT6683D eSIO chip. This driver can also be built as a module. If so, the module will be called nct6683. config SENSORS_NCT6775 tristate "Nuvoton NCT6775F and compatibles" depends on !PPC select HWMON_VID help If you say yes here you get support for the hardware monitoring functionality of the Nuvoton NCT6106D, NCT6775F, NCT6776F, NCT6779D, NCT6791D, NCT6792D, NCT6793D, NCT6795D, NCT6796D, and compatible Super-I/O chips. This driver replaces the w83627ehf driver for NCT6775F and NCT6776F. This driver can also be built as a module. If so, the module will be called nct6775. config SENSORS_NCT7802 tristate "Nuvoton NCT7802Y" depends on I2C select REGMAP_I2C help If you say yes here you get support for the Nuvoton NCT7802Y hardware monitoring chip. This driver can also be built as a module. If so, the module will be called nct7802. config SENSORS_NCT7904 tristate "Nuvoton NCT7904" depends on I2C help If you say yes here you get support for the Nuvoton NCT7904 hardware monitoring chip, including manual fan speed control. This driver can also be built as a module. If so, the module will be called nct7904. config SENSORS_NPCM7XX tristate "Nuvoton NPCM750 and compatible PWM and Fan controllers" imply THERMAL help This driver provides support for Nuvoton NPCM750/730/715/705 PWM and Fan controllers. This driver can also be built as a module. If so, the module will be called npcm750-pwm-fan. config SENSORS_NSA320 tristate "ZyXEL NSA320 and compatible fan speed and temperature sensors" depends on GPIOLIB && OF depends on MACH_KIRKWOOD || COMPILE_TEST help If you say yes here you get support for hardware monitoring for the ZyXEL NSA320 Media Server and other compatible devices (probably the NSA325 and some NSA310 variants). The sensor data is taken from a Holtek HT46R065 microcontroller connected to GPIO lines. This driver can also be built as a module. If so, the module will be called nsa320-hwmon. source "drivers/hwmon/occ/Kconfig" config SENSORS_PCF8591 tristate "Philips PCF8591 ADC/DAC" depends on I2C help If you say yes here you get support for Philips PCF8591 4-channel ADC, 1-channel DAC chips. This driver can also be built as a module. If so, the module will be called pcf8591. These devices are hard to detect and rarely found on mainstream hardware. If unsure, say N. source "drivers/hwmon/pmbus/Kconfig" config SENSORS_PWM_FAN tristate "PWM fan" depends on (PWM && OF) || COMPILE_TEST depends on THERMAL || THERMAL=n help If you say yes here you get support for fans connected to PWM lines. The driver uses the generic PWM interface, thus it will work on a variety of SoCs. This driver can also be built as a module. If so, the module will be called pwm-fan. config SENSORS_RASPBERRYPI_HWMON tristate "Raspberry Pi voltage monitor" depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) help If you say yes here you get support for voltage sensor on the Raspberry Pi. This driver can also be built as a module. If so, the module will be called raspberrypi-hwmon. config SENSORS_SHT15 tristate "Sensiron humidity and temperature sensors. SHT15 and compat." depends on GPIOLIB || COMPILE_TEST select BITREVERSE help If you say yes here you get support for the Sensiron SHT10, SHT11, SHT15, SHT71, SHT75 humidity and temperature sensors. This driver can also be built as a module. If so, the module will be called sht15. config SENSORS_SHT21 tristate "Sensiron humidity and temperature sensors. SHT21 and compat." depends on I2C help If you say yes here you get support for the Sensiron SHT21, SHT25 humidity and temperature sensors. This driver can also be built as a module. If so, the module will be called sht21. config SENSORS_SHT3x tristate "Sensiron humidity and temperature sensors. SHT3x and compat." depends on I2C select CRC8 help If you say yes here you get support for the Sensiron SHT30 and SHT31 humidity and temperature sensors. This driver can also be built as a module. If so, the module will be called sht3x. config SENSORS_SHTC1 tristate "Sensiron humidity and temperature sensors. SHTC1 and compat." depends on I2C help If you say yes here you get support for the Sensiron SHTC1, SHTW1, and SHTC3 humidity and temperature sensors. This driver can also be built as a module. If so, the module will be called shtc1. config SENSORS_S3C tristate "Samsung built-in ADC" depends on S3C_ADC help If you say yes here you get support for the on-board ADCs of the Samsung S3C24XX, S3C64XX and other series of SoC This driver can also be built as a module. If so, the module will be called s3c-hwmon. config SENSORS_S3C_RAW bool "Include raw channel attributes in sysfs" depends on SENSORS_S3C help Say Y here if you want to include raw copies of all the ADC channels in sysfs. config SENSORS_SIS5595 tristate "Silicon Integrated Systems Corp. SiS5595" depends on PCI help If you say yes here you get support for the integrated sensors in SiS5595 South Bridges. This driver can also be built as a module. If so, the module will be called sis5595. config SENSORS_DME1737 tristate "SMSC DME1737, SCH311x and compatibles" depends on I2C && !PPC select HWMON_VID help If you say yes here you get support for the hardware monitoring and fan control features of the SMSC DME1737, SCH311x, SCH5027, and Asus A8000 Super-I/O chips. This driver can also be built as a module. If so, the module will be called dme1737. config SENSORS_EMC1403 tristate "SMSC EMC1403/23 thermal sensor" depends on I2C select REGMAP_I2C help If you say yes here you get support for the SMSC EMC1403/23 temperature monitoring chip. Threshold values can be configured using sysfs. Data from the different diodes are accessible via sysfs. config SENSORS_EMC2103 tristate "SMSC EMC2103" depends on I2C help If you say yes here you get support for the temperature and fan sensors of the SMSC EMC2103 chips. This driver can also be built as a module. If so, the module will be called emc2103. config SENSORS_EMC6W201 tristate "SMSC EMC6W201" depends on I2C help If you say yes here you get support for the SMSC EMC6W201 hardware monitoring chip. This driver can also be built as a module. If so, the module will be called emc6w201. config SENSORS_SMSC47M1 tristate "SMSC LPC47M10x and compatibles" depends on !PPC help If you say yes here you get support for the integrated fan monitoring and control capabilities of the SMSC LPC47B27x, LPC47M10x, LPC47M112, LPC47M13x, LPC47M14x, LPC47M15x, LPC47M192, LPC47M292 and LPC47M997 chips. The temperature and voltage sensor features of the LPC47M15x, LPC47M192, LPC47M292 and LPC47M997 are supported by another driver, select also "SMSC LPC47M192 and compatibles" below for those. This driver can also be built as a module. If so, the module will be called smsc47m1. config SENSORS_SMSC47M192 tristate "SMSC LPC47M192 and compatibles" depends on I2C select HWMON_VID help If you say yes here you get support for the temperature and voltage sensors of the SMSC LPC47M192, LPC47M15x, LPC47M292 and LPC47M997 chips. The fan monitoring and control capabilities of these chips are supported by another driver, select "SMSC LPC47M10x and compatibles" above. You need both drivers if you want fan control and voltage/temperature sensor support. This driver can also be built as a module. If so, the module will be called smsc47m192. config SENSORS_SMSC47B397 tristate "SMSC LPC47B397-NC" depends on !PPC help If you say yes here you get support for the SMSC LPC47B397-NC sensor chip. This driver can also be built as a module. If so, the module will be called smsc47b397. config SENSORS_SCH56XX_COMMON tristate config SENSORS_SCH5627 tristate "SMSC SCH5627" depends on !PPC && WATCHDOG select SENSORS_SCH56XX_COMMON select WATCHDOG_CORE help If you say yes here you get support for the hardware monitoring features of the SMSC SCH5627 Super-I/O chip including support for the integrated watchdog. This driver can also be built as a module. If so, the module will be called sch5627. config SENSORS_SCH5636 tristate "SMSC SCH5636" depends on !PPC && WATCHDOG select SENSORS_SCH56XX_COMMON select WATCHDOG_CORE help SMSC SCH5636 Super I/O chips include an embedded microcontroller for hardware monitoring solutions, allowing motherboard manufacturers to create their own custom hwmon solution based upon the SCH5636. Currently this driver only supports the Fujitsu Theseus SCH5636 based hwmon solution. Say yes here if you want support for the Fujitsu Theseus' hardware monitoring features including support for the integrated watchdog. This driver can also be built as a module. If so, the module will be called sch5636. config SENSORS_STTS751 tristate "ST Microelectronics STTS751" depends on I2C help If you say yes here you get support for STTS751 temperature sensor chips. This driver can also be built as a module. If so, the module will be called stts751. config SENSORS_SMM665 tristate "Summit Microelectronics SMM665" depends on I2C help If you say yes here you get support for the hardware monitoring features of the Summit Microelectronics SMM665/SMM665B Six-Channel Active DC Output Controller / Monitor. Other supported chips are SMM465, SMM665C, SMM764, and SMM766. Support for those chips is untested. This driver can also be built as a module. If so, the module will be called smm665. config SENSORS_ADC128D818 tristate "Texas Instruments ADC128D818" depends on I2C help If you say yes here you get support for the Texas Instruments ADC128D818 System Monitor with Temperature Sensor chip. This driver can also be built as a module. If so, the module will be called adc128d818. config SENSORS_ADS7828 tristate "Texas Instruments ADS7828 and compatibles" depends on I2C select REGMAP_I2C help If you say yes here you get support for Texas Instruments ADS7828 and ADS7830 8-channel A/D converters. ADS7828 resolution is 12-bit, while it is 8-bit on ADS7830. This driver can also be built as a module. If so, the module will be called ads7828. config SENSORS_ADS7871 tristate "Texas Instruments ADS7871 A/D converter" depends on SPI help If you say yes here you get support for TI ADS7871 & ADS7870 This driver can also be built as a module. If so, the module will be called ads7871. config SENSORS_AMC6821 tristate "Texas Instruments AMC6821" depends on I2C help If you say yes here you get support for the Texas Instruments AMC6821 hardware monitoring chips. This driver can also be built as a module. If so, the module will be called amc6821. config SENSORS_INA209 tristate "TI / Burr Brown INA209" depends on I2C help If you say yes here you get support for the TI / Burr Brown INA209 voltage / current / power monitor I2C interface. This driver can also be built as a module. If so, the module will be called ina209. config SENSORS_INA2XX tristate "Texas Instruments INA219 and compatibles" depends on I2C select REGMAP_I2C help If you say yes here you get support for INA219, INA220, INA226, INA230, and INA231 power monitor chips. The INA2xx driver is configured for the default configuration of the part as described in the datasheet. Default value for Rshunt is 10 mOhms. This driver can also be built as a module. If so, the module will be called ina2xx. config SENSORS_INA3221 tristate "Texas Instruments INA3221 Triple Power Monitor" depends on I2C select REGMAP_I2C help If you say yes here you get support for the TI INA3221 Triple Power Monitor. This driver can also be built as a module. If so, the module will be called ina3221. config SENSORS_TC74 tristate "Microchip TC74" depends on I2C help If you say yes here you get support for Microchip TC74 single input temperature sensor chips. This driver can also be built as a module. If so, the module will be called tc74. config SENSORS_THMC50 tristate "Texas Instruments THMC50 / Analog Devices ADM1022" depends on I2C help If you say yes here you get support for Texas Instruments THMC50 sensor chips and clones: the Analog Devices ADM1022. This driver can also be built as a module. If so, the module will be called thmc50. config SENSORS_TMP102 tristate "Texas Instruments TMP102" depends on I2C select REGMAP_I2C help If you say yes here you get support for Texas Instruments TMP102 sensor chips. This driver can also be built as a module. If so, the module will be called tmp102. config SENSORS_TMP103 tristate "Texas Instruments TMP103" depends on I2C select REGMAP_I2C help If you say yes here you get support for Texas Instruments TMP103 sensor chips. This driver can also be built as a module. If so, the module will be called tmp103. config SENSORS_TMP108 tristate "Texas Instruments TMP108" depends on I2C select REGMAP_I2C help If you say yes here you get support for Texas Instruments TMP108 sensor chips. This driver can also be built as a module. If so, the module will be called tmp108. config SENSORS_TMP401 tristate "Texas Instruments TMP401 and compatibles" depends on I2C help If you say yes here you get support for Texas Instruments TMP401, TMP411, TMP431, TMP432, TMP435, and TMP461 temperature sensor chips. This driver can also be built as a module. If so, the module will be called tmp401. config SENSORS_TMP421 tristate "Texas Instruments TMP421 and compatible" depends on I2C help If you say yes here you get support for Texas Instruments TMP421, TMP422, TMP423, TMP441, and TMP442 temperature sensor chips. This driver can also be built as a module. If so, the module will be called tmp421. config SENSORS_VEXPRESS tristate "Versatile Express" depends on VEXPRESS_CONFIG help This driver provides support for hardware sensors available on the ARM Ltd's Versatile Express platform. It can provide wide range of information like temperature, power, energy. config SENSORS_VIA_CPUTEMP tristate "VIA CPU temperature sensor" depends on X86 select HWMON_VID help If you say yes here you get support for the temperature sensor inside your CPU. Supported are all known variants of the VIA C7 and Nano. config SENSORS_VIA686A tristate "VIA686A" depends on PCI help If you say yes here you get support for the integrated sensors in Via 686A/B South Bridges. This driver can also be built as a module. If so, the module will be called via686a. config SENSORS_VT1211 tristate "VIA VT1211" depends on !PPC select HWMON_VID help If you say yes here then you get support for hardware monitoring features of the VIA VT1211 Super-I/O chip. This driver can also be built as a module. If so, the module will be called vt1211. config SENSORS_VT8231 tristate "VIA VT8231" depends on PCI select HWMON_VID help If you say yes here then you get support for the integrated sensors in the VIA VT8231 device. This driver can also be built as a module. If so, the module will be called vt8231. config SENSORS_W83773G tristate "Nuvoton W83773G" depends on I2C select REGMAP_I2C help If you say yes here you get support for the Nuvoton W83773G hardware monitoring chip. This driver can also be built as a module. If so, the module will be called w83773g. config SENSORS_W83781D tristate "Winbond W83781D, W83782D, W83783S, Asus AS99127F" depends on I2C select HWMON_VID help If you say yes here you get support for the Winbond W8378x series of sensor chips: the W83781D, W83782D and W83783S, and the similar Asus AS99127F. This driver can also be built as a module. If so, the module will be called w83781d. config SENSORS_W83791D tristate "Winbond W83791D" depends on I2C select HWMON_VID help If you say yes here you get support for the Winbond W83791D chip. This driver can also be built as a module. If so, the module will be called w83791d. config SENSORS_W83792D tristate "Winbond W83792D" depends on I2C help If you say yes here you get support for the Winbond W83792D chip. This driver can also be built as a module. If so, the module will be called w83792d. config SENSORS_W83793 tristate "Winbond W83793" depends on I2C select HWMON_VID help If you say yes here you get support for the Winbond W83793 hardware monitoring chip, including support for the integrated watchdog. This driver can also be built as a module. If so, the module will be called w83793. config SENSORS_W83795 tristate "Winbond/Nuvoton W83795G/ADG" depends on I2C help If you say yes here you get support for the Winbond W83795G and W83795ADG hardware monitoring chip, including manual fan speed control. This driver can also be built as a module. If so, the module will be called w83795. config SENSORS_W83795_FANCTRL bool "Include automatic fan control support" depends on SENSORS_W83795 help If you say yes here, support for automatic fan speed control will be included in the driver. Please also note that this option will create sysfs attribute files which may change in the future, so you shouldn't rely on them being stable. config SENSORS_W83L785TS tristate "Winbond W83L785TS-S" depends on I2C help If you say yes here you get support for the Winbond W83L785TS-S sensor chip, which is used on the Asus A7N8X, among other motherboards. This driver can also be built as a module. If so, the module will be called w83l785ts. config SENSORS_W83L786NG tristate "Winbond W83L786NG, W83L786NR" depends on I2C help If you say yes here you get support for the Winbond W83L786NG and W83L786NR sensor chips. This driver can also be built as a module. If so, the module will be called w83l786ng. config SENSORS_W83627HF tristate "Winbond W83627HF, W83627THF, W83637HF, W83687THF, W83697HF" depends on !PPC select HWMON_VID help If you say yes here you get support for the Winbond W836X7 series of sensor chips: the W83627HF, W83627THF, W83637HF, W83687THF and W83697HF. This driver can also be built as a module. If so, the module will be called w83627hf. config SENSORS_W83627EHF tristate "Winbond W83627EHF/EHG/DHG/UHG, W83667HG, NCT6775F, NCT6776F" depends on !PPC select HWMON_VID help If you say yes here you get support for the hardware monitoring functionality of the Winbond W83627EHF Super-I/O chip. This driver also supports the W83627EHG, which is the lead-free version of the W83627EHF, and the W83627DHG, which is a similar chip suited for specific Intel processors that use PECI such as the Core 2 Duo. And also the W83627UHG, which is a stripped down version of the W83627DHG (as far as hardware monitoring goes.) This driver also supports Nuvoton W83667HG, W83667HG-B, NCT6775F (also known as W83667HG-I), and NCT6776F. This driver can also be built as a module. If so, the module will be called w83627ehf. config SENSORS_WM831X tristate "WM831x PMICs" depends on MFD_WM831X help If you say yes here you get support for the hardware monitoring functionality of the Wolfson Microelectronics WM831x series of PMICs. This driver can also be built as a module. If so, the module will be called wm831x-hwmon. config SENSORS_WM8350 tristate "Wolfson Microelectronics WM835x" depends on MFD_WM8350 help If you say yes here you get support for the hardware monitoring features of the WM835x series of PMICs. This driver can also be built as a module. If so, the module will be called wm8350-hwmon. config SENSORS_ULTRA45 tristate "Sun Ultra45 PIC16F747" depends on SPARC64 help This driver provides support for the Ultra45 workstation environmental sensors. config SENSORS_XGENE tristate "APM X-Gene SoC hardware monitoring driver" depends on XGENE_SLIMPRO_MBOX || PCC help If you say yes here you get support for the temperature and power sensors for APM X-Gene SoC. config SENSORS_AHC1EC0_HWMON tristate "Advantech AHC1EC0 Hardware Monitor Function" depends on MFD_AHC1EC0 depends on UBUNTU_ODM_DRIVERS help This driver provide support for the hardware monitoring functionality for Advantech AHC1EC0 embedded controller on the board. This driver provides the sysfs attributes for applications to monitor the system status, including system temperatures, voltages, current. if ACPI comment "ACPI drivers" config SENSORS_ACPI_POWER tristate "ACPI 4.0 power meter" help This driver exposes ACPI 4.0 power meters as hardware monitoring devices. Say Y (or M) if you have a computer with ACPI 4.0 firmware and a power meter. To compile this driver as a module, choose M here: the module will be called acpi_power_meter. config SENSORS_ATK0110 tristate "ASUS ATK0110" depends on X86 help If you say yes here you get support for the ACPI hardware monitoring interface found in many ASUS motherboards. This driver will provide readings of fans, voltages and temperatures through the system firmware. This driver can also be built as a module. If so, the module will be called asus_atk0110. endif # ACPI endif # HWMON hwmon/occ/Kconfig 0000644 00000002330 14722053667 0007755 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # On-Chip Controller configuration # config SENSORS_OCC_P8_I2C tristate "POWER8 OCC through I2C" depends on I2C depends on ARM || ARM64 || COMPILE_TEST select SENSORS_OCC help This option enables support for monitoring sensors provided by the On-Chip Controller (OCC) on a POWER8 processor. However, this driver can only run on a baseboard management controller (BMC) connected to the P8, not the POWER processor itself. Communications with the OCC are established through I2C bus. This driver can also be built as a module. If so, the module will be called occ-p8-hwmon. config SENSORS_OCC_P9_SBE tristate "POWER9 OCC through SBE" depends on FSI_OCC depends on ARM || ARM64 || COMPILE_TEST select SENSORS_OCC help This option enables support for monitoring sensors provided by the On-Chip Controller (OCC) on a POWER9 processor. However, this driver can only run on a baseboard management controller (BMC) connected to the P9, not the POWER processor itself. Communications with the OCC are established through SBE fifo on an FSI bus. This driver can also be built as a module. If so, the module will be called occ-p9-hwmon. config SENSORS_OCC tristate hwmon/occ/Makefile 0000644 00000000445 14722053667 0010117 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only occ-hwmon-common-objs := common.o sysfs.o occ-p8-hwmon-objs := p8_i2c.o occ-p9-hwmon-objs := p9_sbe.o obj-$(CONFIG_SENSORS_OCC) += occ-hwmon-common.o obj-$(CONFIG_SENSORS_OCC_P8_I2C) += occ-p8-hwmon.o obj-$(CONFIG_SENSORS_OCC_P9_SBE) += occ-p9-hwmon.o hwmon/Makefile 0000644 00000016767 14722053667 0007371 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for sensor chip drivers. # obj-$(CONFIG_HWMON) += hwmon.o obj-$(CONFIG_HWMON_VID) += hwmon-vid.o # APCI drivers obj-$(CONFIG_SENSORS_ACPI_POWER) += acpi_power_meter.o obj-$(CONFIG_SENSORS_ATK0110) += asus_atk0110.o # Native drivers # asb100, then w83781d go first, as they can override other drivers' addresses. obj-$(CONFIG_SENSORS_ASB100) += asb100.o obj-$(CONFIG_SENSORS_W83627HF) += w83627hf.o obj-$(CONFIG_SENSORS_W83773G) += w83773g.o obj-$(CONFIG_SENSORS_W83792D) += w83792d.o obj-$(CONFIG_SENSORS_W83793) += w83793.o obj-$(CONFIG_SENSORS_W83795) += w83795.o obj-$(CONFIG_SENSORS_W83781D) += w83781d.o obj-$(CONFIG_SENSORS_W83791D) += w83791d.o obj-$(CONFIG_SENSORS_AB8500) += abx500.o ab8500.o obj-$(CONFIG_SENSORS_ABITUGURU) += abituguru.o obj-$(CONFIG_SENSORS_ABITUGURU3)+= abituguru3.o obj-$(CONFIG_SENSORS_AD7314) += ad7314.o obj-$(CONFIG_SENSORS_AD7414) += ad7414.o obj-$(CONFIG_SENSORS_AD7418) += ad7418.o obj-$(CONFIG_SENSORS_ADC128D818) += adc128d818.o obj-$(CONFIG_SENSORS_ADCXX) += adcxx.o obj-$(CONFIG_SENSORS_ADM1021) += adm1021.o obj-$(CONFIG_SENSORS_ADM1025) += adm1025.o obj-$(CONFIG_SENSORS_ADM1026) += adm1026.o obj-$(CONFIG_SENSORS_ADM1029) += adm1029.o obj-$(CONFIG_SENSORS_ADM1031) += adm1031.o obj-$(CONFIG_SENSORS_ADM9240) += adm9240.o obj-$(CONFIG_SENSORS_ADS7828) += ads7828.o obj-$(CONFIG_SENSORS_ADS7871) += ads7871.o obj-$(CONFIG_SENSORS_ADT7X10) += adt7x10.o obj-$(CONFIG_SENSORS_ADT7310) += adt7310.o obj-$(CONFIG_SENSORS_ADT7410) += adt7410.o obj-$(CONFIG_SENSORS_ADT7411) += adt7411.o obj-$(CONFIG_SENSORS_ADT7462) += adt7462.o obj-$(CONFIG_SENSORS_ADT7470) += adt7470.o obj-$(CONFIG_SENSORS_ADT7475) += adt7475.o obj-$(CONFIG_SENSORS_AHC1EC0_HWMON) += ahc1ec0-hwmon.o obj-$(CONFIG_SENSORS_APPLESMC) += applesmc.o obj-$(CONFIG_SENSORS_ARM_SCMI) += scmi-hwmon.o obj-$(CONFIG_SENSORS_ARM_SCPI) += scpi-hwmon.o obj-$(CONFIG_SENSORS_AS370) += as370-hwmon.o obj-$(CONFIG_SENSORS_ASC7621) += asc7621.o obj-$(CONFIG_SENSORS_ASPEED) += aspeed-pwm-tacho.o obj-$(CONFIG_SENSORS_ATXP1) += atxp1.o obj-$(CONFIG_SENSORS_CORETEMP) += coretemp.o obj-$(CONFIG_SENSORS_DA9052_ADC)+= da9052-hwmon.o obj-$(CONFIG_SENSORS_DA9055)+= da9055-hwmon.o obj-$(CONFIG_SENSORS_DELL_SMM) += dell-smm-hwmon.o obj-$(CONFIG_SENSORS_DME1737) += dme1737.o obj-$(CONFIG_SENSORS_DS620) += ds620.o obj-$(CONFIG_SENSORS_DS1621) += ds1621.o obj-$(CONFIG_SENSORS_EMC1403) += emc1403.o obj-$(CONFIG_SENSORS_EMC2103) += emc2103.o obj-$(CONFIG_SENSORS_EMC6W201) += emc6w201.o obj-$(CONFIG_SENSORS_F71805F) += f71805f.o obj-$(CONFIG_SENSORS_F71882FG) += f71882fg.o obj-$(CONFIG_SENSORS_F75375S) += f75375s.o obj-$(CONFIG_SENSORS_FAM15H_POWER) += fam15h_power.o obj-$(CONFIG_SENSORS_FSCHMD) += fschmd.o obj-$(CONFIG_SENSORS_FTSTEUTATES) += ftsteutates.o obj-$(CONFIG_SENSORS_G760A) += g760a.o obj-$(CONFIG_SENSORS_G762) += g762.o obj-$(CONFIG_SENSORS_GL518SM) += gl518sm.o obj-$(CONFIG_SENSORS_GL520SM) += gl520sm.o obj-$(CONFIG_SENSORS_GPIO_FAN) += gpio-fan.o obj-$(CONFIG_SENSORS_HIH6130) += hih6130.o obj-$(CONFIG_SENSORS_ULTRA45) += ultra45_env.o obj-$(CONFIG_SENSORS_I5500) += i5500_temp.o obj-$(CONFIG_SENSORS_I5K_AMB) += i5k_amb.o obj-$(CONFIG_SENSORS_IBMAEM) += ibmaem.o obj-$(CONFIG_SENSORS_IBMPEX) += ibmpex.o obj-$(CONFIG_SENSORS_IBMPOWERNV)+= ibmpowernv.o obj-$(CONFIG_SENSORS_IIO_HWMON) += iio_hwmon.o obj-$(CONFIG_SENSORS_INA209) += ina209.o obj-$(CONFIG_SENSORS_INA2XX) += ina2xx.o obj-$(CONFIG_SENSORS_INA3221) += ina3221.o obj-$(CONFIG_SENSORS_IT87) += it87.o obj-$(CONFIG_SENSORS_JC42) += jc42.o obj-$(CONFIG_SENSORS_K8TEMP) += k8temp.o obj-$(CONFIG_SENSORS_K10TEMP) += k10temp.o obj-$(CONFIG_SENSORS_LINEAGE) += lineage-pem.o obj-$(CONFIG_SENSORS_LOCHNAGAR) += lochnagar-hwmon.o obj-$(CONFIG_SENSORS_LM63) += lm63.o obj-$(CONFIG_SENSORS_LM70) += lm70.o obj-$(CONFIG_SENSORS_LM73) += lm73.o obj-$(CONFIG_SENSORS_LM75) += lm75.o obj-$(CONFIG_SENSORS_LM77) += lm77.o obj-$(CONFIG_SENSORS_LM78) += lm78.o obj-$(CONFIG_SENSORS_LM80) += lm80.o obj-$(CONFIG_SENSORS_LM83) += lm83.o obj-$(CONFIG_SENSORS_LM85) += lm85.o obj-$(CONFIG_SENSORS_LM87) += lm87.o obj-$(CONFIG_SENSORS_LM90) += lm90.o obj-$(CONFIG_SENSORS_LM92) += lm92.o obj-$(CONFIG_SENSORS_LM93) += lm93.o obj-$(CONFIG_SENSORS_LM95234) += lm95234.o obj-$(CONFIG_SENSORS_LM95241) += lm95241.o obj-$(CONFIG_SENSORS_LM95245) += lm95245.o obj-$(CONFIG_SENSORS_LTC2945) += ltc2945.o obj-$(CONFIG_SENSORS_LTC2990) += ltc2990.o obj-$(CONFIG_SENSORS_LTC4151) += ltc4151.o obj-$(CONFIG_SENSORS_LTC4215) += ltc4215.o obj-$(CONFIG_SENSORS_LTC4222) += ltc4222.o obj-$(CONFIG_SENSORS_LTC4245) += ltc4245.o obj-$(CONFIG_SENSORS_LTC4260) += ltc4260.o obj-$(CONFIG_SENSORS_LTC4261) += ltc4261.o obj-$(CONFIG_SENSORS_LTQ_CPUTEMP) += ltq-cputemp.o obj-$(CONFIG_SENSORS_MAX1111) += max1111.o obj-$(CONFIG_SENSORS_MAX16065) += max16065.o obj-$(CONFIG_SENSORS_MAX1619) += max1619.o obj-$(CONFIG_SENSORS_MAX1668) += max1668.o obj-$(CONFIG_SENSORS_MAX197) += max197.o obj-$(CONFIG_SENSORS_MAX31722) += max31722.o obj-$(CONFIG_SENSORS_MAX6621) += max6621.o obj-$(CONFIG_SENSORS_MAX6639) += max6639.o obj-$(CONFIG_SENSORS_MAX6642) += max6642.o obj-$(CONFIG_SENSORS_MAX6650) += max6650.o obj-$(CONFIG_SENSORS_MAX6697) += max6697.o obj-$(CONFIG_SENSORS_MAX31790) += max31790.o obj-$(CONFIG_SENSORS_MC13783_ADC)+= mc13783-adc.o obj-$(CONFIG_SENSORS_MCP3021) += mcp3021.o obj-$(CONFIG_SENSORS_TC654) += tc654.o obj-$(CONFIG_SENSORS_MLXREG_FAN) += mlxreg-fan.o obj-$(CONFIG_SENSORS_MENF21BMC_HWMON) += menf21bmc_hwmon.o obj-$(CONFIG_SENSORS_NCT6683) += nct6683.o obj-$(CONFIG_SENSORS_NCT6775) += nct6775.o obj-$(CONFIG_SENSORS_NCT7802) += nct7802.o obj-$(CONFIG_SENSORS_NCT7904) += nct7904.o obj-$(CONFIG_SENSORS_NPCM7XX) += npcm750-pwm-fan.o obj-$(CONFIG_SENSORS_NSA320) += nsa320-hwmon.o obj-$(CONFIG_SENSORS_NTC_THERMISTOR) += ntc_thermistor.o obj-$(CONFIG_SENSORS_PC87360) += pc87360.o obj-$(CONFIG_SENSORS_PC87427) += pc87427.o obj-$(CONFIG_SENSORS_PCF8591) += pcf8591.o obj-$(CONFIG_SENSORS_POWR1220) += powr1220.o obj-$(CONFIG_SENSORS_PWM_FAN) += pwm-fan.o obj-$(CONFIG_SENSORS_RASPBERRYPI_HWMON) += raspberrypi-hwmon.o obj-$(CONFIG_SENSORS_S3C) += s3c-hwmon.o obj-$(CONFIG_SENSORS_SCH56XX_COMMON)+= sch56xx-common.o obj-$(CONFIG_SENSORS_SCH5627) += sch5627.o obj-$(CONFIG_SENSORS_SCH5636) += sch5636.o obj-$(CONFIG_SENSORS_SHT15) += sht15.o obj-$(CONFIG_SENSORS_SHT21) += sht21.o obj-$(CONFIG_SENSORS_SHT3x) += sht3x.o obj-$(CONFIG_SENSORS_SHTC1) += shtc1.o obj-$(CONFIG_SENSORS_SIS5595) += sis5595.o obj-$(CONFIG_SENSORS_SMM665) += smm665.o obj-$(CONFIG_SENSORS_SMSC47B397)+= smsc47b397.o obj-$(CONFIG_SENSORS_SMSC47M1) += smsc47m1.o obj-$(CONFIG_SENSORS_SMSC47M192)+= smsc47m192.o obj-$(CONFIG_SENSORS_STTS751) += stts751.o obj-$(CONFIG_SENSORS_AMC6821) += amc6821.o obj-$(CONFIG_SENSORS_TC74) += tc74.o obj-$(CONFIG_SENSORS_THMC50) += thmc50.o obj-$(CONFIG_SENSORS_TMP102) += tmp102.o obj-$(CONFIG_SENSORS_TMP103) += tmp103.o obj-$(CONFIG_SENSORS_TMP108) += tmp108.o obj-$(CONFIG_SENSORS_TMP401) += tmp401.o obj-$(CONFIG_SENSORS_TMP421) += tmp421.o obj-$(CONFIG_SENSORS_VEXPRESS) += vexpress-hwmon.o obj-$(CONFIG_SENSORS_VIA_CPUTEMP)+= via-cputemp.o obj-$(CONFIG_SENSORS_VIA686A) += via686a.o obj-$(CONFIG_SENSORS_VT1211) += vt1211.o obj-$(CONFIG_SENSORS_VT8231) += vt8231.o obj-$(CONFIG_SENSORS_W83627EHF) += w83627ehf.o obj-$(CONFIG_SENSORS_W83L785TS) += w83l785ts.o obj-$(CONFIG_SENSORS_W83L786NG) += w83l786ng.o obj-$(CONFIG_SENSORS_WM831X) += wm831x-hwmon.o obj-$(CONFIG_SENSORS_WM8350) += wm8350-hwmon.o obj-$(CONFIG_SENSORS_XGENE) += xgene-hwmon.o obj-$(CONFIG_SENSORS_OCC) += occ/ obj-$(CONFIG_PMBUS) += pmbus/ ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG parisc/Kconfig 0000644 00000011240 14722053667 0007342 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only menu "Bus options (PCI, PCMCIA, EISA, GSC, ISA)" config GSC bool "VSC/GSC/HSC bus support" select HAVE_EISA default y help The VSC, GSC and HSC busses were used from the earliest 700-series workstations up to and including the C360/J2240 workstations. They were also used in servers from the E-class to the K-class. They are not found in B1000, C3000, J5000, A500, L1000, N4000 and upwards. If in doubt, say "Y". config HPPB bool "HP-PB bus support" depends on GSC help The HP-PB bus was used in the Nova class and K-class servers. If in doubt, say "Y" config IOMMU_CCIO bool "U2/Uturn I/O MMU" depends on GSC help Say Y here to enable DMA management routines for the first generation of PA-RISC cache-coherent machines. Programs the U2/Uturn chip in "Virtual Mode" and use the I/O MMU. config GSC_LASI bool "Lasi I/O support" depends on GSC help Say Y here to support the Lasi multifunction chip found in many PA-RISC workstations & servers. It includes interfaces for a parallel port, serial port, NCR 53c710 SCSI, Apricot Ethernet, Harmony audio, PS/2 keyboard & mouse, ISDN, telephony and floppy. Note that you must still enable all the individual drivers for these chips. config GSC_WAX bool "Wax I/O support" depends on GSC help Say Y here to support the Wax multifunction chip found in some older systems, including B/C/D/R class and 715/64, 715/80 and 715/100. Wax includes an EISA adapter, a serial port (not always used), a HIL interface chip and is also known to be used as the GSC bridge for an X.25 GSC card. config ISA bool "ISA support" depends on EISA help If you want to plug an ISA card into your EISA bus, say Y here. Most people should say N. config GSC_DINO bool "GSCtoPCI/Dino PCI support" depends on PCI && GSC help Say Y here to support the Dino & Cujo GSC to PCI bridges found in machines from the B132 to the C360, the J2240 and the A180. Some GSC/HSC cards (eg gigabit & dual 100 Mbit Ethernet) have a Dino on the card, and you also need to say Y here if you have such a card. Note that Dino also supplies one of the serial ports on certain machines. If in doubt, say Y. config PCI_LBA bool "LBA/Elroy PCI support" depends on PCI help Say Y here to support the Elroy PCI Lower Bus Adapter. This is present on B, C, J, L and N-class machines with 4-digit model numbers and the A400/A500. config IOSAPIC bool depends on PCI_LBA default PCI_LBA config IOMMU_SBA bool depends on PCI_LBA default PCI_LBA endmenu menu "PA-RISC specific drivers" config SUPERIO bool "SuperIO (SuckyIO) support" depends on PCI_LBA default y help Say Y here to support the SuperIO chip found in Bxxxx, C3xxx and J5xxx+ machines. This enables IDE, Floppy, Parallel Port, and Serial port on those machines. config CHASSIS_LCD_LED bool "Chassis LCD and LED support" default y select VM_EVENT_COUNTERS help Say Y here if you want to enable support for the Heartbeat, Disk/Network activities LEDs on some PA-RISC machines, or support for the LCD that can be found on recent material. This has nothing to do with LED State support for A and E class. If unsure, say Y. config PDC_CHASSIS bool "PDC chassis state codes support" default y help Say Y here if you want to enable support for Chassis codes. That includes support for LED State front panel as found on E class, and support for the GSP Virtual Front Panel (LED State and message logging) as found on high end servers such as A, L and N-class. This driver will also display progress messages on LCD display, such as "INI", "RUN" and "FLT", and might thus clobber messages shown by the LED/LCD driver. This driver updates the state panel (LED and/or LCD) upon system state change (eg: boot, shutdown or panic). If unsure, say Y. config PDC_CHASSIS_WARN bool "PDC chassis warnings support" depends on PROC_FS default y help Say Y here if you want to enable support for Chassis warnings. This will add a proc entry '/proc/chassis' giving some information about the overall health state of the system. This includes NVRAM battery level, overtemp or failures such as fans or power units. If unsure, say Y. config PDC_STABLE tristate "PDC Stable Storage support" depends on SYSFS default y help Say Y here if you want to enable support for accessing Stable Storage variables (PDC non volatile variables such as Primary Boot Path, Console Path, Autoboot, Autosearch, etc) through SysFS. If unsure, say Y. To compile this driver as a module, choose M here. The module will be called pdc_stable. endmenu parisc/Makefile 0000644 00000001314 14722053667 0007500 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for most of the non-PCI devices in PA-RISC machines # # I/O SAPIC is also on IA64 platforms. # The two could be merged into a common source some day. obj-$(CONFIG_IOSAPIC) += iosapic.o obj-$(CONFIG_IOMMU_SBA) += sba_iommu.o obj-$(CONFIG_PCI_LBA) += lba_pci.o obj-$(CONFIG_IOMMU_CCIO) += ccio-dma.o obj-$(CONFIG_GSC) += gsc.o obj-$(CONFIG_HPPB) += hppb.o obj-$(CONFIG_GSC_DINO) += dino.o obj-$(CONFIG_GSC_LASI) += lasi.o asp.o obj-$(CONFIG_GSC_WAX) += wax.o obj-$(CONFIG_EISA) += eisa.o eisa_enumerator.o eisa_eeprom.o obj-$(CONFIG_SUPERIO) += superio.o obj-$(CONFIG_CHASSIS_LCD_LED) += led.o obj-$(CONFIG_PDC_STABLE) += pdc_stable.o obj-y += power.o ptp/Kconfig 0000644 00000010031 14722053667 0006661 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # PTP clock support configuration # menu "PTP clock support" config PTP_1588_CLOCK tristate "PTP clock support" depends on NET && POSIX_TIMERS select PPS select NET_PTP_CLASSIFY help The IEEE 1588 standard defines a method to precisely synchronize distributed clocks over Ethernet networks. The standard defines a Precision Time Protocol (PTP), which can be used to achieve synchronization within a few dozen microseconds. In addition, with the help of special hardware time stamping units, it can be possible to achieve synchronization to within a few hundred nanoseconds. This driver adds support for PTP clocks as character devices. If you want to use a PTP clock, then you should also enable at least one clock driver as well. To compile this driver as a module, choose M here: the module will be called ptp. config PTP_1588_CLOCK_DTE tristate "Broadcom DTE as PTP clock" depends on PTP_1588_CLOCK depends on NET && HAS_IOMEM depends on ARCH_BCM_MOBILE || (ARCH_BCM_IPROC && !(ARCH_BCM_NSP || ARCH_BCM_5301X)) || COMPILE_TEST default y help This driver adds support for using the Digital timing engine (DTE) in the Broadcom SoC's as a PTP clock. The clock can be used in both wired and wireless networks for PTP purposes. To compile this driver as a module, choose M here: the module will be called ptp_dte. config PTP_1588_CLOCK_QORIQ tristate "Freescale QorIQ 1588 timer as PTP clock" depends on GIANFAR || FSL_DPAA_ETH || FSL_DPAA2_ETH || FSL_ENETC || FSL_ENETC_VF || COMPILE_TEST depends on PTP_1588_CLOCK default y help This driver adds support for using the Freescale QorIQ 1588 timer as a PTP clock. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. To compile this driver as a module, choose M here: the module will be called ptp-qoriq. config PTP_1588_CLOCK_IXP46X tristate "Intel IXP46x as PTP clock" depends on IXP4XX_ETH depends on PTP_1588_CLOCK default y help This driver adds support for using the IXP46X as a PTP clock. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. To compile this driver as a module, choose M here: the module will be called ptp_ixp46x. comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks." depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n config DP83640_PHY tristate "Driver for the National Semiconductor DP83640 PHYTER" depends on NETWORK_PHY_TIMESTAMPING depends on PHYLIB depends on PTP_1588_CLOCK ---help--- Supports the DP83640 PHYTER with IEEE 1588 features. This driver adds support for using the DP83640 as a PTP clock. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. In order for this to work, your MAC driver must also implement the skb_tx_timestamp() function. config PTP_1588_CLOCK_PCH tristate "Intel PCH EG20T as PTP clock" depends on X86_32 || COMPILE_TEST depends on HAS_IOMEM && PCI depends on NET imply PTP_1588_CLOCK help This driver adds support for using the PCH EG20T as a PTP clock. The hardware supports time stamping of PTP packets when using the end-to-end delay (E2E) mechanism. The peer delay mechanism (P2P) is not supported. This clock is only useful if your PTP programs are getting hardware time stamps on the PTP Ethernet packets using the SO_TIMESTAMPING API. To compile this driver as a module, choose M here: the module will be called ptp_pch. config PTP_1588_CLOCK_KVM tristate "KVM virtual PTP clock" depends on PTP_1588_CLOCK depends on KVM_GUEST && X86 default y help This driver adds support for using kvm infrastructure as a PTP clock. This clock is only useful if you are using KVM guests. To compile this driver as a module, choose M here: the module will be called ptp_kvm. endmenu ptp/Makefile 0000644 00000000754 14722053667 0007031 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for PTP 1588 clock support. # ptp-y := ptp_clock.o ptp_chardev.o ptp_sysfs.o obj-$(CONFIG_PTP_1588_CLOCK) += ptp.o obj-$(CONFIG_PTP_1588_CLOCK_DTE) += ptp_dte.o obj-$(CONFIG_PTP_1588_CLOCK_IXP46X) += ptp_ixp46x.o obj-$(CONFIG_PTP_1588_CLOCK_PCH) += ptp_pch.o obj-$(CONFIG_PTP_1588_CLOCK_KVM) += ptp_kvm.o obj-$(CONFIG_PTP_1588_CLOCK_QORIQ) += ptp-qoriq.o ptp-qoriq-y += ptp_qoriq.o ptp-qoriq-$(CONFIG_DEBUG_FS) += ptp_qoriq_debugfs.o hwspinlock/Kconfig 0000644 00000003446 14722053667 0010253 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Generic HWSPINLOCK framework # menuconfig HWSPINLOCK bool "Hardware Spinlock drivers" config HWSPINLOCK_OMAP tristate "OMAP Hardware Spinlock device" depends on HWSPINLOCK depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX || SOC_AM33XX || SOC_AM43XX || ARCH_K3 help Say y here to support the OMAP Hardware Spinlock device (firstly introduced in OMAP4). If unsure, say N. config HWSPINLOCK_QCOM tristate "Qualcomm Hardware Spinlock device" depends on HWSPINLOCK depends on ARCH_QCOM select MFD_SYSCON help Say y here to support the Qualcomm Hardware Mutex functionality, which provides a synchronisation mechanism for the various processors on the SoC. If unsure, say N. config HWSPINLOCK_SIRF tristate "SIRF Hardware Spinlock device" depends on HWSPINLOCK depends on ARCH_SIRF help Say y here to support the SIRF Hardware Spinlock device, which provides a synchronisation mechanism for the various processors on the SoC. It's safe to say n here if you're not interested in SIRF hardware spinlock or just want a bare minimum kernel. config HWSPINLOCK_SPRD tristate "SPRD Hardware Spinlock device" depends on ARCH_SPRD depends on HWSPINLOCK help Say y here to support the SPRD Hardware Spinlock device. If unsure, say N. config HWSPINLOCK_STM32 tristate "STM32 Hardware Spinlock device" depends on MACH_STM32MP157 depends on HWSPINLOCK help Say y here to support the STM32 Hardware Spinlock device. If unsure, say N. config HSEM_U8500 tristate "STE Hardware Semaphore functionality" depends on HWSPINLOCK depends on ARCH_U8500 help Say y here to support the STE Hardware Semaphore functionality, which provides a synchronisation mechanism for the various processor on the SoC. If unsure, say N. hwspinlock/Makefile 0000644 00000000655 14722053667 0010407 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Generic Hardware Spinlock framework # obj-$(CONFIG_HWSPINLOCK) += hwspinlock_core.o obj-$(CONFIG_HWSPINLOCK_OMAP) += omap_hwspinlock.o obj-$(CONFIG_HWSPINLOCK_QCOM) += qcom_hwspinlock.o obj-$(CONFIG_HWSPINLOCK_SIRF) += sirf_hwspinlock.o obj-$(CONFIG_HWSPINLOCK_SPRD) += sprd_hwspinlock.o obj-$(CONFIG_HWSPINLOCK_STM32) += stm32_hwspinlock.o obj-$(CONFIG_HSEM_U8500) += u8500_hsem.o pcsp/Makefile 0000644 00000000212 14722073106 0007146 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only snd-pcsp-objs := pcsp.o pcsp_lib.o pcsp_mixer.o pcsp_input.o obj-$(CONFIG_SND_PCSP) += snd-pcsp.o vx/Makefile 0000644 00000000362 14722073106 0006644 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for ALSA # Copyright (c) 2001 by Jaroslav Kysela <perex@perex.cz> # snd-vx-lib-objs := vx_core.o vx_hwdep.o vx_pcm.o vx_mixer.o vx_cmd.o vx_uer.o obj-$(CONFIG_SND_VX_LIB) += snd-vx-lib.o opl3/Makefile 0000644 00000000662 14722073106 0007067 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for ALSA # Copyright (c) 2001 by Jaroslav Kysela <perex@perex.cz> # snd-opl3-lib-objs := opl3_lib.o opl3_synth.o snd-opl3-synth-y := opl3_seq.o opl3_midi.o opl3_drums.o ifneq ($(CONFIG_SND_SEQUENCER_OSS),) snd-opl3-synth-y += opl3_oss.o endif obj-$(CONFIG_SND_OPL3_LIB) += snd-opl3-lib.o obj-$(CONFIG_SND_OPL4_LIB) += snd-opl3-lib.o obj-$(CONFIG_SND_OPL3_LIB_SEQ) += snd-opl3-synth.o mpu401/Makefile 0000644 00000000467 14722073106 0007243 0 ustar 00 # SPDX-License-Identifier: GPL-2.0-only # # Makefile for ALSA # Copyright (c) 2001 by Jaroslav Kysela <perex@perex.cz> # snd-mpu401-objs := mpu401.o snd-mpu401-uart-objs := mpu401_uart.o obj-$(CONFIG_SND_MPU401_UART) += snd-mpu401-uart.o # Toplevel Module Dependency obj-$(CONFIG_SND_MPU401) += snd-mpu401.o opl4/Makefile 0000644 00000000555 14722073106 0007071 0 ustar 00 # SPDX-License-Identifier: GPL-2.0 # # Makefile for ALSA # Copyright (c) 2001 by Jaroslav Kysela <perex@perex.cz> # snd-opl4-lib-objs := opl4_lib.o opl4_mixer.o snd-opl4-lib-$(CONFIG_SND_PROC_FS) += opl4_proc.o snd-opl4-synth-objs := opl4_seq.o opl4_synth.o yrw801.o obj-$(CONFIG_SND_OPL4_LIB) += snd-opl4-lib.o obj-$(CONFIG_SND_OPL4_LIB_SEQ) += snd-opl4-synth.o
| ver. 1.4 |
Github
|
.
| PHP 7.4.3-4ubuntu2.24 | Генерация страницы: 0.95 |
proxy
|
phpinfo
|
Настройка