blob: 615dd5bdf87248dcc269e6b69cb4a5f4d4a7d600 [file] [log] [blame]
# Sierra Wireless HL7800 modem driver options
# Copyright (c) 2020 Laird Connectivity
# SPDX-License-Identifier: Apache-2.0
menuconfig MODEM_HL7800
bool "Sierra Wireless HL7800 modem driver"
select MODEM_RECEIVER
select NET_OFFLOAD
imply GPIO
help
Choose this setting to enable
Sierra Wireless HL7800 LTE-M/NB-IoT modem driver.
if MODEM_HL7800
config MODEM_HL7800_FW_UPDATE
bool "Firmware update"
select FILE_SYSTEM
help
Enable the ability to update the HL7800 via XMODEM
by providing an update file to the update API.
config MODEM_HL7800_RECV_BUF_CNT
int "The number of allocated network buffers"
default 30
config MODEM_HL7800_RECV_BUF_SIZE
int "The size of the network buffers in bytes"
default 128
config MODEM_HL7800_SET_APN_NAME_ON_STARTUP
bool "Set APN name during driver init"
help
If APN doesn't match MODEM_HL7800_APN_NAME on startup,
then it will be set.
if MODEM_HL7800_SET_APN_NAME_ON_STARTUP
config MODEM_HL7800_APN_NAME
string "APN name for establishing network connection"
help
This setting is used in the AT+CGDCONT command to set the APN name
for the PDP context.
endif # MODEM_HL7800_SET_APN_NAME_ON_STARTUP
choice MODEM_HL7800_RAT
bool "Radio Access Technology Mode"
default MODEM_HL7800_RAT_NO_CHANGE
config MODEM_HL7800_RAT_NO_CHANGE
bool "Don't change the RAT"
help
Leave the HL7800 RAT unchanged during modem init.
config MODEM_HL7800_RAT_M1
bool "LTE-M1"
help
Enable LTE Cat-M1 mode during modem init.
config MODEM_HL7800_RAT_NB1
bool "NB-IoT"
help
Enable LTE Cat-NB1 mode during modem init.
endchoice
menuconfig MODEM_HL7800_CONFIGURE_BANDS
bool "Configure modem bands"
default "y"
help
Choose this setting to configure which LTE bands the
HL7800 modem should use at boot time.
if MODEM_HL7800_CONFIGURE_BANDS
config MODEM_HL7800_BAND_1
bool "Band 1 (2000MHz)"
default "y"
help
Enable Band 1 (2000MHz)
config MODEM_HL7800_BAND_2
bool "Band 2 (1900MHz)"
default "y"
help
Enable Band 2 (1900MHz)
config MODEM_HL7800_BAND_3
bool "Band 3 (1800MHz)"
default "y"
help
Enable Band 3 (1800MHz)
config MODEM_HL7800_BAND_4
bool "Band 4 (1700MHz)"
default "y"
help
Enable Band 4 (1700MHz)
config MODEM_HL7800_BAND_5
bool "Band 5 (850MHz)"
default "y"
help
Enable Band 5 (850MHz)
config MODEM_HL7800_BAND_8
bool "Band 8 (900MHz)"
default "y"
help
Enable Band 8 (900MHz)
config MODEM_HL7800_BAND_9
bool "Band 9 (1900MHz)"
help
Enable Band 9 (1900MHz)
config MODEM_HL7800_BAND_10
bool "Band 10 (2100MHz)"
help
Enable Band 10 (2100MHz)
config MODEM_HL7800_BAND_12
bool "Band 12 (700MHz)"
default "y"
help
Enable Band 12 (700MHz)
config MODEM_HL7800_BAND_13
bool "Band 13 (700MHz)"
default "y"
help
Enable Band 13 (700MHz)
config MODEM_HL7800_BAND_14
bool "Band 14 (700MHz)"
help
Enable Band 14 (700MHz)
config MODEM_HL7800_BAND_17
bool "Band 17 (700MHz)"
help
Enable Band 17 (700MHz)
config MODEM_HL7800_BAND_18
bool "Band 18 (800MHz)"
help
Enable Band 18 (800MHz)
config MODEM_HL7800_BAND_19
bool "Band 19 (800MHz)"
help
Enable Band 19 (800MHz)
config MODEM_HL7800_BAND_20
bool "Band 20 (800MHz)"
default "y"
help
Enable Band 20 (800MHz)
config MODEM_HL7800_BAND_25
bool "Band 25 (1900MHz)"
help
Enable Band 25 (1900MHz)
config MODEM_HL7800_BAND_26
bool "Band 26 (800MHz)"
help
Enable Band 26 (800MHz)
config MODEM_HL7800_BAND_27
bool "Band 27 (800MHz)"
help
Enable Band 27 (800MHz)
config MODEM_HL7800_BAND_28
bool "Band 28 (700MHz)"
default "y"
help
Enable Band 28 (700MHz)
config MODEM_HL7800_BAND_66
bool "Band 66 (1800MHz)"
help
Enable Band 66 (1800MHz)
endif # MODEM_HL7800_CONFIGURE_BAND
menuconfig MODEM_HL7800_LOW_POWER_MODE
bool "Low power modes"
help
Choose this setting to enable a low power mode for the HL7800 modem
if MODEM_HL7800_LOW_POWER_MODE
choice
prompt "Low Power Mode"
default MODEM_HL7800_EDRX
config MODEM_HL7800_EDRX
bool "eDRX"
help
Enable LTE eDRX
config MODEM_HL7800_PSM
bool "PSM"
help
Enable Power Save Mode (PSM)
endchoice
if MODEM_HL7800_EDRX
config MODEM_HL7800_EDRX_VALUE
string "Requested eDRX timer"
default "0101"
help
Half a byte in a 4-bit format. The eDRX value refers to bit 4 to 1
of octet 3 of the Extended DRX parameters information element.
Default value is 81.92 seconds.
endif # MODEM_HL7800_EDRX
if MODEM_HL7800_PSM
config MODEM_HL7800_PSM_PERIODIC_TAU
string "Requested extended periodic TAU timer"
default "10000010"
help
Requested extended periodic TAU (tracking area update) value (T3412)
to be allocated to the UE in E-UTRAN. One byte in an 8-bit format.
Default value is 1 minute.
config MODEM_HL7800_PSM_ACTIVE_TIME
string "Requested active time"
default "00001111"
help
Requested Active Time value (T3324) to be allocated to the UE.
One byte in an 8-bit format. Default value is 30 seconds.
endif # MODEM_HL7800_PSM
choice
prompt "Default Sleep Level"
default MODEM_HL7800_SLEEP_LEVEL_HIBERNATE
help
The application can override this setting
config MODEM_HL7800_SLEEP_LEVEL_HIBERNATE
bool "Hibernate"
help
Lowest power consumption
IO state not retained
Application subsystem OFF
config MODEM_HL7800_SLEEP_LEVEL_LITE_HIBERNATE
bool "Lite Hibernate"
help
IO state retained
Application subsystem OFF
config MODEM_HL7800_SLEEP_LEVEL_SLEEP
bool "Sleep"
help
Highest power consumption of modem sleep states
IO state retained
Application subsystem ON
Allows sockets to remain open
endchoice
config MODEM_HL7800_SLEEP_DELAY_AFTER_REBOOT
int "Delay in seconds before sleep after reboot"
default 10
endif # MODEM_HL7800_LOW_POWER_MODE
config MODEM_HL7800_RX_STACK_SIZE
int "Size of the stack for the HL7800 modem driver RX thread"
default 1536 if MODEM_HL7800_POLTE
default 1280
help
This stack is used by the HL7800 RX thread.
config MODEM_HL7800_RX_WORKQ_STACK_SIZE
int "Size of the stack for the HL7800 modem driver work queue"
default 2048
help
This stack is used by the work queue to pass off net_pkt data
to the rest of the network stack, letting the rx thread continue
processing data.
config MODEM_HL7800_INIT_PRIORITY
int "HL7800 driver init priority"
default 80
help
HL7800 device driver initialization priority.
Do not mess with it unless you know what you are doing.
Note that the priority needs to be lower than the net stack
so that it can start before the networking sub-system.
config MODEM_HL7800_GET_IP_ADDR_INFO_ATTEMPTS
int "Number of attempts to get IP address info during init"
default 4
choice
prompt "Modem Boot Type"
default MODEM_HL7800_BOOT_NORMAL
config MODEM_HL7800_BOOT_NORMAL
bool "No Delay"
config MODEM_HL7800_BOOT_DELAY
bool "Delay secondary initialization of driver and network attach"
help
When true the application must call mdm_hl7800_reset.
This mode delays the validity of modem info.
config MODEM_HL7800_BOOT_IN_AIRPLANE_MODE
bool "Enter airplane mode during init"
help
mdm_hl7800_set_functionality must be used by app to exit
airplane mode.
endchoice
config MODEM_HL7800_GPS
bool "GPS command and handlers"
config MODEM_HL7800_USE_GLONASS
bool "Use GLONASS in addition to GPS"
depends on MODEM_HL7800_GPS
config MODEM_HL7800_POLTE
bool "PoLTE commands and handlers"
choice
prompt "IP Address family"
default MODEM_HL7800_ADDRESS_FAMILY_IPV4V6
help
The address family for IP connections.
config MODEM_HL7800_ADDRESS_FAMILY_IPV4
bool "IPv4"
config MODEM_HL7800_ADDRESS_FAMILY_IPV6
bool "IPv6"
config MODEM_HL7800_ADDRESS_FAMILY_IPV4V6
bool "IPv4v6"
endchoice
config MODEM_HL7800_ALLOW_SLEEP_DELAY_MS
int "Milliseconds to delay before allowing modem to sleep"
default 5000
range 5000 3600000
help
This value should be set larger than the network latency. Otherwise
the modem can go to sleep before having a chance to receive socket data.
config MODEM_HL7800_RSSI_RATE_SECONDS
int "Rate to automatically query RSSI"
default 0 if MODEM_HL7800_LOW_POWER_MODE
default 30
config MODEM_HL7800_CTS_FILTER_US
int "CTS signal filter time (microseconds)"
default 20
help
This value is used to filter the CTS signal from the modem.
CTS pulses shorter than this value will be ignored.
endif # MODEM_HL7800