This series enables uio_pruss on AM33xx and it mostly intended to look for the proper solution to handling this particular OMAP hwmod which contains hardware reset lines.
The 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. */ is waiting for some information which is at least partially available with this uio_pruss driver example. The series has some ifdefery to get uio_pruss to build without the DaVinci specific sram API, and then some needed DT, pinctrl, and runtime PM support so I could actually use the driver on AM33xx. 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 right 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 (3): uio: uio_pruss: port to AM33xx 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 ++++++ .../devicetree/bindings/uio/uio_pruss.txt | 17 ++++++ arch/arm/boot/dts/am335x-bone.dts | 4 ++ arch/arm/boot/dts/am33xx.dtsi | 11 ++++ arch/arm/plat-omap/omap_device.c | 25 +++++++- drivers/uio/Kconfig | 4 +- drivers/uio/uio_pruss.c | 63 +++++++++++++++++++- 8 files changed, 138 insertions(+), 5 deletions(-) create mode 100644 Documentation/devicetree/bindings/uio/pruss.txt create mode 100644 Documentation/devicetree/bindings/uio/uio_pruss.txt -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/