Lines Matching full:fact
153 #define CH341_CLK_DIV(ps, fact) (1 << (12 - 3 * (ps) - (fact))) argument
170 * baudrate = 48000000 / (2^(12 - 3 * ps - fact) * div), where
173 * 0 <= fact <= 1,
174 * 2 <= div <= 256 if fact = 0, or
175 * 9 <= div <= 256 if fact = 1
179 unsigned int fact, div, clk_div; in ch341_get_divisor() local
190 * Start with highest possible base clock (fact = 1) that will give a in ch341_get_divisor()
193 fact = 1; in ch341_get_divisor()
203 clk_div = CH341_CLK_DIV(ps, fact); in ch341_get_divisor()
210 /* Halve base clock (fact = 0) if required. */ in ch341_get_divisor()
214 fact = 0; in ch341_get_divisor()
229 * Prefer lower base clock (fact = 0) if even divisor. in ch341_get_divisor()
233 if (fact == 1 && div % 2 == 0) { in ch341_get_divisor()
235 fact = 0; in ch341_get_divisor()
238 return (0x100 - div) << 8 | fact << 2 | ps; in ch341_get_divisor()