| SUMMARY = "Xilinx BSP u-boot device trees" |
| DESCRIPTION = "Xilinx BSP u-boot device trees from within layer." |
| SECTION = "bsp" |
| |
| LICENSE = "MIT & GPLv2" |
| LIC_FILES_CHKSUM = " \ |
| file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \ |
| file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \ |
| " |
| |
| inherit devicetree xsctdt xsctyaml |
| |
| |
| REPO ??= "git://github.com/xilinx/device-tree-xlnx.git;protocol=https" |
| BRANCH ??= "master" |
| BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" |
| SRC_URI = "${REPO};${BRANCHARG}" |
| |
| PROVIDES = "virtual/uboot-dtb" |
| |
| S = "${WORKDIR}/git" |
| B = "${WORKDIR}/build" |
| |
| SRCREV ??= "bc8445833318e9320bf485ea125921eecc3dc97a" |
| PV = "xilinx+git${SRCPV}" |
| |
| PACKAGE_ARCH ?= "${MACHINE_ARCH}" |
| |
| COMPATIBLE_MACHINE ?= "^$" |
| COMPATIBLE_MACHINE_zynqmp = ".*" |
| COMPATIBLE_MACHINE_zynq = ".*" |
| COMPATIBLE_MACHINE_versal = ".*" |
| |
| XSCTH_BUILD_CONFIG ?= "" |
| |
| DT_FILES_PATH = "${XSCTH_WS}/${XSCTH_PROJ}" |
| DT_INCLUDE_append = " ${WORKDIR}" |
| DT_PADDING_SIZE = "0x1000" |
| |
| UBOOT_DTS ?= "" |
| XSCTH_MISC = " -hdf_type ${HDF_EXT}" |
| XSCTH_APP = "device-tree" |
| YAML_DT_BOARD_FLAGS_zynqmp-generic ?= "" |
| YAML_DT_BOARD_FLAGS_versal-generic ?= "" |
| YAML_DT_BOARD_FLAGS_zynq-generic ?= "" |
| UBOOT_DTS_NAME = "u-boot" |
| DTB_FILE = "u-boot.dtb" |
| |
| do_configure[dirs] += "${DT_FILES_PATH}" |
| SRC_URI_append = "${@" ".join(["file://%s" % f for f in (d.getVar('UBOOT_DTS') or "").split()])}" |
| |
| do_configure_prepend () { |
| if [ ! -z "${UBOOT_DTS}" ]; then |
| for f in ${UBOOT_DTS}; do |
| cp -rf ${WORKDIR}/${f} ${DT_FILES_PATH}/ |
| done |
| return |
| fi |
| } |
| |
| |
| #Both linux dtb and uboot dtb are installing |
| #system-top.dtb for uboot env recipe while do_prepare_recipe_sysroot |
| #moving system-top.dts to othername. |
| do_compile_prepend() { |
| import shutil |
| |
| listpath = d.getVar("DT_FILES_PATH") |
| try: |
| os.remove(os.path.join(listpath, "system.dts")) |
| shutil.move(os.path.join(listpath, "system-top.dts"), os.path.join(listpath, d.getVar("UBOOT_DTS_NAME") + ".dts")) |
| except OSError: |
| pass |
| } |
| |
| do_deploy() { |
| install -Dm 0644 ${B}/${UBOOT_DTS_NAME}.dtb ${DEPLOYDIR}/${UBOOT_DTS_NAME}.dtb |
| } |