mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 08:57:58 +00:00
05a860c228
Conflicts: drivers/power/power_fsl.c include/configs/mx35pdk.h include/configs/mx53loco.h include/configs/woodburn_common.h board/woodburn/woodburn.c These boards still use the old old PMIC framework, so they do not merge properly after the power framework was merged into mainline. Fix all conflicts and update woodburn to use Power Framework. Signed-off-by: Stefano Babic <sbabic@denx.de>
192 lines
5.8 KiB
Makefile
192 lines
5.8 KiB
Makefile
#
|
|
# (C) Copyright 2000-2011
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
#
|
|
# (C) Copyright 2011
|
|
# Daniel Schwierzeck, daniel.schwierzeck@googlemail.com.
|
|
#
|
|
# (C) Copyright 2011
|
|
# Texas Instruments Incorporated - http://www.ti.com/
|
|
# Aneesh V <aneesh@ti.com>
|
|
#
|
|
# This file is released under the terms of GPL v2 and any later version.
|
|
# See the file COPYING in the root directory of the source tree for details.
|
|
#
|
|
# Based on top-level Makefile.
|
|
#
|
|
|
|
CONFIG_SPL_BUILD := y
|
|
export CONFIG_SPL_BUILD
|
|
|
|
include $(TOPDIR)/config.mk
|
|
|
|
# We want the final binaries in this directory
|
|
obj := $(OBJTREE)/spl/
|
|
|
|
HAVE_VENDOR_COMMON_LIB = $(if $(wildcard $(SRCTREE)/board/$(VENDOR)/common/Makefile),y,n)
|
|
|
|
ifdef CONFIG_SPL_START_S_PATH
|
|
START_PATH := $(subst ",,$(CONFIG_SPL_START_S_PATH))
|
|
else
|
|
START_PATH := $(CPUDIR)
|
|
endif
|
|
|
|
START := $(START_PATH)/start.o
|
|
ifeq ($(CPU),x86)
|
|
START += $(START_PATH)/start16.o
|
|
START += $(START_PATH)/resetvec.o
|
|
endif
|
|
ifeq ($(CPU),ppc4xx)
|
|
START += $(START_PATH)/resetvec.o
|
|
endif
|
|
ifeq ($(CPU),mpc85xx)
|
|
START += $(START_PATH)/resetvec.o
|
|
endif
|
|
|
|
LIBS-y += arch/$(ARCH)/lib/lib$(ARCH).o
|
|
|
|
LIBS-y += $(CPUDIR)/lib$(CPU).o
|
|
ifeq ($(CPU),mpc83xx)
|
|
LIBS-y += arch/powerpc/cpu/mpc8xxx/lib8xxx.o
|
|
endif
|
|
ifeq ($(CPU),mpc85xx)
|
|
LIBS-y += arch/powerpc/cpu/mpc8xxx/lib8xxx.o
|
|
endif
|
|
ifeq ($(CPU),mpc86xx)
|
|
LIBS-y += arch/powerpc/cpu/mpc8xxx/lib8xxx.o
|
|
endif
|
|
|
|
ifdef SOC
|
|
LIBS-y += $(CPUDIR)/$(SOC)/lib$(SOC).o
|
|
endif
|
|
LIBS-y += board/$(BOARDDIR)/lib$(BOARD).o
|
|
LIBS-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/lib$(VENDOR).o
|
|
|
|
LIBS-$(CONFIG_SPL_FRAMEWORK) += common/spl/libspl.o
|
|
LIBS-$(CONFIG_SPL_LIBCOMMON_SUPPORT) += common/libcommon.o
|
|
LIBS-$(CONFIG_SPL_LIBDISK_SUPPORT) += disk/libdisk.o
|
|
LIBS-$(CONFIG_SPL_I2C_SUPPORT) += drivers/i2c/libi2c.o
|
|
LIBS-$(CONFIG_SPL_GPIO_SUPPORT) += drivers/gpio/libgpio.o
|
|
LIBS-$(CONFIG_SPL_MMC_SUPPORT) += drivers/mmc/libmmc.o
|
|
LIBS-$(CONFIG_SPL_SERIAL_SUPPORT) += drivers/serial/libserial.o
|
|
LIBS-$(CONFIG_SPL_SPI_FLASH_SUPPORT) += drivers/mtd/spi/libspi_flash.o
|
|
LIBS-$(CONFIG_SPL_SPI_SUPPORT) += drivers/spi/libspi.o
|
|
LIBS-$(CONFIG_SPL_FAT_SUPPORT) += fs/fat/libfat.o
|
|
LIBS-$(CONFIG_SPL_LIBGENERIC_SUPPORT) += lib/libgeneric.o
|
|
LIBS-$(CONFIG_SPL_POWER_SUPPORT) += drivers/power/libpower.o
|
|
LIBS-$(CONFIG_SPL_NAND_SUPPORT) += drivers/mtd/nand/libnand.o
|
|
LIBS-$(CONFIG_SPL_ONENAND_SUPPORT) += drivers/mtd/onenand/libonenand.o
|
|
LIBS-$(CONFIG_SPL_DMA_SUPPORT) += drivers/dma/libdma.o
|
|
LIBS-$(CONFIG_SPL_POST_MEM_SUPPORT) += post/drivers/memory.o
|
|
LIBS-$(CONFIG_SPL_NET_SUPPORT) += net/libnet.o
|
|
LIBS-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/libnet.o
|
|
LIBS-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/phy/libphy.o
|
|
|
|
ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),)
|
|
LIBS-y += $(CPUDIR)/omap-common/libomap-common.o
|
|
endif
|
|
|
|
ifeq ($(SOC),tegra20)
|
|
LIBS-y += arch/$(ARCH)/cpu/$(SOC)-common/lib$(SOC)-common.o
|
|
LIBS-y += arch/$(ARCH)/cpu/tegra-common/libcputegra-common.o
|
|
LIBS-y += $(CPUDIR)/tegra-common/libtegra-common.o
|
|
endif
|
|
|
|
# Add GCC lib
|
|
ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
|
|
PLATFORM_LIBGCC = $(SPLTREE)/arch/$(ARCH)/lib/libgcc.o
|
|
PLATFORM_LIBS := $(filter-out %/libgcc.o, $(filter-out -lgcc, $(PLATFORM_LIBS))) $(PLATFORM_LIBGCC)
|
|
endif
|
|
|
|
START := $(addprefix $(SPLTREE)/,$(START))
|
|
LIBS := $(addprefix $(SPLTREE)/,$(sort $(LIBS-y)))
|
|
|
|
__START := $(subst $(obj),,$(START))
|
|
__LIBS := $(subst $(obj),,$(LIBS))
|
|
|
|
# Linker Script
|
|
ifdef CONFIG_SPL_LDSCRIPT
|
|
# need to strip off double quotes
|
|
LDSCRIPT := $(addprefix $(SRCTREE)/,$(subst ",,$(CONFIG_SPL_LDSCRIPT)))
|
|
endif
|
|
|
|
ifeq ($(wildcard $(LDSCRIPT)),)
|
|
LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot-spl.lds
|
|
endif
|
|
ifeq ($(wildcard $(LDSCRIPT)),)
|
|
LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot-spl.lds
|
|
endif
|
|
ifeq ($(wildcard $(LDSCRIPT)),)
|
|
LDSCRIPT := $(TOPDIR)/arch/$(ARCH)/cpu/u-boot.lds
|
|
endif
|
|
ifeq ($(wildcard $(LDSCRIPT)),)
|
|
$(error could not find linker script)
|
|
endif
|
|
|
|
# Special flags for CPP when processing the linker script.
|
|
# Pass the version down so we can handle backwards compatibility
|
|
# on the fly.
|
|
LDPPFLAGS += \
|
|
-include $(TOPDIR)/include/u-boot/u-boot.lds.h \
|
|
-include $(OBJTREE)/include/config.h \
|
|
-DCPUDIR=$(CPUDIR) \
|
|
$(shell $(LD) --version | \
|
|
sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
|
|
|
|
$(OBJTREE)/MLO: $(obj)u-boot-spl.bin
|
|
$(OBJTREE)/tools/mkimage -T omapimage \
|
|
-a $(CONFIG_SPL_TEXT_BASE) -d $< $@
|
|
|
|
$(OBJTREE)/MLO.byteswap: $(obj)u-boot-spl.bin
|
|
$(OBJTREE)/tools/mkimage -T omapimage -n byteswap \
|
|
-a $(CONFIG_SPL_TEXT_BASE) -d $< $@
|
|
|
|
ifneq ($(CONFIG_IMX_CONFIG),)
|
|
$(OBJTREE)/SPL: $(obj)u-boot-spl.bin
|
|
$(OBJTREE)/tools/mkimage -n $(SRCTREE)/$(CONFIG_IMX_CONFIG) -T imximage \
|
|
-e $(CONFIG_SPL_TEXT_BASE) -d $< $@
|
|
endif
|
|
|
|
ALL-y += $(obj)u-boot-spl.bin
|
|
|
|
ifdef CONFIG_SAMSUNG
|
|
ALL-y += $(obj)$(BOARD)-spl.bin
|
|
endif
|
|
|
|
all: $(ALL-y)
|
|
|
|
ifdef CONFIG_SAMSUNG
|
|
$(obj)$(BOARD)-spl.bin: $(obj)u-boot-spl.bin
|
|
$(OBJTREE)/tools/mk$(BOARD)spl \
|
|
$(obj)u-boot-spl.bin $(obj)$(BOARD)-spl.bin
|
|
endif
|
|
|
|
$(obj)u-boot-spl.bin: $(obj)u-boot-spl
|
|
$(OBJCOPY) $(OBJCFLAGS) -O binary $< $@
|
|
|
|
GEN_UBOOT = \
|
|
cd $(obj) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $(__START) \
|
|
--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
|
|
-Map u-boot-spl.map -o u-boot-spl
|
|
|
|
$(obj)u-boot-spl: depend $(START) $(LIBS) $(obj)u-boot-spl.lds
|
|
$(GEN_UBOOT)
|
|
|
|
$(START): depend
|
|
$(MAKE) -C $(SRCTREE)/$(START_PATH) $@
|
|
|
|
$(LIBS): depend
|
|
$(MAKE) -C $(SRCTREE)$(dir $(subst $(SPLTREE),,$@))
|
|
|
|
# The following line expands into whole rule which generates u-boot.lst,
|
|
# the file containing u-boots LG-array linker section. This is included into
|
|
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
|
$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBS)))
|
|
$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot.lst depend
|
|
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj). -ansi -D__ASSEMBLY__ -P - < $< > $@
|
|
|
|
depend: $(obj).depend
|
|
.PHONY: depend
|
|
|
|
# defines $(obj).depend target
|
|
include $(SRCTREE)/rules.mk
|