Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions platform/broadcom/sai-modules.mk
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Broadcom SAI modules

BRCM_OPENNSL_KERNEL_VERSION = 13.2.1.0

BRCM_OPENNSL_KERNEL_VERSION = 14.1.0.1
BRCM_OPENNSL_KERNEL = opennsl-modules_$(BRCM_OPENNSL_KERNEL_VERSION)_amd64.deb
$(BRCM_OPENNSL_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/saibcm-modules
$(BRCM_OPENNSL_KERNEL)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
Expand Down
4 changes: 2 additions & 2 deletions platform/broadcom/sai.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
LIBSAIBCM_XGS_VERSION = 13.2.1.24
LIBSAIBCM_XGS_VERSION = 14.1.0.1.0.0.0.0
LIBSAIBCM_DNX_VERSION = 13.2.1.8
LIBSAIBCM_XGS_BRANCH_NAME = SAI_13.2.1_GA
LIBSAIBCM_XGS_BRANCH_NAME = SAI_14.1.0_GA
LIBSAIBCM_DNX_BRANCH_NAME = SAI_13.2.1_GA
LIBSAIBCM_XGS_URL_PREFIX = "https://packages.trafficmanager.net/public/sai/sai-broadcom/$(LIBSAIBCM_XGS_BRANCH_NAME)/$(LIBSAIBCM_XGS_VERSION)/xgs"
LIBSAIBCM_DNX_URL_PREFIX = "https://packages.trafficmanager.net/public/sai/sai-broadcom/$(LIBSAIBCM_DNX_BRANCH_NAME)/$(LIBSAIBCM_DNX_VERSION)/dnx"
Expand Down
6 changes: 6 additions & 0 deletions platform/broadcom/saibcm-modules/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
opennsl (14.1.0.1) unstable; urgency=medium

* Update to Broadcom SAI 14.1.0.1

-- Ziting Guo <zitingguo@microsoft.com> Tue, 2 Dec 2025 06:24:27 +0000

opennsl (13.2.1.0) unstable; urgency=medium

* Update to Broadcom SAI 13.2.1.0
Expand Down
21 changes: 19 additions & 2 deletions platform/broadcom/saibcm-modules/include/ibde.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/*
* $Id: ibde.h,v 1.27 Broadcom SDK $
* $Copyright: 2017-2024 Broadcom Inc. All rights reserved.
*
* $Copyright: 2017-2025 Broadcom Inc. All rights reserved.
*
* Permission is granted to use, copy, modify and/or distribute this
* software under either one of the licenses below.
Expand Down Expand Up @@ -132,11 +133,17 @@ typedef struct ibde_s {
uint32 (*read)(int d, uint32 addr);
int (*write)(int d, uint32 addr, uint32 data);

/*
* DMA Management
*/
uint32* (*salloc)(int d, int size, const char *name);
void (*sfree)(int d, void *ptr);
int (*sflush)(int d, void *addr, int length);
int (*sinval)(int d, void *addr, int length);

/*
* Interrupt Management
*/
int (*interrupt_connect)(int d, void (*)(void*), void *data);
int (*interrupt_disconnect)(int d);

Expand Down Expand Up @@ -165,7 +172,7 @@ typedef struct ibde_s {
sal_vaddr_t (*shmem_map)(int dev, uint32 addr, uint32 size);

/*
* cmic
* CMIC
*/
int (*get_cmic_ver)(int d, uint32 *ver);

Expand Down Expand Up @@ -204,6 +211,16 @@ typedef struct ibde_s {
* -1: An error happened during device probe.
*/
int (*probe)(void);

/*
* Get DMA debug information.
*
* This function was placed here to retain backward compatibility
* with BDE implementations that employ a fixed-order function
* list.
*/
int (*sinfo)(int d, int type, uint32 *data);

} ibde_t;


Expand Down
47 changes: 34 additions & 13 deletions platform/broadcom/saibcm-modules/include/kcom.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/*
* $Id: kcom.h,v 1.9 Broadcom SDK $
* $Copyright: 2017-2024 Broadcom Inc. All rights reserved.
*
* $Copyright: 2017-2025 Broadcom Inc. All rights reserved.
*
* Permission is granted to use, copy, modify and/or distribute this
* software under either one of the licenses below.
Expand Down Expand Up @@ -61,6 +62,7 @@
#define KCOM_M_NETIF_DESTROY 12 /* Destroy network interface */
#define KCOM_M_NETIF_LIST 13 /* Get list of network interface IDs */
#define KCOM_M_NETIF_GET 14 /* Get network interface info */
#define KCOM_M_NETIF_REPLACE 15 /* Replace network interface with ID */
#define KCOM_M_FILTER_CREATE 21 /* Create Rx filter */
#define KCOM_M_FILTER_DESTROY 22 /* Destroy Rx filter */
#define KCOM_M_FILTER_LIST 23 /* Get list of Rx filter IDs */
Expand All @@ -72,7 +74,7 @@
#define KCOM_M_CLOCK_CMD 52 /* Clock Commands */
#define KCOM_M_PCIE_LINK_STATUS 53 /* PCIe link status */

#define KCOM_VERSION 18 /* Protocol version */
#define KCOM_VERSION 24 /* Protocol version */

/*
* Message status codes
Expand Down Expand Up @@ -142,18 +144,18 @@ typedef struct kcom_msg_hdr_s {
#define KCOM_NETIF_SYSTEM_HEADERS_SIZE_MAX 64

typedef struct kcom_netif_s {
uint16 id;
uint8 type;
uint8 flags;
uint32 cb_user_data;
uint16 id;
uint16 port;
uint16 vlan;
uint16 qnum;
uint16 phys_port;
uint8 type;
uint8 flags;
uint8 macaddr[6];
uint8 system_headers[KCOM_NETIF_SYSTEM_HEADERS_SIZE_MAX];
uint8 system_headers_size;
char name[KCOM_NETIF_NAME_MAX];
uint8 phys_port;
} kcom_netif_t;

/*
Expand Down Expand Up @@ -361,13 +363,27 @@ typedef struct kcom_msg_version_s {
/*
* Request KCOM interface clock info.
*/
#define KSYNC_M_HW_INIT 0
#define KSYNC_M_HW_DEINIT 1
#define KSYNC_M_VERSION 2
#define KSYNC_M_HW_TS_DISABLE 3
#define KSYNC_M_MTP_TS_UPDATE_ENABLE 4
#define KSYNC_M_MTP_TS_UPDATE_DISABLE 5
#define KSYNC_M_DNX_JR2DEVS_SYS_CONFIG 6
#define KSYNC_M_HW_INIT 0
#define KSYNC_M_HW_DEINIT 1
#define KSYNC_M_VERSION 2
#define KSYNC_M_HW_TS_DISABLE 3
#define KSYNC_M_MTP_TS_UPDATE_ENABLE 4
#define KSYNC_M_MTP_TS_UPDATE_DISABLE 5
#define KSYNC_M_DNX_JR2DEVS_SYS_CONFIG 6
#define KSYNC_M_BS_CONFIG_SET 7
#define KSYNC_M_BS_CONFIG_CLEAR 8
#define KSYNC_M_BS_STATUS 9
#define KSYNC_M_PTP_TOD_OFFSET_SET 10
#define KSYNC_M_PTP_TOD_OFFSET_GET 11
#define KSYNC_M_NTP_TOD_OFFSET_SET 12
#define KSYNC_M_NTP_TOD_OFFSET_GET 13
#define KSYNC_M_PTP_TOD_GET 14
#define KSYNC_M_NTP_TOD_GET 15
#define KSYNC_M_GPIO_CONFIG_SET 16
#define KSYNC_M_GPIO_CONFIG_GET 17
#define KSYNC_M_LEAP_SEC_SET 18
#define KSYNC_M_LEAP_SEC_GET 19
#define KSYNC_M_BS_PHASE_OFFSET_SET 20

typedef struct kcom_clock_info_s {
uint8 cmd;
Expand Down Expand Up @@ -588,11 +604,16 @@ typedef struct kcom_msg_hw_info_s {
uint32 udh_length_type[4];
uint32 udh_size;
uint32 oamp_punted;
uint32 jr_mode_udh_size_compensation;
uint32 jr_mode_add_udh_base;
uint32 enet_channels;
uint8 no_skip_udh_check;
uint8 oam_dm_tod_exist;
uint8 system_headers_mode;
uint8 udh_enable;
uint16 up_mep_ingress_cpu_trap_id1;
uint16 up_mep_ingress_cpu_trap_id2;
uint8 spa_mode;
} kcom_msg_hw_info_t;

/*
Expand Down
3 changes: 2 additions & 1 deletion platform/broadcom/saibcm-modules/include/sal/types.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/*
* $Id: types.h,v 1.3 Broadcom SDK $
* $Copyright: 2017-2024 Broadcom Inc. All rights reserved.
*
* $Copyright: 2017-2025 Broadcom Inc. All rights reserved.
*
* Permission is granted to use, copy, modify and/or distribute this
* software under either one of the licenses below.
Expand Down
3 changes: 2 additions & 1 deletion platform/broadcom/saibcm-modules/include/sdk_config.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/*
* $Id: sdk_config.h,v 1.5 Broadcom SDK $
* $Copyright: 2017-2024 Broadcom Inc. All rights reserved.
*
* $Copyright: 2017-2025 Broadcom Inc. All rights reserved.
*
* Permission is granted to use, copy, modify and/or distribute this
* software under either one of the licenses below.
Expand Down
71 changes: 68 additions & 3 deletions platform/broadcom/saibcm-modules/include/soc/devids.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/*
* $Id: devids.h,v 1.309 Broadcom SDK $
* $Copyright: 2017-2024 Broadcom Inc. All rights reserved.
*
* $Copyright: 2017-2025 Broadcom Inc. All rights reserved.
*
* Permission is granted to use, copy, modify and/or distribute this
* software under either one of the licenses below.
Expand Down Expand Up @@ -1642,6 +1643,13 @@
#define BCM56474_DEVICE_ID 0xb474
#define BCM56474_A0_REV_ID 1

/* Trident3 X3Plus */
#define BCM56390_DEVICE_ID 0xb390
#define BCM56390_A0_REV_ID 1
#define BCM56391_DEVICE_ID 0xb391
#define BCM56391_A0_REV_ID 1
#define BCM56392_DEVICE_ID 0xb392
#define BCM56392_A0_REV_ID 1

/* Wolfhound2 (Hurricane3-CR)*/
#define BCM53540_DEVICE_ID 0x8540
Expand Down Expand Up @@ -1725,6 +1733,11 @@
#define BCM88955_A1_REV_ID 0x0002
#define BCM88956_DEVICE_ID 0x8956
#define BCM88956_A1_REV_ID 0x0002
#define DNXC_REV_A_FAMILY 0
#define DNXC_REV_B_FAMILY 0x10
#define DNXC_REV_C_FAMILY 0x20
#define DNXC_REV_D_FAMILY 0x30
#define DNXC_REV_FAMILY_MASK 0xf0
#define DNXC_A0_REV_ID 0x0001
#define DNXC_A1_REV_ID 0x0002
#define DNXC_A2_REV_ID 0x0003
Expand Down Expand Up @@ -1754,12 +1767,17 @@
#define BCM8879C_DEVICE_ID 0x879C
#define BCM8879D_DEVICE_ID 0x879D
#define BCM8879E_DEVICE_ID 0x879E
#define BCM8879F_DEVICE_ID 0x879F
#define BCM8879F_DEVICE_ID 0x879F
#ifdef BCM_DNXF3_SUPPORT
#define RAMON2_DEVICE_ID 0x8910
#define BCM8891F_DEVICE_ID 0x891F
#define RAMON3_DEVICE_ID 0x8920
#endif
#ifdef BCM_DNXFE_SUPPORT
#ifdef BCM_RAMON_4_SUPPORT
#define RAMON4_DEVICE_ID 0x9470
#endif
#endif
#define ARADPLUS_DEVICE_ID 0x8660
#define ARADPLUS_A0_REV_ID 0x0001
#define BCM88660_DEVICE_ID ARADPLUS_DEVICE_ID
Expand Down Expand Up @@ -2051,9 +2069,15 @@

#ifdef BCM_DNX3_SUPPORT
#define JERICHO3_DEVICE_ID 0x8860
#define J3_PLUS_DEVICE_ID 0x8867
#define J3_PLUS_DEVICE_ID_START J3_PLUS_DEVICE_ID
#define J3_PLUS_DEVICE_ID_END 0x8869
#define Q3_DEVICE_ID_START 0x886a
#define Q3_DEVICE_ID_END 0x886f
#define J3AI_DEVICE_ID 0x8890
#define J3AI_DEVICE_ID 0x8890
#define J3AI_PLUS_DEVICE_ID 0x8897
#define J3AI_PLUS_DEVICE_ID_START J3AI_PLUS_DEVICE_ID
#define J3AI_PLUS_DEVICE_ID_END 0x889f
#define Q3D_DEVICE_ID 0x8870
#ifdef BCM_Q3A_SUPPORT
#define Q3A_DEVICE_ID 0x8490
Expand All @@ -2062,6 +2086,23 @@
#define Q3U_ORIG_DEVICE_ID 0x8400
#define Q3N_ORIG_DEVICE_ID 0x8405
#endif
#ifdef BCM_JERICHO_4_SUPPORT
#define JERICHO4_DEVICE_ID 0x9450
#define Q4_DEVICE_ID 0x9420
#endif

#ifdef BCM_Q4D_SUPPORT
#define Q4D_DEVICE_ID 0x9430
#define Q4D_PT200_START_DEVICE_ID 0x9436
#define Q4D_PT200_END_DEVICE_ID 0x9439
#endif


#ifdef BCM_J4L_SUPPORT
#define J4L_DEVICE_ID 0x9410
#endif


#endif
#define Q2A_DEVICE_ID 0x8480
#define Q2A_A0_REV_ID DNXC_A0_REV_ID
Expand Down Expand Up @@ -2202,6 +2243,16 @@

#define PLX9056_DEVICE_ID 0x9056 /* needed for DNX_TEST_BOARD */

/* Tomahawk F1 */
#define BCM78920_DEVICE_ID 0xf920
#define BCM78920_A0_REV_ID 0x0001
#define BCM78923_DEVICE_ID 0xf923
#define BCM78923_A0_REV_ID 0x0001
#define BCM78924_DEVICE_ID 0xf924
#define BCM78924_A0_REV_ID 0x0001
#define BCM78928_DEVICE_ID 0xf928
#define BCM78928_A0_REV_ID 0x0001

/* Trident4 X11c */
#define BCM56890_DEVICE_ID 0xb890
#define BCM56890_A0_REV_ID 0x0001
Expand Down Expand Up @@ -2324,6 +2375,20 @@
#define BCM78907_DEVICE_ID 0xf907
#define BCM78907_A0_REV_ID 0x0001

/* Tomahawk6P */
#define BCM78910_DEVICE_ID 0xf910
#define BCM78910_A0_REV_ID 0x0001

/* Tomahawk6C */
#define BCM78914_DEVICE_ID 0xf914
#define BCM78914_B0_REV_ID 0x0011

/* Tomahawk6C */
#ifndef BCM78914_DEVICE_ID
#define BCM78914_DEVICE_ID 0xf914
#endif
#define BCM78914_B1_REV_ID 0x0012

/* Firelight2 */
#define BCM56080_DEVICE_ID 0xb080
#define BCM56080_A0_REV_ID 0x0001
Expand Down
3 changes: 2 additions & 1 deletion platform/broadcom/saibcm-modules/make/Make.clang
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# $Id: Make.clang
# $Copyright: 2017-2024 Broadcom Inc. All rights reserved.
#
# $Copyright: 2017-2025 Broadcom Inc. All rights reserved.
#
# Permission is granted to use, copy, modify and/or distribute this
# software under either one of the licenses below.
Expand Down
7 changes: 6 additions & 1 deletion platform/broadcom/saibcm-modules/make/Make.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# $Id: Make.config,v 1.3 Broadcom SDK $
# $Copyright: 2017-2024 Broadcom Inc. All rights reserved.
#
# $Copyright: 2017-2025 Broadcom Inc. All rights reserved.
#
# Permission is granted to use, copy, modify and/or distribute this
# software under either one of the licenses below.
Expand Down Expand Up @@ -82,19 +83,23 @@ endif # ALL_CHIPS

ifdef ALL_DNX2_CHIPS
CFGFLAGS += -DBCM_DNX_SUPPORT
CFGFLAGS += -DBCM_INSTANCE_SUPPORT
endif

ifdef ALL_DNX3_CHIPS
CFGFLAGS += -DBCM_DNX3_SUPPORT
CFGFLAGS += -DBCM_INSTANCE_SUPPORT
endif


ifdef ALL_DNXF1_CHIPS
CFGFLAGS += -DBCM_DNXF_SUPPORT
CFGFLAGS += -DBCM_INSTANCE_SUPPORT
endif

ifdef ALL_DNXF3_CHIPS
CFGFLAGS += -DBCM_DNXF3_SUPPORT
CFGFLAGS += -DBCM_INSTANCE_SUPPORT
endif


Expand Down
Loading
Loading