zephyr/drivers/modem/Kconfig.cellular
Bjarki Arge Andreasen 638bf6b03d modem: cmux: Decouple modem cmux and cellular driver
The modem modules cmux module is currently directly coupled to the
presence of specific modems, rather than being selected by drivers
for whatever hardware wants to request the default MTU of 127 bytes.

This commit the makes the device drivers (for now, modem_cellular)
select the symbol, thus decoupling the modem modules from the
presence of any specific device.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-07-23 17:31:22 +01:00

97 lines
2.9 KiB
Plaintext

# Copyright (c) 2023 Bjarki Arge Andreasen
# SPDX-License-Identifier: Apache-2.0
config MODEM_CELLULAR
bool "Generic cellular modem support"
select MODEM_MODULES
select MODEM_PPP
select MODEM_CMUX
select MODEM_CHAT
select MODEM_PIPE
select MODEM_PIPELINK
select MODEM_BACKEND_UART
select RING_BUFFER
select NET_L2_PPP_OPTION_MRU
select NET_L2_PPP_PAP
select NET_L2_PPP_MGMT
depends on (DT_HAS_QUECTEL_BG95_ENABLED || DT_HAS_SIMCOM_A76XX_ENABLED || \
DT_HAS_SIMCOM_SIM7080_ENABLED || DT_HAS_U_BLOX_SARA_R4_ENABLED || \
DT_HAS_U_BLOX_SARA_R5_ENABLED || DT_HAS_SWIR_HL7800_ENABLED || \
DT_HAS_TELIT_ME910G1_ENABLED || DT_HAS_TELIT_ME310G1_ENABLED || \
DT_HAS_QUECTEL_EG25_G_ENABLED || DT_HAS_NORDIC_NRF91_SLM_ENABLED || \
DT_HAS_SQN_GM02S_ENABLED || DT_HAS_U_BLOX_LARA_R6_ENABLED || \
DT_HAS_QUECTEL_EG800Q_ENABLED)
select MODEM_CMUX_DEFAULT_MTU_127 if \
(DT_HAS_QUECTEL_BG95_ENABLED || DT_HAS_QUECTEL_EG25_G_ENABLED || \
DT_HAS_SIMCOM_SIM7080_ENABLED || DT_HAS_U_BLOX_SARA_R4_ENABLED || \
DT_HAS_U_BLOX_SARA_R5_ENABLED || DT_HAS_SWIR_HL7800_ENABLED || \
DT_HAS_TELIT_ME910G1_ENABLED || DT_HAS_TELIT_ME310G1_ENABLED || \
DT_HAS_SQN_GM02S_ENABLED || DT_HAS_QUECTEL_EG800Q_ENABLED || \
DT_HAS_SIMCOM_A76XX_ENABLED)
help
This driver uses the generic 3gpp AT commands, along
with the standard protocols CMUX and PPP, to configure
cellular modems to establish a point-to-point
network connection. It is a template for tailored
drivers for the ublox, quectel and other modems, which
include power management and more complex device specific
features.
if MODEM_CELLULAR
config MODEM_CELLULAR_APN
string "APN"
default "internet"
config MODEM_CELLULAR_PERIODIC_SCRIPT_MS
int "Periodic script interval in milliseconds"
default 2000
config MODEM_CELLULAR_UART_BUFFER_SIZES
int "The UART receive and transmit buffer sizes in bytes."
default 512
config MODEM_CELLULAR_CHAT_BUFFER_SIZE
int "The size of the buffer used for the chat scripts in bytes."
default 128
config MODEM_CELLULAR_USER_PIPE_BUFFER_SIZES
int "The size of the buffers used for each user pipe in bytes."
default 128
config MODEM_CELLULAR_NEW_BAUDRATE
int "New baudrate to configure modem to, if supported"
range 9600 4000000
default 3000000 if DT_HAS_U_BLOX_LARA_R6_ENABLED
default 115200
config MODEM_CELLULAR_NEW_BAUDRATE_DELAY
int "Time modem takes to change baudrate, in milliseconds"
range 0 1000
default 100 if DT_HAS_U_BLOX_LARA_R6_ENABLED
default 300
if DT_HAS_U_BLOX_LARA_R6_ENABLED
choice MODEM_CELLULAR_RAT
prompt "Which Radio Access Technology to use"
default MODEM_CELLULAR_RAT_4G
config MODEM_CELLULAR_RAT_4G
bool "Use only 4G"
config MODEM_CELLULAR_RAT_4G_3G
bool "Use 4G & 3G"
config MODEM_CELLULAR_RAT_4G_3G_2G
bool "Use 4G, 3G & 2G"
endchoice
config MODEM_CELLULAR_CLEAR_FORBIDDEN
bool "Clear forbidden networks from SIM-card on boot"
endif #DT_HAS_U_BLOX_LARA_R6_ENABLED
endif #MODEM_CELLULAR