linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] uio_pruss support for AM33xx
@ 2012-09-26 13:44 Matt Porter
  2012-09-26 13:44 ` [RFC PATCH 1/3] uio: uio_pruss: port to AM33xx Matt Porter
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Matt Porter @ 2012-09-26 13:44 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Hans J. Koch, Benoit Cousson, Paul Walmsley
  Cc: Tony Lindgren, Linux OMAP List, Linux Kernel Mailing List

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-09-28 19:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-26 13:44 [RFC PATCH 0/3] uio_pruss support for AM33xx Matt Porter
2012-09-26 13:44 ` [RFC PATCH 1/3] uio: uio_pruss: port to AM33xx Matt Porter
2012-09-26 21:10   ` Greg Kroah-Hartman
2012-09-28 19:20     ` Matt Porter
2012-09-26 23:51   ` Hans J. Koch
2012-09-28 18:53     ` Matt Porter
2012-09-26 13:44 ` [RFC PATCH 2/3] ARM: omap: add DT support for deasserting hardware reset lines Matt Porter
2012-09-26 13:44 ` [RFC PATCH 3/3] ARM: dts: AM33xx PRUSS support Matt Porter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).