Skip to content

Commit 75bdc92

Browse files
committed
Merge tag 'pwm/for-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
Pull pwm updates from Thierry Reding: "There's quite a few changes this time around. Most of these are fixes and cleanups, but there's also new chip support for some drivers and a bit of rework" * tag 'pwm/for-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (33 commits) pwm: pca9685: Fix PWM/GPIO inter-operation pwm: Make pwm_apply_state_debug() static pwm: meson: Remove redundant assignment to variable fin_freq pwm: jz4740: Allow selection of PWM channels 0 and 1 pwm: jz4740: Obtain regmap from parent node pwm: jz4740: Improve algorithm of clock calculation pwm: jz4740: Use clocks from TCU driver pwm: sun4i: Remove redundant needs_delay pwm: omap-dmtimer: Implement .apply callback pwm: omap-dmtimer: Do not disable PWM before changing period/duty_cycle pwm: omap-dmtimer: Fix PWM enabling sequence pwm: omap-dmtimer: Update description for PWM OMAP DM timer pwm: omap-dmtimer: Drop unused header file pwm: renesas-tpu: Drop confusing registered message pwm: renesas-tpu: Fix late Runtime PM enablement pwm: rcar: Fix late Runtime PM enablement dt-bindings: pwm: renesas-tpu: Document more R-Car Gen2 support pwm: meson: Fix confusing indentation pwm: pca9685: Use gpio core provided macro GPIO_LINE_DIRECTION_OUT pwm: pca9685: Replace CONFIG_PM with __maybe_unused ...
2 parents 6900433 + 9cc5f23 commit 75bdc92

File tree

20 files changed

+563
-349
lines changed

20 files changed

+563
-349
lines changed

Documentation/devicetree/bindings/pwm/google,cros-ec-pwm.txt

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pwm/google,cros-ec-pwm.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: PWM controlled by ChromeOS EC
8+
9+
maintainers:
10+
- Thierry Reding <[email protected]>
11+
- '"Uwe Kleine-König" <[email protected]>'
12+
13+
description: |
14+
Google's ChromeOS EC PWM is a simple PWM attached to the Embedded Controller
15+
(EC) and controlled via a host-command interface.
16+
An EC PWM node should be only found as a sub-node of the EC node (see
17+
Documentation/devicetree/bindings/mfd/cros-ec.txt).
18+
19+
properties:
20+
compatible:
21+
const: google,cros-ec-pwm
22+
"#pwm-cells":
23+
description: The cell specifies the PWM index.
24+
const: 1
25+
26+
required:
27+
- compatible
28+
- '#pwm-cells'
29+
30+
additionalProperties: false
31+
32+
examples:
33+
- |
34+
cros-ec@0 {
35+
compatible = "google,cros-ec-spi";
36+
cros_ec_pwm: ec-pwm {
37+
compatible = "google,cros-ec-pwm";
38+
#pwm-cells = <1>;
39+
};
40+
};

Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Required properties:
99
- "nvidia,tegra132-pwm", "nvidia,tegra20-pwm": for Tegra132
1010
- "nvidia,tegra210-pwm", "nvidia,tegra20-pwm": for Tegra210
1111
- "nvidia,tegra186-pwm": for Tegra186
12+
- "nvidia,tegra194-pwm": for Tegra194
1213
- reg: physical base address and length of the controller's registers
1314
- #pwm-cells: should be 2. See pwm.yaml in this directory for a description of
1415
the cells format.

drivers/pwm/Kconfig

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ config PWM_SYSFS
3333
bool
3434
default y if SYSFS
3535

36+
config PWM_DEBUG
37+
bool "PWM lowlevel drivers additional checks and debug messages"
38+
depends on DEBUG_KERNEL
39+
help
40+
This option enables some additional checks to help lowlevel driver
41+
authors to get their callbacks implemented correctly.
42+
It is expected to introduce some runtime overhead and diagnostic
43+
output to the kernel log, so only enable while working on a driver.
44+
3645
config PWM_AB8500
3746
tristate "AB8500 PWM support"
3847
depends on AB8500_CORE && ARCH_U8500
@@ -44,7 +53,8 @@ config PWM_AB8500
4453

