Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] net: wwan: t9xx: Add MediaTek T9XX WWAN driver
@ 2026-05-29 10:31 Jack Wu via B4 Relay
  2026-05-29 10:31 ` [PATCH 01/11] net: wwan: t9xx: Add PCIe core Jack Wu via B4 Relay
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: Jack Wu via B4 Relay @ 2026-05-29 10:31 UTC (permalink / raw)
  To: Loic Poulain, Sergey Ryazanov, Johannes Berg, Andrew Lunn,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Jack Wu, Wen-Zhi Huang, Shi-Wei Yeh, Minano Tseng,
	Matthias Brugger, AngeloGioacchino Del Regno, Simon Horman,
	Jonathan Corbet, Shuah Khan
  Cc: linux-kernel, netdev, linux-arm-kernel, linux-mediatek, linux-doc

T9XX is the PCIe host device driver for MediaTek's
t900 modem. The driver uses the WWAN framework
infrastructure to create the following control ports
and network interfaces for data transactions.
* /dev/wwan0at0 - Interface that supports AT commands.
* /dev/wwan0mbim0 - Interface conforming to the MBIM
  protocol.
* wwan0-X - Primary network interface for IP traffic.

The main blocks in the T9XX driver are:
* HW layer - Abstracts the hardware bus operations for
   the device, and provides generic interfaces for the
   transaction layer to get the device's information and
   control the device's behavior. It includes:

   * PCIe - Implements probe, removal and interrupt
     handling.
   * MHCCIF (Modem Host Cross-Core Interface) - Provides
     interrupt channels for bidirectional event
     notification such as handshake and port enumeration.

* Transaction layer - Implements data transactions for
   the control plane and the data plane. It includes:

   * DPMAIF (Data Plane Modem AP Interface) - Controls
     the hardware that provides uplink and downlink
     queues for the data path. The data exchange takes
     place using circular buffers to share data buffer
     addresses and metadata to describe the packets.
   * CLDMA (Cross Layer DMA) - Manages the hardware
     used by the port layer to send control messages to
     the device using MediaTek's CCCI (Cross-Core
     Communication Interface) protocol.
   * TX Services - Dispatch packets from the port layer
     to the device.
   * RX Services - Dispatch packets to the port layer
     when receiving packets from the device.

* Port layer - Provides control plane and data plane
   interfaces to userspace. It includes:

   * Control Plane - Provides device node interfaces
     for controlling data transactions.
   * Data Plane - Provides network link interfaces
     wwanX (0, 1, 2...) for IP data transactions.

* Core logic - Contains the core logic to keep the
   device working. It includes:

   * FSM (Finite State Machine) - Monitors the state
     of the device, and notifies each module when the
     state changes.

The compilation of the T9XX driver is enabled by the
CONFIG_MTK_T9XX and CONFIG_MTK_T9XX_PCI config option
which depends on CONFIG_WWAN.

---
Jack Wu (11):
      net: wwan: t9xx: Add PCIe core
      net: wwan: t9xx: Add control plane transaction layer
      net: wwan: t9xx: Add control DMA interface
      net: wwan: t9xx: Add control port
      net: wwan: t9xx: Add FSM thread
      net: wwan: t9xx: Add AT & MBIM WWAN ports
      net: wwan: t9xx: Introduce data plane hardware
      net: wwan: t9xx: Add data plane transaction layer
      net: wwan: t9xx: Introduce WWAN interface
      net: wwan: t9xx: Add power management support
      net: wwan: t9xx: Add maintainers and documentation

 .../networking/device_drivers/wwan/t9xx.rst        |   48 +
 MAINTAINERS                                        |   10 +
 drivers/net/wwan/Kconfig                           |   17 +
 drivers/net/wwan/Makefile                          |    1 +
 drivers/net/wwan/t9xx/Makefile                     |   16 +
 drivers/net/wwan/t9xx/mtk_ctrl_plane.c             |   95 +
 drivers/net/wwan/t9xx/mtk_ctrl_plane.h             |   88 +
 drivers/net/wwan/t9xx/mtk_data_plane.c             |  104 +
 drivers/net/wwan/t9xx/mtk_data_plane.h             |  105 +
 drivers/net/wwan/t9xx/mtk_dev.c                    |   55 +
 drivers/net/wwan/t9xx/mtk_dev.h                    |  114 +
 drivers/net/wwan/t9xx/mtk_fsm.c                    |  931 +++++++
 drivers/net/wwan/t9xx/mtk_fsm.h                    |  140 +
 drivers/net/wwan/t9xx/mtk_port.c                   |  967 +++++++
 drivers/net/wwan/t9xx/mtk_port.h                   |  176 ++
 drivers/net/wwan/t9xx/mtk_port_io.c                |  576 +++++
 drivers/net/wwan/t9xx/mtk_port_io.h                |   41 +
 drivers/net/wwan/t9xx/mtk_utility.h                |   33 +
 drivers/net/wwan/t9xx/mtk_wwan.c                   |  475 ++++
 drivers/net/wwan/t9xx/mtk_wwan.h                   |   17 +
 drivers/net/wwan/t9xx/pcie/Makefile                |   19 +
 drivers/net/wwan/t9xx/pcie/mtk_cldma.c             | 1527 +++++++++++
 drivers/net/wwan/t9xx/pcie/mtk_cldma.h             |  176 ++
 drivers/net/wwan/t9xx/pcie/mtk_cldma_drv.c         |  373 +++
 drivers/net/wwan/t9xx/pcie/mtk_cldma_drv.h         |  174 ++
 drivers/net/wwan/t9xx/pcie/mtk_cldma_drv_m9xx.c    |  177 ++
 drivers/net/wwan/t9xx/pcie/mtk_cldma_drv_m9xx.h    |  101 +
 drivers/net/wwan/t9xx/pcie/mtk_ctrl_cfg_m9xx.c     |   55 +
 drivers/net/wwan/t9xx/pcie/mtk_dpmaif.c            | 2714 ++++++++++++++++++++
 drivers/net/wwan/t9xx/pcie/mtk_dpmaif.h            |   16 +
 drivers/net/wwan/t9xx/pcie/mtk_dpmaif_drv.c        | 1586 ++++++++++++
 drivers/net/wwan/t9xx/pcie/mtk_dpmaif_drv.h        |  268 ++
 drivers/net/wwan/t9xx/pcie/mtk_dpmaif_drv_m9xx.c   |  687 +++++
 drivers/net/wwan/t9xx/pcie/mtk_dpmaif_reg.h        |  387 +++
 drivers/net/wwan/t9xx/pcie/mtk_dpmaif_reg_m9xx.h   |   37 +
 drivers/net/wwan/t9xx/pcie/mtk_dpmaif_ring.c       |  168 ++
 drivers/net/wwan/t9xx/pcie/mtk_dpmaif_ring.h       |  161 ++
 drivers/net/wwan/t9xx/pcie/mtk_pci.c               | 1067 ++++++++
 drivers/net/wwan/t9xx/pcie/mtk_pci.h               |  219 ++
 drivers/net/wwan/t9xx/pcie/mtk_pci_drv_m9xx.c      |   70 +
 drivers/net/wwan/t9xx/pcie/mtk_pci_reg.h           |   72 +
 drivers/net/wwan/t9xx/pcie/mtk_trans_ctrl.c        |  593 +++++
 drivers/net/wwan/t9xx/pcie/mtk_trans_ctrl.h        |  105 +
 43 files changed, 14761 insertions(+)
---
base-commit: eb3f4b7426cfd2b79d65b7d37155480b32259a11
change-id: 20260529-t9xx_driver_v1-1744f8af7739

Best regards,
--  
Jack Wu <jackbb_wu@compal.com>




^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2026-06-02 10:59 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-29 10:31 [PATCH 00/11] net: wwan: t9xx: Add MediaTek T9XX WWAN driver Jack Wu via B4 Relay
2026-05-29 10:31 ` [PATCH 01/11] net: wwan: t9xx: Add PCIe core Jack Wu via B4 Relay
2026-06-01 11:18   ` Jagielski, Jedrzej
2026-05-29 10:31 ` [PATCH 02/11] net: wwan: t9xx: Add control plane transaction layer Jack Wu via B4 Relay
2026-06-01 11:24   ` Jagielski, Jedrzej
2026-05-29 10:31 ` [PATCH 03/11] net: wwan: t9xx: Add control DMA interface Jack Wu via B4 Relay
2026-05-29 10:31 ` [PATCH 04/11] net: wwan: t9xx: Add control port Jack Wu via B4 Relay
2026-05-29 10:31 ` [PATCH 05/11] net: wwan: t9xx: Add FSM thread Jack Wu via B4 Relay
2026-05-29 10:31 ` [PATCH 06/11] net: wwan: t9xx: Add AT & MBIM WWAN ports Jack Wu via B4 Relay
2026-06-01 12:09   ` Jagielski, Jedrzej
2026-05-29 10:31 ` [PATCH 08/11] net: wwan: t9xx: Add data plane transaction layer Jack Wu via B4 Relay
2026-05-29 10:31 ` [PATCH 09/11] net: wwan: t9xx: Introduce WWAN interface Jack Wu via B4 Relay
2026-06-01 12:19   ` Jagielski, Jedrzej
2026-05-29 10:31 ` [PATCH 10/11] net: wwan: t9xx: Add power management support Jack Wu via B4 Relay
2026-06-01 12:26   ` Jagielski, Jedrzej
2026-05-29 10:31 ` [PATCH 11/11] net: wwan: t9xx: Add maintainers and documentation Jack Wu via B4 Relay
2026-05-29 11:43 ` [PATCH 00/11] net: wwan: t9xx: Add MediaTek T9XX WWAN driver Loic Poulain
2026-06-02  9:28   ` [External Mail] " Wu. JackBB (GSM)
2026-06-02  0:34 ` Jakub Kicinski
2026-06-02 10:58   ` [External Mail] " Wu. JackBB (GSM)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox