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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html