blob: 9fa470fa799597b2f779df2420199bf66592a844 [file] [log] [blame]
Shad Ansari2f7f9be2017-06-07 13:34:53 -07001# $Id: Make.local.template,v 1.181 Broadcom SDK $
2# $Copyright: Copyright 2012 Broadcom Corporation.
3# This program is the proprietary software of Broadcom Corporation
4# and/or its licensors, and may only be used, duplicated, modified
5# or distributed pursuant to the terms and conditions of a separate,
6# written license agreement executed between you and Broadcom
7# (an "Authorized License"). Except as set forth in an Authorized
8# License, Broadcom grants no license (express or implied), right
9# to use, or waiver of any kind with respect to the Software, and
10# Broadcom expressly reserves all rights in and to the Software
11# and all intellectual property rights therein. IF YOU HAVE
12# NO AUTHORIZED LICENSE, THEN YOU HAVE NO RIGHT TO USE THIS SOFTWARE
13# IN ANY WAY, AND SHOULD IMMEDIATELY NOTIFY BROADCOM AND DISCONTINUE
14# ALL USE OF THE SOFTWARE.
15#
16# Except as expressly set forth in the Authorized License,
17#
18# 1. This program, including its structure, sequence and organization,
19# constitutes the valuable trade secrets of Broadcom, and you shall use
20# all reasonable efforts to protect the confidentiality thereof,
21# and to use this information only in connection with your use of
22# Broadcom integrated circuit products.
23#
24# 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS
25# PROVIDED "AS IS" AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES,
26# REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY,
27# OR OTHERWISE, WITH RESPECT TO THE SOFTWARE. BROADCOM SPECIFICALLY
28# DISCLAIMS ANY AND ALL IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY,
29# NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES,
30# ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
31# CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING
32# OUT OF USE OR PERFORMANCE OF THE SOFTWARE.
33#
34# 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL
35# BROADCOM OR ITS LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL,
36# INCIDENTAL, SPECIAL, INDIRECT, OR EXEMPLARY DAMAGES WHATSOEVER
37# ARISING OUT OF OR IN ANY WAY RELATING TO YOUR USE OF OR INABILITY
38# TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF THE
39# POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF
40# THE AMOUNT ACTUALLY PAID FOR THE SOFTWARE ITSELF OR USD 1.00,
41# WHICHEVER IS GREATER. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING
42# ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.$
43#
44
45# Usage for Make.local.template and Make.local:
46#
47# Make.local.template is checked into the tree, but Make.local is never
48# checked in. Copy Make.local.template to Make.local, then change
49# Make.local to select the desired compilation options (mostly debugging
50# features).
51#
52# Note on CFGFLAGS usage:
53#
54# Because CFGFLAGS may be used with other source preprocessing tools,
55# please limit the values added to CFGFLAGS to -D defines.
56#
57#
58# Table of Contents:
59#
60# Compiler Related Options
61# Boot and Debug Related Options
62# Operational and Policy Options
63# System Management and Multiple CPU Options
64# Selective Device Support (Switches and PHYs)
65# Miscellaneous Options
66#
67
68################################################################
69#
70# Compiler Related Options
71#
72################################################################
73
74# Compiling out #ifdef DEBUG code saves about 1.3% on executable size.
75# It is recommended to leave debug enabled when developing applications.
76#DEBUG_IFDEFS=FALSE
77
78# SAL resource usage tracking #ifdef control
79# DEBUG_IFDEFS should also be TRUE for this switch to take effect.
80#BCM_RESOURCE_USAGE_PROFILE_IFDEFS=TRUE
81
82# Uncomment to build without debug symbols
83#DEBUG_SYMBOLS=FALSE
84
85# Uncomment to add private CFLAGS
86#DEBUG_CFLAGS=
87
88# Uncomment to turn off the optimizer when debugging (recommended)
89#DEBUG_OPTIMIZE=FALSE
90
91# Compiling out assert() saves about 1.1% on executable size,
92# however do so is VERY MUCH discouraged.
93#DEBUG_ASSERTS=FALSE
94
95# Controlling GCC -pedantic flag
96#DEBUG_PEDANTIC=TRUE
97
98# compiler.h overrides, these disable various compiler
99# related features even if the compiler normally supports them
100
101# Disable use of long long for uint64
102#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_LONGLONG
103
104# Disable use of doubles
105#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_DOUBLE
106
107# Disable inlining of functions
108#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_INLINE
109
110# Disable use of const
111#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_CONST
112
113# Disable use of static functions
114#CFGFLAGS += -DCOMPILER_OVERRIDE_NO_STATIC
115
116# Disable RPC flexible (long) bitmaps.
117# Warning: Disabling this changes the RPC version to 2 and
118# makes systems running this code incompatible with systems
119# running previous versions of BCM RPC code.
120#CFGFLAGS += -DBCM_RPC_PBMP_64
121
122#
123# Define if longs are 64 bits on your compiler;
124# this is typically true ONLY for 64-bit processors.
125#CFGFLAGS += -DLONGS_ARE_64BITS
126
127#
128# Define if pointers are 64 bits on your compiler;
129# this is typically true ONLY for 64-bit processors.
130# NOTE: This support works ONLY under conditions where the
131# upper 32 bits for ALL pointers are ZERO.
132#CFGFLAGS += -DPTRS_ARE_64BITS
133
134
135################################################################
136#
137# Boot and Debug Related Options
138#
139################################################################
140
141# Define this to add debug code for RX pool buffer tracking
142#CFGFLAGS += -DBCM_RXP_DEBUG
143
144# Allow debugging of PCI reads/writes (debug +pci)
145#CFGFLAGS += -DSOC_PCI_DEBUG
146
147# Make default debugging settings be 0 (very very quiet)
148#CFGFLAGS += -DNO_DEBUG_OUTPUT_DEFAULT
149
150# Don't use vxMemProbe
151#CFGFLAGS += -DVX_NO_MEM_PROBE
152
153# Allow debugging of Memory Allocation/Deallocation logging
154#CFGFLAGS += -DMEMLOG_SUPPORT
155
156################################################################
157################################################################
158#
159# Operational and Policy Options
160#
161################################################################
162
163# VLAN policy control:
164# NO_DEFAULT_ETHER do not init ether ports into vlan 1
165# NO_DEFAULT_CPU do not init cpu ports into vlan 1
166# NO_DEFAULT_SPI_SUBPORT do not init spi subports into vlan 1
167# NO_AUTO_STACK do not init stack/HG ports into created vlans
168#CFGFLAGS += -DBCM_VLAN_NO_DEFAULT_ETHER
169#CFGFLAGS += -DBCM_VLAN_NO_DEFAULT_CPU
170#CFGFLAGS += -DBCM_VLAN_NO_DEFAULT_SPI_SUBPORT
171#CFGFLAGS += -DBCM_VLAN_NO_AUTO_STACK
172
173# VLAN multicast flood Policy Control:
174# BCM_VLAN_MCAST_FLOOD_ALL Flood all multicast packets to the VLAN
175# BCM_VLAN_MCAST_FLOOD_UNKNOWN Flood unknown multicast packets to the vlan
176# BCM_VLAN_MCAST_FLOOD_NONE Forward multicast packets with known
177# destination addresses to the appropriate ports.
178# All packets destined to an unknown multicast
179# address are dropped.
180#CFGFLAGS += -DBCM_MCAST_FLOOD_DEFAULT=BCM_VLAN_MCAST_FLOOD_ALL
181#CFGFLAGS += -DBCM_MCAST_FLOOD_DEFAULT=BCM_VLAN_MCAST_FLOOD_UNKNOWN
182#CFGFLAGS += -DBCM_MCAST_FLOOD_DEFAULT=BCM_VLAN_MCAST_FLOOD_NONE
183
184#Port Enable/Disable Policy control:
185# PORT_DEFAULT_DISABLE disable ports during switch initialization
186#CFGFLAGS += -DBCM_PORT_DEFAULT_DISABLE
187
188# sal thread priority override (this value used for all threads if defined)
189#CFGFLAGS += -DSAL_THREAD_PRIORITY=255
190
191# disable printing of thread name in messages
192#CFGFLAGS += -DSAL_THREAD_NAME_PRINT_DISABLE
193
194# disable runtime reading of flash config.bcm file (even if !NO_FILEIO)
195#CFGFLAGS += -DSAL_CONFIG_FILE_DISABLE
196
197# disable all Application SAL dependencies
198#NO_SAL_APPL=1
199
200
201# Prevent scheduling in SPL locks when interrupt code is run as a thread.
202# This option should not be necessary if all locks are implemented correctly,
203# however, some locks may still rely on the assumption that scheduling does
204# not occur when interrupts are disabled. If you experience any locking
205# problems in e.g. Linux User Mode, try enabling this option.
206# Please note that turning on this option will reduce performance by an
207# estimated 5 to 10 %.
208#CFGFLAGS += -DSAL_SPL_NO_PREEMPT
209
210# disable mapping of higig cosq when mapping priority to cosq
211# (use identity mapping instead : map prio0->cos0, prio1->cos1, ... , prio7->cos7)
212#CFGFLAGS += -DBCM_COSQ_HIGIG_MAP_DISABLE
213
214# Enable ukernel debugging module
215#CFGFLAGS += -DSOC_UKERNEL_DEBUG
216
217
218################################################################
219#
220# System Management and Multiple CPU Options
221#
222################################################################
223
224# Turn on BCMX inclusion
225# INCLUDE_BCMX for any support
226INCLUDE_BCMX=1
227
228# Telekinesis suite applications for CPU to CPU communication and discovery
229# CPUDB: Simple CPU data base manager
230# CPUTRANS: CPU to CPU communication mechanisms
231# DISCOVER: Simple discovery; will also include CPUTRANS
232# STKTASK: Stack manager application
233#
234#CFGFLAGS += -DINCLUDE_LIB_CPUDB
235#CFGFLAGS += -DINCLUDE_LIB_CPUTRANS
236#CFGFLAGS += -DINCLUDE_LIB_DISCOVER
237#CFGFLAGS += -DINCLUDE_LIB_STKTASK
238
239# Option for discovery to use the application-data field in routing
240# packets for Board-ID and CPU base flag information.
241#CFGFLAGS += -DDISCOVER_APP_DATA_BOARDID
242
243# Optionally override list of included dispatch modules
244# Note: including RPC automatically includes the Telekinesis suite libs
245# ESW is the enterprise platforms.
246# ROBO includes the managed devices.
247# SBX includes API support for bcm988020QSK24X2
248#DISPATCH_LIST = RPC ESW ASYNC SBX
249
250# Define to have end-to-end flow control enabled on boards that
251# support it
252#CFGFLAGS += -DBCM_BOARD_AUTO_E2E
253
254# Define the following to support per-CPU transmit pointers.
255# This allows the TX setup and send functions to be defined on a
256# per-CPU basis, allowing mixed in-band and out-of-band communication.
257#CFGFLAGS += -DBCM_C2C_TRANSPORT_SWITCHING
258
259# Options for feature list (INCLUDE_XXX)
260# If FEATURE_LIST is defined, it is a list of features to include.
261# See Make.config for the default feature list.
262#
263# Avaliable features:
264#
265# BCMX
266# BCMX_DIAG
267# CHASSIS
268# CUSTOMER
269# DRIVERS
270# EDITLINE
271# I2C
272# L3
273# MEM_SCAN
274# ATPTRANS_SOCKET
275# TELNET
276# TEST
277# ACL
278# RCPU
279# KNET - Linux user mode kernel network support
280# BCM_SAL_PROFILE - make available an API to track SAL usage.
281# CINT - Include the C Interpreter in the diagnostic shell.
282# Please note this cannot be used in Linux kernel mode.
283# C_UNIT - Include the C unit testing framework. If CINT is also included
284# then hooks will be provided for use from it.
285# PHY_SYM_DBG - PHY GUI MDIO read/write support. Socket interface
286# to PHY GUI for Symbolic debugging.
287# APIMODE - call SDK API functions from shell, requires CINT
288# DUNE_UI - dune legacy user interface. For debug only. Tested
289# on linux-user-gto-2.6 only.
290# KBP - include nlm2(11K)/nlm3(12K) KBP support
291# BHH - Include Support for BHH Application (MPLS-TP OAM based on Y.1731)
292# using BTE on select devices.
293# AVS - Include AVS support
294#FEATURE_LIST=ATPTRANS_SOCKET BCMX_DIAG L3 I2C BCMX MEM_SCAN EDITLINE \
295# CUSTOMER TELNET DRIVERS CHASSIS TEST ACL RCPU BCM_SAL_PROFILE CINT \
296# PTP CES FCMAP BOARD KNET REGEX MACSEC APIMODE BFD KBP AVS
297
298#FEATURE_LIST= ATPTRANS_SOCKET PTP CINT L3 I2C BCMX BCMX_DIAG MEM_SCAN EDITLINE BCM_SAL_PROFILE CUSTOMER TEST CHASSIS MSTP RCPU
299
300# ARAD + KT2
301FEATURE_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
302#
303###############################################################
304# KBP supported devices
305#
306#Enable this for 11K device support
307#KBP_DEVICE = KBP_11K
308#
309#Enable this for 12K device support
310#KBP_DEVICE = KBP_ALG
311#
312###############################################################
313
314################################################################
315#
316# Selective Device Support (Switches and PHYs)
317#
318################################################################
319
320# Multiple Chip Support
321#
322# By default, the driver supports all Strata switch and fabric chips
323# included in this software release. It checks device IDs at runtime
324# to run the correct driver modules.
325#
326# To save space, the driver can be compiled to support just a subset of
327# the chips. To do this, uncomment the line for BCM_PTL_SPT (partial
328# support) and uncomment one line for each chip to support.
329#
330# Note that there are a lot more chips than drivers.
331# For example, the BCM5615 driver is also used for BCM5625 and BCM5645.
332#
333
334BCM_PTL_SPT = 1
335
336#BCM_5675_A0 = 1
337#BCM_56102_A0 = 1
338#BCM_56112_A0 = 1
339#BCM_56304_B0 = 1
340#BCM_56314_A0 = 1
341#BCM_56504_A0 = 1
342#BCM_56504_B0 = 1
343#BCM_56514_A0 = 1
344#BCM_56624_A0 = 1
345#BCM_56624_B0 = 1
346#BCM_56680_A0 = 1
347#BCM_56680_B0 = 1
348#BCM_56580_A0 = 1
349#BCM_56700_A0 = 1
350#BCM_56800_A0 = 1
351#BCM_56218_A0 = 1
352#BCM_56224_A0 = 1
353#BCM_56224_B0 = 1
354#BCM_56725_A0 = 1
355#BCM_56820_A0 = 1
356#BCM_53314_A0 = 1
357#BCM_53324_A0 = 1
358#BCM_56634_A0 = 1
359#BCM_56634_B0 = 1
360#BCM_56524_A0 = 1
361#BCM_56524_B0 = 1
362#BCM_56685_A0 = 1
363#BCM_56685_B0 = 1
364#BCM_56334_A0 = 1
365#BCM_56334_B0 = 1
366#BCM_56840_A0 = 1
367#BCM_56840_B0 = 1
368#BCM_56850_A0 = 1
369#BCM_56142_A0 = 1
370#BCM_56150_A0 = 1
371#BCM_56836_A0 = 1
372#BCM_56640_A0 = 1
373BCM_56440_A0 = 1
374BCM_56440_B0 = 1
375BCM_56450_A0 = 1
376BCM_56450_B0 = 1
377BCM_56450_B1 = 1
378#BCM_56960_A0 = 1
379#BCM_56860_A0 = 1
380
381#BCM_5338_A0 = 1
382#BCM_5380_A0 = 1
383#BCM_5338_B0 = 1
384#BCM_5325_A1 = 1
385
386#BCM_5324_A0 = 1
387#BCM_5396_A0 = 1
388#BCM_5389_A0 = 1
389#BCM_5398_A0 = 1
390#BCM_5324_A1 = 1
391#BCM_53115_A0 = 1
392#BCM_53118_A0 = 1
393#BCM_53280_A0 = 1
394#BCM_53280_B0 = 1
395#BCM_53101_A0 = 1
396#BCM_53125_A0 = 1
397#BCM_53128_A0 = 1
398#BCM_53600_A0 = 1
399#BCM_89500_A0 = 1
400
401#BCM_88030_A0 = 1
402#BCM_QE2000_A0 = 1
403#BCM_BME3200_B0 = 1
404#BCM_BM9600_A0 = 1
405#BCM_88230_A0 = 1
406#BCM_88230_B0 = 1
407#BCM_88230_C0 = 1
408
409# ARAD
410BCM_88640_A0=1
411BCM_88650_A0=1
412BCM_88650_B0=1
413BCM_88660_A0=1
414
415#BCM_TK371X_A0 = 1
416
417# Options for multiple PHY support
418# If BCM_PHY_LIST is defined, it is a list of PHYs to include.
419# The default is to include all of them.
420# If none of them should be included specify BCM_PHY_LIST=EMPTY
421#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
422
423# Options for BCM5338 5380
424#CFGFLAGS += -DROBO_OLD
425#ROBO_OLD = 1
426
427# Support for phy simulation
428#CFGFLAGS += -DINCLUDE_PHY_SIMUL
429#CFGFLAGS += -DSIM_ALL_PHYS # All phys use simulation driver
430#CFGFLAGS += -DSIM_CMIC_LINK_STAT # Get link status from CMIC register
431
432# Support for BOARD library
433# if BOARD_LIST is defined, it is a list of Board drivers to include.
434# The default is to include all board drivers appropriate for the devices
435# included in the build. If none of them should be included specify
436# BOARD_LIST=EMPTY.
437#BOARD_LIST=GENERIC
438
439# Support for event logging
440#CFGFLAGS += -DINCLUDE_SHARED_EVLOG
441
442# Support for BCM API port translation
443#CFGFLAGS += -DINCLUDE_BCM_API_XLATE_PORT
444
445# Support for callback error checks and abort in traverse api's
446#CFGFLAGS += -DBCM_CB_ABORT_ON_ERR
447################################################################
448#
449# Misc Options
450#
451################################################################
452#CFGFLAGS += -DSOC_MEM_L3_DEFIP_WAR
453
454# Compile out Register/Table descriptive strings to generate a
455# compact image
456#CFGFLAGS +=-DSOC_NO_NAMES
457#CFGFLAGS +=-DSOC_NO_ALIAS
458#CFGFLAGS +=-DSOC_NO_DESC
459
460# Reload/WarmBoot Support
461#
462CFGFLAGS += -DBCM_WARM_BOOT_SUPPORT
463#
464# Need this for validation using SOC scripts; Will move to tcl
465# someday
466CFGFLAGS += -DBCM_WARM_BOOT_SUPPORT_SW_DUMP
467#
468# Adds a CRC check on scache buffer: Calculate when saving,
469# and verify when loading.
470# When doing ISSU, both source and destination versions should either have
471# this flag enabled or disabled.
472#CFGFLAGS += -DSCACHE_CRC_CHECK
473
474################################################################
475#
476# Enable Easy Reload Support
477#
478################################################################
479#CFGFLAGS += -DBCM_EASY_RELOAD_SUPPORT
480# For validation purposes
481#CFGFLAGS += -DBCM_EASY_RELOAD_SUPPORT_SW_DUMP
482
483# Software Trunk failover Support
484#
485#CFGFLAGS += -DBCM_TRUNK_FAILOVER_SUPPORT
486
487################################################################
488#
489# Override default VXWORKS thread options to make set
490# VX_UNBREAKABLE flag in task creation.
491#
492################################################################
493#CFGFLAGS += -DVX_THREAD_OPT_UNBREAKABLE
494
495
496################################################################
497#
498# Use default priority for BDE interrupt thread.
499#
500################################################################
501#CFGFLAGS += -DSAL_BDE_THREAD_PRIO_DEFAULT
502
503################################################################
504#
505# Use cached DMA memory when mapping kernel DMA memory to user
506# mode. Should only be enabled on cache-coherent platforms.
507#
508################################################################
509#CFGFLAGS += -DSAL_BDE_CACHE_DMA_MEM
510
511################################################################
512#
513# Take the spl lock upon entering an ISR
514#
515################################################################
516#CFGFLAGS += -DSAL_SPL_LOCK_ON_IRQ
517
518################################################################
519#
520# Silently ignore NULL pointer free in sal_free API
521# Default behaviour is to assert if a NULL pointer is passed to sal_free
522#
523################################################################
524#CFGFLAGS += -DSAL_FREE_NULL_IGNORE
525
526################################################################
527# Enable SBX MPLS TP support
528################################################################
529#CFGFLAGS += -DBCM_SBX_MPLSTP_SUPPORT
530#CFGFLAGS += -DBCM_SBX_C1_MPLSTP_SUPPORT
531
532################################################################
533# Restrict SBX C2 Fte range to C2's range
534################################################################
535#CFGFLAGS += -DBCM_SBX_C1_C2_INTEROP
536
537################################################################
538# For historical reasons the PCI probe function skips device 12
539# by default to prevent a system hang on certain platforms.
540# Set this value to zero to probe all PCI devices.
541################################################################
542#CFGFLAGS += -DOVERRIDE_PCI_SKIP_DEV_MASK=0
543
544################################################################
545# Override max devices supported by PLI BDE
546################################################################
547#CFGFLAGS += -DPLI_MAX_DEVICES
548
549################################################################
550# Track BCM API calls to avoid deinitialization while calls active
551# This will incur a small time penalty for each BCM API call
552################################################################
553#CFGFLAGS += -DBCM_CONTROL_API_TRACKING
554
555################################################################
556# Override default retry time for detach to wait for executing
557# APIs to complete.
558################################################################
559#CFGFLAGS += -DBCM_DETACH_POLL_INTERVAL_USECS_DEFAULT=100000
560#CFGFLAGS += -DBCM_DETACH_NUM_RETRIES_DEFAULT=3000
561
562################################################################
563# Disable the RX module initialization
564################################################################
565#CFGFLAGS += -DBCM_RX_DISABLE
566
567################################################################
568# Enable TX callback in interrupt thread
569################################################################
570#CFGFLAGS += -DTX_CB_INTR
571