sonic-buildimage/platform/broadcom/saibcm-modules/sdklt/bcmdrd/include/bcmdrd_config.h
zitingguo-ms 2c0f4e57d7
Upgrade XGS saibcm-modules to 8.4 (#16246)
Why I did it
XGS saibcm-modules 8.4 is needed. #14471

Work item tracking
Microsoft ADO (number only): 24917414
How I did it
Copy files from xgs SDK 8.4 repo and modify makefiles to build the image.
Upgrade version to 8.4.0.2 in saibcm-modules.mk.

How to verify it
Build a private image and run full qualification with it: https://elastictest.org/scheduler/testplan/650419cb71f60aa92c456a2b
2023-10-26 18:58:34 +08:00

165 lines
5.0 KiB
C

/*! \file bcmdrd_config.h
*
* This config file defines all compilation-time specifications for
* the BCMDRD.
*
* Reasonable defaults are provided for all configuration options
* where appropriate.
*
* You need not edit this file directly to change your configuration,
* nor is modifying this file advised -- so doing will require
* manually merging whenever the BCMDRD is upgraded.
*
* You should provide your own configuration options or overrides
* through a combination of:
*
* 1. The compiler command line, such as -D{OPTION}={VALUE}
*
* 2. Create your own custom configuration file:
* a) Create a file called 'bcmdrd_custom_config.h'
* b) Define all custom settings, using this file as
* the reference
* c) Add -DBCMDRD_INCLUDE_CUSTOM_CONFIG to your
* compilation
* d) Make sure the compilation include path includes
* 'bcmdrd_custom_config.h'
*/
/*
* $Copyright: Copyright 2018-2022 Broadcom. All rights reserved.
* The term 'Broadcom' refers to Broadcom Inc. and/or its subsidiaries.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* A copy of the GNU General Public License version 2 (GPLv2) can
* be found in the LICENSES folder.$
*/
#ifndef BCMDRD_CONFIG_H
#define BCMDRD_CONFIG_H
/*
* Include system config file if specified:
*/
#ifdef BCMDRD_INCLUDE_CUSTOM_CONFIG
#include <bcmdrd_custom_config.h>
#endif
/*
* OPTIONAL configuration and feature values.
* Defaults are provided for all non-specified values.
*/
/*! Maximum number of chips supported. */
#ifndef BCMDRD_CONFIG_MAX_UNITS
#define BCMDRD_CONFIG_MAX_UNITS 8
#endif
/*! Maximum number of ports per chip supported. */
#ifndef BCMDRD_CONFIG_MAX_PORTS
#define BCMDRD_CONFIG_MAX_PORTS 848
#endif
/*! Direct access to memory-mapped registers. */
#ifndef BCMDRD_CONFIG_MEMMAP_DIRECT
#define BCMDRD_CONFIG_MEMMAP_DIRECT 0
#endif
/*!
* \brief Include chip symbol tables.
*
* No symbolic debugging (register/memory names) will be available
* without this defined.
*
* This define is required to get any symbols at all.
*
* Symbols tables are required for normal SDK operation, but may be
* excluded for small footprint base driver applications.
*
* If you only wish to include symbols for a subset of chips in the
* system (probably for code space reasons), you can define the
* following for each chip whose symbols you wish to EXCLUDE:
*
* BCMDRD_CONFIG_EXCLUDE_CHIP_SYMBOLS_<CHIP>
*
*/
#ifndef BCMDRD_CONFIG_INCLUDE_CHIP_SYMBOLS
#define BCMDRD_CONFIG_INCLUDE_CHIP_SYMBOLS 1
#endif
/*!
* \brief Include register and memory field information.
*
* This provides encoding, decoding, and displaying individual field
* values for each register and memory.
*
* Requires more code space than just the chip symbols alone.
*
* Symbols field information is required for normal SDK operation, but
* may be excluded for small footprint base driver applications.
*
* The per-chip exclusion define
* (BCMDRD_CONFIG_EXCLUDE_FIELD_INFO_<CHIP>) also applies.
*/
#ifndef BCMDRD_CONFIG_INCLUDE_FIELD_INFO
#define BCMDRD_CONFIG_INCLUDE_FIELD_INFO 1
#endif
/*!
* \brief Include alternative symbol names for registers and memories.
*
* Mainly for internal Broadcom use, so you can safely leave this
* option off.
*/
#ifndef BCMDRD_CONFIG_INCLUDE_ALIAS_NAMES
#define BCMDRD_CONFIG_INCLUDE_ALIAS_NAMES 1
#endif
/*!
* \brief Include field size checks for registers and memories.
*
* This option adds compile-time checks for field values exceeding the
* size of the field being assigned. The check in mainly intended for
* internal use, and it may trigger warnings from various memory
* sanity checker tools.
*/
#ifndef BCMDRD_CONFIG_INCLUDE_FIELD_CHECKS
#define BCMDRD_CONFIG_INCLUDE_FIELD_CHECKS 0
#endif
#endif /* BCMDRD_CONFIG_H */
#ifdef CONFIG_OPTION
#ifdef BCMDRD_INCLUDE_CUSTOM_CONFIG
CONFIG_OPTION(BCMDRD_INCLUDE_CUSTOM_CONFIG)
#endif
#ifdef BCMDRD_CONFIG_MAX_UNITS
CONFIG_OPTION(BCMDRD_CONFIG_MAX_UNITS)
#endif
#ifdef BCMDRD_CONFIG_MAX_PORTS
CONFIG_OPTION(BCMDRD_CONFIG_MAX_PORTS)
#endif
#ifdef BCMDRD_CONFIG_MEMMAP_DIRECT
CONFIG_OPTION(BCMDRD_CONFIG_MEMMAP_DIRECT)
#endif
#ifdef BCMDRD_CONFIG_INCLUDE_CHIP_SYMBOLS
CONFIG_OPTION(BCMDRD_CONFIG_INCLUDE_CHIP_SYMBOLS)
#endif
#ifdef BCMDRD_CONFIG_INCLUDE_FIELD_INFO
CONFIG_OPTION(BCMDRD_CONFIG_INCLUDE_FIELD_INFO)
#endif
#ifdef BCMDRD_CONFIG_INCLUDE_ALIAS_NAMES
CONFIG_OPTION(BCMDRD_CONFIG_INCLUDE_ALIAS_NAMES)
#endif
#ifdef BCMDRD_CONFIG_INCLUDE_FIELD_CHECKS
CONFIG_OPTION(BCMDRD_CONFIG_INCLUDE_FIELD_CHECKS)
#endif
#endif /* CONFIG_OPTION */
#include "bcmdrd_config_chips.h"