375 lines
8.1 KiB
Plaintext
375 lines
8.1 KiB
Plaintext
# 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
|