[RFC PATCH 0/3] uio_pruss support for AM33xx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux