Lines Matching full:fact
157 #define CH341_CLK_DIV(ps, fact) (1 << (12 - 3 * (ps) - (fact))) argument
174 * baudrate = 48000000 / (2^(12 - 3 * ps - fact) * div), where
177 * 0 <= fact <= 1,
178 * 2 <= div <= 256 if fact = 0, or
179 * 9 <= div <= 256 if fact = 1
183 unsigned int fact, div, clk_div; in ch341_get_divisor() local
194 * Start with highest possible base clock (fact = 1) that will give a in ch341_get_divisor()
197 fact = 1; in ch341_get_divisor()
207 clk_div = CH341_CLK_DIV(ps, fact); in ch341_get_divisor()
214 /* Halve base clock (fact = 0) if required. */ in ch341_get_divisor()
218 fact = 0; in ch341_get_divisor()
233 * Prefer lower base clock (fact = 0) if even divisor. in ch341_get_divisor()
237 if (fact == 1 && div % 2 == 0) { in ch341_get_divisor()
239 fact = 0; in ch341_get_divisor()
242 return (0x100 - div) << 8 | fact << 2 | ps; in ch341_get_divisor()