Page MenuHomePhabricator

dtc warns when compiling TF-A with FVP_HW_CONFIG_DTS=fdts/fvp-base-gicv3-psci-1t.dts
Closed, ResolvedPublic

Description

When I build TF-A like this:

#!/bin/bash

KERNEL_ADDR=0x83000000
DTB_ADDR=0x82000000

HW_CONFIG_DTS=fdts/fvp-base-gicv3-psci-1t.dts

CROSS_COMPILE=aarch64-linux-gnu-      \
make                                  \
    PLAT=fvp                          \
    ARCH=aarch64                      \
    DEBUG=1                           \
    RESET_TO_BL31=1                   \
    ARM_LINUX_KERNEL_AS_BL33=1        \
    HW_ASSISTED_COHERENCY=1           \
    CTX_INCLUDE_AARCH32_REGS=0        \
    USE_COHERENT_MEM=0                \
    PRELOADED_BL33_BASE=$KERNEL_ADDR  \
    ARM_PRELOADED_DTB_BASE=$DTB_ADDR  \
    FVP_USE_GIC_DRIVER=FVP_GICV3      \
    FVP_HW_CONFIG_DTS=$HW_CONFIG_DTS  \
    FVP_CLUSTER_COUNT=1               \
    FVP_INTERCONNECT_DRIVER=FVP_CCI   \
    all fip

I get device tree warnings:

build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:128.20-133.5: Warning (simple_bus_reg): /smb@0,0/motherboard/flash@0,00000000: simple-bus unit address format error, expected "0"
build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:134.19-137.5: Warning (simple_bus_reg): /smb@0,0/motherboard/vram@2,00000000: simple-bus unit address format error, expected "200000000"
build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:138.23-142.5: Warning (simple_bus_reg): /smb@0,0/motherboard/ethernet@2,02000000: simple-bus unit address format error, expected "202000000"
build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:143.26-148.5: Warning (simple_bus_reg): /smb@0,0/motherboard/clk24mhz: missing or empty reg/ranges property                                                                               build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:149.30-154.5: Warning (simple_bus_reg): /smb@0,0/motherboard/refclk1mhz: missing or empty reg/ranges property
build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:155.32-160.5: Warning (simple_bus_reg): /smb@0,0/motherboard/refclk32khz: missing or empty reg/ranges property
build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:161.21-283.5: Warning (simple_bus_reg): /smb@0,0/motherboard/iofpga@3,00000000: simple-bus unit address format error, expected "300000000"
build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:284.33-290.5: Warning (simple_bus_reg): /smb@0,0/motherboard/fixedregulator: missing or empty reg/ranges property
build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:294.21-300.6: Warning (simple_bus_reg): /smb@0,0/motherboard/mcc/osc: missing or empty reg/ranges property
build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:301.12-304.6: Warning (simple_bus_reg): /smb@0,0/motherboard/mcc/muxfpga: missing or empty reg/ranges property
build/fvp/debug/fdts/fvp-base-gicv3-psci-1t.pre.dts:305.12-308.6: Warning (simple_bus_reg): /smb@0,0/motherboard/mcc/dvimode: missing or empty reg/ranges property

Is this to be expected? It looks like it's the syntax in fdts/rtsm_ve-motherboard.dtsi that dtc is complaining about:

flash@0,00000000
vram@2,00000000
ethernet@2,02000000

Looking at a similar device tree file in the Linux repository, arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi, the initial number which dtc is complaining about in the TF-A case is missing:

flash@0
ethernet@202000000

I'm using DTC version 1.6.1 and working on TF-A master branch.

Event Timeline

nadlertz triaged this task as Low priority.Aug 17 2022, 7:35 AM
nadlertz created this task.

I tried to follow the guidelines on https://github.com/ARM-software/tf-issues but I can't find where to add the "question" label. Sorry about this.

nadlertz updated the task description. (Show Details)Aug 17 2022, 7:44 AM

Yes, this is a known issue. The DTs for the base FVP model were once imported from the Linux tree, but haven't been updated since. Meanwhile both DTC and the DT schema compliance tooling in the kernel tree got stricter, so the old files trigger warnings now.
One could go ahead and just fix each of those warnings, but I am actually working on rearranging the FVP DT files, so we can sync them from the kernel tree. That should fix those messages automatically.

Regarding this web page reporting system its mainly now being used for Bug reporting. There is now a TF-A mailing list https://lists.trustedfirmware.org/mailman3/lists/tf-a.lists.trustedfirmware.org/ where many more people can help with questions.

The Github instructions on the https://github.com/ARM-software/tf-issues page need updating. I'll take care of that thanks for reporting!!

I see. Thanks for the replies. Feel free to close this task then.

joannafarley-arm closed this task as Resolved.Aug 19 2022, 1:16 PM
joannafarley-arm claimed this task.
extracopy added a subscriber: extracopy.EditedJul 12 2023, 8:12 AM

This is an amazing and informative article that covers so much ground. gorilla tag

By following a character through their krunker journey, you can pick up a wealth of fresh information.

Building TF-A is always challenging to me. Now, thank to your post, I can build TF-A for bloxd io more easily.

I am grateful for this sharing, with TF-A I have not found a method to solve the octordle error I encountered.

The problem is acknowledged, indeed. The base FVP model's DTs were initially imported from the Linux tree, but they haven't received any updates since then. In the meantime, the DTC and DT schema compliance tooling in the kernel tree became stricter, resulting in the old files now generating warnings.
You could just go ahead and correct each of those warnings, however I'm really working on reorganizing the FVP DT files so we can sync them from the kernel tree. That should automatically resolve those messages. Retro Bowl College

Review the TF A build process parameters emphasizing the need for accurate device tree configurations and explore potential adjustments in fdts/rtsm_ve motherboard.dtsi to align with the expected syntax.
Best Metal Fabrication Services in Delray Beach FL

Developers and platform providers are increasingly 2048 cupcakes implementing measures to promote healthy gaming habits and create safer, more inclusive environments for players of all ages.