/linux/Documentation/devicetree/bindings/serial/ |
H A D | nvidia,tegra20-hsuart.yaml | 58 nvidia,adjust-baud-rates: 61 List of entries providing percentage of baud rate adjustment within a range. Each entry 62 contains a set of 3 values: range low/high and adjusted rate. When the baud rate set on the 63 controller falls within the range mentioned in this field, the baud rate will be adjusted by 68 Increase baud rate by 2% when set baud rate falls within range 9600 to 115200. 70 Standard UART devices are expected to have tolerance for baud rate error by -4 to +4 %. All 72 issue. UART RX baud rate tolerance level is 0% to +4% in 1-stop config. Otherwise, the 74 baud rate to be higher than the deviations observed in TX. 77 valid range and Tegra baud rate has to be set above actual TX baud rate observed. To do this 78 we use nvidia,adjust-baud-rates. [all …]
|
H A D | serial-peripheral-props.yaml | 15 controller, might need similar properties, e.g. for configuring the baud 22 The maximum baud rate the device operates at. 26 baud rates. 31 The current baud rate the device operates at. 33 the baud rate of the slave device. 35 * device supports auto-baud 38 * device baud rate is configured by its firmware but there is no
|
/linux/arch/mips/pic32/pic32mzda/ |
H A D | early_console.c | 50 static void __init configure_uart(int port, int baud) in configure_uart() argument 57 __raw_writel(((pbclk / baud) / 16) - 1, uart_base + U_BRG(port)); in configure_uart() 63 static void __init setup_early_console(int port, int baud) in setup_early_console() argument 69 configure_uart(console_port, baud); in setup_early_console() 111 int baud = -1; in get_baud_from_cmdline() local 124 baud = 0; in get_baud_from_cmdline() 126 baud = baud * 10 + *s++ - '0'; in get_baud_from_cmdline() 130 return baud; in get_baud_from_cmdline() 136 int baud, port; in fw_init_early_console() local 140 baud = get_baud_from_cmdline(arch_cmdline); in fw_init_early_console() [all …]
|
/linux/arch/m68k/atari/ |
H A D | debug.c | 168 int baud = cflag & CBAUD; in atari_init_mfp_port() local 173 baud += B38400; in atari_init_mfp_port() 174 if (baud < B1200 || baud > B38400+2) in atari_init_mfp_port() 175 baud = B9600; /* use default 9600bps for non-implemented rates */ in atari_init_mfp_port() 176 baud -= B1200; /* baud_table[] starts at 1200bps */ in atari_init_mfp_port() 181 st_mfp.tim_dt_d = baud_table[baud]; in atari_init_mfp_port() 218 int baud = cflag & CBAUD; in atari_init_scc_port() local 222 baud += B38400; in atari_init_scc_port() 223 if (baud < B1200 || baud > B38400+2) in atari_init_scc_port() 224 baud = B9600; /* use default 9600bps for non-implemented rates */ in atari_init_scc_port() [all …]
|
/linux/arch/x86/boot/ |
H A D | early_serial_console.c | 26 static void early_serial_init(int port, int baud) in early_serial_init() argument 36 divisor = 115200 / baud; in early_serial_init() 48 int baud = DEFAULT_BAUD; in parse_earlyprintk() local 92 baud = simple_strtoull(arg + pos, &e, 0); in parse_earlyprintk() 93 if (baud == 0 || arg + pos == e) in parse_earlyprintk() 94 baud = DEFAULT_BAUD; in parse_earlyprintk() 98 early_serial_init(port, baud); in parse_earlyprintk() 120 int baud = DEFAULT_BAUD; in parse_console_uart8250() local 140 baud = simple_strtoull(options + 1, &options, 0); in parse_console_uart8250() 142 baud = probe_baud(port); in parse_console_uart8250() [all …]
|
/linux/drivers/tty/serial/ |
H A D | suncore.c | 89 int baud, bits, stop, cflag; in sunserial_console_termios() local 121 baud = simple_strtoul(s, NULL, 0); in sunserial_console_termios() 131 switch (baud) { in sunserial_console_termios() 145 default: baud = 9600; cflag |= B9600; break; in sunserial_console_termios() 170 /* Sun serial MOUSE auto baud rate detection. */ 172 int baud; member 187 for (i = 0; mouse_baud_table[i].baud != -1; i++) in suncore_mouse_baud_cflag_next() 192 if (mouse_baud_table[i].baud == -1) in suncore_mouse_baud_cflag_next() 195 *new_baud = mouse_baud_table[i].baud; in suncore_mouse_baud_cflag_next() 201 /* Basically, when the baud rate is wrong the mouse spits out [all …]
|
H A D | 21285.c | 84 * BAUD_BASE / baud - 1 85 * However, typically BAUD_BASE is not divisible by baud, so 88 * int(BAUD_BASE / baud - 0.5) -> 89 * int(BAUD_BASE / baud - (baud >> 1) / baud) -> 90 * int((BAUD_BASE - (baud >> 1)) / baud) 228 unsigned int baud, quot, h_lcr, b; in serial21285_set_termios() local 244 baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16); in serial21285_set_termios() 245 quot = uart_get_divisor(port, baud); in serial21285_set_termios() 280 uart_update_timeout(port, termios->c_cflag, baud); in serial21285_set_termios() 400 serial21285_get_options(struct uart_port *port, int *baud, in serial21285_get_options() argument [all …]
|
H A D | xilinx_uartps.c | 56 #define CDNS_UART_BAUDGEN 0x18 /* Baud Rate Generator */ 63 #define CDNS_UART_BAUDDIV 0x34 /* Baud Rate Divider */ 183 /* baud dividers min/max values */ 195 * @baud: Current baud rate 209 unsigned int baud; member 503 * cdns_uart_calc_baud_divs - Calculate baud rate divisors 505 * @baud: Desired baud rate 509 * Return: baud rate, requested baud when possible, or actual baud when there 512 * Formula to obtain baud rate is 519 * baud rate generate register [all …]
|
H A D | esp32_uart.c | 362 static bool esp32_uart_set_baud(struct uart_port *port, u32 baud) in esp32_uart_set_baud() argument 365 u32 div = sclk / baud; in esp32_uart_set_baud() 372 div = sclk / baud; in esp32_uart_set_baud() 380 u32 frag = (sclk * 16) / baud - div * 16; in esp32_uart_set_baud() 396 u32 baud; in esp32_uart_set_termios() local 405 baud = uart_get_baud_rate(port, termios, old, in esp32_uart_set_termios() 449 if (baud) { in esp32_uart_set_termios() 450 esp32_uart_set_baud(port, baud); in esp32_uart_set_termios() 451 uart_update_timeout(port, termios->c_cflag, baud); in esp32_uart_set_termios() 454 baud = 115200; in esp32_uart_set_termios() [all …]
|
H A D | vt8500_serial.c | 33 #define VT8500_URDIV 0x0008 /* Clock/Baud rate divisor */ 279 static int vt8500_set_baud_rate(struct uart_port *port, unsigned int baud) in vt8500_set_baud_rate() argument 287 div |= (uart_get_divisor(port, baud) - 1) & 0x3ff; in vt8500_set_baud_rate() 289 /* Effective baud rate */ in vt8500_set_baud_rate() 290 baud = port->uartclk / 16 / ((div & 0x3ff) + 1); in vt8500_set_baud_rate() 297 /* Break signal timing depends on baud rate, update accordingly */ in vt8500_set_baud_rate() 298 vt8500_write(port, mult_frac(baud, 4096, 1000000), VT8500_URBKR); in vt8500_set_baud_rate() 300 return baud; in vt8500_set_baud_rate() 342 unsigned int baud, lcr; in vt8500_set_termios() local 347 /* calculate and set baud rate */ in vt8500_set_termios() [all …]
|
H A D | ar933x_uart.c | 253 unsigned int baud, in ar933x_uart_get_scale_step() argument 263 min_diff = baud; in ar933x_uart_get_scale_step() 268 tstep = baud * (tscale + 1); in ar933x_uart_get_scale_step() 275 diff = abs(ar933x_uart_get_baud(clk, tscale, tstep) - baud); in ar933x_uart_get_scale_step() 292 unsigned int baud, scale, step; in ar933x_uart_set_termios() local 314 baud = uart_get_baud_rate(port, new, old, up->min_baud, up->max_baud); in ar933x_uart_set_termios() 315 ar933x_uart_get_scale_step(port->uartclk, baud, &scale, &step); in ar933x_uart_set_termios() 328 uart_update_timeout(port, new->c_cflag, baud); in ar933x_uart_set_termios() 358 tty_termios_encode_baud_rate(new, baud, baud); in ar933x_uart_set_termios() 658 int baud = 115200; in ar933x_uart_console_setup() local [all …]
|
H A D | sunsab.c | 10 * Fixed to use tty_get_baud_rate, and to allow for arbitrary baud 86 #define SAB82532_MAX_TEC_TIMEOUT 200000 /* 1 character time (at 50 baud) */ 87 #define SAB82532_MAX_CEC_TIMEOUT 50000 /* 2.5 TX CLKs (at 50 baud) */ 623 * transmitted at 9600 baud during shutdown (regardless of the in sunsab_shutdown() 640 * The formula is: Baud = SAB_BASE_BAUD / ((N + 1) * (1 << M)), 645 static void calc_ebrg(int baud, int *n_ret, int *m_ret) in calc_ebrg() argument 649 if (baud == 0) { in calc_ebrg() 660 n = (SAB_BASE_BAUD * 10) / baud; in calc_ebrg() 681 unsigned int iflag, unsigned int baud, in sunsab_convert_to_sab() argument 710 calc_ebrg(baud, &n, &m); in sunsab_convert_to_sab() [all …]
|
H A D | max3100.c | 91 int baud; /* current baud rate */ member 410 unsigned int baud = port->uartclk / 16; in max3100_set_termios() local 411 unsigned int baud230400 = (baud == 230400) ? 1 : 0; in max3100_set_termios() 420 baud = tty_termios_baud_rate(termios); in max3100_set_termios() 422 switch (baud) { in max3100_set_termios() 425 baud = s->baud; in max3100_set_termios() 460 baud = s->baud; in max3100_set_termios() 463 baud = s->baud; in max3100_set_termios() 465 tty_termios_encode_baud_rate(termios, baud, baud); in max3100_set_termios() 466 s->baud = baud; in max3100_set_termios() [all …]
|
/linux/Documentation/devicetree/bindings/w1/ |
H A D | w1-uart.yaml | 18 baud-rate and transmitted byte, which corresponds to a 1-Wire read bit, 21 The default baud-rate for reset and presence detection is 9600 and for 22 a 1-Wire read or write operation 115200. In case the actual baud-rate 35 The baud rate for the 1-Wire reset and presence detect. 40 The baud rate for the 1-Wire write-0 cycle. 45 The baud rate for the 1-Wire write-1 and read cycle.
|
/linux/arch/x86/kernel/ |
H A D | early_printk.c | 151 unsigned long baud = DEFAULT_BAUD; in early_serial_init() local 177 baud = simple_strtoull(s, &e, 0); in early_serial_init() 179 if (baud == 0 || s == e) in early_serial_init() 180 baud = DEFAULT_BAUD; in early_serial_init() 183 /* Convert from baud to divisor value */ in early_serial_init() 184 divisor = 115200 / baud; in early_serial_init() 213 * The rest of the param should be "[force],B:D.F,baud", where B, D & F describe 220 unsigned long baud = DEFAULT_BAUD; in early_pci_serial_init() local 255 /* A baud might be following */ in early_pci_serial_init() 308 if (kstrtoul(s, 0, &baud) < 0 || baud == 0) in early_pci_serial_init() [all …]
|
/linux/drivers/tty/serial/8250/ |
H A D | 8250_bcm7271.c | 7 * optional features including the ability to use a baud rate clock 8 * mux for more accurate high speed baud rate selection and also 666 dev_err(dev, "Error selecting BAUD MUX clock for %u\n", in init_real_clk_rates() 676 static u32 find_quot(struct device *dev, u32 freq, u32 baud, u32 *percent) in find_quot() argument 685 quot = DIV_ROUND_CLOSEST(rate, baud); in find_quot() 691 hires_baud = (u64)baud * 10000; in find_quot() 699 *percent = (unsigned long)DIV_ROUND_CLOSEST_ULL(hires_err, baud); in find_quot() 701 dev_dbg(dev, "Baud rate: %u, MUX Clk: %u, Error: %u.%u%%\n", in find_quot() 702 baud, freq, *percent / 100, *percent % 100); in find_quot() 708 u32 baud) in set_clock_mux() argument [all …]
|
H A D | 8250_mtk.c | 316 unsigned int baud, quot, fraction; in mtk8250_set_termios() local 332 * Store the requested baud rate before calling the generic 8250 in mtk8250_set_termios() 334 * no higher than (uartclk / 16) so the baud will be clamped if it in mtk8250_set_termios() 336 * higher than that, therefore we'll get original baud rate back in mtk8250_set_termios() 340 baud = tty_termios_baud_rate(termios); in mtk8250_set_termios() 344 tty_termios_encode_baud_rate(termios, baud, baud); in mtk8250_set_termios() 359 baud = uart_get_baud_rate(port, termios, old, in mtk8250_set_termios() 363 if (baud < 115200) { in mtk8250_set_termios() 365 quot = uart_get_divisor(port, baud); in mtk8250_set_termios() 368 quot = DIV_ROUND_UP(port->uartclk, 256 * baud); in mtk8250_set_termios() [all …]
|
H A D | 8250_pericom.c | 51 static void pericom_do_set_divisor(struct uart_port *port, unsigned int baud, in pericom_do_set_divisor() argument 58 unsigned int divisor = max(maxrate / baud, 1U); in pericom_do_set_divisor() 59 int delta = maxrate / divisor - baud; in pericom_do_set_divisor() 61 if (baud > maxrate + baud / 50) in pericom_do_set_divisor() 64 if (delta > baud / 50) in pericom_do_set_divisor() 71 delta = maxrate / divisor - baud; in pericom_do_set_divisor() 72 if (abs(delta) < baud / 50) { in pericom_do_set_divisor()
|
H A D | 8250_dwlib.c | 68 * quot = div(I) = clk / (16 * baud) 71 * let rem = clk % (16 * baud) 72 * we have: div(F) * (16 * baud) = rem 73 * so frac = 2^dlf_size * rem / (16 * baud) = (rem << dlf_size) / (16 * baud) 75 static unsigned int dw8250_get_divisor(struct uart_port *p, unsigned int baud, in dw8250_get_divisor() argument 78 unsigned int quot, rem, base_baud = baud * 16; in dw8250_get_divisor() 88 static void dw8250_set_divisor(struct uart_port *p, unsigned int baud, in dw8250_set_divisor() argument 92 serial8250_do_set_divisor(p, baud, quot); in dw8250_set_divisor()
|
H A D | 8250_ingenic.c | 94 int baud = 115200; in ingenic_earlycon_setup_tail() local 102 uart_parse_options(opt, &baud, &parity, &bits, &flow); in ingenic_earlycon_setup_tail() 105 if (dev->baud) in ingenic_earlycon_setup_tail() 106 baud = dev->baud; in ingenic_earlycon_setup_tail() 107 divisor = DIV_ROUND_CLOSEST(port->uartclk, 16 * baud); in ingenic_earlycon_setup_tail() 282 data->clk_baud = devm_clk_get(&pdev->dev, "baud"); in ingenic_uart_probe() 285 "unable to get baud clock\n"); in ingenic_uart_probe() 295 dev_err(&pdev->dev, "could not enable baud clock: %d\n", err); in ingenic_uart_probe()
|
/linux/Documentation/misc-devices/ |
H A D | oxsemi-tornado.rst | 10 The baud rate produced by the baud generator is obtained from this input 16 determine the actual baud rate used. Baud rates from 15625000bps down 23 used for the divisor to obtain the requested baud rates by software that 41 Here are the figures for the standard and some non-standard baud rates 88 With the baud base set to 15625000 and the unsigned 16-bit UART_DIV_MAX 89 limitation imposed by ``serial8250_get_baud_rate`` standard baud rates 91 200bps requires the baud base to be divided by 78125 and that is beyond 108 the baud rate of 38400bps. Note that the value of 0 in TCR sets the 115 respectively. These parameters will set the baud rate for the serial
|
/linux/drivers/clk/at91/ |
H A D | sama7g5.c | 29 * @PLL_ID_BAUD: Baud PLL identifier 590 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 598 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 606 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 614 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 622 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 630 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 638 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 646 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 654 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, [all …]
|
/linux/drivers/tty/ |
H A D | tty_baudrate.c | 15 * Routine which returns the baud rate of the tty 50 * Convert termios baud rate data into a speed. This should be called 80 * Convert termios baud rate data into a speed. This should be called 163 * Our goal is to find a close match to the standard baud rate in tty_termios_encode_baud_rate() 164 * returned. Walk the baud rate table and if we get a very close in tty_termios_encode_baud_rate() 201 * tty_encode_baud_rate - set baud rate of the tty 203 * @ibaud: input baud rate 204 * @obaud: output baud rate
|
/linux/Documentation/w1/masters/ |
H A D | w1-uart.rst | 21 combination of baud-rate and transmitted byte, which corresponds to a 25 the baud-rate 9600, i.e. 104.2 us per bit. The transmitted byte 0xf0 over 31 Similar for a 1-Wire read bit or write bit, which uses the baud-rate 36 The default baud-rate for reset and presence detection is 9600 and for 37 a 1-Wire read or write operation 115200. In case the actual baud-rate
|
/linux/arch/mips/sni/ |
H A D | setup.c | 65 char *baud; in sni_console_setup() local 76 baud = prom_getenv("lbaud"); in sni_console_setup() 80 baud = prom_getenv("rbaud"); in sni_console_setup() 83 if (baud) in sni_console_setup() 84 strcpy(options, baud); in sni_console_setup() 87 baud ? options : NULL); in sni_console_setup() 90 baud ? options : NULL); in sni_console_setup()
|