1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 20c2498f1SSascha Hauermenuconfig PWM 3b817bf5cSThierry Reding bool "Pulse-Width Modulation (PWM) Support" 40c2498f1SSascha Hauer help 5b817bf5cSThierry Reding Generic Pulse-Width Modulation (PWM) support. 60c2498f1SSascha Hauer 7b817bf5cSThierry Reding In Pulse-Width Modulation, a variation of the width of pulses 8b817bf5cSThierry Reding in a rectangular pulse signal is used as a means to alter the 9b817bf5cSThierry Reding average power of the signal. Applications include efficient 10b817bf5cSThierry Reding power delivery and voltage regulation. In computer systems, 11b817bf5cSThierry Reding PWMs are commonly used to control fans or the brightness of 12b817bf5cSThierry Reding display backlights. 13b817bf5cSThierry Reding 14b817bf5cSThierry Reding This framework provides a generic interface to PWM devices 15b817bf5cSThierry Reding within the Linux kernel. On the driver side it provides an API 16b817bf5cSThierry Reding to register and unregister a PWM chip, an abstraction of a PWM 17b817bf5cSThierry Reding controller, that supports one or more PWM devices. Client 18b817bf5cSThierry Reding drivers can request PWM devices and use the generic framework 19b817bf5cSThierry Reding to configure as well as enable and disable them. 20b817bf5cSThierry Reding 21b817bf5cSThierry Reding This generic framework replaces the legacy PWM framework which 22b817bf5cSThierry Reding allows only a single driver implementing the required API. Not 23b817bf5cSThierry Reding all legacy implementations have been ported to the framework 24b817bf5cSThierry Reding yet. The framework provides an API that is backward compatible 25b817bf5cSThierry Reding with the legacy framework so that existing client drivers 26b817bf5cSThierry Reding continue to work as expected. 27b817bf5cSThierry Reding 28b817bf5cSThierry Reding If unsure, say no. 290c2498f1SSascha Hauer 300c2498f1SSascha Hauerif PWM 310c2498f1SSascha Hauer 323ad1f3a3SUwe Kleine-Königconfig PWM_DEBUG 333ad1f3a3SUwe Kleine-König bool "PWM lowlevel drivers additional checks and debug messages" 343ad1f3a3SUwe Kleine-König depends on DEBUG_KERNEL 353ad1f3a3SUwe Kleine-König help 363ad1f3a3SUwe Kleine-König This option enables some additional checks to help lowlevel driver 373ad1f3a3SUwe Kleine-König authors to get their callbacks implemented correctly. 383ad1f3a3SUwe Kleine-König It is expected to introduce some runtime overhead and diagnostic 393ad1f3a3SUwe Kleine-König output to the kernel log, so only enable while working on a driver. 403ad1f3a3SUwe Kleine-König 41e7c9b66bSUwe Kleine-Königconfig PWM_PROVIDE_GPIO 42e7c9b66bSUwe Kleine-König bool "Provide a GPIO chip for each PWM chip" 43e7c9b66bSUwe Kleine-König depends on GPIOLIB 44e7c9b66bSUwe Kleine-König help 45e7c9b66bSUwe Kleine-König Most PWMs can emit both a constant active high and a constant active 46e7c9b66bSUwe Kleine-König low signal and so they can be used as GPIO. Say Y here to let each 47e7c9b66bSUwe Kleine-König PWM chip provide a GPIO chip and so be easily plugged into consumers 48e7c9b66bSUwe Kleine-König that know how to handle GPIOs but not PWMs. 49e7c9b66bSUwe Kleine-König 506173f8f4SThierry Redingconfig PWM_AB8500 516173f8f4SThierry Reding tristate "AB8500 PWM support" 526173f8f4SThierry Reding depends on AB8500_CORE && ARCH_U8500 536173f8f4SThierry Reding help 546173f8f4SThierry Reding Generic PWM framework driver for Analog Baseband AB8500. 556173f8f4SThierry Reding 566173f8f4SThierry Reding To compile this driver as a module, choose M here: the module 576173f8f4SThierry Reding will be called pwm-ab8500. 586173f8f4SThierry Reding 59e9b50387SClark Wangconfig PWM_ADP5585 60e9b50387SClark Wang tristate "ADP5585 PWM support" 61e9b50387SClark Wang depends on MFD_ADP5585 62e9b50387SClark Wang help 63e9b50387SClark Wang This option enables support for the PWM function found in the Analog 64e9b50387SClark Wang Devices ADP5585. 65e9b50387SClark Wang 66b55bbc28SBenjamin Larssonconfig PWM_AIROHA 67b55bbc28SBenjamin Larsson tristate "Airoha PWM support" 68b55bbc28SBenjamin Larsson depends on ARCH_AIROHA || COMPILE_TEST 69b55bbc28SBenjamin Larsson select REGMAP_MMIO 70b55bbc28SBenjamin Larsson help 71b55bbc28SBenjamin Larsson Generic PWM framework driver for Airoha SoC. 72b55bbc28SBenjamin Larsson 73b55bbc28SBenjamin Larsson To compile this driver as a module, choose M here: the module 74b55bbc28SBenjamin Larsson will be called pwm-airoha. 75b55bbc28SBenjamin Larsson 76bafbbef8SSasha Finkelsteinconfig PWM_APPLE 77bafbbef8SSasha Finkelstein tristate "Apple SoC PWM support" 78bafbbef8SSasha Finkelstein depends on ARCH_APPLE || COMPILE_TEST 79bafbbef8SSasha Finkelstein help 80bafbbef8SSasha Finkelstein Generic PWM framework driver for PWM controller present on 81bafbbef8SSasha Finkelstein Apple SoCs 82bafbbef8SSasha Finkelstein 83bafbbef8SSasha Finkelstein Say Y here if you have an ARM Apple laptop, otherwise say N 84bafbbef8SSasha Finkelstein 85bafbbef8SSasha Finkelstein To compile this driver as a module, choose M here: the module 86bafbbef8SSasha Finkelstein will be called pwm-apple. 87bafbbef8SSasha Finkelstein 880191c80eSMarek Vasutconfig PWM_ARGON_FAN_HAT 890191c80eSMarek Vasut tristate "Argon40 Fan HAT support" 900191c80eSMarek Vasut depends on I2C && OF 910191c80eSMarek Vasut help 920191c80eSMarek Vasut Generic PWM framework driver for Argon40 Fan HAT. 930191c80eSMarek Vasut 940191c80eSMarek Vasut To compile this driver as a module, choose M here: the module 950191c80eSMarek Vasut will be called pwm-argon-fan-hat. 960191c80eSMarek Vasut 9732b16d46SBo Shenconfig PWM_ATMEL 9832b16d46SBo Shen tristate "Atmel PWM support" 99e96c0ff4SKrzysztof Kozlowski depends on ARCH_AT91 || COMPILE_TEST 10071d4b833SUwe Kleine-König depends on HAS_IOMEM && OF 10132b16d46SBo Shen help 10232b16d46SBo Shen Generic PWM framework driver for Atmel SoC. 10332b16d46SBo Shen 10432b16d46SBo Shen To compile this driver as a module, choose M here: the module 10532b16d46SBo Shen will be called pwm-atmel. 10632b16d46SBo Shen 1072b4984beSBoris Brezillonconfig PWM_ATMEL_HLCDC_PWM 1082b4984beSBoris Brezillon tristate "Atmel HLCDC PWM support" 1092b4984beSBoris Brezillon depends on MFD_ATMEL_HLCDC 110d2048c49SThierry Reding depends on HAVE_CLK 1112b4984beSBoris Brezillon help 1122b4984beSBoris Brezillon Generic PWM framework driver for the PWM output of the HLCDC 1132b4984beSBoris Brezillon (Atmel High-end LCD Controller). This PWM output is mainly used 1142b4984beSBoris Brezillon to control the LCD backlight. 1152b4984beSBoris Brezillon 1162b4984beSBoris Brezillon To compile this driver as a module, choose M here: the module 1172b4984beSBoris Brezillon will be called pwm-atmel-hlcdc. 1182b4984beSBoris Brezillon 1199421badeSBoris BREZILLONconfig PWM_ATMEL_TCB 120b133d2a1SThierry Reding tristate "Atmel TC Block PWM support" 121061f8572SAlexandre Belloni depends on OF 122061f8572SAlexandre Belloni select REGMAP_MMIO 1239421badeSBoris BREZILLON help 1249421badeSBoris BREZILLON Generic PWM framework driver for Atmel Timer Counter Block. 1259421badeSBoris BREZILLON 1269421badeSBoris BREZILLON A Timer Counter Block provides 6 PWM devices grouped by 2. 1279421badeSBoris BREZILLON Devices in a given group must have the same period. 1289421badeSBoris BREZILLON 1299421badeSBoris BREZILLON To compile this driver as a module, choose M here: the module 1309421badeSBoris BREZILLON will be called pwm-atmel-tcb. 1319421badeSBoris BREZILLON 13241814fe5SDrew Fustiniconfig PWM_AXI_PWMGEN 13341814fe5SDrew Fustini tristate "Analog Devices AXI PWM generator" 13441814fe5SDrew Fustini depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || COMPILE_TEST 13541814fe5SDrew Fustini select REGMAP_MMIO 13641814fe5SDrew Fustini help 13741814fe5SDrew Fustini This enables support for the Analog Devices AXI PWM generator. 13841814fe5SDrew Fustini 13941814fe5SDrew Fustini This is a configurable PWM generator with variable pulse width and 14041814fe5SDrew Fustini period. 14141814fe5SDrew Fustini 14241814fe5SDrew Fustini To compile this driver as a module, choose M here: the module will be 14341814fe5SDrew Fustini called pwm-axi-pwmgen. 14441814fe5SDrew Fustini 14584e351d8SUwe Kleine-Königconfig PWM_BCM2835 14684e351d8SUwe Kleine-König tristate "BCM2835 PWM support" 14784e351d8SUwe Kleine-König depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST 14884e351d8SUwe Kleine-König depends on HAS_IOMEM 14984e351d8SUwe Kleine-König help 15084e351d8SUwe Kleine-König PWM framework driver for BCM2835 controller (Raspberry Pi) 15184e351d8SUwe Kleine-König 15284e351d8SUwe Kleine-König To compile this driver as a module, choose M here: the module 15384e351d8SUwe Kleine-König will be called pwm-bcm2835. 15484e351d8SUwe Kleine-König 155daa5abc4SYendapally Reddy Dhananjaya Reddyconfig PWM_BCM_IPROC 156daa5abc4SYendapally Reddy Dhananjaya Reddy tristate "iProc PWM support" 1575bf22ff3SScott Branden depends on ARCH_BCM_IPROC || COMPILE_TEST 15871d4b833SUwe Kleine-König depends on COMMON_CLK && HAS_IOMEM 1595bf22ff3SScott Branden default ARCH_BCM_IPROC 160daa5abc4SYendapally Reddy Dhananjaya Reddy help 161daa5abc4SYendapally Reddy Dhananjaya Reddy Generic PWM framework driver for Broadcom iProc PWM block. This 162daa5abc4SYendapally Reddy Dhananjaya Reddy block is used in Broadcom iProc SoC's. 163daa5abc4SYendapally Reddy Dhananjaya Reddy 164daa5abc4SYendapally Reddy Dhananjaya Reddy To compile this driver as a module, choose M here: the module 165daa5abc4SYendapally Reddy Dhananjaya Reddy will be called pwm-bcm-iproc. 166daa5abc4SYendapally Reddy Dhananjaya Reddy 1676a4e4bffSTim Krygerconfig PWM_BCM_KONA 1686a4e4bffSTim Kryger tristate "Kona PWM support" 16988a053d2SClément Péron depends on ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS || COMPILE_TEST 17088a053d2SClément Péron depends on HAVE_CLK && HAS_IOMEM 17188a053d2SClément Péron default ARCH_BCM_MOBILE || ARCH_BCM_CYGNUS 1726a4e4bffSTim Kryger help 1736a4e4bffSTim Kryger Generic PWM framework driver for Broadcom Kona PWM block. 1746a4e4bffSTim Kryger 1756a4e4bffSTim Kryger To compile this driver as a module, choose M here: the module 1766a4e4bffSTim Kryger will be called pwm-bcm-kona. 1776a4e4bffSTim Kryger 17859d5c8b1SAntoine Ténartconfig PWM_BERLIN 17959d5c8b1SAntoine Ténart tristate "Marvell Berlin PWM support" 180e96c0ff4SKrzysztof Kozlowski depends on ARCH_BERLIN || COMPILE_TEST 18171d4b833SUwe Kleine-König depends on HAS_IOMEM 18259d5c8b1SAntoine Ténart help 18359d5c8b1SAntoine Ténart PWM framework driver for Marvell Berlin SoCs. 18459d5c8b1SAntoine Ténart 18559d5c8b1SAntoine Ténart To compile this driver as a module, choose M here: the module 18659d5c8b1SAntoine Ténart will be called pwm-berlin. 18759d5c8b1SAntoine Ténart 1883a9f5957SFlorian Fainelliconfig PWM_BRCMSTB 1893a9f5957SFlorian Fainelli tristate "Broadcom STB PWM support" 190e96c0ff4SKrzysztof Kozlowski depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST 19171d4b833SUwe Kleine-König depends on HAS_IOMEM 1923a9f5957SFlorian Fainelli help 1933a9f5957SFlorian Fainelli Generic PWM framework driver for the Broadcom Set-top-Box 1943a9f5957SFlorian Fainelli SoCs (BCM7xxx). 1953a9f5957SFlorian Fainelli 1963a9f5957SFlorian Fainelli To compile this driver as a module, choose M Here: the module 1973a9f5957SFlorian Fainelli will be called pwm-brcmstb.c. 1983a9f5957SFlorian Fainelli 199901f8f54SNikita Travkinconfig PWM_CLK 200901f8f54SNikita Travkin tristate "Clock based PWM support" 201901f8f54SNikita Travkin depends on HAVE_CLK || COMPILE_TEST 202901f8f54SNikita Travkin help 203901f8f54SNikita Travkin Generic PWM framework driver for outputs that can be 204901f8f54SNikita Travkin muxed to clocks. 205901f8f54SNikita Travkin 206901f8f54SNikita Travkin To compile this driver as a module, choose M here: the module 207901f8f54SNikita Travkin will be called pwm-clk. 208901f8f54SNikita Travkin 2097eb3f6ffSAlexander Shiyanconfig PWM_CLPS711X 2107eb3f6ffSAlexander Shiyan tristate "CLPS711X PWM support" 2117eb3f6ffSAlexander Shiyan depends on ARCH_CLPS711X || COMPILE_TEST 212dec02f98SChen Gang depends on HAS_IOMEM 2137eb3f6ffSAlexander Shiyan help 2147eb3f6ffSAlexander Shiyan Generic PWM framework driver for Cirrus Logic CLPS711X. 2157eb3f6ffSAlexander Shiyan 2167eb3f6ffSAlexander Shiyan To compile this driver as a module, choose M here: the module 2177eb3f6ffSAlexander Shiyan will be called pwm-clps711x. 2187eb3f6ffSAlexander Shiyan 219a3f37a10SShobhit Kumarconfig PWM_CRC 22091a69d38SUwe Kleine-König tristate "Intel Crystalcove (CRC) PWM support" 22191a69d38SUwe Kleine-König depends on INTEL_SOC_PMIC 222a3f37a10SShobhit Kumar help 223a3f37a10SShobhit Kumar Generic PWM framework driver for Crystalcove (CRC) PMIC based PWM 224a3f37a10SShobhit Kumar control. 225a3f37a10SShobhit Kumar 2261f0d3bb0SBrian Norrisconfig PWM_CROS_EC 2271f0d3bb0SBrian Norris tristate "ChromeOS EC PWM driver" 22847f11e0bSEnric Balletbo i Serra depends on CROS_EC 2291f0d3bb0SBrian Norris help 2301f0d3bb0SBrian Norris PWM driver for exposing a PWM attached to the ChromeOS Embedded 2311f0d3bb0SBrian Norris Controller. 2321f0d3bb0SBrian Norris 233721ee188SBen Dooksconfig PWM_DWC_CORE 234721ee188SBen Dooks tristate 235721ee188SBen Dooks depends on HAS_IOMEM 236721ee188SBen Dooks help 237721ee188SBen Dooks PWM driver for Synopsys DWC PWM Controller. 238721ee188SBen Dooks 239721ee188SBen Dooks To compile this driver as a module, build the dependecies as 240721ee188SBen Dooks modules, this will be called pwm-dwc-core. 241721ee188SBen Dooks 2421ed2b3fcSJarkko Nikulaconfig PWM_DWC 243721ee188SBen Dooks tristate "DesignWare PWM Controller (PCI bus)" 244721ee188SBen Dooks depends on HAS_IOMEM && PCI 245721ee188SBen Dooks select PWM_DWC_CORE 2461ed2b3fcSJarkko Nikula help 2471ed2b3fcSJarkko Nikula PWM driver for Synopsys DWC PWM Controller attached to a PCI bus. 2481ed2b3fcSJarkko Nikula 2491ed2b3fcSJarkko Nikula To compile this driver as a module, choose M here: the module 2501ed2b3fcSJarkko Nikula will be called pwm-dwc. 2511ed2b3fcSJarkko Nikula 252a2308698SH Hartley Sweetenconfig PWM_EP93XX 253a2308698SH Hartley Sweeten tristate "Cirrus Logic EP93xx PWM support" 254e96c0ff4SKrzysztof Kozlowski depends on ARCH_EP93XX || COMPILE_TEST 25571d4b833SUwe Kleine-König depends on HAS_IOMEM 256a2308698SH Hartley Sweeten help 257a2308698SH Hartley Sweeten Generic PWM framework driver for Cirrus Logic EP93xx. 258a2308698SH Hartley Sweeten 259a2308698SH Hartley Sweeten To compile this driver as a module, choose M here: the module 260a2308698SH Hartley Sweeten will be called pwm-ep93xx. 261a2308698SH Hartley Sweeten 262b505183bSXiubo Liconfig PWM_FSL_FTM 263b505183bSXiubo Li tristate "Freescale FlexTimer Module (FTM) PWM support" 26436d5be4bSVegard Nossum depends on HAS_IOMEM 265b505183bSXiubo Li depends on OF 26600018a8aSFabio Estevam select REGMAP_MMIO 267b505183bSXiubo Li help 268b505183bSXiubo Li Generic FTM PWM framework driver for Freescale VF610 and 269b505183bSXiubo Li Layerscape LS-1 SoCs. 270b505183bSXiubo Li 271b505183bSXiubo Li To compile this driver as a module, choose M here: the module 272b505183bSXiubo Li will be called pwm-fsl-ftm. 273b505183bSXiubo Li 2747f61257cSVincent Whitchurchconfig PWM_GPIO 2757f61257cSVincent Whitchurch tristate "GPIO PWM support" 2767f61257cSVincent Whitchurch depends on GPIOLIB 2777f61257cSVincent Whitchurch depends on HIGH_RES_TIMERS 2787f61257cSVincent Whitchurch help 2797f61257cSVincent Whitchurch Generic PWM framework driver for software PWM toggling a GPIO pin 2807f61257cSVincent Whitchurch from kernel high-resolution timers. 2817f61257cSVincent Whitchurch 2827f61257cSVincent Whitchurch To compile this driver as a module, choose M here: the module 2837f61257cSVincent Whitchurch will be called pwm-gpio. 2847f61257cSVincent Whitchurch 285d09f0081Syuanjianconfig PWM_HIBVT 286d09f0081Syuanjian tristate "HiSilicon BVT PWM support" 287d09f0081Syuanjian depends on ARCH_HISI || COMPILE_TEST 28871d4b833SUwe Kleine-König depends on HAS_IOMEM 289d09f0081Syuanjian help 290d09f0081Syuanjian Generic PWM framework driver for HiSilicon BVT SoCs. 291d09f0081Syuanjian 292d09f0081Syuanjian To compile this driver as a module, choose M here: the module 293d09f0081Syuanjian will be called pwm-hibvt. 294d09f0081Syuanjian 295277bb6a2SNaidu Tellapaticonfig PWM_IMG 296277bb6a2SNaidu Tellapati tristate "Imagination Technologies PWM driver" 297277bb6a2SNaidu Tellapati depends on HAS_IOMEM 298277bb6a2SNaidu Tellapati depends on MFD_SYSCON 299277bb6a2SNaidu Tellapati depends on COMMON_CLK 300277bb6a2SNaidu Tellapati depends on MIPS || COMPILE_TEST 301277bb6a2SNaidu Tellapati help 302277bb6a2SNaidu Tellapati Generic PWM framework driver for Imagination Technologies 303277bb6a2SNaidu Tellapati PWM block which supports 4 channels. 304277bb6a2SNaidu Tellapati 305277bb6a2SNaidu Tellapati To compile this driver as a module, choose M here: the module 306277bb6a2SNaidu Tellapati will be called pwm-img 307277bb6a2SNaidu Tellapati 308d80f8206SUwe Kleine-Königconfig PWM_IMX1 309d80f8206SUwe Kleine-König tristate "i.MX1 PWM support" 310e96c0ff4SKrzysztof Kozlowski depends on ARCH_MXC || COMPILE_TEST 31171d4b833SUwe Kleine-König depends on HAS_IOMEM 31229693248SSascha Hauer help 313d80f8206SUwe Kleine-König Generic PWM framework driver for i.MX1 and i.MX21 31429693248SSascha Hauer 31529693248SSascha Hauer To compile this driver as a module, choose M here: the module 316d80f8206SUwe Kleine-König will be called pwm-imx1. 317d80f8206SUwe Kleine-König 318d80f8206SUwe Kleine-Königconfig PWM_IMX27 319d80f8206SUwe Kleine-König tristate "i.MX27 PWM support" 320e96c0ff4SKrzysztof Kozlowski depends on ARCH_MXC || COMPILE_TEST 32171d4b833SUwe Kleine-König depends on HAS_IOMEM 322d80f8206SUwe Kleine-König help 323d80f8206SUwe Kleine-König Generic PWM framework driver for i.MX27 and later i.MX SoCs. 324d80f8206SUwe Kleine-König 325d80f8206SUwe Kleine-König To compile this driver as a module, choose M here: the module 326d80f8206SUwe Kleine-König will be called pwm-imx27. 32729693248SSascha Hauer 328738a1cfeSAnson Huangconfig PWM_IMX_TPM 329738a1cfeSAnson Huang tristate "i.MX TPM PWM support" 330738a1cfeSAnson Huang depends on ARCH_MXC || COMPILE_TEST 331738a1cfeSAnson Huang depends on HAVE_CLK && HAS_IOMEM 332738a1cfeSAnson Huang help 333738a1cfeSAnson Huang Generic PWM framework driver for i.MX7ULP TPM module, TPM's full 334738a1cfeSAnson Huang name is Low Power Timer/Pulse Width Modulation Module. 335738a1cfeSAnson Huang 336738a1cfeSAnson Huang To compile this driver as a module, choose M here: the module 337738a1cfeSAnson Huang will be called pwm-imx-tpm. 338738a1cfeSAnson Huang 33997960addSRahul Tanwarconfig PWM_INTEL_LGM 34097960addSRahul Tanwar tristate "Intel LGM PWM support" 34197960addSRahul Tanwar depends on HAS_IOMEM 34297960addSRahul Tanwar depends on (OF && X86) || COMPILE_TEST 34397960addSRahul Tanwar select REGMAP_MMIO 34497960addSRahul Tanwar help 34597960addSRahul Tanwar Generic PWM fan controller driver for LGM SoC. 34697960addSRahul Tanwar 34797960addSRahul Tanwar To compile this driver as a module, choose M here: the module 34897960addSRahul Tanwar will be called pwm-intel-lgm. 34997960addSRahul Tanwar 3506f0841a8SJeff LaBundyconfig PWM_IQS620A 3516f0841a8SJeff LaBundy tristate "Azoteq IQS620A PWM support" 3526f0841a8SJeff LaBundy depends on MFD_IQS62X || COMPILE_TEST 3536f0841a8SJeff LaBundy help 3546f0841a8SJeff LaBundy Generic PWM framework driver for the Azoteq IQS620A multi-function 3556f0841a8SJeff LaBundy sensor. 3566f0841a8SJeff LaBundy 3576f0841a8SJeff LaBundy To compile this driver as a module, choose M here: the module will 3586f0841a8SJeff LaBundy be called pwm-iqs620a. 3596f0841a8SJeff LaBundy 360f6b8a570SThierry Redingconfig PWM_JZ4740 361b4190062SPaul Cercueil tristate "Ingenic JZ47xx PWM support" 36269ba53daSPaul Cercueil depends on MACH_INGENIC || COMPILE_TEST 363731c4793SPaul Cercueil depends on COMMON_CLK && OF 364c2693514SPaul Cercueil select MFD_SYSCON 365f6b8a570SThierry Reding help 366b4190062SPaul Cercueil Generic PWM framework driver for Ingenic JZ47xx based 367f6b8a570SThierry Reding machines. 368f6b8a570SThierry Reding 369f6b8a570SThierry Reding To compile this driver as a module, choose M here: the module 370f6b8a570SThierry Reding will be called pwm-jz4740. 371f6b8a570SThierry Reding 372bd899cebSVijayakannan Ayyathuraiconfig PWM_KEEMBAY 373bd899cebSVijayakannan Ayyathurai tristate "Intel Keem Bay PWM driver" 374cf83f7b7SUwe Kleine-König depends on ARCH_KEEMBAY || COMPILE_TEST 375cf83f7b7SUwe Kleine-König depends on COMMON_CLK && HAS_IOMEM 376bd899cebSVijayakannan Ayyathurai help 377bd899cebSVijayakannan Ayyathurai The platform driver for Intel Keem Bay PWM controller. 378bd899cebSVijayakannan Ayyathurai 379bd899cebSVijayakannan Ayyathurai To compile this driver as a module, choose M here: the module 380bd899cebSVijayakannan Ayyathurai will be called pwm-keembay. 381bd899cebSVijayakannan Ayyathurai 3822b62c894SBinbin Zhouconfig PWM_LOONGSON 3832b62c894SBinbin Zhou tristate "Loongson PWM support" 3842b62c894SBinbin Zhou depends on MACH_LOONGSON64 || COMPILE_TEST 3852b62c894SBinbin Zhou depends on COMMON_CLK 3862b62c894SBinbin Zhou help 3872b62c894SBinbin Zhou Generic PWM framework driver for Loongson family. 3882b62c894SBinbin Zhou It can be found on Loongson-2K series cpus and Loongson LS7A 3892b62c894SBinbin Zhou bridge chips. 3902b62c894SBinbin Zhou 3912b62c894SBinbin Zhou To compile this driver as a module, choose M here: the module 3922b62c894SBinbin Zhou will be called pwm-loongson. 3932b62c894SBinbin Zhou 394af66b3c0SMilo Kimconfig PWM_LP3943 395af66b3c0SMilo Kim tristate "TI/National Semiconductor LP3943 PWM support" 396af66b3c0SMilo Kim depends on MFD_LP3943 397af66b3c0SMilo Kim help 398af66b3c0SMilo Kim Generic PWM framework driver for LP3943 which supports two PWM 399af66b3c0SMilo Kim channels. 400af66b3c0SMilo Kim 401af66b3c0SMilo Kim To compile this driver as a module, choose M here: the module 402af66b3c0SMilo Kim will be called pwm-lp3943. 403af66b3c0SMilo Kim 404841e6f90SAriel D'Alessandroconfig PWM_LPC18XX_SCT 405841e6f90SAriel D'Alessandro tristate "LPC18xx/43xx PWM/SCT support" 406e96c0ff4SKrzysztof Kozlowski depends on ARCH_LPC18XX || COMPILE_TEST 40771d4b833SUwe Kleine-König depends on HAS_IOMEM 408841e6f90SAriel D'Alessandro help 409841e6f90SAriel D'Alessandro Generic PWM framework driver for NXP LPC18xx PWM/SCT which 410841e6f90SAriel D'Alessandro supports 16 channels. 411841e6f90SAriel D'Alessandro A maximum of 15 channels can be requested simultaneously and 412841e6f90SAriel D'Alessandro must have the same period. 413841e6f90SAriel D'Alessandro 414841e6f90SAriel D'Alessandro To compile this driver as a module, choose M here: the module 415841e6f90SAriel D'Alessandro will be called pwm-lpc18xx-sct. 416841e6f90SAriel D'Alessandro 4172132fa8dSAlexandre Pereira da Silvaconfig PWM_LPC32XX 4182132fa8dSAlexandre Pereira da Silva tristate "LPC32XX PWM support" 419e96c0ff4SKrzysztof Kozlowski depends on ARCH_LPC32XX || COMPILE_TEST 42071d4b833SUwe Kleine-König depends on HAS_IOMEM 4212132fa8dSAlexandre Pereira da Silva help 4222132fa8dSAlexandre Pereira da Silva Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two 4232132fa8dSAlexandre Pereira da Silva PWM controllers. 4242132fa8dSAlexandre Pereira da Silva 4252132fa8dSAlexandre Pereira da Silva To compile this driver as a module, choose M here: the module 4262132fa8dSAlexandre Pereira da Silva will be called pwm-lpc32xx. 4272132fa8dSAlexandre Pereira da Silva 428d16a5aa9SMika Westerbergconfig PWM_LPSS 42971d4b833SUwe Kleine-König depends on HAS_IOMEM 4306f90a00cSAndy Shevchenko tristate 431d16a5aa9SMika Westerberg 432c558e39eSAndy Shevchenkoconfig PWM_LPSS_PCI 433c558e39eSAndy Shevchenko tristate "Intel LPSS PWM PCI driver" 434aa43edcbSUwe Kleine-König depends on X86 || COMPILE_TEST 435aa43edcbSUwe Kleine-König depends on HAS_IOMEM && PCI 4366f90a00cSAndy Shevchenko select PWM_LPSS 437c558e39eSAndy Shevchenko help 438c558e39eSAndy Shevchenko The PCI driver for Intel Low Power Subsystem PWM controller. 439c558e39eSAndy Shevchenko 440c558e39eSAndy Shevchenko To compile this driver as a module, choose M here: the module 441c558e39eSAndy Shevchenko will be called pwm-lpss-pci. 442c558e39eSAndy Shevchenko 443c558e39eSAndy Shevchenkoconfig PWM_LPSS_PLATFORM 444c558e39eSAndy Shevchenko tristate "Intel LPSS PWM platform driver" 445aa43edcbSUwe Kleine-König depends on (X86 && ACPI) || COMPILE_TEST 44671d4b833SUwe Kleine-König depends on HAS_IOMEM 4476f90a00cSAndy Shevchenko select PWM_LPSS 448c558e39eSAndy Shevchenko help 449c558e39eSAndy Shevchenko The platform driver for Intel Low Power Subsystem PWM controller. 450c558e39eSAndy Shevchenko 451c558e39eSAndy Shevchenko To compile this driver as a module, choose M here: the module 452c558e39eSAndy Shevchenko will be called pwm-lpss-platform. 453c558e39eSAndy Shevchenko 454d93a75d9SKamel Bouharaconfig PWM_MAX7360 455d93a75d9SKamel Bouhara tristate "MAX7360 PWMs" 456d93a75d9SKamel Bouhara depends on MFD_MAX7360 457d93a75d9SKamel Bouhara help 458d93a75d9SKamel Bouhara PWM driver for Maxim Integrated MAX7360 multifunction device, with 459d93a75d9SKamel Bouhara support for up to 8 PWM outputs. 460d93a75d9SKamel Bouhara 461d93a75d9SKamel Bouhara To compile this driver as a module, choose M here: the module 462d93a75d9SKamel Bouhara will be called pwm-max7360. 463d93a75d9SKamel Bouhara 4642006016eSDimitri Fedrauconfig PWM_MC33XS2410 4652006016eSDimitri Fedrau tristate "MC33XS2410 PWM support" 4662006016eSDimitri Fedrau depends on OF 4672006016eSDimitri Fedrau depends on SPI 46828517c8bSDimitri Fedrau select AUXILIARY_BUS 4692006016eSDimitri Fedrau help 4702006016eSDimitri Fedrau NXP MC33XS2410 high-side switch driver. The MC33XS2410 is a four 4712006016eSDimitri Fedrau channel high-side switch. The device is operational from 3.0 V 4722006016eSDimitri Fedrau to 60 V. The device is controlled by SPI port for configuration. 4732006016eSDimitri Fedrau 4742006016eSDimitri Fedrau To compile this driver as a module, choose M here: the module 4752006016eSDimitri Fedrau will be called pwm-mc33xs2410. 4762006016eSDimitri Fedrau 47784e351d8SUwe Kleine-Königconfig PWM_MEDIATEK 47884e351d8SUwe Kleine-König tristate "MediaTek PWM support" 47984e351d8SUwe Kleine-König depends on ARCH_MEDIATEK || RALINK || COMPILE_TEST 48084e351d8SUwe Kleine-König depends on HAS_IOMEM 48184e351d8SUwe Kleine-König help 48284e351d8SUwe Kleine-König Generic PWM framework driver for Mediatek ARM SoC. 48384e351d8SUwe Kleine-König 48484e351d8SUwe Kleine-König To compile this driver as a module, choose M here: the module 48584e351d8SUwe Kleine-König will be called pwm-mediatek. 48684e351d8SUwe Kleine-König 487211ed630SNeil Armstrongconfig PWM_MESON 488211ed630SNeil Armstrong tristate "Amlogic Meson PWM driver" 489e96c0ff4SKrzysztof Kozlowski depends on ARCH_MESON || COMPILE_TEST 49071d4b833SUwe Kleine-König depends on COMMON_CLK && HAS_IOMEM 491211ed630SNeil Armstrong help 492211ed630SNeil Armstrong The platform driver for Amlogic Meson PWM controller. 493211ed630SNeil Armstrong 494211ed630SNeil Armstrong To compile this driver as a module, choose M here: the module 495211ed630SNeil Armstrong will be called pwm-meson. 496211ed630SNeil Armstrong 49784e351d8SUwe Kleine-Königconfig PWM_MICROCHIP_CORE 49884e351d8SUwe Kleine-König tristate "Microchip corePWM PWM support" 49984e351d8SUwe Kleine-König depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST 50084e351d8SUwe Kleine-König depends on HAS_IOMEM && OF 50184e351d8SUwe Kleine-König help 50284e351d8SUwe Kleine-König PWM driver for Microchip FPGA soft IP core. 50384e351d8SUwe Kleine-König 50484e351d8SUwe Kleine-König To compile this driver as a module, choose M here: the module 50584e351d8SUwe Kleine-König will be called pwm-microchip-core. 50684e351d8SUwe Kleine-König 5077e3b7dc7SYH Huangconfig PWM_MTK_DISP 5087e3b7dc7SYH Huang tristate "MediaTek display PWM driver" 5097e3b7dc7SYH Huang depends on ARCH_MEDIATEK || COMPILE_TEST 5107e3b7dc7SYH Huang depends on HAS_IOMEM 5117e3b7dc7SYH Huang help 5127e3b7dc7SYH Huang Generic PWM framework driver for MediaTek disp-pwm device. 5137e3b7dc7SYH Huang The PWM is used to control the backlight brightness for display. 5147e3b7dc7SYH Huang 5157e3b7dc7SYH Huang To compile this driver as a module, choose M here: the module 5167e3b7dc7SYH Huang will be called pwm-mtk-disp. 5177e3b7dc7SYH Huang 5184dce82c1SShawn Guoconfig PWM_MXS 5194dce82c1SShawn Guo tristate "Freescale MXS PWM support" 520e96c0ff4SKrzysztof Kozlowski depends on ARCH_MXS || COMPILE_TEST 52171d4b833SUwe Kleine-König depends on HAS_IOMEM && OF 52201bf32e9SShawn Guo select STMP_DEVICE 5234dce82c1SShawn Guo help 5244dce82c1SShawn Guo Generic PWM framework driver for Freescale MXS. 5254dce82c1SShawn Guo 5264dce82c1SShawn Guo To compile this driver as a module, choose M here: the module 5274dce82c1SShawn Guo will be called pwm-mxs. 5284dce82c1SShawn Guo 5299fc0486fSJonathan Neuschäferconfig PWM_NTXEC 5309fc0486fSJonathan Neuschäfer tristate "Netronix embedded controller PWM support" 5319fc0486fSJonathan Neuschäfer depends on MFD_NTXEC 5329fc0486fSJonathan Neuschäfer help 5339fc0486fSJonathan Neuschäfer Say yes here if you want to support the PWM output of the embedded 5349fc0486fSJonathan Neuschäfer controller found in certain e-book readers designed by the original 5359fc0486fSJonathan Neuschäfer design manufacturer Netronix. 5369fc0486fSJonathan Neuschäfer 5376604c655SNeil Armstrongconfig PWM_OMAP_DMTIMER 5386604c655SNeil Armstrong tristate "OMAP Dual-Mode Timer PWM support" 5399f2919e9SUwe Kleine-König depends on OF 5409f2919e9SUwe Kleine-König depends on OMAP_DM_TIMER || COMPILE_TEST 5416604c655SNeil Armstrong help 5426604c655SNeil Armstrong Generic PWM framework driver for OMAP Dual-Mode Timer PWM output 5436604c655SNeil Armstrong 5446604c655SNeil Armstrong To compile this driver as a module, choose M here: the module 5456604c655SNeil Armstrong will be called pwm-omap-dmtimer 5466604c655SNeil Armstrong 54788b613e6SSteffen Trumtrarconfig PWM_PCA9685 54888b613e6SSteffen Trumtrar tristate "NXP PCA9685 PWM driver" 549912b8439SAndy Shevchenko depends on I2C 5502c80a492SAxel Lin select REGMAP_I2C 55188b613e6SSteffen Trumtrar help 55288b613e6SSteffen Trumtrar Generic PWM framework driver for NXP PCA9685 LED controller. 55388b613e6SSteffen Trumtrar 55488b613e6SSteffen Trumtrar To compile this driver as a module, choose M here: the module 55588b613e6SSteffen Trumtrar will be called pwm-pca9685. 55688b613e6SSteffen Trumtrar 55717b2b478SThierry Redingconfig PWM_PXA 55817b2b478SThierry Reding tristate "PXA PWM support" 55927b5dfe4SGuodong Xu depends on ARCH_PXA || ARCH_MMP || ARCH_SPACEMIT || COMPILE_TEST 56071d4b833SUwe Kleine-König depends on HAS_IOMEM 56117b2b478SThierry Reding help 56217b2b478SThierry Reding Generic PWM framework driver for PXA. 56317b2b478SThierry Reding 56417b2b478SThierry Reding To compile this driver as a module, choose M here: the module 56517b2b478SThierry Reding will be called pwm-pxa. 56617b2b478SThierry Reding 56779caa362SNicolas Saenz Julienneconfig PWM_RASPBERRYPI_POE 56868b9272cSColin Ian King tristate "Raspberry Pi Firmware PoE Hat PWM support" 56979caa362SNicolas Saenz Julienne # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only 57079caa362SNicolas Saenz Julienne # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. 57179caa362SNicolas Saenz Julienne depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) 57279caa362SNicolas Saenz Julienne help 57379caa362SNicolas Saenz Julienne Enable Raspberry Pi firmware controller PWM bus used to control the 57479caa362SNicolas Saenz Julienne official RPI PoE hat 57579caa362SNicolas Saenz Julienne 57625ac4834SKuninori Morimotoconfig PWM_RENESAS_RCAR 577ed6c1476SYoshihiro Shimoda tristate "Renesas R-Car PWM support" 57848169988SRyo Kodama depends on ARCH_RENESAS || COMPILE_TEST 579ed6c1476SYoshihiro Shimoda depends on HAS_IOMEM 580ed6c1476SYoshihiro Shimoda help 581ed6c1476SYoshihiro Shimoda This driver exposes the PWM Timer controller found in Renesas 582ed6c1476SYoshihiro Shimoda R-Car chips through the PWM API. 583ed6c1476SYoshihiro Shimoda 584ed6c1476SYoshihiro Shimoda To compile this driver as a module, choose M here: the module 585ed6c1476SYoshihiro Shimoda will be called pwm-rcar. 586ed6c1476SYoshihiro Shimoda 58725ac4834SKuninori Morimotoconfig PWM_RENESAS_RZG2L_GPT 58825ac4834SKuninori Morimoto tristate "Renesas RZ/G2L General PWM Timer support" 58925ac4834SKuninori Morimoto depends on ARCH_RZG2L || COMPILE_TEST 59025ac4834SKuninori Morimoto depends on HAS_IOMEM 59125ac4834SKuninori Morimoto help 59225ac4834SKuninori Morimoto This driver exposes the General PWM Timer controller found in Renesas 59325ac4834SKuninori Morimoto RZ/G2L like chips through the PWM API. 59425ac4834SKuninori Morimoto 59525ac4834SKuninori Morimoto To compile this driver as a module, choose M here: the module 59625ac4834SKuninori Morimoto will be called pwm-rzg2l-gpt. 59725ac4834SKuninori Morimoto 59825ac4834SKuninori Morimotoconfig PWM_RENESAS_RZ_MTU3 59925ac4834SKuninori Morimoto tristate "Renesas RZ/G2L MTU3a PWM Timer support" 60025ac4834SKuninori Morimoto depends on RZ_MTU3 60125ac4834SKuninori Morimoto depends on HAS_IOMEM 60225ac4834SKuninori Morimoto help 60325ac4834SKuninori Morimoto This driver exposes the MTU3a PWM Timer controller found in Renesas 60425ac4834SKuninori Morimoto RZ/G2L like chips through the PWM API. 60525ac4834SKuninori Morimoto 60625ac4834SKuninori Morimoto To compile this driver as a module, choose M here: the module 60725ac4834SKuninori Morimoto will be called pwm-rz-mtu3. 60825ac4834SKuninori Morimoto 60999b82abbSLaurent Pinchartconfig PWM_RENESAS_TPU 61099b82abbSLaurent Pinchart tristate "Renesas TPU PWM support" 61103d99531SSimon Horman depends on ARCH_RENESAS || COMPILE_TEST 6122974b098SRichard Weinberger depends on HAS_IOMEM 61399b82abbSLaurent Pinchart help 61499b82abbSLaurent Pinchart This driver exposes the Timer Pulse Unit (TPU) PWM controller found 61599b82abbSLaurent Pinchart in Renesas chips through the PWM API. 61699b82abbSLaurent Pinchart 61799b82abbSLaurent Pinchart To compile this driver as a module, choose M here: the module 61899b82abbSLaurent Pinchart will be called pwm-renesas-tpu. 61999b82abbSLaurent Pinchart 620101353c8SBeniamino Galvaniconfig PWM_ROCKCHIP 621101353c8SBeniamino Galvani tristate "Rockchip PWM support" 622e96c0ff4SKrzysztof Kozlowski depends on ARCH_ROCKCHIP || COMPILE_TEST 62371d4b833SUwe Kleine-König depends on HAS_IOMEM 624101353c8SBeniamino Galvani help 625101353c8SBeniamino Galvani Generic PWM framework driver for the PWM controller found on 626101353c8SBeniamino Galvani Rockchip SoCs. 627101353c8SBeniamino Galvani 628215c29d3SSascha Hauerconfig PWM_SAMSUNG 629b133d2a1SThierry Reding tristate "Samsung PWM support" 630db8230d2SArnd Bergmann depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 63171d4b833SUwe Kleine-König depends on HAS_IOMEM 632215c29d3SSascha Hauer help 63306dfae38SKrzysztof Kozlowski Generic PWM framework driver for Samsung S3C24xx, S3C64xx, S5Pv210 63406dfae38SKrzysztof Kozlowski and Exynos SoCs. 63506dfae38SKrzysztof Kozlowski Choose Y here only if you build for such Samsung SoC. 636215c29d3SSascha Hauer 637215c29d3SSascha Hauer To compile this driver as a module, choose M here: the module 638215c29d3SSascha Hauer will be called pwm-samsung. 639215c29d3SSascha Hauer 6409e37a53eSYash Shahconfig PWM_SIFIVE 6419e37a53eSYash Shah tristate "SiFive PWM support" 6429e37a53eSYash Shah depends on OF 64371d4b833SUwe Kleine-König depends on COMMON_CLK && HAS_IOMEM 644e8af7c08SUwe Kleine-König depends on ARCH_SIFIVE || COMPILE_TEST 6459e37a53eSYash Shah help 6469e37a53eSYash Shah Generic PWM framework driver for SiFive SoCs. 6479e37a53eSYash Shah 6489e37a53eSYash Shah To compile this driver as a module, choose M here: the module 6499e37a53eSYash Shah will be called pwm-sifive. 6509e37a53eSYash Shah 6519db33d22SMichael Walleconfig PWM_SL28CPLD 6529db33d22SMichael Walle tristate "Kontron sl28cpld PWM support" 6539db33d22SMichael Walle depends on MFD_SL28CPLD || COMPILE_TEST 6549db33d22SMichael Walle help 6559db33d22SMichael Walle Generic PWM framework driver for board management controller 6569db33d22SMichael Walle found on the Kontron sl28 CPLD. 6579db33d22SMichael Walle 6589db33d22SMichael Walle To compile this driver as a module, choose M here: the module 6599db33d22SMichael Walle will be called pwm-sl28cpld. 6609db33d22SMichael Walle 661c98e6614SChen Wangconfig PWM_SOPHGO_SG2042 662c98e6614SChen Wang tristate "Sophgo SG2042 PWM support" 663c98e6614SChen Wang depends on ARCH_SOPHGO || COMPILE_TEST 664c98e6614SChen Wang help 665c98e6614SChen Wang PWM driver for the PWM controller on Sophgo SG2042 SoC. The PWM 666c98e6614SChen Wang controller supports outputing 4 channels of PWM waveforms. 667c98e6614SChen Wang 668c98e6614SChen Wang To compile this driver as a module, choose M here: the module 669c98e6614SChen Wang will be called pwm_sophgo_sg2042. 670c98e6614SChen Wang 671ce20364bSShiraz Hashimconfig PWM_SPEAR 672ce20364bSShiraz Hashim tristate "STMicroelectronics SPEAr PWM support" 673e96c0ff4SKrzysztof Kozlowski depends on PLAT_SPEAR || COMPILE_TEST 67471d4b833SUwe Kleine-König depends on HAS_IOMEM && OF 675ce20364bSShiraz Hashim help 676ce20364bSShiraz Hashim Generic PWM framework driver for the PWM controller on ST 677ce20364bSShiraz Hashim SPEAr SoCs. 678ce20364bSShiraz Hashim 679ce20364bSShiraz Hashim To compile this driver as a module, choose M here: the module 680ce20364bSShiraz Hashim will be called pwm-spear. 681ce20364bSShiraz Hashim 6828aae4b02SBaolin Wangconfig PWM_SPRD 6838aae4b02SBaolin Wang tristate "Spreadtrum PWM support" 6848aae4b02SBaolin Wang depends on ARCH_SPRD || COMPILE_TEST 6858aae4b02SBaolin Wang depends on HAS_IOMEM 6868aae4b02SBaolin Wang help 6878aae4b02SBaolin Wang Generic PWM framework driver for the PWM controller on 6888aae4b02SBaolin Wang Spreadtrum SoCs. 6898aae4b02SBaolin Wang 6908aae4b02SBaolin Wang To compile this driver as a module, choose M here: the module 6918aae4b02SBaolin Wang will be called pwm-sprd. 6928aae4b02SBaolin Wang 693378fe115SLee Jonesconfig PWM_STI 694378fe115SLee Jones tristate "STiH4xx PWM support" 695e96c0ff4SKrzysztof Kozlowski depends on ARCH_STI || COMPILE_TEST 69671d4b833SUwe Kleine-König depends on HAS_IOMEM && OF 697378fe115SLee Jones help 698378fe115SLee Jones Generic PWM framework driver for STiH4xx SoCs. 699378fe115SLee Jones 700378fe115SLee Jones To compile this driver as a module, choose M here: the module 701378fe115SLee Jones will be called pwm-sti. 702378fe115SLee Jones 7037edf7369SBenjamin Gaignardconfig PWM_STM32 7047edf7369SBenjamin Gaignard tristate "STMicroelectronics STM32 PWM" 705e96c0ff4SKrzysztof Kozlowski depends on MFD_STM32_TIMERS || COMPILE_TEST 7067edf7369SBenjamin Gaignard help 7077edf7369SBenjamin Gaignard Generic PWM framework driver for STM32 SoCs. 7087edf7369SBenjamin Gaignard 7097edf7369SBenjamin Gaignard To compile this driver as a module, choose M here: the module 7107edf7369SBenjamin Gaignard will be called pwm-stm32. 7117edf7369SBenjamin Gaignard 712e70a540bSFabrice Gasnierconfig PWM_STM32_LP 713e70a540bSFabrice Gasnier tristate "STMicroelectronics STM32 PWM LP" 714e70a540bSFabrice Gasnier depends on MFD_STM32_LPTIMER || COMPILE_TEST 715e70a540bSFabrice Gasnier help 716e70a540bSFabrice Gasnier Generic PWM framework driver for STMicroelectronics STM32 SoCs 717e70a540bSFabrice Gasnier with Low-Power Timer (LPTIM). 718e70a540bSFabrice Gasnier 719e70a540bSFabrice Gasnier To compile this driver as a module, choose M here: the module 720e70a540bSFabrice Gasnier will be called pwm-stm32-lp. 721e70a540bSFabrice Gasnier 722ef1f09ecSLinus Walleijconfig PWM_STMPE 723a2b8191aSUwe Kleine-König tristate "STMPE expander PWM export" 724ef1f09ecSLinus Walleij depends on MFD_STMPE 725ef1f09ecSLinus Walleij help 726ef1f09ecSLinus Walleij This enables support for the PWMs found in the STMPE I/O 727ef1f09ecSLinus Walleij expanders. 728ef1f09ecSLinus Walleij 72909853ce7SAlexandre Belloniconfig PWM_SUN4I 73009853ce7SAlexandre Belloni tristate "Allwinner PWM support" 73109853ce7SAlexandre Belloni depends on ARCH_SUNXI || COMPILE_TEST 73209853ce7SAlexandre Belloni depends on HAS_IOMEM && COMMON_CLK 73309853ce7SAlexandre Belloni help 73409853ce7SAlexandre Belloni Generic PWM framework driver for Allwinner SoCs. 73509853ce7SAlexandre Belloni 73609853ce7SAlexandre Belloni To compile this driver as a module, choose M here: the module 73709853ce7SAlexandre Belloni will be called pwm-sun4i. 73809853ce7SAlexandre Belloni 739b3c4af85SHammer Hsiehconfig PWM_SUNPLUS 740b3c4af85SHammer Hsieh tristate "Sunplus PWM support" 741b3c4af85SHammer Hsieh depends on ARCH_SUNPLUS || COMPILE_TEST 742b3c4af85SHammer Hsieh depends on HAS_IOMEM && OF 743b3c4af85SHammer Hsieh help 744b3c4af85SHammer Hsieh Generic PWM framework driver for the PWM controller on 745b3c4af85SHammer Hsieh Sunplus SoCs. 746b3c4af85SHammer Hsieh 747b3c4af85SHammer Hsieh To compile this driver as a module, choose M here: the module 748b3c4af85SHammer Hsieh will be called pwm-sunplus. 749b3c4af85SHammer Hsieh 7500134b932SThierry Redingconfig PWM_TEGRA 7510134b932SThierry Reding tristate "NVIDIA Tegra PWM support" 752e96c0ff4SKrzysztof Kozlowski depends on ARCH_TEGRA || COMPILE_TEST 75371d4b833SUwe Kleine-König depends on HAS_IOMEM 7540134b932SThierry Reding help 7550134b932SThierry Reding Generic PWM framework driver for the PWFM controller found on NVIDIA 7560134b932SThierry Reding Tegra SoCs. 7570134b932SThierry Reding 7580134b932SThierry Reding To compile this driver as a module, choose M here: the module 7590134b932SThierry Reding will be called pwm-tegra. 7600134b932SThierry Reding 761e03724aaSMichal Wilczynskiconfig PWM_TH1520 762e03724aaSMichal Wilczynski tristate "TH1520 PWM support" 763*3c180003SMichal Wilczynski depends on ARCH_THEAD || COMPILE_TEST 764e03724aaSMichal Wilczynski depends on RUST 765*3c180003SMichal Wilczynski depends on HAS_IOMEM && COMMON_CLK 766e03724aaSMichal Wilczynski select RUST_PWM_ABSTRACTIONS 767e03724aaSMichal Wilczynski help 768e03724aaSMichal Wilczynski This option enables the driver for the PWM controller found on the 769e03724aaSMichal Wilczynski T-HEAD TH1520 SoC. 770e03724aaSMichal Wilczynski 771e03724aaSMichal Wilczynski To compile this driver as a module, choose M here; the module 772e03724aaSMichal Wilczynski will be called pwm-th1520. If you are unsure, say N. 773e03724aaSMichal Wilczynski 7748e0cb05bSPhilip, Avinashconfig PWM_TIECAP 7758e0cb05bSPhilip, Avinash tristate "ECAP PWM support" 776e96c0ff4SKrzysztof Kozlowski depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST 77771d4b833SUwe Kleine-König depends on HAS_IOMEM 7788e0cb05bSPhilip, Avinash help 7796f37709fSVignesh R PWM driver support for the ECAP APWM controller found on TI SOCs 7808e0cb05bSPhilip, Avinash 7818e0cb05bSPhilip, Avinash To compile this driver as a module, choose M here: the module 7828e0cb05bSPhilip, Avinash will be called pwm-tiecap. 7838e0cb05bSPhilip, Avinash 78419891b20SPhilip, Avinashconfig PWM_TIEHRPWM 78519891b20SPhilip, Avinash tristate "EHRPWM PWM support" 786e96c0ff4SKrzysztof Kozlowski depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST 78771d4b833SUwe Kleine-König depends on HAS_IOMEM 78819891b20SPhilip, Avinash help 789efc80fb3SVignesh Raghavendra PWM driver support for the EHRPWM controller found on TI SOCs 79019891b20SPhilip, Avinash 79119891b20SPhilip, Avinash To compile this driver as a module, choose M here: the module 79219891b20SPhilip, Avinash will be called pwm-tiehrpwm. 79319891b20SPhilip, Avinash 7943744c263SPeter Ujfalusiconfig PWM_TWL 7953744c263SPeter Ujfalusi tristate "TWL4030/6030 PWM support" 7963744c263SPeter Ujfalusi depends on TWL4030_CORE 7973744c263SPeter Ujfalusi help 7983744c263SPeter Ujfalusi Generic PWM framework driver for TWL4030/6030. 7993744c263SPeter Ujfalusi 8003744c263SPeter Ujfalusi To compile this driver as a module, choose M here: the module 8013744c263SPeter Ujfalusi will be called pwm-twl. 8023744c263SPeter Ujfalusi 803aa765647SPeter Ujfalusiconfig PWM_TWL_LED 804aa765647SPeter Ujfalusi tristate "TWL4030/6030 PWM support for LED drivers" 805aa765647SPeter Ujfalusi depends on TWL4030_CORE 806aa765647SPeter Ujfalusi help 807aa765647SPeter Ujfalusi Generic PWM framework driver for TWL4030/6030 LED terminals. 808aa765647SPeter Ujfalusi 809aa765647SPeter Ujfalusi To compile this driver as a module, choose M here: the module 810aa765647SPeter Ujfalusi will be called pwm-twl-led. 811aa765647SPeter Ujfalusi 812721b5957SNobuhiro Iwamatsuconfig PWM_VISCONTI 813721b5957SNobuhiro Iwamatsu tristate "Toshiba Visconti PWM support" 814721b5957SNobuhiro Iwamatsu depends on ARCH_VISCONTI || COMPILE_TEST 815721b5957SNobuhiro Iwamatsu help 816721b5957SNobuhiro Iwamatsu PWM Subsystem driver support for Toshiba Visconti SoCs. 817721b5957SNobuhiro Iwamatsu 818721b5957SNobuhiro Iwamatsu To compile this driver as a module, choose M here: the module 819721b5957SNobuhiro Iwamatsu will be called pwm-visconti. 820721b5957SNobuhiro Iwamatsu 821a245ccebSSascha Hauerconfig PWM_VT8500 822b133d2a1SThierry Reding tristate "vt8500 PWM support" 823e96c0ff4SKrzysztof Kozlowski depends on ARCH_VT8500 || COMPILE_TEST 82471d4b833SUwe Kleine-König depends on HAS_IOMEM 825a245ccebSSascha Hauer help 826a245ccebSSascha Hauer Generic PWM framework driver for vt8500. 827a245ccebSSascha Hauer 828a245ccebSSascha Hauer To compile this driver as a module, choose M here: the module 829a245ccebSSascha Hauer will be called pwm-vt8500. 830a245ccebSSascha Hauer 831bc1ce713SSean Andersonconfig PWM_XILINX 832bc1ce713SSean Anderson tristate "Xilinx AXI Timer PWM support" 833bc1ce713SSean Anderson depends on OF_ADDRESS 834bc1ce713SSean Anderson depends on COMMON_CLK 835bc1ce713SSean Anderson select REGMAP_MMIO 836bc1ce713SSean Anderson help 837bc1ce713SSean Anderson PWM driver for Xilinx LogiCORE IP AXI timers. This timer is 838bc1ce713SSean Anderson typically a soft core which may be present in Xilinx FPGAs. 839bc1ce713SSean Anderson This device may also be present in Microblaze soft processors. 840bc1ce713SSean Anderson If you don't have this IP in your design, choose N. 841bc1ce713SSean Anderson 842bc1ce713SSean Anderson To compile this driver as a module, choose M here: the module 843bc1ce713SSean Anderson will be called pwm-xilinx. 844bc1ce713SSean Anderson 8457b3dce81SMichal Wilczynski config RUST_PWM_ABSTRACTIONS 8467b3dce81SMichal Wilczynski bool 8477b3dce81SMichal Wilczynski depends on RUST 8487b3dce81SMichal Wilczynski help 8497b3dce81SMichal Wilczynski This option enables the safe Rust abstraction layer for the PWM 8507b3dce81SMichal Wilczynski subsystem. It provides idiomatic wrappers and traits necessary for 8517b3dce81SMichal Wilczynski writing PWM controller drivers in Rust. 8527b3dce81SMichal Wilczynski 8537b3dce81SMichal Wilczynski The abstractions handle resource management (like memory and reference 8547b3dce81SMichal Wilczynski counting) and provide safe interfaces to the underlying C core, 8557b3dce81SMichal Wilczynski allowing driver logic to be written in safe Rust. 8567b3dce81SMichal Wilczynski 8570c2498f1SSascha Hauerendif 858