On 31.03.23 09:45, Markus Niebel wrote: > Am Freitag, dem 31.03.2023 um 15:55 +1000 schrieb Greg Ungerer: >> On 29/3/23 01:11, Marco Felsch wrote: >>> On 23-03-29, Greg Ungerer wrote: >> I agree this is the problem, I don't agree that the boot loader is >> the >> only place to fix this :-) I should be able to generate a working >> devicetree >> blob from the kernel that is good, and ready to use no runtime >> changes >> required I figure. >> > > Just to point out: the approach of run time fixing in boot loader is > used for the other i.MX8M SOC, too. If you know exactly what SOC type > is assembled, you could disable non available IP in the board part of > your tree. > >> It is not overly difficult to break out the vpu nodes and have them >> only included when you have a board that has the iMX8MP-quad with the >> VPU hardware blocks. This breaks out-of-tree DTs that include imx8mp.dtsi. Logic should be the other way round: imx8mp.dtsi is full-featured SoC and any new includes strip away, not add nodes. > Depending on the SOC type there is more to look for than the VPU: core > count, ISP, NPU - just to mention a few. Current approach allows to > keep a single tree for all types. +1. @Greg, does your board always ship with an i.MX8MPLite? If so, just disable VPUs in your board DT. If it ships with either VPUs available or not and you don't want to do bootloader fixups, you may want to check out Kbuild's ability to apply DT overlays at build time. This would give you separate DTs for each variant while not having an extra file for every combination. Cheers, Ahmad > > Regards, Markus > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |