diff options
Diffstat (limited to 'arch/arm/mach-omap2/clock44xx_data.c')
-rw-r--r-- | arch/arm/mach-omap2/clock44xx_data.c | 490 |
1 files changed, 287 insertions, 203 deletions
diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index 8c965671b4d4..2af0e3f00ce1 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c | |||
@@ -53,9 +53,9 @@ static struct clk extalt_clkin_ck = { | |||
53 | static struct clk pad_clks_ck = { | 53 | static struct clk pad_clks_ck = { |
54 | .name = "pad_clks_ck", | 54 | .name = "pad_clks_ck", |
55 | .rate = 12000000, | 55 | .rate = 12000000, |
56 | .ops = &clkops_omap2_dflt, | 56 | .ops = &clkops_omap2_dflt, |
57 | .enable_reg = OMAP4430_CM_CLKSEL_ABE, | 57 | .enable_reg = OMAP4430_CM_CLKSEL_ABE, |
58 | .enable_bit = OMAP4430_PAD_CLKS_GATE_SHIFT, | 58 | .enable_bit = OMAP4430_PAD_CLKS_GATE_SHIFT, |
59 | }; | 59 | }; |
60 | 60 | ||
61 | static struct clk pad_slimbus_core_clks_ck = { | 61 | static struct clk pad_slimbus_core_clks_ck = { |
@@ -73,9 +73,9 @@ static struct clk secure_32k_clk_src_ck = { | |||
73 | static struct clk slimbus_clk = { | 73 | static struct clk slimbus_clk = { |
74 | .name = "slimbus_clk", | 74 | .name = "slimbus_clk", |
75 | .rate = 12000000, | 75 | .rate = 12000000, |
76 | .ops = &clkops_omap2_dflt, | 76 | .ops = &clkops_omap2_dflt, |
77 | .enable_reg = OMAP4430_CM_CLKSEL_ABE, | 77 | .enable_reg = OMAP4430_CM_CLKSEL_ABE, |
78 | .enable_bit = OMAP4430_SLIMBUS_CLK_GATE_SHIFT, | 78 | .enable_bit = OMAP4430_SLIMBUS_CLK_GATE_SHIFT, |
79 | }; | 79 | }; |
80 | 80 | ||
81 | static struct clk sys_32k_ck = { | 81 | static struct clk sys_32k_ck = { |
@@ -258,8 +258,8 @@ static struct dpll_data dpll_abe_dd = { | |||
258 | .enable_mask = OMAP4430_DPLL_EN_MASK, | 258 | .enable_mask = OMAP4430_DPLL_EN_MASK, |
259 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, | 259 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, |
260 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, | 260 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, |
261 | .max_multiplier = OMAP4430_MAX_DPLL_MULT, | 261 | .max_multiplier = 2047, |
262 | .max_divider = OMAP4430_MAX_DPLL_DIV, | 262 | .max_divider = 128, |
263 | .min_divider = 1, | 263 | .min_divider = 1, |
264 | }; | 264 | }; |
265 | 265 | ||
@@ -278,10 +278,10 @@ static struct clk dpll_abe_ck = { | |||
278 | static struct clk dpll_abe_x2_ck = { | 278 | static struct clk dpll_abe_x2_ck = { |
279 | .name = "dpll_abe_x2_ck", | 279 | .name = "dpll_abe_x2_ck", |
280 | .parent = &dpll_abe_ck, | 280 | .parent = &dpll_abe_ck, |
281 | .clksel_reg = OMAP4430_CM_DIV_M2_DPLL_ABE, | ||
281 | .flags = CLOCK_CLKOUTX2, | 282 | .flags = CLOCK_CLKOUTX2, |
282 | .ops = &clkops_omap4_dpllmx_ops, | 283 | .ops = &clkops_omap4_dpllmx_ops, |
283 | .recalc = &omap3_clkoutx2_recalc, | 284 | .recalc = &omap3_clkoutx2_recalc, |
284 | .clksel_reg = OMAP4430_CM_DIV_M2_DPLL_ABE, | ||
285 | }; | 285 | }; |
286 | 286 | ||
287 | static const struct clksel_rate div31_1to31_rates[] = { | 287 | static const struct clksel_rate div31_1to31_rates[] = { |
@@ -434,8 +434,8 @@ static struct dpll_data dpll_core_dd = { | |||
434 | .enable_mask = OMAP4430_DPLL_EN_MASK, | 434 | .enable_mask = OMAP4430_DPLL_EN_MASK, |
435 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, | 435 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, |
436 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, | 436 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, |
437 | .max_multiplier = OMAP4430_MAX_DPLL_MULT, | 437 | .max_multiplier = 2047, |
438 | .max_divider = OMAP4430_MAX_DPLL_DIV, | 438 | .max_divider = 128, |
439 | .min_divider = 1, | 439 | .min_divider = 1, |
440 | }; | 440 | }; |
441 | 441 | ||
@@ -622,11 +622,11 @@ static struct clk dpll_core_m3x2_ck = { | |||
622 | .clksel_reg = OMAP4430_CM_DIV_M3_DPLL_CORE, | 622 | .clksel_reg = OMAP4430_CM_DIV_M3_DPLL_CORE, |
623 | .clksel_mask = OMAP4430_DPLL_CLKOUTHIF_DIV_MASK, | 623 | .clksel_mask = OMAP4430_DPLL_CLKOUTHIF_DIV_MASK, |
624 | .ops = &clkops_omap2_dflt, | 624 | .ops = &clkops_omap2_dflt, |
625 | .enable_reg = OMAP4430_CM_DIV_M3_DPLL_CORE, | ||
626 | .enable_bit = OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_SHIFT, | ||
627 | .recalc = &omap2_clksel_recalc, | 625 | .recalc = &omap2_clksel_recalc, |
628 | .round_rate = &omap2_clksel_round_rate, | 626 | .round_rate = &omap2_clksel_round_rate, |
629 | .set_rate = &omap2_clksel_set_rate, | 627 | .set_rate = &omap2_clksel_set_rate, |
628 | .enable_reg = OMAP4430_CM_DIV_M3_DPLL_CORE, | ||
629 | .enable_bit = OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_SHIFT, | ||
630 | }; | 630 | }; |
631 | 631 | ||
632 | static struct clk dpll_core_m7x2_ck = { | 632 | static struct clk dpll_core_m7x2_ck = { |
@@ -672,8 +672,8 @@ static struct dpll_data dpll_iva_dd = { | |||
672 | .enable_mask = OMAP4430_DPLL_EN_MASK, | 672 | .enable_mask = OMAP4430_DPLL_EN_MASK, |
673 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, | 673 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, |
674 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, | 674 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, |
675 | .max_multiplier = OMAP4430_MAX_DPLL_MULT, | 675 | .max_multiplier = 2047, |
676 | .max_divider = OMAP4430_MAX_DPLL_DIV, | 676 | .max_divider = 128, |
677 | .min_divider = 1, | 677 | .min_divider = 1, |
678 | }; | 678 | }; |
679 | 679 | ||
@@ -740,8 +740,8 @@ static struct dpll_data dpll_mpu_dd = { | |||
740 | .enable_mask = OMAP4430_DPLL_EN_MASK, | 740 | .enable_mask = OMAP4430_DPLL_EN_MASK, |
741 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, | 741 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, |
742 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, | 742 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, |
743 | .max_multiplier = OMAP4430_MAX_DPLL_MULT, | 743 | .max_multiplier = 2047, |
744 | .max_divider = OMAP4430_MAX_DPLL_DIV, | 744 | .max_divider = 128, |
745 | .min_divider = 1, | 745 | .min_divider = 1, |
746 | }; | 746 | }; |
747 | 747 | ||
@@ -813,8 +813,8 @@ static struct dpll_data dpll_per_dd = { | |||
813 | .enable_mask = OMAP4430_DPLL_EN_MASK, | 813 | .enable_mask = OMAP4430_DPLL_EN_MASK, |
814 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, | 814 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, |
815 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, | 815 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, |
816 | .max_multiplier = OMAP4430_MAX_DPLL_MULT, | 816 | .max_multiplier = 2047, |
817 | .max_divider = OMAP4430_MAX_DPLL_DIV, | 817 | .max_divider = 128, |
818 | .min_divider = 1, | 818 | .min_divider = 1, |
819 | }; | 819 | }; |
820 | 820 | ||
@@ -850,10 +850,10 @@ static struct clk dpll_per_m2_ck = { | |||
850 | static struct clk dpll_per_x2_ck = { | 850 | static struct clk dpll_per_x2_ck = { |
851 | .name = "dpll_per_x2_ck", | 851 | .name = "dpll_per_x2_ck", |
852 | .parent = &dpll_per_ck, | 852 | .parent = &dpll_per_ck, |
853 | .clksel_reg = OMAP4430_CM_DIV_M2_DPLL_PER, | ||
853 | .flags = CLOCK_CLKOUTX2, | 854 | .flags = CLOCK_CLKOUTX2, |
854 | .ops = &clkops_omap4_dpllmx_ops, | 855 | .ops = &clkops_omap4_dpllmx_ops, |
855 | .recalc = &omap3_clkoutx2_recalc, | 856 | .recalc = &omap3_clkoutx2_recalc, |
856 | .clksel_reg = OMAP4430_CM_DIV_M2_DPLL_PER, | ||
857 | }; | 857 | }; |
858 | 858 | ||
859 | static const struct clksel dpll_per_m2x2_div[] = { | 859 | static const struct clksel dpll_per_m2x2_div[] = { |
@@ -880,11 +880,11 @@ static struct clk dpll_per_m3x2_ck = { | |||
880 | .clksel_reg = OMAP4430_CM_DIV_M3_DPLL_PER, | 880 | .clksel_reg = OMAP4430_CM_DIV_M3_DPLL_PER, |
881 | .clksel_mask = OMAP4430_DPLL_CLKOUTHIF_DIV_MASK, | 881 | .clksel_mask = OMAP4430_DPLL_CLKOUTHIF_DIV_MASK, |
882 | .ops = &clkops_omap2_dflt, | 882 | .ops = &clkops_omap2_dflt, |
883 | .enable_reg = OMAP4430_CM_DIV_M3_DPLL_PER, | ||
884 | .enable_bit = OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_SHIFT, | ||
885 | .recalc = &omap2_clksel_recalc, | 883 | .recalc = &omap2_clksel_recalc, |
886 | .round_rate = &omap2_clksel_round_rate, | 884 | .round_rate = &omap2_clksel_round_rate, |
887 | .set_rate = &omap2_clksel_set_rate, | 885 | .set_rate = &omap2_clksel_set_rate, |
886 | .enable_reg = OMAP4430_CM_DIV_M3_DPLL_PER, | ||
887 | .enable_bit = OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_SHIFT, | ||
888 | }; | 888 | }; |
889 | 889 | ||
890 | static struct clk dpll_per_m4x2_ck = { | 890 | static struct clk dpll_per_m4x2_ck = { |
@@ -935,63 +935,6 @@ static struct clk dpll_per_m7x2_ck = { | |||
935 | .set_rate = &omap2_clksel_set_rate, | 935 | .set_rate = &omap2_clksel_set_rate, |
936 | }; | 936 | }; |
937 | 937 | ||
938 | /* DPLL_UNIPRO */ | ||
939 | static struct dpll_data dpll_unipro_dd = { | ||
940 | .mult_div1_reg = OMAP4430_CM_CLKSEL_DPLL_UNIPRO, | ||
941 | .clk_bypass = &sys_clkin_ck, | ||
942 | .clk_ref = &sys_clkin_ck, | ||
943 | .control_reg = OMAP4430_CM_CLKMODE_DPLL_UNIPRO, | ||
944 | .modes = (1 << DPLL_LOW_POWER_BYPASS) | (1 << DPLL_LOCKED), | ||
945 | .autoidle_reg = OMAP4430_CM_AUTOIDLE_DPLL_UNIPRO, | ||
946 | .idlest_reg = OMAP4430_CM_IDLEST_DPLL_UNIPRO, | ||
947 | .mult_mask = OMAP4430_DPLL_MULT_MASK, | ||
948 | .div1_mask = OMAP4430_DPLL_DIV_MASK, | ||
949 | .enable_mask = OMAP4430_DPLL_EN_MASK, | ||
950 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, | ||
951 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, | ||
952 | .sddiv_mask = OMAP4430_DPLL_SD_DIV_MASK, | ||
953 | .max_multiplier = OMAP4430_MAX_DPLL_MULT, | ||
954 | .max_divider = OMAP4430_MAX_DPLL_DIV, | ||
955 | .min_divider = 1, | ||
956 | }; | ||
957 | |||
958 | |||
959 | static struct clk dpll_unipro_ck = { | ||
960 | .name = "dpll_unipro_ck", | ||
961 | .parent = &sys_clkin_ck, | ||
962 | .dpll_data = &dpll_unipro_dd, | ||
963 | .init = &omap2_init_dpll_parent, | ||
964 | .ops = &clkops_omap3_noncore_dpll_ops, | ||
965 | .recalc = &omap3_dpll_recalc, | ||
966 | .round_rate = &omap2_dpll_round_rate, | ||
967 | .set_rate = &omap3_noncore_dpll_set_rate, | ||
968 | }; | ||
969 | |||
970 | static struct clk dpll_unipro_x2_ck = { | ||
971 | .name = "dpll_unipro_x2_ck", | ||
972 | .parent = &dpll_unipro_ck, | ||
973 | .flags = CLOCK_CLKOUTX2, | ||
974 | .ops = &clkops_null, | ||
975 | .recalc = &omap3_clkoutx2_recalc, | ||
976 | }; | ||
977 | |||
978 | static const struct clksel dpll_unipro_m2x2_div[] = { | ||
979 | { .parent = &dpll_unipro_x2_ck, .rates = div31_1to31_rates }, | ||
980 | { .parent = NULL }, | ||
981 | }; | ||
982 | |||
983 | static struct clk dpll_unipro_m2x2_ck = { | ||
984 | .name = "dpll_unipro_m2x2_ck", | ||
985 | .parent = &dpll_unipro_x2_ck, | ||
986 | .clksel = dpll_unipro_m2x2_div, | ||
987 | .clksel_reg = OMAP4430_CM_DIV_M2_DPLL_UNIPRO, | ||
988 | .clksel_mask = OMAP4430_DPLL_CLKOUT_DIV_MASK, | ||
989 | .ops = &clkops_omap4_dpllmx_ops, | ||
990 | .recalc = &omap2_clksel_recalc, | ||
991 | .round_rate = &omap2_clksel_round_rate, | ||
992 | .set_rate = &omap2_clksel_set_rate, | ||
993 | }; | ||
994 | |||
995 | static struct clk usb_hs_clk_div_ck = { | 938 | static struct clk usb_hs_clk_div_ck = { |
996 | .name = "usb_hs_clk_div_ck", | 939 | .name = "usb_hs_clk_div_ck", |
997 | .parent = &dpll_abe_m3x2_ck, | 940 | .parent = &dpll_abe_m3x2_ck, |
@@ -1015,8 +958,9 @@ static struct dpll_data dpll_usb_dd = { | |||
1015 | .enable_mask = OMAP4430_DPLL_EN_MASK, | 958 | .enable_mask = OMAP4430_DPLL_EN_MASK, |
1016 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, | 959 | .autoidle_mask = OMAP4430_AUTO_DPLL_MODE_MASK, |
1017 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, | 960 | .idlest_mask = OMAP4430_ST_DPLL_CLK_MASK, |
1018 | .max_multiplier = OMAP4430_MAX_DPLL_MULT, | 961 | .sddiv_mask = OMAP4430_DPLL_SD_DIV_MASK, |
1019 | .max_divider = OMAP4430_MAX_DPLL_DIV, | 962 | .max_multiplier = 4095, |
963 | .max_divider = 256, | ||
1020 | .min_divider = 1, | 964 | .min_divider = 1, |
1021 | }; | 965 | }; |
1022 | 966 | ||
@@ -1035,8 +979,8 @@ static struct clk dpll_usb_ck = { | |||
1035 | static struct clk dpll_usb_clkdcoldo_ck = { | 979 | static struct clk dpll_usb_clkdcoldo_ck = { |
1036 | .name = "dpll_usb_clkdcoldo_ck", | 980 | .name = "dpll_usb_clkdcoldo_ck", |
1037 | .parent = &dpll_usb_ck, | 981 | .parent = &dpll_usb_ck, |
1038 | .ops = &clkops_omap4_dpllmx_ops, | ||
1039 | .clksel_reg = OMAP4430_CM_CLKDCOLDO_DPLL_USB, | 982 | .clksel_reg = OMAP4430_CM_CLKDCOLDO_DPLL_USB, |
983 | .ops = &clkops_omap4_dpllmx_ops, | ||
1040 | .recalc = &followparent_recalc, | 984 | .recalc = &followparent_recalc, |
1041 | }; | 985 | }; |
1042 | 986 | ||
@@ -1169,19 +1113,6 @@ static struct clk func_96m_fclk = { | |||
1169 | .set_rate = &omap2_clksel_set_rate, | 1113 | .set_rate = &omap2_clksel_set_rate, |
1170 | }; | 1114 | }; |
1171 | 1115 | ||
1172 | static const struct clksel hsmmc6_fclk_sel[] = { | ||
1173 | { .parent = &func_64m_fclk, .rates = div_1_0_rates }, | ||
1174 | { .parent = &func_96m_fclk, .rates = div_1_1_rates }, | ||
1175 | { .parent = NULL }, | ||
1176 | }; | ||
1177 | |||
1178 | static struct clk hsmmc6_fclk = { | ||
1179 | .name = "hsmmc6_fclk", | ||
1180 | .parent = &func_64m_fclk, | ||
1181 | .ops = &clkops_null, | ||
1182 | .recalc = &followparent_recalc, | ||
1183 | }; | ||
1184 | |||
1185 | static const struct clksel_rate div2_1to8_rates[] = { | 1116 | static const struct clksel_rate div2_1to8_rates[] = { |
1186 | { .div = 1, .val = 0, .flags = RATE_IN_4430 }, | 1117 | { .div = 1, .val = 0, .flags = RATE_IN_4430 }, |
1187 | { .div = 8, .val = 1, .flags = RATE_IN_4430 }, | 1118 | { .div = 8, .val = 1, .flags = RATE_IN_4430 }, |
@@ -1264,6 +1195,21 @@ static struct clk l4_wkup_clk_mux_ck = { | |||
1264 | .recalc = &omap2_clksel_recalc, | 1195 | .recalc = &omap2_clksel_recalc, |
1265 | }; | 1196 | }; |
1266 | 1197 | ||
1198 | static struct clk ocp_abe_iclk = { | ||
1199 | .name = "ocp_abe_iclk", | ||
1200 | .parent = &aess_fclk, | ||
1201 | .ops = &clkops_null, | ||
1202 | .recalc = &followparent_recalc, | ||
1203 | }; | ||
1204 | |||
1205 | static struct clk per_abe_24m_fclk = { | ||
1206 | .name = "per_abe_24m_fclk", | ||
1207 | .parent = &dpll_abe_m2_ck, | ||
1208 | .ops = &clkops_null, | ||
1209 | .fixed_div = 4, | ||
1210 | .recalc = &omap_fixed_divisor_recalc, | ||
1211 | }; | ||
1212 | |||
1267 | static const struct clksel per_abe_nc_fclk_div[] = { | 1213 | static const struct clksel per_abe_nc_fclk_div[] = { |
1268 | { .parent = &dpll_abe_m2_ck, .rates = div2_1to2_rates }, | 1214 | { .parent = &dpll_abe_m2_ck, .rates = div2_1to2_rates }, |
1269 | { .parent = NULL }, | 1215 | { .parent = NULL }, |
@@ -1281,41 +1227,6 @@ static struct clk per_abe_nc_fclk = { | |||
1281 | .set_rate = &omap2_clksel_set_rate, | 1227 | .set_rate = &omap2_clksel_set_rate, |
1282 | }; | 1228 | }; |
1283 | 1229 | ||
1284 | static const struct clksel mcasp2_fclk_sel[] = { | ||
1285 | { .parent = &func_96m_fclk, .rates = div_1_0_rates }, | ||
1286 | { .parent = &per_abe_nc_fclk, .rates = div_1_1_rates }, | ||
1287 | { .parent = NULL }, | ||
1288 | }; | ||
1289 | |||
1290 | static struct clk mcasp2_fclk = { | ||
1291 | .name = "mcasp2_fclk", | ||
1292 | .parent = &func_96m_fclk, | ||
1293 | .ops = &clkops_null, | ||
1294 | .recalc = &followparent_recalc, | ||
1295 | }; | ||
1296 | |||
1297 | static struct clk mcasp3_fclk = { | ||
1298 | .name = "mcasp3_fclk", | ||
1299 | .parent = &func_96m_fclk, | ||
1300 | .ops = &clkops_null, | ||
1301 | .recalc = &followparent_recalc, | ||
1302 | }; | ||
1303 | |||
1304 | static struct clk ocp_abe_iclk = { | ||
1305 | .name = "ocp_abe_iclk", | ||
1306 | .parent = &aess_fclk, | ||
1307 | .ops = &clkops_null, | ||
1308 | .recalc = &followparent_recalc, | ||
1309 | }; | ||
1310 | |||
1311 | static struct clk per_abe_24m_fclk = { | ||
1312 | .name = "per_abe_24m_fclk", | ||
1313 | .parent = &dpll_abe_m2_ck, | ||
1314 | .ops = &clkops_null, | ||
1315 | .fixed_div = 4, | ||
1316 | .recalc = &omap_fixed_divisor_recalc, | ||
1317 | }; | ||
1318 | |||
1319 | static const struct clksel pmd_stm_clock_mux_sel[] = { | 1230 | static const struct clksel pmd_stm_clock_mux_sel[] = { |
1320 | { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, | 1231 | { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, |
1321 | { .parent = &dpll_core_m6x2_ck, .rates = div_1_1_rates }, | 1232 | { .parent = &dpll_core_m6x2_ck, .rates = div_1_1_rates }, |
@@ -1486,6 +1397,40 @@ static struct clk dss_dss_clk = { | |||
1486 | .recalc = &followparent_recalc, | 1397 | .recalc = &followparent_recalc, |
1487 | }; | 1398 | }; |
1488 | 1399 | ||
1400 | static const struct clksel_rate div3_8to32_rates[] = { | ||
1401 | { .div = 8, .val = 0, .flags = RATE_IN_44XX }, | ||
1402 | { .div = 16, .val = 1, .flags = RATE_IN_44XX }, | ||
1403 | { .div = 32, .val = 2, .flags = RATE_IN_44XX }, | ||
1404 | { .div = 0 }, | ||
1405 | }; | ||
1406 | |||
1407 | static const struct clksel div_ts_div[] = { | ||
1408 | { .parent = &l4_wkup_clk_mux_ck, .rates = div3_8to32_rates }, | ||
1409 | { .parent = NULL }, | ||
1410 | }; | ||
1411 | |||
1412 | static struct clk div_ts_ck = { | ||
1413 | .name = "div_ts_ck", | ||
1414 | .parent = &l4_wkup_clk_mux_ck, | ||
1415 | .clksel = div_ts_div, | ||
1416 | .clksel_reg = OMAP4430_CM_WKUP_BANDGAP_CLKCTRL, | ||
1417 | .clksel_mask = OMAP4430_CLKSEL_24_25_MASK, | ||
1418 | .ops = &clkops_null, | ||
1419 | .recalc = &omap2_clksel_recalc, | ||
1420 | .round_rate = &omap2_clksel_round_rate, | ||
1421 | .set_rate = &omap2_clksel_set_rate, | ||
1422 | }; | ||
1423 | |||
1424 | static struct clk bandgap_ts_fclk = { | ||
1425 | .name = "bandgap_ts_fclk", | ||
1426 | .ops = &clkops_omap2_dflt, | ||
1427 | .enable_reg = OMAP4430_CM_WKUP_BANDGAP_CLKCTRL, | ||
1428 | .enable_bit = OMAP4460_OPTFCLKEN_TS_FCLK_SHIFT, | ||
1429 | .clkdm_name = "l4_wkup_clkdm", | ||
1430 | .parent = &div_ts_ck, | ||
1431 | .recalc = &followparent_recalc, | ||
1432 | }; | ||
1433 | |||
1489 | static struct clk dss_48mhz_clk = { | 1434 | static struct clk dss_48mhz_clk = { |
1490 | .name = "dss_48mhz_clk", | 1435 | .name = "dss_48mhz_clk", |
1491 | .ops = &clkops_omap2_dflt, | 1436 | .ops = &clkops_omap2_dflt, |
@@ -1694,6 +1639,7 @@ static struct clk gpmc_ick = { | |||
1694 | .ops = &clkops_omap2_dflt, | 1639 | .ops = &clkops_omap2_dflt, |
1695 | .enable_reg = OMAP4430_CM_L3_2_GPMC_CLKCTRL, | 1640 | .enable_reg = OMAP4430_CM_L3_2_GPMC_CLKCTRL, |
1696 | .enable_bit = OMAP4430_MODULEMODE_HWCTRL, | 1641 | .enable_bit = OMAP4430_MODULEMODE_HWCTRL, |
1642 | .flags = ENABLE_ON_INIT, | ||
1697 | .clkdm_name = "l3_2_clkdm", | 1643 | .clkdm_name = "l3_2_clkdm", |
1698 | .parent = &l3_div_ck, | 1644 | .parent = &l3_div_ck, |
1699 | .recalc = &followparent_recalc, | 1645 | .recalc = &followparent_recalc, |
@@ -1846,8 +1792,8 @@ static struct clk l3_instr_ick = { | |||
1846 | .ops = &clkops_omap2_dflt, | 1792 | .ops = &clkops_omap2_dflt, |
1847 | .enable_reg = OMAP4430_CM_L3INSTR_L3_INSTR_CLKCTRL, | 1793 | .enable_reg = OMAP4430_CM_L3INSTR_L3_INSTR_CLKCTRL, |
1848 | .enable_bit = OMAP4430_MODULEMODE_HWCTRL, | 1794 | .enable_bit = OMAP4430_MODULEMODE_HWCTRL, |
1849 | .clkdm_name = "l3_instr_clkdm", | ||
1850 | .flags = ENABLE_ON_INIT, | 1795 | .flags = ENABLE_ON_INIT, |
1796 | .clkdm_name = "l3_instr_clkdm", | ||
1851 | .parent = &l3_div_ck, | 1797 | .parent = &l3_div_ck, |
1852 | .recalc = &followparent_recalc, | 1798 | .recalc = &followparent_recalc, |
1853 | }; | 1799 | }; |
@@ -1857,8 +1803,8 @@ static struct clk l3_main_3_ick = { | |||
1857 | .ops = &clkops_omap2_dflt, | 1803 | .ops = &clkops_omap2_dflt, |
1858 | .enable_reg = OMAP4430_CM_L3INSTR_L3_3_CLKCTRL, | 1804 | .enable_reg = OMAP4430_CM_L3INSTR_L3_3_CLKCTRL, |
1859 | .enable_bit = OMAP4430_MODULEMODE_HWCTRL, | 1805 | .enable_bit = OMAP4430_MODULEMODE_HWCTRL, |
1860 | .clkdm_name = "l3_instr_clkdm", | ||
1861 | .flags = ENABLE_ON_INIT, | 1806 | .flags = ENABLE_ON_INIT, |
1807 | .clkdm_name = "l3_instr_clkdm", | ||
1862 | .parent = &l3_div_ck, | 1808 | .parent = &l3_div_ck, |
1863 | .recalc = &followparent_recalc, | 1809 | .recalc = &followparent_recalc, |
1864 | }; | 1810 | }; |
@@ -1995,10 +1941,16 @@ static struct clk mcbsp3_fck = { | |||
1995 | .clkdm_name = "abe_clkdm", | 1941 | .clkdm_name = "abe_clkdm", |
1996 | }; | 1942 | }; |
1997 | 1943 | ||
1944 | static const struct clksel mcbsp4_sync_mux_sel[] = { | ||
1945 | { .parent = &func_96m_fclk, .rates = div_1_0_rates }, | ||
1946 | { .parent = &per_abe_nc_fclk, .rates = div_1_1_rates }, | ||
1947 | { .parent = NULL }, | ||
1948 | }; | ||
1949 | |||
1998 | static struct clk mcbsp4_sync_mux_ck = { | 1950 | static struct clk mcbsp4_sync_mux_ck = { |
1999 | .name = "mcbsp4_sync_mux_ck", | 1951 | .name = "mcbsp4_sync_mux_ck", |
2000 | .parent = &func_96m_fclk, | 1952 | .parent = &func_96m_fclk, |
2001 | .clksel = mcasp2_fclk_sel, | 1953 | .clksel = mcbsp4_sync_mux_sel, |
2002 | .init = &omap2_init_clksel_parent, | 1954 | .init = &omap2_init_clksel_parent, |
2003 | .clksel_reg = OMAP4430_CM_L4PER_MCBSP4_CLKCTRL, | 1955 | .clksel_reg = OMAP4430_CM_L4PER_MCBSP4_CLKCTRL, |
2004 | .clksel_mask = OMAP4430_CLKSEL_INTERNAL_SOURCE_MASK, | 1956 | .clksel_mask = OMAP4430_CLKSEL_INTERNAL_SOURCE_MASK, |
@@ -2077,11 +2029,17 @@ static struct clk mcspi4_fck = { | |||
2077 | .recalc = &followparent_recalc, | 2029 | .recalc = &followparent_recalc, |
2078 | }; | 2030 | }; |
2079 | 2031 | ||
2032 | static const struct clksel hsmmc1_fclk_sel[] = { | ||
2033 | { .parent = &func_64m_fclk, .rates = div_1_0_rates }, | ||
2034 | { .parent = &func_96m_fclk, .rates = div_1_1_rates }, | ||
2035 | { .parent = NULL }, | ||
2036 | }; | ||
2037 | |||
2080 | /* Merged hsmmc1_fclk into mmc1 */ | 2038 | /* Merged hsmmc1_fclk into mmc1 */ |
2081 | static struct clk mmc1_fck = { | 2039 | static struct clk mmc1_fck = { |
2082 | .name = "mmc1_fck", | 2040 | .name = "mmc1_fck", |
2083 | .parent = &func_64m_fclk, | 2041 | .parent = &func_64m_fclk, |
2084 | .clksel = hsmmc6_fclk_sel, | 2042 | .clksel = hsmmc1_fclk_sel, |
2085 | .init = &omap2_init_clksel_parent, | 2043 | .init = &omap2_init_clksel_parent, |
2086 | .clksel_reg = OMAP4430_CM_L3INIT_MMC1_CLKCTRL, | 2044 | .clksel_reg = OMAP4430_CM_L3INIT_MMC1_CLKCTRL, |
2087 | .clksel_mask = OMAP4430_CLKSEL_MASK, | 2045 | .clksel_mask = OMAP4430_CLKSEL_MASK, |
@@ -2096,7 +2054,7 @@ static struct clk mmc1_fck = { | |||
2096 | static struct clk mmc2_fck = { | 2054 | static struct clk mmc2_fck = { |
2097 | .name = "mmc2_fck", | 2055 | .name = "mmc2_fck", |
2098 | .parent = &func_64m_fclk, | 2056 | .parent = &func_64m_fclk, |
2099 | .clksel = hsmmc6_fclk_sel, | 2057 | .clksel = hsmmc1_fclk_sel, |
2100 | .init = &omap2_init_clksel_parent, | 2058 | .init = &omap2_init_clksel_parent, |
2101 | .clksel_reg = OMAP4430_CM_L3INIT_MMC2_CLKCTRL, | 2059 | .clksel_reg = OMAP4430_CM_L3INIT_MMC2_CLKCTRL, |
2102 | .clksel_mask = OMAP4430_CLKSEL_MASK, | 2060 | .clksel_mask = OMAP4430_CLKSEL_MASK, |
@@ -2162,8 +2120,8 @@ static struct clk ocp_wp_noc_ick = { | |||
2162 | .ops = &clkops_omap2_dflt, | 2120 | .ops = &clkops_omap2_dflt, |
2163 | .enable_reg = OMAP4430_CM_L3INSTR_OCP_WP1_CLKCTRL, | 2121 | .enable_reg = OMAP4430_CM_L3INSTR_OCP_WP1_CLKCTRL, |
2164 | .enable_bit = OMAP4430_MODULEMODE_HWCTRL, | 2122 | .enable_bit = OMAP4430_MODULEMODE_HWCTRL, |
2165 | .clkdm_name = "l3_instr_clkdm", | ||
2166 | .flags = ENABLE_ON_INIT, | 2123 | .flags = ENABLE_ON_INIT, |
2124 | .clkdm_name = "l3_instr_clkdm", | ||
2167 | .parent = &l3_div_ck, | 2125 | .parent = &l3_div_ck, |
2168 | .recalc = &followparent_recalc, | 2126 | .recalc = &followparent_recalc, |
2169 | }; | 2127 | }; |
@@ -2850,19 +2808,39 @@ static struct clk trace_clk_div_ck = { | |||
2850 | 2808 | ||
2851 | /* SCRM aux clk nodes */ | 2809 | /* SCRM aux clk nodes */ |
2852 | 2810 | ||
2853 | static const struct clksel auxclk_sel[] = { | 2811 | static const struct clksel auxclk_src_sel[] = { |
2854 | { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, | 2812 | { .parent = &sys_clkin_ck, .rates = div_1_0_rates }, |
2855 | { .parent = &dpll_core_m3x2_ck, .rates = div_1_1_rates }, | 2813 | { .parent = &dpll_core_m3x2_ck, .rates = div_1_1_rates }, |
2856 | { .parent = &dpll_per_m3x2_ck, .rates = div_1_2_rates }, | 2814 | { .parent = &dpll_per_m3x2_ck, .rates = div_1_2_rates }, |
2857 | { .parent = NULL }, | 2815 | { .parent = NULL }, |
2858 | }; | 2816 | }; |
2859 | 2817 | ||
2860 | static struct clk auxclk0_ck = { | 2818 | static const struct clksel_rate div16_1to16_rates[] = { |
2861 | .name = "auxclk0_ck", | 2819 | { .div = 1, .val = 0, .flags = RATE_IN_4430 }, |
2820 | { .div = 2, .val = 1, .flags = RATE_IN_4430 }, | ||
2821 | { .div = 3, .val = 2, .flags = RATE_IN_4430 }, | ||
2822 | { .div = 4, .val = 3, .flags = RATE_IN_4430 }, | ||
2823 | { .div = 5, .val = 4, .flags = RATE_IN_4430 }, | ||
2824 | { .div = 6, .val = 5, .flags = RATE_IN_4430 }, | ||
2825 | { .div = 7, .val = 6, .flags = RATE_IN_4430 }, | ||
2826 | { .div = 8, .val = 7, .flags = RATE_IN_4430 }, | ||
2827 | { .div = 9, .val = 8, .flags = RATE_IN_4430 }, | ||
2828 | { .div = 10, .val = 9, .flags = RATE_IN_4430 }, | ||
2829 | { .div = 11, .val = 10, .flags = RATE_IN_4430 }, | ||
2830 | { .div = 12, .val = 11, .flags = RATE_IN_4430 }, | ||
2831 | { .div = 13, .val = 12, .flags = RATE_IN_4430 }, | ||
2832 | { .div = 14, .val = 13, .flags = RATE_IN_4430 }, | ||
2833 | { .div = 15, .val = 14, .flags = RATE_IN_4430 }, | ||
2834 | { .div = 16, .val = 15, .flags = RATE_IN_4430 }, | ||
2835 | { .div = 0 }, | ||
2836 | }; | ||
2837 | |||
2838 | static struct clk auxclk0_src_ck = { | ||
2839 | .name = "auxclk0_src_ck", | ||
2862 | .parent = &sys_clkin_ck, | 2840 | .parent = &sys_clkin_ck, |
2863 | .init = &omap2_init_clksel_parent, | 2841 | .init = &omap2_init_clksel_parent, |
2864 | .ops = &clkops_omap2_dflt, | 2842 | .ops = &clkops_omap2_dflt, |
2865 | .clksel = auxclk_sel, | 2843 | .clksel = auxclk_src_sel, |
2866 | .clksel_reg = OMAP4_SCRM_AUXCLK0, | 2844 | .clksel_reg = OMAP4_SCRM_AUXCLK0, |
2867 | .clksel_mask = OMAP4_SRCSELECT_MASK, | 2845 | .clksel_mask = OMAP4_SRCSELECT_MASK, |
2868 | .recalc = &omap2_clksel_recalc, | 2846 | .recalc = &omap2_clksel_recalc, |
@@ -2870,12 +2848,29 @@ static struct clk auxclk0_ck = { | |||
2870 | .enable_bit = OMAP4_ENABLE_SHIFT, | 2848 | .enable_bit = OMAP4_ENABLE_SHIFT, |
2871 | }; | 2849 | }; |
2872 | 2850 | ||
2873 | static struct clk auxclk1_ck = { | 2851 | static const struct clksel auxclk0_sel[] = { |
2874 | .name = "auxclk1_ck", | 2852 | { .parent = &auxclk0_src_ck, .rates = div16_1to16_rates }, |
2853 | { .parent = NULL }, | ||
2854 | }; | ||
2855 | |||
2856 | static struct clk auxclk0_ck = { | ||
2857 | .name = "auxclk0_ck", | ||
2858 | .parent = &auxclk0_src_ck, | ||
2859 | .clksel = auxclk0_sel, | ||
2860 | .clksel_reg = OMAP4_SCRM_AUXCLK0, | ||
2861 | .clksel_mask = OMAP4_CLKDIV_MASK, | ||
2862 | .ops = &clkops_null, | ||
2863 | .recalc = &omap2_clksel_recalc, | ||
2864 | .round_rate = &omap2_clksel_round_rate, | ||
2865 | .set_rate = &omap2_clksel_set_rate, | ||
2866 | }; | ||
2867 | |||
2868 | static struct clk auxclk1_src_ck = { | ||
2869 | .name = "auxclk1_src_ck", | ||
2875 | .parent = &sys_clkin_ck, | 2870 | .parent = &sys_clkin_ck, |
2876 | .init = &omap2_init_clksel_parent, | 2871 | .init = &omap2_init_clksel_parent, |
2877 | .ops = &clkops_omap2_dflt, | 2872 | .ops = &clkops_omap2_dflt, |
2878 | .clksel = auxclk_sel, | 2873 | .clksel = auxclk_src_sel, |
2879 | .clksel_reg = OMAP4_SCRM_AUXCLK1, | 2874 | .clksel_reg = OMAP4_SCRM_AUXCLK1, |
2880 | .clksel_mask = OMAP4_SRCSELECT_MASK, | 2875 | .clksel_mask = OMAP4_SRCSELECT_MASK, |
2881 | .recalc = &omap2_clksel_recalc, | 2876 | .recalc = &omap2_clksel_recalc, |
@@ -2883,24 +2878,59 @@ static struct clk auxclk1_ck = { | |||
2883 | .enable_bit = OMAP4_ENABLE_SHIFT, | 2878 | .enable_bit = OMAP4_ENABLE_SHIFT, |
2884 | }; | 2879 | }; |
2885 | 2880 | ||
2886 | static struct clk auxclk2_ck = { | 2881 | static const struct clksel auxclk1_sel[] = { |
2887 | .name = "auxclk2_ck", | 2882 | { .parent = &auxclk1_src_ck, .rates = div16_1to16_rates }, |
2883 | { .parent = NULL }, | ||
2884 | }; | ||
2885 | |||
2886 | static struct clk auxclk1_ck = { | ||
2887 | .name = "auxclk1_ck", | ||
2888 | .parent = &auxclk1_src_ck, | ||
2889 | .clksel = auxclk1_sel, | ||
2890 | .clksel_reg = OMAP4_SCRM_AUXCLK1, | ||
2891 | .clksel_mask = OMAP4_CLKDIV_MASK, | ||
2892 | .ops = &clkops_null, | ||
2893 | .recalc = &omap2_clksel_recalc, | ||
2894 | .round_rate = &omap2_clksel_round_rate, | ||
2895 | .set_rate = &omap2_clksel_set_rate, | ||
2896 | }; | ||
2897 | |||
2898 | static struct clk auxclk2_src_ck = { | ||
2899 | .name = "auxclk2_src_ck", | ||
2888 | .parent = &sys_clkin_ck, | 2900 | .parent = &sys_clkin_ck, |
2889 | .init = &omap2_init_clksel_parent, | 2901 | .init = &omap2_init_clksel_parent, |
2890 | .ops = &clkops_omap2_dflt, | 2902 | .ops = &clkops_omap2_dflt, |
2891 | .clksel = auxclk_sel, | 2903 | .clksel = auxclk_src_sel, |
2892 | .clksel_reg = OMAP4_SCRM_AUXCLK2, | 2904 | .clksel_reg = OMAP4_SCRM_AUXCLK2, |
2893 | .clksel_mask = OMAP4_SRCSELECT_MASK, | 2905 | .clksel_mask = OMAP4_SRCSELECT_MASK, |
2894 | .recalc = &omap2_clksel_recalc, | 2906 | .recalc = &omap2_clksel_recalc, |
2895 | .enable_reg = OMAP4_SCRM_AUXCLK2, | 2907 | .enable_reg = OMAP4_SCRM_AUXCLK2, |
2896 | .enable_bit = OMAP4_ENABLE_SHIFT, | 2908 | .enable_bit = OMAP4_ENABLE_SHIFT, |
2897 | }; | 2909 | }; |
2898 | static struct clk auxclk3_ck = { | 2910 | |
2899 | .name = "auxclk3_ck", | 2911 | static const struct clksel auxclk2_sel[] = { |
2912 | { .parent = &auxclk2_src_ck, .rates = div16_1to16_rates }, | ||
2913 | { .parent = NULL }, | ||
2914 | }; | ||
2915 | |||
2916 | static struct clk auxclk2_ck = { | ||
2917 | .name = "auxclk2_ck", | ||
2918 | .parent = &auxclk2_src_ck, | ||
2919 | .clksel = auxclk2_sel, | ||
2920 | .clksel_reg = OMAP4_SCRM_AUXCLK2, | ||
2921 | .clksel_mask = OMAP4_CLKDIV_MASK, | ||
2922 | .ops = &clkops_null, | ||
2923 | .recalc = &omap2_clksel_recalc, | ||
2924 | .round_rate = &omap2_clksel_round_rate, | ||
2925 | .set_rate = &omap2_clksel_set_rate, | ||
2926 | }; | ||
2927 | |||
2928 | static struct clk auxclk3_src_ck = { | ||
2929 | .name = "auxclk3_src_ck", | ||
2900 | .parent = &sys_clkin_ck, | 2930 | .parent = &sys_clkin_ck, |
2901 | .init = &omap2_init_clksel_parent, | 2931 | .init = &omap2_init_clksel_parent, |
2902 | .ops = &clkops_omap2_dflt, | 2932 | .ops = &clkops_omap2_dflt, |
2903 | .clksel = auxclk_sel, | 2933 | .clksel = auxclk_src_sel, |
2904 | .clksel_reg = OMAP4_SCRM_AUXCLK3, | 2934 | .clksel_reg = OMAP4_SCRM_AUXCLK3, |
2905 | .clksel_mask = OMAP4_SRCSELECT_MASK, | 2935 | .clksel_mask = OMAP4_SRCSELECT_MASK, |
2906 | .recalc = &omap2_clksel_recalc, | 2936 | .recalc = &omap2_clksel_recalc, |
@@ -2908,12 +2938,29 @@ static struct clk auxclk3_ck = { | |||
2908 | .enable_bit = OMAP4_ENABLE_SHIFT, | 2938 | .enable_bit = OMAP4_ENABLE_SHIFT, |
2909 | }; | 2939 | }; |
2910 | 2940 | ||
2911 | static struct clk auxclk4_ck = { | 2941 | static const struct clksel auxclk3_sel[] = { |
2912 | .name = "auxclk4_ck", | 2942 | { .parent = &auxclk3_src_ck, .rates = div16_1to16_rates }, |
2943 | { .parent = NULL }, | ||
2944 | }; | ||
2945 | |||
2946 | static struct clk auxclk3_ck = { | ||
2947 | .name = "auxclk3_ck", | ||
2948 | .parent = &auxclk3_src_ck, | ||
2949 | .clksel = auxclk3_sel, | ||
2950 | .clksel_reg = OMAP4_SCRM_AUXCLK3, | ||
2951 | .clksel_mask = OMAP4_CLKDIV_MASK, | ||
2952 | .ops = &clkops_null, | ||
2953 | .recalc = &omap2_clksel_recalc, | ||
2954 | .round_rate = &omap2_clksel_round_rate, | ||
2955 | .set_rate = &omap2_clksel_set_rate, | ||
2956 | }; | ||
2957 | |||
2958 | static struct clk auxclk4_src_ck = { | ||
2959 | .name = "auxclk4_src_ck", | ||
2913 | .parent = &sys_clkin_ck, | 2960 | .parent = &sys_clkin_ck, |
2914 | .init = &omap2_init_clksel_parent, | 2961 | .init = &omap2_init_clksel_parent, |
2915 | .ops = &clkops_omap2_dflt, | 2962 | .ops = &clkops_omap2_dflt, |
2916 | .clksel = auxclk_sel, | 2963 | .clksel = auxclk_src_sel, |
2917 | .clksel_reg = OMAP4_SCRM_AUXCLK4, | 2964 | .clksel_reg = OMAP4_SCRM_AUXCLK4, |
2918 | .clksel_mask = OMAP4_SRCSELECT_MASK, | 2965 | .clksel_mask = OMAP4_SRCSELECT_MASK, |
2919 | .recalc = &omap2_clksel_recalc, | 2966 | .recalc = &omap2_clksel_recalc, |
@@ -2921,12 +2968,29 @@ static struct clk auxclk4_ck = { | |||
2921 | .enable_bit = OMAP4_ENABLE_SHIFT, | 2968 | .enable_bit = OMAP4_ENABLE_SHIFT, |
2922 | }; | 2969 | }; |
2923 | 2970 | ||
2924 | static struct clk auxclk5_ck = { | 2971 | static const struct clksel auxclk4_sel[] = { |
2925 | .name = "auxclk5_ck", | 2972 | { .parent = &auxclk4_src_ck, .rates = div16_1to16_rates }, |
2973 | { .parent = NULL }, | ||
2974 | }; | ||
2975 | |||
2976 | static struct clk auxclk4_ck = { | ||
2977 | .name = "auxclk4_ck", | ||
2978 | .parent = &auxclk4_src_ck, | ||
2979 | .clksel = auxclk4_sel, | ||
2980 | .clksel_reg = OMAP4_SCRM_AUXCLK4, | ||
2981 | .clksel_mask = OMAP4_CLKDIV_MASK, | ||
2982 | .ops = &clkops_null, | ||
2983 | .recalc = &omap2_clksel_recalc, | ||
2984 | .round_rate = &omap2_clksel_round_rate, | ||
2985 | .set_rate = &omap2_clksel_set_rate, | ||
2986 | }; | ||
2987 | |||
2988 | static struct clk auxclk5_src_ck = { | ||
2989 | .name = "auxclk5_src_ck", | ||
2926 | .parent = &sys_clkin_ck, | 2990 | .parent = &sys_clkin_ck, |
2927 | .init = &omap2_init_clksel_parent, | 2991 | .init = &omap2_init_clksel_parent, |
2928 | .ops = &clkops_omap2_dflt, | 2992 | .ops = &clkops_omap2_dflt, |
2929 | .clksel = auxclk_sel, | 2993 | .clksel = auxclk_src_sel, |
2930 | .clksel_reg = OMAP4_SCRM_AUXCLK5, | 2994 | .clksel_reg = OMAP4_SCRM_AUXCLK5, |
2931 | .clksel_mask = OMAP4_SRCSELECT_MASK, | 2995 | .clksel_mask = OMAP4_SRCSELECT_MASK, |
2932 | .recalc = &omap2_clksel_recalc, | 2996 | .recalc = &omap2_clksel_recalc, |
@@ -2934,6 +2998,23 @@ static struct clk auxclk5_ck = { | |||
2934 | .enable_bit = OMAP4_ENABLE_SHIFT, | 2998 | .enable_bit = OMAP4_ENABLE_SHIFT, |
2935 | }; | 2999 | }; |
2936 | 3000 | ||
3001 | static const struct clksel auxclk5_sel[] = { | ||
3002 | { .parent = &auxclk5_src_ck, .rates = div16_1to16_rates }, | ||
3003 | { .parent = NULL }, | ||
3004 | }; | ||
3005 | |||
3006 | static struct clk auxclk5_ck = { | ||
3007 | .name = "auxclk5_ck", | ||
3008 | .parent = &auxclk5_src_ck, | ||
3009 | .clksel = auxclk5_sel, | ||
3010 | .clksel_reg = OMAP4_SCRM_AUXCLK5, | ||
3011 | .clksel_mask = OMAP4_CLKDIV_MASK, | ||
3012 | .ops = &clkops_null, | ||
3013 | .recalc = &omap2_clksel_recalc, | ||
3014 | .round_rate = &omap2_clksel_round_rate, | ||
3015 | .set_rate = &omap2_clksel_set_rate, | ||
3016 | }; | ||
3017 | |||
2937 | static const struct clksel auxclkreq_sel[] = { | 3018 | static const struct clksel auxclkreq_sel[] = { |
2938 | { .parent = &auxclk0_ck, .rates = div_1_0_rates }, | 3019 | { .parent = &auxclk0_ck, .rates = div_1_0_rates }, |
2939 | { .parent = &auxclk1_ck, .rates = div_1_1_rates }, | 3020 | { .parent = &auxclk1_ck, .rates = div_1_1_rates }, |
@@ -3077,9 +3158,6 @@ static struct omap_clk omap44xx_clks[] = { | |||
3077 | CLK(NULL, "dpll_per_m5x2_ck", &dpll_per_m5x2_ck, CK_443X), | 3158 | CLK(NULL, "dpll_per_m5x2_ck", &dpll_per_m5x2_ck, CK_443X), |
3078 | CLK(NULL, "dpll_per_m6x2_ck", &dpll_per_m6x2_ck, CK_443X), | 3159 | CLK(NULL, "dpll_per_m6x2_ck", &dpll_per_m6x2_ck, CK_443X), |
3079 | CLK(NULL, "dpll_per_m7x2_ck", &dpll_per_m7x2_ck, CK_443X), | 3160 | CLK(NULL, "dpll_per_m7x2_ck", &dpll_per_m7x2_ck, CK_443X), |
3080 | CLK(NULL, "dpll_unipro_ck", &dpll_unipro_ck, CK_443X), | ||
3081 | CLK(NULL, "dpll_unipro_x2_ck", &dpll_unipro_x2_ck, CK_443X), | ||
3082 | CLK(NULL, "dpll_unipro_m2x2_ck", &dpll_unipro_m2x2_ck, CK_443X), | ||
3083 | CLK(NULL, "usb_hs_clk_div_ck", &usb_hs_clk_div_ck, CK_443X), | 3161 | CLK(NULL, "usb_hs_clk_div_ck", &usb_hs_clk_div_ck, CK_443X), |
3084 | CLK(NULL, "dpll_usb_ck", &dpll_usb_ck, CK_443X), | 3162 | CLK(NULL, "dpll_usb_ck", &dpll_usb_ck, CK_443X), |
3085 | CLK(NULL, "dpll_usb_clkdcoldo_ck", &dpll_usb_clkdcoldo_ck, CK_443X), | 3163 | CLK(NULL, "dpll_usb_clkdcoldo_ck", &dpll_usb_clkdcoldo_ck, CK_443X), |
@@ -3092,17 +3170,14 @@ static struct omap_clk omap44xx_clks[] = { | |||
3092 | CLK(NULL, "func_48mc_fclk", &func_48mc_fclk, CK_443X), | 3170 | CLK(NULL, "func_48mc_fclk", &func_48mc_fclk, CK_443X), |
3093 | CLK(NULL, "func_64m_fclk", &func_64m_fclk, CK_443X), | 3171 | CLK(NULL, "func_64m_fclk", &func_64m_fclk, CK_443X), |
3094 | CLK(NULL, "func_96m_fclk", &func_96m_fclk, CK_443X), | 3172 | CLK(NULL, "func_96m_fclk", &func_96m_fclk, CK_443X), |
3095 | CLK(NULL, "hsmmc6_fclk", &hsmmc6_fclk, CK_443X), | ||
3096 | CLK(NULL, "init_60m_fclk", &init_60m_fclk, CK_443X), | 3173 | CLK(NULL, "init_60m_fclk", &init_60m_fclk, CK_443X), |
3097 | CLK(NULL, "l3_div_ck", &l3_div_ck, CK_443X), | 3174 | CLK(NULL, "l3_div_ck", &l3_div_ck, CK_443X), |
3098 | CLK(NULL, "l4_div_ck", &l4_div_ck, CK_443X), | 3175 | CLK(NULL, "l4_div_ck", &l4_div_ck, CK_443X), |
3099 | CLK(NULL, "lp_clk_div_ck", &lp_clk_div_ck, CK_443X), | 3176 | CLK(NULL, "lp_clk_div_ck", &lp_clk_div_ck, CK_443X), |
3100 | CLK(NULL, "l4_wkup_clk_mux_ck", &l4_wkup_clk_mux_ck, CK_443X), | 3177 | CLK(NULL, "l4_wkup_clk_mux_ck", &l4_wkup_clk_mux_ck, CK_443X), |
3101 | CLK(NULL, "per_abe_nc_fclk", &per_abe_nc_fclk, CK_443X), | ||
3102 | CLK(NULL, "mcasp2_fclk", &mcasp2_fclk, CK_443X), | ||
3103 | CLK(NULL, "mcasp3_fclk", &mcasp3_fclk, CK_443X), | ||
3104 | CLK(NULL, "ocp_abe_iclk", &ocp_abe_iclk, CK_443X), | 3178 | CLK(NULL, "ocp_abe_iclk", &ocp_abe_iclk, CK_443X), |
3105 | CLK(NULL, "per_abe_24m_fclk", &per_abe_24m_fclk, CK_443X), | 3179 | CLK(NULL, "per_abe_24m_fclk", &per_abe_24m_fclk, CK_443X), |
3180 | CLK(NULL, "per_abe_nc_fclk", &per_abe_nc_fclk, CK_443X), | ||
3106 | CLK(NULL, "pmd_stm_clock_mux_ck", &pmd_stm_clock_mux_ck, CK_443X), | 3181 | CLK(NULL, "pmd_stm_clock_mux_ck", &pmd_stm_clock_mux_ck, CK_443X), |
3107 | CLK(NULL, "pmd_trace_clk_mux_ck", &pmd_trace_clk_mux_ck, CK_443X), | 3182 | CLK(NULL, "pmd_trace_clk_mux_ck", &pmd_trace_clk_mux_ck, CK_443X), |
3108 | CLK(NULL, "syc_clk_div_ck", &syc_clk_div_ck, CK_443X), | 3183 | CLK(NULL, "syc_clk_div_ck", &syc_clk_div_ck, CK_443X), |
@@ -3110,14 +3185,16 @@ static struct omap_clk omap44xx_clks[] = { | |||
3110 | CLK(NULL, "aes2_fck", &aes2_fck, CK_443X), | 3185 | CLK(NULL, "aes2_fck", &aes2_fck, CK_443X), |
3111 | CLK(NULL, "aess_fck", &aess_fck, CK_443X), | 3186 | CLK(NULL, "aess_fck", &aess_fck, CK_443X), |
3112 | CLK(NULL, "bandgap_fclk", &bandgap_fclk, CK_443X), | 3187 | CLK(NULL, "bandgap_fclk", &bandgap_fclk, CK_443X), |
3188 | CLK(NULL, "bandgap_ts_fclk", &bandgap_ts_fclk, CK_446X), | ||
3113 | CLK(NULL, "des3des_fck", &des3des_fck, CK_443X), | 3189 | CLK(NULL, "des3des_fck", &des3des_fck, CK_443X), |
3190 | CLK(NULL, "div_ts_ck", &div_ts_ck, CK_446X), | ||
3114 | CLK(NULL, "dmic_sync_mux_ck", &dmic_sync_mux_ck, CK_443X), | 3191 | CLK(NULL, "dmic_sync_mux_ck", &dmic_sync_mux_ck, CK_443X), |
3115 | CLK(NULL, "dmic_fck", &dmic_fck, CK_443X), | 3192 | CLK(NULL, "dmic_fck", &dmic_fck, CK_443X), |
3116 | CLK(NULL, "dsp_fck", &dsp_fck, CK_443X), | 3193 | CLK(NULL, "dsp_fck", &dsp_fck, CK_443X), |
3117 | CLK("omapdss_dss", "sys_clk", &dss_sys_clk, CK_443X), | 3194 | CLK(NULL, "dss_sys_clk", &dss_sys_clk, CK_443X), |
3118 | CLK("omapdss_dss", "tv_clk", &dss_tv_clk, CK_443X), | 3195 | CLK(NULL, "dss_tv_clk", &dss_tv_clk, CK_443X), |
3119 | CLK("omapdss_dss", "video_clk", &dss_48mhz_clk, CK_443X), | 3196 | CLK(NULL, "dss_48mhz_clk", &dss_48mhz_clk, CK_443X), |
3120 | CLK("omapdss_dss", "fck", &dss_dss_clk, CK_443X), | 3197 | CLK(NULL, "dss_dss_clk", &dss_dss_clk, CK_443X), |
3121 | CLK("omapdss_dss", "ick", &dss_fck, CK_443X), | 3198 | CLK("omapdss_dss", "ick", &dss_fck, CK_443X), |
3122 | CLK(NULL, "efuse_ctrl_cust_fck", &efuse_ctrl_cust_fck, CK_443X), | 3199 | CLK(NULL, "efuse_ctrl_cust_fck", &efuse_ctrl_cust_fck, CK_443X), |
3123 | CLK(NULL, "emif1_fck", &emif1_fck, CK_443X), | 3200 | CLK(NULL, "emif1_fck", &emif1_fck, CK_443X), |
@@ -3138,12 +3215,12 @@ static struct omap_clk omap44xx_clks[] = { | |||
3138 | CLK(NULL, "gpio6_ick", &gpio6_ick, CK_443X), | 3215 | CLK(NULL, "gpio6_ick", &gpio6_ick, CK_443X), |
3139 | CLK(NULL, "gpmc_ick", &gpmc_ick, CK_443X), | 3216 | CLK(NULL, "gpmc_ick", &gpmc_ick, CK_443X), |
3140 | CLK(NULL, "gpu_fck", &gpu_fck, CK_443X), | 3217 | CLK(NULL, "gpu_fck", &gpu_fck, CK_443X), |
3141 | CLK("omap2_hdq.0", "fck", &hdq1w_fck, CK_443X), | 3218 | CLK(NULL, "hdq1w_fck", &hdq1w_fck, CK_443X), |
3142 | CLK(NULL, "hsi_fck", &hsi_fck, CK_443X), | 3219 | CLK(NULL, "hsi_fck", &hsi_fck, CK_443X), |
3143 | CLK("omap_i2c.1", "fck", &i2c1_fck, CK_443X), | 3220 | CLK(NULL, "i2c1_fck", &i2c1_fck, CK_443X), |
3144 | CLK("omap_i2c.2", "fck", &i2c2_fck, CK_443X), | 3221 | CLK(NULL, "i2c2_fck", &i2c2_fck, CK_443X), |
3145 | CLK("omap_i2c.3", "fck", &i2c3_fck, CK_443X), | 3222 | CLK(NULL, "i2c3_fck", &i2c3_fck, CK_443X), |
3146 | CLK("omap_i2c.4", "fck", &i2c4_fck, CK_443X), | 3223 | CLK(NULL, "i2c4_fck", &i2c4_fck, CK_443X), |
3147 | CLK(NULL, "ipu_fck", &ipu_fck, CK_443X), | 3224 | CLK(NULL, "ipu_fck", &ipu_fck, CK_443X), |
3148 | CLK(NULL, "iss_ctrlclk", &iss_ctrlclk, CK_443X), | 3225 | CLK(NULL, "iss_ctrlclk", &iss_ctrlclk, CK_443X), |
3149 | CLK(NULL, "iss_fck", &iss_fck, CK_443X), | 3226 | CLK(NULL, "iss_fck", &iss_fck, CK_443X), |
@@ -3154,23 +3231,23 @@ static struct omap_clk omap44xx_clks[] = { | |||
3154 | CLK(NULL, "mcasp_sync_mux_ck", &mcasp_sync_mux_ck, CK_443X), | 3231 | CLK(NULL, "mcasp_sync_mux_ck", &mcasp_sync_mux_ck, CK_443X), |
3155 | CLK(NULL, "mcasp_fck", &mcasp_fck, CK_443X), | 3232 | CLK(NULL, "mcasp_fck", &mcasp_fck, CK_443X), |
3156 | CLK(NULL, "mcbsp1_sync_mux_ck", &mcbsp1_sync_mux_ck, CK_443X), | 3233 | CLK(NULL, "mcbsp1_sync_mux_ck", &mcbsp1_sync_mux_ck, CK_443X), |
3157 | CLK("omap-mcbsp.1", "fck", &mcbsp1_fck, CK_443X), | 3234 | CLK(NULL, "mcbsp1_fck", &mcbsp1_fck, CK_443X), |
3158 | CLK(NULL, "mcbsp2_sync_mux_ck", &mcbsp2_sync_mux_ck, CK_443X), | 3235 | CLK(NULL, "mcbsp2_sync_mux_ck", &mcbsp2_sync_mux_ck, CK_443X), |
3159 | CLK("omap-mcbsp.2", "fck", &mcbsp2_fck, CK_443X), | 3236 | CLK(NULL, "mcbsp2_fck", &mcbsp2_fck, CK_443X), |
3160 | CLK(NULL, "mcbsp3_sync_mux_ck", &mcbsp3_sync_mux_ck, CK_443X), | 3237 | CLK(NULL, "mcbsp3_sync_mux_ck", &mcbsp3_sync_mux_ck, CK_443X), |
3161 | CLK("omap-mcbsp.3", "fck", &mcbsp3_fck, CK_443X), | 3238 | CLK(NULL, "mcbsp3_fck", &mcbsp3_fck, CK_443X), |
3162 | CLK(NULL, "mcbsp4_sync_mux_ck", &mcbsp4_sync_mux_ck, CK_443X), | 3239 | CLK(NULL, "mcbsp4_sync_mux_ck", &mcbsp4_sync_mux_ck, CK_443X), |
3163 | CLK("omap-mcbsp.4", "fck", &mcbsp4_fck, CK_443X), | 3240 | CLK(NULL, "mcbsp4_fck", &mcbsp4_fck, CK_443X), |
3164 | CLK(NULL, "mcpdm_fck", &mcpdm_fck, CK_443X), | 3241 | CLK(NULL, "mcpdm_fck", &mcpdm_fck, CK_443X), |
3165 | CLK("omap2_mcspi.1", "fck", &mcspi1_fck, CK_443X), | 3242 | CLK(NULL, "mcspi1_fck", &mcspi1_fck, CK_443X), |
3166 | CLK("omap2_mcspi.2", "fck", &mcspi2_fck, CK_443X), | 3243 | CLK(NULL, "mcspi2_fck", &mcspi2_fck, CK_443X), |
3167 | CLK("omap2_mcspi.3", "fck", &mcspi3_fck, CK_443X), | 3244 | CLK(NULL, "mcspi3_fck", &mcspi3_fck, CK_443X), |
3168 | CLK("omap2_mcspi.4", "fck", &mcspi4_fck, CK_443X), | 3245 | CLK(NULL, "mcspi4_fck", &mcspi4_fck, CK_443X), |
3169 | CLK("omap_hsmmc.0", "fck", &mmc1_fck, CK_443X), | 3246 | CLK(NULL, "mmc1_fck", &mmc1_fck, CK_443X), |
3170 | CLK("omap_hsmmc.1", "fck", &mmc2_fck, CK_443X), | 3247 | CLK(NULL, "mmc2_fck", &mmc2_fck, CK_443X), |
3171 | CLK("omap_hsmmc.2", "fck", &mmc3_fck, CK_443X), | 3248 | CLK(NULL, "mmc3_fck", &mmc3_fck, CK_443X), |
3172 | CLK("omap_hsmmc.3", "fck", &mmc4_fck, CK_443X), | 3249 | CLK(NULL, "mmc4_fck", &mmc4_fck, CK_443X), |
3173 | CLK("omap_hsmmc.4", "fck", &mmc5_fck, CK_443X), | 3250 | CLK(NULL, "mmc5_fck", &mmc5_fck, CK_443X), |
3174 | CLK(NULL, "ocp2scp_usb_phy_phy_48m", &ocp2scp_usb_phy_phy_48m, CK_443X), | 3251 | CLK(NULL, "ocp2scp_usb_phy_phy_48m", &ocp2scp_usb_phy_phy_48m, CK_443X), |
3175 | CLK(NULL, "ocp2scp_usb_phy_ick", &ocp2scp_usb_phy_ick, CK_443X), | 3252 | CLK(NULL, "ocp2scp_usb_phy_ick", &ocp2scp_usb_phy_ick, CK_443X), |
3176 | CLK(NULL, "ocp_wp_noc_ick", &ocp_wp_noc_ick, CK_443X), | 3253 | CLK(NULL, "ocp_wp_noc_ick", &ocp_wp_noc_ick, CK_443X), |
@@ -3204,7 +3281,6 @@ static struct omap_clk omap44xx_clks[] = { | |||
3204 | CLK(NULL, "uart2_fck", &uart2_fck, CK_443X), | 3281 | CLK(NULL, "uart2_fck", &uart2_fck, CK_443X), |
3205 | CLK(NULL, "uart3_fck", &uart3_fck, CK_443X), | 3282 | CLK(NULL, "uart3_fck", &uart3_fck, CK_443X), |
3206 | CLK(NULL, "uart4_fck", &uart4_fck, CK_443X), | 3283 | CLK(NULL, "uart4_fck", &uart4_fck, CK_443X), |
3207 | CLK(NULL, "usb_host_fs_fck", &usb_host_fs_fck, CK_443X), | ||
3208 | CLK("usbhs-omap.0", "fs_fck", &usb_host_fs_fck, CK_443X), | 3284 | CLK("usbhs-omap.0", "fs_fck", &usb_host_fs_fck, CK_443X), |
3209 | CLK(NULL, "utmi_p1_gfclk", &utmi_p1_gfclk, CK_443X), | 3285 | CLK(NULL, "utmi_p1_gfclk", &utmi_p1_gfclk, CK_443X), |
3210 | CLK(NULL, "usb_host_hs_utmi_p1_clk", &usb_host_hs_utmi_p1_clk, CK_443X), | 3286 | CLK(NULL, "usb_host_hs_utmi_p1_clk", &usb_host_hs_utmi_p1_clk, CK_443X), |
@@ -3216,9 +3292,7 @@ static struct omap_clk omap44xx_clks[] = { | |||
3216 | CLK(NULL, "usb_host_hs_hsic60m_p2_clk", &usb_host_hs_hsic60m_p2_clk, CK_443X), | 3292 | CLK(NULL, "usb_host_hs_hsic60m_p2_clk", &usb_host_hs_hsic60m_p2_clk, CK_443X), |
3217 | CLK(NULL, "usb_host_hs_hsic480m_p2_clk", &usb_host_hs_hsic480m_p2_clk, CK_443X), | 3293 | CLK(NULL, "usb_host_hs_hsic480m_p2_clk", &usb_host_hs_hsic480m_p2_clk, CK_443X), |
3218 | CLK(NULL, "usb_host_hs_func48mclk", &usb_host_hs_func48mclk, CK_443X), | 3294 | CLK(NULL, "usb_host_hs_func48mclk", &usb_host_hs_func48mclk, CK_443X), |
3219 | CLK(NULL, "usb_host_hs_fck", &usb_host_hs_fck, CK_443X), | ||
3220 | CLK("usbhs-omap.0", "hs_fck", &usb_host_hs_fck, CK_443X), | 3295 | CLK("usbhs-omap.0", "hs_fck", &usb_host_hs_fck, CK_443X), |
3221 | CLK("usbhs-omap.0", "usbhost_ick", &dummy_ck, CK_443X), | ||
3222 | CLK(NULL, "otg_60m_gfclk", &otg_60m_gfclk, CK_443X), | 3296 | CLK(NULL, "otg_60m_gfclk", &otg_60m_gfclk, CK_443X), |
3223 | CLK(NULL, "usb_otg_hs_xclk", &usb_otg_hs_xclk, CK_443X), | 3297 | CLK(NULL, "usb_otg_hs_xclk", &usb_otg_hs_xclk, CK_443X), |
3224 | CLK("musb-omap2430", "ick", &usb_otg_hs_ick, CK_443X), | 3298 | CLK("musb-omap2430", "ick", &usb_otg_hs_ick, CK_443X), |
@@ -3226,17 +3300,32 @@ static struct omap_clk omap44xx_clks[] = { | |||
3226 | CLK(NULL, "usb_tll_hs_usb_ch2_clk", &usb_tll_hs_usb_ch2_clk, CK_443X), | 3300 | CLK(NULL, "usb_tll_hs_usb_ch2_clk", &usb_tll_hs_usb_ch2_clk, CK_443X), |
3227 | CLK(NULL, "usb_tll_hs_usb_ch0_clk", &usb_tll_hs_usb_ch0_clk, CK_443X), | 3301 | CLK(NULL, "usb_tll_hs_usb_ch0_clk", &usb_tll_hs_usb_ch0_clk, CK_443X), |
3228 | CLK(NULL, "usb_tll_hs_usb_ch1_clk", &usb_tll_hs_usb_ch1_clk, CK_443X), | 3302 | CLK(NULL, "usb_tll_hs_usb_ch1_clk", &usb_tll_hs_usb_ch1_clk, CK_443X), |
3229 | CLK(NULL, "usb_tll_hs_ick", &usb_tll_hs_ick, CK_443X), | ||
3230 | CLK("usbhs-omap.0", "usbtll_ick", &usb_tll_hs_ick, CK_443X), | 3303 | CLK("usbhs-omap.0", "usbtll_ick", &usb_tll_hs_ick, CK_443X), |
3231 | CLK("usbhs-omap.0", "usbtll_fck", &dummy_ck, CK_443X), | ||
3232 | CLK(NULL, "usim_ck", &usim_ck, CK_443X), | 3304 | CLK(NULL, "usim_ck", &usim_ck, CK_443X), |
3233 | CLK(NULL, "usim_fclk", &usim_fclk, CK_443X), | 3305 | CLK(NULL, "usim_fclk", &usim_fclk, CK_443X), |
3234 | CLK(NULL, "usim_fck", &usim_fck, CK_443X), | 3306 | CLK(NULL, "usim_fck", &usim_fck, CK_443X), |
3235 | CLK("omap_wdt", "fck", &wd_timer2_fck, CK_443X), | 3307 | CLK(NULL, "wd_timer2_fck", &wd_timer2_fck, CK_443X), |
3236 | CLK(NULL, "mailboxes_ick", &dummy_ck, CK_443X), | ||
3237 | CLK(NULL, "wd_timer3_fck", &wd_timer3_fck, CK_443X), | 3308 | CLK(NULL, "wd_timer3_fck", &wd_timer3_fck, CK_443X), |
3238 | CLK(NULL, "stm_clk_div_ck", &stm_clk_div_ck, CK_443X), | 3309 | CLK(NULL, "stm_clk_div_ck", &stm_clk_div_ck, CK_443X), |
3239 | CLK(NULL, "trace_clk_div_ck", &trace_clk_div_ck, CK_443X), | 3310 | CLK(NULL, "trace_clk_div_ck", &trace_clk_div_ck, CK_443X), |
3311 | CLK(NULL, "auxclk0_src_ck", &auxclk0_src_ck, CK_443X), | ||
3312 | CLK(NULL, "auxclk0_ck", &auxclk0_ck, CK_443X), | ||
3313 | CLK(NULL, "auxclkreq0_ck", &auxclkreq0_ck, CK_443X), | ||
3314 | CLK(NULL, "auxclk1_src_ck", &auxclk1_src_ck, CK_443X), | ||
3315 | CLK(NULL, "auxclk1_ck", &auxclk1_ck, CK_443X), | ||
3316 | CLK(NULL, "auxclkreq1_ck", &auxclkreq1_ck, CK_443X), | ||
3317 | CLK(NULL, "auxclk2_src_ck", &auxclk2_src_ck, CK_443X), | ||
3318 | CLK(NULL, "auxclk2_ck", &auxclk2_ck, CK_443X), | ||
3319 | CLK(NULL, "auxclkreq2_ck", &auxclkreq2_ck, CK_443X), | ||
3320 | CLK(NULL, "auxclk3_src_ck", &auxclk3_src_ck, CK_443X), | ||
3321 | CLK(NULL, "auxclk3_ck", &auxclk3_ck, CK_443X), | ||
3322 | CLK(NULL, "auxclkreq3_ck", &auxclkreq3_ck, CK_443X), | ||
3323 | CLK(NULL, "auxclk4_src_ck", &auxclk4_src_ck, CK_443X), | ||
3324 | CLK(NULL, "auxclk4_ck", &auxclk4_ck, CK_443X), | ||
3325 | CLK(NULL, "auxclkreq4_ck", &auxclkreq4_ck, CK_443X), | ||
3326 | CLK(NULL, "auxclk5_src_ck", &auxclk5_src_ck, CK_443X), | ||
3327 | CLK(NULL, "auxclk5_ck", &auxclk5_ck, CK_443X), | ||
3328 | CLK(NULL, "auxclkreq5_ck", &auxclkreq5_ck, CK_443X), | ||
3240 | CLK(NULL, "gpmc_ck", &dummy_ck, CK_443X), | 3329 | CLK(NULL, "gpmc_ck", &dummy_ck, CK_443X), |
3241 | CLK(NULL, "gpt1_ick", &dummy_ck, CK_443X), | 3330 | CLK(NULL, "gpt1_ick", &dummy_ck, CK_443X), |
3242 | CLK(NULL, "gpt2_ick", &dummy_ck, CK_443X), | 3331 | CLK(NULL, "gpt2_ick", &dummy_ck, CK_443X), |
@@ -3253,6 +3342,7 @@ static struct omap_clk omap44xx_clks[] = { | |||
3253 | CLK("omap_i2c.2", "ick", &dummy_ck, CK_443X), | 3342 | CLK("omap_i2c.2", "ick", &dummy_ck, CK_443X), |
3254 | CLK("omap_i2c.3", "ick", &dummy_ck, CK_443X), | 3343 | CLK("omap_i2c.3", "ick", &dummy_ck, CK_443X), |
3255 | CLK("omap_i2c.4", "ick", &dummy_ck, CK_443X), | 3344 | CLK("omap_i2c.4", "ick", &dummy_ck, CK_443X), |
3345 | CLK(NULL, "mailboxes_ick", &dummy_ck, CK_443X), | ||
3256 | CLK("omap_hsmmc.0", "ick", &dummy_ck, CK_443X), | 3346 | CLK("omap_hsmmc.0", "ick", &dummy_ck, CK_443X), |
3257 | CLK("omap_hsmmc.1", "ick", &dummy_ck, CK_443X), | 3347 | CLK("omap_hsmmc.1", "ick", &dummy_ck, CK_443X), |
3258 | CLK("omap_hsmmc.2", "ick", &dummy_ck, CK_443X), | 3348 | CLK("omap_hsmmc.2", "ick", &dummy_ck, CK_443X), |
@@ -3270,19 +3360,9 @@ static struct omap_clk omap44xx_clks[] = { | |||
3270 | CLK(NULL, "uart2_ick", &dummy_ck, CK_443X), | 3360 | CLK(NULL, "uart2_ick", &dummy_ck, CK_443X), |
3271 | CLK(NULL, "uart3_ick", &dummy_ck, CK_443X), | 3361 | CLK(NULL, "uart3_ick", &dummy_ck, CK_443X), |
3272 | CLK(NULL, "uart4_ick", &dummy_ck, CK_443X), | 3362 | CLK(NULL, "uart4_ick", &dummy_ck, CK_443X), |
3363 | CLK("usbhs-omap.0", "usbhost_ick", &dummy_ck, CK_443X), | ||
3364 | CLK("usbhs-omap.0", "usbtll_fck", &dummy_ck, CK_443X), | ||
3273 | CLK("omap_wdt", "ick", &dummy_ck, CK_443X), | 3365 | CLK("omap_wdt", "ick", &dummy_ck, CK_443X), |
3274 | CLK(NULL, "auxclk0_ck", &auxclk0_ck, CK_443X), | ||
3275 | CLK(NULL, "auxclk1_ck", &auxclk1_ck, CK_443X), | ||
3276 | CLK(NULL, "auxclk2_ck", &auxclk2_ck, CK_443X), | ||
3277 | CLK(NULL, "auxclk3_ck", &auxclk3_ck, CK_443X), | ||
3278 | CLK(NULL, "auxclk4_ck", &auxclk4_ck, CK_443X), | ||
3279 | CLK(NULL, "auxclk5_ck", &auxclk5_ck, CK_443X), | ||
3280 | CLK(NULL, "auxclkreq0_ck", &auxclkreq0_ck, CK_443X), | ||
3281 | CLK(NULL, "auxclkreq1_ck", &auxclkreq1_ck, CK_443X), | ||
3282 | CLK(NULL, "auxclkreq2_ck", &auxclkreq2_ck, CK_443X), | ||
3283 | CLK(NULL, "auxclkreq3_ck", &auxclkreq3_ck, CK_443X), | ||
3284 | CLK(NULL, "auxclkreq4_ck", &auxclkreq4_ck, CK_443X), | ||
3285 | CLK(NULL, "auxclkreq5_ck", &auxclkreq5_ck, CK_443X), | ||
3286 | }; | 3366 | }; |
3287 | 3367 | ||
3288 | int __init omap4xxx_clk_init(void) | 3368 | int __init omap4xxx_clk_init(void) |
@@ -3293,9 +3373,13 @@ int __init omap4xxx_clk_init(void) | |||
3293 | if (cpu_is_omap44xx()) { | 3373 | if (cpu_is_omap44xx()) { |
3294 | cpu_mask = RATE_IN_4430; | 3374 | cpu_mask = RATE_IN_4430; |
3295 | cpu_clkflg = CK_443X; | 3375 | cpu_clkflg = CK_443X; |
3376 | } else if (cpu_is_omap446x()) { | ||
3377 | cpu_mask = RATE_IN_4460; | ||
3378 | cpu_clkflg = CK_446X; | ||
3296 | } | 3379 | } |
3297 | 3380 | ||
3298 | clk_init(&omap2_clk_functions); | 3381 | clk_init(&omap2_clk_functions); |
3382 | omap2_clk_disable_clkdm_control(); | ||
3299 | 3383 | ||
3300 | for (c = omap44xx_clks; c < omap44xx_clks + ARRAY_SIZE(omap44xx_clks); | 3384 | for (c = omap44xx_clks; c < omap44xx_clks + ARRAY_SIZE(omap44xx_clks); |
3301 | c++) | 3385 | c++) |