Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BCMSAI] Update BCMSAI debian to 6.0.0.10 with 6.5.23 SDK, and opennsl module to 6.5.23 #9046

Merged
merged 8 commits into from
Oct 28, 2021
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions platform/broadcom/sai-modules.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Broadcom SAI modules

BRCM_OPENNSL_KERNEL_VERSION = 5.0.0.4
BRCM_OPENNSL_KERNEL_VERSION = 6.0.0.10

BRCM_OPENNSL_KERNEL = opennsl-modules_$(BRCM_OPENNSL_KERNEL_VERSION)_amd64.deb
$(BRCM_OPENNSL_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/saibcm-modules
Expand All @@ -10,7 +10,7 @@ $(BRCM_OPENNSL_KERNEL)_MACHINE = broadcom
SONIC_DPKG_DEBS += $(BRCM_OPENNSL_KERNEL)

# SAI bcm modules for DNX family ASIC
BRCM_DNX_OPENNSL_KERNEL_VERSION = 5.0.0.4
BRCM_DNX_OPENNSL_KERNEL_VERSION = 6.0.0.10

BRCM_DNX_OPENNSL_KERNEL = opennsl-modules-dnx_$(BRCM_DNX_OPENNSL_KERNEL_VERSION)_amd64.deb
$(BRCM_DNX_OPENNSL_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/saibcm-modules-dnx
Expand Down
12 changes: 6 additions & 6 deletions platform/broadcom/sai.mk
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
BRCM_SAI = libsaibcm_5.0.0.8_amd64.deb
$(BRCM_SAI)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/5.0/master/libsaibcm_5.0.0.8_amd64.deb?sv=2015-04-05&sr=b&sig=T%2FPesnOIeN9802mClMpgk8XFQbqjFAgCnJbbNHxijHo%3D&se=2035-05-13T21%3A34%3A26Z&sp=r"
BRCM_SAI_DEV = libsaibcm-dev_5.0.0.8_amd64.deb
BRCM_SAI = libsaibcm_6.0.0.10_amd64.deb
$(BRCM_SAI)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/6.0/master/libsaibcm_6.0.0.10_amd64.deb?sv=2020-08-04&st=2021-10-20T15%3A46%3A03Z&se=2030-10-21T15%3A46%3A00Z&sr=b&sp=r&sig=zhosphas9cBuH%2B7mLC%2ByarQPQSIe2LY%2FXOATIW96cVY%3D"
BRCM_SAI_DEV = libsaibcm-dev_6.0.0.10_amd64.deb
$(eval $(call add_derived_package,$(BRCM_SAI),$(BRCM_SAI_DEV)))
$(BRCM_SAI_DEV)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/5.0/master/libsaibcm-dev_5.0.0.8_amd64.deb?sv=2015-04-05&sr=b&sig=X33hZLhRI3L6f4a5JFSlhJvoaTj%2B3zrmNBM9IzIA%2Bj4%3D&se=2035-05-13T21%3A35%3A58Z&sp=r"
$(BRCM_SAI_DEV)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/6.0/master/libsaibcm-dev_6.0.0.10_amd64.deb?sv=2020-08-04&st=2021-10-20T15%3A47%3A11Z&se=2030-10-21T15%3A47%3A00Z&sr=b&sp=r&sig=pKZxnQKw%2BY6CzAd8swa5yZDduKIrQw7TWyChT5tkqlk%3D"

# SAI module for DNX Asic family
BRCM_DNX_SAI = libsaibcm_dnx_5.0.0.8_amd64.deb
$(BRCM_DNX_SAI)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/5.0/master/libsaibcm_dnx_5.0.0.8_amd64.deb?sv=2015-04-05&sr=b&sig=uy0OW6ZhWjYntalZunEIIzHUztkOyI7TS3F73Sla9vY%3D&se=2035-05-13T21%3A37%3A06Z&sp=r"
BRCM_DNX_SAI = libsaibcm_dnx_6.0.0.10_amd64.deb
$(BRCM_DNX_SAI)_URL = "https://sonicstorage.blob.core.windows.net/packages/bcmsai/6.0/master/libsaibcm_dnx_6.0.0.10_amd64.deb?sv=2020-08-04&st=2021-10-20T15%3A48%3A05Z&se=2030-10-21T15%3A48%3A00Z&sr=b&sp=r&sig=1sqJI5dLLrci9iu%2FPhNWZJzj0nf5lmcRrAUkASOQVjo%3D"

SONIC_ONLINE_DEBS += $(BRCM_SAI)
SONIC_ONLINE_DEBS += $(BRCM_DNX_SAI)
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 (6.0.0.10) unstable; urgency=medium

* Update to Broadcom SAI 6.0.0.10

-- Vineet Mittal <[email protected]> Fri, 21 Oct 2021 18:36:38 +0000

opennsl (5.0.0.4) unstable; urgency=medium

* Update to Broadcom SAI 5.0.0.4
Expand Down
3 changes: 3 additions & 0 deletions platform/broadcom/saibcm-modules/include/ibde.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ typedef struct ibde_s {
#define BDE_I2C_DEV_TYPE SAL_I2C_DEV_TYPE /* I2C device */
#define BDE_AXI_DEV_TYPE SAL_AXI_DEV_TYPE /* AXI device */
#define BDE_EMMI_DEV_TYPE SAL_EMMI_DEV_TYPE /* EMMI device */
#define BDE_COMPOSITE_DEV_TYPE SAL_COMPOSITE_DEV_TYPE /* Composite device, composed of sub-devices with buses */
#define BDE_USER_DEV_TYPE SAL_USER_DEV_TYPE /* The user implements his own method of access to the device */
#define BDE_DEV_BUS_ALT SAL_DEV_BUS_ALT /* Alternate Access */
#define BDE_DEV_BUS_MSI SAL_DEV_BUS_MSI /* Message-signaled interrupts */

Expand All @@ -104,6 +106,7 @@ typedef struct ibde_s {
#define BDE_128K_REG_SPACE 0x40000000 /* Map 128K (v 64K) */
#define BDE_320K_REG_SPACE 0x80000000 /* Map 256K+64K */


/* Bus supports only 16bit reads */
#define BDE_DEV_BUS_RD_16BIT SAL_DEV_BUS_RD_16BIT

Expand Down
31 changes: 29 additions & 2 deletions platform/broadcom/saibcm-modules/include/kcom.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
#define KCOM_M_ETH_HW_CONFIG 5 /* ETH HW config*/
#define KCOM_M_DETACH 6 /* Detach kernel module */
#define KCOM_M_REPROBE 7 /* Reprobe device */
#define KCOM_M_HW_INFO 8 /* Send the HW info to kernel module */
#define KCOM_M_NETIF_CREATE 11 /* Create network interface */
#define KCOM_M_NETIF_DESTROY 12 /* Destroy network interface */
#define KCOM_M_NETIF_LIST 13 /* Get list of network interface IDs */
Expand All @@ -72,7 +73,7 @@
#define KCOM_M_WB_CLEANUP 51 /* Clean up for warmbooting */
#define KCOM_M_CLOCK_CMD 52 /* Clock Commands */

#define KCOM_VERSION 12 /* Protocol version */
#define KCOM_VERSION 13 /* Protocol version */

/*
* Message status codes
Expand Down Expand Up @@ -299,7 +300,7 @@ typedef struct kcom_dma_info_s {
void *p;
uint8 b[8];
} cookie;
} kcom_dma_info_t;
} kcom_dma_info_t;

/* Default channel configuration */
#define KCOM_DMA_TX_CHAN 0
Expand Down Expand Up @@ -331,6 +332,18 @@ typedef struct kcom_eth_hw_config_s {
uint32 value;
} kcom_eth_hw_config_t;

#ifndef KCOM_HW_INFO_OAMP_PORT_MAX
#define KCOM_HW_INFO_OAMP_PORT_MAX 4
#endif

/*
* Send the OAMP information to Kernel module.
*/
typedef struct kcom_oamp_info_s {
uint32 oamp_port_number;
uint32 oamp_ports[KCOM_HW_INFO_OAMP_PORT_MAX];
} kcom_oamp_info_t;

/*
* Message types
*/
Expand Down Expand Up @@ -421,6 +434,11 @@ typedef struct kcom_msg_hw_init_s {
uint8 no_skip_udh_check;
uint8 system_headers_mode;
uint8 udh_enable;
/*
* Bitmap of DMA channels reserved for the user mode network driver.
* These channels cannot be used by the kernel network driver (KNET).
*/
uint32 unet_channels;
} kcom_msg_hw_init_t;

/*
Expand Down Expand Up @@ -554,6 +572,14 @@ typedef struct kcom_msg_dma_info_s {
kcom_dma_info_t dma_info;
} kcom_msg_dma_info_t;

/*
* HW info
*/
typedef struct kcom_msg_hw_info_s {
kcom_msg_hdr_t hdr;
kcom_oamp_info_t oamp_info;
} kcom_msg_hw_info_t;

/*
* All messages (e.g. for generic receive)
*/
Expand All @@ -564,6 +590,7 @@ typedef union kcom_msg_s {
kcom_msg_hw_reset_t hw_reset;
kcom_msg_hw_init_t hw_init;
kcom_msg_eth_hw_config_t eth_hw_config;
kcom_msg_hw_info_t hw_info;
kcom_msg_detach_t detach;
kcom_msg_reprobe_t reprobe;
kcom_msg_netif_create_t netif_create;
Expand Down
97 changes: 69 additions & 28 deletions platform/broadcom/saibcm-modules/include/soc/devids.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
* https://www.broadcom.com/products/ethernet-connectivity/software/opennsa
*/
/*
* Copyright: (c) 2020 Broadcom.
* Copyright: (c) 2021 Broadcom.
* All Rights Reserved.
*/

Expand Down Expand Up @@ -846,13 +846,6 @@
#define BCM56746_A0_REV_ID 1
#define BCM56746_A1_REV_ID 2

#define BCM88732_DEVICE_ID 0x0732
#define BCM88732_A0_REV_ID 1
#define BCM88732_A1_REV_ID 2
#define BCM88732_A2_REV_ID 4
#define BCM88732_B0_REV_ID 0x11
#define BCM88732_B1_REV_ID 0x12
#define BCM88732_B2_REV_ID 0x13

#define BCM56640_DEVICE_ID 0xb640
#define BCM56640_A0_REV_ID 1
Expand Down Expand Up @@ -1526,6 +1519,8 @@
#define BCM56472_A0_REV_ID 1
#define BCM56475_DEVICE_ID 0xb475
#define BCM56475_A0_REV_ID 1
#define BCM56474_DEVICE_ID 0xb474
#define BCM56474_A0_REV_ID 1


#define BCM53540_DEVICE_ID 0x8540
Expand Down Expand Up @@ -1560,10 +1555,6 @@
#define ARAD_A0_REV_ID 0x0000
#define ARAD_B0_REV_ID 0x0011
#define ARAD_B1_REV_ID 0x0012
#define BCM88650_DEVICE_ID ARAD_DEVICE_ID
#define BCM88650_A0_REV_ID ARAD_A0_REV_ID
#define BCM88650_B0_REV_ID ARAD_B0_REV_ID
#define BCM88650_B1_REV_ID ARAD_B1_REV_ID
#define BCM88770_DEVICE_ID 0x8770
#define BCM88770_A1_REV_ID 0x0002
#define BCM88773_DEVICE_ID 0x8773
Expand Down Expand Up @@ -1814,8 +1805,10 @@

#define J2P_DEVICE_ID 0x8850
#define J2P_A0_REV_ID DNXC_A0_REV_ID
#define J2P_A1_REV_ID DNXC_A1_REV_ID
#define BCM88850_DEVICE_ID J2P_DEVICE_ID
#define BCM88850_A0_REV_ID J2P_A0_REV_ID
#define BCM88850_A1_REV_ID J2P_A1_REV_ID
#define BCM88851_DEVICE_ID 0x8851
#define BCM88852_DEVICE_ID 0x8852
#define BCM88853_DEVICE_ID 0x8853
Expand All @@ -1832,6 +1825,23 @@
#define BCM8885E_DEVICE_ID 0x885E
#define BCM8885F_DEVICE_ID 0x885F

#define BCM88840_DEVICE_ID 0x8840
#define BCM88841_DEVICE_ID 0x8841
#define BCM88842_DEVICE_ID 0x8842
#define BCM88843_DEVICE_ID 0x8843
#define BCM88844_DEVICE_ID 0x8844
#define BCM88845_DEVICE_ID 0x8845
#define BCM88846_DEVICE_ID 0x8846
#define BCM88847_DEVICE_ID 0x8847
#define BCM88848_DEVICE_ID 0x8848
#define BCM88849_DEVICE_ID 0x8849
#define BCM8884A_DEVICE_ID 0x884A
#define BCM8884B_DEVICE_ID 0x884B
#define BCM8884C_DEVICE_ID 0x884C
#define BCM8884D_DEVICE_ID 0x884D
#define BCM8884E_DEVICE_ID 0x884E
#define BCM8884F_DEVICE_ID 0x884F


#define Q2A_DEVICE_ID 0x8480
#define Q2A_A0_REV_ID DNXC_A0_REV_ID
Expand Down Expand Up @@ -1875,6 +1885,24 @@
#define BCM8828E_DEVICE_ID 0x828E
#define BCM8828F_DEVICE_ID 0x828F

#define Q2N_DEVICE_ID 0x8290
#define BCM88290_DEVICE_ID Q2N_DEVICE_ID
#define BCM88291_DEVICE_ID 0x8291
#define BCM88292_DEVICE_ID 0x8292
#define BCM88293_DEVICE_ID 0x8293
#define BCM88294_DEVICE_ID 0x8294
#define BCM88295_DEVICE_ID 0x8295
#define BCM88296_DEVICE_ID 0x8296
#define BCM88297_DEVICE_ID 0x8297
#define BCM88298_DEVICE_ID 0x8298
#define BCM88299_DEVICE_ID 0x8299
#define BCM8829A_DEVICE_ID 0x829A
#define BCM8829B_DEVICE_ID 0x829B
#define BCM8829C_DEVICE_ID 0x829C
#define BCM8829D_DEVICE_ID 0x829D
#define BCM8829E_DEVICE_ID 0x829E
#define BCM8829F_DEVICE_ID 0x829F

#define QAX_DEVICE_ID 0x8470
#define QAX_A0_REV_ID 0x0001
#define QAX_B0_REV_ID 0x0011
Expand All @@ -1887,8 +1915,9 @@
#define BCM88474H_DEVICE_ID 0x847B
#define BCM88476_DEVICE_ID 0x8476
#define BCM88477_DEVICE_ID 0x8477



#define BCM88479_DEVICE_ID 0x8479



#define BCM88470_A0_REV_ID QAX_A0_REV_ID
Expand All @@ -1908,11 +1937,6 @@
#define BCM88278_DEVICE_ID 0x8278
#define BCM88279_DEVICE_ID 0x8279

#define FLAIR_DEVICE_ID 0xF000
#define FLAIR_A0_REV_ID 0x0001
#define BCM8206_DEVICE_ID FLAIR_DEVICE_ID
#define BCM8206_A0_REV_ID FLAIR_A0_REV_ID

#define BCM88360_DEVICE_ID 0x8360
#define BCM88360_A0_REV_ID ARADPLUS_A0_REV_ID
#define BCM88361_DEVICE_ID 0x8361
Expand Down Expand Up @@ -1949,10 +1973,6 @@
#define BCM88551_B1_REV_ID ARAD_B1_REV_ID
#define BCM88552_DEVICE_ID 0x8552
#define BCM88552_B1_REV_ID ARAD_B1_REV_ID
#define BCM88651_DEVICE_ID 0x8651
#define BCM88651_B1_REV_ID ARAD_B1_REV_ID
#define BCM88654_DEVICE_ID 0x8654
#define BCM88654_B1_REV_ID ARAD_B1_REV_ID

#define BCM88772_DEVICE_ID 0x8772
#define BCM88952_DEVICE_ID 0x8952
Expand All @@ -1969,7 +1989,6 @@

#define PLX9056_DEVICE_ID 0x9056

#ifdef BCM_LTSW_SUPPORT
#define BCM56880_DEVICE_ID 0xb880
#define BCM56880_A0_REV_ID 0x0001
#define BCM56880_B0_REV_ID 0x0011
Expand All @@ -1979,33 +1998,55 @@
#define BCM56883_DEVICE_ID 0xb883
#define BCM56883_A0_REV_ID 0x0001
#define BCM56883_B0_REV_ID 0x0011
#define BCM56889_DEVICE_ID 0xb889
#define BCM56889_A0_REV_ID 0x0001
#define BCM56889_B0_REV_ID 0x0011

#define BCM56780_DEVICE_ID 0xb780
#define BCM56780_A0_REV_ID 0x0001
#define BCM56782_DEVICE_ID 0xb782
#define BCM56782_A0_REV_ID 0x0001
#define BCM56784_DEVICE_ID 0xb784
#define BCM56784_A0_REV_ID 0x0001
#define BCM56785_DEVICE_ID 0xb785
#define BCM56785_A0_REV_ID 0x0001
#define BCM56786_DEVICE_ID 0xb786
#define BCM56786_A0_REV_ID 0x0001
#define BCM56787_DEVICE_ID 0xb787
#define BCM56787_A0_REV_ID 0x0001
#define BCM56788_DEVICE_ID 0xb788
#define BCM56788_A0_REV_ID 0x0001
#define BCM56789_DEVICE_ID 0xb789
#define BCM56789_A0_REV_ID 0x0001

#define BCM56990_DEVICE_ID 0xb990
#define BCM56990_A0_REV_ID 0x0001

#ifndef BCM56990_DEVICE_ID
#define BCM56990_DEVICE_ID 0xb990
#define BCM56990_A0_REV_ID 0x0001
#endif
#define BCM56990_B0_REV_ID 0x0011
#define BCM56991_DEVICE_ID 0xb991
#define BCM56991_B0_REV_ID 0x0011
#define BCM56992_DEVICE_ID 0xb992
#define BCM56992_B0_REV_ID 0x0011

#define BCM56995_DEVICE_ID 0xb995
#define BCM56995_A0_REV_ID 0x0001

#define BCM56996_DEVICE_ID 0xb996
#define BCM56996_A0_REV_ID 0x0001
#define BCM56997_DEVICE_ID 0xb997
#define BCM56997_A0_REV_ID 0x0001
#endif

#ifndef BCM56996_DEVICE_ID
#define BCM56996_DEVICE_ID 0xb996
#define BCM56996_A0_REV_ID 0x0001
#define BCM56997_DEVICE_ID 0xb997
#endif
#define BCM56996_B0_REV_ID 0x0011
#define BCM56997_B0_REV_ID 0x0011

#define BCM56998_DEVICE_ID 0xb998
#define BCM56998_A0_REV_ID 0x0001

#endif

3 changes: 0 additions & 3 deletions platform/broadcom/saibcm-modules/make/Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,6 @@ CPPFLAGS += ${INCFLAGS}

CFLAGS += -DSAI_FIXUP -UKCOM_FILTER_MAX -DKCOM_FILTER_MAX=1025 -UKCOM_NETIF_MAX -DKCOM_NETIF_MAX=1056

# Flag to enable multi instance support
CFLAGS += -DBCM_INSTANCE_SUPPORT

#
# Debug #ifdef control
#
Expand Down
Loading