Lines Matching +full:n +full:- +full:factor
1 /*-
34 (24MHz*N*K)/(M*P)
35 (24MHz*N)/(M*P)
36 (24MHz*N*2)/M
37 (24MHz*N)/M
38 (24MHz*N*K)/M
39 (24MHz*N*K/2)
40 (24MHz*N)/M
41 (24MHz*N*K/2)
42 (24MHz*N)/M
46 Clock Source/Divider N/Divider M
47 Clock Source/Divider N/Divider M/2
48 Clock Source*N/(Divider M+1)/(Divider P+1)
77 uint32_t shift; /* Shift bits for the factor */
78 uint32_t mask; /* Mask to get the factor, will be override by the clk methods */
79 uint32_t width; /* Number of bits for the factor */
101 aw_clk_get_factor(uint32_t val, struct aw_clk_factor *factor) in aw_clk_get_factor() argument
106 if (factor->flags & AW_CLK_FACTOR_HAS_COND) { in aw_clk_get_factor()
107 cond = (val & factor->cond_mask) >> factor->cond_shift; in aw_clk_get_factor()
108 if (cond != factor->cond_value) in aw_clk_get_factor()
112 if (factor->flags & AW_CLK_FACTOR_FIXED) in aw_clk_get_factor()
113 return (factor->value); in aw_clk_get_factor()
115 factor_val = (val & factor->mask) >> factor->shift; in aw_clk_get_factor()
116 if (factor_val == 0 && (factor->flags & AW_CLK_FACTOR_ZERO_IS_ONE)) in aw_clk_get_factor()
119 if (factor->flags & AW_CLK_FACTOR_POWER_OF_TWO) in aw_clk_get_factor()
121 else if (!(factor->flags & AW_CLK_FACTOR_ZERO_BASED)) in aw_clk_get_factor()
128 aw_clk_factor_get_max(struct aw_clk_factor *factor) in aw_clk_factor_get_max() argument
132 if (factor->flags & AW_CLK_FACTOR_FIXED) in aw_clk_factor_get_max()
133 max = factor->value; in aw_clk_factor_get_max()
134 else if (factor->flags & AW_CLK_FACTOR_POWER_OF_TWO) in aw_clk_factor_get_max()
135 max = 1 << ((1 << factor->width) - 1); in aw_clk_factor_get_max()
137 max = (1 << factor->width); in aw_clk_factor_get_max()
144 aw_clk_factor_get_min(struct aw_clk_factor *factor) in aw_clk_factor_get_min() argument
148 if (factor->flags & AW_CLK_FACTOR_FIXED) in aw_clk_factor_get_min()
149 min = factor->value; in aw_clk_factor_get_min()
150 else if (factor->flags & AW_CLK_FACTOR_ZERO_BASED) in aw_clk_factor_get_min()
152 else if (factor->flags & AW_CLK_FACTOR_MIN_VALUE) in aw_clk_factor_get_min()
153 min = factor->min_value; in aw_clk_factor_get_min()
161 aw_clk_factor_get_value(struct aw_clk_factor *factor, uint32_t raw) in aw_clk_factor_get_value() argument
165 if (factor->flags & AW_CLK_FACTOR_FIXED) in aw_clk_factor_get_value()
166 return (factor->value); in aw_clk_factor_get_value()
168 if (factor->flags & AW_CLK_FACTOR_ZERO_BASED) in aw_clk_factor_get_value()
170 else if (factor->flags & AW_CLK_FACTOR_POWER_OF_TWO) { in aw_clk_factor_get_value()
173 } else if (factor->flags & AW_CLK_FACTOR_MAX_VALUE) in aw_clk_factor_get_value()
174 val = factor->max_value; in aw_clk_factor_get_value()
176 val = raw - 1; in aw_clk_factor_get_value()
212 .n.shift = _n_shift, \
213 .n.width = _n_width, \
214 .n.value = _n_value, \
215 .n.flags = _n_flags, \
252 .n.shift = _n_shift, \
253 .n.width = _n_width, \
254 .n.value = _n_value, \
255 .n.flags = _n_flags, \
295 .n.shift = _n_shift, \
296 .n.width = _n_width, \
297 .n.value = _n_value, \
298 .n.flags = _n_flags, \
334 .n.shift = _nshift, \
335 .n.width = _nwidth, \
336 .n.value = _nvalue, \
337 .n.flags = _nflags, \
393 .n.shift = _nshift, \
394 .n.width = _nwidth, \
395 .n.value = _nvalue, \
396 .n.flags = _nflags, \
423 .n.shift = _nshift, \
424 .n.width = _nwidth, \
425 .n.value = _nvalue, \
426 .n.flags = _nflags, \
456 .n.shift = _nshift, \
457 .n.width = _nwidth, \
458 .n.value = _nvalue, \
459 .n.flags = _nflags, \
549 .n.shift = _nshift, \
550 .n.width = _nwidth, \