Re: [PATCH v2] ARM: dts: tegra: Add support for 256 MB Colibri-T20 (plus such board on Iris)
From: Marcel Ziswiler
Date: Fri May 04 2018 - 06:14:56 EST
Hi Krzysztof
On Fri, 2018-05-04 at 12:03 +0200, Krzysztof Kozlowski wrote:
> On Fri, May 4, 2018 at 11:19 AM, Stefan Agner <stefan@xxxxxxxx>
> wrote:
> > On 03.05.2018 17:08, Krzysztof Kozlowski wrote:
> > > Colibri-T20 can come in 256 MB RAM (with 512 MB NAND) or 512 MB
> > > RAM
> > > (with 1024 MB NAND) flavors. Add support for the 256 MB version
> > > on Iris
> > > evaluation board.
> >
> > To we really need to specify memory size these days? I think all
> > common
> > boot loaders fill the memory node anyway.
> >
> > arch/arm/boot/dts/imx6qdl-apalis.dtsi:
> > /* Will be filled by the bootloader */
> > memory@10000000 {
> > reg = <0x10000000 0>;
> > };
> >
> >
> > I think we should just rename tegra20-colibri-512.dtsi =>
> > tegra20-colibri.dtsi and tegra20-iris-512.dts => tegra20-iris.dts
> > to
> > avoid confusion and add such an empty node.
>
> Having memory node is requirement of DeviceTree specification (at
> least one cpu and memory node). Of course if bootloader fills it,
> then
> we could assume that specification is satisfied... but what if some
> bootloader skips it? This creates quite specific dependency between
> kernel's DTS and bootloader.
Yes, no system boots without any boot loader e.g. initialising the
memory and what not. So there are obviously quite specific
dependencies.
> One safe solution would be to specify 256 MB memory node for both
> boards and assume that bootloader will bump it to 512 MB for specific
> module.
Like I mentioned this actually used to be how it was done however
lately it has been agreed that any boot loader anyway needs to do the
device tree dance (e.g. even just loading and passing it).
> > > Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> > >
> > > ---
> > >
> > > Changes since v1:
> > > 1. Fix memory size in tegra20-colibri-256.dtsi (was working fine
> > > because
> > > my bootloader uses mem= argument).
> >
> > What boot loader are you using? You even can omit mem= if your boot
> > loader fills the memory node properly.
>
> I use the one provided by vendor - Toradex. By default it passes both
> mem= and few other mem-like arguments (for FB and video processor) to
> command line. I believe it does not adjust the DTB itself because
> Toradex prepared this bootloader for... 3.1 kernel without DTB. 7
> years old kernel. :)
Remember our regular BSP is still based on NVIDIA's downstream Linux
for Tegra aka L4T R16.5 based on Linux kernel 3.1.10 which does not
even use any device tree yet.
> Best regards,
> Krzysztof
Cheers
Marcel