[PATCH 15/15] ARM: OMAP5: PM: handle device instance for for coldreset

Nishanth Menon nm at ti.com
Fri Mar 1 08:04:30 EST 2013


$subject - warm reset

On 17:41-20130301, Santosh Shilimkar wrote:
> From: Nishanth Menon <nm at ti.com>
> 
> OMAP5 and OMAP4 have different device instance offsets.
> 
> So to handle them properly, use a runtime detected instance offset
> Other bit offsets and register offsets remained constant.
> 
> Creating a new function is not really worthwhile here as the logic
> will be replicated without much benefit.
> 
> Signed-off-by: Nishanth Menon <nm at ti.com>
> santosh.shilimkar at ti.com: Refreshed patch against 3.8
[santosh.shilimkar at ti.com: Refreshed patch against 3.8]
?
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
> ---
>  arch/arm/mach-omap2/prminst44xx.c |   10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/prminst44xx.c b/arch/arm/mach-omap2/prminst44xx.c
> index c12320c..430fb1d 100644
> --- a/arch/arm/mach-omap2/prminst44xx.c
> +++ b/arch/arm/mach-omap2/prminst44xx.c
> @@ -20,10 +20,12 @@
>  #include "common.h"
>  #include "prcm-common.h"
>  #include "prm44xx.h"
> +#include "prm54xx.h"
>  #include "prminst44xx.h"
>  #include "prm-regbits-44xx.h"
>  #include "prcm44xx.h"
>  #include "prcm_mpu44xx.h"
> +#include "soc.h"
>  
>  static void __iomem *_prm_bases[OMAP4_MAX_PRCM_PARTITIONS];
>  
> @@ -165,17 +167,19 @@ int omap4_prminst_deassert_hardreset(u8 shift, u8 part, s16 inst,
>  void omap4_prminst_global_warm_sw_reset(void)
>  {
>  	u32 v;
> +	s16 dev_inst = cpu_is_omap44xx() ? OMAP4430_PRM_DEVICE_INST :
> +					   OMAP54XX_PRM_DEVICE_INST;
>  
>  	v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
> -				    OMAP4430_PRM_DEVICE_INST,
> +				    dev_inst,
>  				    OMAP4_PRM_RSTCTRL_OFFSET);
>  	v |= OMAP4430_RST_GLOBAL_WARM_SW_MASK;
>  	omap4_prminst_write_inst_reg(v, OMAP4430_PRM_PARTITION,
> -				 OMAP4430_PRM_DEVICE_INST,
> +				 dev_inst,
>  				 OMAP4_PRM_RSTCTRL_OFFSET);
>  
>  	/* OCP barrier */
>  	v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
> -				    OMAP4430_PRM_DEVICE_INST,
> +				    dev_inst,
>  				    OMAP4_PRM_RSTCTRL_OFFSET);
>  }
> -- 
> 1.7.9.5
> 

-- 
Regards,
Nishanth Menon



More information about the linux-arm-kernel mailing list