aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-04-13 18:46:21 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-04-13 18:46:21 -0400
commitdaf3ef6e965d1d51d6ec604a8fc9919b75d5ec3c (patch)
tree643eeb6adc04a5e0a038d1a1dcbb2f6c8169c47e /Documentation/devicetree
parent41531f58a6513b86f8f379117eca82502022b4a9 (diff)
parent6873842235d678a245a378669f35e145df2441b9 (diff)
Merge tag 'pwm/for-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
Pull pwm updates from Thierry Reding: "This set of changes adds support for more generations of the RCar controller as well as runtime PM support. The JZ4740 driver gains support for device tree and can now be used on all Ingenic SoCs. Rounding things off is a random assortment of fixes and cleanups all across the board" * tag 'pwm/for-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (29 commits) pwm: rcar: Add suspend/resume support pwm: rcar: Use PM Runtime to control module clock dt-bindings: pwm: rcar: Add bindings for R-Car M3N support pwm: rcar: Fix a condition to prevent mismatch value setting to duty pwm: sysfs: Use put_device() instead of kfree() dt-bindings: pwm: sunxi: Add new compatible strings pwm: sun4i: Simplify controller mapping pwm: sun4i: Drop unused .has_rdy member pwm: sun4i: Properly check current state pwm: Remove depends on AVR32 pwm: stm32: LPTimer: Use 3 cells ->of_xlate() dt-bindings: pwm-stm32-lp: Add #pwm-cells pwm: stm32: Protect common prescaler for all channels pwm: stm32: Remove unused struct device pwm: mediatek: Improve precision in rate calculation pwm: mediatek: Remove redundant MODULE_ALIAS entries pwm: mediatek: Fix up PWM4 and PWM5 malfunction on MT7623 pwm: jz4740: Enable for all Ingenic SoCs pwm: jz4740: Add support for devicetree pwm: jz4740: Implement ->set_polarity() ...
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r--Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt25
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm-stm32-lp.txt3
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm-sun4i.txt2
-rw-r--r--Documentation/devicetree/bindings/pwm/renesas,pwm-rcar.txt11
-rw-r--r--Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.txt10
5 files changed, 44 insertions, 7 deletions
diff --git a/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt b/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt
new file mode 100644
index 000000000000..7d9d3f90641b
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/ingenic,jz47xx-pwm.txt
@@ -0,0 +1,25 @@
1Ingenic JZ47xx PWM Controller
2=============================
3
4Required properties:
5- compatible: One of:
6 * "ingenic,jz4740-pwm"
7 * "ingenic,jz4770-pwm"
8 * "ingenic,jz4780-pwm"
9- #pwm-cells: Should be 3. See pwm.txt in this directory for a description
10 of the cells format.
11- clocks : phandle to the external clock.
12- clock-names : Should be "ext".
13
14
15Example:
16
17 pwm: pwm@10002000 {
18 compatible = "ingenic,jz4740-pwm";
19 reg = <0x10002000 0x1000>;
20
21 #pwm-cells = <3>;
22
23 clocks = <&ext>;
24 clock-names = "ext";
25 };
diff --git a/Documentation/devicetree/bindings/pwm/pwm-stm32-lp.txt b/Documentation/devicetree/bindings/pwm/pwm-stm32-lp.txt
index f8338d11fd2b..bd23302e84be 100644
--- a/Documentation/devicetree/bindings/pwm/pwm-stm32-lp.txt
+++ b/Documentation/devicetree/bindings/pwm/pwm-stm32-lp.txt
@@ -7,6 +7,8 @@ See ../mfd/stm32-lptimer.txt for details about the parent node.
7 7
8Required parameters: 8Required parameters:
9- compatible: Must be "st,stm32-pwm-lp". 9- compatible: Must be "st,stm32-pwm-lp".
10- #pwm-cells: Should be set to 3. This PWM chip uses the default 3 cells
11 bindings defined in pwm.txt.
10 12
11Optional properties: 13Optional properties:
12- pinctrl-names: Set to "default". 14- pinctrl-names: Set to "default".
@@ -18,6 +20,7 @@ Example:
18 ... 20 ...
19 pwm { 21 pwm {
20 compatible = "st,stm32-pwm-lp"; 22 compatible = "st,stm32-pwm-lp";
23 #pwm-cells = <3>;
21 pinctrl-names = "default"; 24 pinctrl-names = "default";
22 pinctrl-0 = <&lppwm1_pins>; 25 pinctrl-0 = <&lppwm1_pins>;
23 }; 26 };
diff --git a/Documentation/devicetree/bindings/pwm/pwm-sun4i.txt b/Documentation/devicetree/bindings/pwm/pwm-sun4i.txt
index 51ff54c8b8ef..2a1affbff45e 100644
--- a/Documentation/devicetree/bindings/pwm/pwm-sun4i.txt
+++ b/Documentation/devicetree/bindings/pwm/pwm-sun4i.txt
@@ -7,6 +7,8 @@ Required properties:
7 - "allwinner,sun5i-a13-pwm" 7 - "allwinner,sun5i-a13-pwm"
8 - "allwinner,sun7i-a20-pwm" 8 - "allwinner,sun7i-a20-pwm"
9 - "allwinner,sun8i-h3-pwm" 9 - "allwinner,sun8i-h3-pwm"
10 - "allwinner,sun50i-a64-pwm", "allwinner,sun5i-a13-pwm"
11 - "allwinner,sun50i-h5-pwm", "allwinner,sun5i-a13-pwm"
10 - reg: physical base address and length of the controller's registers 12 - reg: physical base address and length of the controller's registers
11 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of 13 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
12 the cells format. 14 the cells format.
diff --git a/Documentation/devicetree/bindings/pwm/renesas,pwm-rcar.txt b/Documentation/devicetree/bindings/pwm/renesas,pwm-rcar.txt
index 74c118015980..35a3b9761ee5 100644
--- a/Documentation/devicetree/bindings/pwm/renesas,pwm-rcar.txt
+++ b/Documentation/devicetree/bindings/pwm/renesas,pwm-rcar.txt
@@ -2,6 +2,8 @@
2 2
3Required Properties: 3Required Properties:
4- compatible: should be "renesas,pwm-rcar" and one of the following. 4- compatible: should be "renesas,pwm-rcar" and one of the following.
5 - "renesas,pwm-r8a7743": for RZ/G1M
6 - "renesas,pwm-r8a7745": for RZ/G1E
5 - "renesas,pwm-r8a7778": for R-Car M1A 7 - "renesas,pwm-r8a7778": for R-Car M1A
6 - "renesas,pwm-r8a7779": for R-Car H1 8 - "renesas,pwm-r8a7779": for R-Car H1
7 - "renesas,pwm-r8a7790": for R-Car H2 9 - "renesas,pwm-r8a7790": for R-Car H2
@@ -9,6 +11,7 @@ Required Properties:
9 - "renesas,pwm-r8a7794": for R-Car E2 11 - "renesas,pwm-r8a7794": for R-Car E2
10 - "renesas,pwm-r8a7795": for R-Car H3 12 - "renesas,pwm-r8a7795": for R-Car H3
11 - "renesas,pwm-r8a7796": for R-Car M3-W 13 - "renesas,pwm-r8a7796": for R-Car M3-W
14 - "renesas,pwm-r8a77965": for R-Car M3-N
12 - "renesas,pwm-r8a77995": for R-Car D3 15 - "renesas,pwm-r8a77995": for R-Car D3
13- reg: base address and length of the registers block for the PWM. 16- reg: base address and length of the registers block for the PWM.
14- #pwm-cells: should be 2. See pwm.txt in this directory for a description of 17- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
@@ -17,13 +20,15 @@ Required Properties:
17- pinctrl-0: phandle, referring to a default pin configuration node. 20- pinctrl-0: phandle, referring to a default pin configuration node.
18- pinctrl-names: Set to "default". 21- pinctrl-names: Set to "default".
19 22
20Example: R8A7790 (R-Car H2) PWM Timer node 23Example: R8A7743 (RZ/G1M) PWM Timer node
21 24
22 pwm0: pwm@e6e30000 { 25 pwm0: pwm@e6e30000 {
23 compatible = "renesas,pwm-r8a7790", "renesas,pwm-rcar"; 26 compatible = "renesas,pwm-r8a7743", "renesas,pwm-rcar";
24 reg = <0 0xe6e30000 0 0x8>; 27 reg = <0 0xe6e30000 0 0x8>;
28 clocks = <&cpg CPG_MOD 523>;
29 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
30 resets = <&cpg 523>;
25 #pwm-cells = <2>; 31 #pwm-cells = <2>;
26 clocks = <&mstp5_clks R8A7790_CLK_PWM>;
27 pinctrl-0 = <&pwm0_pins>; 32 pinctrl-0 = <&pwm0_pins>;
28 pinctrl-names = "default"; 33 pinctrl-names = "default";
29 }; 34 };
diff --git a/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.txt b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.txt
index 1aadc804dae4..d53a16715da6 100644
--- a/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.txt
@@ -3,10 +3,12 @@
3Required Properties: 3Required Properties:
4 4
5 - compatible: should be one of the following. 5 - compatible: should be one of the following.
6 - "renesas,tpu-r8a73a4": for R8A77A4 (R-Mobile APE6) compatible PWM controller. 6 - "renesas,tpu-r8a73a4": for R8A73A4 (R-Mobile APE6) compatible PWM controller.
7 - "renesas,tpu-r8a7740": for R8A7740 (R-Mobile A1) compatible PWM controller. 7 - "renesas,tpu-r8a7740": for R8A7740 (R-Mobile A1) compatible PWM controller.
8 - "renesas,tpu-r8a7743": for R8A7743 (RZ/G1M) compatible PWM controller.
9 - "renesas,tpu-r8a7745": for R8A7745 (RZ/G1E) compatible PWM controller.
8 - "renesas,tpu-r8a7790": for R8A7790 (R-Car H2) compatible PWM controller. 10 - "renesas,tpu-r8a7790": for R8A7790 (R-Car H2) compatible PWM controller.
9 - "renesas,tpu": for generic R-Car TPU PWM controller. 11 - "renesas,tpu": for generic R-Car and RZ/G1 TPU PWM controller.
10 12
11 - reg: Base address and length of each memory resource used by the PWM 13 - reg: Base address and length of each memory resource used by the PWM
12 controller hardware module. 14 controller hardware module.
@@ -18,10 +20,10 @@ Required Properties:
18Please refer to pwm.txt in this directory for details of the common PWM bindings 20Please refer to pwm.txt in this directory for details of the common PWM bindings
19used by client devices. 21used by client devices.
20 22
21Example: R8A7740 (R-Car A1) TPU controller node 23Example: R8A7740 (R-Mobile A1) TPU controller node
22 24
23 tpu: pwm@e6600000 { 25 tpu: pwm@e6600000 {
24 compatible = "renesas,tpu-r8a7740", "renesas,tpu"; 26 compatible = "renesas,tpu-r8a7740", "renesas,tpu";
25 reg = <0xe6600000 0x100>; 27 reg = <0xe6600000 0x148>;
26 #pwm-cells = <3>; 28 #pwm-cells = <3>;
27 }; 29 };