blob: cc746ff9770e5bd0807a8f0c776a5ecf9ed6ef42 [file] [log] [blame]
# 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 UART_USE_RUNTIME_CONFIGURE
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_QUECTEL_BG96_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_BG96_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 "Static APN"
default "internet"
help
If left empty the driver will wait for the application to call
cellular_set_apn() before it proceeds to the dial phase.
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
config MODEM_CELLULAR_RESET_POWER_ON_DELAY_MS
int "Delay between de-asserting the reset pin and pulsing the power pin"
default 500
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