| # 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_DEBUG | |
| bool "PWM lowlevel drivers additional checks and debug messages" | |
| depends on DEBUG_KERNEL | |
| help | |
| This option enables some additional checks to help lowlevel driver | |
| authors to get their callbacks implemented correctly. | |
| It is expected to introduce some runtime overhead and diagnostic | |
| output to the kernel log, so only enable while working on a driver. | |
| config PWM_PROVIDE_GPIO | |
| bool "Provide a GPIO chip for each PWM chip" | |
| depends on GPIOLIB | |
| help | |
| Most PWMs can emit both a constant active high and a constant active | |
| low signal and so they can be used as GPIO. Say Y here to let each | |
| PWM chip provide a GPIO chip and so be easily plugged into consumers | |
| that know how to handle GPIOs but not PWMs. | |
| 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_ADP5585 | |
| tristate "ADP5585 PWM support" | |
| depends on MFD_ADP5585 | |
| help | |
| This option enables support for the PWM function found in the Analog | |
| Devices ADP5585. | |
| config PWM_AIROHA | |
| tristate "Airoha PWM support" | |
| depends on ARCH_AIROHA || COMPILE_TEST | |
| select REGMAP_MMIO | |
| help | |
| Generic PWM framework driver for Airoha SoC. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-airoha. | |
| config PWM_APPLE | |
| tristate "Apple SoC PWM support" | |
| depends on ARCH_APPLE || COMPILE_TEST | |
| help | |
| Generic PWM framework driver for PWM controller present on | |
| Apple SoCs | |
| Say Y here if you have an ARM Apple laptop, otherwise say N | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-apple. | |
| config PWM_ARGON_FAN_HAT | |
| tristate "Argon40 Fan HAT support" | |
| depends on I2C && OF | |
| help | |
| Generic PWM framework driver for Argon40 Fan HAT. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-argon-fan-hat. | |
| config PWM_ATMEL | |
| tristate "Atmel PWM support" | |
| depends on ARCH_AT91 || COMPILE_TEST | |
| depends on HAS_IOMEM && 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 OF | |
| select REGMAP_MMIO | |
| 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_AXI_PWMGEN | |
| tristate "Analog Devices AXI PWM generator" | |
| depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || COMPILE_TEST | |
| select REGMAP_MMIO | |
| help | |
| This enables support for the Analog Devices AXI PWM generator. | |
| This is a configurable PWM generator with variable pulse width and | |
| period. | |
| To compile this driver as a module, choose M here: the module will be | |
| called pwm-axi-pwmgen. | |
| config PWM_BCM2835 | |
| tristate "BCM2835 PWM support" | |
| depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_BCM_IPROC | |
| tristate "iProc PWM support" | |
| depends on ARCH_BCM_IPROC || COMPILE_TEST | |
| depends on COMMON_CLK && HAS_IOMEM | |
| 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_BERLIN | |
| tristate "Marvell Berlin PWM support" | |
| depends on ARCH_BERLIN || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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 || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_CLK | |
| tristate "Clock based PWM support" | |
| depends on HAVE_CLK || COMPILE_TEST | |
| help | |
| Generic PWM framework driver for outputs that can be | |
| muxed to clocks. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-clk. | |
| 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 | |
| tristate "Intel Crystalcove (CRC) PWM support" | |
| depends on 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_DWC_CORE | |
| tristate | |
| depends on HAS_IOMEM | |
| help | |
| PWM driver for Synopsys DWC PWM Controller. | |
| To compile this driver as a module, build the dependecies as | |
| modules, this will be called pwm-dwc-core. | |
| config PWM_DWC | |
| tristate "DesignWare PWM Controller (PCI bus)" | |
| depends on HAS_IOMEM && PCI | |
| select PWM_DWC_CORE | |
| help | |
| PWM driver for Synopsys DWC PWM Controller attached to a PCI bus. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-dwc. | |
| config PWM_EP93XX | |
| tristate "Cirrus Logic EP93xx PWM support" | |
| depends on ARCH_EP93XX || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_GPIO | |
| tristate "GPIO PWM support" | |
| depends on GPIOLIB | |
| depends on HIGH_RES_TIMERS | |
| help | |
| Generic PWM framework driver for software PWM toggling a GPIO pin | |
| from kernel high-resolution timers. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-gpio. | |
| config PWM_HIBVT | |
| tristate "HiSilicon BVT PWM support" | |
| depends on ARCH_HISI || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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 || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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 || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_INTEL_LGM | |
| tristate "Intel LGM PWM support" | |
| depends on HAS_IOMEM | |
| depends on (OF && X86) || COMPILE_TEST | |
| select REGMAP_MMIO | |
| help | |
| Generic PWM fan controller driver for LGM SoC. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-intel-lgm. | |
| config PWM_IPQ | |
| tristate "IPQ PWM support" | |
| depends on ARCH_QCOM || COMPILE_TEST | |
| depends on HAVE_CLK && HAS_IOMEM | |
| help | |
| Generic PWM framework driver for IPQ PWM block which supports | |
| 4 pwm channels. Each of the these channels can be configured | |
| independent of each other. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-ipq. | |
| config PWM_IQS620A | |
| tristate "Azoteq IQS620A PWM support" | |
| depends on MFD_IQS62X || COMPILE_TEST | |
| help | |
| Generic PWM framework driver for the Azoteq IQS620A multi-function | |
| sensor. | |
| To compile this driver as a module, choose M here: the module will | |
| be called pwm-iqs620a. | |
| config PWM_JZ4740 | |
| tristate "Ingenic JZ47xx PWM support" | |
| depends on MACH_INGENIC || COMPILE_TEST | |
| depends on COMMON_CLK && OF | |
| select MFD_SYSCON | |
| 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_KEEMBAY | |
| tristate "Intel Keem Bay PWM driver" | |
| depends on ARCH_KEEMBAY || COMPILE_TEST | |
| depends on COMMON_CLK && HAS_IOMEM | |
| help | |
| The platform driver for Intel Keem Bay PWM controller. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-keembay. | |
| config PWM_LOONGSON | |
| tristate "Loongson PWM support" | |
| depends on MACH_LOONGSON64 || COMPILE_TEST | |
| depends on COMMON_CLK | |
| help | |
| Generic PWM framework driver for Loongson family. | |
| It can be found on Loongson-2K series cpus and Loongson LS7A | |
| bridge chips. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-loongson. | |
| 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 || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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 || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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 | |
| depends on HAS_IOMEM | |
| tristate | |
| config PWM_LPSS_PCI | |
| tristate "Intel LPSS PWM PCI driver" | |
| depends on X86 || COMPILE_TEST | |
| depends on HAS_IOMEM && 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) || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_MAX7360 | |
| tristate "MAX7360 PWMs" | |
| depends on MFD_MAX7360 | |
| help | |
| PWM driver for Maxim Integrated MAX7360 multifunction device, with | |
| support for up to 8 PWM outputs. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-max7360. | |
| config PWM_MC33XS2410 | |
| tristate "MC33XS2410 PWM support" | |
| depends on OF | |
| depends on SPI | |
| select AUXILIARY_BUS | |
| help | |
| NXP MC33XS2410 high-side switch driver. The MC33XS2410 is a four | |
| channel high-side switch. The device is operational from 3.0 V | |
| to 60 V. The device is controlled by SPI port for configuration. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-mc33xs2410. | |
| config PWM_MEDIATEK | |
| tristate "MediaTek PWM support" | |
| depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_MESON | |
| tristate "Amlogic Meson PWM driver" | |
| depends on ARCH_MESON || COMPILE_TEST | |
| depends on COMMON_CLK && HAS_IOMEM | |
| 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_MICROCHIP_CORE | |
| tristate "Microchip corePWM PWM support" | |
| depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST | |
| depends on HAS_IOMEM && OF | |
| help | |
| PWM driver for Microchip FPGA soft IP core. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-microchip-core. | |
| 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_MXS | |
| tristate "Freescale MXS PWM support" | |
| depends on ARCH_MXS || COMPILE_TEST | |
| depends on HAS_IOMEM && 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_NTXEC | |
| tristate "Netronix embedded controller PWM support" | |
| depends on MFD_NTXEC | |
| help | |
| Say yes here if you want to support the PWM output of the embedded | |
| controller found in certain e-book readers designed by the original | |
| design manufacturer Netronix. | |
| config PWM_OMAP_DMTIMER | |
| tristate "OMAP Dual-Mode Timer PWM support" | |
| depends on OF | |
| depends on OMAP_DM_TIMER || COMPILE_TEST | |
| 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_PXA | |
| tristate "PXA PWM support" | |
| depends on ARCH_PXA || ARCH_MMP || ARCH_SPACEMIT || COMPILE_TEST | |
| depends on HAS_IOMEM && OF | |
| 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_RASPBERRYPI_POE | |
| tristate "Raspberry Pi Firmware PoE Hat PWM support" | |
| # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only | |
| # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. | |
| depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) | |
| help | |
| Enable Raspberry Pi firmware controller PWM bus used to control the | |
| official RPI PoE hat | |
| config PWM_RENESAS_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_RZG2L_GPT | |
| tristate "Renesas RZ/G2L General PWM Timer support" | |
| depends on ARCH_RZG2L || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| help | |
| This driver exposes the General PWM Timer controller found in Renesas | |
| RZ/G2L like chips through the PWM API. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-rzg2l-gpt. | |
| config PWM_RENESAS_RZ_MTU3 | |
| tristate "Renesas RZ/G2L MTU3a PWM Timer support" | |
| depends on RZ_MTU3 | |
| depends on HAS_IOMEM | |
| help | |
| This driver exposes the MTU3a PWM Timer controller found in Renesas | |
| RZ/G2L like chips through the PWM API. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-rz-mtu3. | |
| 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 || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_S5PV210 || ARCH_EXYNOS || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| help | |
| Generic PWM framework driver for Samsung S3C24xx, S3C64xx, S5Pv210 | |
| and Exynos SoCs. | |
| Choose Y here only if you build for such Samsung SoC. | |
| 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 && HAS_IOMEM | |
| depends on ARCH_SIFIVE || 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_SL28CPLD | |
| tristate "Kontron sl28cpld PWM support" | |
| depends on MFD_SL28CPLD || COMPILE_TEST | |
| help | |
| Generic PWM framework driver for board management controller | |
| found on the Kontron sl28 CPLD. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-sl28cpld. | |
| config PWM_SOPHGO_SG2042 | |
| tristate "Sophgo SG2042 PWM support" | |
| depends on ARCH_SOPHGO || COMPILE_TEST | |
| help | |
| PWM driver for the PWM controller on Sophgo SG2042 SoC. The PWM | |
| controller supports outputing 4 channels of PWM waveforms. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm_sophgo_sg2042. | |
| config PWM_SPEAR | |
| tristate "STMicroelectronics SPEAr PWM support" | |
| depends on PLAT_SPEAR || COMPILE_TEST | |
| depends on HAS_IOMEM && 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 || COMPILE_TEST | |
| depends on HAS_IOMEM && 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 || COMPILE_TEST | |
| 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 | |
| tristate "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_SUNPLUS | |
| tristate "Sunplus PWM support" | |
| depends on ARCH_SUNPLUS || COMPILE_TEST | |
| depends on HAS_IOMEM && OF | |
| help | |
| Generic PWM framework driver for the PWM controller on | |
| Sunplus SoCs. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-sunplus. | |
| config PWM_TEGRA | |
| tristate "NVIDIA Tegra PWM support" | |
| depends on ARCH_TEGRA || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_TH1520 | |
| tristate "TH1520 PWM support" | |
| depends on ARCH_THEAD || COMPILE_TEST | |
| depends on RUST | |
| depends on HAS_IOMEM && COMMON_CLK | |
| select RUST_PWM_ABSTRACTIONS | |
| help | |
| This option enables the driver for the PWM controller found on the | |
| T-HEAD TH1520 SoC. | |
| To compile this driver as a module, choose M here; the module | |
| will be called pwm-th1520. If you are unsure, say N. | |
| config PWM_TIECAP | |
| tristate "ECAP PWM support" | |
| depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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 || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_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_VISCONTI | |
| tristate "Toshiba Visconti PWM support" | |
| depends on ARCH_VISCONTI || COMPILE_TEST | |
| help | |
| PWM Subsystem driver support for Toshiba Visconti SoCs. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-visconti. | |
| config PWM_VT8500 | |
| tristate "vt8500 PWM support" | |
| depends on ARCH_VT8500 || COMPILE_TEST | |
| depends on HAS_IOMEM | |
| 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_XILINX | |
| tristate "Xilinx AXI Timer PWM support" | |
| depends on OF_ADDRESS | |
| depends on COMMON_CLK | |
| select REGMAP_MMIO | |
| help | |
| PWM driver for Xilinx LogiCORE IP AXI timers. This timer is | |
| typically a soft core which may be present in Xilinx FPGAs. | |
| This device may also be present in Microblaze soft processors. | |
| If you don't have this IP in your design, choose N. | |
| To compile this driver as a module, choose M here: the module | |
| will be called pwm-xilinx. | |
| config RUST_PWM_ABSTRACTIONS | |
| bool | |
| depends on RUST | |
| help | |
| This option enables the safe Rust abstraction layer for the PWM | |
| subsystem. It provides idiomatic wrappers and traits necessary for | |
| writing PWM controller drivers in Rust. | |
| The abstractions handle resource management (like memory and reference | |
| counting) and provide safe interfaces to the underlying C core, | |
| allowing driver logic to be written in safe Rust. | |
| endif |