Because trying to run open source on almost all ARM SoCs is a massive pain in the arse. Is there a single modern ARM SoC for which you can download a Linux install image with a mainline kernel and everything `just works'?
The almost universal lack of Mainline support is what makes ARM so frustrating. If it is not mainline, I don't want to know. Get a Minnowboard MAX and I suspect all the SoC functions will be available with a mainline kernel.
Get any ARM SoC and you are stuck with choosing between a mainline kernel with incomplete functionality OR a custom kernel that might have more functionality (if you are lucky). iMX6 might be the closest SoC to getting kernel sources for full functionality (but still stuck with blobs for Vivante GPU), but how much of that has made it to mainline (genuine question)?
If it's mainline, then you're probably not an experienced SoC developer because we've been dealing with off-track drivers and chip-level craziness for decades. We're happy to get a kernel that exposes 75% of the chip's blocks, at best.
Not sure what you mean by "full functionality" other than GPU driver source, and most of us using these for production purposes don't really care about that at this point.
Does it need to be mainline to make your product functional?
I am most definitely not an experienced SoC developer, and I am not trying to make products.
Rather my experience is merely playing around trying to use ARM-based devices as general purpose computing devices in the same way you would use an x86 device, e.g. Allwinner A10 set top box as a low power server and the Samsung ARM chromebook. In that context, I think mainline support is important. Otherwise, as someone who is not a developer, getting even simple things to work requires so much more screwing around than anything x86.
As for "full functionality", look at an SoC like the Allwinner A10/A20 and see how much of the functionality they built into the SoC can actually be used in linux, despite the excellent efforts of the Linux sunxi team.