xref: /linux/drivers/net/wwan/Kconfig (revision aec499c75cf8e0b599be4d559e6922b613085f8f)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Wireless WAN device configuration
4#
5
6menu "Wireless WAN"
7
8config WWAN
9	tristate "WWAN Driver Core"
10	help
11	  Say Y here if you want to use the WWAN driver core. This driver
12	  provides a common framework for WWAN drivers.
13
14	  To compile this driver as a module, choose M here: the module will be
15	  called wwan.
16
17if WWAN
18
19config WWAN_DEBUGFS
20	bool "WWAN devices debugfs interface" if EXPERT
21	depends on DEBUG_FS
22	default y
23	help
24	  Enables debugfs infrastructure for the WWAN core and device drivers.
25
26	  If this option is selected, then you can find the debug interface
27	  elements for each WWAN device in a directory that is corresponding to
28	  the device name: debugfs/wwan/wwanX.
29
30config WWAN_HWSIM
31	tristate "Simulated WWAN device"
32	help
33	  This driver is a developer testing tool that can be used to test WWAN
34	  framework.
35
36	  To compile this driver as a module, choose M here: the module will be
37	  called wwan_hwsim.  If unsure, say N.
38
39config MHI_WWAN_CTRL
40	tristate "MHI WWAN control driver for QCOM-based PCIe modems"
41	depends on MHI_BUS
42	help
43	  MHI WWAN CTRL allows QCOM-based PCIe modems to expose different modem
44	  control protocols/ports to userspace, including AT, MBIM, QMI, DIAG
45	  and FIREHOSE. These protocols can be accessed directly from userspace
46	  (e.g. AT commands) or via libraries/tools (e.g. libmbim, libqmi,
47	  libqcdm...).
48
49	  To compile this driver as a module, choose M here: the module will be
50	  called mhi_wwan_ctrl.
51
52config MHI_WWAN_MBIM
53        tristate "MHI WWAN MBIM network driver for QCOM-based PCIe modems"
54        depends on MHI_BUS
55        help
56          MHI WWAN MBIM is a WWAN network driver for QCOM-based PCIe modems.
57          It implements MBIM over MHI, for IP data aggregation and muxing.
58          A default wwan0 network interface is created for MBIM data session
59          ID 0. Additional links can be created via wwan rtnetlink type.
60
61          To compile this driver as a module, choose M here: the module will be
62          called mhi_wwan_mbim.
63
64config QCOM_BAM_DMUX
65	tristate "Qualcomm BAM-DMUX WWAN network driver"
66	depends on (DMA_ENGINE && PM && QCOM_SMEM_STATE) || COMPILE_TEST
67	help
68	  The BAM Data Multiplexer provides access to the network data channels
69	  of modems integrated into many older Qualcomm SoCs, e.g. Qualcomm
70	  MSM8916 or MSM8974. The connection can be established via QMI/AT from
71	  userspace with control ports available through the WWAN subsystem
72	  (CONFIG_RPMSG_WWAN_CTRL) or QRTR network sockets (CONFIG_QRTR).
73
74	  To compile this driver as a module, choose M here: the module will be
75	  called qcom_bam_dmux.
76
77config RPMSG_WWAN_CTRL
78	tristate "RPMSG WWAN control driver"
79	depends on RPMSG
80	help
81	  RPMSG WWAN CTRL allows modems available via RPMSG channels to expose
82	  different modem protocols/ports to userspace, including AT and QMI.
83	  These protocols can be accessed directly from userspace
84	  (e.g. AT commands) or via libraries/tools (e.g. libqmi, libqcdm...).
85
86	  This is mainly used for modems integrated into many Qualcomm SoCs,
87	  e.g. for AT and QMI on Qualcomm MSM8916 or MSM8974. Note that many
88	  newer Qualcomm SoCs (e.g. SDM845) still provide an AT port through
89	  this driver but the QMI messages can only be sent through
90	  QRTR network sockets (CONFIG_QRTR).
91
92	  To compile this driver as a module, choose M here: the module will be
93	  called rpmsg_wwan_ctrl.
94
95config IOSM
96	tristate "IOSM Driver for Intel M.2 WWAN Device"
97	depends on INTEL_IOMMU
98	select NET_DEVLINK
99	select RELAY if WWAN_DEBUGFS
100	help
101	  This driver enables Intel M.2 WWAN Device communication.
102
103	  If you have one of those Intel M.2 WWAN Modules and wish to use it in
104	  Linux say Y/M here.
105
106	  If unsure, say N.
107
108endif # WWAN
109
110endmenu
111