U-boot: device tree overlay and symbols path
laurent vaudoit
laurent.vaudoit at gmail.com
Thu Dec 19 08:28:50 CET 2019
Hi,
i want to use device tree overlay in U-boot.
my overlay looks like this:
-----------------------------
/dts-v1/;
/plugin/;
/ {
fragment at 1 {
//target = <&i2c1>;
target-path = "/soc/aips-bus at 2100000/i2c at 21a4000/";
__overlay__ {
status = "okay";
isl7998x_mipi: isl7998x_mipi at 44 {
compatible = "intersil,isl7998x_mipi";
reg = <0x44>;
//clocks = <&clks 201>;
clocks = <&{/soc/aips-bus at 2000000/ccm at 20c4000} 201>;
clock-names = "csi_mclk";
csi_id = <0>;
mclk = <27000000>;
mclk_source = <0>;
};
};
};
-----------------------------
If i build the base device tree with -@, and use the &i2c1 and &clks
symbols, the overlays works.
I use yocto to build and it seems the -@ is not used for building DT. So i
wanted to use the path corresponding to each symbols.
for the target-path, it's working well in U-boot.
The problem i have is for the clks path.
the binary gives me some __fixup__ like this:
__fixups__ {
/soc/aips-bus at 2000000/ccm at 20c4000 = "/fragment at 1
/__overlay__/isl7998x_mipi at 44:clocks:0";
};
but when U-boot try to apply the overlay, i have an error in
"overlay_fixup_one_phandle"
because base device tree symbols offset is null.
So it seems that fixup can not work if the base DT is not build with -@?
Is there something i'm missing, or something wrong in my overlay?
Thanks in advance for your help
regards
Laurent
More information about the U-Boot
mailing list