From: Stephan Gerhold <stephan@gerhold.net>
To: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 2/8] arm64: dts: qcom: add initial SM8650 dtsi
Date: Tue, 28 Nov 2023 12:16:11 +0100 [thread overview]
Message-ID: <ZWXL-5OomtzRJCIj@gerhold.net> (raw)
In-Reply-To: <fbbed866-fc43-4f30-94a1-942d38103e51@linaro.org>
On Tue, Nov 28, 2023 at 11:00:36AM +0100, Neil Armstrong wrote:
> On 28/11/2023 10:01, Stephan Gerhold wrote:
> > On Fri, Nov 24, 2023 at 10:20:39AM +0100, Neil Armstrong wrote:
> > > Add initial DTSI for the Qualcomm SM8650 platform,
> > > only contains nodes which doesn't depend on interconnect.
> > >
> > > Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> > > ---
> > > arch/arm64/boot/dts/qcom/sm8650.dtsi | 2439 ++++++++++++++++++++++++++++++++++
> > > 1 file changed, 2439 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
> > > new file mode 100644
> > > index 000000000000..b0a9ca53d58e
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
> > > @@ -0,0 +1,2439 @@
> > > +[...]
> > > + timer@17420000 {
> > > + compatible = "arm,armv7-timer-mem";
> > > + reg = <0 0x17420000 0 0x1000>;
> > > +
> > > + ranges = <0 0 0 0x20000000>;
> > > + #address-cells = <1>;
> > > + #size-cells = <1>;
> > > +
> > > + frame@17421000 {
> > > + reg = <0x17421000 0x1000>,
> > > + <0x17422000 0x1000>;
> > > +
> > > + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
> > > + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
> > > +
> > > + frame-number = <0>;
> > > + };
> > > +
> > > + frame@17423000 {
> > > + reg = <0x17423000 0x1000>;
> > > +
> > > + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
> > > +
> > > + frame-number = <1>;
> > > +
> > > + status = "disabled";
> > > + };
> > > +
> > > + frame@17425000 {
> > > + reg = <0x17425000 0x1000>;
> > > +
> > > + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
> > > +
> > > + frame-number = <2>;
> > > +
> > > + status = "disabled";
> > > + };
> > > +
> > > + frame@17427000 {
> > > + reg = <0x17427000 0x1000>;
> > > +
> > > + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
> > > +
> > > + frame-number = <3>;
> > > +
> > > + status = "disabled";
> > > + };
> > > +
> > > + frame@17429000 {
> > > + reg = <0x17429000 0x1000>;
> > > +
> > > + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
> > > +
> > > + frame-number = <4>;
> > > +
> > > + status = "disabled";
> > > + };
> > > +
> > > + frame@1742b000 {
> > > + reg = <0x1742b000 0x1000>;
> > > +
> > > + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
> > > +
> > > + frame-number = <5>;
> > > +
> > > + status = "disabled";
> > > + };
> > > +
> > > + frame@1742d000 {
> > > + reg = <0x1742d000 0x1000>;
> > > +
> > > + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
> > > +
> > > + frame-number = <6>;
> > > +
> > > + status = "disabled";
> > > + };
> > > + };
> >
> > Nitpick: Personally I feel the empty lines between each property here
> > are a bit overly verbose. It would be better readable without them.
> > Might be personal preference though :-)
>
> I tried to maintain a coherent style across the document, so it would break it...
>
OK, no problem :-)
> >
> > > +[...]
> > > + timer {
> > > + compatible = "arm,armv8-timer";
> > > +
> > > + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
> > > + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
> > > + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
> > > + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
> >
> > I'm pretty sure GIC_CPU_MASK_SIMPLE() is only valid & used on GICv2.
> > Unlike arm,gic.yaml, arm,gic-v3.yaml doesn't mention "bits[15:8] PPI
> > interrupt cpu mask". Also see e.g. commit 4a92b6d75bab ("arm64: dts:
> > msm8996: Fix wrong use of GIC_CPU_MASK_SIMPLE()").
> >
> > Would be also good to check if any existing DTs have introduced this
> > incorrectly again since then.
>
> All those platforms using GICv3 still use GIC_CPU_MASK_SIMPLE():
>
> arch/arm64/boot/dts/qcom/qcm2290.dtsi
> arch/arm64/boot/dts/qcom/qdu1000.dtsi
> arch/arm64/boot/dts/qcom/sa8775p.dtsi
> arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> arch/arm64/boot/dts/qcom/sdx75.dtsi
> arch/arm64/boot/dts/qcom/sm4450.dtsi
> arch/arm64/boot/dts/qcom/sm6115.dtsi
> arch/arm64/boot/dts/qcom/sm6350.dtsi
> arch/arm64/boot/dts/qcom/sm6375.dtsi
> arch/arm64/boot/dts/qcom/sm8250.dtsi
> arch/arm64/boot/dts/qcom/sm8350.dtsi
> arch/arm64/boot/dts/qcom/sm8450.dtsi
> arch/arm64/boot/dts/qcom/sm8550.dtsi
>
Heh, so we managed to omit it for msm8996, msm8998, sdm845, sm8150 and
then someone reintroduced it for sm8250 and the following. :-)
> I'm sure you're right, and indeed the PPI affinity can be specified in an optional
> 4th cell, but I'll need another confirmation I can safely remove it here.
>
> Since it's harmless, it could be cleaned up later on over all the qcom DT.
>
Please don't introduce new device trees with known mistakes, at least if
it's trivial to fix. This will just increase the likelihood that someone
will accidentally copy from the commit and make the same mistake again.
This is effectively comparable to a dtbs_check failure (except that the
tooling can't check for this automatically at the moment). Either the
binding or the DT should be fixed. It's most definitely the DT in this
case. :-)
Thanks,
Stephan
next prev parent reply other threads:[~2023-11-28 11:16 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-24 9:20 [PATCH v4 0/8] arm64: dts: qcom: Introduce SM8650 platforms device tree Neil Armstrong
2023-11-24 9:20 ` [PATCH v4 1/8] dt-bindings: arm: qcom: document SM8650 and the reference boards Neil Armstrong
2023-11-24 9:20 ` [PATCH v4 2/8] arm64: dts: qcom: add initial SM8650 dtsi Neil Armstrong
2023-11-28 9:01 ` Stephan Gerhold
2023-11-28 10:00 ` Neil Armstrong
2023-11-28 11:16 ` Stephan Gerhold [this message]
2023-11-24 9:20 ` [PATCH v4 3/8] arm64: dts: qcom: pm8550ve: make PMK8550VE SID configurable Neil Armstrong
2023-11-24 9:20 ` [PATCH v4 4/8] arm64: dts: qcom: sm8650: add initial SM8650 MTP dts Neil Armstrong
2023-11-24 9:20 ` [PATCH v4 5/8] arm64: dts: qcom: sm8650: add initial SM8650 QRD dts Neil Armstrong
2023-11-24 9:20 ` [PATCH v4 6/8] arm64: dts: qcom: sm8650: add interconnect dependent device nodes Neil Armstrong
2023-11-24 9:20 ` [PATCH v4 7/8] arm64: dts: qcom: sm8650-mtp: " Neil Armstrong
2023-11-25 12:56 ` Konrad Dybcio
2023-11-24 9:20 ` [PATCH v4 8/8] arm64: dts: qcom: sm8650-qrd: " Neil Armstrong
2023-11-25 12:56 ` Konrad Dybcio
2023-11-27 9:10 ` [PATCH v4 0/8] arm64: dts: qcom: Introduce SM8650 platforms device tree Neil Armstrong
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=ZWXL-5OomtzRJCIj@gerhold.net \
--to=stephan@gerhold.net \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=neil.armstrong@linaro.org \
--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;
as well as URLs for NNTP newsgroup(s).