162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Wireless WAN device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenu "Wireless WAN"
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciconfig WWAN
962306a36Sopenharmony_ci	tristate "WWAN Driver Core"
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  Say Y here if you want to use the WWAN driver core. This driver
1262306a36Sopenharmony_ci	  provides a common framework for WWAN drivers.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
1562306a36Sopenharmony_ci	  called wwan.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciif WWAN
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig WWAN_DEBUGFS
2062306a36Sopenharmony_ci	bool "WWAN devices debugfs interface" if EXPERT
2162306a36Sopenharmony_ci	depends on DEBUG_FS
2262306a36Sopenharmony_ci	default y
2362306a36Sopenharmony_ci	help
2462306a36Sopenharmony_ci	  Enables debugfs infrastructure for the WWAN core and device drivers.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	  If this option is selected, then you can find the debug interface
2762306a36Sopenharmony_ci	  elements for each WWAN device in a directory that is corresponding to
2862306a36Sopenharmony_ci	  the device name: debugfs/wwan/wwanX.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig WWAN_HWSIM
3162306a36Sopenharmony_ci	tristate "Simulated WWAN device"
3262306a36Sopenharmony_ci	help
3362306a36Sopenharmony_ci	  This driver is a developer testing tool that can be used to test WWAN
3462306a36Sopenharmony_ci	  framework.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
3762306a36Sopenharmony_ci	  called wwan_hwsim.  If unsure, say N.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciconfig MHI_WWAN_CTRL
4062306a36Sopenharmony_ci	tristate "MHI WWAN control driver for QCOM-based PCIe modems"
4162306a36Sopenharmony_ci	depends on MHI_BUS
4262306a36Sopenharmony_ci	help
4362306a36Sopenharmony_ci	  MHI WWAN CTRL allows QCOM-based PCIe modems to expose different modem
4462306a36Sopenharmony_ci	  control protocols/ports to userspace, including AT, MBIM, QMI, DIAG
4562306a36Sopenharmony_ci	  and FIREHOSE. These protocols can be accessed directly from userspace
4662306a36Sopenharmony_ci	  (e.g. AT commands) or via libraries/tools (e.g. libmbim, libqmi,
4762306a36Sopenharmony_ci	  libqcdm...).
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
5062306a36Sopenharmony_ci	  called mhi_wwan_ctrl.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciconfig MHI_WWAN_MBIM
5362306a36Sopenharmony_ci        tristate "MHI WWAN MBIM network driver for QCOM-based PCIe modems"
5462306a36Sopenharmony_ci        depends on MHI_BUS
5562306a36Sopenharmony_ci        help
5662306a36Sopenharmony_ci          MHI WWAN MBIM is a WWAN network driver for QCOM-based PCIe modems.
5762306a36Sopenharmony_ci          It implements MBIM over MHI, for IP data aggregation and muxing.
5862306a36Sopenharmony_ci          A default wwan0 network interface is created for MBIM data session
5962306a36Sopenharmony_ci          ID 0. Additional links can be created via wwan rtnetlink type.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci          To compile this driver as a module, choose M here: the module will be
6262306a36Sopenharmony_ci          called mhi_wwan_mbim.
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciconfig QCOM_BAM_DMUX
6562306a36Sopenharmony_ci	tristate "Qualcomm BAM-DMUX WWAN network driver"
6662306a36Sopenharmony_ci	depends on (DMA_ENGINE && PM && QCOM_SMEM_STATE) || COMPILE_TEST
6762306a36Sopenharmony_ci	help
6862306a36Sopenharmony_ci	  The BAM Data Multiplexer provides access to the network data channels
6962306a36Sopenharmony_ci	  of modems integrated into many older Qualcomm SoCs, e.g. Qualcomm
7062306a36Sopenharmony_ci	  MSM8916 or MSM8974. The connection can be established via QMI/AT from
7162306a36Sopenharmony_ci	  userspace with control ports available through the WWAN subsystem
7262306a36Sopenharmony_ci	  (CONFIG_RPMSG_WWAN_CTRL) or QRTR network sockets (CONFIG_QRTR).
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
7562306a36Sopenharmony_ci	  called qcom_bam_dmux.
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciconfig RPMSG_WWAN_CTRL
7862306a36Sopenharmony_ci	tristate "RPMSG WWAN control driver"
7962306a36Sopenharmony_ci	depends on RPMSG
8062306a36Sopenharmony_ci	help
8162306a36Sopenharmony_ci	  RPMSG WWAN CTRL allows modems available via RPMSG channels to expose
8262306a36Sopenharmony_ci	  different modem protocols/ports to userspace, including AT and QMI.
8362306a36Sopenharmony_ci	  These protocols can be accessed directly from userspace
8462306a36Sopenharmony_ci	  (e.g. AT commands) or via libraries/tools (e.g. libqmi, libqcdm...).
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	  This is mainly used for modems integrated into many Qualcomm SoCs,
8762306a36Sopenharmony_ci	  e.g. for AT and QMI on Qualcomm MSM8916 or MSM8974. Note that many
8862306a36Sopenharmony_ci	  newer Qualcomm SoCs (e.g. SDM845) still provide an AT port through
8962306a36Sopenharmony_ci	  this driver but the QMI messages can only be sent through
9062306a36Sopenharmony_ci	  QRTR network sockets (CONFIG_QRTR).
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
9362306a36Sopenharmony_ci	  called rpmsg_wwan_ctrl.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ciconfig IOSM
9662306a36Sopenharmony_ci	tristate "IOSM Driver for Intel M.2 WWAN Device"
9762306a36Sopenharmony_ci	depends on PCI
9862306a36Sopenharmony_ci	select NET_DEVLINK
9962306a36Sopenharmony_ci	select RELAY if WWAN_DEBUGFS
10062306a36Sopenharmony_ci	help
10162306a36Sopenharmony_ci	  This driver enables Intel M.2 WWAN Device communication.
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci	  If you have one of those Intel M.2 WWAN Modules and wish to use it in
10462306a36Sopenharmony_ci	  Linux say Y/M here.
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci	  If unsure, say N.
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ciconfig MTK_T7XX
10962306a36Sopenharmony_ci	tristate "MediaTek PCIe 5G WWAN modem T7xx device"
11062306a36Sopenharmony_ci	depends on PCI
11162306a36Sopenharmony_ci	select RELAY if WWAN_DEBUGFS
11262306a36Sopenharmony_ci	help
11362306a36Sopenharmony_ci	  Enables MediaTek PCIe based 5G WWAN modem (T7xx series) device.
11462306a36Sopenharmony_ci	  Adapts WWAN framework and provides network interface like wwan0
11562306a36Sopenharmony_ci	  and tty interfaces like wwan0at0 (AT protocol), wwan0mbim0
11662306a36Sopenharmony_ci	  (MBIM protocol), etc.
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
11962306a36Sopenharmony_ci	  called mtk_t7xx.
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci	  If unsure, say N.
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ciendif # WWAN
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ciendmenu
126