Re: How do I get slimbus hwmod information?

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

 



cc Peter, Liam, Kevin, Mike

On Mon, 30 Jan 2012, Marc Butler wrote:

> On Wed, Jan 25, 2012 at 12:46:50PM -0700, Paul Walmsley wrote:
> 
> > The driver shouldn't have any hwmod code in it.  Any 
> > omap_device/omap_hwmod code that's needed should go into an appropriate 
> > file in arch/arm/mach-omap2.  The device resource metadata will flow 
> > through the existing Linux resource system.  Also, currently we are using 
> > the pm_runtime*() calls as the way to interface with the 
> > omap_hwmod/omap_device enable/idle code, so your driver should be written 
> > using those.
> 
> I believe I came to the conclusion that I need the hwmod support,
> inorder to build out the platform_* infrastructure the driver needs,
> to query/configure resources. The driver itself does not call hwmod
> directly.

That sounds right.  The other thing that the omap_device/hwmod 
infrastructure is good for is device reset and power management.  
Device reset probably won't need any driver modifications; the driver can 
just start under the assumption that everything has been reset to the POR 
values documented in the TRM.  In terms of power management, your driver 
should use the pm_runtime*() functions to play nicely with the rest of the 
system :-)  pm_runtime*() will call into omap_device*() which will call 
into omap_hwmod*() to ensure that clocks and other PM infrastructure are 
appropriately disabled, enabled, etc.

> A colleague is looking into this, and we are unclear what should be
> done in the case where you can choose alternate muxing of the pins?
> For instance slimbus2 module can be routed two distinct pads. Should
> this be handled in an appropriate board_*.c?

Yes.  N.B., AFAIK Tony Lindgren isn't taking any more board_*.c patches 
for mainline - the goal is to move all of that stuff to DT eventually.  
So if you're interested in submitting to mainline (which I hope you are 
:-) ) you might want to writethe driver to be able to use either 
platform_data or DT data for configuration.  This might involve working on 
DT bindings; it might be worth including Liam Girdwood <lrg@xxxxxx> and 
Peter Ujfalusi <peter.ujfalusi@xxxxxx> on those discussions.  They would 
also know if someone inside TI may have already written Slimbus drivers 
that haven't yet made it to mainline, but which may have wound up in some 
Android-related tree.

One other brief note is that there are some very interesting power 
management options that may be possible in the audio path that we may not 
have full support for in the PM infrastructure layers.  Stuff like DPLL 
chaining and IP blocks with externally-driven functional clocks.  I 
believe Mike Turquette <mturquette@xxxxxx> may have explored this area a 
bit, although perhaps not specifically with Slimbus. If there is any 
interaction of these features with Slimbus (which there may not be), I'd 
suggest pushing support for those features off to a second phase, and we 
should probably have a group discussion about how to handle those cases 
cleanly :-)


- Paul
--
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