diff options
Diffstat (limited to 'arch/arm/mach-omap2/cclock3xxx_data.c')
-rw-r--r-- | arch/arm/mach-omap2/cclock3xxx_data.c | 58 |
1 files changed, 49 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/cclock3xxx_data.c b/arch/arm/mach-omap2/cclock3xxx_data.c index 03a2829beb8e..3b05aea56d1f 100644 --- a/arch/arm/mach-omap2/cclock3xxx_data.c +++ b/arch/arm/mach-omap2/cclock3xxx_data.c | |||
@@ -381,6 +381,42 @@ static struct clk_hw_omap dpll4_ck_hw = { | |||
381 | 381 | ||
382 | DEFINE_STRUCT_CLK(dpll4_ck, dpll3_ck_parent_names, dpll4_ck_ops); | 382 | DEFINE_STRUCT_CLK(dpll4_ck, dpll3_ck_parent_names, dpll4_ck_ops); |
383 | 383 | ||
384 | static const struct clk_div_table dpll4_mx_ck_div_table[] = { | ||
385 | { .div = 1, .val = 1 }, | ||
386 | { .div = 2, .val = 2 }, | ||
387 | { .div = 3, .val = 3 }, | ||
388 | { .div = 4, .val = 4 }, | ||
389 | { .div = 5, .val = 5 }, | ||
390 | { .div = 6, .val = 6 }, | ||
391 | { .div = 7, .val = 7 }, | ||
392 | { .div = 8, .val = 8 }, | ||
393 | { .div = 9, .val = 9 }, | ||
394 | { .div = 10, .val = 10 }, | ||
395 | { .div = 11, .val = 11 }, | ||
396 | { .div = 12, .val = 12 }, | ||
397 | { .div = 13, .val = 13 }, | ||
398 | { .div = 14, .val = 14 }, | ||
399 | { .div = 15, .val = 15 }, | ||
400 | { .div = 16, .val = 16 }, | ||
401 | { .div = 17, .val = 17 }, | ||
402 | { .div = 18, .val = 18 }, | ||
403 | { .div = 19, .val = 19 }, | ||
404 | { .div = 20, .val = 20 }, | ||
405 | { .div = 21, .val = 21 }, | ||
406 | { .div = 22, .val = 22 }, | ||
407 | { .div = 23, .val = 23 }, | ||
408 | { .div = 24, .val = 24 }, | ||
409 | { .div = 25, .val = 25 }, | ||
410 | { .div = 26, .val = 26 }, | ||
411 | { .div = 27, .val = 27 }, | ||
412 | { .div = 28, .val = 28 }, | ||
413 | { .div = 29, .val = 29 }, | ||
414 | { .div = 30, .val = 30 }, | ||
415 | { .div = 31, .val = 31 }, | ||
416 | { .div = 32, .val = 32 }, | ||
417 | { .div = 0 }, | ||
418 | }; | ||
419 | |||
384 | DEFINE_CLK_DIVIDER(dpll4_m5_ck, "dpll4_ck", &dpll4_ck, 0x0, | 420 | DEFINE_CLK_DIVIDER(dpll4_m5_ck, "dpll4_ck", &dpll4_ck, 0x0, |
385 | OMAP_CM_REGADDR(OMAP3430_CAM_MOD, CM_CLKSEL), | 421 | OMAP_CM_REGADDR(OMAP3430_CAM_MOD, CM_CLKSEL), |
386 | OMAP3430_CLKSEL_CAM_SHIFT, OMAP3630_CLKSEL_CAM_WIDTH, | 422 | OMAP3430_CLKSEL_CAM_SHIFT, OMAP3630_CLKSEL_CAM_WIDTH, |
@@ -524,10 +560,10 @@ static const struct clksel_rate clkout2_src_54m_rates[] = { | |||
524 | { .div = 0 } | 560 | { .div = 0 } |
525 | }; | 561 | }; |
526 | 562 | ||
527 | DEFINE_CLK_DIVIDER(dpll4_m3_ck, "dpll4_ck", &dpll4_ck, 0x0, | 563 | DEFINE_CLK_DIVIDER_TABLE(dpll4_m3_ck, "dpll4_ck", &dpll4_ck, 0x0, |
528 | OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_CLKSEL), | 564 | OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_CLKSEL), |
529 | OMAP3430_CLKSEL_TV_SHIFT, OMAP3630_CLKSEL_TV_WIDTH, | 565 | OMAP3430_CLKSEL_TV_SHIFT, OMAP3630_CLKSEL_TV_WIDTH, |
530 | CLK_DIVIDER_ONE_BASED, NULL); | 566 | 0, dpll4_mx_ck_div_table, NULL); |
531 | 567 | ||
532 | static struct clk dpll4_m3x2_ck; | 568 | static struct clk dpll4_m3x2_ck; |
533 | 569 | ||
@@ -847,10 +883,10 @@ static struct clk dpll3_m3x2_ck_3630 = { | |||
847 | 883 | ||
848 | DEFINE_CLK_FIXED_FACTOR(dpll3_x2_ck, "dpll3_ck", &dpll3_ck, 0x0, 2, 1); | 884 | DEFINE_CLK_FIXED_FACTOR(dpll3_x2_ck, "dpll3_ck", &dpll3_ck, 0x0, 2, 1); |
849 | 885 | ||
850 | DEFINE_CLK_DIVIDER(dpll4_m4_ck, "dpll4_ck", &dpll4_ck, 0x0, | 886 | DEFINE_CLK_DIVIDER_TABLE(dpll4_m4_ck, "dpll4_ck", &dpll4_ck, 0x0, |
851 | OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_CLKSEL), | 887 | OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_CLKSEL), |
852 | OMAP3430_CLKSEL_DSS1_SHIFT, OMAP3630_CLKSEL_DSS1_WIDTH, | 888 | OMAP3430_CLKSEL_DSS1_SHIFT, OMAP3630_CLKSEL_DSS1_WIDTH, |
853 | CLK_DIVIDER_ONE_BASED, NULL); | 889 | 0, dpll4_mx_ck_div_table, NULL); |
854 | 890 | ||
855 | static struct clk dpll4_m4x2_ck; | 891 | static struct clk dpll4_m4x2_ck; |
856 | 892 | ||
@@ -869,7 +905,8 @@ static struct clk_hw_omap dpll4_m4x2_ck_hw = { | |||
869 | .clkdm_name = "dpll4_clkdm", | 905 | .clkdm_name = "dpll4_clkdm", |
870 | }; | 906 | }; |
871 | 907 | ||
872 | DEFINE_STRUCT_CLK(dpll4_m4x2_ck, dpll4_m4x2_ck_parent_names, dpll4_m5x2_ck_ops); | 908 | DEFINE_STRUCT_CLK_FLAGS(dpll4_m4x2_ck, dpll4_m4x2_ck_parent_names, |
909 | dpll4_m5x2_ck_ops, CLK_SET_RATE_PARENT); | ||
873 | 910 | ||
874 | static struct clk dpll4_m4x2_ck_3630 = { | 911 | static struct clk dpll4_m4x2_ck_3630 = { |
875 | .name = "dpll4_m4x2_ck", | 912 | .name = "dpll4_m4x2_ck", |
@@ -877,6 +914,7 @@ static struct clk dpll4_m4x2_ck_3630 = { | |||
877 | .parent_names = dpll4_m4x2_ck_parent_names, | 914 | .parent_names = dpll4_m4x2_ck_parent_names, |
878 | .num_parents = ARRAY_SIZE(dpll4_m4x2_ck_parent_names), | 915 | .num_parents = ARRAY_SIZE(dpll4_m4x2_ck_parent_names), |
879 | .ops = &dpll4_m5x2_ck_3630_ops, | 916 | .ops = &dpll4_m5x2_ck_3630_ops, |
917 | .flags = CLK_SET_RATE_PARENT, | ||
880 | }; | 918 | }; |
881 | 919 | ||
882 | DEFINE_CLK_DIVIDER(dpll4_m6_ck, "dpll4_ck", &dpll4_ck, 0x0, | 920 | DEFINE_CLK_DIVIDER(dpll4_m6_ck, "dpll4_ck", &dpll4_ck, 0x0, |
@@ -968,8 +1006,9 @@ static struct clk_hw_omap dss1_alwon_fck_3430es1_hw = { | |||
968 | .clkdm_name = "dss_clkdm", | 1006 | .clkdm_name = "dss_clkdm", |
969 | }; | 1007 | }; |
970 | 1008 | ||
971 | DEFINE_STRUCT_CLK(dss1_alwon_fck_3430es1, dss1_alwon_fck_3430es1_parent_names, | 1009 | DEFINE_STRUCT_CLK_FLAGS(dss1_alwon_fck_3430es1, |
972 | aes2_ick_ops); | 1010 | dss1_alwon_fck_3430es1_parent_names, aes2_ick_ops, |
1011 | CLK_SET_RATE_PARENT); | ||
973 | 1012 | ||
974 | static struct clk dss1_alwon_fck_3430es2; | 1013 | static struct clk dss1_alwon_fck_3430es2; |
975 | 1014 | ||
@@ -983,8 +1022,9 @@ static struct clk_hw_omap dss1_alwon_fck_3430es2_hw = { | |||
983 | .clkdm_name = "dss_clkdm", | 1022 | .clkdm_name = "dss_clkdm", |
984 | }; | 1023 | }; |
985 | 1024 | ||
986 | DEFINE_STRUCT_CLK(dss1_alwon_fck_3430es2, dss1_alwon_fck_3430es1_parent_names, | 1025 | DEFINE_STRUCT_CLK_FLAGS(dss1_alwon_fck_3430es2, |
987 | aes2_ick_ops); | 1026 | dss1_alwon_fck_3430es1_parent_names, aes2_ick_ops, |
1027 | CLK_SET_RATE_PARENT); | ||
988 | 1028 | ||
989 | static struct clk dss2_alwon_fck; | 1029 | static struct clk dss2_alwon_fck; |
990 | 1030 | ||