Commit 229110c1 authored by Franklin S Cooper Jr's avatar Franklin S Cooper Jr Committed by Tony Lindgren

ARM: dts: am437x/am33xx/da850: Add new ECAP and EPWM bindings

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: default avatarFranklin S Cooper Jr <fcooper@ti.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 7d68a7f8
...@@ -2,9 +2,9 @@ TI SOC ECAP based APWM controller ...@@ -2,9 +2,9 @@ TI SOC ECAP based APWM controller
Required properties: Required properties:
- compatible: Must be "ti,<soc>-ecap". - compatible: Must be "ti,<soc>-ecap".
for am33xx - compatible = "ti,am33xx-ecap"; for am33xx - compatible = "ti,am3352-ecap", "ti,am33xx-ecap";
for am4372 - compatible = "ti,am4372-ecap", "ti,am33xx-ecap"; for am4372 - compatible = "ti,am4372-ecap", "ti,am3352-ecap", "ti,am33xx-ecap";
for da850 - compatible = "ti,da850-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 - #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 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. cell flag supported by this binding is PWM_POLARITY_INVERTED.
...@@ -13,25 +13,31 @@ Required properties: ...@@ -13,25 +13,31 @@ Required properties:
Optional properties: Optional properties:
- ti,hwmods: Name of the hwmod associated to the ECAP: - ti,hwmods: Name of the hwmod associated to the ECAP:
"ecap<x>", <x> being the 0-based instance number from the HW spec "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: Example:
ecap0: ecap@48300100 { /* ECAP on am33xx */ ecap0: ecap@48300100 { /* ECAP on am33xx */
compatible = "ti,am33xx-ecap"; compatible = "ti,am3352-ecap", "ti,am33xx-ecap";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48300100 0x80>; reg = <0x48300100 0x80>;
ti,hwmods = "ecap0"; ti,hwmods = "ecap0";
clocks = <&l4ls_gclk>;
clock-names = "fck";
}; };
ecap0: ecap@48300100 { /* ECAP on am4372 */ 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>; #pwm-cells = <3>;
reg = <0x48300100 0x80>; reg = <0x48300100 0x80>;
ti,hwmods = "ecap0"; ti,hwmods = "ecap0";
clocks = <&l4ls_gclk>;
clock-names = "fck";
}; };
ecap0: ecap@1f06000 { /* ECAP on da850 */ 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>; #pwm-cells = <3>;
reg = <0x1f06000 0x80>; reg = <0x1f06000 0x80>;
}; };
...@@ -2,9 +2,9 @@ TI SOC EHRPWM based PWM controller ...@@ -2,9 +2,9 @@ TI SOC EHRPWM based PWM controller
Required properties: Required properties:
- compatible: Must be "ti,<soc>-ehrpwm". - compatible: Must be "ti,<soc>-ehrpwm".
for am33xx - compatible = "ti,am33xx-ehrpwm"; for am33xx - compatible = "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
for am4372 - compatible = "ti,am4372-ehrpwm", "ti,am33xx-ehrpwm"; for am4372 - compatible = "ti,am4372-ehrpwm", "ti-am3352-ehrpwm", "ti,am33xx-ehrpwm";
for da850 - compatible = "ti,da850-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 - #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 the cells format. The only third cell flag supported by this binding is
PWM_POLARITY_INVERTED. PWM_POLARITY_INVERTED.
...@@ -13,25 +13,31 @@ Required properties: ...@@ -13,25 +13,31 @@ Required properties:
Optional properties: Optional properties:
- ti,hwmods: Name of the hwmod associated to the EHRPWM: - ti,hwmods: Name of the hwmod associated to the EHRPWM:
"ehrpwm<x>", <x> being the 0-based instance number from the HW spec "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: Example:
ehrpwm0: pwm@48300200 { /* EHRPWM on am33xx */ ehrpwm0: pwm@48300200 { /* EHRPWM on am33xx */
compatible = "ti,am33xx-ehrpwm"; compatible = "ti,am3352-ehrpwm", "ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48300200 0x100>; reg = <0x48300200 0x100>;
clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
ti,hwmods = "ehrpwm0"; ti,hwmods = "ehrpwm0";
}; };
ehrpwm0: pwm@48300200 { /* EHRPWM on am4372 */ 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>; #pwm-cells = <3>;
reg = <0x48300200 0x80>; reg = <0x48300200 0x80>;
clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
ti,hwmods = "ehrpwm0"; ti,hwmods = "ehrpwm0";
}; };
ehrpwm0: pwm@1f00000 { /* EHRPWM on da850 */ 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>; #pwm-cells = <3>;
reg = <0x1f00000 0x2000>; reg = <0x1f00000 0x2000>;
}; };
...@@ -679,9 +679,12 @@ epwmss0: epwmss@48300000 { ...@@ -679,9 +679,12 @@ epwmss0: epwmss@48300000 {
0x48300200 0x48300200 0x80>; /* EHRPWM */ 0x48300200 0x48300200 0x80>; /* EHRPWM */
ecap0: ecap@48300100 { ecap0: ecap@48300100 {
compatible = "ti,am33xx-ecap"; compatible = "ti,am3352-ecap",
"ti,am33xx-ecap";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48300100 0x80>; reg = <0x48300100 0x80>;
clocks = <&l4ls_gclk>;
clock-names = "fck";
interrupts = <31>; interrupts = <31>;
interrupt-names = "ecap0"; interrupt-names = "ecap0";
ti,hwmods = "ecap0"; ti,hwmods = "ecap0";
...@@ -689,10 +692,13 @@ ecap0: ecap@48300100 { ...@@ -689,10 +692,13 @@ ecap0: ecap@48300100 {
}; };
ehrpwm0: pwm@48300200 { ehrpwm0: pwm@48300200 {
compatible = "ti,am33xx-ehrpwm"; compatible = "ti,am3352-ehrpwm",
"ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48300200 0x80>; reg = <0x48300200 0x80>;
ti,hwmods = "ehrpwm0"; ti,hwmods = "ehrpwm0";
clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
status = "disabled"; status = "disabled";
}; };
}; };
...@@ -709,9 +715,12 @@ epwmss1: epwmss@48302000 { ...@@ -709,9 +715,12 @@ epwmss1: epwmss@48302000 {
0x48302200 0x48302200 0x80>; /* EHRPWM */ 0x48302200 0x48302200 0x80>; /* EHRPWM */
ecap1: ecap@48302100 { ecap1: ecap@48302100 {
compatible = "ti,am33xx-ecap"; compatible = "ti,am3352-ecap",
"ti,am33xx-ecap";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48302100 0x80>; reg = <0x48302100 0x80>;
clocks = <&l4ls_gclk>;
clock-names = "fck";
interrupts = <47>; interrupts = <47>;
interrupt-names = "ecap1"; interrupt-names = "ecap1";
ti,hwmods = "ecap1"; ti,hwmods = "ecap1";
...@@ -719,10 +728,13 @@ ecap1: ecap@48302100 { ...@@ -719,10 +728,13 @@ ecap1: ecap@48302100 {
}; };
ehrpwm1: pwm@48302200 { ehrpwm1: pwm@48302200 {
compatible = "ti,am33xx-ehrpwm"; compatible = "ti,am3352-ehrpwm",
"ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48302200 0x80>; reg = <0x48302200 0x80>;
ti,hwmods = "ehrpwm1"; ti,hwmods = "ehrpwm1";
clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
status = "disabled"; status = "disabled";
}; };
}; };
...@@ -739,9 +751,12 @@ epwmss2: epwmss@48304000 { ...@@ -739,9 +751,12 @@ epwmss2: epwmss@48304000 {
0x48304200 0x48304200 0x80>; /* EHRPWM */ 0x48304200 0x48304200 0x80>; /* EHRPWM */
ecap2: ecap@48304100 { ecap2: ecap@48304100 {
compatible = "ti,am33xx-ecap"; compatible = "ti,am3352-ecap",
"ti,am33xx-ecap";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48304100 0x80>; reg = <0x48304100 0x80>;
clocks = <&l4ls_gclk>;
clock-names = "fck";
interrupts = <61>; interrupts = <61>;
interrupt-names = "ecap2"; interrupt-names = "ecap2";
ti,hwmods = "ecap2"; ti,hwmods = "ecap2";
...@@ -749,10 +764,13 @@ ecap2: ecap@48304100 { ...@@ -749,10 +764,13 @@ ecap2: ecap@48304100 {
}; };
ehrpwm2: pwm@48304200 { ehrpwm2: pwm@48304200 {
compatible = "ti,am33xx-ehrpwm"; compatible = "ti,am3352-ehrpwm",
"ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48304200 0x80>; reg = <0x48304200 0x80>;
ti,hwmods = "ehrpwm2"; ti,hwmods = "ehrpwm2";
clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
status = "disabled"; status = "disabled";
}; };
}; };
......
...@@ -672,18 +672,26 @@ epwmss0: epwmss@48300000 { ...@@ -672,18 +672,26 @@ epwmss0: epwmss@48300000 {
status = "disabled"; status = "disabled";
ecap0: ecap@48300100 { ecap0: ecap@48300100 {
compatible = "ti,am4372-ecap","ti,am33xx-ecap"; compatible = "ti,am4372-ecap",
"ti,am3352-ecap",
"ti,am33xx-ecap";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48300100 0x80>; reg = <0x48300100 0x80>;
ti,hwmods = "ecap0"; ti,hwmods = "ecap0";
clocks = <&l4ls_gclk>;
clock-names = "fck";
status = "disabled"; status = "disabled";
}; };
ehrpwm0: pwm@48300200 { ehrpwm0: pwm@48300200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; compatible = "ti,am4372-ehrpwm",
"ti,am3352-ehrpwm",
"ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48300200 0x80>; reg = <0x48300200 0x80>;
ti,hwmods = "ehrpwm0"; ti,hwmods = "ehrpwm0";
clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
status = "disabled"; status = "disabled";
}; };
}; };
...@@ -698,18 +706,26 @@ epwmss1: epwmss@48302000 { ...@@ -698,18 +706,26 @@ epwmss1: epwmss@48302000 {
status = "disabled"; status = "disabled";
ecap1: ecap@48302100 { ecap1: ecap@48302100 {
compatible = "ti,am4372-ecap","ti,am33xx-ecap"; compatible = "ti,am4372-ecap",
"ti,am3352-ecap",
"ti,am33xx-ecap";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48302100 0x80>; reg = <0x48302100 0x80>;
ti,hwmods = "ecap1"; ti,hwmods = "ecap1";
clocks = <&l4ls_gclk>;
clock-names = "fck";
status = "disabled"; status = "disabled";
}; };
ehrpwm1: pwm@48302200 { ehrpwm1: pwm@48302200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; compatible = "ti,am4372-ehrpwm",
"ti,am3352-ehrpwm",
"ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48302200 0x80>; reg = <0x48302200 0x80>;
ti,hwmods = "ehrpwm1"; ti,hwmods = "ehrpwm1";
clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
status = "disabled"; status = "disabled";
}; };
}; };
...@@ -724,18 +740,26 @@ epwmss2: epwmss@48304000 { ...@@ -724,18 +740,26 @@ epwmss2: epwmss@48304000 {
status = "disabled"; status = "disabled";
ecap2: ecap@48304100 { ecap2: ecap@48304100 {
compatible = "ti,am4372-ecap","ti,am33xx-ecap"; compatible = "ti,am4372-ecap",
"ti,am3352-ecap",
"ti,am33xx-ecap";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48304100 0x80>; reg = <0x48304100 0x80>;
clocks = <&l4ls_gclk>;
clock-names = "fck";
ti,hwmods = "ecap2"; ti,hwmods = "ecap2";
status = "disabled"; status = "disabled";
}; };
ehrpwm2: pwm@48304200 { ehrpwm2: pwm@48304200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; compatible = "ti,am4372-ehrpwm",
"ti,am3352-ehrpwm",
"ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48304200 0x80>; reg = <0x48304200 0x80>;
ti,hwmods = "ehrpwm2"; ti,hwmods = "ehrpwm2";
clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
status = "disabled"; status = "disabled";
}; };
}; };
...@@ -750,10 +774,14 @@ epwmss3: epwmss@48306000 { ...@@ -750,10 +774,14 @@ epwmss3: epwmss@48306000 {
status = "disabled"; status = "disabled";
ehrpwm3: pwm@48306200 { ehrpwm3: pwm@48306200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; compatible = "ti,am4372-ehrpwm",
"ti,am3352-ehrpwm",
"ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48306200 0x80>; reg = <0x48306200 0x80>;
ti,hwmods = "ehrpwm3"; ti,hwmods = "ehrpwm3";
clocks = <&ehrpwm3_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
status = "disabled"; status = "disabled";
}; };
}; };
...@@ -768,10 +796,14 @@ epwmss4: epwmss@48308000 { ...@@ -768,10 +796,14 @@ epwmss4: epwmss@48308000 {
status = "disabled"; status = "disabled";
ehrpwm4: pwm@48308200 { ehrpwm4: pwm@48308200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; compatible = "ti,am4372-ehrpwm",
"ti,am3352-ehrpwm",
"ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x48308200 0x80>; reg = <0x48308200 0x80>;
ti,hwmods = "ehrpwm4"; ti,hwmods = "ehrpwm4";
clocks = <&ehrpwm4_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
status = "disabled"; status = "disabled";
}; };
}; };
...@@ -786,9 +818,13 @@ epwmss5: epwmss@4830a000 { ...@@ -786,9 +818,13 @@ epwmss5: epwmss@4830a000 {
status = "disabled"; status = "disabled";
ehrpwm5: pwm@4830a200 { ehrpwm5: pwm@4830a200 {
compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; compatible = "ti,am4372-ehrpwm",
"ti,am3352-ehrpwm",
"ti,am33xx-ehrpwm";
#pwm-cells = <3>; #pwm-cells = <3>;
reg = <0x4830a200 0x80>; reg = <0x4830a200 0x80>;
clocks = <&ehrpwm5_tbclk>, <&l4ls_gclk>;
clock-names = "tbclk", "fck";
ti,hwmods = "ehrpwm5"; ti,hwmods = "ehrpwm5";
status = "disabled"; status = "disabled";
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment