public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 4/9] imx: nand: Place BBT patterns into free OOB region
Date: Fri, 13 Apr 2012 12:19:11 -0500	[thread overview]
Message-ID: <4F88600F.90507@freescale.com> (raw)
In-Reply-To: <1334316061-26019-5-git-send-email-timo@exertus.fi>

On 04/13/2012 06:20 AM, Timo Ketola wrote:
> First two bytes of the first OOB of erase block are reserved for factory
> bad block marking, usually.
> 
> Signed-off-by: Timo Ketola <timo@exertus.fi>
> ---
>  drivers/mtd/nand/mxc_nand.c |   35 +++++++++++++++++++++++++++++++++++
>  1 files changed, 35 insertions(+), 0 deletions(-)

So what happened before?  The default is at offset 8, which doesn't
conflict with the bad block marker.  It seems the actual issue is a
conflict with ECC?

And NAND_USE_FLASH_BBT wasn't defined before, so a better subject line
for this patch would be "nand/mxc: support flash-based BBT".

> diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
> index 35e89a0..73813a2 100644
> --- a/drivers/mtd/nand/mxc_nand.c
> +++ b/drivers/mtd/nand/mxc_nand.c
> @@ -1302,12 +1302,47 @@ static void mxc_setup_config1(void)
>  #define mxc_setup_config1()
>  #endif
>  
> +#ifdef CONFIG_SYS_NAND_USE_FLASH_BBT
> +
> +static u8 bbt_pattern[] = {'B', 'b', 't', '0' };
> +static u8 mirror_pattern[] = {'1', 't', 'b', 'B' };
> +
> +static struct nand_bbt_descr bbt_main_descr = {
> +	.options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE |
> +		   NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
> +	.offs =	2,
> +	.len = 4,
> +	.veroffs = 6,
> +	.maxblocks = 4,
> +	.pattern = bbt_pattern,
> +};
> +
> +static struct nand_bbt_descr bbt_mirror_descr = {
> +	.options = NAND_BBT_LASTBLOCK | NAND_BBT_CREATE | NAND_BBT_WRITE |
> +		   NAND_BBT_2BIT | NAND_BBT_VERSION | NAND_BBT_PERCHIP,
> +	.offs =	2,
> +	.len = 4,
> +	.veroffs = 6,
> +	.maxblocks = 4,
> +	.pattern = mirror_pattern,
> +};
> +
> +#endif
> +

Won't veroffs = 6 conflict with ECC in the MXC_NFC_V1 case?

What about 8-bit small page support, in which case the bad block marker
is at offset 5?

