10c2498f1SSascha Hauermenuconfig PWM 2b817bf5cSThierry Reding bool "Pulse-Width Modulation (PWM) Support" 30c2498f1SSascha Hauer help 4b817bf5cSThierry Reding Generic Pulse-Width Modulation (PWM) support. 50c2498f1SSascha Hauer 6b817bf5cSThierry Reding In Pulse-Width Modulation, a variation of the width of pulses 7b817bf5cSThierry Reding in a rectangular pulse signal is used as a means to alter the 8b817bf5cSThierry Reding average power of the signal. Applications include efficient 9b817bf5cSThierry Reding power delivery and voltage regulation. In computer systems, 10b817bf5cSThierry Reding PWMs are commonly used to control fans or the brightness of 11b817bf5cSThierry Reding display backlights. 12b817bf5cSThierry Reding 13b817bf5cSThierry Reding This framework provides a generic interface to PWM devices 14b817bf5cSThierry Reding within the Linux kernel. On the driver side it provides an API 15b817bf5cSThierry Reding to register and unregister a PWM chip, an abstraction of a PWM 16b817bf5cSThierry Reding controller, that supports one or more PWM devices. Client 17b817bf5cSThierry Reding drivers can request PWM devices and use the generic framework 18b817bf5cSThierry Reding to configure as well as enable and disable them. 19b817bf5cSThierry Reding 20b817bf5cSThierry Reding This generic framework replaces the legacy PWM framework which 21b817bf5cSThierry Reding allows only a single driver implementing the required API. Not 22b817bf5cSThierry Reding all legacy implementations have been ported to the framework 23b817bf5cSThierry Reding yet. The framework provides an API that is backward compatible 24b817bf5cSThierry Reding with the legacy framework so that existing client drivers 25b817bf5cSThierry Reding continue to work as expected. 26b817bf5cSThierry Reding 27b817bf5cSThierry Reding If unsure, say no. 280c2498f1SSascha Hauer 290c2498f1SSascha Hauerif PWM 300c2498f1SSascha Hauer 3176abbddeSH Hartley Sweetenconfig PWM_SYSFS 3276abbddeSH Hartley Sweeten bool 3376abbddeSH Hartley Sweeten default y if SYSFS 3476abbddeSH Hartley Sweeten 356173f8f4SThierry Redingconfig PWM_AB8500 366173f8f4SThierry Reding tristate "AB8500 PWM support" 376173f8f4SThierry Reding depends on AB8500_CORE && ARCH_U8500 386173f8f4SThierry Reding help 396173f8f4SThierry Reding Generic PWM framework driver for Analog Baseband AB8500. 406173f8f4SThierry Reding 416173f8f4SThierry Reding To compile this driver as a module, choose M here: the module 426173f8f4SThierry Reding will be called pwm-ab8500. 436173f8f4SThierry Reding 4432b16d46SBo Shenconfig PWM_ATMEL 4532b16d46SBo Shen tristate "Atmel PWM support" 4632b16d46SBo Shen depends on ARCH_AT91 4732b16d46SBo Shen help 4832b16d46SBo Shen Generic PWM framework driver for Atmel SoC. 4932b16d46SBo Shen 5032b16d46SBo Shen To compile this driver as a module, choose M here: the module 5132b16d46SBo Shen will be called pwm-atmel. 5232b16d46SBo Shen 539421badeSBoris BREZILLONconfig PWM_ATMEL_TCB 54b133d2a1SThierry Reding tristate "Atmel TC Block PWM support" 559421badeSBoris BREZILLON depends on ATMEL_TCLIB && OF 569421badeSBoris BREZILLON help 579421badeSBoris BREZILLON Generic PWM framework driver for Atmel Timer Counter Block. 589421badeSBoris BREZILLON 599421badeSBoris BREZILLON A Timer Counter Block provides 6 PWM devices grouped by 2. 609421badeSBoris BREZILLON Devices in a given group must have the same period. 619421badeSBoris BREZILLON 629421badeSBoris BREZILLON To compile this driver as a module, choose M here: the module 639421badeSBoris BREZILLON will be called pwm-atmel-tcb. 649421badeSBoris BREZILLON 65a4315e3cSThierry Redingconfig PWM_BFIN 66a4315e3cSThierry Reding tristate "Blackfin PWM support" 67a4315e3cSThierry Reding depends on BFIN_GPTIMERS 68a4315e3cSThierry Reding help 69a4315e3cSThierry Reding Generic PWM framework driver for Blackfin. 70a4315e3cSThierry Reding 71a4315e3cSThierry Reding To compile this driver as a module, choose M here: the module 72a4315e3cSThierry Reding will be called pwm-bfin. 73a4315e3cSThierry Reding 747eb3f6ffSAlexander Shiyanconfig PWM_CLPS711X 757eb3f6ffSAlexander Shiyan tristate "CLPS711X PWM support" 767eb3f6ffSAlexander Shiyan depends on ARCH_CLPS711X || COMPILE_TEST 777eb3f6ffSAlexander Shiyan help 787eb3f6ffSAlexander Shiyan Generic PWM framework driver for Cirrus Logic CLPS711X. 797eb3f6ffSAlexander Shiyan 807eb3f6ffSAlexander Shiyan To compile this driver as a module, choose M here: the module 817eb3f6ffSAlexander Shiyan will be called pwm-clps711x. 827eb3f6ffSAlexander Shiyan 83a2308698SH Hartley Sweetenconfig PWM_EP93XX 84a2308698SH Hartley Sweeten tristate "Cirrus Logic EP93xx PWM support" 85a2308698SH Hartley Sweeten depends on ARCH_EP93XX 86a2308698SH Hartley Sweeten help 87a2308698SH Hartley Sweeten Generic PWM framework driver for Cirrus Logic EP93xx. 88a2308698SH Hartley Sweeten 89a2308698SH Hartley Sweeten To compile this driver as a module, choose M here: the module 90a2308698SH Hartley Sweeten will be called pwm-ep93xx. 91a2308698SH Hartley Sweeten 92b505183bSXiubo Liconfig PWM_FSL_FTM 93b505183bSXiubo Li tristate "Freescale FlexTimer Module (FTM) PWM support" 94b505183bSXiubo Li depends on OF 95b505183bSXiubo Li help 96b505183bSXiubo Li Generic FTM PWM framework driver for Freescale VF610 and 97b505183bSXiubo Li Layerscape LS-1 SoCs. 98b505183bSXiubo Li 99b505183bSXiubo Li To compile this driver as a module, choose M here: the module 100b505183bSXiubo Li will be called pwm-fsl-ftm. 101b505183bSXiubo Li 10229693248SSascha Hauerconfig PWM_IMX 103b133d2a1SThierry Reding tristate "i.MX PWM support" 10429693248SSascha Hauer depends on ARCH_MXC 10529693248SSascha Hauer help 10629693248SSascha Hauer Generic PWM framework driver for i.MX. 10729693248SSascha Hauer 10829693248SSascha Hauer To compile this driver as a module, choose M here: the module 10929693248SSascha Hauer will be called pwm-imx. 11029693248SSascha Hauer 111f6b8a570SThierry Redingconfig PWM_JZ4740 112f6b8a570SThierry Reding tristate "Ingenic JZ4740 PWM support" 113f6b8a570SThierry Reding depends on MACH_JZ4740 114f6b8a570SThierry Reding help 115f6b8a570SThierry Reding Generic PWM framework driver for Ingenic JZ4740 based 116f6b8a570SThierry Reding machines. 117f6b8a570SThierry Reding 118f6b8a570SThierry Reding To compile this driver as a module, choose M here: the module 119f6b8a570SThierry Reding will be called pwm-jz4740. 120f6b8a570SThierry Reding 121af66b3c0SMilo Kimconfig PWM_LP3943 122af66b3c0SMilo Kim tristate "TI/National Semiconductor LP3943 PWM support" 123af66b3c0SMilo Kim depends on MFD_LP3943 124af66b3c0SMilo Kim help 125af66b3c0SMilo Kim Generic PWM framework driver for LP3943 which supports two PWM 126af66b3c0SMilo Kim channels. 127af66b3c0SMilo Kim 128af66b3c0SMilo Kim To compile this driver as a module, choose M here: the module 129af66b3c0SMilo Kim will be called pwm-lp3943. 130af66b3c0SMilo Kim 1312132fa8dSAlexandre Pereira da Silvaconfig PWM_LPC32XX 1322132fa8dSAlexandre Pereira da Silva tristate "LPC32XX PWM support" 1332132fa8dSAlexandre Pereira da Silva depends on ARCH_LPC32XX 1342132fa8dSAlexandre Pereira da Silva help 1352132fa8dSAlexandre Pereira da Silva Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two 1362132fa8dSAlexandre Pereira da Silva PWM controllers. 1372132fa8dSAlexandre Pereira da Silva 1382132fa8dSAlexandre Pereira da Silva To compile this driver as a module, choose M here: the module 1392132fa8dSAlexandre Pereira da Silva will be called pwm-lpc32xx. 1402132fa8dSAlexandre Pereira da Silva 141*d16a5aa9SMika Westerbergconfig PWM_LPSS 142*d16a5aa9SMika Westerberg tristate "Intel LPSS PWM support" 143*d16a5aa9SMika Westerberg depends on ACPI 144*d16a5aa9SMika Westerberg help 145*d16a5aa9SMika Westerberg Generic PWM framework driver for Intel Low Power Subsystem PWM 146*d16a5aa9SMika Westerberg controller. 147*d16a5aa9SMika Westerberg 148*d16a5aa9SMika Westerberg To compile this driver as a module, choose M here: the module 149*d16a5aa9SMika Westerberg will be called pwm-lpss. 150*d16a5aa9SMika Westerberg 1514dce82c1SShawn Guoconfig PWM_MXS 1524dce82c1SShawn Guo tristate "Freescale MXS PWM support" 1534dce82c1SShawn Guo depends on ARCH_MXS && OF 15401bf32e9SShawn Guo select STMP_DEVICE 1554dce82c1SShawn Guo help 1564dce82c1SShawn Guo Generic PWM framework driver for Freescale MXS. 1574dce82c1SShawn Guo 1584dce82c1SShawn Guo To compile this driver as a module, choose M here: the module 1594dce82c1SShawn Guo will be called pwm-mxs. 1604dce82c1SShawn Guo 16188b613e6SSteffen Trumtrarconfig PWM_PCA9685 16288b613e6SSteffen Trumtrar tristate "NXP PCA9685 PWM driver" 1632c80a492SAxel Lin depends on OF && I2C 1642c80a492SAxel Lin select REGMAP_I2C 16588b613e6SSteffen Trumtrar help 16688b613e6SSteffen Trumtrar Generic PWM framework driver for NXP PCA9685 LED controller. 16788b613e6SSteffen Trumtrar 16888b613e6SSteffen Trumtrar To compile this driver as a module, choose M here: the module 16988b613e6SSteffen Trumtrar will be called pwm-pca9685. 17088b613e6SSteffen Trumtrar 17179c11b6fSThierry Redingconfig PWM_PUV3 17279c11b6fSThierry Reding tristate "PKUnity NetBook-0916 PWM support" 17379c11b6fSThierry Reding depends on ARCH_PUV3 17479c11b6fSThierry Reding help 17579c11b6fSThierry Reding Generic PWM framework driver for PKUnity NetBook-0916. 17679c11b6fSThierry Reding 17779c11b6fSThierry Reding To compile this driver as a module, choose M here: the module 17879c11b6fSThierry Reding will be called pwm-puv3. 17979c11b6fSThierry Reding 18017b2b478SThierry Redingconfig PWM_PXA 18117b2b478SThierry Reding tristate "PXA PWM support" 18217b2b478SThierry Reding depends on ARCH_PXA 18317b2b478SThierry Reding help 18417b2b478SThierry Reding Generic PWM framework driver for PXA. 18517b2b478SThierry Reding 18617b2b478SThierry Reding To compile this driver as a module, choose M here: the module 18717b2b478SThierry Reding will be called pwm-pxa. 18817b2b478SThierry Reding 18999b82abbSLaurent Pinchartconfig PWM_RENESAS_TPU 19099b82abbSLaurent Pinchart tristate "Renesas TPU PWM support" 19194d88d63SLaurent Pinchart depends on ARCH_SHMOBILE || COMPILE_TEST 1922974b098SRichard Weinberger depends on HAS_IOMEM 19399b82abbSLaurent Pinchart help 19499b82abbSLaurent Pinchart This driver exposes the Timer Pulse Unit (TPU) PWM controller found 19599b82abbSLaurent Pinchart in Renesas chips through the PWM API. 19699b82abbSLaurent Pinchart 19799b82abbSLaurent Pinchart To compile this driver as a module, choose M here: the module 19899b82abbSLaurent Pinchart will be called pwm-renesas-tpu. 19999b82abbSLaurent Pinchart 200215c29d3SSascha Hauerconfig PWM_SAMSUNG 201b133d2a1SThierry Reding tristate "Samsung PWM support" 202215c29d3SSascha Hauer depends on PLAT_SAMSUNG 203215c29d3SSascha Hauer help 204215c29d3SSascha Hauer Generic PWM framework driver for Samsung. 205215c29d3SSascha Hauer 206215c29d3SSascha Hauer To compile this driver as a module, choose M here: the module 207215c29d3SSascha Hauer will be called pwm-samsung. 208215c29d3SSascha Hauer 209ce20364bSShiraz Hashimconfig PWM_SPEAR 210ce20364bSShiraz Hashim tristate "STMicroelectronics SPEAr PWM support" 211ce20364bSShiraz Hashim depends on PLAT_SPEAR 212ce20364bSShiraz Hashim depends on OF 213ce20364bSShiraz Hashim help 214ce20364bSShiraz Hashim Generic PWM framework driver for the PWM controller on ST 215ce20364bSShiraz Hashim SPEAr SoCs. 216ce20364bSShiraz Hashim 217ce20364bSShiraz Hashim To compile this driver as a module, choose M here: the module 218ce20364bSShiraz Hashim will be called pwm-spear. 219ce20364bSShiraz Hashim 2200134b932SThierry Redingconfig PWM_TEGRA 2210134b932SThierry Reding tristate "NVIDIA Tegra PWM support" 2220134b932SThierry Reding depends on ARCH_TEGRA 2230134b932SThierry Reding help 2240134b932SThierry Reding Generic PWM framework driver for the PWFM controller found on NVIDIA 2250134b932SThierry Reding Tegra SoCs. 2260134b932SThierry Reding 2270134b932SThierry Reding To compile this driver as a module, choose M here: the module 2280134b932SThierry Reding will be called pwm-tegra. 2290134b932SThierry Reding 2308e0cb05bSPhilip, Avinashconfig PWM_TIECAP 2318e0cb05bSPhilip, Avinash tristate "ECAP PWM support" 2321bf0f20bSPhilip Avinash depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX 2338e0cb05bSPhilip, Avinash help 2348e0cb05bSPhilip, Avinash PWM driver support for the ECAP APWM controller found on AM33XX 2358e0cb05bSPhilip, Avinash TI SOC 2368e0cb05bSPhilip, Avinash 2378e0cb05bSPhilip, Avinash To compile this driver as a module, choose M here: the module 2388e0cb05bSPhilip, Avinash will be called pwm-tiecap. 2398e0cb05bSPhilip, Avinash 24019891b20SPhilip, Avinashconfig PWM_TIEHRPWM 24119891b20SPhilip, Avinash tristate "EHRPWM PWM support" 2421bf0f20bSPhilip Avinash depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX 24319891b20SPhilip, Avinash help 24419891b20SPhilip, Avinash PWM driver support for the EHRPWM controller found on AM33XX 24519891b20SPhilip, Avinash TI SOC 24619891b20SPhilip, Avinash 24719891b20SPhilip, Avinash To compile this driver as a module, choose M here: the module 24819891b20SPhilip, Avinash will be called pwm-tiehrpwm. 24919891b20SPhilip, Avinash 250af0ba001SPhilip, Avinashconfig PWM_TIPWMSS 251af0ba001SPhilip, Avinash bool 2521bf0f20bSPhilip Avinash default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM) 253af0ba001SPhilip, Avinash help 254af0ba001SPhilip, Avinash PWM Subsystem driver support for AM33xx SOC. 255af0ba001SPhilip, Avinash 256af0ba001SPhilip, Avinash PWM submodules require PWM config space access from submodule 257af0ba001SPhilip, Avinash drivers and require common parent driver support. 258af0ba001SPhilip, Avinash 2593744c263SPeter Ujfalusiconfig PWM_TWL 2603744c263SPeter Ujfalusi tristate "TWL4030/6030 PWM support" 2613744c263SPeter Ujfalusi depends on TWL4030_CORE 2623744c263SPeter Ujfalusi help 2633744c263SPeter Ujfalusi Generic PWM framework driver for TWL4030/6030. 2643744c263SPeter Ujfalusi 2653744c263SPeter Ujfalusi To compile this driver as a module, choose M here: the module 2663744c263SPeter Ujfalusi will be called pwm-twl. 2673744c263SPeter Ujfalusi 268aa765647SPeter Ujfalusiconfig PWM_TWL_LED 269aa765647SPeter Ujfalusi tristate "TWL4030/6030 PWM support for LED drivers" 270aa765647SPeter Ujfalusi depends on TWL4030_CORE 271aa765647SPeter Ujfalusi help 272aa765647SPeter Ujfalusi Generic PWM framework driver for TWL4030/6030 LED terminals. 273aa765647SPeter Ujfalusi 274aa765647SPeter Ujfalusi To compile this driver as a module, choose M here: the module 275aa765647SPeter Ujfalusi will be called pwm-twl-led. 276aa765647SPeter Ujfalusi 277a245ccebSSascha Hauerconfig PWM_VT8500 278b133d2a1SThierry Reding tristate "vt8500 PWM support" 279a245ccebSSascha Hauer depends on ARCH_VT8500 280a245ccebSSascha Hauer help 281a245ccebSSascha Hauer Generic PWM framework driver for vt8500. 282a245ccebSSascha Hauer 283a245ccebSSascha Hauer To compile this driver as a module, choose M here: the module 284a245ccebSSascha Hauer will be called pwm-vt8500. 285a245ccebSSascha Hauer 2860c2498f1SSascha Hauerendif 287