// SPDX-License-Identifier: GPL-2.0 /* * dts file for Xilinx ZynqMP platforms * * (C) Copyright 2024, Advanced Micro Devices, Inc. * * Michal Simek */ #include /dts-v1/; / { binman: binman { multiple-images; #ifdef CONFIG_SPL /* u-boot.itb generation in a static way */ itb { filename = "u-boot.itb"; pad-byte = <0>; fit { description = "Configuration for Xilinx ZynqMP SoC"; fit,align = <0x8>; fit,external-offset = <0x0>; fit,fdt-list = "of-list"; images { uboot { description = "U-Boot (64-bit)"; type = "firmware"; os = "u-boot"; arch = "arm64"; compression = "none"; load = /bits/ 64 ; entry = /bits/ 64 ; hash { algo = "md5"; }; u-boot-nodtb { }; }; atf { description = "Trusted Firmware-A"; type = "firmware"; os = "arm-trusted-firmware"; arch = "arm64"; compression = "none"; load = /bits/ 64 ; entry = /bits/ 64 ; hash { algo = "md5"; }; atf-bl31 { optional; }; }; tee { description = "OP-TEE"; type = "tee"; arch = "arm64"; compression = "none"; os = "tee"; load = /bits/ 64 ; entry = /bits/ 64 ; hash { algo = "md5"; }; tee-os { optional; }; }; @fdt-SEQ { description = "NAME"; type = "flat_dt"; arch = "arm64"; compression = "none"; #if CONFIG_XILINX_OF_BOARD_DTB_ADDR load = /bits/ 64 ; #endif hash { algo = "md5"; }; }; }; configurations { default = "@conf-DEFAULT-SEQ"; @conf-SEQ { description = "NAME"; #if CONFIG_BL31_LOAD_ADDR firmware = "atf"; loadables = "tee", "uboot"; fdt = "fdt-SEQ"; #else firmware = "uboot"; loadables = "fdt"; #endif }; }; }; }; itb-single { filename = "u-boot-single.itb"; pad-byte = <0>; fit { description = "Configuration for Xilinx ZynqMP SoC"; fit,align = <0x8>; fit,external-offset = <0x0>; fit,fdt-list = "of-list"; images { uboot { description = "U-Boot (64-bit)"; type = "firmware"; os = "u-boot"; arch = "arm64"; compression = "none"; load = /bits/ 64 ; entry = /bits/ 64 ; hash { algo = "md5"; }; u-boot-nodtb { }; }; atf { description = "Trusted Firmware-A"; type = "firmware"; os = "arm-trusted-firmware"; arch = "arm64"; compression = "none"; load = /bits/ 64 ; entry = /bits/ 64 ; hash { algo = "md5"; }; atf-bl31 { optional; }; }; tee { description = "OP-TEE"; type = "tee"; arch = "arm64"; compression = "none"; os = "tee"; load = /bits/ 64 ; entry = /bits/ 64 ; hash { algo = "md5"; }; tee-os { optional; }; }; fdt { description = "DT"; type = "flat_dt"; arch = "arm64"; compression = "none"; #if CONFIG_XILINX_OF_BOARD_DTB_ADDR load = /bits/ 64 ; #endif hash { algo = "md5"; }; uboot-fdt-blob { filename = "u-boot.dtb"; type = "blob-ext"; }; }; }; configurations { default = "conf-1"; conf-1 { description = "Single DT"; firmware = "atf"; loadables = "tee", "uboot"; fdt = "fdt"; }; }; }; }; #ifdef CONFIG_SYS_SPI_U_BOOT_OFFS /* QSPI image for testing QSPI boot mode */ image { filename = "qspi.bin"; pad-byte = <0>; blob-ext@1 { offset = <0x0>; filename = "spl/boot.bin"; }; blob-ext@2 { offset = ; filename = "u-boot.itb"; }; fdtmap { }; }; image-single { filename = "qspi-single.bin"; pad-byte = <0>; blob-ext@1 { offset = <0x0>; filename = "spl/boot.bin"; }; blob-ext@2 { offset = ; filename = "u-boot-single.itb"; }; fdtmap { }; }; #endif #endif }; };