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

Pali Rohár pali.rohar at gmail.com
Thu Dec 27 21:01:43 UTC 2018


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...

-- 
Pali Rohár
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181227/a452f99f/attachment.sig>


More information about the U-Boot mailing list