Lines Matching refs:div
47 #define SUN6I_AHB1_DIV_SET(reg, div) ((reg & ~SUN6I_AHB1_DIV_MASK) | \ argument
48 (div << SUN6I_AHB1_DIV_SHIFT))
53 #define SUN6I_AHB1_PLL6_DIV_SET(reg, div) ((reg & ~SUN6I_AHB1_PLL6_DIV_MASK) | \ argument
54 (div << SUN6I_AHB1_PLL6_DIV_SHIFT))
86 u8 div, calcp, calcm = 1; in sun6i_ahb1_clk_round() local
95 div = DIV_ROUND_UP(parent_rate, rate); in sun6i_ahb1_clk_round()
99 if (div < 4) in sun6i_ahb1_clk_round()
101 else if (div / 2 < 4) in sun6i_ahb1_clk_round()
103 else if (div / 4 < 4) in sun6i_ahb1_clk_round()
108 calcm = DIV_ROUND_UP(div, 1 << calcp); in sun6i_ahb1_clk_round()
110 calcp = __roundup_pow_of_two(div); in sun6i_ahb1_clk_round()
166 u8 div, pre_div, parent; in sun6i_ahb1_clk_set_rate() local
175 sun6i_ahb1_clk_round(rate, &div, &pre_div, parent, parent_rate); in sun6i_ahb1_clk_set_rate()
177 reg = SUN6I_AHB1_DIV_SET(reg, div); in sun6i_ahb1_clk_set_rate()
252 u8 div; in sun4i_get_pll1_factors() local
255 div = *freq / 6000000; in sun4i_get_pll1_factors()
256 *freq = 6000000 * div; in sun4i_get_pll1_factors()
272 if (div < 10) in sun4i_get_pll1_factors()
276 else if (div < 20 || (div < 32 && (div & 1))) in sun4i_get_pll1_factors()
281 else if (div < 40 || (div < 64 && (div & 2))) in sun4i_get_pll1_factors()
289 div <<= *p; in sun4i_get_pll1_factors()
290 div /= (*k + 1); in sun4i_get_pll1_factors()
291 *n = div / 4; in sun4i_get_pll1_factors()
388 u8 div; in sun8i_a23_get_pll1_factors() local
391 div = *freq / 6000000; in sun8i_a23_get_pll1_factors()
392 *freq = 6000000 * div; in sun8i_a23_get_pll1_factors()
408 if (div < 20 || (div < 32 && (div & 1))) in sun8i_a23_get_pll1_factors()
413 else if (div < 40 || (div < 64 && (div & 2))) in sun8i_a23_get_pll1_factors()
421 div <<= *p; in sun8i_a23_get_pll1_factors()
422 div /= (*k + 1); in sun8i_a23_get_pll1_factors()
423 *n = div / 4 - 1; in sun8i_a23_get_pll1_factors()
436 u8 div; in sun4i_get_pll5_factors() local
439 div = *freq / parent_rate; in sun4i_get_pll5_factors()
440 *freq = parent_rate * div; in sun4i_get_pll5_factors()
446 if (div < 31) in sun4i_get_pll5_factors()
448 else if (div / 2 < 31) in sun4i_get_pll5_factors()
450 else if (div / 3 < 31) in sun4i_get_pll5_factors()
455 *n = DIV_ROUND_UP(div, (*k+1)); in sun4i_get_pll5_factors()
468 u8 div; in sun6i_a31_get_pll6_factors() local
471 div = *freq / parent_rate; in sun6i_a31_get_pll6_factors()
472 *freq = parent_rate * div; in sun6i_a31_get_pll6_factors()
478 *k = div / 32; in sun6i_a31_get_pll6_factors()
482 *n = DIV_ROUND_UP(div, (*k+1)) - 1; in sun6i_a31_get_pll6_factors()
494 u32 div; in sun5i_a13_get_ahb_factors() local
509 div = order_base_2(DIV_ROUND_UP(parent_rate, *freq)); in sun5i_a13_get_ahb_factors()
512 if (div > 3) in sun5i_a13_get_ahb_factors()
513 div = 3; in sun5i_a13_get_ahb_factors()
515 *freq = parent_rate >> div; in sun5i_a13_get_ahb_factors()
521 *p = div; in sun5i_a13_get_ahb_factors()
577 u8 div, calcm, calcp; in sun7i_a20_get_out_factors() local
584 div = DIV_ROUND_UP(parent_rate, *freq); in sun7i_a20_get_out_factors()
586 if (div < 32) in sun7i_a20_get_out_factors()
588 else if (div / 2 < 32) in sun7i_a20_get_out_factors()
590 else if (div / 4 < 32) in sun7i_a20_get_out_factors()
595 calcm = DIV_ROUND_UP(div, 1 << calcp); in sun7i_a20_get_out_factors()
826 { .val = 0, .div = 1 },
827 { .val = 1, .div = 2 },
828 { .val = 2, .div = 3 },
829 { .val = 3, .div = 4 },
830 { .val = 4, .div = 4 },
831 { .val = 5, .div = 4 },
832 { .val = 6, .div = 4 },
833 { .val = 7, .div = 4 },
849 { .val = 0, .div = 2 },
850 { .val = 1, .div = 2 },
851 { .val = 2, .div = 4 },
852 { .val = 3, .div = 8 },
922 } div[SUNXI_DIVS_MAX_QTY]; member
926 { .val = 0, .div = 6, },
927 { .val = 1, .div = 12, },
928 { .val = 2, .div = 18, },
929 { .val = 3, .div = 24, },
936 .div = {
946 .div = {
957 .div = {
1020 if (data->div[i].self) { in sunxi_divs_clk_setup()
1030 if (data->div[i].gate) { in sunxi_divs_clk_setup()
1036 gate->bit_idx = data->div[i].gate; in sunxi_divs_clk_setup()
1043 if (data->div[i].fixed) { in sunxi_divs_clk_setup()
1049 fix_factor->div = data->div[i].fixed; in sunxi_divs_clk_setup()
1058 flags = data->div[i].pow ? CLK_DIVIDER_POWER_OF_TWO : 0; in sunxi_divs_clk_setup()
1061 divider->shift = data->div[i].shift; in sunxi_divs_clk_setup()
1065 divider->table = data->div[i].table; in sunxi_divs_clk_setup()