From: Michal Simek <michal.simek@xilinx.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Michal Simek <michal.simek@xilinx.com>
Cc: <linux-kernel@vger.kernel.org>, <monstr@monstr.eu>,
<git@xilinx.com>, Kalyani Akula <kalyani.akula@xilinx.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
Manish Narani <manish.narani@xilinx.com>,
Rajan Vaja <rajan.vaja@xilinx.com>,
Rob Herring <robh+dt@kernel.org>, <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 06/12] arm64: dts: zynqmp: Add label for zynqmp_ipi
Date: Fri, 22 Jan 2021 10:00:11 +0100 [thread overview]
Message-ID: <434ca669-e136-1bbf-7907-0d2110851a18@xilinx.com> (raw)
In-Reply-To: <YAoAN3JF27zWnjn5@pendragon.ideasonboard.com>
Hi,
On 1/21/21 11:29 PM, Laurent Pinchart wrote:
> Hi Michal,
>
> I've just realized I forgot to reply to this e-mail, sorry.
>
> On Tue, Dec 08, 2020 at 08:26:41AM +0100, Michal Simek wrote:
>> On 07. 12. 20 23:16, Laurent Pinchart wrote:
>>> On Mon, Dec 07, 2020 at 10:39:25AM +0100, Michal Simek wrote:
>>>> On 06. 12. 20 23:46, Laurent Pinchart wrote:
>>>>> On Wed, Dec 02, 2020 at 03:06:05PM +0100, Michal Simek wrote:
>>>>>> Add label which is used by bootloader for adding bootloader specific flag.
>>>>>>
>>>>>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>>>>>> ---
>>>>>>
>>>>>> U-Boot needs to add u-boot,dm-pre-reloc; property
>>>>>
>>>>> I'm not entirely sure what best practice rules are in this area, but
>>>>> shouldn't U-Boot locate the node by name instead of label ?
>>>>
>>>> Labels are not listed in dt binding and there are two approaches how to
>>>> reference nodes. Via full path with node name or via labels.
>>>> I do normally use labels which are much simple.
>>>
>>> Note that labels require the DTB to be compiled with the -@ option,
>>> otherwise they're not present in the binary.
>>
>> U-Boot is using different concept. You can see that there are a lot of
>> -u-boot.dtsi files in dts folders. These are automatically included to
>> DTS before DTC is called. It means you don't need to build overlay to
>> get merged.
>>
>>>> And also if you take a look how dtb looks like (convert back to dts) you
>>>> can see that for example aliases are using full path (just &label) but
>>>> clocks/gic which is the part of <> is handled via phandles as numbers.
>>>>
>>>> And labels names can vary and shouldn't be the part of binding doc as
>>>> far as I know. But I can be wrong of course.
>>>
>>> The DT bindings should document the interface with the operating system,
>>> and if applicable, the boot loader. If the boot loader requires a
>>> particular label, then it becomes part of the ABI, and I think it should
>>> be documented in the bindings.
>>
>> We have been discussing with Rob some month ago but didn't have a time
>> to do step further. Just keep it short Rob was ok to keep bootloader
>> binding inside Linux repo.
>
> I think that makes sense, DT bindings are meant to be OS-agnostic, so
> boot loader requirements should be documented there.
>
>> There is no hardcoding for a particular name. There is just a need to
>> have any label. U-Boot needs to have one property(e.g.
>> u-boot,dm-pre-reloc;) just to do early allocation.
>> The name is just reference and none is really looking for it. It is just
>> a way how to include it in much easier way.
>
> Just to make sure I understand this issue correctly, does this mean that
> you need to reference the node in a *-u-boot.dtsi file, and want a label
> to do so ? The label name needs to be the same in the base file (taken
> from the Linux source tree) and the *-u-boot.dtsi file (in the U-Boot
> source tree) in that case. Isn't it the role of DT bindings to document
> such requirements ?
I prefer to have all nodes with labels just in case you need to
reference it. Simply based on experience it happens time to time that
something needs to be aligned, new property added and sometimes we touch
dt overlays. It means I prefer to have labels for all nodes.
In connection to u-boot. U-Boot introduced *-u-boot.dtsi files for
bootloader specific configurations. I think that's sort of bad design
and it should be done differently by simply document/align this binding
with the kernel. And in this u-boot,dm-pre-reloc case it should be
handle differently and any transition is required.
Normally *-u-boot.dtsi should just reference node in "root" dts via labels.
And u-boot is trying to align dts with the kernel.
And last part on this if make sense to also document labels as
requirement. I don't think it is good idea. You can have in general
multiple instances of the same IP which you need to add some properties
to. You would have to defined all of them for all existing SOCs which
will be very painful. It also takes so much time to upstream it that's
why checking one more thing there is IMHO just additional step.
I think that everybody should be trying to align all things together
across all projects. That's for example what I want to do in this gtr/dp
between Linux/U-Boot.
Thanks,
Michal
next prev parent reply other threads:[~2021-01-22 10:44 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-02 14:05 [PATCH 00/12] arm64: dts: zynqmp: DT updates to match latest drivers Michal Simek
2020-12-02 14:06 ` [PATCH 01/12] arm64: dts: zynqmp: Fix u48 si5382 chip on zcu111 Michal Simek
2020-12-02 14:06 ` [PATCH 02/12] arm64: dts: zynqmp: Add DT description for si5328 for zcu102/zcu106 Michal Simek
2020-12-02 14:06 ` [PATCH 03/12] arm64: dts: zynqmp: Enable si5341 driver for zcu102/106/111 Michal Simek
2020-12-02 14:06 ` [PATCH 04/12] arm64: dts: zynqmp: Enable and wire reset controller Michal Simek
2020-12-06 22:38 ` Laurent Pinchart
2020-12-07 9:32 ` Michal Simek
2021-01-21 10:10 ` Michal Simek
2020-12-02 14:06 ` [PATCH 05/12] arm64: dts: zynqmp: Enable phy driver for Sata on zcu102/zcu104/zcu106 Michal Simek
2020-12-02 14:06 ` [PATCH 06/12] arm64: dts: zynqmp: Add label for zynqmp_ipi Michal Simek
2020-12-06 22:46 ` Laurent Pinchart
2020-12-06 22:48 ` Laurent Pinchart
2020-12-07 9:43 ` Michal Simek
2020-12-07 9:39 ` Michal Simek
2020-12-07 22:16 ` Laurent Pinchart
2020-12-08 7:26 ` Michal Simek
2021-01-21 22:29 ` Laurent Pinchart
2021-01-22 9:00 ` Michal Simek [this message]
2020-12-02 14:06 ` [PATCH 07/12] arm64: dts: zynqmp: Add missing mio-bank properties to sdhcis Michal Simek
2020-12-02 14:06 ` [PATCH 08/12] arm64: dts: zynqmp: Wire arasan nand controller Michal Simek
2020-12-02 14:06 ` [PATCH 09/12] arm64: dts: zynqmp: Wire zynqmp qspi controller Michal Simek
2020-12-02 14:06 ` [PATCH 10/12] arm64: dts: zynqmp: Add missing lpd watchdog node Michal Simek
2020-12-02 14:06 ` [PATCH 11/12] arm64: dts: zynqmp: Add missing iommu IDs Michal Simek
2020-12-02 14:06 ` [PATCH 12/12] arm64: dts: zynqmp: Add description for zcu104 revC Michal Simek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=434ca669-e136-1bbf-7907-0d2110851a18@xilinx.com \
--to=michal.simek@xilinx.com \
--cc=devicetree@vger.kernel.org \
--cc=git@xilinx.com \
--cc=kalyani.akula@xilinx.com \
--cc=krzk@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=manish.narani@xilinx.com \
--cc=monstr@monstr.eu \
--cc=rajan.vaja@xilinx.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox