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