diff options
Diffstat (limited to 'meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc')
-rw-r--r-- | meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc b/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc deleted file mode 100644 index 281ce765..00000000 --- a/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc +++ /dev/null | |||
@@ -1,103 +0,0 @@ | |||
1 | DESCRIPTION = "ARM Trusted Firmware" | ||
2 | |||
3 | LICENSE = "BSD" | ||
4 | LIC_FILES_CHKSUM ?= "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" | ||
5 | |||
6 | PROVIDES = "virtual/arm-trusted-firmware" | ||
7 | |||
8 | inherit deploy | ||
9 | |||
10 | DEPENDS += "u-boot-mkimage-native" | ||
11 | |||
12 | S = "${WORKDIR}/git" | ||
13 | B = "${WORKDIR}/build" | ||
14 | |||
15 | SYSROOT_DIRS += "/boot" | ||
16 | |||
17 | XILINX_RELEASE_VERSION ?= "" | ||
18 | ATF_VERSION ?= "2.2" | ||
19 | ATF_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}" | ||
20 | PV = "${ATF_VERSION}${ATF_VERSION_EXTENSION}+git${SRCPV}" | ||
21 | |||
22 | BRANCH ?= "" | ||
23 | REPO ?= "git://github.com/Xilinx/arm-trusted-firmware.git;protocol=https" | ||
24 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
25 | SRC_URI = "${REPO};${BRANCHARG}" | ||
26 | |||
27 | inherit image-artifact-names | ||
28 | |||
29 | ATF_BASE_NAME ?= "${PN}-${PKGE}-${PKGV}-${PKGR}${IMAGE_VERSION_SUFFIX}" | ||
30 | |||
31 | # Specify a default in case boardvariant isn't available | ||
32 | BOARDVARIANT_ARCH ??= "${MACHINE_ARCH}" | ||
33 | PACKAGE_ARCH = "${BOARDVARIANT_ARCH}" | ||
34 | |||
35 | COMPATIBLE_MACHINE ?= "^$" | ||
36 | COMPATIBLE_MACHINE:zynqmp = ".*" | ||
37 | COMPATIBLE_MACHINE:versal = ".*" | ||
38 | |||
39 | PLATFORM:zynqmp = "zynqmp" | ||
40 | PLATFORM:versal = "versal" | ||
41 | |||
42 | # requires CROSS_COMPILE set by hand as there is no configure script | ||
43 | export CROSS_COMPILE="${TARGET_PREFIX}" | ||
44 | |||
45 | # Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is a standalone application | ||
46 | CFLAGS[unexport] = "1" | ||
47 | LDFLAGS[unexport] = "1" | ||
48 | AS[unexport] = "1" | ||
49 | LD[unexport] = "1" | ||
50 | |||
51 | ATF_CONSOLE ?= "" | ||
52 | ATF_CONSOLE:zynqmp = "cadence" | ||
53 | ATF_CONSOLE:versal ?= "pl011" | ||
54 | |||
55 | DEBUG_ATF ?= "" | ||
56 | DEBUG_ATF:versal ?= "1" | ||
57 | |||
58 | EXTRA_OEMAKE:zynqmp:append = "${@' ZYNQMP_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}" | ||
59 | EXTRA_OEMAKE:append:versal = "${@' VERSAL_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}" | ||
60 | EXTRA_OEMAKE:append = " ${@bb.utils.contains('DEBUG_ATF', '1', ' DEBUG=${DEBUG_ATF}', '', d)}" | ||
61 | |||
62 | OUTPUT_DIR = "${@bb.utils.contains('DEBUG_ATF', '1', '${B}/${PLATFORM}/debug', '${B}/${PLATFORM}/release', d)}" | ||
63 | |||
64 | ATF_MEM_BASE ?= "0x1000" | ||
65 | ATF_MEM_SIZE ?= "0x7ffff" | ||
66 | |||
67 | EXTRA_OEMAKE:zynqmp:append = "${@' ZYNQMP_ATF_MEM_BASE=${ATF_MEM_BASE}' if d.getVar('ATF_MEM_BASE', True) != '' else ''}" | ||
68 | EXTRA_OEMAKE:zynqmp:append = "${@' ZYNQMP_ATF_MEM_SIZE=${ATF_MEM_SIZE}' if d.getVar('ATF_MEM_SIZE', True) != '' else ''}" | ||
69 | |||
70 | EXTRA_OEMAKE:append:versal = "${@' VERSAL_ATF_MEM_BASE=${ATF_MEM_BASE}' if d.getVar('ATF_MEM_BASE', True) != '' else ''}" | ||
71 | EXTRA_OEMAKE:append:versal = "${@' VERSAL_ATF_MEM_SIZE=${ATF_MEM_SIZE}' if d.getVar('ATF_MEM_SIZE', True) != '' else ''}" | ||
72 | EXTRA_OEMAKE:append_vc-p-a2197-00-versal =" VERSAL_PLATFORM=silicon" | ||
73 | |||
74 | do_configure() { | ||
75 | oe_runmake clean -C ${S} BUILD_BASE=${B} PLAT=${PLATFORM} | ||
76 | } | ||
77 | |||
78 | do_compile() { | ||
79 | oe_runmake -C ${S} BUILD_BASE=${B} PLAT=${PLATFORM} RESET_TO_BL31=1 bl31 | ||
80 | } | ||
81 | |||
82 | do_install() { | ||
83 | install -d ${D}/boot | ||
84 | install -Dm 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${D}/boot/${PN}.elf | ||
85 | } | ||
86 | |||
87 | do_deploy() { | ||
88 | install -d ${DEPLOYDIR} | ||
89 | install -m 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${DEPLOYDIR}/${ATF_BASE_NAME}.elf | ||
90 | ln -sf ${ATF_BASE_NAME}.elf ${DEPLOYDIR}/${PN}.elf | ||
91 | install -m 0644 ${OUTPUT_DIR}/bl31.bin ${DEPLOYDIR}/${ATF_BASE_NAME}.bin | ||
92 | ln -sf ${ATF_BASE_NAME}.bin ${DEPLOYDIR}/${PN}.bin | ||
93 | |||
94 | # Get the entry point address from the elf. | ||
95 | BL31_BASE_ADDR=$(${READELF} -h ${OUTPUT_DIR}/bl31/bl31.elf | egrep -m 1 -i "entry point.*?0x" | sed -r 's/.*?(0x.*?)/\1/g') | ||
96 | mkimage -A arm64 -O arm-trusted-firmware -T kernel -C none \ | ||
97 | -a $BL31_BASE_ADDR -e $BL31_BASE_ADDR \ | ||
98 | -d ${OUTPUT_DIR}/bl31.bin ${DEPLOYDIR}/${ATF_BASE_NAME}.ub | ||
99 | ln -sf ${ATF_BASE_NAME}.ub ${DEPLOYDIR}/${PN}.ub | ||
100 | ln -sf ${ATF_BASE_NAME}.ub ${DEPLOYDIR}/atf-uboot.ub | ||
101 | } | ||
102 | addtask deploy before do_build after do_compile | ||
103 | FILES:${PN} += "/boot/${PN}.elf" | ||