diff options
Diffstat (limited to 'arch/arm/mach-omap2/clock44xx_data.c')
-rw-r--r-- | arch/arm/mach-omap2/clock44xx_data.c | 285 |
1 files changed, 120 insertions, 165 deletions
diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index 8c965671b4d..25473a1db3e 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 | }; |
@@ -2895,6 +2853,7 @@ static struct clk auxclk2_ck = { | |||
2895 | .enable_reg = OMAP4_SCRM_AUXCLK2, | 2853 | .enable_reg = OMAP4_SCRM_AUXCLK2, |
2896 | .enable_bit = OMAP4_ENABLE_SHIFT, | 2854 | .enable_bit = OMAP4_ENABLE_SHIFT, |
2897 | }; | 2855 | }; |
2856 | |||
2898 | static struct clk auxclk3_ck = { | 2857 | static struct clk auxclk3_ck = { |
2899 | .name = "auxclk3_ck", | 2858 | .name = "auxclk3_ck", |
2900 | .parent = &sys_clkin_ck, | 2859 | .parent = &sys_clkin_ck, |
@@ -3077,9 +3036,6 @@ static struct omap_clk omap44xx_clks[] = { | |||
3077 | CLK(NULL, "dpll_per_m5x2_ck", &dpll_per_m5x2_ck, CK_443X), | 3036 | 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), | 3037 | 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), | 3038 | 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), | 3039 | 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), | 3040 | CLK(NULL, "dpll_usb_ck", &dpll_usb_ck, CK_443X), |
3085 | CLK(NULL, "dpll_usb_clkdcoldo_ck", &dpll_usb_clkdcoldo_ck, CK_443X), | 3041 | CLK(NULL, "dpll_usb_clkdcoldo_ck", &dpll_usb_clkdcoldo_ck, CK_443X), |
@@ -3092,17 +3048,14 @@ static struct omap_clk omap44xx_clks[] = { | |||
3092 | CLK(NULL, "func_48mc_fclk", &func_48mc_fclk, CK_443X), | 3048 | CLK(NULL, "func_48mc_fclk", &func_48mc_fclk, CK_443X), |
3093 | CLK(NULL, "func_64m_fclk", &func_64m_fclk, CK_443X), | 3049 | CLK(NULL, "func_64m_fclk", &func_64m_fclk, CK_443X), |
3094 | CLK(NULL, "func_96m_fclk", &func_96m_fclk, CK_443X), | 3050 | 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), | 3051 | CLK(NULL, "init_60m_fclk", &init_60m_fclk, CK_443X), |
3097 | CLK(NULL, "l3_div_ck", &l3_div_ck, CK_443X), | 3052 | CLK(NULL, "l3_div_ck", &l3_div_ck, CK_443X), |
3098 | CLK(NULL, "l4_div_ck", &l4_div_ck, CK_443X), | 3053 | CLK(NULL, "l4_div_ck", &l4_div_ck, CK_443X), |
3099 | CLK(NULL, "lp_clk_div_ck", &lp_clk_div_ck, CK_443X), | 3054 | 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), | 3055 | 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), | 3056 | CLK(NULL, "ocp_abe_iclk", &ocp_abe_iclk, CK_443X), |
3105 | CLK(NULL, "per_abe_24m_fclk", &per_abe_24m_fclk, CK_443X), | 3057 | CLK(NULL, "per_abe_24m_fclk", &per_abe_24m_fclk, CK_443X), |
3058 | 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), | 3059 | 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), | 3060 | 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), | 3061 | CLK(NULL, "syc_clk_div_ck", &syc_clk_div_ck, CK_443X), |
@@ -3110,14 +3063,16 @@ static struct omap_clk omap44xx_clks[] = { | |||
3110 | CLK(NULL, "aes2_fck", &aes2_fck, CK_443X), | 3063 | CLK(NULL, "aes2_fck", &aes2_fck, CK_443X), |
3111 | CLK(NULL, "aess_fck", &aess_fck, CK_443X), | 3064 | CLK(NULL, "aess_fck", &aess_fck, CK_443X), |
3112 | CLK(NULL, "bandgap_fclk", &bandgap_fclk, CK_443X), | 3065 | CLK(NULL, "bandgap_fclk", &bandgap_fclk, CK_443X), |
3066 | CLK(NULL, "bandgap_ts_fclk", &bandgap_ts_fclk, CK_446X), | ||
3113 | CLK(NULL, "des3des_fck", &des3des_fck, CK_443X), | 3067 | CLK(NULL, "des3des_fck", &des3des_fck, CK_443X), |
3068 | CLK(NULL, "div_ts_ck", &div_ts_ck, CK_446X), | ||
3114 | CLK(NULL, "dmic_sync_mux_ck", &dmic_sync_mux_ck, CK_443X), | 3069 | CLK(NULL, "dmic_sync_mux_ck", &dmic_sync_mux_ck, CK_443X), |
3115 | CLK(NULL, "dmic_fck", &dmic_fck, CK_443X), | 3070 | CLK(NULL, "dmic_fck", &dmic_fck, CK_443X), |
3116 | CLK(NULL, "dsp_fck", &dsp_fck, CK_443X), | 3071 | CLK(NULL, "dsp_fck", &dsp_fck, CK_443X), |
3117 | CLK("omapdss_dss", "sys_clk", &dss_sys_clk, CK_443X), | 3072 | CLK(NULL, "dss_sys_clk", &dss_sys_clk, CK_443X), |
3118 | CLK("omapdss_dss", "tv_clk", &dss_tv_clk, CK_443X), | 3073 | CLK(NULL, "dss_tv_clk", &dss_tv_clk, CK_443X), |
3119 | CLK("omapdss_dss", "video_clk", &dss_48mhz_clk, CK_443X), | 3074 | CLK(NULL, "dss_48mhz_clk", &dss_48mhz_clk, CK_443X), |
3120 | CLK("omapdss_dss", "fck", &dss_dss_clk, CK_443X), | 3075 | CLK(NULL, "dss_dss_clk", &dss_dss_clk, CK_443X), |
3121 | CLK("omapdss_dss", "ick", &dss_fck, CK_443X), | 3076 | CLK("omapdss_dss", "ick", &dss_fck, CK_443X), |
3122 | CLK(NULL, "efuse_ctrl_cust_fck", &efuse_ctrl_cust_fck, CK_443X), | 3077 | CLK(NULL, "efuse_ctrl_cust_fck", &efuse_ctrl_cust_fck, CK_443X), |
3123 | CLK(NULL, "emif1_fck", &emif1_fck, CK_443X), | 3078 | CLK(NULL, "emif1_fck", &emif1_fck, CK_443X), |
@@ -3204,7 +3159,6 @@ static struct omap_clk omap44xx_clks[] = { | |||
3204 | CLK(NULL, "uart2_fck", &uart2_fck, CK_443X), | 3159 | CLK(NULL, "uart2_fck", &uart2_fck, CK_443X), |
3205 | CLK(NULL, "uart3_fck", &uart3_fck, CK_443X), | 3160 | CLK(NULL, "uart3_fck", &uart3_fck, CK_443X), |
3206 | CLK(NULL, "uart4_fck", &uart4_fck, CK_443X), | 3161 | 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), | 3162 | CLK("usbhs-omap.0", "fs_fck", &usb_host_fs_fck, CK_443X), |
3209 | CLK(NULL, "utmi_p1_gfclk", &utmi_p1_gfclk, CK_443X), | 3163 | 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), | 3164 | CLK(NULL, "usb_host_hs_utmi_p1_clk", &usb_host_hs_utmi_p1_clk, CK_443X), |
@@ -3216,9 +3170,7 @@ static struct omap_clk omap44xx_clks[] = { | |||
3216 | CLK(NULL, "usb_host_hs_hsic60m_p2_clk", &usb_host_hs_hsic60m_p2_clk, CK_443X), | 3170 | 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), | 3171 | 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), | 3172 | 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), | 3173 | 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), | 3174 | CLK(NULL, "otg_60m_gfclk", &otg_60m_gfclk, CK_443X), |
3223 | CLK(NULL, "usb_otg_hs_xclk", &usb_otg_hs_xclk, CK_443X), | 3175 | CLK(NULL, "usb_otg_hs_xclk", &usb_otg_hs_xclk, CK_443X), |
3224 | CLK("musb-omap2430", "ick", &usb_otg_hs_ick, CK_443X), | 3176 | CLK("musb-omap2430", "ick", &usb_otg_hs_ick, CK_443X), |
@@ -3226,17 +3178,26 @@ static struct omap_clk omap44xx_clks[] = { | |||
3226 | CLK(NULL, "usb_tll_hs_usb_ch2_clk", &usb_tll_hs_usb_ch2_clk, CK_443X), | 3178 | 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), | 3179 | 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), | 3180 | 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), | 3181 | 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), | 3182 | CLK(NULL, "usim_ck", &usim_ck, CK_443X), |
3233 | CLK(NULL, "usim_fclk", &usim_fclk, CK_443X), | 3183 | CLK(NULL, "usim_fclk", &usim_fclk, CK_443X), |
3234 | CLK(NULL, "usim_fck", &usim_fck, CK_443X), | 3184 | CLK(NULL, "usim_fck", &usim_fck, CK_443X), |
3235 | CLK("omap_wdt", "fck", &wd_timer2_fck, CK_443X), | 3185 | CLK("omap_wdt", "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), | 3186 | CLK(NULL, "wd_timer3_fck", &wd_timer3_fck, CK_443X), |
3238 | CLK(NULL, "stm_clk_div_ck", &stm_clk_div_ck, CK_443X), | 3187 | 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), | 3188 | CLK(NULL, "trace_clk_div_ck", &trace_clk_div_ck, CK_443X), |
3189 | CLK(NULL, "auxclk0_ck", &auxclk0_ck, CK_443X), | ||
3190 | CLK(NULL, "auxclk1_ck", &auxclk1_ck, CK_443X), | ||
3191 | CLK(NULL, "auxclk2_ck", &auxclk2_ck, CK_443X), | ||
3192 | CLK(NULL, "auxclk3_ck", &auxclk3_ck, CK_443X), | ||
3193 | CLK(NULL, "auxclk4_ck", &auxclk4_ck, CK_443X), | ||
3194 | CLK(NULL, "auxclk5_ck", &auxclk5_ck, CK_443X), | ||
3195 | CLK(NULL, "auxclkreq0_ck", &auxclkreq0_ck, CK_443X), | ||
3196 | CLK(NULL, "auxclkreq1_ck", &auxclkreq1_ck, CK_443X), | ||
3197 | CLK(NULL, "auxclkreq2_ck", &auxclkreq2_ck, CK_443X), | ||
3198 | CLK(NULL, "auxclkreq3_ck", &auxclkreq3_ck, CK_443X), | ||
3199 | CLK(NULL, "auxclkreq4_ck", &auxclkreq4_ck, CK_443X), | ||
3200 | CLK(NULL, "auxclkreq5_ck", &auxclkreq5_ck, CK_443X), | ||
3240 | CLK(NULL, "gpmc_ck", &dummy_ck, CK_443X), | 3201 | CLK(NULL, "gpmc_ck", &dummy_ck, CK_443X), |
3241 | CLK(NULL, "gpt1_ick", &dummy_ck, CK_443X), | 3202 | CLK(NULL, "gpt1_ick", &dummy_ck, CK_443X), |
3242 | CLK(NULL, "gpt2_ick", &dummy_ck, CK_443X), | 3203 | CLK(NULL, "gpt2_ick", &dummy_ck, CK_443X), |
@@ -3253,6 +3214,7 @@ static struct omap_clk omap44xx_clks[] = { | |||
3253 | CLK("omap_i2c.2", "ick", &dummy_ck, CK_443X), | 3214 | CLK("omap_i2c.2", "ick", &dummy_ck, CK_443X), |
3254 | CLK("omap_i2c.3", "ick", &dummy_ck, CK_443X), | 3215 | CLK("omap_i2c.3", "ick", &dummy_ck, CK_443X), |
3255 | CLK("omap_i2c.4", "ick", &dummy_ck, CK_443X), | 3216 | CLK("omap_i2c.4", "ick", &dummy_ck, CK_443X), |
3217 | CLK(NULL, "mailboxes_ick", &dummy_ck, CK_443X), | ||
3256 | CLK("omap_hsmmc.0", "ick", &dummy_ck, CK_443X), | 3218 | CLK("omap_hsmmc.0", "ick", &dummy_ck, CK_443X), |
3257 | CLK("omap_hsmmc.1", "ick", &dummy_ck, CK_443X), | 3219 | CLK("omap_hsmmc.1", "ick", &dummy_ck, CK_443X), |
3258 | CLK("omap_hsmmc.2", "ick", &dummy_ck, CK_443X), | 3220 | CLK("omap_hsmmc.2", "ick", &dummy_ck, CK_443X), |
@@ -3270,19 +3232,9 @@ static struct omap_clk omap44xx_clks[] = { | |||
3270 | CLK(NULL, "uart2_ick", &dummy_ck, CK_443X), | 3232 | CLK(NULL, "uart2_ick", &dummy_ck, CK_443X), |
3271 | CLK(NULL, "uart3_ick", &dummy_ck, CK_443X), | 3233 | CLK(NULL, "uart3_ick", &dummy_ck, CK_443X), |
3272 | CLK(NULL, "uart4_ick", &dummy_ck, CK_443X), | 3234 | CLK(NULL, "uart4_ick", &dummy_ck, CK_443X), |
3235 | CLK("usbhs-omap.0", "usbhost_ick", &dummy_ck, CK_443X), | ||
3236 | CLK("usbhs-omap.0", "usbtll_fck", &dummy_ck, CK_443X), | ||
3273 | CLK("omap_wdt", "ick", &dummy_ck, CK_443X), | 3237 | 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 | }; | 3238 | }; |
3287 | 3239 | ||
3288 | int __init omap4xxx_clk_init(void) | 3240 | int __init omap4xxx_clk_init(void) |
@@ -3293,6 +3245,9 @@ int __init omap4xxx_clk_init(void) | |||
3293 | if (cpu_is_omap44xx()) { | 3245 | if (cpu_is_omap44xx()) { |
3294 | cpu_mask = RATE_IN_4430; | 3246 | cpu_mask = RATE_IN_4430; |
3295 | cpu_clkflg = CK_443X; | 3247 | cpu_clkflg = CK_443X; |
3248 | } else if (cpu_is_omap446x()) { | ||
3249 | cpu_mask = RATE_IN_4460; | ||
3250 | cpu_clkflg = CK_446X; | ||
3296 | } | 3251 | } |
3297 | 3252 | ||
3298 | clk_init(&omap2_clk_functions); | 3253 | clk_init(&omap2_clk_functions); |