/Linux-v6.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 …]
|
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-v6.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 …]
|
/Linux-v6.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 …]
|
/Linux-v6.6/drivers/usb/serial/ |
D | pl2303.c | 569 * Returns the nearest supported baud rate that can be set directly without 572 static speed_t pl2303_get_supported_baud_rate(speed_t baud) in pl2303_get_supported_baud_rate() argument 583 if (baud_sup[i] > baud) in pl2303_get_supported_baud_rate() 588 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 589 else if (i > 0 && (baud_sup[i] - baud) > (baud - baud_sup[i - 1])) in pl2303_get_supported_baud_rate() 590 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 592 baud = baud_sup[i]; in pl2303_get_supported_baud_rate() 594 return baud; in pl2303_get_supported_baud_rate() 598 * NOTE: If unsupported baud rates are set directly, the PL2303 seems to 599 * use 9600 baud. [all …]
|
/Linux-v6.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 …]
|
/Linux-v6.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 …]
|
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 …]
|
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() 665 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 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) */ 621 * transmitted at 9600 baud during shutdown (regardless of the in sunsab_shutdown() 638 * The formula is: Baud = SAB_BASE_BAUD / ((N + 1) * (1 << M)), 643 static void calc_ebrg(int baud, int *n_ret, int *m_ret) in calc_ebrg() argument 647 if (baud == 0) { in calc_ebrg() 658 n = (SAB_BASE_BAUD * 10) / baud; in calc_ebrg() 679 unsigned int iflag, unsigned int baud, in sunsab_convert_to_sab() argument 708 calc_ebrg(baud, &n, &m); in sunsab_convert_to_sab() [all …]
|
D | arc_uart.c | 97 unsigned long baud; member 353 unsigned int baud, uartl, uarth, hw_val; in arc_serial_set_termios() local 357 * Use the generic handler so that any specially encoded baud rates in arc_serial_set_termios() 359 * Max Baud I suppose will not be more than current 115K * 4 in arc_serial_set_termios() 360 * Formula for ARC UART is: hw-val = ((CLK/(BAUD*4)) -1) in arc_serial_set_termios() 363 baud = uart_get_baud_rate(port, new, old, 0, 460800); in arc_serial_set_termios() 365 hw_val = port->uartclk / (uart->baud * 4) - 1; in arc_serial_set_termios() 390 tty_termios_encode_baud_rate(new, baud, baud); in arc_serial_set_termios() 392 uart_update_timeout(port, new->c_cflag, baud); in arc_serial_set_termios() 481 int baud = 115200; in arc_serial_console_setup() local [all …]
|
/Linux-v6.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 …]
|
/Linux-v6.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 …]
|
/Linux-v6.6/drivers/tty/serial/8250/ |
D | 8250_mtk.c | 312 unsigned int baud, quot, fraction; in mtk8250_set_termios() local 328 * Store the requested baud rate before calling the generic 8250 in mtk8250_set_termios() 330 * no higher than (uartclk / 16) so the baud will be clamped if it in mtk8250_set_termios() 332 * higher than that, therefore we'll get original baud rate back in mtk8250_set_termios() 336 baud = tty_termios_baud_rate(termios); in mtk8250_set_termios() 340 tty_termios_encode_baud_rate(termios, baud, baud); in mtk8250_set_termios() 355 baud = uart_get_baud_rate(port, termios, old, in mtk8250_set_termios() 359 if (baud < 115200) { in mtk8250_set_termios() 361 quot = uart_get_divisor(port, baud); in mtk8250_set_termios() 364 quot = DIV_ROUND_UP(port->uartclk, 256 * baud); in mtk8250_set_termios() [all …]
|
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()
|
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 669 dev_err(dev, "Error selecting BAUD MUX clock for %u\n", in init_real_clk_rates() 680 u32 baud) in set_clock_mux() argument 695 /* If the Baud Mux Clock was not specified, just return */ in set_clock_mux() 699 /* Find the closest match for specified baud */ in set_clock_mux() 704 quot = DIV_ROUND_CLOSEST(rate, baud); in set_clock_mux() 710 hires_baud = (u64)baud * 10000; in set_clock_mux() 720 percent = (unsigned long)DIV_ROUND_CLOSEST_ULL(hires_err, baud); in set_clock_mux() 722 "Baud rate: %u, MUX Clk: %u, Error: %u.%u%%\n", in set_clock_mux() [all …]
|
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, quot_frac); in dw8250_set_divisor()
|
/Linux-v6.6/Documentation/misc-devices/ |
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-v6.6/drivers/clk/at91/ |
D | sama7g5.c | 44 * @PLL_ID_BAUD: Baud PLL identifier 597 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 605 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 613 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 621 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 629 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 637 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 645 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 653 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, 661 .pp = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(BAUD, DIV0), }, [all …]
|
/Linux-v6.6/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 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-v6.6/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-v6.6/Documentation/devicetree/bindings/sound/ |
D | serial-midi.yaml | 19 Can only be set to use standard baud rates corresponding to supported rates of the 20 parent serial device. If the standard MIDI baud of 31.25 kBaud is needed 22 configure the clocks of the parent serial device so that a requested baud of 38.4 kBaud 23 results in the standard MIDI baud rate, and set the 'current-speed' property to 38400 (default)
|
/Linux-v6.6/arch/arm/boot/dts/amlogic/ |
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";
|