3 ms·
So, as others have mentioned, the ARM chips out there don't really follow any common set of standards. Some IP blocks, like USB controllers, can operate using
by ansible 10y ago
So, as others have mentioned, the ARM chips out there don't really follow any common set of standards.
Some IP blocks, like USB controllers, can operate using a standard driver, but that's about it. Even for the bits that are migrating from PC land like PCIe and SATA, they aren't uniformly available or have standard driver interfaces across vendors.
And it gets worse. There's not even a standard means of discovering what all of the hardware is on the ARM System-on-Chip (SoC). You've just got to learn that this GPIO register is at this physical memory address from the reference manual.
And it gets even worse. There's no standard for hooking up the hardware peripherals either. You could have two phones with the same (for example Qualcomm Snapdragon 820 SoC) but they might have chosen to connect up different sets of peripherals, to different sets of ports. There might be three display output ports, which one did vendor X use?
And don't even get me started about power management. ARM Ltd doesn't do this, so every chip vendor has their own. Which is completely different. There is nothing close to what is available in laptop land.
What we need is a widely accepted standard for describing the on-chip peripherals, which can be read by the software. And we need a separate description for how the hardware is connected. And even all that isn't nearly enough.
This situation will not get better any time soon, IMHO.
- swiley 10y agoDevice tree is actually a reasonably flexible and precise way to describe all of that, the problem is that many vendors just don't use it.