5e90abf49c
The remote processor messaging (rpmsg) subsystem provides an interface to communicate with other remote processors. On many Qualcomm SoCs this is used to communicate with an integrated modem DSP that implements most of the modem functionality and provides high-level protocols like QMI or AT to allow controlling the modem. For QMI, most older Qualcomm SoCs (e.g. MSM8916/MSM8974) have a standalone "DATA5_CNTL" channel that allows exchanging QMI messages. Note that newer SoCs (e.g. SDM845) only allow exchanging QMI messages via a shared QRTR channel that is available via a socket API on Linux. For AT, the "DATA4" channel accepts at least a limited set of AT commands, on many older and newer Qualcomm SoCs, although QMI is typically the preferred control protocol. Often there are additional QMI/AT channels (usually named DATA*_CNTL for QMI and DATA* for AT), but it is not clear if those are really functional on all devices. Also, at the moment there is no use case for having multiple QMI/AT ports. If needed more channels could be added later after more testing. Note that the data path (network interface) is entirely separate from the control path and varies between Qualcomm SoCs, e.g. "IPA" on newer Qualcomm SoCs or "BAM-DMUX" on some older ones. The RPMSG WWAN CTRL driver exposes the QMI/AT control ports via the WWAN subsystem, and therefore allows userspace like ModemManager to set up the modem. Until now, ModemManager had to use the RPMSG-specific rpmsg-char where the channels must be explicitly exposed as a char device first and don't show up directly in sysfs. The driver is a fairly simple glue layer between WWAN and RPMSG and is mostly based on the existing mhi_wwan_ctrl.c and rpmsg_char.c. Cc: Loic Poulain <loic.poulain@linaro.org> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Signed-off-by: David S. Miller <davem@davemloft.net>
73 lines
2.2 KiB
Plaintext
73 lines
2.2 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Wireless WAN device configuration
|
|
#
|
|
|
|
menu "Wireless WAN"
|
|
|
|
config WWAN
|
|
tristate "WWAN Driver Core"
|
|
help
|
|
Say Y here if you want to use the WWAN driver core. This driver
|
|
provides a common framework for WWAN drivers.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called wwan.
|
|
|
|
if WWAN
|
|
|
|
config WWAN_HWSIM
|
|
tristate "Simulated WWAN device"
|
|
help
|
|
This driver is a developer testing tool that can be used to test WWAN
|
|
framework.
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called wwan_hwsim. If unsure, say N.
|
|
|
|
config MHI_WWAN_CTRL
|
|
tristate "MHI WWAN control driver for QCOM-based PCIe modems"
|
|
depends on MHI_BUS
|
|
help
|
|
MHI WWAN CTRL allows QCOM-based PCIe modems to expose different modem
|
|
control protocols/ports to userspace, including AT, MBIM, QMI, DIAG
|
|
and FIREHOSE. These protocols can be accessed directly from userspace
|
|
(e.g. AT commands) or via libraries/tools (e.g. libmbim, libqmi,
|
|
libqcdm...).
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called mhi_wwan_ctrl.
|
|
|
|
config RPMSG_WWAN_CTRL
|
|
tristate "RPMSG WWAN control driver"
|
|
depends on RPMSG
|
|
help
|
|
RPMSG WWAN CTRL allows modems available via RPMSG channels to expose
|
|
different modem protocols/ports to userspace, including AT and QMI.
|
|
These protocols can be accessed directly from userspace
|
|
(e.g. AT commands) or via libraries/tools (e.g. libqmi, libqcdm...).
|
|
|
|
This is mainly used for modems integrated into many Qualcomm SoCs,
|
|
e.g. for AT and QMI on Qualcomm MSM8916 or MSM8974. Note that many
|
|
newer Qualcomm SoCs (e.g. SDM845) still provide an AT port through
|
|
this driver but the QMI messages can only be sent through
|
|
QRTR network sockets (CONFIG_QRTR).
|
|
|
|
To compile this driver as a module, choose M here: the module will be
|
|
called rpmsg_wwan_ctrl.
|
|
|
|
config IOSM
|
|
tristate "IOSM Driver for Intel M.2 WWAN Device"
|
|
depends on INTEL_IOMMU
|
|
help
|
|
This driver enables Intel M.2 WWAN Device communication.
|
|
|
|
If you have one of those Intel M.2 WWAN Modules and wish to use it in
|
|
Linux say Y/M here.
|
|
|
|
If unsure, say N.
|
|
|
|
endif # WWAN
|
|
|
|
endmenu
|