Skip to content

Commit 11147c1

Browse files
committed
Merge tag 'pwm/for-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux
Pull pwm updates from Uwe Kleine-König: "This time around the pwm changes for the next release contain three new drivers (loongson, mc33xs2410 and rzg2l-gpt) and the usual collection of cleanups in both the core and drivers, support for new variants in existing drivers, conversion of dt bindings to yaml and documentation updates. Thanks for contributions and reviews go to Alexey Charkov, AngeloGioacchino Del Regno, Bartosz Golaszewski, Biju Das, Binbin Zhou, Dan Carpenter, Dimitri Fedrau, Geert Uytterhoeven, George Stark, Huacai Chen, Juxin Gao, Krzysztof Kozlowski, Kuninori Morimoto, Laurent Pinchart, Neil Armstrong, Nuno Sá, Rob Herring, and Trevor Gamblin" * tag 'pwm/for-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux: (39 commits) dt-bindings: timer: renesas,tpu: remove binding documentation pwm: adp5585: make sure to include mod_devicetable.h pwm: Tidyup PWM menu for Renesas pwm: Restore alphabetic ordering in Kconfig and Makefile pwm: Formally describe the procedure used to pick a hardware waveform setting pwm: Let pwm_set_waveform_might_sleep() return 0 instead of 1 after rounding up pwm: Let pwm_set_waveform_might_sleep() fail for exact but impossible requests ARM: shmobile: defconfig: Enable more support for RZN1D-DB/EB arm64: defconfig: Add Renesas MSIOF sound support arm64: defconfig: Enable Renesas RZ/G2L GPT config pwm: add support for NXPs high-side switch MC33XS2410 dt-bindings: pwm: add support for MC33XS2410 pwm: rzg2l-gpt: Accept requests for too high period length dt-bindings: pwm: vt8500-pwm: Convert to YAML dt-bindings: pwm: mediatek,pwm-disp: Add compatible for MT6893 pwm: Fix various formatting issues in kernel-doc pwm: Add support for RZ/G2L GPT dt-bindings: pwm: Add RZ/G2L GPT binding pwm: Better document return value of pwm_round_waveform_might_sleep() pwm: loongson: Fix an error code in probe() ...
2 parents d48d838 + c0c980f commit 11147c1

23 files changed

