1# Copyright (c) 2020 Intel Corporation
2# SPDX-License-Identifier: Apache-2.0
3
4config MODEM_GSM_PPP
5	bool "[DEPRECATED] Support GSM modems"
6	select MODEM_CONTEXT
7	select MODEM_CMD_HANDLER
8	select MODEM_IFACE_UART
9	select NET_MGMT
10	select NET_MGMT_EVENT
11	select DEPRECATED
12	help
13	  This driver is deprecated, use the MODEM_CELLULAR driver instead.
14
15if MODEM_GSM_PPP
16
17choice MODEM_GSM_TYPE
18	prompt "Modem type"
19	default MODEM_GSM_GENERIC
20	help
21	  Type/manufacturer of the GSM modem
22
23config MODEM_GSM_GENERIC
24	bool "Generic GSM modem"
25	help
26	  The modem does not need any special handling etc.
27
28config MODEM_GSM_SIMCOM
29	bool "SIMCOM modem"
30	help
31	  Use this if you have SIMCOM based modem like SIM800 etc.
32
33config MODEM_GSM_QUECTEL
34	bool "Quectel modem"
35	help
36	  Use this if you have Quectel based modem like EC2X etc.
37
38endchoice
39
40choice MODEM_GSM_STATUS_COMMAND
41	prompt "Select status command Type"
42	default MODEM_GSM_STATUS_CMD_USE_CREG
43	help
44	  Use particular type of AT command for cell tower registration status.
45
46config MODEM_GSM_STATUS_CMD_USE_CREG
47	bool "CREG command"
48
49config MODEM_GSM_STATUS_CMD_USE_CEREG
50	bool "CEREG command"
51
52endchoice
53
54config MODEM_GSM_STATUS_COMMAND
55	string "Status Command"
56	default "CREG" if MODEM_GSM_STATUS_CMD_USE_CREG
57	default "CEREG" if MODEM_GSM_STATUS_CMD_USE_CEREG
58
59config MODEM_GSM_RX_STACK_SIZE
60	int "Size of the stack allocated for receiving data from modem"
61	default 512
62	help
63	  Sets the stack size which will be used by the GSM RX thread.
64
65config MODEM_GSM_WORKQ_STACK_SIZE
66	int "Size of the stack allocated for the dedicated gsm workqueue"
67	default 768
68	help
69	  Sets the stack size which will be used by the dedicated GSM workqueue
70	  thread.
71
72config MODEM_GSM_INIT_PRIORITY
73	int "Init priority for the GSM modem driver"
74	default 60
75	range 0 99
76	help
77	  The GSM modem is initialized in POST_KERNEL using priority in
78	  the range 0-99.
79
80config MODEM_GSM_APN
81	string "Access Point Name"
82	default "internet"
83	help
84	  Specify Access Point Name, i.e. the name to identify Internet IP
85	  GPRS cellular data context.
86
87config GSM_PPP_AUTOSTART
88	bool "Auto-start PPP at boot"
89	default y
90	help
91	  This setting lets driver connect to network and initialize PPP at
92	  boot. Unselect this if you want to run application code before
93	  modem connects to network. See contents of "drivers/gsm_ppp.h"
94	  to get an idea of the API.
95
96config MODEM_GSM_ATTACH_TIMEOUT
97	int "Timeout for attaching to packet service"
98	default 30
99	help
100	  Before activating PPP, attachment to packet service is checked
101	  using AT+CGATT. This setting dictates how much time in seconds
102	  we give the modem before giving up.
103
104config MODEM_GSM_REGISTER_TIMEOUT
105	int "Timeout for registering to cellular tower"
106	default 300
107	help
108	  Before attachment to packet service, modem is checked if it is
109	  connected to the cellular tower. This setting dictates how much
110	  time in seconds we give the modem before giving up.
111
112config MODEM_GSM_MANUAL_MCCMNO
113	string "MCC/MNO for establishing network connection"
114	help
115	  This setting is used in the AT+COPS command to set the MCC/MNO
116	  for the network connection context.  This value is specific to
117	  the network provider and may need to be changed if auto is not
118	  selected.
119
120config MODEM_GSM_RSSI_POLLING_PERIOD
121	int "Configure RSSI polling period (in seconds)"
122	default 30
123	help
124	  This settings is used to configure the period of RSSI polling
125
126config MODEM_GSM_ENABLE_CESQ_RSSI
127	bool "+CESQ RSSI measurement"
128	help
129	   If this is enabled, RSRP, RSCP and RXREL values are read from the
130	   modem with +CESQ. Otherwise only RSSI value is read with +CSQ
131	   from the modem.
132
133config MODEM_GSM_FACTORY_RESET_AT_BOOT
134	bool "Factory reset modem at boot"
135	help
136	  If this is enabled, the modem will be reset to factory default
137	  settings first thing in the initialization sequence. This is
138	  helpful if your modem has a tendency to get stuck due to cached
139	  state.
140
141endif
142