.../ethernet/nebula-matrix/m18100.rst | 52 + MAINTAINERS | 10 + drivers/net/ethernet/Kconfig | 1 + drivers/net/ethernet/Makefile | 1 + drivers/net/ethernet/nebula-matrix/Kconfig | 39 + drivers/net/ethernet/nebula-matrix/Makefile | 6 + .../net/ethernet/nebula-matrix/nbl/Makefile | 41 + .../nbl/nbl_channel/nbl_channel.c | 1518 +++++ .../nbl/nbl_channel/nbl_channel.h | 214 + .../nebula-matrix/nbl/nbl_common/nbl_common.c | 1063 ++++ .../nebula-matrix/nbl/nbl_common/nbl_common.h | 69 + .../net/ethernet/nebula-matrix/nbl/nbl_core.h | 145 + .../nebula-matrix/nbl/nbl_core/nbl_dev.c | 3277 +++++++++++ .../nebula-matrix/nbl/nbl_core/nbl_dev.h | 343 ++ .../nebula-matrix/nbl/nbl_core/nbl_dev_user.c | 1607 ++++++ .../nebula-matrix/nbl/nbl_core/nbl_dev_user.h | 76 + .../nebula-matrix/nbl/nbl_core/nbl_dispatch.c | 4756 ++++++++++++++++ .../nebula-matrix/nbl/nbl_core/nbl_dispatch.h | 89 + .../nebula-matrix/nbl/nbl_core/nbl_service.c | 4895 +++++++++++++++++ .../nebula-matrix/nbl/nbl_core/nbl_service.h | 301 + .../nebula-matrix/nbl/nbl_core/nbl_sysfs.c | 79 + .../nebula-matrix/nbl/nbl_core/nbl_sysfs.h | 21 + .../nebula-matrix/nbl/nbl_hw/nbl_adminq.c | 1520 +++++ .../nebula-matrix/nbl/nbl_hw/nbl_adminq.h | 196 + .../nebula-matrix/nbl/nbl_hw/nbl_hw.h | 184 + .../nbl_hw/nbl_hw_leonis/base/nbl_datapath.h | 14 + .../nbl_hw_leonis/base/nbl_datapath_dpa.h | 765 +++ .../nbl_hw_leonis/base/nbl_datapath_dped.h | 2152 ++++++++ .../nbl_hw_leonis/base/nbl_datapath_dstore.h | 957 ++++ .../nbl_hw_leonis/base/nbl_datapath_ucar.h | 414 ++ .../nbl_hw_leonis/base/nbl_datapath_upa.h | 822 +++ .../nbl_hw_leonis/base/nbl_datapath_uped.h | 1499 +++++ .../nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe.h | 16 + .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_acl.h | 2417 ++++++++ .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_epro.h | 665 +++ .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_fem.h | 1490 +++++ .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_ipro.h | 1397 +++++ .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_mcc.h | 412 ++ .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp0.h | 619 +++ .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp1.h | 701 +++ .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp2.h | 619 +++ .../nbl_hw/nbl_hw_leonis/nbl_flow_leonis.c | 2094 +++++++ .../nbl_hw/nbl_hw_leonis/nbl_flow_leonis.h | 204 + .../nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.c | 3062 +++++++++++ .../nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.h | 1844 +++++++ .../nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.c | 3864 +++++++++++++ .../nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.h | 12 + .../nbl_hw/nbl_hw_leonis/nbl_queue_leonis.c | 1373 +++++ .../nbl_hw/nbl_hw_leonis/nbl_queue_leonis.h | 25 + .../nbl_hw_leonis/nbl_resource_leonis.c | 1073 ++++ .../nbl_hw_leonis/nbl_resource_leonis.h | 26 + .../nebula-matrix/nbl/nbl_hw/nbl_hw_reg.h | 187 + .../nebula-matrix/nbl/nbl_hw/nbl_interrupt.c | 409 ++ .../nebula-matrix/nbl/nbl_hw/nbl_interrupt.h | 13 + .../nebula-matrix/nbl/nbl_hw/nbl_p4_actions.h | 59 + .../nebula-matrix/nbl/nbl_hw/nbl_queue.c | 56 + .../nebula-matrix/nbl/nbl_hw/nbl_queue.h | 11 + .../nebula-matrix/nbl/nbl_hw/nbl_resource.c | 409 ++ .../nebula-matrix/nbl/nbl_hw/nbl_resource.h | 853 +++ .../nebula-matrix/nbl/nbl_hw/nbl_txrx.c | 2026 +++++++ .../nebula-matrix/nbl/nbl_hw/nbl_txrx.h | 188 + .../nebula-matrix/nbl/nbl_hw/nbl_vsi.c | 270 + .../nebula-matrix/nbl/nbl_hw/nbl_vsi.h | 12 + .../nbl/nbl_include/nbl_def_channel.h | 785 +++ .../nbl/nbl_include/nbl_def_common.h | 515 ++ .../nbl/nbl_include/nbl_def_dev.h | 37 + .../nbl/nbl_include/nbl_def_dispatch.h | 192 + .../nbl/nbl_include/nbl_def_hw.h | 142 + .../nbl/nbl_include/nbl_def_resource.h | 188 + .../nbl/nbl_include/nbl_def_service.h | 164 + .../nbl/nbl_include/nbl_include.h | 624 +++ .../nbl/nbl_include/nbl_product_base.h | 21 + .../net/ethernet/nebula-matrix/nbl/nbl_main.c | 477 ++ 73 files changed, 56677 insertions(+) create mode 100644 Documentation/networking/device_drivers/ethernet/nebula-matrix/m18100.rst create mode 100644 drivers/net/ethernet/nebula-matrix/Kconfig create mode 100644 drivers/net/ethernet/nebula-matrix/Makefile create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/Makefile create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_channel/nbl_channel.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_channel/nbl_channel.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_sysfs.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_sysfs.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_dpa.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_dped.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_dstore.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_ucar.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_upa.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_uped.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_acl.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_epro.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_fem.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_ipro.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_mcc.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp0.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp1.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp2.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_flow_leonis.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_flow_leonis.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_queue_leonis.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_queue_leonis.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_resource_leonis.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_resource_leonis.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_reg.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_p4_actions.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_queue.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_queue.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_channel.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_common.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_dev.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_dispatch.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_hw.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_resource.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_include.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_product_base.h create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_main.c