linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] ARM: am335x/am437x: Correct PWM bindings
@ 2016-03-17 22:07 Franklin S Cooper Jr
  2016-03-17 22:07 ` [PATCH v2 1/3] clk: ti: am335x/am4372: Add tbclk to pwm node Franklin S Cooper Jr
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Franklin S Cooper Jr @ 2016-03-17 22:07 UTC (permalink / raw)
  To: linux-arm-kernel

Unlike the majority of other SOCs the PWM node uses ehrpwm instead of
the generic pwm node name. This patch series switches to the pwm node
name and while at it fix some other minor binding documentation issues.

This patch series also includes a patch to insure ABI compatibility.

This series was tested on AM335x and AM437x GP evm. I also validated that
ABI compatibility was maintained.

V2 changes:
Dropped patches related to the ranges property.

Franklin S Cooper Jr (3):
  clk: ti: am335x/am4372: Add tbclk to pwm node
  ARM: DTS: da850/am4372/am33xx: Use generic node name for ehrpwm
  pwm: pwm-tiehrpwm: Update dt binding document to use generic node name

 Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt |  4 ++--
 arch/arm/boot/dts/am33xx.dtsi                          |  6 +++---
 arch/arm/boot/dts/am4372.dtsi                          | 12 ++++++------
 arch/arm/boot/dts/da850.dtsi                           |  4 ++--
 drivers/clk/ti/clk-33xx.c                              |  3 +++
 drivers/clk/ti/clk-43xx.c                              |  6 ++++++
 6 files changed, 22 insertions(+), 13 deletions(-)

-- 
2.7.0

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/3] clk: ti: am335x/am4372: Add tbclk to pwm node
  2016-03-17 22:07 [PATCH v2 0/3] ARM: am335x/am437x: Correct PWM bindings Franklin S Cooper Jr
@ 2016-03-17 22:07 ` Franklin S Cooper Jr
  2016-03-17 22:07 ` [PATCH v2 2/3] ARM: DTS: da850/am4372/am33xx: Use generic node name for ehrpwm Franklin S Cooper Jr
  2016-03-17 22:07 ` [PATCH v2 3/3] pwm: pwm-tiehrpwm: Update dt binding document to use generic node name Franklin S Cooper Jr
  2 siblings, 0 replies; 6+ messages in thread
From: Franklin S Cooper Jr @ 2016-03-17 22:07 UTC (permalink / raw)
  To: linux-arm-kernel

Add tblck to the pwm nodes. This insures that the ehrpwm driver has access
to the time-based clk.

Do not remove similar entries for ehrpwm node. Later patches will switch
from using ehrpwm node name to pwm. But to maintain ABI compatibility we
shouldn't remove the old entries.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
---
 drivers/clk/ti/clk-33xx.c | 3 +++
 drivers/clk/ti/clk-43xx.c | 6 ++++++
 2 files changed, 9 insertions(+)

diff --git a/drivers/clk/ti/clk-33xx.c b/drivers/clk/ti/clk-33xx.c
index ef2ec64..0e47d95 100644
--- a/drivers/clk/ti/clk-33xx.c
+++ b/drivers/clk/ti/clk-33xx.c
@@ -108,6 +108,9 @@ static struct ti_dt_clk am33xx_clks[] = {
 	DT_CLK("48300200.ehrpwm", "tbclk", "ehrpwm0_tbclk"),
 	DT_CLK("48302200.ehrpwm", "tbclk", "ehrpwm1_tbclk"),
 	DT_CLK("48304200.ehrpwm", "tbclk", "ehrpwm2_tbclk"),
+	DT_CLK("48300200.pwm", "tbclk", "ehrpwm0_tbclk"),
+	DT_CLK("48302200.pwm", "tbclk", "ehrpwm1_tbclk"),
+	DT_CLK("48304200.pwm", "tbclk", "ehrpwm2_tbclk"),
 	{ .node_name = NULL },
 };
 
diff --git a/drivers/clk/ti/clk-43xx.c b/drivers/clk/ti/clk-43xx.c
index 097fc90..7255aa8 100644
--- a/drivers/clk/ti/clk-43xx.c
+++ b/drivers/clk/ti/clk-43xx.c
@@ -115,6 +115,12 @@ static struct ti_dt_clk am43xx_clks[] = {
 	DT_CLK("48306200.ehrpwm", "tbclk", "ehrpwm3_tbclk"),
 	DT_CLK("48308200.ehrpwm", "tbclk", "ehrpwm4_tbclk"),
 	DT_CLK("4830a200.ehrpwm", "tbclk", "ehrpwm5_tbclk"),
+	DT_CLK("48300200.pwm", "tbclk", "ehrpwm0_tbclk"),
+	DT_CLK("48302200.pwm", "tbclk", "ehrpwm1_tbclk"),
+	DT_CLK("48304200.pwm", "tbclk", "ehrpwm2_tbclk"),
+	DT_CLK("48306200.pwm", "tbclk", "ehrpwm3_tbclk"),
+	DT_CLK("48308200.pwm", "tbclk", "ehrpwm4_tbclk"),
+	DT_CLK("4830a200.pwm", "tbclk", "ehrpwm5_tbclk"),
 	{ .node_name = NULL },
 };
 
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/3] ARM: DTS: da850/am4372/am33xx: Use generic node name for ehrpwm
  2016-03-17 22:07 [PATCH v2 0/3] ARM: am335x/am437x: Correct PWM bindings Franklin S Cooper Jr
  2016-03-17 22:07 ` [PATCH v2 1/3] clk: ti: am335x/am4372: Add tbclk to pwm node Franklin S Cooper Jr
@ 2016-03-17 22:07 ` Franklin S Cooper Jr
  2016-03-18  0:27   ` kbuild test robot
  2016-03-17 22:07 ` [PATCH v2 3/3] pwm: pwm-tiehrpwm: Update dt binding document to use generic node name Franklin S Cooper Jr
  2 siblings, 1 reply; 6+ messages in thread
