aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/cclock33xx_data.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/cclock33xx_data.c')
-rw-r--r--arch/arm/mach-omap2/cclock33xx_data.c49
1 files changed, 44 insertions, 5 deletions
diff --git a/arch/arm/mach-omap2/cclock33xx_data.c b/arch/arm/mach-omap2/cclock33xx_data.c
index 0346de56436c..ba6534d7f155 100644
--- a/arch/arm/mach-omap2/cclock33xx_data.c
+++ b/arch/arm/mach-omap2/cclock33xx_data.c
@@ -431,15 +431,11 @@ DEFINE_STRUCT_CLK(aes0_fck, dpll_core_ck_parents, clk_ops_null);
431 * - Driver code is not yet migrated to use hwmod/runtime pm 431 * - Driver code is not yet migrated to use hwmod/runtime pm
432 * - Modules outside kernel access (to disable them by default) 432 * - Modules outside kernel access (to disable them by default)
433 * 433 *
434 * - debugss
435 * - mmu (gfx domain) 434 * - mmu (gfx domain)
436 * - cefuse 435 * - cefuse
437 * - usbotg_fck (its additional clock and not really a modulemode) 436 * - usbotg_fck (its additional clock and not really a modulemode)
438 * - ieee5000 437 * - ieee5000
439 */ 438 */
440DEFINE_CLK_GATE(debugss_ick, "dpll_core_m4_ck", &dpll_core_m4_ck, 0x0,
441 AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, AM33XX_MODULEMODE_SWCTRL_SHIFT,
442 0x0, NULL);
443 439
444DEFINE_CLK_GATE(mmu_fck, "dpll_core_m4_ck", &dpll_core_m4_ck, 0x0, 440DEFINE_CLK_GATE(mmu_fck, "dpll_core_m4_ck", &dpll_core_m4_ck, 0x0,
445 AM33XX_CM_GFX_MMUDATA_CLKCTRL, AM33XX_MODULEMODE_SWCTRL_SHIFT, 441 AM33XX_CM_GFX_MMUDATA_CLKCTRL, AM33XX_MODULEMODE_SWCTRL_SHIFT,
@@ -890,6 +886,42 @@ DEFINE_CLK_OMAP_MUX_GATE(ehrpwm2_tbclk, "l4ls_clkdm",
890 NULL, pwmss_clk_parents, ehrpwm_tbclk_ops); 886 NULL, pwmss_clk_parents, ehrpwm_tbclk_ops);
891 887
892/* 888/*
889 * debugss optional clocks
890 */
891DEFINE_CLK_GATE(dbg_sysclk_ck, "sys_clkin_ck", &sys_clkin_ck,
892 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
893 AM33XX_OPTFCLKEN_DBGSYSCLK_SHIFT, 0x0, NULL);
894
895DEFINE_CLK_GATE(dbg_clka_ck, "dpll_core_m4_ck", &dpll_core_m4_ck,
896 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
897 AM33XX_OPTCLK_DEBUG_CLKA_SHIFT, 0x0, NULL);
898
899static const char *stm_pmd_clock_mux_ck_parents[] = {
900 "dbg_sysclk_ck", "dbg_clka_ck",
901};
902
903DEFINE_CLK_MUX(stm_pmd_clock_mux_ck, stm_pmd_clock_mux_ck_parents, NULL, 0x0,
904 AM33XX_CM_WKUP_DEBUGSS_CLKCTRL, AM33XX_STM_PMD_CLKSEL_SHIFT,
905 AM33XX_STM_PMD_CLKSEL_WIDTH, 0x0, NULL);
906
907DEFINE_CLK_MUX(trace_pmd_clk_mux_ck, stm_pmd_clock_mux_ck_parents, NULL, 0x0,
908 AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
909 AM33XX_TRC_PMD_CLKSEL_SHIFT,
910 AM33XX_TRC_PMD_CLKSEL_WIDTH, 0x0, NULL);
911
912DEFINE_CLK_DIVIDER(stm_clk_div_ck, "stm_pmd_clock_mux_ck",
913 &stm_pmd_clock_mux_ck, 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
914 AM33XX_STM_PMD_CLKDIVSEL_SHIFT,
915 AM33XX_STM_PMD_CLKDIVSEL_WIDTH, CLK_DIVIDER_POWER_OF_TWO,
916 NULL);
917
918DEFINE_CLK_DIVIDER(trace_clk_div_ck, "trace_pmd_clk_mux_ck",
919 &trace_pmd_clk_mux_ck, 0x0, AM33XX_CM_WKUP_DEBUGSS_CLKCTRL,
920 AM33XX_TRC_PMD_CLKDIVSEL_SHIFT,
921 AM33XX_TRC_PMD_CLKDIVSEL_WIDTH, CLK_DIVIDER_POWER_OF_TWO,
922 NULL);
923
924/*
893 * clkdev 925 * clkdev
894 */ 926 */
895static struct omap_clk am33xx_clks[] = { 927static struct omap_clk am33xx_clks[] = {
@@ -926,7 +958,6 @@ static struct omap_clk am33xx_clks[] = {
926 CLK("481cc000.d_can", NULL, &dcan0_fck), 958 CLK("481cc000.d_can", NULL, &dcan0_fck),
927 CLK(NULL, "dcan1_fck", &dcan1_fck), 959 CLK(NULL, "dcan1_fck", &dcan1_fck),
928 CLK("481d0000.d_can", NULL, &dcan1_fck), 960 CLK("481d0000.d_can", NULL, &dcan1_fck),
929 CLK(NULL, "debugss_ick", &debugss_ick),
930 CLK(NULL, "pruss_ocp_gclk", &pruss_ocp_gclk), 961 CLK(NULL, "pruss_ocp_gclk", &pruss_ocp_gclk),
931 CLK(NULL, "mcasp0_fck", &mcasp0_fck), 962 CLK(NULL, "mcasp0_fck", &mcasp0_fck),
932 CLK(NULL, "mcasp1_fck", &mcasp1_fck), 963 CLK(NULL, "mcasp1_fck", &mcasp1_fck),
@@ -969,6 +1000,13 @@ static struct omap_clk am33xx_clks[] = {
969 CLK(NULL, "clkout2_div_ck", &clkout2_div_ck), 1000 CLK(NULL, "clkout2_div_ck", &clkout2_div_ck),
970 CLK(NULL, "timer_32k_ck", &clkdiv32k_ick), 1001 CLK(NULL, "timer_32k_ck", &clkdiv32k_ick),
971 CLK(NULL, "timer_sys_ck", &sys_clkin_ck), 1002 CLK(NULL, "timer_sys_ck", &sys_clkin_ck),
1003 CLK(NULL, "dbg_sysclk_ck", &dbg_sysclk_ck),
1004 CLK(NULL, "dbg_clka_ck", &dbg_clka_ck),
1005 CLK(NULL, "stm_pmd_clock_mux_ck", &stm_pmd_clock_mux_ck),
1006 CLK(NULL, "trace_pmd_clk_mux_ck", &trace_pmd_clk_mux_ck),
1007 CLK(NULL, "stm_clk_div_ck", &stm_clk_div_ck),
1008 CLK(NULL, "trace_clk_div_ck", &trace_clk_div_ck),
1009 CLK(NULL, "clkout2_ck", &clkout2_ck),
972 CLK("48300200.ehrpwm", "tbclk", &ehrpwm0_tbclk), 1010 CLK("48300200.ehrpwm", "tbclk", &ehrpwm0_tbclk),
973 CLK("48302200.ehrpwm", "tbclk", &ehrpwm1_tbclk), 1011 CLK("48302200.ehrpwm", "tbclk", &ehrpwm1_tbclk),
974 CLK("48304200.ehrpwm", "tbclk", &ehrpwm2_tbclk), 1012 CLK("48304200.ehrpwm", "tbclk", &ehrpwm2_tbclk),
@@ -982,6 +1020,7 @@ static const char *enable_init_clks[] = {
982 "l4hs_gclk", 1020 "l4hs_gclk",
983 "l4fw_gclk", 1021 "l4fw_gclk",
984 "l4ls_gclk", 1022 "l4ls_gclk",
1023 "clkout2_ck", /* Required for external peripherals like, Audio codecs */
985}; 1024};
986 1025
987int __init am33xx_clk_init(void) 1026int __init am33xx_clk_init(void)