| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/serial/ |
| D | nvidia,tegra20-hsuart.txt | 27 - nvidia,adjust-baud-rates: List of entries providing percentage of baud rate 31 When baud rate set on controller falls within the range mentioned in this 32 field, baud rate will be adjusted by percentage mentioned here. 34 Increase baud rate by 2% when set baud rate falls within range 9600 to 115200 36 Baud Rate tolerance: 37 Standard UART devices are expected to have tolerance for baud rate error by 39 Tegra186 chip has a known hardware issue. UART Rx baud rate tolerance level 41 corruption/invalid framing errors. Parker errata suggests adjusting baud 45 its spec) for valid range and Tegra baud rate has to be set above actual 46 Tx baud rate observed. To do this we use nvidia,adjust-baud-rates [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/serial/ |
| 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 …]
|
| /kernel/linux/linux-5.10/arch/mips/pic32/pic32mzda/ |
| 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 …]
|
| /kernel/linux/linux-6.6/arch/mips/pic32/pic32mzda/ |
| 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 …]
|
| /kernel/linux/linux-6.6/arch/m68k/atari/ |
| 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 …]
|
| /kernel/linux/linux-5.10/arch/m68k/atari/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/usb/serial/ |
| D | pl2303.c | 572 * Returns the nearest supported baud rate that can be set directly without 575 static speed_t pl2303_get_supported_baud_rate(speed_t baud) in pl2303_get_supported_baud_rate() argument 586 if (baud_sup[i] > baud) in pl2303_get_supported_baud_rate() 591 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 592 else if (i > 0 && (baud_sup[i] - baud) > (baud - baud_sup[i - 1])) in pl2303_get_supported_baud_rate() 593 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 595 baud = baud_sup[i]; in pl2303_get_supported_baud_rate() 597 return baud; in pl2303_get_supported_baud_rate() 601 * NOTE: If unsupported baud rates are set directly, the PL2303 seems to 602 * use 9600 baud. [all …]
|
| /kernel/linux/linux-5.10/arch/x86/boot/ |
| 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 …]
|
| /kernel/linux/linux-6.6/arch/x86/boot/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/tty/serial/ |
| 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 …]
|
| D | xilinx_uartps.c | 53 #define CDNS_UART_BAUDGEN 0x18 /* Baud Rate Generator */ 60 #define CDNS_UART_BAUDDIV 0x34 /* Baud Rate Divider */ 180 /* baud dividers min/max values */ 192 * @baud: Current baud rate 202 unsigned int baud; member 377 * cdns_uart_calc_baud_divs - Calculate baud rate divisors 379 * @baud: Desired baud rate 383 * Return: baud rate, requested baud when possible, or actual baud when there 386 * Formula to obtain baud rate is 393 * baud rate generate register [all …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/tty/serial/ |
| 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 …]
|
| 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) 249 unsigned int baud, quot, h_lcr, b; in serial21285_set_termios() local 265 baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16); in serial21285_set_termios() 266 quot = uart_get_divisor(port, baud); in serial21285_set_termios() 301 uart_update_timeout(port, termios->c_cflag, baud); in serial21285_set_termios() 421 serial21285_get_options(struct uart_port *port, int *baud, in serial21285_get_options() argument [all …]
|
| D | xilinx_uartps.c | 53 #define CDNS_UART_BAUDGEN 0x18 /* Baud Rate Generator */ 60 #define CDNS_UART_BAUDDIV 0x34 /* Baud Rate Divider */ 180 /* baud dividers min/max values */ 192 * @baud: Current baud rate 201 unsigned int baud; member 393 * cdns_uart_calc_baud_divs - Calculate baud rate divisors 395 * @baud: Desired baud rate 399 * Return: baud rate, requested baud when possible, or actual baud when there 402 * Formula to obtain baud rate is 409 * baud rate generate register [all …]
|
| D | vt8500_serial.c | 33 #define VT8500_URDIV 0x0008 /* Clock/Baud rate divisor */ 302 static int vt8500_set_baud_rate(struct uart_port *port, unsigned int baud) in vt8500_set_baud_rate() argument 310 div |= (uart_get_divisor(port, baud) - 1) & 0x3ff; in vt8500_set_baud_rate() 312 /* Effective baud rate */ in vt8500_set_baud_rate() 313 baud = port->uartclk / 16 / ((div & 0x3ff) + 1); in vt8500_set_baud_rate() 320 /* Break signal timing depends on baud rate, update accordingly */ in vt8500_set_baud_rate() 321 vt8500_write(port, mult_frac(baud, 4096, 1000000), VT8500_URBKR); in vt8500_set_baud_rate() 323 return baud; in vt8500_set_baud_rate() 365 unsigned int baud, lcr; in vt8500_set_termios() local 370 /* calculate and set baud rate */ in vt8500_set_termios() [all …]
|
| /kernel/linux/linux-5.10/drivers/usb/serial/ |
| D | pl2303.c | 482 * Returns the nearest supported baud rate that can be set directly without 485 static speed_t pl2303_get_supported_baud_rate(speed_t baud) in pl2303_get_supported_baud_rate() argument 496 if (baud_sup[i] > baud) in pl2303_get_supported_baud_rate() 501 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 502 else if (i > 0 && (baud_sup[i] - baud) > (baud - baud_sup[i - 1])) in pl2303_get_supported_baud_rate() 503 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 505 baud = baud_sup[i]; in pl2303_get_supported_baud_rate() 507 return baud; in pl2303_get_supported_baud_rate() 511 * NOTE: If unsupported baud rates are set directly, the PL2303 seems to 512 * use 9600 baud. [all …]
|
| /kernel/linux/linux-5.10/drivers/tty/serial/8250/ |
| D | 8250_dwlib.c | 53 * quot = div(I) = clk / (16 * baud) 56 * let rem = clk % (16 * baud) 57 * we have: div(F) * (16 * baud) = rem 58 * so frac = 2^dlf_size * rem / (16 * baud) = (rem << dlf_size) / (16 * baud) 60 static unsigned int dw8250_get_divisor(struct uart_port *p, unsigned int baud, in dw8250_get_divisor() argument 63 unsigned int quot, rem, base_baud = baud * 16; in dw8250_get_divisor() 73 static void dw8250_set_divisor(struct uart_port *p, unsigned int baud, in dw8250_set_divisor() argument 77 serial8250_do_set_divisor(p, baud, quot, quot_frac); in dw8250_set_divisor()
|
| D | 8250_mtk.c | 303 unsigned int baud, quot, fraction; in mtk8250_set_termios() local 319 * Store the requested baud rate before calling the generic 8250 in mtk8250_set_termios() 321 * no higher than (uartclk / 16) so the baud will be clamped if it in mtk8250_set_termios() 323 * higher than that, therefore we'll get original baud rate back in mtk8250_set_termios() 327 baud = tty_termios_baud_rate(termios); in mtk8250_set_termios() 331 tty_termios_encode_baud_rate(termios, baud, baud); in mtk8250_set_termios() 346 baud = uart_get_baud_rate(port, termios, old, in mtk8250_set_termios() 350 if (baud < 115200) { in mtk8250_set_termios() 352 quot = uart_get_divisor(port, baud); in mtk8250_set_termios() 355 quot = DIV_ROUND_UP(port->uartclk, 256 * baud); in mtk8250_set_termios() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/hamradio/ |
| D | baycom_ser_fdx.c | 15 * ser12: This is a very simple 1200 baud AFSK modem. The modem consists only 27 * hsk: This is a 4800 baud FSK modem, designed for TNC use. It works fine 37 * '#' denotes the baud rate / 100, eg. ser12* is '1200 baud, soft DCD' 39 * baud baud rate (between 300 and 4800) 115 unsigned int baud, baud_us, baud_arbdiv, baud_uartdiv, baud_dcdtimeout; member 388 if (bc->baud < 300 || bc->baud > 4800) { in ser12_open() 399 bc->hdrv.par.bitrate = bc->baud; in ser12_open() 400 bc->baud_us = 1000000/bc->baud; in ser12_open() 401 bc->baud_uartdiv = (115200/8)/bc->baud; in ser12_open() 416 * the baud rate is set to produce 100 ints/sec in ser12_open() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/hamradio/ |
| D | baycom_ser_fdx.c | 15 * ser12: This is a very simple 1200 baud AFSK modem. The modem consists only 27 * hsk: This is a 4800 baud FSK modem, designed for TNC use. It works fine 37 * '#' denotes the baud rate / 100, eg. ser12* is '1200 baud, soft DCD' 39 * baud baud rate (between 300 and 4800) 115 unsigned int baud, baud_us, baud_arbdiv, baud_uartdiv, baud_dcdtimeout; member 388 if (bc->baud < 300 || bc->baud > 4800) { in ser12_open() 399 bc->hdrv.par.bitrate = bc->baud; in ser12_open() 400 bc->baud_us = 1000000/bc->baud; in ser12_open() 401 bc->baud_uartdiv = (115200/8)/bc->baud; in ser12_open() 416 * the baud rate is set to produce 100 ints/sec in ser12_open() [all …]
|
| /kernel/linux/linux-5.10/arch/x86/kernel/ |
| 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 …]
|
| /kernel/linux/linux-6.6/arch/x86/kernel/ |
| 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 …]
|
| /kernel/linux/linux-5.10/arch/mips/include/asm/netlogic/xlp-hal/ |
| D | uart.h | 54 #define BAUD_DIVISOR(baud) (BASE_BAUD / baud) argument 103 nlm_uart_set_baudrate(uint64_t base, int baud) in nlm_uart_set_baudrate() argument 109 /* enable divisor register, and write baud values */ in nlm_uart_set_baudrate() 112 (BAUD_DIVISOR(baud) & 0xff)); in nlm_uart_set_baudrate() 114 ((BAUD_DIVISOR(baud) >> 8) & 0xff)); in nlm_uart_set_baudrate() 155 nlm_uart_init(uint64_t base, int baud, int databits, int stopbits, in nlm_uart_init() argument 181 nlm_uart_set_baudrate(base, baud); in nlm_uart_init()
|
| /kernel/linux/linux-6.6/drivers/tty/serial/8250/ |
| 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 …]
|