I’ve looked a bit into the device tree when we tried to get the FP3 to boot with anything else but stock:
this is a lot to read and a number of failed attempts, but eventually led to a rooted device and the ability to run a self compiled kernel – it’s not a stock kernel of course, as all those qualcom specific patches are needed (including device drivers) to talk to the phones chips.
the phone doesn’t just run linux, it also runs firmware code in a secure enclave “above” the linux kernel, and some of the hardware (modem and such) needs proprietary user space programs to use and run signed servlets in this secure environment. the qualcom linux drivers are mostly just stubs that allow userspace programs to talk with these firmware applets ( screen/display, wifi, modems, …) – but it’s possible that a minimal linux will run without (serial console, USB, flash memory access)
it’s a bit of a mess – most of the relevant dtb tree entries are also related to these qualcomm patches – but I’m no dtb expert.
I haven’t ever managed to compile a working kernel with the compilation tools that come with the kernel, only with the android tools which override some options regarding which device tree files to use
that thread linked above has all the gory details, including how to compile the “stock” kernel correctly - looking into that should tell you which dts files are actually being used and with which options.
problem is that both dtb and a dtb overlay files are being generated and I haven’t fully understood how