• Home
  • Raw
  • Download

Lines Matching full:baud

57 #define CDNS_UART_BAUDGEN	0x18  /* Baud Rate Generator */
64 #define CDNS_UART_BAUDDIV 0x34 /* Baud Rate Divider */
174 /* baud dividers min/max values */
185 * @baud: Current baud rate
193 unsigned int baud; member
381 * cdns_uart_calc_baud_divs - Calculate baud rate divisors
383 * @baud: Desired baud rate
387 * Return: baud rate, requested baud when possible, or actual baud when there
390 * Formula to obtain baud rate is
397 * baud rate generate register
398 * baud rate clock divisor register
401 unsigned int baud, u32 *rbdiv, u32 *rcd, int *div8) in cdns_uart_calc_baud_divs() argument
409 if (baud < clk / ((CDNS_UART_BDIV_MAX + 1) * CDNS_UART_CD_MAX)) { in cdns_uart_calc_baud_divs()
417 cd = DIV_ROUND_CLOSEST(clk, baud * (bdiv + 1)); in cdns_uart_calc_baud_divs()
423 if (baud > calc_baud) in cdns_uart_calc_baud_divs()
424 bauderror = baud - calc_baud; in cdns_uart_calc_baud_divs()
426 bauderror = calc_baud - baud; in cdns_uart_calc_baud_divs()
436 if (((besterror * 100) / baud) < 3) in cdns_uart_calc_baud_divs()
437 bestbaud = baud; in cdns_uart_calc_baud_divs()
443 * cdns_uart_set_baud_rate - Calculate and set the baud rate
445 * @baud: Baud rate to set
446 * Return: baud rate, requested baud when possible, or actual baud when there
450 unsigned int baud) in cdns_uart_set_baud_rate() argument
458 calc_baud = cdns_uart_calc_baud_divs(port->uartclk, baud, &bdiv, &cd, in cdns_uart_set_baud_rate()
470 cdns_uart->baud = baud; in cdns_uart_set_baud_rate()
504 * Find out if current baud-rate can be achieved with new clock in cdns_uart_clk_notifier_cb()
507 if (!cdns_uart_calc_baud_divs(ndata->new_rate, cdns_uart->baud, in cdns_uart_clk_notifier_cb()
515 /* Disable the TX and RX to set baud rate */ in cdns_uart_clk_notifier_cb()
526 * Set clk dividers to generate correct baud with new clock in cdns_uart_clk_notifier_cb()
535 cdns_uart->baud = cdns_uart_set_baud_rate(cdns_uart->port, in cdns_uart_clk_notifier_cb()
536 cdns_uart->baud); in cdns_uart_clk_notifier_cb()
675 * stop bits, flow control, baud rate
684 unsigned int baud, minbaud, maxbaud; in cdns_uart_set_termios() local
702 /* Disable the TX and RX to set baud rate */ in cdns_uart_set_termios()
708 * Min baud rate = 6bps and Max Baud Rate is 10Mbps for 100Mhz clk in cdns_uart_set_termios()
709 * min and max baud should be calculated here based on port->uartclk. in cdns_uart_set_termios()
710 * this way we get a valid baud and can safely call set_baud() in cdns_uart_set_termios()
715 baud = uart_get_baud_rate(port, termios, old, minbaud, maxbaud); in cdns_uart_set_termios()
716 baud = cdns_uart_set_baud_rate(port, baud); in cdns_uart_set_termios()
718 tty_termios_encode_baud_rate(termios, baud, baud); in cdns_uart_set_termios()
721 uart_update_timeout(port, termios->c_cflag, baud); in cdns_uart_set_termios()
1145 /* only set baud if specified on command line - otherwise in cdns_early_console_setup()
1148 if (port->uartclk && device->baud) { in cdns_early_console_setup()
1153 cdns_uart_calc_baud_divs(port->uartclk, device->baud, in cdns_early_console_setup()
1235 int baud = 9600; in cdns_uart_console_setup() local
1248 uart_parse_options(options, &baud, &parity, &bits, &flow); in cdns_uart_console_setup()
1257 return uart_set_options(port, co, baud, parity, bits, flow); in cdns_uart_console_setup()