+2086
-212
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pwm/loongson,ls7a-pwm.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Loongson PWM Controller
8+
9+
maintainers:
10+
- Binbin Zhou <zhoubinbin@loongson.cn>
11+
12+
description:
13+
The Loongson PWM has one pulse width output signal and one pulse input
14+
signal to be measured.
15+
It can be found on Loongson-2K series cpus and Loongson LS7A bridge chips.
16+
17+
allOf:
18+
- $ref: pwm.yaml#
19+
20+
properties:
21+
compatible:
22+
oneOf:
23+
- const: loongson,ls7a-pwm
24+
- items:
25+
- enum:
26+
- loongson,ls2k0500-pwm
27+
- loongson,ls2k1000-pwm
28+
- loongson,ls2k2000-pwm
29+
- const: loongson,ls7a-pwm
30+
31+
reg:
32+
maxItems: 1
33+
34+
interrupts:
35+
maxItems: 1
36+
37+
clocks:
38+
maxItems: 1
39+
40+
'#pwm-cells':
41+
description:
42+
The first cell must have a value of 0, which specifies the PWM output signal;
43+
The second cell is the period in nanoseconds;
44+
The third cell flag supported by this binding is PWM_POLARITY_INVERTED.
45+
const: 3
46+
47+
required:
48+
- compatible
49+
- reg
50+
- interrupts
51+
- clocks
52+
53+
additionalProperties: false
54+
55+
examples:
56+
- |
57+
#include <dt-bindings/interrupt-controller/irq.h>
58+
#include <dt-bindings/clock/loongson,ls2k-clk.h>
59+
60+
pwm@1fe22000 {
61+
compatible = "loongson,ls2k1000-pwm", "loongson,ls7a-pwm";
62+
reg = <0x1fe22000 0x10>;
63+
interrupt-parent = <&liointc0>;
64+
interrupts = <24 IRQ_TYPE_LEVEL_HIGH>;
65+
clocks = <&clk LOONGSON2_APB_CLK>;
66+
#pwm-cells = <3>;
67+
};

Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ properties:
2727
- const: mediatek,mt8173-disp-pwm
2828
- items:
2929
- enum:
30+
- mediatek,mt6893-disp-pwm
3031
- mediatek,mt8186-disp-pwm
3132
- mediatek,mt8188-disp-pwm
3233
- mediatek,mt8192-disp-pwm
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pwm/nxp,mc33xs2410.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: High-side switch MC33XS2410
8+
9+
maintainers:
10+
- Dimitri Fedrau <dima.fedrau@gmail.com>
11+
12+
allOf:
13+
- $ref: pwm.yaml#
14+
- $ref: /schemas/spi/spi-peripheral-props.yaml#
15+
16+
properties:
17+
compatible:
18+
const: nxp,mc33xs2410
19+
20+
reg:
21+
maxItems: 1
22+
23+
spi-max-frequency:
24+
maximum: 10000000
25+
26+
spi-cpha: true
27+
28+
spi-cs-setup-delay-ns:
29+
minimum: 100
30+
default: 100
31+
32+
spi-cs-hold-delay-ns:
33+
minimum: 10
34+
default: 10
35+
36+
spi-cs-inactive-delay-ns:
37+
minimum: 300
38+
default: 300
39+
40+
reset-gpios:
41+
description:
42+
GPIO connected to the active low reset pin.
43+
maxItems: 1
44+
45+
"#pwm-cells":
46+
const: 3
47+
48+
pwm-names:
49+
items:
50+
- const: di0
51+
- const: di1
52+
- const: di2
53+
- const: di3
54+
55+
pwms:
56+
description:
57+
Direct inputs(di0-3) are used to directly turn-on or turn-off the
58+
outputs.
59+
maxItems: 4
60+
61+
interrupts:
62+
maxItems: 1
63+
64+
clocks:
65+
description:
66+
The external clock can be used if the internal clock doesn't meet
67+
timing requirements over temperature and voltage operating range.
68+
maxItems: 1
69+
70+
vdd-supply:
71+
description:
72+
Logic supply voltage
73+
74+
vspi-supply:
75+
description:
76+
Supply voltage for SPI
77+
78+
vpwr-supply:
79+
description:
80+
Power switch supply
81+
82+
required:
83+
- compatible
84+
- reg
85+
86+
unevaluatedProperties: false
87+
88+
examples:
89+
- |
90+
#include <dt-bindings/gpio/gpio.h>
91+
#include <dt-bindings/interrupt-controller/irq.h>
92+
spi {
93+
#address-cells = <1>;
94+
#size-cells = <0>;
95+
96+
pwm@0 {
97+
compatible = "nxp,mc33xs2410";
98+
reg = <0x0>;
99+
spi-max-frequency = <4000000>;
100+
spi-cpha;
101+
spi-cs-setup-delay-ns = <100>;
102+
spi-cs-hold-delay-ns = <10>;
103+
spi-cs-inactive-delay-ns = <300>;
104+
reset-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
105+
#pwm-cells = <3>;
106+
pwm-names = "di0", "di1", "di2", "di3";
107+
pwms = <&pwm0 0 1000000>,
108+
<&pwm1 0 1000000>,
109+
<&pwm2 0 1000000>,
110+
<&pwm3 0 1000000>;
111+
interrupt-parent = <&gpio0>;
112+
interrupts = <31 IRQ_TYPE_LEVEL_LOW>;
113+
clocks = <&clk_ext_fixed>;
114+
vdd-supply = <&reg_3v3>;
115+
vspi-supply = <&reg_3v3>;
116+
vpwr-supply = <&reg_24v0>;
117+
};
118+
};

0 commit comments

Comments
 (0)