On 2/4/21 5:25 AM, Leon Woestenberg wrote:
> Hi Mark,
> 
> On Wed, Feb 3, 2021 at 11:02 PM Mark Hatle
> <[email protected]> wrote:
>>
>>> NOTICE:  ATF running on XCZU9EG/silicon v4/RTL5.1 at 0xfffea000
>>> NOTICE:  BL31: v2.2(release):xilinx_rebase_v2.2_2020.1-10-ge6eea88b1
>>> NOTICE:  BL31: Built : 06:05:12, Nov 19 2020
>>
>> You should be able to build the ATF by doing:
>>
>> MACHINE=zynqmp-generic DISTRO=poky bitbake arm-trusted-firmware
>>
> Yes, and for the U-Boot SPL flow, my u-boot_%.bbappend then has this:
> 
> DEPENDS += "arm-trusted-firmware"
> 
> # Required to the bl31.bin into the U-Boot FIT, as our kernel won't
> boot without ATF.
> do_compile_prepend() {
>   cp -aL ${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.bin ${B}/b31.bin
> }
> 
> # EXTRA_OEMAKE seems not respected, DEVICE_TREE is not set, and PM_CFG
> not supported yet in OE
> do_configure_append() {
>   cd ${B}
>   sed -i 
> 's,^CONFIG_DEFAULT_DEVICE_TREE.*,CONFIG_DEFAULT_DEVICE_TREE="zynqmp-zcu102-rev1.0",g'
> .config
>   sed -i 's,^CONFIG_OF_LIST.*,CONFIG_OF_LIST="zynqmp-zcu102-rev1.0",g' .config
>   sed -i 
> 's,^CONFIG_PMUFW_INIT_FILE.*,CONFIG_PMUFW_INIT_FILE="${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.bin",g'
> .config
>   sed -i 
> 's,^CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE.*,CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE="${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_CFG_OBJ_IMAGE_NAME}.bin",g'
> .>
> }
> 
> # SPL no longer support legacy images, we need to build a FIT image
> do_deploy_append() {
>   install -D -m 644 ${B}/u-boot.itb ${DEPLOYDIR}/u-boot.itb
> }

Thanks, this can help me figure out how to support this workflow better.

> Another worry:
> 
> Would this still work with a multiconfig setup, as described in
> https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-bsp/README.building.md?

Yes it should.  I want to get the arm-trusted-firmware to work in both
standalone and Linux builds.  Allowing it to work in standalone would let us do
configurations like:

multiconfig/linux;

The linux configuration can be generic (run on any zynqmp for instance).

The u-boot is specifically configured for the system, as can the pmu-firmware
(or the generic standalone used).

multiconfig/u-boot:

Instructions for building just u-boot  (or maybe u-boot really belongs at the
local.conf level, see below.)

multiconfig/pmu-firmware:

Instructions for building the pmu-firmwre (maybe standalone or xsct or ?)

multiconfig/arm-trusted-firmware

Instructions for building the arm-trusted-firmware

multiconfig/my-r5-baremetal-app

Instructions for building additional non-linux apps...

local.conf:

The the base local.conf only refers to a 'system'.  It contains the DTB, and
other system BSP definitions.

Depends on mc:...-image-... mc:u-boot:u-boot mc:pmu-firmware:pmu-firmware
mc:arm-trusted-firmware:arm-trusted-firmware mc:my-rc5-baremetal-app:magic-app

It would also then have the instructions on generating the proper u-boot script,
the wic code for creating the SD card image, etc etc etc.


With the above configuration a software developer can work on the system as a
whole, or can focus down on a specific piece without the distraction of the
other parts.  There should be a way on the 'system' side to provide use THIS
linux image and kernel.  Use THIS pmu-firmware (instead of building it), or this
ATF or ....

> I think meta-microblaze layer should *only* be in the pmu
> (multi)config, but AFAIK, we do not support a different bblayers.conf
> for a multi(config).

meta-microblaze won't break anything, if it does then I need to fix it.

However, I also don't want to require it for any builds that don't ever use
microblaze components.  So i really need to support both workflows.  (I think
the system now does this.)

All of the internal Xilinx builds are run with meta-microblaze in place, and I
do most of my Yocto Project builds without it.  This way I can verify that it
should not trigger any faults.  (I've still got some cleanup to verify it's not
contaminating hashes but I believe we're safe there.)

--Mark

> Regards,
> 
> Leon.
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#4847): 
https://lists.yoctoproject.org/g/meta-xilinx/message/4847
Mute This Topic: https://lists.yoctoproject.org/mt/80113688/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-xilinx/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to