That was a nice idea back in the days when hardware was made up of discrete, standalone single-purpose peripherals. Unfortunately there&#x27;s no such thing as &quot;cleanly seperated&quot; anything in modern SoCs - everything&#x27;s interdependent. For example, the main USB controllers on Allwinner chips are basically standard EHCI, same as on any PC, except they also rely on the centralized Allwinner clock-generation and reset block and the Linux EHCI driver has to co-operate with the driver for it. There&#x27;s a whole bunch of shared infrastructure within Linux to make this possible which has to be updated from time to time due to new requirements.<p>I think modern Intel chips are similar, except that they run closed-source management firmware to help them look more like a collection of separate devices to Windows - but they aren&#x27;t and Skylake can&#x27;t enter lower CPU power states unless the SATA link is in power-saving mode and a whole bunch of other peripherals co-operate because they share hardware. ARM SoCs just don&#x27;t have the magic firmware that lets the drivers hide this from the OS.