2 # Makefile for Broadcom BCM947XX boards
4 # Copyright (C) 2013, Broadcom Corporation. All Rights Reserved.
6 # Permission to use, copy, modify, and/or distribute this software for any
7 # purpose with or without fee is hereby granted, provided that the above
8 # copyright notice and this permission notice appear in all copies.
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
13 # SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
15 # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16 # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 # $Id: Makefile 382649 2013-02-03 04:37:52Z $
21 # Max sizes for vanilla external
25 # Max sizes for GigE/GMAC external
26 ifeq ($(strip $(CFG_BCM57XX
)),1)
31 ifeq ($(strip $(CFG_GMAC
)),1)
36 # Max sizes for internal
38 BSPOBJS
+= bcm947xx_init.o bcm947xx_devs.o ui_bcm947xx.o bcm947xx_machdep.o
40 ifeq ($(strip $(CFG_MINIMAL_SIZE
)), 1)
41 ifeq ($(strip $(CFG_GMAC
)), 0)
42 ALLOBJS
+= sbsdram.o sbutils.o
43 CFLAGS
+= -DBCMCHIPTYPE
=0
45 ALLOBJS
+= aisdram.o aiutils.o
46 CFLAGS
+= -DBCMCHIPTYPE
=1
49 ALLOBJS
+= aisdram.o aiutils.o sbsdram.o sbutils.o
52 ALLOBJS
+= sisdram.o siutils.o \
53 hndmips.o hndpmu.o hndchipc.o sromstubs.o bcmutils.o cfe_osl.o \
54 nvram.o nvram_rw.o bcmstdlib.o hndsoc.o
56 CFLAGS
+= -DBCM4710
-DBCM4704
-DBCMDRIVER
57 ifeq ($(CFG_BCMHND74K
), 1)
61 CFLAGS
+= -I
$(SRCBASE
)/include -I
$(SRCBASE
)/common
/include
62 CFLAGS
+= -I
$(SRCBASE
)/tools
/misc
/lzma_src
/C
64 vpath
%.c
$(SRCBASE
)/shared
$(SRCBASE
)/shared
/nvram
65 vpath
%.S
$(SRCBASE
)/shared
67 ifeq ($(strip $(CFG_LITTLE
)),0)
68 CFLAGS
+= -DIL_BIGENDIAN
-D_MIPSEB_DATA_INVARIANT_
71 ifeq ($(strip $(CFG_EMBEDDED_NVRAM
)),1)
72 CFLAGS
+= -DCFG_EMBEDDED_NVRAM
=1
75 ifeq ($(strip ${CFG_MINIMAL_SIZE}),1)
76 CFLAGS
+= -DCFG_MINIMAL_SIZE
=1
80 ifeq ($(strip $(CFG_FLASH
)),1)
81 CFLAGS
+= -DCFG_FLASH
=1
82 CFLAGS
+= -D_FLASH_BROKEN_BYTEREAD_
-DINCLUDE_FLASH_DRIVERS
83 ALLOBJS
+= ui_test_flash.o
86 ifeq ($(strip ${CFG_SFLASH}),1)
87 CFLAGS
+= -DCFG_SFLASH
=1
88 ALLOBJS
+= dev_sflash.o hndsflash.o ccsflash.o
91 ifeq ($(strip ${CFG_NFLASH}),1)
92 CFLAGS
+= -DCFG_NFLASH
=1 -DNFLASH_SUPPORT
-DCFG_HEAP_SIZE
=1024
93 ALLOBJS
+= dev_nflash.o hndnand.o nflash.o
94 ALLOBJS
+= hamming.o popcount32.o
97 ifeq ($(strip $(CFG_ET
)),1)
99 ETOBJS
:= etc.o et_cfe.o bcmrobo.o
100 CFLAGS
+= -DCFG_ET
=1 -I
$(SRCBASE
)/et
/sys
-I
$(SRCBASE
)/et
/include -DETROBO
-DDMA
102 ifeq ($(strip $(CFG_GMAC
)),1)
104 CFLAGS
+= -DCFG_GMAC
=1
107 ifeq ($(strip $(CFG_MINIMAL_SIZE
)), 1)
108 ifeq ($(strip $(CFG_GMAC
)),0)
110 CFLAGS
+= -DCFG_ETC47XX
=1 -DBCMDMA32
113 ETOBJS
+= etc_adm.o etc47xx.o
114 CFLAGS
+= -DETADM
-DCFG_ETC47XX
=1 -DBCMDMA32
119 # Search for sources under src/et/sys or objects under src/et/cfe
120 ifneq ($(wildcard $(SRCBASE
)/et
/sys
),)
121 vpath
%.c
$(SRCBASE
)/et
/sys
124 ALLOBJS
+= $(foreach obj
,$(ETOBJS
),$(SRCBASE
)/et
/cfe
/$(obj
))
128 ifeq ($(strip $(CFG_WL
)),1)
129 CFLAGS
+= -DCFG_WL
=1 -DBCMDMA64
131 # get wl driver source files and flags,
132 # macros are defined in build/broadcom/bcm947xx/Makefile
133 # WLCFE is to pick wl_cfe.c from wl.mk
135 include $(WLCFGDIR
)/$(WLCONFFILE
)
136 include $(WLCFGDIR
)/wl.mk
139 WLOBJS
:= $(patsubst %.c
,%.o
,$(WLFILES
))
141 $(error WLFILES is undefined in
$(CONFIG_WL_CONF
))
143 WL_DFLAGS
:= $(WLFLAGS
)
145 ifeq ($(strip $(CFG_WLU
)),1)
146 WLOBJS
+= wlu.o wlu_common.o wlu_cmd.o wlu_iov.o bcmwifi_channels.o
147 CFLAGS
+= -DCFG_WLU
=1
150 # add these path for WLOBJS only
151 $(WLOBJS
): WL_CFLAGS
:= -I
$(SRCBASE
)/wl
/sys
-I
$(SRCBASE
)/wl
/phy
-I
$(SRCBASE
)/wl
/exe
$(WL_DFLAGS
)
152 CFLAGS
+= $(WL_CFLAGS
)
154 # Search for sources under src/wl/sys or objects under src/wl/cfe
155 ifneq ($(wildcard $(SRCBASE
)/wl
/sys
/wlc.h
),)
156 vpath
%.c
$(SRCBASE
)/wl
/sys
$(SRCBASE
)/wl
/phy
$(SRCBASE
)/wl
/exe
$(SRCBASE
)/bcmcrypto
$(SRCBASE
)/shared
159 ALLOBJS
+= $(foreach obj
,$(WLOBJS
),$(SRCBASE
)/wl
/cfe
/$(obj
))
166 # Search for sources under src/shared
167 ifeq ($(strip $(HNDDMA
)),1)
171 ifeq ($(strip $(CFG_PCI
)),1)
172 BSPOBJS
+= bcm947xx_pci_machdep.o hndpci.o nicpci.o
173 ifeq ($(strip $(CFG_BCM57XX
)),1)
174 CFLAGS
+= -DCFG_BCM57XX
=1
175 ALLOBJS
+= dev_bcm5700.o hndgige.o
176 # Add robo if not already done by ET
177 ifeq ($(strip $(CFG_ET
)),0)
182 CFLAGS
+= -DBCMBUSTYPE
=SI_BUS