Re: [PATCH v2] ARM: dts: tegra: Add support for 256 MB Colibri-T20 (plus such board on Iris)
From: Marcel Ziswiler <hidden>
Date: 2018-05-08 13:03:30
Also in:
linux-tegra, lkml
On Tue, 2018-05-08 at 14:35 +0200, Krzysztof Kozlowski wrote:
On Fri, May 4, 2018 at 12:14 PM, Marcel Ziswiler [off-list ref] wrote:quoted
Hi Krzysztof On Fri, 2018-05-04 at 12:03 +0200, Krzysztof Kozlowski wrote:quoted
On Fri, May 4, 2018 at 11:19 AM, Stefan Agner [off-list ref] wrote:quoted
On 03.05.2018 17:08, Krzysztof Kozlowski wrote:quoted
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.Sorry for late reply, I missed your emails because unfortunately Google marks messages coming for Toradex as spam ("This message has a from address in toradex.com but has failed toradex.com's required tests for authentication.").
Argh, I guess that happens if you have stubborn IT departments which still believe in M$. Sending via private email now.
Therefore I did not include your comments and sent v3.
Yeah, I noticed that. It's forgiven, don't worry (;-p).
quoted
quoted
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).Then the safest way is to provide /memory node with 256 MB. If some bootloader omits it (e.g. because it is too old or by any mistake) the FDT will be still usable with reduced memory in case of 512 board.
Makes sense.
quoted
quoted
quoted
quoted
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> --- 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.Yes, I noticed. I am trying to bring it fully on new kernels but no huge successes so far... I'm stuck on NAND trying Lucas Stach's old patchset.
Yeah, for a while I kept his patch set alive as well. I believe 4.4 was still working fine passing all MTD tests. However, lately there were so many changes it all fell apart. About a month ago I spend a couple nights trying to get it running again but something is still not quite right. Yet have to sync with Stefan in my team who is much more knowledgeable about latest NAND development.
Best regards, Krzysztof
Cheers Marcel