|  | # Copyright (c) 2025, Nordic Semiconductor ASA | 
|  | # SPDX-License-Identifier: Apache-2.0 | 
|  |  | 
|  | config UART_NATIVE_PTY | 
|  | bool "PTY based UART driver for native_sim" | 
|  | default y | 
|  | depends on (DT_HAS_ZEPHYR_NATIVE_PTY_UART_ENABLED || DT_HAS_ZEPHYR_NATIVE_POSIX_UART_ENABLED) | 
|  | select SERIAL_HAS_DRIVER | 
|  | select SERIAL_SUPPORT_ASYNC | 
|  | select SERIAL_SUPPORT_INTERRUPT | 
|  | help | 
|  | This enables a PTY based UART driver for the POSIX ARCH with up to 2 UARTs. | 
|  | For the first UART port, the driver can be configured | 
|  | to either connect to the terminal from which the executable was run, or into | 
|  | one dedicated pseudoterminal for that UART. | 
|  |  | 
|  | config UART_NATIVE_POSIX | 
|  | bool "UART driver for native_sim (deprecated)" | 
|  | select SERIAL_HAS_DRIVER | 
|  | select DEPRECATED | 
|  | select UART_NATIVE_PTY | 
|  | help | 
|  | Deprecated option, use UART_NATIVE_PTY instead | 
|  |  | 
|  | if (UART_NATIVE_PTY || UART_NATIVE_POSIX) | 
|  |  | 
|  | choice UART_NATIVE_PTY_0 | 
|  | prompt "Native PTY Port 0 connection" | 
|  | default UART_NATIVE_PTY_0_ON_STDINOUT if NATIVE_UART_0_ON_STDINOUT | 
|  | default UART_NATIVE_PTY_0_ON_OWN_PTY | 
|  |  | 
|  | config UART_NATIVE_PTY_0_ON_OWN_PTY | 
|  | bool "Connect the first PTY UART to its own pseudo terminal" | 
|  | help | 
|  | Connect this UART to its own pseudoterminal. This is the preferred | 
|  | option for users who want to use Zephyr's shell. | 
|  | Moreover this option does not conflict with any other native | 
|  | backend which may use the invoking shell standard input/output. | 
|  | Note it can be overridden from command line | 
|  |  | 
|  | config UART_NATIVE_PTY_0_ON_STDINOUT | 
|  | bool "Connect the first PTY UART to the invoking shell stdin/stdout" | 
|  | help | 
|  | Connect this UART to the stdin & stdout of the calling shell/terminal | 
|  | which invoked the native executable. This is good enough for | 
|  | automated testing, or when feeding from a file/pipe. | 
|  | Note that other, non UART messages, will also be printed to the | 
|  | terminal. | 
|  | It is strongly discouraged to try to use this option with the new | 
|  | shell interactively, as the default terminal configuration is NOT | 
|  | appropriate for interactive use. | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | choice NATIVE_UART_0 | 
|  | prompt "Native UART Port 0 connection (deprecated)" | 
|  | default NATIVE_UART_0_ON_OWN_PTY | 
|  |  | 
|  | config NATIVE_UART_0_ON_OWN_PTY | 
|  | bool "Connect the UART to its own pseudo terminal (deprecated)" | 
|  | help | 
|  | Deprecated, use UART_NATIVE_PTY_0_ON_OWN_PTY instead. | 
|  |  | 
|  | config NATIVE_UART_0_ON_STDINOUT | 
|  | bool "Connect the UART to the invoking shell stdin/stdout (deprecated)" | 
|  | select DEPRECATED | 
|  | help | 
|  | Deprecated, use UART_NATIVE_PTY_0_ON_STDINOUT instead. | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | config UART_NATIVE_WAIT_PTS_READY_ENABLE | 
|  | bool "Support waiting for pseudo terminal client readiness (deprecated)" | 
|  | select DEPRECATED | 
|  | help | 
|  | This option is deprecated and does not do anything anymore. (The command line | 
|  | option --wait_uart is always available). | 
|  |  | 
|  | config UART_NATIVE_POSIX_PORT_1_ENABLE | 
|  | bool "Second UART port (deprecated)" | 
|  | select DEPRECATED | 
|  | help | 
|  | This option does not do anything anymore. Use DTS to instantiate as many | 
|  | "zephyr,native-pty-uart" compatible nodes as you want. | 
|  |  | 
|  | config UART_NATIVE_PTY_AUTOATTACH_DEFAULT_CMD | 
|  | string "Default command to attach a PTY UART to a new terminal" | 
|  | default NATIVE_UART_AUTOATTACH_DEFAULT_CMD | 
|  | help | 
|  | If the native executable is called with the --attach_uart | 
|  | command line option, this will be the default command which will be | 
|  | run to attach a new terminal to the 1st UART. | 
|  | Note that this command must have one, and only one, '%s' as | 
|  | placeholder for the pseudoterminal device name (e.g. /dev/pts/35) | 
|  | This is only applicable if the UART_0 is configured to use its own | 
|  | PTY with NATIVE_UART_0_ON_OWN_PTY. | 
|  | The 2nd UART will not be affected by this option. | 
|  | If you are using GNOME, then you can use this command string | 
|  | 'gnome-terminal -- screen %s' | 
|  |  | 
|  | config NATIVE_UART_AUTOATTACH_DEFAULT_CMD | 
|  | string "Default command to attach the UART to a new terminal (deprecated)" | 
|  | default "xterm -e screen %s &" | 
|  | help | 
|  | Deprecated. Use UART_NATIVE_PTY_AUTOATTACH_DEFAULT_CMD instead | 
|  |  | 
|  | endif # UART_NATIVE_PTY || UART_NATIVE_POSIX |