On Thu, 2018-05-03 at 10:42 +0200, Andreas Schmidt wrote: > > Your use-case sound like you'd need a way to add a more specific DT > > board compatible at runtime. > > We need a decision witch DT has to be load at runtime. But they are all > compatible with the barebox DT. We have only one barebox DT for all devices. Yes. So you have additional device declarations in the kernel device trees, which are not relevant to barebox. > > Then the existing selection logic would > > handle your case as well. > > Ohh ... ok. And could you explain please, who we could do that? Because, > all our DTs are compatible with barebox DT and barebox would choose simple > the first one and boot it. Or is using of Bootloader Spec isn't right > way, to solve this issue? So in the barebox DT you'd have: / { model = "Foo Common i.MX6 Board"; compatible = "foo,mx6-common", "fsl,imx6q"; }; [...] Then for the kernel DTs you can use different compatible lists, which each use a different and more specific entry. mx6-variant1.dts: / { model = "Foo Variant 1 i.MX6 Board"; compatible = "foo,mx6-variant1", "foo,mx6-common", "fsl,imx6q"; }; [...] mx6-variant2.dts: / { model = "Foo Variant 2 i.MX6 Board"; compatible = "foo,mx6-variant2", "foo,mx6-common", "fsl,imx6q"; }; [...] Then, in barebox, you need to have a way to override which compatible string the bootspec code is looking for. I'd prefer this to the machine-id approach, as the DT compatible list mechanism is designed exactly for handing these different levels of compatibility declarations. Regards, Jan -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox