1# Sierra Wireless HL7800 modem driver options 2 3# Copyright (c) 2020 Laird Connectivity 4# SPDX-License-Identifier: Apache-2.0 5 6menuconfig MODEM_HL7800 7 bool "Sierra Wireless HL7800 modem driver" 8 select MODEM_RECEIVER 9 select NET_OFFLOAD 10 imply GPIO 11 help 12 Choose this setting to enable 13 Sierra Wireless HL7800 LTE-M/NB-IoT modem driver. 14 15if MODEM_HL7800 16 17config MODEM_HL7800_FW_UPDATE 18 bool "Firmware update" 19 select FILE_SYSTEM 20 help 21 Enable the ability to update the HL7800 via XMODEM 22 by providing an update file to the update API. 23 24config MODEM_HL7800_RECV_BUF_CNT 25 int "The number of allocated network buffers" 26 default 30 27 28config MODEM_HL7800_RECV_BUF_SIZE 29 int "The size of the network buffers in bytes" 30 default 128 31 32config MODEM_HL7800_SET_APN_NAME_ON_STARTUP 33 bool "Set APN name during driver init" 34 help 35 If APN doesn't match MODEM_HL7800_APN_NAME on startup, 36 then it will be set. 37 38if MODEM_HL7800_SET_APN_NAME_ON_STARTUP 39 40config MODEM_HL7800_APN_NAME 41 string "APN name for establishing network connection" 42 help 43 This setting is used in the AT+CGDCONT command to set the APN name 44 for the PDP context. 45 46endif # MODEM_HL7800_SET_APN_NAME_ON_STARTUP 47 48choice MODEM_HL7800_RAT 49 bool "Radio Access Technology Mode" 50 default MODEM_HL7800_RAT_NO_CHANGE 51 52config MODEM_HL7800_RAT_NO_CHANGE 53 bool "Don't change the RAT" 54 help 55 Leave the HL7800 RAT unchanged during modem init. 56 57config MODEM_HL7800_RAT_M1 58 bool "LTE-M1" 59 help 60 Enable LTE Cat-M1 mode during modem init. 61 62config MODEM_HL7800_RAT_NB1 63 bool "NB-IoT" 64 help 65 Enable LTE Cat-NB1 mode during modem init. 66 67endchoice 68 69menuconfig MODEM_HL7800_CONFIGURE_BANDS 70 bool "Configure modem bands" 71 default "y" 72 help 73 Choose this setting to configure which LTE bands the 74 HL7800 modem should use at boot time. 75 76if MODEM_HL7800_CONFIGURE_BANDS 77 78config MODEM_HL7800_BAND_1 79 bool "Band 1 (2000MHz)" 80 default "y" 81 help 82 Enable Band 1 (2000MHz) 83 84config MODEM_HL7800_BAND_2 85 bool "Band 2 (1900MHz)" 86 default "y" 87 help 88 Enable Band 2 (1900MHz) 89 90config MODEM_HL7800_BAND_3 91 bool "Band 3 (1800MHz)" 92 default "y" 93 help 94 Enable Band 3 (1800MHz) 95 96config MODEM_HL7800_BAND_4 97 bool "Band 4 (1700MHz)" 98 default "y" 99 help 100 Enable Band 4 (1700MHz) 101 102config MODEM_HL7800_BAND_5 103 bool "Band 5 (850MHz)" 104 default "y" 105 help 106 Enable Band 5 (850MHz) 107 108config MODEM_HL7800_BAND_8 109 bool "Band 8 (900MHz)" 110 default "y" 111 help 112 Enable Band 8 (900MHz) 113 114config MODEM_HL7800_BAND_9 115 bool "Band 9 (1900MHz)" 116 help 117 Enable Band 9 (1900MHz) 118 119config MODEM_HL7800_BAND_10 120 bool "Band 10 (2100MHz)" 121 help 122 Enable Band 10 (2100MHz) 123 124config MODEM_HL7800_BAND_12 125 bool "Band 12 (700MHz)" 126 default "y" 127 help 128 Enable Band 12 (700MHz) 129 130config MODEM_HL7800_BAND_13 131 bool "Band 13 (700MHz)" 132 default "y" 133 help 134 Enable Band 13 (700MHz) 135 136config MODEM_HL7800_BAND_14 137 bool "Band 14 (700MHz)" 138 help 139 Enable Band 14 (700MHz) 140 141config MODEM_HL7800_BAND_17 142 bool "Band 17 (700MHz)" 143 help 144 Enable Band 17 (700MHz) 145 146config MODEM_HL7800_BAND_18 147 bool "Band 18 (800MHz)" 148 help 149 Enable Band 18 (800MHz) 150 151config MODEM_HL7800_BAND_19 152 bool "Band 19 (800MHz)" 153 help 154 Enable Band 19 (800MHz) 155 156config MODEM_HL7800_BAND_20 157 bool "Band 20 (800MHz)" 158 default "y" 159 help 160 Enable Band 20 (800MHz) 161 162config MODEM_HL7800_BAND_25 163 bool "Band 25 (1900MHz)" 164 help 165 Enable Band 25 (1900MHz) 166 167config MODEM_HL7800_BAND_26 168 bool "Band 26 (800MHz)" 169 help 170 Enable Band 26 (800MHz) 171 172config MODEM_HL7800_BAND_27 173 bool "Band 27 (800MHz)" 174 help 175 Enable Band 27 (800MHz) 176 177config MODEM_HL7800_BAND_28 178 bool "Band 28 (700MHz)" 179 default "y" 180 help 181 Enable Band 28 (700MHz) 182 183config MODEM_HL7800_BAND_66 184 bool "Band 66 (1800MHz)" 185 help 186 Enable Band 66 (1800MHz) 187 188endif # MODEM_HL7800_CONFIGURE_BAND 189 190menuconfig MODEM_HL7800_LOW_POWER_MODE 191 bool "Low power modes" 192 help 193 Choose this setting to enable a low power mode for the HL7800 modem 194 195if MODEM_HL7800_LOW_POWER_MODE 196 197choice 198 prompt "Low Power Mode" 199 default MODEM_HL7800_EDRX 200 201config MODEM_HL7800_EDRX 202 bool "eDRX" 203 help 204 Enable LTE eDRX 205 206config MODEM_HL7800_PSM 207 bool "PSM" 208 help 209 Enable Power Save Mode (PSM) 210endchoice 211 212if MODEM_HL7800_EDRX 213 214config MODEM_HL7800_EDRX_VALUE 215 string "Requested eDRX timer" 216 default "0101" 217 help 218 Half a byte in a 4-bit format. The eDRX value refers to bit 4 to 1 219 of octet 3 of the Extended DRX parameters information element. 220 Default value is 81.92 seconds. 221 222endif # MODEM_HL7800_EDRX 223 224if MODEM_HL7800_PSM 225 226config MODEM_HL7800_PSM_PERIODIC_TAU 227 string "Requested extended periodic TAU timer" 228 default "10000010" 229 help 230 Requested extended periodic TAU (tracking area update) value (T3412) 231 to be allocated to the UE in E-UTRAN. One byte in an 8-bit format. 232 Default value is 1 minute. 233 234config MODEM_HL7800_PSM_ACTIVE_TIME 235 string "Requested active time" 236 default "00001111" 237 help 238 Requested Active Time value (T3324) to be allocated to the UE. 239 One byte in an 8-bit format. Default value is 30 seconds. 240 241endif # MODEM_HL7800_PSM 242 243choice 244 prompt "Default Sleep Level" 245 default MODEM_HL7800_SLEEP_LEVEL_HIBERNATE 246 help 247 The application can override this setting 248 249config MODEM_HL7800_SLEEP_LEVEL_HIBERNATE 250 bool "Hibernate" 251 help 252 Lowest power consumption 253 IO state not retained 254 Application subsystem OFF 255 256config MODEM_HL7800_SLEEP_LEVEL_LITE_HIBERNATE 257 bool "Lite Hibernate" 258 help 259 IO state retained 260 Application subsystem OFF 261 262config MODEM_HL7800_SLEEP_LEVEL_SLEEP 263 bool "Sleep" 264 help 265 Highest power consumption of modem sleep states 266 IO state retained 267 Application subsystem ON 268 Allows sockets to remain open 269 270endchoice 271 272config MODEM_HL7800_SLEEP_DELAY_AFTER_REBOOT 273 int "Delay in seconds before sleep after reboot" 274 default 10 275 276endif # MODEM_HL7800_LOW_POWER_MODE 277 278config MODEM_HL7800_RX_STACK_SIZE 279 int "Size of the stack for the HL7800 modem driver RX thread" 280 default 1536 if MODEM_HL7800_POLTE 281 default 1280 282 help 283 This stack is used by the HL7800 RX thread. 284 285config MODEM_HL7800_RX_WORKQ_STACK_SIZE 286 int "Size of the stack for the HL7800 modem driver work queue" 287 default 2048 288 help 289 This stack is used by the work queue to pass off net_pkt data 290 to the rest of the network stack, letting the rx thread continue 291 processing data. 292 293config MODEM_HL7800_INIT_PRIORITY 294 int "HL7800 driver init priority" 295 default 80 296 help 297 HL7800 device driver initialization priority. 298 Do not mess with it unless you know what you are doing. 299 Note that the priority needs to be lower than the net stack 300 so that it can start before the networking sub-system. 301 302config MODEM_HL7800_GET_IP_ADDR_INFO_ATTEMPTS 303 int "Number of attempts to get IP address info during init" 304 default 4 305 306choice 307 prompt "Modem Boot Type" 308 default MODEM_HL7800_BOOT_NORMAL 309 310config MODEM_HL7800_BOOT_NORMAL 311 bool "No Delay" 312 313config MODEM_HL7800_BOOT_DELAY 314 bool "Delay secondary initialization of driver and network attach" 315 help 316 When true the application must call mdm_hl7800_reset. 317 This mode delays the validity of modem info. 318 319config MODEM_HL7800_BOOT_IN_AIRPLANE_MODE 320 bool "Enter airplane mode during init" 321 help 322 mdm_hl7800_set_functionality must be used by app to exit 323 airplane mode. 324 325endchoice 326 327config MODEM_HL7800_GPS 328 bool "GPS command and handlers" 329 330config MODEM_HL7800_USE_GLONASS 331 bool "Use GLONASS in addition to GPS" 332 depends on MODEM_HL7800_GPS 333 334config MODEM_HL7800_POLTE 335 bool "PoLTE commands and handlers" 336 337choice 338 prompt "IP Address family" 339 default MODEM_HL7800_ADDRESS_FAMILY_IPV4V6 340 help 341 The address family for IP connections. 342 343config MODEM_HL7800_ADDRESS_FAMILY_IPV4 344 bool "IPv4" 345 346config MODEM_HL7800_ADDRESS_FAMILY_IPV6 347 bool "IPv6" 348 349config MODEM_HL7800_ADDRESS_FAMILY_IPV4V6 350 bool "IPv4v6" 351 352endchoice 353 354config MODEM_HL7800_ALLOW_SLEEP_DELAY_MS 355 int "Milliseconds to delay before allowing modem to sleep" 356 default 5000 357 range 5000 3600000 358 help 359 This value should be set larger than the network latency. Otherwise 360 the modem can go to sleep before having a chance to receive socket data. 361 362config MODEM_HL7800_RSSI_RATE_SECONDS 363 int "Rate to automatically query RSSI" 364 default 0 if MODEM_HL7800_LOW_POWER_MODE 365 default 30 366 367config MODEM_HL7800_CTS_FILTER_US 368 int "CTS signal filter time (microseconds)" 369 default 20 370 help 371 This value is used to filter the CTS signal from the modem. 372 CTS pulses shorter than this value will be ignored. 373 374endif # MODEM_HL7800 375