[U-Boot] Nokia N900: MTDPARTS_DEFAULT was removed in 43ede0bc (Kconfig: Migrate MTDIDS_DEFAULT / MTDPARTS_DEFAULT)

Tom Rini trini at konsulko.com
Thu Dec 27 21:07:35 UTC 2018


On Thu, Dec 27, 2018 at 10:01:43PM +0100, Pali Rohár wrote:
> On Thursday 27 December 2018 15:53:06 Tom Rini wrote:
> > On Thu, Dec 27, 2018 at 08:32:56PM +0100, Pali Rohár wrote:
> > > On Thursday 27 December 2018 14:12:35 Tom Rini wrote:
> > > > On Thu, Dec 27, 2018 at 08:09:56PM +0100, Pali Rohár wrote:
> > > > > On Thursday 27 December 2018 13:57:59 Tom Rini wrote:
> > > > > > On Thu, Dec 27, 2018 at 07:52:54PM +0100, Pali Rohár wrote:
> > > > > > 
> > > > > > > Hello, it seems that MTD partition definitions for Nokia N900 were
> > > > > > > removed in commit 43ede0bca7fc1590b623832b743213b818257a27 (Kconfig:
> > > > > > > Migrate MTDIDS_DEFAULT / MTDPARTS_DEFAULT).
> > > > > > > 
> > > > > > > See diff:
> > > > > > > http://git.denx.de/?p=u-boot.git;a=blobdiff;f=include/configs/nokia_rx51.h;h=b7fe7341e407fd16275ed06d2cd399a3a2fc0e6a;hp=20b8c345f06620210d4852f547b1e64c54e48904;hb=43ede0bca7fc1590b623832b743213b818257a27;hpb=804dcf771aacc75f595d3656be0ca6a7887b6672
> > > > > > > 
> > > > > > > Can you bring them back?
> > > > > > > 
> > > > > > > Note that those PART*_* macros are used not only for constructing
> > > > > > > MTDPARTS_DEFAULT, but also for OMAP Nokia N900 atags, which are needed
> > > > > > > for booting Maemo 5.
> > > > > > 
> > > > > > Yes, please update the defconfig file with whatever needs to be in the
> > > > > > option there, thanks!
> > > > > 
> > > > > Looking at it... and it is problematic.
> > > > > 
> > > > > At time when Nokia N900 code was put into U-Boot mainline repository,
> > > > > UBIFS and OneNand code in U-Boot was broken. Therefore I added only
> > > > > #ifdef switch to enable MTD support optionally. Ideally once, OneNand is
> > > > > in U-Boot fixed, then it can be enabled. I do not know what is current
> > > > > state.
> > > > 
> > > > OneNAND is probably still broken then, and should probably just be
> > > > removed if so?
> > > 
> > > Now it even does not compile... I'm getting following error:
> > > 
> > > drivers/mtd/onenand/onenand_uboot.c: In function ‘onenand_init’:
> > > drivers/mtd/onenand/onenand_uboot.c:37:31: error: ‘CONFIG_SYS_ONENAND_BASE’ undeclared (first use in this function)
> > >   onenand_chip.base = (void *) CONFIG_SYS_ONENAND_BASE;
> > >                                ^~~~~~~~~~~~~~~~~~~~~~~
> > > drivers/mtd/onenand/onenand_uboot.c:37:31: note: each undeclared identifier is reported only once for each function it appears in
> > > 
> > > After I applied
> > > 
> > > diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
> > > index fe2ecf6c94..905bdee249 100644
> > > --- a/configs/nokia_rx51_defconfig
> > > +++ b/configs/nokia_rx51_defconfig
> > > @@ -36,3 +36,6 @@ CONFIG_TWL4030_USB=y
> > >  CONFIG_VIDEO=y
> > >  CONFIG_CFB_CONSOLE_ANSI=y
> > >  # CONFIG_VGA_AS_SINGLE_DEVICE is not set
> > > +CONFIG_CMD_ONENAND=y
> > > +CONFIG_CMD_MTDPARTS=y
> > > +CONFIG_CMD_UBIFS=y
> > > 
> > > 
> > > > > And definition for MTD was not moved out of nokia_rx51.h file to
> > > > > nokia_rx51_defconfig. But if you look at old definition of
> > > > > MTDPART_DEFAULT it is composed from other macros in that nokia_rx51.h
> > > > > file.
> > > > > 
> > > > > So I cannot move it for obvious reason to nokia_rx51_defconfig, without
> > > > > including nokia_rx51.h in nokia_rx51_defconfig file. So how to solve
> > > > > this problem?
> > > > 
> > > > You should construct and pass the final string as it doesn't look like
> > > > it changes dynamically, right?
> > > 
> > > Yes, that is possible. But then definition for partitions would be at
> > > two places. Once in nokia_rx51_defconfig and second time in nokia_rx51.h
> > 
> > It shouldn't be in nokia_rx51.h at all, it needs to be migrated to
> > nokia_rx51_defconfig and any comments about where/why put into the
> > existing board README, thanks!
> 
> As wrote, reason is that those definitions are used also for
> regenerating OMAP N900 atags for Linux kernel. See:
> 
> http://git.denx.de/?p=u-boot.git;a=blob;f=board/nokia/rx51/rx51.c;h=76f6ede38c62d8b9811c717b59762b5d584fb49c;hb=HEAD#l71
> 
> OMAP_TAG_PARTITION_CONFIG is macro which takes partition name, size in
> bytes, offset in bytes and mask (use for indicating RO).
> 
> But CONFIG_MTDPARTS_DEFAULT is one string which contains everything
> concatenated and so...
> 
> And input for OMAP_TAG_PARTITION_CONFIG and CONFIG_MTDPARTS_DEFAULT was
> generated from PART*_* macros which are there:
> 
> http://git.denx.de/?p=u-boot.git;a=blob;f=include/configs/nokia_rx51.h;h=453dd32fbdc4ec018d462cbcf82ab77b20ec4e50;hb=HEAD#l97
> 
> If you have an idea how to solve this problem, you can try it...

As I believe we're in the middle of removing the only current board that
did run-time setting of mtdparts/etc, I think you're just going to have
to live with doing it twice, and should move the second instance into
rx51.c to make life easier down the line.  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181227/df47d6b8/attachment.sig>


More information about the U-Boot mailing list