blob: 9fa470fa799597b2f779df2420199bf66592a844 [file] [log] [blame]
# $Id: Make.local.template,v 1.181 Broadcom SDK $
# $Copyright: Copyright 2012 Broadcom Corporation.
# This program is the proprietary software of Broadcom Corporation
# and/or its licensors, and may only be used, duplicated, modified
# or distributed pursuant to the terms and conditions of a separate,
# written license agreement executed between you and Broadcom
# (an "Authorized License"). Except as set forth in an Authorized
# License, Broadcom grants no license (express or implied), right
# to use, or waiver of any kind with respect to the Software, and
# Broadcom expressly reserves all rights in and to the Software
# and all intellectual property rights therein. IF YOU HAVE
# NO AUTHORIZED LICENSE, THEN YOU HAVE NO RIGHT TO USE THIS SOFTWARE
# IN ANY WAY, AND SHOULD IMMEDIATELY NOTIFY BROADCOM AND DISCONTINUE
# ALL USE OF THE SOFTWARE.
#
# Except as expressly set forth in the Authorized License,
#
# 1. This program, including its structure, sequence and organization,
# constitutes the valuable trade secrets of Broadcom, and you shall use
# all reasonable efforts to protect the confidentiality thereof,
# and to use this information only in connection with your use of
# Broadcom integrated circuit products.
#
# 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS
# PROVIDED "AS IS" AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES,
# REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY,
# OR OTHERWISE, WITH RESPECT TO THE SOFTWARE. BROADCOM SPECIFICALLY
# DISCLAIMS ANY AND ALL IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY,
# NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES,
# ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
# CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING
# OUT OF USE OR PERFORMANCE OF THE SOFTWARE.
#
# 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL
# BROADCOM OR ITS LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL,
# INCIDENTAL, SPECIAL, INDIRECT, OR EXEMPLARY DAMAGES WHATSOEVER
# ARISING OUT OF OR IN ANY WAY RELATING TO YOUR USE OF OR INABILITY
# TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF
# THE AMOUNT ACTUALLY PAID FOR THE SOFTWARE ITSELF OR USD 1.00,
# WHICHEVER IS GREATER. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING
# ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.$
#
# Usage for Make.local.template and Make.local:
#
# Make.local.template is checked into the tree, but Make.local is never
# checked in. Copy Make.local.template to Make.local, then change
# Make.local to select the desired compilation options (mostly debugging
# features).
#
# Note on CFGFLAGS usage:
#
# Because CFGFLAGS may be used with other source preprocessing tools,
# please limit the values added to CFGFLAGS to -D defines.
#
#
# Table of Contents:
#
# Compiler Related Options
# Boot and Debug Related Options
# Operational and Policy Options
# System Management and Multiple CPU Options
# Selective Device Support (Switches and PHYs)
# Miscellaneous Options
#
################################################################
#
# Compiler Related Options
#
################################################################
# Compiling out #ifdef DEBUG code saves about 1.3% on executable size.
# It is recommended to leave debug enabled when developing applications.
#DEBUG_IFDEFS=FALSE
# SAL resource usage tracking #ifdef control
# DEBUG_IFDEFS should also be TRUE for this switch to take effect.
#BCM_RESOURCE_USAGE_PROFILE_IFDEFS=TRUE
# Uncomment to build without debug symbols
#DEBUG_SYMBOLS=FALSE
# Uncomment to add private CFLAGS
#DEBUG_CFLAGS=
# Uncomment to turn off the optimizer when debugging (recommended)
#DEBUG_OPTIMIZE=FALSE
# Compiling out assert() saves about 1.1% on executable size,
# however do so is VERY MUCH discouraged.
#DEBUG_ASSERTS=FALSE
# Controlling GCC -pedantic flag
#DEBUG_PEDANTIC=TRUE
# compiler.h overrides, these disable various compiler
# related features even if the compiler normally supports them
# Disable use of long long for uint64
#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_LONGLONG
# Disable use of doubles
#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_DOUBLE
# Disable inlining of functions
#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_INLINE
# Disable use of const
#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_CONST
# Disable use of static functions
#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_STATIC
# Disable RPC flexible (long) bitmaps.
# Warning: Disabling this changes the RPC version to 2 and
# makes systems running this code incompatible with systems
# running previous versions of BCM RPC code.
#CFGFLAGS += -DBCM_RPC_PBMP_64
#
# Define if longs are 64 bits on your compiler;
# this is typically true ONLY for 64-bit processors.
#CFGFLAGS += -DLONGS_ARE_64BITS
#
# Define if pointers are 64 bits on your compiler;
# this is typically true ONLY for 64-bit processors.
# NOTE: This support works ONLY under conditions where the
# upper 32 bits for ALL pointers are ZERO.
#CFGFLAGS += -DPTRS_ARE_64BITS
################################################################
#
# Boot and Debug Related Options
#
################################################################
# Define this to add debug code for RX pool buffer tracking
#CFGFLAGS += -DBCM_RXP_DEBUG
# Allow debugging of PCI reads/writes (debug +pci)
#CFGFLAGS += -DSOC_PCI_DEBUG
# Make default debugging settings be 0 (very very quiet)
#CFGFLAGS += -DNO_DEBUG_OUTPUT_DEFAULT
# Don't use vxMemProbe
#CFGFLAGS += -DVX_NO_MEM_PROBE
# Allow debugging of Memory Allocation/Deallocation logging
#CFGFLAGS += -DMEMLOG_SUPPORT
################################################################
################################################################
#
# Operational and Policy Options
#
################################################################
# VLAN policy control:
# NO_DEFAULT_ETHER do not init ether ports into vlan 1
# NO_DEFAULT_CPU do not init cpu ports into vlan 1
# NO_DEFAULT_SPI_SUBPORT do not init spi subports into vlan 1
# NO_AUTO_STACK do not init stack/HG ports into created vlans
#CFGFLAGS += -DBCM_VLAN_NO_DEFAULT_ETHER
#CFGFLAGS += -DBCM_VLAN_NO_DEFAULT_CPU
#CFGFLAGS += -DBCM_VLAN_NO_DEFAULT_SPI_SUBPORT
#CFGFLAGS += -DBCM_VLAN_NO_AUTO_STACK
# VLAN multicast flood Policy Control:
# BCM_VLAN_MCAST_FLOOD_ALL Flood all multicast packets to the VLAN
# BCM_VLAN_MCAST_FLOOD_UNKNOWN Flood unknown multicast packets to the vlan
# BCM_VLAN_MCAST_FLOOD_NONE Forward multicast packets with known
# destination addresses to the appropriate ports.
# All packets destined to an unknown multicast
# address are dropped.
#CFGFLAGS += -DBCM_MCAST_FLOOD_DEFAULT=BCM_VLAN_MCAST_FLOOD_ALL
#CFGFLAGS += -DBCM_MCAST_FLOOD_DEFAULT=BCM_VLAN_MCAST_FLOOD_UNKNOWN
#CFGFLAGS += -DBCM_MCAST_FLOOD_DEFAULT=BCM_VLAN_MCAST_FLOOD_NONE
#Port Enable/Disable Policy control:
# PORT_DEFAULT_DISABLE disable ports during switch initialization
#CFGFLAGS += -DBCM_PORT_DEFAULT_DISABLE
# sal thread priority override (this value used for all threads if defined)
#CFGFLAGS += -DSAL_THREAD_PRIORITY=255
# disable printing of thread name in messages
#CFGFLAGS += -DSAL_THREAD_NAME_PRINT_DISABLE
# disable runtime reading of flash config.bcm file (even if !NO_FILEIO)
#CFGFLAGS += -DSAL_CONFIG_FILE_DISABLE
# disable all Application SAL dependencies
#NO_SAL_APPL=1
# Prevent scheduling in SPL locks when interrupt code is run as a thread.
# This option should not be necessary if all locks are implemented correctly,
# however, some locks may still rely on the assumption that scheduling does
# not occur when interrupts are disabled. If you experience any locking
# problems in e.g. Linux User Mode, try enabling this option.
# Please note that turning on this option will reduce performance by an
# estimated 5 to 10 %.
#CFGFLAGS += -DSAL_SPL_NO_PREEMPT
# disable mapping of higig cosq when mapping priority to cosq
# (use identity mapping instead : map prio0->cos0, prio1->cos1, ... , prio7->cos7)
#CFGFLAGS += -DBCM_COSQ_HIGIG_MAP_DISABLE
# Enable ukernel debugging module
#CFGFLAGS += -DSOC_UKERNEL_DEBUG
################################################################
#
# System Management and Multiple CPU Options
#
################################################################
# Turn on BCMX inclusion
# INCLUDE_BCMX for any support
INCLUDE_BCMX=1
# Telekinesis suite applications for CPU to CPU communication and discovery
# CPUDB: Simple CPU data base manager
# CPUTRANS: CPU to CPU communication mechanisms
# DISCOVER: Simple discovery; will also include CPUTRANS
# STKTASK: Stack manager application
#
#CFGFLAGS += -DINCLUDE_LIB_CPUDB
#CFGFLAGS += -DINCLUDE_LIB_CPUTRANS
#CFGFLAGS += -DINCLUDE_LIB_DISCOVER
#CFGFLAGS += -DINCLUDE_LIB_STKTASK
# Option for discovery to use the application-data field in routing
# packets for Board-ID and CPU base flag information.
#CFGFLAGS += -DDISCOVER_APP_DATA_BOARDID
# Optionally override list of included dispatch modules
# Note: including RPC automatically includes the Telekinesis suite libs
# ESW is the enterprise platforms.
# ROBO includes the managed devices.
# SBX includes API support for bcm988020QSK24X2
#DISPATCH_LIST = RPC ESW ASYNC SBX
# Define to have end-to-end flow control enabled on boards that
# support it
#CFGFLAGS += -DBCM_BOARD_AUTO_E2E
# Define the following to support per-CPU transmit pointers.
# This allows the TX setup and send functions to be defined on a
# per-CPU basis, allowing mixed in-band and out-of-band communication.
#CFGFLAGS += -DBCM_C2C_TRANSPORT_SWITCHING
# Options for feature list (INCLUDE_XXX)
# If FEATURE_LIST is defined, it is a list of features to include.
# See Make.config for the default feature list.
#
# Avaliable features:
#
# BCMX
# BCMX_DIAG
# CHASSIS
# CUSTOMER
# DRIVERS
# EDITLINE
# I2C
# L3
# MEM_SCAN
# ATPTRANS_SOCKET
# TELNET
# TEST
# ACL
# RCPU
# KNET - Linux user mode kernel network support
# BCM_SAL_PROFILE - make available an API to track SAL usage.
# CINT - Include the C Interpreter in the diagnostic shell.
# Please note this cannot be used in Linux kernel mode.
# C_UNIT - Include the C unit testing framework. If CINT is also included
# then hooks will be provided for use from it.
# PHY_SYM_DBG - PHY GUI MDIO read/write support. Socket interface
# to PHY GUI for Symbolic debugging.
# APIMODE - call SDK API functions from shell, requires CINT
# DUNE_UI - dune legacy user interface. For debug only. Tested
# on linux-user-gto-2.6 only.
# KBP - include nlm2(11K)/nlm3(12K) KBP support
# BHH - Include Support for BHH Application (MPLS-TP OAM based on Y.1731)
# using BTE on select devices.
# AVS - Include AVS support
#FEATURE_LIST=ATPTRANS_SOCKET BCMX_DIAG L3 I2C BCMX MEM_SCAN EDITLINE \
# CUSTOMER TELNET DRIVERS CHASSIS TEST ACL RCPU BCM_SAL_PROFILE CINT \
# PTP CES FCMAP BOARD KNET REGEX MACSEC APIMODE BFD KBP AVS
#FEATURE_LIST= ATPTRANS_SOCKET PTP CINT L3 I2C BCMX BCMX_DIAG MEM_SCAN EDITLINE BCM_SAL_PROFILE CUSTOMER TEST CHASSIS MSTP RCPU
# ARAD + KT2
FEATURE_LIST= ATPTRANS_SOCKET PTP CINT L3 I2C BCMX BCMX_DIAG MEM_SCAN EDITLINE BCM_SAL_PROFILE CUSTOMER TEST CHASSIS MSTP RCPU INTR BSAFE TELNET DRIVERS DUNE_UI
#
###############################################################
# KBP supported devices
#
#Enable this for 11K device support
#KBP_DEVICE = KBP_11K
#
#Enable this for 12K device support
#KBP_DEVICE = KBP_ALG
#
###############################################################
################################################################
#
# Selective Device Support (Switches and PHYs)
#
################################################################
# Multiple Chip Support
#
# By default, the driver supports all Strata switch and fabric chips
# included in this software release. It checks device IDs at runtime
# to run the correct driver modules.
#
# To save space, the driver can be compiled to support just a subset of
# the chips. To do this, uncomment the line for BCM_PTL_SPT (partial
# support) and uncomment one line for each chip to support.
#
# Note that there are a lot more chips than drivers.
# For example, the BCM5615 driver is also used for BCM5625 and BCM5645.
#
BCM_PTL_SPT = 1
#BCM_5675_A0 = 1
#BCM_56102_A0 = 1
#BCM_56112_A0 = 1
#BCM_56304_B0 = 1
#BCM_56314_A0 = 1
#BCM_56504_A0 = 1
#BCM_56504_B0 = 1
#BCM_56514_A0 = 1
#BCM_56624_A0 = 1
#BCM_56624_B0 = 1
#BCM_56680_A0 = 1
#BCM_56680_B0 = 1
#BCM_56580_A0 = 1
#BCM_56700_A0 = 1
#BCM_56800_A0 = 1
#BCM_56218_A0 = 1
#BCM_56224_A0 = 1
#BCM_56224_B0 = 1
#BCM_56725_A0 = 1
#BCM_56820_A0 = 1
#BCM_53314_A0 = 1
#BCM_53324_A0 = 1
#BCM_56634_A0 = 1
#BCM_56634_B0 = 1
#BCM_56524_A0 = 1
#BCM_56524_B0 = 1
#BCM_56685_A0 = 1
#BCM_56685_B0 = 1
#BCM_56334_A0 = 1
#BCM_56334_B0 = 1
#BCM_56840_A0 = 1
#BCM_56840_B0 = 1
#BCM_56850_A0 = 1
#BCM_56142_A0 = 1
#BCM_56150_A0 = 1
#BCM_56836_A0 = 1
#BCM_56640_A0 = 1
BCM_56440_A0 = 1
BCM_56440_B0 = 1
BCM_56450_A0 = 1
BCM_56450_B0 = 1
BCM_56450_B1 = 1
#BCM_56960_A0 = 1
#BCM_56860_A0 = 1
#BCM_5338_A0 = 1
#BCM_5380_A0 = 1
#BCM_5338_B0 = 1
#BCM_5325_A1 = 1
#BCM_5324_A0 = 1
#BCM_5396_A0 = 1
#BCM_5389_A0 = 1
#BCM_5398_A0 = 1
#BCM_5324_A1 = 1
#BCM_53115_A0 = 1
#BCM_53118_A0 = 1
#BCM_53280_A0 = 1
#BCM_53280_B0 = 1
#BCM_53101_A0 = 1
#BCM_53125_A0 = 1
#BCM_53128_A0 = 1
#BCM_53600_A0 = 1
#BCM_89500_A0 = 1
#BCM_88030_A0 = 1
#BCM_QE2000_A0 = 1
#BCM_BME3200_B0 = 1
#BCM_BM9600_A0 = 1
#BCM_88230_A0 = 1
#BCM_88230_B0 = 1
#BCM_88230_C0 = 1
# ARAD
BCM_88640_A0=1
BCM_88650_A0=1
BCM_88650_B0=1
BCM_88660_A0=1
#BCM_TK371X_A0 = 1
# Options for multiple PHY support
# If BCM_PHY_LIST is defined, it is a list of PHYs to include.
# The default is to include all of them.
# If none of them should be included specify BCM_PHY_LIST=EMPTY
#BCM_PHY_LIST=522X 54XX 5464 5421S 5482 54616 54680 54680E 52681E 54880E 54682 54684 54640 54640E 54880 SERDES SIMUL 8703 8705 8706 8072 8040 8481 8750 8729 84740 84756 84328 EMPTY
# Options for BCM5338 5380
#CFGFLAGS += -DROBO_OLD
#ROBO_OLD = 1
# Support for phy simulation
#CFGFLAGS += -DINCLUDE_PHY_SIMUL
#CFGFLAGS += -DSIM_ALL_PHYS # All phys use simulation driver
#CFGFLAGS += -DSIM_CMIC_LINK_STAT # Get link status from CMIC register
# Support for BOARD library
# if BOARD_LIST is defined, it is a list of Board drivers to include.
# The default is to include all board drivers appropriate for the devices
# included in the build. If none of them should be included specify
# BOARD_LIST=EMPTY.
#BOARD_LIST=GENERIC
# Support for event logging
#CFGFLAGS += -DINCLUDE_SHARED_EVLOG
# Support for BCM API port translation
#CFGFLAGS += -DINCLUDE_BCM_API_XLATE_PORT
# Support for callback error checks and abort in traverse api's
#CFGFLAGS += -DBCM_CB_ABORT_ON_ERR
################################################################
#
# Misc Options
#
################################################################
#CFGFLAGS += -DSOC_MEM_L3_DEFIP_WAR
# Compile out Register/Table descriptive strings to generate a
# compact image
#CFGFLAGS +=-DSOC_NO_NAMES
#CFGFLAGS +=-DSOC_NO_ALIAS
#CFGFLAGS +=-DSOC_NO_DESC
# Reload/WarmBoot Support
#
CFGFLAGS += -DBCM_WARM_BOOT_SUPPORT
#
# Need this for validation using SOC scripts; Will move to tcl
# someday
CFGFLAGS += -DBCM_WARM_BOOT_SUPPORT_SW_DUMP
#
# Adds a CRC check on scache buffer: Calculate when saving,
# and verify when loading.
# When doing ISSU, both source and destination versions should either have
# this flag enabled or disabled.
#CFGFLAGS += -DSCACHE_CRC_CHECK
################################################################
#
# Enable Easy Reload Support
#
################################################################
#CFGFLAGS += -DBCM_EASY_RELOAD_SUPPORT
# For validation purposes
#CFGFLAGS += -DBCM_EASY_RELOAD_SUPPORT_SW_DUMP
# Software Trunk failover Support
#
#CFGFLAGS += -DBCM_TRUNK_FAILOVER_SUPPORT
################################################################
#
# Override default VXWORKS thread options to make set
# VX_UNBREAKABLE flag in task creation.
#
################################################################
#CFGFLAGS += -DVX_THREAD_OPT_UNBREAKABLE
################################################################
#
# Use default priority for BDE interrupt thread.
#
################################################################
#CFGFLAGS += -DSAL_BDE_THREAD_PRIO_DEFAULT
################################################################
#
# Use cached DMA memory when mapping kernel DMA memory to user
# mode. Should only be enabled on cache-coherent platforms.
#
################################################################
#CFGFLAGS += -DSAL_BDE_CACHE_DMA_MEM
################################################################
#
# Take the spl lock upon entering an ISR
#
################################################################
#CFGFLAGS += -DSAL_SPL_LOCK_ON_IRQ
################################################################
#
# Silently ignore NULL pointer free in sal_free API
# Default behaviour is to assert if a NULL pointer is passed to sal_free
#
################################################################
#CFGFLAGS += -DSAL_FREE_NULL_IGNORE
################################################################
# Enable SBX MPLS TP support
################################################################
#CFGFLAGS += -DBCM_SBX_MPLSTP_SUPPORT
#CFGFLAGS += -DBCM_SBX_C1_MPLSTP_SUPPORT
################################################################
# Restrict SBX C2 Fte range to C2's range
################################################################
#CFGFLAGS += -DBCM_SBX_C1_C2_INTEROP
################################################################
# For historical reasons the PCI probe function skips device 12
# by default to prevent a system hang on certain platforms.
# Set this value to zero to probe all PCI devices.
################################################################
#CFGFLAGS += -DOVERRIDE_PCI_SKIP_DEV_MASK=0
################################################################
# Override max devices supported by PLI BDE
################################################################
#CFGFLAGS += -DPLI_MAX_DEVICES
################################################################
# Track BCM API calls to avoid deinitialization while calls active
# This will incur a small time penalty for each BCM API call
################################################################
#CFGFLAGS += -DBCM_CONTROL_API_TRACKING
################################################################
# Override default retry time for detach to wait for executing
# APIs to complete.
################################################################
#CFGFLAGS += -DBCM_DETACH_POLL_INTERVAL_USECS_DEFAULT=100000
#CFGFLAGS += -DBCM_DETACH_NUM_RETRIES_DEFAULT=3000
################################################################
# Disable the RX module initialization
################################################################
#CFGFLAGS += -DBCM_RX_DISABLE
################################################################
# Enable TX callback in interrupt thread
################################################################
#CFGFLAGS += -DTX_CB_INTR