diff options
author | Andre Przywara <andre.przywara@arm.com> | 2021-12-22 18:16:07 +0000 |
---|---|---|
committer | Mark Rutland <mark.rutland@arm.com> | 2022-01-07 14:15:56 +0000 |
commit | 1044c77062573985f7c994c3b6cef5695f57e955 (patch) | |
tree | 8e679506df1af63922dc4bdce695ac8d39b192a9 | |
parent | fa754a55b3363266a999ef41dddc7a74a37a34cd (diff) | |
download | boot-wrapper-aarch64-1044c77062573985f7c994c3b6cef5695f57e955.tar.gz |
avoid dtc warnings on re-compiling DTB
When we add the PSCI nodes to the provided DTB, we use dtc to de-compile
the blob first, then re-compile it with our nodes and properties added.
In our input DTB the proper phandle references have already been lost,
all we see in the DTB is phandle properties in the target node, and some
numbers in the clocks and gpios properties:
===========
clk24mhz {
compatible = "fixed-clock";
#clock-cells = <0x00>;
clock-frequency = <0x16e3600>;
clock-output-names = "v2m:clk24mhz";
-> phandle = <0x05>;
};
...
serial@90000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0x90000 0x1000>;
interrupts = <0x05>;
-> clocks = <0x05 0x05>;
clock-names = "uartclk", "apb_pclk";
};
===========
dtc warns that those numbers might be wrong:
=========
<stdin>:177.6-27: Warning (clocks_property):
/bus@8000000/motherboard-bus@8000000/iofpga-bus@300000000/serial@90000:
clocks: cell 0 is not a phandle reference
....
=========
The proper solution would be to use references (&v2m_clk24mhz) instead,
as there are in the source .dts file, but we don't have that information
anymore, and cannot easily recover it.
To avoid the lengthy list of warnings, just drop those checks from the
dtc compilation run. This disables more checks than we want or need, but
we somewhat trust in the original DTB to be sane, so that should be
fine.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
-rw-r--r-- | Makefile.am | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am index 3e970a3..f941b07 100644 --- a/Makefile.am +++ b/Makefile.am @@ -160,7 +160,7 @@ model.lds: $(LD_SCRIPT) Makefile $(CPP) $(CPPFLAGS) -ansi -DPHYS_OFFSET=$(PHYS_OFFSET) -DMBOX_OFFSET=$(MBOX_OFFSET) -DKERNEL_OFFSET=$(KERNEL_OFFSET) -DFDT_OFFSET=$(FDT_OFFSET) -DFS_OFFSET=$(FS_OFFSET) $(XEN) -DXEN_OFFSET=$(XEN_OFFSET) -DKERNEL=$(KERNEL_IMAGE) -DFILESYSTEM=$(FILESYSTEM) -DTEXT_LIMIT=$(TEXT_LIMIT) -P -C -o $@ $< fdt.dtb: $(KERNEL_DTB) Makefile - ( $(DTC) -O dts -I dtb $(KERNEL_DTB) ; echo "/ { $(CHOSEN_NODE) $(PSCI_NODE) }; $(CPU_NODES)" ) | $(DTC) -O dtb -o $@ - + ( $(DTC) -O dts -I dtb $(KERNEL_DTB) ; echo "/ { $(CHOSEN_NODE) $(PSCI_NODE) }; $(CPU_NODES)" ) | $(DTC) -O dtb -o $@ -Wno-clocks_property -Wno-gpios_property - # The filesystem archive might not exist if INITRD is not being used .PHONY: all clean $(FILESYSTEM) |