]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ARM: dts: am437x/am33xx/da850: Add new ECAP and EPWM bindings
authorFranklin S Cooper Jr <fcooper@ti.com>
Tue, 3 May 2016 15:56:51 +0000 (10:56 -0500)
committerTony Lindgren <tony@atomide.com>
Fri, 10 Jun 2016 10:48:28 +0000 (03:48 -0700)
Switch to a new ECAP and EPWM bindings that doesn't depend on hwmod to
provide the various required clocks.

For AM437 and AM335x, add the required clocks explicitly to DT. The
hwmod entries for ECAP and EPWM will be removed and this will prevent
anything from breaking.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Documentation/devicetree/bindings/pwm/pwm-tiecap.txt
Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
arch/arm/boot/dts/am33xx.dtsi
arch/arm/boot/dts/am4372.dtsi

index 0d47354b72f4be77b7e98bf492a8d135da151b12..ee0a8bd34701bfe4bae92a0d79165023ed26b5e0 100644 (file)
@@ -2,9 +2,9 @@ TI SOC ECAP based APWM controller
 
 Required properties:
 - compatible: Must be "ti,<soc>-ecap".
-  for am33xx  - compatible = "ti,am33xx-ecap";
-  for am4372  - compatible = "ti,am4372-ecap", "ti,am33xx-ecap";
-  for da850   - compatible = "ti,da850-ecap", "ti,am33xx-ecap";
+  for am33xx - compatible = "ti,am3352-ecap", "ti,am33xx-ecap";
+  for am4372 - compatible = "ti,am4372-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
+  for da850  - compatible = "ti,da850-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
   the cells format. The PWM channel index ranges from 0 to 4. The only third
   cell flag supported by this binding is PWM_POLARITY_INVERTED.
@@ -13,25 +13,31 @@ Required properties:
 Optional properties:
 - ti,hwmods: Name of the hwmod associated to the ECAP:
   "ecap<x>", <x> being the 0-based instance number from the HW spec
+- clocks: Handle to the ECAP's functional clock.
+- clock-names: Must be set to "fck".
 
 Example:
 
 ecap0: ecap@48300100 { /* ECAP on am33xx */
-       compatible = "ti,am33xx-ecap";
+       compatible = "ti,am3352-ecap", "ti,am33xx-ecap";
        #pwm-cells = <3>;
        reg = <0x48300100 0x80>;
        ti,hwmods = "ecap0";
+       clocks = <&l4ls_gclk>;
+       clock-names = "fck";
 };
 
 ecap0: ecap@48300100 { /* ECAP on am4372 */
-       compatible = "ti,am4372-ecap", "ti,am33xx-ecap";
+       compatible = "ti,am4372-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
        #pwm-cells = <3>;
        reg = <0x48300100 0x80>;
        ti,hwmods = "ecap0";
+       clocks = <&l4ls_gclk>;
+       clock-names = "fck";
 };
 
 ecap0: ecap@1f06000 { /* ECAP on da850 */
-       compatible = "ti,da850-ecap", "ti,am33xx-ecap";
+       compatible = "ti,da850-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
        #pwm-cells = <3>;
        reg = <0x1f06000 0x80>;
 };
index f3bc09e92d4c5626e342c8434e0e9f838a4a3c7f..e9a156b56bd525258b9b40c405ce5666423bd10b 100644 (file)
@@ -2,9 +2,9 @@ TI SOC EHRPWM based PWM controller
 
 Required properties:
 - compatible: Must be "ti,<soc>-ehrpwm".
-  for am33xx  - compatible = "ti,am33xx-ehrpwm";
-  for am4372  - compatible = "ti,am4372-ehrpwm", "ti,am33xx-ehrpwm";
-  for da850   - compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
+  for am33xx  - compatible = "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
+  for am4372  - compatible = "ti,am4372-ehrpwm", "ti-am3352-ehrpwm", "ti,am33xx-ehrpwm";
+  for da850   - compatible = "ti,da850-ehrpwm", "ti-am3352-ehrpwm", "ti,am33xx-ehrpwm";
 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
   the cells format. The only third cell flag supported by this binding is
   PWM_POLARITY_INVERTED.
@@ -13,25 +13,31 @@ Required properties:
 Optional properties:
 - ti,hwmods: Name of the hwmod associated to the EHRPWM:
   "ehrpwm<x>", <x> being the 0-based instance number from the HW spec
