Lines Matching +full:32 +full:k
27 * sun4i_get_pll1_factors() - calculates n, k, m, p factors for PLL1
29 * rate = (parent_rate * n * (k + 1) >> p) / (m + 1);
44 /* k is 1 only on these cases */ in sun4i_get_pll1_factors()
47 req->k = 1; in sun4i_get_pll1_factors()
49 req->k = 0; in sun4i_get_pll1_factors()
55 /* p will be 2 for divs between 10 - 20 and odd divs under 32 */ in sun4i_get_pll1_factors()
56 else if (div < 20 || (div < 32 && (div & 1))) in sun4i_get_pll1_factors()
59 /* p will be 1 for even divs under 32, divs under 40 and odd pairs in sun4i_get_pll1_factors()
68 /* calculate a suitable n based on k and p */ in sun4i_get_pll1_factors()
70 div /= (req->k + 1); in sun4i_get_pll1_factors()
75 * sun6i_a31_get_pll1_factors() - calculates n, k and m factors for PLL1
77 * rate = parent_rate * (n + 1) * (k + 1) / (m + 1);
103 /* If the frequency is a multiple of 32 MHz, k is always 3 */ in sun6i_a31_get_pll1_factors()
104 if (!(freq_mhz % 32)) in sun6i_a31_get_pll1_factors()
105 req->k = 3; in sun6i_a31_get_pll1_factors()
106 /* If the frequency is a multiple of 9 MHz, k is always 2 */ in sun6i_a31_get_pll1_factors()
108 req->k = 2; in sun6i_a31_get_pll1_factors()
109 /* If the frequency is a multiple of 8 MHz, k is always 1 */ in sun6i_a31_get_pll1_factors()
111 req->k = 1; in sun6i_a31_get_pll1_factors()
112 /* Otherwise, we don't use the k factor */ in sun6i_a31_get_pll1_factors()
114 req->k = 0; in sun6i_a31_get_pll1_factors()
121 * generate (with n = 0, k = 0, m = 3), so every other frequency in sun6i_a31_get_pll1_factors()
137 req->n = freq_mhz * (req->m + 1) / ((req->k + 1) * parent_freq_mhz) in sun6i_a31_get_pll1_factors()
151 * sun8i_a23_get_pll1_factors() - calculates n, k, m, p factors for PLL1
153 * rate = (parent_rate * (n + 1) * (k + 1) >> p) / (m + 1);
168 /* k is 1 only on these cases */ in sun8i_a23_get_pll1_factors()
171 req->k = 1; in sun8i_a23_get_pll1_factors()
173 req->k = 0; in sun8i_a23_get_pll1_factors()
175 /* p will be 2 for divs under 20 and odd divs under 32 */ in sun8i_a23_get_pll1_factors()
176 if (div < 20 || (div < 32 && (div & 1))) in sun8i_a23_get_pll1_factors()
179 /* p will be 1 for even divs under 32, divs under 40 and odd pairs in sun8i_a23_get_pll1_factors()
188 /* calculate a suitable n based on k and p */ in sun8i_a23_get_pll1_factors()
190 div /= (req->k + 1); in sun8i_a23_get_pll1_factors()
195 * sun4i_get_pll5_factors() - calculates n, k factors for PLL5
197 * rate = parent_rate * n * (k + 1)
210 req->k = 0; in sun4i_get_pll5_factors()
212 req->k = 1; in sun4i_get_pll5_factors()
214 req->k = 2; in sun4i_get_pll5_factors()
216 req->k = 3; in sun4i_get_pll5_factors()
218 req->n = DIV_ROUND_UP(div, (req->k + 1)); in sun4i_get_pll5_factors()
222 * sun6i_a31_get_pll6_factors() - calculates n, k factors for A31 PLL6x2
224 * rate = parent_rate * (n + 1) * (k + 1)
236 req->k = div / 32; in sun6i_a31_get_pll6_factors()
237 if (req->k > 3) in sun6i_a31_get_pll6_factors()
238 req->k = 3; in sun6i_a31_get_pll6_factors()
240 req->n = DIV_ROUND_UP(div, (req->k + 1)) - 1; in sun6i_a31_get_pll6_factors()
258 * user manual says valid speed is 8k ~ 276M, but tests show it in sun5i_a13_get_ahb_factors()
356 if (div > 32) in sun4i_get_apb1_factors()
395 if (div < 32) in sun7i_a20_get_out_factors()
397 else if (div / 2 < 32) in sun7i_a20_get_out_factors()
399 else if (div / 4 < 32) in sun7i_a20_get_out_factors()