<div dir="ltr"><div dir="ltr"><div>Hi Luca, <br></div><div>thanks for your answer!</div><div>How I said to Thomas, I'm trying to compile a Linux image to my ZCU-102 with EPICS (<a href="https://epics.anl.gov">https://epics.anl.gov</a>). But, as first step, I'd want build a simple Linux image, all of this using Buildroot.  <br></div><div>Using yours steps, I've created a pmufw.bin with your builder and the 'pm_cfg_obj.c', created by the Vivado project (xilpm library enabled). <br></div><div>Now I've a new two errors at the boot: <br></div><div>1. boot console [cdns0] disabled <br></div><div>2. The root file system is empty<br></div></div><div><br></div><div><b>defconfig</b> file that I'm using: <br></div><div><br></div><div>BR2_aarch64=y<br>BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches/"<br>BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y<br>BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh"<br>BR2_LINUX_KERNEL=y<br>BR2_LINUX_KERNEL_CUSTOM_GIT=y<br>BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://<a href="http://github.com/Xilinx/linux-xlnx.git">github.com/Xilinx/linux-xlnx.git</a>"<br>BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2018.3"<br>BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynqmp"<br>BR2_LINUX_KERNEL_DTS_SUPPORT=y<br>BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu102-rev1.0"<br>BR2_TARGET_ROOTFS_EXT2=y<br>BR2_TARGET_ROOTFS_EXT2_4=y<br># BR2_TARGET_ROOTFS_TAR is not set<br>BR2_TARGET_ARM_TRUSTED_FIRMWARE=y<br>BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y<br>BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="<a href="https://github.com/ARM-software/arm-trusted-firmware.git">https://github.com/ARM-software/arm-trusted-firmware.git</a>"<br>BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.5"<br>BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp"<br>BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y<br>BR2_TARGET_UBOOT=y<br>BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y<br>BR2_TARGET_UBOOT_CUSTOM_GIT=y<br>BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://<a href="http://github.com/xilinx/u-boot-xlnx.git">github.com/xilinx/u-boot-xlnx.git</a>"<br>BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="228801a215909365ae1dcdd799034195ad7264f7"<br>BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_zcu102_rev1_0"<br>BR2_TARGET_UBOOT_NEEDS_DTC=y<br>BR2_TARGET_UBOOT_SPL=y<br>BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin"<br>BR2_TARGET_UBOOT_ZYNQMP=y<br>BR2_TARGET_UBOOT_ZYNQMP_PMUFW="/home/adrian/Documents/ZCU-102/pmufw_builder/zynqmp-pmufw-builder/pmufw.bin"<br>BR2_PACKAGE_HOST_DOSFSTOOLS=y<br>BR2_PACKAGE_HOST_GENIMAGE=y<br>BR2_PACKAGE_HOST_MTOOLS=y</div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mar., 26 nov. 2019 a las 17:49, Luca Ceresoli (<<a href="mailto:luca@lucaceresoli.net">luca@lucaceresoli.net</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Adrian,<br>
<br>
On 20/11/19 09:21, Adrian martinez munera wrote:<br>
> Hi,<br>
> I'm not sure if I have to write you by this mail. <br>
> <br>
> I'm using buildroot to create a Linux image to my ZCU-102, adding EPICS.<br>
> <br>
> My first attempt are been build  a simple Linux image, without EPICS,<br>
> but it doesn't work.<br>
> <br>
> ¿Could you help me? ¿Could you give me all of necessary files to build<br>
> the image?<br>
<br>
Thomas already replied with some objections, and I agree you should<br>
explain better your problem.<br>
<br>
However, as setting up booting is more complex on ZynqMP platforms than<br>
in other ones, here are a few notes to address booting. They could be<br>
useful for other people as well.<br>
<br>
Buildroot has a defconfig for the ZCU106 board, you can take that as a<br>
starting point. However some things have changed since that was added,<br>
so I recommend a better approach now.<br>
<br>
I assume you already have a Vivado project implementing your FPGA<br>
design. Even a project with a completely empty FPGA is OK, what matters<br>
is that you configure the "ZynqMP block" appropriately for the board<br>
(the Vivado wizard helps you in starting from a default configuration<br>
with proper DDR timings, among others).<br>
<br>
With the Vivado project you can start the Xilinx XSDK to produce a bsp<br>
(don't forget to enable the xilpm library in the wizard). The xilpm<br>
library in the generated bsp has a file called pm_cfg_obj.c. It's the<br>
"configuration object" that tells the PMU FW how to configure peripherals.<br>
<br>
Now you could go for the "old" approach, the one used for the zcu106<br>
defconfig currently in Buildroot: using zynqmp-pmufw-builder [0] you can<br>
generate a pmufw.bin that contains your configuration object hard-coded.<br>
This is how the pmufw binaries in zynqmp-pmufw-binaries [1], and used in<br>
Buildroot for ZCU106, have been generated.<br>
<br>
But I rather suggest to use the "new" approach. U-Boot SPL since<br>
v2019.10 can load the PMUFW configuration object at runtime (just like<br>
Xilinx FSBL does). In this case you can avoid hard-coding the config<br>
object into the pmufw binary, and use a "standard" PMUFW that works for<br>
any ZynqMP board. The v2018.3 PMUFW in [1] has been built in this way.<br>
<br>
For additional explanations on the "new" approach see [2]. I wrote some<br>
suggestions on how to implement such a workflow for yocto on the<br>
meta-xilinx mailing list [3], the underlying idea should apply to<br>
Buildroot as well.<br>
<br>
I hope this is useful for you. As pointed out by Thomas, your question<br>
is not very precise, so please add more details on exactly what you want<br>
to achieve, what you tried and how it failed. Somebody will probably be<br>
able to help you better.<br>
<br>
[0] <a href="https://github.com/lucaceresoli/zynqmp-pmufw-builder" rel="noreferrer" target="_blank">https://github.com/lucaceresoli/zynqmp-pmufw-builder</a><br>
[1] <a href="https://github.com/lucaceresoli/zynqmp-pmufw-binaries" rel="noreferrer" target="_blank">https://github.com/lucaceresoli/zynqmp-pmufw-binaries</a><br>
[2] <a href="https://lucaceresoli.net/zynqmp-uboot-spl-pmufw-cfg-load/" rel="noreferrer" target="_blank">https://lucaceresoli.net/zynqmp-uboot-spl-pmufw-cfg-load/</a><br>
[3] <a href="https://lists.yoctoproject.org/g/meta-xilinx/message/4570" rel="noreferrer" target="_blank">https://lists.yoctoproject.org/g/meta-xilinx/message/4570</a><br>
<br>
-- <br>
Luca<br>
</blockquote></div></div>