From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/3] doc: imx: Add documentation for nandbcb command
Date: Tue, 18 Jun 2019 10:04:47 +0200 [thread overview]
Message-ID: <20190618100447.0288ae67@jawa> (raw)
In-Reply-To: <CA+drQ_Mi9sbsxdBYQsRHYfnyE3OA9rAM3Xyi=XpuQNaS0LMe_g@mail.gmail.com>
On Tue, 18 Jun 2019 13:27:13 +0530
Shyam Saini <shyam.saini@amarulasolutions.com> wrote:
> Hi Lukasz,
>
>
> > Hi Shyam,
> >
> > > Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
> > > ---
> > > doc/imx/common/imx6.txt | 74
> > > +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed,
> > > 74 insertions(+)
> > >
> > > diff --git a/doc/imx/common/imx6.txt b/doc/imx/common/imx6.txt
> > > index eab88353f6..0b5061128c 100644
> > > --- a/doc/imx/common/imx6.txt
> > > +++ b/doc/imx/common/imx6.txt
> > > @@ -88,3 +88,77 @@ Reading bank 4:
> > >
> > > Word 0x00000002: 9f027772 00000004
> > >
> > > +NAND Boot on i.MX6 with SPL support
> > > +--------------------------------------
> > > +
> > > +Writing/updating boot image in nand device is not straight
> > > forward in +i.MX6 platform and it requires boot control
> > > block(BCB) to be configured. +
> > > +BCB contains two data structures, Firmware Configuration
> > > Block(FCB) and +Discovered Bad Block Table(DBBT). FCB has nand
> > > timings, DBBT search area, +and firmware. See IMX6DQRM Section
> > > 8.5.2.2 +for more information.
> > > +
> > > +We can't use 'nand write' command to write SPL/firmware image
> > > directly +like other platforms does. So we need special setup to
> > > write BCB block +as per IMX6QDL reference manual 'nandbcb update'
> > > command do that job. +
> > > +for nand boot, up on reset bootrom look for FCB structure in
> > > +first block's if FCB found the nand timings are loaded for
> > > +further reads. once FCB read done, DTTB will be loaded and
> > > +finally firmware will be loaded which is boot image.
> > > +
> > > +cmd_nandbcb will create FCB these structures
> > > +by taking mtd partition as an example.
> >
> > I think that the above sentence has a wrong order. Could you
> > rewrite it?
> I'll fix this in next version.
>
> >
> > > +- initial code will erase entire partition
> > > +- followed by FCB setup, like first 2 blocks for FCB/DBBT write,
> > > + and next block for FW1/SPL
> > > +- write firmware at FW1 block and
> > > +- finally write fcb/dttb in first 2 block.
> > > +
> > > +Typical NAND BCB layout:
> > > +=======================
> > > +
> > > + no.of blocks = partition size / erasesize
> > > + no.of fcb/dbbt blocks = 2
> > > + FW1 offset = no.of fcb/dbbt
> > > +
> > > +block 0 1 2
> > > + -------------------------------
> > > + |FCB/DBBT 0|FCB/DBBT 1| FW 1 |
> > > + --------------------------------
> > > +
> > > +On summary, nandbcb update will
> > > +- erase the entire partition
> > > +- create BCB by creating 2 FCB/BDDT block followed by
> > > + 1 FW blocks based on partition size and erasesize.
> > > +- fill FCB/DBBT structures
> > > +- write FW/SPL in FW1
> > > +- write FCB/DBBT in first 2 blocks
> > > +
> > > +step-1: write SPL
> > > +
> > > +icorem6qdl> ext4load mmc 0:1 $loadaddr SPL
> > > +39936 bytes read in 10 ms (3.8 MiB/s)
> > > +
> > > +icorem6qdl> nandbcb update $loadaddr spl $filesize
> > > +device 0 offset 0x0, size 0x9c00
> > > +Erasing at 0x1c0000 -- 100% complete.
> > > +NAND fw write: 0x80000 offset, 0xb000 bytes written: OK
> > > +
> > > +step-2: write u-boot-dtb.img
> > > +
> > > +icorem6qdl> nand erase.part uboot
> > > +
> > > +NAND erase.part: device 0 offset 0x200000, size 0x200000
> > > +Erasing at 0x3c0000 -- 100% complete.
> > > +OK
> > > +
> > > +icorem6qdl> ext4load mmc 0:1 $loadaddr u-boot-dtb.img
> > > +589094 bytes read in 37 ms (15.2 MiB/s)
> > > +
> > > +icorem6qdl> nand write ${loadaddr} uboot ${filesize}
> > > +
> > > +NAND write: device 0 offset 0x200000, size 0x8fd26
> > > + 589094 bytes written: OK
> > > +icorem6qdl>
> >
> > Would it be possible to provide nandbcb show command (I guess that I
> > can dump it with plain nand read)?
>
> As of now, fcb/dbbt structure are set only with nandbcb command
> so before "nand info" we have to run nandbcb atleast once.
>
> If we consider kobs-ng in linux it prints fcb content when we write
> some image so it means fcb is already populated at that time.
>
> > It would present the FCB/DBBT structure. Do you think it is
> > needed/feasible ?
>
> Not sure if is it needed or not
> if you have any proposal or suggestion about this then please let me
> know.
The idea/use case which I do think of is as follows:
1. I do receive a board with BCB written by bootloader from board
vendor. It has parameters to configure the nand
2. I do use some command to read those parameters - to avoid situation
that I lost them after first update (nand dump shall do the trick +
hexeditor). Those parameters would be presented in a form easier to
read/store than ones from hexeditor
3. I use nandbcb command to store those values read previously.
>
> Thanks a lot,
> Shyam
>
>
>
>
>
> > Best regards,
> >
> > Lukasz Majewski
> >
> > --
> >
> > DENX Software Engineering GmbH, Managing Director: Wolfgang
> > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell,
> > Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> > lukma at denx.de
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190618/6cd4c72f/attachment.sig>
next prev parent reply other threads:[~2019-06-18 8:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-14 7:35 [U-Boot] [PATCH v6 1/3] i.MX6: nand: add nandbcb command for imx Shyam Saini
2019-06-14 7:35 ` [U-Boot] [PATCH 2/3] configs: icorem6: Enable nandbcb command Shyam Saini
2019-06-14 7:35 ` [U-Boot] [PATCH 3/3] doc: imx: Add documentation for " Shyam Saini
2019-06-14 8:37 ` Lukasz Majewski
2019-06-18 7:57 ` Shyam Saini
2019-06-18 8:04 ` Lukasz Majewski [this message]
2019-06-18 8:28 ` Shyam Saini
2019-06-18 8:36 ` Lukasz Majewski
2019-07-20 8:46 ` sbabic at denx.de
2019-06-14 9:17 ` [U-Boot] [PATCH v6 1/3] i.MX6: nand: add nandbcb command for imx Igor Opaniuk
2019-06-18 7:54 ` Shyam Saini
2019-06-28 17:46 ` Parthiban Nallathambi
2019-07-20 8:47 ` sbabic at denx.de
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=20190618100447.0288ae67@jawa \
--to=lukma@denx.de \
--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 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.