1# Copyright (c) 2020 Intel Corporation
2# SPDX-License-Identifier: Apache-2.0
3
4config GSM_MUX
5	bool "Enable GSM 07.10 muxing protocol"
6	help
7	  Enable GSM 07.10 muxing protocol defined in
8	  https://www.etsi.org/deliver/etsi_ts/101300_101399/101369/07.01.00_60/ts_101369v070100p.pdf
9	  The muxing protocol allows GSM modem to share the same UART for both
10	  the PPP data and AT commands.
11
12config GSM_MUX_MAX
13	int "Max number of GSM mux instances"
14	default 1
15	depends on GSM_MUX
16	help
17	  Usually we only need one GSM mux instance. You need to increase
18	  this if you have more than one GSM modems.
19
20config GSM_MUX_DLCI_MAX
21	int "Max number of GSM data link connection (DLC) instances"
22	default 3
23	range 1 64
24	depends on GSM_MUX
25	help
26	  For our purposes we will manage with 3 DLCI (control, ppp, and AT
27	  commands) so making it the default value. If GSM modem also provides
28	  GNSS (location) services and you want to create a DLCI for it, then
29	  you need to increase this to 4.
30
31config GSM_MUX_DLCI_AT
32	int "DLCI id of the AT commands channel"
33	default 2 if MODEM_GSM_SIMCOM
34	default 1
35	range 1 63
36	depends on GSM_MUX
37	help
38	  Channel number for the AT commands to the modem.
39
40config GSM_MUX_DLCI_PPP
41	int "DLCI id of the PPP connection channel"
42	default 1 if MODEM_GSM_SIMCOM
43	default 2
44	range 1 63
45	depends on GSM_MUX
46	help
47	  Channel number for the PPP connection to the modem.
48	  SIMCOM modem has 16kb buffer for DLCI 1 so the manual recommends
49	  it for PPP traffic. For other DLCIs in that modem, the buffer size
50	  is only 1kb.
51
52config GSM_MUX_PENDING_CMD_MAX
53	int "Max number of pending GSM mux commands"
54	default 2
55	range 1 8
56	depends on GSM_MUX
57	help
58	  How many pending GSM mux commands can exists.
59
60config GSM_MUX_MRU_DEFAULT_LEN
61	int "Default size of received user data (MRU)"
62	default 127 if MODEM_GSM_SIMCOM
63	default 127 if MODEM_GSM_QUECTEL
64	default 31
65	range 1 1509
66	depends on GSM_MUX
67	help
68	  Default MRU (Maximum Receive Unit) data size. The default
69	  value for Basic mode is 31 bytes. The 1509 limit comes from
70	  ublox-sara modem and it means we can transfer full Ethernet sized
71	  frame and muxing headers.
72
73config GSM_MUX_MRU_MAX_LEN
74	int "Max size of received user data (MRU)"
75	default 255 if MODEM_GSM_SIMCOM
76	default 128
77	range 1 1509
78	depends on GSM_MUX
79	help
80	  Max MRU (Maximum Receive Unit) data size. The default max
81	  value for Basic mode is 128 bytes.
82
83config GSM_MUX_INITIATOR
84	bool "Are we the initiator of the connection"
85	default y
86	depends on GSM_MUX
87	help
88	  Default value when deciding whether we are the initiator of the
89	  connection attempt. Normally this should be enabled.
90
91config GSM_MUX_T1_TIMEOUT
92	int "T1 timeout in ms"
93	default 0
94	range 0 5000
95	depends on GSM_MUX
96	help
97	  T1 timeout is initial command timeout when establishing
98	  the connection. The value is in milliseconds. Zero value
99	  means that default (100 ms) specified in the code is used.
100
101if GSM_MUX
102
103module = GSM_MUX
104module-dep = LOG
105module-str = Log level for GSM 07.10 Mux driver
106module-help = Sets log level for GSM 07.10 Mux Device Driver.
107source "subsys/net/Kconfig.template.log_config.net"
108
109config GSM_MUX_VERBOSE_DEBUG
110	bool "Print hexdump of sent and received packets"
111	depends on GSM_MUX_LOG_LEVEL_DBG
112	help
113	  As there might be lot of debug output printed, only enable
114	  this if really needed.
115
116endif
117