diff options
author | Varalaxmi Bingi <varalaxmi.bingi@xilinx.com> | 2020-08-14 22:18:16 +0530 |
---|---|---|
committer | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | 2020-09-08 11:12:07 -0700 |
commit | abfa347586439fc0cda9f963d49773a6d16ebbf6 (patch) | |
tree | 1b9845aa8feed37766b71c32d76e1d206af62f16 | |
parent | fa72812585023bba487502d89b16656246ce6086 (diff) | |
download | meta-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.bb | 78 |
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 @@ | |||
1 | SUMMARY = "Xilinx BSP u-boot device trees" | ||
2 | DESCRIPTION = "Xilinx BSP u-boot device trees from within layer." | ||
3 | SECTION = "bsp" | ||
4 | |||
5 | LICENSE = "MIT & GPLv2" | ||
6 | LIC_FILES_CHKSUM = " \ | ||
7 | file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \ | ||
8 | file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \ | ||
9 | " | ||
10 | |||
11 | inherit devicetree xsctdt xsctyaml | ||
12 | |||
13 | |||
14 | REPO ??= "git://github.com/xilinx/device-tree-xlnx.git;protocol=https" | ||
15 | BRANCH ??= "master" | ||
16 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" | ||
17 | SRC_URI = "${REPO};${BRANCHARG}" | ||
18 | |||
19 | PROVIDES = "virtual/uboot-dtb" | ||
20 | |||
21 | S = "${WORKDIR}/git" | ||
22 | B = "${WORKDIR}/build" | ||
23 | |||
24 | SRCREV ??= "bc8445833318e9320bf485ea125921eecc3dc97a" | ||
25 | PV = "xilinx+git${SRCPV}" | ||
26 | |||
27 | PACKAGE_ARCH ?= "${MACHINE_ARCH}" | ||
28 | |||
29 | COMPATIBLE_MACHINE ?= "^$" | ||
30 | COMPATIBLE_MACHINE_zynqmp = ".*" | ||
31 | COMPATIBLE_MACHINE_zynq = ".*" | ||
32 | COMPATIBLE_MACHINE_versal = ".*" | ||
33 | |||
34 | XSCTH_BUILD_CONFIG ?= "" | ||
35 | |||
36 | DT_FILES_PATH = "${XSCTH_WS}/${XSCTH_PROJ}" | ||
37 | DT_INCLUDE_append = " ${WORKDIR}" | ||
38 | DT_PADDING_SIZE = "0x1000" | ||
39 | |||
40 | UBOOT_DTS ?= "" | ||
41 | XSCTH_MISC = " -hdf_type ${HDF_EXT}" | ||
42 | XSCTH_APP = "device-tree" | ||
43 | YAML_DT_BOARD_FLAGS_zynqmp-generic ?= "" | ||
44 | YAML_DT_BOARD_FLAGS_versal-generic ?= "" | ||
45 | YAML_DT_BOARD_FLAGS_zynq-generic ?= "" | ||
46 | UBOOT_DTS_NAME = "u-boot" | ||
47 | DTB_FILE = "u-boot.dtb" | ||
48 | |||
49 | do_configure[dirs] += "${DT_FILES_PATH}" | ||
50 | SRC_URI_append = "${@" ".join(["file://%s" % f for f in (d.getVar('UBOOT_DTS') or "").split()])}" | ||
51 | |||
52 | do_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. | ||
65 | do_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 | |||
76 | do_deploy() { | ||
77 | install -Dm 0644 ${B}/${UBOOT_DTS_NAME}.dtb ${DEPLOYDIR}/${UBOOT_DTS_NAME}.dtb | ||
78 | } | ||