From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Agner Subject: Re: [PATCH v5 1/3] ARM: dts: tegra: Remove skeleton.dtsi and fix DTC warnings for /memory Date: Wed, 23 May 2018 10:57:34 +0200 Message-ID: References: <1526543103-21668-1-git-send-email-krzk@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Krzysztof Kozlowski Cc: Rob Herring , Mark Rutland , Thierry Reding , Jonathan Hunter , devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, Marcel Ziswiler , Lucas Stach List-Id: devicetree@vger.kernel.org On 23.05.2018 10:34, Krzysztof Kozlowski wrote: > On Wed, May 23, 2018 at 10:22 AM, Stefan Agner wrote: >> On 23.05.2018 09:05, Krzysztof Kozlowski wrote: >>> On Thu, May 17, 2018 at 1:39 PM, Stefan Agner wrote: >>>> On 17.05.2018 09:45, Krzysztof Kozlowski wrote: >>>> Could we not add >>>> >>>> memory { device_type = "memory"; }; >>>> >>>> in the SoC level device trees? >>>> >>>> This would save device_type in all other instances. >>>> >>>> That is also how it is done in other places, e.g. >>>> arch/arm/boot/dts/imx6qdl.dtsi >>> >>> Not really because the unit address will not match between different >>> boards. The imx6qdl, as I see, has the same issue: >>> - imx6qdl.dtsi defines "memory" node >>> - imx6dl-apf6dev.dts includes the previous and defines "memory@10000000" >>> >>> This is wrong - two memory nodes. >>> >> >> Hm I see. We could add >> >> memory@0 { device_type = "memory"; }; >> >> Since the reg property is specified in the board level device tree it >> would be still fine? >> >> Or probably better to provide a complete spec with length zero: >> >> memory@0 { >> device_type = "memory"; >> reg = <0x0 0x0>; >> }; >> >> Even some boards do that and assume that boot loader will fill it >> correctly, so that should be fine. > > That could be the solution although tegra30-apalis.dtsi is a problem > here. For Tegra 114, 124 and 20 it would work fine - all boards from > given SoC have the same address of memory (0x0 or 0x80000000). However > for Tegra30 the Apalis did not have any memory reg before so I am not > sure what should be used. I added 0x0. The other Tegra30 boards have > memory@80000000. The start address of memory is not something a board can decide on: That is hard wired in the SoC... In the Tegra 3 case the start address of main memory is 0x80000000. So memory@80000000 { reg = <0x80000000 0x0>; }; Should be fine. Or you can use 0x40000000 (1GiB) since that is the smallest configuration Toradex sells currently. memory@80000000 { reg = <0x80000000 0x40000000>; }; Sorry for the hassle and thanks for fixing this! -- Stefan