Skip to contentSkip to conversation

mioa701: add newly available DoC G3 chip

PATCH New Robert Jarzmik 2 participants 4 messages Dec 17, 2011 – Dec 22, 2011

Subsystems (3)
lore
Share & tools
lore

Robert Jarzmik

author maintainer
#0 lore raw

PATCH 1/1 mioa701: add newly available DoC G3 chip

From: Robert Jarzmik <[email protected]>

As the mioa701 board has a M-Systems DiskOnChip G3 chip, add it to the platform resources of the board.

---
 arch/arm/mach-pxa/mioa701.c |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 deletions(-)
arch/arm/mach-pxa/mioa701.c +17 -12
index b938fc2..dba02b7 100644
@@ -53,6 +53,7 @@
 #include <mach/pxa27x-udc.h>
 #include <mach/camera.h>
 #include <mach/audio.h>
+#include <mach/smemc.h>
 #include <media/soc_camera.h>
 
 #include <mach/mioa701.h>
@@ -390,24 +391,19 @@ static struct pxamci_platform_data mioa701_mci_info = {
 };
 
 /* FlashRAM */
-static struct resource strataflash_resource = {
+static struct resource docg3_resource = {
 	.start = PXA_CS0_PHYS,
-	.end   = PXA_CS0_PHYS + SZ_64M - 1,
+	.end   = PXA_CS0_PHYS + SZ_8K - 1,
 	.flags = IORESOURCE_MEM,
 };
 
-static struct physmap_flash_data strataflash_data = {
-	.width = 2,
-	/* .set_vpp = mioa701_set_vpp, */
-};
-
-static struct platform_device strataflash = {
-	.name	       = "physmap-flash",
+static struct platform_device docg3 = {
+	.name	       = "docg3",
 	.id	       = -1,
-	.resource      = &strataflash_resource,
+	.resource      = &docg3_resource,
 	.num_resources = 1,
 	.dev = {
-		.platform_data = &strataflash_data,
+		.platform_data = NULL,
 	},
 };
 
@@ -685,7 +681,7 @@ static struct platform_device *devices[] __initdata = {
 	&pxa2xx_pcm,
 	&mioa701_sound,
 	&power_dev,
-	&strataflash,
+	&docg3,
 	&gpio_vbus,
 	&mioa701_camera,
 	&mioa701_board,
@@ -720,6 +716,15 @@ static void __init mioa701_machine_init(void)
 	RTTR = 32768 - 1; /* Reset crazy WinCE value */
 	UP2OCR = UP2OCR_HXOE;
 
+	/*
+	 * Set up the flash memory : DiskOnChip G3 on first static memory bank
+	 */
+	__raw_writel(0x7ff02dd8, MSC0);
+	__raw_writel(0x0001c391, MCMEM0);
+	__raw_writel(0x0001c391, MCATT0);
+	__raw_writel(0x0001c391, MCIO0);
+
+
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(mioa701_pin_config));
 	pxa_set_ffuart_info(NULL);
 	pxa_set_btuart_info(NULL);
Signature · 1 line
1.7.5.4
maintainer
#1 lore raw

PATCH 1/1 mioa701: add newly available DoC G3 chip

Quoted 28 lines · Robert Jarzmik

From: Robert Jarzmik <[email protected]>

As the mioa701 board has a M-Systems DiskOnChip G3 chip, add it to the platform resources of the board.

---
?arch/arm/mach-pxa/mioa701.c | ? 29 +++++++++++++++++------------ ?1 files changed, 17 insertions(+), 12 deletions(-)

arch/arm/mach-pxa/mioa701.c +0 -0
index b938fc2..dba02b7 100644
@@ -53,6 +53,7 @@

?#include <mach/pxa27x-udc.h>
?#include <mach/camera.h>
?#include <mach/audio.h>
+#include <mach/smemc.h>
?#include <media/soc_camera.h>

?#include <mach/mioa701.h>

arch/arm/mach-pxa/mioa701.c +0 -0
@@ -390,24 +391,19 @@ static struct pxamci_platform_data mioa701_mci_info = {
 ?};
 

?/* FlashRAM */

arch/arm/mach-pxa/mioa701.c +1 -1
-static struct resource strataflash_resource = {
+static struct resource docg3_resource = {
Quoted 5 lines

? ? ? ?.start = PXA_CS0_PHYS,
- ? ? ? .end ? = PXA_CS0_PHYS + SZ_64M - 1,
+ ? ? ? .end ? = PXA_CS0_PHYS + SZ_8K - 1,
? ? ? ?.flags = IORESOURCE_MEM,
?};

You resized the flash from 64MB to 8KB. It surprised me that the flash size is only 8KB. Could you help to check this?

Quoted 53 lines
arch/arm/mach-pxa/mioa701.c +2 -7
-static struct physmap_flash_data strataflash_data = {
- ? ? ? .width = 2,
- ? ? ? /* .set_vpp = mioa701_set_vpp, */
-};
-
-static struct platform_device strataflash = {
- ? ? ? .name ? ? ? ? ?= "physmap-flash",
+static struct platform_device docg3 = {
+ ? ? ? .name ? ? ? ? ?= "docg3",

? ? ? ?.id ? ? ? ? ? ?= -1,
- ? ? ? .resource ? ? ?= &strataflash_resource,
+ ? ? ? .resource ? ? ?= &docg3_resource,
? ? ? ?.num_resources = 1,
? ? ? ?.dev = {
- ? ? ? ? ? ? ? .platform_data = &strataflash_data,
+ ? ? ? ? ? ? ? .platform_data = NULL,
? ? ? ?},
?};

arch/arm/mach-pxa/mioa701.c +1 -1
@@ -685,7 +681,7 @@ static struct platform_device *devices[] __initdata = {
 ? ? ? ?&pxa2xx_pcm,
 ? ? ? ?&mioa701_sound,
 ? ? ? ?&power_dev,
- ? ? ? &strataflash,
+ ? ? ? &docg3,
 ? ? ? ?&gpio_vbus,
 ? ? ? ?&mioa701_camera,
 ? ? ? ?&mioa701_board,
@@ -720,6 +716,15 @@ static void __init mioa701_machine_init(void)

? ? ? ?RTTR = 32768 - 1; /* Reset crazy WinCE value */ ? ? ? ?UP2OCR = UP2OCR_HXOE;

+ ? ? ? /*
+ ? ? ? ?* Set up the flash memory : DiskOnChip G3 on first static memory bank
+ ? ? ? ?*/
+ ? ? ? __raw_writel(0x7ff02dd8, MSC0);
+ ? ? ? __raw_writel(0x0001c391, MCMEM0);
+ ? ? ? __raw_writel(0x0001c391, MCATT0);
+ ? ? ? __raw_writel(0x0001c391, MCIO0);

arch/arm/mach-pxa/mioa701.c +2 -0
+
+

? ? ? ?pxa2xx_mfp_config(ARRAY_AND_SIZE(mioa701_pin_config)); ? ? ? ?pxa_set_ffuart_info(NULL);
? ? ? ?pxa_set_btuart_info(NULL);
--
1.7.5.4

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

author maintainer
#2 lore raw

PATCH 1/1 mioa701: add newly available DoC G3 chip

Quoted 10 lines · Haojian Zhuang
Quoted 7 lines
arch/arm/mach-pxa/mioa701.c +1 -1
-static struct resource strataflash_resource = {
+static struct resource docg3_resource = {

? ? ? ?.start = PXA_CS0_PHYS,
- ? ? ? .end ? = PXA_CS0_PHYS + SZ_64M - 1,
+ ? ? ? .end ? = PXA_CS0_PHYS + SZ_8K - 1,
? ? ? ?.flags = IORESOURCE_MEM,
?};

You resized the flash from 64MB to 8KB. It surprised me that the flash size is only 8KB. Could you help to check this?

Checked and confirmed, it's 8K.
The docg3 has a mapped IO space, where :
- 0x0 - 0x7ff : boot memory (NOR like)
- 0x800 - 0xfff : data area
- 0x1000 - 0x17ff : registers area
- 0x1800 - 0x1fff : boot memory (the same one as before)

And the previous "64MB" was because I didn't know which kind of memory was there, and a static bank can be as big as 64MB.

Cheers.

--
Robert