Skip to contentSkip to conversation

ARM: OMAP: sram: Add am33xx SRAM support (minimal)

PATCH New Afzal Mohammed 5 participants 5 messages Feb 13, 2012 – Mar 7, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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
index 75aa1b2..227ae26 100644
@@ -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
index 4243bdc..596f222 100644
@@ -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
#1 lore raw

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
#2 lore raw

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.

#3 lore raw

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

#4 lore raw

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

I think I missed this, let me check the post.

Thanks,
Vaibhav

Quoted 4 lines

Regards,

Tony