All of lore.kernel.org
 help / color / mirror / Atom feed
From: robh@kernel.org (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
Date: Wed, 17 Oct 2018 08:49:25 -0500	[thread overview]
Message-ID: <20181017134925.GA7084@bogus> (raw)
In-Reply-To: <20181006162929.u6uh4ffn6gm3incf@akan>

On Sat, Oct 06, 2018 at 11:29:29AM -0500, Nishanth Menon wrote:
> On 12:58-20181006, Lokesh Vutla wrote:
> > Add the DT binding documentation for Interrupt router driver.
> > 
> > Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> > ---
> >  .../interrupt-controller/ti,sci-intr.txt      | 83 +++++++++++++++++++
> >  MAINTAINERS                                   |  1 +
> >  2 files changed, 84 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt b/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
> > new file mode 100644
> > index 000000000000..681ca53cc5fb
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
> > @@ -0,0 +1,83 @@
> > +Texas Instruments K3 Interrupt Router
> > +=====================================
> > +
> > +The Interrupt Router (INTR) module provides a mechanism to mux M
> > +interrupt inputs to N interrupt outputs, where all M inputs are selectable
> > +to be driven per N output. There is one register per output (MUXCNTL_N) that
> > +controls the selection.
> > +
> > +
> > +                                 Interrupt Router
> > +                             +----------------------+
> > +                             |  Inputs     Outputs  |
> > +        +-------+            | +------+             |
> > +        | GPIO  |----------->| | irq0 |             |       Host IRQ
> > +        +-------+            | +------+             |      controller
> > +                             |    .        +-----+  |      +-------+
> > +        +-------+            |    .        |  0  |  |----->|  GIC  |
> > +        | INTA  |----------->|    .        +-----+  |      +-------+
> > +        +-------+            |    .          .      |
> > +                             | +------+      .      |
> > +                             | | irqM |    +-----+  |
> > +                             | +------+    |  N  |  |
> > +                             |             +-----+  |
> > +                             +----------------------+
> > +
> > +Configuration of these MUXCNTL_N registers is done by a system controller
> > +(like the Device Memory and Security Controller on K3 AM654 SoC). System
> > +controller will keep track of the used and unused registers within the Router.
> > +Driver should request the system controller to get the range of GIC IRQs
> > +assigned to the requesting hosts. It is the drivers responsibility to keep
> > +track of GIC IRQs.
> > +
> > +Communication between the host processor running an OS and the system
> > +controller happens through a protocol called TI System Control Interface
> > +(TISCI protocol). For more details refer:
> > +Documentation/devicetree/bindings/arm/keystone/ti,sci.txt
> > +
> > +TISCI Interrupt Router Node:
> > +----------------------------
> > +- compatible:		Must be "ti,sci-intr".
> > +- interrupt-controller:	Identifies the node as an interrupt controller
> > +- #interrupt-cells:	Specifies the number of cells needed to encode an
> > +			interrupt source. The value should be 3.
> > +			First cell should contain the TISCI device ID of source
> > +			Second cell should contain the interrupt source offset
> > +			within the device
> > +			Third cell specifies the trigger type as defined
> > +			in interrupts.txt in this directory.
> > +- interrupt-parent:	phandle of irq parent for TISCI intr. The parent must
> > +			use the same interrupt-cells format as GIC.
> > +- ti,sci:		Phandle to TI-SCI compatible System controller node.
> > +- ti,sci-dst-id:	TISCI device ID of the destination IRQ controller.
> > +- ti,sci-rm-range-girq:	Tuple corresponding to unique TISCI resource type that
> > +			defines the dst host irq ranges assigned to this
> > +			interrupt router from this host context.
> > +			Tuple should be of format <type subtype>.
> > +
> 
> Rob, DT maintainers,
> 
> I'd like a feedback from DT maintainers on this 'range' topic.
> 
> TISCI Firmware [1] currently seems to define a type corresponding to a
> device ID[2]. in AM6 device, for example, this is different, however
> have a 1 to 1 correspondence. However, there is expectation that type will
> end up as device ID in a future SoC.
> 
> While this is subject to much debate internally, I'd like some feedback if this
> is OK from Device tree representation - it is true that Firmware does
> look at it as type, however in some future SoC, it could be that the
> values themselves may correspond one to one with a device id -> The
> original wish was that types might be something reusable across SoCs,
> but that is turning out to be more of a theoretical wish than any thing
> practical.

I'm not sure I follow all the terminology here of type, subtype, "dst 
host irq", etc. It looks to me like you should be using interrupt-map property.

Rob

> 
> [1]http://software-dl.ti.com/tisci/esd/latest/5_soc_doc/am6x/resasg_types.html
> [2]http://software-dl.ti.com/tisci/esd/latest/5_soc_doc/am6x/devices.html
> -- 
> Regards,
> Nishanth Menon

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Nishanth Menon <nm@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>, Tero Kristo <t-kristo@ti.com>,
	tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com,
	Santosh Shilimkar <ssantosh@kernel.org>,
	Device Tree Mailing List <devicetree@vger.kernel.org>,
	Linux ARM Mailing List <linux-arm-kernel@lists.infradead.org>,
	linux-kernel@vger.kernel.org, Sekhar Nori <nsekhar@ti.com>
Subject: Re: [PATCH 1/2] dt-bindings: irqchip: Introduce TISCI Interrupt router bindings
Date: Wed, 17 Oct 2018 08:49:25 -0500	[thread overview]
Message-ID: <20181017134925.GA7084@bogus> (raw)
In-Reply-To: <20181006162929.u6uh4ffn6gm3incf@akan>

On Sat, Oct 06, 2018 at 11:29:29AM -0500, Nishanth Menon wrote:
> On 12:58-20181006, Lokesh Vutla wrote:
> > Add the DT binding documentation for Interrupt router driver.
> > 
> > Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
> > ---
> >  .../interrupt-controller/ti,sci-intr.txt      | 83 +++++++++++++++++++
> >  MAINTAINERS                                   |  1 +
> >  2 files changed, 84 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt b/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
> > new file mode 100644
> > index 000000000000..681ca53cc5fb
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
> > @@ -0,0 +1,83 @@
> > +Texas Instruments K3 Interrupt Router
> > +=====================================
> > +
> > +The Interrupt Router (INTR) module provides a mechanism to mux M
> > +interrupt inputs to N interrupt outputs, where all M inputs are selectable
> > +to be driven per N output. There is one register per output (MUXCNTL_N) that
> > +controls the selection.
> > +
> > +
> > +                                 Interrupt Router
> > +                             +----------------------+
> > +                             |  Inputs     Outputs  |
> > +        +-------+            | +------+             |
> > +        | GPIO  |----------->| | irq0 |             |       Host IRQ
> > +        +-------+            | +------+             |      controller
> > +                             |    .        +-----+  |      +-------+
> > +        +-------+            |    .        |  0  |  |----->|  GIC  |
> > +        | INTA  |----------->|    .        +-----+  |      +-------+
> > +        +-------+            |    .          .      |
> > +                             | +------+      .      |
> > +                             | | irqM |    +-----+  |
> > +                             | +------+    |  N  |  |
> > +                             |             +-----+  |
> > +                             +----------------------+
> > +
> > +Configuration of these MUXCNTL_N registers is done by a system controller
> > +(like the Device Memory and Security Controller on K3 AM654 SoC). System
> > +controller will keep track of the used and unused registers within the Router.
> > +Driver should request the system controller to get the range of GIC IRQs
> > +assigned to the requesting hosts. It is the drivers responsibility to keep
> > +track of GIC IRQs.
> > +
> > +Communication between the host processor running an OS and the system
> > +controller happens through a protocol called TI System Control Interface
> > +(TISCI protocol). For more details refer:
> > +Documentation/devicetree/bindings/arm/keystone/ti,sci.txt
> > +
> > +TISCI Interrupt Router Node:
> > +----------------------------
> > +- compatible:		Must be "ti,sci-intr".
> > +- interrupt-controller:	Identifies the node as an interrupt controller
> > +- #interrupt-cells:	Specifies the number of cells needed to encode an
> > +			interrupt source. The value should be 3.
> > +			First cell should contain the TISCI device ID of source
> > +			Second cell should contain the interrupt source offset
> > +			within the device
> > +			Third cell specifies the trigger type as defined
> > +			in interrupts.txt in this directory.
> > +- interrupt-parent:	phandle of irq parent for TISCI intr. The parent must
> > +			use the same interrupt-cells format as GIC.
> > +- ti,sci:		Phandle to TI-SCI compatible System controller node.
> > +- ti,sci-dst-id:	TISCI device ID of the destination IRQ controller.
> > +- ti,sci-rm-range-girq:	Tuple corresponding to unique TISCI resource type that
> > +			defines the dst host irq ranges assigned to this
> > +			interrupt router from this host context.
> > +			Tuple should be of format <type subtype>.
> > +
> 
> Rob, DT maintainers,
> 
> I'd like a feedback from DT maintainers on this 'range' topic.
> 
> TISCI Firmware [1] currently seems to define a type corresponding to a
> device ID[2]. in AM6 device, for example, this is different, however
> have a 1 to 1 correspondence. However, there is expectation that type will
> end up as device ID in a future SoC.
> 
> While this is subject to much debate internally, I'd like some feedback if this
> is OK from Device tree representation - it is true that Firmware does
> look at it as type, however in some future SoC, it could be that the
> values themselves may correspond one to one with a device id -> The
> original wish was that types might be something reusable across SoCs,
> but that is turning out to be more of a theoretical wish than any thing
> practical.

I'm not sure I follow all the terminology here of type, subtype, "dst 
host irq", etc. It looks to me like you should be using interrupt-map property.

Rob

> 
> [1]http://software-dl.ti.com/tisci/esd/latest/5_soc_doc/am6x/resasg_types.html
> [2]http://software-dl.ti.com/tisci/esd/latest/5_soc_doc/am6x/devices.html
> -- 
> Regards,
> Nishanth Menon

  parent reply	other threads:[~2018-10-17 13:49 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-06  7:28 [PATCH 0/2] irqchip: ti-sci-intr: Add support for K3 Interrupt Router Lokesh Vutla
2018-10-06  7:28 ` Lokesh Vutla
2018-10-06  7:28 ` Lokesh Vutla
2018-10-06  7:28 ` [PATCH 1/2] dt-bindings: irqchip: Introduce TISCI Interrupt router bindings Lokesh Vutla
2018-10-06  7:28   ` Lokesh Vutla
2018-10-06  7:28   ` Lokesh Vutla
2018-10-06 10:02   ` Marc Zyngier
2018-10-06 10:02     ` Marc Zyngier
2018-10-06 10:02     ` Marc Zyngier
2018-10-08  9:46     ` Lokesh Vutla
2018-10-08  9:46       ` Lokesh Vutla
2018-10-08  9:46       ` Lokesh Vutla
2018-10-08 13:55       ` Marc Zyngier
2018-10-08 13:55         ` Marc Zyngier
2018-10-08 15:28         ` Lokesh Vutla
2018-10-08 15:28           ` Lokesh Vutla
2018-10-08 15:28           ` Lokesh Vutla
2018-10-06 16:29   ` Nishanth Menon
2018-10-06 16:29     ` Nishanth Menon
2018-10-06 16:29     ` Nishanth Menon
2018-10-15 11:05     ` Lokesh Vutla
2018-10-15 11:05       ` Lokesh Vutla
2018-10-15 11:05       ` Lokesh Vutla
2018-10-17 13:49     ` Rob Herring [this message]
2018-10-17 13:49       ` Rob Herring
2018-10-06  7:28 ` [PATCH 2/2] irqchip: ti-sci-intr: Add support for Interrupt Router driver Lokesh Vutla
2018-10-06  7:28   ` Lokesh Vutla
2018-10-06  7:28   ` Lokesh Vutla
2018-10-06  9:55   ` Marc Zyngier
2018-10-06  9:55     ` Marc Zyngier
2018-10-06  9:55     ` Marc Zyngier
2018-10-08  9:48     ` Lokesh Vutla
2018-10-08  9:48       ` Lokesh Vutla
2018-10-08  9:48       ` Lokesh Vutla
2018-10-08 13:00       ` Marc Zyngier
2018-10-08 13:00         ` Marc Zyngier
2018-10-08 15:20         ` Lokesh Vutla
2018-10-08 15:20           ` Lokesh Vutla
2018-10-08 15:20           ` Lokesh Vutla

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=20181017134925.GA7084@bogus \
    --to=robh@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.