Home
last modified time | relevance | path

Searched full:rs485 (Results 1 – 25 of 179) sorted by relevance

12345678

/kernel/linux/linux-6.6/Documentation/devicetree/bindings/serial/
Drs485.yaml4 $id: http://devicetree.org/schemas/serial/rs485.yaml#
7 title: RS485 serial communications
17 rs485-rts-delay:
32 rs485-rts-active-high:
36 rs485-rts-active-low:
40 rs485-rx-active-high:
45 linux,rs485-enabled-at-boot-time:
46 description: enables the rs485 feature at boot time. It can be disabled
50 rs485-rx-during-tx:
54 rs485-term-gpios:
[all …]
/kernel/linux/linux-6.6/drivers/tty/serial/8250/
D8250_dwlib.c17 #define DW_UART_TCR 0xac /* Transceiver Control Register (RS485) */
138 static void dw8250_rs485_set_addr(struct uart_port *p, struct serial_rs485 *rs485, in dw8250_rs485_set_addr() argument
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()
152 * rs485 (param) is equal to uart_port's rs485 only during init 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()
[all …]
D8250_fintek.c50 #define RS485 0xF0 macro
195 struct serial_rs485 *rs485) in fintek_8250_rs485_config() argument
204 if (rs485->flags & SER_RS485_ENABLED) { in fintek_8250_rs485_config()
206 if (!(rs485->flags & SER_RS485_RTS_ON_SEND) == in fintek_8250_rs485_config()
207 !(rs485->flags & SER_RS485_RTS_AFTER_SEND)) in fintek_8250_rs485_config()
212 if (rs485->delay_rts_before_send) { in fintek_8250_rs485_config()
213 rs485->delay_rts_before_send = 1; in fintek_8250_rs485_config()
217 if (rs485->delay_rts_after_send) { in fintek_8250_rs485_config()
218 rs485->delay_rts_after_send = 1; in fintek_8250_rs485_config()
222 if (rs485->flags & SER_RS485_RTS_ON_SEND) in fintek_8250_rs485_config()
[all …]
D8250_lpc18xx.c36 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()
/kernel/linux/linux-5.10/drivers/tty/serial/8250/
D8250_lpc18xx.c36 struct serial_rs485 *rs485) in lpc18xx_rs485_config() argument
43 if (rs485->flags & SER_RS485_ENABLED) in lpc18xx_rs485_config()
44 memset(rs485->padding, 0, sizeof(rs485->padding)); in lpc18xx_rs485_config()
46 memset(rs485, 0, sizeof(*rs485)); in lpc18xx_rs485_config()
48 rs485->flags &= SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | in lpc18xx_rs485_config()
51 if (rs485->flags & SER_RS485_ENABLED) { in lpc18xx_rs485_config()
55 if (rs485->flags & SER_RS485_RTS_ON_SEND) { in lpc18xx_rs485_config()
57 rs485->flags &= ~SER_RS485_RTS_AFTER_SEND; in lpc18xx_rs485_config()
59 rs485->flags |= SER_RS485_RTS_AFTER_SEND; in lpc18xx_rs485_config()
63 if (rs485->delay_rts_after_send) { in lpc18xx_rs485_config()
[all …]
D8250_fintek.c50 #define RS485 0xF0 macro
195 struct serial_rs485 *rs485) in fintek_8250_rs485_config() argument
204 if (rs485->flags & SER_RS485_ENABLED) { in fintek_8250_rs485_config()
206 if (!(rs485->flags & SER_RS485_RTS_ON_SEND) == in fintek_8250_rs485_config()
207 !(rs485->flags & SER_RS485_RTS_AFTER_SEND)) in fintek_8250_rs485_config()
209 memset(rs485->padding, 0, sizeof(rs485->padding)); in fintek_8250_rs485_config()
212 memset(rs485, 0, sizeof(*rs485)); in fintek_8250_rs485_config()
215 rs485->flags &= SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | in fintek_8250_rs485_config()
220 rs485->delay_rts_before_send = 0; in fintek_8250_rs485_config()
221 rs485->delay_rts_after_send = 0; in fintek_8250_rs485_config()
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/serial/
Drs485.yaml4 $id: http://devicetree.org/schemas/serial/rs485.yaml#
7 title: RS485 serial communications Bindings
17 rs485-rts-delay:
32 rs485-rts-active-low:
36 linux,rs485-enabled-at-boot-time:
37 description: enables the rs485 feature at boot time. It can be disabled
41 rs485-rx-during-tx:
45 rs485-term-gpios:
46 description: GPIO pin to enable RS485 bus termination.
Dst,stm32-uart.yaml13 - $ref: rs485.yaml
61 rs485-rts-delay: true
62 rs485-rts-active-low: true
63 linux,rs485-enabled-at-boot-time: true
64 rs485-rx-during-tx: true
94 rs485-rts-active-low;
Domap_serial.txt24 - rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt
25 - rs485-rts-active-high: drive RTS high when sending (default is low).
Dfsl-imx-uart.yaml14 - $ref: "rs485.yaml"
76 rs485-rts-delay: true
77 rs485-rts-active-low: true
78 rs485-rx-during-tx: true
79 linux,rs485-enabled-at-boot-time: true
/kernel/linux/linux-6.6/Documentation/driver-api/serial/
Dserial-rs485.rst2 RS485 Serial Communications
21 half-duplex hardware like an RS485 transceiver or any RS232-connected
32 The Linux kernel provides the struct serial_rs485 to handle RS485
33 communications. This data structure is used to set and configure RS485
36 The device tree can also provide RS485 boot time parameters
41 Any driver for devices capable of working both as RS232 and RS485 should
48 what RS485 features the driver supports for the ``struct uart_port``.
58 From user-level, RS485 configuration can be get/set using the previous
59 ioctls. For instance, to set RS485 you can use the following code::
63 /* Include definition for RS485 ioctls: TIOCGRS485 and TIOCSRS485 */
[all …]
/kernel/linux/linux-5.10/Documentation/driver-api/serial/
Dserial-rs485.rst2 RS485 Serial Communications
21 half-duplex hardware like an RS485 transceiver or any RS232-connected
33 RS485 communications. This data structure is used to set and configure RS485
36 The device tree can also provide RS485 boot time parameters (see [2]
40 Any driver for devices capable of working both as RS232 and RS485 should
49 From user-level, RS485 configuration can be get/set using the previous
50 ioctls. For instance, to set RS485 you can use the following code::
54 /* Include definition for RS485 ioctls: TIOCGRS485 and TIOCSRS485 */
65 /* Enable RS485 mode: */
103 [2] Documentation/devicetree/bindings/serial/rs485.txt
/kernel/linux/linux-5.10/arch/arm/boot/dts/
Daks-cdu.dts32 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>;
/kernel/linux/linux-6.6/arch/arm/boot/dts/microchip/
Daks-cdu.dts32 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>;
/kernel/linux/linux-6.6/include/uapi/linux/
Dserial.h111 * struct serial_rs485 - serial interface for controlling RS485 settings.
112 * @flags: RS485 feature flags.
115 * @addr_recv: Receive filter for RS485 addressing mode
117 * @addr_dest: Destination address for RS485 addressing mode
125 * Serial interface for controlling RS485 settings on chips with suitable
132 * * %SER_RS485_ENABLED - RS485 enabled.
135 * * %SER_RS485_RX_DURING_TX - Full-duplex RS485 line.
137 * * %SER_RS485_ADDRB - Enable RS485 addressing mode.
/kernel/linux/linux-6.6/arch/arm/boot/dts/nxp/mxs/
Dimx28-duckbill-2-485.dts15 rs485-red {
16 label = "duckbill:red:rs485";
20 rs485-green {
21 label = "duckbill:green:rs485";
/kernel/linux/linux-6.6/drivers/usb/serial/
Dxr_serial.c241 struct serial_rs485 rs485; member
651 rs485_enabled = !!(data->rs485.flags & SER_RS485_ENABLED); in xr_set_flow_mode()
655 if (data->rs485.flags & SER_RS485_RTS_ON_SEND) in xr_set_flow_mode()
825 static void xr_sanitize_serial_rs485(struct serial_rs485 *rs485) in xr_sanitize_serial_rs485() argument
827 if (!(rs485->flags & SER_RS485_ENABLED)) { in xr_sanitize_serial_rs485()
828 memset(rs485, 0, sizeof(*rs485)); in xr_sanitize_serial_rs485()
833 if (rs485->flags & SER_RS485_RTS_ON_SEND) in xr_sanitize_serial_rs485()
834 rs485->flags &= ~SER_RS485_RTS_AFTER_SEND; in xr_sanitize_serial_rs485()
836 rs485->flags |= SER_RS485_RTS_AFTER_SEND; in xr_sanitize_serial_rs485()
839 rs485->flags &= SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | in xr_sanitize_serial_rs485()
[all …]
/kernel/linux/linux-6.6/arch/arm/boot/dts/ti/omap/
Dam335x-nano.dts171 rs485-rts-active-high;
172 rs485-rx-during-tx;
173 rs485-rts-delay = <1 1>;
174 linux,rs485-enabled-at-boot-time;
182 rs485-rts-active-high;
183 rs485-rts-delay = <1 1>;
184 linux,rs485-enabled-at-boot-time;
191 rs485-rts-active-high;
192 rs485-rx-during-tx;
193 rs485-rts-delay = <1 1>;
[all …]
/kernel/linux/linux-6.6/drivers/tty/serial/
Dserial_core.c185 if (old != port->mctrl && !(port->rs485.flags & SER_RS485_ENABLED)) in uart_update_mctrl()
1304 static int uart_check_rs485_flags(struct uart_port *port, struct serial_rs485 *rs485) in uart_check_rs485_flags() argument
1306 u32 flags = rs485->flags; in uart_check_rs485_flags()
1319 if (!(rs485->flags & SER_RS485_ADDRB) && in uart_check_rs485_flags()
1320 (rs485->flags & (SER_RS485_ADDR_RECV|SER_RS485_ADDR_DEST))) in uart_check_rs485_flags()
1324 if (!(rs485->flags & SER_RS485_ADDR_RECV) && rs485->addr_recv) in uart_check_rs485_flags()
1326 if (!(rs485->flags & SER_RS485_ADDR_DEST) && rs485->addr_dest) in uart_check_rs485_flags()
1333 struct serial_rs485 *rs485) in uart_sanitize_serial_rs485_delays() argument
1336 if (rs485->delay_rts_before_send) { in uart_sanitize_serial_rs485_delays()
1341 rs485->delay_rts_before_send = 0; in uart_sanitize_serial_rs485_delays()
[all …]
/kernel/linux/linux-6.6/arch/arm/boot/dts/nxp/imx/
Dimx6qdl-dhcom-drc02.dtsi30 rs485-rx-en-hog {
33 line-name = "rs485-rx-en";
85 * On DRC02 this UART is used as RS485 interface and RS485_TX_En is
92 linux,rs485-enabled-at-boot-time;
122 * P: uart5 rs485-tx-en
123 * Q: uart5 rs485-rx-en
Dimx6ull-dhcom-drc02.dts59 rs485-rx-en-hog {
62 line-name = "rs485-rx-en";
94 /* Use UART as RS485 */
97 linux,rs485-enabled-at-boot-time;
/kernel/linux/linux-6.6/arch/arm64/boot/dts/freescale/
Dimx8mm-venice-gw72xx-0x-rs422.dtso5 * GW72xx RS422 (RS485 full duplex):
9 * - UART4_TX is DE for RS485 transmitter
45 linux,rs485-enabled-at-boot-time;
Dimx8mm-venice-gw73xx-0x-rs485.dtso5 * GW73xx RS485 HD:
9 * - UART4_TX is DE for RS485 transmitter
45 linux,rs485-enabled-at-boot-time;
Dimx8mm-venice-gw73xx-0x-rs422.dtso5 * GW73xx RS422 (RS485 full duplex):
9 * - UART4_TX is DE for RS485 transmitter
45 linux,rs485-enabled-at-boot-time;
Dimx8mm-venice-gw72xx-0x-rs485.dtso5 * GW72xx RS485 HD:
9 * - UART4_TX is DE for RS485 transmitter
45 linux,rs485-enabled-at-boot-time;

12345678