summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVaralaxmi Bingi <varalaxmi.bingi@xilinx.com>2020-08-14 22:18:16 +0530
committerSai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>2020-09-08 11:12:07 -0700
commitabfa347586439fc0cda9f963d49773a6d16ebbf6 (patch)
tree1b9845aa8feed37766b71c32d76e1d206af62f16
parentfa72812585023bba487502d89b16656246ce6086 (diff)
downloadmeta-xilinx-abfa347586439fc0cda9f963d49773a6d16ebbf6.tar.gz
uboot-device-tree.bb: Adding building seperate u-boot.dtb support
This recipe will enable us to build seperate u-boot dtb from given design and given dtsi/dts file using UBOOT_DTS variable with space seperated. Signed-off-by: Varalaxmi Bingi <varalaxmi.bingi@xilinx.com> Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
-rw-r--r--meta-xilinx-bsp/recipes-bsp/uboot-device-tree/uboot-device-tree.bb78
1 files changed, 78 insertions, 0 deletions
diff --git a/meta-xilinx-bsp/recipes-bsp/uboot-device-tree/uboot-device-tree.bb b/meta-xilinx-bsp/recipes-bsp/uboot-device-tree/uboot-device-tree.bb
new file mode 100644
index 00000000..885dce8c
--- /dev/null
+++ b/meta-xilinx-bsp/recipes-bsp/uboot-device-tree/uboot-device-tree.bb
@@ -0,0 +1,78 @@
1SUMMARY = "Xilinx BSP u-boot device trees"
2DESCRIPTION = "Xilinx BSP u-boot device trees from within layer."
3SECTION = "bsp"
4
5LICENSE = "MIT & GPLv2"
6LIC_FILES_CHKSUM = " \
7 file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \
8 file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
9 "
10
11inherit devicetree xsctdt xsctyaml
12
13
14REPO ??= "git://github.com/xilinx/device-tree-xlnx.git;protocol=https"
15BRANCH ??= "master"
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19PROVIDES = "virtual/uboot-dtb"
20
21S = "${WORKDIR}/git"
22B = "${WORKDIR}/build"
23
24SRCREV ??= "bc8445833318e9320bf485ea125921eecc3dc97a"
25PV = "xilinx+git${SRCPV}"
26
27PACKAGE_ARCH ?= "${MACHINE_ARCH}"
28
29COMPATIBLE_MACHINE ?= "^$"
30COMPATIBLE_MACHINE_zynqmp = ".*"
31COMPATIBLE_MACHINE_zynq = ".*"
32COMPATIBLE_MACHINE_versal = ".*"
33
34XSCTH_BUILD_CONFIG ?= ""
35
36DT_FILES_PATH = "${XSCTH_WS}/${XSCTH_PROJ}"
37DT_INCLUDE_append = " ${WORKDIR}"
38DT_PADDING_SIZE = "0x1000"
39
40UBOOT_DTS ?= ""
41XSCTH_MISC = " -hdf_type ${HDF_EXT}"
42XSCTH_APP = "device-tree"
43YAML_DT_BOARD_FLAGS_zynqmp-generic ?= ""
44YAML_DT_BOARD_FLAGS_versal-generic ?= ""
45YAML_DT_BOARD_FLAGS_zynq-generic ?= ""
46UBOOT_DTS_NAME = "u-boot"
47DTB_FILE = "u-boot.dtb"
48
49do_configure[dirs] += "${DT_FILES_PATH}"
50SRC_URI_append = "${@" ".join(["file://%s" % f for f in (d.getVar('UBOOT_DTS') or "").split()])}"
51
52do_configure_prepend () {
53 if [ ! -z "${UBOOT_DTS}" ]; then
54 for f in ${UBOOT_DTS}; do
55 cp -rf ${WORKDIR}/${f} ${DT_FILES_PATH}/
56 done
57 return
58 fi
59}
60
61
62#Both linux dtb and uboot dtb are installing
63#system-top.dtb for uboot env recipe while do_prepare_recipe_sysroot
64#moving system-top.dts to othername.
65do_compile_prepend() {
66 import shutil
67
68 listpath = d.getVar("DT_FILES_PATH")
69 try:
70 os.remove(os.path.join(listpath, "system.dts"))
71 shutil.move(os.path.join(listpath, "system-top.dts"), os.path.join(listpath, d.getVar("UBOOT_DTS_NAME") + ".dts"))
72 except OSError:
73 pass
74}
75
76do_deploy() {
77 install -Dm 0644 ${B}/${UBOOT_DTS_NAME}.dtb ${DEPLOYDIR}/${UBOOT_DTS_NAME}.dtb
78}