2018-08-07 02:14:37 -05:00
|
|
|
#
|
2018-08-23 14:05:14 -05:00
|
|
|
# Copyright 2017 Broadcom
|
2018-08-07 02:14:37 -05:00
|
|
|
#
|
2018-08-23 14:05:14 -05:00
|
|
|
# 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 (the "GPL").
|
|
|
|
#
|
|
|
|
# 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 version 2 (GPLv2) for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# version 2 (GPLv2) along with this source code.
|
2018-08-07 02:14:37 -05:00
|
|
|
#
|
|
|
|
# $Id: Makefile.linux-gto-4_4,v 1.42 Broadcom SDK $
|
|
|
|
# $Copyright: (c) 2015 Broadcom Corp.
|
|
|
|
# All Rights Reserved.$
|
|
|
|
|
|
|
|
# User must select one platform from below.
|
|
|
|
ifeq (,$(BUILD_PLATFORM))
|
|
|
|
BUILD_PLATFORM=POWERPC_LINUX
|
|
|
|
endif
|
|
|
|
|
|
|
|
# TOOLCHAIN_BASE_DIR Toolchain base directory for GTO devices
|
|
|
|
# TARGET_ARCHITECTURE Compiler for target architecture
|
|
|
|
# KERNDIR Kernel directory for iPROC-CMICd devices
|
|
|
|
TOOLCHAIN_BASE_DIR ?= /projects/ntsw-tools/linux/gto
|
|
|
|
TARGET_ARCHITECTURE := powerpc-broadcom-linux-gnuspe
|
|
|
|
KERNDIR ?= $(TOOLCHAIN_BASE_DIR)/kernel/current
|
|
|
|
|
|
|
|
|
|
|
|
ifeq (,$(CROSS_COMPILE))
|
|
|
|
CROSS_COMPILE := $(TARGET_ARCHITECTURE)-
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
# GTO toolchain
|
|
|
|
TOOLCHAIN_BIN_DIR := $(TOOLCHAIN_BASE_DIR)/toolchain/host/usr/bin
|
|
|
|
override PATH := $(TOOLCHAIN_BIN_DIR)/../$(TARGET_ARCHITECTURE)/bin:$(TOOLCHAIN_BIN_DIR):$(PATH)
|
|
|
|
export TOOLCHAIN_BIN_DIR
|
|
|
|
|
|
|
|
|
|
|
|
# Default Linux include directory
|
|
|
|
ifeq (,$(LINUX_INCLUDE))
|
|
|
|
LINUX_INCLUDE := $(KERNDIR)/include
|
|
|
|
endif
|
|
|
|
|
|
|
|
CFGFLAGS += -DSYS_BE_PIO=1 -DSYS_BE_PACKET=0 -DSYS_BE_OTHER=1
|
|
|
|
ENDIAN = BE_HOST=1
|
|
|
|
CFGFLAGS += -D$(ENDIAN)
|
|
|
|
CFGFLAGS += -DBCM_PLATFORM_STRING=\"GTO_MPC8548\"
|
|
|
|
CFGFLAGS += -DSAL_BDE_DMA_MEM_DEFAULT=32
|
|
|
|
|
|
|
|
# Extra variables.
|
|
|
|
EXTRA_CFLAGS = -D"KBUILD_STR(s)=\#s" $(basename_flags) $(modname_flags)
|
|
|
|
|
|
|
|
ARCH = powerpc
|
|
|
|
KBUILD_VERBOSE = 1
|
|
|
|
|
|
|
|
export ARCH KBUILD_VERBOSE
|
|
|
|
|
|
|
|
|
|
|
|
# From linux/arch/ppc/Makefile
|
|
|
|
comma = ,
|
|
|
|
basetarget = $(basename $(notdir $@))
|
|
|
|
modname = $(basetarget)
|
|
|
|
|
|
|
|
name-fix = $(subst $(comma),_,$(subst -,_,$1))
|
|
|
|
basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(basetarget)))"
|
|
|
|
modname_flags = $(if $(filter 1,$(words $(modname))),\
|
|
|
|
-D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))")
|
|
|
|
|
|
|
|
KFLAG_INCLD = $(TOOLCHAIN_BIN_DIR)/../lib/gcc/$(TARGET_ARCHITECTURE)/4.6.4/include
|
|
|
|
|
|
|
|
ifdef BROADCOM_SVK
|
|
|
|
ifeq ($PLX_PCI2LBUS, 1)
|
|
|
|
CFLAGS += -DBCM_PLX9656_LOCAL_BUS -DBDE_LINUX_NON_INTERRUPTIBLE
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef DPP_CHIPS
|
2019-04-15 20:05:51 -05:00
|
|
|
CFLAGS += -DDUNE_BCM -D__DUNE_LINUX_BCM_CPU_PCP_DMA__
|
2018-08-07 02:14:37 -05:00
|
|
|
CFGFLAGS += -DSOC_CM_FUNCTION
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef DFE_CHIPS
|
2019-04-15 20:05:51 -05:00
|
|
|
CFLAGS += -DDUNE_BCM
|
2018-08-07 02:14:37 -05:00
|
|
|
CFGFLAGS += -DSOC_CM_FUNCTION
|
|
|
|
endif
|
|
|
|
|
2019-04-15 20:05:51 -05:00
|
|
|
ifdef SAND_CHIPS
|
|
|
|
CFLAGS += -D__DUNE_GTO_BCM_CPU__ -D__DUNE_LINUX_BCM_CPU_PCIE__
|
|
|
|
endif
|
|
|
|
|
2018-08-07 02:14:37 -05:00
|
|
|
ifdef SHADOW_PLX
|
|
|
|
CFLAGS += -DBCM_PLX9656_LOCAL_BUS -DBDE_LINUX_NON_INTERRUPTIBLE -DSHADOW_SVK
|
|
|
|
endif
|
|
|
|
|
2020-10-06 09:58:00 -05:00
|
|
|
ifdef LTSW_CHIPS
|
|
|
|
# Default open source target build
|
|
|
|
OPENSRC_BUILD ?= uclibc_201402_ppc
|
|
|
|
|
|
|
|
# Hardware interface (see $SDKLT/bcma/sys/probe directory)
|
|
|
|
SYSTEM_INTERFACE ?= ngbde
|
|
|
|
|
|
|
|
# Turn on direct register access if running on real hardware.
|
|
|
|
ifeq (ngbde,$(SYSTEM_INTERFACE))
|
|
|
|
LTSW_ADD_CPPFLAGS += -DBCMDRD_CONFIG_MEMMAP_DIRECT=1
|
|
|
|
endif
|
|
|
|
|
|
|
|
export SYSTEM_INTERFACE
|
|
|
|
endif
|
|
|
|
|
2018-08-07 02:14:37 -05:00
|
|
|
ifeq (,$(KFLAGS))
|
|
|
|
KFLAGS := -D__KERNEL__ -m32 -nostdinc -isystem $(KFLAG_INCLD) -I$(LINUX_INCLUDE) -include $(LINUX_INCLUDE)/generated/uapi/linux/version.h -include $(LINUX_INCLUDE)/generated/autoconf.h -I$(KERNDIR)/arch/powerpc -I$(KERNDIR)/arch/powerpc/include -I$(KERNDIR)/include/asm-powerpc -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -msoft-float -pipe -ffixed-r2 -mmultiple -mno-altivec -funit-at-a-time -Wa,-me500 -fomit-frame-pointer -Wdeclaration-after-statement -Wno-pointer-sign
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(findstring TCL,$(FEATURE_LIST)))
|
|
|
|
#LINK_STATIC = 0
|
|
|
|
#export LINK_STATIC
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq ($(targetplat),user)
|
|
|
|
include ${SDK}/make/Makefile.linux-kernel-4_4
|
|
|
|
endif
|
|
|
|
|