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.
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.