Changes since v1: - Replaced uio_pruss private SRAM API use with genalloc - Added DA850 platform device and clock support - Added DA850 L3 RAM gen_pool support - Split out DT binding This series enables uio_pruss on both DA850 and AM33xx. The driver previously was not enabled by any platform and the private SRAM API was accessing an invalid SRAM bank for use on DA850. For AM33xx, DT, pinctrl, and runtime PM support are added since AM33xx only boots via DT. The AM33xx support requires some help in hwmod due to the following comment in arch/arm/mach-omap2/omap_hwmod.c: /* * If an IP block contains HW reset lines and any of them are * asserted, we let integration code associated with that * block handle the enable. We've received very little * information on what those driver authors need, and until * detailed information is provided and the driver code is * posted to the public lists, this is probably the best we * can do. */ The approach to deal with the hardware reset (for at least the pruss hwmod) was to add a generic omap property to properly define this hardware. The implementation simply deasserts any rst lines that are called out in the property when the omap_device is instantiated. This is not the ideal implementation as the sequence is a bit wrong for pruss since the busy check during the hard reset will fail, even though it fails in a benign manner. Ideally, we would want the implementation to observe the ti,deassert-hard-reset property and use that in omap_hwmod.c:_enable() *after* the module is unidled and the clocks active. However, this is actually functional for purposes of getting the uio_pruss driver up and running. Matt Porter (7): uio: uio_pruss: replace private SRAM API with genalloc uio: uio_pruss: add support for am33xx uio: dt: add TI PRUSS binding ARM: davinci: Add support for an L3RAM gen_pool ARM: davinci: Add support for PRUSS on DA850 ARM: omap: add DT support for deasserting hardware reset lines ARM: dts: AM33xx PRUSS support .../devicetree/bindings/arm/omap/omap.txt | 2 + Documentation/devicetree/bindings/uio/pruss.txt | 17 +++ arch/arm/boot/dts/am335x-bone.dts | 4 + arch/arm/boot/dts/am33xx.dtsi | 11 ++ arch/arm/mach-davinci/board-da850-evm.c | 12 +++ arch/arm/mach-davinci/da850.c | 9 ++ arch/arm/mach-davinci/devices-da8xx.c | 66 ++++++++++++ arch/arm/mach-davinci/include/mach/common.h | 2 + arch/arm/mach-davinci/include/mach/da8xx.h | 3 + arch/arm/mach-davinci/include/mach/sram.h | 3 + arch/arm/mach-davinci/sram.c | 28 ++++- arch/arm/plat-omap/omap_device.c | 25 ++++- drivers/uio/Kconfig | 5 +- drivers/uio/uio_pruss.c | 108 +++++++++++++++----- include/linux/platform_data/uio_pruss.h | 3 +- 15 files changed, 269 insertions(+), 29 deletions(-) create mode 100644 Documentation/devicetree/bindings/uio/pruss.txt -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html