[meta-xilinx] Thud release update

Luca Ceresoli luca at lucaceresoli.net
Fri Dec 14 02:43:38 PST 2018


Hi Manjukumar,

On 13/12/18 00:04, Manjukumar Harthikote Matha wrote:
> 
> 
>> -----Original Message-----
>> From: Manjukumar Harthikote Matha
>> Sent: Wednesday, December 12, 2018 11:42 AM
>> To: Luca Ceresoli <luca at lucaceresoli.net>; meta-xilinx at yoctoproject.org
>> Subject: RE: [meta-xilinx] Thud release update
>>
>> Hi Luca,
>>
>>> -----Original Message-----
>>> From: Luca Ceresoli [mailto:luca at lucaceresoli.net]
>>> Sent: Wednesday, December 12, 2018 8:31 AM
>>> To: Manjukumar Harthikote Matha <MANJUKUM at xilinx.com>; meta-
>>> xilinx at yoctoproject.org
>>> Subject: Re: [meta-xilinx] Thud release update
>>>
>>> Hi Manjukumar,
>>>
>>> On 29/11/18 18:07, Manjukumar Harthikote Matha wrote:
>>>> Hi All,
>>>>
>>>> Thud release branch is under-testing as of now, we will start sending patches
>> next
>>> week and start merging to master:
>>>> Please check the tree here:
>>>> https://github.com/Xilinx/meta-xilinx/commits/master-next
>>>>
>>>> Major changes:
>>>> meta-xilinx-standalone layer to support building toolchain for MB and pmu-
>>> firmware
>>>> Proposal was sent here:
>>>> https://lists.yoctoproject.org/pipermail/meta-xilinx/2018-
>> September/004051.html
>>>>
>>>> There are two ways to build pmu-firmware: One using multiconfig and other as
>>> two separate distros
>>>>
>>>> 1) multiconfig way:
>>>> 	- You need to add the dependency in the image file, for example in core-
>>> image-minimal you will need
>>>> 	do_image[mcdepends] = "multiconfig:zcu102:pmu:pmu-
>>> firmware:do_deploy"
>>>>
>>>>
>>>> 	- Add conf/multiconfig in the build directory and create pmu.conf and
>>> zcu102.conf under conf/multiconfig
>>>>                pmu.conf  consists of
>>>> 	MACHINE="zynqmp-pmu"
>>>> 	DISTRO="xilinx-standalone"
>>>>     	GCCVERSION="7.%"
>>>>     	TMPDIR="${TOPDIR}/pmutmp"
>>>>
>>>> 	zcu102.conf consists of
>>>> 	MACHINE="zcu102-zynqmp"
>>>>     	DISTRO="poky"
>>>>                - In local.conf multiconfig is enabled by: BBMULTICONFIG ?= "zcu102
>>> pmu"
>>>> 	- bitbake multiconfig:zcu102:core-image-minimal
>>>>
>>>> This will build pmu-firmware in   build/pmutmp and all the linux images in
>> build/tmp
>>>
>>> [Disclaimer: I did not double-check everything I state below since it
>>> takes hours for each test]
>>>
>>> I tried this setup and building u-boot-xlnx fails:
>>>
>>>   $ bitbake multiconfig:zcu102:core-image-minimal
>>>   [...]
>>>   Cannot read
>>> ../../../../../../pmutmp/deploy/images/zynqmp-pmu/pmu-firmware-zynqmp-
>> pmu.bin
>>>
>>> This can be reproduced with the attached script.
>>>
>>
>> From script it seems you are missing do_image[mcdepends] =
>> "multiconfig:zcu102:pmu:pmu-firmware:do_deploy" in your image file?
>> I think you could also add in local.conf
>>
> 
> Spoke too soon :)
> 
> You need both, we are looking into why both lines will be required.
> In Local.conf
> do_image[mcdepends] = "multiconfig:zcu102:pmu:pmu-firmware:do_deploy"
> In u-boot-xlnx
> do_compile[mcdepends] = "multiconfig:zcu102:pmu:pmu-firmware:do_deploy"

I confirm adding *both* lines let me finish my first multiconfig build.

I also don't understand the need for the do_image[mcdepends] line: it
should be implied by the fact that the image depends on u-boot-xlnx,
which in turn depends on pmu-firmware:do_deploy.

Since I have no zcu102 to runtime test, I tried building for zcu106. It
doesn't build as is, do you have plans to support it?

To let it build I had to change (copying from zcu102):


--- a/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
+++ b/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf
@@ -24,7 +24,6 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
 EXTRA_IMAGEDEPENDS += " \
                u-boot-zynq-uenv \
                arm-trusted-firmware \
-               virtual/pmu-firmware \
                virtual/boot-bin \
                virtual/bootloader \
                "
@@ -35,3 +34,10 @@ IMAGE_BOOT_FILES += " \
                "

 MACHINE_HWCODECS = "libomxil-xlnx"
+
+# PMU instance args
+PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
+
+do_write_qemuboot_conf[depends] += "u-boot-zynq-uenv:do_deploy"


Note that the PMU_* variables should probably be shared among all zynqmp
boards.

And of course I had to add:


--- a/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb
+++ b/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb
@@ -30,3 +30,4 @@ HAS_PLATFORM_INIT ?= " \
                "

 do_compile[mcdepends] = "multiconfig:zcu102:pmu:pmu-firmware:do_deploy"
+do_compile[mcdepends] = "multiconfig:zcu106:pmu:pmu-firmware:do_deploy"


This is clearly not nicely scaling to many boards, but at least I got a
core-image-minimal built for zcu106.

-- 
Luca


More information about the meta-xilinx mailing list