1# Modem configuration options 2 3# Copyright (c) 2018 Foundries.io 4# SPDX-License-Identifier: Apache-2.0 5 6menuconfig MODEM 7 bool "Modem Drivers" 8 help 9 Enable config options for modem drivers. 10 11if MODEM 12 13module = MODEM 14module-str = modem 15source "subsys/logging/Kconfig.template.log_config" 16 17config MODEM_RECEIVER 18 bool "Enable modem receiver helper driver" 19 depends on SERIAL_SUPPORT_INTERRUPT 20 select UART_INTERRUPT_DRIVEN 21 select RING_BUFFER 22 help 23 This driver allows modem drivers to communicate over UART with custom 24 defined protocols. Driver doesn't inspect received data and all 25 aspects of received protocol data are handled by application via 26 work method provided. This driver differs from the pipe UART driver 27 in that callbacks are executed in a different work queue and data is 28 passed around in k_pipe structures. 29 30config MODEM_RECEIVER_MAX_CONTEXTS 31 int "Maximum number of modem receiver contexts" 32 depends on MODEM_RECEIVER 33 range 1 10 34 default 1 35 help 36 Maximum number of modem receiver contexts to handle. For most 37 purposes this should stay at 1. 38 39config MODEM_CONTEXT 40 bool "Modem context helper driver [EXPERIMENTAL]" 41 help 42 This driver allows modem drivers to communicate with an interface 43 using custom defined protocols. Driver doesn't inspect received data 44 and all aspects of received protocol data are handled by application 45 work method provided. This driver combines abstractions for: 46 modem interface, command handler, pin config and socket handling each 47 of which will need to be configured. 48 49if MODEM_CONTEXT 50 51config MODEM_CONTEXT_MAX_NUM 52 int "Maximum number of modem contexts" 53 default 1 54 help 55 Maximum number of modem contexts to handle. For most 56 purposes this should stay at 1. 57 58config MODEM_CONTEXT_VERBOSE_DEBUG 59 bool "Verbose debug output in the modem context" 60 help 61 Enabling this setting will turn on VERY heavy debugging from the 62 modem context helper. Do NOT leave on for production. 63 64config MODEM_IFACE_UART 65 bool "UART-based modem interface" 66 depends on SERIAL_SUPPORT_INTERRUPT 67 select UART_INTERRUPT_DRIVEN 68 select RING_BUFFER 69 help 70 To configure this layer for use, create a modem_iface_uart_data 71 object and pass it's reference to modem_iface_uart_init() 72 along with the modem_iface reference from your modem_context object 73 and the UART device name. 74 75config MODEM_CMD_HANDLER 76 bool "Generic modem command handler" 77 select NET_BUF 78 help 79 This generic command handler uses a modem interface to process 80 incoming data and hand it back to the modem driver via callbacks 81 defined for: 82 - modem responses 83 - unsolicited messages 84 - specified handlers for current operation 85 To configure this layer for use, create a modem_cmd_handler_data 86 object and pass it's reference to modem_cmd_handler_init() along with 87 the modem_cmd_handler reference from your modem_context object. 88 89config MODEM_CMD_HANDLER_MAX_PARAM_COUNT 90 int "Maximum number of params parsed per command" 91 depends on MODEM_CMD_HANDLER 92 default 6 93 help 94 This option sets the maximum number of parameters which may be 95 parsed by the command handler. This is also limited by the length 96 of the match_buf (match_buf_len) field as it needs to be large 97 enough to hold a single line of data (ending with /r). 98 99config MODEM_SOCKET 100 bool "Generic modem socket support layer" 101 help 102 This layer provides much of the groundwork for keeping track of 103 modem "sockets" throughout their lifecycle (from the initial offload 104 API calls through the command handler call back layers). 105 To configure this layer for use, create a modem_socket_config 106 object with your socket data and pass it's reference to 107 modem_socket_init(). 108 109config MODEM_SOCKET_PACKET_COUNT 110 int "Maximum number of stored packet sizes per socket" 111 depends on MODEM_SOCKET 112 default 6 113 help 114 As the modem indicates more data is available to be received, 115 these values are organized into "packets". This setting limits 116 the maximum number of packet sizes the socket can keep track of. 117 118endif # MODEM_CONTEXT 119 120config MODEM_SHELL 121 bool "Enable modem shell utilities" 122 select SHELL 123 help 124 Activate shell module that provides modem utilities like 125 sending a command to the modem UART. 126 127config MODEM_SIM_NUMBERS 128 bool "Enable querying the SIM for IMSI and ICCID" 129 depends on MODEM_SHELL 130 default y 131 help 132 Query the SIM card for the IMSI and ICCID identifiers. This 133 can be disabled if the application does not use a SIM. 134 135config MODEM_CELL_INFO 136 bool "Enable querying for operator and cell info" 137 depends on MODEM_SHELL 138 help 139 Query for numerical operator id, location area code and cell id. 140 141source "drivers/modem/Kconfig.ublox-sara-r4" 142source "drivers/modem/Kconfig.quectel-bg9x" 143source "drivers/modem/Kconfig.wncm14a2a" 144source "drivers/modem/Kconfig.gsm" 145 146source "drivers/modem/Kconfig.hl7800" 147 148endif # MODEM 149