+- clocks: Handle to the PWM's time-base and functional clock.
+- clock-names: Must be set to "tbclk" and "fck".
 
 Example:
 
 ehrpwm0: pwm@48300200 { /* EHRPWM on am33xx */
-       compatible = "ti,am33xx-ehrpwm";
+       compatible = "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
        #pwm-cells = <3>;
        reg = <0x48300200 0x100>;
+       clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
+       clock-names = "tbclk", "fck";
        ti,hwmods = "ehrpwm0";
 };
 
 ehrpwm0: pwm@48300200 { /* EHRPWM on am4372 */
-       compatible = "ti,am4372-ehrpwm", "ti,am33xx-ehrpwm";
+       compatible = "ti,am4372-ehrpwm", "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
        #pwm-cells = <3>;
        reg = <0x48300200 0x80>;
+       clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
+       clock-names = "tbclk", "fck";
        ti,hwmods = "ehrpwm0";
 };
 
 ehrpwm0: pwm@1f00000 { /* EHRPWM on da850 */
-       compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
+       compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
        #pwm-cells = <3>;
        reg = <0x1f00000 0x2000>;
 };
index 52be48bbd2dd945d567060b0157cbc8d9c98b5ea..999ba2f1a8b7c717d1ec5100cab4299fd2c1b5bb 100644 (file)
                                  0x48300200 0x48300200 0x80>; /* EHRPWM */
 
                        ecap0: ecap@48300100 {
-                               compatible = "ti,am33xx-ecap";
+                               compatible = "ti,am3352-ecap",
+                                            "ti,am33xx-ecap";
                                #pwm-cells = <3>;
                                reg = <0x48300100 0x80>;
+                               clocks = <&l4ls_gclk>;
+                               clock-names = "fck";
                                interrupts = <31>;
                                interrupt-names = "ecap0";
                                ti,hwmods = "ecap0";
                        };
 
                        ehrpwm0: pwm@48300200 {
-                               compatible = "ti,am33xx-ehrpwm";
+                               compatible = "ti,am3352-ehrpwm",
+                                            "ti,am33xx-ehrpwm";
                                #pwm-cells = <3>;
                                reg = <0x48300200 0x80>;
                                ti,hwmods = "ehrpwm0";
+                               clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
+                               clock-names = "tbclk", "fck";
                                status = "disabled";
                        };
                };
                                  0x48302200 0x48302200 0x80>; /* EHRPWM */
 
                        ecap1: ecap@48302100 {
-                               compatible = "ti,am33xx-ecap";
+                               compatible = "ti,am3352-ecap",
+                                            "ti,am33xx-ecap";
                                #pwm-cells = <3>;
                                reg = <0x48302100 0x80>;
+                               clocks = <&l4ls_gclk>;
+                               clock-names = "fck";
                                interrupts = <47>;
                                interrupt-names = "ecap1";
                                ti,hwmods = "ecap1";
                        };
 
                        ehrpwm1: pwm@48302200 {
-                               compatible = "ti,am33xx-ehrpwm";
+                               compatible = "ti,am3352-ehrpwm",
+                                            "ti,am33xx-ehrpwm";
                                #pwm-cells = <3>;
                                reg = <0x48302200 0x80>;
                                ti,hwmods = "ehrpwm1";
+                               clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
+                               clock-names = "tbclk", "fck";
                                status = "disabled";
                        };
                };
                                  0x48304200 0x48304200 0x80>; /* EHRPWM */
 
                        ecap2: ecap@48304100 {
-                               compatible = "ti,am33xx-ecap";
+                               compatible = "ti,am3352-ecap",
+                                            "ti,am33xx-ecap";
                                #pwm-cells = <3>;
                                reg = <0x48304100 0x80>;
+                               clocks = <&l4ls_gclk>;
+                               clock-names = "fck";
                                interrupts = <61>;
                                interrupt-names = "ecap2";
                                ti,hwmods = "ecap2";
                        };
 
                        ehrpwm2: pwm@48304200 {
-                               compatible = "ti,am33xx-ehrpwm";
+                               compatible = "ti,am3352-ehrpwm",
+                                            "ti,am33xx-ehrpwm";
                                #pwm-cells = <3>;
                                reg = <0x48304200 0x80>;
                                ti,hwmods = "ehrpwm2";
+                               clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
+                               clock-names = "tbclk", "fck";
                                status = "disabled";
                        };
                };
