Hi, Some more comments at the end of the mail. Relevant parts of the patch included. > @@ -707,6 +742,13 @@ static int omap3_noncore_dpll_program(struct clk *clk, u16 m, u8 n, u16 freqsel) > v &= ~(dd->mult_mask | dd->div1_mask); > v |= m << __ffs(dd->mult_mask); > v |= (n - 1) << __ffs(dd->div1_mask); > + if (dd->jtype) { > + u8 dco, sd_div; > + lookup_dco_sddiv(clk, &dco, &sd_div, m, n); > + v &= ~(dd->dco_sel_mask | dd->sd_div_mask); > + v |= dco << __ffs(dd->dco_sel_mask); > + v |= sd_div << __ffs(dd->sd_div_mask); > + } > @@ -516,9 +516,13 @@ > > /* CM_CLKSEL2_PLL */ > #define OMAP3430_PERIPH_DPLL_MULT_SHIFT 8 > -#define OMAP3430_PERIPH_DPLL_MULT_MASK (0x7ff << 8) > +#define OMAP3430_PERIPH_DPLL_MULT_MASK (0xfff << 8) > #define OMAP3430_PERIPH_DPLL_DIV_SHIFT 0 > #define OMAP3430_PERIPH_DPLL_DIV_MASK (0x7f << 0) > +#define OMAP3630_PERIPH_DPLL_DCO_SEL_SHIFT 21 > +#define OMAP3630_PERIPH_DPLL_DCO_SEL_MASK (0x7 << 21) > +#define OMAP3630_PERIPH_DPLL_SD_DIV_SHIFT 24 > +#define OMAP3630_PERIPH_DPLL_SD_DIV_MASK (0xff << 24) > > @@ -60,6 +60,9 @@ struct dpll_data { > void __iomem *idlest_reg; > u32 autoidle_mask; > u32 freqsel_mask; > + u32 dco_sel_mask; > + u32 sd_div_mask; > + u8 jtype; > u32 idlest_mask; > u8 auto_recal_bit; > u8 recal_en_bit; Are the dco_sel_mask and sd_div_mask needed in the struct or is the jtype flag enough info? Could you use OMAP3630_PERIPH_DPLL_DCO_SEL_MASK and OMAP3630_PERIPH_DPLL_SD_DIV_MASK directly in omap3_noncore_dpll_program instead of dd->dco_sel_mask and sd_div_mask? -- Ari-- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html