summaryrefslogtreecommitdiffstats
path: root/configs/platform-v8a/rules/barebox-imx8m.make
blob: 8ea3e4993b8737ef8a9fe0d6e4c96961c160237f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# -*-makefile-*-
#
# Copyright (C) 2020 by Sascha Hauer <s.hauer@pengutronix.de>
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_BAREBOX_IMX8M) += barebox-imx8m

#
# Paths and names
#
BAREBOX_IMX8M_VERSION	:= 2021.02.0
BAREBOX_IMX8M_MD5	:= 07045e34faa1135d9cd18503186b2d7f
BAREBOX_IMX8M		:= barebox-imx8m-$(BAREBOX_IMX8M_VERSION)
BAREBOX_IMX8M_SUFFIX	:= tar.bz2
BAREBOX_IMX8M_URL	:= $(call barebox-url, BAREBOX_IMX8M)
BAREBOX_IMX8M_PATCHES	:= barebox-$(BAREBOX_IMX8M_VERSION)
BAREBOX_IMX8M_SOURCE	:= $(SRCDIR)/$(BAREBOX_IMX8M_PATCHES).$(BAREBOX_IMX8M_SUFFIX)
BAREBOX_IMX8M_DIR	:= $(BUILDDIR)/$(BAREBOX_IMX8M)
BAREBOX_IMX8M_BUILD_DIR	:= $(BAREBOX_IMX8M_DIR)-build
BAREBOX_IMX8M_CONFIG	:= $(call ptx/in-platformconfigdir, barebox-imx8m.config)
BAREBOX_IMX8M_LICENSE	:= GPL-2.0-only
BAREBOX_IMX8M_BUILD_OOT	:= KEEP

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

# use host pkg-config for host tools
BAREBOX_IMX8M_PATH := PATH=$(HOST_PATH)

BAREBOX_IMX8M_WRAPPER_BLACKLIST := \
	$(PTXDIST_LOWLEVEL_WRAPPER_BLACKLIST)

BAREBOX_IMX8M_CONF_OPT := \
	-C $(BAREBOX_IMX8M_DIR) \
	O=$(BAREBOX_IMX8M_BUILD_DIR) \
	BUILDSYSTEM_VERSION=$(PTXDIST_VCS_VERSION) \
	$(call barebox-opts, BAREBOX_IMX8M)

BAREBOX_IMX8M_MAKE_OPT := $(BAREBOX_IMX8M_CONF_OPT)

BAREBOX_IMX8M_IMAGES := barebox-nxp-imx8mp-evk.img \
	barebox-nxp-imx8mq-evk.img \
	barebox-nxp-imx8mm-evk.img
BAREBOX_IMX8M_IMAGES := $(addprefix $(BAREBOX_IMX8M_BUILD_DIR)/images/,$(BAREBOX_IMX8M_IMAGES))

ifdef PTXCONF_BAREBOX_IMX8M
$(BAREBOX_IMX8M_CONFIG):
	@echo
	@echo "****************************************************************************"
	@echo " Please generate a bareboxconfig with 'ptxdist menuconfig barebox-imx8m'"
	@echo "****************************************************************************"
	@echo
	@echo
	@exit 1
endif

$(STATEDIR)/barebox-imx8m.prepare: $(BAREBOX_IMX8M_CONFIG)
	@$(call targetinfo)
	@$(call world/prepare, BAREBOX_IMX8M)

	@for i in lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_imem.bin \
			lpddr4_pmu_train_2d_dmem.bin lpddr4_pmu_train_2d_imem.bin ; do \
		cp $(PTXCONF_SYSROOT_TARGET)/firmware/ddr/synopsys/$$i $(BAREBOX_IMX8M_DIR)/firmware/; \
	done

	@for i in m p q; do \
		cp $(PTXCONF_SYSROOT_TARGET)/usr/lib/atf/imx8m$$i-bl31.bin \
			$(BAREBOX_IMX8M_DIR)/firmware/; \
	done

	@rm -f "$(BAREBOX_IMX8M_BUILD_DIR)/.ptxdist-defaultenv"
	@ln -s "$(call ptx/in-platformconfigdir, barebox-imx8m-defaultenv)" \
		"$(BAREBOX_IMX8M_BUILD_DIR)/.ptxdist-defaultenv"

	@$(call touch)


# ----------------------------------------------------------------------------
# Install
# ----------------------------------------------------------------------------

$(STATEDIR)/barebox-imx8m.install:
	@$(call targetinfo)
	@$(call touch)

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

$(STATEDIR)/barebox-imx8m.targetinstall:
	@$(call targetinfo)
	@$(foreach image, $(BAREBOX_IMX8M_IMAGES), \
		install -m 644 \
			$(image) $(IMAGEDIR)/$(notdir $(image))-imx8m$(ptx/nl))
	@$(call touch)

# ----------------------------------------------------------------------------
# Clean
# ----------------------------------------------------------------------------

$(STATEDIR)/barebox-imx8m.clean:
	@$(call targetinfo)
	@$(call clean_pkg, BAREBOX_IMX8M)
	@$(foreach image, $(BAREBOX_IMX8M_IMAGES), \
		rm -fv $(IMAGEDIR)/$(notdir $(image))-imx8m$(ptx/nl))

# ----------------------------------------------------------------------------
# oldconfig / menuconfig
# ----------------------------------------------------------------------------

barebox-imx8m_oldconfig barebox-imx8m_menuconfig barebox-imx8m_nconfig: $(STATEDIR)/barebox-imx8m.extract
	@$(call world/kconfig, BAREBOX_IMX8M, $(subst barebox-imx8m_,,$@))

# vim: syntax=make