index 12fcde4d4d2e474ce856c91be2363147e04b3046..e8584606d56f893367cb4dc53e933efbcb16795a 100644 (file)
                        status = "disabled";
 
                        ecap0: ecap@48300100 {
-                               compatible = "ti,am4372-ecap","ti,am33xx-ecap";
+                               compatible = "ti,am4372-ecap",
+                                            "ti,am3352-ecap",
+                                            "ti,am33xx-ecap";
                                #pwm-cells = <3>;
                                reg = <0x48300100 0x80>;
                                ti,hwmods = "ecap0";
+                               clocks = <&l4ls_gclk>;
+                               clock-names = "fck";
                                status = "disabled";
                        };
 
                        ehrpwm0: pwm@48300200 {
-                               compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
+                               compatible = "ti,am4372-ehrpwm",
+                                            "ti,am3352-ehrpwm",
+                                            "ti,am33xx-ehrpwm";
                                #pwm-cells = <3>;
                                reg = <0x48300200 0x80>;
                                ti,hwmods = "ehrpwm0";
+                               clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
+                               clock-names = "tbclk", "fck";
                                status = "disabled";
                        };
                };
                        status = "disabled";
 
                        ecap1: ecap@48302100 {
-                               compatible = "ti,am4372-ecap","ti,am33xx-ecap";
+                               compatible = "ti,am4372-ecap",
+                                            "ti,am3352-ecap",
+                                            "ti,am33xx-ecap";
                                #pwm-cells = <3>;
                                reg = <0x48302100 0x80>;
                                ti,hwmods = "ecap1";
+                               clocks = <&l4ls_gclk>;
+                               clock-names = "fck";
                                status = "disabled";
                        };
 
                        ehrpwm1: pwm@48302200 {
-                               compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
+                               compatible = "ti,am4372-ehrpwm",
+                                            "ti,am3352-ehrpwm",
+                                            "ti,am33xx-ehrpwm";
                                #pwm-cells = <3>;
                                reg = <0x48302200 0x80>;
                                ti,hwmods = "ehrpwm1";
+                               clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
+                               clock-names = "tbclk", "fck";
                                status = "disabled";
                        };
                };
                        status = "disabled";
 
                        ecap2: ecap@48304100 {
-                               compatible = "ti,am4372-ecap","ti,am33xx-ecap";
+                               compatible = "ti,am4372-ecap",
+                                            "ti,am3352-ecap",
+                                            "ti,am33xx-ecap";
                                #pwm-cells = <3>;
                                reg = <0x48304100 0x80>;
+                               clocks = <&l4ls_gclk>;
+                               clock-names = "fck";
                                ti,hwmods = "ecap2";
                                status = "disabled";
                        };
 
                        ehrpwm2: pwm@48304200 {
-                               compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
+                               compatible = "ti,am4372-ehrpwm",
+                                            "ti,am3352-ehrpwm",
+                                            "ti,am33xx-ehrpwm";
                                #pwm-cells = <3>;
                                reg = <0x48304200 0x80>;
                                ti,hwmods = "ehrpwm2";
+                               clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
+                               clock-names = "tbclk", "fck";
                                status = "disabled";
                        };
                };
                        status = "disabled";
 
                        ehrpwm3: pwm@48306200 {
-                               compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
+                               compatible = "ti,am4372-ehrpwm",
+                                            "ti,am3352-ehrpwm",
+                                            "ti,am33xx-ehrpwm";
                                #pwm-cells = <3>;
                                reg = <0x48306200 0x80>;
                                ti,hwmods = "ehrpwm3";
+                               clocks = <&ehrpwm3_tbclk>, <&l4ls_gclk>;
+                               clock-names = "tbclk", "fck";
                                status = "disabled";
                        };
                };
                        status = "disabled";
 
                        ehrpwm4: pwm@48308200 {
-                               compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
+                               compatible = "ti,am4372-ehrpwm",
+                                            "ti,am3352-ehrpwm",
+                                            "ti,am33xx-ehrpwm";
                                #pwm-cells = <3>;
                                reg = <0x48308200 0x80>;
                                ti,hwmods = "ehrpwm4";
+                               clocks = <&ehrpwm4_tbclk>, <&l4ls_gclk>;
+                               clock-names = "tbclk", "fck";
                                status = "disabled";
                        };
                };
                        status = "disabled";
 
                        ehrpwm5: pwm@4830a200 {
-                               compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
+                               compatible = "ti,am4372-ehrpwm",
+                                            "ti,am3352-ehrpwm",
+                                            "ti,am33xx-ehrpwm";
                                #pwm-cells = <3>;
                                reg = <0x4830a200 0x80>;
+                               clocks = <&ehrpwm5_tbclk>, <&l4ls_gclk>;
+                               clock-names = "tbclk", "fck";
                                ti,hwmods = "ehrpwm5";
                                status = "disabled";
                        };