# 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