linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
To: Stefan Agner <stefan@agner.ch>
Cc: dwmw2@infradead.org, computersforpeace@gmail.com,
	mark.rutland@arm.com, boris.brezillon@free-electrons.com,
	aaron@tastycactus.com, marb@ixxat.de, pawel.moll@arm.com,
	ijc+devicetree@hellion.org.uk, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, robh+dt@kernel.org,
	linux-mtd@lists.infradead.org, kernel@pengutronix.de,
	galak@codeaurora.org, shawn.guo@linaro.org,
	linux-arm-kernel@lists.infradead.org, bpringlemeir@nbsps.com
Subject: Re: [PATCH v4 1/6] mtd: nand: vf610_nfc: Freescale NFC for VF610, MPC5125 and others
Date: Wed, 3 Jun 2015 14:03:55 +0200	[thread overview]
Message-ID: <20150603120355.GA1668@breakpoint.cc> (raw)
In-Reply-To: <821b4731043fef279b6a82b920707982@agner.ch>

On Wed, Jun 03, 2015 at 11:45:50AM +0200, Stefan Agner wrote:
> On 2015-06-03 10:10, Sebastian Andrzej Siewior wrote:
> > On 2015-03-25 17:28:24 [+0100], Stefan Agner wrote:
> >> diff --git a/drivers/mtd/nand/vf610_nfc.c b/drivers/mtd/nand/vf610_nfc.c
> >> new file mode 100644
> >> index 0000000..23c1510
> >> --- /dev/null
> >> +++ b/drivers/mtd/nand/vf610_nfc.c
> > …
> >> +static void vf610_nfc_addr_cycle(struct vf610_nfc *nfc, int column, int page)
> >> +{
> >> +	if (column != -1) {
> >> +		if (nfc->chip.options | NAND_BUSWIDTH_16)
> >> +			column = column/2;
> >> +		vf610_nfc_set_field(nfc, NFC_COL_ADDR, COL_ADDR_MASK,
> >> +				    COL_ADDR_SHIFT, column);
> >> +	}
> >> +	if (page != -1)
> >> +		vf610_nfc_set_field(nfc, NFC_ROW_ADDR, ROW_ADDR_MASK,
> >> +				    ROW_ADDR_SHIFT, page);
> >> +}
> > 
> > Do you have here also a different NAND layout on your boot-page vs
> > remaining pages? The mpc5125 has this different layout.
> 
> There is the boot configuration block which uses a Parity 13/8
> algorithm, is it that you are referring to? The format parity is in the
> main area, hence it doesn't clash with the HW ECC of the controller. One
> can use normal NAND write functions to write this page. See the

No, this sounds different. The first few pages which are used for nand-boot
are using 1056 for sector size with 32bit-ecc. This configuration is always
used depsite what the physical NAND offers. Which means if you configure later
the proper sector size for your NAND with 2K (or 4K) pages the content in the
first page(s) can not be read. Even if you disable ECC correction on read the
content looks a little different due to the two sector size beeing involved.
And I am not sure if the layout if data/ECC is the same here, to. On top of
this writting without ECC is not usefull.

The FSL's BSP for mpc5125 had some funny commands in their u-boot in order to
write the boot-page(s).

That said, I added here in the addr cycle a check for the lower page numbers
to switch the sector size at runtime. With the proper partition entry I am
able to read/write the boot pages(s). The only extra magic involved is the
rearrangement of the binary data before writing it into the boot page because
the SoC's bootmode uses a different layout here.
Since you probably not doing this at all it probably remains unique to the
mpc5125. Please keep this in mind if someone with mpc5125 comes along that it
might be usefull to switch the sector size for the boot-pages so one can
easily read/write it from linux.

Sebastian

  reply	other threads:[~2015-06-03 12:04 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-25 16:28 [PATCH v4 0/6] mtd: nand: vf610_nfc: Freescale NFC for VF610 Stefan Agner
2015-03-25 16:28 ` [PATCH v4 1/6] mtd: nand: vf610_nfc: Freescale NFC for VF610, MPC5125 and others Stefan Agner
2015-06-02  1:32   ` Brian Norris
2015-06-02  9:01     ` Stefan Agner
2015-06-03  8:10   ` Sebastian Andrzej Siewior
2015-06-03  9:45     ` Stefan Agner
2015-06-03 12:03       ` Sebastian Andrzej Siewior [this message]
2015-06-03 15:09         ` Stefan Agner
2015-06-09 20:05           ` Sebastian Andrzej Siewior
2015-06-03 13:08   ` Sebastian Andrzej Siewior
2015-06-03 15:05     ` Stefan Agner
2015-06-09 20:07       ` Sebastian Andrzej Siewior
2015-06-09 20:31         ` Stefan Agner
2015-06-12 19:44           ` Sebastian Andrzej Siewior
2015-06-17 13:02         ` Stefan Agner
2015-06-18 18:27           ` Sebastian Andrzej Siewior
2015-03-25 16:28 ` [PATCH v4 2/6] mtd: nand: vf610_nfc: add hardware BCH-ECC support Stefan Agner
2015-03-25 16:28 ` [PATCH v4 3/6] mtd: nand: vf610_nfc: add device tree bindings Stefan Agner
2015-03-25 16:28 ` [PATCH v4 4/6] ARM: vf610: enable NAND Flash Controller Stefan Agner
2015-03-25 16:28 ` [PATCH v4 5/6] ARM: dts: vf610: add NAND flash controller peripherial Stefan Agner
2015-03-25 16:28 ` [PATCH v4 6/6] ARM: dts: vf-colibri: enable NAND flash controller Stefan Agner

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=20150603120355.GA1668@breakpoint.cc \
    --to=sebastian@breakpoint.cc \
    --cc=aaron@tastycactus.com \
    --cc=boris.brezillon@free-electrons.com \
    --cc=bpringlemeir@nbsps.com \
    --cc=computersforpeace@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=marb@ixxat.de \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=shawn.guo@linaro.org \
    --cc=stefan@agner.ch \
    /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;
as well as URLs for NNTP newsgroup(s).