blob: a33c19339b7a68e64f81a1edfc5960e48b80e572 [file] [log] [blame]
Jason Liu18936ee2011-11-25 00:18:01 +00001#
2# (C) Copyright 2000-2006
3# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4#
5# (C) Copyright 2011 Freescale Semiconductor, Inc.
6#
7# See file CREDITS for list of people who contributed to this
8# project.
9#
10# This program is free software; you can redistribute it and/or
11# modify it under the terms of the GNU General Public License as
12# published by the Free Software Foundation; either version 2 of
13# the License, or (at your option) any later version.
14#
15# This program is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18# GNU General Public License for more details.
19#
20# You should have received a copy of the GNU General Public License
21# along with this program; if not, write to the Free Software
22# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23# MA 02111-1307 USA
24#
25
26include $(TOPDIR)/config.mk
27
28LIB = $(obj)libimx-common.o
29
Benoît Thébaudeauab3a9902013-05-03 10:32:13 +000030ifeq ($(SOC),$(filter $(SOC),mx25 mx5 mx6))
31COBJS-y = iomux-v3.o
32endif
Stefano Babicea00e592012-09-05 20:16:36 +000033ifeq ($(SOC),$(filter $(SOC),mx5 mx6))
Benoît Thébaudeauab3a9902013-05-03 10:32:13 +000034COBJS-y += timer.o cpu.o speed.o
Stefano Babicea00e592012-09-05 20:16:36 +000035COBJS-$(CONFIG_I2C_MXC) += i2c-mxv7.o
36endif
Stefan Roese8870e452013-04-09 21:06:08 +000037ifeq ($(SOC),$(filter $(SOC),mx6 mxs))
38COBJS-y += misc.o
39endif
Troy Kisky124a06d2012-08-15 10:31:20 +000040COBJS-$(CONFIG_CMD_BMODE) += cmd_bmode.o
Eric Nelson99e2dc52013-03-09 07:06:09 +000041COBJS-$(CONFIG_CMD_HDMIDETECT) += cmd_hdmidet.o
Troy Kiskycc54a0f2012-07-19 08:18:25 +000042COBJS := $(sort $(COBJS-y))
Jason Liu18936ee2011-11-25 00:18:01 +000043
44SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
45OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
46
47all: $(obj).depend $(LIB)
48
49$(LIB): $(OBJS)
50 $(call cmd_link_o_target, $(OBJS))
51
Troy Kisky71a988a2013-01-18 16:14:24 +000052$(OBJTREE)/$(patsubst "%",%,$(CONFIG_IMX_CONFIG)).cfgtmp: $(OBJTREE)/%.cfgtmp : $(SRCTREE)/%
53 mkdir -p $(dir $@)
54 $(CC) -E -x c $< $(CPPFLAGS) -o $@
55
56$(OBJTREE)/u-boot.imx: $(OBJTREE)/u-boot.bin $(OBJTREE)/$(patsubst "%",%,$(CONFIG_IMX_CONFIG)).cfgtmp
57 $(OBJTREE)/tools/mkimage -n $(filter-out %.bin,$^) -T imximage \
58 -e $(CONFIG_SYS_TEXT_BASE) -d $< $@
59
60$(OBJTREE)/SPL: $(OBJTREE)/spl/u-boot-spl.bin $(OBJTREE)/$(patsubst "%",%,$(CONFIG_IMX_CONFIG)).cfgtmp
61 $(OBJTREE)/tools/mkimage -n $(filter-out %.bin,$^) -T imximage \
62 -e $(CONFIG_SPL_TEXT_BASE) -d $< $@
63
Benoît Thébaudeauba597602013-04-11 09:35:56 +000064$(OBJTREE)/u-boot-with-spl.imx: $(OBJTREE)/SPL $(OBJTREE)/u-boot.bin
65 $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SPL_PAD_TO) \
66 -I binary -O binary $< $(OBJTREE)/spl/u-boot-spl-pad.imx
Marek Vasutae3509d2013-04-21 05:52:24 +000067 $(OBJTREE)/tools/mkimage -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \
68 -e $(CONFIG_SYS_TEXT_BASE) -C none -d $(OBJTREE)/u-boot.bin \
69 $(OBJTREE)/u-boot.uim
70 cat $(OBJTREE)/spl/u-boot-spl-pad.imx $(OBJTREE)/u-boot.uim > $@
71 rm $(OBJTREE)/spl/u-boot-spl-pad.imx $(OBJTREE)/u-boot.uim
Benoît Thébaudeauba597602013-04-11 09:35:56 +000072
Benoît Thébaudeau7d5a5c72013-04-11 09:35:57 +000073$(OBJTREE)/u-boot-with-nand-spl.imx: $(OBJTREE)/SPL $(OBJTREE)/u-boot.bin
74 (echo -ne '\x00\x00\x00\x00\x46\x43\x42\x20\x01' && \
75 dd bs=1015 count=1 if=/dev/zero 2>/dev/null) | \
76 cat - $< > $(OBJTREE)/spl/u-boot-nand-spl.imx
77 $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SPL_PAD_TO) \
78 -I binary -O binary $(OBJTREE)/spl/u-boot-nand-spl.imx \
79 $(OBJTREE)/spl/u-boot-nand-spl-pad.imx
80 rm $(OBJTREE)/spl/u-boot-nand-spl.imx
Marek Vasutae3509d2013-04-21 05:52:24 +000081 $(OBJTREE)/tools/mkimage -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \
82 -e $(CONFIG_SYS_TEXT_BASE) -C none -d $(OBJTREE)/u-boot.bin \
83 $(OBJTREE)/u-boot.uim
84 cat $(OBJTREE)/spl/u-boot-nand-spl-pad.imx $(OBJTREE)/u-boot.uim > $@
85 rm $(OBJTREE)/spl/u-boot-nand-spl-pad.imx $(OBJTREE)/u-boot.uim
Benoît Thébaudeau7d5a5c72013-04-11 09:35:57 +000086
Troy Kisky71a988a2013-01-18 16:14:24 +000087
Jason Liu18936ee2011-11-25 00:18:01 +000088#########################################################################
89
90# defines $(obj).depend target
91include $(SRCTREE)/rules.mk
92
93sinclude $(obj).depend
94
95#########################################################################