/Linux-v5.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 …]
|
D | serial.yaml | 105 The maximum baud rate the device operates at. 109 baud rates. 114 The current baud rate the device operates at. 116 the baud rate of the slave device. 118 * device supports auto-baud 121 * device baud rate is configured by its firmware but there is no
|
/Linux-v5.10/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.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 …]
|
/Linux-v5.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 …]
|
/Linux-v5.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 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 */ 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 …]
|
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 | 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() 670 int baud = 115200; in ar933x_uart_console_setup() local [all …]
|
D | arc_uart.c | 97 unsigned long baud; member 359 unsigned int baud, uartl, uarth, hw_val; in arc_serial_set_termios() local 363 * Use the generic handler so that any specially encoded baud rates in arc_serial_set_termios() 365 * Max Baud I suppose will not be more than current 115K * 4 in arc_serial_set_termios() 366 * Formula for ARC UART is: hw-val = ((CLK/(BAUD*4)) -1) in arc_serial_set_termios() 369 baud = uart_get_baud_rate(port, new, old, 0, 460800); in arc_serial_set_termios() 371 hw_val = port->uartclk / (uart->baud * 4) - 1; in arc_serial_set_termios() 396 tty_termios_encode_baud_rate(new, baud, baud); in arc_serial_set_termios() 398 uart_update_timeout(port, new->c_cflag, baud); in arc_serial_set_termios() 487 int baud = 115200; in arc_serial_console_setup() local [all …]
|
/Linux-v5.10/drivers/usb/serial/ |
D | pl2303.c | 477 * Returns the nearest supported baud rate that can be set directly without 480 static speed_t pl2303_get_supported_baud_rate(speed_t baud) in pl2303_get_supported_baud_rate() argument 491 if (baud_sup[i] > baud) in pl2303_get_supported_baud_rate() 496 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 497 else if (i > 0 && (baud_sup[i] - baud) > (baud - baud_sup[i - 1])) in pl2303_get_supported_baud_rate() 498 baud = baud_sup[i - 1]; in pl2303_get_supported_baud_rate() 500 baud = baud_sup[i]; in pl2303_get_supported_baud_rate() 502 return baud; in pl2303_get_supported_baud_rate() 506 * NOTE: If unsupported baud rates are set directly, the PL2303 seems to 507 * 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 1094 static unsigned short int ftdi_232am_baud_base_to_divisor(int baud, int base); 1095 static unsigned short int ftdi_232am_baud_to_divisor(int baud); 1096 static u32 ftdi_232bm_baud_base_to_divisor(int baud, int base); 1097 static u32 ftdi_232bm_baud_to_divisor(int baud); 1098 static u32 ftdi_2232h_baud_base_to_divisor(int baud, int base); 1099 static u32 ftdi_2232h_baud_to_divisor(int baud); 1146 static unsigned short int ftdi_232am_baud_base_to_divisor(int baud, int base) in ftdi_232am_baud_base_to_divisor() argument 1150 int divisor3 = DIV_ROUND_CLOSEST(base, 2 * baud); in ftdi_232am_baud_base_to_divisor() [all …]
|
/Linux-v5.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 | 294 unsigned int baud, quot, fraction; in mtk8250_set_termios() local 310 * Store the requested baud rate before calling the generic 8250 in mtk8250_set_termios() 312 * no higher than (uartclk / 16) so the baud will be clamped if it in mtk8250_set_termios() 314 * higher than that, therefore we'll get original baud rate back in mtk8250_set_termios() 318 baud = tty_termios_baud_rate(termios); in mtk8250_set_termios() 322 tty_termios_encode_baud_rate(termios, baud, baud); in mtk8250_set_termios() 337 baud = uart_get_baud_rate(port, termios, old, in mtk8250_set_termios() 341 if (baud < 115200) { in mtk8250_set_termios() 343 quot = uart_get_divisor(port, baud); in mtk8250_set_termios() 346 quot = DIV_ROUND_UP(port->uartclk, 256 * baud); in mtk8250_set_termios() [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() 266 data->clk_baud = devm_clk_get(&pdev->dev, "baud"); in ingenic_uart_probe() 269 "unable to get baud clock\n"); in ingenic_uart_probe() 279 dev_err(&pdev->dev, "could not enable baud clock: %d\n", err); in ingenic_uart_probe()
|
/Linux-v5.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 …]
|
/Linux-v5.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 …]
|
/Linux-v5.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()
|
/Linux-v5.10/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.10/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.10/drivers/tty/ |
D | tty_baudrate.c | 14 * Routine which returns the baud rate of the tty 49 * Convert termios baud rate data into a speed. This should be called 84 * Convert termios baud rate data into a speed. This should be called 178 * Our goal is to find a close match to the standard baud rate in tty_termios_encode_baud_rate() 179 * returned. Walk the baud rate table and if we get a very close in tty_termios_encode_baud_rate() 224 * tty_encode_baud_rate - set baud rate of the tty 225 * @ibaud: input baud rate 226 * @obaud: output baud rate
|
/Linux-v5.10/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";
|
/Linux-v5.10/Documentation/devicetree/bindings/clock/ |
D | clock-bindings.txt | 84 clock-names = "baud", "register"; 88 This represents a device with two clock inputs, named "baud" and "register". 89 The baud clock is connected to output 1 of the &osc device, and the register 113 /* UART, using the low frequency oscillator for the baud clock, 121 clock-names = "baud", "register"; 132 * The UART has its baud clock connected the external oscillator and its 154 clock-names = "baud", "register";
|