public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Lukasz Majewski <l.majewski@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] dfu: dfu and UBI Volumes
Date: Mon, 27 May 2013 09:02:54 +0200	[thread overview]
Message-ID: <20130527090254.5071e4fd@amdc308.digital.local> (raw)
In-Reply-To: <51A1B522.2050405@denx.de>

Hi Heiko,

> Hello Tom,
> 
> Am 24.05.2013 19:12, schrieb Tom Rini:
> > On Fri, May 24, 2013 at 07:42:01PM +0300, Pantelis Antoniou wrote:
> >> Hi Heiko,
> >>
> >> On May 24, 2013, at 7:39 PM, Heiko Schocher wrote:
> >>
> >>> Hello,
> >>>
> >>> just digging in DFU support in U-Boot for an upcoming board
> >>> support based on an AM335x. This board support uses for example a
> >>> rootfs in an UBI Volume on a NAND flash, and this should be
> >>> updated with dfu ...
> >>>
> >>> How To do this? Current state on this board is to erase the rootfs
> >>> mtd partition with a nand erase and write the new image using
> >>> dfu_nand.c ... which calls in the end nand_write ... which is ...
> >>> lets say ... not the prefered way on an UBI volume ...
> >>>
> >>> How to solve this? Any ideas?
> >>
> >> Well, what would you like ideally to do? Why is nand_write not
> >> ideal for a UBI volume.
> >>
> >> Note that dfu will skip over the bad blocks... 
> > 
> > Presumably because they want to replace say ubi0:rootfs (and leave
> > ubi0:user-data and ubi0:u-boot-env and so forth alone) rather than
> > write in a new ubi container of everything.
> > 
> > I would suggest that, so long as our existing UBI infrastructure
> > allows this, you add a new method, dfu_ubi which takes care of
> > programming things.  This shouldn't be too bad to write as I've
> > heard the existing infrastucture was easily expanded for SPI (and
> > patches are pending a little more clean up prior to posting).
> 
> This sounds easy ... but they have also raw nand partitions, for
> example spl partitions on one nand flash ... for which dfu_nand.c
> fits perfectly ... is it possible to use dfu_nand.c and another
> dfu_xxx.c at the same time?

I'm not so familiar with nand devices handling, but in my opinion we
shall create dfu_ubi.c file. 

I think that, nand part of dfu handling shall be separated from ubi,
even if UBI itself is layed on nand.

However, Tom and Pantelis shall give their opinion, since they spent a
lot of time on forcing dfu_nand.c to work.


> 
> I would say no, if I understand the code right:
> - starting dfu with "dfu interface={nand or mmc} ..."
> 
> and after that, you can not switch anymore between nand or mmc, right?
> 
> You must press Ctrl-C to end dfu and start it again for switching
> to another interface ...
> 
> Or should I look to add ubi support to drivers/dfu/dfu_nand.c?
> 
> Something like:
> Add in dfu_fill_entity_nand a "else if (!strcmp(st, "ubipart")) {"
> (Did not looked deeper in this, if this is a possible way... and
>  thinking about it ... it is not the correct way, ubi should be
>  seperate, because it maybe runs also on nor flash ...)
> 
> So, the best way would be, to switch in "dfu nand" mode between
> subinterfaces ... like "raw", "part", "ubi", ...
> 
> Ah, looking in drivers/dfu/dfu_mmc.c, they use dfu->layout
> for switching between DFU_RAW_ADDR, DFU_FS_FAT, DFU_FS_EXT4...
> 
> After all ... should we add a DFU_UBI and add this to
> drivers/dfu/dfu_nand.c?
> 
> bye,
> Heiko



-- 
Best regards,

Lukasz Majewski

Samsung R&D Poland (SRPOL) | Linux Platform Group

  reply	other threads:[~2013-05-27  7:02 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-24 16:39 [U-Boot] dfu: dfu and UBI Volumes Heiko Schocher
2013-05-24 16:42 ` Pantelis Antoniou
2013-05-24 17:12   ` Tom Rini
2013-05-26  7:09     ` Heiko Schocher
2013-05-27  7:02       ` Lukasz Majewski [this message]
2013-05-27  7:28         ` Heiko Schocher
2013-05-27  7:35           ` Pantelis Antoniou
2013-05-27  7:45             ` Heiko Schocher
2013-05-27 16:25               ` Wolfgang Denk
2013-05-27 16:29                 ` Pantelis Antoniou
2013-05-27 20:41                   ` Tom Rini
2013-05-27 21:25                     ` Wolfgang Denk
2013-05-27 23:37                       ` Tom Rini
2013-05-28  5:50                         ` Wolfgang Denk
2013-05-28 15:01                           ` Tom Rini
2013-05-28 15:05                             ` Pantelis Antoniou
2013-05-28 16:31                               ` Benoît Thébaudeau
2013-05-28 16:43                                 ` Pantelis Antoniou
2013-05-28 16:43                                   ` Benoît Thébaudeau
2013-05-28 16:53                                     ` Pantelis Antoniou
2013-05-28 17:23                                 ` Tom Rini
2013-05-28 21:01                                   ` Wolfgang Denk
2013-05-28 21:16                                     ` Tom Rini
2013-05-29  4:35                                       ` Heiko Schocher
2013-05-29 12:09                                         ` Tom Rini
2013-05-28  3:42                       ` Heiko Schocher
2013-05-28  5:55                         ` Wolfgang Denk
2013-05-28 15:35                           ` Tom Rini
2013-05-28  4:10                     ` Heiko Schocher
2013-05-27 19:21       ` Tom Rini
2013-05-28  4:04         ` Heiko Schocher
2013-05-28  5:58           ` Wolfgang Denk
2013-05-28  6:24             ` Heiko Schocher
2013-05-28 16:00               ` Tom Rini
2013-05-24 18:41   ` Wolfgang Denk

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=20130527090254.5071e4fd@amdc308.digital.local \
    --to=l.majewski@samsung.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