All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: linux-arm-kernel@lists.infradead.org
Cc: linux-omap@vger.kernel.org
Subject: [PATCH 17/17] omap3: Add support for flash on 3430SDP board
Date: Wed, 10 Feb 2010 19:46:25 -0800	[thread overview]
Message-ID: <20100211034624.GE21755@atomide.com> (raw)
In-Reply-To: <20100211033310.1624.80025.stgit@baageli.muru.com>

>From ff8b5c4a3d1fa6bbb1dab3d7b443e611fc997a05 Mon Sep 17 00:00:00 2001
From: Vimal Singh <vimalsingh@ti.com>
Date: Wed, 10 Feb 2010 18:22:55 -0800
Subject: [PATCH] omap3: Add support for flash on 3430SDP board

This patch adds support for flashes on 3430SDP boards. All three
NAND, NOR and OneNAND are supported. I have tested it on
3430SDP (ES2 and ES3.1).

This patch can be treated as an example to "how to utilize":
'gpmc-nand.c' and 'board-sdp-flash.c'.

Similar patches can be created for 2430sdp and 3630sdp or any other
similar board.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 0b17dca..af5853f 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -100,7 +100,8 @@ obj-$(CONFIG_MACH_OMAP3EVM)		+= board-omap3evm.o \
 obj-$(CONFIG_MACH_OMAP3_PANDORA)	+= board-omap3pandora.o \
 					   mmc-twl4030.o
 obj-$(CONFIG_MACH_OMAP_3430SDP)		+= board-3430sdp.o \
-					   mmc-twl4030.o
+					   mmc-twl4030.o \
+					   board-sdp-flash.o
 obj-$(CONFIG_MACH_NOKIA_N8X0)		+= board-n8x0.o
 obj-$(CONFIG_MACH_NOKIA_RX51)		+= board-rx51.o \
 					   board-rx51-sdram.o \
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index eda4f64..2e38e5b 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -41,6 +41,8 @@
 #include <plat/control.h>
 #include <plat/gpmc-smc91x.h>
 
+#include <mach/board-sdp.h>
+
 #include "mux.h"
 #include "sdram-qimonda-hyb18m512160af-6.h"
 #include "mmc-twl4030.h"