From: Franklin S Cooper Jr @ 2016-03-17 22:07 UTC (permalink / raw)
  To: linux-arm-kernel

When possible generic node names should be used. So change the node name
from ehrpwm to pwm.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
---
 arch/arm/boot/dts/am33xx.dtsi |  6 +++---
 arch/arm/boot/dts/am4372.dtsi | 12 ++++++------
 arch/arm/boot/dts/da850.dtsi  |  4 ++--
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index 1fafaad..4016254 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -688,7 +688,7 @@
 				status = "disabled";
 			};
 
-			ehrpwm0: ehrpwm at 48300200 {
+			ehrpwm0: pwm at 48300200 {
 				compatible = "ti,am33xx-ehrpwm";
 				#pwm-cells = <3>;
 				reg = <0x48300200 0x80>;
@@ -718,7 +718,7 @@
 				status = "disabled";
 			};
 
-			ehrpwm1: ehrpwm at 48302200 {
+			ehrpwm1: pwm at 48302200 {
 				compatible = "ti,am33xx-ehrpwm";
 				#pwm-cells = <3>;
 				reg = <0x48302200 0x80>;
@@ -748,7 +748,7 @@
 				status = "disabled";
 			};
 
-			ehrpwm2: ehrpwm at 48304200 {
+			ehrpwm2: pwm at 48304200 {
 				compatible = "ti,am33xx-ehrpwm";
 				#pwm-cells = <3>;
 				reg = <0x48304200 0x80>;
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index 92068fb..33f417c 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -679,7 +679,7 @@
 				status = "disabled";
 			};
 
-			ehrpwm0: ehrpwm at 48300200 {
+			ehrpwm0: pwm at 48300200 {
 				compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
 				#pwm-cells = <3>;
 				reg = <0x48300200 0x80>;
@@ -705,7 +705,7 @@
 				status = "disabled";
 			};
 
-			ehrpwm1: ehrpwm at 48302200 {
+			ehrpwm1: pwm at 48302200 {
 				compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
 				#pwm-cells = <3>;
 				reg = <0x48302200 0x80>;
@@ -731,7 +731,7 @@
 				status = "disabled";
 			};
 
-			ehrpwm2: ehrpwm at 48304200 {
+			ehrpwm2: pwm at 48304200 {
 				compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
 				#pwm-cells = <3>;
 				reg = <0x48304200 0x80>;
@@ -749,7 +749,7 @@
 			ti,hwmods = "epwmss3";
 			status = "disabled";
 
-			ehrpwm3: ehrpwm at 48306200 {
+			ehrpwm3: pwm at 48306200 {
 				compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
 				#pwm-cells = <3>;
 				reg = <0x48306200 0x80>;
@@ -767,7 +767,7 @@
 			ti,hwmods = "epwmss4";
 			status = "disabled";
 
-			ehrpwm4: ehrpwm at 48308200 {
+			ehrpwm4: pwm at 48308200 {
 				compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
 				#pwm-cells = <3>;
 				reg = <0x48308200 0x80>;
@@ -785,7 +785,7 @@
 			ti,hwmods = "epwmss5";
 			status = "disabled";
 
-			ehrpwm5: ehrpwm at 4830a200 {
+			ehrpwm5: pwm at 4830a200 {
 				compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
 				#pwm-cells = <3>;
 				reg = <0x4830a200 0x80>;
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index 226cda7..c3910e2 100644
--- a/arch/arm/boot/dts/da850.dtsi
+++ b/arch/arm/boot/dts/da850.dtsi
@@ -247,13 +247,13 @@
 			dma-names = "rx", "tx";
 			status = "disabled";
 		};
-		ehrpwm0: ehrpwm at 01f00000 {
+		ehrpwm0: pwm at 01f00000 {
 			compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
 			#pwm-cells = <3>;
 			reg = <0x300000 0x2000>;
 			status = "disabled";
 		};
-		ehrpwm1: ehrpwm at 01f02000 {
+		ehrpwm1: pwm at 01f02000 {
 			compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
 			#pwm-cells = <3>;
 			reg = <0x302000 0x2000>;
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 3/3] pwm: pwm-tiehrpwm: Update dt binding document to use generic node name
  2016-03-17 22:07 [PATCH v2 0/3] ARM: am335x/am437x: Correct PWM bindings Franklin S Cooper Jr
  2016-03-17 22:07 ` [PATCH v2 1/3] clk: ti: am335x/am4372: Add tbclk to pwm node Franklin S Cooper Jr
  2016-03-17 22:07 ` [PATCH v2 2/3] ARM: DTS: da850/am4372/am33xx: Use generic node name for ehrpwm Franklin S Cooper Jr
@ 2016-03-17 22:07 ` Franklin S Cooper Jr
  2 siblings, 0 replies; 6+ messages in thread
From: Franklin S Cooper Jr @ 2016-03-17 22:07 UTC (permalink / raw)
  To: linux-arm-kernel

Now that the node name has been changed from ehrpwm to pwm the document
should show this proper usage. Also change the unit address in the example
from 0 to the proper physical address value that should be used.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
---
Version 2 changes:
Changed the unit address for da850 to match the value in the reg property.

 Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt b/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
index 9c100b2..0f9ba50 100644
--- a/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
+++ b/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
@@ -15,14 +15,14 @@ Optional properties:
 
 Example:
 
-ehrpwm0: ehrpwm at 0 { /* EHRPWM on am33xx */
+ehrpwm0: pwm at 48300200 { /* EHRPWM on am33xx */
 	compatible = "ti,am33xx-ehrpwm";
 	#pwm-cells = <3>;
 	reg = <0x48300200 0x100>;
 	ti,hwmods = "ehrpwm0";
 };
 
-ehrpwm0: ehrpwm at 0 { /* EHRPWM on da850 */
+ehrpwm0: pwm at 300000 { /* EHRPWM on da850 */
 	compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
 	#pwm-cells = <3>;
 	reg = <0x300000 0x2000>;
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/3] ARM: DTS: da850/am4372/am33xx: Use generic node name for ehrpwm
  2016-03-17 22:07 ` [PATCH v2 2/3] ARM: DTS: da850/am4372/am33xx: Use generic node name for ehrpwm Franklin S Cooper Jr
@ 2016-03-18  0:27   ` kbuild test robot
  2016-03-18  1:00     ` Franklin S Cooper Jr.
  0 siblings, 1 reply; 6+ messages in thread
From: kbuild test robot @ 2016-03-18  0:27 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Franklin,

[auto build test ERROR on pwm/for-next]
[also build test ERROR on v4.5 next-20160317]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Franklin-S-Cooper-Jr/clk-ti-am335x-am4372-Add-tbclk-to-pwm-node/20160318-060938
base:   https://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm for-next
config: arm-multi_v7_defconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   ERROR (duplicate_label): Duplicate label 'ehrpwm1' on /ocp/epwmss at 48302000/ehrpwm at 48302200 and /ocp/epwmss at 48302000/pwm at 48302200
>> ERROR: Input tree has errors, aborting (use -f to force output)

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 36561 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160318/1e5b85d6/attachment-0001.obj>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 2/3] ARM: DTS: da850/am4372/am33xx: Use generic node name for ehrpwm
  2016-03-18  0:27   ` kbuild test robot
@ 2016-03-18  1:00     ` Franklin S Cooper Jr.
  0 siblings, 0 replies; 6+ messages in thread
From: Franklin S Cooper Jr. @ 2016-03-18  1:00 UTC (permalink / raw)
  To: linux-arm-kernel



On 03/17/2016 07:27 PM, kbuild test robot wrote:
> Hi Franklin,
>
> [auto build test ERROR on pwm/for-next]
> [also build test ERROR on v4.5 next-20160317]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url:    https://github.com/0day-ci/linux/commits/Franklin-S-Cooper-Jr/clk-ti-am335x-am4372-Add-tbclk-to-pwm-node/20160318-060938
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm for-next
> config: arm-multi_v7_defconfig (attached as .config)
> reproduce:
>         wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # save the attached .config to linux build tree
>         make.cross ARCH=arm 
>
> All errors (new ones prefixed by >>):
>
>    ERROR (duplicate_label): Duplicate label 'ehrpwm1' on /ocp/epwmss at 48302000/ehrpwm at 48302200 and /ocp/epwmss at 48302000/pwm at 48302200

Ok I see that I missed also updating am335x-shc.dts. I'll
send a v3
>>> ERROR: Input tree has errors, aborting (use -f to force output)
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-03-18  1:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-17 22:07 [PATCH v2 0/3] ARM: am335x/am437x: Correct PWM bindings Franklin S Cooper Jr
2016-03-17 22:07 ` [PATCH v2 1/3] clk: ti: am335x/am4372: Add tbclk to pwm node Franklin S Cooper Jr
2016-03-17 22:07 ` [PATCH v2 2/3] ARM: DTS: da850/am4372/am33xx: Use generic node name for ehrpwm Franklin S Cooper Jr
2016-03-18  0:27   ` kbuild test robot
2016-03-18  1:00     ` Franklin S Cooper Jr.
2016-03-17 22:07 ` [PATCH v2 3/3] pwm: pwm-tiehrpwm: Update dt binding document to use generic node name Franklin S Cooper Jr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).