ARM: OMAP: sram: Add am33xx SRAM support (minimal)
Subsystems (2)
PATCH v2 2/2 ARM: OMAP: sram: Add am33xx SRAM support (minimal)
From: Vaibhav Bedia <[email protected]>
Update SRAM start & size for am33xx SoC's.
Note: cpu_is_34xx() is true for am33xx also. Doing cpu_is_am33xx() check after cpu_is_34xx() will not achieve what we want due to the above reason. Hence cpu_is_am33xx() is done before cpu_is_34xx()
---
v2: Use OMAP naming conventions for subject
arch/arm/plat-omap/include/plat/sram.h | 1 + arch/arm/plat-omap/sram.c | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-)
arch/arm/plat-omap/include/plat/sram.h +1 -0
@@ -101,4 +101,5 @@ static inline void omap_push_sram_idle(void) {}#else #define OMAP4_SRAM_PA 0x40300000#endif +#define AM33XX_SRAM_PA 0x40300000#endif
arch/arm/plat-omap/sram.c +12 -2
@@ -86,7 +86,7 @@ static int is_sram_locked(void)__raw_writel (0xCFDE ,OMAP24XX_VA_READPERM0 );/* all i-read */ __raw_writel (0xCFDE ,OMAP24XX_VA_WRITEPERM0 );/* all i-write */ } -if (cpu_is_omap34xx ()) { +if (cpu_is_omap34xx () && !cpu_is_am33xx ()) {__raw_writel (0xFFFF ,OMAP34XX_VA_REQINFOPERM0 );/* all q-vects */ __raw_writel (0xFFFF ,OMAP34XX_VA_READPERM0 );/* all i-read */ __raw_writel (0xFFFF ,OMAP34XX_VA_WRITEPERM0 );/* all i-write */
@@ -124,7 +124,10 @@ static void __init omap_detect_sram(void) omap_sram_size =0x800 ;/* 2K */ } }else { -if (cpu_is_omap34xx ()) { +if (cpu_is_am33xx ()) { + omap_sram_start =AM33XX_SRAM_PA ; + omap_sram_size =0x10000 ;/* 64K */ + }else if (cpu_is_omap34xx ()) { omap_sram_start =OMAP3_SRAM_PA ; omap_sram_size =0x10000 ;/* 64K */ }else if (cpu_is_omap44xx ()) {
@@ -368,6 +371,11 @@ static inline int omap34xx_sram_init(void)return 0 ; } +static inline int am33xx_sram_init (void ) +{ +return 0 ; +} +int __init omap_sram_init (void ) {omap_detect_sram ();
@@ -379,6 +387,8 @@ int __init omap_sram_init(void)omap242x_sram_init (); else if (cpu_is_omap2430()) omap243x_sram_init(); + else if (cpu_is_am33xx()) + am33xx_sram_init(); else if (cpu_is_omap34xx()) omap34xx_sram_init();
Signature · 1 line
1.7.1
PATCH v2 2/2 ARM: OMAP: sram: Add am33xx SRAM support (minimal)
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Afzal" == Afzal Mohammed <[email protected]> writes:
Afzal> From: Vaibhav Bedia <[email protected]> Afzal> Update SRAM start & size for am33xx SoC's.
Afzal> Note: cpu_is_34xx() is true for am33xx also. Doing Afzal> cpu_is_am33xx() check after cpu_is_34xx() will not Afzal> achieve what we want due to the above reason. Afzal> Hence cpu_is_am33xx() is done before cpu_is_34xx()
Afzal> } else {
Afzal> - if (cpu_is_omap34xx()) {
Afzal> + if (cpu_is_am33xx()) {
Afzal> + omap_sram_start = AM33XX_SRAM_PA;
Afzal> + omap_sram_size = 0x10000; /* 64K */
Afzal> + } else if (cpu_is_omap34xx()) {
Afzal> omap_sram_start = OMAP3_SRAM_PA;
Afzal> omap_sram_size = 0x10000; /* 64K */
I don't particular know the omap sram stuff, but doesn't the 33xx have 2x 64K blocks of SRAM?
Afzal> +static inline int am33xx_sram_init(void)
Afzal> +{
Afzal> + return 0;
I know you mentioned it in the commit message, but it might be good with a comment here as well that this dummy function is needed to not get the 34xx init function called for 33xx, so it doesn't get removed when somebody decides to cleanup.
Afzal> +}
Afzal> +
Afzal> int __init omap_sram_init(void)
Afzal> {
Afzal> omap_detect_sram();
Afzal> @@ -379,6 +387,8 @@ int __init omap_sram_init(void)
Afzal> omap242x_sram_init();
Afzal> else if (cpu_is_omap2430())
Afzal> omap243x_sram_init(); Afzal> + else if (cpu_is_am33xx())
Afzal> + am33xx_sram_init();
Afzal> else if (cpu_is_omap34xx())
Afzal> omap34xx_sram_init();
Signature · 1 line
Bye, Peter Korsgaard
PATCH v2 2/2 ARM: OMAP: sram: Add am33xx SRAM support (minimal)
Quoted 5 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Afzal" == Afzal Mohammed <[email protected]> writes:
Afzal> From: Vaibhav Bedia <[email protected]> Afzal> Update SRAM start & size for am33xx SoC's.
This is a really awkward quoting style :|
Quoted 4 lines
I don't particular know the omap sram stuff, but doesn't the 33xx have 2x 64K blocks of SRAM?
Yes, but since the lower 64KB will not be available on non-GP device and only A8 can access it, for now we make use of the higher 64KB which is referred to as the OCMC RAM in the TRM. This will also enable SRAM usage by other drivers like PRU and McASP.
Quoted 10 lines
Afzal> +static inline int
am33xx_sram_init(void)
Afzal> +{
Afzal> + return 0;I know you mentioned it in the commit message, but it might be good with a comment here as well that this dummy function is needed to not get the 34xx init function called for 33xx, so it doesn't get removed when somebody decides to cleanup.
You are right in saying that the dummy function is needed to avoid 34xx SRAM init. We'll have some PM related code coming in soon and hopefully the SRAM code won't change Without us noticing ;)
Regards,
Vaibhav B.
PATCH v2 2/2 ARM: OMAP: sram: Add am33xx SRAM support (minimal)
Quoted 25 lines · Bedia, Vaibhav
Quoted 5 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Afzal" == Afzal Mohammed <[email protected]> writes:
Afzal> From: Vaibhav Bedia <[email protected]> Afzal> Update SRAM start & size for am33xx SoC's.
This is a really awkward quoting style :|
Quoted 4 lines
I don't particular know the omap sram stuff, but doesn't the 33xx have 2x 64K blocks of SRAM?
Yes, but since the lower 64KB will not be available on non-GP device and only A8 can access it, for now we make use of the higher 64KB which is referred to as the OCMC RAM in the TRM. This will also enable SRAM usage by other drivers like PRU and McASP.
Quoted 6 lines
Afzal> +static inline int
am33xx_sram_init(void)
Afzal> +{
Afzal> + return 0;
Quoted 8 lines
Quoted 4 lines
I know you mentioned it in the commit message, but it might be good with a comment here as well that this dummy function is needed to not get the 34xx init function called for 33xx, so it doesn't get removed when somebody decides to cleanup.
You are right in saying that the dummy function is needed to avoid 34xx SRAM init. We'll have some PM related code coming in soon and hopefully the SRAM code won't change Without us noticing ;)
OK, applying into fixes-non-critical-part2. Our sram.c should get turned into a device driver, there's been already similar sram driver posted to LAKML. So that should allow us to remove the cpu_is_xxxx checks.
Regards,
Tony
PATCH v2 2/2 ARM: OMAP: sram: Add am33xx SRAM support (minimal)
Quoted 31 lines · Tony Lindgren
Quoted 30 lines · Bedia, Vaibhav
Quoted 5 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Afzal" == Afzal Mohammed <[email protected]> writes:
Afzal> From: Vaibhav Bedia <[email protected]> Afzal> Update SRAM start & size for am33xx SoC's.
This is a really awkward quoting style :|
Quoted 4 lines
I don't particular know the omap sram stuff, but doesn't the 33xx have 2x 64K blocks of SRAM?
Yes, but since the lower 64KB will not be available on non-GP device and only A8 can access it, for now we make use of the higher 64KB which is referred to as the OCMC RAM in the TRM. This will also enable SRAM usage by other drivers like PRU and McASP.
Quoted 10 lines
Afzal> +static inline int
am33xx_sram_init(void)
Afzal> +{
Afzal> + return 0;I know you mentioned it in the commit message, but it might be good with a comment here as well that this dummy function is needed to not get the 34xx init function called for 33xx, so it doesn't get removed when somebody decides to cleanup.
Quoted 8 lines
Quoted 3 lines
You are right in saying that the dummy function is needed to avoid 34xx SRAM init. We'll have some PM related code coming in soon and hopefully the SRAM code won't change Without us noticing ;)
OK, applying into fixes-non-critical-part2. Our
sram.cshould get turned into a device driver, there's been already similar sram driver posted to LAKML. So that should allow us to remove thecpu_is_xxxxchecks.
I think I missed this, let me check the post.
Thanks,
Vaibhav
Quoted 4 lines
Regards,
Tony