>  int board_nand_init(struct nand_chip *this)
>  {
>  	struct mtd_info *mtd;
>  	uint16_t tmp;
>  	int err = 0;
>  
> +#ifdef CONFIG_SYS_NAND_USE_FLASH_BBT
> +
> +	this->options = NAND_USE_FLASH_BBT;
> +	this->bbt_td = &bbt_main_descr;
> +	this->bbt_md = &bbt_mirror_descr;
> +
> +#endif

Please remove those blank lines inside the ifdef.

-Scott

  reply	other threads:[~2012-04-13 17:19 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-12  9:33 [U-Boot] [PATCH 0/8] i.MX25: Miscellaneus fixes Timo Ketola
2012-04-12  9:33 ` [U-Boot] [PATCH 1/8] i.MX25: add mxc_get_clock infrastructure Timo Ketola
2012-04-12  9:33 ` [U-Boot] [PATCH 2/8] i.MX: Add target flashable to offset 0 Timo Ketola
2012-04-12 11:11   ` Stefano Babic
2012-04-12 11:21     ` Timo Ketola
2012-04-12  9:33 ` [U-Boot] [PATCH 3/8] Build: Ignore build tree and IDE control file Timo Ketola
2012-04-12 11:13   ` Stefano Babic
2012-04-12 11:24     ` Timo Ketola
2012-04-12 12:00       ` Stefano Babic
2012-04-12 12:04         ` Timo Ketola
2012-08-09 20:26   ` Wolfgang Denk
2012-08-13  5:43     ` Timo Ketola
2012-04-12  9:33 ` [U-Boot] [PATCH 4/8] i.MX25: Has a GPIO4 too Timo Ketola
2012-04-12 11:15   ` Stefano Babic
2012-04-12 12:10   ` Wolfgang Denk
2012-04-12 12:20     ` Timo Ketola
2012-04-12 13:09       ` Detlev Zundel
2012-04-13  4:58         ` Timo Ketola
2012-04-12  9:33 ` [U-Boot] [PATCH 5/8] MXC FEC: Resolve speed before configuring gasket Timo Ketola
2012-04-12 12:05   ` Stefano Babic
2012-04-12 13:16     ` Timo Ketola
2012-04-12 14:31       ` Stefano Babic
2012-04-12 12:12   ` Wolfgang Denk
2012-04-12 19:59   ` Troy Kisky
2012-04-12 20:12     ` Timo Ketola
2012-04-12  9:33 ` [U-Boot] [PATCH 6/8] i.MX25: Add Exertus EXE4026 board Timo Ketola
2012-04-12 10:43   ` Fabio Estevam
2012-04-12 10:57     ` Timo Ketola
2012-04-12 12:06   ` Stefano Babic
2012-04-12 12:09     ` Timo Ketola
2012-04-12 12:40       ` Stefano Babic
2012-04-12  9:33 ` [U-Boot] [PATCH 7/8] MXC NAND: Place BBT patterns into free OOB region Timo Ketola
2012-04-12  9:33 ` [U-Boot] [PATCH 8/8] i.MX25: This model has almost the same USB-controller as i.MX31 Timo Ketola
2012-04-13 11:20 ` [U-Boot] [PATCH 0/9 v2] i.MX25: Miscellaneus fixes Timo Ketola
2012-04-13 11:20   ` [U-Boot] [PATCH 1/9] i.MX25: esdhc: Add mxc_get_clock infrastructure Timo Ketola
2012-04-13 11:20   ` [U-Boot] [PATCH 2/9] i.MX25: This architecture has a GPIO4 too Timo Ketola
2012-04-13 11:20   ` [U-Boot] [PATCH 3/9] imx: fec: Resolve speed before configuring gasket Timo Ketola
2012-04-13 11:20   ` [U-Boot] [PATCH 4/9] imx: nand: Place BBT patterns into free OOB region Timo Ketola
2012-04-13 17:19     ` Scott Wood [this message]
2012-04-13 18:12       ` Timo Ketola
2012-04-13 18:17         ` Scott Wood
2012-04-13 18:39           ` Timo Ketola
2012-04-16  6:41           ` Timo Ketola
2012-04-16 14:43             ` Scott Wood
2012-04-13 11:20   ` [U-Boot] [PATCH 5/9] i.MX25: This architecture has almost the same USB-controller as i.MX31 Timo Ketola
2012-04-13 11:20   ` [U-Boot] [PATCH 6/9] imx: usb: There is no such register Timo Ketola
2012-04-13 11:20   ` [U-Boot] [PATCH 7/9] imx: esdhc: Needed to use in imx-regs.h defined address Timo Ketola
2012-04-13 11:21   ` [U-Boot] [PATCH 8/9] imx: nand: Don't invent new configuration variable Timo Ketola
2012-04-13 17:21     ` Scott Wood
2012-04-13 18:28       ` Timo Ketola
2012-04-13 11:21   ` [U-Boot] [PATCH 9/9] imx: Add u-boot.imx as target for ARM9 i.MX SOCs Timo Ketola
2012-04-18  7:57 ` [U-Boot] [PATCH 0/8 v3] i.MX25: Miscellaneus fixes Timo Ketola
2012-04-18  7:57   ` [U-Boot] [PATCH 1/9] i.MX25: esdhc: Add mxc_get_clock infrastructure Timo Ketola
2012-04-18  9:23     ` Wolfgang Denk
2012-04-18 10:42       ` Timo Ketola
2012-04-18  7:57   ` [U-Boot] [PATCH 2/9] i.MX25: This architecture has a GPIO4 too Timo Ketola
2012-04-18  7:57   ` [U-Boot] [PATCH 3/9] imx: fec: Resolve speed before configuring gasket Timo Ketola
2012-04-18  7:57   ` [U-Boot] [PATCH 4/9] imx: nand: Support flash based BBT Timo Ketola
2012-04-18 16:30     ` Scott Wood
2012-04-18  7:57   ` [U-Boot] [PATCH 5/9] i.MX25: This architecture has almost the same USB-controller as i.MX31 Timo Ketola
2012-04-18  7:57   ` [U-Boot] [PATCH 6/9] imx: usb: There is no such register Timo Ketola
2012-04-18  9:05     ` Stefano Babic
2012-04-18  9:15       ` Timo Ketola
2012-04-18 10:32         ` Stefano Babic
2012-04-18  7:57   ` [U-Boot] [PATCH 7/9] imx: esdhc: Needed to use in imx-regs.h defined address Timo Ketola
2012-04-18  8:43     ` Stefano Babic
2012-04-18  9:11       ` Timo Ketola
2012-04-18 10:30         ` Stefano Babic
2012-04-18 11:05           ` Timo Ketola
2012-04-18 15:05             ` Stefano Babic
2012-04-18 16:27               ` Timo Ketola
2012-04-18 16:59                 ` Timo Ketola
2012-04-18  7:57   ` [U-Boot] [PATCH 8/9] imx: Add u-boot.imx as target for ARM9 i.MX SOCs Timo Ketola
2012-04-18  8:13   ` [U-Boot] [PATCH 0/8 v3] i.MX25: Miscellaneus fixes Timo Ketola
2012-04-18  8:40   ` Stefano Babic
2012-04-19  8:55 ` [U-Boot] [PATCH V4 0/8] i.MX25: Preparing new board with miscellaneus fixes Timo Ketola
2012-04-19  8:55   ` [U-Boot] [PATCH V4 1/8] i.MX25: esdhc: Add mxc_get_clock infrastructure Timo Ketola
2012-04-19 16:15     ` Stefano Babic
2012-05-06 17:24     ` Stefano Babic
2012-04-19  8:55   ` [U-Boot] [PATCH V4 2/8] i.MX25: This architecture has a GPIO4 too Timo Ketola
2012-04-19 16:17     ` Stefano Babic
2012-05-06 17:17     ` Stefano Babic
2012-04-19  8:55   ` [U-Boot] [PATCH V4 3/8] imx: fec: Resolve speed before configuring gasket Timo Ketola
2012-04-19 16:16     ` Stefano Babic
2012-04-19 19:27     ` Troy Kisky
2012-04-19 20:18       ` Timo Ketola
2012-04-19 21:13         ` Troy Kisky
2012-04-19 21:23           ` Troy Kisky
2012-04-20  4:35             ` Timo Ketola
2012-04-20  7:30               ` Stefano Babic
2012-04-20  8:54                 ` Timo Ketola
2012-04-23  7:55                   ` Stefano Babic
2012-04-23  8:17                     ` Timo Ketola
2012-04-19 21:28     ` Troy Kisky
2012-04-20  4:25       ` Timo Ketola
2012-04-19  8:55   ` [U-Boot] [PATCH V4 4/8] imx: nand: Support flash based BBT Timo Ketola
2012-04-19 15:27     ` Scott Wood
2012-05-06 17:18     ` Stefano Babic
2012-04-19  8:55   ` [U-Boot] [PATCH V4 5/8] i.MX25: usb: Set PORTSCx register Timo Ketola
2012-04-19 16:16     ` Stefano Babic
2012-05-01 19:46       ` Marek Vasut
2012-05-06 17:19     ` Stefano Babic
2012-04-19  8:55   ` [U-Boot] [PATCH V4 6/8] imx: usb: There is no such register Timo Ketola
2012-04-19 16:17     ` Stefano Babic
2012-05-06 17:20     ` Stefano Babic
2012-04-19  8:55   ` [U-Boot] [PATCH V4 7/8] i.MX2: Include asm/types.h in arch-mx25/imx-regs.h Timo Ketola
2012-04-19 16:17     ` Stefano Babic
2012-05-06 17:21     ` Stefano Babic
2012-04-19  8:55   ` [U-Boot] [PATCH V4 8/8] imx: Add u-boot.imx as target for ARM9 i.MX SOCs Timo Ketola
2012-04-19 16:17     ` Stefano Babic

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=4F88600F.90507@freescale.com \
    --to=scottwood@freescale.com \
    --cc=u-boot@lists.denx.de \
    /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