| /linux-6.15/drivers/tty/serial/8250/ |
| H A D | 8250_dwlib.c | 143 if (rs485->flags & SER_RS485_ADDRB) { in dw8250_rs485_set_addr() 148 if (rs485->flags & SER_RS485_ADDR_RECV) { in dw8250_rs485_set_addr() 149 u32 delta = p->rs485.flags ^ rs485->flags; in dw8250_rs485_set_addr() 155 if (unlikely(&p->rs485 == rs485)) in dw8250_rs485_set_addr() 156 delta = rs485->flags; in dw8250_rs485_set_addr() 159 (p->rs485.addr_recv != rs485->addr_recv)) in dw8250_rs485_set_addr() 160 dw8250_update_rar(p, rs485->addr_recv); in dw8250_rs485_set_addr() 165 if (rs485->flags & SER_RS485_ADDR_DEST) { in dw8250_rs485_set_addr() 181 struct serial_rs485 *rs485) in dw8250_rs485_config() argument 188 if (rs485->flags & SER_RS485_ENABLED) { in dw8250_rs485_config() [all …]
|
| H A D | 8250_lpc18xx.c | 36 struct serial_rs485 *rs485) in lpc18xx_rs485_config() argument 43 if (rs485->flags & SER_RS485_ENABLED) { in lpc18xx_rs485_config() 47 if (rs485->flags & SER_RS485_RTS_ON_SEND) in lpc18xx_rs485_config() 51 if (rs485->delay_rts_after_send) { in lpc18xx_rs485_config() 53 rs485_dly_reg = DIV_ROUND_UP(rs485->delay_rts_after_send in lpc18xx_rs485_config() 60 rs485->delay_rts_after_send = (rs485_dly_reg * MSEC_PER_SEC) in lpc18xx_rs485_config()
|
| H A D | 8250_fintek.c | 198 struct serial_rs485 *rs485) in fintek_8250_rs485_config() argument 207 if (rs485->flags & SER_RS485_ENABLED) { in fintek_8250_rs485_config() 209 if (!(rs485->flags & SER_RS485_RTS_ON_SEND) == in fintek_8250_rs485_config() 210 !(rs485->flags & SER_RS485_RTS_AFTER_SEND)) in fintek_8250_rs485_config() 215 if (rs485->delay_rts_before_send) { in fintek_8250_rs485_config() 216 rs485->delay_rts_before_send = 1; in fintek_8250_rs485_config() 220 if (rs485->delay_rts_after_send) { in fintek_8250_rs485_config() 221 rs485->delay_rts_after_send = 1; in fintek_8250_rs485_config() 225 if (rs485->flags & SER_RS485_RTS_ON_SEND) in fintek_8250_rs485_config()
|
| H A D | 8250_bcm2835aux.c | 51 if (!(up->port.rs485.flags & SER_RS485_RX_DURING_TX)) { in bcm2835aux_rs485_start_tx() 62 if (up->port.rs485.flags & SER_RS485_RTS_ON_SEND) in bcm2835aux_rs485_start_tx() 70 if (up->port.rs485.flags & SER_RS485_RTS_AFTER_SEND) in bcm2835aux_rs485_stop_tx() 75 if (!(up->port.rs485.flags & SER_RS485_RX_DURING_TX)) { in bcm2835aux_rs485_stop_tx()
|
| H A D | 8250_exar.c | 230 struct serial_rs485 *rs485); 396 struct serial_rs485 *rs485) in generic_rs485_config() argument 798 struct serial_rs485 *rs485) in cti_rs485_config_mpio_tristate() argument 803 ret = generic_rs485_config(port, termios, rs485); in cti_rs485_config_mpio_tristate() 1194 struct serial_rs485 *rs485) in sealevel_rs485_config() argument 1202 ret = generic_rs485_config(port, termios, rs485); in sealevel_rs485_config() 1206 if (!(rs485->flags & SER_RS485_ENABLED)) in sealevel_rs485_config() 1240 struct serial_rs485 *rs485) in iot2040_rs485_config() argument 1248 if (rs485->flags & SER_RS485_RX_DURING_TX) in iot2040_rs485_config() 1253 if (rs485->flags & SER_RS485_TERMINATE_BUS) in iot2040_rs485_config() [all …]
|
| H A D | 8250_ni.c | 103 struct serial_rs485 *rs485) in ni16550_rs485_config() argument 111 if ((rs485->flags & SER_RS485_MODE_RS422) || in ni16550_rs485_config() 112 !(rs485->flags & SER_RS485_ENABLED)) { in ni16550_rs485_config() 201 port->rs485.flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND; in ni16550_rs485_setup()
|
| /linux-6.15/Documentation/devicetree/bindings/serial/ |
| H A D | rs485.yaml | 4 $id: http://devicetree.org/schemas/serial/rs485.yaml# 17 rs485-rts-delay: 31 rs485-rts-active-high: 35 rs485-rts-active-low: 39 rs485-rx-active-high: 44 linux,rs485-enabled-at-boot-time: 45 description: enables the rs485 feature at boot time. It can be disabled 49 rs485-rx-during-tx: 53 rs485-term-gpios: 57 rs485-rx-during-tx-gpios: [all …]
|
| /linux-6.15/arch/arm/boot/dts/microchip/ |
| H A D | aks-cdu.dts | 32 linux,rs485-enabled-at-boot-time; 33 rs485-rts-delay = <0 0>; 38 linux,rs485-enabled-at-boot-time; 39 rs485-rts-delay = <0 0>; 44 linux,rs485-enabled-at-boot-time; 45 rs485-rts-delay = <0 0>;
|
| /linux-6.15/drivers/usb/serial/ |
| H A D | xr_serial.c | 241 struct serial_rs485 rs485; member 828 memset(rs485, 0, sizeof(*rs485)); in xr_sanitize_serial_rs485() 841 rs485->delay_rts_before_send = 0; in xr_sanitize_serial_rs485() 842 rs485->delay_rts_after_send = 0; in xr_sanitize_serial_rs485() 843 memset(rs485->padding, 0, sizeof(rs485->padding)); in xr_sanitize_serial_rs485() 853 if (copy_to_user(argp, &data->rs485, sizeof(data->rs485))) { in xr_get_rs485_config() 867 struct serial_rs485 rs485; in xr_set_rs485_config() local 869 if (copy_from_user(&rs485, argp, sizeof(rs485))) in xr_set_rs485_config() 871 xr_sanitize_serial_rs485(&rs485); in xr_set_rs485_config() 874 data->rs485 = rs485; in xr_set_rs485_config() [all …]
|
| /linux-6.15/drivers/tty/serial/ |
| H A D | serial_core.c | 1308 u32 flags = rs485->flags; in uart_check_rs485_flags() 1326 if (!(rs485->flags & SER_RS485_ADDR_RECV) && rs485->addr_recv) in uart_check_rs485_flags() 1328 if (!(rs485->flags & SER_RS485_ADDR_DEST) && rs485->addr_dest) in uart_check_rs485_flags() 1371 memset(rs485, 0, sizeof(*rs485)); in uart_sanitize_serial_rs485() 1406 memset(rs485->padding0, 0, sizeof(rs485->padding0)); in uart_sanitize_serial_rs485() 1407 memset(rs485->padding1, 0, sizeof(rs485->padding1)); in uart_sanitize_serial_rs485() 1432 struct serial_rs485 *rs485 = &port->rs485; in uart_rs485_config() local 1447 memset(rs485, 0, sizeof(*rs485)); in uart_rs485_config() 1463 aux = port->rs485; in uart_get_rs485_config() 1495 port->rs485 = rs485; in uart_set_rs485_config() [all …]
|
| H A D | omap-serial.c | 285 if (port->rs485.flags & SER_RS485_ENABLED) { in serial_omap_stop_tx() 299 if (port->rs485.delay_rts_after_send > 0) in serial_omap_stop_tx() 301 port->rs485.delay_rts_after_send); in serial_omap_stop_tx() 367 if (port->rs485.flags & SER_RS485_ENABLED) { in serial_omap_start_tx() 376 if (port->rs485.delay_rts_before_send > 0) in serial_omap_start_tx() 377 mdelay(port->rs485.delay_rts_before_send); in serial_omap_start_tx() 381 if ((port->rs485.flags & SER_RS485_ENABLED) && in serial_omap_start_tx() 1295 struct serial_rs485 *rs485) in serial_omap_config_rs485() argument 1307 val = (rs485->flags & SER_RS485_ENABLED) ? in serial_omap_config_rs485() 1309 val = (rs485->flags & val) ? 1 : 0; in serial_omap_config_rs485() [all …]
|
| H A D | imx.c | 440 if (port->rs485.flags & SER_RS485_ENABLED) { in imx_uart_stop_tx() 444 if (port->rs485.delay_rts_after_send > 0) { in imx_uart_stop_tx() 446 port->rs485.delay_rts_after_send); in imx_uart_stop_tx() 497 if (port->rs485.flags & SER_RS485_ENABLED && in imx_uart_stop_rx_with_loopback_ctrl() 688 if (port->rs485.flags & SER_RS485_ENABLED) { in imx_uart_start_tx() 708 if (port->rs485.delay_rts_before_send > 0) { in imx_uart_start_tx() 710 port->rs485.delay_rts_before_send); in imx_uart_start_tx() 1634 if (port->rs485.flags & SER_RS485_ENABLED && in imx_uart_shutdown() 1674 port->rs485.delay_rts_after_send : 0; in imx_uart_shutdown() 1689 if (port->rs485.flags & SER_RS485_ENABLED) { in imx_uart_shutdown() [all …]
|
| H A D | max310x.c | 1009 delay = (one->port.rs485.delay_rts_before_send << 4) | in max310x_rs_proc() 1010 one->port.rs485.delay_rts_after_send; in max310x_rs_proc() 1013 if (one->port.rs485.flags & SER_RS485_ENABLED) { in max310x_rs_proc() 1016 if (!(one->port.rs485.flags & SER_RS485_RX_DURING_TX)) in max310x_rs_proc() 1027 struct serial_rs485 *rs485) in max310x_rs485_config() argument 1031 if ((rs485->delay_rts_before_send > 0x0f) || in max310x_rs485_config() 1032 (rs485->delay_rts_after_send > 0x0f)) in max310x_rs485_config() 1035 port->rs485 = *rs485; in max310x_rs485_config() 1060 clamp(port->rs485.delay_rts_after_send, 0U, 15U); in max310x_startup() 1063 if (port->rs485.flags & SER_RS485_ENABLED) { in max310x_startup() [all …]
|
| /linux-6.15/arch/arm/boot/dts/nxp/mxs/ |
| H A D | imx28-duckbill-2-485.dts | 15 rs485-red { 16 label = "duckbill:red:rs485"; 20 rs485-green { 21 label = "duckbill:green:rs485";
|
| /linux-6.15/arch/arm/boot/dts/ti/omap/ |
| H A D | am335x-nano.dts | 171 rs485-rts-active-high; 172 rs485-rx-during-tx; 173 rs485-rts-delay = <1 1>; 182 rs485-rts-active-high; 183 rs485-rts-delay = <1 1>; 191 rs485-rts-active-high; 192 rs485-rx-during-tx; 193 rs485-rts-delay = <1 1>; 202 rs485-rts-active-high; 203 rs485-rx-during-tx; [all …]
|
| /linux-6.15/arch/arm64/boot/dts/freescale/ |
| H A D | imx8mm-venice-gw72xx-0x-rs485.dtso | 22 rs485-en-hog { 29 rs485-hd-hog { 41 linux,rs485-enabled-at-boot-time;
|
| H A D | imx8mm-venice-gw73xx-0x-rs422.dtso | 22 rs485-en-hog { 29 rs485-hd-hog { 41 linux,rs485-enabled-at-boot-time;
|
| H A D | imx8mm-venice-gw73xx-0x-rs485.dtso | 22 rs485-en-hog { 29 rs485-hd-hog { 41 linux,rs485-enabled-at-boot-time;
|
| H A D | imx8mm-venice-gw72xx-0x-rs422.dtso | 22 rs485-en-hog { 29 rs485-hd-hog { 41 linux,rs485-enabled-at-boot-time;
|
| H A D | imx8mp-aristainetos3-proton2s.dts | 149 linux,rs485-enabled-at-boot-time; 150 rs485-rts-active-low; 151 rs485-rts-delay = <0 0>;
|
| H A D | imx8mm-verdin-dev.dtsi | 138 linux,rs485-enabled-at-boot-time; 139 rs485-rts-active-low; 140 rs485-rx-during-tx;
|
| H A D | imx8mm-phygate-tauri-l-rs232-rs485.dtso | 22 uart4-rs485-en-hog { 46 linux,rs485-enabled-at-boot-time;
|
| H A D | imx8mn-rve-gateway.dts | 95 linux,rs485-enabled-at-boot-time; 96 rs485-rts-active-low; 124 linux,rs485-enabled-at-boot-time; 125 rs485-rts-active-low;
|
| /linux-6.15/arch/arm/boot/dts/nxp/imx/ |
| H A D | imx6qdl-dhcom-drc02.dtsi | 30 rs485-rx-en-hog { 33 line-name = "rs485-rx-en"; 92 linux,rs485-enabled-at-boot-time; 122 * P: uart5 rs485-tx-en 123 * Q: uart5 rs485-rx-en
|
| H A D | imx6ull-dhcom-drc02.dts | 59 rs485-rx-en-hog { 62 line-name = "rs485-rx-en"; 97 linux,rs485-enabled-at-boot-time;
|