mbox

[00/28] add support for baseband phy

Message ID 20210531214142.30167-1-tduszynski@marvell.com (mailing list archive)
Headers

Message

Tomasz Duszynski May 31, 2021, 9:41 p.m. UTC
This series adds initial support for baseband PHY available on SOCs
belonging to Fusion family. BPHY is a hardware block comprising
accelerators and DSPs specifically tailored for 5G/LTE usecases.

This series introduces two rawdev PMDs along with low level common code.

CGX/RPM PMD allows one to configure Ethernet I/O interfaces attached to
BPHY via standard enqueue/dequeue operations.

BPHY PMD provides an out-of-band access to PCI device BARs and a set of
experimental APIs allowing one to setup custom IRQs handlers. This
functionality is backed by kernel module using ioctl() mechanism.

Tomasz Duszynski (28):
  common/cnxk: add bphy cgx/rpm initialization and cleanup
  common/cnxk: add support for communication with atf
  common/cnxk: add support for getting link information
  common/cnxk: add support for changing internal loopback
  common/cnxk: add support for changing ptp mode
  common/cnxk: add support for setting link mode
  common/cnxk: add support for changing link state
  common/cnxk: add support for lmac start/stop
  raw/cnxk_bphy: add bphy cgx/rpm skeleton driver
  raw/cnxk_bphy: add support for reading queue configuration
  raw/cnxk_bphy: add support for reading queue count
  raw/cnxk_bphy: add support for enqueue operation
  raw/cnxk_bphy: add support for dequeue operation
  raw/cnxk_bphy: add support for performing selftest
  common/cnxk: add support for device init and fini
  common/cnxk: add support for baseband phy irq setup
  common/cnxk: add support for checking irq availability
  common/cnxk: add support for retrieving irq stack
  common/cnxk: add support for removing irq stack
  common/cnxk: add support for setting bphy irq handler
  common/cnxk: add support for clearing bphy irq handler
  common/cnxk: add support for registering bphy irq
  raw/cnxk_bphy: add baseband phy skeleton driver
  raw/cnxk_bphy: add support for interrupt init and cleanup
  raw/cnxk_bphy: add support for reading number of irqs
  raw/cnxk_bphy: add support for retrieving device memory
  raw/cnxk_bphy: add support for registering irq handlers
  raw/cnxk_bphy: add support for selftest

 MAINTAINERS                                |   5 +
 doc/guides/rawdevs/cnxk_bphy.rst           |  62 +++
 doc/guides/rawdevs/index.rst               |   1 +
 drivers/common/cnxk/meson.build            |   3 +
 drivers/common/cnxk/roc_api.h              |   7 +
 drivers/common/cnxk/roc_bphy.c             |  40 ++
 drivers/common/cnxk/roc_bphy.h             |  17 +
 drivers/common/cnxk/roc_bphy_cgx.c         | 396 +++++++++++++++++++
 drivers/common/cnxk/roc_bphy_cgx.h         | 120 ++++++
 drivers/common/cnxk/roc_bphy_cgx_priv.h    | 131 +++++++
 drivers/common/cnxk/roc_bphy_irq.c         | 422 +++++++++++++++++++++
 drivers/common/cnxk/roc_bphy_irq.h         |  49 +++
 drivers/common/cnxk/roc_idev.c             |   1 +
 drivers/common/cnxk/roc_idev_priv.h        |   2 +
 drivers/common/cnxk/roc_io.h               |   9 +
 drivers/common/cnxk/roc_io_generic.h       |   5 +
 drivers/common/cnxk/roc_priv.h             |   3 +
 drivers/common/cnxk/version.map            |  22 ++
 drivers/raw/cnxk_bphy/cnxk_bphy.c          | 250 ++++++++++++
 drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c      | 321 ++++++++++++++++
 drivers/raw/cnxk_bphy/cnxk_bphy_cgx.h      |  10 +
 drivers/raw/cnxk_bphy/cnxk_bphy_cgx_test.c | 206 ++++++++++
 drivers/raw/cnxk_bphy/cnxk_bphy_irq.c      | 100 +++++
 drivers/raw/cnxk_bphy/cnxk_bphy_irq.h      |  40 ++
 drivers/raw/cnxk_bphy/meson.build          |  12 +
 drivers/raw/cnxk_bphy/rte_pmd_bphy.h       | 121 ++++++
 drivers/raw/cnxk_bphy/version.map          |  22 ++
 drivers/raw/meson.build                    |   1 +
 usertools/dpdk-devbind.py                  |   6 +-
 29 files changed, 2383 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/rawdevs/cnxk_bphy.rst
 create mode 100644 drivers/common/cnxk/roc_bphy.c
 create mode 100644 drivers/common/cnxk/roc_bphy.h
 create mode 100644 drivers/common/cnxk/roc_bphy_cgx.c
 create mode 100644 drivers/common/cnxk/roc_bphy_cgx.h
 create mode 100644 drivers/common/cnxk/roc_bphy_cgx_priv.h
 create mode 100644 drivers/common/cnxk/roc_bphy_irq.c
 create mode 100644 drivers/common/cnxk/roc_bphy_irq.h
 create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy.c
 create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c
 create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_cgx.h
 create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_cgx_test.c
 create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_irq.c
 create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_irq.h
 create mode 100644 drivers/raw/cnxk_bphy/meson.build
 create mode 100644 drivers/raw/cnxk_bphy/rte_pmd_bphy.h
 create mode 100644 drivers/raw/cnxk_bphy/version.map

--
2.25.1