diff options
author | Philip Avinash <avinashphilip@ti.com> | 2013-06-06 09:52:36 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2013-06-09 03:12:32 -0400 |
commit | 563ce4d51a555b45f5d43ff9cf127da8dac9f64d (patch) | |
tree | f84a132d1236979e4c913c6bfa63d542feb06848 | |
parent | 1919f0f7db055b90a45c2de2ea49c6bd3789b203 (diff) |
ARM: AM33XX: clk: Add clock node for EHRPWM TBCLK
EHRPWM module requires explicit clock gating of TBCLK from control
module. Hence add TBCLK clock node in clock tree for EHRPWM modules.
Signed-off-by: Philip Avinash <avinashphilip@ti.com>
[bigeasy: remove CK_AM33XX]
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
-rw-r--r-- | arch/arm/mach-omap2/cclock33xx_data.c | 30 | ||||
-rw-r--r-- | arch/arm/mach-omap2/control.h | 8 |
2 files changed, 38 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/cclock33xx_data.c b/arch/arm/mach-omap2/cclock33xx_data.c index af3544ce4f02..0346de56436c 100644 --- a/arch/arm/mach-omap2/cclock33xx_data.c +++ b/arch/arm/mach-omap2/cclock33xx_data.c | |||
@@ -862,6 +862,33 @@ static struct clk_hw_omap wdt1_fck_hw = { | |||
862 | 862 | ||
863 | DEFINE_STRUCT_CLK(wdt1_fck, wdt_ck_parents, gpio_fck_ops); | 863 | DEFINE_STRUCT_CLK(wdt1_fck, wdt_ck_parents, gpio_fck_ops); |
864 | 864 | ||
865 | static const char *pwmss_clk_parents[] = { | ||
866 | "dpll_per_m2_ck", | ||
867 | }; | ||
868 | |||
869 | static const struct clk_ops ehrpwm_tbclk_ops = { | ||
870 | .enable = &omap2_dflt_clk_enable, | ||
871 | .disable = &omap2_dflt_clk_disable, | ||
872 | }; | ||
873 | |||
874 | DEFINE_CLK_OMAP_MUX_GATE(ehrpwm0_tbclk, "l4ls_clkdm", | ||
875 | NULL, NULL, 0, | ||
876 | AM33XX_CTRL_REGADDR(AM33XX_PWMSS_TBCLK_CLKCTRL), | ||
877 | AM33XX_PWMSS0_TBCLKEN_SHIFT, | ||
878 | NULL, pwmss_clk_parents, ehrpwm_tbclk_ops); | ||
879 | |||
880 | DEFINE_CLK_OMAP_MUX_GATE(ehrpwm1_tbclk, "l4ls_clkdm", | ||
881 | NULL, NULL, 0, | ||
882 | AM33XX_CTRL_REGADDR(AM33XX_PWMSS_TBCLK_CLKCTRL), | ||
883 | AM33XX_PWMSS1_TBCLKEN_SHIFT, | ||
884 | NULL, pwmss_clk_parents, ehrpwm_tbclk_ops); | ||
885 | |||
886 | DEFINE_CLK_OMAP_MUX_GATE(ehrpwm2_tbclk, "l4ls_clkdm", | ||
887 | NULL, NULL, 0, | ||
888 | AM33XX_CTRL_REGADDR(AM33XX_PWMSS_TBCLK_CLKCTRL), | ||
889 | AM33XX_PWMSS2_TBCLKEN_SHIFT, | ||
890 | NULL, pwmss_clk_parents, ehrpwm_tbclk_ops); | ||
891 | |||
865 | /* | 892 | /* |
866 | * clkdev | 893 | * clkdev |
867 | */ | 894 | */ |
@@ -942,6 +969,9 @@ static struct omap_clk am33xx_clks[] = { | |||
942 | CLK(NULL, "clkout2_div_ck", &clkout2_div_ck), | 969 | CLK(NULL, "clkout2_div_ck", &clkout2_div_ck), |
943 | CLK(NULL, "timer_32k_ck", &clkdiv32k_ick), | 970 | CLK(NULL, "timer_32k_ck", &clkdiv32k_ick), |
944 | CLK(NULL, "timer_sys_ck", &sys_clkin_ck), | 971 | CLK(NULL, "timer_sys_ck", &sys_clkin_ck), |
972 | CLK("48300200.ehrpwm", "tbclk", &ehrpwm0_tbclk), | ||
973 | CLK("48302200.ehrpwm", "tbclk", &ehrpwm1_tbclk), | ||
974 | CLK("48304200.ehrpwm", "tbclk", &ehrpwm2_tbclk), | ||
945 | }; | 975 | }; |
946 | 976 | ||
947 | 977 | ||
diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h index e6c328128a0a..35d17a6ec06b 100644 --- a/arch/arm/mach-omap2/control.h +++ b/arch/arm/mach-omap2/control.h | |||
@@ -358,6 +358,14 @@ | |||
358 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_WIDTH 0x2 | 358 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_WIDTH 0x2 |
359 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_MASK (0x3 << 22) | 359 | #define AM33XX_CONTROL_STATUS_SYSBOOT1_MASK (0x3 << 22) |
360 | 360 | ||
361 | /* AM33XX PWMSS Control register */ | ||
362 | #define AM33XX_PWMSS_TBCLK_CLKCTRL 0x664 | ||
363 | |||
364 | /* AM33XX PWMSS Control bitfields */ | ||
365 | #define AM33XX_PWMSS0_TBCLKEN_SHIFT 0 | ||
366 | #define AM33XX_PWMSS1_TBCLKEN_SHIFT 1 | ||
367 | #define AM33XX_PWMSS2_TBCLKEN_SHIFT 2 | ||
368 | |||
361 | /* CONTROL OMAP STATUS register to identify OMAP3 features */ | 369 | /* CONTROL OMAP STATUS register to identify OMAP3 features */ |
362 | #define OMAP3_CONTROL_OMAP_STATUS 0x044c | 370 | #define OMAP3_CONTROL_OMAP_STATUS 0x044c |
363 | 371 | ||