4554
config PWM_ATMEL
4655
tristate "Atmel PWM support"
47-
depends on ARCH_AT91 && OF
56+
depends on OF
57+
depends on ARCH_AT91 || COMPILE_TEST
4858
help
4959
Generic PWM framework driver for Atmel SoC.
5060

@@ -100,7 +110,7 @@ config PWM_BCM_KONA
100110

101111
config PWM_BCM2835
102112
tristate "BCM2835 PWM support"
103-
depends on ARCH_BCM2835 || ARCH_BRCMSTB
113+
depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
104114
help
105115
PWM framework driver for BCM2835 controller (Raspberry Pi)
106116

@@ -109,7 +119,7 @@ config PWM_BCM2835
109119

110120
config PWM_BERLIN
111121
tristate "Marvell Berlin PWM support"
112-
depends on ARCH_BERLIN
122+
depends on ARCH_BERLIN || COMPILE_TEST
113123
help
114124
PWM framework driver for Marvell Berlin SoCs.
115125

@@ -118,7 +128,7 @@ config PWM_BERLIN
118128

119129
config PWM_BRCMSTB
120130
tristate "Broadcom STB PWM support"
121-
depends on ARCH_BRCMSTB || BMIPS_GENERIC
131+
depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
122132
help
123133
Generic PWM framework driver for the Broadcom Set-top-Box
124134
SoCs (BCM7xxx).
@@ -152,7 +162,7 @@ config PWM_CROS_EC
152162

153163
config PWM_EP93XX
154164
tristate "Cirrus Logic EP93xx PWM support"
155-
depends on ARCH_EP93XX
165+
depends on ARCH_EP93XX || COMPILE_TEST
156166
help
157167
Generic PWM framework driver for Cirrus Logic EP93xx.
158168

@@ -195,7 +205,7 @@ config PWM_IMG
195205

196206
config PWM_IMX1
197207
tristate "i.MX1 PWM support"
198-
depends on ARCH_MXC
208+
depends on ARCH_MXC || COMPILE_TEST
199209
help
200210
Generic PWM framework driver for i.MX1 and i.MX21
201211

@@ -204,7 +214,7 @@ config PWM_IMX1
204214

205215
config PWM_IMX27
206216
tristate "i.MX27 PWM support"
207-
depends on ARCH_MXC
217+
depends on ARCH_MXC || COMPILE_TEST
208218
help
209219
Generic PWM framework driver for i.MX27 and later i.MX SoCs.
210220

@@ -225,6 +235,8 @@ config PWM_IMX_TPM
225235
config PWM_JZ4740
226236
tristate "Ingenic JZ47xx PWM support"
227237
depends on MACH_INGENIC
238+
depends on COMMON_CLK
239+
select MFD_SYSCON
228240
help
229241
Generic PWM framework driver for Ingenic JZ47xx based
230242
machines.
@@ -244,7 +256,7 @@ config PWM_LP3943
244256

245257
config PWM_LPC18XX_SCT
246258
tristate "LPC18xx/43xx PWM/SCT support"
247-
depends on ARCH_LPC18XX
259+
depends on ARCH_LPC18XX || COMPILE_TEST
248260
help
249261
Generic PWM framework driver for NXP LPC18xx PWM/SCT which
250262
supports 16 channels.
@@ -256,7 +268,7 @@ config PWM_LPC18XX_SCT
256268

257269
config PWM_LPC32XX
258270
tristate "LPC32XX PWM support"
259-
depends on ARCH_LPC32XX
271+
depends on ARCH_LPC32XX || COMPILE_TEST
260272
help
261273
Generic PWM framework driver for LPC32XX. The LPC32XX SOC has two
262274
PWM controllers.
@@ -289,7 +301,8 @@ config PWM_LPSS_PLATFORM
289301

290302
config PWM_MESON
291303
tristate "Amlogic Meson PWM driver"
292-
depends on ARCH_MESON
304+
depends on ARCH_MESON || COMPILE_TEST
305+
depends on COMMON_CLK
293306
help
294307
The platform driver for Amlogic Meson PWM controller.
295308

@@ -318,7 +331,8 @@ config PWM_MEDIATEK
318331

319332
config PWM_MXS
320333
tristate "Freescale MXS PWM support"
321-
depends on ARCH_MXS && OF
334+
depends on OF
335+
depends on ARCH_MXS || COMPILE_TEST
322336
select STMP_DEVICE
323337
help
324338
Generic PWM framework driver for Freescale MXS.
@@ -357,7 +371,7 @@ config PWM_PUV3
357371

358372
config PWM_PXA
359373
tristate "PXA PWM support"
360-
depends on ARCH_PXA
374+
depends on ARCH_PXA || COMPILE_TEST
361375
help
362376
Generic PWM framework driver for PXA.
363377

@@ -388,14 +402,14 @@ config PWM_RENESAS_TPU
388402

389403
config PWM_ROCKCHIP
390404
tristate "Rockchip PWM support"
391-
depends on ARCH_ROCKCHIP
405+
depends on ARCH_ROCKCHIP || COMPILE_TEST
392406
help
393407
Generic PWM framework driver for the PWM controller found on
394408
Rockchip SoCs.
395409

396410
config PWM_SAMSUNG
397411
tristate "Samsung PWM support"
398-
depends on PLAT_SAMSUNG || ARCH_EXYNOS
412+
depends on PLAT_SAMSUNG || ARCH_EXYNOS || COMPILE_TEST
399413
help
400414
Generic PWM framework driver for Samsung.
401415

@@ -415,7 +429,7 @@ config PWM_SIFIVE
415429

416430
config PWM_SPEAR
417431
tristate "STMicroelectronics SPEAr PWM support"
418-
depends on PLAT_SPEAR
432+
depends on PLAT_SPEAR || COMPILE_TEST
419433
depends on OF
420434
help
421435
Generic PWM framework driver for the PWM controller on ST
@@ -437,7 +451,7 @@ config PWM_SPRD
437451

438452
config PWM_STI
439453
tristate "STiH4xx PWM support"
440-
depends on ARCH_STI
454+
depends on ARCH_STI || COMPILE_TEST
441455
depends on OF
442456
help
443457
Generic PWM framework driver for STiH4xx SoCs.
@@ -447,7 +461,7 @@ config PWM_STI
447461

448462
config PWM_STM32
449463
tristate "STMicroelectronics STM32 PWM"
450-
depends on MFD_STM32_TIMERS
464+
depends on MFD_STM32_TIMERS || COMPILE_TEST
451465
help
452466
Generic PWM framework driver for STM32 SoCs.
453467

@@ -483,7 +497,7 @@ config PWM_SUN4I
483497

484498
config PWM_TEGRA
485499
tristate "NVIDIA Tegra PWM support"
486-
depends on ARCH_TEGRA
500+
depends on ARCH_TEGRA || COMPILE_TEST
487501
help
488502
Generic PWM framework driver for the PWFM controller found on NVIDIA
489503
Tegra SoCs.
@@ -493,7 +507,7 @@ config PWM_TEGRA
493507

494508
config PWM_TIECAP
495509
tristate "ECAP PWM support"
496-
depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3
510+
depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
497511
help
498512
PWM driver support for the ECAP APWM controller found on TI SOCs
499513

@@ -502,7 +516,7 @@ config PWM_TIECAP
502516

503517
config PWM_TIEHRPWM
504518
tristate "EHRPWM PWM support"
505-
depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3
519+
depends on ARCH_OMAP2PLUS || ARCH_DAVINCI_DA8XX || ARCH_K3 || COMPILE_TEST
506520
help
507521
PWM driver support for the EHRPWM controller found on TI SOCs
508522

@@ -529,7 +543,7 @@ config PWM_TWL_LED
529543

530544
config PWM_VT8500
531545
tristate "vt8500 PWM support"
532-
depends on ARCH_VT8500
546+
depends on ARCH_VT8500 || COMPILE_TEST
533547
help
534548
Generic PWM framework driver for vt8500.
535549

@@ -538,7 +552,7 @@ config PWM_VT8500
538552

539553
config PWM_ZX
540554
tristate "ZTE ZX PWM support"
541-
depends on ARCH_ZX
555+
depends on ARCH_ZX || COMPILE_TEST
542556
help
543557
Generic PWM framework driver for ZTE ZX family SoCs.
544558

0 commit comments

Comments
 (0)