Re: [PATCH] ARM: mach-qcom: fix support for ipq806x
From: Jonathan McDowell
Date: Sat Oct 22 2022 - 10:51:50 EST
On Sat, Oct 22, 2022 at 04:21:28PM +0200, Linus Walleij wrote:
> On Fri, Oct 21, 2022 at 11:55 PM Christian Marangi <ansuelsmth@xxxxxxxxx> wrote:
> > On Fri, Oct 21, 2022 at 11:44:56PM +0200, Linus Walleij wrote:
>
> > > Is it not possible to use Geert's linux,usable-memory-range in
> > > the chosen node to make the kernel stay off the memory?
> > > (See examples by grep usable-memory in the kernel.)
> > >
> > just to confirm this is one of the example you are suggesting?
> >
> > chosen {
> > bootargs = "console=ttyS0,115200 earlycon";
> > stdout-path = "serial0:115200n8";
> > linux,usable-memory-range = <0x80200000 0x1fe00000>;
> > };
>
> Yep that thing!
>
> > Main problem here is that uboot in some case doesn't support dt and pass
> > wrong ATAGS (with the memory not reserved) and AUTO_ZRELADDR calculate
> > the wrong addr I assume?
>
> You do have a DTB right, just that it is attached, and then the kernel
> uses the ATAGs to augment the memory?
>
> In that case what about disabling ARM_ATAG_DTB_COMPAT
> and adding the actual valid memory to the top-level DTS
> file? Just like that:
>
> memory {
> device_type = "memory";
> reg = <0x42000000 0xnnnnnnnn>;
> };
The RB3011 (arch/arm/boot/dts/qcom-ipq8064-rb3011.dts) does this and has
been working fine with AUTO_ZRELADDR (and no ATAGS support enabled) - I
have a recollection it didn't used to, but it's certainly worked since
the 5.15 timeframe.
J.
--
Generally, all generalizations are false..
This .sig brought to you by the letter M and the number 44
Product of the Republic of HuggieTag