• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/cfe/cfe/arch/mips/board/bcm947xx/src/
1#
2# Makefile for Broadcom BCM947XX boards
3#
4# Copyright (C) 2013, Broadcom Corporation. All Rights Reserved.
5# 
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.
9# 
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.
17#
18# $Id: Makefile 382649 2013-02-03 04:37:52Z $
19#
20
21# Max sizes for vanilla external
22CFEZ_MAXSIZE = 131072
23CFE_MAXSIZE = 262144
24
25# Max sizes for GigE/GMAC external
26ifeq ($(strip $(CFG_BCM57XX)),1)
27CFEZ_MAXSIZE = 262144
28CFE_MAXSIZE = 262144
29endif
30
31ifeq ($(strip $(CFG_GMAC)),1)
32CFEZ_MAXSIZE = 262144
33CFE_MAXSIZE = 262144
34endif
35
36# Max sizes for internal
37
38BSPOBJS += bcm947xx_init.o bcm947xx_devs.o ui_bcm947xx.o bcm947xx_machdep.o
39
40ifeq ($(strip $(CFG_MINIMAL_SIZE)), 1)
41ifeq ($(strip $(CFG_GMAC)), 0)
42ALLOBJS		+= sbsdram.o sbutils.o
43CFLAGS		+= -DBCMCHIPTYPE=0
44else
45ALLOBJS		+= aisdram.o aiutils.o
46CFLAGS		+= -DBCMCHIPTYPE=1
47endif
48else
49ALLOBJS		+= aisdram.o aiutils.o sbsdram.o sbutils.o
50endif
51
52ALLOBJS += 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
55
56CFLAGS += -DBCM4710 -DBCM4704 -DBCMDRIVER
57ifeq ($(CFG_BCMHND74K), 1)
58CFLAGS += -DBCMHND74K
59endif
60
61CFLAGS += -I$(SRCBASE)/include -I$(SRCBASE)/common/include
62CFLAGS += -I$(SRCBASE)/tools/misc/lzma_src/C
63
64vpath %.c $(SRCBASE)/shared $(SRCBASE)/shared/nvram
65vpath %.S $(SRCBASE)/shared
66
67ifeq ($(strip $(CFG_LITTLE)),0)
68CFLAGS += -DIL_BIGENDIAN -D_MIPSEB_DATA_INVARIANT_
69endif
70
71ifeq ($(strip $(CFG_EMBEDDED_NVRAM)),1)
72CFLAGS += -DCFG_EMBEDDED_NVRAM=1
73endif
74
75ifeq ($(strip ${CFG_MINIMAL_SIZE}),1)
76CFLAGS += -DCFG_MINIMAL_SIZE=1
77else
78endif
79
80ifeq ($(strip $(CFG_FLASH)),1)
81CFLAGS += -DCFG_FLASH=1
82CFLAGS += -D_FLASH_BROKEN_BYTEREAD_ -DINCLUDE_FLASH_DRIVERS
83ALLOBJS += ui_test_flash.o
84endif
85
86ifeq ($(strip ${CFG_SFLASH}),1)
87CFLAGS += -DCFG_SFLASH=1
88ALLOBJS += dev_sflash.o hndsflash.o ccsflash.o
89endif
90
91ifeq ($(strip ${CFG_NFLASH}),1)
92CFLAGS += -DCFG_NFLASH=1 -DNFLASH_SUPPORT -DCFG_HEAP_SIZE=1024
93ALLOBJS += dev_nflash.o hndnand.o nflash.o
94ALLOBJS += hamming.o popcount32.o
95endif
96
97ifeq ($(strip $(CFG_ET)),1)
98
99ETOBJS := etc.o et_cfe.o bcmrobo.o
100CFLAGS += -DCFG_ET=1 -I$(SRCBASE)/et/sys -I$(SRCBASE)/et/include -DETROBO -DDMA
101
102ifeq ($(strip $(CFG_GMAC)),1)
103ETOBJS += etcgmac.o
104CFLAGS += -DCFG_GMAC=1
105endif
106
107ifeq ($(strip $(CFG_MINIMAL_SIZE)), 1)
108ifeq ($(strip $(CFG_GMAC)),0)
109ETOBJS += etc47xx.o
110CFLAGS += -DCFG_ETC47XX=1 -DBCMDMA32
111endif
112else
113ETOBJS += etc_adm.o etc47xx.o
114CFLAGS += -DETADM -DCFG_ETC47XX=1 -DBCMDMA32
115endif
116
117HNDDMA := 1
118
119# Search for sources under src/et/sys or objects under src/et/cfe
120ifneq ($(wildcard $(SRCBASE)/et/sys),)
121vpath %.c $(SRCBASE)/et/sys
122ALLOBJS += $(ETOBJS)
123else
124ALLOBJS += $(foreach obj,$(ETOBJS),$(SRCBASE)/et/cfe/$(obj))
125endif
126endif
127
128ifeq ($(strip $(CFG_WL)),1)
129CFLAGS += -DCFG_WL=1 -DBCMDMA64
130
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
134WLCFE=1
135include $(WLCFGDIR)/$(WLCONFFILE)
136include $(WLCFGDIR)/wl.mk
137
138ifneq ($(WLFILES),)
139WLOBJS := $(patsubst %.c,%.o,$(WLFILES))
140else
141$(error WLFILES is undefined in $(CONFIG_WL_CONF))
142endif
143WL_DFLAGS       := $(WLFLAGS)
144
145ifeq ($(strip $(CFG_WLU)),1)
146WLOBJS += wlu.o wlu_common.o wlu_cmd.o wlu_iov.o bcmwifi_channels.o
147CFLAGS += -DCFG_WLU=1
148endif
149
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)
152CFLAGS += $(WL_CFLAGS) 
153
154# Search for sources under src/wl/sys or objects under src/wl/cfe
155ifneq ($(wildcard $(SRCBASE)/wl/sys/wlc.h),)
156vpath %.c $(SRCBASE)/wl/sys $(SRCBASE)/wl/phy $(SRCBASE)/wl/exe $(SRCBASE)/bcmcrypto $(SRCBASE)/shared
157ALLOBJS += $(WLOBJS)
158else
159ALLOBJS += $(foreach obj,$(WLOBJS),$(SRCBASE)/wl/cfe/$(obj))
160endif
161
162HNDDMA := 1
163endif # CFG_WL
164
165
166# Search for sources under src/shared
167ifeq ($(strip $(HNDDMA)),1)
168ALLOBJS += hnddma.o
169endif
170
171ifeq ($(strip $(CFG_PCI)),1)
172BSPOBJS += bcm947xx_pci_machdep.o hndpci.o nicpci.o 
173ifeq ($(strip $(CFG_BCM57XX)),1)
174CFLAGS += -DCFG_BCM57XX=1
175ALLOBJS += dev_bcm5700.o hndgige.o
176# Add robo if not already done by ET
177ifeq ($(strip $(CFG_ET)),0)
178ALLOBJS += bcmrobo.o
179endif
180endif
181else
182CFLAGS += -DBCMBUSTYPE=SI_BUS
183endif
184