Re: [PATCH] ARM: /proc/atags: Export also for DT

From: Jason Cooper
Date: Wed Jan 28 2015 - 20:16:19 EST


On 1/28/15 10:48 AM, Tony Lindgren wrote:
* Pali RohÃr <pali.rohar@xxxxxxxxx> [150128 07:50]:
On Wednesday 28 January 2015 16:39:13 Tony Lindgren wrote:
* Nicolas Pitre <nico@xxxxxxxxxxx> [150128 06:37]:
On Wed, 28 Jan 2015, Pali RohÃr wrote:
On Wednesday 28 January 2015 01:50:33 Tony Lindgren wrote:
On omaps, the bootrom passes the bootreason in r1 to the
bootloader that can do whatever it wants with it. We
could maybe pass it in the kernel cmdline to the
watchdog driver for user space?

Not truth for N900. Bootreason depends on PRM_RSTST omap
register, state of vbat charger pins, time how long was
power key pressed, R&D data stored in CAL partition and
other undocumented registers for omap HS devices. I
already tried to implement at least some subset of it in
userspace (or kernel), but it is impossible because NOLO
bootloader clear status of PRM_RSTST register.

There is also copy of PRM_RSTST register stored at address
0x4020FFB8 (tracing data) but that address is rewritten
(probably by kernel), so we really cannot implement
reading bootreason in kernel.

But in early stage in uboot it is possible to read
0x4020FFB8 address and get some part of bootreason. But
still PRM_RSTST is not enough!

I would be happy if DT kernel can export /proc/atags file
with ATAGs passed by bootloader. It would be enough for
me. In userspace I can parse content and do what is
needed.

What about defining a DT boot reason property instead?
Maybe it already exists? If not, it's something that could
certainly be generically used on other platforms too.

Converting the special ATAG into its standard DT equivalent
would then be trivial and much cleaner overall.

Sounds good to me as then we don't have to add any legacy
custom Nokia specific atag. And it won't prevent us from
adding a generic ATAG_BOOTREASON if really needed.

And what would new atag ATAG_BOOTREASON solve for Nokia N900?
Nothing.

Right, so probably no need to add it then :) But what Nico is
saying we can translate the Nokia custom bootreason to a
standard DT property if I'm reading right.

Well, it's mostly been forgotten now, but the pxa-impedance-matcher could do the proprietary ATAGS -> standard DT conversion before booting the kernel.

https://github.com/zonque/pxa-impedance-matcher.git

Don't let the 'pxa' fool you, it's grown (slightly) beyond it's original purpose.

We augmented it to facilitate booting DT kernels from legacy bootloaders to prevent polluting the kernel with random vendor ATAG crap.

Ping me or Daniel Mack if you have any questions.

hth,

Jason.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/