xref: /OK3568_Linux_fs/buildroot/boot/mxs-bootlets/mxs-bootlets.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# mxs-bootlets
4#
5################################################################################
6
7ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL),y)
8MXS_BOOTLETS_TARBALL = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL))
9MXS_BOOTLETS_SITE = $(patsubst %/,%,$(dir $(MXS_BOOTLETS_TARBALL)))
10MXS_BOOTLETS_SOURCE = $(notdir $(MXS_BOOTLETS_TARBALL))
11BR_NO_CHECK_HASH_FOR += $(MXS_BOOTLETS_SOURCE)
12else ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT),y)
13MXS_BOOTLETS_SITE = $(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_URL)
14MXS_BOOTLETS_SITE_METHOD = git
15MXS_BOOTLETS_VERSION = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_VERSION))
16BR_NO_CHECK_HASH_FOR += $(MXS_BOOTLETS_SOURCE)
17else
18MXS_BOOTLETS_VERSION = 10.12.01
19MXS_BOOTLETS_SITE = http://download.ossystems.com.br/bsp/freescale/source
20MXS_BOOTLETS_SOURCE = imx-bootlets-src-$(MXS_BOOTLETS_VERSION).tar.gz
21endif
22
23ifeq ($(BR2_TARGET_MXS_BOOTLETS_STMP37xx),y)
24MXS_BOOTLETS_BOARD = stmp37xx_dev
25else ifeq ($(BR2_TARGET_MXS_BOOTLETS_STMP378x),y)
26MXS_BOOTLETS_BOARD = stmp378x_dev
27else ifeq ($(BR2_TARGET_MXS_BOOTLETS_IMX28EVK),y)
28MXS_BOOTLETS_BOARD = iMX28_EVK
29else ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD),y)
30MXS_BOOTLETS_BOARD = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD_NAME))
31endif
32
33ifeq ($(BR2_TARGET_MXS_BOOTLETS_HAS_IVT),y)
34MXS_BOOTLETS_IVT_SUFFIX = _ivt
35MXS_BOOTLETS_ELFTOSB_OPTIONS += -f imx28
36endif
37
38MXS_BOOTLETS_DEPENDENCIES = host-elftosb
39MXS_BOOTLETS_LICENSE = GPL-2.0+
40
41ifeq ($(BR2_TARGET_MXS_BOOTLETS_BAREBOX),y)
42MXS_BOOTLETS_DEPENDENCIES += barebox
43MXS_BOOTLETS_BOOTDESC = barebox$(MXS_BOOTLETS_IVT_SUFFIX).bd
44MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_barebox$(MXS_BOOTLETS_IVT_SUFFIX).sb
45
46else ifeq ($(BR2_TARGET_MXS_BOOTLETS_LINUX),y)
47MXS_BOOTLETS_DEPENDENCIES += linux
48MXS_BOOTLETS_BOOTDESC = linux$(MXS_BOOTLETS_IVT_SUFFIX).bd
49MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_linux$(MXS_BOOTLETS_IVT_SUFFIX).sb
50
51else ifeq ($(BR2_TARGET_MXS_BOOTLETS_UBOOT),y)
52MXS_BOOTLETS_DEPENDENCIES += uboot
53MXS_BOOTLETS_BOOTDESC = uboot$(MXS_BOOTLETS_IVT_SUFFIX).bd
54MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_uboot$(MXS_BOOTLETS_IVT_SUFFIX).sb
55endif
56
57ifeq ($(BR2_TARGET_MXS_BOOTLETS_BAREBOX),y)
58define MXS_BOOTLETS_SED_BAREBOX
59	sed -i 's,[^ *]barebox.*;,\tbarebox="$(BAREBOX_DIR)/barebox";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
60endef
61endif
62
63ifeq ($(BR2_TARGET_MXS_BOOTLETS_LINUX),y)
64define MXS_BOOTLETS_BUILD_LINUX_PREP
65	BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \
66		$(MAKE1) -C $(@D) linux_prep
67endef
68define MXS_BOOTLETS_SED_LINUX
69	sed -i 's,[^ *]linux_prep.*;,\tlinux_prep="$(@D)/linux_prep/output-target/linux_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
70	sed -i 's,[^ *]zImage.*;,\tzImage="$(LINUX_DIR)/arch/arm/boot/zImage";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
71endef
72endif
73
74ifeq ($(BR2_TARGET_MXS_BOOTLETS_UBOOT),y)
75define MXS_BOOTLETS_SED_UBOOT
76	sed -i 's,[^ *]u_boot.*;,\tu_boot="$(UBOOT_DIR)/u-boot";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
77endef
78endif
79
80define MXS_BOOTLETS_INSTALL_BAREBOX_BOOTDESC
81	cp boot/mxs-bootlets/barebox_ivt.bd $(@D)/
82endef
83
84MXS_BOOTLETS_POST_EXTRACT_HOOKS += MXS_BOOTLETS_INSTALL_BAREBOX_BOOTDESC
85
86define MXS_BOOTLETS_BUILD_CMDS
87	BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \
88		$(MAKE1) -C $(@D) power_prep
89	BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \
90		$(MAKE1) -C $(@D) boot_prep
91	$(MXS_BOOTLETS_BUILD_LINUX_PREP)
92	sed -i 's,[^ *]power_prep.*;,\tpower_prep="$(@D)/power_prep/power_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
93	sed -i 's,[^ *]sdram_prep.*;,\tsdram_prep="$(@D)/boot_prep/boot_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
94	$(MXS_BOOTLETS_SED_BAREBOX)
95	$(MXS_BOOTLETS_SED_LINUX)
96	$(MXS_BOOTLETS_SED_UBOOT)
97	$(HOST_DIR)/bin/elftosb $(MXS_BOOTLETS_ELFTOSB_OPTIONS) \
98		-z -c $(@D)/$(MXS_BOOTLETS_BOOTDESC) \
99		-o $(@D)/$(MXS_BOOTLETS_BOOTSTREAM)
100endef
101
102define MXS_BOOTLETS_INSTALL_TARGET_CMDS
103	cp $(@D)/$(MXS_BOOTLETS_BOOTSTREAM) $(BINARIES_DIR)/
104endef
105
106$(eval $(generic-package))
107