@@ -650,6 +652,114 @@ static struct omap_board_mux board_mux[] __initdata = {
 #define board_mux	NULL
 #endif
 
+static struct mtd_partition sdp_nor_partitions[] = {
+	/* bootloader (U-Boot, etc) in first sector */
+	{
+		.name		= "Bootloader-NOR",
+		.offset		= 0,
+		.size		= SZ_256K,
+		.mask_flags	= MTD_WRITEABLE, /* force read-only */
+	},
+	/* bootloader params in the next sector */
+	{
+		.name		= "Params-NOR",
+		.offset		= MTDPART_OFS_APPEND,
+		.size		= SZ_256K,
+		.mask_flags	= 0,
+	},
+	/* kernel */
+	{
+		.name		= "Kernel-NOR",
+		.offset		= MTDPART_OFS_APPEND,
+		.size		= SZ_2M,
+		.mask_flags	= 0
+	},
+	/* file system */
+	{
+		.name		= "Filesystem-NOR",
+		.offset		= MTDPART_OFS_APPEND,
+		.size		= MTDPART_SIZ_FULL,
+		.mask_flags	= 0
+	}
+};
+
+static struct mtd_partition sdp_onenand_partitions[] = {
+	{
+		.name		= "X-Loader-OneNAND",
+		.offset		= 0,
+		.size		= 4 * (64 * 2048),
+		.mask_flags	= MTD_WRITEABLE  /* force read-only */
+	},
+	{
+		.name		= "U-Boot-OneNAND",
+		.offset		= MTDPART_OFS_APPEND,
+		.size		= 2 * (64 * 2048),
+		.mask_flags	= MTD_WRITEABLE  /* force read-only */
+	},
+	{
+		.name		= "U-Boot Environment-OneNAND",
+		.offset		= MTDPART_OFS_APPEND,
+		.size		= 1 * (64 * 2048),
+	},
+	{
+		.name		= "Kernel-OneNAND",
+		.offset		= MTDPART_OFS_APPEND,
+		.size		= 16 * (64 * 2048),
+	},
+	{
+		.name		= "File System-OneNAND",
+		.offset		= MTDPART_OFS_APPEND,
+		.size		= MTDPART_SIZ_FULL,
+	},
+};
+
+static struct mtd_partition sdp_nand_partitions[] = {
+	/* All the partition sizes are listed in terms of NAND block size */
+	{
+		.name		= "X-Loader-NAND",
+		.offset		= 0,
+		.size		= 4 * (64 * 2048),
+		.mask_flags	= MTD_WRITEABLE,	/* force read-only */
+	},
+	{
+		.name		= "U-Boot-NAND",
+		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x80000 */
+		.size		= 10 * (64 * 2048),
+		.mask_flags	= MTD_WRITEABLE,	/* force read-only */
+	},
+	{
+		.name		= "Boot Env-NAND",
+
+		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x1c0000 */
+		.size		= 6 * (64 * 2048),
+	},
+	{
+		.name		= "Kernel-NAND",
+		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x280000 */
+		.size		= 40 * (64 * 2048),
+	},
+	{
+		.name		= "File System - NAND",
+		.size		= MTDPART_SIZ_FULL,
+		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x780000 */
+	},
+};
+
+static struct flash_partitions sdp_flash_partitions[] = {
+	{
+		.parts = sdp_nor_partitions,
+		.nr_parts = ARRAY_SIZE(sdp_nor_partitions),
+	},
+	{
+		.parts = sdp_onenand_partitions,
+		.nr_parts = ARRAY_SIZE(sdp_onenand_partitions),
+	},
+	{
+		.parts = sdp_nand_partitions,
+		.nr_parts = ARRAY_SIZE(sdp_nand_partitions),
+	},
+};
+
 static void __init omap_3430sdp_init(void)
 {
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
@@ -666,6 +776,7 @@ static void __init omap_3430sdp_init(void)
 	omap_serial_init();
 	usb_musb_init();
 	board_smc91x_init();
+	sdp_flash_init(sdp_flash_partitions);
 	sdp3430_display_init();
 	enable_board_wakeup_source();
 	usb_ehci_init(&ehci_pdata);

WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 17/17] omap3: Add support for flash on 3430SDP board
Date: Wed, 10 Feb 2010 19:46:25 -0800	[thread overview]
Message-ID: <20100211034624.GE21755@atomide.com> (raw)
In-Reply-To: <20100211033310.1624.80025.stgit@baageli.muru.com>



  parent reply	other threads:[~2010-02-11  3:45 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-11  3:35 [PATCH 00/17] omap updates for 2.6.34 merge window, part 1 Tony Lindgren
2010-02-11  3:35 ` Tony Lindgren
2010-02-11  3:35 ` [PATCH 01/17] omap: convert boards to use physmap-flash Tony Lindgren
2010-02-11  3:35   ` Tony Lindgren
2010-02-11  3:35 ` [PATCH 02/17] MTD: remove no longer used OMAP flash map Tony Lindgren
2010-02-11  3:35   ` Tony Lindgren
2010-02-11  3:35 ` [PATCH 03/17] omap iommu: cleanup iommu page address mask and definitions Tony Lindgren
2010-02-11  3:35   ` Tony Lindgren
2010-02-11  3:35 ` [PATCH 04/17] omap: iommu: fix incorrect address for supersection 1st entry Tony Lindgren
2010-02-11  3:35   ` Tony Lindgren
2010-02-11  3:35 ` [PATCH 05/17] omap iommu: fix incorrect address for largepage " Tony Lindgren
2010-02-11  3:35   ` Tony Lindgren
2010-02-11  3:35 ` [PATCH 06/17] omap: McBSP: Use macros for all register read/write operations Tony Lindgren
2010-02-11  3:35   ` Tony Lindgren
2010-02-11  3:35 ` [PATCH 07/17] omap: McBSP: Modify macros/functions API for easy cache access Tony Lindgren
2010-02-11  3:35   ` Tony Lindgren
2010-02-11  3:35 ` [PATCH 08/17] omap: McBSP: Introduce caching in register write operations Tony Lindgren
2010-02-11  3:35   ` Tony Lindgren
2010-02-11  3:36 ` [PATCH 09/17] omap: McBSP: Use cache when modifying individual register bits Tony Lindgren
2010-02-11  3:36   ` Tony Lindgren
2010-02-11  3:36 ` [PATCH 10/17] omap1: mailbox: kill compile warning Tony Lindgren
2010-02-11  3:36   ` Tony Lindgren
2010-02-11  3:36 ` [PATCH 11/17] omap2/3/4: mailbox: kill compile warning in mailbox.c Tony Lindgren
2010-02-11  3:36   ` Tony Lindgren
2010-02-11  3:36 ` [PATCH 12/17] omap2/3/4: gpmc: kill compile warning Tony Lindgren
2010-02-11  3:36   ` Tony Lindgren
2010-02-11  3:36 ` [PATCH 13/17] omap2/3/4: gpmc: avoid section definitions on headers Tony Lindgren
2010-02-11  3:36   ` Tony Lindgren
2010-02-11  3:45 ` [PATCH 14/17] omap2/3/4: serial: fix coding style indentaion Tony Lindgren
2010-02-11  3:45   ` Tony Lindgren
2010-02-11  3:45 ` [PATCH 15/17] omap2/3/4: Introducing 'gpmc-nand.c' for GPMC specific NAND init Tony Lindgren
2010-02-11  3:45   ` Tony Lindgren
2010-02-11  3:46 ` [PATCH 16/17] omap3: SDP: Introducing 'board-sdp-flash.c' for flash init Tony Lindgren
2010-02-11  3:46   ` Tony Lindgren
2010-02-11  3:46 ` Tony Lindgren [this message]
2010-02-11  3:46   ` [PATCH 17/17] omap3: Add support for flash on 3430SDP board Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100211034624.GE21755@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.