Several OMAP2+ DSS-related clock fixes for v3.13 from Tomi Valkeinen.

Basic test logs at:
 
    http://www.pwsan.com/omap/testlogs/clock_fixes_v3.13/20131024090906/
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJSaUKkAAoJEMePsQ0LvSpLeyYQAJlMBJzFRyB41WihfFJgKnms
 g7kzEr+3ILKOyKBDkTfwxkIBpruFf9niHJN8D4kILrXe58fzTmaMLUaP2gkZBSk2
 l0NUdKRWbomGCzyaMf5oVFKm9SzYNI149BpOsaUR8mxa61Inlu5gCW/VpY8l5lWG
 Pvgzv0CCA38GT+aZhNiO6udAeopYKjz/1DqU0ESxcP7M1AXIQ/INrfoGV7XycPZb
 KOCAgnDaRthhfoGObLKNfd1N1TIMCsm6fKNaq2VKdx8bb8+gwLSCkWulo1m6UG5U
 hzQ3SXXP/zLTvgxE9oL/Oq4HkWml4/zl73VBFm/oi3qVHJvyijLYGBMnNOymO8l6
 P1sMUaiUpPHT+MzKeEp/Rfra54bByWY0aLzdTZ26ftl+sDEG0lphVnFFcgrcg+an
 zKoxuRvqFuj5gelxf7ZIPGEKPm0MhDYi3mHMPaqpxz++AVWLNDpk6A/lqCdnD0u3
 eVj/wJQeQriHAyHq/e4SfRf2tWqpQ/jqz0AXu1L66sDgBYlsEHu5TvGP0g+YkKc8
 fU97oEoaqBZcCcb5RHQMCqjcz0nf/tpBv01RtAEeazf7yCknu1ypai+s4euZwgBb
 U40xB1Vyw3fDsoN3QEleibaSannsW7mIIEIjHwbfaIF6T7Imqp2JUXC48a0u13Mo
 lfcy6NAFwxBcDjG0x+CL
 =ubBE
 -----END PGP SIGNATURE-----

Merge tag 'for-v3.13/clock-fixes-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into xxx-dt

Several OMAP2+ DSS-related clock fixes for v3.13 from Tomi Valkeinen.

Basic test logs at:

   http://www.pwsan.com/omap/testlogs/clock_fixes_v3.13/20131024090906/
This commit is contained in:
Tony Lindgren 2013-11-14 10:38:43 -08:00
commit b357787e74
2 changed files with 51 additions and 10 deletions

View File

