[PATCH] ARM: OMAP2+: Warn about deprecated legacy booting mode
Pali Rohár
pali.rohar at gmail.com
Thu Dec 4 10:34:03 PST 2014
On Friday 28 November 2014 23:24:26 Tony Lindgren wrote:
> * Pali Rohár <pali.rohar at gmail.com> [141128 13:43]:
> > On Friday 28 November 2014 21:27:19 Tony Lindgren wrote:
> > > Are you saying there are some issues with that?
> >
> > uboot (in mode when is loaded from NOLO) has those issues:
> >
> > 1) uboot cannot read n900 onenand mtd (uboot onenand driver
> > not working, do not know why)
> > 2) missing support for battery charging (can totally
> > discharge battery)
> > 3) missing support for panel panel (so sometimes screen is
> > totally black until kernel is booted and loaded own drivers)
> > 4) limit for storing both uboot and kernel into MTD is
> > limited by 2MB (size of kernel nand partition)
> >
> > Basically you can use uboot if you accept all above issues.
> >
> > But there are people (Pavel CCed) who prefer to work without
> > uboot when testing kernel. So it is not good idea to lock
> > new kernel versions to depends on new uboot version.
>
> OK thanks for the update, I was not aware of the issues above.
>
> > > Are there other ATAGs needed beyond the ATAG_REVISION?
> >
> > Sorry for longer email. I will provide some more info about
> > it. First I will describe that informations are passed from
> > NOLO to kernel. Note that all those informations are passed
> > also from uboot to kernel (uboot just reuse non static data
> > from NOLO). Then I will describe that we need in userspace.
>
> > Here are all ATAGs from NOLO:
> ...
>
> These we should not need, it's all coming from the .dts files.
>
> > 0036 - 0003:54410007 ATAG REVISION revision=00002204
> >
> > 0588 - 000c:4f80 BOOTREASON: pwr_key
> > 0604 - 0018:4f82 VERSION: product = RX-51
> > 0632 - 0018:4f82 VERSION: hw-build = 2204
> > 0660 - 0018:4f82 VERSION: nolo = 1.4.14
> > 0688 - 0018:4f82 VERSION: boot-mode = normal
>
> Seems like these are the ones we should somehow get. The
> others should be coming in the .dts file already, or can be
> deciphered based on the above in the kernel.
>
> > ATAG MEM is generated by NOLO and also uboot at runtime. But
> > we have hardcoded memory values in n900 DT file. Maybe we
> > should use those generated by uboot bootloader (or reuse
> > uboot code for generating) instead using hardcoded one?
>
> Yes we should not need ATAG MEM.
>
> > ATAG REVISION is that which is magically generated by NOLO
> > and which we want to reuse. Better would be understand how
> > and why it NOLO generate (maybe there is something secret
> > register which can tell it?). But I was not able to find
> > out it.
>
> I would assume that's also somewhere in the cal area.
>
> > OMAP table is one big ATAG structure which contains lot of
> > other values. Basically all values (except uart, bootreason
> > and version) are static and on all n900 devices are same.
> >
> > Partitions are generated by NOLO from CAL (/dev/mtd1) data,
> > but I think nobody ever changed them (but it is possible!).
>
> AFAIK it's safe to assume they are coming in the .dts file.
>
> > Uart is enabled when serial console is enabled via NOLO.
>
> We can keep the UART enabled all the time no problem. It's
> timeouts just need to be configured for idle.
>
> > Bootreason contains omap3 bootreason value from special
> > register (plus magic from NOLO) which is cleared
> > automatically by NOLO (so no way to read it from kernel).
> >
> > Version contains some key-value data. Product is always
> > RX-51, hw-build is same as ATAG REVISION, nolo is nolo
> > version and value for boot-mode is ether normal or update.
>
> OK
>
> > What we need in userspace:
> >
> > In file /proc/cpuinfo:
> > Hardware : Nokia RX-51 board
> > Revision : <hw_revision_number>
> >
> > And in any file and any format (does not matter if text,
> > binary, whatever...) we need value from bootreason,
> > boot-mode (and maybe nolo version).
>
> OK
>
> > Current maemo applications are using files /proc/bootreason
> > (for bootreason) and /proc/component_version (for all
> > version) which are specific for Nokia 2.6.28 kernel. All
> > those applications (which reading ether bootreason or
> > bootmode proc files) are either shell scripts or open
> > source, so editing them is possible. I will start fixing
> > them once there will be *stable* ABI for those data.
> >
> > With non DT (legacy) boot all above atags are present in
> > binary file /proc/atags.
> >
> > But because DT boot does not provide /proc/atags file I need
> > some interface how to read above needed strings.
> >
> > So I would like to know what is possible and how?
>
> How about patch things so we see /proc/atags also for DT based
> booting, but in a way where the ATAGs don't do anything?
>
> > Does kernel provide some interface for telling userspace
> > applications something like bootreason (e.g power key,
> > software reset, rtc alarm, charger connected, ...)?
>
> I don't think we have anything like that currently.
>
> Regards,
>
> Tony
Hi Tony,
see last mail in thread (I CCed you):
"[PATCH] ARM: /proc/cpuinfo: Use DT machine name when possible"
There is already some layer for converting ATAGs to DTB and it is
in decompresser: arch/arm/boot/compressed/atags_to_fdt.c
I do not know if it can help us to provide /proc/cpuinfo and
/proc/atags in DT boot, but at least this this transfer cmdline
and mem ATAGs to DBT.
--
Pali Rohár
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141204/980c7f52/attachment-0001.sig>
More information about the linux-arm-kernel
mailing list