blob: 4f68969ea6f429dd373bad7d7fdcc5e3791f5942 [file] [log] [blame]
Tawfik Bayoukc0c8c772012-08-17 17:33:06 +03001include $(TOPDIR)/config.mk
2include paths.mk
3
Tawfik Bayoukc0c8c772012-08-17 17:33:06 +03004
Omri Itach4f88e452013-02-12 17:08:40 +02005ifneq ($(BOARD_TYPE),mv_fpga_board)
Omri Itach8df53572013-03-24 17:33:37 +02006MAKE_PEX = yes
7MAKE_SDMMC = yes
8MAKE_CNTMR = yes
9MAKE_SATA = yes
10MAKE_RTC = yes
Omri Itach4f88e452013-02-12 17:08:40 +020011else
Omri Itach8df53572013-03-24 17:33:37 +020012MAKE_PCI = yes
Omri Itach4f88e452013-02-12 17:08:40 +020013endif
Omri Itach15631222012-08-29 17:33:06 +030014
Igor Patrikc53aff12013-03-03 17:33:37 +020015ifeq ($(BOARD),alp)
Omri Itach7c769c22013-03-26 17:33:37 +020016MAKE_USB = yes
Omri Itach8df53572013-03-24 17:33:37 +020017MAKE_PPV2 = yes
18MAKE_GENERAL_U_BOOT_TOOLS = yes
Tal Cohen5e067512013-03-25 17:33:37 +020019MAKE_SPI_NAND = yes
Ken Mad90aa892015-02-26 15:23:09 +080020MAKE_SWITCH = yes
Omri Itach96395dd2013-03-07 17:33:37 +020021endif
22
Igor Patrikc53aff12013-03-03 17:33:37 +020023ifeq ($(BOARD),a375)
Omri Itach7c769c22013-03-26 17:33:37 +020024MAKE_USB = yes
Omri Itach8df53572013-03-24 17:33:37 +020025MAKE_PPV2 = yes
26MAKE_GENERAL_U_BOOT_TOOLS = yes
Tal Cohen5e067512013-03-25 17:33:37 +020027MAKE_SPI_NAND = yes
Igor Patrikc53aff12013-03-03 17:33:37 +020028endif
29
Eli Nidam6da494e2013-03-10 17:33:37 +020030ifeq ($(BOARD),a38x)
Omri Itach7c769c22013-03-26 17:33:37 +020031MAKE_USB = yes
Eli Nidam0c69ae52013-03-23 17:33:37 +020032MAKE_SATA3 = yes
Omri Itach8df53572013-03-24 17:33:37 +020033MAKE_NETA = yes
34MAKE_GENERAL_U_BOOT_TOOLS = yes
Tal Cohen5e067512013-03-25 17:33:37 +020035MAKE_SPI_NAND = yes
kostap4e27eb92013-03-21 17:33:37 +020036MAKE_RTC2 = yes
Bassel Sabafe0c42e2015-05-11 12:59:43 +030037ifdef CONFIG_ARMADA_38X
kostap0a8b1c72015-03-05 10:46:44 +020038MAKE_SWITCH_SERVICES = yes
Bassel Sabafe0c42e2015-05-11 12:59:43 +030039endif
Ken Mad90aa892015-02-26 15:23:09 +080040MAKE_SWITCH = yes
Eli Nidam6da494e2013-03-10 17:33:37 +020041endif
42
Omri Itach8df53572013-03-24 17:33:37 +020043ifeq ($(BOARD),msys)
44MAKE_NETA = yes
Eli Nidamf57e98b2013-03-13 17:33:37 +020045MAKE_SWITCH_SERVICES = yes
Omri Itach2a57d452013-03-27 17:33:37 +020046MAKE_GENERAL_U_BOOT_TOOLS = yes
Omri Itach8afb1a72013-03-05 17:33:37 +020047ifdef CONFIG_ALLEYCAT3
48MAKE_USB = yes
49endif
Omri Itach8df53572013-03-24 17:33:37 +020050endif
Shadi Ammourib2129892013-03-15 17:33:37 +020051
Omri Itach8df53572013-03-24 17:33:37 +020052ifeq ($(BOARD_TYPE),mv_fpga_board)
53MAKE_NETA = yes
54endif
55
56
Jing Hua23118332013-03-19 17:33:37 +020057COMMON_OBJS = $(COMMON_DIR)/mvCommon.o $(COMMON_DIR)/mvList.o
Omri Itach8df53572013-03-24 17:33:37 +020058OSSERVICES_OBJS = $(OSSERVICES_DIR)/mvOs.o
59ifdef MAKE_SATA
60OSSERVICES_OBJS+= $(OSSERVICES_DIR)/mvOsSata.o
61endif
Hanna Hawaeab563c2013-03-26 17:33:37 +020062
63BOARD_OBJS-y = $(BOARD_ENV_DIR)/mvBoardEnvSpec.o
64BOARD_OBJS-$(CONFIG_ARMADA_39X) = $(BOARD_ENV_DIR)/mvBoardEnvSpec39x.o
65BOARD_OBJS-$(CONFIG_ARMADA_38X) = $(BOARD_ENV_DIR)/mvBoardEnvSpec38x.o
66BOARD_OBJS-y += $(BOARD_ENV_DIR)/mvBoardEnvLib.o
Hanna Hawa12affd62013-03-31 17:33:37 +020067BOARD_OBJS-$(CONFIG_ARMADA_39X) += $(BOARD_ENV_DIR)/mvBoardEnvLib39x.o
68BOARD_OBJS-$(CONFIG_ARMADA_38X) += $(BOARD_ENV_DIR)/mvBoardEnvLib38x.o
Hanna Hawaeab563c2013-03-26 17:33:37 +020069BOARD_OBJS += $(sort $(BOARD_OBJS-y))
Omri Itach8df53572013-03-24 17:33:37 +020070
Yosi Tayar3fba4a32013-03-13 17:33:37 +020071# SEE README.arm-unaligned-accesses
72$(BOARD_ENV_DIR)/mvBoardEnvLib.o: CFLAGS += $(PLATFORM_NO_UNALIGNED)
73
Omri Itach8df53572013-03-24 17:33:37 +020074HAL_IF_OBJS = $(HAL_IF_DIR)/mvSysSpi.o \
75 $(HAL_IF_DIR)/mvSysNfc.o \
76 $(HAL_IF_DIR)/mvSysXor.o \
77 $(HAL_IF_DIR)/mvSysEthPhy.o
78
79
Omri Itach8df53572013-03-24 17:33:37 +020080HAL_OBJS = $(HAL_SPI_DIR)/mvSpi.o \
81 $(HAL_SPI_DIR)/mvSpiCmnd.o \
82 $(HAL_NFC_DIR)/mvNfc.o \
83 $(HAL_XOR_DIR)/mvXor.o \
84 $(HAL_XOR_DIR)/mvXorAddrDec.o \
85 $(HAL_DRAM_DIR)/mvDramIf.o \
86 $(HAL_ETHPHY_DIR)/mvEthPhy.o \
87 $(HAL_GPP_DIR)/mvGpp.o \
88 $(HAL_TWSI_DIR)/mvTwsi.o \
89 $(HAL_UART_DIR)/mvUart.o \
90 $(HAL_PCIIF_DIR)/mvPciIf.o \
91 $(HAL_PCIIF_UTIL_DIR)/mvPciUtils.o
Yosi Tayardf077102013-03-02 17:33:37 +020092HAL_OBJS-$(CONFIG_MV_XSMI) = $(HAL_ETHPHY_DIR)/mvEthPhyXsmi.o
93HAL_OBJS-$(CONFIG_MV_ETH_10G) += $(HAL_ETHPHY_DIR)/mvEth10gPhy.o
Hanna Hawa597804a2013-03-15 17:33:37 +020094HAL_OBJS += $(sort $(HAL_OBJS-y))
Omri Itach8df53572013-03-24 17:33:37 +020095
96USP_OBJS = $(USP_DIR)/mv_spi.o \
97 $(USP_DIR)/nand_nfc.o \
98 $(USP_DIR)/mv_flash.o \
Tal Cohen5e067512013-03-25 17:33:37 +020099 $(USP_DIR)/mv_nand.o \
Omri Itach8df53572013-03-24 17:33:37 +0200100 $(USP_DIR)/mv_serial.o \
101 $(USP_DIR)/mv_i2c.o \
102 $(USP_DIR)/mv_tsc2005.o \
103 $(USP_DIR)/cmd_rcvr.o \
104 $(USP_DIR)/mv_cmd.o \
105 $(USP_DIR)/mv_dram.o \
106 $(USP_DIR)/cmd_bubt.o \
Bassel Saba2af50d82015-05-04 13:12:51 +0300107 $(USP_DIR)/cmd_mvsource.o \
Omri Itach8df53572013-03-24 17:33:37 +0200108 $(USP_DIR)/cmd_resetenv.o \
109 $(USP_DIR)/mvDramScrubbing.o \
Omri Itach8df53572013-03-24 17:33:37 +0200110 $(USP_DIR)/cmd_ddr.o \
111 $(USP_DIR)/mv_phy.o
Hanna Hawa325b5cd2013-03-18 17:33:37 +0200112USP_OBJS-$(CONFIG_CMD_BOARDCFG) = $(USP_DIR)/cmd_boardCfg.o
Omri Itach1852ff42013-03-02 17:33:37 +0200113USP_OBJS-$(CONFIG_OF_BOARD_SETUP) += $(USP_DIR)/mv_fdt.o
Hanna Hawab0a08882013-03-07 17:33:37 +0200114USP_OBJS += $(sort $(USP_OBJS-y))
Omri Itach8df53572013-03-24 17:33:37 +0200115
116ifdef MAKE_PPV2
117ETH_OBJS = $(HAL_IF_DIR)/mvSysPp2.o \
118 $(HAL_PP2_GMAC_DIR)/mvEthGmacApi.o \
119 $(HAL_PP2_GBE_DIR)/mvPp2Gbe.o \
120 $(HAL_PP2_GBE_DIR)/mvPp2AddrDec.o \
121 $(HAL_PP2_BM_DIR)/mvBm.o \
122 $(HAL_PP2_PRS_DIR)/mvPp2PrsHw.o \
123 $(HAL_PP2_PRS_DIR)/mvPp2Prs.o \
124 $(HAL_PP2_CLS_DIR)/mvPp2ClsHw.o \
125 $(HAL_PP2_CLS_DIR)/mvPp2Classifier.o \
126 $(HAL_PP2_COMMON_DIR)/mvPp2Common.o \
127 $(USP_DIR)/mv_egiga_pp2.o
Omri Itach8df53572013-03-24 17:33:37 +0200128endif
129
Eli Nidamf57e98b2013-03-13 17:33:37 +0200130ifdef MAKE_SWITCH_SERVICES
kostap0a8b1c72015-03-05 10:46:44 +0200131USP_OBJS += $(USP_DIR)/switchingServices/switchingServices.o
132ifeq ($(BOARD),a38x)
133USP_OBJS += $(USP_DIR)/switchingServices/sar_bc2.o
134endif
Eli Nidamf57e98b2013-03-13 17:33:37 +0200135endif
Omri Itach8df53572013-03-24 17:33:37 +0200136
137ifdef MAKE_NETA
138ETH_OBJS = $(HAL_IF_DIR)/mvSysNeta.o \
139 $(HAL_NETA_GBE_DIR)/mvNeta.o \
140 $(HAL_NETA_GBE_DIR)/mvNetaAddrDec.o \
141 $(HAL_NETA_GBE_DIR)/mvNetaDebug.o \
142 $(USP_DIR)/mv_egiga_neta.o
143endif
144
Ken Mad90aa892015-02-26 15:23:09 +0800145ifdef MAKE_SWITCH
146USP_OBJS += $(USP_ETH_SWITCH_DIR)/mvSwitch.o
147endif
Omri Itach8df53572013-03-24 17:33:37 +0200148
149ifdef MAKE_USB
150HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysUsb.o
151HAL_OBJS += $(HAL_USB_DIR)/mvUsb.o \
152 $(HAL_USB_DIR)/mvUsbAddrDec.o
153USP_OBJS += $(USP_DIR)/mv_usb.o
154endif
155
156ifdef MAKE_PCI
157HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysPci.o
158HAL_OBJS += $(HAL_PCI_DIR)/mvPci.o
159USP_OBJS += $(USP_DIR)/mv_pci.o
160endif
161
162
163ifdef MAKE_PEX
164HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysPex.o
165HAL_OBJS += $(HAL_PEX_DIR)/mvPex.o \
166 $(HAL_PEX_DIR)/mvPexAddrDec.o
167USP_OBJS += $(USP_DIR)/cmd_pcie.o \
168 $(USP_DIR)/mv_pex.o
169endif
170
171
172ifdef MAKE_SDMMC
173HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysSdmmc.o
174HAL_OBJS += $(HAL_MMC_DIR)/mvSdmmcAddrDec.o
175endif
176
177
178ifdef MAKE_CNTMR
179HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysCntmr.o
180HAL_OBJS += $(HAL_CNTMR_DIR)/mvCntmr.o
181endif
182
183
184ifdef MAKE_SATA
185HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysSata.o
186HAL_OBJS += $(HAL_SATA_CORE_DIR)/mvSata.o \
187 $(HAL_SATA_CORE_DIR)/mvSataAddrDec.o \
188 $(HAL_SATA_CORE_DIR)/mvStorageDev.o \
189 $(HAL_SATA_CORE_DIR)/mvLog.o
190USP_OBJS += $(USP_DIR)/mv_ide.o
Eli Nidam0c69ae52013-03-23 17:33:37 +0200191ifdef MAKE_SATA3
192SOC_OBJS += $(HAL_SATA3_DIR)/mvSata3AddrDec.o
193HAL_IF_OBJS += $(HAL_IF_DIR)/mvSysSata3.o
Eli Nidamba4d0e02013-03-01 17:33:37 +0200194USP_OBJS += $(USP_DIR)/mv_scsi.o
Eli Nidam0c69ae52013-03-23 17:33:37 +0200195endif
Omri Itach8df53572013-03-24 17:33:37 +0200196endif
197
198
kostap4e27eb92013-03-21 17:33:37 +0200199ifeq ($(MAKE_RTC),yes)
200ifneq ($(MAKE_RTC2),yes)
Omri Itach8df53572013-03-24 17:33:37 +0200201HAL_OBJS += $(HAL_RTC_DIR)/mvRtc.o
202USP_OBJS += $(USP_DIR)/mv_rtc.o
203endif
kostap4e27eb92013-03-21 17:33:37 +0200204endif
Omri Itach8df53572013-03-24 17:33:37 +0200205
kostap4e27eb92013-03-21 17:33:37 +0200206ifeq ($(MAKE_RTC2),yes)
207USP_OBJS += $(USP_DIR)/mv_rtc2.o
208endif
Omri Itach8df53572013-03-24 17:33:37 +0200209
210ifdef MAKE_GENERAL_U_BOOT_TOOLS
211USP_OBJS += $(USP_DIR)/cmd_sys_restore.o \
212 $(USP_DIR)/cmd_unitInfo.o
213endif
214
215SOC_OBJS+= $(SOC_ENV_DIR)/mvCtrlEnvAddrDec.o \
216 $(SOC_ENV_DIR)/mvCtrlEnvLib.o \
217 $(SOC_SYS_DIR)/mvAhbToMbus.o \
218 $(SOC_SYS_DIR)/mvCpuIf.o \
219 $(SOC_CPU_DIR)/mvCpu.o \
220 $(SOC_DEVICE_DIR)/mvDevice.o
Hanna Hawa1e164132013-03-01 17:33:37 +0200221SOC_OBJS-$(CONFIG_MV_ETH_PP2) += $(SOC_ENV_DIR)/mvCtrlEthCompLib.o
222SOC_OBJS-$(CONFIG_NET_COMPLEX) += $(SOC_ENV_DIR)/mvCtrlNetCompLib.o
223SOC_OBJS += $(sort $(SOC_OBJS-y))
Tawfik Bayoukc0c8c772012-08-17 17:33:06 +0300224
Igor Patrikc53aff12013-03-03 17:33:37 +0200225ifneq ($(BOARD),alp)
226ifneq ($(BOARD),a375)
Eli Nidam6da494e2013-03-10 17:33:37 +0200227ifneq ($(BOARD),a38x)
Omri Itach8df53572013-03-24 17:33:37 +0200228USP_OBJS += $(USP_DIR)/mv_main.o
Omri Itachcee79ae2013-02-13 14:34:19 +0200229endif
Igor Patrikc53aff12013-03-03 17:33:37 +0200230endif
Eli Nidam6da494e2013-03-10 17:33:37 +0200231endif
Omri Itachcee79ae2013-02-13 14:34:19 +0200232
Omri Itach8df53572013-03-24 17:33:37 +0200233ifneq ($(BOARD),msys)
234ifneq ($(BOARD),axp)
235SOBJS += $(USP_DIR)/jump.o \
236 $(HAL_DRAM_DIR)/mvDramIfBasicInit.o
237endif
238endif
239
Omri Itach7d6ed212013-02-19 14:34:19 +0200240SOBJS = $(USP_DIR)/platform.o
Omri Itacha765c962012-11-04 16:01:36 +0200241
Omri Itach8df53572013-03-24 17:33:37 +0200242ifdef CONFIG_AMP_SUPPORT
243USP_OBJS += $(USP_DIR)/mv_amp.o
244SOBJS += $(USP_DIR)/mv_micro_loader.o
Eli Nidam6da494e2013-03-10 17:33:37 +0200245endif
246
Tal Cohen5e067512013-03-25 17:33:37 +0200247ifdef MAKE_SPI_NAND
248USP_OBJS += $(USP_DIR)/nand_spi.o
249endif
250
Tawfik Bayoukc0c8c772012-08-17 17:33:06 +0300251COBJS = $(COMMON_OBJS) \
252 $(OSSERVICES_OBJS) \
253 $(HAL_OBJS) \
254 $(HAL_IF_OBJS) \
255 $(SOC_OBJS) \
256 $(BOARD_OBJS) \
257 $(USP_OBJS) \
258 $(ETH_OBJS)
259
260LIB = lib$(VENDOR).o
261
262SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
263OBJS := $(addprefix $(obj),$(COBJS))
264SOBJS := $(addprefix $(obj),$(SOBJS))
265
266$(LIB): $(obj).depend $(OBJS) $(SOBJS)
267 $(call cmd_link_o_target, $(OBJS) $(SOBJS))
268
269#########################################################################
270# This is for $(obj).depend target
271include $(SRCTREE)/rules.mk
272
273sinclude $(obj).depend
274
275#########################################################################