/Linux-v5.15/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 …]
|
D | serial.yaml | 117 The maximum baud rate the device operates at. 121 baud rates. 126 The current baud rate the device operates at. 128 the baud rate of the slave device. 130 * device supports auto-baud 133 * device baud rate is configured by its firmware but there is no
|
/Linux-v5.15/arch/mips/pic32/pic32mzda/ |
D | early_console.c | 50 static void __init configure_uart(char 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(char 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 = -1; in fw_init_early_console() local 140 baud = get_baud_from_cmdline(arch_cmdline); in fw_init_early_console() [all …]
|
/Linux-v5.15/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 …]
|
/Linux-v5.15/drivers/usb/serial/ |
D | pl2303.c | 557 * Returns the nearest supported baud rate that can be set directly without 560 static speed_t pl2303_get_supported_baud_rate(speed_t baud) in pl2303_get_supported_baud_rate() argument 571 if (baud_sup[i] > baud) in pl2303_get_supported_baud_rate() 576 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 577 else if (i > 0 && (baud_sup[i] - baud) > (baud - baud_sup[i - 1])) in pl2303_get_supported_baud_rate() 578 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 580 baud = baud_sup[i]; in pl2303_get_supported_baud_rate() 582 return baud; in pl2303_get_supported_baud_rate() 586 * NOTE: If unsupported baud rates are set directly, the PL2303 seems to 587 * use 9600 baud. [all …]
|
D | ftdi_sio.c | 54 int baud_base; /* baud base clock for divisor setting */ 68 speed_t force_baud; /* if non-zero, force the baud rate to 1098 static unsigned short int ftdi_232am_baud_base_to_divisor(int baud, int base); 1099 static unsigned short int ftdi_232am_baud_to_divisor(int baud); 1100 static u32 ftdi_232bm_baud_base_to_divisor(int baud, int base); 1101 static u32 ftdi_232bm_baud_to_divisor(int baud); 1102 static u32 ftdi_2232h_baud_base_to_divisor(int baud, int base); 1103 static u32 ftdi_2232h_baud_to_divisor(int baud); 1150 static unsigned short int ftdi_232am_baud_base_to_divisor(int baud, int base) in ftdi_232am_baud_base_to_divisor() argument 1154 int divisor3 = DIV_ROUND_CLOSEST(base, 2 * baud); in ftdi_232am_baud_base_to_divisor() [all …]
|
/Linux-v5.15/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 …]
|
/Linux-v5.15/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 202 unsigned int baud; member 391 * cdns_uart_calc_baud_divs - Calculate baud rate divisors 393 * @baud: Desired baud rate 397 * Return: baud rate, requested baud when possible, or actual baud when there 400 * Formula to obtain baud rate is 407 * baud rate generate register [all …]
|
D | vt8500_serial.c | 33 #define VT8500_URDIV 0x0008 /* Clock/Baud rate divisor */ 300 static int vt8500_set_baud_rate(struct uart_port *port, unsigned int baud) in vt8500_set_baud_rate() argument 308 div |= (uart_get_divisor(port, baud) - 1) & 0x3ff; in vt8500_set_baud_rate() 310 /* Effective baud rate */ in vt8500_set_baud_rate() 311 baud = port->uartclk / 16 / ((div & 0x3ff) + 1); in vt8500_set_baud_rate() 318 /* Break signal timing depends on baud rate, update accordingly */ in vt8500_set_baud_rate() 319 vt8500_write(port, mult_frac(baud, 4096, 1000000), VT8500_URBKR); in vt8500_set_baud_rate() 321 return baud; in vt8500_set_baud_rate() 363 unsigned int baud, lcr; in vt8500_set_termios() local 368 /* calculate and set baud rate */ in vt8500_set_termios() [all …]
|
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() 668 int baud = 115200; in ar933x_uart_console_setup() local [all …]
|
D | sunsab.c | 10 * Fixed to use tty_get_baud_rate, and to allow for arbitrary baud 85 #define SAB82532_MAX_TEC_TIMEOUT 200000 /* 1 character time (at 50 baud) */ 86 #define SAB82532_MAX_CEC_TIMEOUT 50000 /* 2.5 TX CLKs (at 50 baud) */ 622 * transmitted at 9600 baud during shutdown (regardless of the in sunsab_shutdown() 639 * The formula is: Baud = SAB_BASE_BAUD / ((N + 1) * (1 << M)), 644 static void calc_ebrg(int baud, int *n_ret, int *m_ret) in calc_ebrg() argument 648 if (baud == 0) { in calc_ebrg() 659 n = (SAB_BASE_BAUD * 10) / baud; in calc_ebrg() 680 unsigned int iflag, unsigned int baud, in sunsab_convert_to_sab() argument 713 calc_ebrg(baud, &n, &m); in sunsab_convert_to_sab() [all …]
|
D | arc_uart.c | 97 unsigned long baud; member 357 unsigned int baud, uartl, uarth, hw_val; in arc_serial_set_termios() local 361 * Use the generic handler so that any specially encoded baud rates in arc_serial_set_termios() 363 * Max Baud I suppose will not be more than current 115K * 4 in arc_serial_set_termios() 364 * Formula for ARC UART is: hw-val = ((CLK/(BAUD*4)) -1) in arc_serial_set_termios() 367 baud = uart_get_baud_rate(port, new, old, 0, 460800); in arc_serial_set_termios() 369 hw_val = port->uartclk / (uart->baud * 4) - 1; in arc_serial_set_termios() 394 tty_termios_encode_baud_rate(new, baud, baud); in arc_serial_set_termios() 396 uart_update_timeout(port, new->c_cflag, baud); in arc_serial_set_termios() 485 int baud = 115200; in arc_serial_console_setup() local [all …]
|
/Linux-v5.15/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 | 299 unsigned int baud, quot, fraction; in mtk8250_set_termios() local 315 * Store the requested baud rate before calling the generic 8250 in mtk8250_set_termios() 317 * no higher than (uartclk / 16) so the baud will be clamped if it in mtk8250_set_termios() 319 * higher than that, therefore we'll get original baud rate back in mtk8250_set_termios() 323 baud = tty_termios_baud_rate(termios); in mtk8250_set_termios() 327 tty_termios_encode_baud_rate(termios, baud, baud); in mtk8250_set_termios() 342 baud = uart_get_baud_rate(port, termios, old, in mtk8250_set_termios() 346 if (baud < 115200) { in mtk8250_set_termios() 348 quot = uart_get_divisor(port, baud); in mtk8250_set_termios() 351 quot = DIV_ROUND_UP(port->uartclk, 256 * baud); in mtk8250_set_termios() [all …]
|
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() 677 u32 baud) in set_clock_mux() argument 692 /* If the Baud Mux Clock was not specified, just return */ in set_clock_mux() 696 /* Find the closest match for specified baud */ in set_clock_mux() 701 quot = DIV_ROUND_CLOSEST(rate, baud); in set_clock_mux() 707 hires_baud = (u64)baud * 10000; in set_clock_mux() 717 percent = (unsigned long)DIV_ROUND_CLOSEST_ULL(hires_err, baud); in set_clock_mux() 719 "Baud rate: %u, MUX Clk: %u, Error: %u.%u%%\n", in set_clock_mux() [all …]
|
D | 8250_ingenic.c | 95 int baud = 115200; in ingenic_early_console_setup() local 103 uart_parse_options(opt, &baud, &parity, &bits, &flow); in ingenic_early_console_setup() 108 if (dev->baud) in ingenic_early_console_setup() 109 baud = dev->baud; in ingenic_early_console_setup() 110 divisor = DIV_ROUND_CLOSEST(port->uartclk, 16 * baud); in ingenic_early_console_setup() 264 data->clk_baud = devm_clk_get(&pdev->dev, "baud"); in ingenic_uart_probe() 267 "unable to get baud clock\n"); in ingenic_uart_probe() 277 dev_err(&pdev->dev, "could not enable baud clock: %d\n", err); in ingenic_uart_probe()
|
/Linux-v5.15/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 …]
|
/Linux-v5.15/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 …]
|
/Linux-v5.15/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()
|
/Linux-v5.15/Documentation/driver-api/serial/ |
D | driver.rst | 424 uart_update_timeout(port,cflag,baud) 426 number of bits, parity, stop bits and baud rate. 433 Return the numeric baud rate for the specified termios, taking 434 account of the special 38400 baud "kludge". The B0 baud rate 435 is mapped to 9600 baud. 437 If the baud rate is not within min..max, then if old is non-NULL, 438 the original baud rate will be tried. If that exceeds the 439 min..max constraint, 9600 baud will be returned. termios will 440 be updated to the baud rate in use. 442 Note: min..max must always allow 9600 baud to be selected. [all …]
|
/Linux-v5.15/arch/mips/sni/ |
D | setup.c | 63 char *baud; in sni_console_setup() local 74 baud = prom_getenv("lbaud"); in sni_console_setup() 78 baud = prom_getenv("rbaud"); in sni_console_setup() 81 if (baud) in sni_console_setup() 82 strcpy(options, baud); in sni_console_setup() 85 baud ? options : NULL); in sni_console_setup() 88 baud ? options : NULL); in sni_console_setup()
|
/Linux-v5.15/drivers/tty/ |
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 85 * Convert termios baud rate data into a speed. This should be called 180 * Our goal is to find a close match to the standard baud rate in tty_termios_encode_baud_rate() 181 * returned. Walk the baud rate table and if we get a very close in tty_termios_encode_baud_rate() 228 * tty_encode_baud_rate - set baud rate of the tty 230 * @ibaud: input baud rate 231 * @obaud: output baud rate
|
/Linux-v5.15/arch/arm/boot/dts/ |
D | meson6.dtsi | 57 clock-names = "xtal", "pclk", "baud"; 62 clock-names = "xtal", "pclk", "baud"; 67 clock-names = "xtal", "pclk", "baud"; 72 clock-names = "xtal", "pclk", "baud";
|