On Wed, Nov 19, 2014 at 9:35 PM, Mason <mpeg.blue@xxxxxxx> wrote: > Is there an exhaustive list of available buses (on the ARM platform) > and an overview of when/where each one is appropriate? Not sure if its mentioned that clearly anywhere. BUT bus is normally bound by the way you need to access registers of a device. For example, if a device's registers are accessible via SPI, then it has to register on SPI. Similarly for I2C, USB, UART, PCI, etc.. The only special cases are Platform and AMBA. Both these are for the devices which are directly accessible from Soc bus. AMBA is specifically for the IPs designed by ARM. All these IPs have their vendor/version information at a predefined offset and so the AMBA bus core reads that value to make device/driver bindings. i.e. It doesn't depend on matching .name string in device/driver structures. Whereas platform is for all other devices accessible over Soc bus. Device and drivers are matches here based on the .name string as their is no ID to read from hardware. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html