Has this made it to mainline/release yet? I've been doing some ARM kernel support stuff for one of my devices, and DeviceTree isn't there even in 3.11.x (AFAICT)
Previously you had a bit of boilerplate code that did much the same. Either way it doesn't actually solve the issue, because you still need the dts file, there's no hardware discovery.
(ok that's a bit of a stretch, some of the busses and things like I2C are discoverable, but you need a map of GPIOs, UARTs etc etc)
The Linaro kernels ("Linaro Stable Kernel" is the keyphrase) boot from devicetrees (aka FDTs). Not sure how much of that is upstreamed, but devicetrees are pretty standard in the ARM world as far as I can tell. (Also, in general if you're doing Linux stuff on ARM, Linaro is the place to look for everything).
Edit: actually, that link isn't very relevant - I just lazily googled "linaro devicetree". But you should be able to find more info!
I'm a debian kinda guy and have been playing with both debian and mainline kernels, and haven't come across it yet, it may be that the ARM maintainers keep it on a separate branch for now.
I'll investigate Linaro at some point, if that's more of a hotbed of ARM development.
I'm not sure how things have changed yet either, and I certainly think Device Tree is an important step forward from each and every board having its own (mostly identical) code in the kernel tree.
But you do still need the dts, so while it makes device support easier, it doesn't solve the problem of discoverable hardware and you still need board specs etc, either from the original manufacturer or reverse engineered.
I wish you the best of luck in convincing MS to make it easier to install linux on their phones, and convincing embedded system builders to spend extra on hardware.
Either way, I was talking about what we have now, and even if we have device tree now it doesn't solve this problem without other pieces to the puzzle. And that's without even getting on to the mess of closed source graphics drivers that exist in the arm world.
Please don't think I'm trying to say we can't have a situation like the OP wants, I'm just trying to explain why we don't.
I thought Linaro was a consortium to do exactly that, minus the Microsoft part. As you say this doesn't help us now, but hopefully some day there will be a widespread ARM equivalent of the BIOS and UEFI. It will probably start (or has started?) with ARM servers.
Previously you had a bit of boilerplate code that did much the same. Either way it doesn't actually solve the issue, because you still need the dts file, there's no hardware discovery.
(ok that's a bit of a stretch, some of the busses and things like I2C are discoverable, but you need a map of GPIOs, UARTs etc etc)