zephyr/subsys/modem/Kconfig
Bjarki Arge Andreasen b4cf54b8c3 subsys/modem: Add modem modules
This PR adds the following modem modules to the subsys/modem
folder:

- chat: Light implementation of the Linux chat program, used to
        send and receive text based commands statically created
        scripts.

- cmux: Implementation of the CMUX protocol
- pipe: Thread-safe async data-in/data-out binding layer between
        modem  modules.

- ppp: Implementation of the PPP protocol, binding the Zephyr PPP
       L2 stack with the data-in/data-out pipe.

These modules use the abstract pipes to communicate between each
other. To bind them with the hardware, the following backends
are provided:

- TTY: modem pipe <-> POSIX TTY file
- UART: modem pipe <-> UART, async and ISR APIs supported

The backends are used to abstract away the physical layer, UART,
TTY, IPC, I2C, SPI etc, to a modem modules friendly pipe.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-08-30 13:48:51 +02:00

55 lines
901 B
Plaintext

# Copyright (c) 2023 Trackunit Corporation
# SPDX-License-Identifier: Apache-2.0
menuconfig MODEM_MODULES
bool "Modem modules"
if MODEM_MODULES
config MODEM_CHAT
bool "Modem chat module"
select RING_BUFFER
select MODEM_PIPE
if MODEM_CHAT
config MODEM_CHAT_LOG_BUFFER
int "Modem chat log buffer size"
default 128
endif
config MODEM_CMUX
bool "Modem CMUX module"
select MODEM_PIPE
select RING_BUFFER
select EVENTS
select CRC
config MODEM_PIPE
bool "Modem pipe module"
config MODEM_PPP
bool "Modem PPP module"
depends on NET_L2_PPP
select MODEM_PIPE
select RING_BUFFER
select CRC
if MODEM_PPP
config MODEM_PPP_NET_BUF_FRAG_SIZE
int "Network buffer fragment size"
default NET_BUF_DATA_SIZE if NET_BUF_FIXED_DATA_SIZE
default 128
endif
module = MODEM_MODULES
module-str = modem_modules
source "subsys/logging/Kconfig.template.log_config"
rsource "backends/Kconfig"
endif