public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Vimal Singh <vimal.newwork@gmail.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH 1/2]: OMAP: SDP: Introducing 'board-sdp-flash.c' for flash init
Date: Mon, 14 Dec 2009 11:31:49 -0800	[thread overview]
Message-ID: <20091214193149.GB4575@atomide.com> (raw)
In-Reply-To: <ce9ab5790912140159o46280d86u5ceb2ba11978e388@mail.gmail.com>

* Vimal Singh <vimal.newwork@gmail.com> [091214 01:58]:
> On Tue, Dec 8, 2009 at 12:06 AM, Tony Lindgren <tony@atomide.com> wrote:
> > * Vimal Singh <vimal.newwork@gmail.com> [091206 22:39]:
> >> On Sat, Dec 5, 2009 at 3:47 AM, Tony Lindgren <tony@atomide.com> wrote:
> >> > Hi,
> >> >
> >> > * Vimal Singh <vimal.newwork@gmail.com> [091203 06:09]:
> >> >> From 13d52884956a26f93826c443e2b8bd78615f74d6 Mon Sep 17 00:00:00 2001
> >> >> From: Vimal Singh <vimalsingh@ti.com>
> >> >> Date: Thu, 26 Nov 2009 16:10:24 +0530
> >> >> Subject: [PATCH] OMAP: SDP: Introducing 'board-sdp-flash.c' for flash init
> >> >>
> >> >> This patch adds 'board-sdp-flash.c', which could be utilized
> >> >> by boards similar to 3430SDP. (For ex: 2430sdp, 36030sdp).
> >> >>
> >> >> This file does initialization for all three flash devices present
> >> >> in SDP boards (NOR, NAND, OneNAND), by finding there 'cs' number
> >> >> dynamically using switch setting information (S8: 1-4).
> >> >> This also expects partition information from core board files (for
> >> >> ex: board-3430sdp.c). Which allows to choose different default
> >> >> partitions for different boards.
> >> >>
> >> >> A new structure is created for this purpose: 'flash_partitions'
> >> >> in 'mach/board-sdp.h'. This has two members:
> >> >> 1. struct mtd_partition *parts
> >> >> 2. int nr_parts
> >> >>
> >> >> A board file is expected to fill this structure and pass it to
> >> >> 'sdp-flsash-init'. Partition information should be passed in
> >> >> structure array of 'flash_partitions'. Partition information should
> >> >> be passed in below sequence in array:
> >> >> NOR
> >> >> OneNAND
> >> >> NAND
> >> >>
> >> >> Signed-off-by: Vimal Singh <vimalsingh@ti.com>
> >> >> ---
> >> >>  arch/arm/mach-omap2/board-sdp-flash.c        |  246 ++++++++++++++++++++++++++
> >> >>  arch/arm/mach-omap2/include/mach/board-sdp.h |   22 +++
> >> >>  arch/arm/plat-omap/include/plat/gpmc.h       |    2 +
> >> >>  3 files changed, 270 insertions(+), 0 deletions(-)
> >> >>  create mode 100644 arch/arm/mach-omap2/board-sdp-flash.c
> >> >>  create mode 100644 arch/arm/mach-omap2/include/mach/board-sdp.h
> >> >>
> >> >> diff --git a/arch/arm/mach-omap2/board-sdp-flash.c
> >> >> b/arch/arm/mach-omap2/board-sdp-flash.c
> >> >> new file mode 100644
> >> >> index 0000000..fbbcd0e
> >> >> --- /dev/null
> >> >> +++ b/arch/arm/mach-omap2/board-sdp-flash.c
> >> >
> >> > <snip>
> >> >
> >> >> +__init board_nand_init(struct flash_partitions sdp_nand_parts, u8 cs)
> >> >> +{
> >> >> +     sdp_nand_data.cs                = cs;
> >> >> +     sdp_nand_data.parts             = sdp_nand_parts.parts;
> >> >> +     sdp_nand_data.nr_parts          = sdp_nand_parts.nr_parts;
> >> >> +
> >> >> +     sdp_nand_data.gpmc_cs_baseaddr  = (void *)(OMAP34XX_GPMC_VIRT +
> >> >> +                                                     GPMC_CS0_BASE +
> >> >> +                                                     cs * GPMC_CS_SIZE);
> >> >> +     sdp_nand_data.gpmc_baseaddr      = (void *) (OMAP34XX_GPMC_VIRT);
> >> >> +
> >> >> +     gpmc_nand_init(&sdp_nand_data);
> >> >> +}
> >> >
> >> > This does not look right. You're supposed to use gpmc_cs_request()
> >> > for allocating the GPMC area based on the chip select and size.
> >>
> >> I guess you are getting confuse a bit here:
> >> gpmc_baseaddr: is the virtual address for GPMC_REVISION (which is also
> >> base address for GPMC).
> >> gpmc_cs_baseaddr : This is offset from above to 'GPMC_CONFIG(cs)' for
> >> specified cs number.
> >>
> >> These are needed by nand driver.
> >
> > Right.. Looks like drivers/mtd/nand/omap2.c needs to be fixed so we
> > can get rid of this.
> >
> > And looks like we already are doing it all over the place anyways :(
> >
> >> While 'gpmc_cs_request' gives physical address to the device resource.
> >> And this is done in 'nand/omap2.c'. This is done in driver itself so
> >> that we don't allocate a resource even before driver gets loaded.
> >
> > Yuk.. The nand driver should be generic.
> >
> >> >> --- a/arch/arm/plat-omap/include/plat/gpmc.h
> >> >> +++ b/arch/arm/plat-omap/include/plat/gpmc.h
> >> >> @@ -27,6 +27,8 @@
> >> >>
> >> >>  #define GPMC_CONFIG          0x50
> >> >>  #define GPMC_STATUS          0x54
> >> >> +#define GPMC_CS0_BASE                0x60
> >> >> +#define GPMC_CS_SIZE         0x30
> >> >
> >> > The GPMC_CS0_BASE and GPMC_CS_SIZE seem to be values specic to
> >> > your board, not for the GPMC hardware.
> >>
> >> These are offsets and very much specific to GPMC hardware.
> >>
> >> GPMC_CS0_BASE: is offset from GPMC base to first cs GPMC_CONFIG1 register.
> >> GPMC_CS_SIZE : is offset (gap) between next cs config registers, e.i.
> >> size for cs config registers.
> >
> > Let's keep it local until drivers/mtd/nand/omap2.c is fixed.
> >
> > Care to take a look at using some generic nand driver instead
> > if we merge this for now?
> 
> To me it seems ok, for now, to get this merged and later we can work
> on cleaning 'nand/omap2.c' driver.

OK, sounds good to me. Let's plan on moving to use the gpmc-nand.c as
posted on this list.

Regards,

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

  reply	other threads:[~2009-12-14 19:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-03 14:10 [PATCH 1/2]: OMAP: SDP: Introducing 'board-sdp-flash.c' for flash init Vimal Singh
2009-12-04 22:17 ` Tony Lindgren
2009-12-07  6:40   ` Vimal Singh
2009-12-07 18:36     ` Tony Lindgren
2009-12-14  9:59       ` Vimal Singh
2009-12-14 19:31         ` Tony Lindgren [this message]
2009-12-22  8:51           ` Vimal Singh
2010-01-04 10:20             ` Vimal Singh

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=20091214193149.GB4575@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=vimal.newwork@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox