devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Nishanth Menon <nm@ti.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>,
	Tero Kristo <kristo@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 4/5] arm64: dts: ti: Introduce base support for AM62x SoC
Date: Fri, 11 Feb 2022 11:33:14 +0000	[thread overview]
Message-ID: <87bkzdljt1.wl-maz@kernel.org> (raw)
In-Reply-To: <20220210193459.nl6baranvmqs46bi@coastal>

On Thu, 10 Feb 2022 19:34:59 +0000,
Nishanth Menon <nm@ti.com> wrote:
> 
> On 19:10-20220209, Marc Zyngier wrote:
> [...]
> 
> > > +&cbass_main {
> > > +	gic500: interrupt-controller@1800000 {
> > > +		compatible = "arm,gic-v3";
> > > +		#address-cells = <2>;
> > > +		#size-cells = <2>;
> > > +		ranges;
> > > +		#interrupt-cells = <3>;
> > > +		interrupt-controller;
> > > +		reg = <0x00 0x01800000 0x00 0x10000>,	/* GICD */
> > > +		      <0x00 0x01880000 0x00 0xC0000>;	/* GICR */
> > 
> > Usual rant: you are missing the GICC, GICH and GICV regions
> > that are implemented by the CPU. Cortex-A53 implements them
> > (they are not optional), so please describe them.
> > 
> 
> 
> -ECONFUSED. TRM for GIC500 refers to just GICD, GICR and ITS range[1].

And I'm not talking about the GIC, but of the CPU interface. The fact
that we describe both in the GIC binding doesn't mean they are
implemented by the same IP block (and the architecture is quite clear
about that).

> Same thing is indicated by Generic Interrupt Controller Architecture
> Specification[2] See table 1-1 (page 23).
> 
> I think you are expecting GICV3's backward compatibility mode (Table 1-2
> in page 24), But in K3 architecture, are_option meant for backward
> compatibility is set to true (aka no backward compatibility). I think
> this did popup sometime back as well (first k3 SoC)[3]. I think the more
> clearer description is available in [4].

No, this description is for the architecture as a whole. ARE being
disabled *int the GIC* doesn't mean it is disabled overall, and the
CPU is free to implement the CPU interface by any mean it wants as
long as it communicates with the GIC using the Stream Protocol.
Cortex-A32, A34, 35, A53, A57, A72 and A73 all implement both the
sysreg and MMIO CPU interfaces. Later ARM CPUs don't. Both can work
with GIC500.

> I believe the argumentation that GICC/H/V is mandatory for A53 if GIC500
> is used is not accurate. Please correct me if I am mistaken.

GIC500 is not involved at all, and A53 always implements both the
system register and MMIO interfaces. See the A53 TRM, chapter 9. The
only way to disable this interface is to assert GICCDISABLE, which
disables the whole of the CPU interface. Given that you have a (more
or less) functional system, it probably isn't the case.

See Table 9-1, which tells you where these registers are as an offset
from PERIPHBASE. Dumping these registers should show you that they are
indeed implemented and not solely a figment of my own imagination.

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.

  reply	other threads:[~2022-02-11 11:33 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-08 13:18 [PATCH 0/5] arm64: Initial support for Texas Instruments AM62 Platform Vignesh Raghavendra
2022-02-08 13:18 ` [PATCH 1/5] soc: ti: k3-socinfo: Add AM62x JTAG ID Vignesh Raghavendra
2022-02-08 13:18 ` [PATCH 2/5] dt-bindings: arm: ti: Add bindings for AM625 SoC Vignesh Raghavendra
2022-02-08 17:01   ` Krzysztof Kozlowski
2022-02-09 19:04     ` Vignesh Raghavendra
2022-02-09 21:29       ` Krzysztof Kozlowski
2022-02-11 16:39   ` Rob Herring
2022-02-08 13:18 ` [PATCH 3/5] dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM62 Vignesh Raghavendra
2022-02-11 16:41   ` Rob Herring
2022-02-08 13:18 ` [PATCH 4/5] arm64: dts: ti: Introduce base support for AM62x SoC Vignesh Raghavendra
2022-02-08 17:05   ` Krzysztof Kozlowski
2022-02-09 19:04     ` Vignesh Raghavendra
2022-02-09 21:36       ` Krzysztof Kozlowski
2022-02-09 19:10   ` Marc Zyngier
2022-02-10 19:34     ` Nishanth Menon
2022-02-11 11:33       ` Marc Zyngier [this message]
2022-02-11 23:55         ` Nishanth Menon
2022-02-12 11:40           ` Marc Zyngier
2022-02-15 21:12             ` Nishanth Menon
2022-02-08 13:18 ` [PATCH 5/5] arm64: dts: ti: Add support for AM62-SK Vignesh Raghavendra
2022-02-08 17:08   ` Krzysztof Kozlowski
2022-02-09 19:05     ` Vignesh Raghavendra

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=87bkzdljt1.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kristo@kernel.org \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=ssantosh@kernel.org \
    --cc=vigneshr@ti.com \
    /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).