@ -381,6 +381,42 @@ static struct clk_hw_omap dpll4_ck_hw = {
DEFINE_STRUCT_CLK(dpll4_ck, dpll3_ck_parent_names, dpll4_ck_ops);
static const struct clk_div_table dpll4_mx_ck_div_table[] = {
{ .div = 1, .val = 1 },
{ .div = 2, .val = 2 },
{ .div = 3, .val = 3 },
{ .div = 4, .val = 4 },
{ .div = 5, .val = 5 },
{ .div = 6, .val = 6 },
{ .div = 7, .val = 7 },
{ .div = 8, .val = 8 },
{ .div = 9, .val = 9 },
{ .div = 10, .val = 10 },
{ .div = 11, .val = 11 },
{ .div = 12, .val = 12 },
{ .div = 13, .val = 13 },
{ .div = 14, .val = 14 },
{ .div = 15, .val = 15 },
{ .div = 16, .val = 16 },
{ .div = 17, .val = 17 },
{ .div = 18, .val = 18 },
{ .div = 19, .val = 19 },
{ .div = 20, .val = 20 },
{ .div = 21, .val = 21 },
{ .div = 22, .val = 22 },
{ .div = 23, .val = 23 },
{ .div = 24, .val = 24 },
{ .div = 25, .val = 25 },
{ .div = 26, .val = 26 },
{ .div = 27, .val = 27 },
{ .div = 28, .val = 28 },
{ .div = 29, .val = 29 },
{ .div = 30, .val = 30 },
{ .div = 31, .val = 31 },
{ .div = 32, .val = 32 },
{ .div = 0 },
};
DEFINE_CLK_DIVIDER(dpll4_m5_ck, "dpll4_ck", &dpll4_ck, 0x0,
OMAP_CM_REGADDR(OMAP3430_CAM_MOD, CM_CLKSEL),
OMAP3430_CLKSEL_CAM_SHIFT, OMAP3630_CLKSEL_CAM_WIDTH,
@ -524,10 +560,10 @@ static const struct clksel_rate clkout2_src_54m_rates[] = {
{ .div = 0 }
};
DEFINE_CLK_DIVIDER(dpll4_m3_ck, "dpll4_ck", &dpll4_ck, 0x0,
DEFINE_CLK_DIVIDER_TABLE(dpll4_m3_ck, "dpll4_ck", &dpll4_ck, 0x0,
OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_CLKSEL),
OMAP3430_CLKSEL_TV_SHIFT, OMAP3630_CLKSEL_TV_WIDTH,
CLK_DIVIDER_ONE_BASED, NULL);
0, dpll4_mx_ck_div_table, NULL);
static struct clk dpll4_m3x2_ck;
@ -847,10 +883,10 @@ static struct clk dpll3_m3x2_ck_3630 = {
DEFINE_CLK_FIXED_FACTOR(dpll3_x2_ck, "dpll3_ck", &dpll3_ck, 0x0, 2, 1);
DEFINE_CLK_DIVIDER(dpll4_m4_ck, "dpll4_ck", &dpll4_ck, 0x0,
DEFINE_CLK_DIVIDER_TABLE(dpll4_m4_ck, "dpll4_ck", &dpll4_ck, 0x0,
OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_CLKSEL),
OMAP3430_CLKSEL_DSS1_SHIFT, OMAP3630_CLKSEL_DSS1_WIDTH,
CLK_DIVIDER_ONE_BASED, NULL);
0, dpll4_mx_ck_div_table, NULL);
static struct clk dpll4_m4x2_ck;
@ -869,7 +905,8 @@ static struct clk_hw_omap dpll4_m4x2_ck_hw = {
.clkdm_name = "dpll4_clkdm",
};
DEFINE_STRUCT_CLK(dpll4_m4x2_ck, dpll4_m4x2_ck_parent_names, dpll4_m5x2_ck_ops);
DEFINE_STRUCT_CLK_FLAGS(dpll4_m4x2_ck, dpll4_m4x2_ck_parent_names,
dpll4_m5x2_ck_ops, CLK_SET_RATE_PARENT);
static struct clk dpll4_m4x2_ck_3630 = {
.name = "dpll4_m4x2_ck",
@ -877,6 +914,7 @@ static struct clk dpll4_m4x2_ck_3630 = {
.parent_names = dpll4_m4x2_ck_parent_names,
.num_parents = ARRAY_SIZE(dpll4_m4x2_ck_parent_names),
.ops = &dpll4_m5x2_ck_3630_ops,
.flags = CLK_SET_RATE_PARENT,
};
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 = {
.clkdm_name = "dss_clkdm",
};
DEFINE_STRUCT_CLK(dss1_alwon_fck_3430es1, dss1_alwon_fck_3430es1_parent_names,
aes2_ick_ops);
DEFINE_STRUCT_CLK_FLAGS(dss1_alwon_fck_3430es1,
dss1_alwon_fck_3430es1_parent_names, aes2_ick_ops,
CLK_SET_RATE_PARENT);
static struct clk dss1_alwon_fck_3430es2;
@ -983,8 +1022,9 @@ static struct clk_hw_omap dss1_alwon_fck_3430es2_hw = {
.clkdm_name = "dss_clkdm",
};
DEFINE_STRUCT_CLK(dss1_alwon_fck_3430es2, dss1_alwon_fck_3430es1_parent_names,
aes2_ick_ops);
DEFINE_STRUCT_CLK_FLAGS(dss1_alwon_fck_3430es2,
dss1_alwon_fck_3430es1_parent_names, aes2_ick_ops,
CLK_SET_RATE_PARENT);
static struct clk dss2_alwon_fck;

View File

@ -830,7 +830,8 @@ DEFINE_CLK_GATE(dss_tv_clk, "extalt_clkin_ck", &extalt_clkin_ck, 0x0,
OMAP4430_CM_DSS_DSS_CLKCTRL,
OMAP4430_OPTFCLKEN_TV_CLK_SHIFT, 0x0, NULL);
DEFINE_CLK_GATE(dss_dss_clk, "dpll_per_m5x2_ck", &dpll_per_m5x2_ck, 0x0,
DEFINE_CLK_GATE(dss_dss_clk, "dpll_per_m5x2_ck", &dpll_per_m5x2_ck,
CLK_SET_RATE_PARENT,
OMAP4430_CM_DSS_DSS_CLKCTRL, OMAP4430_OPTFCLKEN_DSSCLK_SHIFT,
0x0, NULL);