[PATCH] OMAP: hwmod: add kernel cmdline flag to avoid resetting IP blocks during init

Paul Walmsley paul at pwsan.com
Wed Jul 6 16:57:52 EDT 2011


Hi Tony

On Tue, 5 Jul 2011, Tony Lindgren wrote:

> So basically we want to tell the following from the board file or board
> specific .dts file:
> 
> - Device is being used on the board and can be reset and configured.
>   This is the usual case.

By 'used', you mean, have a Linux driver associated with them, right?

> - Device is being used on the board but can't be reset. This is the
>   case for booting Linux from other operating systems initially where
>   you want to keep the LCD on for debug console.

Or, to use examples that would be needed in a production device, the 
4460/N810 GPIO examples discussed earlier.  

Based on our current experience, there are a very small number of these 
cases, and they are board-specific.  So it seems to make sense to 
explicitly state these exceptions in the board files, via 
omap_hwmod_no_setup_reset() or something similar.

> - Device is not being used on the board but can be reset for decent PM.
>   This is often needed in cases where the bootloader just enables all the
>   clocks.

Yeah.  And it's not just bootloaders, it's also the previous kernel in the 
case of something like kexec.  Since we don't know what devices the 
bootloader or previous kernel touched, it seems to make sense to reset all 
of these devices by default, once the drivers are converted to use runtime 
PM.

The current issue here is that some drivers aren't yet converted, so the 
hwmod code might think that some devices are 'unused' when they are 
actually in use by a non-runtime-PM-based driver.
 
> - Device is reserved by secure mode or a coprocessor. In this case
>   the device can't be reset.

Indeed - or even accessed.

> So I guess that makes the flags noreset, disabled and unavailable?

I think we only need 'no reset' and 'unavailable'?  Once the runtime PM 
driver conversion is complete, I don't think there's any reason to keep 
the 'hwmod_unused_reset' command line flag around, since it can be the 
default.  That's because the hwmod code would then be able to track which 
devices were actually used.


- Paul



More information about the linux-arm-kernel mailing list