All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.