Hi, this series adds PRUv2 support to uio_pruss through devicetree, makes the device usable on am33xx and enables it on beaglebone black. Inspired by old patches from Matt Porter found in a downstream tree. To archieve that this series: * adds a flag to omap_hwmod.c to get PRUSS out of hardreset (patch 5 and 6) * adds devicetree support to uio_pruss (patch 7 and 9) * adds the device to the am33xx dtsi and boneblack dts (patch 12 and 13) Bits and pieces: * some cleanup (patch 1-4) * take care of a fact that SRAM on am33xx is not exposed through UIO (patch 8) * add runtime pm support to enable clocks (patch 10) * allow the driver to be compiled on SOC_AM33XX (patch 11) This is only tested on beaglebone black (as that's the only hardware of the PRUSS enabled families I have) with some basic GPIO and IRQ tests. Notes: * I just got this hardware and I don't know if this UIO PRUSS business is desired. Looking at the userspace driver I'd guess not so much ;), but this interface is there for older generations anyway, and this small series lets me use the device. * is the hardreset thing I did there the right thing to do? I think the proper way would be a reset controller (which apparently doesn't yet exist for this SoC?) and let the driver deassert/assert on probe/remove? * the platform device path has a clk_enable() / clk_put() calls. Are those now redundant with the introduced pm_runtime_enable() pm_runtime_disable() calls? Thanks, Andre Andre Heider (13): uio: uio_pruss: use struct device uio: uio_pruss: use devm_kzalloc() uio: uio_pruss: use devm_ioremap_resource() uio: uio_pruss: use dmam_alloc_coherent() ARM: OMAP2+: hwmod: Introduce a flag to deassert the HW reset line ARM: AM33XX: hwmod: deassert PRUSS' hardreset lines Documentation: devicetree: add bindings for TI PRUSS uio: uio_pruss: make the UIO SRAM memory region optional uio: uio_pruss: add devicetree support uio: uio_pruss: add runtime pm support uio: uio_pruss: enable the driver for am33xx SoCs ARM: dts: am33xx: add the PRUSSv2 device ARM: dts: am335x-boneblack: enable the PRUSSv2 device .../devicetree/bindings/misc/ti,pruss.txt | 19 +++ arch/arm/boot/dts/am335x-boneblack.dts | 4 + arch/arm/boot/dts/am33xx.dtsi | 9 ++ arch/arm/mach-omap2/omap_hwmod.c | 2 + arch/arm/mach-omap2/omap_hwmod.h | 2 + .../mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c | 1 + drivers/uio/Kconfig | 4 +- drivers/uio/uio_pruss.c | 144 ++++++++++++--------- 8 files changed, 123 insertions(+), 62 deletions(-) create mode 100644 Documentation/devicetree/bindings/misc/ti,pruss.txt -- 2.0.0 -- 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