diff mbox

ARM: AM33xx: PRM: Remove wrongly defined RSTST offset for PER Domain

Message ID 1466503706-5292-1-git-send-email-j-keerthy@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

J, KEERTHY June 21, 2016, 10:08 a.m. UTC
As per the TRM: http://www.ti.com/lit/ug/spruh73m/spruh73m.pdf
offset 0x4 is reserved for PRM_PER. Hence removing the wrongly
defined address offset.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 arch/arm/mach-omap2/prm33xx.h | 2 --
 1 file changed, 2 deletions(-)

Comments

Suman Anna June 21, 2016, 10:25 p.m. UTC | #1
Hi Keerthy,

On 06/21/2016 05:08 AM, Keerthy wrote:
> As per the TRM: http://www.ti.com/lit/ug/spruh73m/spruh73m.pdf
> offset 0x4 is reserved for PRM_PER. Hence removing the wrongly
> defined address offset.

Thanks for the patch.  These macros are not used anywhere, so it should
be safe to remove these. I have tested this patch with an off-tree PRUSS
driver releasing the reset, it works as expected without throwing any
issues.

That said, the current omap_hwmod code assumes default rstst_offs and
st_shift and tries to still write some value into the RSTCTRL register
in am33xx_prm_deassert_hardreset(), but it didn't have any side-affects
though on AM33xx. This is what affected the AM437x due to incorrect
RSTST offset value. That behavior is independent of this patch though.

Tested-by: Suman Anna <s-anna@ti.com>

regards
Suman

> Signed-off-by: Keerthy <j-keerthy@ti.com>
> ---
>  arch/arm/mach-omap2/prm33xx.h | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/prm33xx.h b/arch/arm/mach-omap2/prm33xx.h
> index 2bc4ec5..66302c6 100644
> --- a/arch/arm/mach-omap2/prm33xx.h
> +++ b/arch/arm/mach-omap2/prm33xx.h
> @@ -52,8 +52,6 @@
>  /* PRM.PER_PRM register offsets */
>  #define AM33XX_RM_PER_RSTCTRL_OFFSET		0x0000
>  #define AM33XX_RM_PER_RSTCTRL			AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0000)
> -#define AM33XX_RM_PER_RSTST_OFFSET		0x0004
> -#define AM33XX_RM_PER_RSTST			AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0004)
>  #define AM33XX_PM_PER_PWRSTST_OFFSET		0x0008
>  #define AM33XX_PM_PER_PWRSTST			AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0008)
>  #define AM33XX_PM_PER_PWRSTCTRL_OFFSET		0x000c
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keerthy June 22, 2016, 5:24 a.m. UTC | #2
On Wednesday 22 June 2016 03:55 AM, Suman Anna wrote:
> Hi Keerthy,
>
> On 06/21/2016 05:08 AM, Keerthy wrote:
>> As per the TRM: http://www.ti.com/lit/ug/spruh73m/spruh73m.pdf
>> offset 0x4 is reserved for PRM_PER. Hence removing the wrongly
>> defined address offset.
>
> Thanks for the patch.  These macros are not used anywhere, so it should
> be safe to remove these. I have tested this patch with an off-tree PRUSS
> driver releasing the reset, it works as expected without throwing any
> issues.
>
> That said, the current omap_hwmod code assumes default rstst_offs and
> st_shift and tries to still write some value into the RSTCTRL register
> in am33xx_prm_deassert_hardreset(), but it didn't have any side-affects
> though on AM33xx. This is what affected the AM437x due to incorrect
> RSTST offset value. That behavior is independent of this patch though.
>
> Tested-by: Suman Anna <s-anna@ti.com>

Thanks for testing!

>
> regards
> Suman
>
>> Signed-off-by: Keerthy <j-keerthy@ti.com>
>> ---
>>   arch/arm/mach-omap2/prm33xx.h | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/prm33xx.h b/arch/arm/mach-omap2/prm33xx.h
>> index 2bc4ec5..66302c6 100644
>> --- a/arch/arm/mach-omap2/prm33xx.h
>> +++ b/arch/arm/mach-omap2/prm33xx.h
>> @@ -52,8 +52,6 @@
>>   /* PRM.PER_PRM register offsets */
>>   #define AM33XX_RM_PER_RSTCTRL_OFFSET		0x0000
>>   #define AM33XX_RM_PER_RSTCTRL			AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0000)
>> -#define AM33XX_RM_PER_RSTST_OFFSET		0x0004
>> -#define AM33XX_RM_PER_RSTST			AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0004)
>>   #define AM33XX_PM_PER_PWRSTST_OFFSET		0x0008
>>   #define AM33XX_PM_PER_PWRSTST			AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0008)
>>   #define AM33XX_PM_PER_PWRSTCTRL_OFFSET		0x000c
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren June 22, 2016, 8 a.m. UTC | #3
* Keerthy <j-keerthy@ti.com> [160621 03:11]:
> As per the TRM: http://www.ti.com/lit/ug/spruh73m/spruh73m.pdf
> offset 0x4 is reserved for PRM_PER. Hence removing the wrongly
> defined address offset.

Applying into omap-for-v4.8/dt thanks.

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/prm33xx.h b/arch/arm/mach-omap2/prm33xx.h
index 2bc4ec5..66302c6 100644
--- a/arch/arm/mach-omap2/prm33xx.h
+++ b/arch/arm/mach-omap2/prm33xx.h
@@ -52,8 +52,6 @@ 
 /* PRM.PER_PRM register offsets */
 #define AM33XX_RM_PER_RSTCTRL_OFFSET		0x0000
 #define AM33XX_RM_PER_RSTCTRL			AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0000)
-#define AM33XX_RM_PER_RSTST_OFFSET		0x0004
-#define AM33XX_RM_PER_RSTST			AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0004)
 #define AM33XX_PM_PER_PWRSTST_OFFSET		0x0008
 #define AM33XX_PM_PER_PWRSTST			AM33XX_PRM_REGADDR(AM33XX_PRM_PER_MOD, 0x0008)
 #define AM33XX_PM_PER_PWRSTCTRL_OFFSET		0x000c